bfg-common 1.4.560 → 1.4.562

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 (144) hide show
  1. package/assets/img/icons/icons-sprite-dark-1.svg +407 -407
  2. package/assets/img/icons/icons-sprite-dark-2.svg +343 -343
  3. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  4. package/assets/img/icons/icons-sprite-dark-4.svg +255 -255
  5. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  6. package/assets/img/icons/icons-sprite-dark-6.svg +94 -94
  7. package/assets/img/icons/icons-sprite-light-1.svg +407 -407
  8. package/assets/img/icons/icons-sprite-light-2.svg +343 -343
  9. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  10. package/assets/img/icons/icons-sprite-light-4.svg +255 -255
  11. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  12. package/assets/img/icons/icons-sprite-light-6.svg +94 -94
  13. package/assets/localization/local_be.json +5 -1
  14. package/assets/localization/local_en.json +5 -1
  15. package/assets/localization/local_hy.json +5 -1
  16. package/assets/localization/local_kk.json +5 -1
  17. package/assets/localization/local_ru.json +5 -1
  18. package/assets/localization/local_zh.json +5 -1
  19. package/components/atoms/TheIcon3.vue +50 -50
  20. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  21. package/components/atoms/stack/StackBlock.vue +185 -185
  22. package/components/atoms/table/dataGrid/DataGrid.vue +1633 -1633
  23. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +222 -222
  24. package/components/common/browse/BrowseNew.vue +237 -237
  25. package/components/common/browse/BrowseOld.vue +217 -217
  26. package/components/common/browse/blocks/contents/Files.vue +35 -35
  27. package/components/common/browse/blocks/contents/FilesOld.vue +70 -70
  28. package/components/common/browse/blocks/contents/filesNew/FilesNew.vue +92 -92
  29. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  30. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  31. package/components/common/browse/lib/models/interfaces.ts +5 -5
  32. package/components/common/context/lib/models/interfaces.ts +30 -30
  33. package/components/common/context/recursion/Recursion.vue +86 -86
  34. package/components/common/context/recursion/RecursionNew.vue +199 -199
  35. package/components/common/context/recursion/RecursionOld.vue +213 -213
  36. package/components/common/diagramMain/Header.vue +211 -211
  37. package/components/common/diagramMain/adapter/AdapterItems.vue +61 -61
  38. package/components/common/diagramMain/lib/config/initial.ts +50 -50
  39. package/components/common/diagramMain/lib/models/enums.ts +44 -44
  40. package/components/common/diagramMain/lib/models/types.ts +21 -21
  41. package/components/common/diagramMain/lib/utils/utils.ts +331 -331
  42. package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +330 -330
  43. package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +40 -40
  44. package/components/common/diagramMain/modals/editSettings/EditSettings.vue +497 -497
  45. package/components/common/diagramMain/modals/editSettings/EditSettingsModal.vue +812 -812
  46. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +214 -214
  47. package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +189 -189
  48. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +163 -163
  49. package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +175 -175
  50. package/components/common/diagramMain/modals/editSettings/tabs/TrafficShaping.vue +398 -398
  51. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +346 -346
  52. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +205 -205
  53. package/components/common/diagramMain/modals/lib/config/diagramConfig.ts +23 -23
  54. package/components/common/diagramMain/modals/lib/config/initial.ts +180 -180
  55. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
  56. package/components/common/diagramMain/modals/lib/mappers/mappers.ts +87 -87
  57. package/components/common/diagramMain/modals/lib/utils/index.ts +24 -24
  58. package/components/common/diagramMain/modals/migrateVmkernelAdapter/MigrateVmkernelAdapter.vue +537 -537
  59. package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
  60. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +169 -169
  61. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +159 -159
  62. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +14 -14
  63. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +137 -137
  64. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
  65. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
  66. package/components/common/diagramMain/port/Ports.vue +47 -47
  67. package/components/common/layout/theHeader/helpMenu/About.vue +85 -85
  68. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +103 -103
  69. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +152 -152
  70. package/components/common/modals/confirmation/Confirmation.vue +74 -70
  71. package/components/common/modals/confirmation/ConfirmationNew.vue +10 -61
  72. package/components/common/modals/confirmation/ConfirmationOld.vue +10 -10
  73. package/components/common/spiceConsole/Drawer.vue +370 -370
  74. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  75. package/components/common/vm/actions/add/Add.vue +619 -619
  76. package/components/common/vm/actions/clone/lib/config/steps.ts +129 -129
  77. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +270 -270
  78. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +266 -266
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +1 -1
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +1 -1
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +118 -118
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +163 -163
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  84. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +55 -55
  85. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/config/dropdownItems.ts +147 -147
  86. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +55 -55
  87. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +44 -44
  88. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
  89. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  90. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  91. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/Table.vue +74 -74
  92. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -95
  93. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  94. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +69 -69
  95. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -83
  96. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDeviceNew.vue +85 -85
  97. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDeviceOld.vue +91 -91
  98. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +35 -35
  99. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +48 -48
  100. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  101. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  102. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  103. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +30 -30
  104. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelectionNew.vue +46 -46
  105. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +56 -56
  106. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  107. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +27 -27
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  109. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  110. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  111. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  112. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  113. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  114. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +42 -42
  115. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  116. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  117. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  118. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +141 -141
  119. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  120. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  121. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  122. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  123. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  124. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +39 -39
  125. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +100 -100
  126. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +38 -38
  127. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  128. package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
  129. package/components/common/vm/actions/common/select/storage/StorageOld.vue +129 -129
  130. package/components/common/vm/actions/common/select/storage/new/New.vue +159 -159
  131. package/components/common/vm/actions/confirm/Confirm.vue +8 -15
  132. package/components/common/vm/actions/editSettings/EditSettings.vue +217 -217
  133. package/components/common/vm/actions/editSettings/EditSettingsOld.vue +184 -184
  134. package/components/common/vm/actions/editSettings/new/New.vue +178 -178
  135. package/components/common/vm/actions/editSettings/new/Skeleton.vue +87 -87
  136. package/components/common/wizards/network/add/lib/config/steps.ts +464 -464
  137. package/composables/productNameLocal.ts +30 -30
  138. package/package.json +2 -2
  139. package/plugins/date.ts +233 -233
  140. package/plugins/recursion.ts +311 -311
  141. package/public/spice-console/lib/images/bitmap.js +203 -203
  142. package/public/spice-console/network/spicechannel.js +383 -383
  143. package/store/main/mutations.ts +7 -7
  144. package/store/main/state.ts +7 -7
