UNPKG

@launchmenu/core

Version:

An environment for visual keyboard controlled applets

35 lines 2.97 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.handleIndentInput = void 0; const InsertTextCommand_1 = require("../../commands/InsertTextCommand"); const isFieldControlsSettingsFolder_1 = require("../../keyHandler/isFieldControlsSettingsFolder"); const IndentTextCommand_1 = require("../IndentTextCommand"); /** * Handles tab inputs * @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 * @param indentCharacters The characters to use for indentation * @returns Whether the event was caught */ function handleIndentInput(event, { textField, onChange }, patterns, indentCharacters = " ".repeat(4)) { if (isFieldControlsSettingsFolder_1.isFieldControlsSettingsFolder(patterns)) patterns = { indent: patterns.indent.get(), dedent: patterns.dedent.get(), }; if (patterns.indent.matches(event)) { const selection = textField.getSelection(); if (selection.start == selection.end) onChange(new InsertTextCommand_1.InsertTextCommand(textField, indentCharacters)); else onChange(new IndentTextCommand_1.IndentTextCommand(textField, 1, indentCharacters)); return true; } if (patterns.dedent.matches(event)) { onChange(new IndentTextCommand_1.IndentTextCommand(textField, -1, indentCharacters)); return true; } } exports.handleIndentInput = handleIndentInput; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlSW5kZW50SW5wdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdGV4dEZpZWxkcy9pbnRlcmFjdGlvbi9hZHZhbmNlZC9rZXloYW5kbGVyL2hhbmRsZUluZGVudElucHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHdFQUFtRTtBQUNuRSxrR0FBNkY7QUFFN0YsNERBQXVEO0FBRXZEOzs7Ozs7O0dBT0c7QUFDSCxTQUFnQixpQkFBaUIsQ0FDN0IsS0FBZSxFQUNmLEVBQUMsU0FBUyxFQUFFLFFBQVEsRUFBa0IsRUFDdEMsUUFLb0UsRUFDcEUsbUJBQTJCLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBRXhDLElBQUksNkRBQTZCLENBQUMsUUFBUSxDQUFDO1FBQ3ZDLFFBQVEsR0FBRztZQUNQLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUM3QixNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7U0FDaEMsQ0FBQztJQUVOLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDaEMsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzNDLElBQUksU0FBUyxDQUFDLEtBQUssSUFBSSxTQUFTLENBQUMsR0FBRztZQUNoQyxRQUFRLENBQUMsSUFBSSxxQ0FBaUIsQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDOztZQUM1RCxRQUFRLENBQUMsSUFBSSxxQ0FBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQztRQUVyRSxPQUFPLElBQUksQ0FBQztLQUNmO0lBQ0QsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUNoQyxRQUFRLENBQUMsSUFBSSxxQ0FBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLE9BQU8sSUFBSSxDQUFDO0tBQ2Y7QUFDTCxDQUFDO0FBN0JELDhDQTZCQyJ9