Example #1
0
 /**
  * Prepare columns config
  */
 protected function prepareColumnsConfig()
 {
     $columns = [];
     foreach ($this->table->getColumns() as $column) {
         $columns[] = $column->getProperties();
     }
     $this->table->setColumns($columns);
 }
Example #2
0
 /**
  * Get data
  *
  * @return array
  */
 protected function getData()
 {
     $data = [];
     foreach ($this->data as $dataValue) {
         $row = [];
         foreach ($this->table->getColumns() as $column) {
             if ($column instanceof ColumnInterface) {
                 $row[$column->getData()] = $column->getContent($dataValue);
                 continue;
             }
             if (is_callable($column->getFormatter())) {
                 $row[$column->getData()] = call_user_func_array($column->getFormatter(), [$dataValue[$column->getData()], $dataValue]);
             } else {
                 $row[$column->getData()] = (string) $dataValue[$column->getData()];
             }
         }
         $data[] = $row;
     }
     return $data;
 }
Example #3
0
 /**
  * Returns the column used as the X axis
  *
  * If no column has been specified, the first column is returned.
  *
  * @api
  * @since 1.0.0
  *
  * @return DataTable\Column
  */
 protected function getXAxis()
 {
     $columns = $this->data->getColumns();
     return isset($this->xAxis) ? $this->xAxis : $this->setXAxis(reset($columns));
 }
Example #4
0
 /**
  * Prepare CakePHP order
  *
  * @param Request $request DataTable request
  */
 protected function prepareOrder(Request $request)
 {
     foreach ($request->getOrder() as $order) {
         $this->query->order([$this->table->getColumns()[$order->getColumn()]->getData() => strtoupper($order->getDir())]);
     }
 }