fix: support search admin uses #795
This commit is contained in:
@@ -65,6 +65,9 @@ const Index = ({
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
console.log('userName:', pageUsers.getUsers());
|
||||
|
||||
return (
|
||||
<div
|
||||
className={classNames(
|
||||
|
||||
@@ -50,6 +50,8 @@ const Index = ({ userName, onSendReply, onCancel, mode }) => {
|
||||
});
|
||||
};
|
||||
|
||||
console.log('userName:', pageUsers.getUsers());
|
||||
|
||||
return (
|
||||
<div className="mb-2">
|
||||
<div className="small mb-2">
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
import React, { useEffect, useRef, useState, FC } from 'react';
|
||||
import { Dropdown } from 'react-bootstrap';
|
||||
|
||||
import { useSearchUserStaff } from '@/services';
|
||||
import * as Types from '@/common/interface';
|
||||
|
||||
interface IProps {
|
||||
@@ -37,6 +38,19 @@ const Mentions: FC<IProps> = ({ children, pageUsers, onSelected }) => {
|
||||
const [users, setUsers] = useState<Types.PageUser[]>([]);
|
||||
const [cursor, setCursor] = useState(0);
|
||||
const [isRequested, setRequestedState] = useState(false);
|
||||
const { data: staffUserList = [] } = useSearchUserStaff(val);
|
||||
const mapStaffUsers =
|
||||
staffUserList
|
||||
?.map((item) => ({
|
||||
displayName: item.display_name,
|
||||
userName: item.username,
|
||||
}))
|
||||
?.filter(
|
||||
(item) =>
|
||||
users.findIndex((user) => user.userName === item.userName) < 0,
|
||||
) || [];
|
||||
|
||||
console.log('staffUserList:', staffUserList);
|
||||
|
||||
const searchUser = () => {
|
||||
const element = dropdownRef.current?.children[0];
|
||||
@@ -57,6 +71,9 @@ const Mentions: FC<IProps> = ({ children, pageUsers, onSelected }) => {
|
||||
if (str.substring(str.lastIndexOf(' '), selectionStart).indexOf('@') < 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
console.log('str111111:', str);
|
||||
console.log('str2222:', str.substring(1));
|
||||
setValue(str.substring(1));
|
||||
|
||||
if (!str.substring(1)) {
|
||||
@@ -103,7 +120,7 @@ const Mentions: FC<IProps> = ({ children, pageUsers, onSelected }) => {
|
||||
setValue('');
|
||||
};
|
||||
const filterData = val
|
||||
? users.filter(
|
||||
? [...users, ...mapStaffUsers].filter(
|
||||
(item) =>
|
||||
item.displayName?.indexOf(val) === 0 ||
|
||||
item.userName?.indexOf(val) === 0,
|
||||
|
||||
@@ -96,3 +96,10 @@ export const useUserPermission = (
|
||||
>
|
||||
>([apiUrl, { params: { action } }], request.instance.get);
|
||||
};
|
||||
|
||||
export const useSearchUserStaff = (name: string) => {
|
||||
const apiUrl = name
|
||||
? `/answer/api/v1/user/staff?username=${name}&page_size=10`
|
||||
: null;
|
||||
return useSWR<Type.User[]>(apiUrl, request.instance.get);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user