Skip to content

Commit b8178d3

Browse files
obladorjanicduplessis
authored andcommitted
Bubble scroll events (AppAndFlow#8)
1 parent 881dd37 commit b8178d3

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

src/MasonryList.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,10 @@ export type Props = {
5959
// issues with isLoading checks.
6060
onEndReached?: ?(info: { distanceFromEnd: number }) => void,
6161
contentContainerStyle?: any,
62+
onScroll?: (event: Object) => void,
63+
onScrollBeginDrag?: (event: Object) => void,
64+
onScrollEndDrag?: (event: Object) => void,
65+
onMomentumScrollEnd?: (event: Object) => void,
6266
onEndReachedThreshold?: ?number,
6367
scrollEventThrottle: number,
6468
renderScrollComponent: (props: Object) => ReactElement<any>,
@@ -144,22 +148,34 @@ export default class MasonryList extends Component {
144148
};
145149

146150
_onScroll = event => {
151+
if (this.props.onScroll) {
152+
this.props.onScroll(event);
153+
}
147154
this._listRefs.forEach(list => list._onScroll(event));
148155
};
149156

150157
_onScrollBeginDrag = event => {
158+
if (this.props.onScrollBeginDrag) {
159+
this.props.onScrollBeginDrag(event);
160+
}
151161
this._listRefs.forEach(
152162
list => list._onScrollBeginDrag && list._onScrollBeginDrag(event),
153163
);
154164
};
155165

156166
_onScrollEndDrag = event => {
167+
if (this.props.onScrollEndDrag) {
168+
this.props.onScrollEndDrag(event);
169+
}
157170
this._listRefs.forEach(
158171
list => list._onScrollEndDrag && list._onScrollEndDrag(event),
159172
);
160173
};
161174

162175
_onMomentumScrollEnd = event => {
176+
if (this.props.onMomentumScrollEnd) {
177+
this.props.onMomentumScrollEnd(event);
178+
}
163179
this._listRefs.forEach(
164180
list => list._onMomentumScrollEnd && list._onMomentumScrollEnd(event),
165181
);

0 commit comments

Comments
 (0)