bfg-common 1.5.43 → 1.5.45

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 (185) 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/normalize.scss +339 -339
  7. package/components/atoms/TheIcon3.vue +50 -50
  8. package/components/atoms/collapse/CollapseNav.vue +165 -165
  9. package/components/atoms/dropdown/dropdown/Dropdown.vue +168 -168
  10. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  11. package/components/atoms/perPage/PerPage.vue +58 -58
  12. package/components/atoms/stack/StackBlock.vue +185 -185
  13. package/components/atoms/table/dataGrid/DataGrid.vue +1 -1
  14. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +222 -222
  15. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  16. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  17. package/components/atoms/tabs/VerticalTabs.vue +105 -105
  18. package/components/atoms/tooltip/Signpost.vue +227 -227
  19. package/components/common/accordion/Recursion.vue +222 -222
  20. package/components/common/browse/BrowseNew.vue +237 -237
  21. package/components/common/browse/BrowseOld.vue +217 -217
  22. package/components/common/browse/blocks/contents/Files.vue +37 -37
  23. package/components/common/browse/blocks/contents/FilesOld.vue +72 -72
  24. package/components/common/browse/blocks/contents/filesNew/FilesNew.vue +96 -96
  25. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  26. package/components/common/context/Context.vue +111 -111
  27. package/components/common/context/lib/models/interfaces.ts +31 -31
  28. package/components/common/context/recursion/Recursion.vue +87 -87
  29. package/components/common/context/recursion/RecursionNew.vue +238 -238
  30. package/components/common/context/recursion/RecursionOld.vue +228 -228
  31. package/components/common/details/DetailsItem.vue +109 -109
  32. package/components/common/diagramMain/DiagramMain.vue +897 -897
  33. package/components/common/diagramMain/Header.vue +214 -214
  34. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  35. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +103 -103
  36. package/components/common/layout/theHeader/userMenu/modals/preferences/view/ViewOld.vue +112 -112
  37. package/components/common/mainNavigationPanel/MainNavigationPanelNew.vue +336 -336
  38. package/components/common/mainNavigationPanel/MainNavigationPanelOld.vue +311 -311
  39. package/components/common/modals/unsavedChanges/UnsavedChanges.vue +56 -56
  40. package/components/common/monitor/overview/OverviewOld.vue +139 -139
  41. package/components/common/pages/home/StatusContent.vue +49 -49
  42. package/components/common/pages/home/headline/Headline.vue +45 -45
  43. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  44. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  45. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  46. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  47. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  48. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  49. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  50. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  51. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  52. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  53. package/components/common/pages/licensing/Licensing.vue +128 -0
  54. package/components/common/pages/licensing/lib/models/interfaces.ts +22 -0
  55. package/components/common/pages/licensing/lib/utils/validation.ts +29 -0
  56. package/components/common/pages/licensing/listView/ListView.vue +50 -0
  57. package/components/common/pages/licensing/listView/lib/config/list.ts +57 -0
  58. package/components/common/pages/licensing/listView/lib/models/interfaces.ts +5 -0
  59. package/components/common/pages/licensing/modals/assign/Assign.vue +247 -0
  60. package/components/common/pages/licensing/modals/assign/lib/config/tabsPannel.ts +17 -0
  61. package/components/common/pages/licensing/modals/assign/lib/models/interfaces.ts +5 -0
  62. package/components/common/pages/licensing/modals/assign/lib/utils/error.ts +25 -0
  63. package/components/common/pages/licensing/modals/assign/new/New.vue +216 -0
  64. package/components/common/pages/licensing/modals/assign/tableView/TableView.vue +193 -0
  65. package/components/common/pages/licensing/modals/assign/tableView/lib/config/table.ts +100 -0
  66. package/components/common/pages/licensing/modals/assign/tableView/lib/config/tableKeys.ts +10 -0
  67. package/components/common/pages/licensing/modals/assign/tableView/lib/models/interfaces.ts +9 -0
  68. package/components/common/pages/licensing/modals/assign/tableView/lib/models/types.ts +8 -0
  69. package/components/common/pages/packages/Packages.vue +208 -208
  70. package/components/common/pages/shortcuts/block/BlockNew.vue +96 -96
  71. package/components/common/pages/shortcuts/block/BlockOld.vue +68 -68
  72. package/components/common/portlets/customAttributes/Portlet.vue +667 -667
  73. package/components/common/portlets/tag/Portlet.vue +433 -433
  74. package/components/common/recursionTree/RecursionTree.vue +223 -223
  75. package/components/common/select/button/ButtonDropdown.vue +108 -108
  76. package/components/common/spiceConsole/Drawer.vue +370 -370
  77. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  78. package/components/common/split/horizontal/HorizontalNew.vue +376 -376
  79. package/components/common/split/horizontal/HorizontalOld.vue +337 -337
  80. package/components/common/split/vertical/Vertical.vue +160 -160
  81. package/components/common/tools/Actions.vue +188 -188
  82. package/components/common/vm/actions/add/Add.vue +774 -774
  83. package/components/common/vm/actions/add/lib/config/steps.ts +247 -247
  84. package/components/common/vm/actions/clone/Clone.vue +798 -798
  85. package/components/common/vm/actions/clone/lib/config/steps.ts +291 -291
  86. package/components/common/vm/actions/clone/toTemplate/ToTemplate.vue +634 -634
  87. package/components/common/vm/actions/clone/toTemplate/lib/config/steps.ts +116 -116
  88. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +275 -275
  89. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +274 -274
  90. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +177 -177
  91. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +698 -698
  92. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +410 -410
  93. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +319 -319
  94. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  95. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +99 -99
  96. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +117 -117
  97. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +232 -232
  98. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +164 -164
  99. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +168 -168
  100. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  101. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +70 -70
  102. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  103. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +338 -338
  104. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  105. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  106. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  107. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +368 -368
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +232 -232
  109. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +250 -250
  110. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +56 -56
  111. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +44 -44
  112. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +286 -286
  113. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
  114. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  115. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  116. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -95
  117. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  118. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +69 -69
  119. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -83
  120. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  121. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  122. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  123. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  124. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +84 -84
  125. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  126. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  127. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  128. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  129. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -41
  130. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +81 -81
  131. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  132. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +56 -56
  133. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  134. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  135. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +104 -104
  136. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +112 -112
  137. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  138. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  139. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  140. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  141. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  142. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  143. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +42 -42
  144. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  145. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  146. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  147. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +141 -141
  148. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  149. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  150. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  151. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  152. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  153. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +39 -39
  154. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  155. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +102 -102
  156. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordOld.vue +94 -94
  157. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  158. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +38 -38
  159. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  160. package/components/common/vm/actions/common/lib/utils/capabilities.ts +52 -52
  161. package/components/common/vm/actions/common/select/createType/CreateType.vue +74 -74
  162. package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
  163. package/components/common/vm/actions/common/select/storage/StorageOld.vue +129 -129
  164. package/components/common/vm/actions/common/select/template/Template.vue +65 -65
  165. package/components/common/vm/actions/common/select/template/TemplateTreeView.vue +88 -88
  166. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  167. package/components/common/wizards/datastore/add/lib/config/steps.ts +138 -138
  168. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +60 -60
  169. package/components/common/wizards/datastore/add/readyComplete/ReadyComplete.vue +92 -92
  170. package/components/common/wizards/network/add/steps/SelectConnectionType.vue +105 -105
  171. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +220 -220
  172. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  173. package/components/common/wizards/vm/migrate/select/network/table/network/Network.vue +150 -150
  174. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +91 -91
  175. package/components/common/wizards/vm/migrate/select/priority/Priority.vue +43 -43
  176. package/composables/productNameLocal.ts +30 -30
  177. package/composables/useAppVersion.ts +21 -21
  178. package/package.json +1 -1
  179. package/plugins/date.ts +233 -233
  180. package/plugins/directives.ts +24 -24
  181. package/public/spice-console/lib/images/bitmap.js +203 -203
  182. package/public/spice-console/network/spicechannel.js +383 -383
  183. package/store/main/mutations.ts +7 -7
  184. package/store/main/state.ts +7 -7
  185. package/store/tasks/mappers/recentTasks.ts +64 -64
