feat(callback): add currentIndex and previoudIndex to `onSwipe` (#7)
This commit is contained in:
parent
a8cbd3a110
commit
5edd21e371
|
|
@ -1,3 +1,8 @@
|
|||
## NEXT
|
||||
|
||||
- **BREAKING CHANGES**:
|
||||
- Add currentIndex and previousIndex to the onSwipe callback
|
||||
|
||||
## [2.1.0]
|
||||
|
||||
- Add option to display more cards at a time. Useful if the widgets you want in your cards take time to build (for example a network image or video): displaying more cards builds them in advance and makes a fast serie of swipes more fluid.
|
||||
|
|
|
|||
|
|
@ -75,7 +75,13 @@ class _ExamplePageState extends State<Example> {
|
|||
);
|
||||
}
|
||||
|
||||
void _swipe(int index, CardSwiperDirection direction) {
|
||||
debugPrint('the card $index was swiped to the: ${direction.name}');
|
||||
void _swipe(
|
||||
int previousIndex,
|
||||
int currentIndex,
|
||||
CardSwiperDirection direction,
|
||||
) {
|
||||
debugPrint(
|
||||
'the card $previousIndex was swiped to the ${direction.name}. Now the card $currentIndex is on top',
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -316,8 +316,15 @@ class _CardSwiperState<T extends Widget> extends State<CardSwiper<T>>
|
|||
if (status == AnimationStatus.completed) {
|
||||
setState(() {
|
||||
if (_swipeType == SwipeType.swipe) {
|
||||
widget.onSwipe?.call(_currentIndex, detectedDirection);
|
||||
final previousIndex = _currentIndex;
|
||||
_stack.removeAt(_currentIndex);
|
||||
widget.onSwipe?.call(
|
||||
previousIndex,
|
||||
widget.isLoop && _stack.isEmpty
|
||||
? widget.cards.length - 1
|
||||
: _currentIndex,
|
||||
detectedDirection,
|
||||
);
|
||||
|
||||
if (_stack.isEmpty) {
|
||||
widget.onEnd?.call();
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
import 'package:flutter_card_swiper/src/enums.dart';
|
||||
|
||||
typedef CardSwiperOnSwipe = void Function(
|
||||
int index,
|
||||
int previousIndex,
|
||||
int currentIndex,
|
||||
CardSwiperDirection direction,
|
||||
);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue