mirror of
https://github.com/the-djmaze/snappymail.git
synced 2024-11-15 04:04:50 +08:00
98 lines
2.1 KiB
JavaScript
98 lines
2.1 KiB
JavaScript
|
|
var
|
|
ko = require('ko'),
|
|
|
|
Translator = require('Common/Translator'),
|
|
|
|
TemplateStore = require('Stores/User/Template'),
|
|
|
|
Remote = require('Remote/User/Ajax');
|
|
|
|
/**
|
|
* @constructor
|
|
*/
|
|
function TemplatesUserSettings()
|
|
{
|
|
this.templates = TemplateStore.templates;
|
|
|
|
this.processText = ko.computed(function() {
|
|
return TemplateStore.templates.loading() ? Translator.i18n('SETTINGS_TEMPLETS/LOADING_PROCESS') : '';
|
|
}, this);
|
|
|
|
this.visibility = ko.computed(function() {
|
|
return '' === this.processText() ? 'hidden' : 'visible';
|
|
}, this);
|
|
|
|
this.templateForDeletion = ko.observable(null).deleteAccessHelper();
|
|
}
|
|
|
|
TemplatesUserSettings.prototype.scrollableOptions = function(sWrapper)
|
|
{
|
|
return {
|
|
handle: '.drag-handle',
|
|
containment: sWrapper || 'parent',
|
|
axis: 'y'
|
|
};
|
|
};
|
|
|
|
TemplatesUserSettings.prototype.addNewTemplate = function()
|
|
{
|
|
require('Knoin/Knoin').showScreenPopup(require('View/Popup/Template'));
|
|
};
|
|
|
|
TemplatesUserSettings.prototype.editTemplate = function(oTemplateItem)
|
|
{
|
|
if (oTemplateItem)
|
|
{
|
|
require('Knoin/Knoin').showScreenPopup(require('View/Popup/Template'), [oTemplateItem]);
|
|
}
|
|
};
|
|
|
|
/**
|
|
* @param {AccountModel} oTemplateToRemove
|
|
*/
|
|
TemplatesUserSettings.prototype.deleteTemplate = function(oTemplateToRemove)
|
|
{
|
|
if (oTemplateToRemove && oTemplateToRemove.deleteAccess())
|
|
{
|
|
this.templateForDeletion(null);
|
|
|
|
var
|
|
self = this,
|
|
fRemoveAccount = function(oAccount) {
|
|
return oTemplateToRemove === oAccount;
|
|
};
|
|
|
|
if (oTemplateToRemove)
|
|
{
|
|
this.templates.remove(fRemoveAccount);
|
|
|
|
Remote.templateDelete(function() {
|
|
self.reloadTemplates();
|
|
}, oTemplateToRemove.id);
|
|
}
|
|
}
|
|
};
|
|
|
|
TemplatesUserSettings.prototype.reloadTemplates = function()
|
|
{
|
|
require('App/User').default.templates();
|
|
};
|
|
|
|
TemplatesUserSettings.prototype.onBuild = function(oDom)
|
|
{
|
|
var self = this;
|
|
|
|
oDom
|
|
.on('click', '.templates-list .template-item .e-action', function() {
|
|
var oTemplateItem = ko.dataFor(this);
|
|
if (oTemplateItem)
|
|
{
|
|
self.editTemplate(oTemplateItem);
|
|
}
|
|
});
|
|
|
|
this.reloadTemplates();
|
|
};
|
|
|
|
export {TemplatesUserSettings, TemplatesUserSettings as default};
|