summaryrefslogtreecommitdiffstats
path: root/modules-available/permissionmanager/clientscript.js
diff options
context:
space:
mode:
authorUdo Walter2017-04-25 14:50:37 +0200
committerUdo Walter2017-04-25 14:50:37 +0200
commit3e4c27599f920e6f630f048f494f5d196fc81b8e (patch)
tree77c61e2867f26fbbfe928266d433652a3248053e /modules-available/permissionmanager/clientscript.js
parentMerge branches 'master' and 'permission-manager' of git.openslx.org:openslx-n... (diff)
downloadslx-admin-3e4c27599f920e6f630f048f494f5d196fc81b8e.tar.gz
slx-admin-3e4c27599f920e6f630f048f494f5d196fc81b8e.tar.xz
slx-admin-3e4c27599f920e6f630f048f494f5d196fc81b8e.zip
[permissionmanager] added possibility to get a list of allowed locations for a given permission + bugfixes
Diffstat (limited to 'modules-available/permissionmanager/clientscript.js')
-rw-r--r--modules-available/permissionmanager/clientscript.js95
1 files changed, 50 insertions, 45 deletions
diff --git a/modules-available/permissionmanager/clientscript.js b/modules-available/permissionmanager/clientscript.js
index edbd3eb9..927d2afa 100644
--- a/modules-available/permissionmanager/clientscript.js
+++ b/modules-available/permissionmanager/clientscript.js
@@ -1,54 +1,59 @@
document.addEventListener("DOMContentLoaded", function() {
- var table = $("table").stupidtable();
-
- // to show the sort-arrow next to the table header
- table.on("aftertablesort", function (event, data) {
- var th = $(this).find("th");
- th.find(".arrow").remove();
- var dir = $.fn.stupidtable.dir;
- var arrow = data.direction === dir.ASC ? "down" : "up";
- th.eq(data.column).append(' <span class="arrow glyphicon glyphicon-chevron-'+arrow+'"></span>');
- });
+ var table = $("table");
+ if (table.length) {
+ table = table.stupidtable();
+ // to show the sort-arrow next to the table header
+ table.on("aftertablesort", function (event, data) {
+ var th = $(this).find("th");
+ th.find(".arrow").remove();
+ var dir = $.fn.stupidtable.dir;
+ 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;
+ var selectize = $('#select-role');
+ if (selectize.length) {
+ selectize = selectize.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();
+ // 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_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();
- }
- });
- }
- });
+ 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();