refactor(useIssues): Улучшен поиск и фильтрация Issues
This commit is contained in:
parent
0a7fd16a29
commit
76b72dce1c
@ -13,9 +13,8 @@ import {
|
||||
setCurrentPage,
|
||||
setEndFilterDate,
|
||||
setPageSize,
|
||||
setSearchText,
|
||||
setViewMode,
|
||||
setStartFilterDate,
|
||||
setViewMode
|
||||
} from "../../../Redux/Slices/lensIssuesSlice.js";
|
||||
import {getCachedInfo} from "../../../Utils/cachedInfoUtils.js";
|
||||
import dayjs from "dayjs";
|
||||
@ -24,7 +23,6 @@ import {useGetNotIssuedLensesQuery} from "../../../Api/lensesApi.js";
|
||||
const useIssues = () => {
|
||||
const dispatch = useDispatch();
|
||||
const {
|
||||
searchText,
|
||||
currentPage,
|
||||
pageSize,
|
||||
selectedIssue,
|
||||
@ -34,7 +32,7 @@ const useIssues = () => {
|
||||
endFilterDate,
|
||||
} = useSelector(state => state.lensIssuesUI);
|
||||
|
||||
const [tempSearchText, setTempSearchText] = useState(searchText);
|
||||
const [tempSearchText, setTempSearchText] = useState("");
|
||||
|
||||
const {
|
||||
data: issuesData = {issues: [], total_count: 0},
|
||||
@ -45,7 +43,7 @@ const useIssues = () => {
|
||||
} = useGetLensIssuesQuery({
|
||||
page: currentPage,
|
||||
pageSize,
|
||||
search: searchText || undefined,
|
||||
search: tempSearchText || undefined, // Используем tempSearchText напрямую
|
||||
sortOrder: 'desc',
|
||||
startDate: startFilterDate ? dayjs(startFilterDate).format('YYYY-MM-DD') : undefined,
|
||||
endDate: endFilterDate ? dayjs(endFilterDate).format('YYYY-MM-DD') : undefined,
|
||||
@ -107,18 +105,12 @@ const useIssues = () => {
|
||||
|
||||
const handleSetTempSearchText = (value) => {
|
||||
setTempSearchText(value);
|
||||
handleSearch();
|
||||
};
|
||||
|
||||
const handleSearch = () => {
|
||||
dispatch(setSearchText(tempSearchText));
|
||||
dispatch(setCurrentPage(1));
|
||||
refetch();
|
||||
dispatch(setCurrentPage(1)); // Сбрасываем на первую страницу
|
||||
refetch(); // Обновляем данные при изменении поиска
|
||||
};
|
||||
|
||||
const handleClearSearch = () => {
|
||||
setTempSearchText('');
|
||||
dispatch(setSearchText(''));
|
||||
dispatch(setCurrentPage(1));
|
||||
refetch();
|
||||
};
|
||||
@ -202,8 +194,7 @@ const useIssues = () => {
|
||||
isLoading,
|
||||
isError,
|
||||
isProcessing: isAdding,
|
||||
searchText,
|
||||
tempSearchText,
|
||||
tempSearchText, // Возвращаем только tempSearchText
|
||||
selectedIssue,
|
||||
isModalVisible,
|
||||
viewMode,
|
||||
@ -220,7 +211,6 @@ const useIssues = () => {
|
||||
handleAddIssue,
|
||||
handlePaginationChange,
|
||||
handleSetTempSearchText,
|
||||
handleSearch,
|
||||
handleClearSearch,
|
||||
handleSetViewMode,
|
||||
handleCloseModal,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user