bfg-common 1.5.523 → 1.5.525

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 (116) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  3. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  4. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  5. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  6. package/assets/scss/common/icons/icons-1.scss +1 -1
  7. package/components/atoms/TheIcon3.vue +50 -50
  8. package/components/atoms/collapse/CollapseNav.vue +170 -170
  9. package/components/atoms/perPage/PerPage.vue +58 -58
  10. package/components/atoms/table/dataGrid/DataGridPagination.vue +97 -97
  11. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  12. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  13. package/components/common/backup/storage/actions/add/Add.vue +251 -251
  14. package/components/common/backup/storage/actions/add/lib/utils.ts +51 -51
  15. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  16. package/components/common/diagramMain/modals/lib/config/portModal.ts +251 -251
  17. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  18. package/components/common/diagramMain/port/Port.vue +580 -580
  19. package/components/common/layout/theHeader/helpMenu/About.vue +79 -79
  20. package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +79 -79
  21. package/components/common/pages/backups/DetailView.vue +52 -52
  22. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  23. package/components/common/pages/backups/modals/Modals.vue +243 -243
  24. package/components/common/pages/backups/modals/createBackup/CreateBackup.vue +1 -1
  25. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  26. package/components/common/pages/backups/modals/createBackup/lib/config/readyToCompleteOptions.ts +23 -13
  27. package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
  28. package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
  29. package/components/common/pages/backups/modals/restore/disks/Disks.vue +27 -27
  30. package/components/common/pages/backups/modals/restore/disks/tableView/lib/config/table.ts +117 -117
  31. package/components/common/pages/backups/modals/restore/name/Name.vue +166 -166
  32. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  33. package/components/common/pages/backups/modals/restore/networks/Networks.vue +67 -67
  34. package/components/common/pages/backups/modals/restore/networks/table/Table.vue +214 -214
  35. package/components/common/pages/backups/modals/restore/types/lib/config/typeOptions.ts +25 -25
  36. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  37. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  38. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  39. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  40. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  41. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  42. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  43. package/components/common/select/radio/RadioGroup.vue +137 -137
  44. package/components/common/spiceConsole/Drawer.vue +420 -420
  45. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  46. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  47. package/components/common/tools/Actions.vue +207 -207
  48. package/components/common/treeView/TreeView.vue +52 -52
  49. package/components/common/vm/actions/add/Add.vue +895 -895
  50. package/components/common/vm/actions/add/New.vue +695 -695
  51. package/components/common/vm/actions/add/Old.vue +414 -414
  52. package/components/common/vm/actions/add/lib/config/steps.ts +347 -347
  53. package/components/common/vm/actions/clone/Clone.vue +754 -863
  54. package/components/common/vm/actions/clone/cloneNew/CloneNew.vue +434 -0
  55. package/components/common/vm/actions/clone/cloneOld/CloneOld.vue +382 -0
  56. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +368 -368
  57. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  58. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  59. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +427 -427
  60. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +154 -154
  61. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/Table.vue +99 -99
  62. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  63. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  64. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  65. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +53 -53
  66. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
  67. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +60 -60
  68. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +174 -174
  69. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  70. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  71. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  72. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  73. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +143 -143
  74. package/components/common/vm/actions/common/select/computeResource/New.vue +184 -184
  75. package/components/common/vm/actions/common/select/computeResource/treeView/TreeView.vue +131 -131
  76. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  77. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  78. package/components/common/vm/actions/common/select/os/Old.vue +152 -152
  79. package/components/common/vm/actions/common/select/os/Os.vue +139 -139
  80. package/components/common/vm/actions/common/select/storage/new/New.vue +330 -320
  81. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  82. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  83. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  84. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  85. package/components/common/vm/actions/register/Register.vue +285 -285
  86. package/components/common/vm/actions/register/lib/config/steps.ts +86 -86
  87. package/components/common/wizards/common/steps/name/Name.vue +179 -179
  88. package/components/common/wizards/common/steps/name/New.vue +221 -221
  89. package/components/common/wizards/common/steps/name/Old.vue +121 -121
  90. package/components/common/wizards/common/steps/name/lib/models/interfaces.ts +4 -4
  91. package/components/common/wizards/common/steps/name/location/Location.vue +85 -85
  92. package/components/common/wizards/common/steps/name/location/New.vue +40 -40
  93. package/components/common/wizards/datastore/add/Add.vue +228 -228
  94. package/components/common/wizards/datastore/add/lib/utils.ts +85 -85
  95. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  96. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  97. package/composables/useAppVersion.ts +21 -21
  98. package/composables/useLocal.ts +6 -6
  99. package/composables/useLocalCommon.ts +39 -39
  100. package/package.json +1 -1
  101. package/plugins/console.ts +21 -21
  102. package/plugins/date.ts +233 -233
  103. package/plugins/mouse.ts +21 -21
  104. package/plugins/panelStates.ts +70 -70
  105. package/plugins/text.ts +59 -59
  106. package/public/spice-console/application/clientgui.js +854 -854
  107. package/public/spice-console/application/packetfactory.js +211 -211
  108. package/public/spice-console/application/virtualmouse.js +147 -147
  109. package/public/spice-console/lib/images/bitmap.js +203 -203
  110. package/public/spice-console/network/spicechannel.js +440 -440
  111. package/public/spice-console/process/cursorprocess.js +121 -121
  112. package/public/spice-console/process/inputprocess.js +227 -227
  113. package/public/spice-console/process/mainprocess.js +210 -210
  114. package/public/spice-console/run.js +210 -210
  115. package/store/main/mutations.ts +7 -7
  116. package/store/main/state.ts +7 -7
