repo: janusweb
action: commit
revision: 
path_from: 
revision_from: 464b0728cb2cbd96d0aa897ce52a91d8b022ecab:
path_to: 
revision_to: 
git.thebackupbox.net
janusweb
git clone git://git.thebackupbox.net/janusweb
commit 464b0728cb2cbd96d0aa897ce52a91d8b022ecab
Author: James Baicoianu 
Date:   Wed May 9 12:36:48 2018 -0700

    Navigation app bugfixes

diff --git a/media/assets/webui/apps/navigation/navigation.css b/media/assets/webui/apps/navigation/navigation.css
index 29eaf77aa963d26d6a4e603bc8a336df477e113b..
index ..2e48a77ed6a9c16b74fa53c596f316c5d25c8290 100644
--- a/media/assets/webui/apps/navigation/navigation.css
+++ b/media/assets/webui/apps/navigation/navigation.css
@@ -2,6 +2,7 @@ janus-ui-navigation {
   top: .5em;
   left: .5em;
   position: relative;
+  display: flex;
 }
 janus-ui-statusindicator {
   font-size: .7em;
@@ -9,7 +10,7 @@ janus-ui-statusindicator {
   height: 5em;
   border-radius: 50%;
   border: 1px solid #999;
-  position: absolute;
+  position: relative;
   top: -1px;
   left: -1px;
   background: white;
@@ -38,15 +39,18 @@ janus-ui-statusindicator .inner:after {
   right: 0;
 }
 janus-ui-urlbar>ui-input>input {
-  margin-left: 1.5em;
   margin-top: .1em;
-  padding-left: 1.5em;
   border: 1px solid #999;
+  padding: 0 .2em;
   outline: none;
   box-shadow: 0 0 2px rgba(0,0,0,.8);
   font-size: 1.2em;
   width: 20em;
 }
+janus-ui-navigation janus-ui-urlbar>ui-input>input {
+  margin-left: -20px;
+  padding-left: 26px;
+}
 @keyframes indicator-pulsate {
   0% {
     transform: scale(1,1);
diff --git a/media/assets/webui/apps/navigation/navigation.js b/media/assets/webui/apps/navigation/navigation.js
index fa8f477a79b842704693f6c615f79b6a359187ab..
index ..58fb28c6c662702281d0a271274e6f6c0c2d0b50 100644
--- a/media/assets/webui/apps/navigation/navigation.js
+++ b/media/assets/webui/apps/navigation/navigation.js
@@ -24,7 +24,6 @@ elation.elements.define('janus.ui.navigation', class extends elation.elements.ui
   }
   updateCurrentURL() {
     var room = this.janusweb.currentroom;
-    console.log('this is the room guy', room);
   }
 });
 elation.elements.define('janus.ui.statusindicator', class extends elation.elements.ui.indicator {
@@ -41,14 +40,14 @@ elation.elements.define('janus.ui.statusindicator', class extends elation.elemen
     this.updateCurrentURL();

     this.tooltip = elation.elements.create('ui-tooltip', {
-      append: this,
+      //append: this,
     });
     setTimeout(() => { this.tooltip.hide(); }, 1000);

     this.canvas = document.createElement('canvas');
     this.inner.appendChild(this.canvas);

-    elation.events.add(this.janusweb, 'room_load_start', (ev) => this.updateCurrentURL(ev.data));
+    elation.events.add(this.janusweb, 'room_load_start', (ev) => this.updateCurrentURL());

     this.percent = 0;

@@ -82,19 +81,22 @@ elation.elements.define('janus.ui.statusindicator', class extends elation.elemen
   }
   updateCurrentURL(room) {
     if (!room) {
-      room = this.janusweb.currentroom;
+      room = this.janusweb.currentroom.getProxyObject();
     }
     if (this.room !== room) {
 //console.log('room changed!', this.room, room);

-      elation.events.add(room, 'room_load_queued', elation.bind(this, this.updateStatus, 'queued'));
-      elation.events.add(room, 'room_load_start', elation.bind(this, this.updateStatus, 'downloading'));
-      elation.events.add(room, 'room_load_processing', elation.bind(this, this.updateStatus, 'processing'));
-      elation.events.add(room, 'room_load_processed', elation.bind(this, this.updateRoomAssets));
-      elation.events.add(room, 'room_load_complete', elation.bind(this, this.updateStatus, 'complete'));
-      elation.events.add(room, 'room_load_error', elation.bind(this, this.updateStatus, 'error'));
-      elation.events.add(room, 'room_load_progress', elation.bind(this, this.updateProgress));
-      elation.events.add(room, 'room_add_asset', elation.bind(this, this.roomAddAsset));
+      // Set up some event listeners for the new room, so we can respond as it loads
+      room.addEventListener('room_load_queued', (ev) => this.updateStatus('queued', ev));
+      room.addEventListener('room_load_start', (ev) => this.updateStatus('downloading', ev));
+      room.addEventListener('room_load_processing', (ev) => this.updateStatus('processing', ev));
+      room.addEventListener('room_load_complete', (ev) => this.updateStatus('complete', ev));
+      room.addEventListener('room_load_error', (ev) => this.updateStatus('error', ev));
+
+      // Update our list of assets as they're added
+      room.addEventListener('room_load_processed', (ev) => this.updateRoomAssets(ev));
+      room.addEventListener('room_load_progress', (ev) => this.updateProgress(ev));
+      room.addEventListener('room_add_asset', (ev) => this.roomAddAsset(ev));

       this.room = room;

@@ -113,6 +115,7 @@ elation.elements.define('janus.ui.statusindicator', class extends elation.elemen
       status = 'error';
     }

+    // Set our current status as a class name on this element.  Clear our previous status, if set
     if (this.currentstatus && this.currentstatus != status) {
       this.removeclass(this.currentstatus);
     }
diff --git a/media/assets/webui/apps/navigation/navigation.json b/media/assets/webui/apps/navigation/navigation.json
index 71604d98c45ac0f96171bf336fb16ff47d71163a..
index ..0001fa389dbf5e22ae78648fb0cb0e1ba4dcbda9 100644
--- a/media/assets/webui/apps/navigation/navigation.json
+++ b/media/assets/webui/apps/navigation/navigation.json
@@ -5,6 +5,11 @@
     "janus.ui.navigation.suggestion.room": "./suggestion-room.html"
   },
   "scripts":  ["./navigation.js"],
-  "css":      ["./navigation.css"]
+  "css":      ["./navigation.css"],
+  "components": [
+    "janus-ui-navigation",
+    "janus-ui-statusindicator",
+    "janus-ui-urlbar"
+  ]
 }

-----END OF PAGE-----