bfg-common 1.5.568 → 1.5.569

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 (78) hide show
  1. package/assets/localization/local_be.json +29 -6
  2. package/assets/localization/local_en.json +29 -6
  3. package/assets/localization/local_hy.json +29 -6
  4. package/assets/localization/local_kk.json +29 -6
  5. package/assets/localization/local_ru.json +29 -6
  6. package/assets/localization/local_zh.json +30 -7
  7. package/components/common/diagramMain/DiagramMain.vue +1 -1
  8. package/components/common/modals/confirmByInput/ConfirmByInput.vue +9 -1
  9. package/components/common/modals/confirmByInput/ConfirmByInputNew.vue +7 -2
  10. package/components/common/monitor/overview/filters/lib/config/filterOptions.ts +1 -0
  11. package/components/common/pages/backups/modals/createBackup/CreateBackup.vue +1 -1
  12. package/components/common/pages/backups/modals/createBackup/New.vue +8 -2
  13. package/components/common/pages/backups/modals/createBackup/lib/config/steps.ts +2 -1
  14. package/components/common/pages/backups/modals/restore/Restore.vue +9 -5
  15. package/components/common/pages/backups/modals/restore/RestoreNew.vue +13 -3
  16. package/components/common/pages/backups/modals/restore/RestoreOld.vue +6 -18
  17. package/components/common/pages/scheduledTasks/table/Table.vue +1 -1
  18. package/components/common/vm/actions/add/Add.vue +951 -877
  19. package/components/common/vm/actions/add/New.vue +54 -16
  20. package/components/common/vm/actions/add/Old.vue +55 -16
  21. package/components/common/vm/actions/clone/Clone.vue +5 -5
  22. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +81 -14
  23. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +56 -7
  24. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +56 -8
  25. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +206 -163
  26. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +120 -223
  27. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +118 -218
  28. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +53 -65
  29. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +159 -139
  30. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuNew.vue +15 -8
  31. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuOld.vue +13 -8
  32. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +75 -62
  33. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +148 -237
  34. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +4 -3
  35. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +3 -2
  36. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +96 -58
  37. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +17 -6
  38. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +3 -6
  39. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerOld.vue +3 -6
  40. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +39 -17
  41. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +5 -6
  42. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +5 -6
  43. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/lib/config/options.ts +4 -4
  44. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +93 -6
  45. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +62 -8
  46. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsOld.vue +60 -8
  47. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptions.vue +69 -5
  48. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +32 -12
  49. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsOld.vue +33 -12
  50. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +132 -114
  51. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +6 -41
  52. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderOld.vue +6 -44
  53. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +23 -8
  54. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +31 -21
  55. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsOld.vue +34 -26
  56. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +34 -28
  57. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/Old.vue +30 -24
  58. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +112 -8
  59. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +3 -3
  60. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/{New.vue → KeymapNew.vue} +6 -6
  61. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/{Old.vue → KeymapOld.vue} +5 -5
  62. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +7 -6
  63. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/Tools.vue +38 -4
  64. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/ToolsNew.vue +26 -7
  65. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/ToolsOld.vue +50 -24
  66. package/components/common/vm/actions/common/lib/models/interfaces.ts +25 -57
  67. package/components/common/vm/actions/common/select/os/New.vue +19 -0
  68. package/components/common/vm/actions/common/select/os/Old.vue +34 -0
  69. package/components/common/vm/actions/common/select/os/Os.vue +25 -0
  70. package/components/common/vm/actions/editSettings/EditSettings.vue +35 -21
  71. package/components/common/vm/actions/editSettings/EditSettingsOld.vue +41 -14
  72. package/components/common/vm/actions/editSettings/new/New.vue +41 -14
  73. package/components/common/vm/actions/lib/models/interfaces.ts +29 -4
  74. package/components/common/vm/actions/lib/utils.ts +36 -64
  75. package/package.json +3 -1
  76. package/store/tasks/mappers/recentTasks.ts +4 -0
  77. /package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/{New.vue → PasswordNew.vue} +0 -0
  78. /package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/{Old.vue → PasswordOld.vue} +0 -0
