42 lines
1.2 KiB
JavaScript
42 lines
1.2 KiB
JavaScript
function ComponentUsers() {
|
|
let data = {
|
|
users: null,
|
|
};
|
|
function user_render(user, userIdx) {
|
|
let odd = '';
|
|
if (userIdx % 2) {
|
|
odd = ' bg-light'
|
|
};
|
|
return m('div', {class: 'row'},
|
|
m('div', {class: "col py-2" + odd}, [
|
|
m(m.route.Link, {class: "text-decoration-none", href: `/user/${user.id}`}, user.name),
|
|
])
|
|
)
|
|
};
|
|
function users_render() {
|
|
return data.users.map(user_render);
|
|
};
|
|
return {
|
|
oninit: function(vnode) {
|
|
console.log('ComponentUsers.oninit');
|
|
for (let key in vnode.attrs){
|
|
data[key] = vnode.attrs[key];
|
|
};
|
|
},
|
|
onupdate: function(vnode) {
|
|
console.log('ComponentUsers.onupdate');
|
|
for (let key in vnode.attrs){
|
|
data[key] = vnode.attrs[key];
|
|
};
|
|
},
|
|
view: function() {
|
|
console.log('ComponentUsers.view');
|
|
if (data.users!=null) {
|
|
let result = [];
|
|
result.push(users_render());
|
|
return result;
|
|
};
|
|
}
|
|
};
|
|
};
|