Source: pages/loadingSometing/loadingSomethingPage.js

/**
 * Page used by {@link PageManager} if the requested page has to initialize itself before it can be shown.
 * @extends Page
 */
class LoadingSomethingPage extends Page{
    constructor() {
        let content = {
            pgrBar: new ProgressBar(),
            spinner: new Spinner(),
        }
        super(content, "loading-page-container");
    }

    setup() {
        if (!super.beforeSetup()) return;

        this.pageDiv.appendChild(this.content.spinner.setup())

        super.afterSetup();
    }

    show() {
        let page = document.getElementById(this.id);
        page.classList.add("slide-in-right");
        page.style.display = "block";
        return Promise.resolve(true)
    }
}