Merge branch 'develop' into update.message-parser
This commit is contained in:
commit
9ddbef603c
|
@ -274,7 +274,7 @@ class MessageBox extends Component<IMessageBoxProps, IMessageBoxState> {
|
|||
}
|
||||
|
||||
if (isMasterDetail && usedCannedResponse) {
|
||||
this.onChangeText('');
|
||||
this.onChangeText(usedCannedResponse);
|
||||
}
|
||||
|
||||
this.unsubscribeFocus = navigation.addListener('focus', () => {
|
||||
|
|
|
@ -1040,7 +1040,7 @@ const RocketChat = {
|
|||
}
|
||||
return this.post('subscriptions.read', { rid: roomId });
|
||||
},
|
||||
getRoomMembers({ rid, allUsers, roomType, type, filter, skip = 0, limit = 10 }) {
|
||||
async getRoomMembers({ rid, allUsers, roomType, type, filter, skip = 0, limit = 10 }) {
|
||||
const serverVersion = reduxStore.getState().server.version;
|
||||
if (compareServerVersion(serverVersion, '3.16.0', methods.greaterThanOrEqualTo)) {
|
||||
const params = {
|
||||
|
@ -1051,10 +1051,12 @@ const RocketChat = {
|
|||
...(filter && { filter })
|
||||
};
|
||||
// RC 3.16.0
|
||||
return this.sdk.get(`${this.roomTypeToApiType(roomType)}.members`, params);
|
||||
const result = await this.sdk.get(`${this.roomTypeToApiType(roomType)}.members`, params);
|
||||
return result?.members;
|
||||
}
|
||||
// RC 0.42.0
|
||||
return this.methodCallWrapper('getUsersOfRoom', rid, allUsers, { skip, limit });
|
||||
const result = await this.methodCallWrapper('getUsersOfRoom', rid, allUsers, { skip, limit });
|
||||
return result?.records;
|
||||
},
|
||||
methodCallWrapper(method, ...params) {
|
||||
const { API_Use_REST_For_DDP_Calls } = reduxStore.getState().settings;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import React, { useEffect, useState, useCallback } from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { FlatList, RefreshControl } from 'react-native';
|
||||
import { FlatList } from 'react-native';
|
||||
import { useSelector } from 'react-redux';
|
||||
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
||||
import { HeaderBackButton } from '@react-navigation/stack';
|
||||
|
@ -50,7 +50,6 @@ const CannedResponsesListView = ({ navigation, route }) => {
|
|||
const [cannedResponses, setCannedResponses] = useState([]);
|
||||
const [cannedResponsesScopeName, setCannedResponsesScopeName] = useState([]);
|
||||
const [departments, setDepartments] = useState([]);
|
||||
const [refreshing, setRefreshing] = useState(false);
|
||||
|
||||
// states used by the filter in Header and Dropdown
|
||||
const [isSearching, setIsSearching] = useState(false);
|
||||
|
@ -304,17 +303,6 @@ const CannedResponsesListView = ({ navigation, route }) => {
|
|||
);
|
||||
};
|
||||
|
||||
const onRefresh = () => {
|
||||
setRefreshing(true);
|
||||
onChangeText('');
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
if (refreshing) {
|
||||
setRefreshing(false);
|
||||
}
|
||||
}, [cannedResponses]);
|
||||
|
||||
const renderContent = () => {
|
||||
if (!cannedResponsesScopeName.length && !loading) {
|
||||
return (
|
||||
|
@ -341,13 +329,12 @@ const CannedResponsesListView = ({ navigation, route }) => {
|
|||
/>
|
||||
)}
|
||||
keyExtractor={item => item._id || item.shortcut}
|
||||
refreshControl={<RefreshControl refreshing={refreshing} onRefresh={onRefresh} tintColor={themes[theme].auxiliaryText} />}
|
||||
ListHeaderComponent={renderFlatListHeader}
|
||||
stickyHeaderIndices={[0]}
|
||||
onEndReached={onEndReached}
|
||||
onEndReachedThreshold={0.5}
|
||||
ItemSeparatorComponent={List.Separator}
|
||||
ListFooterComponent={loading && !refreshing ? <ActivityIndicator theme={theme} /> : null}
|
||||
ListFooterComponent={loading ? <ActivityIndicator theme={theme} /> : null}
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
|
|
@ -75,6 +75,7 @@ class RoomActionsView extends React.Component {
|
|||
const member = props.route.params?.member;
|
||||
this.rid = props.route.params?.rid;
|
||||
this.t = props.route.params?.t;
|
||||
this.joined = props.route.params?.joined;
|
||||
this.state = {
|
||||
room: room || { rid: this.rid, t: this.t },
|
||||
membersCount: 0,
|
||||
|
@ -173,7 +174,7 @@ class RoomActionsView extends React.Component {
|
|||
|
||||
get isOmnichannelPreview() {
|
||||
const { room } = this.state;
|
||||
return room.t === 'l' && room.status === 'queued';
|
||||
return room.t === 'l' && room.status === 'queued' && !this.joined;
|
||||
}
|
||||
|
||||
onPressTouchable = item => {
|
||||
|
|
|
@ -434,7 +434,6 @@ class RoomMembersView extends React.Component {
|
|||
fetchMembers = async () => {
|
||||
const { rid, members, isLoading, allUsers, end, room, filtering } = this.state;
|
||||
const { t } = room;
|
||||
let newMembers;
|
||||
if (isLoading || end) {
|
||||
return;
|
||||
}
|
||||
|
@ -449,11 +448,10 @@ class RoomMembersView extends React.Component {
|
|||
skip: members.length,
|
||||
limit: PAGE_SIZE
|
||||
});
|
||||
newMembers = membersResult.members;
|
||||
this.setState({
|
||||
members: members.concat(newMembers || []),
|
||||
members: members.concat(membersResult || []),
|
||||
isLoading: false,
|
||||
end: newMembers.length < PAGE_SIZE
|
||||
end: membersResult?.length < PAGE_SIZE
|
||||
});
|
||||
this.setHeader();
|
||||
} catch (e) {
|
||||
|
|
|
@ -433,7 +433,7 @@ class RoomView extends React.Component {
|
|||
|
||||
goRoomActionsView = screen => {
|
||||
logEvent(events.ROOM_GO_RA);
|
||||
const { room, member } = this.state;
|
||||
const { room, member, joined } = this.state;
|
||||
const { navigation, isMasterDetail } = this.props;
|
||||
if (isMasterDetail) {
|
||||
navigation.navigate('ModalStackNavigator', {
|
||||
|
@ -443,7 +443,8 @@ class RoomView extends React.Component {
|
|||
t: this.t,
|
||||
room,
|
||||
member,
|
||||
showCloseModal: !!screen
|
||||
showCloseModal: !!screen,
|
||||
joined
|
||||
}
|
||||
});
|
||||
} else {
|
||||
|
@ -451,7 +452,8 @@ class RoomView extends React.Component {
|
|||
rid: this.rid,
|
||||
t: this.t,
|
||||
room,
|
||||
member
|
||||
member,
|
||||
joined
|
||||
});
|
||||
}
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue