/** * Get value from column using Row::getValue() or custom callback * @param Row $row * @param Column\Column $column * @return bool */ private function getValue(Row $row, $column) { if (!$this->rowCallback) { return $row->getValue($column->getColumn()); } return call_user_func_array($this->rowCallback, [$row->getItem(), $column->getColumn()]); }
/** * Find selected option for current item/row * @param Row $row * @return Option|NULL */ public function getCurrentOption(Row $row) { foreach ($this->getOptions() as $option) { if ($option->getValue() == $row->getValue($this->getColumn())) { return $option; } } return NULL; }
/** * Get row item params (E.g. action may be called id => $item->id, name => $item->name, ...) * @param Row $row * @return array */ protected function getItemParams(Row $row) { $return = []; foreach ($this->params as $param_name => $param) { $return[is_string($param_name) ? $param_name : $param] = $row->getValue($param); } return $return; }
/** * Apply replacements * @param Row $row * @return array */ public function applyReplacements(Row $row) { $value = $row->getValue($this->column); if ((is_scalar($value) || is_null($value)) && isset($this->replacements[$value])) { return [TRUE, $this->replacements[$value]]; } return [FALSE, NULL]; }
/** * Get row item params (E.g. action may be called id => $item->id, name => $item->name, ...) * @param Row $row * @param array $params_list * @return array */ protected function getItemParams(Row $row, array $params_list) { $return = []; foreach ($params_list as $param_name => $param) { $return[is_string($param_name) ? $param_name : $param] = $row->getValue($param); } return $return; }