mirror of
https://github.com/flarum/core.git
synced 2025-08-10 02:17:37 +02:00
update: admin/components/BasicsPage
- Not tested: locale selector, homepage selector, display name driver selector
This commit is contained in:
committed by
Franz Liedke
parent
99b119f1fa
commit
0087b956ef
@@ -5,10 +5,11 @@ import Button from '../../common/components/Button';
|
|||||||
import saveSettings from '../utils/saveSettings';
|
import saveSettings from '../utils/saveSettings';
|
||||||
import ItemList from '../../common/utils/ItemList';
|
import ItemList from '../../common/utils/ItemList';
|
||||||
import Switch from '../../common/components/Switch';
|
import Switch from '../../common/components/Switch';
|
||||||
|
import withAttr from '../../common/utils/withAttr';
|
||||||
|
|
||||||
export default class BasicsPage extends Page {
|
export default class BasicsPage extends Page {
|
||||||
init() {
|
oninit(vnode) {
|
||||||
super.init();
|
super.oninit(vnode);
|
||||||
|
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
|
|
||||||
@@ -25,7 +26,7 @@ export default class BasicsPage extends Page {
|
|||||||
this.values = {};
|
this.values = {};
|
||||||
|
|
||||||
const settings = app.data.settings;
|
const settings = app.data.settings;
|
||||||
this.fields.forEach((key) => (this.values[key] = m.prop(settings[key])));
|
this.fields.forEach((key) => (this.values[key] = m.stream(settings[key])));
|
||||||
|
|
||||||
this.localeOptions = {};
|
this.localeOptions = {};
|
||||||
const locales = app.data.locales;
|
const locales = app.data.locales;
|
||||||
@@ -49,45 +50,51 @@ export default class BasicsPage extends Page {
|
|||||||
<div className="BasicsPage">
|
<div className="BasicsPage">
|
||||||
<div className="container">
|
<div className="container">
|
||||||
<form onsubmit={this.onsubmit.bind(this)}>
|
<form onsubmit={this.onsubmit.bind(this)}>
|
||||||
{FieldSet.component({
|
{FieldSet.component(
|
||||||
|
{
|
||||||
label: app.translator.trans('core.admin.basics.forum_title_heading'),
|
label: app.translator.trans('core.admin.basics.forum_title_heading'),
|
||||||
children: [<input className="FormControl" value={this.values.forum_title()} oninput={m.withAttr('value', this.values.forum_title)} />],
|
},
|
||||||
})}
|
[<input className="FormControl" bidi={this.values.forum_title} />]
|
||||||
|
)}
|
||||||
|
|
||||||
{FieldSet.component({
|
{FieldSet.component(
|
||||||
|
{
|
||||||
label: app.translator.trans('core.admin.basics.forum_description_heading'),
|
label: app.translator.trans('core.admin.basics.forum_description_heading'),
|
||||||
children: [
|
},
|
||||||
|
[
|
||||||
<div className="helpText">{app.translator.trans('core.admin.basics.forum_description_text')}</div>,
|
<div className="helpText">{app.translator.trans('core.admin.basics.forum_description_text')}</div>,
|
||||||
<textarea
|
<textarea className="FormControl" bidi={this.values.forum_description} />,
|
||||||
className="FormControl"
|
]
|
||||||
value={this.values.forum_description()}
|
)}
|
||||||
oninput={m.withAttr('value', this.values.forum_description)}
|
|
||||||
/>,
|
|
||||||
],
|
|
||||||
})}
|
|
||||||
|
|
||||||
{Object.keys(this.localeOptions).length > 1
|
{Object.keys(this.localeOptions).length > 1
|
||||||
? FieldSet.component({
|
? FieldSet.component(
|
||||||
|
{
|
||||||
label: app.translator.trans('core.admin.basics.default_language_heading'),
|
label: app.translator.trans('core.admin.basics.default_language_heading'),
|
||||||
children: [
|
},
|
||||||
|
[
|
||||||
Select.component({
|
Select.component({
|
||||||
options: this.localeOptions,
|
options: this.localeOptions,
|
||||||
value: this.values.default_locale(),
|
value: this.values.default_locale(),
|
||||||
onchange: this.values.default_locale,
|
onchange: this.values.default_locale,
|
||||||
}),
|
}),
|
||||||
Switch.component({
|
Switch.component(
|
||||||
|
{
|
||||||
state: this.values.show_language_selector(),
|
state: this.values.show_language_selector(),
|
||||||
onchange: this.values.show_language_selector,
|
onchange: this.values.show_language_selector,
|
||||||
children: app.translator.trans('core.admin.basics.show_language_selector_label'),
|
},
|
||||||
}),
|
app.translator.trans('core.admin.basics.show_language_selector_label')
|
||||||
],
|
),
|
||||||
})
|
]
|
||||||
|
)
|
||||||
: ''}
|
: ''}
|
||||||
|
|
||||||
{FieldSet.component({
|
{FieldSet.component(
|
||||||
|
{
|
||||||
label: app.translator.trans('core.admin.basics.home_page_heading'),
|
label: app.translator.trans('core.admin.basics.home_page_heading'),
|
||||||
className: 'BasicsPage-homePage',
|
className: 'BasicsPage-homePage',
|
||||||
children: [
|
},
|
||||||
|
[
|
||||||
<div className="helpText">{app.translator.trans('core.admin.basics.home_page_text')}</div>,
|
<div className="helpText">{app.translator.trans('core.admin.basics.home_page_text')}</div>,
|
||||||
this.homePageItems()
|
this.homePageItems()
|
||||||
.toArray()
|
.toArray()
|
||||||
@@ -98,51 +105,52 @@ export default class BasicsPage extends Page {
|
|||||||
name="homePage"
|
name="homePage"
|
||||||
value={path}
|
value={path}
|
||||||
checked={this.values.default_route() === path}
|
checked={this.values.default_route() === path}
|
||||||
onclick={m.withAttr('value', this.values.default_route)}
|
onclick={withAttr('value', this.values.default_route)}
|
||||||
/>
|
/>
|
||||||
{label}
|
{label}
|
||||||
</label>
|
</label>
|
||||||
)),
|
)),
|
||||||
],
|
]
|
||||||
})}
|
)}
|
||||||
|
|
||||||
{FieldSet.component({
|
{FieldSet.component(
|
||||||
|
{
|
||||||
label: app.translator.trans('core.admin.basics.welcome_banner_heading'),
|
label: app.translator.trans('core.admin.basics.welcome_banner_heading'),
|
||||||
className: 'BasicsPage-welcomeBanner',
|
className: 'BasicsPage-welcomeBanner',
|
||||||
children: [
|
},
|
||||||
|
[
|
||||||
<div className="helpText">{app.translator.trans('core.admin.basics.welcome_banner_text')}</div>,
|
<div className="helpText">{app.translator.trans('core.admin.basics.welcome_banner_text')}</div>,
|
||||||
<div className="BasicsPage-welcomeBanner-input">
|
<div className="BasicsPage-welcomeBanner-input">
|
||||||
<input className="FormControl" value={this.values.welcome_title()} oninput={m.withAttr('value', this.values.welcome_title)} />
|
<input className="FormControl" bidi={this.values.welcome_title} />
|
||||||
<textarea
|
<textarea className="FormControl" bidi={this.values.welcome_message} />
|
||||||
className="FormControl"
|
|
||||||
value={this.values.welcome_message()}
|
|
||||||
oninput={m.withAttr('value', this.values.welcome_message)}
|
|
||||||
/>
|
|
||||||
</div>,
|
</div>,
|
||||||
],
|
]
|
||||||
})}
|
)}
|
||||||
|
|
||||||
{Object.keys(this.displayNameOptions).length > 1
|
{Object.keys(this.displayNameOptions).length > 1
|
||||||
? FieldSet.component({
|
? FieldSet.component(
|
||||||
|
{
|
||||||
label: app.translator.trans('core.admin.basics.display_name_heading'),
|
label: app.translator.trans('core.admin.basics.display_name_heading'),
|
||||||
children: [
|
},
|
||||||
|
[
|
||||||
<div className="helpText">{app.translator.trans('core.admin.basics.display_name_text')}</div>,
|
<div className="helpText">{app.translator.trans('core.admin.basics.display_name_text')}</div>,
|
||||||
Select.component({
|
Select.component({
|
||||||
options: this.displayNameOptions,
|
options: this.displayNameOptions,
|
||||||
value: this.values.display_name_driver(),
|
bidi: this.values.display_name_driver,
|
||||||
onchange: this.values.display_name_driver,
|
|
||||||
}),
|
}),
|
||||||
],
|
]
|
||||||
})
|
)
|
||||||
: ''}
|
: ''}
|
||||||
|
|
||||||
{Button.component({
|
{Button.component(
|
||||||
|
{
|
||||||
type: 'submit',
|
type: 'submit',
|
||||||
className: 'Button Button--primary',
|
className: 'Button Button--primary',
|
||||||
children: app.translator.trans('core.admin.basics.submit_button'),
|
|
||||||
loading: this.loading,
|
loading: this.loading,
|
||||||
disabled: !this.changed(),
|
disabled: !this.changed(),
|
||||||
})}
|
},
|
||||||
|
app.translator.trans('core.admin.basics.submit_button')
|
||||||
|
)}
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -185,9 +193,8 @@ export default class BasicsPage extends Page {
|
|||||||
|
|
||||||
saveSettings(settings)
|
saveSettings(settings)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
this.successAlert = app.alerts.show({
|
this.successAlert = app.alerts.show(app.translator.trans('core.admin.basics.saved_message'), {
|
||||||
type: 'success',
|
type: 'success',
|
||||||
children: app.translator.trans('core.admin.basics.saved_message'),
|
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
.catch(() => {})
|
.catch(() => {})
|
||||||
|
Reference in New Issue
Block a user