{#each schemaProperties as [key, value]} {#if canShowField(key, value)} {@const label = getFieldLabel(key, value)}
{#if key !== "fields" && value.type !== "boolean" && shouldRenderField(value)} {/if}
{#if value.type === "string" && value.enum && canShowField(key, value)} onChange(e, key)} value={inputData[key]} options={Object.keys(table?.schema || {})} /> {:else if value.type === "attachment" || value.type === "signature_single"}
onChange( { detail: e.detail.map(({ name, value }) => ({ url: name, filename: value, })), }, key )} object={handleAttachmentParams(inputData[key])} allowJS {bindings} keyBindings customButtonText={"Add attachment"} keyPlaceholder={"URL"} valuePlaceholder={"Filename"} />
{:else if value.customType === "filters"} Define filters (tempFilters = e.detail)} /> {:else if value.customType === "password"} onChange(e, key)} value={inputData[key]} /> {:else if value.customType === "email"} {#if isTestModal} onChange(e, key)} {bindings} updateOnChange={false} /> {:else} onChange(e, key)} {bindings} allowJS={false} updateOnChange={false} drawerLeft="260px" /> {/if} {:else if value.customType === "query"} onChange(e, key)} value={inputData[key]} /> {:else if value.customType === "cron"} onChange(e, key)} value={inputData[key]} /> {:else if value.customType === "automationFields"} onChange(e, key)} value={inputData[key]} {bindings} /> {:else if value.customType === "queryParams"} onChange(e, key)} value={inputData[key]} {bindings} /> {:else if value.customType === "table"} onChange(e, key)} /> {:else if value.customType === "row"} { if (e.detail?.key) { onChange(e, e.detail.key) } else { onChange(e, key) } }} {bindings} {isTestModal} {isUpdateRow} /> {:else if value.customType === "webhookUrl"} onChange(e, key)} value={inputData[key]} /> {:else if value.customType === "fields"} onChange(e, key)} {bindings} {isTestModal} /> {:else if value.customType === "triggerSchema"} onChange(e, key)} value={inputData[key]} /> {:else if value.customType === "code"}
{ // need to pass without the value inside onChange({ detail: e.detail }, key) inputData[key] = e.detail }} completions={stepCompletions} mode={codeMode} autocompleteEnabled={codeMode !== EditorModes.JS} bind:getCaretPosition bind:insertAtPos placeholder={codeMode === EditorModes.Handlebars ? "Add bindings by typing {{" : null} />
{#if editingJs}
bindingsHelpers.onSelectBinding( inputData[key], binding, { js: true, dontDecode: true, type: BindingType.RUNTIME, } )} mode="javascript" />
{/if}
{:else if value.customType === "loopOption"}