UNPKG

@launchmenu/core

Version:

An environment for visual keyboard controlled applets

35 lines 3.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.fileInputExecuteHandler = void 0; const electron_1 = require("electron"); const createAction_1 = require("../../../../../actions/createAction"); const SetFieldCommand_1 = require("../../../../../undoRedo/commands/SetFieldCommand"); const editExecuteHandler_1 = require("../../../../../actions/types/execute/types/editExecuteHandler"); /** * A simple execute handler for updating file fields * TODO: Add some way of configuring this handler, such that a file explorer applet can take over this task */ exports.fileInputExecuteHandler = createAction_1.createAction({ name: "file input", parents: [editExecuteHandler_1.editExecuteHandler], core: (data) => ({ children: data.map(({ field, folder, undoable }) => editExecuteHandler_1.editExecuteHandler.createBinding(async ({ context }) => { const { LM } = context.session || {}; // Counteract keys not being released when losing focus, TODO: fix having to do this LM === null || LM === void 0 ? void 0 : LM.getKeyHandler().resetKeys(); const result = await electron_1.remote.dialog.showOpenDialog({ properties: [folder ? "openDirectory" : "openFile"], defaultPath: field.get(), }); const path = result.filePaths[0]; if (!result.canceled && path) { if (undoable) return new SetFieldCommand_1.SetFieldCommand(field, path); field.set(path); } // Open LM after losing focus again LM === null || LM === void 0 ? void 0 : LM.setWindowOpen(true); })), }), }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZUlucHV0RXhlY3V0ZUhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWVudXMvaXRlbXMvaW5wdXRzL2hhbmRsZXJzL2ZpbGUvZmlsZUlucHV0RXhlY3V0ZUhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdUNBQWdDO0FBQ2hDLHNFQUFpRTtBQUVqRSxzRkFBaUY7QUFDakYsc0dBQWlHO0FBRWpHOzs7R0FHRztBQUNVLFFBQUEsdUJBQXVCLEdBQUcsMkJBQVksQ0FBQztJQUNoRCxJQUFJLEVBQUUsWUFBWTtJQUNsQixPQUFPLEVBQUUsQ0FBQyx1Q0FBa0IsQ0FBQztJQUM3QixJQUFJLEVBQUUsQ0FBQyxJQUE2QixFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLFFBQVEsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBQyxFQUFFLEVBQUUsQ0FDN0MsdUNBQWtCLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxFQUFDLE9BQU8sRUFBQyxFQUFFLEVBQUU7WUFDakQsTUFBTSxFQUFDLEVBQUUsRUFBQyxHQUFHLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1lBRW5DLG9GQUFvRjtZQUNwRixFQUFFLGFBQUYsRUFBRSx1QkFBRixFQUFFLENBQUUsYUFBYSxHQUFHLFNBQVMsR0FBRztZQUVoQyxNQUFNLE1BQU0sR0FBRyxNQUFNLGlCQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQztnQkFDOUMsVUFBVSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztnQkFDbkQsV0FBVyxFQUFFLEtBQUssQ0FBQyxHQUFHLEVBQUU7YUFDM0IsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxJQUFJLEVBQUU7Z0JBQzFCLElBQUksUUFBUTtvQkFBRSxPQUFPLElBQUksaUNBQWUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ3RELEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDbkI7WUFFRCxtQ0FBbUM7WUFDbkMsRUFBRSxhQUFGLEVBQUUsdUJBQUYsRUFBRSxDQUFFLGFBQWEsQ0FBQyxJQUFJLEVBQUU7UUFDNUIsQ0FBQyxDQUFDLENBQ0w7S0FDSixDQUFDO0NBQ0wsQ0FBQyxDQUFDIn0=