[FIX] Scroll to top crashing when ref is undefined (#2252)

This commit is contained in:
Djorkaeff Alexandre 2020-07-08 13:36:37 -03:00 committed by Diego Mello
parent 33edacf087
commit 0583de7158
2 changed files with 11 additions and 16 deletions

View File

@ -755,7 +755,7 @@ class RoomView extends React.Component {
if (handleCommandScroll(event)) {
const offset = input === 'UIKeyInputUpArrow' ? 100 : -100;
this.offset += offset;
this.flatList.scrollToOffset({ offset: this.offset });
this.flatList?.scrollToOffset({ offset: this.offset });
} else if (handleCommandRoomActions(event)) {
this.goRoomActionsView();
} else if (handleCommandSearchMessages(event)) {

View File

@ -504,12 +504,7 @@ class RoomsListView extends React.Component {
closeSearchHeader();
}
setTimeout(() => {
const offset = isAndroid ? 0 : SCROLL_OFFSET;
if (this.scroll.scrollTo) {
this.scroll.scrollTo({ x: 0, y: offset, animated: true });
} else if (this.scroll.scrollToOffset) {
this.scroll.scrollToOffset({ offset });
}
this.scrollToTop();
}, 200);
});
};
@ -538,9 +533,7 @@ class RoomsListView extends React.Component {
search: result,
searching: true
});
if (this.scroll && this.scroll.scrollTo) {
this.scroll.scrollTo({ x: 0, y: 0, animated: true });
}
this.scrollToTop();
}, 300);
getRoomTitle = item => RocketChat.getRoomTitle(item)
@ -561,15 +554,17 @@ class RoomsListView extends React.Component {
this.goRoom({ item, isMasterDetail });
};
scrollToTop = () => {
const offset = isAndroid ? 0 : SCROLL_OFFSET;
if (this.scroll?.scrollToOffset) {
this.scroll.scrollToOffset({ offset });
}
}
toggleSort = () => {
const { toggleSortDropdown } = this.props;
const offset = isAndroid ? 0 : SCROLL_OFFSET;
if (this.scroll.scrollTo) {
this.scroll.scrollTo({ x: 0, y: offset, animated: true });
} else if (this.scroll.scrollToOffset) {
this.scroll.scrollToOffset({ offset });
}
this.scrollToTop();
setTimeout(() => {
toggleSortDropdown();
}, 100);