UNPKG

@launchmenu/launcher

Version:
76 lines 4.87 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.InstallerWindow = void 0; const electron_1 = require("electron"); const path_1 = __importDefault(require("path")); class InstallerWindow { /** * Creates a new installer window, which can be used to visualize the current installation step. */ constructor() { } /** * Initializes the window */ init() { return new Promise(res => { electron_1.ipcMain.once("ready", () => { this.window.show(); res(); }); this.window = new electron_1.BrowserWindow({ title: "LM setup", width: 400, height: 250, frame: false, show: false, resizable: false, webPreferences: { nodeIntegration: true, }, icon: path_1.default.join(__dirname, "..", "icon.png"), }); this.window.loadFile(path_1.default.join(__dirname, "index.html")); if (DEV) this.window.webContents.openDevTools(); }); } /** * Retrieves the initial applets to be installed, by asking the user for it * @returns The selected applets to install */ async getInitialApplets() { this.setState({ type: "configuring", name: "applets" }); return new Promise((res, rej) => { electron_1.ipcMain.once("selectApplets", (event, applets) => { res(applets); }); }); } /** * Sets the state to be displayed in the window * @param state The state to be displayed * @returns The selected value if a prompt state was specified */ async setState(state) { this.window.webContents.send("state", state); if (state.type == "prompt") { return new Promise(res => { electron_1.ipcMain.once("clickButton", (event, index) => { res(state.buttons[index].value); }); }); } return Promise.resolve(); } /** * Closes the window */ close() { this.window.close(); } } exports.InstallerWindow = InstallerWindow; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5zdGFsbGVyV2luZG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2luc3RhbGxlcldpbmRvdy9JbnN0YWxsZXJXaW5kb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsdUNBQWdEO0FBQ2hELGdEQUF3QjtBQUV4QixNQUFhLGVBQWU7SUFHeEI7O09BRUc7SUFDSCxnQkFBc0IsQ0FBQztJQUV2Qjs7T0FFRztJQUNJLElBQUk7UUFDUCxPQUFPLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3JCLGtCQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ25CLEdBQUcsRUFBRSxDQUFDO1lBQ1YsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksd0JBQWEsQ0FBQztnQkFDNUIsS0FBSyxFQUFFLFVBQVU7Z0JBQ2pCLEtBQUssRUFBRSxHQUFHO2dCQUNWLE1BQU0sRUFBRSxHQUFHO2dCQUNYLEtBQUssRUFBRSxLQUFLO2dCQUNaLElBQUksRUFBRSxLQUFLO2dCQUNYLFNBQVMsRUFBRSxLQUFLO2dCQUNoQixjQUFjLEVBQUU7b0JBQ1osZUFBZSxFQUFFLElBQUk7aUJBQ3hCO2dCQUNELElBQUksRUFBRSxjQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDO2FBQy9DLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGNBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFDekQsSUFBSSxHQUFHO2dCQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxpQkFBaUI7UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBQyxDQUFDLENBQUM7UUFDdEQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUM1QixrQkFBTyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxLQUFLLEVBQUUsT0FBaUIsRUFBRSxFQUFFO2dCQUN2RCxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDakIsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLFFBQVEsQ0FBSSxLQUFnQjtRQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzdDLElBQUksS0FBSyxDQUFDLElBQUksSUFBSSxRQUFRLEVBQUU7WUFDeEIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDckIsa0JBQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQWEsRUFBRSxFQUFFO29CQUNqRCxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDcEMsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDLENBQUMsQ0FBQztTQUNOO1FBQ0QsT0FBTyxPQUFPLENBQUMsT0FBTyxFQUF1QixDQUFDO0lBQ2xELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUs7UUFDUixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3hCLENBQUM7Q0FDSjtBQXhFRCwwQ0F3RUMifQ==