From 3bc817f5967a6b85399ae033706ec0ebe86f5509 Mon Sep 17 00:00:00 2001 From: Alex Andreev Date: Wed, 15 Feb 2023 14:56:31 +0300 Subject: [PATCH] Load model within getProps() Signed-off-by: Alex Andreev --- .../release-details/release-details-content.tsx | 14 ++++++++++---- .../release-details-model.injectable.tsx | 3 +-- 2 files changed, 11 insertions(+), 6 deletions(-) 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 48706a28e4..6011f244c3 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 @@ -111,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: await di.inject(releaseDetailsModelInjectable, props.targetRelease), + ...props, + } + }, }); const ResourceGroup = ({ diff --git a/packages/core/src/renderer/components/+helm-releases/release-details/release-details-model/release-details-model.injectable.tsx b/packages/core/src/renderer/components/+helm-releases/release-details/release-details-model/release-details-model.injectable.tsx index b7bbbbede5..80df7a323c 100644 --- a/packages/core/src/renderer/components/+helm-releases/release-details/release-details-model/release-details-model.injectable.tsx +++ b/packages/core/src/renderer/components/+helm-releases/release-details/release-details-model/release-details-model.injectable.tsx @@ -31,7 +31,6 @@ import assert from "assert"; import activeThemeInjectable from "../../../../themes/active.injectable"; import type { ToHelmRelease } from "../../to-helm-release.injectable"; import toHelmReleaseInjectable from "../../to-helm-release.injectable"; -import uniqueId from "lodash/uniqueId"; const releaseDetailsModelInjectable = getInjectable({ id: "release-details-model", @@ -57,7 +56,7 @@ const releaseDetailsModelInjectable = getInjectable({ }, lifecycle: lifecycleEnum.keyedSingleton({ - getInstanceKey: (di, release: TargetHelmRelease) => `${release.namespace}/${release.name}-${uniqueId()}`, + getInstanceKey: (di, release: TargetHelmRelease) => `${release.namespace}/${release.name}`, }), });