|
|
|
@ -133,6 +133,8 @@ class _TemplateParserViewState extends State<TemplateParserView> {
@@ -133,6 +133,8 @@ class _TemplateParserViewState extends State<TemplateParserView> {
|
|
|
|
|
final templateNode = node as TemplateNode; |
|
|
|
|
final isAttribute = node.depth > 0 && node.name.startsWith('@'); |
|
|
|
|
|
|
|
|
|
return Consumer<TemplateParserController>( |
|
|
|
|
builder: (context, controller, _) { |
|
|
|
|
return Padding( |
|
|
|
|
padding: EdgeInsets.only(left: 12.0 * node.depth), // 动态缩进 |
|
|
|
|
child: ListTile( |
|
|
|
@ -152,13 +154,11 @@ class _TemplateParserViewState extends State<TemplateParserView> {
@@ -152,13 +154,11 @@ class _TemplateParserViewState extends State<TemplateParserView> {
|
|
|
|
|
templateNode.isRepeated |
|
|
|
|
? const Text("(repeated)", style: TextStyle(color: Colors.grey)) |
|
|
|
|
: null, |
|
|
|
|
onTap: |
|
|
|
|
() => Provider.of<TemplateParserController>( |
|
|
|
|
context, |
|
|
|
|
listen: false, |
|
|
|
|
).selectTreeNode(templateNode), |
|
|
|
|
onTap: () => controller.selectTreeNode(templateNode), |
|
|
|
|
), |
|
|
|
|
); |
|
|
|
|
}, |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Widget _buildGridView(List<TemplateItem> items) { |
|
|
|
|