Exemplo n.º 1
0
 /**
  * Resolve table type options
  * @param \EMC\TableBundle\Table\Type\TableTypeInterface $type
  * @param array $data
  * @param array $options
  * @param array $params
  * @return array
  */
 private function resolveOptions(TableTypeInterface $type, array $data = null, array $options = array(), array $params = array())
 {
     if (null !== $data && !array_key_exists('data', $options)) {
         $options['data'] = $data;
     }
     $_options = $options;
     if (count($params) > 0) {
         $options['params'] = $params;
     }
     $resolver = $type->getOptionsResolver();
     $type->setDefaultOptions($resolver, $this->defaultOptions);
     $options = $resolver->resolve($options);
     $availableExport = array();
     foreach ($options['export'] as $export) {
         $availableExport[$export] = $this->exportRegistry->get($export);
     }
     unset($options['export']);
     $options['export'] = $availableExport;
     $options['_tid'] = $this->generateTableId($type, $_options);
     $options['_passed_options'] = $_options;
     $options['_query'] = array('page' => 1, 'sort' => $options['default_sorts'], 'limit' => $options['limit'], 'filter' => null);
     return $options;
 }