expose vmGroup, remove subscription

This commit is contained in:
BCedric
2017-06-09 15:55:26 +02:00
parent a711231955
commit 3834e2ef91
2 changed files with 16 additions and 20 deletions

View File

@@ -51,8 +51,7 @@ import {
startVms,
stopHosts,
stopVms,
subscribeServers,
subscribeVmGroups
subscribeServers
} from 'xo'
import { Container, Row, Col } from 'grid'
import {
@@ -222,8 +221,7 @@ const TYPES = {
const DEFAULT_TYPE = 'VM'
@addSubscriptions({
servers: subscribeServers,
vmGroups: subscribeVmGroups
servers: subscribeServers
})
@connectStore(() => {
const noServersConnected = invoke(
@@ -235,12 +233,9 @@ const DEFAULT_TYPE = 'VM'
return (state, props) => {
const type = getType(state, props)
return {
areObjectsFetched: areObjectsFetched(state, props),
items: type === 'VM-group'
? props.vmGroups
: getObjectsByType(state, props),
items: getObjectsByType(state, props),
noServersConnected: noServersConnected(state, props),
type,
user: getUser(state, props)

View File

@@ -5,7 +5,6 @@ import { NavLink, NavTabs } from 'nav'
import Page from '../page'
import React, { cloneElement } from 'react'
import {
addSubscriptions,
connectStore,
routes
} from 'utils'
@@ -16,7 +15,6 @@ import {
import { Container, Row, Col } from 'grid'
import { createGetObject } from 'selectors'
import { Text } from 'editable'
import { subscribeVmGroups } from 'xo'
import TabAdvanced from './tab-advanced'
import TabGeneral from './tab-general'
@@ -31,19 +29,22 @@ import VmGroupActionBar from './action-bar'
management: TabManagement,
stats: TabStats
})
@addSubscriptions({
vmGroups: subscribeVmGroups
})
@connectStore(() => {
const getVmGroup = createGetObject()
return (state, props) => {
const vmGroup = getVmGroup(state, props)
if (!vmGroup) {
return {}
}
const vms = {}
forEach(vmGroup.$VMs, vmId => {
const getVM = createGetObject(() => vmId)
vms[vmId] = getVM(state, props)
})
return {
vmGroup: props.vmGroups ? props.vmGroups[props.params.id] : undefined,
vms: props.vmGroups
? props.vmGroups[props.params.id].VMs.map(vmId => {
const getVM = createGetObject(() => vmId)
return getVM(state, props)
})
: undefined
vmGroup,
vms
}
}
})