diff --git a/frontend/src/lib/components/DateInput.svelte b/frontend/src/lib/components/DateInput.svelte
index 1881abcfcc..dec411f6cc 100644
--- a/frontend/src/lib/components/DateInput.svelte
+++ b/frontend/src/lib/components/DateInput.svelte
@@ -8,6 +8,7 @@
export let minDate: string | undefined = undefined
export let maxDate: string | undefined = undefined
export let dateFormat: string | undefined = 'dd-MM-yyyy'
+ export let disabled: boolean = false
let date: string | undefined = computeDate(value)
@@ -71,6 +72,7 @@
{#if inputCat == 'number'}
{#if extra['min'] != undefined && extra['max'] != undefined}
-
+
{:else if extra?.currency}
{:else}
{/if}
{:else if inputCat == 'boolean'}
@@ -295,6 +300,7 @@
? ''
: 'border !border-red-700 !border-opacity-70 focus:!border-red-700 focus:!border-opacity-30'}
bind:checked={value}
+ {disabled}
/>
{#if type == 'boolean' && value == undefined}
Not set
@@ -308,6 +314,7 @@
bind:selected={value}
options={itemsType?.multiselect ?? []}
selectedOptionsDraggable={true}
+ {disabled}
/>
{:else if Array.isArray(itemsType?.enum) && Array.isArray(value)}
@@ -317,6 +324,7 @@
bind:selected={value}
options={itemsType?.enum ?? []}
selectedOptionsDraggable={true}
+ {disabled}
/>
{:else if Array.isArray(enum_) && Array.isArray(value)}
@@ -326,6 +334,7 @@
bind:selected={value}
options={enum_ ?? []}
selectedOptionsDraggable={true}
+ {disabled}
/>
{:else}
@@ -334,13 +343,14 @@
{#each value ?? [] as v, i}
{:else if inputCat == 'resource-object'}
-
+
{:else if inputCat == 'object' && oneOf && oneOf.length >= 2}
{#if oneOf && oneOf.length >= 2}
-
+
{#each oneOf as obj}
-
+
{/each}
@@ -455,6 +470,7 @@
type: 'object'
}}
bind:args={value}
+ {disabled}
/>
{/if}
@@ -472,6 +488,7 @@
type: 'object'
}}
bind:args={value}
+ {disabled}
/>
{:else}
@@ -487,6 +504,7 @@
: 'border !border-red-700 !border-opacity-70 focus:!border-red-700 focus:!border-opacity-30'}"
placeholder={defaultValue ? JSON.stringify(defaultValue, null, 4) : ''}
bind:value={rawValue}
+ {disabled}
/>
{/if}
{:else if inputCat == 'enum'}
@@ -496,6 +514,7 @@
}}
class="px-6"
bind:value
+ {disabled}
>
{#each enum_ ?? [] as e}
@@ -504,9 +523,9 @@
{:else if inputCat == 'date'}
{#key defaultChange}
{#if format === 'date'}
-
+
{:else}
-
+
{/if}
{/key}
{:else if inputCat == 'base64'}
@@ -515,6 +534,7 @@
type="file"
on:change={(x) => fileChanged(x, (val) => (value = val))}
multiple={false}
+ {disabled}
/>
{#if value?.length}
1
? format.substring('resource-'.length)
: undefined}
+ {disabled}
/>
{:else if inputCat == 'email'}
@@ -542,6 +563,7 @@
: 'border border-red-700 border-opacity-30 focus:border-red-700 focus:border-opacity-3'}
placeholder={placeholder ?? defaultValue ?? ''}
bind:value
+ {disabled}
/>
{:else if inputCat == 'currency'}
{:else if inputCat == 'string'}
{#if extra?.['password'] == true}
-
+
{:else}
diff --git a/frontend/src/lib/components/LightweightObjectResourceInput.svelte b/frontend/src/lib/components/LightweightObjectResourceInput.svelte
index a7af94d8f8..77a4af6f86 100644
--- a/frontend/src/lib/components/LightweightObjectResourceInput.svelte
+++ b/frontend/src/lib/components/LightweightObjectResourceInput.svelte
@@ -4,7 +4,7 @@
export let format: string
export let value: any
export let disablePortal = false
-
+ export let disabled: boolean = false
function isString(value: any) {
return typeof value === 'string' || value instanceof String
}
@@ -34,6 +34,7 @@
{
path = e.detail
diff --git a/frontend/src/lib/components/LightweightSchemaForm.svelte b/frontend/src/lib/components/LightweightSchemaForm.svelte
index 7387c66dce..d4da597066 100644
--- a/frontend/src/lib/components/LightweightSchemaForm.svelte
+++ b/frontend/src/lib/components/LightweightSchemaForm.svelte
@@ -15,6 +15,7 @@
export let isValid: boolean = true
export let defaultValues: Record = {}
export let dynamicEnums: Record = {}
+ export let disabled: boolean = false
let inputCheck: { [id: string]: boolean } = {}
let errors: { [id: string]: string } = {}
@@ -102,6 +103,7 @@
on:inputClicked
{displayType}
{css}
+ disabled={disabled || schema.properties[argName].disabled}
/>
{/if}
{/each}
diff --git a/frontend/src/lib/components/SchemaForm.svelte b/frontend/src/lib/components/SchemaForm.svelte
index 2afae0d853..6068cda7fc 100644
--- a/frontend/src/lib/components/SchemaForm.svelte
+++ b/frontend/src/lib/components/SchemaForm.svelte
@@ -184,6 +184,9 @@
extra={schema.properties[argName]}
title={schema.properties[argName].title}
placeholder={schema.properties[argName].placeholder}
+ disabled={disabledArgs.includes(argName) ||
+ disabled ||
+ schema.properties[argName].disabled}
>
@@ -240,7 +243,9 @@
bind:order={schema.properties[argName].order}
nestedRequired={schema.properties[argName]?.required}
itemsType={schema.properties[argName].items}
- disabled={disabledArgs.includes(argName) || disabled}
+ disabled={disabledArgs.includes(argName) ||
+ disabled ||
+ schema.properties[argName].disabled}
{compact}
{variableEditor}
{itemPicker}
diff --git a/frontend/src/lib/components/schema/FlowPropertyEditor.svelte b/frontend/src/lib/components/schema/FlowPropertyEditor.svelte
index 371aea266a..b20e6e335f 100644
--- a/frontend/src/lib/components/schema/FlowPropertyEditor.svelte
+++ b/frontend/src/lib/components/schema/FlowPropertyEditor.svelte
@@ -30,6 +30,7 @@
export let variableEditor: VariableEditor | undefined = undefined
export let itemPicker: ItemPicker | undefined = undefined
export let nullable: boolean = false
+ export let disabled: boolean = false
export let defaultValue: any = undefined
export let propsNames: any = []
export let showExpr: string | undefined = undefined
@@ -336,6 +337,7 @@
{contentEncoding}
{format}
{extra}
+ {disabled}
/>
{:else}
{/if}
+
{#if displayWebhookWarning && !(type === 'object' && oneOf && oneOf.length >= 2)}