bfg-common 1.5.111 → 1.5.113

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (302) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/components/atoms/TheIcon3.vue +50 -50
  3. package/components/atoms/perPage/PerPage.vue +58 -58
  4. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  5. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  6. package/components/atoms/tabs/VerticalTabs.vue +105 -105
  7. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  8. package/components/common/context/lib/models/interfaces.ts +31 -31
  9. package/components/common/context/recursion/Recursion.vue +87 -87
  10. package/components/common/context/recursion/RecursionNew.vue +238 -238
  11. package/components/common/diagramMain/DiagramMain.vue +897 -897
  12. package/components/common/diagramMain/Header.vue +214 -214
  13. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  14. package/components/common/layout/theHeader/userMenu/modals/preferences/view/ViewOld.vue +112 -112
  15. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/utils.ts +1040 -1040
  16. package/components/common/monitor/overview/OverviewOld.vue +139 -139
  17. package/components/common/pages/home/headline/Headline.vue +45 -45
  18. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  19. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  20. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  21. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  22. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  23. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  24. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  25. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  26. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  27. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  28. package/components/common/pages/packages/Packages.vue +208 -208
  29. package/components/common/pages/shortcuts/block/BlockOld.vue +68 -68
  30. package/components/common/portlets/customAttributes/Portlet.vue +667 -667
  31. package/components/common/portlets/tag/CreateCategory.vue +10 -10
  32. package/components/common/portlets/tag/Portlet.vue +433 -433
  33. package/components/common/portlets/tag/TagAddNew.vue +8 -8
  34. package/components/common/portlets/tag/lib/config/config.ts +1 -0
  35. package/components/common/readyToComplete/New.vue +66 -66
  36. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  37. package/components/common/recursionTree/RecursionTree.vue +223 -223
  38. package/components/common/resource/progressBlock/ProgressBlock.vue +7 -7
  39. package/components/common/resource/simple/Simple.vue +2 -2
  40. package/components/common/resource/simple/lib/models/enums.ts +1 -1
  41. package/components/common/select/button/ButtonDropdown.vue +108 -108
  42. package/components/common/select/input/Input.vue +5 -6
  43. package/components/common/select/radio/RadioGroup.vue +3 -4
  44. package/components/common/selectLanguage/SelectLanguage.vue +27 -27
  45. package/components/common/spiceConsole/Drawer.vue +370 -370
  46. package/components/common/spiceConsole/SpiceConsole.vue +3 -3
  47. package/components/common/spiceConsole/keyboard/Keyboard.vue +8 -8
  48. package/components/common/spiceConsole/keyboard/lib/config/keyboardRows.ts +2 -2
  49. package/components/common/spiceConsole/keyboard/lib/models/interfaces.ts +1 -1
  50. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  51. package/components/common/split/horizontal/HorizontalNew.vue +9 -9
  52. package/components/common/split/horizontal/HorizontalOld.vue +337 -337
  53. package/components/common/split/vertical/Vertical.vue +162 -160
  54. package/components/common/split/vertical/VerticalNew.vue +10 -7
  55. package/components/common/split/vertical/VerticalOld.vue +11 -8
  56. package/components/common/summary/notification/NotificationOld.vue +3 -2
  57. package/components/common/titleBar/titleBarNew/notification/Notification.vue +4 -4
  58. package/components/common/tools/Actions.vue +201 -202
  59. package/components/common/vm/actions/add/Add.vue +785 -785
  60. package/components/common/vm/actions/add/New.vue +556 -556
  61. package/components/common/vm/actions/add/Old.vue +371 -371
  62. package/components/common/vm/actions/add/folderTreeView/FolderTreeView.vue +72 -72
  63. package/components/common/vm/actions/add/folderTreeView/New.vue +40 -40
  64. package/components/common/vm/actions/add/folderTreeView/Old.vue +50 -50
  65. package/components/common/vm/actions/add/lib/config/steps.ts +263 -263
  66. package/components/common/vm/actions/clone/Clone.vue +798 -798
  67. package/components/common/vm/actions/clone/lib/config/steps.ts +291 -291
  68. package/components/common/vm/actions/clone/toTemplate/ToTemplate.vue +626 -626
  69. package/components/common/vm/actions/clone/toTemplate/lib/config/steps.ts +116 -116
  70. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +276 -275
  71. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +272 -272
  72. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +178 -177
  73. package/components/common/vm/actions/common/customizeHardware/lib/config/navItems.ts +5 -5
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +698 -698
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +468 -468
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +319 -319
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +99 -99
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +122 -118
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusOld.vue +1 -2
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +232 -232
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +198 -198
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +168 -168
  84. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  85. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +70 -70
  86. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  87. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +338 -338
  88. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuNew.vue +194 -194
  89. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuOld.vue +23 -17
  90. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/coresPerSocket/CoresPerSocketNew.vue +1 -1
  91. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/coresPerSocket/CoresPerSocketOld.vue +1 -1
  92. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/hotPlug/HotPlugNew.vue +1 -1
  93. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/hotPlug/HotPlugOld.vue +7 -6
  94. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/model/ModelNew.vue +13 -13
  95. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/model/ModelOld.vue +3 -3
  96. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  97. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/SharesNew.vue +1 -1
  98. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/SharesOld.vue +1 -1
  99. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  100. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/tooltip/TooltipNew.vue +122 -122
  101. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/config/dropdownItems.ts +7 -3
  102. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  103. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryNew.vue +1 -1
  104. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/hotPlug/HotPlugNew.vue +14 -16
  105. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/hotPlug/HotPlugOld.vue +4 -5
  106. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +368 -368
  107. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +266 -266
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +250 -250
  109. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/cache/CacheNew.vue +20 -19
  110. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/cache/CacheOld.vue +1 -0
  111. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/limitIops/LimitIopsNew.vue +32 -33
  112. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +149 -149
  113. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationNew.vue +74 -74
  114. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationOld.vue +83 -83
  115. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/StorageModalNew.vue +75 -74
  116. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/StorageModalOld.vue +1 -1
  117. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeNew.vue +19 -20
  118. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +56 -56
  119. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/ProvisioningNew.vue +1 -1
  120. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +45 -45
  121. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +288 -288
  122. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
  123. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/adapterType/AdapterTypeNew.vue +19 -20
  124. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  125. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  126. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/Table.vue +2 -2
  127. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +94 -94
  128. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  129. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +68 -70
  130. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +81 -83
  131. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  132. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDeviceOld.vue +4 -1
  133. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  134. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  135. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  136. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +83 -85
  137. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  138. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  139. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  140. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  141. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -41
  142. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +80 -82
  143. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  144. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelectionOld.vue +2 -2
  145. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +57 -57
  146. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerOld.vue +1 -1
  147. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  148. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  149. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/ReservationNew.vue +1 -1
  150. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +105 -105
  151. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +112 -112
  152. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/ModelNew.vue +18 -18
  153. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/ModelOld.vue +1 -1
  154. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplaysNew.vue +20 -20
  155. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplaysOld.vue +2 -2
  156. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  157. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryOld.vue +6 -2
  158. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  159. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  160. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptions.vue +0 -1
  161. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  162. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  163. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  164. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +43 -43
  165. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  166. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  167. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  168. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +144 -144
  169. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsOld.vue +12 -6
  170. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  171. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/PlaybackCompression.vue +1 -1
  172. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  173. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteOld.vue +3 -3
  174. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  175. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferOld.vue +4 -4
  176. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  177. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/ImgCompression.vue +1 -1
  178. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/JpegCompression.vue +1 -1
  179. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  180. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +40 -40
  181. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapOld.vue +2 -2
  182. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +100 -103
  183. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +102 -102
  184. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordOld.vue +94 -94
  185. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/StreamingMode.vue +1 -1
  186. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/type/Type.vue +1 -1
  187. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  188. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +39 -39
  189. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  190. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/ZlibCompression.vue +1 -1
  191. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/ToolsNew.vue +28 -29
  192. package/components/common/vm/actions/common/lib/models/types.ts +1 -1
  193. package/components/common/vm/actions/common/lib/utils/capabilities.ts +52 -52
  194. package/components/common/vm/actions/common/select/compatibility/Compatibility.vue +100 -100
  195. package/components/common/vm/actions/common/select/compatibility/New.vue +165 -165
  196. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  197. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +134 -134
  198. package/components/common/vm/actions/common/select/computeResource/New.vue +141 -141
  199. package/components/common/vm/actions/common/select/computeResource/Old.vue +99 -99
  200. package/components/common/vm/actions/common/select/computeResource/treeView/New.vue +44 -44
  201. package/components/common/vm/actions/common/select/computeResource/treeView/Old.vue +51 -48
  202. package/components/common/vm/actions/common/select/computeResource/treeView/TreeView.vue +118 -118
  203. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  204. package/components/common/vm/actions/common/select/createType/New.vue +84 -84
  205. package/components/common/vm/actions/common/select/createType/Old.vue +70 -70
  206. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  207. package/components/common/vm/actions/common/select/name/Name.vue +167 -167
  208. package/components/common/vm/actions/common/select/name/New.vue +246 -246
  209. package/components/common/vm/actions/common/select/name/Old.vue +119 -119
  210. package/components/common/vm/actions/common/select/os/New.vue +122 -122
  211. package/components/common/vm/actions/common/select/os/Old.vue +152 -152
  212. package/components/common/vm/actions/common/select/os/Os.vue +139 -139
  213. package/components/common/vm/actions/common/select/storage/Old.vue +129 -129
  214. package/components/common/vm/actions/common/select/storage/Storage.vue +131 -131
  215. package/components/common/vm/actions/common/select/storage/new/New.vue +193 -193
  216. package/components/common/vm/actions/common/select/storage/new/lib/config/table.ts +326 -326
  217. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  218. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  219. package/components/common/vm/actions/common/select/template/Template.vue +64 -64
  220. package/components/common/vm/actions/common/select/template/TemplateTreeView.vue +88 -88
  221. package/components/common/vm/actions/editSettings/EditSettingsOld.vue +1 -1
  222. package/components/common/vm/actions/editSettings/lib/config/modal.ts +6 -4
  223. package/components/common/vm/actions/editSettings/lib/models/types.ts +4 -4
  224. package/components/common/vm/actions/editSettings/lib/utils.ts +25 -29
  225. package/components/common/vm/actions/editSettings/new/New.vue +186 -186
  226. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  227. package/components/common/vm/actions/lib/models/types.ts +1 -1
  228. package/components/common/vm/actions/lib/utils.ts +2 -10
  229. package/components/common/wizards/datastore/add/Add.vue +6 -7
  230. package/components/common/wizards/datastore/add/lib/config/steps.ts +138 -138
  231. package/components/common/wizards/datastore/add/lib/validations.ts +1 -1
  232. package/components/common/wizards/datastore/add/local/createName/CreateName.vue +1 -1
  233. package/components/common/wizards/datastore/add/nfs/_kerberosAuthentication/KerberosAuthentication.vue +6 -6
  234. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +60 -60
  235. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/TablesView.vue +5 -5
  236. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/compatibleTable.ts +1 -1
  237. package/components/common/wizards/datastore/add/nfs/configuration/Configuration.vue +5 -14
  238. package/components/common/wizards/datastore/add/nfs/configuration/_serversList/DeletePopover.vue +1 -1
  239. package/components/common/wizards/datastore/add/nfs/configuration/_serversList/ServersList.vue +9 -9
  240. package/components/common/wizards/datastore/add/nfs/configuration/_serversList/lib/config/serversListConfig.ts +10 -7
  241. package/components/common/wizards/datastore/add/nfs/configuration/_serversList/lib/config/tableKeys.ts +1 -1
  242. package/components/common/wizards/datastore/add/nfs/version/Version.vue +1 -4
  243. package/components/common/wizards/datastore/add/nfs/version/lib/config/versionOptions.ts +1 -0
  244. package/components/common/wizards/datastore/add/readyComplete/ReadyComplete.vue +89 -92
  245. package/components/common/wizards/datastore/add/readyComplete/lib/config/propertiesDetails.ts +1 -0
  246. package/components/common/wizards/datastore/add/sharedStorm/SharedStorm.vue +1 -6
  247. package/components/common/wizards/datastore/add/sharedStorm/_version/Version.vue +3 -6
  248. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/DeviceSelection.vue +4 -4
  249. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/config/selectOptions.ts +6 -3
  250. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/models/interfaces.ts +1 -1
  251. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/models/types.ts +1 -1
  252. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/table/Table.vue +8 -8
  253. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/PartitionConfiguration.vue +5 -5
  254. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/sizeGraphic/sizeGraphic.vue +1 -1
  255. package/components/common/wizards/datastore/add/types/Types.vue +0 -4
  256. package/components/common/wizards/datastore/add/types/lib/config/typeOptions.ts +3 -3
  257. package/components/common/wizards/network/add/Add.vue +25 -25
  258. package/components/common/wizards/network/add/lib/models/types.ts +2 -2
  259. package/components/common/wizards/network/add/mappers/mappers.ts +1 -1
  260. package/components/common/wizards/network/add/modals/SelectNetwork.vue +3 -1
  261. package/components/common/wizards/network/add/modals/SelectStandardSwitch.vue +3 -1
  262. package/components/common/wizards/network/add/modals/SelectSwitch.vue +3 -1
  263. package/components/common/wizards/network/add/steps/ConnectionSettings.vue +4 -4
  264. package/components/common/wizards/network/add/steps/IpFourSettings.vue +13 -9
  265. package/components/common/wizards/network/add/steps/PhysicalAdapter.vue +1 -1
  266. package/components/common/wizards/network/add/steps/PortProperties.vue +13 -9
  267. package/components/common/wizards/network/add/steps/SelectConnectionType.vue +105 -105
  268. package/components/common/wizards/network/add/steps/SelectedTargetDevice.vue +15 -15
  269. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +220 -220
  270. package/components/common/wizards/vm/migrate/lib/config/steps.ts +157 -157
  271. package/components/common/wizards/vm/migrate/lib/validations.ts +68 -68
  272. package/components/common/wizards/vm/migrate/select/computeResource/ComputeResource.vue +1 -1
  273. package/components/common/wizards/vm/migrate/select/computeResource/lib/config/tabsPannel.ts +1 -0
  274. package/components/common/wizards/vm/migrate/select/computeResource/tableView/TableView.vue +2 -2
  275. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  276. package/components/common/wizards/vm/migrate/select/network/table/network/Network.vue +150 -150
  277. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +91 -91
  278. package/components/common/wizards/vm/migrate/select/priority/Priority.vue +43 -43
  279. package/components/common/wizards/vm/migrate/select/storage/Storage.vue +2 -2
  280. package/components/common/wizards/vm/migrate/select/storage/configure/batch/Batch.vue +2 -2
  281. package/components/common/wizards/vm/migrate/select/storage/configure/batch/table/Table.vue +2 -2
  282. package/components/common/wizards/vm/migrate/select/storage/configure/disk/Disk.vue +1 -1
  283. package/components/common/wizards/vm/migrate/select/storage/configure/disk/table/Table.vue +3 -3
  284. package/components/common/wizards/vm/migrate/select/storage/lib/config/tabsPannel.ts +1 -0
  285. package/components/common/wizards/vm/migrate/select/targetServer/lib/config/tabsPannel.ts +1 -0
  286. package/components/common/wizards/vm/migrate/select/targetServer/lib/models/types.ts +1 -1
  287. package/components/common/wizards/vm/migrate/select/targetServer/saved/Saved.vue +1 -1
  288. package/components/common/wizards/vm/migrate/select/targetServer/targetServer.vue +3 -3
  289. package/composables/productNameLocal.ts +30 -30
  290. package/composables/useAppVersion.ts +21 -21
  291. package/lib/models/store/host/interfaces.ts +1 -1
  292. package/lib/models/store/network/interfaces.ts +1 -1
  293. package/lib/models/store/storage/interfaces.ts +1 -1
  294. package/lib/models/store/vm/interfaces.ts +1 -1
  295. package/package.json +1 -1
  296. package/plugins/date.ts +233 -233
  297. package/plugins/directives.ts +24 -24
  298. package/public/spice-console/lib/images/bitmap.js +203 -203
  299. package/public/spice-console/network/spicechannel.js +383 -383
  300. package/store/main/mutations.ts +7 -7
  301. package/store/main/state.ts +7 -7
  302. package/store/tasks/mappers/recentTasks.ts +64 -64
