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