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
@@ -12,237 +12,117 @@
12
12
  <div class="clr-component">
13
13
  <div class="stack-view">
14
14
  <common-vm-actions-common-customize-hardware-virtual-hardware-cpu
15
- v-model="model"
15
+ :max-cpus="props.maxCpus"
16
16
  :cpu-models="props.cpuModels"
17
+ :cpu="props.cpu"
17
18
  :is-edit="props.isEdit"
18
19
  :state="props.state"
19
20
  :error-validation-fields="props.errorValidationFields"
20
21
  :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
22
+ @send-data="emits('send-data-cpu-method', $event)"
21
23
  @remove-error-by-title="emits('remove-error-by-title', $event)"
22
24
  @invalid="cpuInvalid = $event"
23
25
  />
24
26
  <common-vm-actions-common-customize-hardware-virtual-hardware-memory
25
- v-model="model"
26
27
  :max-memory="props.maxMemory"
27
28
  :is-edit="props.isEdit"
29
+ :memory="props.memory"
28
30
  :state="props.state"
29
31
  :error-validation-fields="props.errorValidationFields"
32
+ @send-data="emits('send-data-memory-method', $event)"
30
33
  @invalid="memoryInvalid = $event"
31
34
  @remove-error-by-title="emits('remove-error-by-title', $event)"
32
35
  />
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
- )"
36
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk
37
+ v-for="(item, key) in props.hardDisks"
66
38
  :key="props.hardDisksIndex[key]"
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"
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"
141
66
  :key="props.networksIndex[key]"
142
- >
143
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-network
144
- v-model:network="item.network"
145
- v-model:net-bridge="item.net_bridge"
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
- @remove="emits('remove-network', props.networksIndex[key])"
156
- @invalid="
157
- emits('set-invalid-network', [$event, props.networksIndex[key]])
158
- "
159
- @remove-error-by-title="emits('remove-error-by-title', $event)"
160
- @get-networks-table="emits('get-networks-table', $event)"
161
- />
162
- </div>
163
- <!-- <common-vm-actions-common-customize-hardware-virtual-hardware-cd-dvd-drive-->
164
- <!-- v-for="(item, key) in props.cdDvdDrives"-->
165
- <!-- :key="props.cdDvdDrivesIndex[key]"-->
166
- <!-- :index="props.cdDvdDrivesIndex[key]"-->
167
- <!-- :hard-disks-count="props.hardDisks?.length || 0"-->
168
- <!-- :type="props.cdDvdDrivesType[key]"-->
169
- <!-- :cd-dvd-drive="item"-->
170
- <!-- :nodes="props.nodes"-->
171
- <!-- :files="props.files"-->
172
- <!-- :error-validation-fields="props.errorValidationFields"-->
173
- <!-- :is-edit="props.isEdit"-->
174
- <!-- :state="props.state"-->
175
- <!-- :guest-machine-type="props.guestMachineType"-->
176
- <!-- :compute-resource="props.computeResource"-->
177
- <!-- @remove-error-by-title="emits('remove-error-by-title', $event)"-->
178
- <!-- @get-storage="emits('get-storage', $event)"-->
179
- <!-- @get-folders-or-files="emits('get-folders-or-files', $event)"-->
180
- <!-- @get-active-device-child="emits('get-active-device-child', $event)"-->
181
- <!-- @show-datastore-child="emits('show-datastore-child', $event)"-->
182
- <!-- @remove="-->
183
- <!-- emits('remove-cd-dvd-drive', [props.cdDvdDrivesIndex[key], item])-->
184
- <!-- "-->
185
- <!-- @roll-back="-->
186
- <!-- emits('roll-back-cd-dvd-drive', props.cdDvdDrivesIndex[key])-->
187
- <!-- "-->
188
- <!-- @send-data="-->
189
- <!-- emits('send-data-new-cd-dvd-drive-method', [-->
190
- <!-- $event,-->
191
- <!-- props.cdDvdDrivesIndex[key],-->
192
- <!-- ])-->
193
- <!-- "-->
194
- <!-- />-->
195
- <div
196
- v-for="(item, key) in model.disk_devices.filter(
197
- (disk) => disk.device_type === 'cdrom'
198
- )"
199
- :key="props.hardDisksIndex[key]"
200
- >
201
- <!-- TODO count-->
202
- <common-vm-actions-common-customize-hardware-virtual-hardware-cd-dvd-drive
203
- v-model:source="item.source"
204
- v-model:bus="item.bus"
205
- v-model:remove="item.remove"
206
- v-model:detach="item.detach"
207
- :index="props.cdDvdDrivesIndex[key]"
208
- :hard-disks-count="
209
- model.disk_devices.filter((disk) => disk.device_type !== 'cdrom')
210
- ?.length || 0
211
- "
212
- :type="props.cdDvdDrivesType[key]"
213
- :nodes="props.nodes"
214
- :files="props.files"
215
- :error-validation-fields="props.errorValidationFields"
216
- :is-edit="props.isEdit"
217
- :state="props.state"
218
- :guest-machine-type="props.guestMachineType"
219
- :compute-resource="props.computeResource"
220
- @remove-error-by-title="emits('remove-error-by-title', $event)"
221
- @get-storage="emits('get-storage', $event)"
222
- @get-folders-or-files="emits('get-folders-or-files', $event)"
223
- @get-active-device-child="emits('get-active-device-child', $event)"
224
- @show-datastore-child="emits('show-datastore-child', $event)"
225
- @remove="
226
- emits('remove-cd-dvd-drive', [props.cdDvdDrivesIndex[key], item])
227
- "
228
- @roll-back="
229
- emits('roll-back-cd-dvd-drive', props.cdDvdDrivesIndex[key])
230
- "
231
- @send-data="
232
- emits('send-data-new-cd-dvd-drive-method', [
233
- $event,
234
- props.cdDvdDrivesIndex[key],
235
- ])
236
- "
237
- />
238
- </div>
239
- <div v-for="(item, key) in model.usb_controllers" :key="key">
240
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-usb-controller
241
- v-model="item.type"
242
- :is-edit="props.isEdit"
243
- :state="props.state"
244
- />
245
- </div>
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
+ />
246
126
  <template v-if="props.passthroughDevices || props.mediatedDevices">
