corporate-frontend-mithril
Version:
Corporate frontend MithrilJS modules
37 lines (30 loc) • 1.01 kB
JavaScript
const ViewModel = require('./link-list-std-vm');
const vmHelper = require('../../lib/helpers/view-models');
const FPO = require('fpo');
module.exports = function() {
let vm = ViewModel();
let onbeforeupdate = vmHelper.pickAttrsStdFn({vm, props:['list','nextFn']});
let view = function() {
return vm.list && m('.b-component', {'b-js-el': vm.id}, [
vm.list.map( obj => {
return m('a.b-link.b-link--block', Object.assign(
{
href: obj.href || 'javascript:void(0);',
},
vm.nextFn && {
onclick: FPO.unapply({
fn: FPO.partial({fn: vm.nextFn, args: {obj}}),
props: ['e'],
}),
}
), [
m('span', `${obj.name}`),
]);
}),
]);
};
return {
onbeforeupdate,
view,
};
};