bfg-common 1.6.65 → 1.6.67

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 (287) hide show
  1. package/assets/localization/local_be.json +9 -263
  2. package/assets/localization/local_en.json +27 -282
  3. package/assets/localization/local_hy.json +11 -265
  4. package/assets/localization/local_kk.json +9 -263
  5. package/assets/localization/local_ru.json +23 -277
  6. package/assets/localization/local_zh.json +9 -263
  7. package/assets/scss/common/global.scss +0 -11
  8. package/assets/scss/common/theme.scss +2 -2
  9. package/components/atoms/dropdown/dropdown/Dropdown.vue +170 -168
  10. package/components/atoms/dropdown/dropdown/lib/models/interfaces.ts +10 -9
  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 +0 -3
  14. package/components/common/adapterManager/AdapterManager.vue +473 -473
  15. package/components/common/adapterManager/AdapterManagerNew.vue +0 -86
  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 +38 -37
  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 +0 -2
  34. package/components/common/adapterManager/ui/actions/bar/BarNew.vue +2 -3
  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 +186 -187
  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 +1 -7
  59. package/components/common/configure/physicalAdapters/PhysicalAdapters.vue +0 -6
  60. package/components/common/configure/physicalAdapters/PhysicalAdaptersNew.vue +192 -219
  61. package/components/common/configure/physicalAdapters/PhysicalAdaptersOld.vue +4 -6
  62. package/components/common/configure/physicalAdapters/buttons/Buttons.vue +0 -1
  63. package/components/common/configure/physicalAdapters/modals/edit/Edit.vue +1 -26
  64. package/components/common/configure/physicalAdapters/modals/edit/EditNew.vue +1 -30
  65. package/components/common/configure/physicalAdapters/modals/edit/lib/models/interfaces.ts +0 -5
  66. package/components/common/configure/physicalAdapters/tableView/TableViewNew.vue +1 -12
  67. package/components/common/configure/physicalAdapters/tableView/lib/config/physicalAdaptersTableConfigNew.ts +21 -21
  68. package/components/common/configure/physicalAdapters/tableView/lib/config/settings.ts +5 -12
  69. package/components/common/configure/physicalAdapters/tableView/lib/models/interfaces.ts +1 -4
  70. package/components/common/diagramMain/Diagram.vue +377 -459
  71. package/components/common/diagramMain/DiagramMain.vue +905 -929
  72. package/components/common/diagramMain/{header/HeaderOld.vue → Header.vue} +223 -234
  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/highlights/Highlights.vue +151 -151
  85. package/components/common/diagramMain/highlights/HighlightsNew.vue +124 -124
  86. package/components/common/diagramMain/highlights/HighlightsOld.vue +107 -107
  87. package/components/common/diagramMain/lib/config/index.ts +81 -81
  88. package/components/common/diagramMain/lib/config/initial.ts +50 -50
  89. package/components/common/diagramMain/lib/config/positions.ts +194 -194
  90. package/components/common/diagramMain/lib/models/enums.ts +44 -44
  91. package/components/common/diagramMain/lib/models/interfaces.ts +760 -760
  92. package/components/common/diagramMain/lib/models/types.ts +21 -21
  93. package/components/common/diagramMain/lib/utils/utils.ts +331 -331
  94. package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +331 -331
  95. package/components/common/diagramMain/modals/Modals.vue +479 -483
  96. package/components/common/diagramMain/modals/editSettings/{confirmTeamingSettingsModal/ConfirmTeamingSettingsModalOld.vue → ConfirmTeamingSettingsModal.vue} +5 -2
  97. package/components/common/diagramMain/modals/editSettings/EditSettings.vue +102 -104
  98. package/components/common/diagramMain/modals/editSettings/{modal/EditSettingsModalOld.vue → EditSettingsModal.vue} +51 -12
  99. package/components/common/diagramMain/modals/editSettings/lib/models/interfaces.ts +0 -6
  100. package/components/common/diagramMain/modals/editSettings/tabs/{networkProperties/NetworkPropertiesOld.vue → NetworkProperties.vue} +113 -12
  101. package/components/common/diagramMain/modals/editSettings/tabs/{security/SecurityOld.vue → Security.vue} +48 -25
  102. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +164 -0
  103. package/components/common/diagramMain/modals/editSettings/tabs/{teamingFailover/TeamingFailoverOld.vue → TeamingFailover.vue} +48 -11
  104. package/components/common/diagramMain/modals/editSettings/tabs/{trafficShaping/TrafficShapingOld.vue → TrafficShaping.vue} +134 -12
  105. package/components/common/diagramMain/modals/editSettings/tabs/port/{ipvFourSettings/IpvFourSettingsOld.vue → IpvFourSettings.vue} +152 -11
  106. package/components/common/diagramMain/modals/editSettings/tabs/port/{portProperties/PortPropertiesOld.vue → PortProperties.vue} +103 -12
  107. package/components/common/diagramMain/modals/lib/config/adapterModal.ts +147 -147
  108. package/components/common/diagramMain/modals/lib/config/diagramConfig.ts +25 -66
  109. package/components/common/diagramMain/modals/lib/config/index.ts +55 -56
  110. package/components/common/diagramMain/modals/lib/config/initial.ts +180 -180
  111. package/components/common/diagramMain/modals/lib/config/networkModal.ts +405 -405
  112. package/components/common/diagramMain/modals/lib/config/portModal.ts +253 -253
  113. package/components/common/diagramMain/modals/lib/config/switchModal.ts +245 -245
  114. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  115. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
  116. package/components/common/diagramMain/modals/lib/mappers/mappers.ts +88 -88
  117. package/components/common/diagramMain/modals/lib/utils/index.ts +4 -34
  118. package/components/common/diagramMain/modals/migrateVmkernelAdapter/MigrateVmkernelAdapter.vue +541 -541
  119. package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
  120. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +170 -170
  121. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +159 -159
  122. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/VmkernelAdapterReadyComplete.vue +49 -49
  123. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +19 -19
  124. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +137 -137
  125. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
  126. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
  127. package/components/common/diagramMain/modals/remove/RemoveModal.vue +82 -82
  128. package/components/common/diagramMain/modals/remove/RemoveModalNew.vue +106 -106
  129. package/components/common/diagramMain/modals/remove/RemoveModalOld.vue +241 -241
  130. package/components/common/diagramMain/modals/viewSettings/info/Info.vue +57 -57
  131. package/components/common/diagramMain/modals/viewSettings/info/InfoNew.vue +174 -174
  132. package/components/common/diagramMain/modals/viewSettings/info/InfoOld.vue +141 -141
  133. package/components/common/diagramMain/modals/viewSettings/viewSettings/ViewSettings.vue +45 -45
  134. package/components/common/diagramMain/modals/viewSettings/viewSettings/ViewSettingsNew.vue +323 -323
  135. package/components/common/diagramMain/modals/viewSettings/viewSettings/ViewSettingsOld.vue +203 -203
  136. package/components/common/diagramMain/modals/viewSettings/viewSettingsModal/ViewSettingsModal.vue +60 -60
  137. package/components/common/diagramMain/modals/viewSettings/viewSettingsModal/ViewSettingsModalNew.vue +50 -50
  138. package/components/common/diagramMain/modals/viewSettings/viewSettingsModal/ViewSettingsModalOld.vue +70 -70
  139. package/components/common/diagramMain/modals/viewSettings/viewSettingsModal/lib/models/interfaces.ts +48 -48
  140. package/components/common/diagramMain/network/Contents.vue +497 -497
  141. package/components/common/diagramMain/network/Lines.vue +107 -107
  142. package/components/common/diagramMain/network/Network.vue +141 -141
  143. package/components/common/diagramMain/network/block/Block.vue +37 -37
  144. package/components/common/diagramMain/network/block/BlockNew.vue +68 -68
  145. package/components/common/diagramMain/network/block/BlockOld.vue +64 -64
  146. package/components/common/diagramMain/network/noNetwork/NoNetwork.vue +12 -12
  147. package/components/common/diagramMain/network/noNetwork/NoNetworkNew.vue +89 -89
  148. package/components/common/diagramMain/network/noNetwork/NoNetworkOld.vue +61 -61
  149. package/components/common/diagramMain/network/secondBlock/SecondBlock.vue +41 -41
  150. package/components/common/diagramMain/network/secondBlock/SecondBlockNew.vue +64 -64
  151. package/components/common/diagramMain/network/secondBlock/SecondBlockOld.vue +60 -60
  152. package/components/common/diagramMain/port/Port.vue +580 -580
  153. package/components/common/diagramMain/port/Ports.vue +47 -47
  154. package/components/common/diagramMain/switch/Switch.vue +180 -180
  155. package/components/common/diagramMain/switch/SwitchSelected.vue +111 -111
  156. package/components/common/layout/theHeader/ThemeSwitch.vue +1 -1
  157. package/components/common/layout/theHeader/modals/reconnect/New.vue +30 -38
  158. package/components/common/layout/theHeader/userMenu/modals/changePassword/New.vue +9 -8
  159. package/components/common/layout/theHeader/userMenu/modals/preferences/New.vue +0 -4
  160. package/components/common/layout/theHeader/userMenu/modals/preferences/Old.vue +2 -9
  161. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/ChangeLanguage.vue +7 -11
  162. package/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/DefaultConsole.vue +1 -7
  163. package/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/lib/config/consoleOptions.ts +5 -8
  164. package/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/TimeFormat.vue +5 -9
  165. package/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/config/formatOptions.ts +1 -1
  166. package/components/common/layout/theHeader/userMenu/modals/preferences/view/Old.vue +9 -5
  167. package/components/common/layout/theHeader/userMenu/modals/preferences/view/View.vue +6 -9
  168. package/components/common/mainNavigationPanel/MainNavigationPanelNew.vue +1 -3
  169. package/components/common/modals/Rename.vue +1 -3
  170. package/components/common/monitor/advanced/table/tableOld/TableOld.vue +93 -93
  171. package/components/common/monitor/utilization/Old.vue +65 -24
  172. package/components/common/monitor/utilization/Utilization.vue +22 -14
  173. package/components/common/monitor/utilization/infoBlock/InfoBlock.vue +125 -2
  174. package/components/common/monitor/utilization/infoBlock/New.vue +183 -3
  175. package/components/common/monitor/utilization/infoBlock/Old.vue +71 -66
  176. package/components/common/monitor/utilization/infoBlock/progressBar/New.vue +64 -0
  177. package/components/common/monitor/utilization/infoBlock/progressBar/Old.vue +65 -0
  178. package/components/common/monitor/utilization/infoBlock/progressBar/ProgressBar.vue +84 -0
  179. package/components/common/monitor/utilization/infoBlock/progressBar/lib/models/interfaces.ts +10 -0
  180. package/components/common/monitor/utilization/lib/models/enums.ts +4 -4
  181. package/components/common/monitor/utilization/lib/models/interfaces.ts +14 -12
  182. package/components/common/monitor/utilization/lib/models/types.ts +1 -0
  183. package/components/common/monitor/utilization/lib/utils/index.ts +64 -6
  184. package/components/common/monitor/utilization/new/New.vue +195 -0
  185. package/components/common/monitor/utilization/new/Portlet.vue +42 -0
  186. package/components/common/monitor/utilization/new/Skeleton.vue +120 -0
  187. package/components/common/monitor/utilization/new/lib/utils/newPortlet.ts +7 -0
  188. package/components/common/noDataProvided/NoDataProvidedNew.vue +1 -1
  189. package/components/common/pages/backups/modals/createBackup/datastores/tableView/new/lib/config/table.ts +4 -4
  190. package/components/common/pages/backups/modals/createBackup/datastores/tableView/old/lib/config/table.ts +4 -4
  191. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/ChartOptionsModal.vue +253 -184
  192. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/actions/ActionsNew.vue +1 -1
  193. package/components/common/pages/scheduledTasks/table/lib/models/enums.ts +0 -9
  194. package/components/common/pages/scheduledTasks/table/new/New.vue +10 -12
  195. package/components/common/pages/tasks/Tasks.vue +1 -4
  196. package/components/common/pages/tasks/table/Table.vue +23 -25
  197. package/components/common/readyToComplete/New.vue +0 -1
  198. package/components/common/split/vertical/New.vue +8 -42
  199. package/components/common/split/vertical/Old.vue +2 -31
  200. package/components/common/split/vertical/Vertical.vue +0 -4
  201. package/components/common/vm/actions/add/New.vue +6 -21
  202. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +1 -14
  203. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/New.vue +0 -5
  204. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Old.vue +0 -1
  205. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/New.vue +0 -1
  206. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/New.vue +0 -2
  207. package/components/common/vm/actions/common/select/options/New.vue +12 -14
  208. package/components/common/vm/actions/common/select/options/Old.vue +15 -16
  209. package/components/common/vm/actions/common/select/storage/new/lib/config/table.ts +15 -13
  210. package/components/common/vm/actions/confirm/Confirm.vue +0 -3
  211. package/components/common/vm/actions/rename/Old.vue +0 -1
  212. package/components/common/vm/snapshots/DetailView.vue +6 -6
  213. package/components/common/wizards/datastore/add/New.vue +0 -6
  214. package/components/common/wizards/datastore/add/lib/config/steps.ts +1 -1
  215. package/components/common/wizards/datastore/add/steps/nameAndDevice/NameAndDeviceNew.vue +1 -1
  216. package/components/common/wizards/datastore/add/steps/nameAndDevice/advancedOptions/New.vue +1 -1
  217. package/components/common/wizards/network/add/Add.vue +2 -13
  218. package/components/common/wizards/network/add/AddNew.vue +26 -22
  219. package/components/common/wizards/network/add/lib/config/initialData.ts +4 -6
  220. package/components/common/wizards/network/add/lib/config/steps.ts +1 -1
  221. package/components/common/wizards/network/add/lib/models/interfaces.ts +0 -1
  222. package/components/common/wizards/network/add/lib/utils/utils.ts +1 -1
  223. package/components/common/wizards/network/add/steps/connectionSettings/ConnectionSettingsOld.vue +1 -5
  224. package/components/common/wizards/network/add/steps/ipFourSettings/IpFourSettingsNew.vue +8 -2
  225. package/components/common/wizards/network/add/steps/ipFourSettings/IpFourSettingsOld.vue +0 -3
  226. package/components/common/wizards/network/add/steps/portProperties/PortPropertiesNew.vue +8 -2
  227. package/components/common/wizards/network/add/steps/portProperties/PortPropertiesOld.vue +2 -6
  228. package/components/common/wizards/network/add/steps/selectTargetDevice/SelectTargetDeviceNew.vue +3 -10
  229. package/components/common/wizards/network/add/steps/selectTargetDevice/SelectTargetDeviceOld.vue +0 -4
  230. package/components/common/wizards/network/add/steps/selectTargetDevice/modals/new/SelectNetwork.vue +1 -5
  231. package/components/common/wizards/network/add/validations/common.ts +1 -1
  232. package/components/common/wizards/vm/migrate/New.vue +3 -13
  233. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +0 -5
  234. package/components/common/wizards/vm/migrate/lib/config/steps.ts +2 -3
  235. package/components/common/wizards/vm/migrate/steps/computeResource/New.vue +1 -2
  236. package/components/common/wizards/vm/migrate/steps/computeResource/tableView/new/New.vue +21 -40
  237. package/components/common/wizards/vm/migrate/steps/computeResource/tableView/new/lib/config/hostTable.ts +14 -44
  238. package/components/common/wizards/vm/migrate/steps/computeResource/tableView/new/lib/models/enums.ts +0 -4
  239. package/components/common/wizards/vm/migrate/steps/priority/New.vue +2 -7
  240. package/components/common/wizards/vm/migrate/steps/selectStorage/New.vue +7 -22
  241. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/batch/New.vue +0 -6
  242. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/batch/table/new/New.vue +1 -4
  243. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/batch/table/new/lib/config/datastoreTable.ts +16 -12
  244. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/disk/table/new/New.vue +5 -10
  245. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/disk/table/new/lib/config/diskTable.ts +11 -16
  246. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/disk/table/old/lib/config/diskTable.ts +1 -7
  247. package/components/common/wizards/vm/migrate/steps/selectStorage/selectedPerDisk/New.vue +10 -17
  248. package/components/common/wizards/vm/migrate/steps/type/TypeNew.vue +0 -1
  249. package/components/common/wizards/vm/migrate/vmOrigin/New.vue +15 -35
  250. package/lib/models/store/tasks/enums.ts +0 -3
  251. package/lib/models/store/tasks/types.ts +6 -7
  252. package/package.json +2 -2
  253. package/plugins/directives.ts +5 -3
  254. package/public/spice-console/application/agent.js +17 -18
  255. package/store/tasks/actions.ts +8 -26
  256. package/store/tasks/mappers/recentTasks.ts +0 -1
  257. package/components/common/configure/physicalAdapters/modals/edit/lib/validations/validations.ts +0 -19
  258. package/components/common/diagramMain/header/Header.vue +0 -49
  259. package/components/common/diagramMain/header/HeaderNew.vue +0 -155
  260. package/components/common/diagramMain/modals/UnsavedChangesModal.vue +0 -32
  261. package/components/common/diagramMain/modals/editSettings/EditSettingsNew.vue +0 -285
  262. package/components/common/diagramMain/modals/editSettings/EditSettingsOld.vue +0 -254
  263. package/components/common/diagramMain/modals/editSettings/confirmTeamingSettingsModal/ConfirmTeamingSettingsModal.vue +0 -31
  264. package/components/common/diagramMain/modals/editSettings/confirmTeamingSettingsModal/ConfirmTeamingSettingsModalNew.vue +0 -82
  265. package/components/common/diagramMain/modals/editSettings/lib/config/config.ts +0 -15
  266. package/components/common/diagramMain/modals/editSettings/lib/utils/utils.ts +0 -177
  267. package/components/common/diagramMain/modals/editSettings/modal/EditSettingsModal.vue +0 -137
  268. package/components/common/diagramMain/modals/editSettings/modal/EditSettingsModalNew.vue +0 -91
  269. package/components/common/diagramMain/modals/editSettings/tabs/networkProperties/NetworkProperties.vue +0 -158
  270. package/components/common/diagramMain/modals/editSettings/tabs/networkProperties/NetworkPropertiesNew.vue +0 -262
  271. package/components/common/diagramMain/modals/editSettings/tabs/port/ipvFourSettings/IpvFourSettings.vue +0 -192
  272. package/components/common/diagramMain/modals/editSettings/tabs/port/ipvFourSettings/IpvFourSettingsNew.vue +0 -388
  273. package/components/common/diagramMain/modals/editSettings/tabs/port/portProperties/PortProperties.vue +0 -139
  274. package/components/common/diagramMain/modals/editSettings/tabs/port/portProperties/PortPropertiesNew.vue +0 -286
  275. package/components/common/diagramMain/modals/editSettings/tabs/security/Security.vue +0 -209
  276. package/components/common/diagramMain/modals/editSettings/tabs/security/SecurityNew.vue +0 -233
  277. package/components/common/diagramMain/modals/editSettings/tabs/switchProperties/SwitchProperties.vue +0 -128
  278. package/components/common/diagramMain/modals/editSettings/tabs/switchProperties/SwitchPropertiesNew.vue +0 -235
  279. package/components/common/diagramMain/modals/editSettings/tabs/switchProperties/SwitchPropertiesOld.vue +0 -87
  280. package/components/common/diagramMain/modals/editSettings/tabs/teamingFailover/TeamingFailover.vue +0 -99
  281. package/components/common/diagramMain/modals/editSettings/tabs/teamingFailover/TeamingFailoverNew.vue +0 -319
  282. package/components/common/diagramMain/modals/editSettings/tabs/trafficShaping/TrafficShaping.vue +0 -173
  283. package/components/common/diagramMain/modals/editSettings/tabs/trafficShaping/TrafficShapingNew.vue +0 -348
  284. package/components/common/diagramMain/skeleton/Header.vue +0 -31
  285. package/components/common/diagramMain/skeleton/Switch.vue +0 -75
  286. package/components/common/monitor/utilization/New.vue +0 -5
  287. package/components/common/wizards/vm/migrate/steps/computeResource/tableView/new/lib/config/clusterTable.ts +0 -340
