merge new infos into existing array instead of replacing the array completely, prevents full tree refresh and scrollbar location loss (fix #342)

This commit is contained in:
Athou
2013-06-26 15:29:58 +02:00
parent 966a7f56a5
commit 7432bd510d
2 changed files with 9 additions and 2 deletions

View File

@@ -138,7 +138,7 @@ function($scope, $timeout, $stateParams, $window, $location, $state, $route, Cat
$timeout(function refreshTree() {
AnalyticsService.track();
CategoryService.init(function() {
CategoryService.refresh(function() {
$timeout(refreshTree, 30000);
}, function() {
$timeout(refreshTree, 30000);
@@ -746,7 +746,7 @@ function($scope, $stateParams, $http, $route, $window, EntryService, SettingsSer
olderThan : olderThan || $scope.timestamp,
read : true
}, function() {
CategoryService.init(function() {
CategoryService.refresh(function() {
$scope.$emit('emitReload');
});
});

View File

@@ -208,6 +208,13 @@ function($resource, $http) {
callback(data);
});
};
res.refresh = function(callback) {
res.get(function(data) {
_.merge(res.subscriptions, data);
if (callback)
callback(data);
});
};
res.init();
return res;