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

Make sure release details are updates when opening details

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
This commit is contained in:
Janne Savolainen 2022-07-19 12:45:03 +03:00
parent 888da01592
commit 6b79fb2136
No known key found for this signature in database
GPG Key ID: 8C6CFB2FFFE8F68A
2 changed files with 13 additions and 5 deletions

View File

@ -6,7 +6,6 @@ import { getInjectable } from "@ogre-tools/injectable";
import { getRelease } from "../../../../common/k8s-api/endpoints/helm-releases.api";
import { asyncComputed } from "@ogre-tools/injectable-react";
import releaseInjectable from "./release.injectable";
import { waitUntilDefined } from "../../../utils";
const releaseDetailsInjectable = getInjectable({
id: "release-details",
@ -15,7 +14,11 @@ const releaseDetailsInjectable = getInjectable({
const releaseComputed = di.inject(releaseInjectable);
return asyncComputed(async () => {
const release = await waitUntilDefined(releaseComputed);
const release = releaseComputed.get();
if (!release) {
return undefined;
}
return getRelease(release.name, release.namespace);
});},

View File

@ -41,6 +41,7 @@ import themeStoreInjectable from "../../../themes/store.injectable";
import type { GetDetailsUrl } from "../../kube-detail-params/get-details-url.injectable";
import apiManagerInjectable from "../../../../common/k8s-api/api-manager/manager.injectable";
import getDetailsUrlInjectable from "../../kube-detail-params/get-details-url.injectable";
import assert from "assert";
export interface ReleaseDetailsProps {
hideDetails(): void;
@ -48,7 +49,7 @@ export interface ReleaseDetailsProps {
interface Dependencies {
release: IComputedValue<HelmRelease | null | undefined>;
releaseDetails: IAsyncComputed<HelmReleaseDetails>;
releaseDetails: IAsyncComputed<HelmReleaseDetails | undefined>;
releaseValues: IAsyncComputed<string>;
updateRelease: (name: string, namespace: string, payload: HelmReleaseUpdatePayload) => Promise<HelmReleaseUpdateDetails>;
createUpgradeChartTab: (release: HelmRelease) => void;
@ -70,7 +71,11 @@ class NonInjectedReleaseDetails extends Component<ReleaseDetailsProps & Dependen
}
@computed get details() {
return this.props.releaseDetails.value.get();
const details = this.props.releaseDetails.value.get();
assert(details);
return details;
}
updateValues = async (release: HelmRelease) => {
@ -207,7 +212,7 @@ class NonInjectedReleaseDetails extends Component<ReleaseDetailsProps & Dependen
}
renderContent(release: HelmRelease) {
if (!this.details) {
if (this.props.releaseDetails.pending.get()) {
return <Spinner center/>;
}