bfg-common 1.5.580 → 1.5.581

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 (57) hide show
  1. package/components/common/vm/actions/add/Add.vue +120 -46
  2. package/components/common/vm/actions/add/New.vue +54 -16
  3. package/components/common/vm/actions/add/Old.vue +55 -16
  4. package/components/common/vm/actions/clone/Clone.vue +116 -44
  5. package/components/common/vm/actions/clone/new/New.vue +50 -14
  6. package/components/common/vm/actions/clone/old/Old.vue +52 -16
  7. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +81 -14
  8. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +56 -7
  9. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +56 -8
  10. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +206 -211
  11. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +120 -225
  12. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +118 -220
  13. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +53 -66
  14. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +159 -139
  15. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuNew.vue +15 -8
  16. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuOld.vue +13 -8
  17. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +75 -62
  18. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +149 -241
  19. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +4 -3
  20. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +3 -2
  21. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +100 -62
  22. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +17 -6
  23. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +3 -6
  24. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerOld.vue +3 -6
  25. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +39 -17
  26. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +5 -6
  27. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +5 -6
  28. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/lib/config/options.ts +4 -4
  29. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +93 -6
  30. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +60 -8
  31. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsOld.vue +58 -8
  32. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptions.vue +69 -5
  33. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +32 -12
  34. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsOld.vue +33 -12
  35. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +132 -114
  36. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +6 -41
  37. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderOld.vue +6 -44
  38. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +23 -8
  39. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +31 -21
  40. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsOld.vue +34 -26
  41. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +34 -28
  42. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/Old.vue +30 -24
  43. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +112 -8
  44. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +3 -3
  45. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/{New.vue → KeymapNew.vue} +6 -6
  46. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/{Old.vue → KeymapOld.vue} +5 -5
  47. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +7 -6
  48. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/Tools.vue +27 -9
  49. package/components/common/vm/actions/common/lib/models/interfaces.ts +25 -58
  50. package/components/common/vm/actions/editSettings/EditSettings.vue +90 -32
  51. package/components/common/vm/actions/editSettings/EditSettingsOld.vue +41 -14
  52. package/components/common/vm/actions/editSettings/new/New.vue +41 -14
  53. package/components/common/vm/actions/lib/models/interfaces.ts +29 -4
  54. package/components/common/vm/actions/lib/utils.ts +36 -64
  55. package/package.json +1 -1
  56. /package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/{New.vue → PasswordNew.vue} +0 -0
  57. /package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/{Old.vue → PasswordOld.vue} +0 -0
@@ -1,25 +1,37 @@
1
1
  <template>
2
2
  <common-vm-actions-common-customize-hardware-new
3
3
  v-if="isNewView"
4
- v-model="model"
4
+ v-model:vm-name="vmName"
5
+ v-model:guest-machine-type="guestMachineType"
6
+ v-model:guest-os-family="guestOsFamily"
7
+ v-model:guest-os-version="guestOsVersion"
5
8
  v-model:selected-nav-item="selectedNavItemLocal"
6
9
  v-model:virtual-hardware-invalid="virtualHardwareInvalid"
7
10
  v-model:vm-options-invalid="vmOptionsInvalid"
8
11
  :error-validation-fields="props.errorValidationFields"
9
12
  :storage="props.storage"
10
13
  :cpu-models="props.cpuModels"
14
+ :hard-disks-for-boot-options="props.hardDisksForBootOptions"
15
+ :cd-dvd-drives-for-boot-options="props.cdDvdDrivesForBootOptions"
16
+ :networks-for-boot-options="props.networksForBootOptions"
17
+ :max-cpus="props.maxCpus"
11
18
  :max-memory="props.maxMemory"
12
19
  :nodes="props.nodes"
13
20
  :files="props.files"
14
21
  :networks-table="props.networksTable"
22
+ :cpu="props.cpu"
23
+ :memory="props.memory"
15
24
  :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
16
25
  :get-datastore-table-func="props.getDatastoreTableFunc"
17
26
  :datastore="props.datastore"
18
27
  :is-datastore-loading="props.isDatastoreLoading"
19
28
  :hard-disks="props.hardDisks"
