bfg-common 1.5.111 → 1.5.113

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 (302) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/components/atoms/TheIcon3.vue +50 -50
  3. package/components/atoms/perPage/PerPage.vue +58 -58
  4. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  5. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  6. package/components/atoms/tabs/VerticalTabs.vue +105 -105
  7. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  8. package/components/common/context/lib/models/interfaces.ts +31 -31
  9. package/components/common/context/recursion/Recursion.vue +87 -87
  10. package/components/common/context/recursion/RecursionNew.vue +238 -238
  11. package/components/common/diagramMain/DiagramMain.vue +897 -897
  12. package/components/common/diagramMain/Header.vue +214 -214
  13. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  14. package/components/common/layout/theHeader/userMenu/modals/preferences/view/ViewOld.vue +112 -112
  15. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/utils.ts +1040 -1040
  16. package/components/common/monitor/overview/OverviewOld.vue +139 -139
  17. package/components/common/pages/home/headline/Headline.vue +45 -45
  18. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  19. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  20. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  21. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  22. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  23. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  24. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  25. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  26. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  27. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  28. package/components/common/pages/packages/Packages.vue +208 -208
  29. package/components/common/pages/shortcuts/block/BlockOld.vue +68 -68
  30. package/components/common/portlets/customAttributes/Portlet.vue +667 -667
  31. package/components/common/portlets/tag/CreateCategory.vue +10 -10
  32. package/components/common/portlets/tag/Portlet.vue +433 -433
  33. package/components/common/portlets/tag/TagAddNew.vue +8 -8
  34. package/components/common/portlets/tag/lib/config/config.ts +1 -0
  35. package/components/common/readyToComplete/New.vue +66 -66
  36. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  37. package/components/common/recursionTree/RecursionTree.vue +223 -223
  38. package/components/common/resource/progressBlock/ProgressBlock.vue +7 -7
  39. package/components/common/resource/simple/Simple.vue +2 -2
  40. package/components/common/resource/simple/lib/models/enums.ts +1 -1
  41. package/components/common/select/button/ButtonDropdown.vue +108 -108
  42. package/components/common/select/input/Input.vue +5 -6
  43. package/components/common/select/radio/RadioGroup.vue +3 -4
  44. package/components/common/selectLanguage/SelectLanguage.vue +27 -27
  45. package/components/common/spiceConsole/Drawer.vue +370 -370
  46. package/components/common/spiceConsole/SpiceConsole.vue +3 -3
  47. package/components/common/spiceConsole/keyboard/Keyboard.vue +8 -8
  48. package/components/common/spiceConsole/keyboard/lib/config/keyboardRows.ts +2 -2
  49. package/components/common/spiceConsole/keyboard/lib/models/interfaces.ts +1 -1
  50. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  51. package/components/common/split/horizontal/HorizontalNew.vue +9 -9
  52. package/components/common/split/horizontal/HorizontalOld.vue +337 -337
  53. package/components/common/split/vertical/Vertical.vue +162 -160
  54. package/components/common/split/vertical/VerticalNew.vue +10 -7
  55. package/components/common/split/vertical/VerticalOld.vue +11 -8
  56. package/components/common/summary/notification/NotificationOld.vue +3 -2
  57. package/components/common/titleBar/titleBarNew/notification/Notification.vue +4 -4
  58. package/components/common/tools/Actions.vue +201 -202
  59. package/components/common/vm/actions/add/Add.vue +785 -785
  60. package/components/common/vm/actions/add/New.vue +556 -556
  61. package/components/common/vm/actions/add/Old.vue +371 -371
  62. package/components/common/vm/actions/add/folderTreeView/FolderTreeView.vue +72 -72
  63. package/components/common/vm/actions/add/folderTreeView/New.vue +40 -40
  64. package/components/common/vm/actions/add/folderTreeView/Old.vue +50 -50
  65. package/components/common/vm/actions/add/lib/config/steps.ts +263 -263
  66. package/components/common/vm/actions/clone/Clone.vue +798 -798
  67. package/components/common/vm/actions/clone/lib/config/steps.ts +291 -291
  68. package/components/common/vm/actions/clone/toTemplate/ToTemplate.vue +626 -626
  69. package/components/common/vm/actions/clone/toTemplate/lib/config/steps.ts +116 -116
  70. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +276 -275
  71. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +272 -272
  72. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +178 -177
  73. package/components/common/vm/actions/common/customizeHardware/lib/config/navItems.ts +5 -5
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +698 -698
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +468 -468
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +319 -319
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +99 -99
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +122 -118
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusOld.vue +1 -2
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +232 -232
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +198 -198
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +168 -168
  84. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  85. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +70 -70
  86. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  87. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +338 -338
  88. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuNew.vue +194 -194
  89. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuOld.vue +23 -17
  90. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/coresPerSocket/CoresPerSocketNew.vue +1 -1
  91. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/coresPerSocket/CoresPerSocketOld.vue +1 -1
  92. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/hotPlug/HotPlugNew.vue +1 -1
  93. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/hotPlug/HotPlugOld.vue +7 -6
  94. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/model/ModelNew.vue +13 -13
  95. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/model/ModelOld.vue +3 -3
  96. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  97. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/SharesNew.vue +1 -1
  98. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/SharesOld.vue +1 -1
  99. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  100. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/tooltip/TooltipNew.vue +122 -122
  101. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/config/dropdownItems.ts +7 -3
  102. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  103. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryNew.vue +1 -1
  104. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/hotPlug/HotPlugNew.vue +14 -16
  105. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/hotPlug/HotPlugOld.vue +4 -5
  106. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +368 -368
  107. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +266 -266
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +250 -250
  109. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/cache/CacheNew.vue +20 -19
  110. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/cache/CacheOld.vue +1 -0
  111. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/limitIops/LimitIopsNew.vue +32 -33
  112. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +149 -149
  113. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationNew.vue +74 -74
  114. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationOld.vue +83 -83
  115. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/StorageModalNew.vue +75 -74
  116. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/StorageModalOld.vue +1 -1
  117. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeNew.vue +19 -20
  118. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +56 -56
  119. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/ProvisioningNew.vue +1 -1
  120. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +45 -45
  121. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +288 -288
  122. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
  123. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/adapterType/AdapterTypeNew.vue +19 -20
  124. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  125. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  126. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/Table.vue +2 -2
  127. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +94 -94
  128. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  129. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +68 -70
  130. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +81 -83
  131. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  132. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDeviceOld.vue +4 -1
  133. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  134. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  135. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  136. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +83 -85
  137. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  138. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  139. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  140. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  141. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -41
  142. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +80 -82
  143. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  144. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelectionOld.vue +2 -2
  145. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +57 -57
  146. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerOld.vue +1 -1
  147. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  148. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  149. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/ReservationNew.vue +1 -1
  150. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +105 -105
  151. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +112 -112
  152. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/ModelNew.vue +18 -18
  153. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/ModelOld.vue +1 -1
  154. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplaysNew.vue +20 -20
  155. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplaysOld.vue +2 -2
  156. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  157. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryOld.vue +6 -2
  158. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  159. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  160. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptions.vue +0 -1
  161. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  162. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  163. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  164. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +43 -43
  165. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  166. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  167. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  168. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +144 -144
  169. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsOld.vue +12 -6
  170. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  171. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/PlaybackCompression.vue +1 -1
  172. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  173. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteOld.vue +3 -3
  174. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  175. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferOld.vue +4 -4
  176. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  177. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/ImgCompression.vue +1 -1
  178. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/JpegCompression.vue +1 -1
  179. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  180. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +40 -40
  181. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapOld.vue +2 -2
  182. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +100 -103
  183. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +102 -102
  184. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordOld.vue +94 -94
  185. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/StreamingMode.vue +1 -1
  186. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/type/Type.vue +1 -1
  187. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  188. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +39 -39
  189. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  190. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/ZlibCompression.vue +1 -1
  191. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/ToolsNew.vue +28 -29
  192. package/components/common/vm/actions/common/lib/models/types.ts +1 -1
  193. package/components/common/vm/actions/common/lib/utils/capabilities.ts +52 -52
  194. package/components/common/vm/actions/common/select/compatibility/Compatibility.vue +100 -100
  195. package/components/common/vm/actions/common/select/compatibility/New.vue +165 -165
  196. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  197. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +134 -134
  198. package/components/common/vm/actions/common/select/computeResource/New.vue +141 -141
  199. package/components/common/vm/actions/common/select/computeResource/Old.vue +99 -99
  200. package/components/common/vm/actions/common/select/computeResource/treeView/New.vue +44 -44
  201. package/components/common/vm/actions/common/select/computeResource/treeView/Old.vue +51 -48
  202. package/components/common/vm/actions/common/select/computeResource/treeView/TreeView.vue +118 -118
  203. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  204. package/components/common/vm/actions/common/select/createType/New.vue +84 -84
  205. package/components/common/vm/actions/common/select/createType/Old.vue +70 -70
  206. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  207. package/components/common/vm/actions/common/select/name/Name.vue +167 -167
  208. package/components/common/vm/actions/common/select/name/New.vue +246 -246
  209. package/components/common/vm/actions/common/select/name/Old.vue +119 -119
  210. package/components/common/vm/actions/common/select/os/New.vue +122 -122
  211. package/components/common/vm/actions/common/select/os/Old.vue +152 -152
  212. package/components/common/vm/actions/common/select/os/Os.vue +139 -139
  213. package/components/common/vm/actions/common/select/storage/Old.vue +129 -129
  214. package/components/common/vm/actions/common/select/storage/Storage.vue +131 -131
  215. package/components/common/vm/actions/common/select/storage/new/New.vue +193 -193
  216. package/components/common/vm/actions/common/select/storage/new/lib/config/table.ts +326 -326
  217. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  218. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  219. package/components/common/vm/actions/common/select/template/Template.vue +64 -64
  220. package/components/common/vm/actions/common/select/template/TemplateTreeView.vue +88 -88
  221. package/components/common/vm/actions/editSettings/EditSettingsOld.vue +1 -1
  222. package/components/common/vm/actions/editSettings/lib/config/modal.ts +6 -4
  223. package/components/common/vm/actions/editSettings/lib/models/types.ts +4 -4
  224. package/components/common/vm/actions/editSettings/lib/utils.ts +25 -29
  225. package/components/common/vm/actions/editSettings/new/New.vue +186 -186
  226. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  227. package/components/common/vm/actions/lib/models/types.ts +1 -1
  228. package/components/common/vm/actions/lib/utils.ts +2 -10
  229. package/components/common/wizards/datastore/add/Add.vue +6 -7
  230. package/components/common/wizards/datastore/add/lib/config/steps.ts +138 -138
  231. package/components/common/wizards/datastore/add/lib/validations.ts +1 -1
  232. package/components/common/wizards/datastore/add/local/createName/CreateName.vue +1 -1
  233. package/components/common/wizards/datastore/add/nfs/_kerberosAuthentication/KerberosAuthentication.vue +6 -6
  234. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +60 -60
  235. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/TablesView.vue +5 -5
  236. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/compatibleTable.ts +1 -1
  237. package/components/common/wizards/datastore/add/nfs/configuration/Configuration.vue +5 -14
  238. package/components/common/wizards/datastore/add/nfs/configuration/_serversList/DeletePopover.vue +1 -1
  239. package/components/common/wizards/datastore/add/nfs/configuration/_serversList/ServersList.vue +9 -9
  240. package/components/common/wizards/datastore/add/nfs/configuration/_serversList/lib/config/serversListConfig.ts +10 -7
  241. package/components/common/wizards/datastore/add/nfs/configuration/_serversList/lib/config/tableKeys.ts +1 -1
  242. package/components/common/wizards/datastore/add/nfs/version/Version.vue +1 -4
  243. package/components/common/wizards/datastore/add/nfs/version/lib/config/versionOptions.ts +1 -0
  244. package/components/common/wizards/datastore/add/readyComplete/ReadyComplete.vue +89 -92
  245. package/components/common/wizards/datastore/add/readyComplete/lib/config/propertiesDetails.ts +1 -0
  246. package/components/common/wizards/datastore/add/sharedStorm/SharedStorm.vue +1 -6
  247. package/components/common/wizards/datastore/add/sharedStorm/_version/Version.vue +3 -6
  248. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/DeviceSelection.vue +4 -4
  249. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/config/selectOptions.ts +6 -3
  250. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/models/interfaces.ts +1 -1
  251. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/models/types.ts +1 -1
  252. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/table/Table.vue +8 -8
  253. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/PartitionConfiguration.vue +5 -5
  254. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/sizeGraphic/sizeGraphic.vue +1 -1
  255. package/components/common/wizards/datastore/add/types/Types.vue +0 -4
  256. package/components/common/wizards/datastore/add/types/lib/config/typeOptions.ts +3 -3
  257. package/components/common/wizards/network/add/Add.vue +25 -25
  258. package/components/common/wizards/network/add/lib/models/types.ts +2 -2
  259. package/components/common/wizards/network/add/mappers/mappers.ts +1 -1
  260. package/components/common/wizards/network/add/modals/SelectNetwork.vue +3 -1
  261. package/components/common/wizards/network/add/modals/SelectStandardSwitch.vue +3 -1
  262. package/components/common/wizards/network/add/modals/SelectSwitch.vue +3 -1
  263. package/components/common/wizards/network/add/steps/ConnectionSettings.vue +4 -4
  264. package/components/common/wizards/network/add/steps/IpFourSettings.vue +13 -9
  265. package/components/common/wizards/network/add/steps/PhysicalAdapter.vue +1 -1
  266. package/components/common/wizards/network/add/steps/PortProperties.vue +13 -9
  267. package/components/common/wizards/network/add/steps/SelectConnectionType.vue +105 -105
  268. package/components/common/wizards/network/add/steps/SelectedTargetDevice.vue +15 -15
  269. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +220 -220
  270. package/components/common/wizards/vm/migrate/lib/config/steps.ts +157 -157
  271. package/components/common/wizards/vm/migrate/lib/validations.ts +68 -68
  272. package/components/common/wizards/vm/migrate/select/computeResource/ComputeResource.vue +1 -1
  273. package/components/common/wizards/vm/migrate/select/computeResource/lib/config/tabsPannel.ts +1 -0
  274. package/components/common/wizards/vm/migrate/select/computeResource/tableView/TableView.vue +2 -2
  275. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  276. package/components/common/wizards/vm/migrate/select/network/table/network/Network.vue +150 -150
  277. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +91 -91
  278. package/components/common/wizards/vm/migrate/select/priority/Priority.vue +43 -43
  279. package/components/common/wizards/vm/migrate/select/storage/Storage.vue +2 -2
  280. package/components/common/wizards/vm/migrate/select/storage/configure/batch/Batch.vue +2 -2
  281. package/components/common/wizards/vm/migrate/select/storage/configure/batch/table/Table.vue +2 -2
  282. package/components/common/wizards/vm/migrate/select/storage/configure/disk/Disk.vue +1 -1
  283. package/components/common/wizards/vm/migrate/select/storage/configure/disk/table/Table.vue +3 -3
  284. package/components/common/wizards/vm/migrate/select/storage/lib/config/tabsPannel.ts +1 -0
  285. package/components/common/wizards/vm/migrate/select/targetServer/lib/config/tabsPannel.ts +1 -0
  286. package/components/common/wizards/vm/migrate/select/targetServer/lib/models/types.ts +1 -1
  287. package/components/common/wizards/vm/migrate/select/targetServer/saved/Saved.vue +1 -1
  288. package/components/common/wizards/vm/migrate/select/targetServer/targetServer.vue +3 -3
  289. package/composables/productNameLocal.ts +30 -30
  290. package/composables/useAppVersion.ts +21 -21
  291. package/lib/models/store/host/interfaces.ts +1 -1
  292. package/lib/models/store/network/interfaces.ts +1 -1
  293. package/lib/models/store/storage/interfaces.ts +1 -1
  294. package/lib/models/store/vm/interfaces.ts +1 -1
  295. package/package.json +1 -1
  296. package/plugins/date.ts +233 -233
  297. package/plugins/directives.ts +24 -24
  298. package/public/spice-console/lib/images/bitmap.js +203 -203
  299. package/public/spice-console/network/spicechannel.js +383 -383
  300. package/store/main/mutations.ts +7 -7
  301. package/store/main/state.ts +7 -7
  302. package/store/tasks/mappers/recentTasks.ts +64 -64
