/** * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder */ public function __construct(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder, array $rendererChainSettings) { $this->configurationBuilder = $configurationBuilder; $this->listIdentifier = $configurationBuilder->getListIdentifier(); $this->settings = $rendererChainSettings; $this->init(); }
/** * Factory method for repository to be used with this data backend. * * Although it's called data source, we create an extbase repository here which acts as a * datasource for this backend. * * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @return mixed */ public static function createDataSource(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder) { $dataBackendSettings = $configurationBuilder->getSettingsForConfigObject('dataBackend'); Tx_PtExtbase_Assertions_Assert::isNotEmptyString($dataBackendSettings['repositoryClassName'], array('message' => 'No repository class name is given for extBase backend. 1281546327')); Tx_PtExtbase_Assertions_Assert::isTrue(class_exists($dataBackendSettings['repositoryClassName']), array('message' => 'Given class does not exist: ' . $dataBackendSettings['repositoryClassName'] . ' 1281546328')); $repository = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager')->get($dataBackendSettings['repositoryClassName']); return $repository; }
/** * Returns a instance of a sorter configuration. * * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @return Tx_PtExtlist_Domain_Configuration_Sorting_SorterConfig */ public static function getInstance(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder) { $sorterSettings = $configurationBuilder->getSettings('sorter'); if (!is_array($sorterSettings)) { $sorterSettings = array(); } $sorterConfig = new Tx_PtExtlist_Domain_Configuration_Sorting_SorterConfig($configurationBuilder, $sorterSettings); return $sorterConfig; }
/** * Builds a collection of aggregate config objects for a given settings array * * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @return Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder */ protected static function buildAggregateConfigCollection(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder) { $aggregateConfigCollection = new Tx_PtExtlist_Domain_Configuration_Data_Aggregates_AggregateConfigCollection(); $aggregateSettingsArray = $configurationBuilder->getSettingsForConfigObject('aggregateData'); foreach ($aggregateSettingsArray as $aggregateIdentifier => $aggregateSettings) { $aggregateConfig = new Tx_PtExtlist_Domain_Configuration_Data_Aggregates_AggregateConfig($aggregateIdentifier, $aggregateSettings, $configurationBuilder); $aggregateConfigCollection->addAggregateConfig($aggregateConfig); } return $aggregateConfigCollection; }
/** * * @param $configurationBuilder * @return Tx_PtExtlist_Domain_Configuration_Filters_FilterboxConfigCollection */ public static function getInstance(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder) { $filterboxCollectionSettings = $configurationBuilder->getSettingsForConfigObject('filter'); $filterBoxConfigCollection = new Tx_PtExtlist_Domain_Configuration_Filters_FilterboxConfigCollection($configurationBuilder); foreach ($filterboxCollectionSettings as $filterboxIdentifier => $filterboxSettings) { $filterboxConfiguration = Tx_PtExtlist_Domain_Configuration_Filters_FilterboxConfigFactory::createInstance($configurationBuilder, $filterboxIdentifier, $filterboxSettings); $filterBoxConfigCollection->addFilterBoxConfig($filterboxConfiguration, $filterboxIdentifier); } return $filterBoxConfigCollection; }
/** * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @return Tx_PtExtlist_Domain_Configuration_Aggregates_AggregateRowConfigCollection */ protected static function buildAggregateRowConfigCollection(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder) { $aggregateRowSettings = $configurationBuilder->getSettingsForConfigObject('aggregateRows'); ksort($aggregateRowSettings); $aggregateRowConfigCollection = new Tx_PtExtlist_Domain_Configuration_Aggregates_AggregateRowConfigCollection(); foreach ($aggregateRowSettings as $rowId => $rowSetting) { $aggregateRowConfigCollection->addAggregateRowConfig(Tx_PtExtlist_Domain_Configuration_Aggregates_AggregateRowConfigFactory::getAggregateRowConfig($configurationBuilder, $rowSetting), $rowId); } return $aggregateRowConfigCollection; }
/** * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @return Tx_PtExtlist_Domain_Configuration_Pager_PagerConfigCollection */ public static function getInstance(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder) { $pagerCollectionSettings = $configurationBuilder->getSettingsForConfigObject('pager'); $pagerConfigCollection = new Tx_PtExtlist_Domain_Configuration_Pager_PagerConfigCollection($configurationBuilder); foreach ($pagerCollectionSettings['pagerConfigs'] as $pagerIdentifier => $pagerSettings) { $pagerSettings['itemsPerPage'] = $pagerCollectionSettings['itemsPerPage']; $pagerConfiguration = Tx_PtExtlist_Domain_Configuration_Pager_PagerConfigFactory::getInstance($configurationBuilder, $pagerIdentifier, $pagerSettings); $pagerConfigCollection->addPagerConfig($pagerConfiguration, $pagerIdentifier); } return $pagerConfigCollection; }
/** * Factory method creates instance of breadcrumbs collection as list identifier-specific singleton * * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @return Tx_PtExtlist_Domain_Model_BreadCrumbs_BreadCrumbCollection */ public function getInstanceByConfigurationBuilder(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder) { if (!array_key_exists($configurationBuilder->getListIdentifier(), $this->instances) || $this->instances[$configurationBuilder->getListIdentifier()] == null) { $filterboxCollectionFactory = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager')->get('Tx_PtExtlist_Domain_Model_Filter_FilterboxCollectionFactory'); /* @var $filterboxCollectionFactory Tx_PtExtlist_Domain_Model_Filter_FilterboxCollectionFactory */ $filterboxCollection = $filterboxCollectionFactory->createInstance($configurationBuilder, false); $breadCrumbCollection = $this->getInstanceByFilterboxCollection($configurationBuilder, $filterboxCollection); $this->instances[$configurationBuilder->getListIdentifier()] = $breadCrumbCollection; } return $this->instances[$configurationBuilder->getListIdentifier()]; }
/** * Creates a new instance of bookmark manager for given configuration builder * * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @return Tx_PtExtlist_Domain_Model_Bookmark_BookmarkManager */ protected function createNewInstanceByConfigurationBuilder(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder) { $bookmarksConfiguration = $configurationBuilder->buildBookmarkConfiguration(); $this->bookmarkRepository->setBookmarkStoragePid($bookmarksConfiguration->getBookmarkPid()); $bookmarkManager = $this->objectManager->get('Tx_PtExtlist_Domain_Model_Bookmark_BookmarkManager', $configurationBuilder->getListIdentifier()); /* @var $bookmarkManager Tx_PtExtlist_Domain_Model_Bookmark_BookmarkManager */ $bookmarkManager->_injectConfigurationBuilder($configurationBuilder); $bookmarkManager->_injectSessionPersistenceManager($this->sessionPersistenceManagerBuilder->getInstance()); $bookmarkManager->buildBookmarkConfig(); $bookmarkManager->initFeUser(); return $bookmarkManager; }
/** * Get the settings * * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @return array */ protected static function getExportSettingsForCurrentView(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder) { $allExportSettings = $configurationBuilder->getSettingsForConfigObject('export'); $controllerSettings = $configurationBuilder->getSettings('controller'); $selectedViewSettingsKey = $controllerSettings['Export']['download']['view']; $exportSettingsPath = explode('.', $selectedViewSettingsKey); $exportSettings = \TYPO3\CMS\Extbase\Utility\ArrayUtility::getValueByPath($configurationBuilder->getSettings(), $exportSettingsPath); /* In this case we have to merge the prototype settings again because the prototype settings are filled from flexform.... * This smells ... * TODO: find a better way .... */ return $configurationBuilder->getMergedSettingsWithPrototype($exportSettings, 'export'); }
/** * Factory method for returning a singleton instance of a column selector * * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @return Tx_PtExtlist_Domain_Model_ColumnSelector_ColumnSelector */ public function getInstance(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder) { $listIdentifier = $configurationBuilder->getListIdentifier(); if ($this->instances[$listIdentifier] === null) { $this->instances[$listIdentifier] = new Tx_PtExtlist_Domain_Model_ColumnSelector_ColumnSelector(); $this->instances[$listIdentifier]->setConfiguration($configurationBuilder->buildColumnSelectorConfiguration()); // Inject settings from session. $this->sessionPersistenceManagerBuilder->getInstance()->registerObjectAndLoadFromSession($this->instances[$listIdentifier]); // Inject settings from gp-vars. $this->getPostVarsAdapterFactory->getInstance()->injectParametersInObject($this->instances[$listIdentifier]); } return $this->instances[$listIdentifier]; }
/** * Factory method for returning a singleton instance of sorter * * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @return Tx_PtExtlist_Domain_Model_Sorting_Sorter */ public function getInstance(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder) { $listIdentifier = $configurationBuilder->getListIdentifier(); if ($this->instances[$listIdentifier] === null) { $this->instances[$listIdentifier] = $this->objectManager->get('Tx_PtExtlist_Domain_Model_Sorting_Sorter'); $this->instances[$listIdentifier]->_injectSorterConfig($configurationBuilder->buildSorterConfiguration()); // At the moment we have to build list header here, as it is not registered in sorter otherwise. // TODO refactor this! We can register list header after sorter is build! $listHeaderFactory = $this->objectManager->get('Tx_PtExtlist_Domain_Model_List_Header_ListHeaderFactory'); /* @var $listHeaderFactory Tx_PtExtlist_Domain_Model_List_Header_ListHeaderFactory */ $listHeaderFactory->createInstance($configurationBuilder); } return $this->instances[$listIdentifier]; }
/** * @param Tx_PtExtlist_Domain_Model_Bookmark_Bookmark $bookmark * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @param array $sessionData * @return void */ public function addContentToBookmark(Tx_PtExtlist_Domain_Model_Bookmark_Bookmark $bookmark, Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder, array $sessionData) { $listIdentifier = $configurationBuilder->getListIdentifier(); $bookmarkContentArray = array(); if (array_key_exists($listIdentifier, $sessionData)) { if (array_key_exists('headerColumns', $sessionData[$listIdentifier])) { $bookmarkContentArray[$listIdentifier]['headerColumns'] = $sessionData[$listIdentifier]['headerColumns']; } if (array_key_exists('filters', $sessionData[$listIdentifier])) { $bookmarkContentArray[$listIdentifier]['filters'] = $sessionData[$listIdentifier]['filters']; } } $bookmark->setContent(serialize($bookmarkContentArray)); }
/** * Returns an instance of a data mapper for a given data mapper class name. * * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @return mixed */ public function createDataMapper(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder) { $dataBackendConfiguration = $configurationBuilder->buildDataBackendConfiguration(); $dataMapperClassName = $dataBackendConfiguration->getDataMapperClass(); $dataMapper = $this->objectManager->get($dataMapperClassName, $configurationBuilder); /** @var Tx_PtExtlist_Domain_DataBackend_Mapper_AbstractMapper $dataMapper */ $mapperConfiguration = $configurationBuilder->buildFieldsConfiguration(); // Check whether mapper implements interface Tx_PtExtbase_Assertions_Assert::isTrue($dataMapper instanceof Tx_PtExtlist_Domain_DataBackend_Mapper_MapperInterface, array('message' => 'Data mapper must implement data mapper interface! 1280415471')); $dataMapper->_injectConfigurationBuilder($configurationBuilder); $dataMapper->_injectMapperConfiguration($mapperConfiguration); $dataMapper->init(); return $dataMapper; }
/** * Returns a instance of the pager collection. * * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @return Tx_PtExtlist_Domain_Model_Pager_PagerCollection */ public function getInstance(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder) { $pagerConfigurationCollection = $configurationBuilder->buildPagerConfiguration(); $pagerCollection = new Tx_PtExtlist_Domain_Model_Pager_PagerCollection($configurationBuilder); $sessionPersistenceManager = $this->sessionPersistenceManagerBuilder->getInstance(); $sessionPersistenceManager->registerObjectAndLoadFromSession($pagerCollection); $pagerCollection->injectSessionPersistenceManager($sessionPersistenceManager); $this->getPostVarsAdapterFactory->getInstance()->injectParametersInObject($pagerCollection); // Create pagers and add them to the collection foreach ($pagerConfigurationCollection as $pagerIdentifier => $pagerConfig) { $pagerCollection->addPager($this->pagerFactory->getInstance($pagerConfig)); } return $pagerCollection; }
/** * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @return Tx_PtExtlist_Domain_Configuration_Renderer_RendererChainConfig */ public static function getInstance(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder) { $rendererChainConfiguration = null; $rendererChainSettings = $configurationBuilder->getSettingsForConfigObject('rendererChain'); if (is_array($rendererChainSettings['rendererConfigs'])) { ksort($rendererChainSettings['rendererConfigs']); $rendererChainConfiguration = new Tx_PtExtlist_Domain_Configuration_Renderer_RendererChainConfig($configurationBuilder, $rendererChainSettings); foreach ($rendererChainSettings['rendererConfigs'] as $rendererIdentifier => $rendererSettings) { $rendererConfiguration = Tx_PtExtlist_Domain_Configuration_Renderer_RendererConfigFactory::getRendererConfiguration($configurationBuilder, $rendererSettings); $rendererChainConfiguration->addRendererConfig($rendererConfiguration, $rendererIdentifier); } } return $rendererChainConfiguration; }
/** * Factory method for creating filterbox collection for a given configuration builder * * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @param boolean $resetFilterBoxCollection * @return Tx_PtExtlist_Domain_Model_Filter_FilterboxCollection */ public function createInstance(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder, $resetFilterBoxCollection) { if ($this->instances[$configurationBuilder->getListIdentifier()] === null || $resetFilterBoxCollection === true) { $filterboxConfigCollection = $configurationBuilder->buildFilterConfiguration(); $filterboxCollection = $this->objectManager->get('Tx_PtExtlist_Domain_Model_Filter_FilterboxCollection', $configurationBuilder); /* @var $filterboxCollection Tx_PtExtlist_Domain_Model_Filter_FilterboxCollection */ foreach ($filterboxConfigCollection as $filterboxConfiguration) { /* @var $filterboxConfiguration Tx_PtExtlist_Domain_Configuration_Filters_FilterboxConfig */ $filterbox = $this->filterboxFactory->createInstance($filterboxConfiguration); $filterboxCollection->addFilterBox($filterbox, $filterbox->getfilterboxIdentifier()); } $this->instances[$configurationBuilder->getListIdentifier()] = $filterboxCollection; } return $this->instances[$configurationBuilder->getListIdentifier()]; }
/** * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @return Tx_PtExtlist_Domain_Configuration_Columns_ColumnConfigCollection */ protected static function buildColumnConfigCollection(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder) { $columnSettings = $configurationBuilder->getSettingsForConfigObject('columns'); ksort($columnSettings); $columnConfigCollection = new Tx_PtExtlist_Domain_Configuration_Columns_ColumnConfigCollection(); $security = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager')->get('Tx_PtExtlist_Domain_Security_GroupSecurity'); /* @var $security Tx_PtExtlist_Domain_Security_GroupSecurity */ foreach ($columnSettings as $columnId => $columnSetting) { $columnSettingMergedWithPrototype = $configurationBuilder->getMergedSettingsWithPrototype($columnSetting, 'column.default'); $columnConfig = new Tx_PtExtlist_Domain_Configuration_Columns_ColumnConfig($configurationBuilder, $columnSettingMergedWithPrototype); // Inject security information $accessable = $security->isAccessableColumn($columnConfig); $columnConfig->setAccessable($accessable); $columnConfigCollection->addColumnConfig($columnId, $columnConfig); } return $columnConfigCollection; }
/** @test */ public function getFilterByFilterIdentifierReturnsExpectedFilter() { $dataBackendFactoryMock = $this->getDataBackendFactoryMockForListConfigurationAndListIdentifier($this->configurationBuilderMock->getSettings(), $this->configurationBuilderMock->getListIdentifier()); $filterboxFactory = $this->objectManager->get('Tx_PtExtlist_Domain_Model_Filter_FilterboxFactory'); /* @var $filterboxFactory Tx_PtExtlist_Domain_Model_Filter_FilterboxFactory */ $filterboxFactory->setDataBackendFactory($dataBackendFactoryMock); $filterbox = $filterboxFactory->createInstance($this->configurationBuilderMock->buildFilterConfiguration()->getFilterBoxConfig('testfilterbox')); $this->assertSame('testfilterbox', $filterbox->getFilterByFilterIdentifier('filter1')->getFilterBoxIdentifier()); }
/** * Build the aggregate data by configuration * * @return Tx_PtExtlist_Domain_Model_List_Row */ protected function buildAggregateDataRow() { $dataRow = new Tx_PtExtlist_Domain_Model_List_Row(); $aggregateDataConfigCollection = $this->configurationBuilder->buildAggregateDataConfig(); $aggregatesForPage = $this->getAggregatesForPage($aggregateDataConfigCollection->extractCollectionByScope('page')); $aggregatesForQuery = $this->getAggregatesForQuery($aggregateDataConfigCollection->extractCollectionByScope('query')); \TYPO3\CMS\Core\Utility\ArrayUtility::mergeRecursiveWithOverrule($aggregatesForQuery, $aggregatesForPage); foreach ($aggregatesForQuery as $key => $value) { $dataRow->createAndAddCell($value, $key); } return $dataRow; }
/** * @return Tx_PtExtbase_State_Session_SessionPersistenceManager */ protected function buildSessionPersistenceManager() { // Determine class name of session storage class to use for session persistence if (TYPO3_MODE === 'FE') { $sessionPersistenceStorageAdapterClassName = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager')->get('Tx_PtExtlist_Extbase_ExtbaseContext')->isInCachedMode() ? $this->configurationBuilder->buildBaseConfiguration()->getCachedSessionStorageAdapter() : $this->configurationBuilder->buildBaseConfiguration()->getUncachedSessionStorageAdapter(); // We are in uncached mode } else { $sessionPersistenceStorageAdapterClassName = Tx_PtExtbase_State_Session_SessionPersistenceManager::STORAGE_ADAPTER_BROWSER_SESSION; } // Instantiate session storage for determined class name $sessionStorageAdapter = call_user_func($sessionPersistenceStorageAdapterClassName . '::getInstance'); $this->sessionPersistenceManager = $this->sessionPersistenceManagerBuilder->getInstance($sessionStorageAdapter); }
/** * * @param string $identifier aggregate identifier * @param array $aggregateSettings * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @throws Exception */ public function __construct($identifier, $aggregateSettings, Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder) { Tx_PtExtbase_Assertions_Assert::isNotEmptyString($identifier, array('message' => 'No aggregate identifier specified. 1282891490')); $this->identifier = $identifier; if (!trim($aggregateSettings['fieldIdentifier'])) { throw new Exception('No fieldIdentifier for aggregate given! 1282891630'); } $this->fieldIdentifier = $configurationBuilder->buildFieldsConfiguration()->getFieldConfigByIdentifier($aggregateSettings['fieldIdentifier']); if (!array_key_exists('method', $aggregateSettings) && !array_key_exists('special', $aggregateSettings)) { throw new Exception('No aggregate method or special sql given for aggregate ' . $this->identifier . '! 1282891831'); } if (array_key_exists('method', $aggregateSettings)) { $this->method = trim($aggregateSettings['method']); } if (array_key_exists('scope', $aggregateSettings)) { $this->scope = $aggregateSettings['scope']; } if (array_key_exists('special', $aggregateSettings)) { $this->special = $aggregateSettings['special']; $this->scope = 'query'; } }
/** * Renders the cell content. * * @param \Tx_PtExtlist_Domain_Configuration_ColumnConfigInterface $columnConfig * @param Tx_PtExtlist_Domain_Model_List_Row $data The table data. * @param integer $columnIndex Current column index. * @param integer $rowIndex Current row index. * * @internal param string $columnIdentifier The columnIdentifier. * @return Tx_Pt_extlist_Domain_Model_List_Cell */ public function renderCell(Tx_PtExtlist_Domain_Configuration_ColumnConfigInterface $columnConfig, Tx_PtExtlist_Domain_Model_List_Row $data, $columnIndex, $rowIndex) { // Load all available fields $fieldSet = $this->createFieldSet($data, $columnConfig); $caching = $columnConfig->getCacheRendering() || $this->configurationBuilder->buildListConfiguration()->getCacheRendering(); // TODO: Include the objectMapper here ... // if($columnConfig->getObjectMapperConfig() instanceof Tx_PtExtlist_Domain_Configuration_Columns_ObjectMapper_ObjectMapperConfig) {} if ($columnConfig->getRawFields()) { $content = $fieldSet; } else { $content = Tx_PtExtlist_Utility_RenderValue::renderByConfigObject($fieldSet, $columnConfig, $caching); } // Create new cell $cell = new Tx_PtExtlist_Domain_Model_List_Cell($content); $cell->setRowIndex($rowIndex); $cell->setColumnIndex($columnIndex); // render cell css class if ($columnConfig->getCellCSSClass()) { $cell->setCSSClass($this->renderCellCSSClass($fieldSet, $columnConfig)); } return $cell; }
/** * Factory method for data source * * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @return Tx_PtExtlist_Domain_DataBackend_DataSource_DummyDataSource */ public static function createDataSource(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder) { return new Tx_PtExtlist_Domain_DataBackend_DataSource_DummyDataSource($configurationBuilder->buildDataBackendConfiguration()->getDataSourceSettings()); }
/** * @static * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @param Tx_PtExtlist_Domain_Model_List_Header_ListHeader $listHeader */ protected function setVisibilityByColumnSelector(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder, Tx_PtExtlist_Domain_Model_List_Header_ListHeader $listHeader) { if ($configurationBuilder->buildColumnSelectorConfiguration()->getEnabled()) { $this->columnSelectorFactory->getInstance($configurationBuilder)->setVisibilityOnListHeader($listHeader); } }
/** * Factory method for data source * * Only DataBackend knows, which data source to use and how to instantiate it. * So there cannot be a generic factory for data sources and data backend factory cannot instantiate it either! * * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @return Tx_PtExtlist_Domain_DataBackend_DataSource_MySqlDataSource Data source object for this data backend */ public static function createDataSource(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder) { $dataSourceConfiguration = new Tx_PtExtlist_Domain_Configuration_DataBackend_DataSource_DatabaseDataSourceConfiguration($configurationBuilder->buildDataBackendConfiguration()->getDataSourceSettings()); $dataSource = Tx_PtExtlist_Domain_DataBackend_DataSource_MysqlDataSourceFactory::createInstance($configurationBuilder->buildDataBackendConfiguration()->getDataSourceClass(), $dataSourceConfiguration); return $dataSource; }
/** * Constructor for configuration object * * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @param array $settings */ public function __construct(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder, array $settings = array()) { $this->listIdentifier = $configurationBuilder->getListIdentifier(); parent::__construct($configurationBuilder, $settings); }
/** * Returns an instance of this object for a given session persisted array * * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder * @param array $sessionArray * @return Tx_PtExtlist_Domain_Model_Sorting_SortingState */ public static function getInstanceBySessionArray(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder, array $sessionArray) { $field = $configurationBuilder->buildFieldsConfiguration()->getFieldConfigByIdentifier($sessionArray['fieldName']); $direction = $sessionArray['direction']; return new Tx_PtExtlist_Domain_Model_Sorting_SortingState($field, $direction); }
/** * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder */ public function __construct(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder) { $this->listIdentifier = $configurationBuilder->getListIdentifier(); }
public function testBuildFilterBoxConfiguration() { $settings = $this->buildTypoScriptConfigForConfigBuilder('tsTestList'); $configurationBuilder = new Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder($settings, 't3BackendTestList'); $configurationBuilder->buildFilterConfiguration(); }