bfg-common 1.5.572 → 1.5.574

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 +46 -120
  2. package/components/common/vm/actions/add/New.vue +16 -54
  3. package/components/common/vm/actions/add/Old.vue +16 -55
  4. package/components/common/vm/actions/clone/Clone.vue +43 -115
  5. package/components/common/vm/actions/clone/new/New.vue +14 -50
  6. package/components/common/vm/actions/clone/old/Old.vue +16 -52
  7. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +14 -81
  8. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +7 -56
  9. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +8 -56
  10. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +211 -206
  11. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +225 -120
  12. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +220 -118
  13. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +66 -53
  14. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +139 -159
  15. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuNew.vue +8 -15
  16. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuOld.vue +8 -13
  17. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +62 -75
  18. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +241 -149
  19. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +3 -4
  20. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +2 -3
  21. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +62 -100
  22. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +6 -17
  23. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +6 -3
  24. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerOld.vue +6 -3
  25. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +17 -39
  26. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +6 -5
  27. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +6 -5
  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 +6 -93
  30. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +8 -60
  31. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsOld.vue +8 -58
  32. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptions.vue +5 -69
  33. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +12 -32
  34. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsOld.vue +12 -33
  35. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +114 -132
  36. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +41 -6
  37. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderOld.vue +44 -6
  38. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +8 -23
  39. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +21 -31
  40. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsOld.vue +26 -34
  41. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +28 -34
  42. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/Old.vue +24 -30
  43. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +8 -112
  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/{KeymapNew.vue → New.vue} +6 -6
  46. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/{KeymapOld.vue → Old.vue} +5 -5
  47. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +6 -7
  48. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/Tools.vue +42 -60
  49. package/components/common/vm/actions/common/lib/models/interfaces.ts +58 -25
  50. package/components/common/vm/actions/editSettings/EditSettings.vue +32 -90
  51. package/components/common/vm/actions/editSettings/EditSettingsOld.vue +14 -41
  52. package/components/common/vm/actions/editSettings/new/New.vue +14 -41
  53. package/components/common/vm/actions/lib/models/interfaces.ts +4 -29
  54. package/components/common/vm/actions/lib/utils.ts +64 -36
  55. package/package.json +1 -1
  56. /package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/{PasswordNew.vue → New.vue} +0 -0
  57. /package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/{PasswordOld.vue → Old.vue} +0 -0
@@ -12,117 +12,238 @@
12
12
  <div class="clr-component">
13
13
  <div class="stack-view">
14
14
  <common-vm-actions-common-customize-hardware-virtual-hardware-cpu
15
- :max-cpus="props.maxCpus"
15
+ v-model="model"
16
16
  :cpu-models="props.cpuModels"
17
- :cpu="props.cpu"
18
17
  :is-edit="props.isEdit"
19
18
  :state="props.state"
20
19
  :error-validation-fields="props.errorValidationFields"
21
20
  :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
22
- @send-data="emits('send-data-cpu-method', $event)"
23
21
  @remove-error-by-title="emits('remove-error-by-title', $event)"
24
22
  @invalid="cpuInvalid = $event"
25
23
  />
26
24
  <common-vm-actions-common-customize-hardware-virtual-hardware-memory
25
+ v-model="model"
27
26
  :max-memory="props.maxMemory"
28
27
  :is-edit="props.isEdit"
29
- :memory="props.memory"
30
28
  :state="props.state"
31
29
  :error-validation-fields="props.errorValidationFields"
32
- @send-data="emits('send-data-memory-method', $event)"
33
30
  @invalid="memoryInvalid = $event"
34
31
  @remove-error-by-title="emits('remove-error-by-title', $event)"
35
32
  />