247
127
  <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device
248
128
  v-for="(item, key) in props.pciDevices"
@@ -272,11 +152,11 @@
272
152
  />
273
153
  </template>
274
154
  <common-vm-actions-common-customize-hardware-virtual-hardware-video-card
275
- v-model="model.video_card"
276
155
  :is-edit="props.isEdit"
277
156
  :video-card="props.videoCard"
278
157
  :error-validation-fields="props.errorValidationFields"
279
158
  :state="props.state"
159
+ @send-data="emits('send-data-video-card-method', $event)"
280
160
  @invalid="videoCardInvalid = $event"
281
161
  @remove-error-by-title="emits('remove-error-by-title', $event)"
282
162
  />
@@ -309,7 +189,10 @@ import type { UI_I_TablePayload } from '~/lib/models/table/interfaces'
309
189
  import type { UI_I_FolderOrFileTreePayload } from '~/lib/models/store/storage/interfaces'
310
190
  import type { UI_I_FileTreeNode } from '~/components/lib/models/interfaces'
311
191
  import type {
192
+ UI_I_SendDataCpu,
193
+ UI_I_SendDataMemory,
312
194
  UI_I_SendDataNewHardDisk,
195
+ UI_I_SendDataNewNetwork,
313
196
  UI_I_SendDataVideoCard,
314
197
  UI_I_SendDataNewCdDvdDrive,
315
198
  // UI_I_HardDisk,
@@ -328,13 +211,11 @@ import type {
328
211
  import type { UI_I_Localization } from '~/lib/models/interfaces'
329
212
  import type {
330
213
  API_UI_I_VmEditCpu,
214
+ API_UI_I_VmEditMemory,
331
215
  UI_I_MediatedDevice,
332
216
  UI_I_PciDevice,
333
217
  } from '~/lib/models/store/vm/interfaces'
334
218
  import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
335
- import type { UI_I_CreateVmData } from '~/components/common/vm/actions/common/lib/models/interfaces'
336
-
337
- const model = defineModel<UI_I_CreateVmData>({ required: true })
338
219
 
339
220
  const cpuInvalid = defineModel<boolean>('cpuInvalid', { required: true })
340
221
  const memoryInvalid = defineModel<boolean>('memoryInvalid', { required: true })
@@ -349,6 +230,7 @@ const props = withDefaults(
349
230
  isEdit: boolean
350
231
  storage: UI_I_DatastoreTableItem | null
351
232
  project: UI_T_Project
233
+ maxCpus: number
352
234
  maxMemory: number
353
235
  cpuModels: UI_I_OptionItem[]
354
236
  datastore: UI_I_DatastoreTableItem[]
@@ -364,12 +246,17 @@ const props = withDefaults(
364
246
  pciDevicesIndex: number[]
365
247
  cdDvdDrivesType: UI_T_NetworkType[]
366
248
  cdDvdDrivesIndex: number[]
367
- errorValidationFields: UI_I_ErrorValidationField[]
249
+ errorValidationFields: UI_I_ErrorValidationField<string>[]
368
250
  getDatastoreTableFunc: (payload: UI_I_TablePayload) => Promise<void>
369
251
  cpu?: API_UI_I_VmEditCpu
370
252
  state?: string | number
253
+ memory?: API_UI_I_VmEditMemory
254
+ networks?: UI_I_SendDataNewNetwork[] | null
255
+ hardDisks?: UI_I_SendDataNewHardDisk[] | null
371
256
  videoCard?: UI_I_SendDataVideoCard
372
257
  pciDevices?: UI_I_SendDataNewPciDevice[]
258
+ cdDvdDrives?: UI_I_SendDataNewCdDvdDrive[] | null
259
+ usbController?: string
373
260
  guestMachineType?: UI_I_OptionItem | null
374
261
  passthroughDevices?: UI_I_PciDevice[]
375
262
  mediatedDevices?: UI_I_MediatedDevice[]
@@ -379,8 +266,13 @@ const props = withDefaults(
379
266
  {
380
267
  cpu: undefined,
381
268
  state: undefined,
269
+ memory: undefined,
270
+ networks: undefined,
271
+ hardDisks: undefined,
382
272
  videoCard: undefined,
383
273
  pciDevices: undefined,
274
+ cdDvdDrives: undefined,
275
+ usbController: undefined,
384
276
  guestMachineType: undefined,
385
277
  passthroughDevices: undefined,
386
278
  mediatedDevices: undefined,
@@ -405,11 +297,18 @@ const emits = defineEmits<{
405
297
  ): void
406
298
  (event: 'show-datastore-child', value: UI_I_FileTreeNode): void
407
299
  (event: 'get-folders-or-files', value: UI_I_FolderOrFileTreePayload): void
300
+ (event: 'send-data-cpu-method', value: UI_I_SendDataCpu): void
408
301
  (event: 'set-invalid-hard-disk', value: [boolean, number]): void
409
302
  (event: 'remove-error-by-title', value: string): void
410
303
  (event: 'roll-back-cd-dvd-drive', value: number): void
411
304
  (event: 'set-invalid-pci-device', value: [boolean, number]): void
412
305
  (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
413
312
  (
414
313
  event: 'send-data-pci-devices-method',
415
314
  value: [UI_I_SendDataNewPciDevice, number]
@@ -422,6 +321,7 @@ const emits = defineEmits<{
422
321
  event: 'send-data-new-cd-dvd-drive-method',
423
322
  value: [UI_I_SendDataNewCdDvdDrive, number]
424
323
  ): void
324
+ (event: 'send-data-new-usb-controller-method', value: string): void
425
325
  }>()
426
326
 
427
327
  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="source"
6
+ v-model:cd-dvd-media="cdDvdMedia"
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="source"
39
+ v-model:cd-dvd-media="cdDvdMedia"
40
40
  v-model:is-show-file-modal="isShowFileModal"
41
41
  v-model:bus="bus"
42
42
  :index="props.index"
@@ -71,6 +71,7 @@
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'
74
75
  import type {
75
76
  UI_I_Localization,
76
77
  UI_I_HTMLSelectElement,
@@ -83,19 +84,14 @@ import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models
83
84
  import { cdDvdDriveOptionsFunc } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/lib/config/options'
84
85
  import { fileTypesFunc } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/lib/config/fileTypes'
85
86
 
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
-
92
87
  const props = withDefaults(
93
88
  defineProps<{
94
89
  hardDisksCount: number
95
90
  index: number
91
+ cdDvdDrive: UI_I_SendDataNewCdDvdDrive
96
92
  nodes: UI_I_FileTreeNode[]
97
93
  files: UI_I_FileTreeNode[]
98
- errorValidationFields: UI_I_ErrorValidationField[]
94
+ errorValidationFields: UI_I_ErrorValidationField<string>[]
99
95
  type: UI_T_CdDvdType
100
96
  isEdit: boolean
101
97
  disabled: boolean
@@ -111,6 +107,7 @@ const props = withDefaults(
111
107
  )
112
108
 
113
109
  const emits = defineEmits<{
110
+ (event: 'send-data', value: UI_I_SendDataNewCdDvdDrive): void
114
111
  (event: 'remove'): void
115
112
  (event: 'roll-back'): void
116
113
  (event: 'remove-error-by-title', value: string): void
@@ -120,10 +117,6 @@ const emits = defineEmits<{
120
117
  (event: 'show-datastore-child', value: UI_I_FileTreeNode): void
121
118
  }>()
122
119
 
123
- watch(() => props.type, (newValue) => {
124
- detach.value = newValue === 'removed'
125
- })
126
-
127
120
  const { $store }: any = useNuxtApp()
128
121
  const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
129
122
 
@@ -164,7 +157,7 @@ const cdDvdDriveOptions = ref<UI_I_OptionItem[]>(
164
157
  const changeCdDvdDrive = (event: UI_I_HTMLSelectElement): void => {
165
158
  const isDatastoreIsoFile = event.target.value === 'datastoreIsoFile'
166
159
  if (!isDatastoreIsoFile) {
167
- source.value = ''
160
+ cdDvdMedia.value = ''
168
161
  return
169
162
  }
170
163
 
@@ -172,71 +165,66 @@ const changeCdDvdDrive = (event: UI_I_HTMLSelectElement): void => {
172
165
  }
173
166
  const isShowFileModal = ref<boolean>(false)
174
167
  const onHideFileModal = (): void => {
175
- if (!source.value) {
168
+ if (!cdDvdMedia.value) {
176
169
  selectedCdDvdDrive.value = 'clientDevice'
177
170
  }
178
171
  isShowFileModal.value = false
179
172
  }
180
173
  const onSelectFile = (file: UI_I_FileTreeNode): void => {
181
- source.value = file.path
174
+ cdDvdMedia.value = file.path
182
175
  }
183
176
  const fileTypes = computed<UI_I_OptionItem[]>(() =>
184
177
  fileTypesFunc(localization.value)
185
178
  )
186
179
 
180
+ const cdDvdMedia = ref<string>('')
181
+ // const bus = ref<string>('ide')
182
+ const bus = ref<string>('sata') // PNCWEB-384
183
+
187
184
  const deleteFilesFromDatastore = ref<boolean>(false)
188
- watch(deleteFilesFromDatastore, (newValue) => {
189
- remove.value = props.type === 'removed' && newValue
190
- })
191
185
 
192
- // const cdDvdMedia = ref<string>('')
193
- // const bus = ref<string>('ide')
194
- // const bus = ref<string>('sata') // PNCWEB-384
195
- //
196
- // const deleteFilesFromDatastore = ref<boolean>(false)
197
-
198
- // watch(
199
- // [cdDvdMedia, bus, deleteFilesFromDatastore, (): void => props.type],
200
- // () => {
201
- // emits('send-data', {
202
- // create: props.cdDvdDrive.create,
203
- // attach: props.cdDvdDrive.attach,
204
- // source: cdDvdMedia.value,
205
- // size: 0,
206
- // bus: bus.value,
207
- // device_type: 'cdrom',
208
- // provision_type: 'thick',
209
- // disk_mode: 'dependent',
210
- // sharing: false,
211
- // read_only: true,
212
- // shares: 0,
213
- // cache: 'none',
214
- // io: 'native',
215
- // limit_iops: 0,
216
- // discard: 'unmap',
217
- // target: props.cdDvdDrive.target,
218
- // boot_order: props.cdDvdDrive.boot_order,
219
- // detach: props.type === 'removed',
220
- // remove: props.type === 'removed' && deleteFilesFromDatastore.value, // Проверяем если удалили диск и указали Delete files from datastore
221
- // })
222
- // },
223
- // { immediate: true }
224
- // )
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
+ )
225
213
 
226
214
  // Добавляем данные для редактирования
227
- // watch(
228
- // () => props.cdDvdDrive,
229
- // (newValue) => {
230
- // if (newValue.source !== '') {
231
- // selectedCdDvdDrive.value = 'datastoreIsoFile'
232
- // cdDvdMedia.value = newValue.source
233
- // }
234
- // if (newValue.bus !== '') {
235
- // bus.value = newValue.bus
236
- // }
237
- // },
238
- // { immediate: true }
239
- // )
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
+ )
240
228
  watch(
241
229
  isRunning,
242
230
  (newValue) => {