corporate-frontend-mithril
Version:
Corporate frontend MithrilJS modules
33 lines (27 loc) • 990 B
JavaScript
const ViewModel = require('./form-radio-vm');
const vmHelper = require('../../lib/helpers/view-models');
module.exports = function() {
let vm = ViewModel();
let vFn = vmHelper.pickAttrsStdFn({
vm,
props:['vFn','title', 'groupName', 'options', 'isStyleInline'],
});
let view = function() {
return m('.b-form-control', [
vm.title && m('p.b-form-control__label', vm.title),
vm.options && m('.b-form-control__wrapper', vm.options.map((obj)=> {
return m(`.b-input-group${vm.isStyleInline ? '.b-input-group--inline' : ''}`, [
m('label.b-input-group__control b-radio b-text--normal-weight', [
m('input.b-radio__control', vm.getAttrs(obj)),
m('span.b-radio__text', obj.name),
]),
]);
})),
]);
};
return {
oninit: vFn,
onbeforeupdate: vFn,
view,
};
};