From fd983a2b68ac5f3aa8a54fa7df5f2155430772bc Mon Sep 17 00:00:00 2001 From: Th3M3 Date: Sun, 15 Mar 2020 21:43:16 +0100 Subject: [PATCH] improve multiselect Signed-off-by: Th3M3 --- scripts/pi-hole/js/groups-adlists.js | 97 +- scripts/pi-hole/js/groups-clients.js | 100 +- scripts/pi-hole/js/groups-common.js | 21 +- scripts/pi-hole/js/groups-domains.js | 100 +- scripts/pi-hole/php/header.php | 4 +- style/pi-hole.css | 5 + .../bootstrap/css/bootstrap-multiselect.css | 1 - .../bootstrap/css/bootstrap-select.min.css | 6 + .../bootstrap/js/bootstrap-multiselect.js | 1716 ----------------- .../bootstrap/js/bootstrap-select.min.js | 9 + 10 files changed, 218 insertions(+), 1841 deletions(-) delete mode 100644 style/vendor/bootstrap/css/bootstrap-multiselect.css create mode 100644 style/vendor/bootstrap/css/bootstrap-select.min.css delete mode 100644 style/vendor/bootstrap/js/bootstrap-multiselect.js create mode 100644 style/vendor/bootstrap/js/bootstrap-select.min.js diff --git a/scripts/pi-hole/js/groups-adlists.js b/scripts/pi-hole/js/groups-adlists.js index 92dcc2b6..7415b552 100644 --- a/scripts/pi-hole/js/groups-adlists.js +++ b/scripts/pi-hole/js/groups-adlists.js @@ -26,6 +26,7 @@ function get_groups() { $(document).ready(function() { $("#btnAdd").on("click", addAdlist); + utils.bsSelect_defaults(); get_groups(); }); @@ -47,6 +48,8 @@ function initTable() { ], drawCallback: function() { $('button[id^="deleteAdlist_"]').on("click", deleteAdlist); + // Remove visible dropdown to prevent orphaning + $("body > .bootstrap-select.dropdown").remove(); }, rowCallback: function(row, data) { $(row).attr("data-id", data.id); @@ -88,61 +91,74 @@ function initTable() { $("td:eq(3)", row).empty(); $("td:eq(3)", row).append( - '
' + - '
' + '' ); var selectEl = $("#multiselect_" + data.id, row); // Add all known groups for (var i = 0; i < groups.length; i++) { - var extra = ""; + var data_sub = ""; if (!groups[i].enabled) { - extra = " (disabled)"; + data_sub = 'data-subtext="(disabled)"'; } selectEl.append( - $("