/** * Add column, column object have to extend Column * @param Column $column * @param int $position * @return Grid */ public function addColumn($column, $position = 0) { if (!$column instanceof Column) { throw new \InvalidArgumentException('Your column needs to extend class Column.'); } $column->setSecurityContext($this->securityContext); if ($position > 0) { $position--; $head = array_slice($this->columns, 0, $position); $tail = array_slice($this->columns, $position); $this->columns = array_merge($head, array($column), $tail); } else { $this->columns[] = $column; } return $this; }
/** * @param \Sorien\DataGridBundle\Grid\Column\Column $column * @param boolean $withAlias * @return string */ private function getFieldName($column, $withAlias = true) { $name = $column->getField(); if (strpos($name, '.') === false) { return self::TABLE_ALIAS . '.' . $name; } $parent = self::TABLE_ALIAS; $elements = explode('.', $name); while ($element = array_shift($elements)) { if (count($elements) > 0) { $this->joins['_' . $element] = $parent . '.' . $element; $parent = '_' . $element; $name = $element; } else { $name .= '.' . $element; } } if ($withAlias) { return '_' . $name . ' as ' . $column->getId(); } return '_' . $name; }
/** * @param string $section * @param \Sorien\DataGridBundle\Grid\Grid $grid * @param \Sorien\DataGridBundle\Grid\Column\Column $param * @return string */ public function getGridUrl($section, $grid, $param = null) { if ($section == 'order') { if ($param->isSorted()) { return $grid->getRouteUrl() . '?' . $grid->getHash() . '[' . Grid::REQUEST_QUERY_ORDER . ']=' . $param->getId() . '|' . ($param->getOrder() == 'asc' ? 'desc' : 'asc'); } else { return $grid->getRouteUrl() . '?' . $grid->getHash() . '[' . Grid::REQUEST_QUERY_ORDER . ']=' . $param->getId() . '|asc'; } } elseif ($section == 'page') { return $grid->getRouteUrl() . '?' . $grid->getHash() . '[' . Grid::REQUEST_QUERY_PAGE . ']=' . $param; } elseif ($section == 'limit') { return $grid->getRouteUrl() . '?' . $grid->getHash() . '[' . Grid::REQUEST_QUERY_LIMIT . ']='; } }
public function renderCell($value, $row, $router) { if (key_exists((string) $value, $this->values)) { $value = $this->values[$value]; } return parent::renderCell($value, $row, $router); }
public function __initialize(array $params) { parent::__initialize($params); $this->setInputType($this->getParam('inputType', 'text')); }
public function __initialize(array $params) { parent::__initialize(array_merge(array('sortable' => false, 'filterable' => false, 'source' => false), $params)); }
public function __construct($column, $title, array $rowActions = array(), array $params = array()) { $this->rowActions = $rowActions; parent::__construct(array_merge($params, array('id' => $column, 'title' => $title, 'sortable' => false, 'source' => false))); }