Skip to content

Commit

Permalink
fixes #9: cast exception on item tap
Browse files Browse the repository at this point in the history
  • Loading branch information
jawwad-hassan89 committed Feb 13, 2023
1 parent d8cd835 commit fcf1a82
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 18 deletions.
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ target/
/windows/
.vscode
.idea
.idea/

# Web related
lib/generated_plugin_registrant.dart
Expand Down
8 changes: 8 additions & 0 deletions example/lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,14 @@ class _MyHomePageState extends State<MyHomePage> {
key: _treeKey,
tree: sampleTree,
expansionIndicator: ExpansionIndicator.RightUpChevron,
onItemTap: (item) {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text("Item tapped: ${item.key}"),
duration: const Duration(milliseconds: 750),
),
);
},
builder: (context, level, item) => Card(
color: colorMapper[level.clamp(0, colorMapper.length - 1)]!,
child: ListTile(
Expand Down
16 changes: 8 additions & 8 deletions lib/tree_view/expandable_node.dart
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ class ExpandableNodeItem<Data, Tree extends ITreeNode<Data>>
final ExpansionIndicator? expansionIndicator;
final bool remove;
final int? index;
final ValueSetter<Data>? onItemTap;
final ValueSetter<Tree>? onItemTap;
final int minLevelToIndent;

static Widget insertedNode<Data, Tree extends ITreeNode<Data>>({
Expand All @@ -27,7 +27,7 @@ class ExpandableNodeItem<Data, Tree extends ITreeNode<Data>>
required Animation<double> animation,
required double? indentPadding,
required ExpansionIndicator? expansionIndicator,
required ValueSetter<Data>? onItemTap,
required ValueSetter<Tree>? onItemTap,
required bool showRootNode,
}) {
return ValueListenableBuilder<INode>(
Expand All @@ -50,18 +50,18 @@ class ExpandableNodeItem<Data, Tree extends ITreeNode<Data>>
);
}

static Widget removedNode<D, T extends ITreeNode<D>>({
required AnimatedListController<D> animatedListController,
required T item,
required LeveledItemWidgetBuilder<T> builder,
static Widget removedNode<Data, Tree extends ITreeNode<Data>>({
required AnimatedListController<Data> animatedListController,
required Tree item,
required LeveledItemWidgetBuilder<Tree> builder,
required AutoScrollController scrollController,
required Animation<double> animation,
required double? indentPadding,
required ExpansionIndicator? expansionIndicator,
required ValueSetter<D>? onItemTap,
required ValueSetter<Tree>? onItemTap,
required bool showRootNode,
}) {
return ExpandableNodeItem<D, T>(
return ExpandableNodeItem<Data, Tree>(
builder: builder,
animatedListController: animatedListController,
scrollController: scrollController,
Expand Down
18 changes: 9 additions & 9 deletions lib/tree_view/tree_view.dart
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ abstract class _TreeView<Data, Tree extends ITreeNode<Data>>

/// An optional callback that can be used to handle any action when an item is
/// tapped or clicked
final ValueSetter<Data>? onItemTap;
final ValueSetter<Tree>? onItemTap;

/// Flag to show the Root Node in the [TreeView]. Root Node is always the first
/// item in the TreeView. If it is set to [false] then the Root Node will not
Expand Down Expand Up @@ -303,7 +303,7 @@ class TreeView<Data, Tree extends ITreeNode<Data>>
double? indentPadding,
AutoScrollController? scrollController,
ExpansionIndicator? expansionIndicator,
ValueSetter<Data>? onItemTap,
ValueSetter<TreeNode<Data>>? onItemTap,
bool? primary,
ScrollPhysics? physics,
EdgeInsetsGeometry? padding,
Expand Down Expand Up @@ -356,7 +356,7 @@ class TreeView<Data, Tree extends ITreeNode<Data>>
double? indentPadding,
AutoScrollController? scrollController,
ExpansionIndicator? expansionIndicator,
ValueSetter<Data>? onItemTap,
ValueSetter<Tree>? onItemTap,
bool? primary,
ScrollPhysics? physics,
EdgeInsetsGeometry? padding,
Expand Down Expand Up @@ -408,7 +408,7 @@ class TreeView<Data, Tree extends ITreeNode<Data>>
double? indentPadding,
AutoScrollController? scrollController,
ExpansionIndicator? expansionIndicator,
ValueSetter<Data>? onItemTap,
ValueSetter<IndexedTreeNode<Data>>? onItemTap,
bool? primary,
ScrollPhysics? physics,
EdgeInsetsGeometry? padding,
Expand Down Expand Up @@ -462,7 +462,7 @@ class TreeView<Data, Tree extends ITreeNode<Data>>
double? indentPadding,
AutoScrollController? scrollController,
ExpansionIndicator? expansionIndicator,
ValueSetter<Data>? onItemTap,
ValueSetter<Tree>? onItemTap,
bool? primary,
ScrollPhysics? physics,
EdgeInsetsGeometry? padding,
Expand Down Expand Up @@ -597,7 +597,7 @@ class SliverTreeView<Data, Tree extends ITreeNode<Data>>
double? indentPadding,
AutoScrollController? scrollController,
ExpansionIndicator? expansionIndicator,
ValueSetter<Data>? onItemTap,
ValueSetter<TreeNode<Data>>? onItemTap,
EdgeInsetsGeometry? padding,
bool showRootNode = false,
}) =>
Expand All @@ -623,7 +623,7 @@ class SliverTreeView<Data, Tree extends ITreeNode<Data>>
double? indentPadding,
AutoScrollController? scrollController,
ExpansionIndicator? expansionIndicator,
ValueSetter<Data>? onItemTap,
ValueSetter<Tree>? onItemTap,
EdgeInsetsGeometry? padding,
bool showRootNode = false,
}) =>
Expand All @@ -648,7 +648,7 @@ class SliverTreeView<Data, Tree extends ITreeNode<Data>>
double? indentPadding,
AutoScrollController? scrollController,
ExpansionIndicator? expansionIndicator,
ValueSetter<Data>? onItemTap,
ValueSetter<IndexedTreeNode<Data>>? onItemTap,
EdgeInsetsGeometry? padding,
bool showRootNode = false,
}) =>
Expand All @@ -674,7 +674,7 @@ class SliverTreeView<Data, Tree extends ITreeNode<Data>>
double? indentPadding,
AutoScrollController? scrollController,
ExpansionIndicator? expansionIndicator,
ValueSetter<Data>? onItemTap,
ValueSetter<Tree>? onItemTap,
EdgeInsetsGeometry? padding,
bool showRootNode = false,
}) =>
Expand Down

0 comments on commit fcf1a82

Please sign in to comment.