@jannie-shao/components-antd4
Version:
109 lines (108 loc) • 3.24 kB
JavaScript
;
exports.__esModule = true;
exports.setRange = exports.pasteRange = exports.insertRange = exports.getValue = exports.getRange = exports.getNextLength = exports.formatVal = exports.formatPlaceholder = void 0;
var REG_PLACEHOLDER = /\$\{[a-zA-Z_-]{1,}\}/g;
var REG_SPACE = new RegExp(String.fromCharCode(8203), 'g');
var getValue = function getValue(ele) {
return ele.innerText.replace(REG_SPACE, '').trim();
};
exports.getValue = getValue;
var formatPlaceholder = function formatPlaceholder(val) {
return val.replace(REG_PLACEHOLDER, function (w) {
return "<label contentEditable=\"false\">" + w + "</label>​";
});
};
exports.formatPlaceholder = formatPlaceholder;
var formatVal = function formatVal(val) {
if (val === void 0) {
val = '';
}
var placeholderStr = formatPlaceholder(val);
return placeholderStr;
};
exports.formatVal = formatVal;
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;
};
exports.getNextLength = getNextLength;
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;
};
exports.getRange = getRange;
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();
}
};
exports.setRange = setRange;
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);
}
};
exports.insertRange = insertRange;
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);
}
};
exports.pasteRange = pasteRange;