From 070bb657408a92f7deaec9c4a7c9073bc8934c73 Mon Sep 17 00:00:00 2001 From: BCedric Date: Mon, 19 Jun 2017 10:22:51 +0200 Subject: [PATCH] use connectStore in VmGroup TabGeneral --- src/xo-app/vm-group/tab-general.js | 80 +++++++++++++++--------------- 1 file changed, 39 insertions(+), 41 deletions(-) diff --git a/src/xo-app/vm-group/tab-general.js b/src/xo-app/vm-group/tab-general.js index c0c4a5017..67a5a06ae 100644 --- a/src/xo-app/vm-group/tab-general.js +++ b/src/xo-app/vm-group/tab-general.js @@ -1,58 +1,56 @@ -import Component from 'base-component' import forEach from 'lodash/forEach' import Icon from 'icon' import reduce from 'lodash/reduce' import React from 'react' import size from 'lodash/size' -import store from 'store' +import { connectStore, formatSize } from 'utils' import { Container, Row, Col } from 'grid' -import { formatSize } from 'utils' import { getObject } from 'selectors' -export default class TabGeneral extends Component { - - _getMemoryDynamicTotal = () => reduce(this.props.vms, (sum, vm) => vm.memory.dynamic[1] + sum, 0) - _getMemoryTotal = () => { +export default connectStore(() => { + const getMemoryTotal = (state, props) => { const vbdIds = new Set() - forEach(this.props.vms, vm => forEach(vm.$VBDs, vbd => vbdIds.add(vbd))) + forEach(props.vms, vm => forEach(vm.$VBDs, vbd => vbdIds.add(vbd))) var sum = 0 vbdIds.forEach(vbdId => { - const vbd = getObject(store.getState(), vbdId) - if (vbd) sum += getObject(store.getState(), vbd.VDI).size + const vbd = getObject(state, vbdId) + if (vbd) sum += getObject(state, vbd.VDI).size }) return sum } - _getNbCPU = () => reduce(this.props.vms, (sum, vm) => vm.CPUs.number + sum, 0) - _addTag = tag => { /* TODO */ } - _removeTag = tag => { /* TODO */ } + const getMemoryDynamicTotal = props => reduce(props.vms, (sum, vm) => vm.memory.dynamic[1] + sum, 0) - render () { - const { vms } = this.props - return ( + const getNbCPU = props => reduce(props.vms, (sum, vm) => vm.CPUs.number + sum, 0) - -
-
- - -

{size(vms)}x

- - -

{this._getNbCPU()}x

- - -

- {formatSize(this._getMemoryDynamicTotal())} -   -

- - -

{formatSize(this._getMemoryTotal())}

- -
-
-
- ) - } -} + return (state, props) => ({ + memoryTotal: getMemoryTotal(state, props), + memoryDynamical: getMemoryDynamicTotal(props), + nbCPU: getNbCPU(props) + }) +})(({ vms, memoryTotal, memoryDynamical, nbCPU }) => { + return ( + +
+
+ + +

{size(vms)}x

+ + +

{nbCPU}x

+ + +

+ {formatSize(memoryDynamical)} +   +

+ + +

{formatSize(memoryTotal)}

+ +
+
+
+ ) +})