snappymail/dev/View/Admin/Settings/Pane.js
2019-06-29 17:16:09 +03:00

53 lines
1.3 KiB
JavaScript

import ko from 'ko';
import * as Settings from 'Storage/Settings';
import Remote from 'Remote/Admin/Ajax';
import DomainStore from 'Stores/Admin/Domain';
import PluginStore from 'Stores/Admin/Plugin';
import PackageStore from 'Stores/Admin/Package';
import {getApp} from 'Helper/Apps/Admin';
import {view, ViewType} from 'Knoin/Knoin';
import {AbstractViewNext} from 'Knoin/AbstractViewNext';
@view({
name: 'View/Admin/Settings/Pane',
type: ViewType.Right,
templateID: 'AdminPane'
})
class PaneSettingsAdminView extends AbstractViewNext
{
constructor() {
super();
this.adminDomain = ko.observable(Settings.settingsGet('AdminDomain'));
this.version = ko.observable(Settings.appSettingsGet('version'));
this.capa = !!Settings.settingsGet('PremType');
this.community = RL_COMMUNITY;
this.adminManLoading = ko.computed(
() => '000' !== [
DomainStore.domains.loading() ? '1' : '0',
PluginStore.plugins.loading() ? '1' : '0',
PackageStore.packages.loading() ? '1' : '0'
].join('')
);
this.adminManLoadingVisibility = ko.computed(
() => (this.adminManLoading() ? 'visible' : 'hidden')
).extend({rateLimit: 300});
}
logoutClick() {
Remote.adminLogout(() => {
getApp().loginAndLogoutReload(true, true);
});
}
}
export {PaneSettingsAdminView, PaneSettingsAdminView as default};