chore: ignore dragtarget event when performing insert animation

This commit is contained in:
appflowy 2022-08-29 14:37:38 +08:00
parent fcb144e514
commit e42bfe0b1e

View File

@ -82,6 +82,8 @@ class ReorderFlex extends StatefulWidget {
final ReorderDragTargetIndexKeyStorage? dragTargetIndexKeyStorage; final ReorderDragTargetIndexKeyStorage? dragTargetIndexKeyStorage;
final bool reorderable;
ReorderFlex({ ReorderFlex({
Key? key, Key? key,
this.scrollController, this.scrollController,
@ -89,6 +91,7 @@ class ReorderFlex extends StatefulWidget {
required this.children, required this.children,
required this.config, required this.config,
required this.onReorder, required this.onReorder,
this.reorderable = true,
this.dragStateStorage, this.dragStateStorage,
this.dragTargetIndexKeyStorage, this.dragTargetIndexKeyStorage,
this.onDragStarted, this.onDragStarted,
@ -385,7 +388,7 @@ class ReorderFlexState extends State<ReorderFlex>
}, },
onWillAccept: (FlexDragTargetData dragTargetData) { onWillAccept: (FlexDragTargetData dragTargetData) {
// Do not receive any events if the Insert item is animating. // Do not receive any events if the Insert item is animating.
if (_animation.deleteController.isAnimating) { if (_animation.insertController.isAnimating) {
return false; return false;
} }
@ -421,6 +424,7 @@ class ReorderFlexState extends State<ReorderFlex>
deleteAnimationController: _animation.deleteController, deleteAnimationController: _animation.deleteController,
draggableTargetBuilder: widget.interceptor?.draggableTargetBuilder, draggableTargetBuilder: widget.interceptor?.draggableTargetBuilder,
useMoveAnimation: widget.config.useMoveAnimation, useMoveAnimation: widget.config.useMoveAnimation,
draggable: widget.reorderable,
child: child, child: child,
); );
} }