示例#1
0
 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());
 }
示例#2
0
 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());
 }
示例#3
0
 /**
  * {@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;
 }
示例#4
0
 /**
  * @return View
  */
 public function createView()
 {
     $view = new View($this->id, $this->filtersData, $this->sortersData, $this->type, $this->getColumnsData());
     $view->setLabel($this->name);
     return $view;
 }
示例#5
0
 /**
  * {@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;
 }