snappymail/dev/View/Admin/Settings/Pane.js

61 lines
1.5 KiB
JavaScript
Raw Normal View History

2016-06-07 05:57:52 +08:00
/* global RL_COMMUNITY */
(function () {
'use strict';
var
_ = require('_'),
ko = require('ko'),
Settings = require('Storage/Settings'),
2015-02-23 00:35:17 +08:00
Remote = require('Remote/Admin/Ajax'),
kn = require('Knoin/Knoin'),
AbstractView = require('Knoin/AbstractView')
;
/**
* @constructor
* @extends AbstractView
*/
function PaneSettingsAdminView()
{
AbstractView.call(this, 'Right', 'AdminPane');
this.adminDomain = ko.observable(Settings.settingsGet('AdminDomain'));
2016-04-30 07:42:18 +08:00
this.version = ko.observable(Settings.appSettingsGet('version'));
2014-10-20 02:04:28 +08:00
this.capa = !!Settings.settingsGet('PremType');
2015-05-03 04:22:32 +08:00
this.community = RL_COMMUNITY;
this.adminManLoading = ko.computed(function () {
return '000' !== [
2015-02-03 07:58:58 +08:00
require('Stores/Admin/Domain').domains.loading() ? '1' : '0',
require('Stores/Admin/Plugin').plugins.loading() ? '1' : '0',
require('Stores/Admin/Package').packages.loading() ? '1' : '0'
].join('');
}, this);
this.adminManLoadingVisibility = ko.computed(function () {
return this.adminManLoading() ? 'visible' : 'hidden';
}, this).extend({'rateLimit': 300});
kn.constructorEnd(this);
}
kn.extendAsViewModel(['View/Admin/Settings/Pane', 'AdminSettingsPaneViewModel'], PaneSettingsAdminView);
_.extend(PaneSettingsAdminView.prototype, AbstractView.prototype);
PaneSettingsAdminView.prototype.logoutClick = function ()
{
Remote.adminLogout(function () {
2015-11-19 01:32:29 +08:00
require('App/Admin').default.loginAndLogoutReload(true, true);
});
};
module.exports = PaneSettingsAdminView;
2016-06-28 04:54:38 +08:00
}());