36
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk
37
- v-for="(item, key) in props.hardDisks"
33
+ <!-- <common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk-->
34
+ <!-- v-for="(item, key) in props.hardDisks"-->
35
+ <!-- :key="props.hardDisksIndex[key]"-->
36
+ <!-- :index="props.hardDisksIndex[key]"-->
37
+ <!-- :type="props.hardDisksType[key]"-->
38
+ <!-- :storage="props.storage"-->
39
+ <!-- :hard-disk="item"-->
40
+ <!-- :error-validation-fields="props.errorValidationFields"-->
41
+ <!-- :get-datastore-table-func="props.getDatastoreTableFunc"-->
42
+ <!-- :datastore="props.datastore"-->
43
+ <!-- :is-datastore-loading="props.isDatastoreLoading"-->
44
+ <!-- :is-edit="props.isEdit"-->
45
+ <!-- :state="props.state"-->
46
+ <!-- :guest-machine-type="props.guestMachineType"-->
47
+ <!-- :compute-resource="props.computeResource"-->
48
+ <!-- @remove="emits('remove-hard-disk', [props.hardDisksIndex[key], item])"-->
49
+ <!-- @roll-back="emits('roll-back-hard-disk', props.hardDisksIndex[key])"-->
50
+ <!-- @send-data="-->
51
+ <!-- emits('send-data-new-hard-disk-method', [-->
52
+ <!-- $event,-->
53
+ <!-- props.hardDisksIndex[key],-->
54
+ <!-- ])-->
55
+ <!-- "-->
56
+ <!-- @invalid="-->
57
+ <!-- emits('set-invalid-hard-disk', [$event, props.hardDisksIndex[key]])-->
58
+ <!-- "-->
59
+ <!-- @remove-error-by-title="emits('remove-error-by-title', $event)"-->
60
+ <!-- />-->
61
+ <!-- TODO-->
62
+ <div
63
+ v-for="(item, key) in model.disk_devices.filter(
64
+ (disk) => disk.device_type !== 'cdrom'
65
+ )"
38
66
  :key="props.hardDisksIndex[key]"
39
- :index="props.hardDisksIndex[key]"
40
- :type="props.hardDisksType[key]"
41
- :storage="props.storage"
42
- :hard-disk="item"
43
- :error-validation-fields="props.errorValidationFields"
44
- :get-datastore-table-func="props.getDatastoreTableFunc"
45
- :datastore="props.datastore"
46
- :is-datastore-loading="props.isDatastoreLoading"
47
- :is-edit="props.isEdit"
48
- :state="props.state"
49
- :guest-machine-type="props.guestMachineType"
50
- :compute-resource="props.computeResource"
51
- @remove="emits('remove-hard-disk', [props.hardDisksIndex[key], item])"
52
- @roll-back="emits('roll-back-hard-disk', props.hardDisksIndex[key])"
53
- @send-data="
54
- emits('send-data-new-hard-disk-method', [
55
- $event,
56
- props.hardDisksIndex[key],
57
- ])
58
- "
59
- @invalid="
60
- emits('set-invalid-hard-disk', [$event, props.hardDisksIndex[key]])
61
- "
62
- @remove-error-by-title="emits('remove-error-by-title', $event)"
63
- />
64
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-network
65
- v-for="(item, key) in props.networks"
67
+ >
68
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk
69
+ v-model:size="item.size"
70
+ v-model:provision-type="item.provision_type"
71
+ v-model:sharing="item.sharing"
72
+ v-model:shares="item.shares"
73
+ v-model:limit-iops="item.limit_iops"
74
+ v-model:disk-mode="item.disk_mode"
75
+ v-model:cache="item.cache"
76
+ v-model:bus="item.bus"
77
+ v-model:read-only="item.readOnly"
78
+ v-model:discard="item.discard"
79
+ v-model:io="item.io"
80
+ v-model:target="item.target"
81
+ v-model:source="item.source"
82
+ v-model:storage="item.storage"
83
+ v-model:remove="item.remove"
84
+ v-model:detach="item.detach"
85
+ :index="props.hardDisksIndex[key]"
86
+ :type="props.hardDisksType[key]"
87
+ :main-storage="props.storage"
88
+ :error-validation-fields="props.errorValidationFields"
89
+ :get-datastore-table-func="props.getDatastoreTableFunc"
90
+ :datastore="props.datastore"
91
+ :is-datastore-loading="props.isDatastoreLoading"
92
+ :is-edit="props.isEdit"
93
+ :state="props.state"
94
+ :guest-machine-type="props.guestMachineType"
95
+ :compute-resource="props.computeResource"
96
+ @remove="
97
+ emits('remove-hard-disk', [props.hardDisksIndex[key], item])
98
+ "
99
+ @roll-back="emits('roll-back-hard-disk', props.hardDisksIndex[key])"
100
+ @send-data="
101
+ emits('send-data-new-hard-disk-method', [
102
+ $event,
103
+ props.hardDisksIndex[key],
104
+ ])
105
+ "
106
+ @invalid="
107
+ emits('set-invalid-hard-disk', [
108
+ $event,
109
+ props.hardDisksIndex[key],
110
+ ])
111
+ "
112
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
113
+ />
114
+ </div>
115
+ <!-- <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-->
116
+ <!-- v-for="(item, key) in props.networks"-->
117
+ <!-- :key="props.networksIndex[key]"-->
118
+ <!-- :index="props.networksIndex[key]"-->
119
+ <!-- :type="props.networksType[key]"-->
120
+ <!-- :network="item"-->
121
+ <!-- :networks-table="props.networksTable"-->
122
+ <!-- :error-validation-fields="props.errorValidationFields"-->
123
+ <!-- :is-edit="props.isEdit"-->
124
+ <!-- :state="props.state"-->
125
+ <!-- :project="props.project"-->
126
+ <!-- @remove="emits('remove-network', props.networksIndex[key])"-->
127
+ <!-- @send-data="-->
128
+ <!-- emits('send-data-new-network-method', [-->
129
+ <!-- $event,-->
130
+ <!-- props.networksIndex[key],-->
131
+ <!-- ])-->
132
+ <!-- "-->
133
+ <!-- @invalid="-->
134
+ <!-- emits('set-invalid-network', [$event, props.networksIndex[key]])-->
135
+ <!-- "-->
136
+ <!-- @remove-error-by-title="emits('remove-error-by-title', $event)"-->
137
+ <!-- @get-networks-table="emits('get-networks-table', $event)"-->
138
+ <!-- />-->
139
+ <div
140
+ v-for="(item, key) in model.network_devices"
66
141
  :key="props.networksIndex[key]"
