diff --git a/package.json b/package.json index 29ab01a0424c3058ad917de84610eded5a8d8273..60600c421b90556105293bff9afe5854a737c61d 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 76988f4249c9530258a2e167e970ef6e810fc462..d365be89c739ef79879cee73d682f8ac803a09d2 100644 --- a/src/index.js +++ b/src/index.js @@ -2,6 +2,7 @@ import LoginScreen from './login'; import TableView from './views/tableView'; import { UserModal, UserTable, NewUser } from './userTool'; import Sidebar from './sidebar'; +import AnnounceTool from './announceTool'; const m = require('mithril'); @@ -49,4 +50,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, + }, + }, + ], + }, ], },