Exemplo n.º 1
0
 /**
  * Returns an array of sorting field parameters for given header.
  *
  * Each header can have multiple sorting fields attached, each one
  * can be sorted individually.
  *
  * @param Tx_PtExtlist_Domain_Model_List_Header_HeaderColumn $header
  * @return array
  */
 protected function buildSortingFieldParams(Tx_PtExtlist_Domain_Model_List_Header_HeaderColumn $header)
 {
     $sortingFieldsParams = array();
     foreach ($header->getColumnConfig()->getSortingConfig() as $sortingFieldConfig) {
         /* @var $sortingFieldConfig Tx_PtExtlist_Domain_Configuration_Columns_SortingConfig */
         $sortingFieldParams = array();
         $sortingFieldParams['field'] = $sortingFieldConfig->getField();
         $sortingFieldParams['label'] = $sortingFieldConfig->getLabel();
         $sortingFieldParams['forceDirection'] = $sortingFieldConfig->getForceDirection();
         $sortingFieldParams['direction'] = $sortingFieldConfig->getDirection();
         $sortingFieldParams['sortingFieldParameterAsc'] = $sortingFieldConfig->getField() . ':1';
         $sortingFieldParams['sortingFieldParameterDesc'] = $sortingFieldConfig->getField() . ':-1';
         $sortingFieldParams['sortingFieldParameterNone'] = $sortingFieldConfig->getField() . ':0';
         $sortingFieldParams['currentDirection'] = $header->getSortingDirectionForField($sortingFieldConfig->getField());
         $sortingFieldsParams[] = $sortingFieldParams;
     }
     return $sortingFieldsParams;
 }
Exemplo n.º 2
0
 /**
  * Returns sorting state for header
  *
  * We loop over each sorting field of header and take first sorting field
  * that has no forced direction and has a current sorting set in header.
  *
  * @param Tx_PtExtlist_Domain_Model_List_Header_HeaderColumn $header
  * @return integer Tx_PtExtlist_Domain_QueryObject_Query::SORTINGSTATE_NONE | Tx_PtExtlist_Domain_QueryObject_Query::SORTINGSTATE_ASC | Tx_PtExtlist_Domain_QueryObject_Query::SORTINGSTATE_DESC
  */
 protected function getSortingDirectionForHeader(Tx_PtExtlist_Domain_Model_List_Header_HeaderColumn $header)
 {
     $sortingFieldConfigForHeader = $header->getColumnConfig()->getSortingConfig();
     foreach ($sortingFieldConfigForHeader as $sortingFieldConfig) {
         /* @var $sortingFieldConfig Tx_PtExtlist_Domain_Configuration_Columns_SortingConfig */
         if (!$sortingFieldConfig->getForceDirection() && $header->getSortingDirectionForField($sortingFieldConfig->getField()) != Tx_PtExtlist_Domain_QueryObject_Query::SORTINGSTATE_NONE) {
             return $header->getSortingDirectionForField($sortingFieldConfig->getField());
         }
     }
     return Tx_PtExtlist_Domain_QueryObject_Query::SORTINGSTATE_NONE;
 }