Skip to content

Commit 612880d

Browse files
authored
feat(ui): export useQueue React hook (#14396)
Export `useQueue` React hook for reuse in plugins, etc.
1 parent 09a6140 commit 612880d

File tree

5 files changed

+9
-8
lines changed

5 files changed

+9
-8
lines changed

packages/ui/src/elements/Autosave/index.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import {
1616
} from '../../forms/Form/context.js'
1717
import { useDebounce } from '../../hooks/useDebounce.js'
1818
import { useEffectEvent } from '../../hooks/useEffectEvent.js'
19-
import { useQueues } from '../../hooks/useQueues.js'
19+
import { useQueue } from '../../hooks/useQueue.js'
2020
import { useConfig } from '../../providers/Config/index.js'
2121
import { useDocumentInfo } from '../../providers/DocumentInfo/index.js'
2222
import { useLocale } from '../../providers/Locale/index.js'
@@ -97,7 +97,7 @@ export const Autosave: React.FC<Props> = ({ id, collection, global: globalDoc })
9797
// can always retrieve the most to date locale
9898
localeRef.current = locale
9999

100-
const { queueTask } = useQueues()
100+
const { queueTask } = useQueue()
101101

102102
const autosaveTimeoutRef = useRef<NodeJS.Timeout | null>(null)
103103

packages/ui/src/exports/client/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ export { useResize } from '../../hooks/useResize.js'
2020
export { useThrottledEffect } from '../../hooks/useThrottledEffect.js'
2121
export { useEffectEvent } from '../../hooks/useEffectEvent.js'
2222
export { FieldPathContext, useFieldPath } from '../../forms/RenderFields/context.js'
23+
export { useQueue } from '../../hooks/useQueue.js'
2324

2425
export { useUseTitleField } from '../../hooks/useUseAsTitle.js'
2526

packages/ui/src/fields/Relationship/Input.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import { FieldError } from '../../fields/FieldError/index.js'
2121
import { FieldLabel } from '../../fields/FieldLabel/index.js'
2222
import { useDebouncedCallback } from '../../hooks/useDebouncedCallback.js'
2323
import { useEffectEvent } from '../../hooks/useEffectEvent.js'
24-
import { useQueues } from '../../hooks/useQueues.js'
24+
import { useQueue } from '../../hooks/useQueue.js'
2525
import { useAuth } from '../../providers/Auth/index.js'
2626
import { useConfig } from '../../providers/Config/index.js'
2727
import { useLocale } from '../../providers/Locale/index.js'
@@ -96,7 +96,7 @@ export const RelationshipInput: React.FC<RelationshipInputProps> = (props) => {
9696
const [enableWordBoundarySearch, setEnableWordBoundarySearch] = useState(false)
9797
const [menuIsOpen, setMenuIsOpen] = useState(false)
9898
const hasLoadedFirstPageRef = useRef(false)
99-
const { queueTask } = useQueues()
99+
const { queueTask } = useQueue()
100100

101101
const [options, dispatchOptions] = useReducer(optionsReducer, [])
102102

packages/ui/src/forms/Form/index.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import type {
2525
import { FieldErrorsToast } from '../../elements/Toasts/fieldErrors.js'
2626
import { useDebouncedEffect } from '../../hooks/useDebouncedEffect.js'
2727
import { useEffectEvent } from '../../hooks/useEffectEvent.js'
28-
import { useQueues } from '../../hooks/useQueues.js'
28+
import { useQueue } from '../../hooks/useQueue.js'
2929
import { useThrottledEffect } from '../../hooks/useThrottledEffect.js'
3030
import { useAuth } from '../../providers/Auth/index.js'
3131
import { useConfig } from '../../providers/Config/index.js'
@@ -98,7 +98,7 @@ export const Form: React.FC<FormProps> = (props) => {
9898
const { i18n, t } = useTranslation()
9999
const { refreshCookie, user } = useAuth()
100100
const operation = useOperation()
101-
const { queueTask } = useQueues()
101+
const { queueTask } = useQueue()
102102

103103
const { getFormState } = useServerFunctions()
104104
const { startRouteTransition } = useRouteTransition()

packages/ui/src/hooks/useQueues.ts renamed to packages/ui/src/hooks/useQueue.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,12 @@ type QueueTask = (fn: QueuedFunction, options?: QueuedTaskOptions) => void
3030
* 3. All remaining tasks will be discarded
3131
* @returns {queueTask} A function used to queue a function.
3232
* @example
33-
* const { queueTask } = useQueues()
33+
* const { queueTask } = useQueue()
3434
* queueTask(async () => {
3535
* await fetch('https://api.example.com')
3636
* })
3737
*/
38-
export function useQueues(): {
38+
export function useQueue(): {
3939
queueTask: QueueTask
4040
} {
4141
const queue = useRef<QueuedFunction[]>([])

0 commit comments

Comments
 (0)