addExternalElementToElement method
List<Node> ?
addExternalElementToElement(
- Node element,
- Object? externalElement, {
- DOMTreeMap<
Node> ? treeMap, - DOMContext<
Node> ? context,
override
Implementation
@override
List<Node>? addExternalElementToElement(Node element, Object? externalElement,
{DOMTreeMap<Node>? treeMap, DOMContext<Node>? context}) {
if (externalElement == null) return null;
if (!element.isA<Element>()) return null;
externalElement = resolveElements(externalElement,
treeMap: treeMap, context: context, setTreeMapRoot: false);
if (externalElement is List) {
var added = <Node>[];
for (var e in externalElement) {
if (e == null) continue;
if (e is List) {
var l = addExternalElementToElement(element, e,
treeMap: treeMap, context: context);
if (l != null) {
added.addAll(l);
}
} else {
var jsAny = e.asJSAny;
if (jsAny.isA<Node>()) {
var node = jsAny as Node;
element.appendChild(node);
added.add(node);
}
}
}
return added;
} else {
var jsAny = externalElement.asJSAny;
if (jsAny.isA<Node>()) {
var node = jsAny as Node;
element.appendChild(node);
return [node];
}
}
return null;
}