]> _ Git - cubist_cms-back.git/commitdiff
#2810
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 7 Jun 2019 19:23:12 +0000 (21:23 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 7 Jun 2019 19:23:12 +0000 (21:23 +0200)
src/CubistBackpackServiceProvider.php
src/app/Magic/Controllers/CubistMagicControllerTrait.php
src/resources/lang/en/templates.php
src/resources/views/create.blade.php [new file with mode: 0644]
src/resources/views/edit.blade.php [new file with mode: 0644]
src/resources/views/when.blade.php [new file with mode: 0644]

index 173d52069d5769f490a3be6e8f2f5dddaee8500e..5bd800b761a54c619dffe71a63df9c39b1830596 100644 (file)
@@ -30,6 +30,7 @@ class CubistBackpackServiceProvider extends ServiceProvider
             $this->loadRoutesFrom($filename);
         }
         $this->loadViewsFrom(realpath(__DIR__ . '/resources/views'), self::NAMESPACE);
+
     }
 
 
index b58b33ebfd88fa5a9638dd1b0dde46ae8c159262..3b511f4b059dcb1802e76cd52daad65a580bb379 100644 (file)
@@ -17,10 +17,14 @@ trait CubistMagicControllerTrait
         if (!$this->_plural) {
             $this->_plural = $this->_singular . 's';
         }
+
         if ($this->_clonable) {
             $this->crud->allowAccess('clone');
         }
         $this->crud->allowAccess('revisions');
+
+        $this->crud->setCreateView('cubist_back::create');
+        $this->crud->setEditView('cubist_back::edit');
 //        $this->crud->with('revisionHistory');
 
 
index 5a8c78e603f6260fd6fe39759e777a77211f8099..6ad6f5d88f7aba3a331a251da8732fe857f0fda4 100644 (file)
@@ -16,6 +16,8 @@ return [
     'template_plural' => 'templates',
     'parent' => 'Parent',
     'field_singular' => 'Field',
-    'field_plural' => 'Fields'
+    'field_plural' => 'Fields',
+    'first_value' => 'First value',
+    'second_value' => 'Second value'
 
 ];
diff --git a/src/resources/views/create.blade.php b/src/resources/views/create.blade.php
new file mode 100644 (file)
index 0000000..88ca3c7
--- /dev/null
@@ -0,0 +1,2 @@
+@include('cubist_back::when')
+@include('crud::create')
diff --git a/src/resources/views/edit.blade.php b/src/resources/views/edit.blade.php
new file mode 100644 (file)
index 0000000..1855b0b
--- /dev/null
@@ -0,0 +1,2 @@
+@include('cubist_back::when')
+@include('crud::edit')
diff --git a/src/resources/views/when.blade.php b/src/resources/views/when.blade.php
new file mode 100644 (file)
index 0000000..3ae6a78
--- /dev/null
@@ -0,0 +1,56 @@
+@push('crud_fields_scripts')
+    <script type="text/javascript">
+        jQuery('document').ready(function ($) {
+            var triggersWhenChange = function (f) {
+                var form;
+                if (f === undefined) {
+                    form = $('section.content form[method="post"]');
+                } else {
+                    form = $(f).closest('form');
+                }
+
+                $(form).find('[data-when]').removeClass('when-visible').each(function () {
+                    var conditions = $(this).data('when');
+                    var match = true;
+                    $.each(conditions, function (k, v) {
+                        var val = $(form).find('[name="' + k + '"]').val();
+                        var valnum = parseFloat(val);
+                        if (!isNumber(valnum)) {
+                            valnum = val;
+                        }
+                        if (v.indexOf(val) === -1 && v.indexOf(valnum) === -1) {
+                            match = false;
+                            return false;
+                        }
+                    });
+
+                    if (match) {
+                        $(this).addClass('when-visible');
+                    }
+                });
+            };
+
+            function isNumber(n) {
+                return typeof n === 'number' && !isNaN(n);
+            }
+
+            $(document).on('change', 'input,select,textarea', function () {
+                triggersWhenChange($(this));
+            });
+            triggersWhenChange();
+        });
+
+    </script>
+@endpush
+
+@push('crud_fields_styles')
+    <style type="text/css">
+        [data-when] {
+            display: none;
+        }
+
+        .when-visible[data-when] {
+            display: block;
+        }
+    </style>
+@endpush