transformNodeToDomNodes method

  1. @override
List<Node> transformNodeToDomNodes(
  1. Node node, {
  2. required List<HTMLNodeParser> encodeParsers,
})
override

Convert the node to html nodes.

Implementation

@override
List<dom.Node> transformNodeToDomNodes(
  Node node, {
  required List<HTMLNodeParser> encodeParsers,
}) {
  final delta = node.delta ?? Delta();
  final domNodes = deltaHTMLEncoder.convert(delta);

  final elementNode = dom.Element.html('<input type="checkbox" />');
  if (node.attributes[TodoListBlockKeys.checked] as bool? ?? false) {
    elementNode.attributes['checked'] = '';
  }
  domNodes.insert(0, elementNode);
  domNodes.addAll(
    processChildrenNodes(node.children, encodeParsers: encodeParsers),
  );

  final element =
      wrapChildrenNodesWithTagName(HTMLTags.div, childNodes: domNodes);
  return [element];
}