setInitStatus params
the function now takes an object parameter percent -> progress + hiddenProgress
This commit is contained in:
parent
5cd430c41a
commit
48edbda431
|
@ -101,21 +101,31 @@ export default class {
|
|||
|
||||
/**
|
||||
* Sets the value of the progress bar, adds status to the list about status.
|
||||
* @param {*} percent Doesn't change the progress if not a number.
|
||||
* @param {string} status Doesn't add the label if not a string.
|
||||
* @param {boolean} clear Previous labels will be deleted before adding a new one `status`.
|
||||
* @returns
|
||||
* @param {object} options Object
|
||||
* @param {*} [options.progress] Doesn't change the progress if not a number.
|
||||
* @param {boolean} [options.hiddenProgress] The progress bar will be hidden if is true.
|
||||
* @param {*} [options.status] Doesn't add the label if not a string.
|
||||
* @param {boolean} [options.clear] Previous labels will be deleted before adding a new one `status`.
|
||||
*/
|
||||
static setInitStatus(percent = null, status = "", clear = false) {
|
||||
static setInitStatus(options = {}) {
|
||||
if(typeof options != 'object' || Array.isArray(options)) {
|
||||
options = {};
|
||||
}
|
||||
const {progress, status, clear, hiddenProgress} = options;
|
||||
return new Promise(
|
||||
rs => {
|
||||
if(isFinite(percent)) {
|
||||
if (percent > 100) percent = 100;
|
||||
if (percent < 0) percent = 0;
|
||||
ProgressBar.style.width = percent + "%";
|
||||
if(hiddenProgress) {
|
||||
ProgressBar.style.display = "none";
|
||||
} else {
|
||||
ProgressBar.style.display = "block";
|
||||
};
|
||||
if(Number.isFinite(progress)) {
|
||||
if (progress > 100) progress = 100;
|
||||
if (progress < 0) progress = 0;
|
||||
ProgressBar.style.width = progress + "%";
|
||||
};
|
||||
if(clear) {
|
||||
StatusListContainer.innerHTML = "";
|
||||
StatusListContainer.innerHTML = "";
|
||||
};
|
||||
if (typeof status == "string") {
|
||||
let StatusContainer = document.createElement("div");
|
||||
|
|
|
@ -31,59 +31,59 @@ export default new class Core {
|
|||
|
||||
// Load css early
|
||||
Logger.log("Startup", "Injecting BD Styles");
|
||||
await LoadingInterface.setInitStatus(1/stepsCount*100, "Injecting BD Styles...");
|
||||
await LoadingInterface.setInitStatus({ progress: 1/stepsCount*100, status: "Injecting BD Styles..."});
|
||||
DOMManager.injectStyle("bd-stylesheet", Styles.toString());
|
||||
|
||||
Logger.log("Startup", "Initializing DataStore");
|
||||
await LoadingInterface.setInitStatus(2/stepsCount*100, "Initializing DataStore...");
|
||||
await LoadingInterface.setInitStatus({ progress: 2/stepsCount*100, status: "Initializing DataStore..."});
|
||||
DataStore.initialize();
|
||||
|
||||
Logger.log("Startup", "Initializing LocaleManager");
|
||||
await LoadingInterface.setInitStatus(3/stepsCount*100, "Initializing LocaleManager...");
|
||||
await LoadingInterface.setInitStatus({ progress: 3/stepsCount*100, status: "Initializing LocaleManager..."});
|
||||
LocaleManager.initialize();
|
||||
|
||||
Logger.log("Startup", "Initializing Settings");
|
||||
await LoadingInterface.setInitStatus(5/stepsCount*100, "Initializing Settings...");
|
||||
await LoadingInterface.setInitStatus({ progress: 5/stepsCount*100, status: "Initializing Settings..."});
|
||||
Settings.initialize();
|
||||
|
||||
Logger.log("Startup", "Initializing DOMManager");
|
||||
await LoadingInterface.setInitStatus(6/stepsCount*100, "Initializing DOMManager...");
|
||||
await LoadingInterface.setInitStatus({ progress: 6/stepsCount*100, status: "Initializing DOMManager..."});
|
||||
DOMManager.initialize();
|
||||
|
||||
Logger.log("Startup", "Waiting for connection...");
|
||||
await LoadingInterface.setInitStatus(7/stepsCount*100, "Waiting for connection...");
|
||||
await LoadingInterface.setInitStatus({ progress: 7/stepsCount*100, status: "Waiting for connection..."});
|
||||
await this.waitForConnection();
|
||||
|
||||
Logger.log("Startup", "Initializing Editor");
|
||||
await LoadingInterface.setInitStatus(8/stepsCount*100, "Initializing Editor...");
|
||||
await LoadingInterface.setInitStatus({ progress: 8/stepsCount*100, status: "Initializing Editor..."});
|
||||
await Editor.initialize();
|
||||
|
||||
Logger.log("Startup", "Initializing Modals");
|
||||
await LoadingInterface.setInitStatus(8/stepsCount*100, "Initializing Modals...");
|
||||
await LoadingInterface.setInitStatus({ progress: 8/stepsCount*100, status: "Initializing Modals..."});
|
||||
await Modals.initialize();
|
||||
|
||||
Logger.log("Startup", "Initializing Builtins");
|
||||
await LoadingInterface.setInitStatus(9/stepsCount*100, "Initializing Builtins...");
|
||||
await LoadingInterface.setInitStatus({ progress: 9/stepsCount*100, status: "Initializing Builtins..."});
|
||||
for (const module in Builtins) {
|
||||
Builtins[module].initialize();
|
||||
}
|
||||
|
||||
Logger.log("Startup", "Loading Plugins");
|
||||
// const pluginErrors = [];
|
||||
await LoadingInterface.setInitStatus(10/stepsCount*100, "Loading Plugins...");
|
||||
await LoadingInterface.setInitStatus({ progress: 10/stepsCount*100, status: "Loading Plugins..."});
|
||||
const pluginErrors = PluginManager.initialize();
|
||||
|
||||
Logger.log("Startup", "Loading Themes");
|
||||
// const themeErrors = [];
|
||||
await LoadingInterface.setInitStatus(11/stepsCount*100, "Loading Themes...");
|
||||
await LoadingInterface.setInitStatus({ progress: 11/stepsCount*100, status: "Loading Themes..."});
|
||||
const themeErrors = ThemeManager.initialize();
|
||||
|
||||
Logger.log("Startup", "Initializing Updater");
|
||||
await LoadingInterface.setInitStatus(12/stepsCount*100, "Initializing Updater...");
|
||||
await LoadingInterface.setInitStatus({ progress: 12/stepsCount*100, status: "Initializing Updater..."});
|
||||
Updater.initialize();
|
||||
|
||||
Logger.log("Startup", "Removing Loading Interface");
|
||||
await LoadingInterface.setInitStatus(100, "Done", true);
|
||||
await LoadingInterface.setInitStatus({ progress: 100, status: "Done" });
|
||||
LoadingInterface.hide();
|
||||
|
||||
// Show loading errors
|
||||
|
|
Loading…
Reference in New Issue