diff --git a/packages/core/src/renderer/components/+helm-releases/release-details/release-details-content.tsx b/packages/core/src/renderer/components/+helm-releases/release-details/release-details-content.tsx index dc627f1dc0..1f664ddffe 100644 --- a/packages/core/src/renderer/components/+helm-releases/release-details/release-details-content.tsx +++ b/packages/core/src/renderer/components/+helm-releases/release-details/release-details-content.tsx @@ -5,7 +5,7 @@ import "./release-details.scss"; -import React, { useEffect } from "react"; +import React from "react"; import { Link } from "react-router-dom"; import { DrawerItem, DrawerTitle } from "../../drawer"; @@ -35,10 +35,6 @@ interface Dependencies { const NonInjectedReleaseDetailsContent = observer(({ model }: Dependencies & ReleaseDetailsContentProps) => { const loadingError = model.loadingError.get(); - useEffect(() => { - model.load(); - }, []); - if (loadingError) { return (
@@ -115,10 +111,16 @@ const NonInjectedReleaseDetailsContent = observer(({ model }: Dependencies & Rel export const ReleaseDetailsContent = withInjectables(NonInjectedReleaseDetailsContent, { getPlaceholder: () => , - getProps: async (di, props) => ({ - model: await di.inject(releaseDetailsModelInjectable, props.targetRelease), - ...props, - }), + getProps: async (di, props) => { + const model = await di.inject(releaseDetailsModelInjectable, props.targetRelease); + + await model.load(); + + return { + model, + ...props, + }; + }, }); const ResourceGroup = ({ diff --git a/packages/core/src/renderer/components/+helm-releases/release-details/release-details-drawer-toolbar.tsx b/packages/core/src/renderer/components/+helm-releases/release-details/release-details-drawer-toolbar.tsx index cb7d5009ec..15db2f1bf1 100644 --- a/packages/core/src/renderer/components/+helm-releases/release-details/release-details-drawer-toolbar.tsx +++ b/packages/core/src/renderer/components/+helm-releases/release-details/release-details-drawer-toolbar.tsx @@ -28,7 +28,7 @@ const NonInjectedReleaseDetailsDrawerToolbar = observer(({ model, navigateToHelmReleases, }: Dependencies & ReleaseDetailsDrawerProps) => ( - model.loadingError.get() + model.loadingError.get() || !model.configuration.isLoaded.get() ? null : ( ; readonly isLoading: IObservableValue; + readonly isLoaded: IObservableValue; readonly isSaving: IObservableValue; onChange: (value: string) => void; save: () => Promise; @@ -101,6 +100,7 @@ export class ReleaseDetailsModel { readonly configuration: ConfigurationInput = { nonSavedValue: observable.box(""), isLoading: observable.box(false), + isLoaded: observable.box(false), isSaving: observable.box(false), onChange: action((value: string) => { @@ -201,6 +201,7 @@ export class ReleaseDetailsModel { runInAction(() => { this.configuration.isLoading.set(false); + this.configuration.isLoaded.set(true); this.configuration.nonSavedValue.set(configuration); }); };