From 6f42b4aafc4360578b3548ff76b5e590d9d428fe Mon Sep 17 00:00:00 2001 From: jf-cbd Date: Wed, 5 Jun 2024 10:26:26 +0200 Subject: [PATCH] Fix selectize bug when multiple selectize fields exist on the same page --- templates/base/components/input/set/layout.ready.js.twig | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/templates/base/components/input/set/layout.ready.js.twig b/templates/base/components/input/set/layout.ready.js.twig index 8cbaa8e41..e7233f2b0 100644 --- a/templates/base/components/input/set/layout.ready.js.twig +++ b/templates/base/components/input/set/layout.ready.js.twig @@ -4,7 +4,6 @@ {# SET WIDGET #} {% set oDataProvider = oUIBlock.GetDataProvider() %} -let optionsBeforeFilter; let oWidget{{ oUIBlock.GetId() }} = $('#{{ oUIBlock.GetId() }}').selectize({ {# Global options #} @@ -118,7 +117,7 @@ let oWidget{{ oUIBlock.GetId() }} = $('#{{ oUIBlock.GetId() }}').selectize({ // Filter old options data to keep selected values // (options with force flag will be kept event if they doesn't be part of the current value) let options = Object.values(me.options); - optionsBeforeFilter = options; + me.optionsBeforeFilter = options; options = options.filter(item => (typeof(item.force) !== "undefined" && item.force === true) || aSelectedItems.includes(item['{{ oDataProvider.GetDataValueField() }}'])); // Merge kept and new values options = $.merge(options, res.data.search_data); @@ -239,7 +238,7 @@ let oWidget{{ oUIBlock.GetId() }} = $('#{{ oUIBlock.GetId() }}').selectize({ onBlur: function(){ this.clearOptionGroups() - this.addOption(optionsBeforeFilter) + this.addOption(this.optionsBeforeFilter) }, {# plugin combodo_add_button #}