From fa5a490283d5daef4468068495117ab747ae6873 Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Fri, 19 Apr 2024 17:47:18 +0200 Subject: [PATCH] nits --- .../src/lib/components/ScriptBuilder.svelte | 20 ++++++++++--------- .../src/lib/components/SimpleEditor.svelte | 1 - .../display/table/AppAggridTable.svelte | 5 +++-- .../helpers/RunnableComponent.svelte | 10 +++------- .../(root)/(logged)/scripts/add/+page.svelte | 8 +++++++- .../scripts/edit/[...path]/+page.svelte | 9 ++++++++- 6 files changed, 32 insertions(+), 21 deletions(-) diff --git a/frontend/src/lib/components/ScriptBuilder.svelte b/frontend/src/lib/components/ScriptBuilder.svelte index 56d4699d89..0bf45f33e6 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 { page } from '$app/stores' import { inferArgs } from '$lib/infer' import { initialCode } from '$lib/script_helpers' import { defaultScripts, enterpriseLicense, userStore, workspaceStore } from '$lib/stores' @@ -42,7 +41,6 @@ Settings, X } from 'lucide-svelte' - import UnsavedConfirmationModal from './common/confirmationModal/UnsavedConfirmationModal.svelte' import { sendUserToast } from '$lib/toast' import { isCloudHosted } from '$lib/cloud' import Awareness from './Awareness.svelte' @@ -71,12 +69,14 @@ export let showMeta: boolean = false export let diffDrawer: DiffDrawer | undefined = undefined export let savedScript: NewScriptWithDraft | undefined = undefined + export let searchParams: URLSearchParams = new URLSearchParams() + export let disableHistoryChange = false let metadataOpen = showMeta || (initialPath == '' && - $page.url.searchParams.get('state') == undefined && - $page.url.searchParams.get('collab') == undefined) + searchParams.get('state') == undefined && + searchParams.get('collab') == undefined) let editor: Editor | undefined = undefined let scriptEditor: ScriptEditor | undefined = undefined @@ -157,13 +157,13 @@ $: { ;['collab', 'path'].forEach((x) => { - if ($page.url.searchParams.get(x)) { - $page.url.searchParams.delete(x) + if (searchParams.get(x)) { + searchParams.delete(x) } }) } - $: window.history.replaceState(null, '', '#' + encodeState(script)) + $: !disableHistoryChange && window.history.replaceState(null, '', '#' + encodeState(script)) if (script.content == '') { initContent(script.language, script.kind, template) @@ -289,7 +289,9 @@ } savedScript = cloneDeep(script) as NewScriptWithDraft - history.replaceState(history.state, '', `/scripts/edit/${script.path}`) + if (!disableHistoryChange) { + history.replaceState(history.state, '', `/scripts/edit/${script.path}`) + } if (stay) { script.parent_hash = newHash } else { @@ -454,7 +456,7 @@ - + {#if !$userStore?.operator} diff --git a/frontend/src/lib/components/SimpleEditor.svelte b/frontend/src/lib/components/SimpleEditor.svelte index 6d41bae46f..31fd819243 100644 --- a/frontend/src/lib/components/SimpleEditor.svelte +++ b/frontend/src/lib/components/SimpleEditor.svelte @@ -328,7 +328,6 @@ filePath: 'windmill.d.ts' }) } - console.log(libs) languages.typescript.javascriptDefaults.setExtraLibs(libs) } } diff --git a/frontend/src/lib/components/apps/components/display/table/AppAggridTable.svelte b/frontend/src/lib/components/apps/components/display/table/AppAggridTable.svelte index 8a3d3fd7c8..3b4479bb19 100644 --- a/frontend/src/lib/components/apps/components/display/table/AppAggridTable.svelte +++ b/frontend/src/lib/components/apps/components/display/table/AppAggridTable.svelte @@ -92,7 +92,7 @@ result: [] as any[], loading: false, page: 0, - newChange: { row: 0, column: '', value: undefined }, + newChange: { row: 0, column: '', value: undefined, old: undefined }, ready: undefined as boolean | undefined, inputs: {}, filters: {}, @@ -153,7 +153,8 @@ outputs?.newChange?.set({ row: event.node.rowIndex, column: event.colDef.field, - value: dataCell + value: dataCell, + old: result[Number(event.node.data['__index'])][event.colDef.field] }) result[Number(event.node.data['__index'])][event.colDef.field] = dataCell let data = { ...result[event.node.rowIndex] } diff --git a/frontend/src/lib/components/apps/components/helpers/RunnableComponent.svelte b/frontend/src/lib/components/apps/components/helpers/RunnableComponent.svelte index f2a55d6ae2..081045dab9 100644 --- a/frontend/src/lib/components/apps/components/helpers/RunnableComponent.svelte +++ b/frontend/src/lib/components/apps/components/helpers/RunnableComponent.svelte @@ -264,12 +264,12 @@ true ) - await setResult(r, job, setRunnableJobEditorPanel) + await setResult(r, job) $state = $state } catch (e) { sendUserToast(`Error running frontend script ${id}: ` + e.message, true) r = { error: { message: e.body ?? e.message } } - await setResult(r, job, setRunnableJobEditorPanel) + await setResult(r, job) } loading = false donePromise?.(r) @@ -483,11 +483,7 @@ result = res } - async function setResult( - res: any, - jobId: string | undefined, - setRunnableJobEditorPanel?: boolean - ) { + async function setResult(res: any, jobId: string | undefined) { dispatch('resultSet') const errors = getResultErrors(res) diff --git a/frontend/src/routes/(root)/(logged)/scripts/add/+page.svelte b/frontend/src/routes/(root)/(logged)/scripts/add/+page.svelte index 07fbb607ab..6546abadd2 100644 --- a/frontend/src/routes/(root)/(logged)/scripts/add/+page.svelte +++ b/frontend/src/routes/(root)/(logged)/scripts/add/+page.svelte @@ -7,6 +7,7 @@ import type { Schema } from '$lib/common' import { decodeState, emptySchema } from '$lib/utils' import { goto } from '$app/navigation' + import UnsavedConfirmationModal from '$lib/components/common/confirmationModal/UnsavedConfirmationModal.svelte' // Default let schema: Schema = emptySchema() @@ -85,6 +86,7 @@ loadTemplate() } } + let savedScript: Script | undefined = undefined +> + + 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 444a46cfde..444ef1f3df 100644 --- a/frontend/src/routes/(root)/(logged)/scripts/edit/[...path]/+page.svelte +++ b/frontend/src/routes/(root)/(logged)/scripts/edit/[...path]/+page.svelte @@ -9,6 +9,7 @@ import { sendUserToast } from '$lib/toast' import DiffDrawer from '$lib/components/DiffDrawer.svelte' import { cloneDeep } from 'lodash' + import UnsavedConfirmationModal from '$lib/components/common/confirmationModal/UnsavedConfirmationModal.svelte' const initialState = $page.url.hash != '' ? $page.url.hash.slice(1) : undefined let initialArgs = {} @@ -193,6 +194,7 @@ bind:savedScript {initialArgs} {diffDrawer} + searchParams={$page.url.searchParams} on:deploy={(e) => { let newHash = e.detail goto(`/scripts/get/${newHash}?workspace=${$workspaceStore}`) @@ -205,5 +207,10 @@ let path = e.detail goto(`/scripts/get/${path}?workspace=${$workspaceStore}`) }} - /> + > {/if}