1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

fix bug - deleted namespace does not get auto unselected

Signed-off-by: Yangjun Wang <yangjun.wang@wartsila.com>
This commit is contained in:
Yangjun Wang 2020-09-19 12:47:49 +03:00
parent bddc6b33e3
commit f1ee637122

View File

@ -27,29 +27,32 @@ export class NamespaceStore extends KubeObjectStore<Namespace> {
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<IQueryParams> {
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<Namespace> {
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<Namespace> {
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<Namespace> {
super.reset();
this.contextNs.clear();
}
async remove(item: Namespace) {
await super.remove(item);
this.contextNs.remove(item.getName());
}
}
export const namespaceStore = new NamespaceStore();