bfg-common 1.5.548 → 1.5.550

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 (158) 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/components/atoms/TheIcon3.vue +50 -50
  7. package/components/atoms/collapse/CollapseNav.vue +170 -170
  8. package/components/atoms/perPage/PerPage.vue +58 -58
  9. package/components/atoms/table/dataGrid/DataGrid.vue +1718 -1718
  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/New.vue +2 -8
  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 +69 -69
  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/Restore.vue +5 -9
  30. package/components/common/pages/backups/modals/restore/RestoreNew.vue +3 -12
  31. package/components/common/pages/backups/modals/restore/RestoreOld.vue +18 -6
  32. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  33. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  34. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  35. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  36. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  37. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  38. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  39. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  40. package/components/common/select/radio/RadioGroup.vue +137 -137
  41. package/components/common/spiceConsole/Drawer.vue +420 -420
  42. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  43. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  44. package/components/common/tools/Actions.vue +207 -207
  45. package/components/common/treeView/TreeView.vue +52 -52
  46. package/components/common/vm/actions/add/Add.vue +877 -950
  47. package/components/common/vm/actions/add/New.vue +652 -690
  48. package/components/common/vm/actions/add/Old.vue +363 -402
  49. package/components/common/vm/actions/add/lib/config/steps.ts +347 -347
  50. package/components/common/vm/actions/clone/Clone.vue +809 -809
  51. package/components/common/vm/actions/clone/new/New.vue +457 -457
  52. package/components/common/vm/actions/clone/old/Old.vue +378 -378
  53. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +243 -308
  54. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +328 -373
  55. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +161 -205
  56. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +694 -728
  57. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +512 -523
  58. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +328 -339
  59. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +348 -368
  60. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuNew.vue +241 -248
  61. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuOld.vue +184 -189
  62. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  63. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  64. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +300 -313
  65. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryNew.vue +158 -158
  66. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryOld.vue +155 -155
  67. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +427 -427
  68. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +154 -154
  69. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  70. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  71. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +47 -58
  72. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +68 -65
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerOld.vue +64 -61
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +140 -162
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +6 -5
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +6 -5
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/lib/config/options.ts +4 -4
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +53 -53
  80. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +76 -163
  81. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +87 -138
  82. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsOld.vue +71 -120
  83. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptions.vue +46 -110
  84. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +65 -85
  85. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsOld.vue +70 -91
  86. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
  87. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +60 -60
  88. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +156 -174
  89. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +109 -74
  90. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderOld.vue +104 -66
  91. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +86 -101
  92. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +163 -173
  93. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsOld.vue +162 -170
  94. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +142 -148
  95. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/Old.vue +135 -141
  96. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +74 -178
  97. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  98. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/{KeymapNew.vue → New.vue} +45 -45
  99. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/{KeymapOld.vue → Old.vue} +47 -47
  100. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +102 -103
  101. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  102. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/Tools.vue +26 -49
  103. package/components/common/vm/actions/common/lib/models/interfaces.ts +189 -157
  104. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  105. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  106. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  107. package/components/common/vm/actions/common/select/os/Old.vue +152 -152
  108. package/components/common/vm/actions/common/select/os/Os.vue +139 -139
  109. package/components/common/vm/actions/common/select/storage/Old.vue +125 -125
  110. package/components/common/vm/actions/common/select/storage/Storage.vue +178 -178
  111. package/components/common/vm/actions/common/select/storage/new/New.vue +311 -311
  112. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  113. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  114. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  115. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  116. package/components/common/vm/actions/lib/models/interfaces.ts +15 -40
  117. package/components/common/vm/actions/lib/utils.ts +244 -239
  118. package/components/common/vm/actions/register/Register.vue +352 -352
  119. package/components/common/vm/actions/register/lib/config/steps.ts +86 -86
  120. package/components/common/wizards/common/compatibility/Compatibility.vue +35 -35
  121. package/components/common/wizards/common/compatibility/New.vue +99 -99
  122. package/components/common/wizards/common/compatibility/Old.vue +53 -53
  123. package/components/common/wizards/common/steps/computeResource/ComputeResource.vue +86 -86
  124. package/components/common/wizards/common/steps/computeResource/New.vue +93 -93
  125. package/components/common/wizards/common/steps/computeResource/Old.vue +103 -103
  126. package/components/common/wizards/common/steps/name/Name.vue +178 -178
  127. package/components/common/wizards/common/steps/name/New.vue +221 -221
  128. package/components/common/wizards/common/steps/name/Old.vue +121 -121
  129. package/components/common/wizards/common/steps/name/lib/models/interfaces.ts +4 -4
  130. package/components/common/wizards/common/steps/name/location/Location.vue +85 -85
  131. package/components/common/wizards/common/steps/name/location/New.vue +40 -40
  132. package/components/common/wizards/datastore/add/Add.vue +228 -228
  133. package/components/common/wizards/datastore/add/lib/utils.ts +85 -85
  134. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  135. package/components/common/wizards/vm/migrate/select/computeResource/ComputeResource.vue +205 -205
  136. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  137. package/composables/useAppVersion.ts +21 -21
  138. package/composables/useLocal.ts +6 -6
  139. package/composables/useLocalCommon.ts +39 -39
  140. package/package.json +1 -3
  141. package/plugins/console.ts +21 -21
  142. package/plugins/date.ts +233 -233
  143. package/plugins/mouse.ts +21 -21
  144. package/plugins/panelStates.ts +70 -70
  145. package/plugins/text.ts +59 -59
  146. package/public/spice-console/application/clientgui.js +854 -854
  147. package/public/spice-console/application/packetfactory.js +211 -211
  148. package/public/spice-console/application/virtualmouse.js +147 -147
  149. package/public/spice-console/lib/images/bitmap.js +203 -203
  150. package/public/spice-console/network/spicechannel.js +440 -440
  151. package/public/spice-console/process/cursorprocess.js +121 -121
  152. package/public/spice-console/process/inputprocess.js +227 -227
  153. package/public/spice-console/process/mainprocess.js +210 -210
  154. package/public/spice-console/run.js +210 -210
  155. package/store/main/mutations.ts +7 -7
  156. package/store/main/state.ts +7 -7
  157. /package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/{PasswordNew.vue → New.vue} +0 -0
  158. /package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/{PasswordOld.vue → Old.vue} +0 -0
