bfg-common 1.5.555 → 1.5.557

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