diff options
author | Lukas Reschke <lukas@owncloud.com> | 2014-09-19 16:50:56 +0200 |
---|---|---|
committer | Lukas Reschke <lukas@owncloud.com> | 2014-09-19 16:50:56 +0200 |
commit | fed81001770236d02c6990ffebc6d9fdd980b5b9 (patch) | |
tree | b58f92fc318bc87c69dfbbafbcdacf9944217d3a /settings/js/apps.js | |
parent | fb033cce980ba58b64eed0cd0882c31021f43df0 (diff) | |
parent | 71776e307f16a43d806ee0fe3142ed1a1c0d7d6f (diff) | |
download | nextcloud-server-fed81001770236d02c6990ffebc6d9fdd980b5b9.tar.gz nextcloud-server-fed81001770236d02c6990ffebc6d9fdd980b5b9.zip |
Merge pull request #10968 from owncloud/admin-groupsselect2
Use select2 for the groups excluded from sharing in admin page
Diffstat (limited to 'settings/js/apps.js')
-rw-r--r-- | settings/js/apps.js | 35 |
1 files changed, 17 insertions, 18 deletions
diff --git a/settings/js/apps.js b/settings/js/apps.js index e808e51e936..22bac1eaf3e 100644 --- a/settings/js/apps.js +++ b/settings/js/apps.js @@ -7,6 +7,11 @@ OC.Settings = OC.Settings || {}; OC.Settings.Apps = OC.Settings.Apps || { + setupGroupsSelect: function() { + OC.Settings.setupGroupsSelect($('#group_select'), { + placeholder: t('core', 'All') + }); + }, loadApp:function(app) { var page = $('#app-content'); page.find('p.license').show(); @@ -112,23 +117,16 @@ OC.Settings.Apps = OC.Settings.Apps || { page.find(".warning").hide(); } - page.find("div.multiselect").parent().remove(); if(OC.Settings.Apps.isType(app, 'filesystem') || OC.Settings.Apps.isType(app, 'prelogin') || OC.Settings.Apps.isType(app, 'authentication') || OC.Settings.Apps.isType(app, 'logging')) { page.find("#groups_enable").hide(); page.find("label[for='groups_enable']").hide(); page.find("#groups_enable").attr('checked', null); } else { - $('#group_select > option').each(function (i, el) { - if (app.groups.length === 0 || app.groups.indexOf(el.value) >= 0) { - $(el).attr('selected', 'selected'); - } else { - $(el).attr('selected', null); - } - }); if (app.active) { if (app.groups.length) { - $('#group_select').multiSelect(); + OC.Settings.Apps.setupGroupsSelect(); + $('#group_select').select2('val', app.groups || []); page.find("#groups_enable").attr('checked','checked'); } else { page.find("#groups_enable").attr('checked', null); @@ -380,9 +378,10 @@ $(document).ready(function(){ } }); - $('#group_select').change(function() { + $('#group_select').change(function(ev) { var element = $('#app-content input.enable'); - var groups = $(this).val(); + // getting an array of values from select2 + var groups = ev.val || []; var appid = element.data('appid'); if (appid) { OC.Settings.Apps.enableApp(appid, false, element, groups); @@ -404,14 +403,14 @@ $(document).ready(function(){ } $("#groups_enable").change(function() { + var $select = $('#group_select'); + $select.val(''); if (this.checked) { - $("div.multiselect").parent().remove(); - $('#group_select').multiSelect(); - } else { - $('#group_select').hide().val(null); - $("div.multiselect").parent().remove(); + OC.Settings.Apps.setupGroupsSelect(); } - - $('#group_select').change(); + else { + $select.select2('destroy'); + } + $select.change(); }); }); |