mirror of
https://github.com/flarum/core.git
synced 2025-07-19 07:41:22 +02:00
Move EditUserModal fields into an ItemList to make more extendable (#1593)
This commit is contained in:
committed by
Toby Zerner
parent
0f05ecbbc6
commit
90bb012ab8
@@ -3,6 +3,7 @@ import Button from '../../common/components/Button';
|
|||||||
import GroupBadge from '../../common/components/GroupBadge';
|
import GroupBadge from '../../common/components/GroupBadge';
|
||||||
import Group from '../../common/models/Group';
|
import Group from '../../common/models/Group';
|
||||||
import extractText from '../../common/utils/extractText';
|
import extractText from '../../common/utils/extractText';
|
||||||
|
import ItemList from '../../common/utils/ItemList';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The `EditUserModal` component displays a modal dialog with a login form.
|
* The `EditUserModal` component displays a modal dialog with a login form.
|
||||||
@@ -37,18 +38,28 @@ export default class EditUserModal extends Modal {
|
|||||||
return (
|
return (
|
||||||
<div className="Modal-body">
|
<div className="Modal-body">
|
||||||
<div className="Form">
|
<div className="Form">
|
||||||
<div className="Form-group">
|
{this.fields().toArray()}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
fields() {
|
||||||
|
const items = new ItemList();
|
||||||
|
|
||||||
|
items.add('username', <div className="Form-group">
|
||||||
<label>{app.translator.trans('core.forum.edit_user.username_heading')}</label>
|
<label>{app.translator.trans('core.forum.edit_user.username_heading')}</label>
|
||||||
<input className="FormControl" placeholder={extractText(app.translator.trans('core.forum.edit_user.username_label'))}
|
<input className="FormControl" placeholder={extractText(app.translator.trans('core.forum.edit_user.username_label'))}
|
||||||
bidi={this.username} />
|
bidi={this.username} />
|
||||||
</div>
|
</div>, 40);
|
||||||
|
|
||||||
{app.session.user !== this.props.user ? [
|
if (app.session.user !== this.props.user) {
|
||||||
<div className="Form-group">
|
items.add('email', <div className="Form-group">
|
||||||
<label>{app.translator.trans('core.forum.edit_user.email_heading')}</label>
|
<label>{app.translator.trans('core.forum.edit_user.email_heading')}</label>
|
||||||
<div>
|
<div>
|
||||||
<input className="FormControl" placeholder={extractText(app.translator.trans('core.forum.edit_user.email_label'))}
|
<input className="FormControl"
|
||||||
bidi={this.email} />
|
placeholder={extractText(app.translator.trans('core.forum.edit_user.email_label'))}
|
||||||
|
bidi={this.email}/>
|
||||||
</div>
|
</div>
|
||||||
{!this.isEmailConfirmed() ? (
|
{!this.isEmailConfirmed() ? (
|
||||||
<div>
|
<div>
|
||||||
@@ -60,13 +71,13 @@ export default class EditUserModal extends Modal {
|
|||||||
})}
|
})}
|
||||||
</div>
|
</div>
|
||||||
) : ''}
|
) : ''}
|
||||||
</div>,
|
</div>, 30);
|
||||||
|
|
||||||
<div className="Form-group">
|
items.add('password', <div className="Form-group">
|
||||||
<label>{app.translator.trans('core.forum.edit_user.password_heading')}</label>
|
<label>{app.translator.trans('core.forum.edit_user.password_heading')}</label>
|
||||||
<div>
|
<div>
|
||||||
<label className="checkbox">
|
<label className="checkbox">
|
||||||
<input type="checkbox" checked={this.setPassword()} onchange={e => {
|
<input type="checkbox" checked={this.setPassword()} onChange={e => {
|
||||||
this.setPassword(e.target.checked);
|
this.setPassword(e.target.checked);
|
||||||
m.redraw(true);
|
m.redraw(true);
|
||||||
if (e.target.checked) this.$('[name=password]').select();
|
if (e.target.checked) this.$('[name=password]').select();
|
||||||
@@ -75,14 +86,16 @@ export default class EditUserModal extends Modal {
|
|||||||
{app.translator.trans('core.forum.edit_user.set_password_label')}
|
{app.translator.trans('core.forum.edit_user.set_password_label')}
|
||||||
</label>
|
</label>
|
||||||
{this.setPassword() ? (
|
{this.setPassword() ? (
|
||||||
<input className="FormControl" type="password" name="password" placeholder={extractText(app.translator.trans('core.forum.edit_user.password_label'))}
|
<input className="FormControl" type="password" name="password"
|
||||||
bidi={this.password} />
|
placeholder={extractText(app.translator.trans('core.forum.edit_user.password_label'))}
|
||||||
|
bidi={this.password}/>
|
||||||
) : ''}
|
) : ''}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>, 20);
|
||||||
] : ''}
|
|
||||||
|
|
||||||
<div className="Form-group EditUserModal-groups">
|
}
|
||||||
|
|
||||||
|
items.add('groups', <div className="Form-group EditUserModal-groups">
|
||||||
<label>{app.translator.trans('core.forum.edit_user.groups_heading')}</label>
|
<label>{app.translator.trans('core.forum.edit_user.groups_heading')}</label>
|
||||||
<div>
|
<div>
|
||||||
{Object.keys(this.groups)
|
{Object.keys(this.groups)
|
||||||
@@ -96,19 +109,18 @@ export default class EditUserModal extends Modal {
|
|||||||
</label>
|
</label>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>, 10);
|
||||||
|
|
||||||
<div className="Form-group">
|
items.add('submit', <div className="Form-group">
|
||||||
{Button.component({
|
{Button.component({
|
||||||
className: 'Button Button--primary',
|
className: 'Button Button--primary',
|
||||||
type: 'submit',
|
type: 'submit',
|
||||||
loading: this.loading,
|
loading: this.loading,
|
||||||
children: app.translator.trans('core.forum.edit_user.submit_button')
|
children: app.translator.trans('core.forum.edit_user.submit_button')
|
||||||
})}
|
})}
|
||||||
</div>
|
</div>, -10);
|
||||||
</div>
|
|
||||||
</div>
|
return items;
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
activate() {
|
activate() {
|
||||||
|
Reference in New Issue
Block a user