diff --git a/package.json b/package.json index 3c06d66c2..d1c3f327c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@temporalio/ui", - "version": "2.30.5", + "version": "2.30.6", "engines": { "pnpm": ">=8.6.0", "node": ">=18.15.0" diff --git a/server/server/version/version.go b/server/server/version/version.go index 6d8c830a1..455961654 100644 --- a/server/server/version/version.go +++ b/server/server/version/version.go @@ -28,5 +28,5 @@ const ( clientNameHeaderName = "client-name" clientNameHeaderValue = "temporal-ui" clientVersionHeaderName = "client-version" - UIVersion = "2.30.2" + UIVersion = "2.30.3" ) diff --git a/src/lib/components/schedule/schedule-advanced-settings.svelte b/src/lib/components/schedule/schedule-advanced-settings.svelte index 13028fad5..70596c18a 100644 --- a/src/lib/components/schedule/schedule-advanced-settings.svelte +++ b/src/lib/components/schedule/schedule-advanced-settings.svelte @@ -14,28 +14,47 @@ -

- {translate('schedules.start-time')} - {spec?.startTime ?? translate('common.none')} -

-

- {translate('schedules.end-time')}{spec?.endTime ?? translate('common.none')} -

-

- {translate('schedules.jitter')}{spec?.jitter ?? translate('common.none')} -

-

- {translate('schedules.exclusion-calendar')}{spec?.excludeCalendar?.[0] ?? - translate('common.none')} -

- {#if state?.limitedActions} -

- {translate('schedules.remaining-actions')}{state?.remainingActions ?? - translate('common.none')} -

- {/if} -

- {translate('schedules.overlap-policy')}{policies?.overlapPolicy ?? - translate('common.none')} -

+
+ + diff --git a/src/lib/components/schedule/schedule-form-view.svelte b/src/lib/components/schedule/schedule-form-view.svelte index 731ff6591..44cac18b9 100644 --- a/src/lib/components/schedule/schedule-form-view.svelte +++ b/src/lib/components/schedule/schedule-form-view.svelte @@ -11,22 +11,28 @@ import Loading from '$lib/holocene/loading.svelte'; import { translate } from '$lib/i18n/translate'; import { error, loading } from '$lib/stores/schedules'; + import type { SearchAttributeInput } from '$lib/stores/search-attributes'; import type { FullSchedule, ScheduleParameters, SchedulePreset, } from '$lib/types/schedule'; + import { decodePayloadAttributes } from '$lib/utilities/decode-payload'; import { routeForSchedule, routeForSchedules, } from '$lib/utilities/route-for'; import { writeActionsAreAllowed } from '$lib/utilities/write-actions-are-allowed'; + import AddSearchAttributes from '../workflow/add-search-attributes.svelte'; + import ScheduleInputPayload from './schedule-input-payload.svelte'; - import type { Schedule } from '$types'; + import type { Schedule, SearchAttribute } from '$types'; export let schedule: FullSchedule | null = null; + export let searchAttributes: SearchAttribute = {}; + export let onConfirm: ( preset: SchedulePreset, args: Partial, @@ -52,9 +58,17 @@ let errors = {}; let name = scheduleId ?? ''; - let workflowType = schedule?.action?.startWorkflow?.workflowType?.name ?? ''; - let workflowId = schedule?.action?.startWorkflow?.workflowId ?? ''; - let taskQueue = schedule?.action?.startWorkflow?.taskQueue?.name ?? ''; + const decodedWorkflow = decodePayloadAttributes( + schedule?.action?.startWorkflow, + ); + const decodedSearchAttributes = decodePayloadAttributes({ searchAttributes }); + const indexedFields = + decodedSearchAttributes?.searchAttributes.indexedFields ?? + ({} as { [k: string]: string }); + + let workflowType = decodedWorkflow?.workflowType?.name ?? ''; + let workflowId = decodedWorkflow?.workflowId ?? ''; + let taskQueue = decodedWorkflow?.taskQueue?.name ?? ''; let input = ''; let daysOfWeek: string[] = []; let daysOfMonth: number[] = []; @@ -65,6 +79,9 @@ let second = ''; let phase = ''; let cronString = ''; + let searchAttributesInput: SearchAttributeInput[] = Object.entries( + indexedFields, + ).map(([attribute, value]) => ({ attribute, value })); const handleConfirm = (preset: SchedulePreset, schedule?: Schedule) => { const args: Partial = { @@ -82,6 +99,7 @@ daysOfMonth, days, months, + searchAttributes: searchAttributesInput, }; onConfirm(preset, args, schedule); @@ -145,9 +163,7 @@

{title}

- +