createWithRegisteredElementGenerator method
T?
createWithRegisteredElementGenerator(
- DOMElement? domParent,
- T? parent,
- DOMElement domElement,
- DOMTreeMap<
T> treeMap, - DOMContext<
T> ? context,
Implementation
T? createWithRegisteredElementGenerator(
DOMElement? domParent,
T? parent,
DOMElement domElement,
DOMTreeMap<T> treeMap,
DOMContext<T>? context,
) {
var tag = domElement.tag;
var generator = _elementsGenerators[tag];
if (generator == null) return null;
T? contentHolder;
if (generator.usesContentHolder) {
contentHolder = createElement('div');
if (parent != null) {
addChildToElement(parent, contentHolder);
}
buildNodes(
domElement,
contentHolder,
domElement.content,
treeMap,
context,
);
if (parent != null) {
removeChildFromElement(parent, contentHolder);
}
}
var element = generator.generate(
this,
treeMap,
tag,
domParent,
parent,
domElement,
domElement.domAttributes,
contentHolder,
domElement.content,
context,
);
treeMap.mapTree(domElement, element, generator: this, context: context);
_callOnElementCreated(treeMap, domElement, element, context);
return element;
}