From 1baf50f6c3dbfc01fc8bc9f5f00d4d1353d43492 Mon Sep 17 00:00:00 2001 From: Faton Ramadani Date: Tue, 18 Jun 2024 16:11:54 +0200 Subject: [PATCH] feat(frontend): Enable changing kind for string properties (#3925) * feat(frontend): Enable changing kind for string properties * feat(frontend): Enable changing kind for string properties * feat(frontend): Enable changing kind for string properties --- frontend/src/lib/common.ts | 1 + frontend/src/lib/components/StringTypeNarrowing.svelte | 10 ++++++---- .../src/lib/components/schema/PropertyEditor.svelte | 4 ++-- frontend/src/lib/inferArgSig.ts | 3 +++ 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/frontend/src/lib/common.ts b/frontend/src/lib/common.ts index 94d2090665..9bd03af131 100644 --- a/frontend/src/lib/common.ts +++ b/frontend/src/lib/common.ts @@ -46,6 +46,7 @@ export interface SchemaProperty { title?: string placeholder?: string oneOf?: SchemaProperty[] + originalType?: string } export interface ModalSchemaProperty { diff --git a/frontend/src/lib/components/StringTypeNarrowing.svelte b/frontend/src/lib/components/StringTypeNarrowing.svelte index 40e3b645eb..76acf833e4 100644 --- a/frontend/src/lib/components/StringTypeNarrowing.svelte +++ b/frontend/src/lib/components/StringTypeNarrowing.svelte @@ -24,8 +24,8 @@ export let noExtra = false export let dateFormat: string | undefined export let enumLabels: Record = {} - export let allowKindChange: boolean = true - export let allowAddingOrDeletingEnumValues: boolean = true + export let overrideAllowKindChange: boolean = true + export let originalType: string | undefined = undefined let kind: 'none' | 'pattern' | 'enum' | 'resource' | 'format' | 'base64' = computeKind( enum_, @@ -34,6 +34,8 @@ format ) + const allowKindChange = overrideAllowKindChange || originalType === 'string' + let patternStr: string = pattern ?? '' let resource: string | undefined @@ -204,13 +206,13 @@ /> {/if} - {#if allowAddingOrDeletingEnumValues} + {#if allowKindChange} {/if} {/each} - {#if allowAddingOrDeletingEnumValues} + {#if allowKindChange}
diff --git a/frontend/src/lib/components/schema/PropertyEditor.svelte b/frontend/src/lib/components/schema/PropertyEditor.svelte index aa22a360c3..0d81460ead 100644 --- a/frontend/src/lib/components/schema/PropertyEditor.svelte +++ b/frontend/src/lib/components/schema/PropertyEditor.svelte @@ -148,8 +148,8 @@ bind:disableVariablePicker={extra['disableVariablePicker']} bind:dateFormat={extra['dateFormat']} bind:enumLabels={extra['enumLabels']} - allowKindChange={isFlowInput || isAppInput} - allowAddingOrDeletingEnumValues={isFlowInput || isAppInput} + originalType={extra['originalType']} + overrideAllowKindChange={isFlowInput || isAppInput} /> {:else if type == 'number' || type == 'integer'}