@jannie-shao/components-antd4
Version:
97 lines • 2.8 kB
JavaScript
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>​";
});
};
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);
}
};