diff --git a/src/renderer/components/+apps-releases/release-details/release-details.tsx b/src/renderer/components/+apps-releases/release-details/release-details.tsx index c69b967a6f..77f6ab2d87 100644 --- a/src/renderer/components/+apps-releases/release-details/release-details.tsx +++ b/src/renderer/components/+apps-releases/release-details/release-details.tsx @@ -15,7 +15,7 @@ import { HelmReleaseMenu } from "../release-menu"; import { Drawer, DrawerItem, DrawerTitle } from "../../drawer"; import { Badge } from "../../badge"; import { cssNames, stopPropagation } from "../../../utils"; -import { observer } from "mobx-react"; +import { Observer, observer } from "mobx-react"; import { Spinner } from "../../spinner"; import { Table, TableCell, TableHead, TableRow } from "../../table"; import { Button } from "../../button"; @@ -49,9 +49,7 @@ interface Dependencies { @observer class NonInjectedReleaseDetails extends Component { - @observable saving = false; - @observable error?: string = undefined; private nonSavedValues: string; @@ -68,10 +66,6 @@ class NonInjectedReleaseDetails extends Component { return this.props.releaseDetails.value.get(); } - @computed get values() { - return this.props.releaseValues.value.get(); - } - updateValues = async () => { const name = this.release.getName(); const namespace = this.release.getNs(); @@ -105,36 +99,43 @@ class NonInjectedReleaseDetails extends Component { }; renderValues() { - const { saving } = this; - - const releaseValuesArePending = this.props.releaseValues.pending.get(); - - this.nonSavedValues = this.values; - return ( -
- -
- - this.nonSavedValues = text} - /> -
-
+ + {() => { + const { saving } = this; + + const releaseValuesArePending = + this.props.releaseValues.pending.get(); + + this.nonSavedValues = this.props.releaseValues.value.get(); + + return ( +
+ +
+ + (this.nonSavedValues = text)} + /> +
+
+ ); + }} +
); } @@ -195,14 +196,6 @@ class NonInjectedReleaseDetails extends Component { renderContent() { if (!this.release) return null; - if (this.error) { - return ( -
- {this.error} -
- ); - } - if (!this.details) { return ; } diff --git a/src/renderer/components/+apps-releases/release-details/release.injectable.ts b/src/renderer/components/+apps-releases/release-details/release.injectable.ts index 3319a39bc9..6da2295765 100644 --- a/src/renderer/components/+apps-releases/release-details/release.injectable.ts +++ b/src/renderer/components/+apps-releases/release-details/release.injectable.ts @@ -16,6 +16,10 @@ const releaseInjectable = getInjectable({ return asyncComputed(async () => { const { name, namespace } = releaseRouteParameters.get(); + if (!name || !namespace) { + return null; + } + return releases.value.get().find(matches({ name, namespace })); }); },