@@ -1,99 +1,99 @@
1
- <template>
2
- <div class="select-compute-resource">
3
- <atoms-alert
4
- v-show="props.errors.length"
5
- status="alert-danger"
6
- test-id="computed-resource-alert"
7
- :items="props.errors"
8
- @remove="emits('remove-validation-errors')"
9
- />
10
-
11
- <div class="tree-view-wrap mt-1">
12
- <common-vm-actions-common-select-compute-resource-tree-view
13
- v-model="selectedNode"
14
- :data-center="props.dataCenter"
15
- :compute-resource="props.computeResource"
16
- :compute-resource-tree="props.computeResourceTree"
17
- @get-compute-resource-tree="emits('get-compute-resource-tree', $event)"
18
- @show-compute-resource-tree="
19
- emits('show-compute-resource-tree', $event)
20
- "
21
- @select-compute-resource-tree="
22
- emits('select-compute-resource-tree', $event)
23
- "
24
- @clear-compute-resource-tree="emits('clear-compute-resource-tree')"
25
- />
26
- </div>
27
-
28
- <div class="compatibility-wrap">
29
- <p class="compatibility">
30
- {{ localization.inventorySummary.compatibility }}
31
- </p>
32
- <div class="compatibility-message flex-align-center">
33
- <template v-if="props.compatibilityText[1]">
34
- <atoms-the-icon
35
- v-show="!props.compatibilityText[0]"
36
- width="20"
37
- name="exclamation-circle"
38
- />
39
- <div v-show="props.compatibilityText[0]" class="icon-status-ok" />
40
- <span>{{ props.compatibilityText[1] }}</span>
41
- </template>
42
- </div>
43
- </div>
44
- </div>
45
- </template>
46
-
47
- <script setup lang="ts">
48
- import type { UI_I_Localization } from '~/lib/models/interfaces'
49
- import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
50
-
51
- const selectedNode = defineModel<UI_I_TreeNode>('modelValue', {
52
- required: true,
53
- })
54
-
55
- const props = defineProps<{
56
- dataCenter: UI_I_TreeNode | null
57
- computeResource: UI_I_TreeNode
58
- computeResourceTree: UI_I_TreeNode[]
59
- errors: string[]
60
- compatibilityText: [boolean, string]
61
- }>()
62
-
63
- const emits = defineEmits<{
64
- (
65
- event: 'get-compute-resource-tree',
66
- value: { id: string | number; cb: () => void }
67
- ): void
68
- (event: 'show-compute-resource-tree', value: UI_I_TreeNode): void
69
- (event: 'select-compute-resource-tree', value: UI_I_TreeNode): void
70
- (event: 'clear-compute-resource-tree'): void
71
- (event: 'remove-validation-errors'): void
72
- }>()
73
-
74
- const localization = computed<UI_I_Localization>(() => useLocal())
75
- </script>
76
-
77
- <style scoped lang="scss">
78
- .select-compute-resource {
79
- .tree-view-wrap {
80
- max-height: 300px;
81
- min-height: 200px;
82
- position: relative;
83
- border: 1px solid #000;
84
- padding: 5px 0 0 5px;
85
- overflow: auto;
86
- }
87
-
88
- .compatibility-wrap {
89
- padding-top: 10px;
90
-
91
- .compatibility-message {
92
- border: 1px solid #000;
93
- padding-top: 5px;
94
- padding-left: 5px;
95
- overflow: auto;
96
- }
97
- }
98
- }
99
- </style>
1
+ <template>
2
+ <div class="select-compute-resource">
3
+ <atoms-alert
4
+ v-show="props.errors.length"
5
+ :items="props.errors"
6
+ status="alert-danger"
7
+ test-id="computed-resource-alert"
8
+ @remove="emits('remove-validation-errors')"
9
+ />
10
+
11
+ <div class="tree-view-wrap mt-1">
12
+ <common-vm-actions-common-select-compute-resource-tree-view
13
+ v-model="selectedNode"
14
+ :data-center="props.dataCenter"
15
+ :compute-resource="props.computeResource"
16
+ :compute-resource-tree="props.computeResourceTree"
17
+ @get-compute-resource-tree="emits('get-compute-resource-tree', $event)"
18
+ @show-compute-resource-tree="
19
+ emits('show-compute-resource-tree', $event)
20
+ "
21
+ @select-compute-resource-tree="
22
+ emits('select-compute-resource-tree', $event)
23
+ "
24
+ @clear-compute-resource-tree="emits('clear-compute-resource-tree')"
25
+ />
26
+ </div>
27
+
28
+ <div class="compatibility-wrap">
29
+ <p class="compatibility">
30
+ {{ localization.inventorySummary.compatibility }}
31
+ </p>
32
+ <div class="compatibility-message flex-align-center">
33
+ <template v-if="props.compatibilityText[1]">
34
+ <atoms-the-icon
35
+ v-show="!props.compatibilityText[0]"
36
+ width="20"
37
+ name="exclamation-circle"
38
+ />
39
+ <div v-show="props.compatibilityText[0]" class="icon-status-ok" />
40
+ <span>{{ props.compatibilityText[1] }}</span>
41
+ </template>
42
+ </div>
43
+ </div>
44
+ </div>
45
+ </template>
46
+
47
+ <script setup lang="ts">
48
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
49
+ import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
50
+
51
+ const selectedNode = defineModel<UI_I_TreeNode>('modelValue', {
52
+ required: true,
53
+ })
54
+
55
+ const props = defineProps<{
56
+ dataCenter: UI_I_TreeNode | null
57
+ computeResource: UI_I_TreeNode
58
+ computeResourceTree: UI_I_TreeNode[]
59
+ errors: string[]
60
+ compatibilityText: [boolean, string]
61
+ }>()
62
+
63
+ const emits = defineEmits<{
64
+ (
65
+ event: 'get-compute-resource-tree',
66
+ value: { id: string | number; cb: () => void }
67
+ ): void
68
+ (event: 'show-compute-resource-tree', value: UI_I_TreeNode): void
69
+ (event: 'select-compute-resource-tree', value: UI_I_TreeNode): void
70
+ (event: 'clear-compute-resource-tree'): void
71
+ (event: 'remove-validation-errors'): void
72
+ }>()
73
+
74
+ const localization = computed<UI_I_Localization>(() => useLocal())
75
+ </script>
76
+
77
+ <style scoped lang="scss">
78
+ .select-compute-resource {
79
+ .tree-view-wrap {
80
+ max-height: 300px;
81
+ min-height: 200px;
82
+ position: relative;
83
+ border: 1px solid #000;
84
+ padding: 5px 0 0 5px;
85
+ overflow: auto;
86
+ }
87
+
88
+ .compatibility-wrap {
89
+ padding-top: 10px;
90
+
91
+ .compatibility-message {
92
+ border: 1px solid #000;
93
+ padding-top: 5px;
94
+ padding-left: 5px;
95
+ overflow: auto;
96
+ }
97
+ }
98
+ }
99
+ </style>
@@ -1,44 +1,44 @@
1
- <template>
2
- <div class="tree-view">
3
- <ui-tree
4
- :nodes="props.computeResourceTree"
5
- :expand-all="false"
6
- :is-loading="props.loading"
7
- @toggle-node="onShowNodes"
8
- @select-node="emits('select-node', $event)"
9
- >
10
- <template #content="{ node }">
11
- <div class="flex-align-center">
12
- <span :class="['node-icon', node.iconClassName]"></span>
13
- <span class="node-name">{{ node.name }}</span>
14
- </div>
15
- </template>
16
- </ui-tree>
17
- </div>
18
- </template>
19
-
20
- <script setup lang="ts">
21
- import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
22
-
23
- const props = defineProps<{
24
- computeResourceTree: UI_I_TreeNode[]
25
- loading: boolean
26
- }>()
27
-
28
- const emits = defineEmits<{
29
- (
30
- event: 'show-nodes',
31
- value: {
32
- node: UI_I_TreeNode
33
- cb: () => void
34
- }
35
- ): void
36
- (event: 'select-node', value: UI_I_TreeNode): void
37
- }>()
38
-
39
- const onShowNodes = (node: UI_I_TreeNode) => {
40
- emits('show-nodes', { node, cb: (): void => {} })
41
- }
42
- </script>
43
-
44
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <div class="tree-view">
3
+ <ui-tree
4
+ :nodes="props.computeResourceTree"
5
+ :expand-all="false"
6
+ :is-loading="props.loading"
7
+ @toggle-node="onShowNodes"
8
+ @select-node="emits('select-node', $event)"
9
+ >
10
+ <template #content="{ node }">
11
+ <div class="flex-align-center">
12
+ <span :class="['node-icon', node.iconClassName]"></span>
13
+ <span class="node-name">{{ node.name }}</span>
14
+ </div>
15
+ </template>
16
+ </ui-tree>
17
+ </div>
18
+ </template>
19
+
20
+ <script setup lang="ts">
21
+ import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
22
+
23
+ const props = defineProps<{
24
+ computeResourceTree: UI_I_TreeNode[]
25
+ loading: boolean
26
+ }>()
27
+
28
+ const emits = defineEmits<{
29
+ (
30
+ event: 'show-nodes',
31
+ value: {
32
+ node: UI_I_TreeNode
33
+ cb: () => void
34
+ }
35
+ ): void
36
+ (event: 'select-node', value: UI_I_TreeNode): void
37
+ }>()
38
+
39
+ const onShowNodes = (node: UI_I_TreeNode) => {
40
+ emits('show-nodes', { node, cb: (): void => {} })
41
+ }
42
+ </script>
43
+
44
+ <style scoped lang="scss"></style>
@@ -1,48 +1,51 @@
1
- <template>
2
- <div class="tree-view">
3
- <atoms-loader-pre-loader
4
- v-show="props.loading"
5
- id="loader"
6
- class="absolute-center tree-view__loading"
7
- :show="true"
8
- />
9
- <common-recursion-tree
10
- :nodes="props.computeResourceTree"
11
- class="recursion-tree"
12
- @get-nodes="emits('show-nodes', $event)"
13
- @select-node="emits('select-node', $event)"
14
- @contextmenu.prevent
15
- />
16
- </div>
17
- </template>
18
-
19
- <script setup lang="ts">
20
- import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
21
-
22
- const props = defineProps<{
23
- computeResourceTree: UI_I_TreeNode[]
24
- loading: boolean
25
- }>()
26
-
27
- const emits = defineEmits<{
28
- (event: 'show-nodes', value: {
29
- node: UI_I_TreeNode
30
- cb: () => void
31
- }): void
32
- (event: 'select-node', value: UI_I_TreeNode): void
33
- }>()
34
- </script>
35
-
36
- <style scoped lang="scss">
37
- .tree-view {
38
- &__loading {
39
- :deep(.spinner.spinner-inverse) {
40
- position: static;
41
- width: 45px;
42
- height: 45px;
43
- min-width: 45px;
44
- min-height: 45px;
45
- }
46
- }
47
- }
48
- </style>
1
+ <template>
2
+ <div class="tree-view">
3
+ <atoms-loader-pre-loader
4
+ v-show="props.loading"
5
+ id="loader"
6
+ :show="true"
7
+ class="absolute-center tree-view__loading"
8
+ />
9
+ <common-recursion-tree
10
+ :nodes="props.computeResourceTree"
11
+ class="recursion-tree"
12
+ @get-nodes="emits('show-nodes', $event)"
13
+ @select-node="emits('select-node', $event)"
14
+ @contextmenu.prevent
15
+ />
16
+ </div>
17
+ </template>
18
+
19
+ <script setup lang="ts">
20
+ import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
21
+
22
+ const props = defineProps<{
23
+ computeResourceTree: UI_I_TreeNode[]
24
+ loading: boolean
25
+ }>()
26
+
27
+ const emits = defineEmits<{
28
+ (
29
+ event: 'show-nodes',
30
+ value: {
31
+ node: UI_I_TreeNode
32
+ cb: () => void
33
+ }
34
+ ): void
35
+ (event: 'select-node', value: UI_I_TreeNode): void
36
+ }>()
37
+ </script>
38
+
39
+ <style scoped lang="scss">
40
+ .tree-view {
41
+ &__loading {
42
+ :deep(.spinner.spinner-inverse) {
43
+ position: static;
44
+ width: 45px;
45
+ height: 45px;
46
+ min-width: 45px;
47
+ min-height: 45px;
48
+ }
49
+ }
50
+ }
51
+ </style>
@@ -1,118 +1,118 @@
1
- <template>
2
- <common-vm-actions-common-select-compute-resource-tree-view-new
3
- v-if="isNewView"
4
- :compute-resource-tree="props.computeResourceTree"
5
- :loading="loading"
6
- @show-nodes="onShowNodes"
7
- @select-node="onSelectNode"
8
- />
9
- <common-vm-actions-common-select-compute-resource-tree-view-old
10
- v-else
11
- :compute-resource-tree="props.computeResourceTree"
12
- :loading="loading"
13
- @show-nodes="onShowNodes"
14
- @select-node="onSelectNode"
15
- />
16
- </template>
17
-
18
- <script setup lang="ts">
19
- import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
20
-
21
- const model = defineModel<UI_I_TreeNode>('modelValue', { required: true })
22
-
23
- const props = defineProps<{
24
- dataCenter: UI_I_TreeNode | null
25
- computeResource: UI_I_TreeNode
26
- computeResourceTree: UI_I_TreeNode[]
27
- }>()
28
-
29
- const emits = defineEmits<{
30
- (
31
- event: 'get-compute-resource-tree',
32
- value: { id: string | number; cb: () => void }
33
- ): void
34
- (event: 'show-compute-resource-tree', value: UI_I_TreeNode): void
35
- (event: 'select-compute-resource-tree', value: UI_I_TreeNode): void
36
- (event: 'clear-compute-resource-tree'): void
37
- }>()
38
-
39
- const { $store }: any = useNuxtApp()
40
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
41
-
42
- const loading = ref<boolean>(false)
43
- watch(
44
- () => props.dataCenter,
45
- async () => {
46
- if (!props.dataCenter) return
47
-
48
- loading.value = true
49
- emits('get-compute-resource-tree', {
50
- id: props.dataCenter.id,
51
- cb: () => {
52
- let node = model.value
53
- let hasNode = checkHasNodeRecursion(
54
- props.computeResourceTree[0].nodes,
55
- node
56
- )
57
- if (!hasNode) {
58
- node = props.computeResource
59
- hasNode = checkHasNodeRecursion(
60
- props.computeResourceTree[0].nodes,
61
- node
62
- )
63
- }
64
- if (!hasNode) {
65
- node = props.computeResourceTree[0]
66
- }
67
- loading.value = false
68
-
69
- if (!node) return
70
- onSelectNode(node)
71
- },
72
- })
73
- },
74
- { immediate: true, deep: true }
75
- )
76
- const checkHasNodeRecursion = (
77
- nodes: UI_I_TreeNode[],
78
- node: UI_I_TreeNode | null
79
- ): boolean => {
80
- if (!node) return false
81
-
82
- let has = false
83
- for (let i = 0; i < nodes.length; i++) {
84
- const item = nodes[i]
85
-
86
- if (item.id === node.id && item.type === node.type) {
87
- has = true
88
- break
89
- }
90
- if (has) break
91
-
92
- has = checkHasNodeRecursion(item.nodes, node)
93
- }
94
- return has
95
- }
96
-
97
- const onShowNodes = ({
98
- node,
99
- cb,
100
- }: {
101
- node: UI_I_TreeNode
102
- cb: () => void
103
- }): void => {
104
- emits('show-compute-resource-tree', node)
105
- cb()
106
- }
107
- const onSelectNode = (node: UI_I_TreeNode): void => {
108
- emits('select-compute-resource-tree', node)
109
-
110
- model.value = node
111
- }
112
-
113
- onUnmounted(() => {
114
- emits('clear-compute-resource-tree')
115
- })
116
- </script>
117
-
118
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <common-vm-actions-common-select-compute-resource-tree-view-new
3
+ v-if="isNewView"
4
+ :compute-resource-tree="props.computeResourceTree"
5
+ :loading="loading"
6
+ @show-nodes="onShowNodes"
7
+ @select-node="onSelectNode"
8
+ />
9
+ <common-vm-actions-common-select-compute-resource-tree-view-old
10
+ v-else
11
+ :compute-resource-tree="props.computeResourceTree"
12
+ :loading="loading"
13
+ @show-nodes="onShowNodes"
14
+ @select-node="onSelectNode"
15
+ />
16
+ </template>
17
+
18
+ <script setup lang="ts">
19
+ import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
20
+
21
+ const model = defineModel<UI_I_TreeNode>('modelValue', { required: true })
22
+
23
+ const props = defineProps<{
24
+ dataCenter: UI_I_TreeNode | null
25
+ computeResource: UI_I_TreeNode
26
+ computeResourceTree: UI_I_TreeNode[]
27
+ }>()
28
+
29
+ const emits = defineEmits<{
30
+ (
31
+ event: 'get-compute-resource-tree',
32
+ value: { id: string | number; cb: () => void }
33
+ ): void
34
+ (event: 'show-compute-resource-tree', value: UI_I_TreeNode): void
35
+ (event: 'select-compute-resource-tree', value: UI_I_TreeNode): void
36
+ (event: 'clear-compute-resource-tree'): void
37
+ }>()
38
+
39
+ const { $store }: any = useNuxtApp()
40
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
41
+
42
+ const loading = ref<boolean>(false)
43
+ watch(
44
+ () => props.dataCenter,
45
+ async () => {
46
+ if (!props.dataCenter) return
47
+
48
+ loading.value = true
49
+ emits('get-compute-resource-tree', {
50
+ id: props.dataCenter.id,
51
+ cb: () => {
52
+ let node = model.value
53
+ let hasNode = checkHasNodeRecursion(
54
+ props.computeResourceTree[0].nodes,
55
+ node
56
+ )
57
+ if (!hasNode) {
58
+ node = props.computeResource
59
+ hasNode = checkHasNodeRecursion(
60
+ props.computeResourceTree[0].nodes,
61
+ node
62
+ )
63
+ }
64
+ if (!hasNode) {
65
+ node = props.computeResourceTree[0]
66
+ }
67
+ loading.value = false
68
+
69
+ if (!node) return
70
+ onSelectNode(node)
71
+ },
72
+ })
73
+ },
74
+ { immediate: true, deep: true }
75
+ )
76
+ const checkHasNodeRecursion = (
77
+ nodes: UI_I_TreeNode[],
78
+ node: UI_I_TreeNode | null
79
+ ): boolean => {
80
+ if (!node) return false
81
+
82
+ let has = false
83
+ for (let i = 0; i < nodes.length; i++) {
84
+ const item = nodes[i]
85
+
86
+ if (item.id === node.id && item.type === node.type) {
87
+ has = true
88
+ break
89
+ }
90
+ if (has) break
91
+
92
+ has = checkHasNodeRecursion(item.nodes, node)
93
+ }
94
+ return has
95
+ }
96
+
97
+ const onShowNodes = ({
98
+ node,
99
+ cb,
100
+ }: {
101
+ node: UI_I_TreeNode
102
+ cb: () => void
103
+ }): void => {
104
+ emits('show-compute-resource-tree', node)
105
+ cb()
106
+ }
107
+ const onSelectNode = (node: UI_I_TreeNode): void => {
108
+ emits('select-compute-resource-tree', node)
109
+
110
+ model.value = node
111
+ }
112
+
113
+ onUnmounted(() => {
114
+ emits('clear-compute-resource-tree')
115
+ })
116
+ </script>
117
+
118
+ <style scoped lang="scss"></style>