You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gcgj-dify-1.7.0/web/app/(commonLayout)/apps/check-legacy/use-legacy-list.ts

41 lines
955 B
TypeScript

import produce from 'immer'
import { useCallback, useState } from 'react'
const useLegacyList = () => {
const [queryParams, setQueryParams] = useState<Record<string, any>>({})
const {
sort_by,
published,
} = queryParams
const setOrderBy = useCallback((sortBy: string) => {
const nextValue = produce(queryParams, (draft) => {
draft.sort_by = sortBy
})
setQueryParams(nextValue)
}, [queryParams])
const setPublished = useCallback((value: number) => {
const nextValue = produce(queryParams, (draft) => {
draft.published = value
})
setQueryParams(nextValue)
}, [queryParams])
const clearPublished = useCallback(() => {
const nextValue = produce(queryParams, (draft) => {
draft.published = undefined
})
setQueryParams(nextValue)
}, [queryParams])
return {
sort_by,
setOrderBy,
published,
setPublished,
clearPublished,
}
}
export default useLegacyList