summaryrefslogtreecommitdiffstats
path: root/modules-available/permissionmanager/clientscript.js
diff options
context:
space:
mode:
authorChristian Hofmaier2017-04-10 18:58:26 +0200
committerChristian Hofmaier2017-04-10 18:58:26 +0200
commitf017c089f5ea740f3e4e458ff976e987ad2426ee (patch)
tree7bff0cecfcdebf7af38d703e98cd65dfbad9c1ed /modules-available/permissionmanager/clientscript.js
parent[permission-manager] added permission check functionality + bugfixes (diff)
downloadslx-admin-f017c089f5ea740f3e4e458ff976e987ad2426ee.tar.gz
slx-admin-f017c089f5ea740f3e4e458ff976e987ad2426ee.tar.xz
slx-admin-f017c089f5ea740f3e4e458ff976e987ad2426ee.zip
[permission-manager] moved multiple code, added text-search to rolesTable
Diffstat (limited to 'modules-available/permissionmanager/clientscript.js')
-rw-r--r--modules-available/permissionmanager/clientscript.js44
1 files changed, 44 insertions, 0 deletions
diff --git a/modules-available/permissionmanager/clientscript.js b/modules-available/permissionmanager/clientscript.js
index da825984..edbd3eb9 100644
--- a/modules-available/permissionmanager/clientscript.js
+++ b/modules-available/permissionmanager/clientscript.js
@@ -9,4 +9,48 @@ document.addEventListener("DOMContentLoaded", function() {
var arrow = data.direction === dir.ASC ? "down" : "up";
th.eq(data.column).append(' <span class="arrow glyphicon glyphicon-chevron-'+arrow+'"></span>');
});
+
+ var selectize = $('#select-role').selectize({
+ allowEmptyOption: false,
+ maxItems: null,
+ highlight: false,
+ hideSelected: true,
+ create: false,
+ 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();
+ } 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();
+ });
}); \ No newline at end of file