diff options
Diffstat (limited to 'afm-client/app/Frontend/widgets/ActionButtons')
-rw-r--r-- | afm-client/app/Frontend/widgets/ActionButtons/AppliButton.js | 44 |
1 files changed, 34 insertions, 10 deletions
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 = '<b class="close-button" ng-click="close()">×</b>' + '<img ng-src="{{icon}}">' + - '<span class="modal-text">Application <b>{{name}}</b></span>' + + '<span class="modal-text">Application <b>{{label}}</b></span>' + '<ul class="vertical icon-left primary menu-bar">' + '<li><a ng-click=action("start")><i class="fi-check"> Start</i></a></li>' + '<li><a ng-click=action("stop")><i class="fi-x"> Stop</i></a></li>' + '<li><a ng-click=action("info")><i class="fi-info"> Info</i></a></li>' + '</ul>' + ''; + + var tmplDetail = + '<b class="close-button" ng-click="close()">×</b>' + + '<img ng-src="{{icon}}">' + + '<span class="modal-text">Application <b>{{label}}</b></span>' + + '<ul class="vertical icon-left">' + + '<li><i class="fi-paperclip"> Name : {{detail.name}} </i></li>' + + '<li><i class="fi-info"> Description {{detail.description}}</i></li>' + + '<li><i class="fi-torso"> Author : {{detail.author}}</i></li>' + + '</ul>' + + ''; 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; |