From 01bb107a0f3e3899ec99718974b2484ab5978c92 Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Fri, 29 Jul 2022 14:13:39 +0200 Subject: [PATCH] feat: resource type picker in schema modal + proper initialization of raw javascript editor when applicable --- frontend/src/app.css | 1 + frontend/src/lib/components/ArgInput.svelte | 2 +- .../lib/components/IconedResourceType.svelte | 3 +- .../lib/components/ObjectResourceInput.svelte | 56 ++++++++++--------- .../lib/components/ObjectTypeNarrowing.svelte | 22 +------- .../src/lib/components/RadioButton.svelte | 39 ------------- .../src/lib/components/RadioButtonV3.svelte | 31 ++++++++++ .../lib/components/ResourceTypePicker.svelte | 18 +++++- .../src/lib/components/SchemaEditor.svelte | 21 +++++-- frontend/src/lib/components/SchemaForm.svelte | 50 ++++++++++++++--- .../src/lib/components/SchemaModal.svelte | 35 +++++++----- .../src/lib/components/ScriptBuilder.svelte | 5 +- .../src/lib/components/ScriptPicker.svelte | 10 ++-- .../lib/components/StringTypeNarrowing.svelte | 6 +- frontend/src/lib/components/flows/utils.ts | 10 ++++ frontend/src/routes/schedule/add.svelte | 4 +- 16 files changed, 189 insertions(+), 124 deletions(-) delete mode 100644 frontend/src/lib/components/RadioButton.svelte create mode 100644 frontend/src/lib/components/RadioButtonV3.svelte diff --git a/frontend/src/app.css b/frontend/src/app.css index b3ad3ab8eb..0fbace3c02 100644 --- a/frontend/src/app.css +++ b/frontend/src/app.css @@ -56,6 +56,7 @@ } .item-button { + @apply cursor-pointer; @apply py-1; @apply border border-gray-300; @apply rounded-sm; diff --git a/frontend/src/lib/components/ArgInput.svelte b/frontend/src/lib/components/ArgInput.svelte index dedf93d371..f7137cbfc8 100644 --- a/frontend/src/lib/components/ArgInput.svelte +++ b/frontend/src/lib/components/ArgInput.svelte @@ -290,7 +290,7 @@ on:input={() => dispatch('input', { rawValue: value, isRaw: false })} /> {/if} - {#if !required} + {#if !required && inputCat != 'resource-object'}
+ {/if} {#each resources as r} {/each} @@ -138,7 +142,7 @@ pattern={property.pattern} /> {#if property.selectedType !== 'boolean'} -

Advanced

+

Advanced

{#if property.selectedType == 'string'} Items are strings + {:else if property.selectedType == 'object'} +

Resource type

+ {:else}

No advanced configuration for this type

{/if} diff --git a/frontend/src/lib/components/ScriptBuilder.svelte b/frontend/src/lib/components/ScriptBuilder.svelte index a25617a078..9860112555 100644 --- a/frontend/src/lib/components/ScriptBuilder.svelte +++ b/frontend/src/lib/components/ScriptBuilder.svelte @@ -12,8 +12,8 @@ import ScriptSchema from './ScriptSchema.svelte' import { inferArgs } from '$lib/infer' import Required from './Required.svelte' - import RadioButton from './RadioButton.svelte' import { DENO_INIT_CODE, DENO_INIT_CODE_TRIGGER, initialCode } from '$lib/script_helpers' + import RadioButtonV3 from './RadioButtonV3.svelte' let editor: ScriptEditor let scriptSchema: ScriptSchema @@ -179,9 +179,8 @@

Language

-
- {#if options.length > 1} - - {/if} +
+ {#if options.length > 1} + + {/if} +