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