Merge UI startup in to a single routine
Makes it easier to see how things are connected.
This commit is contained in:
parent
9334c68241
commit
c6606a5caf
67
app/ui.js
67
app/ui.js
|
@ -20,6 +20,8 @@ import * as WebUtil from "./webutil.js";
|
||||||
|
|
||||||
const PAGE_TITLE = "noVNC";
|
const PAGE_TITLE = "noVNC";
|
||||||
|
|
||||||
|
const LINGUAS = ["cs", "de", "el", "es", "fr", "it", "ja", "ko", "nl", "pl", "pt_BR", "ru", "sv", "tr", "zh_CN", "zh_TW"];
|
||||||
|
|
||||||
const UI = {
|
const UI = {
|
||||||
|
|
||||||
connected: false,
|
connected: false,
|
||||||
|
@ -42,20 +44,23 @@ const UI = {
|
||||||
reconnectCallback: null,
|
reconnectCallback: null,
|
||||||
reconnectPassword: null,
|
reconnectPassword: null,
|
||||||
|
|
||||||
prime() {
|
async start() {
|
||||||
return WebUtil.initSettings().then(() => {
|
// Set up translations
|
||||||
if (document.readyState === "interactive" || document.readyState === "complete") {
|
try {
|
||||||
return UI.start();
|
await l10n.setup(LINGUAS, "app/locale/");
|
||||||
}
|
} catch (err) {
|
||||||
|
Log.Error("Failed to load translations: " + err);
|
||||||
|
}
|
||||||
|
|
||||||
return new Promise((resolve, reject) => {
|
// Initialize setting storage
|
||||||
document.addEventListener('DOMContentLoaded', () => UI.start().then(resolve).catch(reject));
|
await WebUtil.initSettings();
|
||||||
|
|
||||||
|
// Wait for the page to load
|
||||||
|
if (document.readyState !== "interactive" && document.readyState !== "complete") {
|
||||||
|
await new Promise((resolve, reject) => {
|
||||||
|
document.addEventListener('DOMContentLoaded', resolve);
|
||||||
});
|
});
|
||||||
});
|
}
|
||||||
},
|
|
||||||
|
|
||||||
// Render default UI and initialize settings menu
|
|
||||||
start() {
|
|
||||||
|
|
||||||
UI.initSettings();
|
UI.initSettings();
|
||||||
|
|
||||||
|
@ -70,22 +75,20 @@ const UI = {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Try to fetch version number
|
// Try to fetch version number
|
||||||
fetch('./package.json')
|
try {
|
||||||
.then((response) => {
|
let response = await fetch('./package.json');
|
||||||
if (!response.ok) {
|
if (!response.ok) {
|
||||||
throw Error("" + response.status + " " + response.statusText);
|
throw Error("" + response.status + " " + response.statusText);
|
||||||
}
|
}
|
||||||
return response.json();
|
|
||||||
})
|
let packageInfo = await response.json();
|
||||||
.then((packageInfo) => {
|
Array.from(document.getElementsByClassName('noVNC_version')).forEach(el => el.innerText = packageInfo.version);
|
||||||
Array.from(document.getElementsByClassName('noVNC_version')).forEach(el => el.innerText = packageInfo.version);
|
} catch (err) {
|
||||||
})
|
Log.Error("Couldn't fetch package.json: " + err);
|
||||||
.catch((err) => {
|
Array.from(document.getElementsByClassName('noVNC_version_wrapper'))
|
||||||
Log.Error("Couldn't fetch package.json: " + err);
|
.concat(Array.from(document.getElementsByClassName('noVNC_version_separator')))
|
||||||
Array.from(document.getElementsByClassName('noVNC_version_wrapper'))
|
.forEach(el => el.style.display = 'none');
|
||||||
.concat(Array.from(document.getElementsByClassName('noVNC_version_separator')))
|
}
|
||||||
.forEach(el => el.style.display = 'none');
|
|
||||||
});
|
|
||||||
|
|
||||||
// Adapt the interface for touch screen devices
|
// Adapt the interface for touch screen devices
|
||||||
if (isTouchDevice) {
|
if (isTouchDevice) {
|
||||||
|
@ -129,8 +132,6 @@ const UI = {
|
||||||
// Show the connect panel on first load unless autoconnecting
|
// Show the connect panel on first load unless autoconnecting
|
||||||
UI.openConnectPanel();
|
UI.openConnectPanel();
|
||||||
}
|
}
|
||||||
|
|
||||||
return Promise.resolve(UI.rfb);
|
|
||||||
},
|
},
|
||||||
|
|
||||||
initFullscreen() {
|
initFullscreen() {
|
||||||
|
@ -1766,10 +1767,6 @@ const UI = {
|
||||||
*/
|
*/
|
||||||
};
|
};
|
||||||
|
|
||||||
// Set up translations
|
UI.start();
|
||||||
const LINGUAS = ["cs", "de", "el", "es", "fr", "it", "ja", "ko", "nl", "pl", "pt_BR", "ru", "sv", "tr", "zh_CN", "zh_TW"];
|
|
||||||
l10n.setup(LINGUAS, "app/locale/")
|
|
||||||
.catch(err => Log.Error("Failed to load translations: " + err))
|
|
||||||
.then(UI.prime);
|
|
||||||
|
|
||||||
export default UI;
|
export default UI;
|
||||||
|
|
Loading…
Reference in New Issue