mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-08-29 20:19:22 +03:00
Added Admin -> Config to view all the application.ini settings.
TODO: save changes
This commit is contained in:
parent
d7db182e5f
commit
f20a7c7b83
31 changed files with 263 additions and 80 deletions
|
|
@ -10,6 +10,7 @@ import { SecurityAdminSettings } from 'Settings/Admin/Security';
|
|||
import { PackagesAdminSettings } from 'Settings/Admin/Packages';
|
||||
import { AboutAdminSettings } from 'Settings/Admin/About';
|
||||
import { BrandingAdminSettings } from 'Settings/Admin/Branding';
|
||||
import { ConfigAdminSettings } from 'Settings/Admin/Config';
|
||||
|
||||
import { MenuSettingsAdminView } from 'View/Admin/Settings/Menu';
|
||||
import { PaneSettingsAdminView } from 'View/Admin/Settings/Pane';
|
||||
|
|
@ -33,6 +34,7 @@ export class SettingsAdminScreen extends AbstractSettingsScreen {
|
|||
[ContactsAdminSettings, 'Contacts'],
|
||||
[SecurityAdminSettings, 'Security'],
|
||||
[PackagesAdminSettings, 'Packages'],
|
||||
[ConfigAdminSettings, 'Config'],
|
||||
[AboutAdminSettings, 'About'],
|
||||
].forEach(item =>
|
||||
settingsAddViewModel(
|
||||
|
|
|
|||
47
dev/Settings/Admin/Config.js
Normal file
47
dev/Settings/Admin/Config.js
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
import ko from 'ko';
|
||||
|
||||
import Remote from 'Remote/Admin/Fetch';
|
||||
|
||||
export class ConfigAdminSettings /*extends AbstractViewSettings*/ {
|
||||
|
||||
constructor() {
|
||||
this.config = ko.observableArray();
|
||||
}
|
||||
|
||||
onBeforeShow() {
|
||||
Remote.request('AdminSettingsGet', (iError, data) => {
|
||||
if (!iError) {
|
||||
const cfg = [],
|
||||
getInputType = value => {
|
||||
switch (typeof value)
|
||||
{
|
||||
case 'boolean': return 'checkbox';
|
||||
case 'number': return 'number';
|
||||
}
|
||||
return 'text';
|
||||
};
|
||||
Object.entries(data.Result).forEach(([key, items]) => {
|
||||
const section = {
|
||||
name: key,
|
||||
items: []
|
||||
};
|
||||
Object.entries(items).forEach(([skey, item]) => {
|
||||
section.items.push({
|
||||
key: `config[${key}][${skey}]`,
|
||||
name: skey,
|
||||
value: item[0],
|
||||
type: getInputType(item[0]),
|
||||
comment: item[1]
|
||||
});
|
||||
});
|
||||
cfg.push(section);
|
||||
});
|
||||
this.config(cfg);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
saveConfig(form) {
|
||||
Remote.post('AdminSettingsSet', null, new FormData(form));
|
||||
}
|
||||
}
|
||||
|
|
@ -26,6 +26,7 @@
|
|||
@import "Admin/Layout.less";
|
||||
@import "Admin/General.less";
|
||||
@import "Admin/Branding.less";
|
||||
@import "Admin/Config.less";
|
||||
@import "Admin/Domains.less";
|
||||
@import "Admin/Domain.less";
|
||||
@import "Admin/Packages.less";
|
||||
|
|
|
|||
6
dev/Styles/Admin/Config.less
Normal file
6
dev/Styles/Admin/Config.less
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
|
||||
#V-Settings-Config {
|
||||
em {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue