Implementation
List<String> get containerOrder {
if (_cachedContainerOrder != null) return _cachedContainerOrder!;
final ids = <String>[];
for (final node in _content.nodes) {
if (node is InlineContainerNode &&
node is! FluentCell &&
node is! ListItem &&
node is! FluentTable &&
node is! FluentList) {
ids.add(node.id);
} else if (node is FluentList) {
for (final item in node.items) {
_collectContainerOrderIds(item, ids);
}
} else if (node is FluentTable) {
for (final row in node.rows) {
for (final cell in row.cells) {
_collectContainerOrderIds(cell, ids);
}
}
}
}
return _cachedContainerOrder = ids;
}