/** @test */ public function getSortingQueryReturnsCorrectQueryObjectForSortingState() { $fieldConfigurationMock = $this->getMock(Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig, array('getIdentifier'), array(), '', false); $fieldConfigurationMock->expects($this->any())->method('getIdentifier')->will($this->returnValue('test')); $sortingDirection = Tx_PtExtlist_Domain_QueryObject_Query::SORTINGSTATE_ASC; $sortingState = new Tx_PtExtlist_Domain_Model_Sorting_SortingState($fieldConfigurationMock, $sortingDirection); $sortingQuery = $sortingState->getSortingQuery(); $this->assertEquals($sortingQuery->getSortings(), array('test' => Tx_PtExtlist_Domain_QueryObject_Query::SORTINGSTATE_ASC)); }
/** * Factory method to create a sorting state from a given session array * * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @param array $sessionArray * @return Tx_PtExtlist_Domain_Model_Sorting_SortingStateCollection */ public static function getInstanceBySessionArray(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder, array $sessionArray) { $sortingStateCollection = new Tx_PtExtlist_Domain_Model_Sorting_SortingStateCollection(); foreach ($sessionArray as $sortingStateSessionArray) { $sortingStateCollection->addSortingState(Tx_PtExtlist_Domain_Model_Sorting_SortingState::getInstanceBySessionArray($configurationBuilder, $sortingStateSessionArray)); } return $sortingStateCollection; }
/** * Build sorting state collection for this column * * @return void */ protected function buildSortingStateCollection() { $this->sortingStateCollection = new Tx_PtExtlist_Domain_Model_Sorting_SortingStateCollection(); if (count($this->sortedFields) > 0) { foreach ($this->sortedFields as $fieldIdentifier => $sortingDirection) { if ($this->sortingFieldConfig->hasItem($fieldIdentifier)) { $fieldConfig = $this->sortingFieldConfig->getItemById($fieldIdentifier); if ($fieldConfig->getForceDirection()) { $sortingState = Tx_PtExtlist_Domain_Model_Sorting_SortingState::getInstanceByFieldIdentifierAndSortingDirection($this->columnConfig->getConfigurationBuilder(), $fieldConfig->getField(), $fieldConfig->getDirection()); } else { $sortingState = Tx_PtExtlist_Domain_Model_Sorting_SortingState::getInstanceByFieldIdentifierAndSortingDirection($this->columnConfig->getConfigurationBuilder(), $fieldConfig->getField(), $sortingDirection); } $this->sortingStateCollection->addSortingState($sortingState); } } } }