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