@prefecthq/prefect-ui-library 2.9.18 → 2.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{FlowRunsPageWithDefaultFilter-69VsEaxY.mjs → FlowRunsPageWithDefaultFilter-C6ZDBABX.mjs} +2 -2
- package/dist/{FlowRunsPageWithDefaultFilter-69VsEaxY.mjs.map → FlowRunsPageWithDefaultFilter-C6ZDBABX.mjs.map} +1 -1
- package/dist/{index-CsOfQPaS.mjs → index-CIX59mKM.mjs} +225 -189
- package/dist/{index-CsOfQPaS.mjs.map → index-CIX59mKM.mjs.map} +1 -1
- package/dist/prefect-ui-library.mjs +1 -1
- package/dist/prefect-ui-library.umd.js +2 -2
- package/dist/prefect-ui-library.umd.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/src/automations/components/AutomationTriggerCustomInput.vue.d.ts +5 -6
- package/dist/types/src/automations/components/AutomationTriggerDeploymentStatusInput.vue.d.ts +5 -6
- package/dist/types/src/automations/components/AutomationTriggerEventInput.vue.d.ts +9 -10
- package/dist/types/src/automations/components/AutomationTriggerFlowRunStateInput.vue.d.ts +5 -6
- package/dist/types/src/automations/components/AutomationTriggerWorkPoolStatusInput.vue.d.ts +5 -6
- package/dist/types/src/automations/components/AutomationTriggerWorkQueueStatusInput.vue.d.ts +5 -6
- package/dist/types/src/automations/components/AutomationWithinInput.vue.d.ts +9 -10
- package/dist/types/src/components/EventResourceCombobox.vue.d.ts +9 -12
- package/dist/types/src/components/FlowRunJobVariableOverridesLabeledInput.vue.d.ts +5 -6
- package/dist/types/src/components/FlowRunResumeModal.vue.d.ts +7 -9
- package/dist/types/src/components/FlowRunStateTypeCount.vue.d.ts +2 -2
- package/dist/types/src/components/FlowRunStateTypeEmpty.vue.d.ts +2 -2
- package/dist/types/src/components/FlowRunStateTypeTabDescription.vue.d.ts +2 -2
- package/dist/types/src/components/FlowRunsAccordion.vue.d.ts +2 -2
- package/dist/types/src/components/JobVariableOverridesInput.vue.d.ts +5 -6
- package/dist/types/src/components/LogLevelLabel.vue.d.ts +2 -2
- package/dist/types/src/components/LogLevelSelect.vue.d.ts +4 -4
- package/dist/types/src/components/NotificationStatusSelect.vue.d.ts +4 -4
- package/dist/types/src/components/SearchInput.vue.d.ts +3 -3
- package/dist/types/src/components/StateIcon.vue.d.ts +2 -2
- package/dist/types/src/components/StateListItem.vue.d.ts +2 -2
- package/dist/types/src/index.d.ts +1 -1
- package/dist/types/src/maps/index.d.ts +2 -2
- package/dist/types/src/mocks/index.d.ts +3 -3
- package/dist/types/src/models/StateType.d.ts +1 -1
- package/dist/types/src/schemas/components/SchemaForm.vue.d.ts +6 -6
- package/dist/types/src/schemas/components/SchemaFormProperty.vue.d.ts +1 -1
- package/dist/types/src/schemas/components/SchemaFormPropertyBoolean.vue.d.ts +8 -13
- package/dist/types/src/schemas/components/SchemaFormPropertyMenu.vue.d.ts +12 -15
- package/dist/types/src/schemas/components/SchemaInput.vue.d.ts +6 -6
- package/dist/types/src/schemas/types/schemaValues.d.ts +1 -1
- package/dist/types/src/services/Mapper.d.ts +2 -2
- package/dist/types/src/services/Mocker.d.ts +3 -3
- package/dist/types/src/tailwind.config.d.ts +14 -0
- package/dist/types/tailwind.config.d.ts +100 -0
- package/dist/types/vite.config.d.mts +2 -0
- package/package.json +11 -9
- package/src/automations/components/AutomationActionChangeFlowRunStateInput.vue +71 -0
- package/src/automations/components/AutomationActionDescription.vue +78 -0
- package/src/automations/components/AutomationActionDescriptionChangeFlowRunState.vue +36 -0
- package/src/automations/components/AutomationActionDescriptionDefault.vue +13 -0
- package/src/automations/components/AutomationActionDescriptionPauseResumeAutomation.vue +32 -0
- package/src/automations/components/AutomationActionDescriptionPauseResumeDeployment.vue +32 -0
- package/src/automations/components/AutomationActionDescriptionPauseResumeWorkPool.vue +37 -0
- package/src/automations/components/AutomationActionDescriptionPauseResumeWorkQueue.vue +36 -0
- package/src/automations/components/AutomationActionDescriptionRunDeployment.vue +73 -0
- package/src/automations/components/AutomationActionDescriptionSuspendCancelFlowRun.vue +16 -0
- package/src/automations/components/AutomationActionInput.vue +112 -0
- package/src/automations/components/AutomationActionPauseAutomationInput.vue +32 -0
- package/src/automations/components/AutomationActionPauseDeploymentInput.vue +32 -0
- package/src/automations/components/AutomationActionPauseWorkPoolInput.vue +32 -0
- package/src/automations/components/AutomationActionPauseWorkQueueInput.vue +32 -0
- package/src/automations/components/AutomationActionResumeAutomationInput.vue +32 -0
- package/src/automations/components/AutomationActionResumeDeploymentInput.vue +32 -0
- package/src/automations/components/AutomationActionResumeWorkPoolInput.vue +32 -0
- package/src/automations/components/AutomationActionResumeWorkQueueInput.vue +32 -0
- package/src/automations/components/AutomationActionRunDeploymentInput.vue +99 -0
- package/src/automations/components/AutomationActionRunDeploymentParameters.vue +82 -0
- package/src/automations/components/AutomationActionSendNotificationInput.vue +108 -0
- package/src/automations/components/AutomationAutomationCombobox.vue +31 -0
- package/src/automations/components/AutomationCombobox.vue +67 -0
- package/src/automations/components/AutomationDeploymentCombobox.vue +31 -0
- package/src/automations/components/AutomationIconText.vue +22 -0
- package/src/automations/components/AutomationMenu.vue +67 -0
- package/src/automations/components/AutomationToggle.vue +52 -0
- package/src/automations/components/AutomationTriggerCustomInput.vue +183 -0
- package/src/automations/components/AutomationTriggerDeploymentStatusInput.vue +64 -0
- package/src/automations/components/AutomationTriggerDescription.vue +27 -0
- package/src/automations/components/AutomationTriggerEventInput.vue +62 -0
- package/src/automations/components/AutomationTriggerEventPostureSelect.vue +35 -0
- package/src/automations/components/AutomationTriggerFlowRunStateInput.vue +83 -0
- package/src/automations/components/AutomationTriggerWorkPoolStatusInput.vue +64 -0
- package/src/automations/components/AutomationTriggerWorkQueueStatusInput.vue +72 -0
- package/src/automations/components/AutomationWithinInput.vue +77 -0
- package/src/automations/components/AutomationWorkPoolCombobox.vue +79 -0
- package/src/automations/components/AutomationWorkQueueCombobox.vue +40 -0
- package/src/automations/components/AutomationsPageEmptyState.vue +33 -0
- package/src/automations/components/index.ts +10 -0
- package/src/automations/compositions/index.ts +1 -0
- package/src/automations/compositions/useCreateAutomationQueryParams.ts +94 -0
- package/src/automations/defaultActionValues.ts +89 -0
- package/src/automations/defaultTriggerValues.ts +56 -0
- package/src/automations/index.ts +5 -0
- package/src/automations/maps/actions.ts +243 -0
- package/src/automations/maps/automations.ts +7 -0
- package/src/automations/maps/createAutomationQuery.ts +60 -0
- package/src/automations/maps/deploymentStatusTrigger.ts +95 -0
- package/src/automations/maps/event.ts +62 -0
- package/src/automations/maps/flowRunStateTrigger.ts +73 -0
- package/src/automations/maps/triggers.ts +94 -0
- package/src/automations/maps/utilities.ts +132 -0
- package/src/automations/maps/workPoolStatusTrigger.ts +106 -0
- package/src/automations/maps/workQueueStatusTrigger.ts +106 -0
- package/src/automations/types/actions.ts +325 -0
- package/src/automations/types/api/actions.ts +194 -0
- package/src/automations/types/api/automation.ts +6 -0
- package/src/automations/types/api/triggers.ts +54 -0
- package/src/automations/types/automation.ts +20 -0
- package/src/automations/types/automationTriggerEvent.ts +47 -0
- package/src/automations/types/createAutomationQuery.ts +50 -0
- package/src/automations/types/deploymentStatusTrigger.ts +27 -0
- package/src/automations/types/filter.ts +7 -0
- package/src/automations/types/flowRunStateTrigger.ts +51 -0
- package/src/automations/types/index.ts +63 -0
- package/src/automations/types/triggerTemplates.ts +47 -0
- package/src/automations/types/triggers.ts +12 -0
- package/src/automations/types/workPoolStatusTrigger.ts +24 -0
- package/src/automations/types/workQueueStatusTrigger.ts +26 -0
- package/src/components/.eslintrc.json +5 -0
- package/src/components/ActivityChart.vue +79 -0
- package/src/components/ArtifactCard.vue +231 -0
- package/src/components/ArtifactCollections.vue +127 -0
- package/src/components/ArtifactCollectionsEmptyState.vue +25 -0
- package/src/components/ArtifactDataMarkdown.vue +21 -0
- package/src/components/ArtifactDataRaw.vue +51 -0
- package/src/components/ArtifactDataResult.vue +25 -0
- package/src/components/ArtifactDataTable.vue +129 -0
- package/src/components/ArtifactDataUnknown.vue +23 -0
- package/src/components/ArtifactDataView.vue +36 -0
- package/src/components/ArtifactDescription.vue +22 -0
- package/src/components/ArtifactDetails.vue +142 -0
- package/src/components/ArtifactKeyIconText.vue +25 -0
- package/src/components/ArtifactMenu.vue +23 -0
- package/src/components/ArtifactResultCard.vue +81 -0
- package/src/components/ArtifactTimeline.vue +184 -0
- package/src/components/ArtifactTimelineItemContent.vue +180 -0
- package/src/components/ArtifactTimelineItemDate.vue +58 -0
- package/src/components/ArtifactTypeSelect.vue +32 -0
- package/src/components/BetaBadge.vue +18 -0
- package/src/components/BlockCapabilityBlockDocumentInput.vue +170 -0
- package/src/components/BlockCreateModal.vue +102 -0
- package/src/components/BlockDocument.vue +21 -0
- package/src/components/BlockDocumentCard.vue +49 -0
- package/src/components/BlockDocumentCombobox.vue +49 -0
- package/src/components/BlockDocumentInput.vue +69 -0
- package/src/components/BlockDocumentKeyValue.vue +27 -0
- package/src/components/BlockDocumentMenu.vue +58 -0
- package/src/components/BlockDocumentsTable.vue +233 -0
- package/src/components/BlockIconText.vue +22 -0
- package/src/components/BlockSchemaCapabilities.vue +16 -0
- package/src/components/BlockSchemaCapabilitySelect.vue +53 -0
- package/src/components/BlockSchemaCreateForm.vue +90 -0
- package/src/components/BlockSchemaEditForm.vue +48 -0
- package/src/components/BlockTypeCard.vue +79 -0
- package/src/components/BlockTypeCardLayout.vue +48 -0
- package/src/components/BlockTypeCardPreview.vue +81 -0
- package/src/components/BlockTypeList.vue +135 -0
- package/src/components/BlockTypeSelect.vue +52 -0
- package/src/components/BlockTypeSnippet.vue +22 -0
- package/src/components/BlocksDeleteButton.vue +52 -0
- package/src/components/BlocksPageEmptyState.vue +34 -0
- package/src/components/CodeBanner.vue +64 -0
- package/src/components/CollectionCardPreview.vue +68 -0
- package/src/components/CollectionItemCard.vue +53 -0
- package/src/components/CollectionsList.vue +99 -0
- package/src/components/ColorModeSelect.vue +41 -0
- package/src/components/ColorModeSelectOption.vue +86 -0
- package/src/components/ConcurrencyLimitActiveRuns.vue +31 -0
- package/src/components/ConcurrencyLimitDetails.vue +36 -0
- package/src/components/ConcurrencyLimitMenu.vue +51 -0
- package/src/components/ConcurrencyLimitResetModal.vue +61 -0
- package/src/components/ConcurrencyLimitV2Menu.vue +51 -0
- package/src/components/ConcurrencyLimitV2Toggle.vue +59 -0
- package/src/components/ConcurrencyLimitsCreateModal.vue +78 -0
- package/src/components/ConcurrencyLimitsPageEmptyState.vue +37 -0
- package/src/components/ConcurrencyLimitsTable.vue +65 -0
- package/src/components/ConcurrencyLimitsV2CreateModal.vue +114 -0
- package/src/components/ConcurrencyLimitsV2EmptyState.vue +36 -0
- package/src/components/ConcurrencyLimitsV2Table.vue +78 -0
- package/src/components/ConcurrencyLimitsV2UpdateModal.vue +119 -0
- package/src/components/ConcurrencyTableActiveSlots.vue +18 -0
- package/src/components/ConfirmDeleteModal.vue +71 -0
- package/src/components/ConfirmDeleteModalWithSlot.vue +30 -0
- package/src/components/ConfirmStateChangeModal.vue +92 -0
- package/src/components/CopyOverflowMenuItem.vue +13 -0
- package/src/components/CopyableWrapper.vue +38 -0
- package/src/components/CronScheduleForm.vue +168 -0
- package/src/components/CumulativeTaskRunsCard.vue +275 -0
- package/src/components/DashboardWorkPoolCard.vue +116 -0
- package/src/components/DashboardWorkPoolCardDetail.vue +28 -0
- package/src/components/DashboardWorkPoolFlowRunCompleteness.vue +118 -0
- package/src/components/DashboardWorkPoolFlowRunsTotal.vue +35 -0
- package/src/components/DashboardWorkPoolLateCount.vue +48 -0
- package/src/components/DashboardWorkPoolsCard.vue +72 -0
- package/src/components/DateInput.vue +57 -0
- package/src/components/DateRangeInput.vue +54 -0
- package/src/components/DateRangeInputWithFlowRunHistory.vue +125 -0
- package/src/components/DateRangeSelect.vue +47 -0
- package/src/components/DayOrDescriptionModal.vue +10 -0
- package/src/components/DeploymentCombobox.vue +83 -0
- package/src/components/DeploymentComboboxOption.vue +35 -0
- package/src/components/DeploymentConfiguration.vue +32 -0
- package/src/components/DeploymentCustomRunOverflowMenuItem.vue +20 -0
- package/src/components/DeploymentDeprecatedMessage.vue +31 -0
- package/src/components/DeploymentDescription.vue +9 -0
- package/src/components/DeploymentDescriptionEmptyState.vue +37 -0
- package/src/components/DeploymentDetails.vue +138 -0
- package/src/components/DeploymentForm.vue +160 -0
- package/src/components/DeploymentFormV2.vue +166 -0
- package/src/components/DeploymentIconText.vue +24 -0
- package/src/components/DeploymentList.vue +309 -0
- package/src/components/DeploymentMenu.vue +63 -0
- package/src/components/DeploymentQuickRunOverflowMenuItem.vue +61 -0
- package/src/components/DeploymentRelationships.vue +38 -0
- package/src/components/DeploymentScheduleCard.vue +72 -0
- package/src/components/DeploymentScheduleMenu.vue +83 -0
- package/src/components/DeploymentScheduleTags.vue +52 -0
- package/src/components/DeploymentScheduleToggle.vue +52 -0
- package/src/components/DeploymentSchedulesFieldset.vue +41 -0
- package/src/components/DeploymentStatusBadge.vue +42 -0
- package/src/components/DeploymentStatusIcon.vue +36 -0
- package/src/components/DeploymentStatusSelect.vue +35 -0
- package/src/components/DeploymentTagsInput.vue +45 -0
- package/src/components/DeploymentToggle.vue +57 -0
- package/src/components/DeploymentsCount.vue +35 -0
- package/src/components/DeploymentsDeleteButton.vue +60 -0
- package/src/components/DeploymentsList.vue +274 -0
- package/src/components/DeploymentsPageEmptyState.vue +29 -0
- package/src/components/DocumentationButton.vue +13 -0
- package/src/components/DurationIconText.vue +16 -0
- package/src/components/DurationInput.vue +78 -0
- package/src/components/EventResourceCombobox.vue +100 -0
- package/src/components/EventsCombobox.vue +87 -0
- package/src/components/ExtraInfoModal.vue +48 -0
- package/src/components/ExtraInfoTooltip.vue +22 -0
- package/src/components/FlowActivityChart.vue +46 -0
- package/src/components/FlowCombobox.vue +75 -0
- package/src/components/FlowDetails.vue +28 -0
- package/src/components/FlowIconText.vue +24 -0
- package/src/components/FlowList.vue +215 -0
- package/src/components/FlowMenu.vue +44 -0
- package/src/components/FlowPopover.vue +74 -0
- package/src/components/FlowRouterLink.vue +62 -0
- package/src/components/FlowRunArtifacts.vue +130 -0
- package/src/components/FlowRunBreadCrumbs.vue +56 -0
- package/src/components/FlowRunCancelButton.vue +52 -0
- package/src/components/FlowRunCancelModal.vue +87 -0
- package/src/components/FlowRunCreateFormTags.vue +29 -0
- package/src/components/FlowRunCreateFormV2.vue +196 -0
- package/src/components/FlowRunCreateFormWhen.vue +38 -0
- package/src/components/FlowRunCreateFormWorkQueueCombobox.vue +33 -0
- package/src/components/FlowRunDeployment.vue +22 -0
- package/src/components/FlowRunDetails.vue +82 -0
- package/src/components/FlowRunFilteredList.vue +92 -0
- package/src/components/FlowRunFlow.vue +20 -0
- package/src/components/FlowRunGraph.vue +192 -0
- package/src/components/FlowRunGraphArtifactCard.vue +23 -0
- package/src/components/FlowRunGraphArtifactDrawer.vue +118 -0
- package/src/components/FlowRunGraphArtifactsPopover.vue +48 -0
- package/src/components/FlowRunGraphConfirmation.vue +57 -0
- package/src/components/FlowRunGraphPopover.vue +66 -0
- package/src/components/FlowRunGraphSelectionPanel.vue +40 -0
- package/src/components/FlowRunGraphStatePopover.vue +53 -0
- package/src/components/FlowRunHistoryCard.vue +49 -0
- package/src/components/FlowRunIconText.vue +21 -0
- package/src/components/FlowRunJobVariableOverridesLabeledInput.vue +39 -0
- package/src/components/FlowRunList.vue +42 -0
- package/src/components/FlowRunListItem.vue +100 -0
- package/src/components/FlowRunLogs.vue +93 -0
- package/src/components/FlowRunMenu.vue +159 -0
- package/src/components/FlowRunName.vue +40 -0
- package/src/components/FlowRunNameInput.vue +39 -0
- package/src/components/FlowRunParentFlowRun.vue +36 -0
- package/src/components/FlowRunPopOver.vue +88 -0
- package/src/components/FlowRunPopOverContent.vue +71 -0
- package/src/components/FlowRunResults.vue +110 -0
- package/src/components/FlowRunResumeButton.vue +35 -0
- package/src/components/FlowRunResumeModal.vue +100 -0
- package/src/components/FlowRunRetryButton.vue +40 -0
- package/src/components/FlowRunRetryModal.vue +72 -0
- package/src/components/FlowRunStartTime.vue +24 -0
- package/src/components/FlowRunStateTypeCount.vue +72 -0
- package/src/components/FlowRunStateTypeEmpty.vue +83 -0
- package/src/components/FlowRunStateTypeEmptyAwaitingImage.vue +247 -0
- package/src/components/FlowRunStateTypeEmptyBadTerminalImage.vue +292 -0
- package/src/components/FlowRunStateTypeEmptyGoodTerminalImage.vue +292 -0
- package/src/components/FlowRunStateTypeEmptyLiveImage.vue +337 -0
- package/src/components/FlowRunStateTypeTabDescription.vue +63 -0
- package/src/components/FlowRunStateTypeTabs.vue +81 -0
- package/src/components/FlowRunSuspendButton.vue +36 -0
- package/src/components/FlowRunSuspendModal.vue +91 -0
- package/src/components/FlowRunTagsInput.vue +45 -0
- package/src/components/FlowRunTaskCounts.vue +48 -0
- package/src/components/FlowRunTaskRuns.vue +97 -0
- package/src/components/FlowRunTimelineSubFlowRunDetails.vue +85 -0
- package/src/components/FlowRunTimelineTaskDetails.vue +61 -0
- package/src/components/FlowRunWorkPool.vue +19 -0
- package/src/components/FlowRunWorkQueue.vue +49 -0
- package/src/components/FlowRunsAccordion.vue +69 -0
- package/src/components/FlowRunsAccordionContent.vue +49 -0
- package/src/components/FlowRunsAccordionHeader.vue +93 -0
- package/src/components/FlowRunsBarChart.vue +217 -0
- package/src/components/FlowRunsDeleteButton.vue +66 -0
- package/src/components/FlowRunsFilterGroup.vue +110 -0
- package/src/components/FlowRunsPageEmptyState.vue +29 -0
- package/src/components/FlowRunsPageWithDefaultFilter.vue +55 -0
- package/src/components/FlowRunsScatterPlot.vue +92 -0
- package/src/components/FlowRunsSort.vue +33 -0
- package/src/components/FlowsDeleteButton.vue +60 -0
- package/src/components/FlowsFilterGroup.vue +118 -0
- package/src/components/FlowsPageEmptyState.vue +45 -0
- package/src/components/FormattedDate.vue +59 -0
- package/src/components/FourZeroFour.vue +384 -0
- package/src/components/IconTextCount.vue +34 -0
- package/src/components/IntervalScheduleForm.vue +161 -0
- package/src/components/JobVariableOverridesInput.vue +24 -0
- package/src/components/JsonInput.vue +75 -0
- package/src/components/LastFlowRun.vue +18 -0
- package/src/components/LogLevelLabel.vue +66 -0
- package/src/components/LogLevelSelect.vue +38 -0
- package/src/components/LogRow.vue +105 -0
- package/src/components/LogoImage.vue +46 -0
- package/src/components/LogsContainer.vue +91 -0
- package/src/components/LogsSort.vue +30 -0
- package/src/components/MarketingBanner.vue +88 -0
- package/src/components/MiniDeploymentHistory.vue +25 -0
- package/src/components/MiniFlowHistory.vue +26 -0
- package/src/components/NextFlowRun.vue +18 -0
- package/src/components/NotificationDetails.vue +104 -0
- package/src/components/NotificationForm.vue +241 -0
- package/src/components/NotificationMenu.vue +53 -0
- package/src/components/NotificationStatusSelect.vue +31 -0
- package/src/components/NotificationToggle.vue +59 -0
- package/src/components/NotificationsPageEmptyState.vue +41 -0
- package/src/components/NotificationsTable.vue +119 -0
- package/src/components/PageHeading.vue +89 -0
- package/src/components/PageHeadingAccountSettings.vue +9 -0
- package/src/components/PageHeadingApiKeys.vue +14 -0
- package/src/components/PageHeadingArtifact.vue +62 -0
- package/src/components/PageHeadingArtifactKey.vue +41 -0
- package/src/components/PageHeadingArtifacts.vue +11 -0
- package/src/components/PageHeadingBlock.vue +30 -0
- package/src/components/PageHeadingBlockEdit.vue +22 -0
- package/src/components/PageHeadingBlocks.vue +18 -0
- package/src/components/PageHeadingBlocksCatalog.vue +27 -0
- package/src/components/PageHeadingBlocksCatalogCreate.vue +24 -0
- package/src/components/PageHeadingBlocksCatalogView.vue +23 -0
- package/src/components/PageHeadingConcurrencyLimit.vue +32 -0
- package/src/components/PageHeadingConcurrencyLimits.vue +18 -0
- package/src/components/PageHeadingDeployment.vue +41 -0
- package/src/components/PageHeadingDeploymentEdit.vue +22 -0
- package/src/components/PageHeadingDeployments.vue +13 -0
- package/src/components/PageHeadingFlow.vue +34 -0
- package/src/components/PageHeadingFlowCollection.vue +22 -0
- package/src/components/PageHeadingFlowCollections.vue +15 -0
- package/src/components/PageHeadingFlowRun.vue +134 -0
- package/src/components/PageHeadingFlowRunCreate.vue +28 -0
- package/src/components/PageHeadingFlowRuns.vue +34 -0
- package/src/components/PageHeadingFlows.vue +8 -0
- package/src/components/PageHeadingNotificationCreate.vue +9 -0
- package/src/components/PageHeadingNotificationEdit.vue +15 -0
- package/src/components/PageHeadingNotifications.vue +18 -0
- package/src/components/PageHeadingTaskRun.vue +106 -0
- package/src/components/PageHeadingVariables.vue +23 -0
- package/src/components/PageHeadingWorkPool.vue +39 -0
- package/src/components/PageHeadingWorkPoolCreate.vue +15 -0
- package/src/components/PageHeadingWorkPoolEdit.vue +22 -0
- package/src/components/PageHeadingWorkPoolQueue.vue +40 -0
- package/src/components/PageHeadingWorkPoolQueueCreate.vue +21 -0
- package/src/components/PageHeadingWorkPoolQueueEdit.vue +23 -0
- package/src/components/PageHeadingWorkPools.vue +22 -0
- package/src/components/PageHeadingWorkQueue.vue +42 -0
- package/src/components/PageHeadingWorkQueueCreate.vue +15 -0
- package/src/components/PageHeadingWorkQueueEdit.vue +22 -0
- package/src/components/PageHeadingWorkQueues.vue +18 -0
- package/src/components/PageHeadingWorkspaceSettings.vue +9 -0
- package/src/components/ParametersTable.vue +96 -0
- package/src/components/ProcessTypeBadge.vue +19 -0
- package/src/components/QuickRunParametersModal.vue +91 -0
- package/src/components/ResultsCount.vue +25 -0
- package/src/components/RowGridLayoutList.vue +53 -0
- package/src/components/RunMenu.vue +68 -0
- package/src/components/SaveFilterModal.vue +83 -0
- package/src/components/SavedFilters.vue +90 -0
- package/src/components/SavedFiltersDeleteModal.vue +54 -0
- package/src/components/SavedFiltersMenu.vue +110 -0
- package/src/components/ScheduleFieldset.vue +80 -0
- package/src/components/ScheduleFormModal.vue +129 -0
- package/src/components/SchemaForm.vue +42 -0
- package/src/components/SchemaFormFields.vue +31 -0
- package/src/components/SchemaFormFieldsWithValues.vue +47 -0
- package/src/components/SchemaFormInput.vue +72 -0
- package/src/components/SchemaFormProperties.vue +29 -0
- package/src/components/SchemaFormProperty.vue +45 -0
- package/src/components/SchemaFormPropertyAllOf.vue +17 -0
- package/src/components/SchemaFormPropertyAnyOf.vue +71 -0
- package/src/components/SchemaInput.vue +152 -0
- package/src/components/SchemaPropertiesKeyValues.vue +28 -0
- package/src/components/SchemaPropertyBlockKeyValue.vue +39 -0
- package/src/components/SchemaPropertyKeyValue.vue +58 -0
- package/src/components/SearchInput.vue +60 -0
- package/src/components/SelectedCount.vue +33 -0
- package/src/components/SeparatedList.vue +57 -0
- package/src/components/StateBadge.vue +56 -0
- package/src/components/StateIcon.vue +32 -0
- package/src/components/StateListItem.vue +200 -0
- package/src/components/StateNameSelect.vue +146 -0
- package/src/components/StateSelect.vue +87 -0
- package/src/components/StatisticKeyValue.vue +48 -0
- package/src/components/StatusIcon.vue +26 -0
- package/src/components/SubmitButton.vue +15 -0
- package/src/components/TaskRunArtifacts.vue +87 -0
- package/src/components/TaskRunDetails.vue +107 -0
- package/src/components/TaskRunIconText.vue +22 -0
- package/src/components/TaskRunList.vue +38 -0
- package/src/components/TaskRunListItem.vue +80 -0
- package/src/components/TaskRunLogs.vue +82 -0
- package/src/components/TaskRunTagsInput.vue +44 -0
- package/src/components/TaskRunsSort.vue +31 -0
- package/src/components/TimeSpanFilter.vue +29 -0
- package/src/components/TimezoneSelect.vue +80 -0
- package/src/components/ToastFlowRunCreate.vue +59 -0
- package/src/components/ToastParameterValidationError.vue +7 -0
- package/src/components/UseDeploymentSlot.vue +13 -0
- package/src/components/UseFlowSlot.vue +13 -0
- package/src/components/VariableCreateModal.vue +135 -0
- package/src/components/VariableEditModal.vue +134 -0
- package/src/components/VariableMenu.vue +69 -0
- package/src/components/VariableTagsInput.vue +44 -0
- package/src/components/VariablesDeleteButton.vue +54 -0
- package/src/components/VariablesPageEmptyState.vue +45 -0
- package/src/components/VariablesTable.vue +203 -0
- package/src/components/ViewModeButtonGroup.vue +13 -0
- package/src/components/WorkPoolAverageLateTime.vue +41 -0
- package/src/components/WorkPoolBaseJobTemplateFormSection.vue +121 -0
- package/src/components/WorkPoolCard.vue +121 -0
- package/src/components/WorkPoolCombobox.vue +68 -0
- package/src/components/WorkPoolCreateWizard.vue +78 -0
- package/src/components/WorkPoolCreateWizardStepInformation.vue +62 -0
- package/src/components/WorkPoolCreateWizardStepInfrastructureConfiguration.vue +66 -0
- package/src/components/WorkPoolCreateWizardStepInfrastructureType.vue +117 -0
- package/src/components/WorkPoolDetails.vue +72 -0
- package/src/components/WorkPoolEditForm.vue +101 -0
- package/src/components/WorkPoolIconText.vue +22 -0
- package/src/components/WorkPoolLastPolled.vue +30 -0
- package/src/components/WorkPoolLateIndicator.vue +31 -0
- package/src/components/WorkPoolList.vue +26 -0
- package/src/components/WorkPoolMenu.vue +55 -0
- package/src/components/WorkPoolQueueCombobox.vue +77 -0
- package/src/components/WorkPoolQueueCreateForm.vue +116 -0
- package/src/components/WorkPoolQueueDetails.vue +77 -0
- package/src/components/WorkPoolQueueEditForm.vue +115 -0
- package/src/components/WorkPoolQueueHealthIcon.vue +79 -0
- package/src/components/WorkPoolQueueMenu.vue +59 -0
- package/src/components/WorkPoolQueuePriorityLabel.vue +12 -0
- package/src/components/WorkPoolQueueStatusArray.vue +74 -0
- package/src/components/WorkPoolQueueStatusBadge.vue +70 -0
- package/src/components/WorkPoolQueueStatusIcon.vue +63 -0
- package/src/components/WorkPoolQueueToggle.vue +61 -0
- package/src/components/WorkPoolQueueUpcomingFlowRunsList.vue +55 -0
- package/src/components/WorkPoolQueuesDeleteButton.vue +67 -0
- package/src/components/WorkPoolQueuesTable.vue +127 -0
- package/src/components/WorkPoolStatusBadge.vue +18 -0
- package/src/components/WorkPoolStatusIcon.vue +51 -0
- package/src/components/WorkPoolStatusSelect.vue +36 -0
- package/src/components/WorkPoolToggle.vue +56 -0
- package/src/components/WorkPoolTypeSelect.vue +46 -0
- package/src/components/WorkPools.vue +63 -0
- package/src/components/WorkPoolsPageEmptyState.vue +40 -0
- package/src/components/WorkQueueCombobox.vue +120 -0
- package/src/components/WorkQueueCreateForm.vue +95 -0
- package/src/components/WorkQueueDetails.vue +90 -0
- package/src/components/WorkQueueEditForm.vue +101 -0
- package/src/components/WorkQueueFlowRunsList.vue +44 -0
- package/src/components/WorkQueueIconText.vue +62 -0
- package/src/components/WorkQueueLastPolled.vue +19 -0
- package/src/components/WorkQueueLateIndicator.vue +29 -0
- package/src/components/WorkQueueMenu.vue +69 -0
- package/src/components/WorkQueueStatusBadge.vue +48 -0
- package/src/components/WorkQueueStatusIcon.vue +43 -0
- package/src/components/WorkQueueStatusSelect.vue +35 -0
- package/src/components/WorkQueueToggle.vue +69 -0
- package/src/components/WorkQueuesDeleteButton.vue +66 -0
- package/src/components/WorkQueuesPageEmptyState.vue +42 -0
- package/src/components/WorkQueuesTable.vue +146 -0
- package/src/components/WorkerStatusBadge.vue +21 -0
- package/src/components/WorkersLateIndicator.vue +52 -0
- package/src/components/WorkersTable.vue +151 -0
- package/src/components/WorkspaceDashboardFlowRunsCard.vue +53 -0
- package/src/components/WorkspaceVariableCombobox.vue +64 -0
- package/src/components/index.ts +332 -0
- package/src/compositions/filters.ts +700 -0
- package/src/compositions/index.ts +63 -0
- package/src/compositions/useArtifact.ts +37 -0
- package/src/compositions/useArtifactCollection.ts +37 -0
- package/src/compositions/useBlockDocument.ts +37 -0
- package/src/compositions/useBlockDocuments.ts +45 -0
- package/src/compositions/useBlockSchema.ts +53 -0
- package/src/compositions/useBlockType.ts +54 -0
- package/src/compositions/useCan.ts +6 -0
- package/src/compositions/useComponent.ts +12 -0
- package/src/compositions/useDashboardSubscriptionOptions.ts +7 -0
- package/src/compositions/useDateRangeSelectValue.ts +135 -0
- package/src/compositions/useDefaultSavedSearchFilter.ts +40 -0
- package/src/compositions/useDeployment.ts +37 -0
- package/src/compositions/useDeployments.ts +45 -0
- package/src/compositions/useDeploymentsCount.ts +41 -0
- package/src/compositions/useFavicon.ts +42 -0
- package/src/compositions/useFilterPagination.ts +22 -0
- package/src/compositions/useFlow.ts +37 -0
- package/src/compositions/useFlowRun.ts +39 -0
- package/src/compositions/useFlowRunCompleteness.ts +62 -0
- package/src/compositions/useFlowRunFavicon.ts +20 -0
- package/src/compositions/useFlowRuns.ts +46 -0
- package/src/compositions/useFlowRunsAverageLateness.ts +35 -0
- package/src/compositions/useFlowRunsCount.ts +45 -0
- package/src/compositions/useFlows.ts +45 -0
- package/src/compositions/useFlowsCount.ts +41 -0
- package/src/compositions/useForm.ts +29 -0
- package/src/compositions/useInterval.ts +10 -0
- package/src/compositions/useJsonRecord.ts +47 -0
- package/src/compositions/useLastFlowRun.ts +39 -0
- package/src/compositions/useLogsSort.ts +34 -0
- package/src/compositions/useNextFlowRun.ts +41 -0
- package/src/compositions/useOptionalPropertiesSchema.ts +23 -0
- package/src/compositions/useOptionalRules.ts +9 -0
- package/src/compositions/usePaginatedSubscription.ts +102 -0
- package/src/compositions/usePagination.spec.ts +8 -0
- package/src/compositions/usePagination.ts +213 -0
- package/src/compositions/useReactiveField.ts +21 -0
- package/src/compositions/useReactiveForm.ts +23 -0
- package/src/compositions/useSavedFlowRunsSearches.ts +66 -0
- package/src/compositions/useScrollLinking.ts +63 -0
- package/src/compositions/useShowModal.ts +29 -0
- package/src/compositions/useStatePolling.ts +33 -0
- package/src/compositions/useSubscriptions.ts +52 -0
- package/src/compositions/useTabs.ts +38 -0
- package/src/compositions/useTaskRun.ts +37 -0
- package/src/compositions/useTaskRunFavicon.ts +20 -0
- package/src/compositions/useTaskRunResult.ts +47 -0
- package/src/compositions/useTaskRuns.ts +46 -0
- package/src/compositions/useTaskRunsCount.ts +58 -0
- package/src/compositions/useTaskRunsHistory.ts +45 -0
- package/src/compositions/useThemeTokens.ts +119 -0
- package/src/compositions/useVariable.ts +37 -0
- package/src/compositions/useVariables.ts +62 -0
- package/src/compositions/useWorkPool.ts +38 -0
- package/src/compositions/useWorkPoolById.ts +38 -0
- package/src/compositions/useWorkPoolLastPolled.ts +60 -0
- package/src/compositions/useWorkPoolQueue.ts +37 -0
- package/src/compositions/useWorkPoolsCount.ts +34 -0
- package/src/compositions/useWorkQueueStatus.ts +37 -0
- package/src/compositions/useWorkspaceApi.ts +6 -0
- package/src/compositions/useWorkspaceDashboardFilter.ts +26 -0
- package/src/compositions/useWorkspaceEvent.ts +32 -0
- package/src/compositions/useWorkspaceEventsSubscription.ts +73 -0
- package/src/compositions/useWorkspaceFlowRunDashboardFilter.ts +59 -0
- package/src/compositions/useWorkspaceRoutes.ts +7 -0
- package/src/date.d.ts +3 -0
- package/src/formatters/BlockDocumentSortValuesParam.ts +21 -0
- package/src/formatters/DateRangeSelectAroundPeriodParam.ts +21 -0
- package/src/formatters/DateRangeSelectAroundUnitParam.ts +21 -0
- package/src/formatters/DateRangeSelectTypeParam.ts +21 -0
- package/src/formatters/DeploymentSortValuesSortParam.ts +21 -0
- package/src/formatters/DeploymentStatusRouteParam.ts +17 -0
- package/src/formatters/FlowRunSortValuesSortParam.ts +21 -0
- package/src/formatters/FlowSortValuesSortParam.ts +21 -0
- package/src/formatters/JsonRouteParam.ts +13 -0
- package/src/formatters/OperatorRouteParam.ts +17 -0
- package/src/formatters/TaskRunSortValuesSortParam.ts +21 -0
- package/src/formatters/index.ts +7 -0
- package/src/index.ts +45 -0
- package/src/intl.d.ts +7 -0
- package/src/localization/index.ts +10 -0
- package/src/localization/locale/en.ts +214 -0
- package/src/maps/.eslintrc.json +5 -0
- package/src/maps/README.md +62 -0
- package/src/maps/artifact.ts +37 -0
- package/src/maps/blockDocument.ts +31 -0
- package/src/maps/blockDocumentCreate.ts +26 -0
- package/src/maps/blockDocumentReferences.ts +22 -0
- package/src/maps/blockDocumentUpdate.ts +14 -0
- package/src/maps/blockSchema.ts +16 -0
- package/src/maps/blockSchemaReferences.ts +11 -0
- package/src/maps/blockType.ts +17 -0
- package/src/maps/collectionItem.ts +28 -0
- package/src/maps/concurrencyLimit.ts +16 -0
- package/src/maps/concurrencyLimitCreate.ts +12 -0
- package/src/maps/concurrencyV2Limit.ts +27 -0
- package/src/maps/concurrencyV2LimitCreate.ts +20 -0
- package/src/maps/concurrencyV2LimitUpdate.ts +20 -0
- package/src/maps/createdOrUpdatedBy.ts +11 -0
- package/src/maps/dashboard.ts +64 -0
- package/src/maps/date.ts +9 -0
- package/src/maps/dateRangeSelectValue.ts +15 -0
- package/src/maps/deployment.ts +126 -0
- package/src/maps/deploymentSchedule.ts +14 -0
- package/src/maps/deploymentScheduleCreate.ts +11 -0
- package/src/maps/deploymentScheduleUpdate.ts +11 -0
- package/src/maps/deploymentStatsFilter.ts +35 -0
- package/src/maps/deploymentStatus.ts +10 -0
- package/src/maps/divergingBarChartItem.ts +14 -0
- package/src/maps/empiricalPolicy.ts +31 -0
- package/src/maps/filters.ts +539 -0
- package/src/maps/flow.ts +39 -0
- package/src/maps/flowRun.ts +41 -0
- package/src/maps/flowRunHistory.ts +19 -0
- package/src/maps/flowStatsFilter.ts +34 -0
- package/src/maps/index.ts +283 -0
- package/src/maps/logs.ts +31 -0
- package/src/maps/mapFlowRunInputKeysetResponseToFlowRunInputKeyset.ts +19 -0
- package/src/maps/notification.ts +16 -0
- package/src/maps/notificationCreate.ts +12 -0
- package/src/maps/notificationUpdate.ts +12 -0
- package/src/maps/number.ts +9 -0
- package/src/maps/orchestrationResult.ts +10 -0
- package/src/maps/runGraphData.ts +65 -0
- package/src/maps/savedSearch.ts +143 -0
- package/src/maps/savedSearchCreate.ts +68 -0
- package/src/maps/savedSearchFilter.ts +34 -0
- package/src/maps/scatterPlotItem.ts +19 -0
- package/src/maps/schedule.ts +84 -0
- package/src/maps/schema.ts +53 -0
- package/src/maps/schemaValuesRequest.ts +12 -0
- package/src/maps/schemaValuesResponse.ts +23 -0
- package/src/maps/state.ts +39 -0
- package/src/maps/stateDetails.ts +58 -0
- package/src/maps/stateHistory.ts +24 -0
- package/src/maps/stateType.ts +10 -0
- package/src/maps/stateUpdate.ts +14 -0
- package/src/maps/taskInput.ts +40 -0
- package/src/maps/taskRun.ts +62 -0
- package/src/maps/taskRunHistory.ts +46 -0
- package/src/maps/uiFlowRunHistory.ts +14 -0
- package/src/maps/uiTaskRunCountsByState.ts +13 -0
- package/src/maps/variable.ts +32 -0
- package/src/maps/workPool.ts +70 -0
- package/src/maps/workPoolQueue.ts +66 -0
- package/src/maps/workPoolStatus.ts +22 -0
- package/src/maps/workPoolWorker.ts +15 -0
- package/src/maps/workPoolWorkerStatus.ts +10 -0
- package/src/maps/workQueue.ts +52 -0
- package/src/maps/workQueueFilter.ts +18 -0
- package/src/maps/workQueueHealthPolicy.ts +9 -0
- package/src/maps/workQueueStatus.ts +11 -0
- package/src/maps/workerCollection.ts +58 -0
- package/src/maps/workerScheduledFlowRun.ts +19 -0
- package/src/maps/workspaceEvent.ts +77 -0
- package/src/maps/workspaceEvents.ts +11 -0
- package/src/maps/workspaceEventsCount.ts +22 -0
- package/src/maps/workspaceEventsFilter.ts +92 -0
- package/src/maps/workspaceEventsHistory.ts +13 -0
- package/src/mocks/README.md +62 -0
- package/src/mocks/UiFlowRunHistory.ts +13 -0
- package/src/mocks/any.ts +13 -0
- package/src/mocks/artifact.ts +42 -0
- package/src/mocks/blockDocument.ts +26 -0
- package/src/mocks/blockDocumentData.ts +24 -0
- package/src/mocks/blockSchema.ts +18 -0
- package/src/mocks/blockSchemaCapabilities.ts +5 -0
- package/src/mocks/blockSchemaCapability.ts +5 -0
- package/src/mocks/blockType.ts +19 -0
- package/src/mocks/blockTypeSnippet.ts +14 -0
- package/src/mocks/boolean.ts +5 -0
- package/src/mocks/collectionItem.ts +25 -0
- package/src/mocks/concurrencyLimit.ts +14 -0
- package/src/mocks/concurrencyV2Limit.ts +13 -0
- package/src/mocks/createdOrUpdatedBy.ts +12 -0
- package/src/mocks/date.ts +18 -0
- package/src/mocks/deployment.ts +51 -0
- package/src/mocks/deploymentSchedule.ts +22 -0
- package/src/mocks/deploymentStatus.ts +8 -0
- package/src/mocks/email.ts +5 -0
- package/src/mocks/flow.ts +13 -0
- package/src/mocks/flowResponse.ts +13 -0
- package/src/mocks/flowRun.ts +43 -0
- package/src/mocks/flowRunGraph.ts +108 -0
- package/src/mocks/flowRunHistory.ts +13 -0
- package/src/mocks/flowRunStateHistory.ts +14 -0
- package/src/mocks/id.ts +6 -0
- package/src/mocks/image.ts +14 -0
- package/src/mocks/index.ts +123 -0
- package/src/mocks/log.ts +22 -0
- package/src/mocks/markdown.ts +158 -0
- package/src/mocks/notification.ts +15 -0
- package/src/mocks/notificationCreate.ts +14 -0
- package/src/mocks/number.ts +7 -0
- package/src/mocks/parameters.ts +69 -0
- package/src/mocks/schedule.ts +46 -0
- package/src/mocks/schemas.ts +68 -0
- package/src/mocks/sentences/generateText.ts +103 -0
- package/src/mocks/sentences/sample.ts +94 -0
- package/src/mocks/sentences/utils.ts +64 -0
- package/src/mocks/starnames/generateStarName.ts +14 -0
- package/src/mocks/starnames/index.ts +4 -0
- package/src/mocks/starnames/names.ts +2 -0
- package/src/mocks/starnames/prefixes.ts +2 -0
- package/src/mocks/starnames/suffixes.ts +2 -0
- package/src/mocks/state.ts +30 -0
- package/src/mocks/stateType.ts +6 -0
- package/src/mocks/string.ts +40 -0
- package/src/mocks/table.ts +34 -0
- package/src/mocks/taskRun.ts +33 -0
- package/src/mocks/url.ts +14 -0
- package/src/mocks/workPool.ts +26 -0
- package/src/mocks/workPoolQueue.ts +19 -0
- package/src/mocks/workPoolStatus.ts +8 -0
- package/src/mocks/workQueue.ts +30 -0
- package/src/mocks/workQueueCreate.ts +14 -0
- package/src/mocks/workQueueHealthPolicy.ts +11 -0
- package/src/mocks/workQueueStatus.ts +14 -0
- package/src/mocks/worker.ts +15 -0
- package/src/mocks/workerStatus.ts +6 -0
- package/src/models/Artifact.ts +85 -0
- package/src/models/ArtifactCollection.ts +34 -0
- package/src/models/BatchLookupError.ts +5 -0
- package/src/models/BlockDocument.ts +58 -0
- package/src/models/BlockDocumentCreate.ts +18 -0
- package/src/models/BlockDocumentUpdate.ts +8 -0
- package/src/models/BlockSchema.ts +35 -0
- package/src/models/BlockType.ts +35 -0
- package/src/models/CloudConfigMissingParamsError.ts +5 -0
- package/src/models/CollectionItem.ts +16 -0
- package/src/models/ConcurrencyLimit.ts +8 -0
- package/src/models/ConcurrencyLimitCreate.ts +4 -0
- package/src/models/ConcurrencyV2ActiveSlots.ts +5 -0
- package/src/models/ConcurrencyV2Create.ts +8 -0
- package/src/models/ConcurrencyV2DecrementActiveSlots.ts +5 -0
- package/src/models/ConcurrencyV2IncrementActiveSlots.ts +5 -0
- package/src/models/ConcurrencyV2Limit.ts +12 -0
- package/src/models/ConcurrencyV2Update.ts +8 -0
- package/src/models/CreatedOrUpdatedBy.ts +7 -0
- package/src/models/CronSchedule.ts +235 -0
- package/src/models/CronStringLengthError.ts +5 -0
- package/src/models/Deployment.ts +123 -0
- package/src/models/DeploymentFlowRunCreate.ts +38 -0
- package/src/models/DeploymentSchedule.ts +30 -0
- package/src/models/DeploymentScheduleCompatible.ts +7 -0
- package/src/models/DeploymentScheduleCreate.ts +7 -0
- package/src/models/DeploymentScheduleUpdate.ts +7 -0
- package/src/models/DeploymentStatus.ts +6 -0
- package/src/models/DeploymentUpdate.ts +48 -0
- package/src/models/EmpiricalPolicy.ts +20 -0
- package/src/models/FilterDateError.ts +5 -0
- package/src/models/FilterPrefixError.ts +5 -0
- package/src/models/FilterRelativeDateUnitError.ts +5 -0
- package/src/models/Filters.ts +273 -0
- package/src/models/Flow.ts +23 -0
- package/src/models/FlowRun.ts +131 -0
- package/src/models/FlowRunHistoryMap.ts +23 -0
- package/src/models/FlowRunInputKeyset.ts +5 -0
- package/src/models/GraphNode.ts +39 -0
- package/src/models/ISchedule.ts +8 -0
- package/src/models/IntervalSchedule.ts +127 -0
- package/src/models/InvalidSchemaValueError.ts +5 -0
- package/src/models/Log.ts +39 -0
- package/src/models/NoSchemaPropertyDefaultValueError.ts +5 -0
- package/src/models/Notification.ts +32 -0
- package/src/models/NotificationCreate.ts +8 -0
- package/src/models/NotificationUpdate.ts +6 -0
- package/src/models/ObjectLevelCan.ts +25 -0
- package/src/models/PublicCron.ts +87 -0
- package/src/models/RRuleSchedule.ts +38 -0
- package/src/models/RunHistory.ts +19 -0
- package/src/models/SavedSearch.ts +34 -0
- package/src/models/Schedule.ts +40 -0
- package/src/models/State.ts +12 -0
- package/src/models/StateCreate.ts +10 -0
- package/src/models/StateDetails.ts +13 -0
- package/src/models/StateDetailsCreate.ts +8 -0
- package/src/models/StateHistory.ts +25 -0
- package/src/models/StateType.ts +56 -0
- package/src/models/StateUpdate.ts +13 -0
- package/src/models/TaskInput.ts +48 -0
- package/src/models/TaskRun.ts +89 -0
- package/src/models/TaskRunHistory.ts +13 -0
- package/src/models/UiFlowRunHistory.ts +10 -0
- package/src/models/UiTaskRunCountsByState.ts +5 -0
- package/src/models/Variable.ts +32 -0
- package/src/models/VariableCreate.ts +5 -0
- package/src/models/VariableEdit.ts +5 -0
- package/src/models/WorkPool.ts +67 -0
- package/src/models/WorkPoolCreate.ts +11 -0
- package/src/models/WorkPoolEdit.ts +9 -0
- package/src/models/WorkPoolQueue.ts +43 -0
- package/src/models/WorkPoolQueueCreate.ts +7 -0
- package/src/models/WorkPoolQueueEdit.ts +7 -0
- package/src/models/WorkPoolQueueTableData.ts +11 -0
- package/src/models/WorkPoolStatus.ts +7 -0
- package/src/models/WorkPoolWorker.ts +31 -0
- package/src/models/WorkPoolWorkerStatus.ts +4 -0
- package/src/models/WorkQueue.ts +53 -0
- package/src/models/WorkQueueCreate.ts +6 -0
- package/src/models/WorkQueueEdit.ts +5 -0
- package/src/models/WorkQueueFilter.ts +15 -0
- package/src/models/WorkQueueHealthPolicy.ts +4 -0
- package/src/models/WorkQueueStatus.ts +22 -0
- package/src/models/WorkQueueTableData.ts +11 -0
- package/src/models/WorkerCollectionItem.ts +27 -0
- package/src/models/WorkerScheduledFlowRun.ts +7 -0
- package/src/models/WorkerScheduledFlowRuns.ts +6 -0
- package/src/models/api/ArtifactCollectionResponse.ts +6 -0
- package/src/models/api/ArtifactResponse.ts +15 -0
- package/src/models/api/BlockDocumentCreateRequest.ts +35 -0
- package/src/models/api/BlockDocumentResponse.ts +29 -0
- package/src/models/api/BlockDocumentUpdateRequest.ts +4 -0
- package/src/models/api/BlockSchemaResponse.ts +13 -0
- package/src/models/api/BlockTypeResponse.ts +11 -0
- package/src/models/api/CollectionItemResponse.ts +19 -0
- package/src/models/api/ConcurrencyLimitCreateRequest.ts +4 -0
- package/src/models/api/ConcurrencyLimitResponse.ts +8 -0
- package/src/models/api/ConcurrencyV2ActiveSlotsResponse.ts +5 -0
- package/src/models/api/ConcurrencyV2CreateRequest.ts +8 -0
- package/src/models/api/ConcurrencyV2DecrementActiveSlotsRequest.ts +5 -0
- package/src/models/api/ConcurrencyV2IncrementActiveSlotsRequest.ts +5 -0
- package/src/models/api/ConcurrencyV2Response.ts +12 -0
- package/src/models/api/ConcurrencyV2UpdateRequest.ts +8 -0
- package/src/models/api/CreatedOrUpdatedByResponse.ts +7 -0
- package/src/models/api/DeploymentFlowRunRequest.ts +16 -0
- package/src/models/api/DeploymentResponse.ts +39 -0
- package/src/models/api/DeploymentScheduleCreateRequest.ts +7 -0
- package/src/models/api/DeploymentScheduleResponse.ts +12 -0
- package/src/models/api/DeploymentScheduleUpdateRequest.ts +7 -0
- package/src/models/api/DeploymentUpdateRequest.ts +18 -0
- package/src/models/api/EmpiricalPolicyRequest.ts +6 -0
- package/src/models/api/EmpiricalPolicyResponse.ts +6 -0
- package/src/models/api/Filters.ts +261 -0
- package/src/models/api/FlowResponse.ts +7 -0
- package/src/models/api/FlowRunGraphResponse.ts +18 -0
- package/src/models/api/FlowRunHistoryResponse.ts +7 -0
- package/src/models/api/FlowRunInputKeysetResponse.ts +5 -0
- package/src/models/api/FlowRunResponse.ts +43 -0
- package/src/models/api/LogResponse.ts +13 -0
- package/src/models/api/NotificationCreateRequest.ts +6 -0
- package/src/models/api/NotificationResponse.ts +9 -0
- package/src/models/api/NotificationUpdateRequest.ts +6 -0
- package/src/models/api/OrchestrationResult.ts +9 -0
- package/src/models/api/OrchestrationResultResponse.ts +9 -0
- package/src/models/api/RunGraphDataResponse.ts +39 -0
- package/src/models/api/SavedSearchResponse.ts +94 -0
- package/src/models/api/ScheduleRequest.ts +33 -0
- package/src/models/api/ScheduleResponse.ts +33 -0
- package/src/models/api/SchemaResponse.ts +52 -0
- package/src/models/api/StateDetailsRequest.ts +12 -0
- package/src/models/api/StateDetailsResponse.ts +14 -0
- package/src/models/api/StateHistoryResponse.ts +9 -0
- package/src/models/api/StateRequest.ts +10 -0
- package/src/models/api/StateResponse.ts +12 -0
- package/src/models/api/StateUpdateRequest.ts +13 -0
- package/src/models/api/TaskInputResponse.ts +28 -0
- package/src/models/api/TaskRunHistoryResponse.ts +13 -0
- package/src/models/api/TaskRunResponse.ts +32 -0
- package/src/models/api/UiFlowRunHistoryResponse.ts +10 -0
- package/src/models/api/UiTaskRunCountsByStateResponse.ts +5 -0
- package/src/models/api/VariableRequest.ts +11 -0
- package/src/models/api/VariableResponse.ts +10 -0
- package/src/models/api/WorkPoolQueueRequest.ts +15 -0
- package/src/models/api/WorkPoolQueueResponse.ts +17 -0
- package/src/models/api/WorkPoolRequest.ts +22 -0
- package/src/models/api/WorkPoolResponse.ts +24 -0
- package/src/models/api/WorkPoolWorkerResponse.ts +13 -0
- package/src/models/api/WorkQueueFilterResponse.ts +4 -0
- package/src/models/api/WorkQueueHealthPolicyResponse.ts +4 -0
- package/src/models/api/WorkQueueRequest.ts +12 -0
- package/src/models/api/WorkQueueResponse.ts +17 -0
- package/src/models/api/WorkQueueStatusResponse.ts +10 -0
- package/src/models/api/WorkerCollectionItemResponse.ts +23 -0
- package/src/models/api/WorkerScheduledFlowRunResponse.ts +7 -0
- package/src/models/api/WorkerScheduledFlowRunsRequest.ts +6 -0
- package/src/models/api/index.ts +47 -0
- package/src/models/api/workspaceEvents.ts +37 -0
- package/src/models/api/workspaceEventsFilterRequest.ts +20 -0
- package/src/models/api/workspaceEventsHistoryRequest.ts +9 -0
- package/src/models/index.ts +82 -0
- package/src/models/workspaceEvent.ts +119 -0
- package/src/models/workspaceEvents.ts +36 -0
- package/src/models/workspaceEventsCount.ts +31 -0
- package/src/router/index.ts +409 -0
- package/src/router/routes.ts +69 -0
- package/src/schemas/components/SchemaForm.vue +94 -0
- package/src/schemas/components/SchemaFormProperties.vue +112 -0
- package/src/schemas/components/SchemaFormProperty.vue +202 -0
- package/src/schemas/components/SchemaFormPropertyAllOf.vue +51 -0
- package/src/schemas/components/SchemaFormPropertyAnyOf.vue +144 -0
- package/src/schemas/components/SchemaFormPropertyArray.vue +69 -0
- package/src/schemas/components/SchemaFormPropertyArrayItem.vue +93 -0
- package/src/schemas/components/SchemaFormPropertyArrayList.vue +136 -0
- package/src/schemas/components/SchemaFormPropertyBlockDocument.vue +39 -0
- package/src/schemas/components/SchemaFormPropertyBoolean.vue +20 -0
- package/src/schemas/components/SchemaFormPropertyDate.vue +44 -0
- package/src/schemas/components/SchemaFormPropertyDateTime.vue +43 -0
- package/src/schemas/components/SchemaFormPropertyErrors.vue +41 -0
- package/src/schemas/components/SchemaFormPropertyInput.vue +124 -0
- package/src/schemas/components/SchemaFormPropertyInteger.vue +42 -0
- package/src/schemas/components/SchemaFormPropertyKindJinja.vue +36 -0
- package/src/schemas/components/SchemaFormPropertyKindJson.vue +47 -0
- package/src/schemas/components/SchemaFormPropertyKindWorkspaceVariable.vue +30 -0
- package/src/schemas/components/SchemaFormPropertyMenu.vue +96 -0
- package/src/schemas/components/SchemaFormPropertyNull.vue +28 -0
- package/src/schemas/components/SchemaFormPropertyObject.vue +59 -0
- package/src/schemas/components/SchemaFormPropertyString.vue +90 -0
- package/src/schemas/components/SchemaFormPropertyUnknown.vue +64 -0
- package/src/schemas/components/SchemaInput.vue +62 -0
- package/src/schemas/compositions/usePrefectKindValue.ts +95 -0
- package/src/schemas/compositions/useSchema.ts +16 -0
- package/src/schemas/compositions/useSchemaFormKinds.ts +8 -0
- package/src/schemas/compositions/useSchemaProperty.ts +48 -0
- package/src/schemas/compositions/useSchemaPropertyInput.ts +73 -0
- package/src/schemas/compositions/useSchemaValidation.ts +57 -0
- package/src/schemas/index.ts +20 -0
- package/src/schemas/mapper.ts +67 -0
- package/src/schemas/maps/index.ts +10 -0
- package/src/schemas/maps/schema.ts +111 -0
- package/src/schemas/maps/schemaValue.ts +117 -0
- package/src/schemas/symbols.ts +3 -0
- package/src/schemas/types/schema.ts +78 -0
- package/src/schemas/types/schemaResponse.ts +45 -0
- package/src/schemas/types/schemaValues.ts +97 -0
- package/src/schemas/types/schemaValuesValidationResponse.ts +30 -0
- package/src/schemas/utilities/definitions.ts +23 -0
- package/src/schemas/utilities/errors.ts +49 -0
- package/src/schemas/utilities/properties.ts +154 -0
- package/src/services/Api.ts +134 -0
- package/src/services/BatchProcessor/BatchProcessor.ts +156 -0
- package/src/services/BatchProcessor/README.md +36 -0
- package/src/services/BatchProcessor/index.ts +1 -0
- package/src/services/CollectionsApi.ts +17 -0
- package/src/services/HealthApi.ts +17 -0
- package/src/services/Mapper.ts +67 -0
- package/src/services/Mocker.ts +42 -0
- package/src/services/RouteGuardExecutioner.ts +44 -0
- package/src/services/SimpleIdManager.ts +7 -0
- package/src/services/UiApi.ts +29 -0
- package/src/services/WorkspaceApi.ts +29 -0
- package/src/services/WorkspaceArtifactsApi.ts +75 -0
- package/src/services/WorkspaceAutomationsApi.ts +66 -0
- package/src/services/WorkspaceBlockCapabilitiesApi.ts +13 -0
- package/src/services/WorkspaceBlockDocumentsApi.ts +71 -0
- package/src/services/WorkspaceBlockSchemasApi.ts +37 -0
- package/src/services/WorkspaceBlockTypesApi.ts +38 -0
- package/src/services/WorkspaceConcurrencyLimitsApi.ts +46 -0
- package/src/services/WorkspaceConcurrencyLimitsV2API.ts +47 -0
- package/src/services/WorkspaceDeploymentScheduleApi.ts +23 -0
- package/src/services/WorkspaceDeploymentsApi.ts +99 -0
- package/src/services/WorkspaceFlowRunsApi.ts +140 -0
- package/src/services/WorkspaceFlowsApi.ts +51 -0
- package/src/services/WorkspaceLogsApi.ts +18 -0
- package/src/services/WorkspaceNotificationsApi.ts +39 -0
- package/src/services/WorkspaceSavedSearchesApi.ts +46 -0
- package/src/services/WorkspaceSchemasWorkspaceApi.ts +52 -0
- package/src/services/WorkspaceTaskRunsApi.ts +67 -0
- package/src/services/WorkspaceVariablesApi.ts +51 -0
- package/src/services/WorkspaceWorkPoolQueuesApi.ts +51 -0
- package/src/services/WorkspaceWorkPoolWorkersApi.ts +27 -0
- package/src/services/WorkspaceWorkPoolsApi.ts +88 -0
- package/src/services/WorkspaceWorkQueuesApi.ts +98 -0
- package/src/services/can.ts +110 -0
- package/src/services/index.ts +33 -0
- package/src/services/schemas/constants.spec.ts +9 -0
- package/src/services/schemas/constants.ts +1 -0
- package/src/services/schemas/index.ts +4 -0
- package/src/services/schemas/properties/SchemaPropertyAny.ts +113 -0
- package/src/services/schemas/properties/SchemaPropertyArray.ts +62 -0
- package/src/services/schemas/properties/SchemaPropertyBlock.ts +54 -0
- package/src/services/schemas/properties/SchemaPropertyBoolean.ts +49 -0
- package/src/services/schemas/properties/SchemaPropertyInteger.ts +36 -0
- package/src/services/schemas/properties/SchemaPropertyNull.ts +16 -0
- package/src/services/schemas/properties/SchemaPropertyNumber.ts +42 -0
- package/src/services/schemas/properties/SchemaPropertyObject.ts +68 -0
- package/src/services/schemas/properties/SchemaPropertyService.ts +179 -0
- package/src/services/schemas/properties/SchemaPropertyString.ts +142 -0
- package/src/services/schemas/properties/factory.ts +46 -0
- package/src/services/schemas/properties/index.ts +10 -0
- package/src/services/schemas/resolvers/blockReferenceDefaults.ts +44 -0
- package/src/services/schemas/resolvers/blockReferences.ts +28 -0
- package/src/services/schemas/resolvers/definitions.ts +94 -0
- package/src/services/schemas/resolvers/index.ts +3 -0
- package/src/services/schemas/resolvers/meta.ts +50 -0
- package/src/services/schemas/resolvers/schemas.ts +19 -0
- package/src/services/schemas/utilities.ts +295 -0
- package/src/services/storage/Storage.ts +83 -0
- package/src/services/storage/StorageItem.ts +5 -0
- package/src/services/storage/flowRunStorage.ts +7 -0
- package/src/services/storage/index.ts +4 -0
- package/src/services/storage/useStorage.ts +53 -0
- package/src/services/workspaceEventsApi.ts +69 -0
- package/src/shims-svg.d.ts +11 -0
- package/src/styles/colors.css +682 -0
- package/src/styles/index.css +5 -0
- package/src/styles/states.css +94 -0
- package/src/tailwind.config.ts +37 -0
- package/src/types/ColorMode.ts +11 -0
- package/src/types/RouteGuard.ts +9 -0
- package/src/types/SortOptionTypes.ts +114 -0
- package/src/types/any.ts +2 -0
- package/src/types/artifact.ts +30 -0
- package/src/types/buttons.ts +1 -0
- package/src/types/cron.ts +99 -0
- package/src/types/css.ts +1 -0
- package/src/types/dashboard.ts +8 -0
- package/src/types/dates.ts +7 -0
- package/src/types/debug.ts +6 -0
- package/src/types/deployment.ts +5 -0
- package/src/types/flow.ts +7 -0
- package/src/types/flowRunResults.ts +1 -0
- package/src/types/index.ts +37 -0
- package/src/types/reactivity.ts +16 -0
- package/src/types/schemaInput.ts +6 -0
- package/src/types/schemas.ts +98 -0
- package/src/types/size.ts +1 -0
- package/src/types/stateBadge.ts +3 -0
- package/src/types/states.ts +54 -0
- package/src/types/tabs.ts +25 -0
- package/src/types/tailwind.ts +1 -0
- package/src/types/useEntitySubscription.ts +8 -0
- package/src/types/utilities.ts +39 -0
- package/src/types/workspaceEventsFilter.ts +40 -0
- package/src/types/workspaceEventsHistory.ts +8 -0
- package/src/utilities/activeViewMode.ts +18 -0
- package/src/utilities/api.ts +67 -0
- package/src/utilities/arrays.ts +175 -0
- package/src/utilities/boolean.ts +3 -0
- package/src/utilities/cache.ts +35 -0
- package/src/utilities/colorMode.ts +36 -0
- package/src/utilities/components.ts +34 -0
- package/src/utilities/copy.ts +7 -0
- package/src/utilities/dates.ts +129 -0
- package/src/utilities/delete.ts +24 -0
- package/src/utilities/errors.ts +64 -0
- package/src/utilities/eventTarget.ts +8 -0
- package/src/utilities/events.ts +21 -0
- package/src/utilities/formValidation.ts +18 -0
- package/src/utilities/functions.ts +4 -0
- package/src/utilities/httpStatus.ts +173 -0
- package/src/utilities/index.ts +35 -0
- package/src/utilities/inject.ts +25 -0
- package/src/utilities/json.ts +28 -0
- package/src/utilities/jsonSafe.spec.ts +59 -0
- package/src/utilities/jsonSafeParse.ts +28 -0
- package/src/utilities/jsonSafeStringify.ts +22 -0
- package/src/utilities/languageDefinitions/json.ts +28 -0
- package/src/utilities/languageDefinitions/python.ts +67 -0
- package/src/utilities/logs.ts +20 -0
- package/src/utilities/math.ts +27 -0
- package/src/utilities/numbers.ts +14 -0
- package/src/utilities/object.ts +178 -0
- package/src/utilities/parameters.ts +57 -0
- package/src/utilities/parseUnknownJson.spec.ts +26 -0
- package/src/utilities/parseUnknownJson.ts +22 -0
- package/src/utilities/processTypes.ts +12 -0
- package/src/utilities/reactivity.ts +61 -0
- package/src/utilities/routes.ts +19 -0
- package/src/utilities/savedFilters.ts +59 -0
- package/src/utilities/seconds.ts +74 -0
- package/src/utilities/state.ts +64 -0
- package/src/utilities/stringifyUnknownJson.spec.ts +27 -0
- package/src/utilities/stringifyUnknownJson.ts +12 -0
- package/src/utilities/strings.ts +81 -0
- package/src/utilities/subscriptions.ts +16 -0
- package/src/utilities/time.ts +14 -0
- package/src/utilities/timeIntervals.ts +60 -0
- package/src/utilities/timeline.ts +41 -0
- package/src/utilities/timezone.ts +141 -0
- package/src/utilities/tryOnScopeDispose.ts +11 -0
- package/src/utilities/tuples.ts +24 -0
- package/src/utilities/types.ts +30 -0
- package/src/utilities/urls.ts +1 -0
- package/src/utilities/validation.ts +278 -0
- package/src/utilities/variables.ts +19 -0
- package/dist/types/vite.config.d.ts +0 -31
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<p-combobox v-model="internalValue" v-bind="{ options, multiple, emptyMessage }">
|
|
3
|
+
<template #combobox-options-empty>
|
|
4
|
+
No work queues
|
|
5
|
+
</template>
|
|
6
|
+
<template #default="scope">
|
|
7
|
+
<slot v-bind="scope" />
|
|
8
|
+
</template>
|
|
9
|
+
<template #option="{ option }">
|
|
10
|
+
<slot name="option" :option="option" />
|
|
11
|
+
</template>
|
|
12
|
+
</p-combobox>
|
|
13
|
+
</template>
|
|
14
|
+
|
|
15
|
+
<script lang="ts" setup>
|
|
16
|
+
import { PCombobox, SelectOptionGroup, isSelectOptionNormalized } from '@prefecthq/prefect-design'
|
|
17
|
+
import { useSubscription } from '@prefecthq/vue-compositions'
|
|
18
|
+
import { computed, watch } from 'vue'
|
|
19
|
+
import { useWorkspaceApi } from '@/compositions'
|
|
20
|
+
import { WorkQueue } from '@/models'
|
|
21
|
+
|
|
22
|
+
export type WorkPoolFilterByIdOrName = { id?: string[], name?: string[] }
|
|
23
|
+
|
|
24
|
+
const props = defineProps<{
|
|
25
|
+
selected: string | string[] | null | undefined,
|
|
26
|
+
emptyMessage?: string,
|
|
27
|
+
allowUnset?: boolean,
|
|
28
|
+
multiple?: boolean,
|
|
29
|
+
workPoolFilter?: WorkPoolFilterByIdOrName,
|
|
30
|
+
}>()
|
|
31
|
+
|
|
32
|
+
const emits = defineEmits<{
|
|
33
|
+
(event: 'update:selected', value: string | string[] | null): void,
|
|
34
|
+
}>()
|
|
35
|
+
|
|
36
|
+
const multiple = computed(() => props.multiple || Array.isArray(props.selected))
|
|
37
|
+
|
|
38
|
+
const internalValue = computed<typeof props.selected>({
|
|
39
|
+
get() {
|
|
40
|
+
return props.selected ?? null
|
|
41
|
+
},
|
|
42
|
+
set(value: string | string[] | null | undefined) {
|
|
43
|
+
if (!value) {
|
|
44
|
+
emits('update:selected', null)
|
|
45
|
+
} else if (multiple.value) {
|
|
46
|
+
emits('update:selected', Array.isArray(value) ? value : [value])
|
|
47
|
+
} else {
|
|
48
|
+
emits('update:selected', value)
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
})
|
|
52
|
+
|
|
53
|
+
const api = useWorkspaceApi()
|
|
54
|
+
const workQueuesSubscription = useSubscription(api.workQueues.getWorkQueues, [{}])
|
|
55
|
+
const workQueues = computed(() => workQueuesSubscription.response ?? [])
|
|
56
|
+
const options = computed<SelectOptionGroup[]>(() => {
|
|
57
|
+
const workQueuesGroupedByWorkPool = workQueues.value.reduce<Map<string, WorkQueue[]>>((acc, workQueue) => {
|
|
58
|
+
// Filter options by work pool id or name
|
|
59
|
+
if (props.workPoolFilter?.id || props.workPoolFilter?.name) {
|
|
60
|
+
if (!props.workPoolFilter.id?.includes(workQueue.workPoolId) && !(workQueue.workPoolName && props.workPoolFilter.name?.includes(workQueue.workPoolName))) {
|
|
61
|
+
return acc
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
const workPoolName = workQueue.workPoolName ?? 'No work pool'
|
|
66
|
+
acc.set(workPoolName, (acc.get(workPoolName) ?? []).concat(workQueue))
|
|
67
|
+
return acc
|
|
68
|
+
}, new Map())
|
|
69
|
+
|
|
70
|
+
const options: SelectOptionGroup[] = []
|
|
71
|
+
for (const [workPoolName, workQueues] of workQueuesGroupedByWorkPool.entries()) {
|
|
72
|
+
options.push({
|
|
73
|
+
label: workPoolName,
|
|
74
|
+
options: workQueues.map(workQueue => ({
|
|
75
|
+
value: workQueue.id,
|
|
76
|
+
label: workQueue.name,
|
|
77
|
+
})),
|
|
78
|
+
})
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
if (props.allowUnset) {
|
|
82
|
+
options.unshift({
|
|
83
|
+
options: [{ value: null, label: 'None' }],
|
|
84
|
+
label: '',
|
|
85
|
+
})
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
return options
|
|
89
|
+
})
|
|
90
|
+
|
|
91
|
+
// Remove previously selected work queues that are no longer options
|
|
92
|
+
// when the options change
|
|
93
|
+
watch(options, (newValue, oldValue) => {
|
|
94
|
+
const newWorkQueueIds = new Set(newValue.flatMap(group => group.options.map((option) => {
|
|
95
|
+
if (isSelectOptionNormalized(option)) {
|
|
96
|
+
return option.value
|
|
97
|
+
}
|
|
98
|
+
return null
|
|
99
|
+
})))
|
|
100
|
+
|
|
101
|
+
const removedWorkQueueIds = new Set()
|
|
102
|
+
for (const group of oldValue) {
|
|
103
|
+
for (const option of group.options) {
|
|
104
|
+
if (isSelectOptionNormalized(option) && !newWorkQueueIds.has(option.value)) {
|
|
105
|
+
removedWorkQueueIds.add(option.value)
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
if (removedWorkQueueIds.size === 0) {
|
|
111
|
+
return
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
if (!multiple.value && internalValue.value && removedWorkQueueIds.has(internalValue.value)) {
|
|
115
|
+
internalValue.value = undefined
|
|
116
|
+
} else if (Array.isArray(internalValue.value) && internalValue.value.length) {
|
|
117
|
+
internalValue.value = internalValue.value.filter(id => !removedWorkQueueIds.has(id))
|
|
118
|
+
}
|
|
119
|
+
})
|
|
120
|
+
</script>
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<p-form class="work-queue-create-form p-background" @submit="submit">
|
|
3
|
+
<p-content>
|
|
4
|
+
<p-label label="Name " :message="errors.name" :state="nameState">
|
|
5
|
+
<p-text-input v-model="name" :state="nameState" />
|
|
6
|
+
</p-label>
|
|
7
|
+
|
|
8
|
+
<p-label label="Description (Optional)">
|
|
9
|
+
<p-textarea v-model="description" rows="7" />
|
|
10
|
+
</p-label>
|
|
11
|
+
|
|
12
|
+
<p-label label="Status (Optional)">
|
|
13
|
+
<p-toggle v-model="isActive">
|
|
14
|
+
<template #append>
|
|
15
|
+
<div>
|
|
16
|
+
<template v-if="isActive">
|
|
17
|
+
Active
|
|
18
|
+
</template>
|
|
19
|
+
<template v-else>
|
|
20
|
+
Paused
|
|
21
|
+
</template>
|
|
22
|
+
</div>
|
|
23
|
+
</template>
|
|
24
|
+
</p-toggle>
|
|
25
|
+
</p-label>
|
|
26
|
+
|
|
27
|
+
<p-label label="Flow Run Concurrency (Optional)">
|
|
28
|
+
<p-number-input v-model="concurrencyLimit" placeholder="Unlimited" :min="0" />
|
|
29
|
+
</p-label>
|
|
30
|
+
</p-content>
|
|
31
|
+
|
|
32
|
+
<template #footer>
|
|
33
|
+
<p-button @click="cancel">
|
|
34
|
+
Cancel
|
|
35
|
+
</p-button>
|
|
36
|
+
<SubmitButton action="Create" :loading="isSubmitting" />
|
|
37
|
+
</template>
|
|
38
|
+
</p-form>
|
|
39
|
+
</template>
|
|
40
|
+
|
|
41
|
+
<script lang="ts" setup>
|
|
42
|
+
import { PLabel, PTextInput, PNumberInput, PToggle, PForm } from '@prefecthq/prefect-design'
|
|
43
|
+
import { useField } from 'vee-validate'
|
|
44
|
+
import { computed } from 'vue'
|
|
45
|
+
import SubmitButton from '@/components/SubmitButton.vue'
|
|
46
|
+
import { useForm } from '@/compositions/useForm'
|
|
47
|
+
import { WorkQueueCreate } from '@/models'
|
|
48
|
+
import { isRequired } from '@/utilities/validation'
|
|
49
|
+
|
|
50
|
+
const { handleSubmit, isSubmitting, errors } = useForm<WorkQueueCreate>()
|
|
51
|
+
|
|
52
|
+
const rules = {
|
|
53
|
+
name: isRequired('Name'),
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const isActive = computed({
|
|
57
|
+
get() {
|
|
58
|
+
return !isPaused.value
|
|
59
|
+
},
|
|
60
|
+
set() {
|
|
61
|
+
isPaused.value = !isPaused.value
|
|
62
|
+
},
|
|
63
|
+
})
|
|
64
|
+
|
|
65
|
+
const { value: name, meta: nameState } = useField<string>('name', rules.name)
|
|
66
|
+
const { value: description } = useField<string|null>('description')
|
|
67
|
+
const { value: isPaused } = useField<boolean | undefined>('isPaused')
|
|
68
|
+
const { value: concurrencyLimit } = useField<number|null>('concurrencyLimit')
|
|
69
|
+
|
|
70
|
+
const emit = defineEmits<{
|
|
71
|
+
(event: 'submit', value: WorkQueueCreate): void,
|
|
72
|
+
(event: 'cancel'): void,
|
|
73
|
+
}>()
|
|
74
|
+
|
|
75
|
+
const submit = handleSubmit((values) => {
|
|
76
|
+
emit('submit', values)
|
|
77
|
+
})
|
|
78
|
+
|
|
79
|
+
function cancel(): void {
|
|
80
|
+
emit('cancel')
|
|
81
|
+
}
|
|
82
|
+
</script>
|
|
83
|
+
|
|
84
|
+
<style>
|
|
85
|
+
.work-queue-create-form { @apply
|
|
86
|
+
px-6
|
|
87
|
+
py-6
|
|
88
|
+
rounded-default
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.work-queue-create-form__section-header { @apply
|
|
92
|
+
text-base
|
|
93
|
+
text-subdued
|
|
94
|
+
}
|
|
95
|
+
</style>
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="work-queue-details">
|
|
3
|
+
<template v-if="workQueueStatus">
|
|
4
|
+
<p-key-value label="Status" :alternate="alternate">
|
|
5
|
+
<template #value>
|
|
6
|
+
<WorkQueueStatusBadge :work-queue="workQueue" />
|
|
7
|
+
</template>
|
|
8
|
+
</p-key-value>
|
|
9
|
+
</template>
|
|
10
|
+
|
|
11
|
+
<p-key-value label="Description" :value="workQueue.description" :alternate="alternate" />
|
|
12
|
+
|
|
13
|
+
<p-divider />
|
|
14
|
+
|
|
15
|
+
<p-key-value label="Work Queue ID" :value="workQueue.id" :alternate="alternate" />
|
|
16
|
+
|
|
17
|
+
<p-key-value label="Flow Run Concurrency" :value="workQueue.concurrencyLimit" :alternate="alternate" />
|
|
18
|
+
|
|
19
|
+
<p-key-value label="Created" :value="formatDateTimeNumeric(workQueue.created)" :alternate="alternate" />
|
|
20
|
+
|
|
21
|
+
<template v-if="workQueueStatus">
|
|
22
|
+
<p-key-value label="Last Polled" :value="workQueueStatus.lastPolled ? formatDateTimeNumeric(workQueueStatus.lastPolled) : null" :alternate="alternate" />
|
|
23
|
+
</template>
|
|
24
|
+
|
|
25
|
+
<template v-if="workQueue.filter">
|
|
26
|
+
<p-key-value :label="deploymentLabel" :alternate="alternate">
|
|
27
|
+
<template v-if="workQueue.filter.deploymentIds.length" #value>
|
|
28
|
+
<div class="work-queue-details__deployments">
|
|
29
|
+
<template v-for="deploymentId in deploymentIds" :key="deploymentId">
|
|
30
|
+
<DeploymentIconText :deployment-id="deploymentId" />
|
|
31
|
+
</template>
|
|
32
|
+
</div>
|
|
33
|
+
</template>
|
|
34
|
+
<template #empty>
|
|
35
|
+
Any
|
|
36
|
+
</template>
|
|
37
|
+
</p-key-value>
|
|
38
|
+
|
|
39
|
+
<p-key-value label="Tags" :alternate="alternate">
|
|
40
|
+
<template v-if="workQueue.filter.tags.length" #value>
|
|
41
|
+
<p-tags :tags="workQueue.filter.tags" class="mt-2" />
|
|
42
|
+
</template>
|
|
43
|
+
</p-key-value>
|
|
44
|
+
</template>
|
|
45
|
+
</div>
|
|
46
|
+
</template>
|
|
47
|
+
|
|
48
|
+
<script lang="ts" setup>
|
|
49
|
+
import { computed } from 'vue'
|
|
50
|
+
import { WorkQueueStatusBadge } from '@/components'
|
|
51
|
+
import DeploymentIconText from '@/components/DeploymentIconText.vue'
|
|
52
|
+
import { useWorkQueueStatus } from '@/compositions'
|
|
53
|
+
import { WorkQueue } from '@/models/WorkQueue'
|
|
54
|
+
import { formatDateTimeNumeric } from '@/utilities/dates'
|
|
55
|
+
|
|
56
|
+
const props = defineProps<{
|
|
57
|
+
workQueue: WorkQueue,
|
|
58
|
+
alternate?: boolean,
|
|
59
|
+
}>()
|
|
60
|
+
|
|
61
|
+
const deploymentIds = computed(() => {
|
|
62
|
+
return props.workQueue.filter?.deploymentIds
|
|
63
|
+
})
|
|
64
|
+
|
|
65
|
+
const deploymentLabel = computed(() => {
|
|
66
|
+
const num = deploymentIds.value?.length ?? 0
|
|
67
|
+
return num > 0 ? `${num} Deployments` : 'Deployments'
|
|
68
|
+
})
|
|
69
|
+
|
|
70
|
+
const { workQueueStatus } = useWorkQueueStatus(props.workQueue.id)
|
|
71
|
+
</script>
|
|
72
|
+
|
|
73
|
+
<style>
|
|
74
|
+
.work-queue-details { @apply
|
|
75
|
+
flex
|
|
76
|
+
flex-col
|
|
77
|
+
gap-3
|
|
78
|
+
items-start
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.work-queue-details__tags { @apply
|
|
82
|
+
mt-1
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.work-queue-details__deployments { @apply
|
|
86
|
+
flex
|
|
87
|
+
flex-col
|
|
88
|
+
gap-2
|
|
89
|
+
}
|
|
90
|
+
</style>
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<p-form class="work-queue-edit-form p-background" @submit="submit">
|
|
3
|
+
<p-content>
|
|
4
|
+
<p-label label="Name">
|
|
5
|
+
<p-text-input :model-value="workQueue.name" disabled />
|
|
6
|
+
</p-label>
|
|
7
|
+
|
|
8
|
+
<p-label label="Description (Optional)">
|
|
9
|
+
<p-textarea v-model="description" rows="7" />
|
|
10
|
+
</p-label>
|
|
11
|
+
|
|
12
|
+
<p-label label="Status (Optional)">
|
|
13
|
+
<p-toggle v-model="isActive">
|
|
14
|
+
<template #append>
|
|
15
|
+
<div>
|
|
16
|
+
<template v-if="isActive">
|
|
17
|
+
Active
|
|
18
|
+
</template>
|
|
19
|
+
<template v-else>
|
|
20
|
+
Paused
|
|
21
|
+
</template>
|
|
22
|
+
</div>
|
|
23
|
+
</template>
|
|
24
|
+
</p-toggle>
|
|
25
|
+
</p-label>
|
|
26
|
+
|
|
27
|
+
<p-label label="Flow Run Concurrency (Optional)">
|
|
28
|
+
<p-number-input v-model="concurrencyLimit" placeholder="Unlimited" :min="0" />
|
|
29
|
+
</p-label>
|
|
30
|
+
</p-content>
|
|
31
|
+
|
|
32
|
+
<template #footer>
|
|
33
|
+
<p-button @click="cancel">
|
|
34
|
+
Cancel
|
|
35
|
+
</p-button>
|
|
36
|
+
<SubmitButton action="Save" :loading="isSubmitting" />
|
|
37
|
+
</template>
|
|
38
|
+
</p-form>
|
|
39
|
+
</template>
|
|
40
|
+
|
|
41
|
+
<script lang="ts" setup>
|
|
42
|
+
import { PLabel, PTextInput, PNumberInput, PToggle, PForm } from '@prefecthq/prefect-design'
|
|
43
|
+
import { useField } from 'vee-validate'
|
|
44
|
+
import { computed } from 'vue'
|
|
45
|
+
import SubmitButton from '@/components/SubmitButton.vue'
|
|
46
|
+
import { useForm } from '@/compositions/useForm'
|
|
47
|
+
import { WorkQueueEdit, WorkQueue } from '@/models'
|
|
48
|
+
|
|
49
|
+
const props = defineProps<{
|
|
50
|
+
workQueue: WorkQueue,
|
|
51
|
+
}>()
|
|
52
|
+
|
|
53
|
+
const { handleSubmit, isSubmitting } = useForm<WorkQueueEdit>({
|
|
54
|
+
initialValues: {
|
|
55
|
+
description: props.workQueue.description,
|
|
56
|
+
isPaused: props.workQueue.isPaused,
|
|
57
|
+
concurrencyLimit: props.workQueue.concurrencyLimit,
|
|
58
|
+
},
|
|
59
|
+
})
|
|
60
|
+
|
|
61
|
+
const isActive = computed({
|
|
62
|
+
get() {
|
|
63
|
+
return !isPaused.value
|
|
64
|
+
},
|
|
65
|
+
set() {
|
|
66
|
+
isPaused.value = !isPaused.value
|
|
67
|
+
},
|
|
68
|
+
})
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
const { value: description } = useField<string|null>('description')
|
|
72
|
+
const { value: isPaused } = useField<boolean | undefined>('isPaused')
|
|
73
|
+
const { value: concurrencyLimit } = useField<number|null>('concurrencyLimit')
|
|
74
|
+
|
|
75
|
+
const emit = defineEmits<{
|
|
76
|
+
(event: 'submit', value: WorkQueueEdit): void,
|
|
77
|
+
(event: 'cancel'): void,
|
|
78
|
+
}>()
|
|
79
|
+
|
|
80
|
+
const submit = handleSubmit((values) => {
|
|
81
|
+
emit('submit', values)
|
|
82
|
+
})
|
|
83
|
+
|
|
84
|
+
function cancel(): void {
|
|
85
|
+
emit('cancel')
|
|
86
|
+
}
|
|
87
|
+
</script>
|
|
88
|
+
|
|
89
|
+
<style>
|
|
90
|
+
.work-queue-edit-form { @apply
|
|
91
|
+
px-6
|
|
92
|
+
py-6
|
|
93
|
+
rounded-default
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.work-queue-edit-form__section-header {
|
|
97
|
+
@apply
|
|
98
|
+
text-base
|
|
99
|
+
text-subdued
|
|
100
|
+
}
|
|
101
|
+
</style>
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="work-queue-flow-runs-list">
|
|
3
|
+
<FlowRunList :flow-runs="flowRuns" />
|
|
4
|
+
|
|
5
|
+
<p-empty-results v-if="empty">
|
|
6
|
+
<template v-if="isPaused" #message>
|
|
7
|
+
<p-icon class="work-queue-flow-runs-list__icon" icon="PauseIcon" />
|
|
8
|
+
This work queue is paused and will not submit runs
|
|
9
|
+
</template>
|
|
10
|
+
<template v-else #message>
|
|
11
|
+
No upcoming runs
|
|
12
|
+
</template>
|
|
13
|
+
</p-empty-results>
|
|
14
|
+
</div>
|
|
15
|
+
</template>
|
|
16
|
+
|
|
17
|
+
<script lang="ts" setup>
|
|
18
|
+
import { useSubscription } from '@prefecthq/vue-compositions'
|
|
19
|
+
import { computed, watch } from 'vue'
|
|
20
|
+
import FlowRunList from '@/components/FlowRunList.vue'
|
|
21
|
+
import { useWorkspaceApi } from '@/compositions'
|
|
22
|
+
import { FlowRun, WorkQueue } from '@/models'
|
|
23
|
+
|
|
24
|
+
const props = defineProps<{
|
|
25
|
+
workQueue: WorkQueue,
|
|
26
|
+
}>()
|
|
27
|
+
|
|
28
|
+
const api = useWorkspaceApi()
|
|
29
|
+
const workQueueFlowRunsSubscription = useSubscription(api.workQueues.getRuns, [props.workQueue.id])
|
|
30
|
+
const flowRuns = computed<FlowRun[]>(() => workQueueFlowRunsSubscription.response ?? [])
|
|
31
|
+
|
|
32
|
+
const empty = computed(() => workQueueFlowRunsSubscription.executed && flowRuns.value.length === 0)
|
|
33
|
+
const isPaused = computed(() => props.workQueue.isPaused)
|
|
34
|
+
|
|
35
|
+
watch(() => props.workQueue, () => {
|
|
36
|
+
workQueueFlowRunsSubscription.refresh()
|
|
37
|
+
})
|
|
38
|
+
</script>
|
|
39
|
+
|
|
40
|
+
<style>
|
|
41
|
+
.work-queue-flow-runs-list__icon {
|
|
42
|
+
@apply h-14 w-14 mx-auto mb-4
|
|
43
|
+
}
|
|
44
|
+
</style>
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<template v-if="workPoolQueue">
|
|
3
|
+
<p-link :to="routes.workPoolQueue(workPoolName, workQueueName)">
|
|
4
|
+
<p-icon-text icon="CircleStackIcon">
|
|
5
|
+
{{ workQueueName }}
|
|
6
|
+
</p-icon-text>
|
|
7
|
+
</p-link>
|
|
8
|
+
</template>
|
|
9
|
+
<template v-else>
|
|
10
|
+
<p-icon-text icon="CircleStackIcon" title="Unknown work queue">
|
|
11
|
+
{{ workQueueName }}
|
|
12
|
+
</p-icon-text>
|
|
13
|
+
</template>
|
|
14
|
+
</template>
|
|
15
|
+
|
|
16
|
+
<script lang="ts" setup>
|
|
17
|
+
import { useSubscriptionWithDependencies } from '@prefecthq/vue-compositions'
|
|
18
|
+
import { computed } from 'vue'
|
|
19
|
+
import { useWorkspaceApi, useWorkspaceRoutes } from '@/compositions'
|
|
20
|
+
|
|
21
|
+
const props = defineProps<{
|
|
22
|
+
workQueueName: string,
|
|
23
|
+
workPoolName?: string | null,
|
|
24
|
+
workPoolId?: string | null,
|
|
25
|
+
}>()
|
|
26
|
+
|
|
27
|
+
const api = useWorkspaceApi()
|
|
28
|
+
const routes = useWorkspaceRoutes()
|
|
29
|
+
|
|
30
|
+
const workPoolArgs = computed<Parameters<typeof api.workPools.getWorkPools> | null>(() => {
|
|
31
|
+
if (!props.workPoolId) {
|
|
32
|
+
return null
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return [
|
|
36
|
+
{
|
|
37
|
+
workPools: {
|
|
38
|
+
id: [props.workPoolId],
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
]
|
|
42
|
+
})
|
|
43
|
+
|
|
44
|
+
const workPoolsSubscription = useSubscriptionWithDependencies(api.workPools.getWorkPools, workPoolArgs)
|
|
45
|
+
const workPools = computed(() => workPoolsSubscription.response ?? [])
|
|
46
|
+
const workPoolName = computed(() => props.workPoolName ?? workPools.value[0].name)
|
|
47
|
+
|
|
48
|
+
const workPoolQueueArgs = computed<Parameters<typeof api.workPoolQueues.getWorkPoolQueueByName> | null>(() => {
|
|
49
|
+
if (props.workPoolName) {
|
|
50
|
+
return [props.workPoolName, props.workQueueName]
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
if (props.workPoolId) {
|
|
54
|
+
return [workPoolName.value, props.workQueueName]
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return null
|
|
58
|
+
})
|
|
59
|
+
|
|
60
|
+
const workPoolQueuesSubscription = useSubscriptionWithDependencies(api.workPoolQueues.getWorkPoolQueueByName, workPoolQueueArgs)
|
|
61
|
+
const workPoolQueue = computed(() => workPoolQueuesSubscription.response)
|
|
62
|
+
</script>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<span v-if="lastPolled" class="work-queue-last-polled">
|
|
3
|
+
{{ formatDateTimeNumeric(lastPolled) }}
|
|
4
|
+
</span>
|
|
5
|
+
</template>
|
|
6
|
+
|
|
7
|
+
<script lang="ts" setup>
|
|
8
|
+
import { computed } from 'vue'
|
|
9
|
+
import { useWorkQueueStatus } from '@/compositions'
|
|
10
|
+
import { formatDateTimeNumeric } from '@/utilities'
|
|
11
|
+
|
|
12
|
+
const props = defineProps<{
|
|
13
|
+
workQueueId: string,
|
|
14
|
+
}>()
|
|
15
|
+
|
|
16
|
+
const workQueueId = computed(() => props.workQueueId)
|
|
17
|
+
const { workQueueStatus } = useWorkQueueStatus(workQueueId)
|
|
18
|
+
const lastPolled = computed(() => workQueueStatus.value?.lastPolled)
|
|
19
|
+
</script>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<p-tag v-if="lateRunsCount" class="work-queue-late-indicator">
|
|
3
|
+
{{ lateRunsCount }} {{ toPluralString('Late run', lateRunsCount) }}
|
|
4
|
+
</p-tag>
|
|
5
|
+
</template>
|
|
6
|
+
|
|
7
|
+
<script lang="ts" setup>
|
|
8
|
+
import { computed } from 'vue'
|
|
9
|
+
import { useWorkQueueStatus } from '@/compositions'
|
|
10
|
+
import { toPluralString } from '@/utilities'
|
|
11
|
+
|
|
12
|
+
const props = defineProps<{
|
|
13
|
+
workQueueId: string,
|
|
14
|
+
}>()
|
|
15
|
+
|
|
16
|
+
const workQueueId = computed(() => props.workQueueId)
|
|
17
|
+
const { workQueueStatus } = useWorkQueueStatus(workQueueId)
|
|
18
|
+
const lateRunsCount = computed(() => workQueueStatus.value?.lateRunsCount)
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<style>
|
|
22
|
+
.work-queue-late-indicator { @apply
|
|
23
|
+
text-xs
|
|
24
|
+
bg-amber-100
|
|
25
|
+
text-amber-800
|
|
26
|
+
dark:bg-amber-700
|
|
27
|
+
dark:text-white
|
|
28
|
+
}
|
|
29
|
+
</style>
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<p-icon-button-menu v-bind="$attrs">
|
|
3
|
+
<copy-overflow-menu-item label="Copy ID" :item="workQueue.id" />
|
|
4
|
+
<router-link v-if="can.update.work_queue && !workQueue.deprecated" :to="routes.workQueueEdit(workQueue.id)">
|
|
5
|
+
<p-overflow-menu-item label="Edit" />
|
|
6
|
+
</router-link>
|
|
7
|
+
<slot v-bind="{ workQueue }" />
|
|
8
|
+
<p-overflow-menu-item v-if="showDelete" label="Delete" @click="open" />
|
|
9
|
+
</p-icon-button-menu>
|
|
10
|
+
|
|
11
|
+
<ConfirmDeleteModal
|
|
12
|
+
v-model:showModal="showModal"
|
|
13
|
+
label="Work Queue"
|
|
14
|
+
:name="workQueue.name"
|
|
15
|
+
@delete="deleteWorkQueue(workQueue.id)"
|
|
16
|
+
/>
|
|
17
|
+
</template>
|
|
18
|
+
|
|
19
|
+
<script lang="ts">
|
|
20
|
+
export default {
|
|
21
|
+
name: 'WorkQueueMenu',
|
|
22
|
+
expose: [],
|
|
23
|
+
inheritAttrs: false,
|
|
24
|
+
}
|
|
25
|
+
</script>
|
|
26
|
+
|
|
27
|
+
<script lang="ts" setup>
|
|
28
|
+
import { PIconButtonMenu, POverflowMenuItem } from '@prefecthq/prefect-design'
|
|
29
|
+
import { useSubscription } from '@prefecthq/vue-compositions'
|
|
30
|
+
import { computed } from 'vue'
|
|
31
|
+
import { RouterLink } from 'vue-router'
|
|
32
|
+
import ConfirmDeleteModal from '@/components/ConfirmDeleteModal.vue'
|
|
33
|
+
import CopyOverflowMenuItem from '@/components/CopyOverflowMenuItem.vue'
|
|
34
|
+
import { useWorkspaceApi, useWorkspaceRoutes } from '@/compositions'
|
|
35
|
+
import { useCan } from '@/compositions/useCan'
|
|
36
|
+
import { useShowModal } from '@/compositions/useShowModal'
|
|
37
|
+
import { WorkQueue } from '@/models'
|
|
38
|
+
import { deleteItem } from '@/utilities'
|
|
39
|
+
|
|
40
|
+
const props = defineProps<{
|
|
41
|
+
workQueue: WorkQueue,
|
|
42
|
+
}>()
|
|
43
|
+
|
|
44
|
+
const emits = defineEmits<{
|
|
45
|
+
(event: 'delete', value: string): void,
|
|
46
|
+
}>()
|
|
47
|
+
|
|
48
|
+
const api = useWorkspaceApi()
|
|
49
|
+
const can = useCan()
|
|
50
|
+
const routes = useWorkspaceRoutes()
|
|
51
|
+
const { showModal, open, close } = useShowModal()
|
|
52
|
+
|
|
53
|
+
const workPoolsSubscription = useSubscription(api.workPools.getWorkPools, [])
|
|
54
|
+
const workPools = computed(() => workPoolsSubscription.response ?? [])
|
|
55
|
+
|
|
56
|
+
const isDefaultQueue = computed(() => {
|
|
57
|
+
return workPools.value.some(workPool => workPool.defaultQueueId === props.workQueue.id)
|
|
58
|
+
})
|
|
59
|
+
|
|
60
|
+
const showDelete = computed(() => {
|
|
61
|
+
return !isDefaultQueue.value && can.delete.work_queue
|
|
62
|
+
})
|
|
63
|
+
|
|
64
|
+
const deleteWorkQueue = async (id: string): Promise<void> => {
|
|
65
|
+
close()
|
|
66
|
+
await deleteItem(id, api.workQueues.deleteWorkQueue, 'Work queue')
|
|
67
|
+
emits('delete', id)
|
|
68
|
+
}
|
|
69
|
+
</script>
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<template v-if="workQueue && workQueueStatus">
|
|
3
|
+
<p-tag class="work-queue-status-badge" :class="classes">
|
|
4
|
+
<WorkPoolQueueStatusIcon v-if="can.access.workQueueStatus" :work-pool-queue="workQueue" />
|
|
5
|
+
<WorkQueueStatusIcon v-else :work-queue-name="workQueueName" class="work-queue-status-badge__icon" />
|
|
6
|
+
{{ label }}
|
|
7
|
+
</p-tag>
|
|
8
|
+
</template>
|
|
9
|
+
</template>
|
|
10
|
+
|
|
11
|
+
<script lang="ts" setup>
|
|
12
|
+
import { computed } from 'vue'
|
|
13
|
+
import WorkPoolQueueStatusIcon from '@/components/WorkPoolQueueStatusIcon.vue'
|
|
14
|
+
import WorkQueueStatusIcon from '@/components/WorkQueueStatusIcon.vue'
|
|
15
|
+
import { useCan, useWorkQueueStatus } from '@/compositions'
|
|
16
|
+
import { WorkQueue } from '@/models'
|
|
17
|
+
|
|
18
|
+
const props = defineProps<{
|
|
19
|
+
workQueue: WorkQueue,
|
|
20
|
+
}>()
|
|
21
|
+
|
|
22
|
+
const can = useCan()
|
|
23
|
+
|
|
24
|
+
const workQueueName = computed(() => props.workQueue.name)
|
|
25
|
+
const workQueueId = computed(() => props.workQueue.id)
|
|
26
|
+
const { workQueueStatus } = useWorkQueueStatus(workQueueId)
|
|
27
|
+
const healthy = computed(() => workQueueStatus.value?.healthy)
|
|
28
|
+
|
|
29
|
+
const label = computed(() => {
|
|
30
|
+
if (can.access.workQueueStatus) {
|
|
31
|
+
return { 'ready': 'Ready', 'not_ready': 'Not Ready', 'paused': 'Paused' }[props.workQueue.status]
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
if (props.workQueue.isPaused) {
|
|
35
|
+
return 'Paused'
|
|
36
|
+
}
|
|
37
|
+
return healthy.value ? 'Healthy' : 'Unhealthy'
|
|
38
|
+
})
|
|
39
|
+
|
|
40
|
+
const classes = computed(() => `work-queue-status-badge--${label.value.toLowerCase()}`)
|
|
41
|
+
</script>
|
|
42
|
+
|
|
43
|
+
<style>
|
|
44
|
+
.work-queue-status-badge { @apply
|
|
45
|
+
text-xs
|
|
46
|
+
pl-1
|
|
47
|
+
}
|
|
48
|
+
</style>
|