From 4de14fe6da1dacea9c44396927564ab990105df2 Mon Sep 17 00:00:00 2001 From: ringmaster Date: Thu, 8 May 2014 17:38:29 -0400 Subject: [PATCH] Javascript cleanup for groups. --- settings/js/users/groups.js | 275 ++++++++++---------- settings/templates/users/part.grouplist.php | 14 +- 2 files changed, 148 insertions(+), 141 deletions(-) diff --git a/settings/js/users/groups.js b/settings/js/users/groups.js index e62dfd9dff7..5939731cca1 100644 --- a/settings/js/users/groups.js +++ b/settings/js/users/groups.js @@ -5,84 +5,82 @@ * See the COPYING-README file. */ - var GroupList = { +var $userGroupList; + +var GroupList; +GroupList = { activeGID: '', - addGroup: function(gid, usercount) { - var li = $('li[data-gid]').last().clone(); - var ul = $('li[data-gid]').first().parent(); - li.attr('data-gid', gid); - li.find('a span').first().text(gid); - GroupList.setUserCount(li, usercount); + addGroup: function (gid, usercount) { + var $li = $userGroupList.find('.isgroup:last-child').clone(); + $li + .data('gid', gid) + .find('.groupname').text(gid); + GroupList.setUserCount($li, usercount); - $(li).appendTo(ul); + $li.appendTo($userGroupList); - GroupList.sortGroups(0); + GroupList.sortGroups(); - return li; + return $li; }, - setUserCount: function(groupLiElement, usercount) { - if(usercount === undefined || usercount === 0) { + setUserCount: function (groupLiElement, usercount) { + var $groupLiElement = $(groupLiElement); + if (usercount === undefined || usercount === 0) { usercount = ''; } - groupLiElement.attr('data-usercount', usercount); - groupLiElement.find('span[class=usercount]').first().text(usercount); + $groupLiElement.data('usercount', usercount); + $groupLiElement.find('.usercount').text(usercount); }, - getCurrentGID: function() { + getCurrentGID: function () { return GroupList.activeGID; }, - sortGroups: function(usercount) { - var lis = $('li[data-gid]').filterAttr('data-usercount', usercount.toString()).get(); - var ul = $(lis).first().parent(); + sortGroups: function () { + var lis = $('.isgroup').get(); - lis.sort(function(a, b) { - return UserList.alphanum($(a).find('a span').text(), $(b).find('a span').text()); + lis.sort(function (a, b) { + return UserList.alphanum( + $(a).find('a span').text(), + $(b).find('a span').text() + ); }); var items = []; - $.each(lis, function(index, li) { + $.each(lis, function (index, li) { items.push(li); - if(items.length === 100) { - $(ul).append(items); + if (items.length === 100) { + $userGroupList.append(items); items = []; } }); - if(items.length > 0) { - $(ul).append(items); + if (items.length > 0) { + $userGroupList.append(items); } }, - createGroup: function(groupname) { + createGroup: function (groupname) { $.post( OC.filePath('settings', 'ajax', 'creategroup.php'), { - groupname : groupname + groupname: groupname }, function (result) { if (result.status !== 'success') { OC.dialogs.alert(result.data.message, t('settings', 'Error creating group')); - } else { + } + else { if (result.data.groupname) { - var addedGroups = result.data.groupname; - UserList.availableGroups = $.unique($.merge(UserList.availableGroups, addedGroups)); + var addedGroup = result.data.groupname; + UserList.availableGroups = $.unique($.merge(UserList.availableGroups, [addedGroup])); GroupList.addGroup(result.data.groupname); - $('#newusergroups').children().first().attr('value', result.data.groupname); - $('#newusergroups').children().first().text(result.data.groupname); - - $('.groupsselect').each( function (index, element) { - $(element).children().first().attr('value', result.data.groupname); - $(element).children().first().text(result.data.groupname); - }); - - $('.subadminsselect').each( function (index, element) { - $(element).children().first().attr('value', result.data.groupname); - $(element).children().first().text(result.data.groupname); - }); + $('.groupsselect, .subadminsselect') + .append($('