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:
parent
bddc6b33e3
commit
f1ee637122
@ -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();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user