@@ -1,275 +1,275 @@
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
- :mediated-devices="props.mediatedDevices"
39
- :project="props.project"
40
- :nav-items="navItems"
41
- :errors="errors"
42
- :compute-resource="props.computeResource"
43
- @change-boot-order="emits('change-boot-order', $event)"
44
- @send-data="emits('send-data', $event)"
45
- @next="emits('next')"
46
- @get-storage="emits('get-storage', $event)"
47
- @get-folders-or-files="emits('get-folders-or-files', $event)"
48
- @get-active-device-child="emits('get-active-device-child', $event)"
49
- @show-datastore-child="emits('show-datastore-child', $event)"
50
- @remove-error-by-title="emits('remove-error-by-title', $event)"
51
- @get-networks-table="emits('get-networks-table', $event)"
52
- @get-pci-devices="emits('get-pci-devices')"
53
- @remove-validation-errors="onRemoveValidationErrors"
54
- @send-data-virtual-hardware-method="onSendDataVirtualHardwareMethod"
55
- @send-data-vm-options-method="onSendDataVmOptionsMethod"
56
- />
57
- <common-vm-actions-common-customize-hardware-old
58
- v-else
59
- v-model:vm-name="vmName"
60
- v-model:guest-machine-type="guestMachineType"
61
- v-model:guest-os-family="guestOsFamily"
62
- v-model:guest-os-version="guestOsVersion"
63
- v-model:selected-nav-item="selectedNavItemLocal"
64
- v-model:virtual-hardware-invalid="virtualHardwareInvalid"
65
- v-model:vm-options-invalid="vmOptionsInvalid"
66
- :error-validation-fields="props.errorValidationFields"
67
- :storage="props.storage"
68
- :cpu-models="props.cpuModels"
69
- :hard-disks-for-boot-options="props.hardDisksForBootOptions"
70
- :cd-dvd-drives-for-boot-options="props.cdDvdDrivesForBootOptions"
71
- :networks-for-boot-options="props.networksForBootOptions"
72
- :max-cpus="props.maxCpus"
73
- :max-memory="props.maxMemory"
74
- :nodes="props.nodes"
75
- :files="props.files"
76
- :networks-table="props.networksTable"
77
- :cpu="props.cpu"
78
- :memory="props.memory"
79
- :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
80
- :get-datastore-table-func="props.getDatastoreTableFunc"
81
- :datastore="props.datastore"
82
- :hard-disks="props.hardDisks"
83
- :cd-dvd-drives="props.cdDvdDrives"
84
- :networks="props.networks"
85
- :video-card="props.videoCard"
86
- :pci-devices="props.pciDevices"
87
- :usb-controller="props.usbController"
88
- :options="props.options"
89
- :is-edit="props.isEdit"
90
- :is-clone="props.isClone"
91
- :state="props.state"
92
- :passthrough-devices="props.passthroughDevices"
93
- :mediated-devices="props.mediatedDevices"
94
- :project="props.project"
95
- :nav-items="navItems"
96
- :errors="errors"
97
- :compute-resource="props.computeResource"
98
- @change-boot-order="emits('change-boot-order', $event)"
99
- @send-data="emits('send-data', $event)"
100
- @next="emits('next')"
101
- @get-storage="emits('get-storage', $event)"
102
- @get-folders-or-files="emits('get-folders-or-files', $event)"
103
- @get-active-device-child="emits('get-active-device-child', $event)"
104
- @show-datastore-child="emits('show-datastore-child', $event)"
105
- @remove-error-by-title="emits('remove-error-by-title', $event)"
106
- @get-networks-table="emits('get-networks-table', $event)"
107
- @get-pci-devices="emits('get-pci-devices')"
108
- @remove-validation-errors="onRemoveValidationErrors"
109
- @send-data-virtual-hardware-method="onSendDataVirtualHardwareMethod"
110
- @send-data-vm-options-method="onSendDataVmOptionsMethod"
111
- />
112
- </template>
113
-
114
- <script setup lang="ts">
115
- import type { UI_T_Project } from '~/lib/models/types'
116
- import type { UI_I_DatastoreTableItem } from '~/lib/models/store/storage/interfaces'
117
- import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
118
- import type { UI_I_TablePayload } from '~/lib/models/table/interfaces'
119
- import type { UI_I_FolderOrFileTreePayload } from '~/lib/models/store/storage/interfaces'
120
- import type { UI_I_FileTreeNode } from '~/components/lib/models/interfaces'
121
- import type {
122
- UI_I_SendDataNewPciDevice,
123
- UI_I_SendDataNewCdDvdDrive,
124
- UI_I_SendDataNewHardDisk,
125
- UI_I_SendDataNewNetwork,
126
- UI_I_SendDataVideoCard,
127
- UI_I_SendDataVirtualHardware,
128
- } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
129
- import type { UI_I_SendDataCustomizeHardware } from '~/components/common/vm/actions/common/customizeHardware/lib/models/interfaces'
130
- import type { UI_I_SendDataVmoptions } from '~/components/common/vm/actions/common/customizeHardware/vmoptions/lib/models/interfaces'
131
- import type { UI_T_SelectedNavItem } from '~/components/common/vm/actions/common/lib/models/types'
132
- import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
133
- import type { UI_I_Localization } from '~/lib/models/interfaces'
134
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
135
- import type { UI_T_ChangeBootOrder } from '~/components/common/vm/actions/lib/models/types'
136
- import type {
137
- API_UI_I_VmEditCpu,
138
- API_UI_I_VmEditMemory,
139
- UI_I_MediatedDevice,
140
- UI_I_PciDevice,
141
- } from '~/lib/models/store/vm/interfaces'
142
- import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
143
- import { navItemsFunc } from '~/components/common/vm/actions/common/customizeHardware/lib/config/navItems'
144
-
145
- const vmName = defineModel<string>('vmName', { required: true })
146
- const guestMachineType = defineModel<UI_I_OptionItem | null>(
147
- 'guest-machine-type'
148
- )
149
- const guestOsFamily = defineModel<UI_I_OptionItem | null>('guestOsFamily')
150
- const guestOsVersion = defineModel<UI_I_OptionItem | null>('guestOsVersion')
151
-
152
- const props = defineProps<{
153
- errorValidationFields: UI_I_ErrorValidationField[]
154
- storage: UI_I_DatastoreTableItem | null
155
- cpuModels: UI_I_OptionItem[]
156
- hardDisksForBootOptions: UI_I_SendDataNewHardDisk[] | null
157
- cdDvdDrivesForBootOptions: UI_I_SendDataNewCdDvdDrive[] | null
158
- networksForBootOptions: UI_I_SendDataNewNetwork[] | null
159
- customizeHardwareSubmit: null | Function
160
- maxCpus: number
161
- maxMemory: number
162
- selectedNavItem: UI_T_SelectedNavItem
163
- nodes: UI_I_FileTreeNode[]
164
- files: UI_I_FileTreeNode[]
165
- networksTable: UI_I_NetworkTableItem[]
166
- cpu?: API_UI_I_VmEditCpu
167
- memory?: API_UI_I_VmEditMemory
168
- vmCpuHelpTextSecond?: string
169
- getDatastoreTableFunc?: (payload: UI_I_TablePayload) => Promise<void>
170
- datastore: UI_I_DatastoreTableItem[]
171
- hardDisks?: UI_I_SendDataNewHardDisk[] | null
172
- cdDvdDrives?: UI_I_SendDataNewCdDvdDrive[] | null
173
- networks?: UI_I_SendDataNewNetwork[] | null
174
- videoCard?: UI_I_SendDataVideoCard
175
- pciDevices?: UI_I_SendDataNewPciDevice[]
176
- usbController?: string
177
- options?: UI_I_SendDataVmoptions
178
- isEdit?: boolean
179
- isClone?: boolean
180
- state?: string | number
181
- passthroughDevices?: UI_I_PciDevice[]
182
- mediatedDevices?: UI_I_MediatedDevice[]
183
- project?: UI_T_Project
184
- computeResource?: UI_I_TreeNode | null
185
- }>()
186
- const emits = defineEmits<{
187
- (event: 'change-boot-order', value: UI_T_ChangeBootOrder): void
188
- (event: 'send-data', value: UI_I_SendDataCustomizeHardware): void
189
- (event: 'next'): void
190
- (event: 'get-storage', value: UI_I_TablePayload): void
191
- (event: 'get-folders-or-files', value: UI_I_FolderOrFileTreePayload): void
192
- (event: 'get-active-device-child', value: UI_I_FileTreeNode): void
193
- (event: 'show-datastore-child', value: UI_I_FileTreeNode): void
194
- (event: 'remove-error-by-title', value: string): void
195
- (event: 'get-networks-table', value: UI_I_TablePayload): void
196
- (event: 'get-pci-devices'): void
197
- }>()
198
-
199
- const { $store }: any = useNuxtApp()
200
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
201
-
202
- const localization = computed<UI_I_Localization>(() => useLocal())
203
-
204
- const navItems = computed<UI_I_TabItem[]>(() =>
205
- navItemsFunc(localization.value)
206
- )
207
- const selectedNavItemLocal = ref<number>(0)
208
- watch(
209
- () => props.selectedNavItem,
210
- (newValue) => {
211
- selectedNavItemLocal.value = newValue
212
- }
213
- )
214
-
215
- const sendDataVirtualHardware = ref<UI_I_SendDataVirtualHardware | null>(null)
216
- const onSendDataVirtualHardwareMethod = (
217
- data: UI_I_SendDataVirtualHardware
218
- ): void => {
219
- sendDataVirtualHardware.value = data
220
- sendData()
221
- }
222
- const sendDataVmOptions = ref<UI_I_SendDataVmoptions | null>(null)
223
- const onSendDataVmOptionsMethod = (data: UI_I_SendDataVmoptions): void => {
224
- sendDataVmOptions.value = data
225
- sendData()
226
- }
227
- const sendData = (): void => {
228
- emits('send-data', {
229
- virtualHardware: sendDataVirtualHardware.value,
230
- vmOptions: sendDataVmOptions.value,
231
- })
232
- }
233
-
234
- watch(
235
- () => props.customizeHardwareSubmit,
236
- (newValue) => {
237
- newValue && submit(newValue)
238
- }
239
- )
240
- const virtualHardwareInvalid = ref<string[]>([])
241
- const vmOptionsInvalid = ref<string[]>([])
242
- const submit = (cb: Function): void => {
243
- const invalidDevices = [
244
- ...virtualHardwareInvalid.value,
245
- ...vmOptionsInvalid.value,
246
- ]
247
- .filter((item: string) => !!item)
248
- .join(', ')
249
-
250
- if (invalidDevices) {
251
- showValidationErrors([
252
- localization.value.common.thereErrorsFollowingFields.replace(
253
- '{0}',
254
- invalidDevices
255
- ),
256
- ])
257
- cb(false)
258
- return
259
- }
260
- onRemoveValidationErrors()
261
-
262
- // emits('next')
263
- cb(true)
264
- }
265
-
266
- const errors = ref<string[]>([])
267
- const showValidationErrors = (arr: string[]): void => {
268
- errors.value = arr
269
- }
270
- const onRemoveValidationErrors = (): void => {
271
- errors.value = []
272
- }
273
- </script>
274
-
275
- <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
+ :mediated-devices="props.mediatedDevices"
39
+ :project="props.project"
40
+ :nav-items="navItems"
41
+ :errors="errors"
42
+ :compute-resource="props.computeResource"
43
+ @change-boot-order="emits('change-boot-order', $event)"
44
+ @send-data="emits('send-data', $event)"
45
+ @next="emits('next')"
46
+ @get-storage="emits('get-storage', $event)"
47
+ @get-folders-or-files="emits('get-folders-or-files', $event)"
48
+ @get-active-device-child="emits('get-active-device-child', $event)"
49
+ @show-datastore-child="emits('show-datastore-child', $event)"
50
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
51
+ @get-networks-table="emits('get-networks-table', $event)"
52
+ @get-pci-devices="emits('get-pci-devices')"
53
+ @remove-validation-errors="onRemoveValidationErrors"
54
+ @send-data-virtual-hardware-method="onSendDataVirtualHardwareMethod"
55
+ @send-data-vm-options-method="onSendDataVmOptionsMethod"
56
+ />
57
+ <common-vm-actions-common-customize-hardware-old
58
+ v-else
59
+ v-model:vm-name="vmName"
60
+ v-model:guest-machine-type="guestMachineType"
61
+ v-model:guest-os-family="guestOsFamily"
62
+ v-model:guest-os-version="guestOsVersion"
63
+ v-model:selected-nav-item="selectedNavItemLocal"
64
+ v-model:virtual-hardware-invalid="virtualHardwareInvalid"
65
+ v-model:vm-options-invalid="vmOptionsInvalid"
66
+ :error-validation-fields="props.errorValidationFields"
67
+ :storage="props.storage"
68
+ :cpu-models="props.cpuModels"
69
+ :hard-disks-for-boot-options="props.hardDisksForBootOptions"
70
+ :cd-dvd-drives-for-boot-options="props.cdDvdDrivesForBootOptions"
71
+ :networks-for-boot-options="props.networksForBootOptions"
72
+ :max-cpus="props.maxCpus"
73
+ :max-memory="props.maxMemory"
74
+ :nodes="props.nodes"
75
+ :files="props.files"
76
+ :networks-table="props.networksTable"
77
+ :cpu="props.cpu"
78
+ :memory="props.memory"
79
+ :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
80
+ :get-datastore-table-func="props.getDatastoreTableFunc"
81
+ :datastore="props.datastore"
82
+ :hard-disks="props.hardDisks"
83
+ :cd-dvd-drives="props.cdDvdDrives"
84
+ :networks="props.networks"
85
+ :video-card="props.videoCard"
86
+ :pci-devices="props.pciDevices"
87
+ :usb-controller="props.usbController"
88
+ :options="props.options"
89
+ :is-edit="props.isEdit"
90
+ :is-clone="props.isClone"
91
+ :state="props.state"
92
+ :passthrough-devices="props.passthroughDevices"
93
+ :mediated-devices="props.mediatedDevices"
94
+ :project="props.project"
95
+ :nav-items="navItems"
96
+ :errors="errors"
97
+ :compute-resource="props.computeResource"
98
+ @change-boot-order="emits('change-boot-order', $event)"
99
+ @send-data="emits('send-data', $event)"
100
+ @next="emits('next')"
101
+ @get-storage="emits('get-storage', $event)"
102
+ @get-folders-or-files="emits('get-folders-or-files', $event)"
103
+ @get-active-device-child="emits('get-active-device-child', $event)"
104
+ @show-datastore-child="emits('show-datastore-child', $event)"
105
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
106
+ @get-networks-table="emits('get-networks-table', $event)"
107
+ @get-pci-devices="emits('get-pci-devices')"
108
+ @remove-validation-errors="onRemoveValidationErrors"
109
+ @send-data-virtual-hardware-method="onSendDataVirtualHardwareMethod"
110
+ @send-data-vm-options-method="onSendDataVmOptionsMethod"
111
+ />
112
+ </template>
113
+
114
+ <script setup lang="ts">
115
+ import type { UI_T_Project } from '~/lib/models/types'
116
+ import type { UI_I_DatastoreTableItem } from '~/lib/models/store/storage/interfaces'
117
+ import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
118
+ import type { UI_I_TablePayload } from '~/lib/models/table/interfaces'
119
+ import type { UI_I_FolderOrFileTreePayload } from '~/lib/models/store/storage/interfaces'
120
+ import type { UI_I_FileTreeNode } from '~/components/lib/models/interfaces'
121
+ import type {
122
+ UI_I_SendDataNewPciDevice,
123
+ UI_I_SendDataNewCdDvdDrive,
124
+ UI_I_SendDataNewHardDisk,
125
+ UI_I_SendDataNewNetwork,
126
+ UI_I_SendDataVideoCard,
127
+ UI_I_SendDataVirtualHardware,
128
+ } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
129
+ import type { UI_I_SendDataCustomizeHardware } from '~/components/common/vm/actions/common/customizeHardware/lib/models/interfaces'
130
+ import type { UI_I_SendDataVmoptions } from '~/components/common/vm/actions/common/customizeHardware/vmoptions/lib/models/interfaces'
131
+ import type { UI_T_SelectedNavItem } from '~/components/common/vm/actions/common/lib/models/types'
132
+ import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
133
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
134
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
135
+ import type { UI_T_ChangeBootOrder } from '~/components/common/vm/actions/lib/models/types'
136
+ import type {
137
+ API_UI_I_VmEditCpu,
138
+ API_UI_I_VmEditMemory,
139
+ UI_I_MediatedDevice,
140
+ UI_I_PciDevice,
141
+ } from '~/lib/models/store/vm/interfaces'
142
+ import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
143
+ import { navItemsFunc } from '~/components/common/vm/actions/common/customizeHardware/lib/config/navItems'
144
+
145
+ const vmName = defineModel<string>('vmName', { required: true })
146
+ const guestMachineType = defineModel<UI_I_OptionItem | null>(
147
+ 'guest-machine-type'
148
+ )
149
+ const guestOsFamily = defineModel<UI_I_OptionItem | null>('guestOsFamily')
150
+ const guestOsVersion = defineModel<UI_I_OptionItem | null>('guestOsVersion')
151
+
152
+ const props = defineProps<{
153
+ errorValidationFields: UI_I_ErrorValidationField[]
154
+ storage: UI_I_DatastoreTableItem | null
155
+ cpuModels: UI_I_OptionItem[]
156
+ hardDisksForBootOptions: UI_I_SendDataNewHardDisk[] | null
157
+ cdDvdDrivesForBootOptions: UI_I_SendDataNewCdDvdDrive[] | null
158
+ networksForBootOptions: UI_I_SendDataNewNetwork[] | null
159
+ customizeHardwareSubmit: null | Function
160
+ maxCpus: number
161
+ maxMemory: number
162
+ selectedNavItem: UI_T_SelectedNavItem
163
+ nodes: UI_I_FileTreeNode[]
164
+ files: UI_I_FileTreeNode[]
165
+ networksTable: UI_I_NetworkTableItem[]
166
+ cpu?: API_UI_I_VmEditCpu
167
+ memory?: API_UI_I_VmEditMemory
168
+ vmCpuHelpTextSecond?: string
169
+ getDatastoreTableFunc?: (payload: UI_I_TablePayload) => Promise<void>
170
+ datastore: UI_I_DatastoreTableItem[]
171
+ hardDisks?: UI_I_SendDataNewHardDisk[] | null
172
+ cdDvdDrives?: UI_I_SendDataNewCdDvdDrive[] | null
173
+ networks?: UI_I_SendDataNewNetwork[] | null
174
+ videoCard?: UI_I_SendDataVideoCard
175
+ pciDevices?: UI_I_SendDataNewPciDevice[]
176
+ usbController?: string
177
+ options?: UI_I_SendDataVmoptions
178
+ isEdit?: boolean
179
+ isClone?: boolean
180
+ state?: string | number
181
+ passthroughDevices?: UI_I_PciDevice[]
182
+ mediatedDevices?: UI_I_MediatedDevice[]
183
+ project?: UI_T_Project
184
+ computeResource?: UI_I_TreeNode | null
185
+ }>()
186
+ const emits = defineEmits<{
187
+ (event: 'change-boot-order', value: UI_T_ChangeBootOrder): void
188
+ (event: 'send-data', value: UI_I_SendDataCustomizeHardware): void
189
+ (event: 'next'): void
190
+ (event: 'get-storage', value: UI_I_TablePayload): void
191
+ (event: 'get-folders-or-files', value: UI_I_FolderOrFileTreePayload): void
192
+ (event: 'get-active-device-child', value: UI_I_FileTreeNode): void
193
+ (event: 'show-datastore-child', value: UI_I_FileTreeNode): void
194
+ (event: 'remove-error-by-title', value: string): void
195
+ (event: 'get-networks-table', value: UI_I_TablePayload): void
196
+ (event: 'get-pci-devices'): void
197
+ }>()
198
+
199
+ const { $store }: any = useNuxtApp()
200
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
201
+
202
+ const localization = computed<UI_I_Localization>(() => useLocal())
203
+
204
+ const navItems = computed<UI_I_TabItem[]>(() =>
205
+ navItemsFunc(localization.value)
206
+ )
207
+ const selectedNavItemLocal = ref<number>(0)
208
+ watch(
209
+ () => props.selectedNavItem,
210
+ (newValue) => {
211
+ selectedNavItemLocal.value = newValue
212
+ }
213
+ )
214
+
215
+ const sendDataVirtualHardware = ref<UI_I_SendDataVirtualHardware | null>(null)
216
+ const onSendDataVirtualHardwareMethod = (
217
+ data: UI_I_SendDataVirtualHardware
218
+ ): void => {
219
+ sendDataVirtualHardware.value = data
220
+ sendData()
221
+ }
222
+ const sendDataVmOptions = ref<UI_I_SendDataVmoptions | null>(null)
223
+ const onSendDataVmOptionsMethod = (data: UI_I_SendDataVmoptions): void => {
224
+ sendDataVmOptions.value = data
225
+ sendData()
226
+ }
227
+ const sendData = (): void => {
228
+ emits('send-data', {
229
+ virtualHardware: sendDataVirtualHardware.value,
230
+ vmOptions: sendDataVmOptions.value,
231
+ })
232
+ }
233
+
234
+ watch(
235
+ () => props.customizeHardwareSubmit,
236
+ (newValue) => {
237
+ newValue && submit(newValue)
238
+ }
239
+ )
240
+ const virtualHardwareInvalid = ref<string[]>([])
241
+ const vmOptionsInvalid = ref<string[]>([])
242
+ const submit = (cb: Function): void => {
243
+ const invalidDevices = [
244
+ ...virtualHardwareInvalid.value,
245
+ ...vmOptionsInvalid.value,
246
+ ]
247
+ .filter((item: string) => !!item)
248
+ .join(', ')
249
+
250
+ if (invalidDevices) {
251
+ showValidationErrors([
252
+ localization.value.common.thereErrorsFollowingFields.replace(
253
+ '{0}',
254
+ invalidDevices
255
+ ),
256
+ ])
257
+ cb(false)
258
+ return
259
+ }
260
+ onRemoveValidationErrors()
261
+
262
+ // emits('next')
263
+ cb(true)
264
+ }
265
+
266
+ const errors = ref<string[]>([])
267
+ const showValidationErrors = (arr: string[]): void => {
268
+ errors.value = arr
269
+ }
270
+ const onRemoveValidationErrors = (): void => {
271
+ errors.value = []
272
+ }
273
+ </script>
274
+
275
+ <style scoped lang="scss"></style>