From 64ffd7a9f9604805c01f8bb2fd32616c3adf3ec0 Mon Sep 17 00:00:00 2001 From: Romain Forlot Date: Tue, 2 May 2017 19:47:36 +0200 Subject: Initial commit Change-Id: I536251add63ef100b42a67e39a02fef117f2b414 Signed-off-by: Romain Forlot --- .../app/Frontend/pages/SampleHome/SampleHome.html | 30 +++++++++ .../app/Frontend/pages/SampleHome/SampleHome.js | 63 +++++++++++++++++++ .../app/Frontend/pages/SampleHome/SampleHome.scss | 71 ++++++++++++++++++++++ 3 files changed, 164 insertions(+) create mode 100644 examples/hybrid-html5/app/Frontend/pages/SampleHome/SampleHome.html create mode 100644 examples/hybrid-html5/app/Frontend/pages/SampleHome/SampleHome.js create mode 100644 examples/hybrid-html5/app/Frontend/pages/SampleHome/SampleHome.scss (limited to 'examples/hybrid-html5/app/Frontend/pages/SampleHome') diff --git a/examples/hybrid-html5/app/Frontend/pages/SampleHome/SampleHome.html b/examples/hybrid-html5/app/Frontend/pages/SampleHome/SampleHome.html new file mode 100644 index 0000000..8ecdd64 --- /dev/null +++ b/examples/hybrid-html5/app/Frontend/pages/SampleHome/SampleHome.html @@ -0,0 +1,30 @@ + +--- +name: SampleHome +url: /sample-home +controller: SampleHomeController as ctrl +animationIn: slideInRight +--- + +

+ + App Framework - Hybrid HTML5 Client +

+ + + + +
+ + + +
+
+
+ req/res= {{ctrl.request}} + status= {{ctrl.errcode}} +
+
+ + + diff --git a/examples/hybrid-html5/app/Frontend/pages/SampleHome/SampleHome.js b/examples/hybrid-html5/app/Frontend/pages/SampleHome/SampleHome.js new file mode 100644 index 0000000..b037773 --- /dev/null +++ b/examples/hybrid-html5/app/Frontend/pages/SampleHome/SampleHome.js @@ -0,0 +1,63 @@ +(function() { +'use strict'; + +// WARNING: make sure than app/frontend/services/AppConfig.js match your server + +// list all rependencies within the page + controler if needed +angular.module('SampleHomeModule', ['SubmitButton', 'TokenRefresh','ModalNotification']) + + .controller('SampleHomeController', function (AppCall, Notification) { + var scope = this; // I hate JavaScript + scope.uuid ="none"; + scope.token ="none"; + scope.session="none"; + scope.status ="err-no"; + + console.log ("Home Controller"); + + scope.OnResponse= function(jresp, errcode) { + + // Update UI response global display zone + scope.status = jresp.request.status; + scope.errcode = errcode; + scope.request = jresp.request; + scope.response = jresp.response; + + var action=jresp.request.reqid.toUpperCase(); + + switch (action) { + case 'PING': + break; + + default: + Notification.error ({message: "Invalid RequestID:" + jresp.request.reqid , delay: 5000}); + return; + } + + // update button classes within home.html + scope.class [jresp.request.reqid]="success"; + console.log ("OK: "+ JSON.stringify(jresp)); + }; + + scope.ProcessError= function(response, errcode, config) { + Notification.error ({message: "Invalid API:" + response.request.reqid , delay: 5000}); + scope.status = "err-fx"; + scope.errcode = errcode; + scope.request = response.request; + scope.response = ""; + console.log ("FX: "+ JSON.stringify(response)); + }; + + scope.RefreshSession = function() { + console.log ("RefreshSession"); + AppCall.get ("xxxxxx", "ping", {/*query*/}, scope.OnResponse, scope.InvalidApiCall); + }; + + scope.Initialised = function () { + scope.class = {connect: "success"}; + }; + + }); + +console.log ("SampleControler Loaded"); +})(); diff --git a/examples/hybrid-html5/app/Frontend/pages/SampleHome/SampleHome.scss b/examples/hybrid-html5/app/Frontend/pages/SampleHome/SampleHome.scss new file mode 100644 index 0000000..8bf04a1 --- /dev/null +++ b/examples/hybrid-html5/app/Frontend/pages/SampleHome/SampleHome.scss @@ -0,0 +1,71 @@ +/* + * Copyright (C) 2015 "IoT.bzh" + * Author "Fulup Ar Foll" + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +@import "app/ibz-mixins"; + +$COLOR_SUCCESS: green; +$COLOR_FAIL: red; + +token-refresh { + display: block; + float: right; + margin: .5rem 1rem 0 0; +} + +.button-box { + height : 4.5rem; + + .session-button { + float: left; + width: 5rem; + }; + + .response > span{ + display: block; + margin: .3rem .5rem .3rem .5rem; + } + + .fail { + color:$COLOR_FAIL; + border: 1px solid darken($COLOR_FAIL,10%); + } + .success { + color:$COLOR_SUCCESS; + border: 1px solid darken($COLOR_SUCCESS,10%); + } + +}; + +.message-box { + height : auto; + width: 100%; + font-size: .75rem; + + .response { + .err-no { color:grey; } + .res.err-ok { color: blue; } + .req.err-ok { color:blueviolet; } + .status.err-ok { color:green; } + .status.err-fx { color:red; } + } + + +}; + + + -- cgit 1.2.3-korg