diff --git a/src/renderer/components/+namespaces/namespace.store.ts b/src/renderer/components/+namespaces/namespace.store.ts index 624c823a52..eccc2c9a9c 100644 --- a/src/renderer/components/+namespaces/namespace.store.ts +++ b/src/renderer/components/+namespaces/namespace.store.ts @@ -27,29 +27,32 @@ export class NamespaceStore extends KubeObjectStore { this.updateUrl(namespaces); // sync with local-storage & url-search-params - reaction(() => this.contextNs.toJS(), namespaces => { - this.storage.set(namespaces); - this.updateUrl(namespaces); - }); + reaction( + () => this.contextNs.toJS(), + (namespaces) => { + this.storage.set(namespaces); + this.updateUrl(namespaces); + } + ); } getContextParams(): Partial { return { - namespaces: this.contextNs - } + namespaces: this.contextNs, + }; } protected updateUrl(namespaces: string[]) { - setQueryParams({ namespaces }, { replace: true }) + setQueryParams({ namespaces }, { replace: true }); } protected async loadItems(namespaces?: string[]) { if (!isAllowedResource("namespaces")) { if (namespaces) return namespaces.map(this.getDummyNamespace); - return [] + return []; } if (namespaces) { - return Promise.all(namespaces.map(name => this.api.get({ name }))) + return Promise.all(namespaces.map((name) => this.api.get({ name }))); } else { return super.loadItems(); } @@ -63,9 +66,9 @@ export class NamespaceStore extends KubeObjectStore { name: name, uid: "", resourceVersion: "", - selfLink: `/api/v1/namespaces/${name}` - } - }) + selfLink: `/api/v1/namespaces/${name}`, + }, + }); } setContext(namespaces: string[]) { @@ -74,7 +77,7 @@ export class NamespaceStore extends KubeObjectStore { hasContext(namespace: string | string[]) { const context = Array.isArray(namespace) ? namespace : [namespace]; - return context.every(namespace => this.contextNs.includes(namespace)); + return context.every((namespace) => this.contextNs.includes(namespace)); } toggleContext(namespace: string) { @@ -87,6 +90,11 @@ export class NamespaceStore extends KubeObjectStore { super.reset(); this.contextNs.clear(); } + + async remove(item: Namespace) { + await super.remove(item); + this.contextNs.remove(item.getName()); + } } export const namespaceStore = new NamespaceStore();