-- Leo's gemini proxy
-- Connecting to git.thebackupbox.net:1965...
-- Connected
-- Sending request
-- Meta line: 20 text/gemini
repo: janusweb action: commit revision: path_from: revision_from: 6583de20edba378c67ccf829e54b00a09d61b94b: path_to: revision_to:
commit 6583de20edba378c67ccf829e54b00a09d61b94b Author: James Baicoianu <james_github@baicoianu.com> Date: Sun Jan 22 00:34:25 2017 -0800 Initialize sharing and preload screen diff --git a/scripts/client.js b/scripts/client.js
--- a/scripts/client.js +++ b/scripts/client.js @@ -59,6 +59,8 @@ elation.require(['engine.engine', 'engine.assets', 'engine.things.light_ambient' }); elation.component.add('janusweb.client', function() { this.initEngine = function() { + this.initLoader(); + var hashargs = elation.url(); this.enginecfg.stats = false; @@ -77,6 +79,9 @@ elation.require(['engine.engine', 'engine.assets', 'engine.things.light_ambient' this.enginecfg.picking = true; this.buttons = elation.ui.buttonbar({append: document.body, classname: 'janusweb_ui_buttons'}) + setTimeout(elation.bind(this, function() { + this.initSharing(); + }), 0); } this.initWorld = function() { var things = this.world.load({ @@ -108,6 +113,36 @@ elation.require(['engine.engine', 'engine.assets', 'engine.things.light_ambient' this.ui = elation.janusweb.ui({append: document.body, client: this}); } } + this.initLoader = function() { + var loader = document.getElementsByClassName('engine_loading')[0]; + if (loader) { + var logo = loader.getElementsByTagName('svg')[0]; + var label = loader.getElementsByClassName('janusweb_loading_status')[0]; + this.loadingscreen = { + container: loader, + logo: logo, + label: label + }; + elation.events.add(this, 'engine_error', elation.bind(this, this.handleEngineError)); + elation.events.add(this.engine, 'engine_start', elation.bind(this, this.handleEngineStart)); + } + } + this.handleEngineStart = function(ev) { + if (this.loadingscreen) { + this.loadingscreen.container.parentNode.removeChild(this.loadingscreen.container); + } + } + this.handleEngineError = function(ev) { + console.log('omg error!', ev); + if (this.loadingscreen) { + this.loadingscreen.label.innerHTML = 'Error!'; + elation.html.addclass(this.loadingscreen.container, 'state_error'); + var err = ev.data; + var msg = err.message + '\n' + err.stack; + + var errordiv = elation.html.create({tag: 'pre', append: this.loadingscreen.container, content: msg, classname: 'janusweb_error'}); + } + } this.showAbout = function() { var aboutwin = elation.ui.window({append: document.body, center: true, title: 'About JanusWeb'}); var frame = elation.ui.iframe({src: 'http://github.com/jbaicoianu/janusweb/', classname: 'janusweb_about'});
-----END OF PAGE-----
-- Response ended
-- Page fetched on Sun Jun 2 17:37:03 2024