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);
});
};