]> _ Git - cubist_cms-back.git/commitdiff
#7822 @1
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 21 Nov 2025 19:01:42 +0000 (20:01 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 21 Nov 2025 19:01:42 +0000 (20:01 +0100)
src/public/bunchmultiple/bunchmultiple.js
src/resources/views/fields/bunch_multiple.blade.php

index 28221b4fed7b110a92dbec9bc8bb9510845041d5..6ea14ec9d660597697b14c0fc9877ffbc82dae13 100644 (file)
             $(hidden).val(jsonval);
         },
 
+        // https://stackoverflow.com/a/55292366
+        trimAny: function (str, chars) {
+            var start = 0, end = str.length;
+            while (start < end && chars.indexOf(str[start]) >= 0) ++start;
+            while (end > start && chars.indexOf(str[end - 1]) >= 0) --end;
+            return (start > 0 || end < str.length) ? str.substring(start, end) : str;
+        },
+
         updateLegends: function () {
+            let $this = this;
             const sizeLimit = 60;
             $('[data-legend]' + this.bmidselector).each(function () {
                 var item = $(this).closest('.item');
                     // Select2 fields
                     if ($(input).closest('.form-group').find('.select2-selection__rendered').length > 0) {
                         res = $(input).closest('.form-group').find('.select2-selection__rendered').text();
+                    } else if ($(input).is('select[data-options]')) {
+                        if ($(input).data('options')[res] !== undefined) {
+                            res = $(input).data('options')[res];
+                        }
                     }
+
                     if (res.length > sizeLimit && res.indexOf('<svg') === -1) {
                         res = res.substring(0, sizeLimit) + '...';
                     }
                     return res;
                 });
+                if ($(this).attr('data-legend-trim')) {
+                    txt = $this.trimAny(txt, $(this).attr('data-legend-trim').split(''));
+                }
                 $(this).html(txt);
             });
         },
index 602e53c08d5ed7c76eb434ef33054d2e798a6ad6..f6a066a0b4da0642e83e4b612a3f122a73bec869 100644 (file)
@@ -32,7 +32,7 @@
                             <i class="la la-sort" role="presentation" aria-hidden="true"></i>
                         </a>
                     @endif
-                    <span class="legendsize" data-legend="{{$field['edit_label']}}"
+                    <span class="legendsize" data-legend-trim="{{$field['edit_label_trim']??''}}" data-legend="{{$field['edit_label']}}"
                           data-bmid="{!! $field['rand'] !!}"></span>
                     <a href="#" class="action edit" data-bmid="{!! $field['rand'] !!}">
                         <i class="la la-pencil" role="presentation" aria-hidden="true"></i>