summaryrefslogtreecommitdiff
path: root/www/src/app.js
diff options
context:
space:
mode:
authorngharo <nick@ngha.ro>2018-01-03 19:47:41 -0600
committerngharo <nick@ngha.ro>2018-01-03 19:47:41 -0600
commit1f4160511f4853de614355f45b94152fbd19e29e (patch)
tree77e144270ae0ecf8cebe8857246bb75ae6092013 /www/src/app.js
parentf920c7da0618fd9f4181c2c78ef054e324185355 (diff)
downloadimOk-www-master.tar.xz
imOk-www-master.zip
-~-~ Under Construction ~-~-~~~~~HEADmaster
Diffstat (limited to 'www/src/app.js')
-rw-r--r--www/src/app.js68
1 files changed, 68 insertions, 0 deletions
diff --git a/www/src/app.js b/www/src/app.js
new file mode 100644
index 0000000..214572c
--- /dev/null
+++ b/www/src/app.js
@@ -0,0 +1,68 @@
+//const Vue = require('vue');
+//const buttonList = require('./buttonList.vue');
+const r = require('./request.js')('/v1');
+
+function create() {
+ this.ready = false;
+ r.post('/button').then(response => {
+ if (response.ok) {
+ response.json().then(button => {
+ this.buttons.push(button);
+ this.ready = true;
+ });
+ }
+ });
+}
+
+function update(index) {
+ var button = this.buttons[index];
+
+ this.ready = false;
+ r.put('/button', button).then(() => {
+ this.ready = true;
+ });
+}
+
+function remove(index) {
+ var button = this.buttons[index];
+
+ this.ready = false;
+ r.delete('/button', button).then(response => {
+ if (response.ok) {
+ response.json().then(() => {
+ this.buttons.splice(index, 1);
+ this.ready = true;
+ });
+ }
+ });
+}
+
+const $app = new Vue({
+ el: '#container',
+ data: {
+ ready: false,
+ buttons: []
+ },
+ methods: {
+ create,
+ remove,
+ update
+ }
+});
+
+// GET /button
+r.get('/button').then(response => {
+ if (response.ok) {
+ return response.json();
+ }
+
+ throw new Error(response.status);
+
+}).then(data => {
+ $app.buttons = data;
+ $app.ready = true;
+
+}).catch(err => {
+ console.log('Request failed with error:', err.message);
+});
+