Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import m from 'mithril';
import { Card } from 'polythene-mithril';
import DatalistController from '../listcontroller';
class GroupItem {
view({ attrs: { name, _id }}) {
return m('div', {
style: {
padding: '20px',
'max-width': '500px',
},
onclick: () => {
m.route.set(`/groups/${_id}`);
},
}, m(Card, { content: [{ primary: { title: name } }] }));
}
}
export default class GroupList {
constructor() {
this.ctrl = new DatalistController('groups', {}, ['name']);
this.data = [];
this.ctrl.getPageData(1).then((data) => {
this.data = data;
m.redraw();
});
}
view() {
if (!this.data) return '';
return m(
'div', { style: { display: 'flex' } },
this.data.map(item => m(GroupItem, item)),
);
}
}