@launchmenu/core
Version:
An environment for visual keyboard controlled applets
35 lines • 3.38 kB
JavaScript
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=
;