columnName = $columnName; $this->label = $label; } /** * Specifies a list column rendering mode. Supported modes are: * - text - text column, aligned left * - number - numeric column, aligned right * @param string $type Specifies a render mode as described above */ public function displayAs($type, $config) { $this->type = strtolower($type) ?: $this->type; $this->config = $this->evalConfig($config); return $this; } /** * Process options and apply them to this object. * @param array $config * @return array */ protected function evalConfig($config) { if (isset($config['cssClass'])) $this->cssClass = $config['cssClass']; if (isset($config['searchable'])) $this->searchable = $config['searchable']; if (isset($config['sortable'])) $this->sortable = $config['sortable']; if (isset($config['invisible'])) $this->invisible = $config['invisible']; if (isset($config['select'])) $this->sqlSelect = $config['select']; if (isset($config['relation'])) $this->relation = $config['relation']; if (isset($config['format'])) $this->format = $config['format']; return $config; } }