@@ -1,371 +1,371 @@
1
- <template>
2
- <div class="add-vm">
3
- <atoms-wizard
4
- show
5
- :wizard="props.wizard"
6
- :selected-scheme="props.selectedScheme"
7
- :title="localization.common.newVirtualMachine2"
8
- :localization="localization"
9
- test-id="new-virtual-machine-wizard"
10
- @change-steps="emits('change-steps', $event)"
11
- @hide="emits('hide')"
12
- @submit="emits('finish')"
13
- >
14
- <template #modalBody="{ selectedStep }">
15
- <div class="add-vm-content">
16
- <common-vm-actions-common-select-create-type
17
- v-show="selectedStep.id === dynamicSteps.creationType"
18
- v-model="selectedCreateType"
19
- :import-from-v-m-warev-sphere="props.importFromVMWarevSphere"
20
- />
21
- <common-vm-actions-common-select-template
22
- v-show="selectedStep.id === dynamicSteps.selectTemplate"
23
- :template-submit="props.templateSubmit"
24
- :templates-tree="props.templatesTree"
25
- @submit="emits('change-template', $event)"
26
- />
27
- <common-vm-actions-common-select-name
28
- v-show="
29
- selectedStep.id === dynamicSteps.selectName ||
30
- selectedStep.id === dynamicSteps.selectNameFolder
31
- "
32
- :show="
33
- selectedStep.id === dynamicSteps.selectName ||
34
- selectedStep.id === dynamicSteps.selectNameFolder
35
- "
36
- :name-form-submit="props.nameFormSubmit"
37
- :project="props.project"
38
- :data-center="props.dataCenter"
39
- @submit="emits('change-name', $event)"
40
- @check-name="emits('check-name', $event)"
41
- />
42
- <!-- change-name ...$event -->
43
- <common-vm-actions-common-select-compute-resource
44
- v-if="props.isSphere"
45
- v-show="selectedStep.id === dynamicSteps.selectComputeResource"
46
- v-model="vmForm.computeResource"
47
- :compute-resource-submit="props.computeResourceSubmit"
48
- :data-center="vmForm.dataCenter"
49
- :compute-resource="props.computeResource"
50
- :compute-resource-tree="props.computeResourceTree"
51
- @submit="emits('change-compute-resource', $event)"
52
- @select-compute-resource-tree="
53
- emits('select-compute-resource-tree', $event)
54
- "
55
- @get-compute-resource-tree="
56
- emits('get-compute-resource-tree', $event)
57
- "
58
- @show-compute-resource-tree="
59
- emits('show-compute-resource-tree', $event)
60
- "
61
- @clear-compute-resource-tree="emits('clear-compute-resource-tree')"
62
- />
63
- <common-vm-actions-common-select-storage
64
- v-show="selectedStep.id === dynamicSteps.selectStorage"
65
- :storage-submit="props.storageSubmit"
66
- :datastore="props.datastore"
67
- :storage="props.vmtSettings?.storage"
68
- :get-datastore-table-func="props.getDatastoreTableFunc"
69
- @submit="emits('change-storage', $event)"
70
- />
71
- <common-vm-actions-common-select-options
72
- v-show="selectedStep.id === dynamicSteps.selectOptions"
73
- @change="emits('change-select-options', $event)"
74
- />
75
- <common-vm-actions-common-select-compatibility
76
- v-show="selectedStep.id === dynamicSteps.compatibility"
77
- :options="props.compatibility"
78
- :error-validation-fields="props.errorValidationFields"
79
- @change="emits('change-compatibility', $event)"
80
- @remove-error-by-title="emits('remove-error-by-title', $event)"
81
- />
82
- <common-vm-actions-common-select-os
83
- v-show="
84
- selectedStep.id === dynamicSteps.selectGuestOSMachineType ||
85
- selectedStep.id === dynamicSteps.selectGuestOS
86
- "
87
- v-model:machine-type="vmForm.guestMachineType"
88
- v-model:guest-os-family="vmForm.guestOsFamily"
89
- v-model:guest-os-version="vmForm.guestOsVersion"
90
- :families-options="props.guestOsFamilies"
91
- :versions-options="props.guestOsVersions"
92
- :machine-types-options="props.machineTypes"
93
- :error-validation-fields="props.errorValidationFields"
94
- @remove-error-by-title="emits('remove-error-by-title', $event)"
95
- />
96
- <common-vm-actions-common-customize-hardware
97
- v-show="selectedStep.id === dynamicSteps.customizeHardware"
98
- :project="props.project"
99
- :vm-name="vmForm.name"
100
- :guest-machine-type="vmForm.guestMachineType"
101
- :guest-os-family="vmForm.guestOsFamily"
102
- :guest-os-version="vmForm.guestOsVersion"
103
- :storage="vmForm.storage"
104
- :hard-disks-for-boot-options="props.virtualHardwareHardDisksLocal"
105
- :cd-dvd-drives-for-boot-options="
106
- props.virtualHardwareCdDvdDrivesLocal
107
- "
108
- :networks-for-boot-options="props.virtualHardwareNetworksLocal"
109
- :cd-dvd-drives="props.virtualHardwareCdDvdDrivesLocal"
110
- :customize-hardware-submit="props.customizeHardwareSubmit"
111
- :max-cpus="props.maxCpus"
112
- :max-memory="props.maxMemory"
113
- :cpu-models="props.cpuModels"
114
- :selected-nav-item="props.selectedNavItem"
115
- :nodes="props.nodes"
116
- :files="props.files"
117
- :networks-table="props.networksTable"
118
- :error-validation-fields="props.errorValidationFields"
119
- :get-datastore-table-func="props.getDatastoreTableFunc"
120
- :datastore="props.datastore"
121
- :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
122
- :passthrough-devices="props.passthroughDevices"
123
- :mediated-devices="props.mediatedDevices"
124
- :compute-resource="vmForm.computeResource"
125
- @change-boot-order="emits('change-boot-order', $event)"
126
- @send-data="emits('change-customize-hardware', $event)"
127
- @get-storage="emits('get-storage', $event)"
128
- @get-folders-or-files="emits('get-folders-or-files', $event)"
129
- @get-active-device-child="emits('get-active-device-child', $event)"
130
- @show-datastore-child="emits('show-datastore-child', $event)"
131
- @remove-error-by-title="emits('remove-error-by-title', $event)"
132
- @get-networks-table="emits('get-networks-table', $event)"
133
- @get-pci-devices="emits('get-pci-devices')"
134
- />
135
- <common-vm-actions-common-customize-hardware
136
- v-if="props.vmtSettings"
137
- v-show="selectedStep.id === dynamicSteps.customizeHardwareTemplate"
138
- :project="props.project"
139
- :vm-name="vmForm.name"
140
- :guest-machine-type="vmForm.guestMachineType"
141
- :guest-os-family="vmForm.guestOsFamily"
142
- :guest-os-version="vmForm.guestOsVersion"
143
- :storage="vmForm.storage"
144
- :hard-disks-for-boot-options="props.virtualHardwareHardDisksLocal"
145
- :cd-dvd-drives-for-boot-options="
146
- props.virtualHardwareCdDvdDrivesLocal
147
- "
148
- :networks-for-boot-options="props.virtualHardwareNetworksLocal"
149
- :cd-dvd-drives="props.vmtSettings.cdDvdDrives || []"
150
- :hard-disks="props.vmtSettings.hardDisks || []"
151
- :networks="props.vmtSettings.networks || []"
152
- :customize-hardware-submit="props.customizeHardwareSubmit"
153
- :max-cpus="props.maxCpus"
154
- :max-memory="props.maxMemory"
155
- :cpu-models="props.cpuModels"
156
- :cpu="props.vmtSettings.cpu"
157
- :memory="props.vmtSettings.memory"
158
- :video-card="props.vmtSettings.videoCard"
159
- :usb-controller="props.vmtSettings.usbController"
160
- :pci-devices="props.vmtSettings.pciDevices"
161
- :hard-disks-for-edit="props.vmtSettings.hardDisks || []"
162
- :options="props.vmtSettings.options"
163
- :selected-nav-item="props.selectedNavItem"
164
- :nodes="props.nodes"
165
- :files="props.files"
166
- :networks-table="props.networksTable"
167
- :error-validation-fields="props.errorValidationFields"
168
- :get-datastore-table-func="props.getDatastoreTableFunc"
169
- :datastore="props.datastore"
170
- :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
171
- :passthrough-devices="props.passthroughDevices"
172
- :mediated-devices="props.mediatedDevices"
173
- :compute-resource="vmForm.computeResource"
174
- is-clone
175
- @change-boot-order="emits('change-boot-order', $event)"
176
- @send-data="emits('change-customize-hardware', $event)"
177
- @get-storage="emits('get-storage', $event)"
178
- @get-folders-or-files="emits('get-folders-or-files', $event)"
179
- @get-active-device-child="emits('get-active-device-child', $event)"
180
- @show-datastore-child="emits('show-datastore-child', $event)"
181
- @remove-error-by-title="emits('remove-error-by-title', $event)"
182
- @get-networks-table="emits('get-networks-table', $event)"
183
- @get-pci-devices="emits('get-pci-devices')"
184
- />
185
- <common-ready-to-complete
186
- v-if="selectedStep.id === dynamicSteps.readyComplete"
187
- :data="props.readyCompleteTableInfo"
188
- />
189
- <span
190
- v-if="selectedStep.id > dynamicSteps.compatibility"
191
- class="vm-hardware-version"
192
- >{{ props.compatibilityInfo }}</span
193
- >
194
- </div>
195
- </template>
196
-
197
- <template #modalFooterContent>
198
- <div v-if="props.isShowPowerOn" class="power-on-by-default-wrap">
199
- <input
200
- id="power-on-by-default"
201
- v-model="isPowerOnByDefault"
202
- data-id="power-on-by-default"
203
- type="checkbox"
204
- />
205
- <label for="power-on-by-default" class="label-text-normal">{{
206
- localization.common.powerOnByDefault
207
- }}</label>
208
- </div>
209
- </template>
210
- </atoms-wizard>
211
- </div>
212
- </template>
213
-
214
- <script setup lang="ts">
215
- import type {
216
- UI_I_Localization,
217
- UI_I_ArbitraryObject,
218
- } from '~/lib/models/interfaces'
219
- import type { UI_T_Project } from '~/lib/models/types'
220
- import type { UI_I_FileTreeNode } from '~/components/lib/models/interfaces'
221
- import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
222
- import type {
223
- UI_I_DatastoreTableItem,
224
- UI_I_FolderOrFileTreePayload,
225
- } from '~/lib/models/store/storage/interfaces'
226
- import type {
227
- API_UI_I_Error,
228
- UI_I_ErrorValidationField,
229
- } from '~/lib/models/store/interfaces'
230
- import type { UI_I_TablePayload } from '~/lib/models/table/interfaces'
231
- import type { UI_I_TableInfoItem } from '~/components/atoms/table/info/lib/models/interfaces'
232
- import type {
233
- // UI_T_AddVmFinishFunc,
234
- UI_T_SelectedNavItem,
235
- } from '~/components/common/vm/actions/common/lib/models/types'
236
- import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
237
- import type { UI_I_WizardStep } from '~/components/atoms/wizard/lib/models/interfaces'
238
- import type {
239
- // UI_I_Capabilities,
240
- UI_I_VmForm,
241
- } from '~/components/common/vm/actions/common/lib/models/interfaces'
242
- import type { UI_I_SendDataCustomizeHardware } from '~/components/common/vm/actions/common/customizeHardware/lib/models/interfaces'
243
- import type {
244
- UI_I_SendDataNewCdDvdDrive,
245
- UI_I_SendDataNewHardDisk,
246
- UI_I_SendDataNewNetwork,
247
- } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
248
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
249
- import type { UI_T_ChangeBootOrder } from '~/components/common/vm/actions/lib/models/types'
250
- import type {
251
- UI_I_MediatedDevice,
252
- UI_I_PciDevice,
253
- UI_I_VmSettings,
254
- } from '~/lib/models/store/vm/interfaces'
255
- import { dynamicSteps } from '~/components/common/vm/actions/add/lib/config/steps'
256
- import Wizard from '~/components/atoms/wizard/lib/utils/utils'
257
-
258
- const vmForm = defineModel<UI_I_VmForm>('vmForm', {
259
- required: true,
260
- })
261
- const selectedCreateType = defineModel<string>('selectedCreateType', {
262
- required: true,
263
- })
264
- const isPowerOnByDefault = defineModel<boolean>('isPowerOnByDefault', {
265
- required: true,
266
- })
267
-
268
- const props = defineProps<{
269
- project: UI_T_Project
270
- nodes: UI_I_FileTreeNode[]
271
- files: UI_I_FileTreeNode[]
272
- networksTable: UI_I_NetworkTableItem[]
273
- datastore: UI_I_DatastoreTableItem[]
274
- errorValidationFields: UI_I_ErrorValidationField[]
275
- readyCompleteTableInfo: UI_I_TableInfoItem[]
276
- vmCpuHelpTextSecond: string
277
- importFromVMWarevSphere: string
278
- getDatastoreTableFunc: (payload: UI_I_TablePayload) => Promise<void>
279
- passthroughDevices: UI_I_PciDevice[]
280
- mediatedDevices: UI_I_MediatedDevice[]
281
- templatesTree: UI_I_TreeNode[]
282
- wizard: Wizard
283
- selectedScheme: number[]
284
- templateSubmit: null | Function
285
- nameFormSubmit: null | Function
286
- storageSubmit: null | Function
287
- customizeHardwareSubmit: null | Function
288
- isSphere: boolean
289
- compatibility: UI_I_OptionItem[]
290
- guestOsFamilies: UI_I_OptionItem[]
291
- guestOsVersions: UI_I_ArbitraryObject<UI_I_OptionItem[]>
292
- machineTypes: UI_I_OptionItem[]
293
- virtualHardwareHardDisksLocal: UI_I_SendDataNewHardDisk[] | null
294
- virtualHardwareCdDvdDrivesLocal: UI_I_SendDataNewCdDvdDrive[] | null
295
- virtualHardwareNetworksLocal: UI_I_SendDataNewNetwork[] | null
296
- maxCpus: number
297
- maxMemory: number
298
- cpuModels: UI_I_OptionItem[]
299
- selectedNavItem: UI_T_SelectedNavItem
300
- compatibilityInfo: string
301
- isShowPowerOn: boolean
302
- computeResourceSubmit?: null | Function // для сферы
303
- dataCenter?: UI_I_TreeNode // для сферы
304
- computeResource?: UI_I_TreeNode // для сферы
305
- computeResourceTree?: UI_I_TreeNode[] // для сферы
306
- vmtSettings?: UI_I_VmSettings | null // для шаблонов
307
- }>()
308
-
309
- const emits = defineEmits<{
310
- (event: 'check-name', value: [string, (error: API_UI_I_Error) => void]): void
311
- (event: 'get-storage', value: UI_I_TablePayload): void
312
- (event: 'get-folders-or-files', value: UI_I_FolderOrFileTreePayload): void
313
- (event: 'get-active-device-child', value: UI_I_FileTreeNode): void
314
- (event: 'show-datastore-child', value: UI_I_FileTreeNode): void
315
- (event: 'remove-error-by-title', value: string): void
316
- (event: 'get-networks-table', value: UI_I_TablePayload): void
317
- (event: 'get-pci-devices'): void
318
- (event: 'change-steps', value: UI_I_WizardStep[]): void
319
- (event: 'finish'): void
320
- (event: 'change-template', value: UI_I_TreeNode): void
321
- (event: 'change-name', value: [string, UI_I_TreeNode | null]): void
322
- (
323
- event: 'check-name',
324
- value: [[string, UI_I_TreeNode | null], (error: any) => void]
325
- ): void
326
- (event: 'change-storage', value: UI_I_DatastoreTableItem | null): void
327
- (event: 'change-select-options', value: string[]): void
328
- (event: 'change-compatibility', value: UI_I_OptionItem): void
329
- (event: 'change-boot-order', value: UI_T_ChangeBootOrder): void
330
- (
331
- event: 'change-customize-hardware',
332
- value: UI_I_SendDataCustomizeHardware
333
- ): void
334
- (event: 'hide'): void
335
- (event: 'clear-compute-resource-tree'): void // для сферы
336
- (event: 'change-compute-resource', value: UI_I_TreeNode): void // для сферы
337
- (event: 'select-compute-resource-tree', value: UI_I_TreeNode): void // для сферы
338
- (
339
- event: 'get-compute-resource-tree',
340
- value: { id: string | number; cb: () => void }
341
- ): void // для сферы
342
- (event: 'show-compute-resource-tree', value: UI_I_TreeNode): void // для сферы
343
- }>()
344
-
345
- const localization = computed<UI_I_Localization>(() => useLocal())
346
- </script>
347
-
348
- <style scoped lang="scss">
349
- :deep(.modal-body) {
350
- display: flex;
351
- flex-direction: column;
352
- }
353
- .add-vm-content {
354
- display: flex;
355
- flex-direction: column;
356
- flex: 1;
357
- }
358
- .vm-hardware-version {
359
- align-self: flex-end;
360
- margin-top: auto;
361
- }
362
- .power-on-by-default-wrap {
363
- display: flex;
364
- align-items: center;
365
- margin-right: auto;
366
-
367
- input {
368
- margin-right: 6px;
369
- }
370
- }
371
- </style>
1
+ <template>
2
+ <div class="add-vm">
3
+ <atoms-wizard
4
+ show
5
+ :wizard="props.wizard"
6
+ :selected-scheme="props.selectedScheme"
7
+ :title="localization.common.newVirtualMachine2"
8
+ :localization="localization"
9
+ test-id="new-virtual-machine-wizard"
10
+ @change-steps="emits('change-steps', $event)"
11
+ @hide="emits('hide')"
12
+ @submit="emits('finish')"
13
+ >
14
+ <template #modalBody="{ selectedStep }">
15
+ <div class="add-vm-content">
16
+ <common-vm-actions-common-select-create-type
17
+ v-show="selectedStep.id === dynamicSteps.creationType"
18
+ v-model="selectedCreateType"
19
+ :import-from-v-m-warev-sphere="props.importFromVMWarevSphere"
20
+ />
21
+ <common-vm-actions-common-select-template
22
+ v-show="selectedStep.id === dynamicSteps.selectTemplate"
23
+ :template-submit="props.templateSubmit"
24
+ :templates-tree="props.templatesTree"
25
+ @submit="emits('change-template', $event)"
26
+ />
27
+ <common-vm-actions-common-select-name
28
+ v-show="
29
+ selectedStep.id === dynamicSteps.selectName ||
30
+ selectedStep.id === dynamicSteps.selectNameFolder
31
+ "
32
+ :show="
33
+ selectedStep.id === dynamicSteps.selectName ||
34
+ selectedStep.id === dynamicSteps.selectNameFolder
35
+ "
36
+ :name-form-submit="props.nameFormSubmit"
37
+ :project="props.project"
38
+ :data-center="props.dataCenter"
39
+ @submit="emits('change-name', $event)"
40
+ @check-name="emits('check-name', $event)"
41
+ />
42
+ <!-- change-name ...$event -->
43
+ <common-vm-actions-common-select-compute-resource
44
+ v-if="props.isSphere"
45
+ v-show="selectedStep.id === dynamicSteps.selectComputeResource"
46
+ v-model="vmForm.computeResource"
47
+ :compute-resource-submit="props.computeResourceSubmit"
48
+ :data-center="vmForm.dataCenter"
49
+ :compute-resource="props.computeResource"
50
+ :compute-resource-tree="props.computeResourceTree"
51
+ @submit="emits('change-compute-resource', $event)"
52
+ @select-compute-resource-tree="
53
+ emits('select-compute-resource-tree', $event)
54
+ "
55
+ @get-compute-resource-tree="
56
+ emits('get-compute-resource-tree', $event)
57
+ "
58
+ @show-compute-resource-tree="
59
+ emits('show-compute-resource-tree', $event)
60
+ "
61
+ @clear-compute-resource-tree="emits('clear-compute-resource-tree')"
62
+ />
63
+ <common-vm-actions-common-select-storage
64
+ v-show="selectedStep.id === dynamicSteps.selectStorage"
65
+ :storage-submit="props.storageSubmit"
66
+ :datastore="props.datastore"
67
+ :storage="props.vmtSettings?.storage"
68
+ :get-datastore-table-func="props.getDatastoreTableFunc"
69
+ @submit="emits('change-storage', $event)"
70
+ />
71
+ <common-vm-actions-common-select-options
72
+ v-show="selectedStep.id === dynamicSteps.selectOptions"
73
+ @change="emits('change-select-options', $event)"
74
+ />
75
+ <common-vm-actions-common-select-compatibility
76
+ v-show="selectedStep.id === dynamicSteps.compatibility"
77
+ :options="props.compatibility"
78
+ :error-validation-fields="props.errorValidationFields"
79
+ @change="emits('change-compatibility', $event)"
80
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
81
+ />
82
+ <common-vm-actions-common-select-os
83
+ v-show="
84
+ selectedStep.id === dynamicSteps.selectGuestOSMachineType ||
85
+ selectedStep.id === dynamicSteps.selectGuestOS
86
+ "
87
+ v-model:machine-type="vmForm.guestMachineType"
88
+ v-model:guest-os-family="vmForm.guestOsFamily"
89
+ v-model:guest-os-version="vmForm.guestOsVersion"
90
+ :families-options="props.guestOsFamilies"
91
+ :versions-options="props.guestOsVersions"
92
+ :machine-types-options="props.machineTypes"
93
+ :error-validation-fields="props.errorValidationFields"
94
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
95
+ />
96
+ <common-vm-actions-common-customize-hardware
97
+ v-show="selectedStep.id === dynamicSteps.customizeHardware"
98
+ :project="props.project"
99
+ :vm-name="vmForm.name"
100
+ :guest-machine-type="vmForm.guestMachineType"
101
+ :guest-os-family="vmForm.guestOsFamily"
102
+ :guest-os-version="vmForm.guestOsVersion"
103
+ :storage="vmForm.storage"
104
+ :hard-disks-for-boot-options="props.virtualHardwareHardDisksLocal"
105
+ :cd-dvd-drives-for-boot-options="
106
+ props.virtualHardwareCdDvdDrivesLocal
107
+ "
108
+ :networks-for-boot-options="props.virtualHardwareNetworksLocal"
109
+ :cd-dvd-drives="props.virtualHardwareCdDvdDrivesLocal"
110
+ :customize-hardware-submit="props.customizeHardwareSubmit"
111
+ :max-cpus="props.maxCpus"
112
+ :max-memory="props.maxMemory"
113
+ :cpu-models="props.cpuModels"
114
+ :selected-nav-item="props.selectedNavItem"
115
+ :nodes="props.nodes"
116
+ :files="props.files"
117
+ :networks-table="props.networksTable"
118
+ :error-validation-fields="props.errorValidationFields"
119
+ :get-datastore-table-func="props.getDatastoreTableFunc"
120
+ :datastore="props.datastore"
121
+ :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
122
+ :passthrough-devices="props.passthroughDevices"
123
+ :mediated-devices="props.mediatedDevices"
124
+ :compute-resource="vmForm.computeResource"
125
+ @change-boot-order="emits('change-boot-order', $event)"
126
+ @send-data="emits('change-customize-hardware', $event)"
127
+ @get-storage="emits('get-storage', $event)"
128
+ @get-folders-or-files="emits('get-folders-or-files', $event)"
129
+ @get-active-device-child="emits('get-active-device-child', $event)"
130
+ @show-datastore-child="emits('show-datastore-child', $event)"
131
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
132
+ @get-networks-table="emits('get-networks-table', $event)"
133
+ @get-pci-devices="emits('get-pci-devices')"
134
+ />
135
+ <common-vm-actions-common-customize-hardware
136
+ v-if="props.vmtSettings"
137
+ v-show="selectedStep.id === dynamicSteps.customizeHardwareTemplate"
138
+ :project="props.project"
139
+ :vm-name="vmForm.name"
140
+ :guest-machine-type="vmForm.guestMachineType"
141
+ :guest-os-family="vmForm.guestOsFamily"
142
+ :guest-os-version="vmForm.guestOsVersion"
143
+ :storage="vmForm.storage"
144
+ :hard-disks-for-boot-options="props.virtualHardwareHardDisksLocal"
145
+ :cd-dvd-drives-for-boot-options="
146
+ props.virtualHardwareCdDvdDrivesLocal
147
+ "
148
+ :networks-for-boot-options="props.virtualHardwareNetworksLocal"
149
+ :cd-dvd-drives="props.vmtSettings.cdDvdDrives || []"
150
+ :hard-disks="props.vmtSettings.hardDisks || []"
151
+ :networks="props.vmtSettings.networks || []"
152
+ :customize-hardware-submit="props.customizeHardwareSubmit"
153
+ :max-cpus="props.maxCpus"
154
+ :max-memory="props.maxMemory"
155
+ :cpu-models="props.cpuModels"
156
+ :cpu="props.vmtSettings.cpu"
157
+ :memory="props.vmtSettings.memory"
158
+ :video-card="props.vmtSettings.videoCard"
159
+ :usb-controller="props.vmtSettings.usbController"
160
+ :pci-devices="props.vmtSettings.pciDevices"
161
+ :hard-disks-for-edit="props.vmtSettings.hardDisks || []"
162
+ :options="props.vmtSettings.options"
163
+ :selected-nav-item="props.selectedNavItem"
164
+ :nodes="props.nodes"
165
+ :files="props.files"
166
+ :networks-table="props.networksTable"
167
+ :error-validation-fields="props.errorValidationFields"
168
+ :get-datastore-table-func="props.getDatastoreTableFunc"
169
+ :datastore="props.datastore"
170
+ :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
171
+ :passthrough-devices="props.passthroughDevices"
172
+ :mediated-devices="props.mediatedDevices"
173
+ :compute-resource="vmForm.computeResource"
174
+ is-clone
175
+ @change-boot-order="emits('change-boot-order', $event)"
176
+ @send-data="emits('change-customize-hardware', $event)"
177
+ @get-storage="emits('get-storage', $event)"
178
+ @get-folders-or-files="emits('get-folders-or-files', $event)"
179
+ @get-active-device-child="emits('get-active-device-child', $event)"
180
+ @show-datastore-child="emits('show-datastore-child', $event)"
181
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
182
+ @get-networks-table="emits('get-networks-table', $event)"
183
+ @get-pci-devices="emits('get-pci-devices')"
184
+ />
185
+ <common-ready-to-complete
186
+ v-if="selectedStep.id === dynamicSteps.readyComplete"
187
+ :data="props.readyCompleteTableInfo"
188
+ />
189
+ <span
190
+ v-if="selectedStep.id > dynamicSteps.compatibility"
191
+ class="vm-hardware-version"
192
+ >{{ props.compatibilityInfo }}</span
193
+ >
194
+ </div>
195
+ </template>
196
+
197
+ <template #modalFooterContent>
198
+ <div v-if="props.isShowPowerOn" class="power-on-by-default-wrap">
199
+ <input
200
+ id="power-on-by-default"
201
+ v-model="isPowerOnByDefault"
202
+ data-id="power-on-by-default"
203
+ type="checkbox"
204
+ />
205
+ <label for="power-on-by-default" class="label-text-normal">{{
206
+ localization.common.powerOnByDefault
207
+ }}</label>
208
+ </div>
209
+ </template>
210
+ </atoms-wizard>
211
+ </div>
212
+ </template>
213
+
214
+ <script setup lang="ts">
215
+ import type {
216
+ UI_I_Localization,
217
+ UI_I_ArbitraryObject,
218
+ } from '~/lib/models/interfaces'
219
+ import type { UI_T_Project } from '~/lib/models/types'
220
+ import type { UI_I_FileTreeNode } from '~/components/lib/models/interfaces'
221
+ import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
222
+ import type {
223
+ UI_I_DatastoreTableItem,
224
+ UI_I_FolderOrFileTreePayload,
225
+ } from '~/lib/models/store/storage/interfaces'
226
+ import type {
227
+ API_UI_I_Error,
228
+ UI_I_ErrorValidationField,
229
+ } from '~/lib/models/store/interfaces'
230
+ import type { UI_I_TablePayload } from '~/lib/models/table/interfaces'
231
+ import type { UI_I_TableInfoItem } from '~/components/atoms/table/info/lib/models/interfaces'
232
+ import type {
233
+ // UI_T_AddVmFinishFunc,
234
+ UI_T_SelectedNavItem,
235
+ } from '~/components/common/vm/actions/common/lib/models/types'
236
+ import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
237
+ import type { UI_I_WizardStep } from '~/components/atoms/wizard/lib/models/interfaces'
238
+ import type {
239
+ // UI_I_Capabilities,
240
+ UI_I_VmForm,
241
+ } from '~/components/common/vm/actions/common/lib/models/interfaces'
242
+ import type { UI_I_SendDataCustomizeHardware } from '~/components/common/vm/actions/common/customizeHardware/lib/models/interfaces'
243
+ import type {
244
+ UI_I_SendDataNewCdDvdDrive,
245
+ UI_I_SendDataNewHardDisk,
246
+ UI_I_SendDataNewNetwork,
247
+ } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
248
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
249
+ import type { UI_T_ChangeBootOrder } from '~/components/common/vm/actions/lib/models/types'
250
+ import type {
251
+ UI_I_MediatedDevice,
252
+ UI_I_PciDevice,
253
+ UI_I_VmSettings,
254
+ } from '~/lib/models/store/vm/interfaces'
255
+ import { dynamicSteps } from '~/components/common/vm/actions/add/lib/config/steps'
256
+ import Wizard from '~/components/atoms/wizard/lib/utils/utils'
257
+
258
+ const vmForm = defineModel<UI_I_VmForm>('vmForm', {
259
+ required: true,
260
+ })
261
+ const selectedCreateType = defineModel<string>('selectedCreateType', {
262
+ required: true,
263
+ })
264
+ const isPowerOnByDefault = defineModel<boolean>('isPowerOnByDefault', {
265
+ required: true,
266
+ })
267
+
268
+ const props = defineProps<{
269
+ project: UI_T_Project
270
+ nodes: UI_I_FileTreeNode[]
271
+ files: UI_I_FileTreeNode[]
272
+ networksTable: UI_I_NetworkTableItem[]
273
+ datastore: UI_I_DatastoreTableItem[]
274
+ errorValidationFields: UI_I_ErrorValidationField[]
275
+ readyCompleteTableInfo: UI_I_TableInfoItem[]
276
+ vmCpuHelpTextSecond: string
277
+ importFromVMWarevSphere: string
278
+ getDatastoreTableFunc: (payload: UI_I_TablePayload) => Promise<void>
279
+ passthroughDevices: UI_I_PciDevice[]
280
+ mediatedDevices: UI_I_MediatedDevice[]
281
+ templatesTree: UI_I_TreeNode[]
282
+ wizard: Wizard
283
+ selectedScheme: number[]
284
+ templateSubmit: null | Function
285
+ nameFormSubmit: null | Function
286
+ storageSubmit: null | Function
287
+ customizeHardwareSubmit: null | Function
288
+ isSphere: boolean
289
+ compatibility: UI_I_OptionItem[]
290
+ guestOsFamilies: UI_I_OptionItem[]
291
+ guestOsVersions: UI_I_ArbitraryObject<UI_I_OptionItem[]>
292
+ machineTypes: UI_I_OptionItem[]
293
+ virtualHardwareHardDisksLocal: UI_I_SendDataNewHardDisk[] | null
294
+ virtualHardwareCdDvdDrivesLocal: UI_I_SendDataNewCdDvdDrive[] | null
295
+ virtualHardwareNetworksLocal: UI_I_SendDataNewNetwork[] | null
296
+ maxCpus: number
297
+ maxMemory: number
298
+ cpuModels: UI_I_OptionItem[]
299
+ selectedNavItem: UI_T_SelectedNavItem
300
+ compatibilityInfo: string
301
+ isShowPowerOn: boolean
302
+ computeResourceSubmit?: null | Function // для сферы
303
+ dataCenter?: UI_I_TreeNode // для сферы
304
+ computeResource?: UI_I_TreeNode // для сферы
305
+ computeResourceTree?: UI_I_TreeNode[] // для сферы
306
+ vmtSettings?: UI_I_VmSettings | null // для шаблонов
307
+ }>()
308
+
309
+ const emits = defineEmits<{
310
+ (event: 'check-name', value: [string, (error: API_UI_I_Error) => void]): void
311
+ (event: 'get-storage', value: UI_I_TablePayload): void
312
+ (event: 'get-folders-or-files', value: UI_I_FolderOrFileTreePayload): void
313
+ (event: 'get-active-device-child', value: UI_I_FileTreeNode): void
314
+ (event: 'show-datastore-child', value: UI_I_FileTreeNode): void
315
+ (event: 'remove-error-by-title', value: string): void
316
+ (event: 'get-networks-table', value: UI_I_TablePayload): void
317
+ (event: 'get-pci-devices'): void
318
+ (event: 'change-steps', value: UI_I_WizardStep[]): void
319
+ (event: 'finish'): void
320
+ (event: 'change-template', value: UI_I_TreeNode): void
321
+ (event: 'change-name', value: [string, UI_I_TreeNode | null]): void
322
+ (
323
+ event: 'check-name',
324
+ value: [[string, UI_I_TreeNode | null], (error: any) => void]
325
+ ): void
326
+ (event: 'change-storage', value: UI_I_DatastoreTableItem | null): void
327
+ (event: 'change-select-options', value: string[]): void
328
+ (event: 'change-compatibility', value: UI_I_OptionItem): void
329
+ (event: 'change-boot-order', value: UI_T_ChangeBootOrder): void
330
+ (
331
+ event: 'change-customize-hardware',
332
+ value: UI_I_SendDataCustomizeHardware
333
+ ): void
334
+ (event: 'hide'): void
335
+ (event: 'clear-compute-resource-tree'): void // для сферы
336
+ (event: 'change-compute-resource', value: UI_I_TreeNode): void // для сферы
337
+ (event: 'select-compute-resource-tree', value: UI_I_TreeNode): void // для сферы
338
+ (
339
+ event: 'get-compute-resource-tree',
340
+ value: { id: string | number; cb: () => void }
341
+ ): void // для сферы
342
+ (event: 'show-compute-resource-tree', value: UI_I_TreeNode): void // для сферы
343
+ }>()
344
+
345
+ const localization = computed<UI_I_Localization>(() => useLocal())
346
+ </script>
347
+
348
+ <style scoped lang="scss">
349
+ :deep(.modal-body) {
350
+ display: flex;
351
+ flex-direction: column;
352
+ }
353
+ .add-vm-content {
354
+ display: flex;
355
+ flex-direction: column;
356
+ flex: 1;
357
+ }
358
+ .vm-hardware-version {
359
+ align-self: flex-end;
360
+ margin-top: auto;
361
+ }
362
+ .power-on-by-default-wrap {
363
+ display: flex;
364
+ align-items: center;
365
+ margin-right: auto;
366
+
367
+ input {
368
+ margin-right: 6px;
369
+ }
370
+ }
371
+ </style>