bfg-common 1.5.572 → 1.5.573

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 (81) hide show
  1. package/assets/localization/local_be.json +6 -29
  2. package/assets/localization/local_en.json +6 -29
  3. package/assets/localization/local_hy.json +6 -29
  4. package/assets/localization/local_kk.json +6 -29
  5. package/assets/localization/local_ru.json +6 -29
  6. package/assets/localization/local_zh.json +7 -30
  7. package/components/common/diagramMain/DiagramMain.vue +1 -1
  8. package/components/common/modals/confirmByInput/ConfirmByInput.vue +1 -9
  9. package/components/common/modals/confirmByInput/ConfirmByInputNew.vue +2 -7
  10. package/components/common/monitor/overview/filters/lib/config/filterOptions.ts +0 -1
  11. package/components/common/pages/backups/modals/createBackup/CreateBackup.vue +1 -1
  12. package/components/common/pages/backups/modals/createBackup/New.vue +2 -8
  13. package/components/common/pages/backups/modals/createBackup/lib/config/steps.ts +1 -2
  14. package/components/common/pages/backups/modals/restore/Restore.vue +5 -9
  15. package/components/common/pages/backups/modals/restore/RestoreNew.vue +3 -13
  16. package/components/common/pages/backups/modals/restore/RestoreOld.vue +18 -6
  17. package/components/common/pages/scheduledTasks/table/Table.vue +1 -1
  18. package/components/common/vm/actions/add/Add.vue +52 -127
  19. package/components/common/vm/actions/add/New.vue +16 -54
  20. package/components/common/vm/actions/add/Old.vue +16 -55
  21. package/components/common/vm/actions/clone/Clone.vue +48 -121
  22. package/components/common/vm/actions/clone/new/New.vue +14 -50
  23. package/components/common/vm/actions/clone/old/Old.vue +16 -52
  24. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +14 -81
  25. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +7 -56
  26. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +8 -56
  27. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +208 -206
  28. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +223 -120
  29. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +218 -118
  30. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +66 -53
  31. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/lib/config/options.ts +1 -1
  32. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +139 -159
  33. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuNew.vue +8 -15
  34. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuOld.vue +8 -13
  35. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +62 -75
  36. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +241 -149
  37. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +3 -4
  38. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +2 -3
  39. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +58 -96
  40. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +6 -17
  41. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +6 -3
  42. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerOld.vue +6 -3
  43. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +17 -39
  44. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +6 -5
  45. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +6 -5
  46. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/lib/config/options.ts +4 -4
  47. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +6 -93
  48. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +8 -62
  49. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsOld.vue +8 -60
  50. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptions.vue +5 -69
  51. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +12 -32
  52. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsOld.vue +12 -33
  53. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +114 -132
  54. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +41 -6
  55. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderOld.vue +44 -6
  56. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +8 -23
  57. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +21 -31
  58. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsOld.vue +26 -34
  59. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +28 -34
  60. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/Old.vue +24 -30
  61. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +8 -112
  62. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +3 -3
  63. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/{KeymapNew.vue → New.vue} +6 -6
  64. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/{KeymapOld.vue → Old.vue} +5 -5
  65. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +6 -7
  66. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/Tools.vue +4 -38
  67. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/ToolsNew.vue +7 -26
  68. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/ToolsOld.vue +24 -50
  69. package/components/common/vm/actions/common/lib/models/interfaces.ts +57 -25
  70. package/components/common/vm/actions/common/select/os/New.vue +0 -19
  71. package/components/common/vm/actions/common/select/os/Old.vue +0 -34
  72. package/components/common/vm/actions/common/select/os/Os.vue +0 -25
  73. package/components/common/vm/actions/editSettings/EditSettings.vue +32 -90
  74. package/components/common/vm/actions/editSettings/EditSettingsOld.vue +14 -41
  75. package/components/common/vm/actions/editSettings/new/New.vue +14 -41
  76. package/components/common/vm/actions/lib/models/interfaces.ts +4 -29
  77. package/components/common/vm/actions/lib/utils.ts +64 -36
  78. package/package.json +1 -3
  79. package/store/tasks/mappers/recentTasks.ts +0 -4
  80. /package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/{PasswordNew.vue → New.vue} +0 -0
  81. /package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/{PasswordOld.vue → Old.vue} +0 -0
@@ -12,117 +12,237 @@
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: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>
126
246
  <template v-if="props.passthroughDevices || props.mediatedDevices">
127
247
  <common-vm-actions-common-customize-hardware-virtual-hardware-new-pci-device
128
248
  v-for="(item, key) in props.pciDevices"
@@ -152,11 +272,11 @@
152
272
  />
153
273
  </template>
154
274
  <common-vm-actions-common-customize-hardware-virtual-hardware-video-card
275
+ v-model="model.video_card"
155
276
  :is-edit="props.isEdit"
156
277
  :video-card="props.videoCard"
157
278
  :error-validation-fields="props.errorValidationFields"
158
279
  :state="props.state"
159
- @send-data="emits('send-data-video-card-method', $event)"
160
280
  @invalid="videoCardInvalid = $event"
161
281
  @remove-error-by-title="emits('remove-error-by-title', $event)"
