From a1d940c932947752f97863d33f3a62a333f4c6ee Mon Sep 17 00:00:00 2001 From: Hermann <blumh@student.ethz.ch> Date: Mon, 30 Apr 2018 22:33:25 +0200 Subject: [PATCH] option to add groups --- src/groups/newGroup.js | 27 +++++++++++++++++++++++++++ src/groups/overview.js | 9 ++++++++- src/index.js | 2 ++ 3 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 src/groups/newGroup.js diff --git a/src/groups/newGroup.js b/src/groups/newGroup.js new file mode 100644 index 0000000..2b88252 --- /dev/null +++ b/src/groups/newGroup.js @@ -0,0 +1,27 @@ +import m from 'mithril'; +import EditView from '../views/editView'; +import { RaisedButton } from 'polythene-mithril'; + + +export default class NewGroup extends EditView { + constructor(vnode) { + super(vnode, 'groups', {}); + this.callback = () => { m.route.set('/groups'); }; + } + + view() { + const submitButton = m(RaisedButton, { + disabled: !this.valid, + label: 'Submit', + events: { onclick: () => { this.submit(); } }, + }); + + return m('div.mywrapper', [ + m('h3', 'Add a New Group'), + ...this.renderPage({ + name: { type: 'text', label: 'Group Name'}, + }), + submitButton, + ]); + } +} diff --git a/src/groups/overview.js b/src/groups/overview.js index be8acda..e1f051b 100644 --- a/src/groups/overview.js +++ b/src/groups/overview.js @@ -33,8 +33,15 @@ export default class GroupList { if (!this.data) return ''; return m( - 'div', { style: { display: 'flex' } }, + 'div', { style: { display: 'flex', 'flex-wrap': 'wrap' } }, this.data.map(item => m(GroupItem, item)), + m('div', { + style: { + padding: '20px', + 'max-width': '500px', + }, + onclick: () => { m.route.set('/newgroup'); }, + }, m(Card, { content: [{ primary: { title: '+ add' } }] })), ); } } diff --git a/src/index.js b/src/index.js index a21e823..7ff710a 100644 --- a/src/index.js +++ b/src/index.js @@ -4,6 +4,7 @@ import GroupList from './groups/overview'; import viewGroup from './groups/viewGroup'; import { UserModal, UserTable, NewUser } from './users/userTool'; import { MembershipView } from './membershipTool'; +import NewGroup from './groups/newGroup'; import EventTable from './events/table'; import newEvent from './events/newEvent'; import EventModal from './events/eventModal'; @@ -35,6 +36,7 @@ m.route(root, '/users', { '/eventwithexport': layoutWith(eventWithExport), '/groups': layoutWith(GroupList), '/groups/:id': layoutWith(viewGroup), + '/newgroup': layoutWith(NewGroup), '/oauthcallback': OauthRedirect, // '/announce': layoutWith(AnnounceTool), }); -- GitLab