@@ -5,6 +5,7 @@ var pkg = require('../../../package');
55var registerComponent = require ( '../../core/component' ) . registerComponent ;
66
77var INSPECTOR_URL = pkg . homepage + 'releases/' + pkg . version + '/aframe-inspector.min.js' ;
8+ var LOADING_MESSAGE = 'Loading Inspector' ;
89
910module . exports . Component = registerComponent ( 'inspector' , {
1011 schema : {
@@ -14,10 +15,18 @@ module.exports.Component = registerComponent('inspector', {
1415 init : function ( ) {
1516 this . onKeydown = bind ( this . onKeydown , this ) ;
1617 this . onMessage = bind ( this . onMessage , this ) ;
18+ this . initOverlay ( ) ;
1719 window . addEventListener ( 'keydown' , this . onKeydown ) ;
1820 window . addEventListener ( 'message' , this . onMessage ) ;
1921 } ,
2022
23+ initOverlay : function ( ) {
24+ var dotsHTML = '<span class="dots"><span>.</span><span>.</span><span>.</span></span>' ;
25+ this . loadingMessageEl = document . createElement ( 'div' ) ;
26+ this . loadingMessageEl . classList . add ( 'a-inspector-loader' ) ;
27+ this . loadingMessageEl . innerHTML = LOADING_MESSAGE + dotsHTML ;
28+ } ,
29+
2130 remove : function ( ) {
2231 this . removeEventListeners ( ) ;
2332 } ,
@@ -31,6 +40,14 @@ module.exports.Component = registerComponent('inspector', {
3140 this . injectInspector ( ) ;
3241 } ,
3342
43+ showLoader : function ( ) {
44+ document . body . appendChild ( this . loadingMessageEl ) ;
45+ } ,
46+
47+ hideLoader : function ( ) {
48+ this . el . removeChild ( this . loadingMessageEl ) ;
49+ } ,
50+
3451 /**
3552 * postMessage. aframe.io uses this to create a button on examples to open Inspector.
3653 */
@@ -44,13 +61,16 @@ module.exports.Component = registerComponent('inspector', {
4461
4562 if ( AFRAME . INSPECTOR || AFRAME . inspectorInjected ) { return ; }
4663
64+ this . showLoader ( ) ;
65+
4766 // Inject.
4867 script = document . createElement ( 'script' ) ;
4968 script . src = this . data . url ;
5069 script . setAttribute ( 'data-name' , 'aframe-inspector' ) ;
5170 script . setAttribute ( AFRAME_INJECTED , '' ) ;
5271 script . onload = function ( ) {
5372 AFRAME . INSPECTOR . open ( ) ;
73+ self . hideLoader ( ) ;
5474 self . removeEventListeners ( ) ;
5575 } ;
5676 document . head . appendChild ( script ) ;
0 commit comments