Loading
João Borsoi, #272, junho 2017Palavras-chave: carregando
Descrição
Este serviço gerencia a exibição do widget de carregamento durante a execução de tarefas concorrentes. Ele é responsável por ajustar a variável $rooScope.loading para true ou false, identificando quando as tarefas ainda não finlizaram. Opcionalmente também ativa a variável $rootScope.block para travar a tela enquanto as tarefas são executadas.
Loading.beginTasks(block)
Este método deve ser chamado antes do início das tarefas concorrentes, que irá ativar o widget de carregamento, opcionalmente também bloqueando a tela.
Loading.pushTask()
Este método deve ser chamado antes de cada nova tarefa concorrente, e retorna um objeto deffered. Ao final da tarefa o usuário deve enviar um método resolve ou rejected do objeto deffered indicando o final da execução.
Loading.watchTasks(onSuccess,onError)
Este método deve ser chamado após o pushTask de cada tarefa, e é responsável por monitorar o final das tarefas e desativar o widget de carregamento.
Exemplo
Loading.beginTasks();
var task1 = Loading.pushTask();
var task2 = Loading.pushTask();
Loading.watchTasks();
var data1 = Search.search($scope.search1,function() {
$scope.docList1 = data1;
task1.resolve();
}, function() {
task1.reject();
});
var data2 = Search.search($scope.search2,function() {
$scope.docList2 = data2;
task2.resolve();
}, function() {
task2.reject();
});