public function testCreateView() { $gridView = new GridView(); $gridView->setName('name'); $gridView->setFiltersData(['f' => 'fv']); $gridView->setSortersData(['s' => 'sv']); $expectedView = new View(null, ['f' => 'fv'], ['s' => 'sv'], GridView::TYPE_PRIVATE); $expectedView->setLabel('name'); $this->assertEquals($expectedView, $gridView->createView()); }
public function testCreateView() { $gridView = new GridView(); $gridView->setName('name'); $gridView->setFiltersData(['f' => 'fv']); $gridView->setSortersData(['s' => 'sv']); $gridView->setColumnsData(['name' => ['order' => 4]]); $expectedView = new View(null, ['f' => 'fv'], ['s' => 'sv'], GridView::TYPE_PRIVATE, ['name' => ['order' => 4]]); $expectedView->setLabel('name'); static::assertEquals($expectedView, $gridView->createView()); }
/** * {@inheritDoc} */ protected function getViewsList() { $views = [new View($this->translator->trans('oro.email.datagrid.emailfolder.view.inbox'), ['folder' => ['value' => [FolderType::INBOX]]]), new View($this->translator->trans('oro.email.datagrid.emailfolder.view.sent'), ['folder' => ['value' => [FolderType::SENT]]])]; $choiceList = $this->mailboxChoiceList->getChoiceList(); foreach ($choiceList as $id => $label) { $mailboxLabel = $this->translator->trans('oro.email.datagrid.mailbox.view', ['%mailbox%' => $label]); $view = new View($mailboxLabel, ['mailbox' => ['value' => $id]]); $view->setLabel(str_replace('\\@', '@', $mailboxLabel)); $views[] = $view; } return $views; }
/** * @return View */ public function createView() { $view = new View($this->id, $this->filtersData, $this->sortersData, $this->type, $this->getColumnsData()); $view->setLabel($this->name); return $view; }
/** * {@inheritdoc} */ public function visitMetadata(DatagridConfiguration $config, MetadataObject $data) { $currentViewId = $this->getCurrentViewId($config->getName()); $this->setDefaultParams($config->getName()); $data->offsetAddToArray('initialState', ['gridView' => self::DEFAULT_VIEW_ID]); $data->offsetAddToArray('state', ['gridView' => $currentViewId]); $allLabel = null; if (isset($config['options'], $config['options']['gridViews'], $config['options']['gridViews']['allLabel'])) { $allLabel = $this->translator->trans($config['options']['gridViews']['allLabel']); } /** @var AbstractViewsList $list */ $list = $config->offsetGetOr(self::VIEWS_LIST_KEY, false); $systemGridView = new View(self::DEFAULT_VIEW_ID); $systemGridView->setDefault($this->getDefaultViewId($config->getName()) === null); $gridViews = ['choices' => [['label' => $allLabel, 'value' => self::DEFAULT_VIEW_ID]], 'views' => [$systemGridView->getMetadata()]]; if ($list !== false) { $configuredGridViews = $list->getMetadata(); $configuredGridViews['views'] = array_merge($gridViews['views'], $configuredGridViews['views']); $configuredGridViews['choices'] = array_merge($gridViews['choices'], $configuredGridViews['choices']); $gridViews = $configuredGridViews; } if ($this->eventDispatcher->hasListeners(GridViewsLoadEvent::EVENT_NAME)) { $event = new GridViewsLoadEvent($config->getName(), $gridViews); $this->eventDispatcher->dispatch(GridViewsLoadEvent::EVENT_NAME, $event); $gridViews = $event->getGridViews(); } $gridViews['gridName'] = $config->getName(); $gridViews['permissions'] = $this->getPermissions(); $data->offsetAddToArray('gridViews', $gridViews); }
/** * Create grid view for default grid state __all__ * * @param DatagridConfiguration $config * @param MetadataObject $data * * @return View */ protected function createNewGridView(DatagridConfiguration $config, MetadataObject $data) { $newGridView = new View(GridViewsExtension::DEFAULT_VIEW_ID); $columns = $this->getColumnsWithOrder($config); /** Set config columns state to __all__ grid view */ $newGridView->setColumnsData($columns); $this->setState($data, $columns); $this->setInitialState($data, $columns); return $newGridView; }