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);
_callOnElementCreated(treeMap, domElement, element, context);
return element;
}