From d17323286a05aa0b1680ef94d7058d2c8902782f Mon Sep 17 00:00:00 2001 From: Faton Ramadani Date: Tue, 18 Apr 2023 18:32:04 +0200 Subject: [PATCH] feat(frontend): add toast actions (#1411) * feat(frontend): add toast actions * feat(frontend): Fix callback * feat(frontend): Add start from blank * feat(frontend): support flow as well --- frontend/src/lib/components/Toast.svelte | 16 ++++++++ frontend/src/lib/utils.ts | 14 ++++++- .../(root)/(logged)/apps/add/+page.svelte | 15 ++++++- .../(logged)/apps/edit/[...path]/+page.svelte | 41 +++++++++++++++---- .../(root)/(logged)/flows/add/+page.svelte | 19 ++++++++- .../flows/edit/[...path]/+page.svelte | 14 ++++++- 6 files changed, 106 insertions(+), 13 deletions(-) diff --git a/frontend/src/lib/components/Toast.svelte b/frontend/src/lib/components/Toast.svelte index d58790b196..6eae1fd24e 100644 --- a/frontend/src/lib/components/Toast.svelte +++ b/frontend/src/lib/components/Toast.svelte @@ -1,11 +1,14 @@ -{#if app} -
- -
-{/if} +{#key redraw} + {#if app} +
+ +
+ {/if} +{/key} diff --git a/frontend/src/routes/(root)/(logged)/flows/add/+page.svelte b/frontend/src/routes/(root)/(logged)/flows/add/+page.svelte index cb1fec14c0..9c62dca5c7 100644 --- a/frontend/src/routes/(root)/(logged)/flows/add/+page.svelte +++ b/frontend/src/routes/(root)/(logged)/flows/add/+page.svelte @@ -55,7 +55,24 @@ $importFlowStore = undefined sendUserToast('Flow loaded from JSON') } else if (!templatePath && !hubId && state) { - sendUserToast('Flow restored from draft') + sendUserToast('Flow restored from draft', false, [ + { + label: 'Start from blank instead', + callback: () => { + $flowStore = { + summary: '', + value: { modules: [] }, + path: '', + edited_at: '', + edited_by: '', + archived: false, + extra_perms: {}, + schema: emptySchema() + } + } + } + ]) + flow = state.flow state?.selectedId && (selectedId = state?.selectedId) } else { diff --git a/frontend/src/routes/(root)/(logged)/flows/edit/[...path]/+page.svelte b/frontend/src/routes/(root)/(logged)/flows/edit/[...path]/+page.svelte index 0a19a17870..38a07582a7 100644 --- a/frontend/src/routes/(root)/(logged)/flows/edit/[...path]/+page.svelte +++ b/frontend/src/routes/(root)/(logged)/flows/edit/[...path]/+page.svelte @@ -40,7 +40,19 @@ loading = true let flow: Flow if (stateLoadedFromUrl != undefined && stateLoadedFromUrl?.flow?.path == $page.params.path) { - sendUserToast('Flow restored from draft') + sendUserToast('Flow restored from draft', false, [ + { + label: 'Restore last saved version instead', + callback: () => { + FlowService.getFlowByPath({ + workspace: $workspaceStore!, + path: $page.params.path + }).then((flow) => { + $flowStore = flow + }) + } + } + ]) flow = stateLoadedFromUrl.flow } else { flow = await FlowService.getFlowByPath({