bfg-common 1.6.67 → 1.6.68

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 (270) hide show
  1. package/assets/localization/local_be.json +264 -10
  2. package/assets/localization/local_en.json +283 -28
  3. package/assets/localization/local_hy.json +266 -12
  4. package/assets/localization/local_kk.json +264 -10
  5. package/assets/localization/local_ru.json +278 -24
  6. package/assets/localization/local_zh.json +265 -11
  7. package/assets/scss/common/global.scss +11 -0
  8. package/assets/scss/common/theme.scss +2 -2
  9. package/components/atoms/dropdown/dropdown/Dropdown.vue +170 -170
  10. package/components/atoms/dropdown/dropdown/lib/models/interfaces.ts +10 -10
  11. package/components/atoms/stack/StackBlock.vue +1 -1
  12. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +2 -2
  13. package/components/atoms/tooltip/TooltipError.vue +3 -0
  14. package/components/common/adapterManager/AdapterManager.vue +473 -473
  15. package/components/common/adapterManager/AdapterManagerNew.vue +86 -0
  16. package/components/common/adapterManager/AdapterManagerOld.vue +498 -498
  17. package/components/common/adapterManager/addAdapterModal/AddAdapterModal.vue +70 -70
  18. package/components/common/adapterManager/addAdapterModal/AddAdapterModalNew.vue +110 -110
  19. package/components/common/adapterManager/addAdapterModal/AddAdapterModalOld.vue +531 -531
  20. package/components/common/adapterManager/addAdapterWarningModal/AddAdapterWarningModal.vue +32 -32
  21. package/components/common/adapterManager/addAdapterWarningModal/AddAdapterWarningModalNew.vue +37 -38
  22. package/components/common/adapterManager/addAdapterWarningModal/AddAdapterWarningModalOld.vue +73 -73
  23. package/components/common/adapterManager/lib/config/index.ts +19 -19
  24. package/components/common/adapterManager/noActiveAdaptersModal/NoActiveAdaptersModal.vue +31 -31
  25. package/components/common/adapterManager/noActiveAdaptersModal/NoActiveAdaptersModalNew.vue +34 -34
  26. package/components/common/adapterManager/noActiveAdaptersModal/NoActiveAdaptersModalOld.vue +57 -57
  27. package/components/common/adapterManager/noConnectedActiveAdaptersModal/NoConnectedActiveAdaptersModal.vue +31 -31
  28. package/components/common/adapterManager/noConnectedActiveAdaptersModal/NoConnectedActiveAdaptersModalNew.vue +34 -34
  29. package/components/common/adapterManager/noConnectedActiveAdaptersModal/NoConnectedActiveAdaptersModalOld.vue +57 -57
  30. package/components/common/adapterManager/ui/actions/AddAdapterButton.vue +34 -34
  31. package/components/common/adapterManager/ui/actions/RemoveAdapterButton.vue +41 -41
  32. package/components/common/adapterManager/ui/actions/VerticalSeparator.vue +10 -10
  33. package/components/common/adapterManager/ui/actions/bar/Bar.vue +2 -0
  34. package/components/common/adapterManager/ui/actions/bar/BarNew.vue +3 -2
  35. package/components/common/adapterManager/ui/actions/bar/BarOld.vue +95 -95
  36. package/components/common/adapterManager/ui/actions/moveDownAdapterButton/MoveDownAdapterButton.vue +28 -28
  37. package/components/common/adapterManager/ui/actions/moveDownAdapterButton/MoveDownAdapterButtonNew.vue +76 -76
  38. package/components/common/adapterManager/ui/actions/moveDownAdapterButton/MoveDownAdapterButtonOld.vue +33 -33
  39. package/components/common/adapterManager/ui/actions/moveUpAdapterButton/MoveUpAdapterButton.vue +28 -28
  40. package/components/common/adapterManager/ui/actions/moveUpAdapterButton/MoveUpAdapterButtonNew.vue +77 -77
  41. package/components/common/adapterManager/ui/actions/moveUpAdapterButton/MoveUpAdapterButtonOld.vue +33 -33
  42. package/components/common/adapterManager/ui/noSelectedAdapter/NoSelectedAdapter.vue +24 -24
  43. package/components/common/adapterManager/ui/noSelectedAdapter/NoSelectedAdapterNew.vue +18 -18
  44. package/components/common/adapterManager/ui/noSelectedAdapter/NoSelectedAdapterOld.vue +38 -38
  45. package/components/common/adapterManager/ui/secondTitle/SecondTitle.vue +31 -31
  46. package/components/common/adapterManager/ui/secondTitle/SecondTitleNew.vue +51 -51
  47. package/components/common/adapterManager/ui/secondTitle/SecondTitleOld.vue +35 -35
  48. package/components/common/adapterManager/ui/table/Table.vue +88 -88
  49. package/components/common/adapterManager/ui/table/TableNew.vue +137 -137
  50. package/components/common/adapterManager/ui/table/TableOld.vue +141 -141
  51. package/components/common/adapterManager/ui/table/adapters/Adapters.vue +44 -44
  52. package/components/common/adapterManager/ui/table/adapters/AdaptersNew.vue +187 -186
  53. package/components/common/adapterManager/ui/table/adapters/AdaptersOld.vue +87 -87
  54. package/components/common/adapterManager/ui/table/header/Header.vue +57 -57
  55. package/components/common/adapterManager/ui/table/header/HeaderNew.vue +81 -81
  56. package/components/common/adapterManager/ui/table/header/HeaderOld.vue +79 -79
  57. package/components/common/adapterManager/ui/table/lib/models/types.ts +1 -1
  58. package/components/common/certificate/CertificateInfo.vue +7 -1
  59. package/components/common/configure/physicalAdapters/PhysicalAdapters.vue +6 -0
  60. package/components/common/configure/physicalAdapters/PhysicalAdaptersNew.vue +219 -192
  61. package/components/common/configure/physicalAdapters/PhysicalAdaptersOld.vue +6 -4
  62. package/components/common/configure/physicalAdapters/buttons/Buttons.vue +1 -0
  63. package/components/common/configure/physicalAdapters/modals/edit/Edit.vue +26 -1
  64. package/components/common/configure/physicalAdapters/modals/edit/EditNew.vue +30 -1
  65. package/components/common/configure/physicalAdapters/modals/edit/lib/models/interfaces.ts +5 -0
  66. package/components/common/configure/physicalAdapters/modals/edit/lib/validations/validations.ts +19 -0
  67. package/components/common/configure/physicalAdapters/tableView/TableViewNew.vue +12 -1
  68. package/components/common/configure/physicalAdapters/tableView/lib/config/physicalAdaptersTableConfigNew.ts +21 -21
  69. package/components/common/configure/physicalAdapters/tableView/lib/config/settings.ts +12 -5
  70. package/components/common/configure/physicalAdapters/tableView/lib/models/interfaces.ts +4 -1
  71. package/components/common/diagramMain/Diagram.vue +461 -377
  72. package/components/common/diagramMain/DiagramMain.vue +935 -905
  73. package/components/common/diagramMain/adapter/Adapter.vue +123 -123
  74. package/components/common/diagramMain/adapter/AdapterItem.vue +438 -438
  75. package/components/common/diagramMain/adapter/AdapterItems.vue +61 -61
  76. package/components/common/diagramMain/adapter/Contents.vue +212 -212
  77. package/components/common/diagramMain/adapter/Lines.vue +81 -81
  78. package/components/common/diagramMain/adapter/block/Block.vue +27 -27
  79. package/components/common/diagramMain/adapter/block/BlockNew.vue +58 -58
  80. package/components/common/diagramMain/adapter/block/BlockOld.vue +50 -50
  81. package/components/common/diagramMain/adapter/secondBlock/SecondBlock.vue +27 -27
  82. package/components/common/diagramMain/adapter/secondBlock/SecondBlockNew.vue +60 -60
  83. package/components/common/diagramMain/adapter/secondBlock/SecondBlockOld.vue +51 -51
  84. package/components/common/diagramMain/header/Header.vue +49 -0
  85. package/components/common/diagramMain/header/HeaderNew.vue +155 -0
  86. package/components/common/diagramMain/{Header.vue → header/HeaderOld.vue} +78 -67
  87. package/components/common/diagramMain/highlights/Highlights.vue +151 -151
  88. package/components/common/diagramMain/highlights/HighlightsNew.vue +124 -124
  89. package/components/common/diagramMain/highlights/HighlightsOld.vue +107 -107
  90. package/components/common/diagramMain/lib/config/index.ts +81 -81
  91. package/components/common/diagramMain/lib/config/initial.ts +50 -50
  92. package/components/common/diagramMain/lib/config/positions.ts +194 -194
  93. package/components/common/diagramMain/lib/models/enums.ts +44 -44
  94. package/components/common/diagramMain/lib/models/interfaces.ts +760 -760
  95. package/components/common/diagramMain/lib/models/types.ts +21 -21
  96. package/components/common/diagramMain/lib/utils/utils.ts +331 -331
  97. package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +331 -331
  98. package/components/common/diagramMain/modals/Modals.vue +483 -479
  99. package/components/common/diagramMain/modals/UnsavedChangesModal.vue +32 -0
  100. package/components/common/diagramMain/modals/editSettings/EditSettings.vue +104 -102
  101. package/components/common/diagramMain/modals/editSettings/EditSettingsNew.vue +285 -0
  102. package/components/common/diagramMain/modals/editSettings/EditSettingsOld.vue +254 -0
  103. package/components/common/diagramMain/modals/editSettings/confirmTeamingSettingsModal/ConfirmTeamingSettingsModal.vue +31 -0
  104. package/components/common/diagramMain/modals/editSettings/confirmTeamingSettingsModal/ConfirmTeamingSettingsModalNew.vue +82 -0
  105. package/components/common/diagramMain/modals/editSettings/{ConfirmTeamingSettingsModal.vue → confirmTeamingSettingsModal/ConfirmTeamingSettingsModalOld.vue} +2 -5
  106. package/components/common/diagramMain/modals/editSettings/lib/config/config.ts +15 -0
  107. package/components/common/diagramMain/modals/editSettings/lib/models/interfaces.ts +6 -0
  108. package/components/common/diagramMain/modals/editSettings/lib/utils/utils.ts +177 -0
  109. package/components/common/diagramMain/modals/editSettings/modal/EditSettingsModal.vue +137 -0
  110. package/components/common/diagramMain/modals/editSettings/modal/EditSettingsModalNew.vue +91 -0
  111. package/components/common/diagramMain/modals/editSettings/{EditSettingsModal.vue → modal/EditSettingsModalOld.vue} +12 -51
  112. package/components/common/diagramMain/modals/editSettings/tabs/networkProperties/NetworkProperties.vue +158 -0
  113. package/components/common/diagramMain/modals/editSettings/tabs/networkProperties/NetworkPropertiesNew.vue +262 -0
  114. package/components/common/diagramMain/modals/editSettings/tabs/{NetworkProperties.vue → networkProperties/NetworkPropertiesOld.vue} +12 -113
  115. package/components/common/diagramMain/modals/editSettings/tabs/port/ipvFourSettings/IpvFourSettings.vue +192 -0
  116. package/components/common/diagramMain/modals/editSettings/tabs/port/ipvFourSettings/IpvFourSettingsNew.vue +388 -0
  117. package/components/common/diagramMain/modals/editSettings/tabs/port/{IpvFourSettings.vue → ipvFourSettings/IpvFourSettingsOld.vue} +11 -152
  118. package/components/common/diagramMain/modals/editSettings/tabs/port/portProperties/PortProperties.vue +139 -0
  119. package/components/common/diagramMain/modals/editSettings/tabs/port/portProperties/PortPropertiesNew.vue +286 -0
  120. package/components/common/diagramMain/modals/editSettings/tabs/port/{PortProperties.vue → portProperties/PortPropertiesOld.vue} +12 -103
  121. package/components/common/diagramMain/modals/editSettings/tabs/security/Security.vue +209 -0
  122. package/components/common/diagramMain/modals/editSettings/tabs/security/SecurityNew.vue +233 -0
  123. package/components/common/diagramMain/modals/editSettings/tabs/{Security.vue → security/SecurityOld.vue} +25 -48
  124. package/components/common/diagramMain/modals/editSettings/tabs/switchProperties/SwitchProperties.vue +128 -0
  125. package/components/common/diagramMain/modals/editSettings/tabs/switchProperties/SwitchPropertiesNew.vue +235 -0
  126. package/components/common/diagramMain/modals/editSettings/tabs/switchProperties/SwitchPropertiesOld.vue +87 -0
  127. package/components/common/diagramMain/modals/editSettings/tabs/teamingFailover/TeamingFailover.vue +99 -0
  128. package/components/common/diagramMain/modals/editSettings/tabs/teamingFailover/TeamingFailoverNew.vue +319 -0
  129. package/components/common/diagramMain/modals/editSettings/tabs/{TeamingFailover.vue → teamingFailover/TeamingFailoverOld.vue} +11 -48
  130. package/components/common/diagramMain/modals/editSettings/tabs/trafficShaping/TrafficShaping.vue +173 -0
  131. package/components/common/diagramMain/modals/editSettings/tabs/trafficShaping/TrafficShapingNew.vue +348 -0
  132. package/components/common/diagramMain/modals/editSettings/tabs/{TrafficShaping.vue → trafficShaping/TrafficShapingOld.vue} +12 -134
  133. package/components/common/diagramMain/modals/lib/config/adapterModal.ts +147 -147
  134. package/components/common/diagramMain/modals/lib/config/diagramConfig.ts +43 -2
  135. package/components/common/diagramMain/modals/lib/config/index.ts +2 -1
  136. package/components/common/diagramMain/modals/lib/config/initial.ts +180 -180
  137. package/components/common/diagramMain/modals/lib/config/networkModal.ts +405 -405
  138. package/components/common/diagramMain/modals/lib/config/portModal.ts +253 -253
  139. package/components/common/diagramMain/modals/lib/config/switchModal.ts +245 -245
  140. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  141. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
  142. package/components/common/diagramMain/modals/lib/mappers/mappers.ts +88 -88
  143. package/components/common/diagramMain/modals/lib/utils/index.ts +34 -4
  144. package/components/common/diagramMain/modals/migrateVmkernelAdapter/MigrateVmkernelAdapter.vue +541 -541
  145. package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
  146. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +170 -170
  147. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +159 -159
  148. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/VmkernelAdapterReadyComplete.vue +49 -49
  149. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +19 -19
  150. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +137 -137
  151. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
  152. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
  153. package/components/common/diagramMain/modals/remove/RemoveModal.vue +82 -82
  154. package/components/common/diagramMain/modals/remove/RemoveModalNew.vue +106 -106
  155. package/components/common/diagramMain/modals/remove/RemoveModalOld.vue +241 -241
  156. package/components/common/diagramMain/modals/viewSettings/info/Info.vue +57 -57
  157. package/components/common/diagramMain/modals/viewSettings/info/InfoNew.vue +174 -174
  158. package/components/common/diagramMain/modals/viewSettings/info/InfoOld.vue +141 -141
  159. package/components/common/diagramMain/modals/viewSettings/viewSettings/ViewSettings.vue +45 -45
  160. package/components/common/diagramMain/modals/viewSettings/viewSettings/ViewSettingsNew.vue +323 -323
  161. package/components/common/diagramMain/modals/viewSettings/viewSettings/ViewSettingsOld.vue +203 -203
  162. package/components/common/diagramMain/modals/viewSettings/viewSettingsModal/ViewSettingsModal.vue +60 -60
  163. package/components/common/diagramMain/modals/viewSettings/viewSettingsModal/ViewSettingsModalNew.vue +50 -50
  164. package/components/common/diagramMain/modals/viewSettings/viewSettingsModal/ViewSettingsModalOld.vue +70 -70
  165. package/components/common/diagramMain/modals/viewSettings/viewSettingsModal/lib/models/interfaces.ts +48 -48
  166. package/components/common/diagramMain/network/Contents.vue +497 -497
  167. package/components/common/diagramMain/network/Lines.vue +107 -107
  168. package/components/common/diagramMain/network/Network.vue +141 -141
  169. package/components/common/diagramMain/network/block/Block.vue +37 -37
  170. package/components/common/diagramMain/network/block/BlockNew.vue +68 -68
  171. package/components/common/diagramMain/network/block/BlockOld.vue +64 -64
  172. package/components/common/diagramMain/network/noNetwork/NoNetwork.vue +12 -12
  173. package/components/common/diagramMain/network/noNetwork/NoNetworkNew.vue +89 -89
  174. package/components/common/diagramMain/network/noNetwork/NoNetworkOld.vue +61 -61
  175. package/components/common/diagramMain/network/secondBlock/SecondBlock.vue +41 -41
  176. package/components/common/diagramMain/network/secondBlock/SecondBlockNew.vue +64 -64
  177. package/components/common/diagramMain/network/secondBlock/SecondBlockOld.vue +60 -60
  178. package/components/common/diagramMain/port/Port.vue +580 -580
  179. package/components/common/diagramMain/port/Ports.vue +47 -47
  180. package/components/common/diagramMain/skeleton/Header.vue +31 -0
  181. package/components/common/diagramMain/skeleton/Switch.vue +75 -0
  182. package/components/common/diagramMain/switch/Switch.vue +180 -180
  183. package/components/common/diagramMain/switch/SwitchSelected.vue +111 -111
  184. package/components/common/layout/theHeader/ThemeSwitch.vue +1 -1
  185. package/components/common/layout/theHeader/modals/reconnect/New.vue +38 -30
  186. package/components/common/layout/theHeader/userMenu/modals/changePassword/New.vue +8 -9
  187. package/components/common/layout/theHeader/userMenu/modals/preferences/New.vue +4 -0
  188. package/components/common/layout/theHeader/userMenu/modals/preferences/Old.vue +9 -2
  189. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/ChangeLanguage.vue +11 -7
  190. package/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/DefaultConsole.vue +7 -1
  191. package/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/lib/config/consoleOptions.ts +8 -5
  192. package/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/TimeFormat.vue +9 -5
  193. package/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/config/formatOptions.ts +1 -1
  194. package/components/common/layout/theHeader/userMenu/modals/preferences/view/Old.vue +5 -9
  195. package/components/common/layout/theHeader/userMenu/modals/preferences/view/View.vue +9 -6
  196. package/components/common/mainNavigationPanel/MainNavigationPanelNew.vue +3 -1
  197. package/components/common/modals/Rename.vue +3 -1
  198. package/components/common/monitor/advanced/table/tableOld/TableOld.vue +93 -93
  199. package/components/common/monitor/utilization/lib/models/enums.ts +4 -4
  200. package/components/common/noDataProvided/NoDataProvidedNew.vue +1 -1
  201. package/components/common/pages/backups/modals/createBackup/datastores/tableView/new/lib/config/table.ts +4 -4
  202. package/components/common/pages/backups/modals/createBackup/datastores/tableView/old/lib/config/table.ts +4 -4
  203. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/ChartOptionsModal.vue +184 -253
  204. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/actions/ActionsNew.vue +1 -1
  205. package/components/common/pages/scheduledTasks/table/lib/models/enums.ts +9 -0
  206. package/components/common/pages/scheduledTasks/table/new/New.vue +12 -10
  207. package/components/common/pages/tasks/Tasks.vue +4 -1
  208. package/components/common/pages/tasks/table/Table.vue +25 -23
  209. package/components/common/readyToComplete/New.vue +1 -0
  210. package/components/common/split/vertical/New.vue +42 -8
  211. package/components/common/split/vertical/Old.vue +31 -2
  212. package/components/common/split/vertical/Vertical.vue +4 -0
  213. package/components/common/vm/actions/add/New.vue +21 -6
  214. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +14 -1
  215. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/New.vue +5 -0
  216. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Old.vue +1 -0
  217. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/New.vue +1 -0
  218. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/New.vue +2 -0
  219. package/components/common/vm/actions/common/select/options/New.vue +14 -12
  220. package/components/common/vm/actions/common/select/options/Old.vue +16 -15
  221. package/components/common/vm/actions/common/select/storage/new/lib/config/table.ts +13 -15
  222. package/components/common/vm/actions/confirm/Confirm.vue +3 -0
  223. package/components/common/vm/actions/rename/Old.vue +1 -0
  224. package/components/common/vm/snapshots/DetailView.vue +6 -6
  225. package/components/common/wizards/datastore/add/New.vue +6 -0
  226. package/components/common/wizards/datastore/add/lib/config/steps.ts +1 -1
  227. package/components/common/wizards/datastore/add/steps/nameAndDevice/NameAndDeviceNew.vue +1 -1
  228. package/components/common/wizards/datastore/add/steps/nameAndDevice/advancedOptions/New.vue +1 -1
  229. package/components/common/wizards/network/add/Add.vue +13 -2
  230. package/components/common/wizards/network/add/AddNew.vue +22 -26
  231. package/components/common/wizards/network/add/lib/config/initialData.ts +6 -4
  232. package/components/common/wizards/network/add/lib/config/steps.ts +1 -1
  233. package/components/common/wizards/network/add/lib/models/interfaces.ts +1 -0
  234. package/components/common/wizards/network/add/lib/utils/utils.ts +1 -1
  235. package/components/common/wizards/network/add/steps/connectionSettings/ConnectionSettingsOld.vue +5 -1
  236. package/components/common/wizards/network/add/steps/ipFourSettings/IpFourSettingsNew.vue +2 -8
  237. package/components/common/wizards/network/add/steps/ipFourSettings/IpFourSettingsOld.vue +3 -0
  238. package/components/common/wizards/network/add/steps/portProperties/PortPropertiesNew.vue +2 -8
  239. package/components/common/wizards/network/add/steps/portProperties/PortPropertiesOld.vue +6 -2
  240. package/components/common/wizards/network/add/steps/selectTargetDevice/SelectTargetDeviceNew.vue +10 -3
  241. package/components/common/wizards/network/add/steps/selectTargetDevice/SelectTargetDeviceOld.vue +4 -0
  242. package/components/common/wizards/network/add/steps/selectTargetDevice/modals/new/SelectNetwork.vue +5 -1
  243. package/components/common/wizards/network/add/validations/common.ts +1 -1
  244. package/components/common/wizards/vm/migrate/New.vue +13 -3
  245. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +5 -0
  246. package/components/common/wizards/vm/migrate/lib/config/steps.ts +3 -2
  247. package/components/common/wizards/vm/migrate/steps/computeResource/New.vue +2 -1
  248. package/components/common/wizards/vm/migrate/steps/computeResource/tableView/new/New.vue +40 -21
  249. package/components/common/wizards/vm/migrate/steps/computeResource/tableView/new/lib/config/clusterTable.ts +340 -0
  250. package/components/common/wizards/vm/migrate/steps/computeResource/tableView/new/lib/config/hostTable.ts +44 -14
  251. package/components/common/wizards/vm/migrate/steps/computeResource/tableView/new/lib/models/enums.ts +4 -0
  252. package/components/common/wizards/vm/migrate/steps/priority/New.vue +7 -2
  253. package/components/common/wizards/vm/migrate/steps/selectStorage/New.vue +22 -7
  254. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/batch/New.vue +6 -0
  255. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/batch/table/new/New.vue +4 -1
  256. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/batch/table/new/lib/config/datastoreTable.ts +12 -16
  257. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/disk/table/new/New.vue +10 -5
  258. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/disk/table/new/lib/config/diskTable.ts +16 -11
  259. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/disk/table/old/lib/config/diskTable.ts +7 -1
  260. package/components/common/wizards/vm/migrate/steps/selectStorage/selectedPerDisk/New.vue +17 -10
  261. package/components/common/wizards/vm/migrate/steps/type/TypeNew.vue +1 -0
  262. package/components/common/wizards/vm/migrate/vmOrigin/New.vue +35 -15
  263. package/lib/models/store/tasks/enums.ts +3 -0
  264. package/lib/models/store/tasks/types.ts +7 -6
  265. package/package.json +2 -2
  266. package/plugins/directives.ts +3 -5
  267. package/public/spice-console/application/agent.js +18 -17
  268. package/store/tasks/actions.ts +26 -8
  269. package/store/tasks/mappers/recentTasks.ts +1 -0
  270. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +0 -164
