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:
parent
888da01592
commit
6b79fb2136
@ -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);
|
||||
});},
|
||||
|
||||
@ -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/>;
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user