From 094fbb64a8a373a723d5497746616a080d981e7c Mon Sep 17 00:00:00 2001 From: Christian Hofmaier Date: Fri, 7 Apr 2017 16:00:50 +0200 Subject: [permission-manager] filter for roles in user and location table, changed structure of role-spans in both tables --- .../permissionmanager/templates/userstable.html | 119 +++++++++++++++------ 1 file changed, 88 insertions(+), 31 deletions(-) (limited to 'modules-available/permissionmanager/templates/userstable.html') diff --git a/modules-available/permissionmanager/templates/userstable.html b/modules-available/permissionmanager/templates/userstable.html index 3db1ebdb..e15228d5 100644 --- a/modules-available/permissionmanager/templates/userstable.html +++ b/modules-available/permissionmanager/templates/userstable.html @@ -1,27 +1,40 @@ -
+ - - + +
+
+ + +
+
+ +
+
- - - - - + + + + + {{#user}} - - + +
{{lang_Users}}{{lang_Roles}}{{lang_Selected}}
{{lang_Users}}{{lang_Roles}}{{lang_Selected}}
{{name}}
{{username}} - {{#role}} - {{.}} - {{/role}} + {{#roles}} + {{roleName}} + {{/roles}}
@@ -49,25 +62,25 @@
- - - - + + + + - - {{#roles}} - - - - - {{/roles}} - + + {{#roles}} + + + + + {{/roles}} +
{{lang_Roles}}{{lang_Selected}}
{{lang_Roles}}{{lang_Selected}}
{{roleName}} -
- - -
-
{{roleName}} +
+ + +
+
@@ -138,6 +151,51 @@ }); + var selectize = $('#select-role').selectize({ + allowEmptyOption: false, + maxItems: null, + highlight: false, + hideSelected: true, + create: false, + placeholder: "{{lang_selectizePlaceholder}}", + 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) { + $('#locationsTable').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) { + $('#locationsTable').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(); + } + }); + } + }); + + $("form input").keydown(function(e) { + if (e.keyCode === 13) e.preventDefault(); + }); + }); @@ -156,5 +214,4 @@ .prop("checked", "") .end(); } - \ No newline at end of file -- cgit v1.2.3-55-g7522