X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/cd89fd24a8cdf7512a4352f1fc17101b225e32c4..a54420c0b7b6566ecf9d0f04835e6d8a3ef165d9:/src/store/processes/process.ts diff --git a/src/store/processes/process.ts b/src/store/processes/process.ts index d7fd3aa2..ad0a14c7 100644 --- a/src/store/processes/process.ts +++ b/src/store/processes/process.ts @@ -161,6 +161,28 @@ export const getProcessStatus = ({ containerRequest, container }: Process): Proc } }; +export const isProcessRunnable = ({ containerRequest }: Process): boolean => ( + containerRequest.state === ContainerRequestState.UNCOMMITTED +); + +export const isProcessResumable = ({ containerRequest, container }: Process): boolean => ( + containerRequest.state === ContainerRequestState.COMMITTED && + containerRequest.priority === 0 && + // Don't show run button when container is present & running or cancelled + !(container && (container.state === ContainerState.RUNNING || + container.state === ContainerState.CANCELLED || + container.state === ContainerState.COMPLETE)) +); + +export const isProcessCancelable = ({ containerRequest, container }: Process): boolean => ( + containerRequest.priority !== null && + containerRequest.priority > 0 && + container !== undefined && + (container.state === ContainerState.QUEUED || + container.state === ContainerState.LOCKED || + container.state === ContainerState.RUNNING) +); + const isSubprocess = (containerUuid: string) => (resource: Resource) => resource.kind === ResourceKind.CONTAINER_REQUEST && (resource as ContainerRequestResource).requestingContainerUuid === containerUuid;