From bf03eef7e8a9d7dcef9f1e739a364be8fb73f7e6 Mon Sep 17 00:00:00 2001 From: Fulup Ar Foll Date: Thu, 28 Jan 2016 17:03:18 +0100 Subject: Update INFO+Stop --- afm-client/app/Backend/RestApis/AfmMainMockApi.js | 17 +++++++++ .../Frontend/widgets/ActionButtons/AppliButton.js | 44 +++++++++++++++++----- 2 files changed, 51 insertions(+), 10 deletions(-) diff --git a/afm-client/app/Backend/RestApis/AfmMainMockApi.js b/afm-client/app/Backend/RestApis/AfmMainMockApi.js index e615e59..1715c21 100644 --- a/afm-client/app/Backend/RestApis/AfmMainMockApi.js +++ b/afm-client/app/Backend/RestApis/AfmMainMockApi.js @@ -48,6 +48,23 @@ function NewApi(handle, prefix) { res.send(Response); }); + + handle.app.get (prefix +'/detail', function (req, res) { + var apps = { + "webapps-rabbit@0.0": {id: "webapps-rabbit@0.0", version: "0.0.8", name: "Rabbit", description: "Fun grid game where the rabbit finds and eats the carrots dodging the foxes.", shortname: "", author: "Todd Brandt " }, + "webapps-annex@0.0": {id: "webapps-annex@0.0", version: "0.0.10", name: "Annex", description: "Reversi/Othello", shortname: "", author: "Todd Brandt " }, + "webapps-memory-match@1.1": {id: "webapps-memory-match@1.1", version: "1.1.7", name: "MemoryMatch", description: "Memory match", shortname: "", author: "Todd Brandt " } + }; + + var Response= { jtype: "AJB_reply", + request: { "prefix": "afm-main", "api": "detail", "uuid": "e4ef5e66-xxxx", "token": "123456789-xxxxx", "status": "processed" }, + response: apps[req.query.id] + }; + + /* "jtype":"AJB_reply","request":{"prefix":"afm-main","api":"runnables","status":"processed"},"response":{"runnables":[{"id":"webapps-annex@0.0","version":"0.0.10","width":0,"height":0,"name":"Annex","description":"Reversi/Othello","shortname":"","author":"Todd Brandt "},{"id":"webapps-rabbit@0.0","version":"0.0.8","width":0,"height":0,"name":"Rabbit","description":"Fun grid game where the rabbit finds and eats the carrots dodging the foxes.","shortname":"","author":"Todd Brandt "}]}}*/ + + res.send(Response); + }); } // Export Class diff --git a/afm-client/app/Frontend/widgets/ActionButtons/AppliButton.js b/afm-client/app/Frontend/widgets/ActionButtons/AppliButton.js index a17ebc9..f54c5b0 100644 --- a/afm-client/app/Frontend/widgets/ActionButtons/AppliButton.js +++ b/afm-client/app/Frontend/widgets/ActionButtons/AppliButton.js @@ -29,13 +29,24 @@ var tmplModal = '×' + '' + - 'Application {{name}}' + + 'Application {{label}}' + '' + ''; + + var tmplDetail = + '×' + + '' + + 'Application {{label}}' + + '
    ' + + '
  • Name : {{detail.name}}
  • ' + + '
  • Description {{detail.description}}
  • ' + + '
  • Author : {{detail.author}}
  • ' + + '
' + + ''; angular.module('AppliButton', []) .directive('appliButton', function (AppConfig, AppCall, ModalFactory, Notification, $timeout) { @@ -47,13 +58,13 @@ Notification.error ({message: "Fail /api/afm-main" + api + "=" + scope.label + " RunID="+ scope.appID, delay: 5000}); elem.addClass ("fail"); elem.removeClass ("success"); - scope.callback (scope.appliID, api, response); + scope.callback (scope.appID, api, response); }; var notifySuccess = function (api, response) { elem.removeClass ("fail"); scope.runID = response.data.response.runid; - scope.callback (scope.appliID, "/api/afm-main/start", response); + scope.callback (scope.appID, "/api/afm-main/start", response); }; var closeModal = function() { @@ -67,8 +78,8 @@ switch (action) { case "start": - AppCall.get ("afm-main", "start", {id: scope.appliID}, function(response) { - if (response.status !== 200 || response.data.request.jtype !== "AJB_reply") { + AppCall.get ("afm-main", "start", {id: scope.appID}, function(response) { + if (response.status !== 200 || response.data.jtype !== "AJB_reply") { notifyError ("start", response); return; } @@ -79,7 +90,7 @@ case "stop": AppCall.get ("afm-main", "stop", {id: scope.runID}, function(response) { - if (response.status !== 200 || response.data.request.jtype !== "AJB_reply") { + if (response.status !== 200 || response.data.jtype !== "AJB_reply") { notifyError ("stop", response); return; } @@ -90,12 +101,25 @@ case "info": AppCall.get ("afm-main", "detail", {id: scope.appID}, function(response) { - if (response.status !== 200 || response.data.request.jtype !== "AJB_reply") { + if (response.status !== 200 || response.data.jtype !== "AJB_reply") { notifyError ("detail", response); return; } - - notifySuccess ("detail", response); + + // reference http://foundation.zurb.com/apps/docs/#!/angular-modules + var config = { + animationIn: 'slideInFromTop', + contentScope: { + close : closeModal, + icon : scope.icon, + label : scope.appID, + detail : response.data.response + }, template : tmplDetail + }; + // Popup Modal to render application data + scope.modal = new ModalFactory(config); + scope.modal.activate (); + }); break; @@ -127,7 +151,7 @@ if (attrs.handle && scope.store [attrs.handle].name) { scope.icon = AppConfig.paths.icons + scope.store [attrs.handle].name.toLowerCase() + '-ico.png'; scope.label = scope.store [attrs.handle].name; - scope.appliID= attrs.handle; + scope.appID= attrs.handle; } else { scope.icon = AppConfig.paths.icons + 'w3c-ico.png'; scope.label = attrs.handle; -- cgit 1.2.3-korg