From b0ac674f46303068a7c45a2fb3cd811f499e2fbd Mon Sep 17 00:00:00 2001 From: Faton Ramadani Date: Wed, 28 Sep 2022 19:31:24 +0200 Subject: [PATCH] feat(front): Rework how summaries are edited in the flow editor (#632) * feat(front): Rework how summaries are edited in the flow editor * feat(front): add IconOnly mode, to better handle responsivness * feat(front): Fix FlowModule summary input width * feat(front): simplify summary placeholder * feat(front): Fix minimap resizing issues + fix minimap delete --- frontend/src/lib/components/EditorBar.svelte | 15 +++-- frontend/src/lib/components/IconedPath.svelte | 14 +++-- .../src/lib/components/ModulePreview.svelte | 17 +++--- .../components/common/button/Button.svelte | 19 ++++--- .../lib/components/flows/FlowEditor.svelte | 2 +- .../components/flows/common/FlowCard.svelte | 2 +- .../flows/common/FlowCardHeader.svelte | 39 ++++++++----- .../flows/content/FlowModule.svelte | 55 +++++++++++++------ .../flows/content/FlowModuleHeader.svelte | 35 +++++++++--- .../flows/header/FlowEditorHeader.svelte | 2 +- .../flows/map/FlowModuleSchemaItem.svelte | 17 +++--- .../flows/map/FlowModuleSchemaMap.svelte | 14 +++-- .../flows/propPicker/PropPickerWrapper.svelte | 2 +- 13 files changed, 148 insertions(+), 85 deletions(-) diff --git a/frontend/src/lib/components/EditorBar.svelte b/frontend/src/lib/components/EditorBar.svelte index ee36729731..c25a968ae1 100644 --- a/frontend/src/lib/components/EditorBar.svelte +++ b/frontend/src/lib/components/EditorBar.svelte @@ -18,6 +18,7 @@ export let lang: 'python3' | 'deno' | 'go' export let editor: Editor export let websocketAlive: { pyright: boolean; black: boolean; deno: boolean } + export let iconOnly: boolean = false let variablePicker: ItemPicker let resourcePicker: ItemPicker @@ -192,6 +193,7 @@ size="xs" spacingSize="md" startIcon={{ icon: faFile }} + {iconOnly} > Insert variable @@ -203,8 +205,9 @@ spacingSize="md" color="light" on:click={resourcePicker.openModal} + {iconOnly} + startIcon={{ icon: faCube }} > - Insert resource @@ -216,8 +219,9 @@ spacingSize="md" color="light" on:click={scriptPicker.openModal} + {iconOnly} + startIcon={{ icon: faCode }} > - Search script @@ -229,8 +233,9 @@ spacingSize="md" color="light" on:click={editor.clearContent} + {iconOnly} + startIcon={{ icon: faRotateLeft }} > - Reset content @@ -241,16 +246,14 @@ spacingSize="md" color="light" on:click={editor.reloadWebsocket} + startIcon={{ icon: faRotate }} > - - Reload assistants {#if lang == 'deno'} (Deno) {:else if lang == 'python3'} (Pyright -   Black) {/if} diff --git a/frontend/src/lib/components/IconedPath.svelte b/frontend/src/lib/components/IconedPath.svelte index 83b7ba597e..ff3dc6dc11 100644 --- a/frontend/src/lib/components/IconedPath.svelte +++ b/frontend/src/lib/components/IconedPath.svelte @@ -1,14 +1,16 @@ -{#if path.startsWith('hub/')} - +
+ {#if path.startsWith('hub/')} {path} - -{:else} - {path} -{/if} + {:else} + Workspace + {path} + {/if} +
diff --git a/frontend/src/lib/components/ModulePreview.svelte b/frontend/src/lib/components/ModulePreview.svelte index dd93438ade..c6c51f1b2f 100644 --- a/frontend/src/lib/components/ModulePreview.svelte +++ b/frontend/src/lib/components/ModulePreview.svelte @@ -89,7 +89,7 @@ classes: 'animate-spin' }} > - 'Cancel' + Cancel {/if} @@ -101,14 +101,15 @@ -
{#if testJob && 'result' in testJob && testJob.result}
-						{:else if testIsLoading}Waiting for Result...
-						{:else}Test to see result here
+					
+						{#if testJob && 'result' in testJob && testJob.result}
+							
+						{:else if testIsLoading}
+							Waiting for Result...
+						{:else}
+							Test to see result here
 						{/if}
-        
+
diff --git a/frontend/src/lib/components/common/button/Button.svelte b/frontend/src/lib/components/common/button/Button.svelte index f7c0d8099d..5cb68b9fa9 100644 --- a/frontend/src/lib/components/common/button/Button.svelte +++ b/frontend/src/lib/components/common/button/Button.svelte @@ -11,6 +11,7 @@ export let disabled: boolean = false export let href: string | undefined = undefined export let target: Button.Target = '_self' + export let iconOnly: boolean = false export let startIcon: { icon: any; classes?: string } | undefined = undefined export let endIcon: { icon: any; classes?: string } | undefined = undefined @@ -70,7 +71,7 @@ spacingClasses[spacingSize], 'focus:ring-4 font-medium', 'rounded-md', - 'flex justify-center items-center text-center', + 'flex justify-center items-center text-center whitespace-nowrap', btnClasses, disabled ? 'pointer-events-none cursor-default filter grayscale' : '' ), @@ -83,15 +84,17 @@ {#if startIcon} {/if} - + {#if !iconOnly} + + {/if} {#if endIcon} {/if} @@ -101,15 +104,17 @@ {#if startIcon} {/if} - + {#if !iconOnly} + + {/if} {#if endIcon} {/if} diff --git a/frontend/src/lib/components/flows/FlowEditor.svelte b/frontend/src/lib/components/flows/FlowEditor.svelte index ca435f568f..4c5a15e023 100644 --- a/frontend/src/lib/components/flows/FlowEditor.svelte +++ b/frontend/src/lib/components/flows/FlowEditor.svelte @@ -11,7 +11,7 @@
- +
{#if $flowStore.value.modules && $flowStateStore.modules} diff --git a/frontend/src/lib/components/flows/common/FlowCard.svelte b/frontend/src/lib/components/flows/common/FlowCard.svelte index fddc7540d3..38448b4f73 100644 --- a/frontend/src/lib/components/flows/common/FlowCard.svelte +++ b/frontend/src/lib/components/flows/common/FlowCard.svelte @@ -6,7 +6,7 @@ export let flowModule: FlowModule | undefined = undefined - + diff --git a/frontend/src/lib/components/flows/common/FlowCardHeader.svelte b/frontend/src/lib/components/flows/common/FlowCardHeader.svelte index a126b1215c..c98c812f3f 100644 --- a/frontend/src/lib/components/flows/common/FlowCardHeader.svelte +++ b/frontend/src/lib/components/flows/common/FlowCardHeader.svelte @@ -1,27 +1,40 @@
{#if flowModule} - - {#if 'path' in flowModule.value && flowModule.value.path} - - {:else if 'language' in flowModule.value && flowModule.value.language} - {flowModuleTitle} - {/if} + +
+ {#if shouldPick} + Select a script + {:else if flowModule?.value.type === 'rawscript'} + + {flowModule?.value.language} + + + {:else if flowModule?.value.type === 'script' && 'path' in flowModule.value && flowModule.value.path} + + + {/if} +
{/if} {#if title} diff --git a/frontend/src/lib/components/flows/content/FlowModule.svelte b/frontend/src/lib/components/flows/content/FlowModule.svelte index 3d572527d4..bbc90ee775 100644 --- a/frontend/src/lib/components/flows/content/FlowModule.svelte +++ b/frontend/src/lib/components/flows/content/FlowModule.svelte @@ -1,3 +1,10 @@ + + -
- +
+ -
- apply(fork, flowModule)} - on:createScriptFromInlineScript={() => { - apply(createScriptFromInlineScript, { - flowModule: flowModule, - suffix: $selectedId, - schema: flowModuleState.schema - }) - }} - /> -
+ apply(fork, flowModule)} + on:createScriptFromInlineScript={() => { + apply(createScriptFromInlineScript, { + flowModule: flowModule, + suffix: $selectedId, + schema: flowModuleState.schema + }) + }} + />
{#if shouldPick} - +
{/if} diff --git a/frontend/src/lib/components/flows/content/FlowModuleHeader.svelte b/frontend/src/lib/components/flows/content/FlowModuleHeader.svelte index 3953ade67a..319b8b8c3d 100644 --- a/frontend/src/lib/components/flows/content/FlowModuleHeader.svelte +++ b/frontend/src/lib/components/flows/content/FlowModuleHeader.svelte @@ -1,12 +1,13 @@ -
undefined}> +
{#if module.value.type === 'script' && !shouldPick} - {/if} {#if module.value.type === 'rawscript' && !shouldPick} - {/if}
diff --git a/frontend/src/lib/components/flows/header/FlowEditorHeader.svelte b/frontend/src/lib/components/flows/header/FlowEditorHeader.svelte index 6f50147289..f61a7053ba 100644 --- a/frontend/src/lib/components/flows/header/FlowEditorHeader.svelte +++ b/frontend/src/lib/components/flows/header/FlowEditorHeader.svelte @@ -14,7 +14,7 @@
{#if deletable} - + startIcon={{ icon: faTrashAlt }} + iconOnly={true} + color="light" + variant="border" + size="xs" + /> {/if}
diff --git a/frontend/src/lib/components/flows/map/FlowModuleSchemaMap.svelte b/frontend/src/lib/components/flows/map/FlowModuleSchemaMap.svelte index 298d5b70b0..3a4541e572 100644 --- a/frontend/src/lib/components/flows/map/FlowModuleSchemaMap.svelte +++ b/frontend/src/lib/components/flows/map/FlowModuleSchemaMap.svelte @@ -130,15 +130,14 @@
{index + 1}
-
- + {mod.summary || mod.value.path || (mod.value.type === 'rawscript' ? `Inline ${mod.value.language}` - : 'Select a script')} - /> + : 'Select a script')}
@@ -160,6 +159,9 @@ { + indexToRemove = undefined + }} on:confirmed={() => { if (indexToRemove !== undefined) { removeAtIndex(indexToRemove) diff --git a/frontend/src/lib/components/flows/propPicker/PropPickerWrapper.svelte b/frontend/src/lib/components/flows/propPicker/PropPickerWrapper.svelte index 2b67d94370..410f69c87b 100644 --- a/frontend/src/lib/components/flows/propPicker/PropPickerWrapper.svelte +++ b/frontend/src/lib/components/flows/propPicker/PropPickerWrapper.svelte @@ -43,7 +43,7 @@ -
+