mirror of
https://github.com/flarum/framework.git
synced 2025-05-22 14:49:57 +08:00
Make Dropdown and NotificationsDropdown components more extensible
This commit is contained in:
@ -23,20 +23,18 @@ export default class Dropdown extends Component {
|
||||
|
||||
props.className = props.className || '';
|
||||
props.buttonClassName = props.buttonClassName || '';
|
||||
props.contentClassName = props.contentClassName || '';
|
||||
props.menuClassName = props.menuClassName || '';
|
||||
props.label = props.label || app.trans('core.controls');
|
||||
props.caretIcon = typeof props.caretIcon !== 'undefined' ? props.caretIcon : 'caret-down';
|
||||
}
|
||||
|
||||
view() {
|
||||
const items = listItems(this.props.children);
|
||||
const items = this.props.children ? listItems(this.props.children) : [];
|
||||
|
||||
return (
|
||||
<div className={'ButtonGroup Dropdown dropdown ' + this.props.className + ' itemCount' + items.length}>
|
||||
{this.getButton()}
|
||||
<ul className={'Dropdown-menu dropdown-menu ' + this.props.menuClassName}>
|
||||
{items}
|
||||
</ul>
|
||||
{this.getMenu(items)}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@ -94,4 +92,12 @@ export default class Dropdown extends Component {
|
||||
this.props.caretIcon ? icon(this.props.caretIcon, {className: 'Button-caret'}) : ''
|
||||
];
|
||||
}
|
||||
|
||||
getMenu(items) {
|
||||
return (
|
||||
<ul className={'Dropdown-menu dropdown-menu ' + this.props.menuClassName}>
|
||||
{items}
|
||||
</ul>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user