67
- :index="props.networksIndex[key]"
68
- :type="props.networksType[key]"
69
- :network="item"
70
- :networks-table="props.networksTable"
71
- :error-validation-fields="props.errorValidationFields"
72
- :is-edit="props.isEdit"
73
- :state="props.state"
74
- :project="props.project"
75
- @remove="emits('remove-network', props.networksIndex[key])"
76
- @send-data="
77
- emits('send-data-new-network-method', [
78
- $event,
79
- props.networksIndex[key],
80
- ])
81
- "
82
- @invalid="
83
- emits('set-invalid-network', [$event, props.networksIndex[key]])
84
- "
85
- @remove-error-by-title="emits('remove-error-by-title', $event)"
86
- @get-networks-table="emits('get-networks-table', $event)"
87
- />
88
- <common-vm-actions-common-customize-hardware-virtual-hardware-cd-dvd-drive
89
- v-for="(item, key) in props.cdDvdDrives"
90
- :key="props.cdDvdDrivesIndex[key]"
91
- :index="props.cdDvdDrivesIndex[key]"
92
- :hard-disks-count="props.hardDisks?.length || 0"
93
- :type="props.cdDvdDrivesType[key]"
94
- :cd-dvd-drive="item"
95
- :nodes="props.nodes"
96
- :files="props.files"
97
- :error-validation-fields="props.errorValidationFields"
98
- :is-edit="props.isEdit"
99
- :state="props.state"
100
- :guest-machine-type="props.guestMachineType"
101
- :compute-resource="props.computeResource"
102
- @remove-error-by-title="emits('remove-error-by-title', $event)"
103
- @get-storage="emits('get-storage', $event)"
104
- @get-folders-or-files="emits('get-folders-or-files', $event)"
105
- @get-active-device-child="emits('get-active-device-child', $event)"
106
- @show-datastore-child="emits('show-datastore-child', $event)"
107
- @remove="
108
- emits('remove-cd-dvd-drive', [props.cdDvdDrivesIndex[key], item])
109
- "
110
- @roll-back="
111
- emits('roll-back-cd-dvd-drive', props.cdDvdDrivesIndex[key])
112
- "
113
- @send-data="
114
- emits('send-data-new-cd-dvd-drive-method', [
115
- $event,
116
- props.cdDvdDrivesIndex[key],
117
- ])
118
- "
119
- />
120
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-usb-controller
121
- :usb-controller="props.usbController"
122
- :is-edit="props.isEdit"
123
- :state="props.state"
124
- @send-data="emits('send-data-new-usb-controller-method', $event)"
125
- />
142
+ >
143
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-network
144
+ v-model:network="item.network"
145
+ v-model:network-value="item[props.networkValueProp]"
146
+ v-model:mac="item.mac"
147
+ v-model:model="item.model"
148
+ :index="props.networksIndex[key]"
149
+ :type="props.networksType[key]"
150
+ :networks-table="props.networksTable"
151
+ :error-validation-fields="props.errorValidationFields"
152
+ :is-edit="props.isEdit"
153
+ :state="props.state"
154
+ :project="props.project"
155
+ :network-value-prop="props.networkValueProp"
156
+ @remove="emits('remove-network', props.networksIndex[key])"
157
+ @invalid="
158
+ emits('set-invalid-network', [$event, props.networksIndex[key]])
159
+ "
160
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
161
+ @get-networks-table="emits('get-networks-table', $event)"
162
+ />
163
+ </div>
164
+ <!-- <common-vm-actions-common-customize-hardware-virtual-hardware-cd-dvd-drive-->
165
+ <!-- v-for="(item, key) in props.cdDvdDrives"-->
166
+ <!-- :key="props.cdDvdDrivesIndex[key]"-->
167
+ <!-- :index="props.cdDvdDrivesIndex[key]"-->
168
+ <!-- :hard-disks-count="props.hardDisks?.length || 0"-->
169
+ <!-- :type="props.cdDvdDrivesType[key]"-->
170
+ <!-- :cd-dvd-drive="item"-->
171
+ <!-- :nodes="props.nodes"-->
172
+ <!-- :files="props.files"-->
173
+ <!-- :error-validation-fields="props.errorValidationFields"-->
174
+ <!-- :is-edit="props.isEdit"-->
175
+ <!-- :state="props.state"-->
176
+ <!-- :guest-machine-type="props.guestMachineType"-->
177
+ <!-- :compute-resource="props.computeResource"-->
178
+ <!-- @remove-error-by-title="emits('remove-error-by-title', $event)"-->
179
+ <!-- @get-storage="emits('get-storage', $event)"-->
180
+ <!-- @get-folders-or-files="emits('get-folders-or-files', $event)"-->
181
+ <!-- @get-active-device-child="emits('get-active-device-child', $event)"-->
182
+ <!-- @show-datastore-child="emits('show-datastore-child', $event)"-->
183
+ <!-- @remove="-->
184
+ <!-- emits('remove-cd-dvd-drive', [props.cdDvdDrivesIndex[key], item])-->
185
+ <!-- "-->
186
+ <!-- @roll-back="-->
187
+ <!-- emits('roll-back-cd-dvd-drive', props.cdDvdDrivesIndex[key])-->
188
+ <!-- "-->
189
+ <!-- @send-data="-->
190
+ <!-- emits('send-data-new-cd-dvd-drive-method', [-->
191
+ <!-- $event,-->
192
+ <!-- props.cdDvdDrivesIndex[key],-->
193
+ <!-- ])-->
194
+ <!-- "-->
195
+ <!-- />-->
196
+ <div
197
+ v-for="(item, key) in model.disk_devices.filter(
198
+ (disk) => disk.device_type === 'cdrom'
199
+ )"
200
+ :key="props.hardDisksIndex[key]"
201
+ >
202
+ <!-- TODO count-->
203
+ <common-vm-actions-common-customize-hardware-virtual-hardware-cd-dvd-drive
204
+ v-model:source="item.source"
205
+ v-model:bus="item.bus"
206
+ v-model:remove="item.remove"
207
+ v-model:detach="item.detach"
208
+ :index="props.cdDvdDrivesIndex[key]"
209
+ :hard-disks-count="
210
+ model.disk_devices.filter((disk) => disk.device_type !== 'cdrom')
211
+ ?.length || 0
212
+ "
213
+ :type="props.cdDvdDrivesType[key]"
214
+ :nodes="props.nodes"
215
+ :files="props.files"
216
+ :error-validation-fields="props.errorValidationFields"
217
+ :is-edit="props.isEdit"
218
+ :state="props.state"
219
+ :guest-machine-type="props.guestMachineType"
220
+ :compute-resource="props.computeResource"
221
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
222
+ @get-storage="emits('get-storage', $event)"
223
+ @get-folders-or-files="emits('get-folders-or-files', $event)"
224
+ @get-active-device-child="emits('get-active-device-child', $event)"
225
+ @show-datastore-child="emits('show-datastore-child', $event)"
226
+ @remove="
227
+ emits('remove-cd-dvd-drive', [props.cdDvdDrivesIndex[key], item])
228
+ "
229
+ @roll-back="
230
+ emits('roll-back-cd-dvd-drive', props.cdDvdDrivesIndex[key])
231
+ "
232
+ @send-data="
233
+ emits('send-data-new-cd-dvd-drive-method', [
234
+ $event,
235
+ props.cdDvdDrivesIndex[key],
236
+ ])
237
+ "
238
+ />
239
+ </div>
240
+ <div v-for="(item, key) in model.usb_controllers" :key="key">
241
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-usb-controller
242
+ v-model="item.type"
243
+ :is-edit="props.isEdit"
244
+ :state="props.state"
245
+ />
246
+ </div>
126
247
  <template v-if="props.passthroughDevices || props.mediatedDevices">
