From d9b0e0535e5b584dec4e88cebf0ac41c9384e95e Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Fri, 13 Oct 2023 17:42:48 +0200 Subject: [PATCH] wip #6398 @1.5 --- src/public/bunchmultiple/bunchmultiple.css | 5 ++ .../bunchmultiple/bunchmultiple.css.map | 2 +- src/public/bunchmultiple/bunchmultiple.js | 13 ++- src/public/bunchmultiple/bunchmultiple.less | 6 ++ .../views/fields/bunch_multiple.blade.php | 82 ++++++++++--------- .../fields/bunch_oneline_multiple.blade.php | 13 ++- 6 files changed, 74 insertions(+), 47 deletions(-) diff --git a/src/public/bunchmultiple/bunchmultiple.css b/src/public/bunchmultiple/bunchmultiple.css index 32584a8..d0a780b 100644 --- a/src/public/bunchmultiple/bunchmultiple.css +++ b/src/public/bunchmultiple/bunchmultiple.css @@ -129,6 +129,11 @@ cursor: move; } .bunchmultiple .bunchmultiple__wrapper .item .legend a.action.edit { + position: absolute; + right: 80px; + cursor: pointer; +} +.bunchmultiple .bunchmultiple__wrapper .item .legend a.action.duplicate { position: absolute; right: 50px; cursor: pointer; diff --git a/src/public/bunchmultiple/bunchmultiple.css.map b/src/public/bunchmultiple/bunchmultiple.css.map index afcf574..7e82257 100644 --- a/src/public/bunchmultiple/bunchmultiple.css.map +++ b/src/public/bunchmultiple/bunchmultiple.css.map @@ -1 +1 @@ -{"version":3,"sources":["bunchmultiple.less"],"names":[],"mappings":"AAAA;EACI,cAAA;;AAEA,cAAC,sBACG,wBACI,MACI,QACI,EAAC;EACG,kBAAA;EACA,SAAA;;AAEA,cARnB,sBACG,wBACI,MACI,QACI,EAAC,OAII;EACG,QAAA;EACA,mBAAA;;AAVxB,cAAC,sBACG,wBAeI;EAKI,qBAAA;EACA,mBAAA;;AAtBZ,cAAC,sBACG,wBAeI,YACI;EACI,aAAA;;AAlBhB,cAAC,sBACG,wBAeI,YAQI;EAEI,qBAAA;EACA,mBAAA;EACA,gBAAA;EACA,eAAA;EACA,kBAAA;EACA,SAAA;;AA/BhB,cAAC,sBACG,wBAeI,YAkBI,MAAK;EACD,YAAA;;AAShB,cAAC,uBACG,wBACI,MACI,QACI,EAAC;EACG,kBAAA;EACA,SAAA;;AAEA,cARnB,uBACG,wBACI,MACI,QACI,EAAC,OAII;EACG,QAAA;EACA,mBAAA;;AAVxB,cAAC,uBACG,wBAeI;EAKI,qBAAA;EACA,mBAAA;;AAtBZ,cAAC,uBACG,wBAeI,YACI;EACI,aAAA;;AAlBhB,cAAC,uBACG,wBAeI,YAQI;EACI,UAAA;EACA,qBAAA;EACA,mBAAA;EACA,gBAAA;EACA,eAAA;EACA,kBAAA;EACA,SAAA;;AA/BhB,cAAC,uBACG,wBAeI,YAkBI,MAAK;EACD,YAAA;;AAQhB,cAAC;EACG,WAAA;;AA3FR,cA8FI;EACI,aAAA;EACA,sBAAA;EACA,mBAAA;EACA,mBAAA;;AAEA,cANJ,wBAMK;EACG,aAAA;;AAGJ,cAVJ,wBAUK;EACG,UAAA;EACA,SAAA;EACA,gBAAA;EACA,gBAAA;;AA5GZ,cA8FI,wBAkBI;EACI,UAAA;;AAjHZ,cA8FI,wBAkBI,cAGI;EACI,gBAAA;EACA,mBAAA;;AArHhB,cA8FI,wBA2BI;EACI,mBAAA;;AAEA,cA9BR,wBA2BI,MAGK;EACG,uBAAA;EACA,sBAAA;;AAFJ,cA9BR,wBA2BI,MAGK,MAIG;EACI,UAAA;;AALR,cA9BR,wBA2BI,MAGK,MAQG;EACI,UAAA;;AArIpB,cA8FI,wBA2BI,MAgBI;EACI,yBAAA;EACA,iBAAA;EACA,gBAAA;EACA,kBAAA;EACA,eAAA;;AA9IhB,cA8FI,wBA2BI,MAgBI,QAOI;EACI,qBAAA;EACA,gBAAA;EACA,yBAAA;EACA,mBAAA;EACA,uBAAA;EACA,kBAAA;EACA,UAAA;EACA,SAAA;;AAxJpB,cA8FI,wBA2BI,MAgBI,QAOI,OAUI;EACI,iBAAA;EACA,qBAAA;EACA,qBAAA;;AA7JxB,cA8FI,wBA2BI,MAgBI,QAOI,OAUI,MAKI;AA/JxB,cA8FI,wBA2BI,MAgBI,QAOI,OAUI,MAKS;EACD,WAAA;EACA,YAAA;;AAjK5B,cA8FI,wBA2BI,MAgBI,QA6BI,EAAC;EACG,WAAA;EACA,gBAAA;EACA,qBAAA;;AAEA,cA7EhB,wBA2BI,MAgBI,QA6BI,EAAC,OAKI;EACG,mBAAA;EACA,YAAA;;AAGJ,cAlFhB,wBA2BI,MAgBI,QA6BI,EAAC,OAUI;EACG,kBAAA;EACA,WAAA;EACA,eAAA;;AAGJ,cAxFhB,wBA2BI,MAgBI,QA6BI,EAAC,OAgBI;EACG,kBAAA;EACA,WAAA;EACA,eAAA;;AAzLxB,cA8FI,wBA2BI,MAsEI;EACI,gBAAA;EACA,iEAAA;EACA,yBAAA;EACA,eAAA;;AAGJ,cAxGR,wBA2BI,MA6EK;EACG,aAAA;;AAGJ,cA5GR,wBA2BI,MAiFK,UACG;EACI,oBAAA;EACA,UAAA","file":"bunchmultiple.css"} \ No newline at end of file +{"version":3,"sources":["bunchmultiple.less"],"names":[],"mappings":"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","file":"bunchmultiple.css"} \ No newline at end of file diff --git a/src/public/bunchmultiple/bunchmultiple.js b/src/public/bunchmultiple/bunchmultiple.js index 558a524..8c97c7a 100644 --- a/src/public/bunchmultiple/bunchmultiple.js +++ b/src/public/bunchmultiple/bunchmultiple.js @@ -47,6 +47,11 @@ return false; }); + this.element.on('click', '.duplicate' + this.bmidselector, function () { + $this.duplicateItem($(this).closest('.item')); + return false; + }); + this.element.on('click', '.legend' + this.bmidselector, function () { if ($(this).closest('.bunchmultiple_oneline').length > 0) { return true; @@ -204,7 +209,6 @@ removeItem: function (item) { $(item).remove(); if (this.element.hasClass('showEmpty') && this.element.find('.item' + this.bmidselector + ':not(.sample)').length === 0) { - console.log('init item after remove'); this.initItem(); } @@ -215,6 +219,13 @@ this.updateAndChange(); }, + duplicateItem: function (item) { + let copy = $(item).clone(); + console.log(copy); + $(copy).insertAfter(item); + this.updateAndChange(); + }, + empty: function (update) { $(this.element).find('.item:not(.sample)').remove(); if (update !== false) { diff --git a/src/public/bunchmultiple/bunchmultiple.less b/src/public/bunchmultiple/bunchmultiple.less index 21ae118..106e314 100644 --- a/src/public/bunchmultiple/bunchmultiple.less +++ b/src/public/bunchmultiple/bunchmultiple.less @@ -175,6 +175,12 @@ } &.edit { + position: absolute; + right: 80px; + cursor: pointer; + } + + &.duplicate { position: absolute; right: 50px; cursor: pointer; diff --git a/src/resources/views/fields/bunch_multiple.blade.php b/src/resources/views/fields/bunch_multiple.blade.php index 8bb9cac..ecfdb30 100644 --- a/src/resources/views/fields/bunch_multiple.blade.php +++ b/src/resources/views/fields/bunch_multiple.blade.php @@ -1,56 +1,62 @@ @php -$empty = []; -$value = old(square_brackets_to_dots($field['name'])) ?? $field['value'] ?? $field['default'] ?? $empty; -if ($value == '') { - $value = $empty; -} + $empty = []; + $value = old(square_brackets_to_dots($field['name'])) ?? $field['value'] ?? $field['default'] ?? $empty; + if ($value == '') { + $value = $empty; + } -if (!is_string($value)) { - $value = json_encode($value); -} + if (!is_string($value)) { + $value = json_encode($value); + } @endphp -
- +
+
@include('crud::fields.inc.wrapper_start') - + @include('crud::fields.inc.translatable_icon') -
+
-
-
-
- - - - +
+
+ -
- @include('cubist_back::inc.show_bunch_fields', array('bunchfields'=>$field['bunchfields'],'bmid'=>$field['rand'])) -
+
+
+ @include('cubist_back::inc.show_bunch_fields', array('bunchfields'=>$field['bunchfields'],'bmid'=>$field['rand']))
+
-
- -
+
+ +
-
+
- {{-- HINT --}} - @if (isset($field['hint'])) -

{!! $field['hint'] !!}

- @endif + {{-- HINT --}} + @if (isset($field['hint'])) +

{!! $field['hint'] !!}

+ @endif @include('crud::fields.inc.wrapper_end')
diff --git a/src/resources/views/fields/bunch_oneline_multiple.blade.php b/src/resources/views/fields/bunch_oneline_multiple.blade.php index 1f265c1..679cd3d 100644 --- a/src/resources/views/fields/bunch_oneline_multiple.blade.php +++ b/src/resources/views/fields/bunch_oneline_multiple.blade.php @@ -35,16 +35,15 @@
- + + +
@include('cubist_back::inc.show_bunch_fields', array('bunchfields'=>$field['bunchfields'],'bmid'=>$field['rand'],'oneline'=>true))
- - + + +
-- 2.39.5