예제 #1
0
 public function __invoke(ColumnInterface $column)
 {
     /** @var PhpRenderer $view */
     $view = $this->getView();
     /** @var \Zend\View\Helper\EscapeHtml $escape */
     $escape = $view->plugin('escapeHtml');
     $attributes = $column->getAttributes();
     $config = ['hidden' => true, 'hidedlg' => empty($attributes['hidedlg']) ? false : (bool) $attributes['hidedlg'], 'name' => $escape($column->getName())];
     $config = array_merge($config, $column->getAttributes());
     return (object) $config;
 }
예제 #2
0
 /**
  * Возвращает конфигурацию колонки
  * @param ColumnInterface $column
  * @return array
  */
 protected function getColumnConfig(ColumnInterface $column)
 {
     /** @var PhpRenderer $view */
     $view = $this->getView();
     /** @var \Zend\View\Helper\EscapeHtml $escape */
     $escape = $view->plugin('escapeHtml');
     $name = $escape($column->getName());
     $header = $column->getHeader();
     $config = ['label' => $header ? $escape($header->getTitle()) : null, 'index' => strtolower($name), 'name' => strtolower($name)];
     return $config;
 }
예제 #3
0
 /**
  * Метод осуществляет подготовку данных предустановленных мутаторов по умолчанию.
  * Преобразует массив данных для предустановленных мутаторов в общий формат.
  * @param ColumnInterface $column
  * @param array | Traversable $spec
  * @return array | Traversable
  */
 protected function prepareMutatorsSpecification(ColumnInterface $column, $spec)
 {
     $mutatorsNames = $column->getInvokableMutators();
     $mutatorsOptions = [];
     if (count($mutatorsNames)) {
         if (array_key_exists('options', $spec) && is_array($spec['options']) && array_key_exists('mutatorsOptions', $spec['options'])) {
             $mutatorsOptions = $spec['options']['mutatorsOptions'];
         }
         foreach ($mutatorsNames as $k => $mutator) {
             $spec['mutators'][] = ['type' => $mutator, 'options' => array_key_exists($k, $mutatorsOptions) ? $mutatorsOptions[$k] : []];
         }
         unset($spec['options']['mutatorsOptions']);
     }
     return $spec;
 }