@@ -1,270 +1,270 @@
1
- <template>
2
- <common-vm-actions-common-customize-hardware-new
3
- v-if="isNewView"
4
- v-model:vm-name="vmName"
5
- v-model:guest-machine-type="guestMachineType"
6
- v-model:guest-os-family="guestOsFamily"
7
- v-model:guest-os-version="guestOsVersion"
8
- v-model:selected-nav-item="selectedNavItemLocal"
9
- v-model:virtual-hardware-invalid="virtualHardwareInvalid"
10
- v-model:vm-options-invalid="vmOptionsInvalid"
11
- :error-validation-fields="props.errorValidationFields"
12
- :storage="props.storage"
13
- :cpu-models="props.cpuModels"
14
- :hard-disks-for-boot-options="props.hardDisksForBootOptions"
15
- :cd-dvd-drives-for-boot-options="props.cdDvdDrivesForBootOptions"
16
- :networks-for-boot-options="props.networksForBootOptions"
17
- :max-cpus="props.maxCpus"
18
- :max-memory="props.maxMemory"
19
- :nodes="props.nodes"
20
- :files="props.files"
21
- :networks-table="props.networksTable"
22
- :cpu="props.cpu"
23
- :memory="props.memory"
24
- :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
25
- :get-datastore-table-func="props.getDatastoreTableFunc"
26
- :datastore="props.datastore"
27
- :hard-disks="props.hardDisks"
28
- :cd-dvd-drives="props.cdDvdDrives"
29
- :networks="props.networks"
30
- :video-card="props.videoCard"
31
- :pci-devices="props.pciDevices"
32
- :usb-controller="props.usbController"
33
- :options="props.options"
34
- :is-edit="props.isEdit"
35
- :is-clone="props.isClone"
36
- :state="props.state"
37
- :passthrough-devices="props.passthroughDevices"
38
- :project="props.project"
39
- :nav-items="navItems"
40
- :errors="errors"
41
- :files-loading="props.filesLoading"
42
- @change-boot-order="emits('change-boot-order', $event)"
43
- @send-data="emits('send-data', $event)"
44
- @next="emits('next')"
45
- @get-storage="emits('get-storage', $event)"
46
- @get-folders-or-files="emits('get-folders-or-files', $event)"
47
- @get-active-device-child="emits('get-active-device-child', $event)"
48
- @show-datastore-child="emits('show-datastore-child', $event)"
49
- @remove-error-by-title="emits('remove-error-by-title', $event)"
50
- @get-networks-table="emits('get-networks-table', $event)"
51
- @get-pci-devices="emits('get-pci-devices')"
52
- @remove-validation-errors="onRemoveValidationErrors"
53
- @send-data-virtual-hardware-method="onSendDataVirtualHardwareMethod"
54
- @send-data-vm-options-method="onSendDataVmOptionsMethod"
55
- />
56
- <common-vm-actions-common-customize-hardware-old
57
- v-else
58
- v-model:vm-name="vmName"
59
- v-model:guest-machine-type="guestMachineType"
60
- v-model:guest-os-family="guestOsFamily"
61
- v-model:guest-os-version="guestOsVersion"
62
- v-model:selected-nav-item="selectedNavItemLocal"
63
- v-model:virtual-hardware-invalid="virtualHardwareInvalid"
64
- v-model:vm-options-invalid="vmOptionsInvalid"
65
- :error-validation-fields="props.errorValidationFields"
66
- :storage="props.storage"
67
- :cpu-models="props.cpuModels"
68
- :hard-disks-for-boot-options="props.hardDisksForBootOptions"
69
- :cd-dvd-drives-for-boot-options="props.cdDvdDrivesForBootOptions"
70
- :networks-for-boot-options="props.networksForBootOptions"
71
- :max-cpus="props.maxCpus"
72
- :max-memory="props.maxMemory"
73
- :nodes="props.nodes"
74
- :files="props.files"
75
- :networks-table="props.networksTable"
76
- :cpu="props.cpu"
77
- :memory="props.memory"
78
- :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
79
- :get-datastore-table-func="props.getDatastoreTableFunc"
80
- :datastore="props.datastore"
81
- :hard-disks="props.hardDisks"
82
- :cd-dvd-drives="props.cdDvdDrives"
83
- :networks="props.networks"
84
- :video-card="props.videoCard"
85
- :pci-devices="props.pciDevices"
86
- :usb-controller="props.usbController"
87
- :options="props.options"
88
- :is-edit="props.isEdit"
89
- :is-clone="props.isClone"
90
- :state="props.state"
91
- :passthrough-devices="props.passthroughDevices"
92
- :project="props.project"
93
- :nav-items="navItems"
94
- :errors="errors"
95
- :files-loading="props.filesLoading"
96
- @change-boot-order="emits('change-boot-order', $event)"
97
- @send-data="emits('send-data', $event)"
98
- @next="emits('next')"
99
- @get-storage="emits('get-storage', $event)"
100
- @get-folders-or-files="emits('get-folders-or-files', $event)"
101
- @get-active-device-child="emits('get-active-device-child', $event)"
102
- @show-datastore-child="emits('show-datastore-child', $event)"
103
- @remove-error-by-title="emits('remove-error-by-title', $event)"
104
- @get-networks-table="emits('get-networks-table', $event)"
105
- @get-pci-devices="emits('get-pci-devices')"
106
- @remove-validation-errors="onRemoveValidationErrors"
107
- @send-data-virtual-hardware-method="onSendDataVirtualHardwareMethod"
108
- @send-data-vm-options-method="onSendDataVmOptionsMethod"
109
- />
110
- </template>
111
-
112
- <script setup lang="ts">
113
- import type { UI_T_Project } from '~/lib/models/types'
114
- import type { UI_I_DatastoreTableItem } from '~/lib/models/store/storage/interfaces'
115
- import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
116
- import type { UI_I_TablePayload } from '~/lib/models/table/interfaces'
117
- import type { UI_I_FolderOrFileTreePayload } from '~/lib/models/store/storage/interfaces'
118
- import type { UI_I_FileTreeNode } from '~/components/lib/models/interfaces'
119
- import type {
120
- UI_I_SendDataNewPciDevice,
121
- UI_I_SendDataNewCdDvdDrive,
122
- UI_I_SendDataNewHardDisk,
123
- UI_I_SendDataNewNetwork,
124
- UI_I_SendDataVideoCard,
125
- UI_I_SendDataVirtualHardware,
126
- } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
127
- import type { UI_I_SendDataCustomizeHardware } from '~/components/common/vm/actions/common/customizeHardware/lib/models/interfaces'
128
- import type { UI_I_SendDataVmoptions } from '~/components/common/vm/actions/common/customizeHardware/vmoptions/lib/models/interfaces'
129
- import type { UI_T_SelectedNavItem } from '~/components/common/vm/actions/common/lib/models/types'
130
- import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
131
- import type { UI_I_Localization } from '~/lib/models/interfaces'
132
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
133
- import type { UI_T_ChangeBootOrder } from '~/components/common/vm/actions/lib/models/types'
134
- import type {
135
- API_UI_I_VmEditCpu,
136
- API_UI_I_VmEditMemory,
137
- UI_I_PciDevice,
138
- } from '~/lib/models/store/vm/interfaces'
139
- import { navItemsFunc } from '~/components/common/vm/actions/common/customizeHardware/lib/config/navItems'
140
-
141
- const vmName = defineModel<string>('vmName', { required: true })
142
- const guestMachineType = defineModel<UI_I_OptionItem | null>(
143
- 'guest-machine-type'
144
- )
145
- const guestOsFamily = defineModel<UI_I_OptionItem | null>('guestOsFamily')
146
- const guestOsVersion = defineModel<UI_I_OptionItem | null>('guestOsVersion')
147
-
148
- const props = defineProps<{
149
- errorValidationFields: UI_I_ErrorValidationField[]
150
- storage: UI_I_DatastoreTableItem | null
151
- cpuModels: UI_I_OptionItem[]
152
- hardDisksForBootOptions: UI_I_SendDataNewHardDisk[] | null
153
- cdDvdDrivesForBootOptions: UI_I_SendDataNewCdDvdDrive[] | null
154
- networksForBootOptions: UI_I_SendDataNewNetwork[] | null
155
- customizeHardwareSubmit: null | Function
156
- maxCpus: number
157
- maxMemory: number
158
- selectedNavItem: UI_T_SelectedNavItem
159
- nodes: UI_I_FileTreeNode[]
160
- files: UI_I_FileTreeNode[]
161
- networksTable: UI_I_NetworkTableItem[]
162
- filesLoading: boolean
163
- cpu?: API_UI_I_VmEditCpu
164
- memory?: API_UI_I_VmEditMemory
165
- vmCpuHelpTextSecond?: string
166
- getDatastoreTableFunc?: (payload: UI_I_TablePayload) => Promise<void>
167
- datastore: UI_I_DatastoreTableItem[]
168
- hardDisks?: UI_I_SendDataNewHardDisk[] | null
169
- cdDvdDrives?: UI_I_SendDataNewCdDvdDrive[] | null
170
- networks?: UI_I_SendDataNewNetwork[] | null
171
- videoCard?: UI_I_SendDataVideoCard
172
- pciDevices?: UI_I_SendDataNewPciDevice[]
173
- usbController?: string
174
- options?: UI_I_SendDataVmoptions
175
- isEdit?: boolean
176
- isClone?: boolean
177
- state?: string | number
178
- passthroughDevices?: UI_I_PciDevice[]
179
- project?: UI_T_Project
180
- }>()
181
- const emits = defineEmits<{
182
- (event: 'change-boot-order', value: UI_T_ChangeBootOrder): void
183
- (event: 'send-data', value: UI_I_SendDataCustomizeHardware): void
184
- (event: 'next'): void
185
- (event: 'get-storage', value: UI_I_TablePayload): void
186
- (event: 'get-folders-or-files', value: UI_I_FolderOrFileTreePayload): void
187
- (event: 'get-active-device-child', value: UI_I_FileTreeNode): void
188
- (event: 'show-datastore-child', value: UI_I_FileTreeNode): void
189
- (event: 'remove-error-by-title', value: string): void
190
- (event: 'get-networks-table', value: UI_I_TablePayload): void
191
- (event: 'get-pci-devices'): void
192
- }>()
193
-
194
- const { $store }: any = useNuxtApp()
195
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
196
-
197
- const localization = computed<UI_I_Localization>(() => useLocal())
198
-
199
- const navItems = computed<UI_I_TabItem[]>(() =>
200
- navItemsFunc(localization.value)
201
- )
202
- const selectedNavItemLocal = ref<number>(0)
203
- watch(
204
- () => props.selectedNavItem,
205
- (newValue) => {
206
- selectedNavItemLocal.value = newValue
207
- }
208
- )
209
-
210
- const sendDataVirtualHardware = ref<UI_I_SendDataVirtualHardware | null>(null)
211
- const onSendDataVirtualHardwareMethod = (
212
- data: UI_I_SendDataVirtualHardware
213
- ): void => {
214
- sendDataVirtualHardware.value = data
215
- sendData()
216
- }
217
- const sendDataVmOptions = ref<UI_I_SendDataVmoptions | null>(null)
218
- const onSendDataVmOptionsMethod = (data: UI_I_SendDataVmoptions): void => {
219
- sendDataVmOptions.value = data
220
- sendData()
221
- }
222
- const sendData = (): void => {
223
- emits('send-data', {
224
- virtualHardware: sendDataVirtualHardware.value,
225
- vmOptions: sendDataVmOptions.value,
226
- })
227
- }
228
-
229
- watch(
230
- () => props.customizeHardwareSubmit,
231
- (newValue) => {
232
- newValue && submit(newValue)
233
- }
234
- )
235
- const virtualHardwareInvalid = ref<string[]>([])
236
- const vmOptionsInvalid = ref<string[]>([])
237
- const submit = (cb: Function): void => {
238
- const invalidDevices = [
239
- ...virtualHardwareInvalid.value,
240
- ...vmOptionsInvalid.value,
241
- ]
242
- .filter((item: string) => !!item)
243
- .join(', ')
244
-
245
- if (invalidDevices) {
246
- showValidationErrors([
247
- localization.value.common.thereErrorsFollowingFields.replace(
248
- '{0}',
249
- invalidDevices
250
- ),
251
- ])
252
- cb(false)
253
- return
254
- }
255
- onRemoveValidationErrors()
256
-
257
- // emits('next')
258
- cb(true)
259
- }
260
-
261
- const errors = ref<string[]>([])
262
- const showValidationErrors = (arr: string[]): void => {
263
- errors.value = arr
264
- }
265
- const onRemoveValidationErrors = (): void => {
266
- errors.value = []
267
- }
268
- </script>
269
-
270
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <common-vm-actions-common-customize-hardware-new
3
+ v-if="isNewView"
4
+ v-model:vm-name="vmName"
5
+ v-model:guest-machine-type="guestMachineType"
6
+ v-model:guest-os-family="guestOsFamily"
7
+ v-model:guest-os-version="guestOsVersion"
8
+ v-model:selected-nav-item="selectedNavItemLocal"
9
+ v-model:virtual-hardware-invalid="virtualHardwareInvalid"
10
+ v-model:vm-options-invalid="vmOptionsInvalid"
11
+ :error-validation-fields="props.errorValidationFields"
12
+ :storage="props.storage"
13
+ :cpu-models="props.cpuModels"
14
+ :hard-disks-for-boot-options="props.hardDisksForBootOptions"
15
+ :cd-dvd-drives-for-boot-options="props.cdDvdDrivesForBootOptions"
16
+ :networks-for-boot-options="props.networksForBootOptions"
17
+ :max-cpus="props.maxCpus"
18
+ :max-memory="props.maxMemory"
19
+ :nodes="props.nodes"
20
+ :files="props.files"
21
+ :networks-table="props.networksTable"
22
+ :cpu="props.cpu"
23
+ :memory="props.memory"
24
+ :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
25
+ :get-datastore-table-func="props.getDatastoreTableFunc"
26
+ :datastore="props.datastore"
27
+ :hard-disks="props.hardDisks"
28
+ :cd-dvd-drives="props.cdDvdDrives"
29
+ :networks="props.networks"
30
+ :video-card="props.videoCard"
31
+ :pci-devices="props.pciDevices"
32
+ :usb-controller="props.usbController"
33
+ :options="props.options"
34
+ :is-edit="props.isEdit"
35
+ :is-clone="props.isClone"
36
+ :state="props.state"
37
+ :passthrough-devices="props.passthroughDevices"
38
+ :project="props.project"
39
+ :nav-items="navItems"
40
+ :errors="errors"
41
+ :files-loading="props.filesLoading"
42
+ @change-boot-order="emits('change-boot-order', $event)"
43
+ @send-data="emits('send-data', $event)"
44
+ @next="emits('next')"
45
+ @get-storage="emits('get-storage', $event)"
46
+ @get-folders-or-files="emits('get-folders-or-files', $event)"
47
+ @get-active-device-child="emits('get-active-device-child', $event)"
48
+ @show-datastore-child="emits('show-datastore-child', $event)"
49
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
50
+ @get-networks-table="emits('get-networks-table', $event)"
51
+ @get-pci-devices="emits('get-pci-devices')"
52
+ @remove-validation-errors="onRemoveValidationErrors"
53
+ @send-data-virtual-hardware-method="onSendDataVirtualHardwareMethod"
54
+ @send-data-vm-options-method="onSendDataVmOptionsMethod"
55
+ />
56
+ <common-vm-actions-common-customize-hardware-old
57
+ v-else
58
+ v-model:vm-name="vmName"
59
+ v-model:guest-machine-type="guestMachineType"
60
+ v-model:guest-os-family="guestOsFamily"
61
+ v-model:guest-os-version="guestOsVersion"
62
+ v-model:selected-nav-item="selectedNavItemLocal"
63
+ v-model:virtual-hardware-invalid="virtualHardwareInvalid"
64
+ v-model:vm-options-invalid="vmOptionsInvalid"
65
+ :error-validation-fields="props.errorValidationFields"
66
+ :storage="props.storage"
67
+ :cpu-models="props.cpuModels"
68
+ :hard-disks-for-boot-options="props.hardDisksForBootOptions"
69
+ :cd-dvd-drives-for-boot-options="props.cdDvdDrivesForBootOptions"
70
+ :networks-for-boot-options="props.networksForBootOptions"
71
+ :max-cpus="props.maxCpus"
72
+ :max-memory="props.maxMemory"
73
+ :nodes="props.nodes"
74
+ :files="props.files"
75
+ :networks-table="props.networksTable"
76
+ :cpu="props.cpu"
77
+ :memory="props.memory"
78
+ :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
79
+ :get-datastore-table-func="props.getDatastoreTableFunc"
80
+ :datastore="props.datastore"
81
+ :hard-disks="props.hardDisks"
82
+ :cd-dvd-drives="props.cdDvdDrives"
83
+ :networks="props.networks"
84
+ :video-card="props.videoCard"
85
+ :pci-devices="props.pciDevices"
86
+ :usb-controller="props.usbController"
87
+ :options="props.options"
88
+ :is-edit="props.isEdit"
89
+ :is-clone="props.isClone"
90
+ :state="props.state"
91
+ :passthrough-devices="props.passthroughDevices"
92
+ :project="props.project"
93
+ :nav-items="navItems"
94
+ :errors="errors"
95
+ :files-loading="props.filesLoading"
96
+ @change-boot-order="emits('change-boot-order', $event)"
97
+ @send-data="emits('send-data', $event)"
98
+ @next="emits('next')"
99
+ @get-storage="emits('get-storage', $event)"
100
+ @get-folders-or-files="emits('get-folders-or-files', $event)"
101
+ @get-active-device-child="emits('get-active-device-child', $event)"
102
+ @show-datastore-child="emits('show-datastore-child', $event)"
103
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
104
+ @get-networks-table="emits('get-networks-table', $event)"
105
+ @get-pci-devices="emits('get-pci-devices')"
106
+ @remove-validation-errors="onRemoveValidationErrors"
107
+ @send-data-virtual-hardware-method="onSendDataVirtualHardwareMethod"
108
+ @send-data-vm-options-method="onSendDataVmOptionsMethod"
109
+ />
110
+ </template>
111
+
112
+ <script setup lang="ts">
113
+ import type { UI_T_Project } from '~/lib/models/types'
114
+ import type { UI_I_DatastoreTableItem } from '~/lib/models/store/storage/interfaces'
115
+ import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
116
+ import type { UI_I_TablePayload } from '~/lib/models/table/interfaces'
117
+ import type { UI_I_FolderOrFileTreePayload } from '~/lib/models/store/storage/interfaces'
118
+ import type { UI_I_FileTreeNode } from '~/components/lib/models/interfaces'
119
+ import type {
120
+ UI_I_SendDataNewPciDevice,
121
+ UI_I_SendDataNewCdDvdDrive,
122
+ UI_I_SendDataNewHardDisk,
123
+ UI_I_SendDataNewNetwork,
124
+ UI_I_SendDataVideoCard,
125
+ UI_I_SendDataVirtualHardware,
126
+ } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
127
+ import type { UI_I_SendDataCustomizeHardware } from '~/components/common/vm/actions/common/customizeHardware/lib/models/interfaces'
128
+ import type { UI_I_SendDataVmoptions } from '~/components/common/vm/actions/common/customizeHardware/vmoptions/lib/models/interfaces'
129
+ import type { UI_T_SelectedNavItem } from '~/components/common/vm/actions/common/lib/models/types'
130
+ import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
131
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
132
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
133
+ import type { UI_T_ChangeBootOrder } from '~/components/common/vm/actions/lib/models/types'
134
+ import type {
135
+ API_UI_I_VmEditCpu,
136
+ API_UI_I_VmEditMemory,
137
+ UI_I_PciDevice,
138
+ } from '~/lib/models/store/vm/interfaces'
139
+ import { navItemsFunc } from '~/components/common/vm/actions/common/customizeHardware/lib/config/navItems'
140
+
141
+ const vmName = defineModel<string>('vmName', { required: true })
142
+ const guestMachineType = defineModel<UI_I_OptionItem | null>(
143
+ 'guest-machine-type'
144
+ )
145
+ const guestOsFamily = defineModel<UI_I_OptionItem | null>('guestOsFamily')
146
+ const guestOsVersion = defineModel<UI_I_OptionItem | null>('guestOsVersion')
147
+
148
+ const props = defineProps<{
149
+ errorValidationFields: UI_I_ErrorValidationField[]
150
+ storage: UI_I_DatastoreTableItem | null
151
+ cpuModels: UI_I_OptionItem[]
152
+ hardDisksForBootOptions: UI_I_SendDataNewHardDisk[] | null
153
+ cdDvdDrivesForBootOptions: UI_I_SendDataNewCdDvdDrive[] | null
154
+ networksForBootOptions: UI_I_SendDataNewNetwork[] | null
155
+ customizeHardwareSubmit: null | Function
156
+ maxCpus: number
157
+ maxMemory: number
158
+ selectedNavItem: UI_T_SelectedNavItem
159
+ nodes: UI_I_FileTreeNode[]
160
+ files: UI_I_FileTreeNode[]
161
+ networksTable: UI_I_NetworkTableItem[]
162
+ filesLoading: boolean
163
+ cpu?: API_UI_I_VmEditCpu
164
+ memory?: API_UI_I_VmEditMemory
165
+ vmCpuHelpTextSecond?: string
166
+ getDatastoreTableFunc?: (payload: UI_I_TablePayload) => Promise<void>
167
+ datastore: UI_I_DatastoreTableItem[]
168
+ hardDisks?: UI_I_SendDataNewHardDisk[] | null
169
+ cdDvdDrives?: UI_I_SendDataNewCdDvdDrive[] | null
170
+ networks?: UI_I_SendDataNewNetwork[] | null
171
+ videoCard?: UI_I_SendDataVideoCard
172
+ pciDevices?: UI_I_SendDataNewPciDevice[]
173
+ usbController?: string
174
+ options?: UI_I_SendDataVmoptions
175
+ isEdit?: boolean
176
+ isClone?: boolean
177
+ state?: string | number
178
+ passthroughDevices?: UI_I_PciDevice[]
179
+ project?: UI_T_Project
180
+ }>()
181
+ const emits = defineEmits<{
182
+ (event: 'change-boot-order', value: UI_T_ChangeBootOrder): void
183
+ (event: 'send-data', value: UI_I_SendDataCustomizeHardware): void
184
+ (event: 'next'): void
185
+ (event: 'get-storage', value: UI_I_TablePayload): void
186
+ (event: 'get-folders-or-files', value: UI_I_FolderOrFileTreePayload): void
187
+ (event: 'get-active-device-child', value: UI_I_FileTreeNode): void
188
+ (event: 'show-datastore-child', value: UI_I_FileTreeNode): void
189
+ (event: 'remove-error-by-title', value: string): void
190
+ (event: 'get-networks-table', value: UI_I_TablePayload): void
191
+ (event: 'get-pci-devices'): void
192
+ }>()
193
+
194
+ const { $store }: any = useNuxtApp()
195
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
196
+
197
+ const localization = computed<UI_I_Localization>(() => useLocal())
198
+
199
+ const navItems = computed<UI_I_TabItem[]>(() =>
200
+ navItemsFunc(localization.value)
201
+ )
202
+ const selectedNavItemLocal = ref<number>(0)
203
+ watch(
204
+ () => props.selectedNavItem,
205
+ (newValue) => {
206
+ selectedNavItemLocal.value = newValue
207
+ }
208
+ )
209
+
210
+ const sendDataVirtualHardware = ref<UI_I_SendDataVirtualHardware | null>(null)
211
+ const onSendDataVirtualHardwareMethod = (
212
+ data: UI_I_SendDataVirtualHardware
213
+ ): void => {
214
+ sendDataVirtualHardware.value = data
215
+ sendData()
216
+ }
217
+ const sendDataVmOptions = ref<UI_I_SendDataVmoptions | null>(null)
218
+ const onSendDataVmOptionsMethod = (data: UI_I_SendDataVmoptions): void => {
219
+ sendDataVmOptions.value = data
220
+ sendData()
221
+ }
222
+ const sendData = (): void => {
223
+ emits('send-data', {
224
+ virtualHardware: sendDataVirtualHardware.value,
225
+ vmOptions: sendDataVmOptions.value,
226
+ })
227
+ }
228
+
229
+ watch(
230
+ () => props.customizeHardwareSubmit,
231
+ (newValue) => {
232
+ newValue && submit(newValue)
233
+ }
234
+ )
235
+ const virtualHardwareInvalid = ref<string[]>([])
236
+ const vmOptionsInvalid = ref<string[]>([])
237
+ const submit = (cb: Function): void => {
238
+ const invalidDevices = [
239
+ ...virtualHardwareInvalid.value,
240
+ ...vmOptionsInvalid.value,
241
+ ]
242
+ .filter((item: string) => !!item)
243
+ .join(', ')
244
+
245
+ if (invalidDevices) {
246
+ showValidationErrors([
247
+ localization.value.common.thereErrorsFollowingFields.replace(
248
+ '{0}',
249
+ invalidDevices
250
+ ),
251
+ ])
252
+ cb(false)
253
+ return
254
+ }
255
+ onRemoveValidationErrors()
256
+
257
+ // emits('next')
258
+ cb(true)
259
+ }
260
+
261
+ const errors = ref<string[]>([])
262
+ const showValidationErrors = (arr: string[]): void => {
263
+ errors.value = arr
264
+ }
265
+ const onRemoveValidationErrors = (): void => {
266
+ errors.value = []
267
+ }
268
+ </script>
269
+
270
+ <style scoped lang="scss"></style>