![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /var/www/html/libs/absol-full/dist/js/ |
Upload File : |
/*** module: node_modules/absol-acomp/js/tokenizeiput/TITextController.js ***/ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.EMPTY_2_SPACES = void 0; var _EmojiAnims = require("../EmojiAnims"); var _Dom = _interopRequireDefault(require("absol/src/HTML5/Dom")); var _EmojiPicker = _interopRequireDefault(require("../EmojiPicker")); var _utils = require("../utils"); var _tiutils = require("./tiutils"); var EMPTY_2_SPACES = String.fromCharCode(0x2003); exports.EMPTY_2_SPACES = EMPTY_2_SPACES; var emojiCSSLoaded = false; function loadEmojiCSS() { if (emojiCSSLoaded) return; emojiCSSLoaded = true; _Dom.default.documentReady.then(() => { var styleSheet = {}; for (var name in _EmojiAnims.EmojiAnimByIdent) { styleSheet['.as-emoji-token[data-text="' + name + '"]'] = { 'background-image': 'url(' + _EmojiPicker.default.assetRoot + '/static/x20/' + _EmojiAnims.EmojiAnimByIdent[name][1] + ')' }; } (0, _utils.buildCss)(styleSheet); }); } /*** * * @param {TokenizeHyperInput} elt * @constructor */ function TITextController(elt) { loadEmojiCSS(); this.elt = elt; } TITextController.prototype.setText = function (text) { this.elt.clearChild(); this.elt.addChild((0, _tiutils.text2ContentElements)(text, { tagMap: this.elt.tagMap })); this.elt.addChild(this.elt.$br); }; TITextController.prototype.getText = function () { var nodes = Array.prototype.slice.call(this.elt.childNodes); if ((0, _tiutils.isNewLine)(nodes[nodes.length - 1])) { nodes.pop(); } return nodes.map(node => { if ((0, _tiutils.isText)(node)) { return node.data; } else if ((0, _tiutils.isToken)(node)) { return node.getAttribute('data-text') || ''; } else if ((0, _tiutils.isNewLine)(node)) return '\n'; }).join(''); }; /*** * * @param {Range=} range default: previous selected range */ TITextController.prototype.getTextByRange = function (range) { range = range || this.elt.selectionCtrl.prevRange; if (!range) return this.getText(); var nodes = Array.prototype.slice.call(this.elt.childNodes); if ((0, _tiutils.isNewLine)(nodes[nodes.length - 1])) nodes.pop(); var startCtn = range.startContainer; var startOffset = range.startOffset; var endCtn = range.endContainer; var endOffset = range.endOffset; if (startCtn === this.elt) { startCtn = this.elt.childNodes[startOffset - 1]; startOffset = 0; } else if ((0, _tiutils.isTokenText)(startCtn)) { startCtn = startCtn.parentElement; } if (endCtn === this.elt) { endCtn = this.elt.childNodes[endOffset]; endOffset = 0; } else if ((0, _tiutils.isTokenText)(endCtn)) { endCtn = endCtn.parentElement; } if (startCtn === endCtn) { if ((0, _tiutils.isToken)(startCtn)) { return startCtn.getAttribute('data-text'); } else if ((0, _tiutils.isText)(startCtn)) { return startCtn.data.substring(startOffset, endOffset); } return ''; } var res = ''; var node; var started = false; for (var i = 0; i < nodes.length; ++i) { node = nodes[i]; if (started) { if (endCtn === node) { if ((0, _tiutils.isToken)(endCtn)) { res += node.getAttribute('data-text'); } else if ((0, _tiutils.isText)(node)) { res += node.data.substring(0, endOffset); } break; } else { if ((0, _tiutils.isToken)(node)) { res += node.getAttribute('data-text'); } else if ((0, _tiutils.isText)(node)) { res += node.data; } else if ((0, _tiutils.isNewLine)(node)) { res += '\n'; } } } else { if (startCtn === node) { started = true; if ((0, _tiutils.isText)(node)) { res += node.data.substring(startOffset); } else if ((0, _tiutils.isToken)(node)) { if (startOffset === 0) { res += node.getAttribute('data-text'); } } } } } return res; }; TITextController.prototype.applyData = function (text, offset) { this.setText(text); this.elt.selectionCtrl.setRangeByOffset(offset); }; TITextController.prototype.insertText = function (text) { var range = document.getSelection().getRangeAt(0); range.deleteContents(); this.elt.selectionCtrl.onSelect(); range = document.getSelection().getRangeAt(0); var eltChain = (0, _tiutils.text2ContentElements)(text, { tagMap: this.elt.tagMap }); var startCtn = range.startContainer; var at; if ((0, _tiutils.isTokenText)(startCtn)) { at = startCtn.parentElement; } else if (startCtn === this.elt) { at = this.elt.childNodes[range.startOffset - 1]; } var newNode; while (eltChain.length > 0) { newNode = eltChain.shift(); if (!at) { this.elt.addChildBefore(newNode, this.elt.firstChild); at = newNode; } else if ((0, _tiutils.isText)(at) && (0, _tiutils.isText)(newNode)) { at.data += newNode.data; } else { this.elt.addChildAfter(newNode, at); at = newNode; } } }; var _default = TITextController; exports.default = _default;