prepare method
Converts parsed HTML to a StyledElement.
Implementation
@override
StyledElement prepare(
ExtensionContext context, List<StyledElement> children) {
if (context.elementName == "table") {
final cellDescendants = _getCellDescendants(children);
return TableElement(
name: context.elementName,
elementId: context.id,
elementClasses: context.classes.toList(),
tableStructure: children,
cellDescendants: cellDescendants,
style: Style(display: Display.block),
node: context.node,
);
}
if (context.elementName == "th" || context.elementName == "td") {
return TableCellElement(
style: context.elementName == "th"
? Style(
fontWeight: FontWeight.bold,
textAlign: TextAlign.center,
verticalAlign: VerticalAlign.middle,
)
: Style(
verticalAlign: VerticalAlign.middle,
),
children: children,
node: context.node,
name: context.elementName,
elementClasses: context.classes.toList(),
elementId: context.id,
);
}
if (context.elementName == "tbody" ||
context.elementName == "thead" ||
context.elementName == "tfoot") {
return TableSectionLayoutElement(
name: context.elementName,
elementId: context.id,
elementClasses: context.classes.toList(),
children: children,
style: Style(),
node: context.node,
);
}
if (context.elementName == "tr") {
return TableRowLayoutElement(
name: context.elementName,
elementId: context.id,
elementClasses: context.classes.toList(),
children: children,
style: Style(),
node: context.node,
);
}
if (context.elementName == "col" || context.elementName == "colgroup") {
return TableStyleElement(
name: context.elementName,
elementId: context.id,
elementClasses: context.classes.toList(),
children: children,
style: Style(),
node: context.node,
);
}
throw UnimplementedError("This isn't possible");
}