snappymail/dev/Settings/User/Contacts.js
2014-10-18 17:43:44 +04:00

56 lines
No EOL
1.2 KiB
JavaScript

(function () {
'use strict';
var
ko = require('ko'),
Remote = require('Storage/User/Remote'),
Data = require('Storage/User/Data')
;
/**
* @constructor
*/
function ContactsUserSetting()
{
this.contactsAutosave = Data.contactsAutosave;
this.allowContactsSync = Data.allowContactsSync;
this.enableContactsSync = Data.enableContactsSync;
this.contactsSyncUrl = Data.contactsSyncUrl;
this.contactsSyncUser = Data.contactsSyncUser;
this.contactsSyncPass = Data.contactsSyncPass;
this.saveTrigger = ko.computed(function () {
return [
this.enableContactsSync() ? '1' : '0',
this.contactsSyncUrl(),
this.contactsSyncUser(),
this.contactsSyncPass()
].join('|');
}, this).extend({'throttle': 500});
this.saveTrigger.subscribe(function () {
Remote.saveContactsSyncData(null,
this.enableContactsSync(),
this.contactsSyncUrl(),
this.contactsSyncUser(),
this.contactsSyncPass()
);
}, this);
}
ContactsUserSetting.prototype.onBuild = function ()
{
Data.contactsAutosave.subscribe(function (bValue) {
Remote.saveSettings(null, {
'ContactsAutosave': bValue ? '1' : '0'
});
});
};
module.exports = ContactsUserSetting;
}());