bfg-common 1.5.420 → 1.5.421

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 (300) 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/theme.scss +214 -0
  7. package/components/atoms/TheIcon3.vue +50 -50
  8. package/components/atoms/collapse/CollapseNav.vue +170 -170
  9. package/components/atoms/perPage/PerPage.vue +58 -58
  10. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  11. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  12. package/components/common/backup/storage/actions/add/lib/config/steps.ts +168 -168
  13. package/components/common/backup/storage/actions/add/steps/hostAccessibility/table/old/lib/config/incompatibleTable.ts +3 -3
  14. package/components/common/backup/storage/actions/add/steps/readyComplete/ReadyComplete.vue +45 -45
  15. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  16. package/components/common/context/lib/models/interfaces.ts +33 -33
  17. package/components/common/diagramMain/modals/lib/config/networkModal.ts +398 -398
  18. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  19. package/components/common/pages/backups/Backups.vue +102 -102
  20. package/components/common/pages/backups/DetailView.vue +52 -52
  21. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  22. package/components/common/pages/backups/modals/Modals.vue +226 -226
  23. package/components/common/pages/backups/modals/createBackup/CreateBackup.vue +353 -353
  24. package/components/common/pages/backups/modals/createBackup/configuration/Configuration.vue +29 -29
  25. package/components/common/pages/backups/modals/createBackup/configuration/backupWindow/BackupWindow.vue +26 -26
  26. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/MaxBandwidth.vue +66 -66
  27. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  28. package/components/common/pages/backups/modals/createBackup/configuration/strategy/Strategy.vue +35 -35
  29. package/components/common/pages/backups/modals/createBackup/datastores/Datastores.vue +59 -59
  30. package/components/common/pages/backups/modals/createBackup/datastores/tableView/TableView.vue +95 -95
  31. package/components/common/pages/backups/modals/createBackup/datastores/tableView/lib/config/table.ts +119 -119
  32. package/components/common/pages/backups/modals/createBackup/disks/tableView/lib/config/table.ts +117 -117
  33. package/components/common/pages/backups/modals/createBackup/general/General.vue +48 -48
  34. package/components/common/pages/backups/modals/createBackup/lib/config/steps.ts +117 -117
  35. package/components/common/pages/backups/modals/createBackup/lib/config/strategyOptions.ts +12 -12
  36. package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
  37. package/components/common/pages/backups/modals/lib/models/interfaces.ts +185 -185
  38. package/components/common/pages/backups/modals/restore/Restore.vue +417 -417
  39. package/components/common/pages/backups/modals/restore/disks/Disks.vue +27 -27
  40. package/components/common/pages/backups/modals/restore/disks/tableView/TableView.vue +102 -102
  41. package/components/common/pages/backups/modals/restore/disks/tableView/lib/config/table.ts +117 -117
  42. package/components/common/pages/backups/modals/restore/lib/config/steps.ts +108 -108
  43. package/components/common/pages/backups/modals/restore/name/Name.vue +160 -160
  44. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  45. package/components/common/pages/backups/modals/restore/networks/Networks.vue +67 -67
  46. package/components/common/pages/backups/modals/restore/networks/table/Table.vue +214 -214
  47. package/components/common/pages/backups/modals/restore/types/lib/config/typeOptions.ts +25 -25
  48. package/components/common/pages/backups/tools/Tools.vue +75 -75
  49. package/components/common/pages/backups/tools/lib/config/tabs.ts +36 -36
  50. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  51. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  52. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  53. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  54. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  55. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  56. package/components/common/pages/home/widgets/warnings/lib/config/config.ts +2 -2
  57. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  58. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  59. package/components/common/resource/simple/Simple.vue +10 -3
  60. package/components/common/select/button/ButtonDropdown.vue +112 -112
  61. package/components/common/select/radio/RadioGroup.vue +137 -137
  62. package/components/common/selectLanguage/SelectLanguage.vue +1 -1
  63. package/components/common/spiceConsole/Drawer.vue +381 -381
  64. package/components/common/spiceConsole/SpiceConsole.vue +127 -127
  65. package/components/common/spiceConsole/keyboard/Keyboard.vue +1 -1
  66. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  67. package/components/common/split/horizontal/HorizontalNew.vue +5 -22
  68. package/components/common/split/horizontal/HorizontalOld.vue +3 -10
  69. package/components/common/split/vertical/VerticalNew.vue +2 -13
  70. package/components/common/split/vertical/VerticalOld.vue +1 -1
  71. package/components/common/summary/notification/NotificationNew.vue +4 -20
  72. package/components/common/titleBar/titleBarNew/notification/Notification.vue +0 -31
  73. package/components/common/tools/Actions.vue +207 -207
  74. package/components/common/tooltip/Help.vue +5 -18
  75. package/components/common/tooltip/lib/models/types.ts +1 -1
  76. package/components/common/treeView/TreeView.vue +52 -52
  77. package/components/common/vm/actions/add/Add.vue +35 -26
  78. package/components/common/vm/actions/add/New.vue +54 -55
  79. package/components/common/vm/actions/add/Old.vue +398 -388
  80. package/components/common/vm/actions/add/folderTreeView/FolderTreeView.vue +72 -72
  81. package/components/common/vm/actions/add/folderTreeView/New.vue +40 -40
  82. package/components/common/vm/actions/add/folderTreeView/Old.vue +50 -50
  83. package/components/common/vm/actions/clone/Clone.vue +823 -823
  84. package/components/common/vm/actions/clone/lib/config/steps.ts +291 -291
  85. package/components/common/vm/actions/clone/toTemplate/ToTemplate.vue +32 -36
  86. package/components/common/vm/actions/clone/toTemplate/lib/config/steps.ts +116 -116
  87. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +61 -37
  88. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +61 -46
  89. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +59 -36
  90. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +50 -31
  91. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +64 -68
  92. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +339 -321
  93. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +232 -227
  94. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +110 -100
  95. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +16 -10
  96. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusOld.vue +16 -10
  97. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +239 -232
  98. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +24 -18
  99. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +174 -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 -78
  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 +16 -11
  104. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuNew.vue +48 -51
  105. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuOld.vue +20 -15
  106. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/model/ModelNew.vue +4 -4
  107. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  109. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/tooltip/TooltipNew.vue +153 -154
  110. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +221 -220
  111. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +313 -307
  112. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/hotPlug/HotPlugNew.vue +2 -2
  113. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +392 -385
  114. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +34 -42
  115. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +50 -40
  116. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/cache/Cache.vue +6 -6
  117. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/file/FileNew.vue +0 -8
  118. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/file/FileOld.vue +2 -2
  119. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/limitIops/LimitIops.vue +2 -2
  120. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/limitIops/lib/config/options.ts +4 -0
  121. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +154 -154
  122. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationOld.vue +85 -85
  123. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/storageModal/StorageModal.vue +13 -8
  124. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/storageModal/new/New.vue +15 -12
  125. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/maximumSize/MaximumSize.vue +23 -23
  126. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/maximumSize/MaximumSizeNew.vue +2 -10
  127. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/maximumSize/MaximumSizeOld.vue +1 -2
  128. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +293 -288
  129. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +20 -15
  130. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkOld.vue +1 -1
  131. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +1 -1
  132. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +94 -94
  133. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  134. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +210 -205
  135. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDeviceNew.vue +5 -2
  136. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDeviceOld.vue +1 -1
  137. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  138. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  139. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  140. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  141. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  142. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  143. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  144. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  145. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +3 -3
  146. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +2 -2
  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 +1 -1
  149. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherOld.vue +1 -1
  150. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/inputDevices/InputDevicesNew.vue +0 -10
  151. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/Reservation.vue +1 -0
  152. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/ReservationNew.vue +1 -0
  153. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/ReservationOld.vue +1 -0
  154. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +162 -154
  155. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +17 -12
  156. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +17 -12
  157. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/Model.vue +3 -5
  158. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +53 -53
  159. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemory.vue +6 -4
  160. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/lib/config/options.ts +3 -0
  161. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +163 -155
  162. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +138 -130
  163. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsOld.vue +120 -113
  164. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptions.vue +15 -9
  165. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +1 -1
  166. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsOld.vue +19 -14
  167. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/Secure.vue +1 -1
  168. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
  169. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/DelayNew.vue +1 -1
  170. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/DelayOld.vue +2 -2
  171. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +60 -60
  172. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +1 -1
  173. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareOld.vue +1 -1
  174. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +1 -1
  175. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuOld.vue +1 -1
  176. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +174 -174
  177. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +2 -2
  178. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderOld.vue +1 -1
  179. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +101 -95
  180. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +1 -1
  181. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsOld.vue +158 -155
  182. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +1 -1
  183. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/Old.vue +7 -7
  184. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/PowerControl.vue +2 -2
  185. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +15 -9
  186. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +1 -1
  187. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +1 -1
  188. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  189. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapOld.vue +44 -44
  190. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  191. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/SharePolicy.vue +2 -2
  192. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  193. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  194. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/ZlibCompression.vue +2 -2
  195. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/ToolsNew.vue +3 -3
  196. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/ToolsOld.vue +17 -12
  197. package/components/common/vm/actions/common/select/compatibility/New.vue +0 -18
  198. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  199. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +143 -143
  200. package/components/common/vm/actions/common/select/computeResource/New.vue +168 -184
  201. package/components/common/vm/actions/common/select/computeResource/treeView/Old.vue +1 -1
  202. package/components/common/vm/actions/common/select/computeResource/treeView/TreeView.vue +131 -131
  203. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  204. package/components/common/vm/actions/common/select/createType/New.vue +0 -16
  205. package/components/common/vm/actions/common/select/createType/Old.vue +0 -9
  206. package/components/common/vm/actions/common/select/createType/lib/config/items.ts +48 -48
  207. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  208. package/components/common/vm/actions/common/select/name/Name.vue +13 -7
  209. package/components/common/vm/actions/common/select/name/New.vue +15 -30
  210. package/components/common/vm/actions/common/select/name/Old.vue +11 -8
  211. package/components/common/vm/actions/common/select/options/New.vue +8 -3
  212. package/components/common/vm/actions/common/select/options/Old.vue +10 -5
  213. package/components/common/vm/actions/common/select/options/Options.vue +8 -3
  214. package/components/common/vm/actions/common/select/os/New.vue +0 -10
  215. package/components/common/vm/actions/common/select/os/Old.vue +152 -152
  216. package/components/common/vm/actions/common/select/os/Os.vue +139 -139
  217. package/components/common/vm/actions/common/select/storage/Old.vue +13 -10
  218. package/components/common/vm/actions/common/select/storage/Storage.vue +164 -155
  219. package/components/common/vm/actions/common/select/storage/new/New.vue +278 -300
  220. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  221. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  222. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  223. package/components/common/vm/actions/common/select/template/treeView/New.vue +0 -10
  224. package/components/common/vm/actions/common/select/template/treeView/Old.vue +1 -1
  225. package/components/common/vm/actions/confirm/Confirm.vue +11 -6
  226. package/components/common/vm/actions/editSettings/EditSettings.vue +252 -242
  227. package/components/common/vm/actions/editSettings/EditSettingsOld.vue +35 -24
  228. package/components/common/vm/actions/editSettings/new/New.vue +34 -23
  229. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  230. package/components/common/vmt/actions/add/Add.vue +25 -19
  231. package/components/common/vmt/actions/add/New.vue +1 -0
  232. package/components/common/vmt/actions/add/Old.vue +0 -10
  233. package/components/common/vmt/actions/add/lib/models/interfaces.ts +23 -23
  234. package/components/common/wizards/datastore/add/Add.vue +14 -7
  235. package/components/common/wizards/datastore/add/New.vue +24 -17
  236. package/components/common/wizards/datastore/add/Old.vue +18 -14
  237. package/components/common/wizards/datastore/add/lib/config/steps.ts +2 -1
  238. package/components/common/wizards/datastore/add/lib/models/enums.ts +1 -1
  239. package/components/common/wizards/datastore/add/steps/hostAccessibility/HostAccessibility.vue +9 -4
  240. package/components/common/wizards/datastore/add/steps/hostAccessibility/HostAccessibilityNew.vue +10 -5
  241. package/components/common/wizards/datastore/add/steps/hostAccessibility/HostAccessibilityOld.vue +12 -7
  242. package/components/common/wizards/datastore/add/steps/hostAccessibility/table/Table.vue +0 -2
  243. package/components/common/wizards/datastore/add/steps/hostAccessibility/table/new/New.vue +3 -3
  244. package/components/common/wizards/datastore/add/steps/hostAccessibility/table/old/Old.vue +5 -5
  245. package/components/common/wizards/datastore/add/steps/hostAccessibility/table/old/lib/config/incompatibleTable.ts +3 -3
  246. package/components/common/wizards/datastore/add/steps/nameAndConfigure/NameAndConfigure.vue +0 -2
  247. package/components/common/wizards/datastore/add/steps/nameAndConfigure/NameAndConfigureNew.vue +27 -26
  248. package/components/common/wizards/datastore/add/steps/nameAndConfigure/NameAndConfigureOld.vue +5 -11
  249. package/components/common/wizards/datastore/add/steps/nameAndConfigure/_serversList/DeletePopover.vue +0 -9
  250. package/components/common/wizards/datastore/add/steps/nameAndConfigure/_serversList/ServersList.vue +9 -4
  251. package/components/common/wizards/datastore/add/steps/nameAndDevice/NameAndDevice.vue +18 -14
  252. package/components/common/wizards/datastore/add/steps/nameAndDevice/NameAndDeviceNew.vue +20 -15
  253. package/components/common/wizards/datastore/add/steps/nameAndDevice/NameAndDeviceOld.vue +26 -17
  254. package/components/common/wizards/datastore/add/steps/nameAndDevice/table/Table.vue +12 -17
  255. package/components/common/wizards/datastore/add/steps/nameAndDevice/table/new/New.vue +2 -13
  256. package/components/common/wizards/datastore/add/steps/nameAndDevice/table/new/lib/config/lunDiskTable.ts +14 -14
  257. package/components/common/wizards/datastore/add/steps/nameAndDevice/table/new/lib/models/enums.ts +3 -3
  258. package/components/common/wizards/datastore/add/steps/nameAndDevice/table/old/Old.vue +18 -13
  259. package/components/common/wizards/datastore/add/steps/readyComplete/ReadyCompleteNew.vue +1 -1
  260. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  261. package/components/common/wizards/network/add/Add.vue +2 -2
  262. package/components/common/wizards/network/add/lib/models/interfaces.ts +2 -2
  263. package/components/common/wizards/network/add/modals/SelectNetwork.vue +7 -5
  264. package/components/common/wizards/network/add/modals/SelectStandardSwitch.vue +7 -15
  265. package/components/common/wizards/network/add/modals/SelectSwitch.vue +7 -15
  266. package/components/common/wizards/network/add/modals/lib/models/interfaces.ts +21 -0
  267. package/components/common/wizards/network/add/steps/ConnectionSettings.vue +3 -3
  268. package/components/common/wizards/network/add/steps/CreateStandardSwitch.vue +3 -3
  269. package/components/common/wizards/network/add/steps/IpFourSettings.vue +6 -6
  270. package/components/common/wizards/network/add/steps/PhysicalAdapter.vue +2 -2
  271. package/components/common/wizards/network/add/steps/PortProperties.vue +12 -12
  272. package/components/common/wizards/network/add/steps/SelectConnectionType.vue +112 -104
  273. package/components/common/wizards/network/add/steps/SelectedTargetDevice.vue +467 -467
  274. package/components/common/wizards/vm/common/computeResource/TreeView.vue +1 -1
  275. package/components/common/wizards/vm/common/validation/compatibility/Compatibility.vue +1 -1
  276. package/components/common/wizards/vm/migrate/Migrate.vue +353 -349
  277. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +221 -220
  278. package/components/common/wizards/vm/migrate/lib/config/steps.ts +157 -157
  279. package/components/common/wizards/vm/migrate/lib/validations.ts +68 -68
  280. package/components/common/wizards/vm/migrate/select/computeResource/ComputeResource.vue +13 -8
  281. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/tableKeys.ts +8 -8
  282. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/models/types.ts +4 -4
  283. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  284. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +91 -91
  285. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/basicTable.ts +1 -1
  286. package/components/common/wizards/vm/migrate/select/targetServer/new/New.vue +4 -7
  287. package/components/common/wizards/vm/migrate/select/type/lib/config/typeOptions.ts +45 -45
  288. package/composables/productNameLocal.ts +30 -30
  289. package/composables/useAppVersion.ts +21 -21
  290. package/lib/models/enums.ts +1 -1
  291. package/package.json +1 -1
  292. package/plugins/date.ts +233 -233
  293. package/plugins/panelStates.ts +70 -70
  294. package/plugins/text.ts +59 -59
  295. package/public/spice-console/lib/images/bitmap.js +203 -203
  296. package/public/spice-console/network/spicechannel.js +390 -390
  297. package/store/main/mutations.ts +7 -7
  298. package/store/main/state.ts +7 -7
  299. package/store/tasks/lib/models/enums.ts +4 -4
  300. package/store/tasks/mappers/recentTasks.ts +79 -79
