@launchmenu/core
Version:
An environment for visual keyboard controlled applets
40 lines • 3.03 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.handleCopyPasteInput = void 0;
const copyText_1 = require("../copyText");
const isFieldControlsSettingsFolder_1 = require("./isFieldControlsSettingsFolder");
const InsertTextCommand_1 = require("../commands/InsertTextCommand");
const PasteTextCommand_1 = require("../commands/PasteTextCommand");
/**
* Handles copying and pasting of text
* @param event The event to test
* @param targetField The text field to perform the event for
* @param patterns The key patterns to detect, or the base settings to extract them from
* @returns Whether the event was caught
*/
async function handleCopyPasteInput(event, { textField, onChange }, patterns) {
if (isFieldControlsSettingsFolder_1.isFieldControlsSettingsFolder(patterns))
patterns = {
copy: patterns.copy.get(),
cut: patterns.cut.get(),
paste: patterns.paste.get(),
};
if (patterns.copy.matches(event)) {
if (await copyText_1.copyText(textField))
return true;
}
if (patterns.cut.matches(event)) {
if (await copyText_1.copyText(textField)) {
onChange(new InsertTextCommand_1.InsertTextCommand(textField, ""));
return true;
}
}
if (patterns.paste.matches(event)) {
const cmd = new PasteTextCommand_1.PasteTextCommand(textField);
onChange(cmd);
if (await cmd.pasted)
return true;
}
}
exports.handleCopyPasteInput = handleCopyPasteInput;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlQ29weVBhc3RlSW5wdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdGV4dEZpZWxkcy9pbnRlcmFjdGlvbi9rZXlIYW5kbGVyL2hhbmRsZUNvcHlQYXN0ZUlucHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDBDQUFxQztBQUtyQyxtRkFBOEU7QUFFOUUscUVBQWdFO0FBQ2hFLG1FQUE4RDtBQUU5RDs7Ozs7O0dBTUc7QUFDSSxLQUFLLFVBQVUsb0JBQW9CLENBQ3RDLEtBQWUsRUFDZixFQUFDLFNBQVMsRUFBRSxRQUFRLEVBQWtCLEVBQ3RDLFFBTW9FO0lBRXBFLElBQUksNkRBQTZCLENBQUMsUUFBUSxDQUFDO1FBQ3ZDLFFBQVEsR0FBRztZQUNQLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUN6QixHQUFHLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDdkIsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFO1NBQzlCLENBQUM7SUFFTixJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQzlCLElBQUksTUFBTSxtQkFBUSxDQUFDLFNBQVMsQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDO0tBQzlDO0lBQ0QsSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUM3QixJQUFJLE1BQU0sbUJBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUMzQixRQUFRLENBQUMsSUFBSSxxQ0FBaUIsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMvQyxPQUFPLElBQUksQ0FBQztTQUNmO0tBQ0o7SUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQy9CLE1BQU0sR0FBRyxHQUFHLElBQUksbUNBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsSUFBSSxNQUFNLEdBQUcsQ0FBQyxNQUFNO1lBQUUsT0FBTyxJQUFJLENBQUM7S0FDckM7QUFDTCxDQUFDO0FBaENELG9EQWdDQyJ9
;