From 96cd3405aa2ba5b4212da4536382945705a25410 Mon Sep 17 00:00:00 2001 From: FinnStutzenstein Date: Fri, 13 Oct 2017 09:03:18 +0200 Subject: [PATCH] Go to top on a page change --- openslides/agenda/static/js/agenda/site.js | 1 + .../static/templates/agenda/item-list.html | 28 ++++++++++++------- .../assignments/static/js/assignments/site.js | 1 + .../assignments/assignment-list.html | 15 +++++++--- openslides/core/static/js/core/base.js | 8 ++++++ openslides/core/static/js/core/site.js | 9 +++++- openslides/motions/static/js/motions/site.js | 1 + .../static/templates/motions/motion-list.html | 15 +++++++--- openslides/users/static/js/users/site.js | 1 + .../static/templates/users/user-list.html | 15 +++++++--- 10 files changed, 71 insertions(+), 23 deletions(-) diff --git a/openslides/agenda/static/js/agenda/site.js b/openslides/agenda/static/js/agenda/site.js index ed8dd12e6..1e497cb68 100644 --- a/openslides/agenda/static/js/agenda/site.js +++ b/openslides/agenda/static/js/agenda/site.js @@ -164,6 +164,7 @@ angular.module('OpenSlidesApp.agenda.site', [ $scope.limitBegin = 0; $scope.pageChanged = function() { $scope.limitBegin = ($scope.currentPage - 1) * $scope.itemsPerPage; + $scope.gotoTop(); }; // parse duration for inline editing diff --git a/openslides/agenda/static/templates/agenda/item-list.html b/openslides/agenda/static/templates/agenda/item-list.html index e448603e4..a1a881326 100644 --- a/openslides/agenda/static/templates/agenda/item-list.html +++ b/openslides/agenda/static/templates/agenda/item-list.html @@ -128,18 +128,26 @@ -
- {{ itemsFiltered.length }} / - {{ items.length }} {{ "items" | translate }}, - {{(items|filter:{selected:true}).length}} {{ "selected" | translate }} - - · - Duration: - {{ sumDurations() | osMinutesToTime }}h - - (Estimated end: {{ calculateEndTime() }}) +
+
+ {{ itemsFiltered.length }} / + {{ items.length }} {{ "items" | translate }}, + {{(items|filter:{selected:true}).length}} {{ "selected" | translate }} + + · + Duration: + {{ sumDurations() | osMinutesToTime }}h + + (Estimated end: {{ calculateEndTime() }}) + +
+
+ + Page {{ currentPage }} / {{ Math.ceil(itemsFiltered.length/itemsPerPage) }} + +
diff --git a/openslides/assignments/static/js/assignments/site.js b/openslides/assignments/static/js/assignments/site.js index b13223ad9..e0295952d 100644 --- a/openslides/assignments/static/js/assignments/site.js +++ b/openslides/assignments/static/js/assignments/site.js @@ -351,6 +351,7 @@ angular.module('OpenSlidesApp.assignments.site', [ $scope.limitBegin = 0; $scope.pageChanged = function() { $scope.limitBegin = ($scope.currentPage - 1) * $scope.itemsPerPage; + $scope.gotoTop(); }; // update phase diff --git a/openslides/assignments/static/templates/assignments/assignment-list.html b/openslides/assignments/static/templates/assignments/assignment-list.html index a2ed96a6a..605d6fd89 100644 --- a/openslides/assignments/static/templates/assignments/assignment-list.html +++ b/openslides/assignments/static/templates/assignments/assignment-list.html @@ -71,10 +71,17 @@
-
- {{ assignmentsFiltered.length }} / - {{ assignments.length }} {{ "elections" | translate }}, - {{(assignments|filter:{selected:true}).length}} {{ "selected" | translate }} +
+
+ {{ assignmentsFiltered.length }} / + {{ assignments.length }} {{ "elections" | translate }}, + {{(assignments|filter:{selected:true}).length}} {{ "selected" | translate }} +
+
+ + Page {{ currentPage }} / {{ Math.ceil(assignmentsFiltered.length/itemsPerPage) }} + +
diff --git a/openslides/core/static/js/core/base.js b/openslides/core/static/js/core/base.js index cc68c3100..baa3a32b5 100644 --- a/openslides/core/static/js/core/base.js +++ b/openslides/core/static/js/core/base.js @@ -526,6 +526,14 @@ angular.module('OpenSlidesApp.core', [ } ]) +// Put the Math object into every scope. +.run([ + '$rootScope', + function ($rootScope) { + $rootScope.Math = window.Math; + } +]) + // Template hooks // 2 possible uses: // - { Id: 'myHookId', template: '' } diff --git a/openslides/core/static/js/core/site.js b/openslides/core/static/js/core/site.js index 669a97aac..b033c7f13 100644 --- a/openslides/core/static/js/core/site.js +++ b/openslides/core/static/js/core/site.js @@ -1008,7 +1008,14 @@ angular.module('OpenSlidesApp.core.site', [ $scope.show = ($window.pageYOffset >= 150); }); }); - $scope.gotoTop = function () { + } +]) + +.run([ + '$rootScope', + '$window', + function ($rootScope, $window) { + $rootScope.gotoTop = function () { $window.scrollTo(0, 0); }; } diff --git a/openslides/motions/static/js/motions/site.js b/openslides/motions/static/js/motions/site.js index 84d08384c..25a1acb66 100644 --- a/openslides/motions/static/js/motions/site.js +++ b/openslides/motions/static/js/motions/site.js @@ -1055,6 +1055,7 @@ angular.module('OpenSlidesApp.motions.site', [ $scope.limitBegin = 0; $scope.pageChanged = function() { $scope.limitBegin = ($scope.currentPage - 1) * $scope.itemsPerPage; + $scope.gotoTop(); }; diff --git a/openslides/motions/static/templates/motions/motion-list.html b/openslides/motions/static/templates/motions/motion-list.html index d978189ee..59f9ae00f 100644 --- a/openslides/motions/static/templates/motions/motion-list.html +++ b/openslides/motions/static/templates/motions/motion-list.html @@ -119,10 +119,17 @@
-
- {{ motionsFiltered.length }} / - {{ motions.length }} {{ "motions" | translate }}, - {{(motions|filter:{selected:true}).length}} {{ "selected" | translate }} +
+
+ {{ motionsFiltered.length }} / + {{ motions.length }} {{ "motions" | translate }}, + {{(motions|filter:{selected:true}).length}} {{ "selected" | translate }} +
+
+ + Page {{ currentPage }} / {{ Math.ceil(motionsFiltered.length/itemsPerPage) }} + +
diff --git a/openslides/users/static/js/users/site.js b/openslides/users/static/js/users/site.js index 19f92c5ae..4faf48170 100644 --- a/openslides/users/static/js/users/site.js +++ b/openslides/users/static/js/users/site.js @@ -623,6 +623,7 @@ angular.module('OpenSlidesApp.users.site', [ $scope.limitBegin = 0; $scope.pageChanged = function() { $scope.limitBegin = ($scope.currentPage - 1) * $scope.itemsPerPage; + $scope.gotoTop(); }; // Toggle group from user diff --git a/openslides/users/static/templates/users/user-list.html b/openslides/users/static/templates/users/user-list.html index 65c3b9526..922affa7c 100644 --- a/openslides/users/static/templates/users/user-list.html +++ b/openslides/users/static/templates/users/user-list.html @@ -126,10 +126,17 @@
-
- {{ usersFiltered.length }} / - {{ users.length }} {{ "participants" | translate }}, - {{(users|filter:{selected:true}).length}} {{ "selected" | translate }} +
+
+ {{ usersFiltered.length }} / + {{ users.length }} {{ "participants" | translate }}, + {{(users|filter:{selected:true}).length}} {{ "selected" | translate }} +
+
+ + Page {{ currentPage }} / {{ Math.ceil(usersFiltered.length/itemsPerPage) }} + +