2015-04-25 20:58:39 +08:00
|
|
|
import Separator from 'flarum/components/separator';
|
|
|
|
|
|
|
|
function isSeparator(item) {
|
|
|
|
return item && item.component === Separator;
|
|
|
|
}
|
|
|
|
|
|
|
|
export default function listItems(array, noWrap) {
|
|
|
|
// Remove duplicate/unnecessary separators
|
|
|
|
var prevItem;
|
|
|
|
var newArray = [];
|
|
|
|
array.forEach(function(item, i) {
|
|
|
|
if ((!prevItem || isSeparator(prevItem) || i === array.length - 1) && isSeparator(item)) {
|
|
|
|
|
|
|
|
} else {
|
|
|
|
prevItem = item;
|
|
|
|
newArray.push(item);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
2015-05-02 07:16:52 +08:00
|
|
|
return newArray.map(item => [(noWrap && !isSeparator(item)) ? item : m('li', {className: item.wrapperClass || (item.props && item.props.wrapperClass) || (item.component && item.component.wrapperClass) || ''}, item), ' ']);
|
2015-04-25 20:58:39 +08:00
|
|
|
};
|