bfg-common 1.4.776 → 1.4.778

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  2. package/components/common/browse/lib/models/interfaces.ts +5 -5
  3. package/components/common/diagramMain/Header.vue +211 -211
  4. package/components/common/diagramMain/adapter/AdapterItems.vue +61 -61
  5. package/components/common/diagramMain/lib/config/initial.ts +50 -50
  6. package/components/common/diagramMain/lib/models/types.ts +21 -21
  7. package/components/common/diagramMain/lib/utils/utils.ts +331 -331
  8. package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +330 -330
  9. package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +40 -40
  10. package/components/common/diagramMain/modals/editSettings/EditSettings.vue +497 -497
  11. package/components/common/diagramMain/modals/editSettings/EditSettingsModal.vue +812 -812
  12. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +214 -214
  13. package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +189 -189
  14. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +163 -163
  15. package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +175 -175
  16. package/components/common/diagramMain/modals/editSettings/tabs/TrafficShaping.vue +398 -398
  17. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +346 -346
  18. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +205 -205
  19. package/components/common/diagramMain/modals/lib/config/diagramConfig.ts +23 -23
  20. package/components/common/diagramMain/modals/lib/config/initial.ts +180 -180
  21. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
  22. package/components/common/diagramMain/modals/lib/mappers/mappers.ts +87 -87
  23. package/components/common/diagramMain/modals/lib/utils/index.ts +24 -24
  24. package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
  25. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +169 -169
  26. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +159 -159
  27. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +14 -14
  28. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +137 -137
  29. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
  30. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
  31. package/components/common/diagramMain/port/Ports.vue +47 -47
  32. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +2 -2
  33. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +27 -14
  34. package/package.json +1 -1
  35. package/public/spice-console-minify/run.min.js +4 -4
