bfg-common 1.6.63 → 1.6.64

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