import 'package:flutter/material.dart'; import 'package:win_text_editor/shared/components/tree_view.dart'; class TemplateNode implements TreeNode { @override final String name; @override final List children; @override final int depth; @override bool isExpanded; final String path; bool isRepeated; bool isAttribute; int repeatCount; bool isChecked; final bool isTextNode; TemplateNode({ required this.name, required this.children, required this.depth, required this.path, this.isExpanded = false, this.isRepeated = false, this.isAttribute = false, this.repeatCount = 1, this.isChecked = false, this.isTextNode = false, }); @override bool get isDirectory => children.isNotEmpty; @override IconData? get iconData => isAttribute ? Icons.code : Icons.label_outline; @override String get id => path; } enum NodeType { element, attribute, text } class TemplateItem { final int id; final String rowId; final String xPath; final String value; TemplateItem({required this.id, required this.rowId, required this.xPath, required this.value}); }