UNPKG

@launchmenu/core

Version:

An environment for visual keyboard controlled applets

37 lines 2.78 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.moveCursorHorizontal = void 0; const getJumpTokenPos_1 = require("./getJumpTokenPos"); /** * Moves the cursor horizontally (left or right, positive is right) * @param textField The text field ot move the cursor for * @param direction The movement direction * @param expandSelection Whether to alter the current text selection * @param jumpWord Whether to jump a whole word (moving a word incros instead of a character) */ function moveCursorHorizontal(textField, direction = 1, expandSelection, jumpWord) { const selection = textField.getSelection(); // Determine the position to jump to let end; if (jumpWord) end = getJumpTokenPos_1.getJumpTokenPos(textField.get(), selection.end, direction); else end = selection.end + direction; // If we want to expand the selection, only change the end if (expandSelection) textField.setSelection({ start: selection.start, end, }); // Otherwise move both to the end index else { let index; if (selection.start != selection.end) index = Math[direction > 0 ? "max" : "min"](selection.end, selection.start); else index = end; textField.setSelection({ start: index, end: index }); } } exports.moveCursorHorizontal = moveCursorHorizontal; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW92ZUN1cnNvckhvcml6b250YWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGV4dEZpZWxkcy9pbnRlcmFjdGlvbi9tb3ZlQ3Vyc29ySG9yaXpvbnRhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx1REFBa0Q7QUFFbEQ7Ozs7OztHQU1HO0FBQ0gsU0FBZ0Isb0JBQW9CLENBQ2hDLFNBQXFCLEVBQ3JCLFlBQW9CLENBQUMsRUFDckIsZUFBeUIsRUFDekIsUUFBa0I7SUFFbEIsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBRTNDLG9DQUFvQztJQUNwQyxJQUFJLEdBQVcsQ0FBQztJQUNoQixJQUFJLFFBQVE7UUFBRSxHQUFHLEdBQUcsaUNBQWUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEVBQUUsU0FBUyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQzs7UUFDMUUsR0FBRyxHQUFHLFNBQVMsQ0FBQyxHQUFHLEdBQUcsU0FBUyxDQUFDO0lBRXJDLDBEQUEwRDtJQUMxRCxJQUFJLGVBQWU7UUFDZixTQUFTLENBQUMsWUFBWSxDQUFDO1lBQ25CLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSztZQUN0QixHQUFHO1NBQ04sQ0FBQyxDQUFDO0lBQ1AsdUNBQXVDO1NBQ2xDO1FBQ0QsSUFBSSxLQUFhLENBQUM7UUFDbEIsSUFBSSxTQUFTLENBQUMsS0FBSyxJQUFJLFNBQVMsQ0FBQyxHQUFHO1lBQ2hDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQzs7WUFDM0UsS0FBSyxHQUFHLEdBQUcsQ0FBQztRQUVqQixTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztLQUN0RDtBQUNMLENBQUM7QUE1QkQsb0RBNEJDIn0=