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);
|
this.updateUrl(namespaces);
|
||||||
|
|
||||||
// sync with local-storage & url-search-params
|
// sync with local-storage & url-search-params
|
||||||
reaction(() => this.contextNs.toJS(), namespaces => {
|
reaction(
|
||||||
this.storage.set(namespaces);
|
() => this.contextNs.toJS(),
|
||||||
this.updateUrl(namespaces);
|
(namespaces) => {
|
||||||
});
|
this.storage.set(namespaces);
|
||||||
|
this.updateUrl(namespaces);
|
||||||
|
}
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
getContextParams(): Partial<IQueryParams> {
|
getContextParams(): Partial<IQueryParams> {
|
||||||
return {
|
return {
|
||||||
namespaces: this.contextNs
|
namespaces: this.contextNs,
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
protected updateUrl(namespaces: string[]) {
|
protected updateUrl(namespaces: string[]) {
|
||||||
setQueryParams({ namespaces }, { replace: true })
|
setQueryParams({ namespaces }, { replace: true });
|
||||||
}
|
}
|
||||||
|
|
||||||
protected async loadItems(namespaces?: string[]) {
|
protected async loadItems(namespaces?: string[]) {
|
||||||
if (!isAllowedResource("namespaces")) {
|
if (!isAllowedResource("namespaces")) {
|
||||||
if (namespaces) return namespaces.map(this.getDummyNamespace);
|
if (namespaces) return namespaces.map(this.getDummyNamespace);
|
||||||
return []
|
return [];
|
||||||
}
|
}
|
||||||
if (namespaces) {
|
if (namespaces) {
|
||||||
return Promise.all(namespaces.map(name => this.api.get({ name })))
|
return Promise.all(namespaces.map((name) => this.api.get({ name })));
|
||||||
} else {
|
} else {
|
||||||
return super.loadItems();
|
return super.loadItems();
|
||||||
}
|
}
|
||||||
@ -63,9 +66,9 @@ export class NamespaceStore extends KubeObjectStore<Namespace> {
|
|||||||
name: name,
|
name: name,
|
||||||
uid: "",
|
uid: "",
|
||||||
resourceVersion: "",
|
resourceVersion: "",
|
||||||
selfLink: `/api/v1/namespaces/${name}`
|
selfLink: `/api/v1/namespaces/${name}`,
|
||||||
}
|
},
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
setContext(namespaces: string[]) {
|
setContext(namespaces: string[]) {
|
||||||
@ -74,7 +77,7 @@ export class NamespaceStore extends KubeObjectStore<Namespace> {
|
|||||||
|
|
||||||
hasContext(namespace: string | string[]) {
|
hasContext(namespace: string | string[]) {
|
||||||
const context = Array.isArray(namespace) ? namespace : [namespace];
|
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) {
|
toggleContext(namespace: string) {
|
||||||
@ -87,6 +90,11 @@ export class NamespaceStore extends KubeObjectStore<Namespace> {
|
|||||||
super.reset();
|
super.reset();
|
||||||
this.contextNs.clear();
|
this.contextNs.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async remove(item: Namespace) {
|
||||||
|
await super.remove(item);
|
||||||
|
this.contextNs.remove(item.getName());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export const namespaceStore = new NamespaceStore();
|
export const namespaceStore = new NamespaceStore();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user