@@ -1,377 +1,461 @@
1
- <template>
2
- <div
3
- :class="{
4
- 'diagram-container-new': isNewView,
5
- 'diagram-container': !isNewView,
6
- 'diagram-in-portlet': props.inPortlet,
7
- }"
8
- >
9
- <div class="diagram-second-container">
10
- <svg
11
- v-if="props.diagramData && props.isShowDiagram"
12
- xmlns="http://www.w3.org/2000/svg"
13
- :height="diagramHeight"
14
- :width="diagramWidth"
15
- :viewBox="viewBox"
16
- :preserveAspectRatio="preserveAspectRatio"
17
- :class="svgClasses"
18
- @click.capture="onClickDiagram"
19
- >
20
- <common-diagram-main-switch
21
- :networks-count="props.networksCount"
22
- :main-rect-height="props.mainRectHeight"
23
- :main-switch-line="props.mainSwitchLine"
24
- :selected-main-line="props.selectedMainLine"
25
- :is-visible-line="hasActiveAdapter"
26
- :is-selected-linked-with-adapter="isSelectedLinkedWithAdapter"
27
- :adapter-line-y="props.adaptersWithPositions.adaptersConnectLineY"
28
- :first-and-last-network-lines-y="firstAndLastNetworkLinesY"
29
- :networks-with-positions="props.networksWithPositions"
30
- />
31
- <common-diagram-main-adapter
32
- :networks-count="props.networksCount"
33
- :adapters-with-positions="props.adaptersWithPositions"
34
- :selected-main-line="props.selectedMainLine"
35
- :selected-port="props.selectedPort"
36
- :selected-adapter="props.selectedAdapter"
37
- :selected-network="props.selectedNetwork"
38
- :is-visible-line="hasActiveAdapter"
39
- :is-dark-mode="props.isDarkMode"
40
- :test-id="props.diagramData.testId"
41
- :is-selected-linked-with-adapter="isSelectedLinkedWithAdapter"
42
- :networks-with-positions="props.networksWithPositions"
43
- :first-and-last-network-lines-y="firstAndLastNetworkLinesY"
44
- :in-network-lines-y="inNetworkLinesY"
45
- @toggle-adapters="onToggleAdapters"
46
- @select-adapter="onSelectAdapter"
47
- @show-modal="onShowModal"
48
- />
49
- <template v-if="!!props.networksWithPositions.length">
50
- <template
51
- v-for="network in props.networksWithPositions"
52
- :key="network.id"
53
- >
54
- <common-diagram-main-network
55
- :network="network"
56
- :selected-port="props.selectedPort"
57
- :selected-adapter="props.selectedAdapter"
58
- :selected-network="props.selectedNetwork"
59
- :selected-main-line="props.selectedMainLine"
60
- :diagram-id="props.diagramData.id"
61
- :in-portlet="props.inPortlet"
62
- :is-visible-line="hasActiveAdapter"
63
- :is-dark-mode="props.isDarkMode"
64
- :first-and-last-network-lines-y="firstAndLastNetworkLinesY"
65
- :adapter-line-y="props.adaptersWithPositions.adaptersConnectLineY"
66
- :adapters-positions-y="adaptersPositionsY"
67
- @toggle-ports="onTogglePorts"
68
- @select-port="onSelectPort"
69
- @select-network="onSelectNetwork"
70
- @show-modal="onShowModal"
71
- />
72
- </template>
73
- </template>
74
- <template v-else>
75
- <common-diagram-main-network-no-network />
76
- </template>
77
- <common-diagram-main-switch-selected
78
- :selected-switch-line-y="props.selectedSwitchLineY"
79
- :is-visible-line="hasActiveAdapter && isSelectedLinkedWithAdapter"
80
- :adapters-positions-y="adaptersPositionsY"
81
- :adapter-line-y="props.adaptersWithPositions.adaptersConnectLineY"
82
- :is-highlighted-adapter-line="isHighlightedAdapterLine"
83
- :in-network-lines-y="inNetworkLinesY"
84
- />
85
- </svg>
86
- </div>
87
- </div>
88
- </template>
89
-
90
- <script setup lang="ts">
91
- import type {
92
- UI_I_AdaptersWithPositions,
93
- UI_I_DiagramData,
94
- UI_I_ModalsInitialData,
95
- UI_I_NetworksWithPositions,
96
- UI_I_SelectedAdapter,
97
- UI_I_SelectedPort,
98
- UI_I_SwitchLine,
99
- UI_I_Network,
100
- } from '~/components/common/diagramMain/lib/models/interfaces'
101
- import { UI_E_PositionsY } from '~/components/common/diagramMain/lib/models/enums'
102
-
103
- const props = defineProps<{
104
- diagramData: UI_I_DiagramData
105
- isShowDiagram: boolean
106
- inPortlet: boolean
107
- networksWithPositions: UI_I_NetworksWithPositions[]
108
- mainRectHeight: number
109
- mainSwitchLine: UI_I_SwitchLine
110
- selectedMainLine: boolean
111
- adaptersWithPositions: UI_I_AdaptersWithPositions
112
- selectedPort: UI_I_SelectedPort
113
- selectedAdapter: UI_I_SelectedAdapter
114
- selectedNetwork: string
115
- selectedSwitchLineY: UI_I_SwitchLine
116
- isDarkMode: boolean
117
- networksCount: number
118
- }>()
119
-
120
- const emits = defineEmits<{
121
- (event: 'click-diagram', ev: MouseEvent): void
122
- (event: 'toggle-adapters'): void
123
- (event: 'select-adapter', adapterId: string): void
124
- (
125
- event: 'show-modal',
126
- value: string,
127
- properties?: UI_I_ModalsInitialData
128
- ): void
129
- (
130
- event: 'toggle-ports',
131
- id: string,
132
- newState: boolean,
133
- diagramId: string
134
- ): void
135
- (event: 'select-port', networkId: string, portId: string): void
136
- (event: 'select-network', networkId: string): void
137
- }>()
138
-
139
- const { $store }: any = useNuxtApp()
140
-
141
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
142
-
143
- const inNetworkLinesY = computed(() => {
144
- const linesY = []
145
- props.networksWithPositions.forEach((net, index) => {
146
- ;(!!props.selectedAdapter.connectedPorts.find(
147
- (net2) => net2.networkId === net.id && net2.ports.length === 0
148
- ) ||
149
- props.selectedNetwork === net.id) &&
150
- linesY.push(net.connectLineY)
151
-
152
- net.toggle
153
- ? net.ports.forEach((port) => {
154
- ;((props.selectedPort.portId === port.id &&
155
- props.selectedPort.networkId === net.id &&
156
- net.activeAdapters.length > 0) ||
157
- !!props.selectedAdapter.connectedPorts.find(
158
- (net2) =>
159
- net2.networkId === net.id && net2.ports.includes(port.id)
160
- )) &&
161
- linesY.push(port.portPosition + 7.5)
162
- })
163
- : !!props.selectedAdapter.connectedPorts.find(
164
- (net2) => net2.networkId === net.id && net2.ports.length !== 0
165
- ) && linesY.push(net.portsPosition + 7.5)
166
- })
167
-
168
- return linesY.sort((a, b) => a - b)
169
- })
170
-
171
- const isOpenedAdapterBlockAndNoSelectedNetwork = computed<boolean>(
172
- () =>
173
- !props.adaptersWithPositions.toggle && props.selectedPort.networkId !== '-1'
174
- )
175
-
176
- const hasNoAdaptersAndNoSelectedNetwork = computed<boolean>(() => {
177
- return (
178
- props.adaptersWithPositions.adapters?.length === 0 &&
179
- props.selectedNetwork !== '-1'
180
- )
181
- })
182
-
183
- const isHighlightedOptimizePart = computed(
184
- () =>
185
- !props.selectedMainLine && !isOpenedAdapterBlockAndNoSelectedNetwork.value
186
- )
187
-
188
- const isHighlightedAdapterLine = computed<boolean>(
189
- () =>
190
- isSelectedLinkedWithAdapter.value &&
191
- !(
192
- isHighlightedOptimizePart.value &&
193
- !hasNoAdaptersAndNoSelectedNetwork.value
194
- )
195
- )
196
-
197
- const firstAndLastNetworkLinesY = computed(() => {
198
- const networkLinesY = props.networksWithPositions
199
- .filter((n) => n.activeAdapters.length > 0 && n.state.state !== 3)
200
- .map((n) => n.connectLineY)
201
- .sort((a, b) => a - b)
202
-
203
- return {
204
- firstNetworkY: networkLinesY[0],
205
- lastNetworkY: networkLinesY[networkLinesY.length - 1],
206
- }
207
- })
208
-
209
- const adaptersPositionsY = computed(() =>
210
- props.adaptersWithPositions.adapters.reduce((result, ad) => {
211
- let isAdapterActiveOnAnyNetwork = false
212
- props.networksWithPositions.forEach(
213
- (network: UI_I_NetworksWithPositions) =>
214
- network.activeAdapters.includes(props.selectedAdapter.adapterId) &&
215
- (isAdapterActiveOnAnyNetwork = true)
216
- )
217
-
218
- const isVisible =
219
- (props.selectedPort.activeAdapters.includes(ad.id) ||
220
- (props.selectedAdapter.adapterId === ad.id &&
221
- isAdapterActiveOnAnyNetwork)) &&
222
- !!props.networksCount
223
-
224
- if (isVisible) {
225
- return [...result, ad.adapterPosition]
226
- }
227
- return result
228
- }, [])
229
- )
230
-
231
- const svgClasses = computed(() => [
232
- 'diagram-svg',
233
- {
234
- 'diagram-portlet': !props.inPortlet,
235
- },
236
- ])
237
-
238
- const preserveAspectRatio = computed<string | undefined>(() =>
239
- props.inPortlet ? 'xMinYMin' : undefined
240
- )
241
-
242
- const svgHeight = computed<number>(
243
- () =>
244
- UI_E_PositionsY.DIAGRAM_TOP +
245
- props.mainRectHeight +
246
- UI_E_PositionsY.DIAGRAM_BOTTOM
247
- )
248
-
249
- const viewBox = computed<string>(() =>
250
- props.inPortlet ? '0 0 725 1' : `0 0 725 ${svgHeight.value}`
251
- )
252
-
253
- const diagramHeight = computed<number>(() =>
254
- props.inPortlet ? svgHeight.value / 1.28 : svgHeight.value
255
- )
256
-
257
- const diagramWidth = computed<number>(() => (props.inPortlet ? 560 : 725))
258
-
259
- const hasActiveAdapter = computed<boolean>(() => {
260
- let flag = false
261
- props.diagramData?.networks.forEach(
262
- (network: UI_I_Network) =>
263
- network.activeAdapters.length > 0 && (flag = true)
264
- )
265
- return flag
266
- })
267
-
268
- const isSelectedLinkedWithAdapter = computed<boolean>(() => {
269
- if (props.selectedNetwork && props.selectedNetwork !== '-1') {
270
- const selectedNetworkData = props.networksWithPositions.find(
271
- (network: UI_I_NetworksWithPositions) =>
272
- network.id === props.selectedNetwork
273
- )
274
-
275
- if (!selectedNetworkData) return false
276
-
277
- return (
278
- selectedNetworkData.activeAdapters.length > 0 &&
279
- selectedNetworkData.state.state !== 3
280
- )
281
- }
282
-
283
- if (props.selectedPort.portId && props.selectedPort.portId !== '-1') {
284
- const selectedNetworkData = props.networksWithPositions.find(
285
- (network: UI_I_NetworksWithPositions) =>
286
- network.id === props.selectedPort.networkId
287
- )
288
-
289
- if (!selectedNetworkData) return false
290
-
291
- return (
292
- selectedNetworkData.activeAdapters.length > 0 &&
293
- selectedNetworkData.state.state !== 3
294
- )
295
- }
296
-
297
- if (props.selectedAdapter.adapterId !== '-1' || props.selectedMainLine)
298
- return true
299
-
300
- return false
301
- })
302
-
303
- const onClickDiagram = (ev: MouseEvent) => emits('click-diagram', ev)
304
- const onToggleAdapters = () => emits('toggle-adapters')
305
- const onSelectAdapter = (adapterId: string) =>
306
- emits('select-adapter', adapterId)
307
- const onShowModal = (value: string, properties?: UI_I_ModalsInitialData) =>
308
- emits('show-modal', value, properties)
309
- const onTogglePorts = (
310
- id: string,
311
- isToggle: boolean,
312
- diagramId: string
313
- ): void => {
314
- emits('toggle-ports', id, isToggle, diagramId)
315
- }
316
- const onSelectPort = (networkId: string, portId: string): void => {
317
- emits('select-port', networkId, portId)
318
- }
319
- const onSelectNetwork = (networkId: string): void => {
320
- emits('select-network', networkId)
321
- }
322
- </script>
323
-
324
- <style scoped lang="scss">
325
- .diagram {
326
- &-container {
327
- display: flex;
328
- justify-content: center;
329
-
330
- .diagram-portlet {
331
- margin-top: 10px;
332
- }
333
- }
334
- }
335
-
336
- .diagram {
337
- &-container-new:not(.diagram-in-portlet) {
338
- display: flex;
339
- justify-content: center;
340
- margin: 16px 16px 30px;
341
- padding: 16px;
342
- border-radius: 8px;
343
- background: var(--diagram-container-bg);
344
- box-shadow: 0 1px 4px 0 #00000014;
345
-
346
- .diagram-second-container {
347
- overflow-x: auto;
348
-
349
- .diagram-svg {
350
- margin: 22.5px 17.5px;
351
- }
352
- }
353
- }
354
- &-container-new.diagram-in-portlet {
355
- .diagram-portlet {
356
- margin-top: 10px;
357
- }
358
- }
359
- }
360
- </style>
361
- <style lang="scss">
362
- .diagram-actions__popup.navbar-dropdown-menu {
363
- transform: translate(-30px, -20px);
364
-
365
- .btn {
366
- border-radius: 0;
367
- border-bottom: 1px solid transparent;
368
-
369
- span {
370
- font-size: 14px;
371
- }
372
- &:active {
373
- box-shadow: none;
374
- }
375
- }
376
- }
377
- </style>
1
+ <template>
2
+ <div
3
+ :class="{
4
+ 'diagram-container-new': isNewView,
5
+ 'diagram-container': !isNewView,
6
+ 'diagram-in-portlet': props.inPortlet,
7
+ }"
8
+ >
9
+ <common-diagram-main-header
10
+ v-if="!props.inPortlet"
11
+ :project="props.project"
12
+ :is-show-diagram="props.isShowDiagram"
13
+ :diagram-name="props.diagramData.diagramName"
14
+ :test-id="props.diagramData.testId"
15
+ @toggle-diagram="emits('toggle-diagram')"
16
+ @show-modal="onShowModal"
17
+ />
18
+
19
+ <div
20
+ :class="[
21
+ 'diagrams',
22
+ {
23
+ 'is-show-diagram': props.isShowDiagram,
24
+ },
25
+ ]"
26
+ >
27
+ <div class="diagram-second-container">
28
+ <svg
29
+ v-if="props.diagramData && props.isShowDiagram"
30
+ xmlns="http://www.w3.org/2000/svg"
31
+ :height="diagramHeight"
32
+ :width="diagramWidth"
33
+ :viewBox="viewBox"
34
+ :preserveAspectRatio="preserveAspectRatio"
35
+ :class="svgClasses"
36
+ @click.capture="onClickDiagram"
37
+ >
38
+ <common-diagram-main-switch
39
+ :networks-count="props.networksCount"
40
+ :main-rect-height="props.mainRectHeight"
41
+ :main-switch-line="props.mainSwitchLine"
42
+ :selected-main-line="props.selectedMainLine"
43
+ :is-visible-line="hasActiveAdapter"
44
+ :is-selected-linked-with-adapter="isSelectedLinkedWithAdapter"
45
+ :adapter-line-y="props.adaptersWithPositions.adaptersConnectLineY"
46
+ :first-and-last-network-lines-y="firstAndLastNetworkLinesY"
47
+ :networks-with-positions="props.networksWithPositions"
48
+ />
49
+ <common-diagram-main-adapter
50
+ :networks-count="props.networksCount"
51
+ :adapters-with-positions="props.adaptersWithPositions"
52
+ :selected-main-line="props.selectedMainLine"
53
+ :selected-port="props.selectedPort"
54
+ :selected-adapter="props.selectedAdapter"
55
+ :selected-network="props.selectedNetwork"
56
+ :is-visible-line="hasActiveAdapter"
57
+ :is-dark-mode="props.isDarkMode"
58
+ :test-id="props.diagramData.testId"
59
+ :is-selected-linked-with-adapter="isSelectedLinkedWithAdapter"
60
+ :networks-with-positions="props.networksWithPositions"
61
+ :first-and-last-network-lines-y="firstAndLastNetworkLinesY"
62
+ :in-network-lines-y="inNetworkLinesY"
63
+ @toggle-adapters="onToggleAdapters"
64
+ @select-adapter="onSelectAdapter"
65
+ @show-modal="onShowModal"
66
+ />
67
+ <template v-if="!!props.networksWithPositions.length">
68
+ <template
69
+ v-for="network in props.networksWithPositions"
70
+ :key="network.id"
71
+ >
72
+ <common-diagram-main-network
73
+ :network="network"
74
+ :selected-port="props.selectedPort"
75
+ :selected-adapter="props.selectedAdapter"
76
+ :selected-network="props.selectedNetwork"
77
+ :selected-main-line="props.selectedMainLine"
78
+ :diagram-id="props.diagramData.id"
79
+ :in-portlet="props.inPortlet"
80
+ :is-visible-line="hasActiveAdapter"
81
+ :is-dark-mode="props.isDarkMode"
82
+ :first-and-last-network-lines-y="firstAndLastNetworkLinesY"
83
+ :adapter-line-y="
84
+ props.adaptersWithPositions.adaptersConnectLineY
85
+ "
86
+ :adapters-positions-y="adaptersPositionsY"
87
+ @toggle-ports="onTogglePorts"
88
+ @select-port="onSelectPort"
89
+ @select-network="onSelectNetwork"
90
+ @show-modal="onShowModal"
91
+ />
92
+ </template>
93
+ </template>
94
+ <template v-else>
95
+ <common-diagram-main-network-no-network />
96
+ </template>
97
+ <common-diagram-main-switch-selected
98
+ :selected-switch-line-y="props.selectedSwitchLineY"
99
+ :is-visible-line="hasActiveAdapter && isSelectedLinkedWithAdapter"
100
+ :adapters-positions-y="adaptersPositionsY"
101
+ :adapter-line-y="props.adaptersWithPositions.adaptersConnectLineY"
102
+ :is-highlighted-adapter-line="isHighlightedAdapterLine"
103
+ :in-network-lines-y="inNetworkLinesY"
104
+ />
105
+ </svg>
106
+ </div>
107
+ </div>
108
+ </div>
109
+ <div
110
+ v-if="isNewView && props.isShowDiagram && !props.inPortlet"
111
+ class="virtual-switch-remove"
112
+ >
113
+ <ui-button
114
+ :test-id="`${props.diagramData.testId}-remove`"
115
+ variant="text"
116
+ type="error"
117
+ is-without-sizes
118
+ is-without-height
119
+ v-permission="'Networks.RemoveSwitch'"
120
+ @click="emits('show-modal', 'switch-remove')"
121
+ >
122
+ <span class="virtual-switch-remove-btn">
123
+ <ui-icon name="delete" width="20" height="20" />
124
+ {{ localization.common.remove }}
125
+ </span>
126
+ </ui-button>
127
+ </div>
128
+ </template>
129
+
130
+ <script setup lang="ts">
131
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
132
+ import type {
133
+ UI_I_AdaptersWithPositions,
134
+ UI_I_DiagramData,
135
+ UI_I_ModalsInitialData,
136
+ UI_I_NetworksWithPositions,
137
+ UI_I_SelectedAdapter,
138
+ UI_I_SelectedPort,
139
+ UI_I_SwitchLine,
140
+ UI_I_Network,
141
+ } from '~/components/common/diagramMain/lib/models/interfaces'
142
+ import type { UI_T_Project } from '~/lib/models/types'
143
+ import { UI_E_PositionsY } from '~/components/common/diagramMain/lib/models/enums'
144
+
145
+ const props = defineProps<{
146
+ diagramData: UI_I_DiagramData
147
+ isShowDiagram: boolean
148
+ inPortlet: boolean
149
+ networksWithPositions: UI_I_NetworksWithPositions[]
150
+ mainRectHeight: number
151
+ mainSwitchLine: UI_I_SwitchLine
152
+ selectedMainLine: boolean
153
+ adaptersWithPositions: UI_I_AdaptersWithPositions
154
+ selectedPort: UI_I_SelectedPort
155
+ selectedAdapter: UI_I_SelectedAdapter
156
+ selectedNetwork: string
157
+ selectedSwitchLineY: UI_I_SwitchLine
158
+ isDarkMode: boolean
159
+ networksCount: number
160
+ project: UI_T_Project
161
+ }>()
162
+
163
+ const emits = defineEmits<{
164
+ (event: 'click-diagram', ev: MouseEvent): void
165
+ (event: 'toggle-adapters'): void
166
+ (event: 'select-adapter', adapterId: string): void
167
+ (
168
+ event: 'show-modal',
169
+ value: string,
170
+ properties?: UI_I_ModalsInitialData
171
+ ): void
172
+ (
173
+ event: 'toggle-ports',
174
+ id: string,
175
+ newState: boolean,
176
+ diagramId: string
177
+ ): void
178
+ (event: 'select-port', networkId: string, portId: string): void
179
+ (event: 'select-network', networkId: string): void
180
+ (event: 'toggle-diagram'): void
181
+ }>()
182
+
183
+ const { $store }: any = useNuxtApp()
184
+
185
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
186
+
187
+ const localization = computed<UI_I_Localization>(() => useLocal())
188
+
189
+ const inNetworkLinesY = computed(() => {
190
+ const linesY = []
191
+ props.networksWithPositions.forEach((net, index) => {
192
+ ;(!!props.selectedAdapter.connectedPorts.find(
193
+ (net2) => net2.networkId === net.id && net2.ports.length === 0
194
+ ) ||
195
+ props.selectedNetwork === net.id) &&
196
+ linesY.push(net.connectLineY)
197
+
198
+ net.toggle
199
+ ? net.ports.forEach((port) => {
200
+ ;((props.selectedPort.portId === port.id &&
201
+ props.selectedPort.networkId === net.id &&
202
+ net.activeAdapters.length > 0) ||
203
+ !!props.selectedAdapter.connectedPorts.find(
204
+ (net2) =>
205
+ net2.networkId === net.id && net2.ports.includes(port.id)
206
+ )) &&
207
+ linesY.push(port.portPosition + 7.5)
208
+ })
209
+ : !!props.selectedAdapter.connectedPorts.find(
210
+ (net2) => net2.networkId === net.id && net2.ports.length !== 0
211
+ ) && linesY.push(net.portsPosition + 7.5)
212
+ })
213
+
214
+ return linesY.sort((a, b) => a - b)
215
+ })
216
+
217
+ const isOpenedAdapterBlockAndNoSelectedNetwork = computed<boolean>(
218
+ () =>
219
+ !props.adaptersWithPositions.toggle && props.selectedPort.networkId !== '-1'
220
+ )
221
+
222
+ const hasNoAdaptersAndNoSelectedNetwork = computed<boolean>(() => {
223
+ return (
224
+ props.adaptersWithPositions.adapters?.length === 0 &&
225
+ props.selectedNetwork !== '-1'
226
+ )
227
+ })
228
+
229
+ const isHighlightedOptimizePart = computed(
230
+ () =>
231
+ !props.selectedMainLine && !isOpenedAdapterBlockAndNoSelectedNetwork.value
232
+ )
233
+
234
+ const isHighlightedAdapterLine = computed<boolean>(
235
+ () =>
236
+ isSelectedLinkedWithAdapter.value &&
237
+ !(
238
+ isHighlightedOptimizePart.value &&
239
+ !hasNoAdaptersAndNoSelectedNetwork.value
240
+ )
241
+ )
242
+
243
+ const firstAndLastNetworkLinesY = computed(() => {
244
+ const networkLinesY = props.networksWithPositions
245
+ .filter((n) => n.activeAdapters.length > 0 && n.state.state !== 3)
246
+ .map((n) => n.connectLineY)
247
+ .sort((a, b) => a - b)
248
+
249
+ return {
250
+ firstNetworkY: networkLinesY[0],
251
+ lastNetworkY: networkLinesY[networkLinesY.length - 1],
252
+ }
253
+ })
254
+
255
+ const adaptersPositionsY = computed(() =>
256
+ props.adaptersWithPositions.adapters.reduce((result, ad) => {
257
+ let isAdapterActiveOnAnyNetwork = false
258
+ props.networksWithPositions.forEach(
259
+ (network: UI_I_NetworksWithPositions) =>
260
+ network.activeAdapters.includes(props.selectedAdapter.adapterId) &&
261
+ (isAdapterActiveOnAnyNetwork = true)
262
+ )
263
+
264
+ const isVisible =
265
+ (props.selectedPort.activeAdapters.includes(ad.id) ||
266
+ (props.selectedAdapter.adapterId === ad.id &&
267
+ isAdapterActiveOnAnyNetwork)) &&
268
+ !!props.networksCount
269
+
270
+ if (isVisible) {
271
+ return [...result, ad.adapterPosition]
272
+ }
273
+ return result
274
+ }, [])
275
+ )
276
+
277
+ const svgClasses = computed(() => [
278
+ 'diagram-svg',
279
+ {
280
+ 'diagram-portlet': !props.inPortlet,
281
+ },
282
+ ])
283
+
284
+ const preserveAspectRatio = computed<string | undefined>(() =>
285
+ props.inPortlet ? 'xMinYMin' : undefined
286
+ )
287
+
288
+ const svgHeight = computed<number>(
289
+ () =>
290
+ UI_E_PositionsY.DIAGRAM_TOP +
291
+ props.mainRectHeight +
292
+ UI_E_PositionsY.DIAGRAM_BOTTOM
293
+ )
294
+
295
+ const viewBox = computed<string>(() =>
296
+ props.inPortlet ? '0 0 725 1' : `0 0 725 ${svgHeight.value}`
297
+ )
298
+
299
+ const diagramHeight = computed<number>(() =>
300
+ props.inPortlet ? svgHeight.value / 1.28 : svgHeight.value
301
+ )
302
+
303
+ const diagramWidth = computed<number>(() => (props.inPortlet ? 560 : 725))
304
+
305
+ const hasActiveAdapter = computed<boolean>(() => {
306
+ let flag = false
307
+ props.diagramData?.networks.forEach(
308
+ (network: UI_I_Network) =>
309
+ network.activeAdapters.length > 0 && (flag = true)
310
+ )
311
+ return flag
312
+ })
313
+
314
+ const isSelectedLinkedWithAdapter = computed<boolean>(() => {
315
+ if (props.selectedNetwork && props.selectedNetwork !== '-1') {
316
+ const selectedNetworkData = props.networksWithPositions.find(
317
+ (network: UI_I_NetworksWithPositions) =>
318
+ network.id === props.selectedNetwork
319
+ )
320
+
321
+ if (!selectedNetworkData) return false
322
+
323
+ return (
324
+ selectedNetworkData.activeAdapters.length > 0 &&
325
+ selectedNetworkData.state.state !== 3
326
+ )
327
+ }
328
+
329
+ if (props.selectedPort.portId && props.selectedPort.portId !== '-1') {
330
+ const selectedNetworkData = props.networksWithPositions.find(
331
+ (network: UI_I_NetworksWithPositions) =>
332
+ network.id === props.selectedPort.networkId
333
+ )
334
+
335
+ if (!selectedNetworkData) return false
336
+
337
+ return (
338
+ selectedNetworkData.activeAdapters.length > 0 &&
339
+ selectedNetworkData.state.state !== 3
340
+ )
341
+ }
342
+
343
+ if (props.selectedAdapter.adapterId !== '-1' || props.selectedMainLine)
344
+ return true
345
+
346
+ return false
347
+ })
348
+
349
+ const onClickDiagram = (ev: MouseEvent) => emits('click-diagram', ev)
350
+ const onToggleAdapters = () => emits('toggle-adapters')
351
+ const onSelectAdapter = (adapterId: string) =>
352
+ emits('select-adapter', adapterId)
353
+ const onShowModal = (value: string, properties?: UI_I_ModalsInitialData) =>
354
+ emits('show-modal', value, properties)
355
+ const onTogglePorts = (
356
+ id: string,
357
+ isToggle: boolean,
358
+ diagramId: string
359
+ ): void => {
360
+ emits('toggle-ports', id, isToggle, diagramId)
361
+ }
362
+ const onSelectPort = (networkId: string, portId: string): void => {
363
+ emits('select-port', networkId, portId)
364
+ }
365
+ const onSelectNetwork = (networkId: string): void => {
366
+ emits('select-network', networkId)
367
+ }
368
+ </script>
369
+
370
+ <style scoped lang="scss">
371
+ .diagram {
372
+ &-container {
373
+ //display: flex;
374
+ //justify-content: center;
375
+ .diagram-second-container {
376
+ display: flex;
377
+ justify-content: center;
378
+ min-width: 725px;
379
+ }
380
+
381
+ &.diagram-in-portlet {
382
+ .diagram-second-container {
383
+ min-width: 560px;
384
+ }
385
+ }
386
+
387
+ .diagram-portlet {
388
+ margin-top: 10px;
389
+ }
390
+ }
391
+ }
392
+
393
+ .diagram {
394
+ &-container-new:not(.diagram-in-portlet) {
395
+ .diagrams.is-show-diagram {
396
+ margin-top: 24px;
397
+ }
398
+
399
+ .diagram-second-container {
400
+ overflow-x: auto;
401
+ display: flex;
402
+ justify-content: center;
403
+ min-width: 760px;
404
+
405
+ &.diagram-in-portlet {
406
+ .diagram-second-container {
407
+ min-width: 560px;
408
+ }
409
+ }
410
+
411
+ .diagram-svg {
412
+ margin: 22.5px 17.5px;
413
+ }
414
+ }
415
+ }
416
+ &-container-new.diagram-in-portlet {
417
+ .diagram-portlet {
418
+ margin-top: 10px;
419
+ }
420
+ }
421
+ }
422
+
423
+ .diagrams {
424
+ overflow-y: auto;
425
+ }
426
+
427
+ .virtual-switch-remove {
428
+ padding: 16px 0 0;
429
+ display: flex;
430
+ justify-content: flex-end;
431
+
432
+ &-btn {
433
+ height: 20px;
434
+ font-weight: 500;
435
+ font-size: 14px;
436
+ line-height: 17px;
437
+ letter-spacing: 0;
438
+ display: flex;
439
+ align-items: center;
440
+ column-gap: 8px;
441
+ color: var(--text-red);
442
+ }
443
+ }
444
+ </style>
445
+ <style lang="scss">
446
+ .diagram-actions__popup.navbar-dropdown-menu {
447
+ transform: translate(-30px, -20px);
448
+
449
+ .btn {
450
+ border-radius: 0;
451
+ border-bottom: 1px solid transparent;
452
+
453
+ span {
454
+ font-size: 14px;
455
+ }
456
+ &:active {
457
+ box-shadow: none;
458
+ }
459
+ }
460
+ }
461
+ </style>