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,214 +1,214 @@
1
- <template>
2
- <div class="table-view-wrapper flex flex-col">
3
- <atoms-table-data-grid
4
- v-model:page-size="pagination.pageSize"
5
- v-model:page="pagination.page"
6
- :head-items="headItems"
7
- :body-items="bodyItems"
8
- :total-items="bodyItems.length"
9
- :total-pages="1"
10
- :loading="props.loading"
11
- off-select-by-row
12
- class="networks-table flex flex-col"
13
- server-off
14
- hide-footer
15
- hide-page-size
16
- >
17
- <template #select="data">
18
- <div class="select networks-table__select">
19
- <div v-if="data.item.data.type === 'select-network'" class="select">
20
- <select
21
- id="import-vms-network-field"
22
- v-model="selectedLocation"
23
- :disabled="false"
24
- data-id="import-vms-network-field"
25
- class="import-vms-network-field input-text-color"
26
- @click.stop
27
- @change="changeLocation($event, data.item.data.key)"
28
- >
29
- <option
30
- v-for="(item, key) in locationOptions"
31
- :key="key"
32
- :value="item.value"
33
- >
34
- {{ item.text }}
35
- </option>
36
- </select>
37
- </div>
38
-
39
- <common-pages-backups-modals-restore-networks-table-adapter-type
40
- v-if="data.item.data.type === 'select-adapter'"
41
- v-model="model.pvm.network_devices[data.item.data.key].model"
42
- />
43
- </div>
44
- </template>
45
- </atoms-table-data-grid>
46
-
47
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-location
48
- :location-modal-is-show="selectedNetworkKeyForLocation !== -1"
49
- :networks-table="props.sourceNetworks"
50
- @hide="onHideLocationModal"
51
- @select="onSelectLocation"
52
- />
53
- </div>
54
- </template>
55
-
56
- <script lang="ts" setup>
57
- import type {
58
- UI_I_Localization,
59
- UI_I_HTMLSelectElement,
60
- } from '~/lib/models/interfaces'
61
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
62
- import type { UI_I_Pagination } from '~/lib/models/table/interfaces'
63
- import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
64
- import type {
65
- UI_I_HeadItem,
66
- UI_I_BodyItem,
67
- } from '~/components/atoms/table/dataGrid/lib/models/interfaces'
68
- import type { UI_I_RestoreForm } from '~/components/common/pages/backups/modals/lib/models/interfaces'
69
- import * as table from '~/components/common/pages/backups/modals/restore/networks/table/lib/config/networkTable'
70
-
71
- const model = defineModel<UI_I_RestoreForm>({ required: true })
72
- const props = defineProps<{
73
- networksTable: UI_I_RestoreForm['pvm']['network_devices']
74
- sourceNetworks: UI_I_NetworkTableItem[]
75
- loading: boolean
76
- }>()
77
-
78
- const localization = computed<UI_I_Localization>(() => useLocal())
79
-
80
- const pagination = ref<UI_I_Pagination>({
81
- page: 1,
82
- pageSize: 100,
83
- })
84
-
85
- const headItems = computed<UI_I_HeadItem[]>(() =>
86
- table.headItems(localization.value)
87
- )
88
-
89
- const bodyItems = computed<UI_I_BodyItem[][]>(() => {
90
- return table.bodyItems(props.networksTable)
91
- })
92
-
93
- const selectedLocationOld = ref<string>('')
94
- const selectedLocation = ref<string>('')
95
- const locationOptions = ref<UI_I_OptionItem[]>([])
96
- const selectedNetworkKeyForLocation = ref<number>(-1)
97
- const onHideLocationModal = (): void => {
98
- selectedLocation.value = selectedLocationOld.value
99
- const network = findNetwork(selectedLocationOld.value)
100
- model.value.pvm.network_devices[selectedNetworkKeyForLocation.value].network =
101
- network.name
102
- model.value.pvm.network_devices[
103
- selectedNetworkKeyForLocation.value
104
- ].net_bridge = selectedLocationOld.value
105
- selectedNetworkKeyForLocation.value = -1
106
- }
107
-
108
- const changeLocation = (event: UI_I_HTMLSelectElement, key: number): void => {
109
- const value = event.target.value
110
-
111
- if (value === 'browser') {
112
- selectedNetworkKeyForLocation.value = key
113
- return
114
- }
115
-
116
- selectedLocationOld.value = value
117
- selectedLocation.value = value
118
- const network = findNetwork(value)
119
- model.value.pvm.network_devices[key].network = network.name || ''
120
- model.value.pvm.network_devices[key].net_bridge = value
121
- }
122
-
123
- const onSelectLocation = (network: any): void => {
124
- selectedLocationOld.value = network.net_bridge
125
- selectedLocation.value = network.net_bridge
126
- model.value.pvm.network_devices[selectedNetworkKeyForLocation.value].network =
127
- network.name
128
- model.value.pvm.network_devices[
129
- selectedNetworkKeyForLocation.value
130
- ].net_bridge = network.net_bridge
131
- selectedNetworkKeyForLocation.value = -1
132
-
133
- const hasNetwork = locationOptions.value.some(
134
- (option) => option.value === network.name
135
- )
136
- if (hasNetwork) {
137
- return
138
- }
139
-
140
- locationOptions.value = [
141
- ...locationOptions.value.slice(0, -1),
142
- { text: network.name, value: network.net_bridge },
143
- locationOptions.value[locationOptions.value.length - 1],
144
- ]
145
- }
146
-
147
- watch(
148
- (): any => props.sourceNetworks,
149
- (newValue) => {
150
- if (!props.networksTable?.length || !newValue.length) {
151
- return
152
- }
153
- // selectedLocationOld.value = props.sourceNetworks[0].name
154
- // selectedLocation.value = props.sourceNetworks[0].net_bridge
155
-
156
- let selectedNetwork: any = null
157
- model.value.pvm.network_devices = model.value.pvm.network_devices.map(
158
- (network) => {
159
- selectedNetwork =
160
- newValue.find((net) => net.net_bridge === network.net_bridge) ||
161
- newValue[0]
162
-
163
- network.network = selectedNetwork.name
164
- // network.model = props.networksTable[0].model
165
- // network.network = props.sourceNetworks[0].name
166
- // network.net_bridge = props.sourceNetworks[0].net_bridge
167
- return network
168
- }
169
- )
170
- selectedLocationOld.value = selectedNetwork.net_bridge
171
- selectedLocation.value = selectedNetwork.net_bridge
172
-
173
- locationOptions.value = [
174
- {
175
- text: selectedNetwork.name,
176
- value: selectedNetwork.net_bridge,
177
- },
178
- { text: `${localization.value.common.browse}...`, value: 'browser' },
179
- ]
180
- },
181
- { immediate: true }
182
- )
183
-
184
- const findNetwork = (net_bridge: string): any => {
185
- return props.sourceNetworks.find(
186
- (network) => network.net_bridge === net_bridge
187
- )
188
- }
189
- </script>
190
-
191
- <style lang="scss" scoped>
192
- .table-view-wrapper {
193
- height: inherit;
194
- .networks-table {
195
- height: inherit;
196
- :deep(.datagrid-outer-wrapper) {
197
- height: inherit;
198
- margin-top: 0;
199
- }
200
- :deep(.datagrid) {
201
- padding-top: 0;
202
- height: inherit;
203
- }
204
- &__select {
205
- width: 100%;
206
- height: 24px;
207
- min-width: 107px;
208
- & > select {
209
- height: 100%;
210
- }
211
- }
212
- }
213
- }
214
- </style>
1
+ <template>
2
+ <div class="table-view-wrapper flex flex-col">
3
+ <atoms-table-data-grid
4
+ v-model:page-size="pagination.pageSize"
5
+ v-model:page="pagination.page"
6
+ :head-items="headItems"
7
+ :body-items="bodyItems"
8
+ :total-items="bodyItems.length"
9
+ :total-pages="1"
10
+ :loading="props.loading"
11
+ off-select-by-row
12
+ class="networks-table flex flex-col"
13
+ server-off
14
+ hide-footer
15
+ hide-page-size
16
+ >
17
+ <template #select="data">
18
+ <div class="select networks-table__select">
19
+ <div v-if="data.item.data.type === 'select-network'" class="select">
20
+ <select
21
+ id="import-vms-network-field"
22
+ v-model="selectedLocation"
23
+ :disabled="false"
24
+ data-id="import-vms-network-field"
25
+ class="import-vms-network-field input-text-color"
26
+ @click.stop
27
+ @change="changeLocation($event, data.item.data.key)"
28
+ >
29
+ <option
30
+ v-for="(item, key) in locationOptions"
31
+ :key="key"
32
+ :value="item.value"
33
+ >
34
+ {{ item.text }}
35
+ </option>
36
+ </select>
37
+ </div>
38
+
39
+ <common-pages-backups-modals-restore-networks-table-adapter-type
40
+ v-if="data.item.data.type === 'select-adapter'"
41
+ v-model="model.pvm.network_devices[data.item.data.key].model"
42
+ />
43
+ </div>
44
+ </template>
45
+ </atoms-table-data-grid>
46
+
47
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-location
48
+ :location-modal-is-show="selectedNetworkKeyForLocation !== -1"
49
+ :networks-table="props.sourceNetworks"
50
+ @hide="onHideLocationModal"
51
+ @select="onSelectLocation"
52
+ />
53
+ </div>
54
+ </template>
55
+
56
+ <script lang="ts" setup>
57
+ import type {
58
+ UI_I_Localization,
59
+ UI_I_HTMLSelectElement,
60
+ } from '~/lib/models/interfaces'
61
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
62
+ import type { UI_I_Pagination } from '~/lib/models/table/interfaces'
63
+ import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
64
+ import type {
65
+ UI_I_HeadItem,
66
+ UI_I_BodyItem,
67
+ } from '~/components/atoms/table/dataGrid/lib/models/interfaces'
68
+ import type { UI_I_RestoreForm } from '~/components/common/pages/backups/modals/lib/models/interfaces'
69
+ import * as table from '~/components/common/pages/backups/modals/restore/networks/table/lib/config/networkTable'
70
+
71
+ const model = defineModel<UI_I_RestoreForm>({ required: true })
72
+ const props = defineProps<{
73
+ networksTable: UI_I_RestoreForm['pvm']['network_devices']
74
+ sourceNetworks: UI_I_NetworkTableItem[]
75
+ loading: boolean
76
+ }>()
77
+
78
+ const localization = computed<UI_I_Localization>(() => useLocal())
79
+
80
+ const pagination = ref<UI_I_Pagination>({
81
+ page: 1,
82
+ pageSize: 100,
83
+ })
84
+
85
+ const headItems = computed<UI_I_HeadItem[]>(() =>
86
+ table.headItems(localization.value)
87
+ )
88
+
89
+ const bodyItems = computed<UI_I_BodyItem[][]>(() => {
90
+ return table.bodyItems(props.networksTable)
91
+ })
92
+
93
+ const selectedLocationOld = ref<string>('')
94
+ const selectedLocation = ref<string>('')
95
+ const locationOptions = ref<UI_I_OptionItem[]>([])
96
+ const selectedNetworkKeyForLocation = ref<number>(-1)
97
+ const onHideLocationModal = (): void => {
98
+ selectedLocation.value = selectedLocationOld.value
99
+ const network = findNetwork(selectedLocationOld.value)
100
+ model.value.pvm.network_devices[selectedNetworkKeyForLocation.value].network =
101
+ network.name
102
+ model.value.pvm.network_devices[
103
+ selectedNetworkKeyForLocation.value
104
+ ].net_bridge = selectedLocationOld.value
105
+ selectedNetworkKeyForLocation.value = -1
106
+ }
107
+
108
+ const changeLocation = (event: UI_I_HTMLSelectElement, key: number): void => {
109
+ const value = event.target.value
110
+
111
+ if (value === 'browser') {
112
+ selectedNetworkKeyForLocation.value = key
113
+ return
114
+ }
115
+
116
+ selectedLocationOld.value = value
117
+ selectedLocation.value = value
118
+ const network = findNetwork(value)
119
+ model.value.pvm.network_devices[key].network = network.name || ''
120
+ model.value.pvm.network_devices[key].net_bridge = value
121
+ }
122
+
123
+ const onSelectLocation = (network: any): void => {
124
+ selectedLocationOld.value = network.net_bridge
125
+ selectedLocation.value = network.net_bridge
126
+ model.value.pvm.network_devices[selectedNetworkKeyForLocation.value].network =
127
+ network.name
128
+ model.value.pvm.network_devices[
129
+ selectedNetworkKeyForLocation.value
130
+ ].net_bridge = network.net_bridge
131
+ selectedNetworkKeyForLocation.value = -1
132
+
133
+ const hasNetwork = locationOptions.value.some(
134
+ (option) => option.value === network.name
135
+ )
136
+ if (hasNetwork) {
137
+ return
138
+ }
139
+
140
+ locationOptions.value = [
141
+ ...locationOptions.value.slice(0, -1),
142
+ { text: network.name, value: network.net_bridge },
143
+ locationOptions.value[locationOptions.value.length - 1],
144
+ ]
145
+ }
146
+
147
+ watch(
148
+ (): any => props.sourceNetworks,
149
+ (newValue) => {
150
+ if (!props.networksTable?.length || !newValue.length) {
151
+ return
152
+ }
153
+ // selectedLocationOld.value = props.sourceNetworks[0].name
154
+ // selectedLocation.value = props.sourceNetworks[0].net_bridge
155
+
156
+ let selectedNetwork: any = null
157
+ model.value.pvm.network_devices = model.value.pvm.network_devices.map(
158
+ (network) => {
159
+ selectedNetwork =
160
+ newValue.find((net) => net.net_bridge === network.net_bridge) ||
161
+ newValue[0]
162
+
163
+ network.network = selectedNetwork.name
164
+ // network.model = props.networksTable[0].model
165
+ // network.network = props.sourceNetworks[0].name
166
+ // network.net_bridge = props.sourceNetworks[0].net_bridge
167
+ return network
168
+ }
169
+ )
170
+ selectedLocationOld.value = selectedNetwork.net_bridge
171
+ selectedLocation.value = selectedNetwork.net_bridge
172
+
173
+ locationOptions.value = [
174
+ {
175
+ text: selectedNetwork.name,
176
+ value: selectedNetwork.net_bridge,
177
+ },
178
+ { text: `${localization.value.common.browse}...`, value: 'browser' },
179
+ ]
180
+ },
181
+ { immediate: true }
182
+ )
183
+
184
+ const findNetwork = (net_bridge: string): any => {
185
+ return props.sourceNetworks.find(
186
+ (network) => network.net_bridge === net_bridge
187
+ )
188
+ }
189
+ </script>
190
+
191
+ <style lang="scss" scoped>
192
+ .table-view-wrapper {
193
+ height: inherit;
194
+ .networks-table {
195
+ height: inherit;
196
+ :deep(.datagrid-outer-wrapper) {
197
+ height: inherit;
198
+ margin-top: 0;
199
+ }
200
+ :deep(.datagrid) {
201
+ padding-top: 0;
202
+ height: inherit;
203
+ }
204
+ &__select {
205
+ width: 100%;
206
+ height: 24px;
207
+ min-width: 107px;
208
+ & > select {
209
+ height: 100%;
210
+ }
211
+ }
212
+ }
213
+ }
214
+ </style>
@@ -1,25 +1,25 @@
1
- import type { UI_I_Localization } from '~/lib/models/interfaces'
2
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
3
- import { restoreCodes } from '~/components/common/pages/backups/modals/restore/lib/config/restoreCodes'
4
-
5
- export const backupsTypesFunc = (
6
- localization: UI_I_Localization
7
- ): UI_I_OptionItem[] => {
8
- return [
9
- {
10
- text: localization.common.restoreExisting,
11
- value: restoreCodes.existing,
12
- testId: 'backup-type-restore-existing',
13
- },
14
- {
15
- text: localization.common.restoreAsNew,
16
- value: restoreCodes.asNew,
17
- testId: 'backup-type-restore-as-new',
18
- },
19
- {
20
- text: localization.common.restoreDiskOnly,
21
- value: restoreCodes.diskOnly,
22
- testId: 'backup-type-restore-disk-only',
23
- },
24
- ]
25
- }
1
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
2
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
3
+ import { restoreCodes } from '~/components/common/pages/backups/modals/restore/lib/config/restoreCodes'
4
+
5
+ export const backupsTypesFunc = (
6
+ localization: UI_I_Localization
7
+ ): UI_I_OptionItem[] => {
8
+ return [
9
+ {
10
+ text: localization.common.restoreExisting,
11
+ value: restoreCodes.existing,
12
+ testId: 'backup-type-restore-existing',
13
+ },
14
+ {
15
+ text: localization.common.restoreAsNew,
16
+ value: restoreCodes.asNew,
17
+ testId: 'backup-type-restore-as-new',
18
+ },
19
+ {
20
+ text: localization.common.restoreDiskOnly,
21
+ value: restoreCodes.diskOnly,
22
+ testId: 'backup-type-restore-disk-only',
23
+ },
24
+ ]
25
+ }
@@ -1,75 +1,75 @@
1
- <template>
2
- <div class="backup-actions grid py-0 px-6">
3
- <button
4
- v-if="targetType === 'vm'"
5
- id="create-backup-button"
6
- v-permission="permission"
7
- :disabled="isDisabled"
8
- data-id="create-backup-button"
9
- class="btn btn-primary btn-sm"
10
- @click="onSelect('createBackup')"
11
- >
12
- {{ localization.common.createBackup }}...
13
- </button>
14
- <atoms-tabs
15
- :items="tabs"
16
- test-id="vm-backup-tabs"
17
- size="small"
18
- class="tabs w-100"
19
- @change="onSelect"
20
- />
21
- </div>
22
- </template>
23
-
24
- <script setup lang="ts">
25
- import type { UI_T_Project } from '~/lib/models/types'
26
- import type { UI_I_Localization } from '~/lib/models/interfaces'
27
- import type { UI_I_CollapseNavItem } from '~/components/atoms/collapse/lib/models/interfaces'
28
- import type {
29
- UI_T_BackupActionType,
30
- UI_T_TargetType,
31
- } from '~/components/common/pages/backups/lib/models/types'
32
- import type { UI_I_BackupsTreeNode } from '~/components/common/pages/backups/lib/models/interfaces'
33
- import { backupsTabsFunc } from '~/components/common/pages/backups/tools/lib/config/tabs'
34
-
35
- const props = defineProps<{
36
- project: UI_T_Project
37
- backupsCount: number
38
- backupsLoading: boolean
39
- targetType: UI_T_TargetType
40
- selectedNode: UI_I_BackupsTreeNode | null
41
- }>()
42
-
43
- const emits = defineEmits<{
44
- (event: 'select', value: UI_T_BackupActionType): void
45
- }>()
46
-
47
- const localization = computed<UI_I_Localization>(() => useLocal())
48
-
49
- const permission = computed<string>(() => {
50
- return props.project === 'sphere' ? 'VirtualMachines.CreateBackup' : ''
51
- })
52
-
53
- const tabs = computed<UI_I_CollapseNavItem[]>(() =>
54
- backupsTabsFunc(
55
- localization.value,
56
- isDisabled.value,
57
- props.backupsCount,
58
- props.selectedNode,
59
- props.project
60
- )
61
- )
62
-
63
- const onSelect = (action: UI_T_BackupActionType): void => {
64
- emits('select', action)
65
- }
66
-
67
- const isDisabled = computed<boolean>(() => props.backupsLoading)
68
- </script>
69
-
70
- <style scoped lang="scss">
71
- .backup-actions {
72
- grid-template-columns: auto 1fr;
73
- align-items: baseline;
74
- }
75
- </style>
1
+ <template>
2
+ <div class="backup-actions grid py-0 px-6">
3
+ <button
4
+ v-if="targetType === 'vm'"
5
+ id="create-backup-button"
6
+ v-permission="permission"
7
+ :disabled="isDisabled"
8
+ data-id="create-backup-button"
9
+ class="btn btn-primary btn-sm"
10
+ @click="onSelect('createBackup')"
11
+ >
12
+ {{ localization.common.createBackup }}...
13
+ </button>
14
+ <atoms-tabs
15
+ :items="tabs"
16
+ test-id="vm-backup-tabs"
17
+ size="small"
18
+ class="tabs w-100"
19
+ @change="onSelect"
20
+ />
21
+ </div>
22
+ </template>
23
+
24
+ <script setup lang="ts">
25
+ import type { UI_T_Project } from '~/lib/models/types'
26
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
27
+ import type { UI_I_CollapseNavItem } from '~/components/atoms/collapse/lib/models/interfaces'
28
+ import type {
29
+ UI_T_BackupActionType,
30
+ UI_T_TargetType,
31
+ } from '~/components/common/pages/backups/lib/models/types'
32
+ import type { UI_I_BackupsTreeNode } from '~/components/common/pages/backups/lib/models/interfaces'
33
+ import { backupsTabsFunc } from '~/components/common/pages/backups/tools/lib/config/tabs'
34
+
35
+ const props = defineProps<{
36
+ project: UI_T_Project
37
+ backupsCount: number
38
+ backupsLoading: boolean
39
+ targetType: UI_T_TargetType
40
+ selectedNode: UI_I_BackupsTreeNode | null
41
+ }>()
42
+
43
+ const emits = defineEmits<{
44
+ (event: 'select', value: UI_T_BackupActionType): void
45
+ }>()
46
+
47
+ const localization = computed<UI_I_Localization>(() => useLocal())
48
+
49
+ const permission = computed<string>(() => {
50
+ return props.project === 'sphere' ? 'VirtualMachines.CreateBackup' : ''
51
+ })
52
+
53
+ const tabs = computed<UI_I_CollapseNavItem[]>(() =>
54
+ backupsTabsFunc(
55
+ localization.value,
56
+ isDisabled.value,
57
+ props.backupsCount,
58
+ props.selectedNode,
59
+ props.project
60
+ )
61
+ )
62
+
63
+ const onSelect = (action: UI_T_BackupActionType): void => {
64
+ emits('select', action)
65
+ }
66
+
67
+ const isDisabled = computed<boolean>(() => props.backupsLoading)
68
+ </script>
69
+
70
+ <style scoped lang="scss">
71
+ .backup-actions {
72
+ grid-template-columns: auto 1fr;
73
+ align-items: baseline;
74
+ }
75
+ </style>