20
29
  :cd-dvd-drives="props.cdDvdDrives"
30
+ :networks="props.networks"
21
31
  :video-card="props.videoCard"
22
32
  :pci-devices="props.pciDevices"
33
+ :usb-controller="props.usbController"
34
+ :options="props.options"
23
35
  :is-edit="props.isEdit"
24
36
  :is-clone="props.isClone"
25
37
  :state="props.state"
@@ -31,6 +43,8 @@
31
43
  :compute-resource="props.computeResource"
32
44
  :compatibility-info="props.compatibilityInfo"
33
45
  :is-vmt="props.isVmt"
46
+ @change-boot-order="emits('change-boot-order', $event)"
47
+ @send-data="emits('send-data', $event)"
34
48
  @next="emits('next')"
35
49
  @get-storage="emits('get-storage', $event)"
36
50
  @get-folders-or-files="emits('get-folders-or-files', $event)"
@@ -40,28 +54,42 @@
40
54
  @get-networks-table="emits('get-networks-table', $event)"
41
55
  @get-pci-devices="emits('get-pci-devices')"
42
56
  @remove-validation-errors="onRemoveValidationErrors"
57
+ @send-data-virtual-hardware-method="onSendDataVirtualHardwareMethod"
58
+ @send-data-vm-options-method="onSendDataVmOptionsMethod"
43
59
  />
44
60
  <common-vm-actions-common-customize-hardware-old
45
61
  v-else
46
- v-model="model"
62
+ v-model:vm-name="vmName"
63
+ v-model:guest-machine-type="guestMachineType"
64
+ v-model:guest-os-family="guestOsFamily"
65
+ v-model:guest-os-version="guestOsVersion"
47
66
  v-model:selected-nav-item="selectedNavItemLocal"
48
67
  v-model:virtual-hardware-invalid="virtualHardwareInvalid"
49
68
  v-model:vm-options-invalid="vmOptionsInvalid"
50
69
  :error-validation-fields="props.errorValidationFields"
51
70
  :storage="props.storage"
52
71
  :cpu-models="props.cpuModels"
72
+ :hard-disks-for-boot-options="props.hardDisksForBootOptions"
73
+ :cd-dvd-drives-for-boot-options="props.cdDvdDrivesForBootOptions"
74
+ :networks-for-boot-options="props.networksForBootOptions"
75
+ :max-cpus="props.maxCpus"
53
76
  :max-memory="props.maxMemory"
54
77
  :nodes="props.nodes"
55
78
  :files="props.files"
56
79
  :networks-table="props.networksTable"
80
+ :cpu="props.cpu"
81
+ :memory="props.memory"
57
82
  :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
58
83
  :get-datastore-table-func="props.getDatastoreTableFunc"
59
84
  :datastore="props.datastore"
60
85
  :is-datastore-loading="props.isDatastoreLoading"
61
86
  :hard-disks="props.hardDisks"
62
87
  :cd-dvd-drives="props.cdDvdDrives"
88
+ :networks="props.networks"
63
89
  :video-card="props.videoCard"
64
90
  :pci-devices="props.pciDevices"
91
+ :usb-controller="props.usbController"
92
+ :options="props.options"
65
93
  :is-edit="props.isEdit"
66
94
  :is-clone="props.isClone"
67
95
  :state="props.state"
@@ -72,6 +100,8 @@
72
100
  :errors="errors"
73
101
  :compute-resource="props.computeResource"
74
102
  :is-vmt="props.isVmt"
103
+ @change-boot-order="emits('change-boot-order', $event)"
104
+ @send-data="emits('send-data', $event)"
75
105
  @next="emits('next')"
76
106
  @get-storage="emits('get-storage', $event)"
77
107
  @get-folders-or-files="emits('get-folders-or-files', $event)"
@@ -81,6 +111,8 @@
81
111
  @get-networks-table="emits('get-networks-table', $event)"
82
112
  @get-pci-devices="emits('get-pci-devices')"
83
113
  @remove-validation-errors="onRemoveValidationErrors"
114
+ @send-data-virtual-hardware-method="onSendDataVirtualHardwareMethod"
115
+ @send-data-vm-options-method="onSendDataVmOptionsMethod"
84
116
  />
