MCPcopy
hub / github.com/Worklenz/worklenz / split

Function split

worklenz-backend/src/public/tinymce/tinymce.js:4782–4807  ·  view source on GitHub ↗
(parentElm, splitElm, replacementElm)

Source from the content-addressed store, hash-verified

4780 };
4781 const createRng = () => doc.createRange();
4782 const split = (parentElm, splitElm, replacementElm) => {
4783 let range = createRng();
4784 let beforeFragment;
4785 let afterFragment;
4786 if (parentElm && splitElm && parentElm.parentNode && splitElm.parentNode) {
4787 const parentNode = parentElm.parentNode;
4788 range.setStart(parentNode, findNodeIndex(parentElm));
4789 range.setEnd(splitElm.parentNode, findNodeIndex(splitElm));
4790 beforeFragment = range.extractContents();
4791 range = createRng();
4792 range.setStart(splitElm.parentNode, findNodeIndex(splitElm) + 1);
4793 range.setEnd(parentNode, findNodeIndex(parentElm) + 1);
4794 afterFragment = range.extractContents();
4795 parentNode.insertBefore(trimNode(self, beforeFragment, schema), parentElm);
4796 if (replacementElm) {
4797 parentNode.insertBefore(replacementElm, parentElm);
4798 } else {
4799 parentNode.insertBefore(splitElm, parentElm);
4800 }
4801 parentNode.insertBefore(trimNode(self, afterFragment, schema), parentElm);
4802 remove(parentElm);
4803 return replacementElm || splitElm;
4804 } else {
4805 return undefined;
4806 }
4807 };
4808 const bind = (target, name, func, scope) => {
4809 if (isArray$1(target)) {
4810 let i = target.length;

Callers 3

applyCaretFormatFunction · 0.70
removeCaretFormatFunction · 0.70
removeRngStyleFunction · 0.70

Calls 6

createRngFunction · 0.85
findNodeIndexFunction · 0.85
trimNodeFunction · 0.85
splitTextFunction · 0.85
removeFunction · 0.70
insertBeforeMethod · 0.45

Tested by

no test coverage detected