FUNCT Basic support to launch apps
authorHumberto Alfonso Díaz <humberto.alfonso@asvito.es>
Fri, 21 Jun 2019 09:00:42 +0000 (11:00 +0200)
committerLorenzo Tilve <ltilve@igalia.com>
Tue, 4 Feb 2020 08:42:15 +0000 (09:42 +0100)
src/index.html
src/index.js
src/js/app.js
src/styles/main.scss

index f280ebe..2821653 100644 (file)
@@ -8,12 +8,12 @@
     <body>
         <div id="AppContainer" class="parent">
             <script id="item-template" type="x-tmpl-mustache">
-                <div class="item">
+                <a href="#" class="item" app-id="{{ id }}" onclick="window.launch(this);">
                     <img class="icon" src="{{ icon }}" onload="SVGInject(this);">
                     <div class="name">
                         {{ name }}
                     </div>
-                </div>
+                </a>
             </script>
         </div>
         <div class="log" id="log">
index 7ffa614..007f72f 100644 (file)
@@ -1,7 +1,11 @@
 /* JS */
 import '@iconfu/svg-inject';
 import './js/AFB.js';
-import './js/app.js';
+import { init, launch } from './js/app.js';
 
 /* CSS */
 import './styles/app.scss';
+
+window.launch = launch;
+
+document.addEventListener('DOMContentLoaded', init);
\ No newline at end of file
index fccf04e..9c65e4f 100644 (file)
@@ -46,14 +46,35 @@ function load_application_list() {
     });
 }
 
-function init() {
+export function launch(app) {
+    var appId = app.getAttribute('app-id');
+    var ws = new afb.ws(function() {
+        var api_verb = "afm-main/start";
+        var request = {id: appId};
+        ws.call(api_verb, request).then(
+            function(obj) {
+                log("success: " + obj.response);
+            },
+            function(obj) {
+                //TODO Manage errors
+                log("failure");
+            }
+        );
+    },
+    function() {
+        //TODO Manage errors
+        log("ws aborted");
+    });
+}
+
+export function init() {
     template = document.getElementById('item-template').innerHTML;
     Mustache.parse(template);
+
+    // host: "raspberrypi3.local:31022",
     afb = new AFB({
-        host: "raspberrypi3.local:31022",
+        host: host+":"+port,
         token: token
     });
     load_application_list();
-}
-
-document.addEventListener('DOMContentLoaded', init);
\ No newline at end of file
+}
\ No newline at end of file
index 1c6220e..a72b94b 100644 (file)
@@ -23,6 +23,9 @@ body {
         height: 100%;
 
         .item {
+            color: map-get($colors, font);
+            text-decoration: none;
+
             .icon {
                 width: 100%;
                 height: 100%;