From 9039b42e0c5ca94cdc8ccd685e532e21e42d0e07 Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Thu, 13 Oct 2022 14:43:35 +0200 Subject: [PATCH] feat: add exit event to wizard --- src/lib/layout/wizard.svelte | 3 +- .../overview/platforms/createAndroid.svelte | 2 ++ .../overview/platforms/createApple.svelte | 2 ++ .../overview/platforms/createFlutter.svelte | 2 ++ .../overview/platforms/createWeb.svelte | 2 ++ .../overview/platforms/wizard/store.ts | 29 +++++++++++++++---- 6 files changed, 34 insertions(+), 6 deletions(-) diff --git a/src/lib/layout/wizard.svelte b/src/lib/layout/wizard.svelte index dbaad2b0f..53be0048a 100644 --- a/src/lib/layout/wizard.svelte +++ b/src/lib/layout/wizard.svelte @@ -30,6 +30,7 @@ function handleKeydown(event: KeyboardEvent) { if (event.key === 'Escape' && !showExitModal) { event.preventDefault(); + dispatch('exit'); wizard.hide(); } } @@ -38,6 +39,7 @@ if (confirmExit) { showExitModal = true; } else { + dispatch('exit'); wizard.hide(); } } @@ -52,7 +54,6 @@ async function submit() { if ($wizard.interceptor) { try { - console.log($wizard.interceptor); await $wizard.interceptor(); } catch (error) { addNotification({ diff --git a/src/routes/console/project-[project]/overview/platforms/createAndroid.svelte b/src/routes/console/project-[project]/overview/platforms/createAndroid.svelte index dec7e6af2..de371face 100644 --- a/src/routes/console/project-[project]/overview/platforms/createAndroid.svelte +++ b/src/routes/console/project-[project]/overview/platforms/createAndroid.svelte @@ -9,6 +9,7 @@ import Step2 from './wizard/android/step2.svelte'; import Step3 from './wizard/android/step3.svelte'; import Step4 from './wizard/step4.svelte'; + import { createPlatform } from './wizard/store'; const projectId = $page.params.project; @@ -44,4 +45,5 @@ title="Add an Android Project" steps={stepsComponents} on:finish={create} + on:exit={createPlatform.reset} finalAction="Take me to my Dashboard" /> diff --git a/src/routes/console/project-[project]/overview/platforms/createApple.svelte b/src/routes/console/project-[project]/overview/platforms/createApple.svelte index 1e59063e7..67f98323d 100644 --- a/src/routes/console/project-[project]/overview/platforms/createApple.svelte +++ b/src/routes/console/project-[project]/overview/platforms/createApple.svelte @@ -9,6 +9,7 @@ import Step2 from './wizard/apple/step2.svelte'; import Step3 from './wizard/apple/step3.svelte'; import Step4 from './wizard/step4.svelte'; + import { createPlatform } from './wizard/store'; const projectId = $page.params.project; @@ -44,4 +45,5 @@ title="Add an Apple Project" steps={stepsComponents} on:finish={create} + on:exit={createPlatform.reset} finalAction="Take me to my Dashboard" /> diff --git a/src/routes/console/project-[project]/overview/platforms/createFlutter.svelte b/src/routes/console/project-[project]/overview/platforms/createFlutter.svelte index c19092c95..cc4c624f1 100644 --- a/src/routes/console/project-[project]/overview/platforms/createFlutter.svelte +++ b/src/routes/console/project-[project]/overview/platforms/createFlutter.svelte @@ -9,6 +9,7 @@ import Step2 from './wizard/flutter/step2.svelte'; import Step3 from './wizard/flutter/step3.svelte'; import Step4 from './wizard/step4.svelte'; + import { createPlatform } from './wizard/store'; const projectId = $page.params.project; @@ -44,4 +45,5 @@ title="Add a Flutter Project" steps={stepsComponents} on:finish={create} + on:exit={createPlatform.reset} finalAction="Take me to my Dashboard" /> diff --git a/src/routes/console/project-[project]/overview/platforms/createWeb.svelte b/src/routes/console/project-[project]/overview/platforms/createWeb.svelte index d8a6706eb..ed06d3b47 100644 --- a/src/routes/console/project-[project]/overview/platforms/createWeb.svelte +++ b/src/routes/console/project-[project]/overview/platforms/createWeb.svelte @@ -9,6 +9,7 @@ import Step2 from './wizard/web/step2.svelte'; import Step3 from './wizard/web/step3.svelte'; import Step4 from './wizard/step4.svelte'; + import { createPlatform } from './wizard/store'; const projectId = $page.params.project; @@ -44,4 +45,5 @@ title="Add a Web Project" steps={stepsComponents} on:finish={create} + on:exit={createPlatform.reset} finalAction="Take me to my Dashboard" /> diff --git a/src/routes/console/project-[project]/overview/platforms/wizard/store.ts b/src/routes/console/project-[project]/overview/platforms/wizard/store.ts index 090ec1f2e..7eb9e8b5e 100644 --- a/src/routes/console/project-[project]/overview/platforms/wizard/store.ts +++ b/src/routes/console/project-[project]/overview/platforms/wizard/store.ts @@ -3,11 +3,30 @@ import { sdkForConsole } from '$lib/stores/sdk'; import { cachedStore } from '$lib/helpers/cache'; import type { Models } from '@aw-labs/appwrite-console'; -export const createPlatform = writable>({ - name: null, - hostname: null, - type: null -}); +function createPlatformStore() { + const { subscribe, update, set } = writable>({ + $id: null, + name: null, + hostname: null, + type: null + }); + + return { + subscribe, + update, + set, + reset() { + set({ + $id: null, + name: null, + hostname: null, + type: null + }); + } + }; +} + +export const createPlatform = createPlatformStore(); export const versions = cachedStore< {