@@ -66,7 +66,7 @@
66
66
  </template>
67
67
  <template #content>
68
68
  <common-wizards-common-steps-name
69
- v-model:name="model.name"
69
+ v-model:name="vmForm.name"
70
70
  v-model:location="location"
71
71
  :show="
72
72
  selectedStep.id === dynamicSteps.selectName ||
@@ -118,7 +118,7 @@
118
118
  <common-wizards-common-steps-compute-resource
119
119
  v-if="props.isSphere"
120
120
  v-show="selectedStep.id === dynamicSteps.selectComputeResource"
121
- v-model="computeResource"
121
+ v-model="vmForm.computeResource"
122
122
  :node="computeResourceTreeLocal"
123
123
  :alert-messages="props.computeResourceAlert"
124
124
  :is-loading="props.isLoadingComputeTree"
@@ -227,9 +227,9 @@
227
227
  <template #content>
228
228
  <div class="select-block-wrap overflow-auto pb-4">
229
229
  <common-vm-actions-common-select-os
230
- v-model:guest-os-family="model.guest_os_family"
231
- v-model:guest-os-version="model.guest_os_version"
232
- v-model:machine-type="model.machine_type"
230
+ v-model:machine-type="vmForm.guestMachineType"
231
+ v-model:guest-os-family="vmForm.guestOsFamily"
232
+ v-model:guest-os-version="vmForm.guestOsVersion"
233
233
  :families-options="props.guestOsFamilies"
234
234
  :versions-options="props.guestOsVersions"
235
235
  :machine-types-options="props.machineTypes"
@@ -250,11 +250,21 @@
250
250
  <template #content>
251
251
  <div class="select-block-wrap customize-hardware flex flex-col">
252
252
  <common-vm-actions-common-customize-hardware
253
- v-model="model"
254
253
  :project="props.project"
255
254
  :is-vmt="props.isVmt"
256
- :storage="model.storage"
255
+ :vm-name="vmForm.name"
256
+ :guest-machine-type="vmForm.guestMachineType"
257
+ :guest-os-family="vmForm.guestOsFamily"
258
+ :guest-os-version="vmForm.guestOsVersion"
259
+ :storage="vmForm.storage"
260
+ :hard-disks-for-boot-options="props.virtualHardwareHardDisksLocal"
261
+ :cd-dvd-drives-for-boot-options="
262
+ props.virtualHardwareCdDvdDrivesLocal
263
+ "
264
+ :networks-for-boot-options="props.virtualHardwareNetworksLocal"
265
+ :cd-dvd-drives="props.virtualHardwareCdDvdDrivesLocal"
257
266
  :customize-hardware-submit="props.customizeHardwareSubmit"
267
+ :max-cpus="props.maxCpus"
258
268
  :max-memory="props.maxMemory"
259
269
  :cpu-models="props.cpuModels"
260
270
  :selected-nav-item="props.selectedNavItem"
@@ -268,8 +278,10 @@
268
278
  :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
269
279
  :passthrough-devices="props.passthroughDevices"
270
280
  :mediated-devices="props.mediatedDevices"
271
- :compute-resource="computeResource"
281
+ :compute-resource="vmForm.computeResource"
272
282
  :compatibility-info="props.compatibilityInfo"
283
+ @change-boot-order="emits('change-boot-order', $event)"
284
+ @send-data="emits('change-customize-hardware', $event)"
273
285
  @get-storage="emits('get-storage', $event)"
274
286
  @get-folders-or-files="emits('get-folders-or-files', $event)"
275
287
  @get-active-device-child="
@@ -301,19 +313,31 @@
301
313
  class="select-block-wrap overflow-auto h-full flex flex-col pr-8"
302
314
  >
303
315
  <common-vm-actions-common-customize-hardware
304
- v-model="model"
305
316
  :project="props.project"
306
317
  :is-vmt="props.isVmt"
