From 534b54395e1da1e49c2641a348204efc7893ceae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Molakvo=C3=A6=20=28skjnldsv=29?= Date: Fri, 27 Oct 2017 22:22:54 +0200 Subject: Filter out disabled ab MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: John Molakvoæ (skjnldsv) --- .../addressBook/addressBook_controller.js | 3 +-- js/services/addressBook_service.js | 6 +++++ js/services/contact_service.js | 31 ++++++++++------------ templates/contactList.html | 2 +- 4 files changed, 22 insertions(+), 20 deletions(-) diff --git a/js/components/addressBook/addressBook_controller.js b/js/components/addressBook/addressBook_controller.js index b38dc3fe..714d2bf6 100644 --- a/js/components/addressBook/addressBook_controller.js +++ b/js/components/addressBook/addressBook_controller.js @@ -193,8 +193,7 @@ angular.module('contactsApp') }; ctrl.toggleState = function() { - window.localStorage.setItem('contacts_ab_'+ctrl.addressBook.key, !ctrl.addressBook.enabled); - ctrl.enabled = !ctrl.enabled; + ctrl.enabled = AddressBookService.toggleState(ctrl.addressBook); ContactService.fillCache(); }; diff --git a/js/services/addressBook_service.js b/js/services/addressBook_service.js index ef58a81c..9a47badd 100644 --- a/js/services/addressBook_service.js +++ b/js/services/addressBook_service.js @@ -89,6 +89,12 @@ angular.module('contactsApp') }); }, + toggleState: function(addressBook) { + window.localStorage.setItem('contacts_ab_'+addressBook.key, !addressBook.enabled); + notifyObservers('toggleState'); + return !addressBook.enabled; + }, + rename: function(addressBook, displayName) { return DavService.then(function(account) { return DavClient.renameAddressBook(addressBook, {displayName:displayName, url:account.homeUrl}); diff --git a/js/services/contact_service.js b/js/services/contact_service.js index d925a9d4..20938c32 100644 --- a/js/services/contact_service.js +++ b/js/services/contact_service.js @@ -44,7 +44,7 @@ angular.module('contactsApp') }); // Get our full vCards enabledAddressBooks.forEach(function(addressBook) { - if(angular.isArray(xhrAddressBooks[addressBook.displayName]) && addressBook.enabled) { + if(angular.isArray(xhrAddressBooks[addressBook.displayName])) { var promise = DavClient.getContacts(addressBook, {}, xhrAddressBooks[addressBook.displayName]).then( function (vcards) { return vcards.map(function (vcard) { @@ -74,22 +74,19 @@ angular.module('contactsApp') loadPromise = AddressBookService.getAll().then(function (enabledAddressBooks) { var promises = []; enabledAddressBooks.forEach(function (addressBook) { - console.log('Processing contacts from '+addressBook.displayName+', status: '+addressBook.enabled); - if(addressBook.enabled) { - promises.push( - AddressBookService.sync(addressBook).then(function (addressBook) { - addressBook.objects.forEach(function(vcard) { - try { - var contact = new Contact(addressBook, vcard); - contactsCache.put(contact.uid(), contact); - } catch(error) { - // eslint-disable-next-line no-console - console.log('Invalid contact received: ', vcard); - } - }); - }) - ); - } + promises.push( + AddressBookService.sync(addressBook).then(function (addressBook) { + addressBook.objects.forEach(function(vcard) { + try { + var contact = new Contact(addressBook, vcard); + contactsCache.put(contact.uid(), contact); + } catch(error) { + // eslint-disable-next-line no-console + console.log('Invalid contact received: ', vcard); + } + }); + }) + ); }); return $q.all(promises).then(function () { cacheFilled = true; diff --git a/templates/contactList.html b/templates/contactList.html index f5f7da06..c41dffb2 100644 --- a/templates/contactList.html +++ b/templates/contactList.html @@ -1,6 +1,6 @@
-- cgit v1.2.3