1
0
mirror of https://github.com/flarum/core.git synced 2025-08-15 04:44:08 +02:00

update: common/helpers/listItems

This commit is contained in:
Matthew Kilgore
2020-08-04 20:02:59 -04:00
committed by Franz Liedke
parent 9d8374208f
commit 873f489fec

View File

@@ -30,21 +30,29 @@ export default function listItems(items) {
if (!(items instanceof Array)) items = [items]; if (!(items instanceof Array)) items = [items];
return withoutUnnecessarySeparators(items).map((item) => { return withoutUnnecessarySeparators(items).map((item) => {
const isListItem = item.component && item.component.isListItem; const isListItem = item.tag && item.tag.isListItem;
const active = item.component && item.component.isActive && item.component.isActive(item.props); const active = item.tag && item.tag.isActive && item.tag.isActive(item.attrs);
const className = item.props ? item.props.itemClassName : item.itemClassName; const className = (item.attrs && item.attrs.itemClassName) || item.itemClassName;
if (isListItem) { if (isListItem) {
item.attrs = item.attrs || {}; item.attrs = item.attrs || {};
item.attrs.key = item.attrs.key || item.itemName; item.attrs.key = item.attrs.key || item.itemName;
item.key = item.attrs.key;
} }
return isListItem ? ( const node = isListItem ? (
item 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} {item}
</li> </li>
); );
node.state = node.state || {};
return node;
}); });
} }