Ejemplo n.º 1
0
 /**
  * Renders captions
  *
  * @param Tx_PtExtlist_Domain_Model_List_Header_ListHeader $listHeader
  * @return Tx_PtExtlist_Domain_Model_List_Header_ListHeader $listHeader
  */
 public function renderCaptions(Tx_PtExtlist_Domain_Model_List_Header_ListHeader $listHeader)
 {
     Tx_PtExtbase_Assertions_Assert::isNotNull($listHeader, array('message' => 'No header data available. 1280408235'));
     $renderedListHeader = new Tx_PtExtlist_Domain_Model_List_Header_ListHeader($listHeader->getListIdentifier());
     foreach ($listHeader as $headerColumn) {
         /* @var $headerColumn Tx_PtExtlist_Domain_Model_List_Header_HeaderColumn */
         if ($headerColumn->getColumnConfig()->isAccessable() && $headerColumn->getIsVisible()) {
             $label = $this->renderColumnLabel($headerColumn);
             $renderedListHeader->createAndAddCell($label, $headerColumn->getColumnIdentifier());
         }
     }
     return $renderedListHeader;
 }
Ejemplo n.º 2
0
 /**
  * Build singleton instance of listHeader, a collection of header column objects
  * 
  * @param Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder
  * @param boolean $resetListHeader
  * @return Tx_PtExtlist_Domain_Model_List_Header_ListHeader
  */
 public function createInstance(Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder $configurationBuilder, $resetListHeader = false)
 {
     $listIdentifier = $configurationBuilder->getListIdentifier();
     // Check whether singleton instance exists
     if (!array_key_exists($listIdentifier, $this->instances) || $this->instances[$listIdentifier] === null || $resetListHeader) {
         $defaultSortingColumn = $configurationBuilder->buildListDefaultConfig()->getSortingColumn();
         $columnConfigurationCollection = $configurationBuilder->buildColumnsConfiguration();
         $listHeader = new Tx_PtExtlist_Domain_Model_List_Header_ListHeader($configurationBuilder->getListIdentifier());
         $listIsSorted = false;
         foreach ($columnConfigurationCollection as $columnIdentifier => $singleColumnConfiguration) {
             /* @var $singleColumnConfiguration Tx_PtExtlist_Domain_Configuration_Columns_ColumnConfig */
             $headerColumn = $this->headerColumnFactory->createInstance($singleColumnConfiguration);
             if ($singleColumnConfiguration->isAccessable()) {
                 // We set list as sorted as soon as one column has sorting-status from user / session
                 if ($headerColumn->isSortingActive()) {
                     $listIsSorted = true;
                 }
                 $listHeader->addHeaderColumn($headerColumn, $singleColumnConfiguration->getColumnIdentifier());
             }
         }
         $this->setVisibilityByColumnSelector($configurationBuilder, $listHeader);
         // Check whether we have a sorting from header columns (set by user)
         // or whether we have to set default sorting
         if (!$listIsSorted && $defaultSortingColumn && $listHeader->hasItem($defaultSortingColumn)) {
             $listHeader->getHeaderColumn($defaultSortingColumn)->setDefaultSorting($configurationBuilder->buildListDefaultConfig()->getSortingDirection());
             $listHeader->getHeaderColumn($defaultSortingColumn)->init();
         }
         $this->getPostVarsAdapterFactory->getInstance()->injectParametersInObject($listHeader);
         $listHeader->init();
         $this->instances[$listIdentifier] = $listHeader;
     }
     // We return singleton instance of listHeader
     return $this->instances[$listIdentifier];
 }
 /** @test */
 public function renderCaptionsCreatesSimpleTsLabels()
 {
     $this->markTestSkipped('This test is currently not working in T3 6.1.7 - problem arises in AbstractUserAuthentication.php::904');
     $ts = array('10' => array('_typoScriptNodeValue' => 'TEXT', 'value' => 'test'), '_typoScriptNodeValue' => 'COA');
     $methods = array('getLabel', 'getColumnIdentifier');
     $returnMethods['getLabel'] = $ts;
     $returnMethods['getColumnIdentifier'] = 'bla';
     $headerColumn = $this->getConfiguredMock('Tx_PtExtlist_Domain_Model_List_Header_HeaderColumn', $methods, $returnMethods);
     $columnConfigMock = $this->getAccessibleMock('Tx_PtExtlist_Domain_Configuration_Columns_ColumnConfig', array('isAccessable'), array(), '', FALSE);
     $columnConfigMock->expects($this->any())->method('isAccessable')->will($this->returnValue(true));
     $headerColumn->injectColumnConfig($columnConfigMock);
     $listHeader = new Tx_PtExtlist_Domain_Model_List_Header_ListHeader($this->configurationBuilderMock->getListIdentifier());
     $listHeader->addHeaderColumn($headerColumn, 'bla');
     $captionRendererClass = $this->buildAccessibleProxy('Tx_PtExtlist_Domain_Renderer_Default_CaptionRenderer');
     $captionRenderer = new $captionRendererClass();
     /* @var $captionRenderer Tx_PtExtlist_Domain_Renderer_Default_CaptionRenderer */
     $captions = $captionRenderer->renderCaptions($listHeader);
 }