From ecc62e4f5415dcace0d53f0a6f7bc8a58ff2e70e Mon Sep 17 00:00:00 2001 From: Pierre Donias Date: Tue, 15 May 2018 17:40:40 +0200 Subject: [PATCH] fix(xo-web/xosan): install packs button condition (#2950) --- .../xo/update-xosan-packs-modal/index.js | 20 +++++++------------ packages/xo-web/src/xo-app/xosan/new-xosan.js | 2 +- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/packages/xo-web/src/common/xo/update-xosan-packs-modal/index.js b/packages/xo-web/src/common/xo/update-xosan-packs-modal/index.js index 92f099d50..48f97fb64 100644 --- a/packages/xo-web/src/common/xo/update-xosan-packs-modal/index.js +++ b/packages/xo-web/src/common/xo/update-xosan-packs-modal/index.js @@ -4,12 +4,7 @@ import Component from 'base-component' import { createGetObjectsOfType, createSelector } from 'selectors' import { map } from 'lodash' import { subscribeResourceCatalog } from 'xo' -import { - addSubscriptions, - isLatestXosanPackInstalled, - connectStore, - findLatestPack, -} from 'utils' +import { isLatestXosanPackInstalled, connectStore, findLatestPack } from 'utils' @connectStore( { @@ -19,20 +14,19 @@ import { }, { withRef: true } ) -@addSubscriptions(() => ({ - catalog: subscribeResourceCatalog, -})) export default class UpdateXosanPacksModal extends Component { - state = { - status: 'checking', + componentDidMount () { + this.componentWillUnmount = subscribeResourceCatalog(catalog => + this.setState({ catalog }) + ) } get value () { - return this.state.pack + return this._getStatus().pack } _getStatus = createSelector( - () => this.props.catalog, + () => this.state.catalog, () => this.props.hosts, (catalog, hosts) => { if (catalog === undefined) { diff --git a/packages/xo-web/src/xo-app/xosan/new-xosan.js b/packages/xo-web/src/xo-app/xosan/new-xosan.js index b543a1ab1..65834f970 100644 --- a/packages/xo-web/src/xo-app/xosan/new-xosan.js +++ b/packages/xo-web/src/xo-app/xosan/new-xosan.js @@ -92,7 +92,7 @@ export default class NewXosan extends Component { const hosts = filter(this.props.hosts, { $pool: pool.id }) const pack = findLatestPack(catalog.xosan, map(hosts, 'version')) - if (isLatestXosanPackInstalled(pack, hosts)) { + if (!isLatestXosanPackInstalled(pack, hosts)) { this.setState({ needsUpdate: true, })