Como parar a rolagem infinita da interface do usuário enquanto o carregamento do conteúdo termina?
estou usandograde ui. Eu já implementei alguma lógica para interromper a chamada $ http da seguinte maneira. Mas quando atinge o último resultado, o pergaminho está pulando para a linha que é poucos antes dos últimos resultados. Portanto, o usuário não pode ver os últimos resultados a qualquer momento. Se o usuário rolar novamente, depois de um tempo, ele pulará novamente para a linha que é poucos antes dos últimos resultados.
Eu usei seguindo a lógica.
$scope.loadMoreData = function() {
var promise = $q.defer();
if($scope.lastPage < $scope.maxPage){
$timeout(function () {
var arrayObj = [];
for(var i=0; i<$scope.itemsPerPage; i++){
arrayObj.push({id:Math.random()*100, name:'Name '+Math.random()});
}
$scope.lastPage++;
$scope.data = $scope.data.concat(arrayObj);
$scope.gridApi.infiniteScroll.dataLoaded();
console.log($scope.data);
promise.resolve();
}, Math.random()*1000);
}
else {
$scope.gridApi.infiniteScroll.dataLoaded();
promise.resolve();
}
return promise.promise;
}
Aqui está oplunker, Usei $ timeout para substituir as chamadas $ http para facilitar a replicação.
Aqui estava o meu outroPergunta, questão que eu estava enfrentando ao implementar a rolagem infinita.
Nota: eu já pesquisei bastante no Google.