diff --git a/frontend/package.json b/frontend/package.json index f747575627..20aecb6770 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,6 +1,6 @@ { "name": "windmill-components", - "version": "1.309.2", + "version": "1.309.3", "scripts": { "dev": "vite dev", "build": "vite build", @@ -225,6 +225,11 @@ "svelte": "./package/components/FlowBuilder.svelte", "default": "./package/components/FlowBuilder.svelte" }, + "./components/ScriptBuilder.svelte": { + "types": "./package/components/ScriptBuilder.svelte.d.ts", + "svelte": "./package/components/ScriptBuilder.svelte", + "default": "./package/components/ScriptBuilder.svelte" + }, "./components/FlowEditor.svelte": { "types": "./package/components/flows/FlowEditor.svelte.d.ts", "svelte": "./package/components/flows/FlowEditor.svelte", @@ -360,6 +365,9 @@ "components/FlowBuilder.svelte": [ "./package/components/FlowBuilder.svelte.d.ts" ], + "components/ScriptBuilder.svelte": [ + "./package/components/ScriptBuilder.svelte.d.ts" + ], "components/FlowEditor.svelte": [ "./package/components/flows/FlowEditor.svelte.d.ts" ], diff --git a/frontend/src/lib/components/ScriptBuilder.svelte b/frontend/src/lib/components/ScriptBuilder.svelte index 11d93e3ade..56d4699d89 100644 --- a/frontend/src/lib/components/ScriptBuilder.svelte +++ b/frontend/src/lib/components/ScriptBuilder.svelte @@ -7,7 +7,6 @@ ScheduleService, type Script } from '$lib/gen' - import { goto } from '$app/navigation' import { page } from '$app/stores' import { inferArgs } from '$lib/infer' import { initialCode } from '$lib/script_helpers' @@ -62,6 +61,7 @@ import { writable } from 'svelte/store' import { type ScriptSchedule, loadScriptSchedule, defaultScriptLanguages } from '$lib/scripts' import DefaultScripts from './DefaultScripts.svelte' + import { createEventDispatcher } from 'svelte' export let script: NewScript export let initialPath: string = '' @@ -88,6 +88,7 @@ args: {}, enabled: false }) + async function loadSchedule() { const scheduleRes = await loadScriptSchedule(initialPath, $workspaceStore!) if (scheduleRes) { @@ -95,6 +96,8 @@ } } + const dispatch = createEventDispatcher() + $: { if (initialPath != '') { loadSchedule() @@ -290,7 +293,7 @@ if (stay) { script.parent_hash = newHash } else { - goto(`/scripts/get/${newHash}?workspace=${$workspaceStore}`) + dispatch('deploy', newHash) } } catch (error) { sendUserToast(`Error while saving the script: ${error.body || error.message}`, true) @@ -389,7 +392,7 @@ if (initialPath == '' || (savedScript?.draft_only && script.path !== initialPath)) { initialPath = script.path - goto(`/scripts/edit/${script.path}`) + dispatch('saveInitial', script.path) } sendUserToast('Saved as draft') } catch (error) { @@ -422,7 +425,7 @@ { label: 'Exit & See details', onClick: () => { - goto(`/scripts/get/${initialPath}?workspace=${$workspaceStore}`) + dispatch('seeDetails', initialPath) } } ] diff --git a/frontend/src/lib/components/SimpleEditor.svelte b/frontend/src/lib/components/SimpleEditor.svelte index f771f46f40..6d41bae46f 100644 --- a/frontend/src/lib/components/SimpleEditor.svelte +++ b/frontend/src/lib/components/SimpleEditor.svelte @@ -18,6 +18,8 @@ import 'monaco-editor/esm/vs/basic-languages/sql/sql.contribution' import 'monaco-editor/esm/vs/basic-languages/yaml/yaml.contribution' import 'monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution' + import 'monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution' + import 'monaco-editor/esm/vs/language/typescript/monaco.contribution' import 'monaco-editor/esm/vs/language/json/monaco.contribution' import 'monaco-editor/esm/vs/basic-languages/css/css.contribution' import 'monaco-editor/esm/vs/language/css/monaco.contribution' diff --git a/frontend/src/lib/components/apps/components/display/AppCustomComponent.svelte b/frontend/src/lib/components/apps/components/display/AppCustomComponent.svelte index 5d99d9c4e3..c3d38fe3da 100644 --- a/frontend/src/lib/components/apps/components/display/AppCustomComponent.svelte +++ b/frontend/src/lib/components/apps/components/display/AppCustomComponent.svelte @@ -84,7 +84,10 @@ let renderer: (props: CCProps) => void = globalThis.windmill[customComponent?.name ?? 'no_name'] if (!renderer) { - sendUserToast('Custom Component seem to be ill-defined (renderer missing)', true) + sendUserToast( + 'Custom Component seem to be ill-defined (renderer missing). is COMPONENT_NAME in vite.config.ts matching the name of the custom component?', + true + ) return } renderer?.(ccProps) diff --git a/frontend/src/lib/components/apps/editor/componentsPanel/CustomComponentsList.svelte b/frontend/src/lib/components/apps/editor/componentsPanel/CustomComponentsList.svelte index 463511eb31..295e0f5fed 100644 --- a/frontend/src/lib/components/apps/editor/componentsPanel/CustomComponentsList.svelte +++ b/frontend/src/lib/components/apps/editor/componentsPanel/CustomComponentsList.svelte @@ -52,7 +52,8 @@ dispatch('reload') } catch (e) { sendUserToast( - 'Component creation failed. You need write privilege on folder app_custom: ' + e.body ?? e, + 'Component creation failed. Is the file uploaded, did you give it a name ? Do you have write privilege on folder app_custom: ' + + e.body ?? e, true ) } diff --git a/frontend/src/routes/(root)/(logged)/scripts/add/+page.svelte b/frontend/src/routes/(root)/(logged)/scripts/add/+page.svelte index 67ccec7f8a..07fbb607ab 100644 --- a/frontend/src/routes/(root)/(logged)/scripts/add/+page.svelte +++ b/frontend/src/routes/(root)/(logged)/scripts/add/+page.svelte @@ -6,6 +6,7 @@ import ScriptBuilder from '$lib/components/ScriptBuilder.svelte' import type { Schema } from '$lib/common' import { decodeState, emptySchema } from '$lib/utils' + import { goto } from '$app/navigation' // Default let schema: Schema = emptySchema() @@ -89,6 +90,14 @@ { + let newHash = e.detail + goto(`/scripts/get/${newHash}?workspace=${$workspaceStore}`) + }} + on:saveInitial={(e) => { + let path = e.detail + goto(`/scripts/edit/${path}`) + }} {script} {showMeta} /> diff --git a/frontend/src/routes/(root)/(logged)/scripts/edit/[...path]/+page.svelte b/frontend/src/routes/(root)/(logged)/scripts/edit/[...path]/+page.svelte index c14b613854..444a46cfde 100644 --- a/frontend/src/routes/(root)/(logged)/scripts/edit/[...path]/+page.svelte +++ b/frontend/src/routes/(root)/(logged)/scripts/edit/[...path]/+page.svelte @@ -193,5 +193,17 @@ bind:savedScript {initialArgs} {diffDrawer} + on:deploy={(e) => { + let newHash = e.detail + goto(`/scripts/get/${newHash}?workspace=${$workspaceStore}`) + }} + on:saveInitial={(e) => { + let path = e.detail + goto(`/scripts/edit/${path}`) + }} + on:seeDetails={(e) => { + let path = e.detail + goto(`/scripts/get/${path}?workspace=${$workspaceStore}`) + }} /> {/if}