@@ -1,14 +1,14 @@
1
- export const isIntegerNumberInRange = (
2
- value: number | string | undefined,
3
- down: number,
4
- up: number
5
- ): boolean =>
6
- isNaN(Number(value)) ||
7
- Number(value) < down ||
8
- Number(value) > up ||
9
- Number(value) !== Math.round(Number(value))
10
-
11
- export const checkVlanId = (vlanId: string): boolean =>
12
- vlanId !== 'None (0)' &&
13
- vlanId !== 'All (4095)' &&
14
- (isIntegerNumberInRange(vlanId, 0, 4095) || vlanId === '')
1
+ export const isIntegerNumberInRange = (
2
+ value: number | string | undefined,
3
+ down: number,
4
+ up: number
5
+ ): boolean =>
6
+ isNaN(Number(value)) ||
7
+ Number(value) < down ||
8
+ Number(value) > up ||
9
+ Number(value) !== Math.round(Number(value))
10
+
11
+ export const checkVlanId = (vlanId: string): boolean =>
12
+ vlanId !== 'None (0)' &&
13
+ vlanId !== 'All (4095)' &&
14
+ (isIntegerNumberInRange(vlanId, 0, 4095) || vlanId === '')
@@ -1,137 +1,137 @@
1
- import type { UI_I_ConnectionSettings } from '~/components/common/wizards/network/add/lib/models/interfaces'
2
- import type { UI_I_MigrateVmkernelAdapterEmits } from '~/components/common/diagramMain/lib/models/interfaces'
3
- import type { UI_I_Localization } from '~/lib/models/interfaces'
4
- import type {
5
- UI_I_AsyncCheckReturn,
6
- UI_I_ValidationReturn,
7
- UI_I_WizardStep,
8
- } from '~/components/atoms/wizard/lib/models/interfaces'
9
- import { UI_E_MigrationValidationFields } from '~/components/common/diagramMain/lib/models/enums'
10
- import type Wizard from '~/components/atoms/wizard/lib/utils/utils'
11
- import { checkVlanId } from '~/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common'
12
-
13
- export const validateVlanIdConnectionSettingsLocal = (
14
- localization: UI_I_Localization,
15
- data: UI_I_ConnectionSettings,
16
- wizard: Wizard
17
- ): void => {
18
- wizard.validateFieldLocal(
19
- 1,
20
- UI_E_MigrationValidationFields.CONNECTION_SETTINGS_VLAN,
21
- checkVlanId(data.vlanId),
22
- localization.common.vlanIdInvalidMessage,
23
- localization.common.vlanIdInvalidMessage
24
- )
25
- }
26
-
27
- export const validateNetworkConnectionSettingsLocal = (
28
- localization: UI_I_Localization,
29
- data: UI_I_ConnectionSettings,
30
- wizard: Wizard
31
- ): void => {
32
- wizard.validateFieldLocal(
33
- 1,
34
- UI_E_MigrationValidationFields.CONNECTION_SETTINGS_NETWORK,
35
- data.networkLabel === '',
36
- localization.common.networkLabelInvalidMessage,
37
- localization.common.networkLabelInvalidMessage
38
- )
39
- }
40
-
41
- export const checkConnectionSettingsSync = (
42
- localization: UI_I_Localization,
43
- data: UI_I_ConnectionSettings,
44
- wizard: Wizard,
45
- value: UI_I_WizardStep[]
46
- ): UI_I_ValidationReturn => {
47
- let stepHasError = false
48
-
49
- if (checkVlanId(data.vlanId)) {
50
- stepHasError = wizard.setValidation(
51
- 1,
52
- UI_E_MigrationValidationFields.CONNECTION_SETTINGS_VLAN,
53
- {
54
- fieldMessage: localization.common.vlanIdInvalidMessage,
55
- alertMessage: localization.common.vlanIdInvalidMessage,
56
- }
57
- )
58
- } else if (
59
- wizard.hasMessage(
60
- 1,
61
- UI_E_MigrationValidationFields.CONNECTION_SETTINGS_VLAN
62
- )
63
- ) {
64
- value = wizard.removeValidation(
65
- 1,
66
- UI_E_MigrationValidationFields.CONNECTION_SETTINGS_VLAN,
67
- value
68
- )
69
- }
70
-
71
- return {
72
- newValue: value,
73
- stepHasError,
74
- }
75
- }
76
-
77
- const checkNetwork = async (
78
- label: string,
79
- localization: UI_I_Localization,
80
- emits: UI_I_MigrateVmkernelAdapterEmits
81
- ): Promise<UI_I_AsyncCheckReturn> => {
82
- if (label) {
83
- return new Promise((resolve, _reject) =>
84
- emits('check-network-label', label, (message: string) => {
85
- if (message === '') {
86
- resolve({
87
- isValid: true,
88
- message: '',
89
- })
90
- }
91
-
92
- if (message !== '') {
93
- resolve({
94
- isValid: false,
95
- message,
96
- })
97
- }
98
- })
99
- )
100
- } else {
101
- return {
102
- isValid: false,
103
- message: localization.common.networkLabelInvalidMessage,
104
- }
105
- }
106
- }
107
-
108
- export const checkNetworkAsync = async (
109
- value: UI_I_WizardStep[],
110
- label: string,
111
- stepId: number,
112
- fieldName: string,
113
- emits: UI_I_MigrateVmkernelAdapterEmits,
114
- localization: UI_I_Localization,
115
- wizard: Wizard
116
- ): Promise<UI_I_ValidationReturn> => {
117
- let stepHasError = false
118
-
119
- const labelValidation: {
120
- isValid: boolean
121
- message: string
122
- } = await checkNetwork(label, localization, emits)
123
-
124
- if (!labelValidation.isValid) {
125
- stepHasError = wizard.setValidation(stepId, fieldName, {
126
- fieldMessage: labelValidation.message,
127
- alertMessage: labelValidation.message,
128
- })
129
- } else if (wizard.hasMessage(stepId, fieldName)) {
130
- value = wizard.removeValidation(stepId, fieldName, value)
131
- }
132
-
133
- return {
134
- newValue: value,
135
- stepHasError,
136
- }
137
- }
1
+ import type { UI_I_ConnectionSettings } from '~/components/common/wizards/network/add/lib/models/interfaces'
2
+ import type { UI_I_MigrateVmkernelAdapterEmits } from '~/components/common/diagramMain/lib/models/interfaces'
3
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
4
+ import type {
5
+ UI_I_AsyncCheckReturn,
6
+ UI_I_ValidationReturn,
7
+ UI_I_WizardStep,
8
+ } from '~/components/atoms/wizard/lib/models/interfaces'
9
+ import { UI_E_MigrationValidationFields } from '~/components/common/diagramMain/lib/models/enums'
10
+ import type Wizard from '~/components/atoms/wizard/lib/utils/utils'
11
+ import { checkVlanId } from '~/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common'
12
+
13
+ export const validateVlanIdConnectionSettingsLocal = (
14
+ localization: UI_I_Localization,
15
+ data: UI_I_ConnectionSettings,
16
+ wizard: Wizard
17
+ ): void => {
18
+ wizard.validateFieldLocal(
19
+ 1,
20
+ UI_E_MigrationValidationFields.CONNECTION_SETTINGS_VLAN,
21
+ checkVlanId(data.vlanId),
22
+ localization.common.vlanIdInvalidMessage,
23
+ localization.common.vlanIdInvalidMessage
24
+ )
25
+ }
26
+
27
+ export const validateNetworkConnectionSettingsLocal = (
28
+ localization: UI_I_Localization,
29
+ data: UI_I_ConnectionSettings,
30
+ wizard: Wizard
31
+ ): void => {
32
+ wizard.validateFieldLocal(
33
+ 1,
34
+ UI_E_MigrationValidationFields.CONNECTION_SETTINGS_NETWORK,
35
+ data.networkLabel === '',
36
+ localization.common.networkLabelInvalidMessage,
37
+ localization.common.networkLabelInvalidMessage
38
+ )
39
+ }
40
+
41
+ export const checkConnectionSettingsSync = (
42
+ localization: UI_I_Localization,
43
+ data: UI_I_ConnectionSettings,
44
+ wizard: Wizard,
45
+ value: UI_I_WizardStep[]
46
+ ): UI_I_ValidationReturn => {
47
+ let stepHasError = false
48
+
49
+ if (checkVlanId(data.vlanId)) {
50
+ stepHasError = wizard.setValidation(
51
+ 1,
52
+ UI_E_MigrationValidationFields.CONNECTION_SETTINGS_VLAN,
53
+ {
54
+ fieldMessage: localization.common.vlanIdInvalidMessage,
55
+ alertMessage: localization.common.vlanIdInvalidMessage,
56
+ }
57
+ )
58
+ } else if (
59
+ wizard.hasMessage(
60
+ 1,
61
+ UI_E_MigrationValidationFields.CONNECTION_SETTINGS_VLAN
62
+ )
63
+ ) {
64
+ value = wizard.removeValidation(
65
+ 1,
66
+ UI_E_MigrationValidationFields.CONNECTION_SETTINGS_VLAN,
67
+ value
68
+ )
69
+ }
70
+
71
+ return {
72
+ newValue: value,
73
+ stepHasError,
74
+ }
75
+ }
76
+
77
+ const checkNetwork = async (
78
+ label: string,
79
+ localization: UI_I_Localization,
80
+ emits: UI_I_MigrateVmkernelAdapterEmits
81
+ ): Promise<UI_I_AsyncCheckReturn> => {
82
+ if (label) {
83
+ return new Promise((resolve, _reject) =>
84
+ emits('check-network-label', label, (message: string) => {
85
+ if (message === '') {
86
+ resolve({
87
+ isValid: true,
88
+ message: '',
89
+ })
90
+ }
91
+
92
+ if (message !== '') {
93
+ resolve({
94
+ isValid: false,
95
+ message,
96
+ })
97
+ }
98
+ })
99
+ )
100
+ } else {
101
+ return {
102
+ isValid: false,
103
+ message: localization.common.networkLabelInvalidMessage,
104
+ }
105
+ }
106
+ }
107
+
108
+ export const checkNetworkAsync = async (
109
+ value: UI_I_WizardStep[],
110
+ label: string,
111
+ stepId: number,
112
+ fieldName: string,
113
+ emits: UI_I_MigrateVmkernelAdapterEmits,
114
+ localization: UI_I_Localization,
115
+ wizard: Wizard
116
+ ): Promise<UI_I_ValidationReturn> => {
117
+ let stepHasError = false
118
+
119
+ const labelValidation: {
120
+ isValid: boolean
121
+ message: string
122
+ } = await checkNetwork(label, localization, emits)
123
+
124
+ if (!labelValidation.isValid) {
125
+ stepHasError = wizard.setValidation(stepId, fieldName, {
126
+ fieldMessage: labelValidation.message,
127
+ alertMessage: labelValidation.message,
128
+ })
129
+ } else if (wizard.hasMessage(stepId, fieldName)) {
130
+ value = wizard.removeValidation(stepId, fieldName, value)
131
+ }
132
+
133
+ return {
134
+ newValue: value,
135
+ stepHasError,
136
+ }
137
+ }
@@ -1,52 +1,52 @@
1
- import type { UI_I_SelectVmkernelAdapter } from '~/components/common/wizards/network/add/lib/models/interfaces'
2
- import type { UI_I_Localization } from '~/lib/models/interfaces'
3
- import type { UI_I_WizardStep, UI_I_ValidationReturn } from '~/components/atoms/wizard/lib/models/interfaces'
4
- import { UI_E_MigrationValidationFields } from '~/components/common/diagramMain/lib/models/enums'
5
- import type Wizard from '~/components/atoms/wizard/lib/utils/utils'
6
-
7
- export const validateSelectedVmLocal = (
8
- localization: UI_I_Localization,
9
- data: UI_I_SelectVmkernelAdapter,
10
- wizard: Wizard
11
- ): void => {
12
- wizard.validateFieldLocal(
13
- 0,
14
- 'vm',
15
- data.vm === '',
16
- '',
17
- localization.common.noVmKernelNetworkAdapterSelectedForMigration
18
- )
19
- }
20
-
21
- export const checkSelectedVmSync = (
22
- localization: UI_I_Localization,
23
- data: UI_I_SelectVmkernelAdapter,
24
- wizard: Wizard,
25
- value: UI_I_WizardStep[]
26
- ): UI_I_ValidationReturn => {
27
- let stepHasError = false
28
-
29
- if (data.vm === '') {
30
- stepHasError = wizard.setValidation(
31
- 0,
32
- UI_E_MigrationValidationFields.SELECT_ADAPTER_VM,
33
- {
34
- fieldMessage: '',
35
- alertMessage: localization.common.noVmKernelNetworkAdapterSelectedForMigration,
36
- }
37
- )
38
- } else if (
39
- wizard.hasMessage(0, UI_E_MigrationValidationFields.SELECT_ADAPTER_VM)
40
- ) {
41
- value = wizard.removeValidation(
42
- 0,
43
- UI_E_MigrationValidationFields.SELECT_ADAPTER_VM,
44
- value
45
- )
46
- }
47
-
48
- return {
49
- newValue: value,
50
- stepHasError,
51
- }
52
- }
1
+ import type { UI_I_SelectVmkernelAdapter } from '~/components/common/wizards/network/add/lib/models/interfaces'
2
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
3
+ import type { UI_I_WizardStep, UI_I_ValidationReturn } from '~/components/atoms/wizard/lib/models/interfaces'
4
+ import { UI_E_MigrationValidationFields } from '~/components/common/diagramMain/lib/models/enums'
5
+ import type Wizard from '~/components/atoms/wizard/lib/utils/utils'
6
+
7
+ export const validateSelectedVmLocal = (
8
+ localization: UI_I_Localization,
9
+ data: UI_I_SelectVmkernelAdapter,
10
+ wizard: Wizard
11
+ ): void => {
12
+ wizard.validateFieldLocal(
13
+ 0,
14
+ 'vm',
15
+ data.vm === '',
16
+ '',
17
+ localization.common.noVmKernelNetworkAdapterSelectedForMigration
18
+ )
19
+ }
20
+
21
+ export const checkSelectedVmSync = (
22
+ localization: UI_I_Localization,
23
+ data: UI_I_SelectVmkernelAdapter,
24
+ wizard: Wizard,
25
+ value: UI_I_WizardStep[]
26
+ ): UI_I_ValidationReturn => {
27
+ let stepHasError = false
28
+
29
+ if (data.vm === '') {
30
+ stepHasError = wizard.setValidation(
31
+ 0,
32
+ UI_E_MigrationValidationFields.SELECT_ADAPTER_VM,
33
+ {
34
+ fieldMessage: '',
35
+ alertMessage: localization.common.noVmKernelNetworkAdapterSelectedForMigration,
36
+ }
37
+ )
38
+ } else if (
39
+ wizard.hasMessage(0, UI_E_MigrationValidationFields.SELECT_ADAPTER_VM)
40
+ ) {
41
+ value = wizard.removeValidation(
42
+ 0,
43
+ UI_E_MigrationValidationFields.SELECT_ADAPTER_VM,
44
+ value
45
+ )
46
+ }
47
+
48
+ return {
49
+ newValue: value,
50
+ stepHasError,
51
+ }
52
+ }
@@ -1,19 +1,19 @@
1
- import {
2
- validateVlanIdConnectionSettingsLocal,
3
- validateNetworkConnectionSettingsLocal,
4
- checkConnectionSettingsSync,
5
- checkNetworkAsync,
6
- } from '~/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings'
7
- import {
8
- checkSelectedVmSync,
9
- validateSelectedVmLocal,
10
- } from '~/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter'
11
-
12
- export {
13
- validateVlanIdConnectionSettingsLocal,
14
- validateNetworkConnectionSettingsLocal,
15
- checkConnectionSettingsSync,
16
- checkNetworkAsync,
17
- checkSelectedVmSync,
18
- validateSelectedVmLocal,
19
- }
1
+ import {
2
+ validateVlanIdConnectionSettingsLocal,
3
+ validateNetworkConnectionSettingsLocal,
4
+ checkConnectionSettingsSync,
5
+ checkNetworkAsync,
6
+ } from '~/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings'
7
+ import {
8
+ checkSelectedVmSync,
9
+ validateSelectedVmLocal,
10
+ } from '~/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter'
11
+
12
+ export {
13
+ validateVlanIdConnectionSettingsLocal,
14
+ validateNetworkConnectionSettingsLocal,
15
+ checkConnectionSettingsSync,
16
+ checkNetworkAsync,
17
+ checkSelectedVmSync,
18
+ validateSelectedVmLocal,
19
+ }
@@ -1,47 +1,47 @@
1
- <template>
2
- <g>
3
- <template v-if="props.network.toggle">
4
- <template v-for="port in props.network.ports" :key="port.id">
5
- <common-diagram-main-port
6
- :network="props.network"
7
- :port="port"
8
- :is-dark-mode="props.isDarkMode"
9
- :selected-port="props.selectedPort"
10
- :selected-adapter="props.selectedAdapter"
11
- @select-port="onSelectPort"
12
- @show-modal="onShowModal"
13
- />
14
- </template>
15
- </template>
16
- </g>
17
- </template>
18
-
19
- <script setup lang="ts">
20
- import type {
21
- UI_I_ModalsInitialData,
22
- UI_I_NetworkFullWithPositions,
23
- UI_I_SelectedAdapter,
24
- UI_I_SelectedPort,
25
- } from '~/components/common/diagramMain/lib/models/interfaces'
26
-
27
- const props = defineProps<{
28
- network: UI_I_NetworkFullWithPositions
29
- selectedPort: UI_I_SelectedPort
30
- selectedAdapter: UI_I_SelectedAdapter
31
- isDarkMode: boolean
32
- }>()
33
-
34
- const emits = defineEmits<{
35
- (event: 'select-port', networkId: string, portId: string): void
36
- (
37
- event: 'show-modal',
38
- value: string,
39
- properties?: UI_I_ModalsInitialData
40
- ): void
41
- }>()
42
-
43
- const onSelectPort = (networkId: string, portId: string) =>
44
- emits('select-port', networkId, portId)
45
- const onShowModal = (value: string, properties?: UI_I_ModalsInitialData) =>
46
- emits('show-modal', value, properties)
47
- </script>
1
+ <template>
2
+ <g>
3
+ <template v-if="props.network.toggle">
4
+ <template v-for="port in props.network.ports" :key="port.id">
5
+ <common-diagram-main-port
6
+ :network="props.network"
7
+ :port="port"
8
+ :is-dark-mode="props.isDarkMode"
9
+ :selected-port="props.selectedPort"
10
+ :selected-adapter="props.selectedAdapter"
11
+ @select-port="onSelectPort"
12
+ @show-modal="onShowModal"
13
+ />
14
+ </template>
15
+ </template>
16
+ </g>
17
+ </template>
18
+
19
+ <script setup lang="ts">
20
+ import type {
21
+ UI_I_ModalsInitialData,
22
+ UI_I_NetworkFullWithPositions,
23
+ UI_I_SelectedAdapter,
24
+ UI_I_SelectedPort,
25
+ } from '~/components/common/diagramMain/lib/models/interfaces'
26
+
27
+ const props = defineProps<{
28
+ network: UI_I_NetworkFullWithPositions
29
+ selectedPort: UI_I_SelectedPort
30
+ selectedAdapter: UI_I_SelectedAdapter
31
+ isDarkMode: boolean
32
+ }>()
33
+
34
+ const emits = defineEmits<{
35
+ (event: 'select-port', networkId: string, portId: string): void
36
+ (
37
+ event: 'show-modal',
38
+ value: string,
39
+ properties?: UI_I_ModalsInitialData
40
+ ): void
41
+ }>()
42
+
43
+ const onSelectPort = (networkId: string, portId: string) =>
44
+ emits('select-port', networkId, portId)
45
+ const onShowModal = (value: string, properties?: UI_I_ModalsInitialData) =>
46
+ emits('show-modal', value, properties)
47
+ </script>
@@ -466,8 +466,8 @@ const onRollBackCdDvdDrive = (index: number): void => {
466
466
  const defaultPciDevice: UI_I_SendDataNewPciDevice = {
467
467
  address: '',
468
468
  vendor_name: '',
469
- class_name: 'cdrom',
470
- device_name: 'cdrom',
469
+ class_name: '',
470
+ device_name: '',
471
471
  }
472
472
  const pciDevicesIndex = ref<number[]>([0])
473
473
  const pciDevicesType = ref<('new' | 'edit' | 'removed')[]>(['new'])
@@ -82,11 +82,14 @@ const label = computed<string>(() => {
82
82
  })
83
83
 
84
84
  const selectedLabel = computed<string>(() => {
85
+ if (props.pciDevice.address) {
86
+ return `${props.pciDevice.address} | ${props.pciDevice.device_name}`
87
+ }
85
88
  switch (selectedType.value.value) {
86
89
  case 'direct_path_io':
87
- return `${directPathIo.value.address} | ${directPathIo.value.device_name}`
90
+ return `${directPathIo.value?.address} | ${directPathIo.value?.device_name}`
88
91
  case 'dynamic_direct_path_io':
89
- return dynamicDirectPathIo.value
92
+ return `${dynamicDirectPathIo.value?.address} | ${dynamicDirectPathIo.value?.device_name}`
90
93
  default:
91
94
  return nvidiaGridProfile.value?.text
92
95
  }
@@ -103,9 +106,8 @@ pciDeviceTypeOptions.value.forEach((option) => {
103
106
  if (!option.disabled) selectedType.value = option
104
107
  })
105
108
 
106
- const directPathIo = ref<UI_I_PciDevice>(props.passthroughDevices[0])
107
- const dynamicDirectPathIo = ref<string>('')
108
- // const nvidiaGridProfile = ref<any>(props.mediatedDevices[0]?.value)
109
+ const directPathIo = ref<string>('') /// TODO
110
+ const dynamicDirectPathIo = ref<UI_I_PciDevice>(props.passthroughDevices[0])
109
111
  const nvidiaGridProfile = ref<UI_I_Option | null>(null)
110
112
 
111
113
  watch(
@@ -116,7 +118,18 @@ watch(
116
118
  // )
117
119
  // passthroughDevice && (directPathIo.value = passthroughDevice) // Todo change
118
120
  if (newValue1) {
119
- directPathIo.value = newValue1
121
+ // directPathIo.value = newValue1
122
+ const passthroughDevice = props.passthroughDevices.find((device) => {
123
+ return (
124
+ device.class_name + '_' + device.address ===
125
+ newValue1.class_name + '_' + newValue1.address
126
+ )
127
+ })
128
+ if (passthroughDevice) {
129
+ dynamicDirectPathIo.value = passthroughDevice
130
+ }
131
+
132
+
120
133
  const mediatedDevice = props.mediatedDevices.find((device) => {
121
134
  return (
122
135
  device.profile_name + '_' + device.root_device ===
@@ -146,14 +159,6 @@ const sendData = computed<UI_I_SendDataNewPciDevice>(() => {
146
159
  )
147
160
  switch (selectedType.value.value) {
148
161
  case 'direct_path_io':
149
- return {
150
- address: directPathIo.value.address,
151
- vendor_name: directPathIo.value.vendor_name,
152
- class_name: directPathIo.value.class_name,
153
- device_name: directPathIo.value.device_name,
154
- mediated_device: false,
155
- }
156
- case 'dynamic_direct_path_io':
157
162
  return {
158
163
  address: '',
159
164
  vendor_name: '',
@@ -161,6 +166,14 @@ const sendData = computed<UI_I_SendDataNewPciDevice>(() => {
161
166
  device_name: '',
162
167
  mediated_device: false,
163
168
  }
169
+ case 'dynamic_direct_path_io':
170
+ return {
171
+ address: dynamicDirectPathIo.value?.address || '',
172
+ vendor_name: dynamicDirectPathIo.value?.vendor_name || '',
173
+ class_name: dynamicDirectPathIo.value?.class_name || '',
174
+ device_name: dynamicDirectPathIo.value?.device_name || '',
175
+ mediated_device: false,
176
+ }
164
177
  case 'nvidia_grid':
165
178
  return {
166
179
  address: nvidia?.root_device || '',
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bfg-common",
3
3
  "private": false,
4
- "version": "1.4.776",
4
+ "version": "1.4.778",
5
5
  "scripts": {
6
6
  "build": "nuxt build",
7
7
  "dev": "nuxt dev --port=3002",