diff --git a/UI/Templates/ContactsUI/UIxContactFolderProperties.wox b/UI/Templates/ContactsUI/UIxContactFolderProperties.wox index a43293f60..7c5f0b2f7 100644 --- a/UI/Templates/ContactsUI/UIxContactFolderProperties.wox +++ b/UI/Templates/ContactsUI/UIxContactFolderProperties.wox @@ -6,7 +6,7 @@ xmlns:const="http://www.skyrix.com/od/constant" xmlns:label="OGo:label" > - +
@@ -33,10 +33,10 @@ -
+ -
+ diff --git a/UI/WebServerResources/js/Contacts/AddressBook.service.js b/UI/WebServerResources/js/Contacts/AddressBook.service.js index 9b105b15d..1904f2871 100644 --- a/UI/WebServerResources/js/Contacts/AddressBook.service.js +++ b/UI/WebServerResources/js/Contacts/AddressBook.service.js @@ -215,10 +215,12 @@ * @desc Extend instance with new data and compute additional attributes. * @param {object} data - attributes of addressbook */ - AddressBook.prototype.init = function(data) { - this.$isLoading = true; - this.$cards = []; - this.cards = []; + AddressBook.prototype.init = function(data, options) { + if (!this.$cards) { + this.$isLoading = true; + this.$cards = []; + this.cards = []; + } angular.extend(this, data); // Add 'isOwned' and 'isSubscription' attributes based on active user (TODO: add it server-side?) this.isOwned = AddressBook.activeUser.isSuperUser || this.owner == AddressBook.activeUser.login; diff --git a/UI/WebServerResources/js/Contacts/AddressBooksController.js b/UI/WebServerResources/js/Contacts/AddressBooksController.js index 7163efbab..54df1434c 100644 --- a/UI/WebServerResources/js/Contacts/AddressBooksController.js +++ b/UI/WebServerResources/js/Contacts/AddressBooksController.js @@ -249,10 +249,13 @@ vm.close = close; function saveProperties() { - vm.addressbook.$save(); - // Refresh list instance - srcAddressBook.init(vm.addressbook.$omit()); - $mdDialog.hide(); + vm.addressbook.$save().then(function() { + // Refresh list instance + srcAddressBook.init(vm.addressbook.$omit()); + $mdDialog.hide(); + }, function() { + // TODO handle error + }); } function close() { diff --git a/UI/WebServerResources/js/Contacts/Contacts.app.js b/UI/WebServerResources/js/Contacts/Contacts.app.js index c42a2dfcc..0f85f415f 100644 --- a/UI/WebServerResources/js/Contacts/Contacts.app.js +++ b/UI/WebServerResources/js/Contacts/Contacts.app.js @@ -102,9 +102,13 @@ /** * @ngInject */ - stateAddressbook.$inject = ['$stateParams', 'AddressBook']; - function stateAddressbook($stateParams, AddressBook) { - return AddressBook.$find($stateParams.addressbookId).$futureAddressBookData; + stateAddressbook.$inject = ['$stateParams', 'stateAddressbooks', 'AddressBook']; + function stateAddressbook($stateParams, stateAddressbooks, AddressBook) { + var addressbook = _.find(stateAddressbooks, function(addressbook) { + return addressbook.id == $stateParams.addressbookId; + }); + addressbook.$reload(); + return addressbook; } /**