Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Petry <pvince81@owncloud.com>2016-01-07 17:48:59 +0300
committerVincent Petry <pvince81@owncloud.com>2016-01-07 17:48:59 +0300
commit44f4195eee44d2cfac4e7e91afe5d25ec807a6b2 (patch)
tree48e533919eed7546eeb5d72a5602337d2b0e904d /settings
parent601457d2217ec1ed18b49061e38d4cda3703c9f6 (diff)
Keep scroll position in users page when sorting
When sorting, some browsers like Chrome will lose the scroll position, possibly because the sorting code is touching the DOM elements. This fix saves the scroll position before sorting and sets it back afterwards.
Diffstat (limited to 'settings')
-rw-r--r--settings/js/users/users.js9
1 files changed, 8 insertions, 1 deletions
diff --git a/settings/js/users/users.js b/settings/js/users/users.js
index aea94053572..151ab6cdecc 100644
--- a/settings/js/users/users.js
+++ b/settings/js/users/users.js
@@ -259,6 +259,10 @@ var UserList = {
}
},
doSort: function() {
+ // some browsers like Chrome lose the scrolling information
+ // when messing with the list elements
+ var lastScrollTop = this.scrollArea.scrollTop();
+ var lastScrollLeft = this.scrollArea.scrollLeft();
var rows = $userListBody.find('tr').get();
rows.sort(function(a, b) {
@@ -284,6 +288,8 @@ var UserList = {
if(items.length > 0) {
$userListBody.append(items);
}
+ this.scrollArea.scrollTop(lastScrollTop);
+ this.scrollArea.scrollLeft(lastScrollLeft);
},
checkUsersToLoad: function() {
//30 shall be loaded initially, from then on always 10 upon scrolling
@@ -605,10 +611,11 @@ $(document).ready(function () {
// Implements User Search
OCA.Search.users= new UserManagementFilter(UserList, GroupList);
+ UserList.scrollArea = $('#app-content');
+
UserList.doSort();
UserList.availableGroups = $userList.data('groups');
- UserList.scrollArea = $('#app-content');
UserList.scrollArea.scroll(function(e) {UserList._onScroll(e);});
$userList.after($('<div class="loading" style="height: 200px; visibility: hidden;"></div>'));