mirror of
https://github.com/the-djmaze/snappymail.git
synced 2024-12-29 19:12:26 +08:00
89 lines
2.9 KiB
JavaScript
89 lines
2.9 KiB
JavaScript
import { addSettingsViewModel } from 'Knoin/Knoin';
|
|
import { runSettingsViewModelHooks } from 'Common/Plugins';
|
|
|
|
import { AbstractSettingsScreen } from 'Screen/AbstractSettings';
|
|
|
|
import { GeneralAdminSettings } from 'Settings/Admin/General';
|
|
import { DomainsAdminSettings } from 'Settings/Admin/Domains';
|
|
import { LoginAdminSettings } from 'Settings/Admin/Login';
|
|
import { ContactsAdminSettings } from 'Settings/Admin/Contacts';
|
|
import { SecurityAdminSettings } from 'Settings/Admin/Security';
|
|
import { SocialAdminSettings } from 'Settings/Admin/Social';
|
|
import { PluginsAdminSettings } from 'Settings/Admin/Plugins';
|
|
import { PackagesAdminSettings } from 'Settings/Admin/Packages';
|
|
import { AboutAdminSettings } from 'Settings/Admin/About';
|
|
|
|
import { getApp } from 'Helper/Apps/Admin';
|
|
|
|
import { MenuSettingsAdminView } from 'View/Admin/Settings/Menu';
|
|
import { PaneSettingsAdminView } from 'View/Admin/Settings/Pane';
|
|
|
|
class SettingsAdminScreen extends AbstractSettingsScreen {
|
|
constructor() {
|
|
super([MenuSettingsAdminView, PaneSettingsAdminView]);
|
|
}
|
|
|
|
/**
|
|
* @param {Function=} fCallback = null
|
|
*/
|
|
setupSettings(fCallback = null) {
|
|
let branding = null,
|
|
licensing = null;
|
|
|
|
if (RL_COMMUNITY) {
|
|
branding = require('Settings/Admin/Branding').default;
|
|
} else {
|
|
branding = require('Settings/Admin/Prem/Branding').default;
|
|
licensing = require('Settings/Admin/Prem/Licensing').default;
|
|
}
|
|
|
|
addSettingsViewModel(
|
|
GeneralAdminSettings,
|
|
'AdminSettingsGeneral',
|
|
'TABS_LABELS/LABEL_GENERAL_NAME',
|
|
'general',
|
|
true
|
|
);
|
|
|
|
addSettingsViewModel(DomainsAdminSettings, 'AdminSettingsDomains', 'TABS_LABELS/LABEL_DOMAINS_NAME', 'domains');
|
|
|
|
addSettingsViewModel(LoginAdminSettings, 'AdminSettingsLogin', 'TABS_LABELS/LABEL_LOGIN_NAME', 'login');
|
|
|
|
if (branding) {
|
|
addSettingsViewModel(branding, 'AdminSettingsBranding', 'TABS_LABELS/LABEL_BRANDING_NAME', 'branding');
|
|
}
|
|
|
|
addSettingsViewModel(ContactsAdminSettings, 'AdminSettingsContacts', 'TABS_LABELS/LABEL_CONTACTS_NAME', 'contacts');
|
|
|
|
addSettingsViewModel(SecurityAdminSettings, 'AdminSettingsSecurity', 'TABS_LABELS/LABEL_SECURITY_NAME', 'security');
|
|
|
|
addSettingsViewModel(
|
|
SocialAdminSettings,
|
|
'AdminSettingsSocial',
|
|
'TABS_LABELS/LABEL_INTEGRATION_NAME',
|
|
'integrations'
|
|
);
|
|
|
|
addSettingsViewModel(PluginsAdminSettings, 'AdminSettingsPlugins', 'TABS_LABELS/LABEL_PLUGINS_NAME', 'plugins');
|
|
|
|
addSettingsViewModel(PackagesAdminSettings, 'AdminSettingsPackages', 'TABS_LABELS/LABEL_PACKAGES_NAME', 'packages');
|
|
|
|
if (licensing) {
|
|
addSettingsViewModel(licensing, 'AdminSettingsLicensing', 'TABS_LABELS/LABEL_LICENSING_NAME', 'licensing');
|
|
}
|
|
|
|
addSettingsViewModel(AboutAdminSettings, 'AdminSettingsAbout', 'TABS_LABELS/LABEL_ABOUT_NAME', 'about');
|
|
|
|
runSettingsViewModelHooks(true);
|
|
|
|
if (fCallback) {
|
|
fCallback();
|
|
}
|
|
}
|
|
|
|
onShow() {
|
|
getApp().setWindowTitle('');
|
|
}
|
|
}
|
|
|
|
export { SettingsAdminScreen, SettingsAdminScreen as default };
|