addExternalElementToElement method
List<UINode>?
addExternalElementToElement(
- UINode element,
- Object? externalElement
)
Implementation
@override
List<UINode>? addExternalElementToElement(UINode element, externalElement) {
if (externalElement is List) {
if (externalElement.isEmpty) return null;
var children = <UINode>[];
for (var elem in externalElement) {
var child = addExternalElementToElement(element, elem)!;
children.addAll(child);
}
return children;
} else if (externalElement is UIComponent) {
var component = externalElement;
var componentContent = component.content;
if (element is UIElement) {
element.append(componentContent!);
component.setParent(element);
_resolveParentUIComponent(element, component.content,
childUIComponent: component);
component.ensureRendered();
return [componentContent];
} else {
_resolveParentUIComponent(element, component.content,
childUIComponent: component);
return null;
}
} else if (externalElement is MessageBuilder) {
var text = externalElement.build();
var span = SpanElement();
setElementInnerHTML(span, text);
element.append(span);
return [span];
}
return super.addExternalElementToElement(element, externalElement);
}