expose vmGroup, remove subscription
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user