mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Fix crash when finding CRD's preferred version
Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
parent
085d08cefd
commit
840270622e
@ -153,11 +153,7 @@ export class CustomResourceDefinition extends KubeObject {
|
|||||||
// Prefer the modern `versions` over the legacy `version`
|
// Prefer the modern `versions` over the legacy `version`
|
||||||
if (this.spec.versions) {
|
if (this.spec.versions) {
|
||||||
for (const version of this.spec.versions) {
|
for (const version of this.spec.versions) {
|
||||||
/**
|
if (version.storage) {
|
||||||
* If the version is not served then 404 errors will occur
|
|
||||||
* We should also prefer the storage version
|
|
||||||
*/
|
|
||||||
if (version.served && version.storage) {
|
|
||||||
return version;
|
return version;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -129,6 +129,15 @@ export class CrdResources extends React.Component<Props> {
|
|||||||
}),
|
}),
|
||||||
crdInstance.getAge(),
|
crdInstance.getAge(),
|
||||||
]}
|
]}
|
||||||
|
renderFailedToLoadDetails={() => {
|
||||||
|
if (!crd.getPreferedVersion().served) {
|
||||||
|
return (
|
||||||
|
<p>Prefered version is not served.</p>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return undefined;
|
||||||
|
}}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -97,6 +97,7 @@ export interface ItemListLayoutProps<I extends ItemObject> {
|
|||||||
// other
|
// other
|
||||||
customizeRemoveDialog?: (selectedItems: I[]) => Partial<ConfirmDialogParams>;
|
customizeRemoveDialog?: (selectedItems: I[]) => Partial<ConfirmDialogParams>;
|
||||||
renderFooter?: (parent: ItemListLayout<I>) => React.ReactNode;
|
renderFooter?: (parent: ItemListLayout<I>) => React.ReactNode;
|
||||||
|
renderFailedToLoadDetails?: () => React.ReactNode;
|
||||||
|
|
||||||
filterCallbacks?: ItemsFilters<I>;
|
filterCallbacks?: ItemsFilters<I>;
|
||||||
}
|
}
|
||||||
@ -322,7 +323,7 @@ export class ItemListLayout<I extends ItemObject> extends React.Component<ItemLi
|
|||||||
|
|
||||||
renderNoItems() {
|
renderNoItems() {
|
||||||
if (this.failedToLoad) {
|
if (this.failedToLoad) {
|
||||||
return <NoItems>Failed to load items.</NoItems>;
|
return <NoItems>Failed to load items.{this.props.renderFailedToLoadDetails?.()}</NoItems>;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!this.isReady) {
|
if (!this.isReady) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user