snappymail/plugins/nextcloud/js/addressbook.js

36 lines
851 B
JavaScript

(rl => {
if (rl) {
class AddressBookSettings /* extends AbstractViewSettings */ {
constructor() {
this.addressBookList = ko.observableArray();
this.selectedAddressBook = ko.observable();
rl.pluginRemoteRequest((iError, oData) => {
if (!iError) {
const books = JSON.parse(oData.Result.addressbooks);
books.forEach(book => {
this.addressBookList.push(book);
if (book.selected) {
this.selectedAddressBook(book.uri);
}
});
this.selectedAddressBook.subscribe(value => {
rl.pluginRemoteRequest(() => { }, 'NextcloudUpdateAddressBook', {
uri: value
});
});
}
}, "JsonGetAddressbooks");
}
}
rl.addSettingsViewModel(
AddressBookSettings,
'AddressBookSettings',
'NEXTCLOUD/ADDRESS_BOOK',
'addressbook'
);
}
})(window.rl);