UNPKG

@jannie-shao/components-antd4

Version:
97 lines 2.8 kB
var REG_PLACEHOLDER = /\$\{[a-zA-Z_-]{1,}\}/g; var REG_SPACE = new RegExp(String.fromCharCode(8203), 'g'); export var getValue = function getValue(ele) { return ele.innerText.replace(REG_SPACE, '').trim(); }; export var formatPlaceholder = function formatPlaceholder(val) { return val.replace(REG_PLACEHOLDER, function (w) { return "<label contentEditable=\"false\">" + w + "</label>&#8203;"; }); }; export var formatVal = function formatVal(val) { if (val === void 0) { val = ''; } var placeholderStr = formatPlaceholder(val); return placeholderStr; }; export var getNextLength = function getNextLength(valNow, length) { if (length === void 0) { length = 0; } if (length === 0) return -1; if (valNow.length >= length) return 0; return length - valNow.length; }; export var getRange = function getRange(win) { if (win === void 0) { win = window; } if (win.getSelection) { var sel = win.getSelection(); return sel.anchorNode.parentNode; } return win.document; }; export var setRange = function setRange(ele, win) { if (win === void 0) { win = window; } if (win.getSelection) { var sel = win.getSelection(); sel.selectAllChildren(ele); sel.collapseToEnd(); } else if (win.document.selection) { var _sel = win.document.selection.createRange(); _sel.moveToElementText(ele); _sel.collapse(false); _sel.select(); } }; export var insertRange = function insertRange(val, win) { if (val === void 0) { val = ''; } if (win === void 0) { win = window; } if (win.getSelection) { var sel = win.getSelection(); if (sel.getRangeAt && sel.rangeCount) { var range = sel.getRangeAt(0); range.deleteContents(); var el = document.createElement('div'); el.innerHTML = val; var frag = document.createDocumentFragment(); var childList = el.childNodes; var lastNode; childList.forEach(function (n) { lastNode = frag.appendChild(n); }); range.insertNode(frag); if (lastNode) { var rangeNew = range.cloneRange(); rangeNew.setStartAfter(lastNode); rangeNew.collapse(true); sel.removeAllRanges(); sel.addRange(rangeNew); } } } else if (win.document.selection && win.document.selection.type !== 'Control') { win.document.selection.createRange().pasteHTML(val); } }; export var pasteRange = function pasteRange(e, len, win) { if (len === void 0) { len = 0; } if (win === void 0) { win = window; } var clp = (e.originalEvent || e).clipboardData; var text = (clp ? clp.getData('text/plain') : win.clipboardData.getData('text')) || ''; if (text && len !== 0) { var textNow = len > 0 ? text.substring(0, len) : text; insertRange(textNow, win); } };