85
117
  </template>
86
118
 
@@ -97,30 +129,42 @@ import type {
97
129
  UI_I_SendDataNewHardDisk,
98
130
  UI_I_SendDataNewNetwork,
99
131
  UI_I_SendDataVideoCard,
132
+ UI_I_SendDataVirtualHardware,
100
133
  } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
134
+ import type { UI_I_SendDataCustomizeHardware } from '~/components/common/vm/actions/common/customizeHardware/lib/models/interfaces'
135
+ import type { UI_I_SendDataVmoptions } from '~/components/common/vm/actions/common/customizeHardware/vmoptions/lib/models/interfaces'
101
136
  import type { UI_T_SelectedNavItem } from '~/components/common/vm/actions/common/lib/models/types'
102
137
  import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
103
138
  import type { UI_I_Localization } from '~/lib/models/interfaces'
104
139
  import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
140
+ import type { UI_T_ChangeBootOrder } from '~/components/common/vm/actions/lib/models/types'
105
141
  import type {
142
+ API_UI_I_VmEditCpu,
143
+ API_UI_I_VmEditMemory,
106
144
  UI_I_MediatedDevice,
107
145
  UI_I_PciDevice,
108
146
  } from '~/lib/models/store/vm/interfaces'
109
147
  import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
110
148
  import type { UI_I_CollapseNavItem } from '~/components/atoms/collapse/lib/models/interfaces'
111
- import type { UI_I_CreateVmData } from '~/components/common/vm/actions/common/lib/models/interfaces'
112
149
  import { navItemsFunc } from '~/components/common/vm/actions/common/customizeHardware/lib/config/navItems'
113
150
 
