mirror of
https://github.com/flarum/core.git
synced 2025-08-13 20:04:24 +02:00
update: common/helpers/listItems
This commit is contained in:
committed by
Franz Liedke
parent
9d8374208f
commit
873f489fec
@@ -30,21 +30,29 @@ export default function listItems(items) {
|
||||
if (!(items instanceof Array)) items = [items];
|
||||
|
||||
return withoutUnnecessarySeparators(items).map((item) => {
|
||||
const isListItem = item.component && item.component.isListItem;
|
||||
const active = item.component && item.component.isActive && item.component.isActive(item.props);
|
||||
const className = item.props ? item.props.itemClassName : item.itemClassName;
|
||||
const isListItem = item.tag && item.tag.isListItem;
|
||||
const active = item.tag && item.tag.isActive && item.tag.isActive(item.attrs);
|
||||
const className = (item.attrs && item.attrs.itemClassName) || item.itemClassName;
|
||||
|
||||
if (isListItem) {
|
||||
item.attrs = item.attrs || {};
|
||||
item.attrs.key = item.attrs.key || item.itemName;
|
||||
item.key = item.attrs.key;
|
||||
}
|
||||
|
||||
return isListItem ? (
|
||||
const node = isListItem ? (
|
||||
item
|
||||
) : (
|
||||
<li className={classList([item.itemName ? 'item-' + item.itemName : '', className, active ? 'active' : ''])} key={item.itemName}>
|
||||
<li
|
||||
className={classList(className, item.itemName && `item-${item.itemName}`, active && 'active')}
|
||||
key={(item.attrs && item.attrs.key) || item.itemName}
|
||||
>
|
||||
{item}
|
||||
</li>
|
||||
);
|
||||
|
||||
node.state = node.state || {};
|
||||
|
||||
return node;
|
||||
});
|
||||
}
|
||||
|
Reference in New Issue
Block a user