mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-05-22 03:45:25 +00:00
(js) Improve addressbook renaming
The AddressBook instance to list the cards is now the same as the one from the list of addressbooks. Therefore, when renaming an addressbook, the addressbook name in the list is automatically updated.
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
xmlns:const="http://www.skyrix.com/od/constant"
|
||||
xmlns:label="OGo:label"
|
||||
>
|
||||
<md-dialog flex-sm="100">
|
||||
<md-dialog flex="40" flex-md="60" flex-sm="90">
|
||||
|
||||
<md-toolbar>
|
||||
<div class="md-toolbar-tools">
|
||||
@@ -33,10 +33,10 @@
|
||||
</md-checkbox>
|
||||
</md-dialog-content>
|
||||
|
||||
<div class="md-actions">
|
||||
<md-dialog-actions>
|
||||
<md-button type="button" ng-click="properties.close()"><var:string label:value="Cancel"/></md-button>
|
||||
<md-button ng-click="properties.saveProperties()"><var:string label:value="Save"/></md-button>
|
||||
</div>
|
||||
</md-dialog-actions>
|
||||
|
||||
</md-dialog>
|
||||
</container>
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user