@@ -1,50 +1,50 @@
1
- <template>
2
- <div class="select-template">
3
- <atoms-alert
4
- v-show="props.errors.length"
5
- :items="props.errors"
6
- status="alert-danger"
7
- test-id="template-alert"
8
- @remove="emits('remove')"
9
- />
10
-
11
- <p class="template-description">
12
- {{ localization.vmWizard.selectTemplateForCreatingVm }}
13
- </p>
14
- <div class="tree-view-wrap">
15
- <common-vm-actions-common-select-template-tree-view
16
- :templates-tree="props.templatesTree"
17
- @select-node="emits('select', $event)"
18
- />
19
- </div>
20
- </div>
21
- </template>
22
-
23
- <script setup lang="ts">
24
- import type { UI_I_Localization } from '~/lib/models/interfaces'
25
- import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
26
-
27
- const props = defineProps<{
28
- templatesTree: UI_I_TreeNode[]
29
- errors: string[]
30
- }>()
31
-
32
- const emits = defineEmits<{
33
- (event: 'remove'): void
34
- (event: 'select', value: UI_I_TreeNode): void
35
- }>()
36
-
37
- const localization = computed<UI_I_Localization>(() => useLocal())
38
- </script>
39
-
40
- <style scoped lang="scss">
41
- .tree-view-wrap {
42
- position: relative;
43
- border: 1px solid #000;
44
- padding: 5px;
45
- max-height: 300px;
46
- min-height: 200px;
47
- overflow: auto;
48
- margin-bottom: 10px;
49
- }
50
- </style>
1
+ <template>
2
+ <div class="select-template">
3
+ <atoms-alert
4
+ v-show="props.errors.length"
5
+ :items="props.errors"
6
+ status="alert-danger"
7
+ test-id="template-alert"
8
+ @remove="emits('remove')"
9
+ />
10
+
11
+ <p class="template-description">
12
+ {{ localization.vmWizard.selectTemplateForCreatingVm }}
13
+ </p>
14
+ <div class="tree-view-wrap">
15
+ <common-vm-actions-common-select-template-tree-view
16
+ :templates-tree="props.templatesTree"
17
+ @select-node="emits('select', $event)"
18
+ />
19
+ </div>
20
+ </div>
21
+ </template>
22
+
23
+ <script setup lang="ts">
24
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
25
+ import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
26
+
27
+ const props = defineProps<{
28
+ templatesTree: UI_I_TreeNode[]
29
+ errors: string[]
30
+ }>()
31
+
32
+ const emits = defineEmits<{
33
+ (event: 'remove'): void
34
+ (event: 'select', value: UI_I_TreeNode): void
35
+ }>()
36
+
37
+ const localization = computed<UI_I_Localization>(() => useLocal())
38
+ </script>
39
+
40
+ <style scoped lang="scss">
41
+ .tree-view-wrap {
42
+ position: relative;
43
+ border: 1px solid #000;
44
+ padding: 5px;
45
+ max-height: 300px;
46
+ min-height: 200px;
47
+ overflow: auto;
48
+ margin-bottom: 10px;
49
+ }
50
+ </style>
@@ -42,16 +42,6 @@ const onToggleNode = (node: UI_I_TreeNode): void => {
42
42
  }
