From 01d7c53e3eeb8b49846f9293d2dade943fb85328 Mon Sep 17 00:00:00 2001 From: NADAL Jean-Baptiste Date: Thu, 3 Aug 2017 23:09:23 +0200 Subject: [PATCH] WIP for lightings... --- src/prog/dashboard2/src/components/Lights.vue | 29 +++++++++++ src/prog/dashboard2/src/models/api.js | 51 +++++++++++++++++++ src/prog/dashboard2/src/models/event-bus.js | 2 + src/prog/dashboard2/src/models/lights.js | 15 ++++++ 4 files changed, 97 insertions(+) create mode 100644 src/prog/dashboard2/src/models/api.js create mode 100644 src/prog/dashboard2/src/models/event-bus.js create mode 100644 src/prog/dashboard2/src/models/lights.js diff --git a/src/prog/dashboard2/src/components/Lights.vue b/src/prog/dashboard2/src/components/Lights.vue index af97a13c..22472403 100644 --- a/src/prog/dashboard2/src/components/Lights.vue +++ b/src/prog/dashboard2/src/components/Lights.vue @@ -2,6 +2,35 @@

Lights

diff --git a/src/prog/dashboard2/src/models/api.js b/src/prog/dashboard2/src/models/api.js new file mode 100644 index 00000000..a3d9245e --- /dev/null +++ b/src/prog/dashboard2/src/models/api.js @@ -0,0 +1,51 @@ +import axios from 'axios' + +/* + * Make the Request and call onSuccess method on the call back object. + */ + +export default { + + request (route, data = 0, callback) { + axios({ + method: route.method, + url: this.server + route.url, + data: data, + timeout: this.timeout + }).then(function (response) { + // console.log('response...') + if (callback && callback.onSuccess) { + callback.onSuccess(response.data) + } + }) + }, + // server: '', + server: 'http://192.168.1.6:8081', + timeout: 1000, + route: { + + /* + * The route tree for the Domo APIs. + */ + lights: { + get: { + url: '/v1/capabilities/lights', + method: 'get' + }, + set: { + url: '/v1/capabilities/lights', + method: 'post' + } + }, + sprinklers: { + get: { + url: '/v1/capabilities/sprinklers', + method: 'get' + }, + set: { + url: '/v1/capabilities/sprinklers', + method: 'post' + } + } + } +} diff --git a/src/prog/dashboard2/src/models/event-bus.js b/src/prog/dashboard2/src/models/event-bus.js new file mode 100644 index 00000000..d64d4799 --- /dev/null +++ b/src/prog/dashboard2/src/models/event-bus.js @@ -0,0 +1,2 @@ +import Vue from 'vue' +export const EventBus = new Vue() diff --git a/src/prog/dashboard2/src/models/lights.js b/src/prog/dashboard2/src/models/lights.js new file mode 100644 index 00000000..e6e49a73 --- /dev/null +++ b/src/prog/dashboard2/src/models/lights.js @@ -0,0 +1,15 @@ +import api from './api' + +export default { + + // get cpu info + lights: { + get (callback) { + api.request(api.route.lights.get, callback) + }, + set (light, callback) { + var msg = '{"id": ' + light.id + ', "state": ' + light.state + '}' + api.request(api.route.lights.set, msg, callback) + } + } +}