From 411f5cf23b5568cf68371704d945783255903007 Mon Sep 17 00:00:00 2001
From: Hermann Blum <hermannsblum@yahoo.de>
Date: Sat, 17 Mar 2018 03:16:10 +0100
Subject: [PATCH] add new structure and event table

---
 src/config.json     | 10 +++++-----
 src/events/table.js | 20 ++++++++++++++++++++
 src/index.js        |  3 ++-
 3 files changed, 27 insertions(+), 6 deletions(-)
 create mode 100644 src/events/table.js

diff --git a/src/config.json b/src/config.json
index c0385c4..aa3ea51 100644
--- a/src/config.json
+++ b/src/config.json
@@ -2,11 +2,11 @@
     "apiUrl": "https://amiv-api.ethz.ch/",
     "events": {
         "keyDescriptors": {
-            "title_de": "Titel auf Deutsch",
-            "title_en": "Title in English",
-            "location": "Location (Ort)",
+            "title_de": "German Title",
+            "title_en": "English Title",
+            "location": "Location",
             "show_website": "Event is shown on the website",
-            "priority": "TODO: What type of priority is meant here? Edit priority? Organization prio?",
+            "priority": "Priority",
             "time_end": "Ending time",
             "time_register_end": "Deadline for registration",
             "time_start": "Starting time",
@@ -32,8 +32,8 @@
         "tableKeys": [
             "title_de",
             "location",
-            "time_end",
             "time_start",
+            "time_end",
             "time_register_end",
             "show_website",
             "priority"
diff --git a/src/events/table.js b/src/events/table.js
new file mode 100644
index 0000000..5b53297
--- /dev/null
+++ b/src/events/table.js
@@ -0,0 +1,20 @@
+import m from 'mithril';
+import { events as config } from '../config.json';
+import TableView from '../views/tableView';
+import DatalistController from '../listcontroller';
+
+
+export default class EventTable {
+  constructor() {
+    this.ctrl = new DatalistController('events', {}, config.tableKeys);
+  }
+
+  view() {
+    return m(TableView, {
+      controller: this.ctrl,
+      keys: config.tableKeys,
+      titles: config.tableKeys.map(key => config.keyDescriptors[key] || key),
+      onAdd: () => { m.route.set('/newevent'); },
+    });
+  }
+}
diff --git a/src/index.js b/src/index.js
index a5d6241..b7f4ff7 100644
--- a/src/index.js
+++ b/src/index.js
@@ -3,7 +3,8 @@ import LoginScreen from './login';
 import TableView from './views/tableView';
 import { UserModal, UserTable, NewUser } from './userTool';
 import { MembershipView } from './membershipTool';
-import { EventTable, NewEvent, EventModal } from './eventTool';
+import { NewEvent, EventModal } from './eventTool';
+import EventTable from './events/table';
 import Sidebar from './sidebar';
 // import AnnounceTool from './announceTool';
 import './style';
-- 
GitLab