307
- :storage="model.storage"
318
+ :vm-name="vmForm.name"
319
+ :guest-machine-type="vmForm.guestMachineType"
320
+ :guest-os-family="vmForm.guestOsFamily"
321
+ :guest-os-version="vmForm.guestOsVersion"
322
+ :storage="vmForm.storage"
323
+ :hard-disks-for-boot-options="props.virtualHardwareHardDisksLocal"
324
+ :cd-dvd-drives-for-boot-options="
325
+ props.virtualHardwareCdDvdDrivesLocal
326
+ "
327
+ :networks-for-boot-options="props.virtualHardwareNetworksLocal"
308
328
  :cd-dvd-drives="props.vmtSettings.cdDvdDrives || []"
309
329
  :hard-disks="props.vmtSettings.hardDisks || []"
310
330
  :networks="props.vmtSettings.networks || []"
311
331
  :customize-hardware-submit="
312
332
  props.customizeHardwareForTemplateSubmit
313
333
  "
334
+ :max-cpus="props.maxCpus"
314
335
  :max-memory="props.maxMemory"
315
336
  :cpu-models="props.cpuModels"
337
+ :cpu="props.vmtSettings.cpu"
338
+ :memory="props.vmtSettings.memory"
316
339
  :video-card="props.vmtSettings.videoCard"
340
+ :usb-controller="props.vmtSettings.usbController"
317
341
  :pci-devices="props.vmtSettings.pciDevices"
318
342
  :hard-disks-for-edit="props.vmtSettings.hardDisks || []"
319
343
  :options="props.vmtSettings.options"
@@ -328,9 +352,11 @@
328
352
  :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
329
353
  :passthrough-devices="props.passthroughDevices"
330
354
  :mediated-devices="props.mediatedDevices"
331
- :compute-resource="computeResource"
355
+ :compute-resource="vmForm.computeResource"
332
356
  :compatibility-info="props.compatibilityInfo"
333
357
  is-clone
358
+ @change-boot-order="emits('change-boot-order', $event)"
359
+ @send-data="emits('change-customize-hardware', $event)"
334
360
  @get-storage="emits('get-storage', $event)"
335
361
  @get-folders-or-files="emits('get-folders-or-files', $event)"
336
362
  @get-active-device-child="
@@ -418,11 +444,17 @@ import type {
418
444
  } from '~/components/common/vm/actions/common/lib/models/types'
419
445
  import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
420
446
  import type {
421
- UI_I_CreateVmData,
422
447
  // UI_I_Capabilities,
423
448
  UI_I_VmForm,
424
449
  } from '~/components/common/vm/actions/common/lib/models/interfaces'
450
+ import type { UI_I_SendDataCustomizeHardware } from '~/components/common/vm/actions/common/customizeHardware/lib/models/interfaces'
451
+ import type {
452
+ UI_I_SendDataNewCdDvdDrive,
453
+ UI_I_SendDataNewHardDisk,
454
+ UI_I_SendDataNewNetwork,
455
+ } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
425
456
  import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
