Skip to content

Commit c5b4ba4

Browse files
authored
Log links (#5)
1 parent 72ad35b commit c5b4ba4

File tree

2 files changed

+22
-7
lines changed

2 files changed

+22
-7
lines changed

lib/src/widgets/narrow_modal.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ class NarrowModal extends StatelessWidget {
4848
),
4949
nodeBuilder: (context, flattenedNode) => NodeWidget(
5050
treeNode: flattenedNode.node,
51-
state: treeController,
51+
controller: treeController,
5252
level: flattenedNode.level,
5353
style: NodeStyle(
5454
levelIndent: kPadding12px,

lib/src/widgets/node_widget.dart

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ class NodeWidget extends StatefulWidget {
1010
const NodeWidget({
1111
super.key,
1212
required this.treeNode,
13-
required this.state,
13+
required this.controller,
1414
required this.style,
1515
this.level = 0,
1616
});
@@ -19,7 +19,7 @@ class NodeWidget extends StatefulWidget {
1919
final TreeNode treeNode;
2020

2121
/// Manages the state of the tree.
22-
final TreeController state;
22+
final TreeController controller;
2323

2424
/// Style configuration for the node.
2525
final NodeStyle style;
@@ -35,7 +35,11 @@ class _NodeWidgetState extends State<NodeWidget> {
3535
bool get _isLeaf =>
3636
widget.treeNode.children == null || widget.treeNode.children!.isEmpty;
3737

38-
bool get _isExpanded => widget.state.isNodeExpanded(widget.treeNode.key!);
38+
bool get _isExpanded =>
39+
widget.controller.isNodeExpanded(widget.treeNode.key!);
40+
41+
void logEvent(String name, [Map<String, dynamic>? params]) =>
42+
widget.controller.onEvent((name: name, params: params));
3943

4044
@override
4145
Widget build(BuildContext context) {
@@ -102,6 +106,11 @@ class _NodeWidgetState extends State<NodeWidget> {
102106
iconData: Icons.open_in_new_rounded,
103107
onTap: () {
104108
openUrl(link!);
109+
logEvent(
110+
'debug-panel-right-click', {
111+
'option': 'link',
112+
'link': link,
113+
});
105114
Navigator.pop(context);
106115
},
107116
),
@@ -112,8 +121,14 @@ class _NodeWidgetState extends State<NodeWidget> {
112121
iconData:
113122
Icons.open_in_new_rounded,
114123
onTap: () {
115-
openUrl(
116-
'$link&$searchReference');
124+
final searchRefLink =
125+
'$link&$searchReference';
126+
openUrl(searchRefLink);
127+
logEvent(
128+
'debug-panel-right-click', {
129+
'option': 'search-reference',
130+
'link': searchRefLink,
131+
});
117132
Navigator.pop(context);
118133
},
119134
),
@@ -131,7 +146,7 @@ class _NodeWidgetState extends State<NodeWidget> {
131146
onTap: _isLeaf
132147
? null
133148
: () => setState(
134-
() => widget.state.toggleNodeExpanded(
149+
() => widget.controller.toggleNodeExpanded(
135150
widget.treeNode.key!,
136151
widget.treeNode.name,
137152
),

0 commit comments

Comments
 (0)