Skip to content

Commit

Permalink
fix
Browse files Browse the repository at this point in the history
  • Loading branch information
nenichv committed Jul 15, 2024
1 parent ea2d023 commit 99a54f7
Show file tree
Hide file tree
Showing 7 changed files with 30 additions and 28 deletions.
11 changes: 6 additions & 5 deletions apps/schools/domains/circle/components/circleList/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,10 @@ import { getVarsForAddressColumn } from '@domains/common/utils/geo'
import { AppRoutes, RoutePath } from '@domains/common/constants/routerEnums'
import { defaultPaginationTablePage, defaultPaginationTablePageSize } from '@domains/common/constants/Table'
import { scrollToTop } from '@domains/common/utils/scrollInDirection'
import {useQueryState} from "next-usequerystate";

export function CircleList() {
const [searchRequestText, setSearchRequestText] = useState('')
const [searchRequestText, setSearchRequestText] = useQueryState('search')
const { organizationId } = useOrganization()

const [paginationParams, setPaginationParams] = useState({
Expand All @@ -27,7 +28,7 @@ export function CircleList() {

const { data: circles, isFetching: isFetching } = useGetAllCirclesQuery({
organization_id: organizationId,
or_search: createSearchTextForRequest(searchRequestText, searchStudentsColumns),
or_search: createSearchTextForRequest(searchRequestText || '', searchStudentsColumns),
page: paginationParams.page,
page_size: paginationParams.pageSize,
})
Expand All @@ -41,7 +42,7 @@ export function CircleList() {
data={circles}
isLoading={isFetching}
handleRunTask={() => router.push(RoutePath[AppRoutes.CIRCLE_CREATE])}
searchTrigger={searchRequestText}
searchTrigger={searchRequestText || ''}
>
<div className={styles.header}>
<Typography.Title level={1}>Кружки</Typography.Title>
Expand Down Expand Up @@ -94,8 +95,8 @@ export function CircleList() {
},
}}
customWidths={[60, 25, 15]}
searchRequestText={searchRequestText}
setSearchRequestText={setSearchRequestText}
searchRequestText={searchRequestText || ''}
setSearchRequestText={(text) => setSearchRequestText(text)}
rowClassName={styles.tableRowPointer}
/>
</EmptyWrapper>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,11 @@ import { getVarsForAddressColumn } from '@domains/common/utils/geo'
import { StatusesEnum } from '@domains/common/constants/Enums'
import { ErrorType } from '@store/commonApi'
import { AppRoutes, DynamicAppRoutes, DynamicRoutePath, RoutePath } from '@domains/common/constants/routerEnums'
import {useQueryState} from "next-usequerystate";

const CurrentCircle = () => {
const [isModalVisible, setIsModalVisible] = useState(false)
const [searchRequestText, setSearchRequestText] = useState('')
const [searchRequestText, setSearchRequestText] = useQueryState('search')
const [mutation, isDeleteFinished] = useDeleteCircleMutation()
const uuid = getUuidFromUrl()
const router = useRouter()
Expand All @@ -40,7 +41,7 @@ const CurrentCircle = () => {
const { data: circle, error: circleError } = useGetCircleQuery({ circle_id: uuid[0] })
const { data: students, isLoading } = useGetCircleStudentsQuery({
circle_id: uuid[0],
or_search: createSearchTextForRequest(searchRequestText, searchColumns),
or_search: createSearchTextForRequest(searchRequestText || '', searchColumns),
})
const { data: queryData } = useGetCurrentCircleQuery({ circle_id: uuid[0], organization_id: organizationId })

Expand Down Expand Up @@ -135,8 +136,8 @@ const CurrentCircle = () => {
isLoading={isLoading}
needNumbering={true}
searchFields={['student_name', 'student_phone', 'parent_names', 'parent_phones']}
searchRequestText={searchRequestText}
setSearchRequestText={setSearchRequestText}
searchRequestText={searchRequestText || ''}
setSearchRequestText={(text) => setSearchRequestText(text)}
/>
</div>
<Col span={24} className={styles.buttonBar}>
Expand Down
7 changes: 4 additions & 3 deletions apps/schools/domains/common/components/searchInput/index.tsx
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
import React, { useState, ChangeEvent } from 'react'
import React, { ChangeEvent } from 'react'
import { Input } from '@domains/common/components/input'
import { CloseCircleOutlined, SearchOutlined } from '@ant-design/icons'
import styles from './styles/styles.module.scss'
import { useQueryState } from 'next-usequerystate'

interface SearchInputProps {
onSearchChange: (value: string) => void
}

const SearchInput: React.FC<SearchInputProps> = ({ onSearchChange }) => {
const [inputText, setInputText] = useState('')
const [inputText, setInputText] = useQueryState('search')

const handleInputChange = (event: ChangeEvent<HTMLInputElement>) => {
const value = event.target.value
Expand All @@ -21,7 +22,7 @@ const SearchInput: React.FC<SearchInputProps> = ({ onSearchChange }) => {
onChange={handleInputChange}
customType={'inputSearch'}
placeholder={'Поиск'}
value={inputText}
value={inputText || ''}
children={
<>
<SearchOutlined className={styles.search} />
Expand Down
6 changes: 5 additions & 1 deletion apps/schools/domains/common/components/table/interfaces.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { ReturnedData } from '@domains/common/redux/interfaces'
import { TableProps } from 'antd'
import { ColumnFilterItem } from 'antd/lib/table/interface'
import { Key } from 'antd/es/table/interface'
import {Options} from "next-usequerystate";

export interface CustomFieldsProps {
[key: string]: React.FC<{
Expand Down Expand Up @@ -30,7 +31,10 @@ export interface CustomTableProps<RowType, DataItemType> extends TableProps<any>
customFields?: CustomFieldsProps
searchRequestText: string
needNumbering?: boolean
setSearchRequestText: React.Dispatch<React.SetStateAction<string>>
setSearchRequestText: <Shallow>(
value: string | ((old: string | null) => string | null) | null,
options?: Options<Shallow> | undefined,
) => Promise<URLSearchParams>
mainRoute: string
sortFields?: string[]
customFilterFields?: CustomFilterFieldsProps<RowType>
Expand Down
4 changes: 1 addition & 3 deletions apps/schools/domains/query/components/queryList/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -95,9 +95,7 @@ export function QueryList() {

const handleSearchChange = useCallback((value: string) => {
setIsTableLoading(true)
setTimeout(() => {
setSearchRequest(value)
}, 1000)
setSearchRequest(value)
}, [])

return (
Expand Down
13 changes: 7 additions & 6 deletions apps/schools/domains/student/components/studentList/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,16 @@ import EmptyWrapper from '@domains/common/components/containers/EmptyWrapper'
import { AppRoutes, RoutePath } from '@domains/common/constants/routerEnums'
import { defaultPaginationTablePage, defaultPaginationTablePageSize } from '@domains/common/constants/Table'
import { scrollToTop } from '@domains/common/utils/scrollInDirection'
import {useQueryState} from "next-usequerystate";

export function StudentList() {
const [searchRequestText, setSearchRequestText] = useState('')
const [searchRequestText, setSearchRequestText] = useQueryState('search')
const { organizationId } = useOrganization()

const { data: invites, isLoading: isLoadingInvites } = useGetAllStudentInvitationsQuery({
circle__organization__id: organizationId,
status: StatusesEnum.SENT,
or_search: createSearchTextForRequest(searchRequestText, searchInvitesColumns),
or_search: createSearchTextForRequest(searchRequestText || '', searchInvitesColumns),
})

const [paginationParams, setPaginationParams] = useState({
Expand All @@ -32,7 +33,7 @@ export function StudentList() {

const { data: students, isFetching: isFetchingStudents } = useGetAllStudentsQuery({
circle__organization: organizationId,
or_search: createSearchTextForRequest(searchRequestText, searchStudentsColumns),
or_search: createSearchTextForRequest(searchRequestText || '', searchStudentsColumns),
page: paginationParams.page,
page_size: paginationParams.pageSize,
})
Expand Down Expand Up @@ -75,7 +76,7 @@ export function StudentList() {
data={data}
isLoading={isFetchingStudents || isLoadingInvites}
handleRunTask={() => router.push(RoutePath[AppRoutes.STUDENT_CREATE])}
searchTrigger={searchRequestText}
searchTrigger={searchRequestText || ''}
>
<div className={styles.header}>
<Typography.Title level={1}>Обучающиеся</Typography.Title>
Expand Down Expand Up @@ -113,8 +114,8 @@ export function StudentList() {
isLoading={isLoadingInvites || isFetchingStudents}
mainRoute={RoutePath[AppRoutes.STUDENT_LIST]}
searchFields={['student_name', 'student_phone', 'parent_phone', 'circle_name']}
searchRequestText={searchRequestText}
setSearchRequestText={setSearchRequestText}
searchRequestText={searchRequestText || ''}
setSearchRequestText={(text) => setSearchRequestText(text)}
/>
</EmptyWrapper>
)
Expand Down
8 changes: 2 additions & 6 deletions apps/schools/domains/ticket/components/ticketList/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -93,15 +93,11 @@ export function TicketList() {
if (typeof text === 'string') {
setIsTableLoading(true)
setInputText(text)
setTimeout(() => {
setSearchRequest(text)
}, 1000)
setSearchRequest(text)
} else {
setIsTableLoading(true)
setInputText(text.target.value)
setTimeout(() => {
setSearchRequest(text.target.value)
}, 1000)
setSearchRequest(text.target.value)
}
},
[setIsTableLoading, setInputText, setSearchRequest],
Expand Down

0 comments on commit 99a54f7

Please sign in to comment.