/** * @param Column $column * * @return void */ private function configureColumns($column) { if (!$column instanceof Column) { return; } if ($column->isSortable()) { $this->sortable = true; } if ($this->argsCallback) { $column->setArgsCallback($this->argsCallback); if ($column->isHideable()) { $visible = call_user_func($this->argsCallback, self::QUERY_COLUMNS_VISIBLE); if ($visible) { $column->setVisible(in_array($column->getId(), explode('|', $visible))); } } } }