162
282
  />
@@ -189,10 +309,7 @@ import type { UI_I_TablePayload } from '~/lib/models/table/interfaces'
189
309
  import type { UI_I_FolderOrFileTreePayload } from '~/lib/models/store/storage/interfaces'
190
310
  import type { UI_I_FileTreeNode } from '~/components/lib/models/interfaces'
191
311
  import type {
192
- UI_I_SendDataCpu,
193
- UI_I_SendDataMemory,
194
312
  UI_I_SendDataNewHardDisk,
195
- UI_I_SendDataNewNetwork,
196
313
  UI_I_SendDataVideoCard,
197
314
  UI_I_SendDataNewCdDvdDrive,
198
315
  // UI_I_HardDisk,
@@ -211,11 +328,13 @@ import type {
211
328
  import type { UI_I_Localization } from '~/lib/models/interfaces'
212
329
  import type {
213
330
  API_UI_I_VmEditCpu,
214
- API_UI_I_VmEditMemory,
215
331
  UI_I_MediatedDevice,
216
332
  UI_I_PciDevice,
217
333
  } from '~/lib/models/store/vm/interfaces'
218
334
  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 })
219
338
 
220
339
  const cpuInvalid = defineModel<boolean>('cpuInvalid', { required: true })
221
340
  const memoryInvalid = defineModel<boolean>('memoryInvalid', { required: true })
@@ -230,7 +349,6 @@ const props = withDefaults(
230
349
  isEdit: boolean
231
350
  storage: UI_I_DatastoreTableItem | null
232
351
  project: UI_T_Project
233
- maxCpus: number
234
352
  maxMemory: number
235
353
  cpuModels: UI_I_OptionItem[]
236
354
  datastore: UI_I_DatastoreTableItem[]
@@ -246,17 +364,12 @@ const props = withDefaults(
246
364
  pciDevicesIndex: number[]
247
365
  cdDvdDrivesType: UI_T_NetworkType[]
248
366
  cdDvdDrivesIndex: number[]
249
- errorValidationFields: UI_I_ErrorValidationField<string>[]
367
+ errorValidationFields: UI_I_ErrorValidationField[]
250
368
  getDatastoreTableFunc: (payload: UI_I_TablePayload) => Promise<void>
251
369
  cpu?: API_UI_I_VmEditCpu
252
370
  state?: string | number
253
- memory?: API_UI_I_VmEditMemory
254
- networks?: UI_I_SendDataNewNetwork[] | null
255
- hardDisks?: UI_I_SendDataNewHardDisk[] | null
256
371
  videoCard?: UI_I_SendDataVideoCard
257
372
  pciDevices?: UI_I_SendDataNewPciDevice[]
258
- cdDvdDrives?: UI_I_SendDataNewCdDvdDrive[] | null
259
- usbController?: string
260
373
  guestMachineType?: UI_I_OptionItem | null
261
374
  passthroughDevices?: UI_I_PciDevice[]
262
375
  mediatedDevices?: UI_I_MediatedDevice[]
@@ -266,13 +379,8 @@ const props = withDefaults(
266
379
  {
267
380
  cpu: undefined,
268
381
  state: undefined,
269
- memory: undefined,
270
- networks: undefined,
271
- hardDisks: undefined,
272
382
  videoCard: undefined,
273
383
  pciDevices: undefined,
274
- cdDvdDrives: undefined,
275
- usbController: undefined,
276
384
  guestMachineType: undefined,
277
385
  passthroughDevices: undefined,
278
386
  mediatedDevices: undefined,
@@ -297,18 +405,11 @@ const emits = defineEmits<{
297
405
  ): void
298
406
  (event: 'show-datastore-child', value: UI_I_FileTreeNode): void
299
407
  (event: 'get-folders-or-files', value: UI_I_FolderOrFileTreePayload): void
300
- (event: 'send-data-cpu-method', value: UI_I_SendDataCpu): void
301
408
  (event: 'set-invalid-hard-disk', value: [boolean, number]): void
302
409
  (event: 'remove-error-by-title', value: string): void
303
410
  (event: 'roll-back-cd-dvd-drive', value: number): void
304
411
  (event: 'set-invalid-pci-device', value: [boolean, number]): void
305
412
  (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
413
  (
313
414
  event: 'send-data-pci-devices-method',
314
415
  value: [UI_I_SendDataNewPciDevice, number]
@@ -321,7 +422,6 @@ const emits = defineEmits<{
321
422
  event: 'send-data-new-cd-dvd-drive-method',
322
423
  value: [UI_I_SendDataNewCdDvdDrive, number]
323
424
  ): void
324
- (event: 'send-data-new-usb-controller-method', value: string): void
325
425
  }>()
326
426
 
327
427
  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) => {
@@ -5,7 +5,7 @@ export const cdDvdDriveOptionsFunc = (
5
5
  localization: UI_I_Localization
6
6
  ): UI_I_OptionItem[] => {
7
7
  return [
8
- { text: '---', value: 'clientDevice' },
8
+ { text: localization.common.clientDevice, value: 'clientDevice' },
9
9
  { text: localization.common.datastoreIsoFile, value: 'datastoreIsoFile' },
10
10
  ]
11
11
  }