@syncfusion/ej2-richtexteditor
Version:
Essential JS 2 RichTextEditor component
77 lines (72 loc) • 2.38 kB
JavaScript
/**
* Node appending methods.
*
* @hidden
*/
var InsertMethods = /** @class */ (function () {
function InsertMethods() {
}
/**
* WrapBefore method
*
* @param {Text} textNode - specifies the text node
* @param {HTMLElement} parentNode - specifies the parent node
* @param {boolean} isAfter - specifies the boolean value
* @returns {Text} - returns the text value
* @hidden
*/
InsertMethods.WrapBefore = function (textNode, parentNode, isAfter) {
parentNode.innerText = textNode.textContent;
//eslint-disable-next-line
(!isAfter) ? this.AppendBefore(parentNode, textNode) : this.AppendBefore(parentNode, textNode, true);
if (textNode.parentNode) {
textNode.parentNode.removeChild(textNode);
}
return parentNode.childNodes[0];
};
/**
* Wrap method
*
* @param {HTMLElement} childNode - specifies the child node
* @param {HTMLElement} parentNode - specifies the parent node.
* @returns {HTMLElement} - returns the element
* @hidden
*/
InsertMethods.Wrap = function (childNode, parentNode) {
this.AppendBefore(parentNode, childNode);
parentNode.appendChild(childNode);
return childNode;
};
/**
* unwrap method
*
* @param {Node} node - specifies the node element.
* @returns {Node[]} - returns the array of value
* @hidden
*/
InsertMethods.unwrap = function (node) {
var parent = node.parentNode;
var child = [];
for (; node.firstChild; null) {
child.push(parent.insertBefore(node.firstChild, node));
}
parent.removeChild(node);
return child;
};
/**
* AppendBefore method
*
* @param {HTMLElement} textNode - specifies the element
* @param {HTMLElement} parentNode - specifies the parent node
* @param {boolean} isAfter - specifies the boolean value
* @returns {void}
* @hidden
*/
InsertMethods.AppendBefore = function (textNode, parentNode, isAfter) {
return (parentNode.parentNode) ? ((!isAfter) ? parentNode.parentNode.insertBefore(textNode, parentNode)
: parentNode.parentNode.insertBefore(textNode, parentNode.nextSibling)) :
parentNode;
};
return InsertMethods;
}());
export { InsertMethods };