From e8ba27ec678294d50a32e43e969bdb89eeb0ef5b Mon Sep 17 00:00:00 2001 From: nightwing Date: Sun, 17 Dec 2017 12:11:39 +0400 Subject: [PATCH] do not hide loader until the theme is ready --- plugins/c9.vfs.standalone/views/standalone.html.ejs | 7 ++++++- plugins/c9.vfs.standalone/www/ide.html | 7 ++++++- plugins/c9.vfs.standalone/www/ide.offline.html | 12 ++++++++++-- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/plugins/c9.vfs.standalone/views/standalone.html.ejs b/plugins/c9.vfs.standalone/views/standalone.html.ejs index d51634aa..62140524 100644 --- a/plugins/c9.vfs.standalone/views/standalone.html.ejs +++ b/plugins/c9.vfs.standalone/views/standalone.html.ejs @@ -106,7 +106,12 @@ var waitSettings = function(fn) { settings.inited ? fn() : settings.once("read", fn); }; - waitVfs(waitSettings.bind(null, window.hideLoader)); + var waitTheme = function(fn) { + var layout = app.services.layout; + if (!layout || layout.hasTheme) return fn(); + layout.once("eachTheme", fn); + }; + waitSettings(waitTheme.bind(null, window.hideLoader)); } } }, function loadError(mod) { diff --git a/plugins/c9.vfs.standalone/www/ide.html b/plugins/c9.vfs.standalone/www/ide.html index 7fa80b70..d5299556 100644 --- a/plugins/c9.vfs.standalone/www/ide.html +++ b/plugins/c9.vfs.standalone/www/ide.html @@ -166,7 +166,12 @@ var waitSettings = function(fn) { settings.inited ? fn() : settings.once("read", fn); }; - waitVfs(waitSettings.bind(null, window.hideLoader)); + var waitTheme = function(fn) { + var layout = app.services.layout; + if (!layout || layout.hasTheme) return fn(); + layout.once("eachTheme", fn); + }; + waitTheme(waitSettings.bind(null, window.hideLoader)); } } }, function loadError(mod) { diff --git a/plugins/c9.vfs.standalone/www/ide.offline.html b/plugins/c9.vfs.standalone/www/ide.offline.html index 8c0c977c..99df905f 100644 --- a/plugins/c9.vfs.standalone/www/ide.offline.html +++ b/plugins/c9.vfs.standalone/www/ide.offline.html @@ -4,7 +4,7 @@ Cloud9 - + @@ -50,6 +50,8 @@ function previewHelper(options, imports, register) { var fs = imports.fs; var tabs = imports.tabManager; + if (typeof BroadcastChannel !== "function") + return register(); var bc = new BroadcastChannel("livePreview"); bc.onmessage = function(e) { var data = e.data; @@ -238,7 +240,13 @@ var waitSettings = function(fn) { settings.inited ? fn() : settings.once("read", fn); }; - waitVfs(waitSettings.bind(null, window.hideLoader)); + + var waitTheme = function(fn) { + var layout = app.services.layout; + if (!layout || layout.hasTheme) return fn(); + layout.once("eachTheme", fn); + }; + waitSettings(waitTheme.bind(null, window.hideLoader)); } } }, function loadError(mod) {