From 73bf4db82997d7be08fa2c8408b519c8c1e54a59 Mon Sep 17 00:00:00 2001 From: braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Wed, 27 Jul 2022 21:00:12 +0200 Subject: [PATCH] feat(store): add `$destroy` action # What's changed? * add action to remove store from global storage (thus destroying it) --- packages/vue-flow/src/composables/useVueFlow.ts | 3 +++ packages/vue-flow/src/types/store.ts | 3 +++ 2 files changed, 6 insertions(+) diff --git a/packages/vue-flow/src/composables/useVueFlow.ts b/packages/vue-flow/src/composables/useVueFlow.ts index 9c6808b9..3142f289 100644 --- a/packages/vue-flow/src/composables/useVueFlow.ts +++ b/packages/vue-flow/src/composables/useVueFlow.ts @@ -65,6 +65,9 @@ export class Storage { ...toRefs(reactiveState), emits, id, + $destroy: () => { + this.remove(id) + }, } this.set(id, flow) diff --git a/packages/vue-flow/src/types/store.ts b/packages/vue-flow/src/types/store.ts index d382fca0..10d00909 100644 --- a/packages/vue-flow/src/types/store.ts +++ b/packages/vue-flow/src/types/store.ts @@ -189,6 +189,9 @@ export interface Actions extends ViewportFunctions { /** reset state to defaults */ $reset: () => void + + /** remove store instance from global storage and destroy it (will invalidate effect scopes) */ + $destroy: () => void } export interface Getters {