@@ -1,929 +1,905 @@
1
- <template>
2
- <div
3
- v-if="props.diagramData"
4
- :class="{ 'diagram-min-width': !props.inPortlet }"
5
- >
6
- <div
7
- :class="[
8
- 'diagram-main-container',
9
- {
10
- 'is-new-view': isNewView,
11
- },
12
- ]"
13
- >
14
- <common-diagram-main-diagram
15
- :project="props.project"
16
- :diagram-data="props.diagramData"
17
- :is-show-diagram="isShowDiagram"
18
- :in-portlet="props.inPortlet"
19
- :networks-with-positions="networksWithPositions"
20
- :main-rect-height="mainRectHeight"
21
- :main-switch-line="mainSwitchLine"
22
- :selected-main-line="selectedMainLine"
23
- :adapters-with-positions="adaptersWithPositions"
24
- :selected-port="selectedPort"
25
- :selected-adapter="selectedAdapter"
26
- :selected-network="selectedNetwork"
27
- :selected-switch-line-y="selectedSwitchLineY"
28
- :is-dark-mode="props.isDarkMode"
29
- :networks-count="networksCount"
30
- @toggle-diagram="onToggleDiagram"
31
- @click-diagram="onClickDiagram"
32
- @toggle-adapters="onToggleAdapters"
33
- @select-adapter="onSelectAdapter"
34
- @toggle-ports="onTogglePorts"
35
- @select-port="onSelectPort"
36
- @select-network="onSelectNetwork"
37
- @show-modal="onShowModal"
38
- />
39
- </div>
40
- <common-diagram-main-modals
41
- :is-show-port-view-settings-modal="isShowPortViewSettingsModal"
42
- :is-show-network-view-settings-modal="isShowNetworkViewSettingsModal"
43
- :is-show-adapter-view-settings-modal="isShowAdapterViewSettingsModal"
44
- :is-show-vcenter-view-settings-modal="isShowVCenterViewSettingsModal"
45
- :is-show-network-remove-modal="isShowNetworkRemoveModal"
46
- :is-show-switch-remove-modal="isShowSwitchRemoveModal"
47
- :is-show-port-remove-modal="isShowPortRemoveModal"
48
- :is-show-network-edit-settings-modal="isShowNetworkEditSettingsModal"
49
- :is-show-port-edit-settings-modal="isShowPortEditSettingsModal"
50
- :is-show-switch-edit-settings-modal="isShowSwitchEditSettingsModal"
51
- :is-show-switch-view-settings-modal="isShowSwitchViewSettingsModal"
52
- :is-show-switch-manage-physical-adapters-modal="
53
- isShowSwitchManagePhysicalAdaptersModal
54
- "
55
- :is-show-add-networking-modal="isShowAddNetworkingModal"
56
- :is-show-migrate-vmkernel-adapter-modal="
57
- isShowMigrateVmkernelAdapterModal
58
- "
59
- :initial-data="initialData"
60
- :host-name="props.hostName"
61
- :is-remove-modal-loading="props.isRemoveModalLoading"
62
- :diagram-data="props.diagramData"
63
- :adapters="props.adapters"
64
- :is-dark-mode="props.isDarkMode"
65
- :is-edit-modal-loading="props.isEditModalLoading"
66
- :free-adapters="props.freeAdapters"
67
- :manage-physical-adapter-status="managePhysicalAdapterStatus"
68
- :initial-manage-physical-adapter-status="
69
- initialManagePhysicalAdapterStatus
70
- "
71
- :is-manage-adapters-modal-loading="props.isManageAdaptersModalLoading"
72
- :standard-switches-initial="props.standardSwitchesInitial"
73
- :selected-standard-switch-id="selectedStandardSwitchId"
74
- :selected-switch-id="selectedSwitchId"
75
- :tcp-stacks="props.tcpStacks"
76
- :is-networking-loading="props.isNetworkingLoading"
77
- :is-get-existing-switches-loading="props.isGetExistingSwitchesLoading"
78
- :is-get-tcp-stack-loading="props.isGetTcpStackLoading"
79
- :networks-list="props.networksList"
80
- :is-migrate-adapter-loading="props.isMigrateAdapterLoading"
81
- :diagrams-data="props.diagramsData"
82
- :project="props.project"
83
- @hide-port-view-settings-modal="onHidePortViewSettingsModal"
84
- @hide-network-view-settings-modal="onHideNetworkViewSettingsModal"
85
- @hide-adapter-view-settings-modal="onHideAdapterViewSettingsModal"
86
- @hide-vcenter-view-settings-modal="onHideVCenterViewSettingsModal"
87
- @hide-switch-view-settings-modal="onHideSwitchViewSettingsModal"
88
- @hide-network-remove-modal="onHideNetworkRemoveModal"
89
- @hide-switch-remove-modal="onHideSwitchRemoveModal"
90
- @hide-port-remove-modal="onHidePortRemoveModal"
91
- @hide-network-edit-settings-modal="onHideNetworkEditSettingsModal"
92
- @hide-port-edit-settings-modal="onHidePortEditSettingsModal"
93
- @hide-switch-edit-settings-modal="onHideSwitchEditSettingsModal"
94
- @hide-switch-manage-physical-adapters-modal="
95
- onHideSwitchManagePhysicalAdaptersModal
96
- "
97
- @hide-add-networking-modal="onHideAddNetworkingModal"
98
- @hide-migrate-vmkernel-adapter-modal="onHideMigrateVmkernelAdapterModal"
99
- @remove="onRemove"
100
- @send-edit-data="onSendEditData"
101
- @change-edit-fields-data="onChangeEditFieldsData"
102
- @check-network-label="onCheckNetworkLabel"
103
- @send-manage-physical-adapters-data="onSendManagePhysicalAdaptersData"
104
- @change-adapter-status="onChangeManagePhysicalAdapterStatus"
105
- @get-free-adapters="onGetFreeAdapters"
106
- @get-existing-standard-switches="onGetExistingStandardSwitches"
107
- @get-tcp-stacks="onGetTcpStacks"
108
- @send-add-networking-data="onSendNetworkData"
109
- @add-networking-data-validate="onValidateBeforeSending"
110
- />
111
- </div>
112
- </template>
113
-
114
- <script setup lang="ts">
115
- import type {
116
- UI_I_Adapter,
117
- UI_I_AdapterStatus,
118
- UI_I_AdaptersWithPositions,
119
- UI_I_MainRectHeights,
120
- UI_I_ModalsInitialData,
121
- UI_I_Network,
122
- UI_I_EditFieldsData,
123
- UI_I_NetworksWithPositions,
124
- UI_I_SelectedAdapter,
125
- UI_I_SelectedPort,
126
- UI_I_SwitchLine,
127
- UI_I_ToggleDiagramAdaptersPayload,
128
- UI_I_ToggleDiagramPortsPayload,
129
- UI_I_PortToggleFlag,
130
- UI_I_DiagramData,
131
- UI_I_SwitchAdapterItem,
132
- } from '~/components/common/diagramMain/lib/models/interfaces'
133
- import type {
134
- UI_I_ArbitraryObject,
135
- UI_I_ItemsWithTotalCounts,
136
- } from '~/lib/models/interfaces'
137
- import type {
138
- UI_I_Switch,
139
- UI_I_TCPStack,
140
- } from '~/components/common/wizards/network/add/lib/models/interfaces'
141
- import type { UI_T_EditData } from '~/components/common/wizards/network/add/lib/models/types'
142
- import type { UI_T_Adapters } from '~/components/common/diagramMain/lib/models/types'
143
- import type { UI_T_Project } from '~/lib/models/types'
144
- import { UI_E_NetworkType, UI_E_PositionsY } from './lib/models/enums'
145
- import {
146
- managePhysicalAdapterStatusInitial,
147
- mainRectHeightsInitial,
148
- switchLineInitial,
149
- selectedPortInitial,
150
- selectedSwitchLineYInitial,
151
- selectedAdapterInitial,
152
- } from '~/components/common/diagramMain/lib/config'
153
- import {
154
- hasPortAndNetwork,
155
- networksPositions,
156
- getSelectNetworkDataFunc,
157
- getSelectPortDataFunc,
158
- countAdaptersHeight,
159
- getAdaptersPositions,
160
- } from '~/components/common/diagramMain/lib/utils/utils'
161
-
162
- const props = withDefaults(
163
- defineProps<{
164
- diagramData: UI_I_DiagramData
165
- project?: UI_T_Project
166
- inPortlet?: boolean
167
- standardSwitchesInitial?: UI_I_Switch[]
168
- hostName?: string
169
- adapters?: UI_I_ItemsWithTotalCounts<UI_I_SwitchAdapterItem>
170
- freeAdapters?: UI_I_Adapter[]
171
- networksList?: UI_I_Network[]
172
- isDarkMode: boolean
173
- tcpStacks?: UI_I_TCPStack[]
174
- diagramsData?: UI_I_DiagramData[]
175
- isManageAdaptersModalLoading?: boolean
176
- isNetworkingLoading?: boolean
177
- isGetExistingSwitchesLoading?: boolean
178
- isGetTcpStackLoading?: boolean
179
- isRemoveModalLoading?: boolean
180
- isEditModalLoading?: boolean
181
- isMigrateAdapterLoading?: boolean
182
- }>(),
183
- {
184
- project: 'procurator',
185
- diagramData: null,
186
- inPortlet: false,
187
- standardSwitchesInitial: () => [],
188
- hostName: '',
189
- adapters: () => ({
190
- total_items: 0,
191
- total_pages: 0,
192
- items: [],
193
- }),
194
- freeAdapters: () => [],
195
- networksList: () => [],
196
- tcpStacks: () => [],
197
- diagramsData: [],
198
- isManageAdaptersModalLoading: false,
199
- isNetworkingLoading: false,
200
- isGetExistingSwitchesLoading: false,
201
- isGetTcpStackLoading: false,
202
- isRemoveModalLoading: false,
203
- isEditModalLoading: false,
204
- isMigrateAdapterLoading: false,
205
- }
206
- )
207
-
208
- const { $store }: any = useNuxtApp()
209
-
210
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
211
-
212
- const initialData = ref<UI_I_ModalsInitialData>({})
213
- const switchInitialData = ref<UI_I_ModalsInitialData>({})
214
-
215
- watch(
216
- () => props.diagramData?.networking,
217
- (initial: UI_I_ModalsInitialData | undefined) => {
218
- if (initial) {
219
- initialData.value = initial
220
- switchInitialData.value = initial
221
- }
222
- },
223
- { deep: true, immediate: true }
224
- )
225
-
226
- const onValidateBeforeSending = (
227
- data: UI_T_EditData,
228
- type: string,
229
- setValidation: (messages: UI_I_ArbitraryObject<string>) => void
230
- ) => {
231
- emits('add-networking-data-validate', data, type, setValidation)
232
- }
233
-
234
- let initialManagePhysicalAdapterStatus = ref<UI_I_AdapterStatus>(
235
- managePhysicalAdapterStatusInitial
236
- )
237
-
238
- const managePhysicalAdapterStatus = ref<UI_I_AdapterStatus>(
239
- useDeepCopy(initialManagePhysicalAdapterStatus.value)
240
- )
241
-
242
- watch(
243
- () => props.diagramData,
244
- (newValue: UI_I_DiagramData) => {
245
- if (newValue?.networking) {
246
- initialManagePhysicalAdapterStatus.value = {
247
- active: useDeepCopy(props.diagramData?.networking?.activeAdapters),
248
- standby: useDeepCopy(props.diagramData?.networking?.standbyAdapters),
249
- unused: useDeepCopy(props.diagramData?.networking?.unusedAdapters),
250
- }
251
-
252
- managePhysicalAdapterStatus.value = useDeepCopy(
253
- initialManagePhysicalAdapterStatus.value
254
- )
255
- }
256
- },
257
- { deep: true, immediate: true }
258
- )
259
-
260
- const onChangeManagePhysicalAdapterStatus = (
261
- adapterStatusNew: UI_I_AdapterStatus
262
- ) => {
263
- managePhysicalAdapterStatus.value = adapterStatusNew
264
- }
265
-
266
- const isShowSwitchManagePhysicalAdaptersModal = ref<boolean>(false)
267
- const onHideSwitchManagePhysicalAdaptersModal = (): void => {
268
- isShowSwitchManagePhysicalAdaptersModal.value = false
269
- }
270
-
271
- const onSendManagePhysicalAdaptersData = (
272
- adapterStatus: UI_I_AdapterStatus,
273
- switchName: string,
274
- hideModal: () => void
275
- ) => {
276
- emits(
277
- 'send-manage-physical-adapters-data',
278
- adapterStatus,
279
- switchName,
280
- initialData.value,
281
- hideModal
282
- )
283
- }
284
-
285
- const isShowSwitchViewSettingsModal = ref<boolean>(false)
286
- const isShowSwitchEditSettingsModal = ref<boolean>(false)
287
- const isShowSwitchRemoveModal = ref<boolean>(false)
288
- const onHideSwitchViewSettingsModal = (): void => {
289
- isShowSwitchViewSettingsModal.value = false
290
- }
291
- const onHideSwitchEditSettingsModal = (): void => {
292
- isShowSwitchEditSettingsModal.value = false
293
- }
294
- const onHideSwitchRemoveModal = (): void => {
295
- isShowSwitchRemoveModal.value = false
296
- }
297
-
298
- const isShowAdapterViewSettingsModal = ref<boolean>(false)
299
- const onHideAdapterViewSettingsModal = (): void => {
300
- isShowAdapterViewSettingsModal.value = false
301
- }
302
-
303
- const isShowNetworkViewSettingsModal = ref<boolean>(false)
304
- const isShowNetworkEditSettingsModal = ref<boolean>(false)
305
- const isShowNetworkRemoveModal = ref<boolean>(false)
306
- const onHideNetworkViewSettingsModal = (): void => {
307
- isShowNetworkViewSettingsModal.value = false
308
- }
309
- const onHideNetworkEditSettingsModal = (): void => {
310
- isShowNetworkEditSettingsModal.value = false
311
- }
312
- const onHideNetworkRemoveModal = (): void => {
313
- isShowNetworkRemoveModal.value = false
314
- }
315
-
316
- const isShowPortViewSettingsModal = ref<boolean>(false)
317
- const isShowPortEditSettingsModal = ref<boolean>(false)
318
- const isShowPortRemoveModal = ref<boolean>(false)
319
- const onHidePortViewSettingsModal = (): void => {
320
- isShowPortViewSettingsModal.value = false
321
- }
322
- const onHidePortEditSettingsModal = (): void => {
323
- isShowPortEditSettingsModal.value = false
324
- }
325
- const onHidePortRemoveModal = (): void => {
326
- isShowPortRemoveModal.value = false
327
- }
328
-
329
- const isShowVCenterViewSettingsModal = ref<boolean>(false)
330
- const onHideVCenterViewSettingsModal = (): void => {
331
- isShowVCenterViewSettingsModal.value = false
332
- }
333
- const isShowAddNetworkingModal = ref<boolean>(false)
334
- const onHideAddNetworkingModal = (): void => {
335
- isShowAddNetworkingModal.value = false
336
- }
337
- const isShowMigrateVmkernelAdapterModal = ref<boolean>(false)
338
- const onHideMigrateVmkernelAdapterModal = (): void => {
339
- isShowMigrateVmkernelAdapterModal.value = false
340
- }
341
-
342
- const selectedStandardSwitchId = ref<string>('')
343
- const selectedSwitchId = ref<string>('')
344
-
345
- const onShowModal = (
346
- value: string,
347
- properties: UI_I_ModalsInitialData
348
- ): void => {
349
- switch (value) {
350
- case 'port-view-settings':
351
- initialData.value = properties
352
- isShowPortViewSettingsModal.value = true
353
- break
354
- case 'network-view-settings':
355
- isShowNetworkViewSettingsModal.value = true
356
- initialData.value = properties
357
- break
358
- case 'adapter-view-settings':
359
- isShowAdapterViewSettingsModal.value = true
360
- initialData.value = properties
361
- break
362
- case 'v-center-view-settings':
363
- isShowVCenterViewSettingsModal.value = true
364
- initialData.value = properties
365
- break
366
- case 'network-edit-settings':
367
- isShowNetworkEditSettingsModal.value = true
368
- initialData.value = properties
369
- break
370
- case 'port-edit-settings':
371
- initialData.value = properties
372
- isShowPortEditSettingsModal.value = true
373
- break
374
- case 'network-port-remove':
375
- initialData.value = properties
376
- isShowNetworkRemoveModal.value = true
377
- break
378
- case 'port-remove':
379
- initialData.value = properties
380
- isShowPortRemoveModal.value = true
381
- break
382
- case 'switch-edit':
383
- isShowSwitchEditSettingsModal.value = true
384
- initialData.value = useDeepCopy(switchInitialData.value)
385
- break
386
- case 'switch-manage-physical-adapters':
387
- isShowSwitchManagePhysicalAdaptersModal.value = true
388
- initialData.value = useDeepCopy(switchInitialData.value)
389
- break
390
- case 'add-networking':
391
- isShowAddNetworkingModal.value = true
392
- selectedStandardSwitchId.value = properties.switch_name
393
- selectedSwitchId.value = properties.switch_name
394
- break
395
- case 'switch-view-settings':
396
- isShowSwitchViewSettingsModal.value = true
397
- initialData.value = useDeepCopy(switchInitialData.value)
398
- break
399
- case 'migrate-vmkernel-adapter':
400
- isShowMigrateVmkernelAdapterModal.value = true
401
- break
402
- case 'switch-remove':
403
- isShowSwitchRemoveModal.value = true
404
- break
405
- }
406
- }
407
-
408
- const onRemove = (id: string, type: string) => {
409
- if (
410
- (type === 'network' || type === 'network1' || type === 'network2') &&
411
- selectedNetwork.value === id
412
- ) {
413
- selectedNetwork.value = '-1'
414
- resetSelection()
415
- } else if (type === 'port' && selectedPort.value.portId === id) {
416
- selectedPort.value.networkId = '-1'
417
- selectedPort.value.portId = '-1'
418
- resetSelection()
419
- }
420
-
421
- const hideModal =
422
- type === 'network' || type === 'network1' || type === 'network2'
423
- ? onHideNetworkRemoveModal
424
- : type === 'switch'
425
- ? onHideSwitchRemoveModal
426
- : onHidePortRemoveModal
427
-
428
- emits('remove', id, type, hideModal)
429
- }
430
- const onChangeEditFieldsData = (newEditFieldsData: UI_I_EditFieldsData) => {
431
- emits('change-edit-fields-data', newEditFieldsData)
432
- }
433
- const onCheckNetworkLabel = (
434
- label: string,
435
- sendMessage: (message: string) => void
436
- ) => {
437
- emits('check-network-label', label, sendMessage)
438
- }
439
- const onGetExistingStandardSwitches = () => {
440
- emits('get-existing-standard-switches')
441
- }
442
- const onGetTcpStacks = () => {
443
- emits('get-tcp-stacks')
444
- }
445
- const onGetFreeAdapters = (showModal: () => void) => {
446
- emits('get-free-adapters', showModal)
447
- }
448
- const onSendNetworkData = (
449
- data: UI_T_EditData,
450
- type: string,
451
- hideModal: () => void
452
- ) => {
453
- emits('send-add-networking-data', data, type, hideModal)
454
- }
455
- const onSendEditData = (type: string, hideModal: () => void, id?: string) => {
456
- emits('send-edit-data', type, initialData.value, hideModal, id)
457
- }
458
- const isShowDiagram = ref<boolean>(true)
459
- const onToggleDiagram = () => {
460
- isShowDiagram.value = !isShowDiagram.value
461
- }
462
- const mainRectHeights = ref<UI_I_MainRectHeights>(
463
- useDeepCopy(mainRectHeightsInitial)
464
- )
465
-
466
- const switchLine = ref<UI_I_SwitchLine>(useDeepCopy(switchLineInitial))
467
- const mainSwitchLine = computed<UI_I_SwitchLine>(
468
- () =>
469
- (switchLine.value.ay && {
470
- y1: Math.min(switchLine.value.y1, switchLine.value.ay),
471
- y2: Math.max(switchLine.value.y2, switchLine.value.ay),
472
- }) || { y1: 0, y2: 0 }
473
- )
474
-
475
- const selectedMainLine = ref(false)
476
- const selectedPort = ref<UI_I_SelectedPort>(useDeepCopy(selectedPortInitial))
477
- const selectedAdapter = ref<UI_I_SelectedAdapter>(
478
- useDeepCopy(selectedAdapterInitial)
479
- )
480
- const selectedNetwork = ref<string>('-1')
481
-
482
- const selectedSwitchLineY = ref<UI_I_SwitchLine>(
483
- useDeepCopy(selectedSwitchLineYInitial)
484
- )
485
- const mainRectHeight = computed<number>(() =>
486
- Math.max(
487
- mainRectHeights.value.networksHeight,
488
- mainRectHeights.value.adaptersHeight
489
- )
490
- )
491
-
492
- const countNetworksPositions = (
493
- newNetworks?: UI_I_Network[] | null
494
- ): UI_I_NetworksWithPositions[] => {
495
- let lastNetworkHeight = 0
496
- let lastPosition = UI_E_PositionsY.DIAGRAM_TOP + UI_E_PositionsY.BETWEEN_RECTS
497
- mainRectHeights.value.networksHeight =
498
- UI_E_PositionsY.DIAGRAM_TOP + UI_E_PositionsY.BETWEEN_RECTS
499
-
500
- const lastIndex = props.diagramData?.networks.findLastIndex(
501
- (network: UI_I_Network) =>
502
- network.activeAdapters.length > 0 && network.state.state !== 3
503
- )
504
-
505
- return (
506
- (newNetworks ? newNetworks : props.diagramData?.networks)?.map(
507
- (network: UI_I_Network, index: number) => {
508
- let portsCount = 0
509
- if (
510
- network.networkType ===
511
- (UI_E_NetworkType.VMPortsGroup || UI_E_NetworkType.VCenter)
512
- ) {
513
- portsCount = network.ports.length
514
- } else {
515
- portsCount = network.sysx ? 1 : 0
516
- }
517
- const portsHeight = network.toggle
518
- ? network.networkType === UI_E_NetworkType.VCenter
519
- ? portsCount * UI_E_PositionsY.SINGLE_V_CENTER_HEIGHT
520
- : portsCount * UI_E_PositionsY.SINGLE_PORT_HEIGHT
521
- : 0
522
- const networkHeight =
523
- UI_E_PositionsY.PORTS_FROM_RECT_TOP +
524
- portsHeight +
525
- (network.networkType === UI_E_NetworkType.VCenter
526
- ? UI_E_PositionsY.SINGLE_V_CENTER_HEIGHT - 10
527
- : UI_E_PositionsY.SINGLE_PORT_HEIGHT) +
528
- UI_E_PositionsY.SPACE_FROM_RECT_BOTTOM
529
-
530
- lastPosition +=
531
- lastNetworkHeight + (index && UI_E_PositionsY.BETWEEN_RECTS)
532
- lastNetworkHeight = networkHeight
533
-
534
- const connectLineY = lastPosition + networkHeight / 2
535
- const titlePosition = lastPosition + UI_E_PositionsY.TITLE_FROM_RECT_TOP
536
- const vlanPosition = lastPosition + UI_E_PositionsY.VLAN_FROM_RECT_TOP
537
- const portsPosition = lastPosition + UI_E_PositionsY.PORTS_FROM_RECT_TOP
538
-
539
- const networkPortsName =
540
- (network.networkType === UI_E_NetworkType.VMkernel &&
541
- 'VMkernel Ports') ||
542
- (network.networkType === UI_E_NetworkType.VMPortsGroup &&
543
- 'Virtual Machines') ||
544
- (network.networkType === UI_E_NetworkType.VCenter &&
545
- 'Virtual Machines') ||
546
- ''
547
-
548
- lastIndex !== -1 && index === 0 && (switchLine.value.y1 = connectLineY)
549
- lastIndex !== -1 &&
550
- index === lastIndex &&
551
- (switchLine.value.y2 = connectLineY)
552
-
553
- mainRectHeights.value.networksHeight +=
554
- networkHeight + UI_E_PositionsY.BETWEEN_RECTS
555
-
556
- const networkWithPortsPositions =
557
- network.networkType ===
558
- (UI_E_NetworkType.VMPortsGroup || UI_E_NetworkType.VCenter)
559
- ? network.ports.map((port, index) => {
560
- const portPosition =
561
- portsPosition +
562
- (network.networkType === UI_E_NetworkType.VCenter
563
- ? (index + 1) * UI_E_PositionsY.SINGLE_V_CENTER_HEIGHT - 10
564
- : (index + 1) * UI_E_PositionsY.SINGLE_PORT_HEIGHT)
565
-
566
- return {
567
- ...port,
568
- portPosition,
569
- }
570
- })
571
- : (network.sysx && [
572
- {
573
- id: network.sysx?.id,
574
- name: `${network.sysx?.id} ${
575
- network.sysx.ipv4_settings.ipv4
576
- ? `: ${network.sysx.ipv4_settings.ipv4}`
577
- : ''
578
- }`,
579
- state: network.sysx.state,
580
- testId: `port-${network.sysx?.id}`,
581
- portPosition:
582
- portsPosition + UI_E_PositionsY.SINGLE_PORT_HEIGHT,
583
- },
584
- ]) ||
585
- []
586
-
587
- return {
588
- ...network,
589
- ports: networkWithPortsPositions,
590
- portsCount,
591
- portsHeight,
592
- networkHeight,
593
- rectPosition: lastPosition,
594
- connectLineY,
595
- titlePosition,
596
- vlanPosition,
597
- vlanId: network.vlanId || '--',
598
- portsPosition,
599
- networkPortsName,
600
- }
601
- }
602
- ) || []
603
- )
604
- }
605
- const networksWithPositions = ref<UI_I_NetworksWithPositions[]>(
606
- countNetworksPositions()
607
- )
608
-
609
- const isPortToggled = ref<UI_I_PortToggleFlag>({
610
- value: false,
611
- id: '',
612
- })
613
-
614
- const countAdaptersPositions = (): UI_I_AdaptersWithPositions => {
615
- const { height, toggle, adaptersCount } = countAdaptersHeight(
616
- props.diagramData
617
- )
618
-
619
- mainRectHeights.value.adaptersHeight =
620
- UI_E_PositionsY.DIAGRAM_TOP + UI_E_PositionsY.BETWEEN_RECTS * 2 + height
621
-
622
- const { titlePosition, rectPosition, adaptersConnectLineY, adapters } =
623
- getAdaptersPositions(props.diagramData, height)
624
-
625
- switchLine.value.ay = adaptersConnectLineY
626
-
627
- return {
628
- toggle,
629
- height,
630
- adapters,
631
- rectPosition,
632
- adaptersConnectLineY,
633
- titlePosition,
634
- adaptersCount,
635
- }
636
- }
637
-
638
- const adaptersWithPositions = computed<UI_I_AdaptersWithPositions>(() => {
639
- return countAdaptersPositions()
640
- })
641
-
642
- const networksCount = computed<number>(
643
- () =>
644
- networksWithPositions.value.filter(
645
- (networkWithPositions: UI_I_NetworksWithPositions) =>
646
- networkWithPositions.activeAdapters.length > 0 &&
647
- networkWithPositions.state.state !== 3
648
- ).length
649
- )
650
-
651
- watch(
652
- () => props.diagramData?.networks,
653
- (newValue: UI_I_Network[] | null) => {
654
- networksWithPositions.value = countNetworksPositions(newValue)
655
-
656
- isPortToggled.value.value && handlePortToggle()
657
-
658
- if (selectedAdapter.value.adapterId !== '-1') {
659
- onSelectAdapter(selectedAdapter.value.adapterId)
660
- return
661
- }
662
-
663
- if (selectedPort.value.portId !== '-1') {
664
- onSelectPort(selectedPort.value.networkId, selectedPort.value.portId)
665
- return
666
- }
667
-
668
- if (selectedNetwork.value !== '-1') {
669
- cashedNetworkId.value = '-1'
670
- onSelectNetwork(selectedNetwork.value)
671
- return
672
- }
673
-
674
- if (selectedMainLine.value && networksCount.value === 0) {
675
- selectedMainLine.value = false
676
- return
677
- }
678
-
679
- if (selectedMainLine.value) return
680
-
681
- resetSelection()
682
- },
683
- { deep: true }
684
- )
685
-
686
- const onSelectPort = (networkId: string, portId: string): void => {
687
- const selectPortData = getSelectPortDataFunc(
688
- networkId,
689
- portId,
690
- networksWithPositions.value,
691
- adaptersWithPositions.value
692
- )
693
-
694
- if (!selectPortData) return
695
-
696
- selectedSwitchLineY.value = selectPortData.selectedSwitchLineY
697
- selectedPort.value = selectPortData.selectedPort
698
- }
699
-
700
- const cashedNetworkId = ref<string>('-1')
701
-
702
- const onSelectNetwork = (networkId: string): void => {
703
- if (cashedNetworkId.value === networkId) {
704
- resetSelection()
705
- cashedNetworkId.value = '-1'
706
- return
707
- }
708
-
709
- selectedNetwork.value = networkId
710
-
711
- const selectNetworkData = getSelectNetworkDataFunc(
712
- networkId,
713
- networksWithPositions.value,
714
- adaptersWithPositions.value
715
- )
716
-
717
- cashedNetworkId.value = networkId
718
-
719
- if (!selectNetworkData) return
720
-
721
- selectedSwitchLineY.value = selectNetworkData.selectedSwitchLineY
722
- selectedPort.value = selectNetworkData.selectedPort
723
- }
724
-
725
- const onSelectAdapter = (adapterId: string): void => {
726
- const selectedNetworks: UI_I_NetworksWithPositions[] =
727
- networksWithPositions.value?.filter(
728
- (network: UI_I_NetworksWithPositions) =>
729
- network.activeAdapters.includes(adapterId) && network.state.state !== 3
730
- )
731
-
732
- let pos: number[] = selectedNetworks?.reduce(networksPositions, [])
733
- let selectedAdapterPosition: number | null =
734
- adaptersWithPositions.value.adapters?.find(
735
- (adapter: UI_T_Adapters) => adapter.id === adapterId
736
- )?.adapterPosition || null
737
-
738
- selectedAdapterPosition !== null &&
739
- (selectedAdapterPosition += 7.5) &&
740
- pos?.push(selectedAdapterPosition)
741
-
742
- pos = pos?.sort((y1, y2) => y1 - y2)
743
-
744
- if (pos) {
745
- selectedSwitchLineY.value = {
746
- y1: pos[0],
747
- y2: pos[pos.length - 1],
748
- }
749
- }
750
-
751
- selectedAdapter.value = {
752
- adapterId,
753
- connectedPorts:
754
- selectedNetworks?.map((network: UI_I_Network) => ({
755
- networkId: network.id,
756
- ports: network.ports.map((port) => port.id),
757
- })) || [],
758
- }
759
- }
760
-
761
- const resetSelection = (): void => {
762
- selectedPort.value = useDeepCopy(selectedPortInitial)
763
- selectedSwitchLineY.value = useDeepCopy(selectedSwitchLineYInitial)
764
- selectedAdapter.value = useDeepCopy(selectedAdapterInitial)
765
- selectedNetwork.value = '-1'
766
- selectedMainLine.value = false
767
- }
768
-
769
- const emits = defineEmits<{
770
- (
771
- event: 'toggle-ports',
772
- payload: Omit<UI_I_ToggleDiagramPortsPayload, 'paths'>
773
- ): void
774
- (
775
- event: 'toggle-adapters',
776
- payload: Omit<UI_I_ToggleDiagramAdaptersPayload, 'paths'>
777
- ): void
778
- (event: 'get-existing-standard-switches'): void
779
- (
780
- event: 'send-add-networking-data',
781
- data: UI_T_EditData,
782
- type: string,
783
- hideModal: () => void
784
- ): void
785
- (
786
- event: 'add-networking-data-validate',
787
- data: UI_T_EditData,
788
- type: string,
789
- setValidation: (message: UI_I_ArbitraryObject<string>) => void
790
- ): void
791
- (
792
- event: 'check-network-label',
793
- label: string,
794
- sendMessage: (message: string) => void
795
- ): void
796
- (event: 'get-free-adapters', showModal: () => void): void
797
- (
798
- event: 'send-edit-data',
799
- type: string,
800
- initialData: UI_I_ModalsInitialData,
801
- hideModal: () => void,
802
- id?: string
803
- ): void
804
- (event: 'change-edit-fields-data', editFieldsData: UI_I_EditFieldsData): void
805
- (event: 'remove', id: string, type: string, hideModal: () => void): void
806
- (
807
- event: 'send-manage-physical-adapters-data',
808
- adapterStatus: UI_I_AdapterStatus,
809
- switchName: string,
810
- initialData: UI_I_ModalsInitialData,
811
- hideModal: () => void
812
- ): void
813
- (event: 'get-tcp-stacks'): void
814
- }>()
815
-
816
- const onTogglePorts = (
817
- id: string,
818
- isToggle: boolean,
819
- diagramId: string
820
- ): void => {
821
- emits('toggle-ports', {
822
- id,
823
- isToggle,
824
- diagramId,
825
- })
826
-
827
- isPortToggled.value = {
828
- value: true,
829
- id: id,
830
- }
831
- }
832
-
833
- const handlePortToggle = () => {
834
- cashedNetworkId.value = '-1'
835
-
836
- selectedPort.value.portId !== '-1' &&
837
- onSelectPort(selectedPort.value.networkId, selectedPort.value.portId)
838
- selectedAdapter.value.adapterId !== '-1' &&
839
- onSelectAdapter(selectedAdapter.value.adapterId)
840
- selectedNetwork.value !== '-1' && onSelectNetwork(selectedNetwork.value)
841
- hasPortAndNetwork(selectedPort.value, isPortToggled.value.id) &&
842
- resetSelection()
843
-
844
- isPortToggled.value = {
845
- value: false,
846
- id: '',
847
- }
848
- }
849
-
850
- const onToggleAdapters = (): void => {
851
- cashedNetworkId.value = '-1'
852
-
853
- const newState = !adaptersWithPositions.value.toggle
854
- const payload: Omit<UI_I_ToggleDiagramAdaptersPayload, 'paths'> = {
855
- isToggle: newState,
856
- diagramId: props.diagramData?.id || '',
857
- }
858
-
859
- emits('toggle-adapters', payload)
860
-
861
- selectedPort.value.portId !== '-1' &&
862
- onSelectPort(selectedPort.value.networkId, selectedPort.value.portId)
863
- selectedAdapter.value.adapterId !== '-1' && resetSelection()
864
- selectedNetwork.value !== '-1' && onSelectNetwork(selectedNetwork.value)
865
- }
866
-
867
- const onClickDiagram = (ev: MouseEvent): void => {
868
- const target = ev.target as HTMLElement
869
- const targetClassList = target.classList
870
-
871
- if (!targetClassList.contains('network-title')) {
872
- cashedNetworkId.value = '-1'
873
- }
874
-
875
- if (targetClassList.contains('main-line__handler')) {
876
- resetSelection()
877
- selectedMainLine.value = true
878
- } else {
879
- !(
880
- target.closest('.diagram-block__toggle') ||
881
- target.closest('.diagram-actions') ||
882
- target.closest('.dropdown-actions-container')
883
- ) && resetSelection()
884
- }
885
- }
886
- </script>
887
-
888
- <style scoped lang="scss">
889
- .diagram {
890
- &-min-width {
891
- //min-width: 745px;
892
- //min-width: 764px;
893
- &:not(:first-of-type) {
894
- margin-top: 16px;
895
- }
896
- }
897
- &-main-container {
898
- padding-top: 5px;
899
- }
900
- }
901
-
902
- .diagram-main-container.is-new-view {
903
- //display: flex;
904
- //justify-content: center;
905
- //margin: 16px 16px 30px;
906
-
907
- padding: 16px;
908
- border-radius: 8px;
909
- background: var(--diagram-container-bg);
910
- box-shadow: 0 1px 4px 0 #00000014;
911
- }
912
- </style>
913
- <style lang="scss">
914
- .diagram-main-actions__popup.navbar-dropdown-menu {
915
- .btn {
916
- border-radius: 3px;
917
- border-bottom: none;
918
- &:hover {
919
- border-bottom: none;
920
- }
921
- span {
922
- font-size: 14px;
923
- }
924
- &:active {
925
- box-shadow: none;
926
- }
927
- }
928
- }
929
- </style>
1
+ <template>
2
+ <div
3
+ v-if="props.diagramData"
4
+ :class="{ 'diagram-min-width': !props.inPortlet }"
5
+ >
6
+ <div class="diagram-main-container">
7
+ <common-diagram-main-header
8
+ :project="props.project"
9
+ :in-portlet="props.inPortlet"
10
+ :is-show-diagram="isShowDiagram"
11
+ :diagram-name="props.diagramData.diagramName"
12
+ :test-id="props.diagramData.testId"
13
+ @toggle-diagram="onToggleDiagram"
14
+ @show-modal="onShowModal"
15
+ />
16
+ <common-diagram-main-diagram
17
+ :diagram-data="props.diagramData"
18
+ :is-show-diagram="isShowDiagram"
19
+ :in-portlet="props.inPortlet"
20
+ :networks-with-positions="networksWithPositions"
21
+ :main-rect-height="mainRectHeight"
22
+ :main-switch-line="mainSwitchLine"
23
+ :selected-main-line="selectedMainLine"
24
+ :adapters-with-positions="adaptersWithPositions"
25
+ :selected-port="selectedPort"
26
+ :selected-adapter="selectedAdapter"
27
+ :selected-network="selectedNetwork"
28
+ :selected-switch-line-y="selectedSwitchLineY"
29
+ :is-dark-mode="props.isDarkMode"
30
+ :networks-count="networksCount"
31
+ @click-diagram="onClickDiagram"
32
+ @toggle-adapters="onToggleAdapters"
33
+ @select-adapter="onSelectAdapter"
34
+ @toggle-ports="onTogglePorts"
35
+ @select-port="onSelectPort"
36
+ @select-network="onSelectNetwork"
37
+ @show-modal="onShowModal"
38
+ />
39
+ </div>
40
+ <common-diagram-main-modals
41
+ :is-show-port-view-settings-modal="isShowPortViewSettingsModal"
42
+ :is-show-network-view-settings-modal="isShowNetworkViewSettingsModal"
43
+ :is-show-adapter-view-settings-modal="isShowAdapterViewSettingsModal"
44
+ :is-show-vcenter-view-settings-modal="isShowVCenterViewSettingsModal"
45
+ :is-show-network-remove-modal="isShowNetworkRemoveModal"
46
+ :is-show-switch-remove-modal="isShowSwitchRemoveModal"
47
+ :is-show-port-remove-modal="isShowPortRemoveModal"
48
+ :is-show-network-edit-settings-modal="isShowNetworkEditSettingsModal"
49
+ :is-show-port-edit-settings-modal="isShowPortEditSettingsModal"
50
+ :is-show-switch-edit-settings-modal="isShowSwitchEditSettingsModal"
51
+ :is-show-switch-view-settings-modal="isShowSwitchViewSettingsModal"
52
+ :is-show-switch-manage-physical-adapters-modal="
53
+ isShowSwitchManagePhysicalAdaptersModal
54
+ "
55
+ :is-show-add-networking-modal="isShowAddNetworkingModal"
56
+ :is-show-migrate-vmkernel-adapter-modal="
57
+ isShowMigrateVmkernelAdapterModal
58
+ "
59
+ :initial-data="initialData"
60
+ :host-name="props.hostName"
61
+ :is-remove-modal-loading="props.isRemoveModalLoading"
62
+ :diagram-data="props.diagramData"
63
+ :adapters="props.adapters"
64
+ :is-dark-mode="props.isDarkMode"
65
+ :is-edit-modal-loading="props.isEditModalLoading"
66
+ :free-adapters="props.freeAdapters"
67
+ :manage-physical-adapter-status="managePhysicalAdapterStatus"
68
+ :initial-manage-physical-adapter-status="
69
+ initialManagePhysicalAdapterStatus
70
+ "
71
+ :is-manage-adapters-modal-loading="props.isManageAdaptersModalLoading"
72
+ :standard-switches-initial="props.standardSwitchesInitial"
73
+ :selected-standard-switch-id="selectedStandardSwitchId"
74
+ :selected-switch-id="selectedSwitchId"
75
+ :tcp-stacks="props.tcpStacks"
76
+ :is-networking-loading="props.isNetworkingLoading"
77
+ :networks-list="props.networksList"
78
+ :is-migrate-adapter-loading="props.isMigrateAdapterLoading"
79
+ :diagrams-data="props.diagramsData"
80
+ :project="props.project"
81
+ @hide-port-view-settings-modal="onHidePortViewSettingsModal"
82
+ @hide-network-view-settings-modal="onHideNetworkViewSettingsModal"
83
+ @hide-adapter-view-settings-modal="onHideAdapterViewSettingsModal"
84
+ @hide-vcenter-view-settings-modal="onHideVCenterViewSettingsModal"
85
+ @hide-switch-view-settings-modal="onHideSwitchViewSettingsModal"
86
+ @hide-network-remove-modal="onHideNetworkRemoveModal"
87
+ @hide-switch-remove-modal="onHideSwitchRemoveModal"
88
+ @hide-port-remove-modal="onHidePortRemoveModal"
89
+ @hide-network-edit-settings-modal="onHideNetworkEditSettingsModal"
90
+ @hide-port-edit-settings-modal="onHidePortEditSettingsModal"
91
+ @hide-switch-edit-settings-modal="onHideSwitchEditSettingsModal"
92
+ @hide-switch-manage-physical-adapters-modal="
93
+ onHideSwitchManagePhysicalAdaptersModal
94
+ "
95
+ @hide-add-networking-modal="onHideAddNetworkingModal"
96
+ @hide-migrate-vmkernel-adapter-modal="onHideMigrateVmkernelAdapterModal"
97
+ @remove="onRemove"
98
+ @send-edit-data="onSendEditData"
99
+ @change-edit-fields-data="onChangeEditFieldsData"
100
+ @check-network-label="onCheckNetworkLabel"
101
+ @send-manage-physical-adapters-data="onSendManagePhysicalAdaptersData"
102
+ @change-adapter-status="onChangeManagePhysicalAdapterStatus"
103
+ @get-free-adapters="onGetFreeAdapters"
104
+ @get-existing-standard-switches="onGetExistingStandardSwitches"
105
+ @get-tcp-stacks="onGetTcpStacks"
106
+ @send-add-networking-data="onSendNetworkData"
107
+ @add-networking-data-validate="onValidateBeforeSending"
108
+ />
109
+ </div>
110
+ </template>
111
+
112
+ <script setup lang="ts">
113
+ import type {
114
+ UI_I_Adapter,
115
+ UI_I_AdapterStatus,
116
+ UI_I_AdaptersWithPositions,
117
+ UI_I_MainRectHeights,
118
+ UI_I_ModalsInitialData,
119
+ UI_I_Network,
120
+ UI_I_EditFieldsData,
121
+ UI_I_NetworksWithPositions,
122
+ UI_I_SelectedAdapter,
123
+ UI_I_SelectedPort,
124
+ UI_I_SwitchLine,
125
+ UI_I_ToggleDiagramAdaptersPayload,
126
+ UI_I_ToggleDiagramPortsPayload,
127
+ UI_I_PortToggleFlag,
128
+ UI_I_DiagramData,
129
+ UI_I_SwitchAdapterItem,
130
+ } from '~/components/common/diagramMain/lib/models/interfaces'
131
+ import type {
132
+ UI_I_ArbitraryObject,
133
+ UI_I_ItemsWithTotalCounts,
134
+ } from '~/lib/models/interfaces'
135
+ import type {
136
+ UI_I_Switch,
137
+ UI_I_TCPStack,
138
+ } from '~/components/common/wizards/network/add/lib/models/interfaces'
139
+ import type { UI_T_EditData } from '~/components/common/wizards/network/add/lib/models/types'
140
+ import type { UI_T_Adapters } from '~/components/common/diagramMain/lib/models/types'
141
+ import type { UI_T_Project } from '~/lib/models/types'
142
+ import { UI_E_NetworkType, UI_E_PositionsY } from './lib/models/enums'
143
+ import {
144
+ managePhysicalAdapterStatusInitial,
145
+ mainRectHeightsInitial,
146
+ switchLineInitial,
147
+ selectedPortInitial,
148
+ selectedSwitchLineYInitial,
149
+ selectedAdapterInitial,
150
+ } from '~/components/common/diagramMain/lib/config'
151
+ import {
152
+ hasPortAndNetwork,
153
+ networksPositions,
154
+ getSelectNetworkDataFunc,
155
+ getSelectPortDataFunc,
156
+ countAdaptersHeight,
157
+ getAdaptersPositions,
158
+ } from '~/components/common/diagramMain/lib/utils/utils'
159
+
160
+ const props = withDefaults(
161
+ defineProps<{
162
+ diagramData: UI_I_DiagramData
163
+ project?: UI_T_Project
164
+ inPortlet?: boolean
165
+ standardSwitchesInitial?: UI_I_Switch[]
166
+ hostName?: string
167
+ adapters?: UI_I_ItemsWithTotalCounts<UI_I_SwitchAdapterItem>
168
+ freeAdapters?: UI_I_Adapter[]
169
+ networksList?: UI_I_Network[]
170
+ isDarkMode: boolean
171
+ tcpStacks?: UI_I_TCPStack[]
172
+ diagramsData?: UI_I_DiagramData[]
173
+ isManageAdaptersModalLoading?: boolean
174
+ isNetworkingLoading?: boolean
175
+ isRemoveModalLoading?: boolean
176
+ isEditModalLoading?: boolean
177
+ isMigrateAdapterLoading?: boolean
178
+ }>(),
179
+ {
180
+ project: 'procurator',
181
+ diagramData: null,
182
+ inPortlet: false,
183
+ standardSwitchesInitial: () => [],
184
+ hostName: '',
185
+ adapters: () => ({
186
+ total_items: 0,
187
+ total_pages: 0,
188
+ items: [],
189
+ }),
190
+ freeAdapters: () => [],
191
+ networksList: () => [],
192
+ tcpStacks: () => [],
193
+ diagramsData: [],
194
+ isManageAdaptersModalLoading: false,
195
+ isNetworkingLoading: false,
196
+ isRemoveModalLoading: false,
197
+ isEditModalLoading: false,
198
+ isMigrateAdapterLoading: false,
199
+ }
200
+ )
201
+
202
+ const initialData = ref<UI_I_ModalsInitialData>({})
203
+ const switchInitialData = ref<UI_I_ModalsInitialData>({})
204
+
205
+ watch(
206
+ () => props.diagramData?.networking,
207
+ (initial: UI_I_ModalsInitialData | undefined) => {
208
+ if (initial) {
209
+ initialData.value = initial
210
+ switchInitialData.value = initial
211
+ }
212
+ },
213
+ { deep: true, immediate: true }
214
+ )
215
+
216
+ const onValidateBeforeSending = (
217
+ data: UI_T_EditData,
218
+ type: string,
219
+ setValidation: (messages: UI_I_ArbitraryObject<string>) => void
220
+ ) => {
221
+ emits('add-networking-data-validate', data, type, setValidation)
222
+ }
223
+
224
+ let initialManagePhysicalAdapterStatus = ref<UI_I_AdapterStatus>(
225
+ managePhysicalAdapterStatusInitial
226
+ )
227
+
228
+ const managePhysicalAdapterStatus = ref<UI_I_AdapterStatus>(
229
+ useDeepCopy(initialManagePhysicalAdapterStatus.value)
230
+ )
231
+
232
+ watch(
233
+ () => props.diagramData,
234
+ (newValue: UI_I_DiagramData) => {
235
+ if (newValue?.networking) {
236
+ initialManagePhysicalAdapterStatus.value = {
237
+ active: useDeepCopy(props.diagramData?.networking?.activeAdapters),
238
+ standby: useDeepCopy(props.diagramData?.networking?.standbyAdapters),
239
+ unused: useDeepCopy(props.diagramData?.networking?.unusedAdapters),
240
+ }
241
+
242
+ managePhysicalAdapterStatus.value = useDeepCopy(
243
+ initialManagePhysicalAdapterStatus.value
244
+ )
245
+ }
246
+ },
247
+ { deep: true, immediate: true }
248
+ )
249
+
250
+ const onChangeManagePhysicalAdapterStatus = (
251
+ adapterStatusNew: UI_I_AdapterStatus
252
+ ) => {
253
+ managePhysicalAdapterStatus.value = adapterStatusNew
254
+ }
255
+
256
+ const isShowSwitchManagePhysicalAdaptersModal = ref<boolean>(false)
257
+ const onHideSwitchManagePhysicalAdaptersModal = (): void => {
258
+ isShowSwitchManagePhysicalAdaptersModal.value = false
259
+ }
260
+
261
+ const onSendManagePhysicalAdaptersData = (
262
+ adapterStatus: UI_I_AdapterStatus,
263
+ switchName: string,
264
+ hideModal: () => void
265
+ ) => {
266
+ emits(
267
+ 'send-manage-physical-adapters-data',
268
+ adapterStatus,
269
+ switchName,
270
+ initialData.value,
271
+ hideModal
272
+ )
273
+ }
274
+
275
+ const isShowSwitchViewSettingsModal = ref<boolean>(false)
276
+ const isShowSwitchEditSettingsModal = ref<boolean>(false)
277
+ const isShowSwitchRemoveModal = ref<boolean>(false)
278
+ const onHideSwitchViewSettingsModal = (): void => {
279
+ isShowSwitchViewSettingsModal.value = false
280
+ }
281
+ const onHideSwitchEditSettingsModal = (): void => {
282
+ isShowSwitchEditSettingsModal.value = false
283
+ }
284
+ const onHideSwitchRemoveModal = (): void => {
285
+ isShowSwitchRemoveModal.value = false
286
+ }
287
+
288
+ const isShowAdapterViewSettingsModal = ref<boolean>(false)
289
+ const onHideAdapterViewSettingsModal = (): void => {
290
+ isShowAdapterViewSettingsModal.value = false
291
+ }
292
+
293
+ const isShowNetworkViewSettingsModal = ref<boolean>(false)
294
+ const isShowNetworkEditSettingsModal = ref<boolean>(false)
295
+ const isShowNetworkRemoveModal = ref<boolean>(false)
296
+ const onHideNetworkViewSettingsModal = (): void => {
297
+ isShowNetworkViewSettingsModal.value = false
298
+ }
299
+ const onHideNetworkEditSettingsModal = (): void => {
300
+ isShowNetworkEditSettingsModal.value = false
301
+ }
302
+ const onHideNetworkRemoveModal = (): void => {
303
+ isShowNetworkRemoveModal.value = false
304
+ }
305
+
306
+ const isShowPortViewSettingsModal = ref<boolean>(false)
307
+ const isShowPortEditSettingsModal = ref<boolean>(false)
308
+ const isShowPortRemoveModal = ref<boolean>(false)
309
+ const onHidePortViewSettingsModal = (): void => {
310
+ isShowPortViewSettingsModal.value = false
311
+ }
312
+ const onHidePortEditSettingsModal = (): void => {
313
+ isShowPortEditSettingsModal.value = false
314
+ }
315
+ const onHidePortRemoveModal = (): void => {
316
+ isShowPortRemoveModal.value = false
317
+ }
318
+
319
+ const isShowVCenterViewSettingsModal = ref<boolean>(false)
320
+ const onHideVCenterViewSettingsModal = (): void => {
321
+ isShowVCenterViewSettingsModal.value = false
322
+ }
323
+ const isShowAddNetworkingModal = ref<boolean>(false)
324
+ const onHideAddNetworkingModal = (): void => {
325
+ isShowAddNetworkingModal.value = false
326
+ }
327
+ const isShowMigrateVmkernelAdapterModal = ref<boolean>(false)
328
+ const onHideMigrateVmkernelAdapterModal = (): void => {
329
+ isShowMigrateVmkernelAdapterModal.value = false
330
+ }
331
+
332
+ const selectedStandardSwitchId = ref<string>('')
333
+ const selectedSwitchId = ref<string>('')
334
+
335
+ const onShowModal = (
336
+ value: string,
337
+ properties: UI_I_ModalsInitialData
338
+ ): void => {
339
+ switch (value) {
340
+ case 'port-view-settings':
341
+ initialData.value = properties
342
+ isShowPortViewSettingsModal.value = true
343
+ break
344
+ case 'network-view-settings':
345
+ isShowNetworkViewSettingsModal.value = true
346
+ initialData.value = properties
347
+ break
348
+ case 'adapter-view-settings':
349
+ isShowAdapterViewSettingsModal.value = true
350
+ initialData.value = properties
351
+ break
352
+ case 'v-center-view-settings':
353
+ isShowVCenterViewSettingsModal.value = true
354
+ initialData.value = properties
355
+ break
356
+ case 'network-edit-settings':
357
+ isShowNetworkEditSettingsModal.value = true
358
+ initialData.value = properties
359
+ break
360
+ case 'port-edit-settings':
361
+ initialData.value = properties
362
+ isShowPortEditSettingsModal.value = true
363
+ break
364
+ case 'network-port-remove':
365
+ initialData.value = properties
366
+ isShowNetworkRemoveModal.value = true
367
+ break
368
+ case 'port-remove':
369
+ initialData.value = properties
370
+ isShowPortRemoveModal.value = true
371
+ break
372
+ case 'switch-edit':
373
+ isShowSwitchEditSettingsModal.value = true
374
+ initialData.value = useDeepCopy(switchInitialData.value)
375
+ break
376
+ case 'switch-manage-physical-adapters':
377
+ isShowSwitchManagePhysicalAdaptersModal.value = true
378
+ initialData.value = useDeepCopy(switchInitialData.value)
379
+ break
380
+ case 'add-networking':
381
+ isShowAddNetworkingModal.value = true
382
+ selectedStandardSwitchId.value = properties.switch_name
383
+ selectedSwitchId.value = properties.switch_name
384
+ break
385
+ case 'switch-view-settings':
386
+ isShowSwitchViewSettingsModal.value = true
387
+ initialData.value = useDeepCopy(switchInitialData.value)
388
+ break
389
+ case 'migrate-vmkernel-adapter':
390
+ isShowMigrateVmkernelAdapterModal.value = true
391
+ break
392
+ case 'switch-remove':
393
+ isShowSwitchRemoveModal.value = true
394
+ break
395
+ }
396
+ }
397
+
398
+ const onRemove = (id: string, type: string) => {
399
+ if (
400
+ (type === 'network' || type === 'network1' || type === 'network2') &&
401
+ selectedNetwork.value === id
402
+ ) {
403
+ selectedNetwork.value = '-1'
404
+ resetSelection()
405
+ } else if (type === 'port' && selectedPort.value.portId === id) {
406
+ selectedPort.value.networkId = '-1'
407
+ selectedPort.value.portId = '-1'
408
+ resetSelection()
409
+ }
410
+
411
+ const hideModal =
412
+ type === 'network' || type === 'network1' || type === 'network2'
413
+ ? onHideNetworkRemoveModal
414
+ : type === 'switch'
415
+ ? onHideSwitchRemoveModal
416
+ : onHidePortRemoveModal
417
+
418
+ emits('remove', id, type, hideModal)
419
+ }
420
+ const onChangeEditFieldsData = (newEditFieldsData: UI_I_EditFieldsData) => {
421
+ emits('change-edit-fields-data', newEditFieldsData)
422
+ }
423
+ const onCheckNetworkLabel = (
424
+ label: string,
425
+ sendMessage: (message: string) => void
426
+ ) => {
427
+ emits('check-network-label', label, sendMessage)
428
+ }
429
+ const onGetExistingStandardSwitches = () => {
430
+ emits('get-existing-standard-switches')
431
+ }
432
+ const onGetTcpStacks = () => {
433
+ emits('get-tcp-stacks')
434
+ }
435
+ const onGetFreeAdapters = (showModal: () => void) => {
436
+ emits('get-free-adapters', showModal)
437
+ }
438
+ const onSendNetworkData = (
439
+ data: UI_T_EditData,
440
+ type: string,
441
+ hideModal: () => void
442
+ ) => {
443
+ emits('send-add-networking-data', data, type, hideModal)
444
+ }
445
+ const onSendEditData = (type: string, hideModal: () => void, id?: string) => {
446
+ emits('send-edit-data', type, initialData.value, hideModal, id)
447
+ }
448
+ const isShowDiagram = ref<boolean>(true)
449
+ const onToggleDiagram = () => {
450
+ isShowDiagram.value = !isShowDiagram.value
451
+ }
452
+ const mainRectHeights = ref<UI_I_MainRectHeights>(
453
+ useDeepCopy(mainRectHeightsInitial)
454
+ )
455
+
456
+ const switchLine = ref<UI_I_SwitchLine>(useDeepCopy(switchLineInitial))
457
+ const mainSwitchLine = computed<UI_I_SwitchLine>(
458
+ () =>
459
+ (switchLine.value.ay && {
460
+ y1: Math.min(switchLine.value.y1, switchLine.value.ay),
461
+ y2: Math.max(switchLine.value.y2, switchLine.value.ay),
462
+ }) || { y1: 0, y2: 0 }
463
+ )
464
+
465
+ const selectedMainLine = ref(false)
466
+ const selectedPort = ref<UI_I_SelectedPort>(useDeepCopy(selectedPortInitial))
467
+ const selectedAdapter = ref<UI_I_SelectedAdapter>(
468
+ useDeepCopy(selectedAdapterInitial)
469
+ )
470
+ const selectedNetwork = ref<string>('-1')
471
+
472
+ const selectedSwitchLineY = ref<UI_I_SwitchLine>(
473
+ useDeepCopy(selectedSwitchLineYInitial)
474
+ )
475
+ const mainRectHeight = computed<number>(() =>
476
+ Math.max(
477
+ mainRectHeights.value.networksHeight,
478
+ mainRectHeights.value.adaptersHeight
479
+ )
480
+ )
481
+
482
+ const countNetworksPositions = (
483
+ newNetworks?: UI_I_Network[] | null
484
+ ): UI_I_NetworksWithPositions[] => {
485
+ let lastNetworkHeight = 0
486
+ let lastPosition = UI_E_PositionsY.DIAGRAM_TOP + UI_E_PositionsY.BETWEEN_RECTS
487
+ mainRectHeights.value.networksHeight =
488
+ UI_E_PositionsY.DIAGRAM_TOP + UI_E_PositionsY.BETWEEN_RECTS
489
+
490
+ const lastIndex = props.diagramData?.networks.findLastIndex(
491
+ (network: UI_I_Network) =>
492
+ network.activeAdapters.length > 0 && network.state.state !== 3
493
+ )
494
+
495
+ return (
496
+ (newNetworks ? newNetworks : props.diagramData?.networks)?.map(
497
+ (network: UI_I_Network, index: number) => {
498
+ let portsCount = 0
499
+ if (
500
+ network.networkType ===
501
+ (UI_E_NetworkType.VMPortsGroup || UI_E_NetworkType.VCenter)
502
+ ) {
503
+ portsCount = network.ports.length
504
+ } else {
505
+ portsCount = network.sysx ? 1 : 0
506
+ }
507
+ const portsHeight = network.toggle
508
+ ? network.networkType === UI_E_NetworkType.VCenter
509
+ ? portsCount * UI_E_PositionsY.SINGLE_V_CENTER_HEIGHT
510
+ : portsCount * UI_E_PositionsY.SINGLE_PORT_HEIGHT
511
+ : 0
512
+ const networkHeight =
513
+ UI_E_PositionsY.PORTS_FROM_RECT_TOP +
514
+ portsHeight +
515
+ (network.networkType === UI_E_NetworkType.VCenter
516
+ ? UI_E_PositionsY.SINGLE_V_CENTER_HEIGHT - 10
517
+ : UI_E_PositionsY.SINGLE_PORT_HEIGHT) +
518
+ UI_E_PositionsY.SPACE_FROM_RECT_BOTTOM
519
+
520
+ lastPosition +=
521
+ lastNetworkHeight + (index && UI_E_PositionsY.BETWEEN_RECTS)
522
+ lastNetworkHeight = networkHeight
523
+
524
+ const connectLineY = lastPosition + networkHeight / 2
525
+ const titlePosition = lastPosition + UI_E_PositionsY.TITLE_FROM_RECT_TOP
526
+ const vlanPosition = lastPosition + UI_E_PositionsY.VLAN_FROM_RECT_TOP
527
+ const portsPosition = lastPosition + UI_E_PositionsY.PORTS_FROM_RECT_TOP
528
+
529
+ const networkPortsName =
530
+ (network.networkType === UI_E_NetworkType.VMkernel &&
531
+ 'VMkernel Ports') ||
532
+ (network.networkType === UI_E_NetworkType.VMPortsGroup &&
533
+ 'Virtual Machines') ||
534
+ (network.networkType === UI_E_NetworkType.VCenter &&
535
+ 'Virtual Machines') ||
536
+ ''
537
+
538
+ lastIndex !== -1 && index === 0 && (switchLine.value.y1 = connectLineY)
539
+ lastIndex !== -1 &&
540
+ index === lastIndex &&
541
+ (switchLine.value.y2 = connectLineY)
542
+
543
+ mainRectHeights.value.networksHeight +=
544
+ networkHeight + UI_E_PositionsY.BETWEEN_RECTS
545
+
546
+ const networkWithPortsPositions =
547
+ network.networkType ===
548
+ (UI_E_NetworkType.VMPortsGroup || UI_E_NetworkType.VCenter)
549
+ ? network.ports.map((port, index) => {
550
+ const portPosition =
551
+ portsPosition +
552
+ (network.networkType === UI_E_NetworkType.VCenter
553
+ ? (index + 1) * UI_E_PositionsY.SINGLE_V_CENTER_HEIGHT - 10
554
+ : (index + 1) * UI_E_PositionsY.SINGLE_PORT_HEIGHT)
555
+
556
+ return {
557
+ ...port,
558
+ portPosition,
559
+ }
560
+ })
561
+ : (network.sysx && [
562
+ {
563
+ id: network.sysx?.id,
564
+ name: `${network.sysx?.id} ${
565
+ network.sysx.ipv4_settings.ipv4
566
+ ? `: ${network.sysx.ipv4_settings.ipv4}`
567
+ : ''
568
+ }`,
569
+ state: network.sysx.state,
570
+ testId: `port-${network.sysx?.id}`,
571
+ portPosition:
572
+ portsPosition + UI_E_PositionsY.SINGLE_PORT_HEIGHT,
573
+ },
574
+ ]) ||
575
+ []
576
+
577
+ return {
578
+ ...network,
579
+ ports: networkWithPortsPositions,
580
+ portsCount,
581
+ portsHeight,
582
+ networkHeight,
583
+ rectPosition: lastPosition,
584
+ connectLineY,
585
+ titlePosition,
586
+ vlanPosition,
587
+ vlanId: network.vlanId || '--',
588
+ portsPosition,
589
+ networkPortsName,
590
+ }
591
+ }
592
+ ) || []
593
+ )
594
+ }
595
+ const networksWithPositions = ref<UI_I_NetworksWithPositions[]>(
596
+ countNetworksPositions()
597
+ )
598
+
599
+ const isPortToggled = ref<UI_I_PortToggleFlag>({
600
+ value: false,
601
+ id: '',
602
+ })
603
+
604
+ const countAdaptersPositions = (): UI_I_AdaptersWithPositions => {
605
+ const { height, toggle, adaptersCount } = countAdaptersHeight(
606
+ props.diagramData
607
+ )
608
+
609
+ mainRectHeights.value.adaptersHeight =
610
+ UI_E_PositionsY.DIAGRAM_TOP + UI_E_PositionsY.BETWEEN_RECTS * 2 + height
611
+
612
+ const { titlePosition, rectPosition, adaptersConnectLineY, adapters } =
613
+ getAdaptersPositions(props.diagramData, height)
614
+
615
+ switchLine.value.ay = adaptersConnectLineY
616
+
617
+ return {
618
+ toggle,
619
+ height,
620
+ adapters,
621
+ rectPosition,
622
+ adaptersConnectLineY,
623
+ titlePosition,
624
+ adaptersCount,
625
+ }
626
+ }
627
+
628
+ const adaptersWithPositions = computed<UI_I_AdaptersWithPositions>(() => {
629
+ return countAdaptersPositions()
630
+ })
631
+
632
+ const networksCount = computed<number>(
633
+ () =>
634
+ networksWithPositions.value.filter(
635
+ (networkWithPositions: UI_I_NetworksWithPositions) =>
636
+ networkWithPositions.activeAdapters.length > 0 &&
637
+ networkWithPositions.state.state !== 3
638
+ ).length
639
+ )
640
+
641
+ watch(
642
+ () => props.diagramData?.networks,
643
+ (newValue: UI_I_Network[] | null) => {
644
+ networksWithPositions.value = countNetworksPositions(newValue)
645
+
646
+ isPortToggled.value.value && handlePortToggle()
647
+
648
+ if (selectedAdapter.value.adapterId !== '-1') {
649
+ onSelectAdapter(selectedAdapter.value.adapterId)
650
+ return
651
+ }
652
+
653
+ if (selectedPort.value.portId !== '-1') {
654
+ onSelectPort(selectedPort.value.networkId, selectedPort.value.portId)
655
+ return
656
+ }
657
+
658
+ if (selectedNetwork.value !== '-1') {
659
+ cashedNetworkId.value = '-1'
660
+ onSelectNetwork(selectedNetwork.value)
661
+ return
662
+ }
663
+
664
+ if (selectedMainLine.value && networksCount.value === 0) {
665
+ selectedMainLine.value = false
666
+ return
667
+ }
668
+
669
+ if (selectedMainLine.value) return
670
+
671
+ resetSelection()
672
+ },
673
+ { deep: true }
674
+ )
675
+
676
+ const onSelectPort = (networkId: string, portId: string): void => {
677
+ const selectPortData = getSelectPortDataFunc(
678
+ networkId,
679
+ portId,
680
+ networksWithPositions.value,
681
+ adaptersWithPositions.value
682
+ )
683
+
684
+ if (!selectPortData) return
685
+
686
+ selectedSwitchLineY.value = selectPortData.selectedSwitchLineY
687
+ selectedPort.value = selectPortData.selectedPort
688
+ }
689
+
690
+ const cashedNetworkId = ref<string>('-1')
691
+
692
+ const onSelectNetwork = (networkId: string): void => {
693
+ if (cashedNetworkId.value === networkId) {
694
+ resetSelection()
695
+ cashedNetworkId.value = '-1'
696
+ return
697
+ }
698
+
699
+ selectedNetwork.value = networkId
700
+
701
+ const selectNetworkData = getSelectNetworkDataFunc(
702
+ networkId,
703
+ networksWithPositions.value,
704
+ adaptersWithPositions.value
705
+ )
706
+
707
+ cashedNetworkId.value = networkId
708
+
709
+ if (!selectNetworkData) return
710
+
711
+ selectedSwitchLineY.value = selectNetworkData.selectedSwitchLineY
712
+ selectedPort.value = selectNetworkData.selectedPort
713
+ }
714
+
715
+ const onSelectAdapter = (adapterId: string): void => {
716
+ const selectedNetworks: UI_I_NetworksWithPositions[] =
717
+ networksWithPositions.value?.filter(
718
+ (network: UI_I_NetworksWithPositions) =>
719
+ network.activeAdapters.includes(adapterId) && network.state.state !== 3
720
+ )
721
+
722
+ let pos: number[] = selectedNetworks?.reduce(networksPositions, [])
723
+ let selectedAdapterPosition: number | null =
724
+ adaptersWithPositions.value.adapters?.find(
725
+ (adapter: UI_T_Adapters) => adapter.id === adapterId
726
+ )?.adapterPosition || null
727
+
728
+ selectedAdapterPosition !== null &&
729
+ (selectedAdapterPosition += 7.5) &&
730
+ pos?.push(selectedAdapterPosition)
731
+
732
+ pos = pos?.sort((y1, y2) => y1 - y2)
733
+
734
+ if (pos) {
735
+ selectedSwitchLineY.value = {
736
+ y1: pos[0],
737
+ y2: pos[pos.length - 1],
738
+ }
739
+ }
740
+
741
+ selectedAdapter.value = {
742
+ adapterId,
743
+ connectedPorts:
744
+ selectedNetworks?.map((network: UI_I_Network) => ({
745
+ networkId: network.id,
746
+ ports: network.ports.map((port) => port.id),
747
+ })) || [],
748
+ }
749
+ }
750
+
751
+ const resetSelection = (): void => {
752
+ selectedPort.value = useDeepCopy(selectedPortInitial)
753
+ selectedSwitchLineY.value = useDeepCopy(selectedSwitchLineYInitial)
754
+ selectedAdapter.value = useDeepCopy(selectedAdapterInitial)
755
+ selectedNetwork.value = '-1'
756
+ selectedMainLine.value = false
757
+ }
758
+
759
+ const emits = defineEmits<{
760
+ (
761
+ event: 'toggle-ports',
762
+ payload: Omit<UI_I_ToggleDiagramPortsPayload, 'paths'>
763
+ ): void
764
+ (
765
+ event: 'toggle-adapters',
766
+ payload: Omit<UI_I_ToggleDiagramAdaptersPayload, 'paths'>
767
+ ): void
768
+ (event: 'get-existing-standard-switches'): void
769
+ (
770
+ event: 'send-add-networking-data',
771
+ data: UI_T_EditData,
772
+ type: string,
773
+ hideModal: () => void
774
+ ): void
775
+ (
776
+ event: 'add-networking-data-validate',
777
+ data: UI_T_EditData,
778
+ type: string,
779
+ setValidation: (message: UI_I_ArbitraryObject<string>) => void
780
+ ): void
781
+ (
782
+ event: 'check-network-label',
783
+ label: string,
784
+ sendMessage: (message: string) => void
785
+ ): void
786
+ (event: 'get-free-adapters', showModal: () => void): void
787
+ (
788
+ event: 'send-edit-data',
789
+ type: string,
790
+ initialData: UI_I_ModalsInitialData,
791
+ hideModal: () => void,
792
+ id?: string
793
+ ): void
794
+ (event: 'change-edit-fields-data', editFieldsData: UI_I_EditFieldsData): void
795
+ (event: 'remove', id: string, type: string, hideModal: () => void): void
796
+ (
797
+ event: 'send-manage-physical-adapters-data',
798
+ adapterStatus: UI_I_AdapterStatus,
799
+ switchName: string,
800
+ initialData: UI_I_ModalsInitialData,
801
+ hideModal: () => void
802
+ ): void
803
+ (event: 'get-tcp-stacks'): void
804
+ }>()
805
+
806
+ const onTogglePorts = (
807
+ id: string,
808
+ isToggle: boolean,
809
+ diagramId: string
810
+ ): void => {
811
+ emits('toggle-ports', {
812
+ id,
813
+ isToggle,
814
+ diagramId,
815
+ })
816
+
817
+ isPortToggled.value = {
818
+ value: true,
819
+ id: id,
820
+ }
821
+ }
822
+
823
+ const handlePortToggle = () => {
824
+ cashedNetworkId.value = '-1'
825
+
826
+ selectedPort.value.portId !== '-1' &&
827
+ onSelectPort(selectedPort.value.networkId, selectedPort.value.portId)
828
+ selectedAdapter.value.adapterId !== '-1' &&
829
+ onSelectAdapter(selectedAdapter.value.adapterId)
830
+ selectedNetwork.value !== '-1' && onSelectNetwork(selectedNetwork.value)
831
+ hasPortAndNetwork(selectedPort.value, isPortToggled.value.id) &&
832
+ resetSelection()
833
+
834
+ isPortToggled.value = {
835
+ value: false,
836
+ id: '',
837
+ }
838
+ }
839
+
840
+ const onToggleAdapters = (): void => {
841
+ cashedNetworkId.value = '-1'
842
+
843
+ const newState = !adaptersWithPositions.value.toggle
844
+ const payload: Omit<UI_I_ToggleDiagramAdaptersPayload, 'paths'> = {
845
+ isToggle: newState,
846
+ diagramId: props.diagramData?.id || '',
847
+ }
848
+
849
+ emits('toggle-adapters', payload)
850
+
851
+ selectedPort.value.portId !== '-1' &&
852
+ onSelectPort(selectedPort.value.networkId, selectedPort.value.portId)
853
+ selectedAdapter.value.adapterId !== '-1' && resetSelection()
854
+ selectedNetwork.value !== '-1' && onSelectNetwork(selectedNetwork.value)
855
+ }
856
+
857
+ const onClickDiagram = (ev: MouseEvent): void => {
858
+ const target = ev.target as HTMLElement
859
+ const targetClassList = target.classList
860
+
861
+ if (!targetClassList.contains('network-title')) {
862
+ cashedNetworkId.value = '-1'
863
+ }
864
+
865
+ if (targetClassList.contains('main-line__handler')) {
866
+ resetSelection()
867
+ selectedMainLine.value = true
868
+ } else {
869
+ !(
870
+ target.closest('.diagram-block__toggle') ||
871
+ target.closest('.diagram-actions') ||
872
+ target.closest('.dropdown-actions-container')
873
+ ) && resetSelection()
874
+ }
875
+ }
876
+ </script>
877
+
878
+ <style scoped lang="scss">
879
+ .diagram {
880
+ &-min-width {
881
+ //min-width: 745px;
882
+ //min-width: 764px;
883
+ }
884
+ &-main-container {
885
+ padding-top: 5px;
886
+ }
887
+ }
888
+ </style>
889
+ <style lang="scss">
890
+ .diagram-main-actions__popup.navbar-dropdown-menu {
891
+ .btn {
892
+ border-radius: 3px;
893
+ border-bottom: none;
894
+ &:hover {
895
+ border-bottom: none;
896
+ }
897
+ span {
898
+ font-size: 14px;
899
+ }
900
+ &:active {
901
+ box-shadow: none;
902
+ }
903
+ }
904
+ }
905
+ </style>