setInitStatus params

the function now takes an object parameter

percent -> progress
+ hiddenProgress
This commit is contained in:
Mopsgamer 2022-12-13 18:48:09 +01:00
parent 5cd430c41a
commit 48edbda431
2 changed files with 33 additions and 23 deletions

View File

@ -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");

View File

@ -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