43
43
  </script>
44
44
 
45
- <style>
46
- :root {
47
- --select-name-border-color: #e9ebeda3;
48
- --select-name-location-bg-color: #ffffff;
49
- }
50
- :root.dark-theme {
51
- --select-name-border-color: #e9ebed1f;
52
- --select-name-location-bg-color: #1b2a371f;
53
- }
54
- </style>
55
45
  <style scoped lang="scss">
56
46
  .tree-view-wrap {
57
47
  flex: 1;
@@ -3,8 +3,8 @@
3
3
  <atoms-loader-pre-loader
4
4
  v-show="props.loading"
5
5
  id="loader"
6
- :show="true"
7
6
  class="absolute-center tree-view__loading"
7
+ show
8
8
  />
9
9
  <common-recursion-tree
10
10
  :nodes="props.nodes"
@@ -16,12 +16,17 @@
16
16
  <script lang="ts" setup>
17
17
  import type { UI_I_ModalTexts } from '~/node_modules/bfg-uikit/components/ui/modal/models/interfaces'
18
18
 
19
- const props = defineProps<{
20
- title: string
21
- subTitle: string
22
- description: string
23
- modalTexts?: UI_I_ModalTexts
24
- }>()
19
+ const props = withDefaults(
20
+ defineProps<{
21
+ title: string
22
+ subTitle: string
23
+ description: string
24
+ modalTexts?: UI_I_ModalTexts
25
+ }>(),
26
+ {
27
+ modalTexts: undefined,
28
+ }
29
+ )
25
30
 
26
31
  const emits = defineEmits<{
27
32
  (event: 'hide'): void
@@ -1,242 +1,252 @@
1
- <template>
2
- <common-vm-actions-edit-settings-new
3
- v-if="isNewView"
4
- v-model:vm-name="vmName"
5
- v-model:vm-settings="vmSettingsLocal"
6
- :nodes="props.nodes"
7
- :files="props.files"
8
- :project="props.project"
9
- :loading="loadingLocal"
10
- :datastore="props.datastore"
11
- :is-datastore-loading="props.isDatastoreLoading"
12
- :networks-table="props.networksTable"
13
- :selected-nav-item="selectedNavItem"
14
- :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
15
- :error-validation-fields="props.errorValidationFields"
16
- :virtual-hardware-networks="virtualHardwareNetworksLocal"
17
- :virtual-hardware-hard-disks="virtualHardwareHardDisksLocal"
18
- :virtual-hardware-cd-dvd-drives="virtualHardwareCdDvdDrivesLocal"
19
- :state="props.state"
20
- :vm-name-old="props.vmSettings?.name"
21
- :passthrough-devices="props.passthroughDevices"
22
- :mediated-devices="props.mediatedDevices"
23
- :get-datastore-table-func="props.getDatastoreTableFunc"
24
- :customize-hardware-submit="customizeHardwareSubmit"
25
- :is-vmt="props.isVmt"
26
- @hide="emits('hide')"
27
- @validate="validateSendData"
28
- @update-vm="emits('update-vm')"
29
- @get-storage="emits('get-storage', $event)"
30
- @get-pci-devices="emits('get-pci-devices')"
31
- @change-boot-order="onChangeBootOrder"
32
- @get-networks-table="emits('get-networks-table', $event)"
33
- @get-folders-or-files="emits('get-folders-or-files', $event)"
34
- @show-datastore-child="emits('show-datastore-child', $event)"
35
- @get-active-device-child="emits('get-active-device-child', $event)"
36
- @change-customize-hardware="onChangeCustomizeHardware"
37
- />
38
- <common-vm-actions-edit-settings-old
39
- v-else
40
- v-model:vm-name="vmName"
41
- v-model:vm-settings="vmSettingsLocal"
42
- :nodes="props.nodes"
43
- :files="props.files"
44
- :project="props.project"
45
- :loading="loadingLocal"
46
- :datastore="props.datastore"
47
- :is-datastore-loading="props.isDatastoreLoading"
48
- :networks-table="props.networksTable"
49
- :selected-nav-item="selectedNavItem"
50
- :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
51
- :error-validation-fields="props.errorValidationFields"
52
- :virtual-hardware-networks="virtualHardwareNetworksLocal"
53
- :virtual-hardware-hard-disks="virtualHardwareHardDisksLocal"
54
- :virtual-hardware-cd-dvd-drives="virtualHardwareCdDvdDrivesLocal"
55
- :state="props.state"
56
- :vm-name-old="props.vmSettings?.name"
57
- :passthrough-devices="props.passthroughDevices"
58
- :mediated-devices="props.mediatedDevices"
59
- :get-datastore-table-func="props.getDatastoreTableFunc"
60
- :customize-hardware-submit="customizeHardwareSubmit"
61
- :is-vmt="props.isVmt"
62
- @hide="emits('hide')"
63
- @validate="validateSendData"
64
- @update-vm="emits('update-vm')"
65
- @get-storage="emits('get-storage', $event)"
66
- @get-pci-devices="emits('get-pci-devices')"
67
- @change-boot-order="onChangeBootOrder"
68
- @get-networks-table="emits('get-networks-table', $event)"
69
- @get-folders-or-files="emits('get-folders-or-files', $event)"
70
- @show-datastore-child="emits('show-datastore-child', $event)"
71
- @get-active-device-child="emits('get-active-device-child', $event)"
72
- @change-customize-hardware="onChangeCustomizeHardware"
73
- />
74
- </template>
75
-
76
- <script setup lang="ts">
77
- import type { UI_T_Project } from '~/lib/models/types'
78
- import type { UI_I_FileTreeNode } from '~/components/lib/models/interfaces'
79
- import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
80
- import type {
81
- UI_I_MediatedDevice,
82
- UI_I_PciDevice,
83
- UI_I_VmSettings,
84
- } from '~/lib/models/store/vm/interfaces'
85
- import type { UI_I_Localization } from '~/lib/models/interfaces'
86
- import type { UI_I_SendDataCustomizeHardware } from '~/components/common/vm/actions/common/customizeHardware/lib/models/interfaces'
87
- import type {
88
- UI_I_SendDataNewCdDvdDrive,
89
- UI_I_SendDataNewHardDisk,
90
- UI_I_SendDataNewNetwork,
91
- UI_I_SendDataCpu,
92
- UI_I_SendDataMemory,
93
- } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
94
- import type { UI_T_SelectedNavItem } from '~/components/common/vm/actions/common/lib/models/types'
95
- import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
96
- import type { UI_I_TablePayload } from '~/lib/models/table/interfaces'
97
- import type {
98
- UI_I_DatastoreTableItem,
99
- UI_I_FolderOrFileTreePayload,
100
- } from '~/lib/models/store/storage/interfaces'
101
- import type { UI_T_ChangeBootOrder } from '~/components/common/vm/actions/lib/models/types'
102
- import type { UI_T_EditVmFinishFunc } from '~/components/common/vm/actions/editSettings/lib/models/types'
103
- import type { UI_I_Capabilities } from '~/components/common/vm/actions/common/lib/models/interfaces'
104
- import { mapCapabilities } from '~/components/common/vm/actions/common/lib/utils/capabilities'
105
-
106
- const props = defineProps<{
107
- project: UI_T_Project
108
- loading: boolean
109
- vmSettings: UI_I_VmSettings | null
110
- nodes: UI_I_FileTreeNode[]
111
- files: UI_I_FileTreeNode[]
112
- networksTable: UI_I_NetworkTableItem[]
113
- errorValidationFields: UI_I_ErrorValidationField<string>[]
114
- vmCpuHelpTextSecond: string
115
- vmId: string
116
- datastore: UI_I_DatastoreTableItem[]
117
- isDatastoreLoading: boolean
118
- validateSendDataFunc: UI_T_EditVmFinishFunc
119
- getDatastoreTableFunc?: (payload: UI_I_TablePayload) => Promise<void>
120
- state?: string | number
121
- passthroughDevices?: UI_I_PciDevice[]
122
- mediatedDevices?: UI_I_MediatedDevice[]
123
- capabilities?: UI_I_Capabilities
124
- isVmt?: boolean
125
- }>()
126
-
127
- const emits = defineEmits<{
128
- (event: 'hide'): void
129
- (event: 'update-vm'): void
130
- (event: 'get-storage', value: UI_I_TablePayload): void
131
- (event: 'get-folders-or-files', value: UI_I_FolderOrFileTreePayload): void
132
- (event: 'get-active-device-child', value: UI_I_FileTreeNode): void
133
- (event: 'show-datastore-child', value: UI_I_FileTreeNode): void
134
- (event: 'get-networks-table', value: UI_I_TablePayload): void
135
- (event: 'get-pci-devices'): void
136
- }>()
137
-
138
- const { $store }: any = useNuxtApp()
139
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
140
-
141
- const localization = computed<UI_I_Localization>(() => useLocal())
142
-
143
- watch(
144
- () => props.capabilities,
145
- () => {
146
- if (props.capabilities) mapCapabilities(props.capabilities)
147
- },
148
- { deep: true, immediate: true }
149
- )
150
-
151
- const selectedNavItem = ref<UI_T_SelectedNavItem>(0)
152
-
153
- const loadingLocal = ref<boolean>(false)
154
- watch(
155
- () => props.loading,
156
- (newValue: boolean) => {
157
- loadingLocal.value = newValue
158
- },
159
- { immediate: true }
160
- )
161
-
162
- const vmSettingsLocal = computed<UI_I_VmSettings | null>(() => props.vmSettings)
163
-
164
- const vmName = ref<string>(vmSettingsLocal.value?.name || '')
165
- watch(vmSettingsLocal, (newValue) => {
166
- vmName.value = newValue?.name || ''
167
- })
168
-
169
- const virtualHardwareHardDisks = ref<UI_I_SendDataNewHardDisk[] | null>(null)
170
- const virtualHardwareCdDvdDrives = ref<UI_I_SendDataNewCdDvdDrive[] | null>(
171
- null
172
- )
173
- const virtualHardwareNetworks = ref<UI_I_SendDataNewNetwork[] | null>(null)
174
- const onChangeBootOrder = (data: UI_T_ChangeBootOrder): void => {
175
- virtualHardwareHardDisks.value = data[0]
176
- virtualHardwareCdDvdDrives.value = data[1]
177
- virtualHardwareNetworks.value = data[2]
178
- }
179
-
180
- const customizeHardware = ref<UI_I_SendDataCustomizeHardware | null>(null)
181
- const onChangeCustomizeHardware = (
182
- data: UI_I_SendDataCustomizeHardware
183
- ): void => {
184
- customizeHardware.value = data
185
- }
186
- const virtualHardwareHardDisksLocal = computed<
187
- UI_I_SendDataNewHardDisk[] | null
188
- >(() => customizeHardware.value?.virtualHardware?.hardDisks || null)
189
- const virtualHardwareNetworksLocal = computed<UI_I_SendDataNewNetwork[] | null>(
190
- () => customizeHardware.value?.virtualHardware?.networks || null
191
- )
192
- const virtualHardwareCdDvdDrivesLocal = computed<
193
- UI_I_SendDataNewCdDvdDrive[] | null
194
- >(() => customizeHardware.value?.virtualHardware?.cdDvdDrives || null)
195
-
196
- const virtualHardwareCpu = computed<UI_I_SendDataCpu | null>(
197
- () => customizeHardware.value?.virtualHardware?.cpu || null
198
- )
199
- const virtualHardwareMemory = computed<UI_I_SendDataMemory | null>(
200
- () => customizeHardware.value?.virtualHardware?.memory || null
201
- )
202
-
203
- const customizeHardwareSubmit = ref<null | Function>(null)
204
- const checkCustomizeHardware = async (): Promise<boolean> => {
205
- return new Promise((resolve) => {
206
- customizeHardwareSubmit.value = (data: boolean) => {
207
- customizeHardwareSubmit.value = null
208
-
209
- resolve(data)
210
- }
211
- })
212
- }
213
-
214
- const validateSendData = async (): Promise<void> => {
215
- const isValid = await checkCustomizeHardware()
216
- if (!isValid) {
217
- return
218
- }
219
-
220
- loadingLocal.value = true
221
- props
222
- .validateSendDataFunc(
223
- vmSettingsLocal.value,
224
- virtualHardwareCpu.value,
225
- virtualHardwareMemory.value,
226
- customizeHardware.value,
227
- virtualHardwareNetworks.value,
228
- virtualHardwareHardDisks.value,
229
- virtualHardwareCdDvdDrives.value,
230
- vmName.value,
231
- localization.value,
232
- props.vmId
233
- )
234
- .then((data) => {
235
- loadingLocal.value = false
236
-
237
- !data && emits('update-vm')
238
- })
239
- }
240
- </script>
241
-
242
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <common-vm-actions-edit-settings-new
3
+ v-if="isNewView"
4
+ v-model:vm-name="vmName"
5
+ v-model:vm-settings="vmSettingsLocal"
6
+ :nodes="props.nodes"
7
+ :files="props.files"
8
+ :project="props.project"
9
+ :loading="loadingLocal"
10
+ :datastore="props.datastore"
11
+ :is-datastore-loading="props.isDatastoreLoading"
12
+ :networks-table="props.networksTable"
13
+ :selected-nav-item="selectedNavItem"
14
+ :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
15
+ :error-validation-fields="props.errorValidationFields"
16
+ :virtual-hardware-networks="virtualHardwareNetworksLocal"
17
+ :virtual-hardware-hard-disks="virtualHardwareHardDisksLocal"
18
+ :virtual-hardware-cd-dvd-drives="virtualHardwareCdDvdDrivesLocal"
19
+ :state="props.state"
20
+ :vm-name-old="props.vmSettings?.name"
21
+ :passthrough-devices="props.passthroughDevices"
22
+ :mediated-devices="props.mediatedDevices"
23
+ :get-datastore-table-func="props.getDatastoreTableFunc"
24
+ :customize-hardware-submit="customizeHardwareSubmit"
25
+ :is-vmt="props.isVmt"
26
+ @hide="emits('hide')"
27
+ @validate="validateSendData"
28
+ @update-vm="emits('update-vm')"
29
+ @get-storage="emits('get-storage', $event)"
30
+ @get-pci-devices="emits('get-pci-devices')"
31
+ @change-boot-order="onChangeBootOrder"
32
+ @get-networks-table="emits('get-networks-table', $event)"
33
+ @get-folders-or-files="emits('get-folders-or-files', $event)"
34
+ @show-datastore-child="emits('show-datastore-child', $event)"
35
+ @get-active-device-child="emits('get-active-device-child', $event)"
36
+ @change-customize-hardware="onChangeCustomizeHardware"
37
+ />
38
+ <common-vm-actions-edit-settings-old
39
+ v-else
40
+ v-model:vm-name="vmName"
41
+ v-model:vm-settings="vmSettingsLocal"
42
+ :nodes="props.nodes"
43
+ :files="props.files"
44
+ :project="props.project"
45
+ :loading="loadingLocal"
46
+ :datastore="props.datastore"
47
+ :is-datastore-loading="props.isDatastoreLoading"
48
+ :networks-table="props.networksTable"
49
+ :selected-nav-item="selectedNavItem"
50
+ :vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
51
+ :error-validation-fields="props.errorValidationFields"
52
+ :virtual-hardware-networks="virtualHardwareNetworksLocal"
53
+ :virtual-hardware-hard-disks="virtualHardwareHardDisksLocal"
54
+ :virtual-hardware-cd-dvd-drives="virtualHardwareCdDvdDrivesLocal"
55
+ :state="props.state"
56
+ :vm-name-old="props.vmSettings?.name"
57
+ :passthrough-devices="props.passthroughDevices"
58
+ :mediated-devices="props.mediatedDevices"
59
+ :get-datastore-table-func="props.getDatastoreTableFunc"
60
+ :customize-hardware-submit="customizeHardwareSubmit"
61
+ :is-vmt="props.isVmt"
62
+ @hide="emits('hide')"
63
+ @validate="validateSendData"
64
+ @update-vm="emits('update-vm')"
65
+ @get-storage="emits('get-storage', $event)"
66
+ @get-pci-devices="emits('get-pci-devices')"
67
+ @change-boot-order="onChangeBootOrder"
68
+ @get-networks-table="emits('get-networks-table', $event)"
69
+ @get-folders-or-files="emits('get-folders-or-files', $event)"
70
+ @show-datastore-child="emits('show-datastore-child', $event)"
71
+ @get-active-device-child="emits('get-active-device-child', $event)"
72
+ @change-customize-hardware="onChangeCustomizeHardware"
73
+ />
74
+ </template>
75
+
76
+ <script setup lang="ts">
77
+ import type { UI_T_Project } from '~/lib/models/types'
78
+ import type { UI_I_FileTreeNode } from '~/components/lib/models/interfaces'
79
+ import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
80
+ import type {
81
+ UI_I_MediatedDevice,
82
+ UI_I_PciDevice,
83
+ UI_I_VmSettings,
84
+ } from '~/lib/models/store/vm/interfaces'
85
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
86
+ import type { UI_I_SendDataCustomizeHardware } from '~/components/common/vm/actions/common/customizeHardware/lib/models/interfaces'
87
+ import type {
88
+ UI_I_SendDataNewCdDvdDrive,
89
+ UI_I_SendDataNewHardDisk,
90
+ UI_I_SendDataNewNetwork,
91
+ UI_I_SendDataCpu,
92
+ UI_I_SendDataMemory,
93
+ } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
94
+ import type { UI_T_SelectedNavItem } from '~/components/common/vm/actions/common/lib/models/types'
95
+ import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
96
+ import type { UI_I_TablePayload } from '~/lib/models/table/interfaces'
97
+ import type {
98
+ UI_I_DatastoreTableItem,
99
+ UI_I_FolderOrFileTreePayload,
100
+ } from '~/lib/models/store/storage/interfaces'
101
+ import type { UI_T_ChangeBootOrder } from '~/components/common/vm/actions/lib/models/types'
102
+ import type { UI_T_EditVmFinishFunc } from '~/components/common/vm/actions/editSettings/lib/models/types'
103
+ import type { UI_I_Capabilities } from '~/components/common/vm/actions/common/lib/models/interfaces'
104
+ import { mapCapabilities } from '~/components/common/vm/actions/common/lib/utils/capabilities'
105
+
106
+ const props = withDefaults(
107
+ defineProps<{
108
+ project: UI_T_Project
109
+ loading: boolean
110
+ vmSettings: UI_I_VmSettings | null
111
+ nodes: UI_I_FileTreeNode[]
112
+ files: UI_I_FileTreeNode[]
113
+ networksTable: UI_I_NetworkTableItem[]
114
+ errorValidationFields: UI_I_ErrorValidationField<string>[]
115
+ vmCpuHelpTextSecond: string
116
+ vmId: string
117
+ datastore: UI_I_DatastoreTableItem[]
118
+ isDatastoreLoading: boolean
119
+ validateSendDataFunc: UI_T_EditVmFinishFunc
120
+ getDatastoreTableFunc?: (payload: UI_I_TablePayload) => Promise<void>
121
+ state?: string | number
122
+ passthroughDevices?: UI_I_PciDevice[]
123
+ mediatedDevices?: UI_I_MediatedDevice[]
124
+ capabilities?: UI_I_Capabilities
125
+ isVmt?: boolean
126
+ }>(),
127
+ {
128
+ getDatastoreTableFunc: undefined,
129
+ state: undefined,
130
+ passthroughDevices: undefined,
131
+ mediatedDevices: undefined,
132
+ capabilities: undefined,
133
+ isVmt: undefined,
134
+ }
135
+ )
136
+
137
+ const emits = defineEmits<{
138
+ (event: 'hide'): void
139
+ (event: 'update-vm'): void
140
+ (event: 'get-storage', value: UI_I_TablePayload): void
141
+ (event: 'get-folders-or-files', value: UI_I_FolderOrFileTreePayload): void
142
+ (event: 'get-active-device-child', value: UI_I_FileTreeNode): void
143
+ (event: 'show-datastore-child', value: UI_I_FileTreeNode): void
144
+ (event: 'get-networks-table', value: UI_I_TablePayload): void
145
+ (event: 'get-pci-devices'): void
146
+ }>()
147
+
148
+ const { $store }: any = useNuxtApp()
149
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
150
+
151
+ const localization = computed<UI_I_Localization>(() => useLocal())
152
+
153
+ watch(
154
+ () => props.capabilities,
155
+ () => {
156
+ if (props.capabilities) mapCapabilities(props.capabilities)
157
+ },
158
+ { deep: true, immediate: true }
159
+ )
160
+
161
+ const selectedNavItem = ref<UI_T_SelectedNavItem>(0)
162
+
163
+ const loadingLocal = ref<boolean>(false)
164
+ watch(
165
+ () => props.loading,
166
+ (newValue: boolean) => {
167
+ loadingLocal.value = newValue
168
+ },
169
+ { immediate: true }
170
+ )
171
+
172
+ const vmSettingsLocal = computed<UI_I_VmSettings | null>(() => props.vmSettings)
173
+
174
+ const vmName = ref<string>(vmSettingsLocal.value?.name || '')
175
+ watch(vmSettingsLocal, (newValue) => {
176
+ vmName.value = newValue?.name || ''
177
+ })
178
+
179
+ const virtualHardwareHardDisks = ref<UI_I_SendDataNewHardDisk[] | null>(null)
180
+ const virtualHardwareCdDvdDrives = ref<UI_I_SendDataNewCdDvdDrive[] | null>(
181
+ null
182
+ )
183
+ const virtualHardwareNetworks = ref<UI_I_SendDataNewNetwork[] | null>(null)
184
+ const onChangeBootOrder = (data: UI_T_ChangeBootOrder): void => {
185
+ virtualHardwareHardDisks.value = data[0]
186
+ virtualHardwareCdDvdDrives.value = data[1]
187
+ virtualHardwareNetworks.value = data[2]
188
+ }
189
+
190
+ const customizeHardware = ref<UI_I_SendDataCustomizeHardware | null>(null)
191
+ const onChangeCustomizeHardware = (
192
+ data: UI_I_SendDataCustomizeHardware
193
+ ): void => {
194
+ customizeHardware.value = data
195
+ }
196
+ const virtualHardwareHardDisksLocal = computed<
197
+ UI_I_SendDataNewHardDisk[] | null
198
+ >(() => customizeHardware.value?.virtualHardware?.hardDisks || null)
199
+ const virtualHardwareNetworksLocal = computed<UI_I_SendDataNewNetwork[] | null>(
200
+ () => customizeHardware.value?.virtualHardware?.networks || null
201
+ )
202
+ const virtualHardwareCdDvdDrivesLocal = computed<
203
+ UI_I_SendDataNewCdDvdDrive[] | null
204
+ >(() => customizeHardware.value?.virtualHardware?.cdDvdDrives || null)
205
+
206
+ const virtualHardwareCpu = computed<UI_I_SendDataCpu | null>(
207
+ () => customizeHardware.value?.virtualHardware?.cpu || null
208
+ )
209
+ const virtualHardwareMemory = computed<UI_I_SendDataMemory | null>(
210
+ () => customizeHardware.value?.virtualHardware?.memory || null
211
+ )
212
+
213
+ const customizeHardwareSubmit = ref<null | Function>(null)
214
+ const checkCustomizeHardware = async (): Promise<boolean> => {
215
+ return new Promise((resolve) => {
216
+ customizeHardwareSubmit.value = (data: boolean) => {
217
+ customizeHardwareSubmit.value = null
218
+
219
+ resolve(data)
220
+ }
221
+ })
222
+ }
223
+
224
+ const validateSendData = async (): Promise<void> => {
225
+ const isValid = await checkCustomizeHardware()
226
+ if (!isValid) {
227
+ return
228
+ }
229
+
230
+ loadingLocal.value = true
231
+ props
232
+ .validateSendDataFunc(
233
+ vmSettingsLocal.value,
234
+ virtualHardwareCpu.value,
235
+ virtualHardwareMemory.value,
236
+ customizeHardware.value,
237
+ virtualHardwareNetworks.value,
238
+ virtualHardwareHardDisks.value,
239
+ virtualHardwareCdDvdDrives.value,
240
+ vmName.value,
241
+ localization.value,
242
+ props.vmId
243
+ )
244
+ .then((data) => {
245
+ loadingLocal.value = false
246
+
247
+ !data && emits('update-vm')
248
+ })
249
+ }
250
+ </script>
251
+
252
+ <style scoped lang="scss"></style>