@@ -1,308 +1,243 @@
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
- :is-datastore-loading="props.isDatastoreLoading"
28
- :hard-disks="props.hardDisks"
29
- :cd-dvd-drives="props.cdDvdDrives"
30
- :networks="props.networks"
31
- :video-card="props.videoCard"
32
- :pci-devices="props.pciDevices"
33
- :usb-controller="props.usbController"
34
- :options="props.options"
35
- :is-edit="props.isEdit"
36
- :is-clone="props.isClone"
37
- :state="props.state"
38
- :passthrough-devices="props.passthroughDevices"
39
- :mediated-devices="props.mediatedDevices"
40
- :project="props.project"
41
- :nav-items="navItems"
42
- :errors="errors"
43
- :compute-resource="props.computeResource"
44
- :compatibility-info="props.compatibilityInfo"
45
- :is-vmt="props.isVmt"
46
- @change-boot-order="emits('change-boot-order', $event)"
47
- @send-data="emits('send-data', $event)"
48
- @next="emits('next')"
49
- @get-storage="emits('get-storage', $event)"
50
- @get-folders-or-files="emits('get-folders-or-files', $event)"
51
- @get-active-device-child="emits('get-active-device-child', $event)"
52
- @show-datastore-child="emits('show-datastore-child', $event)"
53
- @remove-error-by-title="emits('remove-error-by-title', $event)"
54
- @get-networks-table="emits('get-networks-table', $event)"
55
- @get-pci-devices="emits('get-pci-devices')"
56
- @remove-validation-errors="onRemoveValidationErrors"
57
- @send-data-virtual-hardware-method="onSendDataVirtualHardwareMethod"
58
- @send-data-vm-options-method="onSendDataVmOptionsMethod"
59
- />
60
- <common-vm-actions-common-customize-hardware-old
61
- v-else
62
- v-model:vm-name="vmName"
63
- v-model:guest-machine-type="guestMachineType"
64
- v-model:guest-os-family="guestOsFamily"
65
- v-model:guest-os-version="guestOsVersion"
66
- v-model:selected-nav-item="selectedNavItemLocal"
67
- v-model:virtual-hardware-invalid="virtualHardwareInvalid"
68
- v-model:vm-options-invalid="vmOptionsInvalid"
69
- :error-validation-fields="props.errorValidationFields"
70
- :storage="props.storage"
71
- :cpu-models="props.cpuModels"
72
- :hard-disks-for-boot-options="props.hardDisksForBootOptions"
73
- :cd-dvd-drives-for-boot-options="props.cdDvdDrivesForBootOptions"
74
- :networks-for-boot-options="props.networksForBootOptions"
75
- :max-cpus="props.maxCpus"
76
- :max-memory="props.maxMemory"
77
- :nodes="props.nodes"
78
- :files="props.files"
79
- :networks-table="props.networksTable"
80
- :cpu="props.cpu"
81
- :memory="props.memory"
82
- :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
83
- :get-datastore-table-func="props.getDatastoreTableFunc"
84
- :datastore="props.datastore"
85
- :is-datastore-loading="props.isDatastoreLoading"
86
- :hard-disks="props.hardDisks"
87
- :cd-dvd-drives="props.cdDvdDrives"
88
- :networks="props.networks"
89
- :video-card="props.videoCard"
90
- :pci-devices="props.pciDevices"
91
- :usb-controller="props.usbController"
92
- :options="props.options"
93
- :is-edit="props.isEdit"
94
- :is-clone="props.isClone"
95
- :state="props.state"
96
- :passthrough-devices="props.passthroughDevices"
97
- :mediated-devices="props.mediatedDevices"
98
- :project="props.project"
99
- :nav-items="navItems"
100
- :errors="errors"
101
- :compute-resource="props.computeResource"
102
- :is-vmt="props.isVmt"
103
- @change-boot-order="emits('change-boot-order', $event)"
104
- @send-data="emits('send-data', $event)"
105
- @next="emits('next')"
106
- @get-storage="emits('get-storage', $event)"
107
- @get-folders-or-files="emits('get-folders-or-files', $event)"
108
- @get-active-device-child="emits('get-active-device-child', $event)"
109
- @show-datastore-child="emits('show-datastore-child', $event)"
110
- @remove-error-by-title="emits('remove-error-by-title', $event)"
111
- @get-networks-table="emits('get-networks-table', $event)"
112
- @get-pci-devices="emits('get-pci-devices')"
113
- @remove-validation-errors="onRemoveValidationErrors"
114
- @send-data-virtual-hardware-method="onSendDataVirtualHardwareMethod"
115
- @send-data-vm-options-method="onSendDataVmOptionsMethod"
116
- />
117
- </template>
118
-
119
- <script setup lang="ts">
120
- import type { UI_T_Project } from '~/lib/models/types'
121
- import type { UI_I_DatastoreTableItem } from '~/lib/models/store/storage/interfaces'
122
- import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
123
- import type { UI_I_TablePayload } from '~/lib/models/table/interfaces'
124
- import type { UI_I_FolderOrFileTreePayload } from '~/lib/models/store/storage/interfaces'
125
- import type { UI_I_FileTreeNode } from '~/components/lib/models/interfaces'
126
- import type {
127
- UI_I_SendDataNewPciDevice,
128
- UI_I_SendDataNewCdDvdDrive,
129
- UI_I_SendDataNewHardDisk,
130
- UI_I_SendDataNewNetwork,
131
- UI_I_SendDataVideoCard,
132
- UI_I_SendDataVirtualHardware,
133
- } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
134
- import type { UI_I_SendDataCustomizeHardware } from '~/components/common/vm/actions/common/customizeHardware/lib/models/interfaces'
135
- import type { UI_I_SendDataVmoptions } from '~/components/common/vm/actions/common/customizeHardware/vmoptions/lib/models/interfaces'
136
- import type { UI_T_SelectedNavItem } from '~/components/common/vm/actions/common/lib/models/types'
137
- import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
138
- import type { UI_I_Localization } from '~/lib/models/interfaces'
139
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
140
- import type { UI_T_ChangeBootOrder } from '~/components/common/vm/actions/lib/models/types'
141
- import type {
142
- API_UI_I_VmEditCpu,
143
- API_UI_I_VmEditMemory,
144
- UI_I_MediatedDevice,
145
- UI_I_PciDevice,
146
- } from '~/lib/models/store/vm/interfaces'
147
- import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
148
- import type { UI_I_CollapseNavItem } from '~/components/atoms/collapse/lib/models/interfaces'
149
- import { navItemsFunc } from '~/components/common/vm/actions/common/customizeHardware/lib/config/navItems'
150
-
151
- const vmName = defineModel<string>('vmName', { required: true })
152
- const guestMachineType = defineModel<UI_I_OptionItem | null>(
153
- 'guest-machine-type'
154
- )
155
- const guestOsFamily = defineModel<UI_I_OptionItem | null>('guestOsFamily')
156
- const guestOsVersion = defineModel<UI_I_OptionItem | null>('guestOsVersion')
157
-
158
- const props = withDefaults(
159
- defineProps<{
160
- errorValidationFields: UI_I_ErrorValidationField[]
161
- storage: UI_I_DatastoreTableItem | null
162
- cpuModels: UI_I_OptionItem[]
163
- hardDisksForBootOptions: UI_I_SendDataNewHardDisk[] | null
164
- cdDvdDrivesForBootOptions: UI_I_SendDataNewCdDvdDrive[] | null
165
- networksForBootOptions: UI_I_SendDataNewNetwork[] | null
166
- customizeHardwareSubmit: null | Function
167
- maxCpus: number
168
- maxMemory: number
169
- selectedNavItem: UI_T_SelectedNavItem
170
- nodes: UI_I_FileTreeNode[]
171
- files: UI_I_FileTreeNode[]
172
- networksTable: UI_I_NetworkTableItem[]
173
- datastore: UI_I_DatastoreTableItem[]
174
- isDatastoreLoading: boolean
175
- cpu?: API_UI_I_VmEditCpu
176
- memory?: API_UI_I_VmEditMemory
177
- vmCpuHelpTextSecond?: string
178
- getDatastoreTableFunc?: (payload: UI_I_TablePayload) => Promise<void>
179
- hardDisks?: UI_I_SendDataNewHardDisk[] | null
180
- cdDvdDrives?: UI_I_SendDataNewCdDvdDrive[] | null
181
- networks?: UI_I_SendDataNewNetwork[] | null
182
- videoCard?: UI_I_SendDataVideoCard
183
- pciDevices?: UI_I_SendDataNewPciDevice[]
184
- usbController?: string
185
- options?: UI_I_SendDataVmoptions
186
- isEdit?: boolean
187
- isClone?: boolean
188
- state?: string | number
189
- passthroughDevices?: UI_I_PciDevice[]
190
- mediatedDevices?: UI_I_MediatedDevice[]
191
- project?: UI_T_Project
192
- computeResource?: UI_I_TreeNode | null
193
- compatibilityInfo?: string
194
- isVmt?: boolean
195
- }>(),
196
- {
197
- cpu: undefined,
198
- memory: undefined,
199
- vmCpuHelpTextSecond: undefined,
200
- getDatastoreTableFunc: undefined,
201
- hardDisks: undefined,
202
- cdDvdDrives: undefined,
203
- networks: undefined,
204
- videoCard: undefined,
205
- pciDevices: undefined,
206
- usbController: undefined,
207
- options: undefined,
208
- isEdit: false,
209
- isClone: false,
210
- state: undefined,
211
- passthroughDevices: undefined,
212
- mediatedDevices: undefined,
213
- project: undefined,
214
- computeResource: undefined,
215
- compatibilityInfo: undefined,
216
- isVmt: undefined,
217
- }
218
- )
219
- const emits = defineEmits<{
220
- (event: 'change-boot-order', value: UI_T_ChangeBootOrder): void
221
- (event: 'send-data', value: UI_I_SendDataCustomizeHardware): void
222
- (event: 'next'): void
223
- (event: 'get-storage', value: UI_I_TablePayload): void
224
- (event: 'get-folders-or-files', value: UI_I_FolderOrFileTreePayload): void
225
- (event: 'get-active-device-child', value: UI_I_FileTreeNode): void
226
- (event: 'show-datastore-child', value: UI_I_FileTreeNode): void
227
- (event: 'remove-error-by-title', value: string): void
228
- (event: 'get-networks-table', value: UI_I_TablePayload): void
229
- (event: 'get-pci-devices'): void
230
- }>()
231
-
232
- const { $store }: any = useNuxtApp()
233
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
234
-
235
- const localization = computed<UI_I_Localization>(() => useLocal())
236
-
237
- const navItems = computed<UI_I_CollapseNavItem[]>(() =>
238
- navItemsFunc(localization.value)
239
- )
240
- const selectedNavItemLocal = ref<number>(0)
241
- watch(
242
- () => props.selectedNavItem,
243
- (newValue) => {
244
- selectedNavItemLocal.value = newValue
245
- }
246
- )
247
-
248
- const sendDataVirtualHardware = ref<UI_I_SendDataVirtualHardware | null>(null)
249
- const onSendDataVirtualHardwareMethod = (
250
- data: UI_I_SendDataVirtualHardware
251
- ): void => {
252
- sendDataVirtualHardware.value = data
253
- sendData()
254
- }
255
- const sendDataVmOptions = ref<UI_I_SendDataVmoptions | null>(null)
256
- const onSendDataVmOptionsMethod = (data: UI_I_SendDataVmoptions): void => {
257
- sendDataVmOptions.value = data
258
- sendData()
259
- }
260
- const sendData = (): void => {
261
- emits('send-data', {
262
- virtualHardware: sendDataVirtualHardware.value,
263
- vmOptions: sendDataVmOptions.value,
264
- })
265
- }
266
-
267
- watch(
268
- () => props.customizeHardwareSubmit,
269
- (newValue) => {
270
- newValue && submit(newValue)
271
- }
272
- )
273
- const virtualHardwareInvalid = ref<string[]>([])
274
- const vmOptionsInvalid = ref<string[]>([])
275
- const submit = (cb: Function): void => {
276
- const invalidDevices = [
277
- ...virtualHardwareInvalid.value,
278
- ...vmOptionsInvalid.value,
279
- ]
280
- .filter((item: string) => !!item)
281
- .join(', ')
282
-
283
- if (invalidDevices) {
284
- showValidationErrors([
285
- localization.value.common.thereErrorsFollowingFields.replace(
286
- '{0}',
287
- invalidDevices
288
- ),
289
- ])
290
- cb(false)
291
- return
292
- }
293
- onRemoveValidationErrors()
294
-
295
- // emits('next')
296
- cb(true)
297
- }
298
-
299
- const errors = ref<string[]>([])
300
- const showValidationErrors = (arr: string[]): void => {
301
- errors.value = arr
302
- }
303
- const onRemoveValidationErrors = (): void => {
304
- errors.value = []
305
- }
306
- </script>
307
-
308
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <common-vm-actions-common-customize-hardware-new
3
+ v-if="isNewView"
4
+ v-model="model"
5
+ v-model:selected-nav-item="selectedNavItemLocal"
6
+ v-model:virtual-hardware-invalid="virtualHardwareInvalid"
7
+ v-model:vm-options-invalid="vmOptionsInvalid"
8
+ :error-validation-fields="props.errorValidationFields"
9
+ :storage="props.storage"
10
+ :cpu-models="props.cpuModels"
11
+ :max-memory="props.maxMemory"
12
+ :nodes="props.nodes"
13
+ :files="props.files"
14
+ :networks-table="props.networksTable"
15
+ :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
16
+ :get-datastore-table-func="props.getDatastoreTableFunc"
17
+ :datastore="props.datastore"
18
+ :is-datastore-loading="props.isDatastoreLoading"
19
+ :hard-disks="props.hardDisks"
20
+ :cd-dvd-drives="props.cdDvdDrives"
21
+ :networks="props.networks"
22
+ :video-card="props.videoCard"
23
+ :pci-devices="props.pciDevices"
24
+ :is-edit="props.isEdit"
25
+ :is-clone="props.isClone"
26
+ :state="props.state"
27
+ :passthrough-devices="props.passthroughDevices"
28
+ :mediated-devices="props.mediatedDevices"
29
+ :project="props.project"
30
+ :nav-items="navItems"
31
+ :errors="errors"
32
+ :compute-resource="props.computeResource"
33
+ :compatibility-info="props.compatibilityInfo"
34
+ :is-vmt="props.isVmt"
35
+ @next="emits('next')"
36
+ @get-storage="emits('get-storage', $event)"
37
+ @get-folders-or-files="emits('get-folders-or-files', $event)"
38
+ @get-active-device-child="emits('get-active-device-child', $event)"
39
+ @show-datastore-child="emits('show-datastore-child', $event)"
40
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
41
+ @get-networks-table="emits('get-networks-table', $event)"
42
+ @get-pci-devices="emits('get-pci-devices')"
43
+ @remove-validation-errors="onRemoveValidationErrors"
44
+ />
45
+ <common-vm-actions-common-customize-hardware-old
46
+ v-else
47
+ v-model="model"
48
+ v-model:selected-nav-item="selectedNavItemLocal"
49
+ v-model:virtual-hardware-invalid="virtualHardwareInvalid"
50
+ v-model:vm-options-invalid="vmOptionsInvalid"
51
+ :error-validation-fields="props.errorValidationFields"
52
+ :storage="props.storage"
53
+ :cpu-models="props.cpuModels"
54
+ :max-memory="props.maxMemory"
55
+ :nodes="props.nodes"
56
+ :files="props.files"
57
+ :networks-table="props.networksTable"
58
+ :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
59
+ :get-datastore-table-func="props.getDatastoreTableFunc"
60
+ :datastore="props.datastore"
61
+ :is-datastore-loading="props.isDatastoreLoading"
62
+ :hard-disks="props.hardDisks"
63
+ :cd-dvd-drives="props.cdDvdDrives"
64
+ :networks="props.networks"
65
+ :video-card="props.videoCard"
66
+ :pci-devices="props.pciDevices"
67
+ :is-edit="props.isEdit"
68
+ :is-clone="props.isClone"
69
+ :state="props.state"
70
+ :passthrough-devices="props.passthroughDevices"
71
+ :mediated-devices="props.mediatedDevices"
72
+ :project="props.project"
73
+ :nav-items="navItems"
74
+ :errors="errors"
75
+ :compute-resource="props.computeResource"
76
+ :is-vmt="props.isVmt"
77
+ @next="emits('next')"
78
+ @get-storage="emits('get-storage', $event)"
79
+ @get-folders-or-files="emits('get-folders-or-files', $event)"
80
+ @get-active-device-child="emits('get-active-device-child', $event)"
81
+ @show-datastore-child="emits('show-datastore-child', $event)"
82
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
83
+ @get-networks-table="emits('get-networks-table', $event)"
84
+ @get-pci-devices="emits('get-pci-devices')"
85
+ @remove-validation-errors="onRemoveValidationErrors"
86
+ />
87
+ </template>
88
+
89
+ <script setup lang="ts">
90
+ import type { UI_T_Project } from '~/lib/models/types'
91
+ import type { UI_I_DatastoreTableItem } from '~/lib/models/store/storage/interfaces'
92
+ import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
93
+ import type { UI_I_TablePayload } from '~/lib/models/table/interfaces'
94
+ import type { UI_I_FolderOrFileTreePayload } from '~/lib/models/store/storage/interfaces'
95
+ import type { UI_I_FileTreeNode } from '~/components/lib/models/interfaces'
96
+ import type {
97
+ UI_I_SendDataNewPciDevice,
98
+ UI_I_SendDataNewCdDvdDrive,
99
+ UI_I_SendDataNewHardDisk,
100
+ UI_I_SendDataNewNetwork,
101
+ UI_I_SendDataVideoCard,
102
+ } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
103
+ import type { UI_T_SelectedNavItem } from '~/components/common/vm/actions/common/lib/models/types'
104
+ import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
105
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
106
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
107
+ import type {
108
+ UI_I_MediatedDevice,
109
+ UI_I_PciDevice,
110
+ } from '~/lib/models/store/vm/interfaces'
111
+ import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
112
+ import type { UI_I_CollapseNavItem } from '~/components/atoms/collapse/lib/models/interfaces'
113
+ import type { UI_I_CreateVmData } from '~/components/common/vm/actions/common/lib/models/interfaces'
114
+ import { navItemsFunc } from '~/components/common/vm/actions/common/customizeHardware/lib/config/navItems'
115
+
116
+ const model = defineModel<UI_I_CreateVmData>({ required: true })
117
+ const props = withDefaults(
118
+ defineProps<{
119
+ errorValidationFields: UI_I_ErrorValidationField[]
120
+ storage: UI_I_DatastoreTableItem | null
121
+ cpuModels: UI_I_OptionItem[]
122
+ // hardDisksForBootOptions: UI_I_SendDataNewHardDisk[] | null // TODO remove everywhere
123
+ // cdDvdDrivesForBootOptions: UI_I_SendDataNewCdDvdDrive[] | null // TODO remove everywhere
124
+ // networksForBootOptions: UI_I_SendDataNewNetwork[] | null // TODO remove everywhere
125
+ customizeHardwareSubmit: null | Function
126
+ maxMemory: number
127
+ selectedNavItem: UI_T_SelectedNavItem
128
+ nodes: UI_I_FileTreeNode[]
129
+ files: UI_I_FileTreeNode[]
130
+ networksTable: UI_I_NetworkTableItem[]
131
+ datastore: UI_I_DatastoreTableItem[]
132
+ isDatastoreLoading: boolean
133
+ // cpu?: API_UI_I_VmEditCpu // TODO remove everywhere
134
+ // memory?: API_UI_I_VmEditMemory // TODO remove everywhere
135
+ vmCpuHelpTextSecond?: string
136
+ getDatastoreTableFunc?: (payload: UI_I_TablePayload) => Promise<void>
137
+ hardDisks?: UI_I_SendDataNewHardDisk[] | null
138
+ cdDvdDrives?: UI_I_SendDataNewCdDvdDrive[] | null
139
+ networks?: UI_I_SendDataNewNetwork[] | null
140
+ videoCard?: UI_I_SendDataVideoCard
141
+ pciDevices?: UI_I_SendDataNewPciDevice[]
142
+ // usbController?: string // TODO remove everywhere
143
+ // options?: UI_I_SendDataVmoptions // TODO remove everywhere
144
+ isEdit?: boolean
145
+ isClone?: boolean
146
+ state?: string | number
147
+ passthroughDevices?: UI_I_PciDevice[]
148
+ mediatedDevices?: UI_I_MediatedDevice[]
149
+ project?: UI_T_Project
150
+ computeResource?: UI_I_TreeNode | null
151
+ compatibilityInfo?: string
152
+ isVmt?: boolean
153
+ }>(),
154
+ {
155
+ vmCpuHelpTextSecond: undefined,
156
+ getDatastoreTableFunc: undefined,
157
+ hardDisks: undefined,
158
+ cdDvdDrives: undefined,
159
+ networks: undefined,
160
+ videoCard: undefined,
161
+ pciDevices: undefined,
162
+ isEdit: false,
163
+ isClone: false,
164
+ state: undefined,
165
+ passthroughDevices: undefined,
166
+ mediatedDevices: undefined,
167
+ project: undefined,
168
+ computeResource: undefined,
169
+ compatibilityInfo: undefined,
170
+ isVmt: undefined,
171
+ }
172
+ )
173
+ const emits = defineEmits<{
174
+ // (event: 'change-boot-order', value: UI_T_ChangeBootOrder): void // TODO remove everywhere
175
+ // (event: 'send-data', value: UI_I_SendDataCustomizeHardware): void // TODO remove everywhere
176
+ (event: 'next'): void
177
+ (event: 'get-storage', value: UI_I_TablePayload): void
178
+ (event: 'get-folders-or-files', value: UI_I_FolderOrFileTreePayload): void
179
+ (event: 'get-active-device-child', value: UI_I_FileTreeNode): void
180
+ (event: 'show-datastore-child', value: UI_I_FileTreeNode): void
181
+ (event: 'remove-error-by-title', value: string): void
182
+ (event: 'get-networks-table', value: UI_I_TablePayload): void
183
+ (event: 'get-pci-devices'): void
184
+ }>()
185
+
186
+ const { $store }: any = useNuxtApp()
187
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
188
+
189
+ const localization = computed<UI_I_Localization>(() => useLocal())
190
+
191
+ const navItems = computed<UI_I_CollapseNavItem[]>(() =>
192
+ navItemsFunc(localization.value)
193
+ )
194
+ const selectedNavItemLocal = ref<number>(0)
195
+ watch(
196
+ () => props.selectedNavItem,
197
+ (newValue) => {
198
+ selectedNavItemLocal.value = newValue
199
+ }
200
+ )
201
+
202
+ watch(
203
+ () => props.customizeHardwareSubmit,
204
+ (newValue) => {
205
+ newValue && submit(newValue)
206
+ }
207
+ )
208
+ const virtualHardwareInvalid = ref<string[]>([])
209
+ const vmOptionsInvalid = ref<string[]>([])
210
+ const submit = (cb: Function): void => {
211
+ const invalidDevices = [
212
+ ...virtualHardwareInvalid.value,
213
+ ...vmOptionsInvalid.value,
214
+ ]
215
+ .filter((item: string) => !!item)
216
+ .join(', ')
217
+
218
+ if (invalidDevices) {
219
+ showValidationErrors([
220
+ localization.value.common.thereErrorsFollowingFields.replace(
221
+ '{0}',
222
+ invalidDevices
223
+ ),
224
+ ])
225
+ cb(false)
226
+ return
227
+ }
228
+ onRemoveValidationErrors()
229
+
230
+ // emits('next')
231
+ cb(true)
232
+ }
233
+
234
+ const errors = ref<string[]>([])
235
+ const showValidationErrors = (arr: string[]): void => {
236
+ errors.value = arr
237
+ }
238
+ const onRemoveValidationErrors = (): void => {
239
+ errors.value = []
240
+ }
241
+ </script>
242
+
243
+ <style scoped lang="scss"></style>