From fe540c656674b440b5e01c134f5b0f3219113beb Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Tue, 21 Jan 2020 19:24:06 +0100 Subject: [PATCH] wip #3359 @1 --- src/app/Magic/Controllers/CubistMagicController.php | 6 ++++++ src/app/Magic/Fields/Field.php | 10 +++++++++- src/app/Magic/Fields/SiteVariant.php | 2 ++ src/app/Magic/Models/CMSPage.php | 2 +- .../views/columns/select_from_array.blade.php | 8 ++------ 5 files changed, 20 insertions(+), 8 deletions(-) diff --git a/src/app/Magic/Controllers/CubistMagicController.php b/src/app/Magic/Controllers/CubistMagicController.php index c2ad3f5..b22fbf5 100644 --- a/src/app/Magic/Controllers/CubistMagicController.php +++ b/src/app/Magic/Controllers/CubistMagicController.php @@ -140,9 +140,15 @@ class CubistMagicController extends CubistCrudController /** @var $field Field */ if ($field->isDisplayColumn()) { $this->crud->addColumn($field->getColumnData()); + $moveAfter = $field->getAttribute('column_move_after', false); + if ($moveAfter !== false) { + $this->crud->afterColumn($moveAfter); + } } $this->crud->addField($field->getDefinition(), $field->getCRUDForm()); + $this->crud->orderFields(['id','variant']); + $this->_fields[$field->getAttribute('name')] = $field; } diff --git a/src/app/Magic/Fields/Field.php b/src/app/Magic/Fields/Field.php index b05ccd9..cc5c373 100644 --- a/src/app/Magic/Fields/Field.php +++ b/src/app/Magic/Fields/Field.php @@ -16,6 +16,8 @@ class Field implements \ArrayAccess protected $_rules = []; protected $_columnType = 'text'; + protected $_columnMoveAfter = false; + protected $_adminType = 'text'; protected $_viewNamespace = 'crud::fields'; protected $_columnViewNamespace = 'crud::columns'; @@ -99,7 +101,8 @@ class Field implements \ArrayAccess return ['type' => $this->_adminType, 'view_namespace' => $this->_viewNamespace, 'column' => false, 'form' => 'both', 'rules' => '', 'fillable' => true, 'guarded' => false, 'hidden' => false, 'translatable' => $this->_translatable, 'migrateTranslatable' => $this->_migrateTranslatable, - 'column_type' => $this->_columnType, 'default' => '', 'cast' => $this->_cast, 'column_view_namespace' => $this->_columnViewNamespace, 'searchLogic' => $this->_searchLogic, + 'column_type' => $this->_columnType, 'column_move_after' => $this->_columnMoveAfter, + 'default' => '', 'cast' => $this->_cast, 'column_view_namespace' => $this->_columnViewNamespace, 'searchLogic' => $this->_searchLogic, 'allow_null' => true, 'fake' => false, 'store_in' => 'extras', 'attributes' => []]; } @@ -225,4 +228,9 @@ class Field implements \ArrayAccess { return $value; } + + public function filterColumn($value) + { + return $value; + } } diff --git a/src/app/Magic/Fields/SiteVariant.php b/src/app/Magic/Fields/SiteVariant.php index d624633..ebb08b6 100644 --- a/src/app/Magic/Fields/SiteVariant.php +++ b/src/app/Magic/Fields/SiteVariant.php @@ -19,6 +19,8 @@ class SiteVariant extends SelectFromArray $attributes['options'] = ['default' => 'default']; $attributes['default'] = 'default'; } else { + $attributes['column'] = true; + $attributes['column_move_after'] = 'id'; $attributes['options'] = array_combine($variants, $variants); $attributes['default'] = array_values($attributes['options']); } diff --git a/src/app/Magic/Models/CMSPage.php b/src/app/Magic/Models/CMSPage.php index 75038fd..532e209 100644 --- a/src/app/Magic/Models/CMSPage.php +++ b/src/app/Magic/Models/CMSPage.php @@ -49,7 +49,7 @@ class CMSPage extends CubistMagicNestedModel 'label' => trans('Page name'), 'type' => 'Text', 'column' => true, - 'column_move_after'=>'id', + 'column_move_after' => 'id', 'translatable' => false, 'hint' => trans('for admin use'), 'tab' => 'Informations principales', diff --git a/src/resources/views/columns/select_from_array.blade.php b/src/resources/views/columns/select_from_array.blade.php index a722fea..63070b1 100644 --- a/src/resources/views/columns/select_from_array.blade.php +++ b/src/resources/views/columns/select_from_array.blade.php @@ -13,15 +13,11 @@ $array_of_values[] = $column['options'][$value]; } - if (count($array_of_values) > 1) { - echo implode(', ', $array_of_values); - } else { - echo $array_of_values; - } + echo implode(', ', $array_of_values); } else { if (isset($column['options'][$values])) { echo $column['options'][$values]; - }else{ + } else { echo '-'; } } -- 2.39.5