summaryrefslogtreecommitdiffstats
path: root/modules-available/permissionmanager/clientscript.js
diff options
context:
space:
mode:
Diffstat (limited to 'modules-available/permissionmanager/clientscript.js')
-rw-r--r--modules-available/permissionmanager/clientscript.js45
1 files changed, 13 insertions, 32 deletions
diff --git a/modules-available/permissionmanager/clientscript.js b/modules-available/permissionmanager/clientscript.js
index 4770fa6a..90d66688 100644
--- a/modules-available/permissionmanager/clientscript.js
+++ b/modules-available/permissionmanager/clientscript.js
@@ -10,36 +10,21 @@ document.addEventListener("DOMContentLoaded", function() {
plugins: ["remove_button"]
})[0].selectize;
- // If Site gets refreshed, all data-selectizeCounts will be reset to 0, so delete the filters from the selectize
- selectize.clear();
-
- selectize.on("item_add", function (value, $item) {
- // When first item gets added the filter isn't empty anymore, so hide all rows
- if (selectize.items.length === 1) {
- $(".dataTable tbody").find("tr").hide();
- }
- // Find all rows which shall be shown and increase their counter by 1
- $(".roleid-" + value).closest("tr").each(function () {
- $(this).data("selectizeCount", $(this).data("selectizeCount") + 1);
- $(this).show();
- });
- });
-
- selectize.on("item_remove", function (value, $item) {
- // When no items in the filter, show all rows again
- if (selectize.items.length === 0) {
- $(".dataTable tbody").find("tr").show();
+ var $body = $(".dataTable tbody");
+ var filterFunc = function(value) {
+ var selected = selectize.getValue();
+ if (!selected || !selected.length) {
+ $body.find("tr").show();
} else {
- // Find all rows which have the delete role, decrease their counter by 1
- $(".roleid-" + value).closest("tr").each(function () {
- $(this).data("selectizeCount", $(this).data("selectizeCount") - 1);
- // If counter is 0, hide the row (no filter given to show the row anymore)
- if ($(this).data("selectizeCount") === 0) {
- $(this).closest("tr").hide();
- }
- });
+ $body.find("tr").hide();
+ var str = 'tr.roleid-' + selected.join('.roleid-');
+ $body.find(str).show();
}
- });
+ };
+
+ selectize.on("item_add", filterFunc);
+
+ selectize.on("item_remove",filterFunc);
}
$("tr").on("click", function(e) {
@@ -47,8 +32,4 @@ document.addEventListener("DOMContentLoaded", function() {
$(this).find("input[type=checkbox]").trigger("click");
}
});
-
- $("form input").keydown(function(e) {
- if (e.keyCode === 13) e.preventDefault();
- });
}); \ No newline at end of file