/** * Render collection column type * * @param \Engine\Crud\Grid\Column $column * @return string */ public static function _collection(Column\Collection $column) { $columnCode = []; $columnCode[] = "text: '" . $column->getTitle() . "'"; $columnCode[] = "dataIndex: '" . $column->getKey() . "'"; $columnCode[] = "width: " . $column->getWidth(); if ($column->isSortable()) { $columnCode[] = "sortable: true"; } if ($column->isHidden()) { $columnCode[] = "hidden: true"; } if ($column->isEditable()) { $field = $column->getField(); $options = \Engine\Tools\Arrays::assocToArray($field->getOptions()); $columnCode[] = "field: {\n xtype: 'combobox',\n typeAhead: true,\n triggerAction: 'all',\n selectOnTab: true,\n store: " . json_encode($options) . ",\n lazyRender: true,\n listClass: 'x-combo-list-small'\n }"; } return forward_static_call(['static', '_implode'], $columnCode); }