diff --git a/frontend/src/lib/components/ArgInput.svelte b/frontend/src/lib/components/ArgInput.svelte index be51e92b59..5c28c72250 100644 --- a/frontend/src/lib/components/ArgInput.svelte +++ b/frontend/src/lib/components/ArgInput.svelte @@ -1,23 +1,30 @@ + +{#if arg != undefined} +
+
+ + + {#if !checked && arg.type === 'javascript'} + + {'${...}'} + + {/if} +
+ { + const type = e.detail ? 'javascript' : 'static' + const staticTemplate = isStaticTemplate(inputCats[argName]) + if (type === 'javascript') { + arg.expr = getDefaultExpr( + i ?? -1, + argName, + staticTemplate ? `\`${arg.value ?? ''}\`` : undefined + ) + arg.value = undefined + propertyType = 'javascript' + } else { + arg.value = staticTemplate ? codeToStaticTemplate(arg.expr) : undefined + + arg.expr = undefined + propertyType = 'static' + } + + arg.type = type + }} + /> +
+
+ + {#if propertyType === undefined || !checked} + { + const toAppend = `\$\{${event.detail}}` + arg.value = `${arg.value ?? ''}${toAppend}` + if (monacos[argName]) { + monacos[argName].setCode(arg.value) + } + setPropertyType(argName, arg.value, false) + }} + > + focusProp(argName)} + label={argName} + bind:editor={monacos[argName]} + bind:description={schema.properties[argName].description} + bind:value={arg.value} + type={schema.properties[argName].type} + required={schema.required.includes(argName)} + bind:pattern={schema.properties[argName].pattern} + bind:valid={inputCheck[argName]} + defaultValue={schema.properties[argName].default} + bind:enum_={schema.properties[argName].enum} + bind:format={schema.properties[argName].format} + contentEncoding={schema.properties[argName].contentEncoding} + bind:itemsType={schema.properties[argName].items} + displayHeader={false} + bind:inputCat={inputCats[argName]} + numberAsString={true} + on:input={(e) => { + if (isStaticTemplate(inputCats[argName])) { + setPropertyType(argName, e.detail.rawValue, e.detail.isRaw) + } + }} + > +
+ onPropertyLink(argName, event.detail)} + > + + + + +
+
+
+ {:else if checked} + {#if arg.expr != undefined} + { + monacos[argName].insertAtCursor(event.detail) + }} + > +
+ focusProp(argName)} + bind:code={arg.expr} + lang="javascript" + class="few-lines-editor" + {extraLib} + extraLibPath="file:///node_modules/@types/windmill@{i}/index.d.ts" + /> +
+
+ + {/if} + {:else} +

Not recognized arg type {arg.type}

+ {/if} +{:else} +

Arg at {argName} is undefined

+{/if} diff --git a/frontend/src/lib/components/ResourcePicker.svelte b/frontend/src/lib/components/ResourcePicker.svelte index 2d7cff3f65..53c77ac009 100644 --- a/frontend/src/lib/components/ResourcePicker.svelte +++ b/frontend/src/lib/components/ResourcePicker.svelte @@ -1,5 +1,5 @@ loadResources(resourceType)} /> - diff --git a/frontend/src/lib/components/RunForm.svelte b/frontend/src/lib/components/RunForm.svelte index ef0718dbf5..c286b05e03 100644 --- a/frontend/src/lib/components/RunForm.svelte +++ b/frontend/src/lib/components/RunForm.svelte @@ -1,14 +1,14 @@ + +{property.type?.toUpperCase() ?? 'ANY'} +{#if property.format} + {property.format?.toUpperCase()} +{/if} +{#if property.contentEncoding} + {property.contentEncoding?.toUpperCase()} +{/if} diff --git a/frontend/src/lib/components/SchemaForm.svelte b/frontend/src/lib/components/SchemaForm.svelte index f114b6f5d5..5a5c5de51e 100644 --- a/frontend/src/lib/components/SchemaForm.svelte +++ b/frontend/src/lib/components/SchemaForm.svelte @@ -1,206 +1,36 @@
{#if Object.keys(schema?.properties ?? {}).length > 0} - {#each Object.keys(schema?.properties ?? {}) as argName, index} + {#each Object.keys(schema?.properties ?? {}) as argName} {#if inputTransform} - {#if args[argName] != undefined} -
0 ? 'mt-8' : ''} /> -
-
- - {#if propertiesTypes[argName] === 'static' && args[argName].type === 'javascript'} - - {'${...}'} - - {/if} -
- { - const staticTemplate = isStaticTemplate(inputCats[argName]) - if (e.detail === 'javascript') { - args[argName].expr = getDefaultExpr( - i ?? -1, - argName, - staticTemplate ? args[argName].value : undefined - ) - args[argName].value = undefined - } else { - args[argName].value = staticTemplate - ? codeToStaticTemplate(args[argName].expr) - : undefined - args[argName].expr = undefined - } - - args[argName].type = e.detail - }} - /> -
-
- - {#if propertiesTypes[argName] === undefined || propertiesTypes[argName] === 'static'} - { - const toAppend = `\$\{${event.detail}}` - args[argName].value = `${args[argName].value ?? ''}${toAppend}` - if (monacos[argName]) { - monacos[argName].setCode(args[argName].value) - } - setPropertyType(argName, args[argName].value, false) - }} - > - focusProp(argName)} - label={argName} - bind:editor={monacos[argName]} - bind:description={schema.properties[argName].description} - bind:value={args[argName].value} - type={schema.properties[argName].type} - required={schema.required.includes(argName)} - bind:pattern={schema.properties[argName].pattern} - bind:valid={inputCheck[argName]} - defaultValue={schema.properties[argName].default} - bind:enum_={schema.properties[argName].enum} - bind:format={schema.properties[argName].format} - contentEncoding={schema.properties[argName].contentEncoding} - bind:itemsType={schema.properties[argName].items} - displayHeader={false} - bind:inputCat={inputCats[argName]} - numberAsString={true} - on:input={(e) => { - if (isStaticTemplate(inputCats[argName])) { - setPropertyType(argName, e.detail.rawValue, e.detail.isRaw) - } - }} - /> - - {:else if propertiesTypes[argName] === 'javascript'} - {#if args[argName].expr != undefined} - { - monacos[argName].insertAtCursor(event.detail) - }} - > -
- focusProp(argName)} - bind:code={args[argName].expr} - lang="javascript" - class="few-lines-editor" - {extraLib} - extraLibPath="file:///node_modules/@types/windmill@{i}/index.d.ts" - /> -
-
- - {/if} - {:else} -

Not recognized arg type {args[argName].type}

- {/if} - {:else} -

Arg at {argName} is undefined

- {/if} + {:else} {#each pastPreviews as { id, created_at, success, result }} - {id.substring(30)} + + {id.substring(30)} + {displayDate(created_at)} {#if success} @@ -452,9 +452,10 @@ modalViewerContent = result modalViewerMode = 'result' modalViewer.openModal() - }}>{JSON.stringify(result).substring(0, 30)}... + }} + >{JSON.stringify(result).substring(0, 30)}... + +
-
+
diff --git a/frontend/src/lib/components/Toggle.svelte b/frontend/src/lib/components/Toggle.svelte index 5c39f8760c..02b1edd8c9 100644 --- a/frontend/src/lib/components/Toggle.svelte +++ b/frontend/src/lib/components/Toggle.svelte @@ -1,23 +1,20 @@