Example #1
0
 /**
  * Initialize the datagrid view.
  */
 public function init(DatagridInterface $datagrid)
 {
     if (null === ($data = $datagrid->getData())) {
         throw new InvalidArgumentException('No data provided for the view.');
     }
     $columns = $datagrid->getColumns();
     foreach ($columns as $column) {
         $this->columns[$column->getName()] = $column->createHeaderView($this);
     }
     if (!isset($this->vars['row_vars'])) {
         $this->vars['row_vars'] = [];
     }
     foreach ($data as $id => $value) {
         $this->rows[$id] = $row = new DatagridRowView($this, $columns, $value, $id);
         $row->vars = $this->vars['row_vars'];
     }
 }
 private static function assertDatagridHasColumn(DatagridInterface $datagrid, string $name, string $type = ColumnType::class, array $options = null)
 {
     self::assertTrue($datagrid->hasColumn($name), sprintf('Datagrid does not have a column named "%s"', $name));
     self::assertColumnEquals($datagrid->getColumn($name), $name, $type, $options);
 }
 /**
  * @param string            $columnName
  * @param DatagridInterface $datagrid
  */
 public function __construct($columnName, DatagridInterface $datagrid)
 {
     $this->datagrid = $datagrid;
     $this->columnName = $columnName;
     parent::__construct(sprintf('Column "%s" is not registered in Datagrid "%s".', $columnName, $datagrid->getName()));
 }