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

50 lines
1.2 KiB
JavaScript
Raw Normal View History

import ko from 'ko';
2016-06-30 08:02:45 +08:00
import * as Settings from 'Storage/Settings';
2016-06-30 08:02:45 +08:00
import Remote from 'Remote/Admin/Ajax';
2016-06-30 08:02:45 +08:00
import DomainStore from 'Stores/Admin/Domain';
import PluginStore from 'Stores/Admin/Plugin';
import PackageStore from 'Stores/Admin/Package';
2016-06-30 08:02:45 +08:00
2019-07-05 03:19:24 +08:00
import { getApp } from 'Helper/Apps/Admin';
2016-06-30 08:02:45 +08:00
2019-07-05 03:19:24 +08:00
import { view, ViewType } from 'Knoin/Knoin';
import { AbstractViewNext } from 'Knoin/AbstractViewNext';
2016-06-30 08:02:45 +08:00
@view({
name: 'View/Admin/Settings/Pane',
type: ViewType.Right,
templateID: 'AdminPane'
})
2019-07-05 03:19:24 +08:00
class PaneSettingsAdminView extends AbstractViewNext {
constructor() {
super();
this.version = ko.observable(Settings.appSettingsGet('version'));
this.adminManLoading = ko.computed(
2019-07-05 03:19:24 +08:00
() =>
'000' !==
[
DomainStore.domains.loading() ? '1' : '0',
PluginStore.plugins.loading() ? '1' : '0',
PackageStore.packages.loading() ? '1' : '0'
].join('')
);
2019-07-05 03:19:24 +08:00
this.adminManLoadingVisibility = ko
.computed(() => (this.adminManLoading() ? 'visible' : 'hidden'))
.extend({ rateLimit: 300 });
}
logoutClick() {
Remote.adminLogout(() => {
getApp().loginAndLogoutReload(true, true);
});
}
}
2016-06-30 08:02:45 +08:00
2019-07-05 03:19:24 +08:00
export { PaneSettingsAdminView, PaneSettingsAdminView as default };