From 744c733a19928a1a64953314945d4d4e7beb64b7 Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Thu, 27 Jun 2019 17:20:41 +0200 Subject: [PATCH] #2843 --- src/app/CubistCrudPanel.php | 11 +- src/app/Magic/Fields/Button.php | 3 +- src/app/PageManager/Models/Page.php | 12 - src/public/bunchmultiple/bunchmultiple.js | 2 + src/resources/views/fields/button.blade.php | 70 ++-- .../views/fields/dropzone_media.blade.php | 345 ++++++++++-------- 6 files changed, 241 insertions(+), 202 deletions(-) delete mode 100644 src/app/PageManager/Models/Page.php diff --git a/src/app/CubistCrudPanel.php b/src/app/CubistCrudPanel.php index 0ebcc2e..e4d1001 100644 --- a/src/app/CubistCrudPanel.php +++ b/src/app/CubistCrudPanel.php @@ -14,7 +14,7 @@ use Cubist\Backpack\app\Magic\Models\CubistMagicModel; */ class CubistCrudPanel extends CrudPanel { - + protected $_seenFieldTypes = []; public function hasField($name) { @@ -40,4 +40,13 @@ class CubistCrudPanel extends CrudPanel $this->entry = null; return $this->getEntry($this->getCurrentEntryId()); } + + public function checkIfFieldIsFirstOfItsType($field) + { + if (isset($this->_seenFieldTypes[$field['type']])) { + return false; + } + $this->_seenFieldTypes[$field['type']] = true; + return true; + } } diff --git a/src/app/Magic/Fields/Button.php b/src/app/Magic/Fields/Button.php index 7dd580e..84e3a2f 100644 --- a/src/app/Magic/Fields/Button.php +++ b/src/app/Magic/Fields/Button.php @@ -4,11 +4,12 @@ namespace Cubist\Backpack\app\Magic\Fields; +use Cubist\Backpack\app\Magic\Models\CMSPage; use Cubist\Backpack\CubistBackpackServiceProvider; class Button extends Field { - protected $_pageModel = '\Backpack\PageManager\app\Models\Page'; + protected $_pageModel = CMSPage::class; protected $_adminType = 'button'; protected $_viewNamespace = CubistBackpackServiceProvider::NAMESPACE . '::fields'; protected $_cast = 'array'; diff --git a/src/app/PageManager/Models/Page.php b/src/app/PageManager/Models/Page.php deleted file mode 100644 index 1698368..0000000 --- a/src/app/PageManager/Models/Page.php +++ /dev/null @@ -1,12 +0,0 @@ - trans('backpack::crud.page_link'), 'internal_link' => trans('backpack::crud.internal_link'), 'external_link' => trans('backpack::crud.external_link')]; +$link_types = ['none' => 'Désactiver', 'page_link' => trans('backpack::crud.page_link'), 'internal_link' => trans('backpack::crud.internal_link'), 'external_link' => trans('backpack::crud.external_link')]; $field['allows_null'] = false; $page_model = $field['page_model']; $active_pages = $page_model::all(); -$empty = ['label' => '', 'type' => array_key_first($link_types), 'link' => '', 'external_link' => '', 'page_id' => '']; +$empty = ['label' => '', 'type' => 'page_link', 'link' => '', 'external_link' => '', 'page_id' => '']; $value = old(square_brackets_to_dots($field['name'])) ?? $field['value'] ?? $field['default'] ?? []; if ($value == '') { $value = []; } if (is_string($value)) { - $value = json_decode($value,true); + $value = json_decode($value, true); } $value = array_merge($empty, $value); @@ -23,14 +23,14 @@ $value = array_merge($empty, $value); @include('crud::inc.field_translatable_icon')
-
+


-
+