127
248
  <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device
128
249
  v-for="(item, key) in props.pciDevices"
@@ -152,11 +273,11 @@
152
273
  />
153
274
  </template>
154
275
  <common-vm-actions-common-customize-hardware-virtual-hardware-video-card
276
+ v-model="model.video_card"
155
277
  :is-edit="props.isEdit"
156
278
  :video-card="props.videoCard"
157
279
  :error-validation-fields="props.errorValidationFields"
158
280
  :state="props.state"
159
- @send-data="emits('send-data-video-card-method', $event)"
160
281
  @invalid="videoCardInvalid = $event"
161
282
  @remove-error-by-title="emits('remove-error-by-title', $event)"
162
283
  />
@@ -189,10 +310,7 @@ import type { UI_I_TablePayload } from '~/lib/models/table/interfaces'
189
310
  import type { UI_I_FolderOrFileTreePayload } from '~/lib/models/store/storage/interfaces'
190
311
  import type { UI_I_FileTreeNode } from '~/components/lib/models/interfaces'
191
312
  import type {
192
- UI_I_SendDataCpu,
193
- UI_I_SendDataMemory,
194
313
  UI_I_SendDataNewHardDisk,
195
- UI_I_SendDataNewNetwork,
196
314
  UI_I_SendDataVideoCard,
197
315
  UI_I_SendDataNewCdDvdDrive,
198
316
  // UI_I_HardDisk,
@@ -211,11 +329,13 @@ import type {
211
329
  import type { UI_I_Localization } from '~/lib/models/interfaces'
212
330
  import type {
213
331
  API_UI_I_VmEditCpu,
214
- API_UI_I_VmEditMemory,
215
332
  UI_I_MediatedDevice,
216
333
  UI_I_PciDevice,
217
334
  } from '~/lib/models/store/vm/interfaces'
218
335
  import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
336
+ import type { UI_I_CreateVmData } from '~/components/common/vm/actions/common/lib/models/interfaces'
337
+
338
+ const model = defineModel<UI_I_CreateVmData>({ required: true })
219
339
 
220
340
  const cpuInvalid = defineModel<boolean>('cpuInvalid', { required: true })
221
341
  const memoryInvalid = defineModel<boolean>('memoryInvalid', { required: true })
@@ -230,7 +350,6 @@ const props = withDefaults(
230
350
  isEdit: boolean
231
351
  storage: UI_I_DatastoreTableItem | null
232
352
  project: UI_T_Project
233
- maxCpus: number
234
353
  maxMemory: number
235
354
  cpuModels: UI_I_OptionItem[]
236
355
  datastore: UI_I_DatastoreTableItem[]
@@ -246,17 +365,13 @@ const props = withDefaults(
246
365
  pciDevicesIndex: number[]
247
366
  cdDvdDrivesType: UI_T_NetworkType[]
248
367
  cdDvdDrivesIndex: number[]
249
- errorValidationFields: UI_I_ErrorValidationField<string>[]
368
+ errorValidationFields: UI_I_ErrorValidationField[]
250
369
  getDatastoreTableFunc: (payload: UI_I_TablePayload) => Promise<void>
370
+ networkValueProp: 'network' | 'net_bridge'
251
371
  cpu?: API_UI_I_VmEditCpu
252
372
  state?: string | number
253
- memory?: API_UI_I_VmEditMemory
254
- networks?: UI_I_SendDataNewNetwork[] | null
255
- hardDisks?: UI_I_SendDataNewHardDisk[] | null
256
373
  videoCard?: UI_I_SendDataVideoCard
257
374
  pciDevices?: UI_I_SendDataNewPciDevice[]
258
- cdDvdDrives?: UI_I_SendDataNewCdDvdDrive[] | null
259
- usbController?: string
260
375
  guestMachineType?: UI_I_OptionItem | null
261
376
  passthroughDevices?: UI_I_PciDevice[]
262
377
  mediatedDevices?: UI_I_MediatedDevice[]
@@ -266,13 +381,8 @@ const props = withDefaults(
266
381
  {
267
382
  cpu: undefined,
268
383
  state: undefined,
269
- memory: undefined,
270
- networks: undefined,
271
- hardDisks: undefined,
272
384
  videoCard: undefined,
273
385
  pciDevices: undefined,
274
- cdDvdDrives: undefined,
275
- usbController: undefined,
276
386
  guestMachineType: undefined,
277
387
  passthroughDevices: undefined,
278
388
  mediatedDevices: undefined,
@@ -297,18 +407,11 @@ const emits = defineEmits<{
297
407
  ): void
298
408
  (event: 'show-datastore-child', value: UI_I_FileTreeNode): void
299
409
  (event: 'get-folders-or-files', value: UI_I_FolderOrFileTreePayload): void
300
- (event: 'send-data-cpu-method', value: UI_I_SendDataCpu): void
301
410
  (event: 'set-invalid-hard-disk', value: [boolean, number]): void
302
411
  (event: 'remove-error-by-title', value: string): void
303
412
  (event: 'roll-back-cd-dvd-drive', value: number): void
304
413
  (event: 'set-invalid-pci-device', value: [boolean, number]): void
305
414
  (event: 'get-active-device-child', value: UI_I_FileTreeNode): void
306
- (event: 'send-data-memory-method', value: UI_I_SendDataMemory): void
307
- (event: 'send-data-video-card-method', value: UI_I_SendDataVideoCard): void
308
- (
309
- event: 'send-data-new-network-method',
310
- value: [UI_I_SendDataNewNetwork, number]
311
- ): void
312
415
  (
313
416
  event: 'send-data-pci-devices-method',
314
417
  value: [UI_I_SendDataNewPciDevice, number]
@@ -321,7 +424,6 @@ const emits = defineEmits<{
321
424
  event: 'send-data-new-cd-dvd-drive-method',
322
425
  value: [UI_I_SendDataNewCdDvdDrive, number]
323
426
  ): void
324
- (event: 'send-data-new-usb-controller-method', value: string): void
325
427
  }>()
326
428
 
327
429
  const localization = computed<UI_I_Localization>(() => useLocal())
@@ -3,7 +3,7 @@
3
3
  v-if="isNewView"
4
4
  v-model:delete-files-from-datastore="deleteFilesFromDatastore"
5
5
  v-model:selected-cd-dvd-drive="selectedCdDvdDrive"
6
- v-model:cd-dvd-media="cdDvdMedia"
6
+ v-model:cd-dvd-media="source"
7
7
  v-model:is-show-file-modal="isShowFileModal"
8
8
  v-model:bus="bus"
9
9
  :index="props.index"
@@ -36,7 +36,7 @@
36
36
  v-else
37
37
  v-model:delete-files-from-datastore="deleteFilesFromDatastore"
38
38
  v-model:selected-cd-dvd-drive="selectedCdDvdDrive"
39
- v-model:cd-dvd-media="cdDvdMedia"
39
+ v-model:cd-dvd-media="source"
40
40
  v-model:is-show-file-modal="isShowFileModal"
41
41
  v-model:bus="bus"
42
42
  :index="props.index"
@@ -71,7 +71,6 @@
71
71
  import type { UI_I_FileTreeNode } from '~/components/lib/models/interfaces'
72
72
  import type { UI_I_TablePayload } from '~/lib/models/table/interfaces'
73
73
  import type { UI_T_CdDvdDrive } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/lib/models/types'
74
- import type { UI_I_SendDataNewCdDvdDrive } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
75
74
  import type {
76
75
  UI_I_Localization,
77
76
  UI_I_HTMLSelectElement,
@@ -84,14 +83,19 @@ import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models
84
83
  import { cdDvdDriveOptionsFunc } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/lib/config/options'
85
84
  import { fileTypesFunc } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/lib/config/fileTypes'
86
85
 
86
+ const source = defineModel<string>('source', { required: true })
87
+ const bus = defineModel<string>('bus', { required: true }) // PNCWEB-384
88
+
89
+ const remove = defineModel<boolean>('remove', { required: true })
90
+ const detach = defineModel<boolean>('detach', { required: true })
91
+
87
92
  const props = withDefaults(
88
93
  defineProps<{
89
94
  hardDisksCount: number
90
95
  index: number
91
- cdDvdDrive: UI_I_SendDataNewCdDvdDrive
92
96
  nodes: UI_I_FileTreeNode[]
93
97
  files: UI_I_FileTreeNode[]
94
- errorValidationFields: UI_I_ErrorValidationField<string>[]
98
+ errorValidationFields: UI_I_ErrorValidationField[]
95
99
  type: UI_T_CdDvdType
96
100
  isEdit: boolean
97
101
  disabled: boolean
@@ -107,7 +111,6 @@ const props = withDefaults(
107
111
  )
108
112
 
109
113
  const emits = defineEmits<{
110
- (event: 'send-data', value: UI_I_SendDataNewCdDvdDrive): void
111
114
  (event: 'remove'): void
112
115
  (event: 'roll-back'): void
113
116
  (event: 'remove-error-by-title', value: string): void
@@ -117,6 +120,10 @@ const emits = defineEmits<{
117
120
  (event: 'show-datastore-child', value: UI_I_FileTreeNode): void
118
121
  }>()
119
122
 
123
+ watch(() => props.type, (newValue) => {
124
+ detach.value = newValue === 'removed'
125
+ })
126
+
120
127
  const { $store }: any = useNuxtApp()
121
128
  const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
122
129
 
@@ -151,13 +158,14 @@ const busValidationType = computed<string>(
151
158
  )
152
159
 
153
160
  const selectedCdDvdDrive = ref<UI_T_CdDvdDrive>('clientDevice')
161
+ if (source.value) selectedCdDvdDrive.value = 'datastoreIsoFile'
154
162
  const cdDvdDriveOptions = ref<UI_I_OptionItem[]>(
155
163
  cdDvdDriveOptionsFunc(localization.value)
156
164
  )
157
165
  const changeCdDvdDrive = (event: UI_I_HTMLSelectElement): void => {
158
166
  const isDatastoreIsoFile = event.target.value === 'datastoreIsoFile'
159
167
  if (!isDatastoreIsoFile) {
160
- cdDvdMedia.value = ''
168
+ source.value = ''
161
169
  return
162
170
  }
163
171
 
@@ -165,66 +173,71 @@ const changeCdDvdDrive = (event: UI_I_HTMLSelectElement): void => {
165
173
  }
166
174
  const isShowFileModal = ref<boolean>(false)
167
175
  const onHideFileModal = (): void => {
168
- if (!cdDvdMedia.value) {
176
+ if (!source.value) {
169
177
  selectedCdDvdDrive.value = 'clientDevice'
170
178
  }
171
179
  isShowFileModal.value = false
172
180
  }
173
181
  const onSelectFile = (file: UI_I_FileTreeNode): void => {
174
- cdDvdMedia.value = file.path
182
+ source.value = file.path
175
183
  }
176
184
  const fileTypes = computed<UI_I_OptionItem[]>(() =>
177
185
  fileTypesFunc(localization.value)
178
186
  )
179
187
 
180
- const cdDvdMedia = ref<string>('')
181
- // const bus = ref<string>('ide')
182
- const bus = ref<string>('sata') // PNCWEB-384
183
-
184
188
  const deleteFilesFromDatastore = ref<boolean>(false)
189
+ watch(deleteFilesFromDatastore, (newValue) => {
190
+ remove.value = props.type === 'removed' && newValue
191
+ })
185
192
 
186
- watch(
187
- [cdDvdMedia, bus, deleteFilesFromDatastore, (): void => props.type],
188
- () => {
189
- emits('send-data', {
190
- create: props.cdDvdDrive.create,
191
- attach: props.cdDvdDrive.attach,
192
- source: cdDvdMedia.value,
193
- size: 0,
194
- bus: bus.value,
195
- device_type: 'cdrom',
196
- provision_type: 'thick',
197
- disk_mode: 'dependent',
198
- sharing: false,
199
- read_only: true,
200
- shares: 0,
201
- cache: 'none',
202
- io: 'native',
203
- limit_iops: 0,
204
- discard: 'unmap',
205
- target: props.cdDvdDrive.target,
206
- boot_order: props.cdDvdDrive.boot_order,
207
- detach: props.type === 'removed',
208
- remove: props.type === 'removed' && deleteFilesFromDatastore.value, // Проверяем если удалили диск и указали Delete files from datastore
209
- })
210
- },
211
- { immediate: true }
212
- )
193
+ // const cdDvdMedia = ref<string>('')
194
+ // const bus = ref<string>('ide')
195
+ // const bus = ref<string>('sata') // PNCWEB-384
196
+ //
197
+ // const deleteFilesFromDatastore = ref<boolean>(false)
198
+
199
+ // watch(
200
+ // [cdDvdMedia, bus, deleteFilesFromDatastore, (): void => props.type],
201
+ // () => {
202
+ // emits('send-data', {
203
+ // create: props.cdDvdDrive.create,
204
+ // attach: props.cdDvdDrive.attach,
205
+ // source: cdDvdMedia.value,
206
+ // size: 0,
207
+ // bus: bus.value,
208
+ // device_type: 'cdrom',
209
+ // provision_type: 'thick',
210
+ // disk_mode: 'dependent',
211
+ // sharing: false,
212
+ // read_only: true,
213
+ // shares: 0,
214
+ // cache: 'none',
215
+ // io: 'native',
216
+ // limit_iops: 0,
217
+ // discard: 'unmap',
218
+ // target: props.cdDvdDrive.target,
219
+ // boot_order: props.cdDvdDrive.boot_order,
220
+ // detach: props.type === 'removed',
221
+ // remove: props.type === 'removed' && deleteFilesFromDatastore.value, // Проверяем если удалили диск и указали Delete files from datastore
222
+ // })
223
+ // },
224
+ // { immediate: true }
225
+ // )
213
226
 
214
227
  // Добавляем данные для редактирования
215
- watch(
216
- () => props.cdDvdDrive,
217
- (newValue) => {
218
- if (newValue.source !== '') {
219
- selectedCdDvdDrive.value = 'datastoreIsoFile'
220
- cdDvdMedia.value = newValue.source
221
- }
222
- if (newValue.bus !== '') {
223
- bus.value = newValue.bus
224
- }
225
- },
226
- { immediate: true }
227
- )
228
+ // watch(
229
+ // () => props.cdDvdDrive,
230
+ // (newValue) => {
231
+ // if (newValue.source !== '') {
232
+ // selectedCdDvdDrive.value = 'datastoreIsoFile'
233
+ // cdDvdMedia.value = newValue.source
234
+ // }
235
+ // if (newValue.bus !== '') {
236
+ // bus.value = newValue.bus
237
+ // }
238
+ // },
239
+ // { immediate: true }
240
+ // )
228
241
  watch(
229
242
  isRunning,
230
243
  (newValue) => {