UNPKG

@launchmenu/core

Version:

An environment for visual keyboard controlled applets

35 lines 3.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.removeText = void 0; const performNormalizedTextEdit_1 = require("./performNormalizedTextEdit"); /** * Removes text from the text field in the given direction * @param targetField The text field to insert the text into * @param direction The amount of characters to remove and the direction (-1 == backspace) * @param caret The caret to remove the text at */ function removeText(targetField, direction = -1, caret) { performNormalizedTextEdit_1.performNormalizedTextEdit(targetField, textField => { if (!caret) caret = textField.getSelection(); const start = Math.min(caret.start, caret.end); const end = Math.max(caret.start, caret.end); let newCaretPos = start; let alterations = []; // If text is currently selected, ignore the direction and just remove it if (start != end) alterations = [{ start, end, text: "" }]; // If the direction is backwards remove before the cursor and move the cursor backwards else if (direction < 0) { alterations = [{ start: Math.max(0, start + direction), end, text: "" }]; newCaretPos = caret.start + direction; } // If the direction is forwards remove after the cursor else alterations = [{ start, end: end + direction, text: "" }]; // Return the nee changes and new selection return { alterations, selection: { start: newCaretPos, end: newCaretPos } }; }); } exports.removeText = removeText; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlVGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZXh0RmllbGRzL2ludGVyYWN0aW9uL3JlbW92ZVRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsMkVBQXNFO0FBR3RFOzs7OztHQUtHO0FBQ0gsU0FBZ0IsVUFBVSxDQUN0QixXQUE0QixFQUM1QixZQUFvQixDQUFDLENBQUMsRUFDdEIsS0FBc0I7SUFFdEIscURBQXlCLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxFQUFFO1FBQy9DLElBQUksQ0FBQyxLQUFLO1lBQUUsS0FBSyxHQUFHLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUU3QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFN0MsSUFBSSxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksV0FBVyxHQUEyQixFQUFFLENBQUM7UUFFN0MseUVBQXlFO1FBQ3pFLElBQUksS0FBSyxJQUFJLEdBQUc7WUFBRSxXQUFXLEdBQUcsQ0FBQyxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBQyxDQUFDLENBQUM7UUFDekQsdUZBQXVGO2FBQ2xGLElBQUksU0FBUyxHQUFHLENBQUMsRUFBRTtZQUNwQixXQUFXLEdBQUcsQ0FBQyxFQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxLQUFLLEdBQUcsU0FBUyxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUMsQ0FBQyxDQUFDO1lBQ3ZFLFdBQVcsR0FBRyxLQUFLLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztTQUN6QztRQUNELHVEQUF1RDs7WUFDbEQsV0FBVyxHQUFHLENBQUMsRUFBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxTQUFTLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBQyxDQUFDLENBQUM7UUFFN0QsMkNBQTJDO1FBQzNDLE9BQU8sRUFBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLEVBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFDLEVBQUMsQ0FBQztJQUM1RSxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUEzQkQsZ0NBMkJDIn0=