Integrate TaskQueueViewModel throughout application

This commit is contained in:
hunteraraujo
2023-10-08 22:34:52 -07:00
parent a7e27d1a64
commit 51ebe2407d
6 changed files with 38 additions and 15 deletions

View File

@@ -1,5 +1,6 @@
import 'package:auto_gpt_flutter_client/models/skill_tree/skill_tree_node.dart';
import 'package:auto_gpt_flutter_client/viewmodels/skill_tree_viewmodel.dart';
import 'package:auto_gpt_flutter_client/viewmodels/task_queue_viewmodel.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
@@ -21,8 +22,18 @@ class _TreeNodeViewState extends State<TreeNodeView> {
return GestureDetector(
onTap: () {
print('Node ${widget.node.id} clicked');
Provider.of<SkillTreeViewModel>(context, listen: false)
.toggleNodeSelection(widget.node.id);
final taskQueueViewModel =
Provider.of<TaskQueueViewModel>(context, listen: false);
if (!taskQueueViewModel.isBenchmarkRunning) {
final skillTreeViewModel =
Provider.of<SkillTreeViewModel>(context, listen: false);
skillTreeViewModel.toggleNodeSelection(widget.node.id);
taskQueueViewModel.updateSelectedNodeHierarchyBasedOnOption(
taskQueueViewModel.selectedOption,
skillTreeViewModel.selectedNode,
skillTreeViewModel.skillTreeNodes,
skillTreeViewModel.skillTreeEdges);
}
},
child: MouseRegion(
onEnter: (_) => setState(() => _isHovering = true),