From e0689347461d06dad46c2fada3368851b0eb7eb5 Mon Sep 17 00:00:00 2001 From: Hermann Blum <hermannsblum@yahoo.de> Date: Tue, 5 Dec 2017 17:58:49 +0100 Subject: [PATCH] add displaying of memberships --- src/membershipTool.js | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/membershipTool.js diff --git a/src/membershipTool.js b/src/membershipTool.js new file mode 100644 index 0000000..e662be9 --- /dev/null +++ b/src/membershipTool.js @@ -0,0 +1,39 @@ +import EditView from './views/editView'; +import SelectList from './views/selectList'; + +const m = require('mithril'); + +export class MembershipView extends EditView { + constructor(vnode) { + super(vnode, 'groupmemberships', { user: 1, group: 1 }); + } + + view() { + // do not render anything if there is no data yet + if (!this.data) return m.trust(''); + + return m('div', [ + m('h1', `${this.data.user.firstname} ${this.data.user.lastname}`), + m('br'), + m('strong', 'is member in'), + m('br'), + m('h1', this.data.group.name), + m('br'), + m('span', this.data.expiry), + ]); + } +} + +export class NewMembership { + constructor() { + this.selectUser = new SelectList('users', ['firstname', 'lastname'], { + view(vnode) { + return m('span', `${vnode.attrs.firstname} ${vnode.attrs.lastname}`); + }, + }); + } + + view() { + return m(this.selectUser); + } +} -- GitLab