/** * Convert the list structure of "rows->columns->data" to an array * of 'columns->rows->data' for easy aggregate * * @param string $fieldIdentifier * @return array */ protected function buildFieldData($fieldIdentifier) { $fieldData[$fieldIdentifier] = array(); foreach ($this->dataBackend->getListData() as $row) { $this->fieldData[$fieldIdentifier][] = $row[$fieldIdentifier]->getValue(); } }
/** * Get aggregate data for the whole query * * @param Tx_PtExtlist_Domain_Configuration_Data_Aggregates_AggregateConfigCollection $aggregateDataConfigCollection * @return array */ protected function getAggregatesForQuery(Tx_PtExtlist_Domain_Configuration_Data_Aggregates_AggregateConfigCollection $aggregateDataConfigCollection) { if ($aggregateDataConfigCollection->count() > 0) { $aggregates = $this->dataBackend->getAggregatesByConfigCollection($aggregateDataConfigCollection); } if (!is_array($aggregates)) { $aggregates = array(); } return $aggregates; }
/** * Resets filterbox collection for list context */ public function resetFilterboxCollection() { $this->dataBackend->getFilterboxCollection()->reset(); }
/** * Sets a given data backend as instance. Overwrites already set instance. * * @param Tx_PtExtlist_Domain_DataBackend_DataBackendInterface $dataBackend */ public function set(Tx_PtExtlist_Domain_DataBackend_DataBackendInterface $dataBackend) { $this->instances[$dataBackend->getListIdentifier()] = $dataBackend; }
/** * Returns a field configuration for a given identifier * * @param string $fieldIdentifier * @return Tx_PtExtlist_Domain_Configuration_Data_Fields_FieldConfig Field configuration for given identifier */ protected function resolveFieldConfig($fieldIdentifier) { return $this->dataBackend->getFieldConfigurationCollection()->getFieldConfigByIdentifier($fieldIdentifier); }
/** * Build the aggregate list data if any aggregates are defined * * @param Tx_PtExtlist_Domain_DataBackend_DataBackendInterface $dataBackend * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @return Tx_PtExtlist_Domain_Model_List_ListData */ public function buildAggregateListData(Tx_PtExtlist_Domain_DataBackend_DataBackendInterface $dataBackend, Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder) { if ($configurationBuilder->buildAggregateDataConfig()->count() > 0) { return $dataBackend->getAggregateListData(); } else { return new Tx_PtExtlist_Domain_Model_List_ListData(); } }