@@ -0,0 +1,434 @@
1
+ <template>
2
+ <ui-wizard
3
+ :steps="props.wizard.steps"
4
+ :selected-scheme="props.selectedScheme"
5
+ :is-loading="props.wizard.wizardLoader.status"
6
+ :title="props.title"
7
+ :texts="texts"
8
+ test-id="clone-exist-vm"
9
+ show
10
+ @change-steps="onChangeSteps"
11
+ @hide="onHideModal"
12
+ @submit="onClone"
13
+ >
14
+ <template #content="{ selectedStep }">
15
+ <ui-wizard-block
16
+ v-if="selectedStep.id === props.dynamicSteps.scheduledTasks"
17
+ :sub-title-height="height0"
18
+ >
19
+ <template #subTitle>
20
+ <div ref="subTitleBlock0">
21
+ <div class="subtitle-block flex flex-col">
22
+ <ui-wizard-subtitle :sub-title="selectedStep.subTitle" />
23
+ </div>
24
+ </div>
25
+ </template>
26
+ <template #content>
27
+ <common-pages-scheduled-tasks-modals-common-new-task-form
28
+ v-model="schedulerTaskForm"
29
+ :target="props.selectedVirtualMachine"
30
+ class="new-task-form"
31
+ />
32
+ </template>
33
+ </ui-wizard-block>
34
+
35
+ <ui-wizard-block
36
+ v-if="
37
+ selectedStep.id === props.dynamicSteps.selectName ||
38
+ selectedStep.id === props.dynamicSteps.selectNameFolder
39
+ "
40
+ :sub-title-height="height1"
41
+ >
42
+ <template #subTitle>
43
+ <div ref="subTitleBlock1">
44
+ <div class="subtitle-block flex flex-col">
45
+ <div
46
+ id="name-alert-wrapper"
47
+ :class="[{ 'mb-4': !isNameAlertWrapperEmpty }]"
48
+ ></div>
49
+ <ui-wizard-subtitle
50
+ :sub-title="localization.common.specifyUniqueNameForVm"
51
+ />
52
+ </div>
53
+ </div>
54
+ </template>
55
+ <template #content>
56
+ <common-wizards-common-steps-name
57
+ v-model:name="vmForm.name"
58
+ v-model:location="location"
59
+ :show="
60
+ selectedStep.id === props.dynamicSteps.selectName ||
61
+ selectedStep.id === props.dynamicSteps.selectNameFolder
62
+ "
63
+ :name-form-submit="props.nameFormSubmit"
64
+ :name-request-url="props.nameRequestUrl"
65
+ :has-location="props.project === 'sphere'"
66
+ :location-nodes="props.locationNodes"
67
+ :allowed-location-kinds="props.allowedLocationKinds"
68
+ :location-description="props.locationDescription"
69
+ :validation-description="
70
+ localization.common.enterValidLocationVirtualMachine
71
+ "
72
+ :name-exist-validation-description="
73
+ localization.common.vmNameExistInSelectedLocation
74
+ "
75
+ :test-ids="props.nameTestIds"
76
+ @submit="emits('change-name', $event)"
77
+ @has-errors="isNameAlertWrapperEmpty = $event"
78
+ />
79
+ </template>
80
+ </ui-wizard-block>
81
+
82
+ <ui-wizard-block
83
+ v-if="selectedStep.id === props.dynamicSteps.selectStorage"
84
+ :sub-title-height="height2"
85
+ >
86
+ <template #subTitle>
87
+ <div ref="subTitleBlock2">
88
+ <div class="subtitle-block flex flex-col">
89
+ <ui-wizard-subtitle
90
+ :sub-title="
91
+ localization.common.selectStorageConfigurationDiskFiles2
92
+ "
93
+ />
94
+ </div>
95
+ </div>
96
+ </template>
97
+ <template #content>
98
+ <common-vm-actions-common-select-storage
99
+ :storage-submit="props.storageSubmit"
100
+ :datastore="props.datastore"
101
+ :is-datastore-loading="props.isDatastoreLoading"
102
+ :storage="vmForm.storage"
103
+ :get-datastore-table-func="props.getDatastoreTableFunc"
104
+ hide-alert
105
+ @change-storage="emits('change-storage', $event)"
106
+ />
107
+ </template>
108
+ </ui-wizard-block>
109
+
110
+ <ui-wizard-block
111
+ v-if="selectedStep.id === props.dynamicSteps.selectOptions"
112
+ :sub-title-height="height3"
113
+ >
114
+ <template #subTitle>
115
+ <div ref="subTitleBlock3">
116
+ <div class="subtitle-block flex flex-col">
117
+ <ui-wizard-subtitle
118
+ :sub-title="localization.vmWizard.selectAdvancedOptionsCloning"
119
+ />
120
+ </div>
121
+ </div>
122
+ </template>
123
+ <template #content>
124
+ <common-vm-actions-common-select-options
125
+ :is-create-template="props.isNewVmFromTemplate"
126
+ @change="emits('change-select-options', $event)"
127
+ />
128
+ </template>
129
+ </ui-wizard-block>
130
+
131
+ <ui-wizard-block
132
+ v-if="selectedStep.id === props.dynamicSteps.selectGuestOSMachineType"
133
+ :sub-title-height="height4"
134
+ >
135
+ <template #subTitle>
136
+ <div ref="subTitleBlock4">
137
+ <div class="subtitle-block flex flex-col">
138
+ <ui-wizard-subtitle
139
+ :sub-title="
140
+ localization.common
141
+ .chooseGuestOSInstalledVmAndMachineTypeUsedCreateVm
142
+ "
143
+ />
144
+ </div>
145
+ </div>
146
+ </template>
147
+ <template #content>
148
+ <common-vm-actions-common-select-os
149
+ v-model:machine-type="vmForm.guestMachineType"
150
+ v-model:guest-os-family="vmForm.guestOsFamily"
151
+ v-model:guest-os-version="vmForm.guestOsVersion"
152
+ :families-options="props.guestOsFamilies"
153
+ :versions-options="props.guestOsVersions"
154
+ :machine-types-options="props.machineTypes"
155
+ :error-validation-fields="props.errorValidationFields"
156
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
157
+ />
158
+ </template>
159
+ </ui-wizard-block>
160
+
161
+ <ui-wizard-block
162
+ v-if="selectedStep.id === props.dynamicSteps.customizeHardware"
163
+ >
164
+ <template #content>
165
+ <common-vm-actions-common-customize-hardware
166
+ v-model:vm-name="vmName"
167
+ v-model:guest-machine-type="props.vmSettings.guestMachineType"
168
+ v-model:guest-os-family="props.vmSettings.guestOsFamily"
169
+ v-model:guest-os-version="props.vmSettings.guestOsVersion"
170
+ :storage="vmForm.storage"
171
+ :hard-disks-for-boot-options="props.virtualHardwareHardDisksLocal"
172
+ :cd-dvd-drives-for-boot-options="
173
+ props.virtualHardwareCdDvdDrivesLocal
174
+ "
175
+ :networks-for-boot-options="props.virtualHardwareNetworksLocal"
176
+ :cd-dvd-drives="props.vmSettings.cdDvdDrives"
177
+ :hard-disks="props.vmSettings.hardDisks"
178
+ :networks="props.vmSettings.networks"
179
+ :customize-hardware-submit="props.customizeHardwareSubmit"
180
+ :max-cpus="props.vmSettings.maxCpus"
181
+ :max-memory="props.vmSettings.maxMemory"
182
+ :cpu-models="props.vmSettings.cpuModels"
183
+ :cpu="props.vmSettings.cpu"
184
+ :memory="props.vmSettings.memory"
185
+ :video-card="props.vmSettings.videoCard"
186
+ :usb-controller="props.vmSettings.usbController"
187
+ :pci-devices="props.vmSettings.pciDevices"
188
+ :selected-nav-item="props.selectedNavItem"
189
+ :hard-disks-for-edit="props.vmSettings.hardDisks"
190
+ :options="props.vmSettings.options"
191
+ :nodes="props.nodes"
192
+ :files="props.files"
193
+ :networks-table="props.networksTable"
194
+ :error-validation-fields="props.errorValidationFields"
195
+ :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
196
+ :passthrough-devices="props.passthroughDevices"
197
+ :mediated-devices="props.mediatedDevices"
198
+ :get-datastore-table-func="props.getDatastoreTableFunc"
199
+ :datastore="props.datastore"
200
+ :is-datastore-loading="props.isDatastoreLoading"
201
+ :project="props.project"
202
+ is-clone
203
+ @change-boot-order="emits('change-boot-order', $event)"
204
+ @send-data="emits('change-customize-hardware', $event)"
205
+ @get-storage="emits('get-storage', $event)"
206
+ @get-folders-or-files="emits('get-folders-or-files', $event)"
207
+ @get-active-device-child="emits('get-active-device-child', $event)"
208
+ @show-datastore-child="emits('show-datastore-child', $event)"
209
+ @get-networks-table="emits('get-networks-table', $event)"
210
+ @get-pci-devices="emits('get-pci-devices')"
211
+ />
212
+ </template>
213
+ </ui-wizard-block>
214
+
215
+ <ui-wizard-block
216
+ v-if="selectedStep.id === props.dynamicSteps.selectComputeResource"
217
+ >
218
+ <template #content>
219
+ <common-vm-actions-common-select-compute-resource
220
+ v-if="props.isSphere"
221
+ v-model="computeResource"
222
+ :compute-resource-submit="props.computeResourceSubmit"
223
+ :data-center="vmForm.dataCenter"
224
+ :compute-resource="computeResource"
225
+ :compute-resource-tree="props.computeResourceTree"
226
+ @submit="emits('change-compute-resource', $event)"
227
+ @select-compute-resource-tree="
228
+ emits('select-compute-resource-tree-local', $event)
229
+ "
230
+ @get-compute-resource-tree="
231
+ emits('get-compute-resource-tree', $event)
232
+ "
233
+ @show-compute-resource-tree="
234
+ emits('show-compute-resource-tree', $event)
235
+ "
236
+ @clear-compute-resource-tree="emits('clear-compute-resource-tree')"
237
+ />
238
+ </template>
239
+ </ui-wizard-block>
240
+
241
+ <ui-wizard-block
242
+ v-if="selectedStep.id === props.dynamicSteps.readyComplete"
243
+ :sub-title-height="heightReadyComplete"
244
+ >
245
+ <template #subTitle>
246
+ <div ref="subTitleBlockReadyComplete">
247
+ <div class="subtitle-block">
248
+ <ui-wizard-subtitle
249
+ :sub-title="localization.vmWizard.lastCreateSubtitle"
250
+ />
251
+ </div>
252
+ </div>
253
+ </template>
254
+ <template #content>
255
+ <div class="select-block-wrap h-full flex flex-col mt-3">
256
+ <common-ready-to-complete :data="props.readyCompleteTableInfo" />
257
+ <div
258
+ class="vm-hardware-version-wrap justify-end flex flex-1 mt-4 pb-4"
259
+ >
260
+ <span class="vm-hardware-version">{{
261
+ props.compatibilityInfo
262
+ }}</span>
263
+ </div>
264
+ </div>
265
+ </template>
266
+ </ui-wizard-block>
267
+ </template>
268
+ </ui-wizard>
269
+ </template>
270
+
271
+ <script setup lang="ts">
272
+ import { useElementSize } from '@vueuse/core'
273
+ import type {
274
+ UI_I_WizardStep,
275
+ UI_I_WizardTexts,
276
+ } from '~/node_modules/bfg-uikit/components/ui/wizard/lib/models/interfaces'
277
+ import type Wizard from '~/node_modules/bfg-uikit/components/ui/wizard/lib/utils/utils'
278
+ import type {
279
+ UI_I_ArbitraryObject,
280
+ UI_I_Localization,
281
+ } from '~/lib/models/interfaces'
282
+ import type {
283
+ UI_I_SendDataNewCdDvdDrive,
284
+ UI_I_SendDataNewHardDisk,
285
+ UI_I_SendDataNewNetwork,
286
+ } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
287
+ import type { UI_I_SendDataCustomizeHardware } from '~/components/common/vm/actions/common/customizeHardware/lib/models/interfaces'
288
+ import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
289
+ import type { UI_T_ChangeBootOrder } from '~/components/common/vm/actions/lib/models/types'
290
+ import type { UI_I_ScheduleNewTasksForm } from '~/components/common/pages/scheduledTasks/modals/lib/models/interfaces'
291
+ import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
292
+ import type { UI_I_NameTestIds } from '~/components/common/wizards/common/steps/name/lib/models/interfaces'
293
+ import type { UI_T_Project } from '~/lib/models/types'
294
+ import type { UI_I_VmForm } from '~/components/common/vm/actions/common/lib/models/interfaces'
295
+ import type { UI_I_TablePayload } from '~/lib/models/table/interfaces'
296
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
297
+ import type { UI_T_SelectedNavItem } from '~/components/common/vm/actions/common/lib/models/types'
298
+ import type { UI_I_FileTreeNode } from '~/components/lib/models/interfaces'
299
+ import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
300
+ import type {
301
+ UI_I_MediatedDevice,
302
+ UI_I_PciDevice,
303
+ UI_I_VmSettings,
304
+ } from '~/lib/models/store/vm/interfaces'
305
+ import type {
306
+ UI_I_DatastoreTableItem,
307
+ UI_I_FolderOrFileTreePayload,
308
+ } from '~/lib/models/store/storage/interfaces'
309
+ import type { UI_I_TableInfoItem } from '~/components/atoms/table/info/lib/models/interfaces'
310
+
311
+ const vmForm = defineModel<UI_I_VmForm>('vm-form')
312
+ const schedulerTaskForm = defineModel<UI_I_ScheduleNewTasksForm>(
313
+ 'scheduler-task-form'
314
+ )
315
+ const vmName = defineModel<string>('vm-name')
316
+ const computeResource = defineModel<UI_I_TreeNode | undefined>(
317
+ 'compute-resource'
318
+ )
319
+ const location = defineModel<UI_I_TreeNode | null>('location')
320
+ const props = defineProps<{
321
+ project: UI_T_Project
322
+ vmSettings: UI_I_VmSettings | null
323
+ nodes: UI_I_FileTreeNode[]
324
+ files: UI_I_FileTreeNode[]
325
+ networksTable: UI_I_NetworkTableItem[]
326
+ datastore: UI_I_DatastoreTableItem[]
327
+ isDatastoreLoading: boolean
328
+ errorValidationFields: UI_I_ErrorValidationField[]
329
+ readyCompleteTableInfo: UI_I_TableInfoItem[]
330
+ vmCpuHelpTextSecond: string
331
+ getDatastoreTableFunc: (payload: UI_I_TablePayload) => Promise<void>
332
+ passthroughDevices: UI_I_PciDevice[]
333
+ mediatedDevices: UI_I_MediatedDevice[]
334
+ nameRequestUrl: string
335
+ wizard: Wizard
336
+ selectedScheme: number[]
337
+ selectedVirtualMachine: string
338
+ isNewVmFromTemplate: boolean | undefined
339
+ computeResourceTree: UI_I_TreeNode[] | undefined // для сферы
340
+ locationNodes: UI_I_TreeNode[] | undefined // для сферы
341
+ title: string
342
+ nameFormSubmit: null | Function
343
+ computeResourceSubmit: null | Function
344
+ storageSubmit: null | Function
345
+ customizeHardwareSubmit: null | Function
346
+ selectedNavItem: UI_T_SelectedNavItem
347
+ allowedLocationKinds: number[]
348
+ isSphere: boolean
349
+ locationDescription: string
350
+ nameTestIds: UI_I_NameTestIds
351
+ virtualHardwareHardDisksLocal: UI_I_SendDataNewHardDisk[] | null
352
+ virtualHardwareNetworksLocal: UI_I_SendDataNewNetwork[] | null
353
+ virtualHardwareCdDvdDrivesLocal: UI_I_SendDataNewCdDvdDrive[] | null
354
+ guestOsFamilies: UI_I_OptionItem[]
355
+ guestOsVersions: UI_I_ArbitraryObject<UI_I_OptionItem[]>
356
+ machineTypes: UI_I_OptionItem[]
357
+ dynamicSteps: UI_I_ArbitraryObject<number>
358
+ }>()
359
+
360
+ const emits = defineEmits<{
361
+ (event: 'get-storage', value: UI_I_TablePayload): void
362
+ (event: 'get-folders-or-files', value: UI_I_FolderOrFileTreePayload): void
363
+ (event: 'get-active-device-child', value: UI_I_FileTreeNode): void
364
+ (event: 'show-datastore-child', value: UI_I_FileTreeNode): void
365
+ (event: 'remove-error-by-title', value: string): void
366
+ (event: 'get-networks-table', value: UI_I_TablePayload): void
367
+ (event: 'get-pci-devices'): void
368
+ (
369
+ event: 'get-compute-resource-tree',
370
+ value: { id: string | number; cb: () => void }
371
+ ): void // для сферы
372
+ (event: 'show-compute-resource-tree', value: UI_I_TreeNode): void // для сферы
373
+ (event: 'clear-compute-resource-tree'): void // для сферы
374
+ (event: 'change-steps', value: UI_I_WizardStep[]): void
375
+ (event: 'change-name', value: [string, UI_I_TreeNode | null]): void
376
+ (event: 'change-storage', value: UI_I_DatastoreTableItem | null): void
377
+ (event: 'change-select-options', value: string[]): void
378
+ (event: 'change-boot-order', value: UI_T_ChangeBootOrder): void
379
+ (event: 'change-compute-resource', value: UI_I_TreeNode): void
380
+ (
381
+ event: 'change-customize-hardware',
382
+ value: UI_I_SendDataCustomizeHardware
383
+ ): void
384
+ (event: 'select-compute-resource-tree-local', value: UI_I_TreeNode): void
385
+ (event: 'hide'): void
386
+ (event: 'finish'): void
387
+ }>()
388
+
389
+ const localization = computed<UI_I_Localization>(() => useLocal())
390
+
391
+ const texts = computed<UI_I_WizardTexts>(() => ({
392
+ cancel: localization.value.common.cancel,
393
+ back: localization.value.common.backCap,
394
+ processing: localization.value.common.processing,
395
+ next: localization.value.common.next,
396
+ finish: localization.value.common.clone,
397
+ incompleteTitle: localization.value.common.incompleteProcess,
398
+ incompleteMessage: localization.value.common.incompleteProcessMessage,
399
+ incompleteCancel: localization.value.common.cancel,
400
+ incompleteLeave: localization.value.common.leave,
401
+ step: localization.value.common.step,
402
+ of: localization.value.common.of2,
403
+ }))
404
+
405
+ const subTitleBlock0 = ref<HTMLElement | null>(null)
406
+ const { height: height0 } = useElementSize(subTitleBlock0)
407
+
408
+ const subTitleBlock1 = ref<HTMLElement | null>(null)
409
+ const { height: height1 } = useElementSize(subTitleBlock1)
410
+
411
+ const subTitleBlock2 = ref<HTMLElement | null>(null)
412
+ const { height: height2 } = useElementSize(subTitleBlock2)
413
+
414
+ const subTitleBlock3 = ref<HTMLElement | null>(null)
415
+ const { height: height3 } = useElementSize(subTitleBlock3)
416
+
417
+ const subTitleBlock4 = ref<HTMLElement | null>(null)
418
+ const { height: height4 } = useElementSize(subTitleBlock4)
419
+
420
+ const subTitleBlockReadyComplete = ref<HTMLElement | null>(null)
421
+ const { height: heightReadyComplete } = useElementSize(
422
+ subTitleBlockReadyComplete
423
+ )
424
+
425
+ const isNameAlertWrapperEmpty = ref<boolean>(false)
426
+
427
+ const onChangeSteps = async (value: UI_I_WizardStep[]): Promise<void> =>
428
+ emits('change-steps', value)
429
+
430
+ const onHideModal = (): void => emits('hide')
431
+ const onClone = (): void => emits('finish')
432
+ </script>
433
+
434
+ <style scoped lang="scss"></style>