457
+ import type { UI_T_ChangeBootOrder } from '~/components/common/vm/actions/lib/models/types'
426
458
  import type {
427
459
  UI_I_MediatedDevice,
428
460
  UI_I_PciDevice,
@@ -432,10 +464,7 @@ import type { UI_I_NameTestIds } from '~/components/common/wizards/common/steps/
432
464
  import type { UI_T_CompatibilityStatus } from '~/components/common/wizards/common/compatibility/lib/models/types'
433
465
  import { dynamicSteps } from '~/components/common/vm/actions/add/lib/config/steps'
434
466
 
435
- const model = defineModel<UI_I_CreateVmData>({
436
- required: true,
437
- })
438
- const computeResource = defineModel<UI_I_TreeNode | null>('computeResource', {
467
+ const vmForm = defineModel<UI_I_VmForm>('vmForm', {
439
468
  required: true,
440
469
  })
441
470
  const selectedCreateType = defineModel<string>('selectedCreateType', {
@@ -474,6 +503,10 @@ const props = withDefaults(
474
503
  guestOsFamilies: UI_I_OptionItem[]
475
504
  guestOsVersions: UI_I_ArbitraryObject<UI_I_OptionItem[]>
476
505
  machineTypes: UI_I_OptionItem[]
506
+ virtualHardwareHardDisksLocal: UI_I_SendDataNewHardDisk[] | null
507
+ virtualHardwareCdDvdDrivesLocal: UI_I_SendDataNewCdDvdDrive[] | null
508
+ virtualHardwareNetworksLocal: UI_I_SendDataNewNetwork[] | null
509
+ maxCpus: number
477
510
  maxMemory: number
478
511
  cpuModels: UI_I_OptionItem[]
479
512
  selectedNavItem: UI_T_SelectedNavItem
@@ -526,6 +559,11 @@ const emits = defineEmits<{
526
559
  (event: 'change-storage', value: UI_I_DatastoreTableItem | null): void
527
560
  (event: 'change-select-options', value: string[]): void
528
561
  (event: 'change-compatibility', value: UI_I_OptionItem): void
562
+ (event: 'change-boot-order', value: UI_T_ChangeBootOrder): void
563
+ (
564
+ event: 'change-customize-hardware',
565
+ value: UI_I_SendDataCustomizeHardware
566
+ ): void
529
567
  (event: 'hide'): void
530
568
  }>()
531
569
 
@@ -34,7 +34,7 @@
34
34
  selectedStep.id === dynamicSteps.selectName ||
35
35
  selectedStep.id === dynamicSteps.selectNameFolder
36
36
  "
37
- v-model:name="model.name"
37
+ v-model:name="vmForm.name"
38
38
  v-model:location="location"
39
39
  :show="
40
40
  selectedStep.id === dynamicSteps.selectName ||
@@ -55,7 +55,7 @@
55
55
  <common-wizards-common-steps-compute-resource
56
56
  v-if="props.isSphere"
57
57
  v-show="selectedStep.id === dynamicSteps.selectComputeResource"
58
- v-model="computeResource"
58
+ v-model="vmForm.computeResource"
59
59
  :node="computeResourceTreeLocal"
60
60
  :alert-messages="props.computeResourceAlert"
61
61
  :is-loading="props.isLoadingComputeTree"
@@ -90,9 +90,9 @@
90
90
  selectedStep.id === dynamicSteps.selectGuestOSMachineType ||
91
91
  selectedStep.id === dynamicSteps.selectGuestOS
92
92
  "
93
- v-model:guest-os-family="model.guest_os_family"
94
- v-model:guest-os-version="model.guest_os_version"
95
- v-model:machine-type="model.machine_type"
93
+ v-model:machine-type="vmForm.guestMachineType"
94
+ v-model:guest-os-family="vmForm.guestOsFamily"
95
+ v-model:guest-os-version="vmForm.guestOsVersion"
96
96
  :families-options="props.guestOsFamilies"
97
97
  :versions-options="props.guestOsVersions"
98
98
  :machine-types-options="props.machineTypes"
@@ -101,11 +101,21 @@
101
101
  />
102
102
  <common-vm-actions-common-customize-hardware
103
103
  v-show="selectedStep.id === dynamicSteps.customizeHardware"
104
- v-model="model"
105
104
  :project="props.project"
106
105
  :is-vmt="props.isVmt"
107
- :storage="model.storage"
106
+ :vm-name="vmForm.name"
107
+ :guest-machine-type="vmForm.guestMachineType"
108
+ :guest-os-family="vmForm.guestOsFamily"
109
+ :guest-os-version="vmForm.guestOsVersion"
110
+ :storage="vmForm.storage"
111
+ :hard-disks-for-boot-options="props.virtualHardwareHardDisksLocal"
112
+ :cd-dvd-drives-for-boot-options="
113
+ props.virtualHardwareCdDvdDrivesLocal
114
+ "
115
+ :networks-for-boot-options="props.virtualHardwareNetworksLocal"
116
+ :cd-dvd-drives="props.virtualHardwareCdDvdDrivesLocal"
108
117
  :customize-hardware-submit="props.customizeHardwareSubmit"
118
+ :max-cpus="props.maxCpus"
109
119
  :max-memory="props.maxMemory"
110
120
  :cpu-models="props.cpuModels"
111
121
  :selected-nav-item="props.selectedNavItem"
@@ -119,7 +129,9 @@
119
129
  :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
120
130
  :passthrough-devices="props.passthroughDevices"
121
131
  :mediated-devices="props.mediatedDevices"
122
- :compute-resource="computeResource"
132
+ :compute-resource="vmForm.computeResource"
133
+ @change-boot-order="emits('change-boot-order', $event)"
134
+ @send-data="emits('change-customize-hardware', $event)"
123
135
  @get-storage="emits('get-storage', $event)"
124
136
  @get-folders-or-files="emits('get-folders-or-files', $event)"
125
137
  @get-active-device-child="emits('get-active-device-child', $event)"
@@ -131,21 +143,34 @@
131
143
  <common-vm-actions-common-customize-hardware
132
144
  v-if="props.vmtSettings"
133
145
  v-show="selectedStep.id === dynamicSteps.customizeHardwareTemplate"
134
- v-model="model"
135
146
  :is-vmt="props.isVmt"
136
147
  :project="props.project"
137
- :storage="model.storage"
148
+ :vm-name="vmForm.name"
149
+ :guest-machine-type="vmForm.guestMachineType"
150
+ :guest-os-family="vmForm.guestOsFamily"
151
+ :guest-os-version="vmForm.guestOsVersion"
152
+ :storage="vmForm.storage"
153
+ :hard-disks-for-boot-options="props.virtualHardwareHardDisksLocal"
154
+ :cd-dvd-drives-for-boot-options="
155
+ props.virtualHardwareCdDvdDrivesLocal
156
+ "
157
+ :networks-for-boot-options="props.virtualHardwareNetworksLocal"
138
158
  :cd-dvd-drives="props.vmtSettings.cdDvdDrives || []"
139
159
  :hard-disks="props.vmtSettings.hardDisks || []"
140
160
  :networks="props.vmtSettings.networks || []"
141
161
  :customize-hardware-submit="
142
162
  props.customizeHardwareForTemplateSubmit
143
163
  "
164
+ :max-cpus="props.maxCpus"
144
165
  :max-memory="props.maxMemory"
145
166
  :cpu-models="props.cpuModels"
167
+ :cpu="props.vmtSettings.cpu"
168
+ :memory="props.vmtSettings.memory"
146
169
  :video-card="props.vmtSettings.videoCard"
170
+ :usb-controller="props.vmtSettings.usbController"
147
171
  :pci-devices="props.vmtSettings.pciDevices"
148
172
  :hard-disks-for-edit="props.vmtSettings.hardDisks || []"
173
+ :options="props.vmtSettings.options"
149
174
  :selected-nav-item="props.selectedNavItem"
150
175
  :nodes="props.nodes"
151
176
  :files="props.files"
@@ -157,8 +182,10 @@
157
182
  :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
158
183
  :passthrough-devices="props.passthroughDevices"
159
184
  :mediated-devices="props.mediatedDevices"
160
- :compute-resource="computeResource"
185
+ :compute-resource="vmForm.computeResource"
161
186
  is-clone
187
+ @change-boot-order="emits('change-boot-order', $event)"
188
+ @send-data="emits('change-customize-hardware', $event)"
162
189
  @get-storage="emits('get-storage', $event)"
163
190
  @get-folders-or-files="emits('get-folders-or-files', $event)"
164
191
  @get-active-device-child="emits('get-active-device-child', $event)"
@@ -219,11 +246,17 @@ import type {
219
246
  } from '~/components/common/vm/actions/common/lib/models/types'
220
247
  import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
221
248
  import type {
222
- UI_I_CreateVmData,
223
249
  // UI_I_Capabilities,
224
250
  UI_I_VmForm,
225
251
  } from '~/components/common/vm/actions/common/lib/models/interfaces'
252
+ import type { UI_I_SendDataCustomizeHardware } from '~/components/common/vm/actions/common/customizeHardware/lib/models/interfaces'
253
+ import type {
254
+ UI_I_SendDataNewCdDvdDrive,
255
+ UI_I_SendDataNewHardDisk,
256
+ UI_I_SendDataNewNetwork,
257
+ } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
226
258
  import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
259
+ import type { UI_T_ChangeBootOrder } from '~/components/common/vm/actions/lib/models/types'
227
260
  import type {
228
261
  UI_I_MediatedDevice,
229
262
  UI_I_PciDevice,
@@ -233,10 +266,7 @@ import type { UI_I_NameTestIds } from '~/components/common/wizards/common/steps/
233
266
  import type { UI_T_CompatibilityStatus } from '~/components/common/wizards/common/compatibility/lib/models/types'
234
267
  import { dynamicSteps } from '~/components/common/vm/actions/add/lib/config/steps'
235
268
 
236
- const model = defineModel<UI_I_CreateVmData>({
237
- required: true,
238
- })
239
- const computeResource = defineModel<UI_I_TreeNode | null>('computeResource', {
269
+ const vmForm = defineModel<UI_I_VmForm>('vmForm', {
240
270
  required: true,
241
271
  })
242
272
  const selectedCreateType = defineModel<string>('selectedCreateType', {
@@ -275,6 +305,10 @@ const props = withDefaults(
275
305
  guestOsFamilies: UI_I_OptionItem[]
276
306
  guestOsVersions: UI_I_ArbitraryObject<UI_I_OptionItem[]>
277
307
  machineTypes: UI_I_OptionItem[]
308
+ virtualHardwareHardDisksLocal: UI_I_SendDataNewHardDisk[] | null
309
+ virtualHardwareCdDvdDrivesLocal: UI_I_SendDataNewCdDvdDrive[] | null
310
+ virtualHardwareNetworksLocal: UI_I_SendDataNewNetwork[] | null
311
+ maxCpus: number
278
312
  maxMemory: number
279
313
  cpuModels: UI_I_OptionItem[]
280
314
  selectedNavItem: UI_T_SelectedNavItem
@@ -324,6 +358,11 @@ const emits = defineEmits<{
324
358
  (event: 'change-storage', value: UI_I_DatastoreTableItem | null): void
325
359
  (event: 'change-select-options', value: string[]): void
326
360
  (event: 'change-compatibility', value: UI_I_OptionItem): void
361
+ (event: 'change-boot-order', value: UI_T_ChangeBootOrder): void
362
+ (
363
+ event: 'change-customize-hardware',
364
+ value: UI_I_SendDataCustomizeHardware
365
+ ): void
327
366
  (event: 'hide'): void
328
367
  }>()
329
368
 
@@ -766,6 +766,10 @@ const machineTypes = ref<UI_I_OptionItem[]>(capabilities.value.machineTypes)
766
766
 
767
767
  // Для сферы
768
768
  const computeResourcePath = ref<string>('')
769
+ const onSelectComputeResourceTree = (node: UI_I_TreeNode): void => {
770
+ emits('select-compute-resource-tree', node)
771
+ computeResourcePath.value = String(node.id)
772
+ }
769
773
  watch(
770
774
  () => vmForm.value.computeResource,
771
775
  (newValue, oldValue) => {
@@ -773,12 +777,8 @@ watch(
773
777
  onSelectComputeResourceTree(newValue)
774
778
  }
775
779
  },
776
- { deep: true }
780
+ { deep: true, immediate: true }
777
781
  )
778
- const onSelectComputeResourceTree = (node: UI_I_TreeNode): void => {
779
- emits('select-compute-resource-tree', node)
780
- computeResourcePath.value = String(node.id)
781
- }
782
782
 
783
783
  watch(vmSettings, (newValue) => {
784
784
  vmName.value = newValue?.name || ''
@@ -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) => {