Skip to content

Commit 89faa75

Browse files
committed
fix(list) Prevents same page of results being used twice
1 parent e0ebcbe commit 89faa75

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

js/services/record-handler.js

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,19 +33,24 @@ formsAngular.factory('recordHandler', function (
3333
}).error(handleError);
3434
};
3535

36-
// FIXME: this method seems to be not used anymore
3736
exports.scrollTheList = function ($scope, handleError) {
37+
var pagesLoaded = $scope.pagesLoaded;
3838
SubmissionsService.getPagedAndFilteredList($scope.modelName, {
3939
aggregate: $location.$$search.a,
4040
find: $location.$$search.f,
4141
limit: $scope.pageSize,
42-
skip: $scope.pagesLoaded * $scope.pageSize,
42+
skip: pagesLoaded * $scope.pageSize,
4343
order: $location.$$search.o
4444
})
4545
.success(function (data) {
4646
if (angular.isArray(data)) {
47-
$scope.pagesLoaded++;
48-
$scope.recordList = $scope.recordList.concat(data);
47+
// I have seen an intermittent problem where a page is requested twice
48+
if (pagesLoaded === $scope.pagesLoaded) {
49+
$scope.pagesLoaded++;
50+
$scope.recordList = $scope.recordList.concat(data);
51+
} else {
52+
console.log('DEBUG: infinite scroll component asked for a page twice');
53+
}
4954
} else {
5055
$scope.showError(data, 'Invalid query');
5156
}

0 commit comments

Comments
 (0)