diff --git a/package.json b/package.json index 82f0a6ae8084be82b6157dbf83aa8dde7b562f3d..a3fbb69d77893c191e8c9a98e3623cf9d8cf2395 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "author": "Hermann Blum et al", "dependencies": { "ajv": "^5.5.0", + "announcetool": "git+ssh://git@gitlab.ethz.ch:amiv/amivapi-announce-tool.git#webpack-version", "axios": "^0.17.1", "babel": "^6.23.0", "babel-core": "^6.26.0", diff --git a/src/announceTool.js b/src/announceTool.js new file mode 100644 index 0000000000000000000000000000000000000000..8a1ee3e8fca23332a12a6f1f71e268d7f0fee78c --- /dev/null +++ b/src/announceTool.js @@ -0,0 +1,25 @@ +import renderAnnounce from 'announcetool'; + +const m = require('mithril'); + +export default class AnnounceTool { + oninit() { + console.log(renderAnnounce); + } + + view() { + return m('div', [ + m('div#tableset', [ + m('p#events'), + m('div#buttonrow', [ + m('button#preview.btn.btn-default', 'Preview'), + m('button#reset.btn.btn-default', 'Reset'), + m('button#send.btn.btn-default', 'Send'), + ]), + ]), + m('br'), + m('hr'), + m('textarea#target'), + ]); + } +} diff --git a/src/index.js b/src/index.js index d9677b5052aeb0dbad4730f6cca3eaa1ffcbaff2..65a081e321cec9bdfc7ec1051747ba7ff14a07b4 100644 --- a/src/index.js +++ b/src/index.js @@ -3,6 +3,7 @@ import TableView from './views/tableView'; import { UserModal, UserTable, NewUser } from './userTool'; import { MembershipView } from './membershipTool'; import Sidebar from './sidebar'; +import AnnounceTool from './announceTool'; const m = require('mithril'); @@ -51,4 +52,5 @@ m.route(root, '/users', { }, }), '/login': LoginScreen, + '/announce': layoutWith(AnnounceTool), }); diff --git a/webpack.config.js b/webpack.config.js index 528aa8a33b1abc2d186f0a8d842c8a68576a7f22..c97cbe04099d64507f2ffaa2c9cc9f988e3d4b7c 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,5 +1,7 @@ const publicPath = '/dist'; +const webpack = require('webpack'); + const config = { context: `${__dirname}/src`, // `__dirname` is root of project @@ -20,6 +22,14 @@ const config = { index: 'index.html', }, + plugins: [ + new webpack.ProvidePlugin({ + $: 'jquery', + jQuery: 'jquery', + 'windows.jQuery': 'jquery', + }), + ], + module: { rules: [ { @@ -50,6 +60,17 @@ const config = { }, ], }, + { + test: /node_modules\/announcetool.*\.(html|css)$/, + use: [ + { + loader: 'file-loader', + options: { + publicPath, + }, + }, + ], + }, ], },