]> _ Git - cubist_cms-back.git/commitdiff
wip #6937 @1
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Mon, 27 May 2024 15:04:40 +0000 (17:04 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Mon, 27 May 2024 15:04:40 +0000 (17:04 +0200)
src/app/Magic/Fields/Field.php
src/app/Magic/Fields/HiddenVisible.php [new file with mode: 0644]
src/public/bunchmultiple/bunchmultiple.js
src/resources/views/fields/hidden_visible.blade.php [new file with mode: 0644]
src/resources/views/when.blade.php

index 9c5bfd79fa998d37d5e5a5a02336f2b490d94b9a..4b1bb486de7a6c9bc71f34e17ff95cd8aec393aa 100644 (file)
@@ -431,6 +431,13 @@ class Field implements \ArrayAccess
             if (is_scalar($w)) {
                 $w = ['values' => [$w], 'operator' => $defaultOperator];
             } else {
+                if (isset($w['value'])) {
+                    $w['values'] = $w['value'];
+                    unset($w['value']);
+                }
+                if (is_scalar($w['values'])) {
+                    $w['values'] = [$w['values']];
+                }
                 if (isset($w['values'])) {
                     if (!isset($w['operator'])) {
                         $w['operator'] = $defaultOperator;
diff --git a/src/app/Magic/Fields/HiddenVisible.php b/src/app/Magic/Fields/HiddenVisible.php
new file mode 100644 (file)
index 0000000..c79d420
--- /dev/null
@@ -0,0 +1,9 @@
+<?php
+
+namespace Cubist\Backpack\Magic\Fields;
+
+class HiddenVisible extends Hidden
+{
+    protected $_adminType = 'hidden_visible';
+    protected $_preview = true;
+}
index 4e3a97020afb6f755e67168c00c5e1a7173aa776..5f77f2d773471007288ee4f23614761b7b178a18 100644 (file)
                 input.val(v);
             } else if (input) {
                 input.val(v);
+                if ($(input).next('.hidden-visible-value').length > 0) {
+                    $(input).next('.hidden-visible-value').text(v);
+                }
             }
         },
     };
diff --git a/src/resources/views/fields/hidden_visible.blade.php b/src/resources/views/fields/hidden_visible.blade.php
new file mode 100644 (file)
index 0000000..e375a13
--- /dev/null
@@ -0,0 +1,26 @@
+@php
+$v=old(square_brackets_to_dots($field['name'])) ?? $field['value'] ?? $field['default'] ?? '';
+@endphp
+<!-- hidden_visible input -->
+@include('crud::fields.inc.wrapper_start')
+    <label>{!! $field['label'] !!}</label>
+    @include('crud::fields.inc.translatable_icon')
+
+    @if(isset($field['prefix']) || isset($field['suffix'])) <div class="input-group"> @endif
+        @if(isset($field['prefix'])) <div class="input-group-prepend"><span class="input-group-text">{!! $field['prefix'] !!}</span></div> @endif
+
+        <input
+            type="hidden"
+            name="{{ $field['name'] }}"
+            value="{{$v}}"
+            @include('crud::fields.inc.attributes')
+        >
+        <div class="hidden-visible-value"></div>
+        @if(isset($field['suffix'])) <div class="input-group-append"><span class="input-group-text">{!! $field['suffix'] !!}</span></div> @endif
+        @if(isset($field['prefix']) || isset($field['suffix'])) </div> @endif
+
+    {{-- HINT --}}
+    @if (isset($field['hint']))
+        <p class="help-block">{!! $field['hint'] !!}</p>
+    @endif
+</div>
index a4d2449957dd7149c199ed1c406cbdda0c86cd93..66e3002ef2579c9744da18900484cbcbf9939602 100644 (file)
@@ -27,6 +27,7 @@
                     var element = $(this);
                     if ($(this).data('when-normalized') === undefined) {
                         $(this).data('when-normalized', normalizeWhen($(this).data('when')));
+                        console.log(normalizeWhen($(this).data('when')));
                     }
                     var when = $(this).data('when-normalized');
 
@@ -82,6 +83,9 @@
 
             function checkCondition(condition, operator, val) {
                 try {
+                    if(val==='/index.html') {
+                        console.log(condition, operator, val);
+                    }
                     if (condition.id === undefined) {
                         condition.id = '';
                     }
@@ -94,7 +98,7 @@
                     if (operator === '=') {
                         return condition.id == val;
                     }
-                    if (operator === '!=' || operator === '!') {
+                    if (operator === '!=' || operator === 'not' || operator === '!') {
                         return condition.id != val;
                     }
                 } catch (e) {