From 5091f1254706e63618bdb8250ee1ace06b4d9d0a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lionel=20Tr=C3=A9buchon?= <ltrebuchon@gmail.com>
Date: Sun, 18 Mar 2018 13:20:14 +0100
Subject: [PATCH] [creation] - Allow radio button behaviour, built 'data' list
 to be used for event export.

---
 src/events/newEvent.js | 26 ++++++++++++++++++++------
 1 file changed, 20 insertions(+), 6 deletions(-)

diff --git a/src/events/newEvent.js b/src/events/newEvent.js
index ddc37b1..1aef5b2 100644
--- a/src/events/newEvent.js
+++ b/src/events/newEvent.js
@@ -13,13 +13,12 @@ const style = [
 ];
 styler.add('event-add', style);
 
-
 export default class newEvent extends EditView {
   constructor(vnode) {
     super(vnode, 'events', {});
     this.currentpage = 1;
+    this.data = {};
   }
-
   addOne() {
     this.currentpage = this.currentpage + 1;
     if (this.currentpage === 5) {
@@ -91,16 +90,18 @@ export default class newEvent extends EditView {
       },
       priority: {
         label: 'Priority',
-      }
+      },
     };
 
     const iconRight = m(
-      IconButton, { events: { onclick: () => { this.addOne(); } } },
+      IconButton,
+      { events: { onclick: () => { this.addOne(); } } },
       m(SVG, m.trust(icons.ArrowRight)),
     );
 
     const iconLeft = m(
-      IconButton, { events: { onclick: () => { this.subOne(); } } },
+      IconButton,
+      { events: { onclick: () => { this.subOne(); } } },
       m(SVG, m.trust(icons.ArrowLeft)),
     );
 
@@ -126,6 +127,12 @@ export default class newEvent extends EditView {
       defaultChecked: false,
       label: 'Allow non AMIV Members?',
       value: '100',
+      onChange: (state) => {
+        this.allow_email_signup = state.checked;
+        this.data.allow_email_signup = state.checked;
+        console.log(this.data); // Temp proof of concept.
+      },
+      checked: this.allow_email_signup,
     });
 
     const radioButtonSelectionMode = m(RadioGroup, {
@@ -140,10 +147,16 @@ export default class newEvent extends EditView {
           label: 'Selection made by organizer',
         },
       ],
+      onChange: (state) => {
+        this.selection_strategy = state.value;
+        this.data.selection_strategy = state.value;
+        console.log(this.data); // Temp proof of concept.
+      },
+      value: this.selection_strategy,
     });
 
     const title = [
-      'Create an Event', 'When and Where?', 'Signups', 'Advertisement'
+      'Create an Event', 'When and Where?', 'Signups', 'Advertisement',
     ][this.currentpage - 1];
 
     // checks currentPage and selects the fitting page
@@ -182,6 +195,7 @@ export default class newEvent extends EditView {
           label: 'Location',
           floatingLabel: true,
         })),
+        radioButtonSelectionMode, checkboxAllowMail,
       ]),
       m('div', {
         style: {
-- 
GitLab