114
- const model = defineModel<UI_I_CreateVmData>({ required: true })
151
+ const vmName = defineModel<string>('vmName', { required: true })
152
+ const guestMachineType = defineModel<UI_I_OptionItem | null>(
153
+ 'guest-machine-type'
154
+ )
155
+ const guestOsFamily = defineModel<UI_I_OptionItem | null>('guestOsFamily')
156
+ const guestOsVersion = defineModel<UI_I_OptionItem | null>('guestOsVersion')
157
+
115
158
  const props = withDefaults(
116
159
  defineProps<{
117
160
  errorValidationFields: UI_I_ErrorValidationField[]
118
161
  storage: UI_I_DatastoreTableItem | null
119
162
  cpuModels: UI_I_OptionItem[]
120
- // hardDisksForBootOptions: UI_I_SendDataNewHardDisk[] | null // TODO remove everywhere
121
- // cdDvdDrivesForBootOptions: UI_I_SendDataNewCdDvdDrive[] | null // TODO remove everywhere
122
- // networksForBootOptions: UI_I_SendDataNewNetwork[] | null // TODO remove everywhere
163
+ hardDisksForBootOptions: UI_I_SendDataNewHardDisk[] | null
164
+ cdDvdDrivesForBootOptions: UI_I_SendDataNewCdDvdDrive[] | null
165
+ networksForBootOptions: UI_I_SendDataNewNetwork[] | null
123
166
  customizeHardwareSubmit: null | Function
167
+ maxCpus: number
124
168
  maxMemory: number
125
169
  selectedNavItem: UI_T_SelectedNavItem
126
170
  nodes: UI_I_FileTreeNode[]
@@ -128,17 +172,17 @@ const props = withDefaults(
128
172
  networksTable: UI_I_NetworkTableItem[]
129
173
  datastore: UI_I_DatastoreTableItem[]
130
174
  isDatastoreLoading: boolean
131
- // cpu?: API_UI_I_VmEditCpu // TODO remove everywhere
132
- // memory?: API_UI_I_VmEditMemory // TODO remove everywhere
175
+ cpu?: API_UI_I_VmEditCpu
176
+ memory?: API_UI_I_VmEditMemory
133
177
  vmCpuHelpTextSecond?: string
134
178
  getDatastoreTableFunc?: (payload: UI_I_TablePayload) => Promise<void>
135
179
  hardDisks?: UI_I_SendDataNewHardDisk[] | null
136
180
  cdDvdDrives?: UI_I_SendDataNewCdDvdDrive[] | null
137
- // networks?: UI_I_SendDataNewNetwork[] | null // TODO remove everywhere
181
+ networks?: UI_I_SendDataNewNetwork[] | null
138
182
  videoCard?: UI_I_SendDataVideoCard
139
183
  pciDevices?: UI_I_SendDataNewPciDevice[]
140
- // usbController?: string // TODO remove everywhere
141
- // options?: UI_I_SendDataVmoptions // TODO remove everywhere
184
+ usbController?: string
185
+ options?: UI_I_SendDataVmoptions
142
186
  isEdit?: boolean
143
187
  isClone?: boolean
144
188
  state?: string | number
@@ -150,6 +194,8 @@ const props = withDefaults(
150
194
  isVmt?: boolean
151
195
  }>(),
152
196
  {
197
+ cpu: undefined,
198
+ memory: undefined,
153
199
  vmCpuHelpTextSecond: undefined,
154
200
  getDatastoreTableFunc: undefined,
155
201
  hardDisks: undefined,
@@ -157,6 +203,8 @@ const props = withDefaults(
157
203
  networks: undefined,
158
204
  videoCard: undefined,
159
205
  pciDevices: undefined,
206
+ usbController: undefined,
207
+ options: undefined,
160
208
  isEdit: false,
161
209
  isClone: false,
162
210
  state: undefined,
@@ -169,8 +217,8 @@ const props = withDefaults(
169
217
  }
170
218
  )
171
219
  const emits = defineEmits<{
172
- // (event: 'change-boot-order', value: UI_T_ChangeBootOrder): void // TODO remove everywhere
173
- // (event: 'send-data', value: UI_I_SendDataCustomizeHardware): void // TODO remove everywhere
220
+ (event: 'change-boot-order', value: UI_T_ChangeBootOrder): void
221
+ (event: 'send-data', value: UI_I_SendDataCustomizeHardware): void
174
222
  (event: 'next'): void
175
223
  (event: 'get-storage', value: UI_I_TablePayload): void
176
224
  (event: 'get-folders-or-files', value: UI_I_FolderOrFileTreePayload): void
@@ -197,6 +245,25 @@ watch(
197
245
  }
198
246
  )
199
247
 
248
+ const sendDataVirtualHardware = ref<UI_I_SendDataVirtualHardware | null>(null)
249
+ const onSendDataVirtualHardwareMethod = (
250
+ data: UI_I_SendDataVirtualHardware
251
+ ): void => {
252
+ sendDataVirtualHardware.value = data
253
+ sendData()
254
+ }
255
+ const sendDataVmOptions = ref<UI_I_SendDataVmoptions | null>(null)
256
+ const onSendDataVmOptionsMethod = (data: UI_I_SendDataVmoptions): void => {
257
+ sendDataVmOptions.value = data
258
+ sendData()
259
+ }
260
+ const sendData = (): void => {
261
+ emits('send-data', {
262
+ virtualHardware: sendDataVirtualHardware.value,
263
+ vmOptions: sendDataVmOptions.value,
264
+ })
265
+ }
266
+
200
267
  watch(
201
268
  () => props.customizeHardwareSubmit,
202
269
  (newValue) => {
@@ -25,17 +25,22 @@
25
25
 
26
26
  <div v-show="selectedNavItem === 0">
27
27
  <common-vm-actions-common-customize-hardware-virtual-hardware
28
- :vm-name="model.name"
28
+ :vm-name="vmName"
29
29
  :storage="props.storage"
30
+ :max-cpus="props.maxCpus"
30
31
  :max-memory="props.maxMemory"
31
32
  :cpu-models="props.cpuModels"
33
+ :cpu="props.cpu"
34
+ :memory="props.memory"
32
35
  :is-edit="props.isEdit"
33
36
  :is-clone="props.isClone"
34
37
  :state="props.state"
35
38
  :hard-disks="props.hardDisks"
36
39
  :cd-dvd-drives="props.cdDvdDrives"
40
+ :networks="props.networks"
37
41
  :networks-table="props.networksTable"
38
42
  :video-card="props.videoCard"
43
+ :usb-controller="props.usbController"
39
44
  :pci-devices="props.pciDevices"
40
45
  :nodes="props.nodes"
41
46
  :files="props.files"
@@ -47,9 +52,10 @@
47
52
  :passthrough-devices="props.passthroughDevices"
48
53
  :mediated-devices="props.mediatedDevices"
49
54
  :project="props.project"
50
- :guest-machine-type="model.machine_type"
55
+ :guest-machine-type="guestMachineType"
51
56
  :computeResource="props.computeResource"
52
57
  :compatibility-info="props.compatibilityInfo"
58
+ @send-data="emits('send-data-virtual-hardware-method', $event)"
53
59
  @get-storage="emits('get-storage', $event)"
54
60
  @get-folders-or-files="emits('get-folders-or-files', $event)"
55
61
  @get-active-device-child="emits('get-active-device-child', $event)"
@@ -62,13 +68,22 @@
62
68
  </div>
63
69
  <div v-show="selectedNavItem === 1">
64
70
  <common-vm-actions-common-customize-hardware-vmoptions
65
- v-model="model"
71
+ v-model:vm-name="vmName"
72
+ v-model:guest-machine-type="guestMachineType"
73
+ v-model:guest-os-family="guestOsFamily"
74
+ v-model:guest-os-version="guestOsVersion"
75
+ :hard-disks="props.hardDisksForBootOptions"
76
+ :cd-dvd-drives="props.cdDvdDrivesForBootOptions"
77
+ :networks="props.networksForBootOptions"
78
+ :options="props.options"
66
79
  :is-edit="props.isEdit"
67
80
  :is-clone="props.isClone"
68
81
  :error-validation-fields="props.errorValidationFields"
69
82
  :state="props.state"
70
83
  :compatibility-info="props.compatibilityInfo"
71
84
  :is-vmt="props.isVmt"
85
+ @change-boot-order="emits('change-boot-order', $event)"
86
+ @send-data="emits('send-data-vm-options-method', $event)"
72
87
  @invalid="vmOptionsInvalid = $event"
73
88
  @remove-error-by-title="emits('remove-error-by-title', $event)"
74
89
  />
@@ -88,25 +103,39 @@ import type {
88
103
  UI_I_SendDataNewPciDevice,
89
104
  UI_I_SendDataNewCdDvdDrive,
90
105
  UI_I_SendDataNewHardDisk,
106
+ UI_I_SendDataNewNetwork,
91
107
  UI_I_SendDataVideoCard,
108
+ UI_I_SendDataVirtualHardware,
92
109
  } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
110
+ import type { UI_I_SendDataVmoptions } from '~/components/common/vm/actions/common/customizeHardware/vmoptions/lib/models/interfaces'
93
111
  import type { UI_T_SelectedNavItem } from '~/components/common/vm/actions/common/lib/models/types'
94
112
  import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
95
113
  import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
114
+ import type { UI_T_ChangeBootOrder } from '~/components/common/vm/actions/lib/models/types'
96
115
  import type {
116
+ API_UI_I_VmEditCpu,
117
+ API_UI_I_VmEditMemory,
97
118
  UI_I_MediatedDevice,
98
119
  UI_I_PciDevice,
99
120
  } from '~/lib/models/store/vm/interfaces'
100
121
  import type { UI_I_Localization } from '~/lib/models/interfaces'
101
122
  import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
102
- import type { UI_I_CreateVmData } from '~/components/common/vm/actions/common/lib/models/interfaces'
103
123
  import { navItemsNewViewFunc } from '~/components/common/vm/actions/common/customizeHardware/lib/config/navItems'
104
124
 
105
- const model = defineModel<UI_I_CreateVmData>({ required: true })
106
-
125
+ const vmName = defineModel<string>('vmName', { required: true })
126
+ const guestOsFamily = defineModel<UI_I_OptionItem | null>('guestOsFamily', {
127
+ required: true,
128
+ })
129
+ const guestOsVersion = defineModel<UI_I_OptionItem | null>('guestOsVersion', {
130
+ required: true,
131
+ })
107
132
  const selectedNavItem = defineModel<UI_T_SelectedNavItem>('selectedNavItem', {
108
133
  required: true,
109
134
  })
135
+ const guestMachineType = defineModel<UI_I_OptionItem | null>(
136
+ 'guestMachineType',
137
+ { required: true }
138
+ )
110
139
  const vmOptionsInvalid = defineModel<string[]>('vmOptionsInvalid', {
111
140
  required: true,
112
141
  })
@@ -120,6 +149,7 @@ const props = withDefaults(
120
149
  files: UI_I_FileTreeNode[]
121
150
  errors: string[]
122
151
  storage: UI_I_DatastoreTableItem | null
152
+ maxCpus: number
123
153
  navItems: UI_I_TabItem[]
124
154
  cpuModels: UI_I_OptionItem[]
125
155
  maxMemory: number
@@ -127,14 +157,22 @@ const props = withDefaults(
127
157
  isDatastoreLoading: boolean
128
158
  networksTable: UI_I_NetworkTableItem[]
129
159
  errorValidationFields: UI_I_ErrorValidationField[]
160
+ networksForBootOptions: UI_I_SendDataNewNetwork[] | null
161
+ hardDisksForBootOptions: UI_I_SendDataNewHardDisk[] | null
162
+ cdDvdDrivesForBootOptions: UI_I_SendDataNewCdDvdDrive[] | null
163
+ cpu?: API_UI_I_VmEditCpu
130
164
  state?: string | number
131
165
  isEdit?: boolean
166
+ memory?: API_UI_I_VmEditMemory
132
167
  project?: UI_T_Project
133
168
  isClone?: boolean
169
+ options?: UI_I_SendDataVmoptions
170
+ networks?: UI_I_SendDataNewNetwork[] | null
134
171
  videoCard?: UI_I_SendDataVideoCard
135
172
  hardDisks?: UI_I_SendDataNewHardDisk[] | null
136
173
  pciDevices?: UI_I_SendDataNewPciDevice[]
137
174
  cdDvdDrives?: UI_I_SendDataNewCdDvdDrive[] | null
175
+ usbController?: string
138
176
  passthroughDevices?: UI_I_PciDevice[]
139
177
  mediatedDevices?: UI_I_MediatedDevice[]
140
178
  vmCpuHelpTextSecond?: string
@@ -144,21 +182,26 @@ const props = withDefaults(
144
182
  isVmt?: boolean
145
183
  }>(),
146
184
  {
185
+ cpu: undefined,
147
186
  state: undefined,
148
187
  isEdit: undefined,
188
+ memory: undefined,
149
189
  project: undefined,
150
190
  isClone: undefined,
191
+ options: undefined,
192
+ networks: undefined,
151
193
  videoCard: undefined,
152
194
  hardDisks: undefined,
153
195
  pciDevices: undefined,
154
196
  cdDvdDrives: undefined,
197
+ usbController: undefined,
155
198
  passthroughDevices: undefined,
156
199
  mediatedDevices: undefined,
157
200
  vmCpuHelpTextSecond: undefined,
158
201
  getDatastoreTableFunc: undefined,
159
202
  computeResource: undefined,
160
203
  compatibilityInfo: undefined,
161
- isVmt: false,
204
+ isVmt: undefined,
162
205
  }
163
206
  )
164
207
  const emits = defineEmits<{
@@ -170,6 +213,12 @@ const emits = defineEmits<{
170
213
  (event: 'remove-error-by-title', value: string): void
171
214
  (event: 'get-active-device-child', value: UI_I_FileTreeNode): void
172
215
  (event: 'remove-validation-errors'): void
216
+ (event: 'send-data-vm-options-method', value: UI_I_SendDataVmoptions): void
217
+ (
218
+ event: 'send-data-virtual-hardware-method',
219
+ value: UI_I_SendDataVirtualHardware
220
+ ): void
221
+ (event: 'change-boot-order', value: UI_T_ChangeBootOrder): void
173
222
  }>()
174
223
 
175
224
  const localization = computed<UI_I_Localization>(() => useLocal())
@@ -11,18 +11,22 @@
11
11
 
12
12
  <div v-show="selectedNavItem === 0">
13
13
  <common-vm-actions-common-customize-hardware-virtual-hardware
14
- v-model="model"
15
- :vm-name="model.name"
14
+ :vm-name="vmName"
16
15
  :storage="props.storage"
16
+ :max-cpus="props.maxCpus"
17
17
  :max-memory="props.maxMemory"
18
18
  :cpu-models="props.cpuModels"
19
+ :cpu="props.cpu"
20
+ :memory="props.memory"
19
21
  :is-edit="props.isEdit"
20
22
  :is-clone="props.isClone"
21
23
  :state="props.state"
22
24
  :hard-disks="props.hardDisks"
23
25
  :cd-dvd-drives="props.cdDvdDrives"
26
+ :networks="props.networks"
24
27
  :networks-table="props.networksTable"
25
28
  :video-card="props.videoCard"
29
+ :usb-controller="props.usbController"
26
30
  :pci-devices="props.pciDevices"
27
31
  :nodes="props.nodes"
28
32
  :files="props.files"
@@ -34,8 +38,9 @@
34
38
  :passthrough-devices="props.passthroughDevices"
35
39
  :mediated-devices="props.mediatedDevices"
36
40
  :project="props.project"
37
- :guest-machine-type="model.machine_type"
41
+ :guest-machine-type="guestMachineType"
38
42
  :compute-resource="props.computeResource"
43
+ @send-data="emits('send-data-virtual-hardware-method', $event)"
39
44
  @get-storage="emits('get-storage', $event)"
40
45
  @get-folders-or-files="emits('get-folders-or-files', $event)"
41
46
  @get-active-device-child="emits('get-active-device-child', $event)"
@@ -48,12 +53,21 @@
48
53
  </div>
49
54
  <div v-show="selectedNavItem === 1">
50
55
  <common-vm-actions-common-customize-hardware-vmoptions
51
- v-model="model"
56
+ v-model:vm-name="vmName"
57
+ v-model:guest-machine-type="guestMachineType"
58
+ v-model:guest-os-family="guestOsFamily"
59
+ v-model:guest-os-version="guestOsVersion"
60
+ :hard-disks="props.hardDisksForBootOptions"
61
+ :cd-dvd-drives="props.cdDvdDrivesForBootOptions"
62
+ :networks="props.networksForBootOptions"
63
+ :options="props.options"
52
64
  :is-edit="props.isEdit"
53
65
  :is-clone="props.isClone"
54
66
  :error-validation-fields="props.errorValidationFields"
55
67
  :state="props.state"
56
68
  :is-vmt="props.isVmt"
69
+ @change-boot-order="emits('change-boot-order', $event)"
70
+ @send-data="emits('send-data-vm-options-method', $event)"
57
71
  @invalid="vmOptionsInvalid = $event"
58
72
  @remove-error-by-title="emits('remove-error-by-title', $event)"
59
73
  />
@@ -73,23 +87,37 @@ import type {
73
87
  UI_I_SendDataNewPciDevice,
74
88
  UI_I_SendDataNewCdDvdDrive,
75
89
  UI_I_SendDataNewHardDisk,
90
+ UI_I_SendDataNewNetwork,
76
91
  UI_I_SendDataVideoCard,
92
+ UI_I_SendDataVirtualHardware,
77
93
  } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
94
+ import type { UI_I_SendDataVmoptions } from '~/components/common/vm/actions/common/customizeHardware/vmoptions/lib/models/interfaces'
78
95
  import type { UI_T_SelectedNavItem } from '~/components/common/vm/actions/common/lib/models/types'
79
96
  import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
80
97
  import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
98
+ import type { UI_T_ChangeBootOrder } from '~/components/common/vm/actions/lib/models/types'
81
99
  import type {
100
+ API_UI_I_VmEditCpu,
101
+ API_UI_I_VmEditMemory,
82
102
  UI_I_MediatedDevice,
83
103
  UI_I_PciDevice,
84
104
  } from '~/lib/models/store/vm/interfaces'
85
105
  import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
86
- import type { UI_I_CreateVmData } from '~/components/common/vm/actions/common/lib/models/interfaces'
87
-
88
- const model = defineModel<UI_I_CreateVmData>({ required: true })
89
106
 
107
+ const vmName = defineModel<string>('vmName', { required: true })
108
+ const guestOsFamily = defineModel<UI_I_OptionItem | null>('guestOsFamily', {
109
+ required: true,
110
+ })
111
+ const guestOsVersion = defineModel<UI_I_OptionItem | null>('guestOsVersion', {
112
+ required: true,
113
+ })
90
114
  const selectedNavItem = defineModel<UI_T_SelectedNavItem>('selectedNavItem', {
91
115
  required: true,
92
116
  })
117
+ const guestMachineType = defineModel<UI_I_OptionItem | null>(
118
+ 'guestMachineType',
119
+ { required: true }
120
+ )
93
121
  const vmOptionsInvalid = defineModel<string[]>('vmOptionsInvalid', {
94
122
  required: true,
95
123
  })
@@ -103,6 +131,7 @@ const props = withDefaults(
103
131
  files: UI_I_FileTreeNode[]
104
132
  errors: string[]
105
133
  storage: UI_I_DatastoreTableItem | null
134
+ maxCpus: number
106
135
  navItems: UI_I_TabItem[]
107
136
  cpuModels: UI_I_OptionItem[]
108
137
  maxMemory: number
@@ -110,14 +139,22 @@ const props = withDefaults(
110
139
  isDatastoreLoading: boolean
111
140
  networksTable: UI_I_NetworkTableItem[]
112
141
  errorValidationFields: UI_I_ErrorValidationField[]
142
+ networksForBootOptions: UI_I_SendDataNewNetwork[] | null
143
+ hardDisksForBootOptions: UI_I_SendDataNewHardDisk[] | null
144
+ cdDvdDrivesForBootOptions: UI_I_SendDataNewCdDvdDrive[] | null
145
+ cpu?: API_UI_I_VmEditCpu
113
146
  state?: string | number
114
147
  isEdit?: boolean
148
+ memory?: API_UI_I_VmEditMemory
115
149
  project?: UI_T_Project
116
150
  isClone?: boolean
151
+ options?: UI_I_SendDataVmoptions
152
+ networks?: UI_I_SendDataNewNetwork[] | null
117
153
  videoCard?: UI_I_SendDataVideoCard
118
154
  hardDisks?: UI_I_SendDataNewHardDisk[] | null
119
155
  pciDevices?: UI_I_SendDataNewPciDevice[]
120
156
  cdDvdDrives?: UI_I_SendDataNewCdDvdDrive[] | null
157
+ usbController?: string
121
158
  passthroughDevices?: UI_I_PciDevice[]
122
159
  mediatedDevices?: UI_I_MediatedDevice[]
123
160
  vmCpuHelpTextSecond?: string
@@ -126,20 +163,25 @@ const props = withDefaults(
126
163
  isVmt?: boolean
127
164
  }>(),
128
165
  {
166
+ cpu: undefined,
129
167
  state: undefined,
130
168
  isEdit: undefined,
169
+ memory: undefined,
131
170
  project: undefined,
132
171
  isClone: undefined,
172
+ options: undefined,
173
+ networks: undefined,
133
174
  videoCard: undefined,
134
175
  hardDisks: undefined,
135
176
  pciDevices: undefined,
136
177
  cdDvdDrives: undefined,
178
+ usbController: undefined,
137
179
  passthroughDevices: undefined,
138
180
  mediatedDevices: undefined,
139
181
  vmCpuHelpTextSecond: undefined,
140
182
  getDatastoreTableFunc: undefined,
141
183
  computeResource: undefined,
142
- isVmt: false,
184
+ isVmt: undefined,
143
185
  }
144
186
  )
145
187
  const emits = defineEmits<{
@@ -151,6 +193,12 @@ const emits = defineEmits<{
151
193
  (event: 'remove-error-by-title', value: string): void
152
194
  (event: 'get-active-device-child', value: UI_I_FileTreeNode): void
153
195
  (event: 'remove-validation-errors'): void
196
+ (event: 'send-data-vm-options-method', value: UI_I_SendDataVmoptions): void
197
+ (
198
+ event: 'send-data-virtual-hardware-method',
199
+ value: UI_I_SendDataVirtualHardware
200
+ ): void
201
+ (event: 'change-boot-order', value: UI_T_ChangeBootOrder): void
154
202
  }>()
155
203
  </script>
156
204