From 0c51a7a06ec6551c166ed734f13152a1da306f02 Mon Sep 17 00:00:00 2001 From: Pizzosaure Date: Mon, 26 Feb 2024 15:52:43 +0100 Subject: [PATCH] changes after review --- packages/xo-web/src/xo-app/sr/tab-disks.js | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/packages/xo-web/src/xo-app/sr/tab-disks.js b/packages/xo-web/src/xo-app/sr/tab-disks.js index c4ee435a3c3..caa2025e767 100644 --- a/packages/xo-web/src/xo-app/sr/tab-disks.js +++ b/packages/xo-web/src/xo-app/sr/tab-disks.js @@ -19,7 +19,7 @@ import { Text } from 'editable' import { SizeInput, Toggle } from 'form' import { Container, Row, Col } from 'grid' import { connectStore, formatSize, noop } from 'utils' -import { concat, every, groupBy, isEmpty, map, mapValues, pick, some, sortBy } from 'lodash' +import { concat, every, groupBy, isEmpty, keyBy, map, mapValues, pick, some, sortBy } from 'lodash' import { createCollectionWrapper, createGetObjectsOfType, createSelector, getCheckPermissions } from 'selectors' import { connectVbd, @@ -124,7 +124,8 @@ const COLUMNS = [ vbds: getVbds(state, props), }) })(({ item: vdi, vbds, vms, userData: { vmsSnapshotsBySuspendVdi } }) => { - const vmSnapshot = vmsSnapshotsBySuspendVdi[vdi.uuid]?.[0] + const vmSnapshot = vmsSnapshotsBySuspendVdi[vdi.uuid] + if (vmSnapshot === undefined) { return null } @@ -310,11 +311,13 @@ class NewDisk extends Component { } } -@connectStore(() => ({ - checkPermissions: getCheckPermissions, - vbds: createGetObjectsOfType('VBD'), - vmsSnapshotsBySuspendVdi: createGetObjectsOfType('VM-snapshot').groupBy('suspendVdi'), -})) +@connectStore(() => { + return (state, props) => ({ + checkPermissions: getCheckPermissions(state, props), + vbds: createGetObjectsOfType('VBD')(state, props), + vmsSnapshotsBySuspendVdi: keyBy(createGetObjectsOfType('VM-snapshot')(state, props), 'suspendVdi'), + }) +}) export default class SrDisks extends Component { _closeNewDiskForm = () => this.setState({ newDisk: false })