| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- /**
- * DevExtreme (ui/text_box/utils.caret.js)
- * Version: 19.1.16
- * Build date: Tue Oct 18 2022
- *
- * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED
- * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
- */
- "use strict";
- var _renderer = require("../../core/renderer");
- var _renderer2 = _interopRequireDefault(_renderer);
- var _type = require("../../core/utils/type");
- var _browser = require("../../core/utils/browser");
- var _browser2 = _interopRequireDefault(_browser);
- var _devices = require("../../core/devices");
- var _devices2 = _interopRequireDefault(_devices);
- var _dom_adapter = require("../../core/dom_adapter");
- var _dom_adapter2 = _interopRequireDefault(_dom_adapter);
- function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : {
- "default": obj
- }
- }
- var _devices$real = _devices2.default.real(),
- ios = _devices$real.ios,
- mac = _devices$real.mac;
- var isFocusingOnCaretChange = _browser2.default.msie || ios || mac;
- var getCaret = function(input) {
- var range;
- try {
- range = {
- start: input.selectionStart,
- end: input.selectionEnd
- }
- } catch (e) {
- range = {
- start: 0,
- end: 0
- }
- }
- return range
- };
- var setCaret = function(input, position) {
- if (!_dom_adapter2.default.getBody().contains(input)) {
- return
- }
- try {
- input.selectionStart = position.start;
- input.selectionEnd = position.end
- } catch (e) {}
- };
- var caret = function(input, position) {
- input = (0, _renderer2.default)(input).get(0);
- if (!(0, _type.isDefined)(position)) {
- return getCaret(input)
- }
- if (isFocusingOnCaretChange && _dom_adapter2.default.getActiveElement() !== input) {
- return
- }
- setCaret(input, position)
- };
- module.exports = caret;
|