From 94b963d2a839c1d3c883039d1383cf8bf7a713df Mon Sep 17 00:00:00 2001 From: Miguel Silva Date: Tue, 16 Aug 2022 16:29:41 +0100 Subject: [PATCH 1/2] Use deprecated-react-native-prop-types --- package.json | 1 + src/Gallery.js | 3 ++- src/libraries/TransformableImage/index.js | 3 ++- src/libraries/ViewPager/index.js | 2 +- 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 01b232b..a386de8 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ }, "homepage": "https://github.com/archriss/react-native-image-gallery#readme", "dependencies": { + "deprecated-react-native-prop-types": "^2.3.0", "prop-types": "^15.6.0", "react-mixin": "^3.0.5", "react-timer-mixin": "^0.13.3" diff --git a/src/Gallery.js b/src/Gallery.js index 4955fc5..32e2747 100644 --- a/src/Gallery.js +++ b/src/Gallery.js @@ -1,5 +1,6 @@ import React, { PureComponent } from 'react'; -import { View, ViewPropTypes } from 'react-native'; +import { View } from 'react-native'; +import { ViewPropTypes } from 'deprecated-react-native-prop-types'; import PropTypes from 'prop-types'; import { createResponder } from './libraries/GestureResponder'; import TransformableImage from './libraries/TransformableImage'; diff --git a/src/libraries/TransformableImage/index.js b/src/libraries/TransformableImage/index.js index a691492..401d6e5 100644 --- a/src/libraries/TransformableImage/index.js +++ b/src/libraries/TransformableImage/index.js @@ -1,5 +1,6 @@ import React, { PureComponent } from 'react'; -import { View, Text, Image, ViewPropTypes } from 'react-native'; +import { View, Text, Image } from 'react-native'; +import { ViewPropTypes } from 'deprecated-react-native-prop-types'; import PropTypes from 'prop-types'; import ViewTransformer from '../ViewTransformer'; diff --git a/src/libraries/ViewPager/index.js b/src/libraries/ViewPager/index.js index d5fc464..d9e84bb 100644 --- a/src/libraries/ViewPager/index.js +++ b/src/libraries/ViewPager/index.js @@ -2,10 +2,10 @@ import React, { PureComponent } from 'react'; import { View, FlatList, - ViewPropTypes, InteractionManager, Dimensions } from 'react-native'; +import { ViewPropTypes } from 'deprecated-react-native-prop-types'; import PropTypes from 'prop-types'; import Scroller from '../Scroller'; import { createResponder } from '../GestureResponder'; From 19b363704a39db7b82eafb6e538a7c9971b4db2f Mon Sep 17 00:00:00 2001 From: Miguel Silva Date: Fri, 19 Aug 2022 13:44:10 +0100 Subject: [PATCH 2/2] Update scroll position of the FlatList after the scroller finished --- src/libraries/ViewPager/index.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libraries/ViewPager/index.js b/src/libraries/ViewPager/index.js index d9e84bb..91b50d3 100644 --- a/src/libraries/ViewPager/index.js +++ b/src/libraries/ViewPager/index.js @@ -65,14 +65,14 @@ export default class ViewPager extends PureComponent { createScroller () { return new Scroller(true, (dx, dy, scroller) => { + const curX = this.scroller.getCurrX(); + this.refs['innerFlatList'] && this.refs['innerFlatList'].scrollToOffset({ offset: curX, animated: false }); + if (dx === 0 && dy === 0 && scroller.isFinished()) { if (!this.activeGesture) { this.onPageScrollStateChanged('idle'); } } else { - const curX = this.scroller.getCurrX(); - this.refs['innerFlatList'] && this.refs['innerFlatList'].scrollToOffset({ offset: curX, animated: false }); - let position = Math.floor(curX / (this.state.width + this.props.pageMargin)); position = this.validPage(position); let offset = (curX - this.getScrollOffsetOfPage(position)) / (this.state.width + this.props.pageMargin);