From b579db61ec1d54e2ea0e026f576c85cfb707071e Mon Sep 17 00:00:00 2001
From: Ruben Fiszel
Date: Tue, 8 Oct 2024 19:34:54 -0700
Subject: [PATCH] allow more customisation of frontend (#4508)
* all
* npm check
---
frontend/package.json | 22 ++
...ppConnectLightweightResourcePicker.svelte} | 16 +-
frontend/src/lib/components/ArgInput.svelte | 8 +-
.../src/lib/components/CustomPopover.svelte | 2 +-
.../src/lib/components/DisplayResult.svelte | 2 +-
.../src/lib/components/FlowBuilder.svelte | 2 +
.../src/lib/components/FlowInputViewer.svelte | 29 +++
.../src/lib/components/FlowMetadata.svelte | 4 +-
frontend/src/lib/components/FlowViewer.svelte | 24 +-
.../LightweightResourcePicker.svelte | 66 ++---
.../src/lib/components/ManualPopover.svelte | 2 +-
.../lib/components/ObjectResourceInput.svelte | 8 +-
frontend/src/lib/components/Popover.svelte | 2 +-
frontend/src/lib/components/Portal.svelte | 15 +-
.../src/lib/components/ResourceEditor.svelte | 9 +-
.../src/lib/components/ResourcePicker.svelte | 26 +-
frontend/src/lib/components/RunForm.svelte | 2 +-
.../src/lib/components/SavedInputs.svelte | 4 +-
.../components/ScriptVersionHistory.svelte | 113 +++++----
frontend/src/lib/components/TimeAgo.svelte | 11 +-
.../apps/components/buttons/AppButton.svelte | 2 +-
.../display/dbtable/AppDbExplorer.svelte | 2 +-
.../components/inputs/AppMultiSelect.svelte | 2 +-
.../components/inputs/AppMultiSelectV2.svelte | 2 +-
.../apps/components/layout/AppDrawer.svelte | 2 +-
.../apps/components/layout/AppModal.svelte | 2 +-
.../apps/editor/GridEditorMenu.svelte | 2 +-
.../lib/ConditionalPortal.svelte | 2 +-
.../lib/ConditionalPortalGlobal.svelte | 2 +-
.../common/button/ButtonDropdown.svelte | 2 +-
.../common/drawer/ConditionalPortal.svelte | 2 +-
.../lib/components/common/menu/MenuV2.svelte | 2 +-
.../common/modal/AlwaysMountedModal.svelte | 2 +-
.../components/common/popup/PopupV2.svelte | 2 +-
.../src/lib/components/details/Menu.svelte | 2 +-
.../lib/components/flows/FlowEditor.svelte | 3 +-
.../lib/components/flows/FlowHistory.svelte | 214 +----------------
.../components/flows/FlowHistoryInner.svelte | 212 +++++++++++++++++
.../flows/content/FlowEditorPanel.svelte | 3 +-
.../components/flows/content/FlowInput.svelte | 128 +++++-----
.../flows/content/FlowModuleScript.svelte | 2 +-
.../flows/map/FlowModuleSchemaMap.svelte | 2 +-
.../lib/components/icons/WindmillIcon.svelte | 225 ++++++++++--------
frontend/src/lib/components/icons/store.ts | 1 +
.../multiselect/MultiSelectWrapper.svelte | 2 +-
.../propertyPicker/ObjectViewer.svelte | 2 +-
.../src/lib/components/runs/RunRow.svelte | 10 +-
.../schema/FlowPropertyEditor.svelte | 1 +
.../search/GlobalSearchModal.svelte | 2 +-
.../lib/init_scripts/python_failure_module.ts | 8 -
.../src/lib/init_scripts/python_init_code.ts | 40 ----
.../init_scripts/python_init_code_clear.ts | 5 -
.../init_scripts/python_init_code_trigger.ts | 14 --
frontend/src/lib/script_helpers.ts | 146 ++++++++----
.../(logged)/flows/get/[...path]/+page.svelte | 16 +-
.../(root)/(logged)/run/[...run]/+page.svelte | 37 ++-
.../scripts/get/[...hash]/+page.svelte | 3 +-
.../(logged)/workspace_settings/+page.svelte | 16 +-
.../src/routes/(root)/embed_connect/+page.js | 5 -
59 files changed, 786 insertions(+), 708 deletions(-)
rename frontend/src/{routes/(root)/embed_connect/+page.svelte => lib/components/AppConnectLightweightResourcePicker.svelte} (77%)
create mode 100644 frontend/src/lib/components/FlowInputViewer.svelte
create mode 100644 frontend/src/lib/components/flows/FlowHistoryInner.svelte
create mode 100644 frontend/src/lib/components/icons/store.ts
delete mode 100644 frontend/src/lib/init_scripts/python_failure_module.ts
delete mode 100644 frontend/src/lib/init_scripts/python_init_code.ts
delete mode 100644 frontend/src/lib/init_scripts/python_init_code_clear.ts
delete mode 100644 frontend/src/lib/init_scripts/python_init_code_trigger.ts
delete mode 100644 frontend/src/routes/(root)/embed_connect/+page.js
diff --git a/frontend/package.json b/frontend/package.json
index 4fc20b556a..02a438827a 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -300,6 +300,14 @@
"types": "./package/utils.d.ts",
"default": "./package/utils.js"
},
+ "./icons/store": {
+ "types": "./package/icons/store.d.ts",
+ "default": "./package/icons/store.js"
+ },
+ "./script_helpers": {
+ "types": "./package/script_helpers.d.ts",
+ "default": "./package/script_helpers.js"
+ },
"./infer": {
"types": "./package/infer.d.ts",
"default": "./package/infer.js"
@@ -341,6 +349,11 @@
"types": "./package/components/DropdownV2.svelte.d.ts",
"svelte": "./package/components/DropdownV2.svelte",
"default": "./package/components/DropdownV2.svelte"
+ },
+ "./components/flows/FlowHistoryInner.svelte": {
+ "types": "./package/components/flows/FlowHistoryInner.svelte.d.ts",
+ "svelte": "./package/components/flows/FlowHistoryInner.svelte",
+ "default": "./package/components/flows/FlowHistoryInner.svelte"
}
},
"files": [
@@ -426,6 +439,9 @@
"components/EditableSchemaWrapper.svelte": [
"./package/components/schema/EditableSchemaWrapper.svelte.d.ts"
],
+ "components/flows/FlowHistoryInner.svelte": [
+ "./package/components/flows/FlowHistoryInner.svelte.d.ts"
+ ],
"utils": [
"./package/utils.d.ts"
],
@@ -461,6 +477,12 @@
],
"components/DropdownV2.svelte": [
"./package/components/DropdownV2.svelte.d.ts"
+ ],
+ "script_helpers": [
+ "./package/script_helpers.d.ts"
+ ],
+ "icons/store": [
+ "./package/icons/store.d.ts"
]
}
},
diff --git a/frontend/src/routes/(root)/embed_connect/+page.svelte b/frontend/src/lib/components/AppConnectLightweightResourcePicker.svelte
similarity index 77%
rename from frontend/src/routes/(root)/embed_connect/+page.svelte
rename to frontend/src/lib/components/AppConnectLightweightResourcePicker.svelte
index 87ae396e55..4e59ea7858 100644
--- a/frontend/src/routes/(root)/embed_connect/+page.svelte
+++ b/frontend/src/lib/components/AppConnectLightweightResourcePicker.svelte
@@ -1,5 +1,4 @@
+
+
+ {#if schema == undefined}
+ - No inputs
+ {:else}
+ {#each Object.entries(schema.properties ?? {}) as [inp, v]}
+ -
+ {v?.default != undefined && v?.default != ''
+ ? 'default: ' + JSON.stringify(v?.default)
+ : ''}
+
+ {/each}
+ {/if}
+
diff --git a/frontend/src/lib/components/FlowMetadata.svelte b/frontend/src/lib/components/FlowMetadata.svelte
index 46e0a6fda9..3ab5d3d416 100644
--- a/frontend/src/lib/components/FlowMetadata.svelte
+++ b/frontend/src/lib/components/FlowMetadata.svelte
@@ -26,7 +26,7 @@
{#if job['success'] != undefined}
Received job: {displayDate(job.created_at ?? '')}
{:else}
- Received job
+ Received job
{/if}
{job?.created_at}
@@ -35,7 +35,7 @@
- Started
+ Started
{job?.started_at}
diff --git a/frontend/src/lib/components/FlowViewer.svelte b/frontend/src/lib/components/FlowViewer.svelte
index 66d37704bf..cc1350b75a 100644
--- a/frontend/src/lib/components/FlowViewer.svelte
+++ b/frontend/src/lib/components/FlowViewer.svelte
@@ -2,11 +2,11 @@
import type { FlowValue } from '$lib/gen'
import { Tab, Tabs, TabContent } from './common'
import SchemaViewer from './SchemaViewer.svelte'
- import FieldHeader from './FieldHeader.svelte'
import FlowGraphViewer from './FlowGraphViewer.svelte'
import HighlightTheme from './HighlightTheme.svelte'
import FlowViewerInner from './FlowViewerInner.svelte'
+ import FlowInputViewer from './FlowInputViewer.svelte'
export let flow: {
summary: string
@@ -27,10 +27,6 @@
if (initialOpen) {
open[initialOpen] = true
}
-
- function toAny(x: unknown): any {
- return x as any
- }
@@ -54,23 +50,7 @@
Flow Input
{#if flow.schema && flow.schema.properties && Object.keys(flow.schema.properties).length > 0 && flow.schema}
-
- {#each Object.entries(flow.schema.properties) as [inp, v]}
- -
- {toAny(v)?.default != undefined
- ? 'default: ' + JSON.stringify(toAny(v)?.default)
- : ''}
-
- {/each}
-
+
{:else}
No inputs
{/if}
diff --git a/frontend/src/lib/components/LightweightResourcePicker.svelte b/frontend/src/lib/components/LightweightResourcePicker.svelte
index c5b34f9af9..e0c250f32f 100644
--- a/frontend/src/lib/components/LightweightResourcePicker.svelte
+++ b/frontend/src/lib/components/LightweightResourcePicker.svelte
@@ -1,6 +1,5 @@
@@ -89,12 +71,15 @@
{#if expressOAuthSetup}
{#if open}
{#key refreshCount}
-
+ {#await import('./AppConnectLightweightResourcePicker.svelte')}
+
+ {:then Module}
+
+ {/await}
{/key}
{/if}
{:else}
@@ -105,12 +90,31 @@
tooltip="Resources represent connections to third party systems. Learn more on how to integrate external APIs."
documentationLink="https://www.windmill.dev/docs/integrations/integrations_on_windmill"
>
-
+ {:then Module}
+ {
+ sendUserToast(e.detail, true)
+ }}
+ on:refresh={(e) => {
+ value = e.detail
+ valueSelect = { value, label: value }
+ drawer?.closeDrawer?.()
+ open = false
+ }}
+ />
+ {/await}
+
+
{/if}
@@ -142,13 +146,11 @@