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 { getRelease } from "../../../../common/k8s-api/endpoints/helm-releases.api";
|
||||||
import { asyncComputed } from "@ogre-tools/injectable-react";
|
import { asyncComputed } from "@ogre-tools/injectable-react";
|
||||||
import releaseInjectable from "./release.injectable";
|
import releaseInjectable from "./release.injectable";
|
||||||
import { waitUntilDefined } from "../../../utils";
|
|
||||||
|
|
||||||
const releaseDetailsInjectable = getInjectable({
|
const releaseDetailsInjectable = getInjectable({
|
||||||
id: "release-details",
|
id: "release-details",
|
||||||
@ -15,7 +14,11 @@ const releaseDetailsInjectable = getInjectable({
|
|||||||
const releaseComputed = di.inject(releaseInjectable);
|
const releaseComputed = di.inject(releaseInjectable);
|
||||||
|
|
||||||
return asyncComputed(async () => {
|
return asyncComputed(async () => {
|
||||||
const release = await waitUntilDefined(releaseComputed);
|
const release = releaseComputed.get();
|
||||||
|
|
||||||
|
if (!release) {
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
|
||||||
return getRelease(release.name, release.namespace);
|
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 type { GetDetailsUrl } from "../../kube-detail-params/get-details-url.injectable";
|
||||||
import apiManagerInjectable from "../../../../common/k8s-api/api-manager/manager.injectable";
|
import apiManagerInjectable from "../../../../common/k8s-api/api-manager/manager.injectable";
|
||||||
import getDetailsUrlInjectable from "../../kube-detail-params/get-details-url.injectable";
|
import getDetailsUrlInjectable from "../../kube-detail-params/get-details-url.injectable";
|
||||||
|
import assert from "assert";
|
||||||
|
|
||||||
export interface ReleaseDetailsProps {
|
export interface ReleaseDetailsProps {
|
||||||
hideDetails(): void;
|
hideDetails(): void;
|
||||||
@ -48,7 +49,7 @@ export interface ReleaseDetailsProps {
|
|||||||
|
|
||||||
interface Dependencies {
|
interface Dependencies {
|
||||||
release: IComputedValue<HelmRelease | null | undefined>;
|
release: IComputedValue<HelmRelease | null | undefined>;
|
||||||
releaseDetails: IAsyncComputed<HelmReleaseDetails>;
|
releaseDetails: IAsyncComputed<HelmReleaseDetails | undefined>;
|
||||||
releaseValues: IAsyncComputed<string>;
|
releaseValues: IAsyncComputed<string>;
|
||||||
updateRelease: (name: string, namespace: string, payload: HelmReleaseUpdatePayload) => Promise<HelmReleaseUpdateDetails>;
|
updateRelease: (name: string, namespace: string, payload: HelmReleaseUpdatePayload) => Promise<HelmReleaseUpdateDetails>;
|
||||||
createUpgradeChartTab: (release: HelmRelease) => void;
|
createUpgradeChartTab: (release: HelmRelease) => void;
|
||||||
@ -70,7 +71,11 @@ class NonInjectedReleaseDetails extends Component<ReleaseDetailsProps & Dependen
|
|||||||
}
|
}
|
||||||
|
|
||||||
@computed get details() {
|
@computed get details() {
|
||||||
return this.props.releaseDetails.value.get();
|
const details = this.props.releaseDetails.value.get();
|
||||||
|
|
||||||
|
assert(details);
|
||||||
|
|
||||||
|
return details;
|
||||||
}
|
}
|
||||||
|
|
||||||
updateValues = async (release: HelmRelease) => {
|
updateValues = async (release: HelmRelease) => {
|
||||||
@ -207,7 +212,7 @@ class NonInjectedReleaseDetails extends Component<ReleaseDetailsProps & Dependen
|
|||||||
}
|
}
|
||||||
|
|
||||||
renderContent(release: HelmRelease) {
|
renderContent(release: HelmRelease) {
|
||||||
if (!this.details) {
|
if (this.props.releaseDetails.pending.get()) {
|
||||||
return <Spinner center/>;
|
return <Spinner center/>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user