/* global RL_COMMUNITY */ 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};