diff --git a/src/composables/queue/useJobActions.ts b/src/composables/queue/useJobActions.ts index 4e664c4c1..65b91c88a 100644 --- a/src/composables/queue/useJobActions.ts +++ b/src/composables/queue/useJobActions.ts @@ -5,7 +5,7 @@ import { useI18n } from 'vue-i18n' import { useErrorHandling } from '@/composables/useErrorHandling' import type { JobListItem } from '@/composables/queue/useJobList' import { useJobMenu } from '@/composables/queue/useJobMenu' -import type { JobState } from '@/types/queue' +import { isActiveJobState } from '@/utils/queueUtil' export type JobAction = { icon: string @@ -13,8 +13,6 @@ export type JobAction = { variant: 'destructive' | 'secondary' | 'textonly' } -const CANCELLABLE_STATES: JobState[] = ['pending', 'initialization', 'running'] - export function useJobActions( job: MaybeRefOrGetter ) { @@ -36,10 +34,7 @@ export function useJobActions( return false } - return ( - currentJob.showClear !== false && - CANCELLABLE_STATES.includes(currentJob.state) - ) + return currentJob.showClear !== false && isActiveJobState(currentJob.state) }) const runCancelJob = wrapWithErrorHandlingAsync(async () => { diff --git a/src/storybook/mocks/useJobActions.ts b/src/storybook/mocks/useJobActions.ts index b2b823341..7ff122d7d 100644 --- a/src/storybook/mocks/useJobActions.ts +++ b/src/storybook/mocks/useJobActions.ts @@ -3,10 +3,9 @@ import type { MaybeRefOrGetter } from 'vue' import type { JobAction } from '../../composables/queue/useJobActions' import type { JobListItem } from '../../composables/queue/useJobList' -import type { JobState } from '../../types/queue' +import { isActiveJobState } from '../../utils/queueUtil' const actionsByJobId = ref>({}) -const cancellableStates: JobState[] = ['pending', 'initialization', 'running'] const cancelAction: JobAction = { icon: 'icon-[lucide--x]', label: 'Cancel', @@ -33,10 +32,7 @@ export function useJobActions( return configuredActions.length > 0 } - return ( - currentJob.showClear !== false && - cancellableStates.includes(currentJob.state) - ) + return currentJob.showClear !== false && isActiveJobState(currentJob.state) }) async function runCancelJob() {