Module: check_mk
Branch: master
Commit: 8c8917b84efdd5d3cd62ba06c97daae465f7a9fe
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=8c8917b84efdd5…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Tue Jan 8 11:12:58 2019 +0100
Fix new styled dropdowns for dropdowns added dynamically (e.g. with ListOf)
Initialize select2 only for the visible dropdowns and call the
initialization dynamically after adding the new dropdown in ListOf code
CMK-1504
Change-Id: I2509640158ac635a85e22a95023c4608cf21ddd0
---
web/htdocs/js/modules/forms.js | 10 ++++++++--
web/htdocs/js/modules/valuespecs.js | 2 ++
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/web/htdocs/js/modules/forms.js b/web/htdocs/js/modules/forms.js
index 29f65cb..a81ab30 100644
--- a/web/htdocs/js/modules/forms.js
+++ b/web/htdocs/js/modules/forms.js
@@ -29,8 +29,14 @@ import * as utils from "utils";
// html.dropdown() adds the .select2-enable class for all dropdowns
// that should use the select2 powered dropdowns
-export function enable_select2() {
- $(".select2-enable").select2({
+export function enable_select2(container=null) {
+ let elements;
+ if (container)
+ elements = $(container).find(".select2-enable:visible");
+ else
+ elements = $(".select2-enable:visible");
+
+ elements.select2({
dropdownAutoWidth : true,
minimumResultsForSearch: 5
});
diff --git a/web/htdocs/js/modules/valuespecs.js b/web/htdocs/js/modules/valuespecs.js
index 4f31d33..57d9318 100644
--- a/web/htdocs/js/modules/valuespecs.js
+++ b/web/htdocs/js/modules/valuespecs.js
@@ -25,6 +25,7 @@
import * as utils from "utils";
import * as popup_menu from "popup_menu";
import * as ajax from "ajax";
+import * as forms from "forms";
import * as colorpicker from "colorpicker";
//# +--------------------------------------------------------------------+
@@ -209,6 +210,7 @@ export function listof_add(varprefix, magic, style)
container.appendChild(new_child);
utils.execute_javascript_by_object(new_child);
+ forms.enable_select2(new_child);
listof_update_indices(varprefix);
}