Newer
Older
import { RaisedButton, TextField } from 'polythene-mithril';
import SelectList from '../views/selectList';
import DatalistController from '../listcontroller';
export default class NewGroup extends EditView {
constructor(vnode) {
super(vnode, 'groups', { moderator: 1 });
this.userController = new DatalistController(
'users', {},
['firstname', 'lastname', 'email', 'nethz'],
);
const submitButton = m(RaisedButton, {
disabled: !this.valid,
label: 'Submit',
events: {
onclick: () => {
// excahgne moderator object with string of id
const { moderator } = this.data;
if (moderator) { this.data.moderator = `${moderator._id}`; }
this.submit();
},
},
});
return m('div.mywrapper', [
m('h3', 'Add a New Group'),
...this.renderPage({
name: { type: 'text', label: 'Group Name' },
allow_self_enrollment: {
type: 'checkbox',
label: 'the group can be seen by all users and they can subscribe themselves',
},
requires_storage: {
type: 'checkbox',
label: "the group shares a folder with it's members in the AMIV Cloud",
}
m('div', { style: { display: 'flex' } }, [
m(TextField, { label: 'Group Moderator: ', disabled: true, style: { width: '160px' } }),
m('div', { style: { 'flex-grow': 1 } }, m(SelectList, {
controller: this.userController,
selection: this.data.moderator,
listTileAttrs: user => Object.assign({}, { title: `${user.firstname} ${user.lastname}` }),
selectedText: user => `${user.firstname} ${user.lastname}`,
onSelect: (data) => {
if (data) {
this.data.moderator = data;
} else if (this.data.moderator) {
delete this.data.moderator;
}
},
})),
]),