bfg-common 1.6.76 → 1.6.78

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 (138) hide show
  1. package/assets/localization/local_be.json +1 -14
  2. package/assets/localization/local_en.json +1 -14
  3. package/assets/localization/local_hy.json +1 -14
  4. package/assets/localization/local_kk.json +1 -14
  5. package/assets/localization/local_ru.json +1 -14
  6. package/assets/localization/local_zh.json +1 -14
  7. package/components/atoms/dropdown/dropdown/Dropdown.vue +170 -170
  8. package/components/atoms/dropdown/dropdown/lib/models/interfaces.ts +10 -10
  9. package/components/common/adapterManager/AdapterManager.vue +473 -473
  10. package/components/common/adapterManager/AdapterManagerOld.vue +498 -498
  11. package/components/common/adapterManager/addAdapterModal/AddAdapterModal.vue +70 -70
  12. package/components/common/adapterManager/addAdapterModal/AddAdapterModalNew.vue +110 -110
  13. package/components/common/adapterManager/addAdapterModal/AddAdapterModalOld.vue +531 -531
  14. package/components/common/adapterManager/addAdapterWarningModal/AddAdapterWarningModal.vue +32 -32
  15. package/components/common/adapterManager/addAdapterWarningModal/AddAdapterWarningModalNew.vue +37 -37
  16. package/components/common/adapterManager/addAdapterWarningModal/AddAdapterWarningModalOld.vue +73 -73
  17. package/components/common/adapterManager/lib/config/index.ts +19 -19
  18. package/components/common/adapterManager/noActiveAdaptersModal/NoActiveAdaptersModal.vue +31 -31
  19. package/components/common/adapterManager/noActiveAdaptersModal/NoActiveAdaptersModalNew.vue +34 -34
  20. package/components/common/adapterManager/noActiveAdaptersModal/NoActiveAdaptersModalOld.vue +57 -57
  21. package/components/common/adapterManager/noConnectedActiveAdaptersModal/NoConnectedActiveAdaptersModal.vue +31 -31
  22. package/components/common/adapterManager/noConnectedActiveAdaptersModal/NoConnectedActiveAdaptersModalNew.vue +34 -34
  23. package/components/common/adapterManager/noConnectedActiveAdaptersModal/NoConnectedActiveAdaptersModalOld.vue +57 -57
  24. package/components/common/adapterManager/ui/actions/AddAdapterButton.vue +34 -34
  25. package/components/common/adapterManager/ui/actions/RemoveAdapterButton.vue +41 -41
  26. package/components/common/adapterManager/ui/actions/VerticalSeparator.vue +10 -10
  27. package/components/common/adapterManager/ui/actions/bar/BarOld.vue +95 -95
  28. package/components/common/adapterManager/ui/actions/moveDownAdapterButton/MoveDownAdapterButton.vue +28 -28
  29. package/components/common/adapterManager/ui/actions/moveDownAdapterButton/MoveDownAdapterButtonNew.vue +76 -76
  30. package/components/common/adapterManager/ui/actions/moveDownAdapterButton/MoveDownAdapterButtonOld.vue +33 -33
  31. package/components/common/adapterManager/ui/actions/moveUpAdapterButton/MoveUpAdapterButton.vue +28 -28
  32. package/components/common/adapterManager/ui/actions/moveUpAdapterButton/MoveUpAdapterButtonNew.vue +77 -77
  33. package/components/common/adapterManager/ui/actions/moveUpAdapterButton/MoveUpAdapterButtonOld.vue +33 -33
  34. package/components/common/adapterManager/ui/noSelectedAdapter/NoSelectedAdapter.vue +24 -24
  35. package/components/common/adapterManager/ui/noSelectedAdapter/NoSelectedAdapterNew.vue +18 -18
  36. package/components/common/adapterManager/ui/noSelectedAdapter/NoSelectedAdapterOld.vue +38 -38
  37. package/components/common/adapterManager/ui/secondTitle/SecondTitle.vue +31 -31
  38. package/components/common/adapterManager/ui/secondTitle/SecondTitleNew.vue +51 -51
  39. package/components/common/adapterManager/ui/secondTitle/SecondTitleOld.vue +35 -35
  40. package/components/common/adapterManager/ui/table/Table.vue +88 -88
  41. package/components/common/adapterManager/ui/table/TableNew.vue +137 -137
  42. package/components/common/adapterManager/ui/table/TableOld.vue +141 -141
  43. package/components/common/adapterManager/ui/table/adapters/Adapters.vue +44 -44
  44. package/components/common/adapterManager/ui/table/adapters/AdaptersNew.vue +187 -187
  45. package/components/common/adapterManager/ui/table/adapters/AdaptersOld.vue +87 -87
  46. package/components/common/adapterManager/ui/table/header/Header.vue +57 -57
  47. package/components/common/adapterManager/ui/table/header/HeaderNew.vue +81 -81
  48. package/components/common/adapterManager/ui/table/header/HeaderOld.vue +79 -79
  49. package/components/common/adapterManager/ui/table/lib/models/types.ts +1 -1
  50. package/components/common/certificate/Certificate.vue +6 -16
  51. package/components/common/certificate/{Info/Old.vue → CertificateInfo.vue} +34 -6
  52. package/components/common/certificate/{tools/Tools.vue → Tools.vue} +23 -18
  53. package/components/common/certificate/lib/config/tabsPannel.ts +22 -0
  54. package/components/common/diagramMain/adapter/Adapter.vue +123 -123
  55. package/components/common/diagramMain/adapter/AdapterItem.vue +438 -438
  56. package/components/common/diagramMain/adapter/AdapterItems.vue +61 -61
  57. package/components/common/diagramMain/adapter/Contents.vue +212 -212
  58. package/components/common/diagramMain/adapter/Lines.vue +81 -81
  59. package/components/common/diagramMain/adapter/block/Block.vue +27 -27
  60. package/components/common/diagramMain/adapter/block/BlockNew.vue +58 -58
  61. package/components/common/diagramMain/adapter/block/BlockOld.vue +50 -50
  62. package/components/common/diagramMain/adapter/secondBlock/SecondBlock.vue +27 -27
  63. package/components/common/diagramMain/adapter/secondBlock/SecondBlockNew.vue +60 -60
  64. package/components/common/diagramMain/adapter/secondBlock/SecondBlockOld.vue +51 -51
  65. package/components/common/diagramMain/highlights/Highlights.vue +151 -151
  66. package/components/common/diagramMain/highlights/HighlightsNew.vue +124 -124
  67. package/components/common/diagramMain/highlights/HighlightsOld.vue +107 -107
  68. package/components/common/diagramMain/lib/config/index.ts +81 -81
  69. package/components/common/diagramMain/lib/config/initial.ts +50 -50
  70. package/components/common/diagramMain/lib/config/positions.ts +194 -194
  71. package/components/common/diagramMain/lib/models/enums.ts +44 -44
  72. package/components/common/diagramMain/lib/models/interfaces.ts +760 -760
  73. package/components/common/diagramMain/lib/models/types.ts +21 -21
  74. package/components/common/diagramMain/lib/utils/utils.ts +331 -331
  75. package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +331 -331
  76. package/components/common/diagramMain/modals/Modals.vue +483 -483
  77. package/components/common/diagramMain/modals/lib/config/adapterModal.ts +147 -147
  78. package/components/common/diagramMain/modals/lib/config/initial.ts +180 -180
  79. package/components/common/diagramMain/modals/lib/config/networkModal.ts +405 -405
  80. package/components/common/diagramMain/modals/lib/config/portModal.ts +253 -253
  81. package/components/common/diagramMain/modals/lib/config/switchModal.ts +245 -245
  82. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  83. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
  84. package/components/common/diagramMain/modals/lib/mappers/mappers.ts +88 -88
  85. package/components/common/diagramMain/modals/migrateVmkernelAdapter/MigrateVmkernelAdapter.vue +541 -541
  86. package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
  87. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +170 -170
  88. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +159 -159
  89. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/VmkernelAdapterReadyComplete.vue +49 -49
  90. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +19 -19
  91. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +137 -137
  92. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
  93. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
  94. package/components/common/diagramMain/modals/remove/RemoveModal.vue +82 -82
  95. package/components/common/diagramMain/modals/remove/RemoveModalNew.vue +106 -106
  96. package/components/common/diagramMain/modals/remove/RemoveModalOld.vue +241 -241
  97. package/components/common/diagramMain/modals/viewSettings/info/Info.vue +57 -57
  98. package/components/common/diagramMain/modals/viewSettings/info/InfoNew.vue +174 -174
  99. package/components/common/diagramMain/modals/viewSettings/info/InfoOld.vue +141 -141
  100. package/components/common/diagramMain/modals/viewSettings/viewSettings/ViewSettings.vue +45 -45
  101. package/components/common/diagramMain/modals/viewSettings/viewSettings/ViewSettingsNew.vue +323 -323
  102. package/components/common/diagramMain/modals/viewSettings/viewSettings/ViewSettingsOld.vue +203 -203
  103. package/components/common/diagramMain/modals/viewSettings/viewSettingsModal/ViewSettingsModal.vue +60 -60
  104. package/components/common/diagramMain/modals/viewSettings/viewSettingsModal/ViewSettingsModalNew.vue +50 -50
  105. package/components/common/diagramMain/modals/viewSettings/viewSettingsModal/ViewSettingsModalOld.vue +70 -70
  106. package/components/common/diagramMain/modals/viewSettings/viewSettingsModal/lib/models/interfaces.ts +48 -48
  107. package/components/common/diagramMain/network/Contents.vue +497 -497
  108. package/components/common/diagramMain/network/Lines.vue +107 -107
  109. package/components/common/diagramMain/network/Network.vue +141 -141
  110. package/components/common/diagramMain/network/block/Block.vue +37 -37
  111. package/components/common/diagramMain/network/block/BlockNew.vue +68 -68
  112. package/components/common/diagramMain/network/block/BlockOld.vue +64 -64
  113. package/components/common/diagramMain/network/noNetwork/NoNetwork.vue +12 -12
  114. package/components/common/diagramMain/network/noNetwork/NoNetworkNew.vue +89 -89
  115. package/components/common/diagramMain/network/noNetwork/NoNetworkOld.vue +61 -61
  116. package/components/common/diagramMain/network/secondBlock/SecondBlock.vue +41 -41
  117. package/components/common/diagramMain/network/secondBlock/SecondBlockNew.vue +64 -64
  118. package/components/common/diagramMain/network/secondBlock/SecondBlockOld.vue +60 -60
  119. package/components/common/diagramMain/port/Port.vue +580 -580
  120. package/components/common/diagramMain/port/Ports.vue +47 -47
  121. package/components/common/diagramMain/switch/Switch.vue +180 -180
  122. package/components/common/diagramMain/switch/SwitchSelected.vue +111 -111
  123. package/components/common/monitor/advanced/table/tableOld/TableOld.vue +93 -93
  124. package/components/common/monitor/utilization/lib/models/enums.ts +4 -4
  125. package/components/common/split/horizontal/New.vue +1 -1
  126. package/components/common/split/horizontal/Old.vue +1 -1
  127. package/package.json +2 -2
  128. package/components/common/certificate/Info/Info.vue +0 -61
  129. package/components/common/certificate/Info/new/New.vue +0 -285
  130. package/components/common/certificate/Info/new/lib/config/index.ts +0 -59
  131. package/components/common/certificate/Info/new/lib/models/interfaces.ts +0 -3
  132. package/components/common/certificate/Info/new/lib/utils/index.ts +0 -10
  133. package/components/common/certificate/Old.vue +0 -27
  134. package/components/common/certificate/new/New.vue +0 -30
  135. package/components/common/certificate/new/Skeleton.vue +0 -155
  136. package/components/common/certificate/tools/New.vue +0 -48
  137. package/components/common/certificate/tools/Old.vue +0 -39
  138. package/components/common/certificate/tools/lib/config/tabsPannel.ts +0 -20
@@ -1,438 +1,438 @@
1
- <template>
2
- <g data-title="adapter-item-group">
3
- <g>
4
- <common-diagram-main-highlights
5
- data-title="adapter-item"
6
- type="main-orange"
7
- width="276"
8
- height="18"
9
- :x="positions.blockX"
10
- :y="adapterSelectionPosition"
11
- radius="3"
12
- :hide="!isConnectedAdapterToPortOrNetwork"
13
- />
14
-
15
- <common-diagram-main-highlights
16
- data-title="adapter-item"
17
- type="main-blue"
18
- width="276"
19
- height="18"
20
- :x="positions.blockX"
21
- :y="adapterSelectionPosition"
22
- radius="3"
23
- :hide="!isSelectedAdapter"
24
- />
25
- </g>
26
-
27
- <foreignObject
28
- dy="11px"
29
- height="20"
30
- :width="positions.adapterWidth"
31
- :x="positions.adapterX"
32
- :y="props.adapter.adapterPosition"
33
- class="diagram__values"
34
- >
35
- <span
36
- :id="`adapter-${props.adapter.id}`"
37
- :data-id="`${props.adapter.testId}-select`"
38
- data-title="adapter-name"
39
- class="adapter-name text-ellipsis"
40
- @click="onSelectAdapter(props.adapter.id)"
41
- >
42
- {{ adapterName }}
43
- </span>
44
- </foreignObject>
45
-
46
- <!-- Connection X-->
47
- <foreignObject
48
- v-if="
49
- !props.adapter.carrier && props.adapter.status !== 'error' && !isNewView
50
- "
51
- data-title="adapter-connection-icon"
52
- width="18"
53
- height="18"
54
- x="446"
55
- :y="adapterSelectionPosition"
56
- >
57
- <atoms-diagram-icon name="adapter-carrier" />
58
- </foreignObject>
59
-
60
- <foreignObject
61
- v-if="props.adapter.status === 'error'"
62
- data-title="adapter-error-icon"
63
- width="15"
64
- height="15"
65
- :x="positions.errorIconX"
66
- :y="positions.errorIconY"
67
- >
68
- <!-- TODO MAKE TOOLTIP-->
69
- <ui-icon
70
- v-if="isNewView"
71
- name="info"
72
- color="#EA3223"
73
- width="14"
74
- height="14"
75
- />
76
- <atoms-diagram-icon v-else name="adapter-error" />
77
- </foreignObject>
78
-
79
- <common-diagram-main-highlights
80
- data-title="adapter-item-line"
81
- type="line-orange"
82
- :x="positions.x1"
83
- :y="adapterLinePosition"
84
- :x2="positions.x2"
85
- :y2="adapterLinePosition"
86
- :hide="!isVisibleAdapterLine"
87
- />
88
-
89
- <foreignObject
90
- data-title="adapter-item-icon"
91
- :width="positions.adapterIconSize"
92
- :height="positions.adapterIconSize"
93
- :x="positions.adapterIconX"
94
- :y="positions.adapterIconY"
95
- >
96
- <div v-if="isNewView && !props.adapter.carrier">
97
- <ui-icon
98
- v-if="props.isDarkMode"
99
- name="diagram-adapter-item-not-connected-dark"
100
- width="20"
101
- height="20"
102
- />
103
- <ui-icon
104
- v-else
105
- name="diagram-adapter-item-not-connected"
106
- width="20"
107
- height="20"
108
- />
109
- </div>
110
- <div v-else-if="isNewView && props.adapter.carrier">
111
- <ui-icon
112
- v-if="props.isDarkMode"
113
- name="diagram-adapter-item-dark"
114
- width="20"
115
- height="20"
116
- />
117
- <ui-icon v-else name="diagram-adapter-item" width="20" height="20" />
118
- </div>
119
- <div v-else>
120
- <atoms-diagram-icon
121
- v-if="props.isDarkMode"
122
- name="adapter-item-icon-dark"
123
- />
124
- <atoms-diagram-icon v-else name="adapter-item-icon" />
125
- </div>
126
- </foreignObject>
127
-
128
- <foreignObject
129
- v-if="props.adapter.status !== 'error'"
130
- data-title="adapter-action-icon"
131
- width="18"
132
- height="18"
133
- :x="positions.actionX"
134
- :y="positions.actionY"
135
- cursor="pointer"
136
- >
137
- <div v-if="isNewView" class="dropdown-actions-container">
138
- <button
139
- :id="`dropdown-${props.adapter.id}`"
140
- :class="[
141
- 'action-button',
142
- { 'action-button-selected': isShowDropdown },
143
- ]"
144
- @click="isShowDropdown = !isShowDropdown"
145
- >
146
- <ui-icon name="horizontal-dotes" width="16" height="16" />
147
- </button>
148
- <Teleport to="body">
149
- <ui-dropdown
150
- :test-id="props.adapter.testId"
151
- :show="isShowDropdown"
152
- :items="adapterPopupFields"
153
- :elem-id="`dropdown-${props.adapter.id}`"
154
- width="max-content"
155
- show-from-left
156
- :margin-between-trigger="0"
157
- @select="(value) => onShowModal(value, adapterProperties)"
158
- @hide="onHide"
159
- ></ui-dropdown>
160
- </Teleport>
161
- </div>
162
- <div v-else class="diagram-actions">
163
- <atoms-collapse-nav
164
- class="diagram-actions__icon"
165
- value="-1"
166
- popup-class="diagram-actions__popup"
167
- :close-after-click="true"
168
- :items="adapterPopupFields"
169
- :test-id="props.adapter.testId"
170
- @change="(value) => onShowModal(value, adapterProperties)"
171
- />
172
- </div>
173
- </foreignObject>
174
-
175
- <g v-if="props.adapter.status !== 'error'">
176
- <foreignObject
177
- v-if="props.adapter.carrier"
178
- data-title="adapter-second-connected-icon"
179
- :width="positions.adapterSecondIconSize"
180
- :height="positions.adapterSecondIconSize"
181
- :x="positions.adapterSecondIconX"
182
- :y="positions.adapterSecondIconY"
183
- >
184
- <div>
185
- <ui-icon
186
- v-if="isNewView"
187
- width="16"
188
- height="16"
189
- name="diagram-fill-adapter"
190
- />
191
- <atoms-diagram-icon v-else name="fill-adapter" />
192
- </div>
193
- </foreignObject>
194
-
195
- <foreignObject
196
- v-else
197
- data-title="adapter-second-not-connected-icon"
198
- :width="positions.adapterSecondIconSize"
199
- :height="positions.adapterSecondIconSize"
200
- :x="positions.adapterSecondIconX"
201
- :y="positions.adapterSecondIconY"
202
- >
203
- <div>
204
- <ui-icon
205
- v-if="isNewView"
206
- width="16"
207
- height="16"
208
- name="diagram-outline-adapter"
209
- />
210
- <atoms-diagram-icon v-else name="outline-adapter" />
211
- </div>
212
- </foreignObject>
213
- </g>
214
- </g>
215
- </template>
216
-
217
- <script setup lang="ts">
218
- import type {
219
- UI_I_Adapter,
220
- UI_I_AdapterWithError,
221
- UI_I_ModalsInitialData,
222
- UI_I_SelectedAdapter,
223
- UI_I_SelectedPort,
224
- UI_I_NetworksWithPositions,
225
- } from '~/components/common/diagramMain/lib/models/interfaces'
226
- import type {
227
- UI_I_Localization,
228
- UI_I_ArbitraryObject,
229
- } from '~/lib/models/interfaces'
230
- import {
231
- adapterPopupFieldsFunc,
232
- adapterPopupFieldsNewFunc,
233
- } from '~/components/common/diagramMain/modals/lib/config'
234
- import {
235
- dataForSelectedAdapterFunc,
236
- adapterItemPositionsFunc,
237
- } from '~/components/common/diagramMain/lib/config'
238
-
239
- const props = defineProps<{
240
- adapter: (UI_I_Adapter | UI_I_AdapterWithError) & { adapterPosition: number }
241
- selectedPort: UI_I_SelectedPort
242
- selectedAdapter: UI_I_SelectedAdapter
243
- networksWithPositions: UI_I_NetworksWithPositions[]
244
- networksCount: number
245
- isDarkMode: boolean
246
- }>()
247
-
248
- const emits = defineEmits<{
249
- (event: 'select-adapter', adapterId: string): void
250
- (
251
- event: 'show-modal',
252
- value: string,
253
- properties?: UI_I_ModalsInitialData
254
- ): void
255
- }>()
256
-
257
- const { $store }: any = useNuxtApp()
258
-
259
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
260
-
261
- const localization = computed<UI_I_Localization>(() => useLocal())
262
-
263
- const adapterPopupFields = computed(() =>
264
- isNewView.value
265
- ? adapterPopupFieldsNewFunc(localization.value, props.adapter.testId)
266
- : adapterPopupFieldsFunc(localization.value, props.adapter.testId)
267
- )
268
-
269
- const adapterProperties = computed<UI_I_ModalsInitialData>(() =>
270
- dataForSelectedAdapterFunc(props.adapter)
271
- )
272
-
273
- const adapterSelectionPosition = computed<number>(
274
- () => props.adapter.adapterPosition - 1.5
275
- )
276
-
277
- const isConnectedAdapterToPortOrNetwork = computed<boolean>(() => {
278
- return props.selectedPort.activeAdapters.includes(props.adapter.id)
279
- })
280
-
281
- const isSelectedAdapter = computed<boolean>(
282
- () => props.selectedAdapter.adapterId === props.adapter.id
283
- )
284
-
285
- const adapterLinePosition = computed<number>(
286
- () => props.adapter.adapterPosition + 7.5
287
- )
288
-
289
- const adapterIconPosition = computed<number>(
290
- () => props.adapter.adapterPosition - 3
291
- )
292
-
293
- const adapterActionIconPosition = computed<number>(
294
- () => props.adapter.adapterPosition - 2
295
- )
296
-
297
- const isAdapterActiveOnAnyNetwork = computed<boolean>(() => {
298
- let flag = false
299
- props.networksWithPositions.forEach(
300
- (network: UI_I_NetworksWithPositions) =>
301
- network.activeAdapters.includes(props.selectedAdapter.adapterId) &&
302
- (flag = true)
303
- )
304
- return flag
305
- })
306
-
307
- const isVisibleAdapterLine = computed<boolean>(() => {
308
- return (
309
- (props.selectedPort.activeAdapters.includes(props.adapter.id) ||
310
- (props.selectedAdapter.adapterId === props.adapter.id &&
311
- isAdapterActiveOnAnyNetwork.value)) &&
312
- !!props.networksCount
313
- )
314
- })
315
-
316
- const adapterName = computed<string>(() =>
317
- props.adapter.status === 'active'
318
- ? props.adapter.fullName
319
- : props.adapter.name
320
- )
321
-
322
- const onSelectAdapter = (adapterId: string): void => {
323
- emits('select-adapter', adapterId)
324
- }
325
-
326
- const onShowModal = (
327
- value: string,
328
- properties?: UI_I_ModalsInitialData
329
- ): void => {
330
- emits('show-modal', value, properties)
331
- }
332
-
333
- const positions = computed<UI_I_ArbitraryObject<number>>(() =>
334
- adapterItemPositionsFunc(
335
- isNewView.value,
336
- adapterIconPosition.value,
337
- props.adapter.carrier,
338
- props.adapter.adapterPosition,
339
- adapterSelectionPosition.value,
340
- adapterActionIconPosition.value
341
- )
342
- )
343
-
344
- const isShowDropdown = ref<boolean>(false)
345
- const onHide = (): void => {
346
- isShowDropdown.value = false
347
- }
348
- </script>
349
-
350
- <style scoped lang="scss">
351
- @import '~/assets/scss/common/mixins.scss';
352
-
353
- :root.dark-theme {
354
- .adapter-name {
355
- fill: #c1cdd4;
356
- }
357
-
358
- .adapter-name {
359
- color: #c1cdd4;
360
-
361
- &:hover {
362
- color: #c1cdd4;
363
- text-decoration: solid underline #c1cdd4 1px;
364
- }
365
- }
366
- }
367
-
368
- .text-ellipsis {
369
- display: block;
370
- max-width: 198px;
371
- text-overflow: ellipsis;
372
- overflow: hidden;
373
- white-space: nowrap;
374
- }
375
-
376
- .adapter-name {
377
- color: #565656;
378
-
379
- &:hover {
380
- color: #565656;
381
- text-decoration: solid underline #565656 1px;
382
- }
383
- font-size: 12px;
384
- font-weight: 400;
385
- cursor: pointer;
386
- line-height: normal;
387
- }
388
-
389
- .diagram {
390
- &__values {
391
- @include text($fs: 12px, $fw: 400);
392
- }
393
-
394
- &-actions {
395
- :deep(.diagram-actions__icon) {
396
- &.tabs-overflow {
397
- top: -12px;
398
- right: -13px;
399
- }
400
- .navbar-dropdown-menu {
401
- .navbar-dropdown-menu-item {
402
- background: red;
403
- }
404
- }
405
- }
406
- }
407
- }
408
-
409
- :root.is-new-view {
410
- .adapter-name {
411
- user-select: none;
412
- -webkit-user-select: none;
413
- color: var(--diagram-content-text);
414
-
415
- &:hover {
416
- color: var(--diagram-content-text-hover);
417
- text-decoration: unset;
418
- }
419
- }
420
-
421
- .action-button {
422
- border: none;
423
- margin: 0;
424
- padding: 0;
425
- background: transparent;
426
- cursor: pointer;
427
- color: var(--diagram-content-text);
428
-
429
- &:hover {
430
- color: var(--diagram-content-text-hover);
431
- }
432
-
433
- &.action-button-selected {
434
- color: var(--diagram-content-text-selected);
435
- }
436
- }
437
- }
438
- </style>
1
+ <template>
2
+ <g data-title="adapter-item-group">
3
+ <g>
4
+ <common-diagram-main-highlights
5
+ data-title="adapter-item"
6
+ type="main-orange"
7
+ width="276"
8
+ height="18"
9
+ :x="positions.blockX"
10
+ :y="adapterSelectionPosition"
11
+ radius="3"
12
+ :hide="!isConnectedAdapterToPortOrNetwork"
13
+ />
14
+
15
+ <common-diagram-main-highlights
16
+ data-title="adapter-item"
17
+ type="main-blue"
18
+ width="276"
19
+ height="18"
20
+ :x="positions.blockX"
21
+ :y="adapterSelectionPosition"
22
+ radius="3"
23
+ :hide="!isSelectedAdapter"
24
+ />
25
+ </g>
26
+
27
+ <foreignObject
28
+ dy="11px"
29
+ height="20"
30
+ :width="positions.adapterWidth"
31
+ :x="positions.adapterX"
32
+ :y="props.adapter.adapterPosition"
33
+ class="diagram__values"
34
+ >
35
+ <span
36
+ :id="`adapter-${props.adapter.id}`"
37
+ :data-id="`${props.adapter.testId}-select`"
38
+ data-title="adapter-name"
39
+ class="adapter-name text-ellipsis"
40
+ @click="onSelectAdapter(props.adapter.id)"
41
+ >
42
+ {{ adapterName }}
43
+ </span>
44
+ </foreignObject>
45
+
46
+ <!-- Connection X-->
47
+ <foreignObject
48
+ v-if="
49
+ !props.adapter.carrier && props.adapter.status !== 'error' && !isNewView
50
+ "
51
+ data-title="adapter-connection-icon"
52
+ width="18"
53
+ height="18"
54
+ x="446"
55
+ :y="adapterSelectionPosition"
56
+ >
57
+ <atoms-diagram-icon name="adapter-carrier" />
58
+ </foreignObject>
59
+
60
+ <foreignObject
61
+ v-if="props.adapter.status === 'error'"
62
+ data-title="adapter-error-icon"
63
+ width="15"
64
+ height="15"
65
+ :x="positions.errorIconX"
66
+ :y="positions.errorIconY"
67
+ >
68
+ <!-- TODO MAKE TOOLTIP-->
69
+ <ui-icon
70
+ v-if="isNewView"
71
+ name="info"
72
+ color="#EA3223"
73
+ width="14"
74
+ height="14"
75
+ />
76
+ <atoms-diagram-icon v-else name="adapter-error" />
77
+ </foreignObject>
78
+
79
+ <common-diagram-main-highlights
80
+ data-title="adapter-item-line"
81
+ type="line-orange"
82
+ :x="positions.x1"
83
+ :y="adapterLinePosition"
84
+ :x2="positions.x2"
85
+ :y2="adapterLinePosition"
86
+ :hide="!isVisibleAdapterLine"
87
+ />
88
+
89
+ <foreignObject
90
+ data-title="adapter-item-icon"
91
+ :width="positions.adapterIconSize"
92
+ :height="positions.adapterIconSize"
93
+ :x="positions.adapterIconX"
94
+ :y="positions.adapterIconY"
95
+ >
96
+ <div v-if="isNewView && !props.adapter.carrier">
97
+ <ui-icon
98
+ v-if="props.isDarkMode"
99
+ name="diagram-adapter-item-not-connected-dark"
100
+ width="20"
101
+ height="20"
102
+ />
103
+ <ui-icon
104
+ v-else
105
+ name="diagram-adapter-item-not-connected"
106
+ width="20"
107
+ height="20"
108
+ />
109
+ </div>
110
+ <div v-else-if="isNewView && props.adapter.carrier">
111
+ <ui-icon
112
+ v-if="props.isDarkMode"
113
+ name="diagram-adapter-item-dark"
114
+ width="20"
115
+ height="20"
116
+ />
117
+ <ui-icon v-else name="diagram-adapter-item" width="20" height="20" />
118
+ </div>
119
+ <div v-else>
120
+ <atoms-diagram-icon
121
+ v-if="props.isDarkMode"
122
+ name="adapter-item-icon-dark"
123
+ />
124
+ <atoms-diagram-icon v-else name="adapter-item-icon" />
125
+ </div>
126
+ </foreignObject>
127
+
128
+ <foreignObject
129
+ v-if="props.adapter.status !== 'error'"
130
+ data-title="adapter-action-icon"
131
+ width="18"
132
+ height="18"
133
+ :x="positions.actionX"
134
+ :y="positions.actionY"
135
+ cursor="pointer"
136
+ >
137
+ <div v-if="isNewView" class="dropdown-actions-container">
138
+ <button
139
+ :id="`dropdown-${props.adapter.id}`"
140
+ :class="[
141
+ 'action-button',
142
+ { 'action-button-selected': isShowDropdown },
143
+ ]"
144
+ @click="isShowDropdown = !isShowDropdown"
145
+ >
146
+ <ui-icon name="horizontal-dotes" width="16" height="16" />
147
+ </button>
148
+ <Teleport to="body">
149
+ <ui-dropdown
150
+ :test-id="props.adapter.testId"
151
+ :show="isShowDropdown"
152
+ :items="adapterPopupFields"
153
+ :elem-id="`dropdown-${props.adapter.id}`"
154
+ width="max-content"
155
+ show-from-left
156
+ :margin-between-trigger="0"
157
+ @select="(value) => onShowModal(value, adapterProperties)"
158
+ @hide="onHide"
159
+ ></ui-dropdown>
160
+ </Teleport>
161
+ </div>
162
+ <div v-else class="diagram-actions">
163
+ <atoms-collapse-nav
164
+ class="diagram-actions__icon"
165
+ value="-1"
166
+ popup-class="diagram-actions__popup"
167
+ :close-after-click="true"
168
+ :items="adapterPopupFields"
169
+ :test-id="props.adapter.testId"
170
+ @change="(value) => onShowModal(value, adapterProperties)"
171
+ />
172
+ </div>
173
+ </foreignObject>
174
+
175
+ <g v-if="props.adapter.status !== 'error'">
176
+ <foreignObject
177
+ v-if="props.adapter.carrier"
178
+ data-title="adapter-second-connected-icon"
179
+ :width="positions.adapterSecondIconSize"
180
+ :height="positions.adapterSecondIconSize"
181
+ :x="positions.adapterSecondIconX"
182
+ :y="positions.adapterSecondIconY"
183
+ >
184
+ <div>
185
+ <ui-icon
186
+ v-if="isNewView"
187
+ width="16"
188
+ height="16"
189
+ name="diagram-fill-adapter"
190
+ />
191
+ <atoms-diagram-icon v-else name="fill-adapter" />
192
+ </div>
193
+ </foreignObject>
194
+
195
+ <foreignObject
196
+ v-else
197
+ data-title="adapter-second-not-connected-icon"
198
+ :width="positions.adapterSecondIconSize"
199
+ :height="positions.adapterSecondIconSize"
200
+ :x="positions.adapterSecondIconX"
201
+ :y="positions.adapterSecondIconY"
202
+ >
203
+ <div>
204
+ <ui-icon
205
+ v-if="isNewView"
206
+ width="16"
207
+ height="16"
208
+ name="diagram-outline-adapter"
209
+ />
210
+ <atoms-diagram-icon v-else name="outline-adapter" />
211
+ </div>
212
+ </foreignObject>
213
+ </g>
214
+ </g>
215
+ </template>
216
+
217
+ <script setup lang="ts">
218
+ import type {
219
+ UI_I_Adapter,
220
+ UI_I_AdapterWithError,
221
+ UI_I_ModalsInitialData,
222
+ UI_I_SelectedAdapter,
223
+ UI_I_SelectedPort,
224
+ UI_I_NetworksWithPositions,
225
+ } from '~/components/common/diagramMain/lib/models/interfaces'
226
+ import type {
227
+ UI_I_Localization,
228
+ UI_I_ArbitraryObject,
229
+ } from '~/lib/models/interfaces'
230
+ import {
231
+ adapterPopupFieldsFunc,
232
+ adapterPopupFieldsNewFunc,
233
+ } from '~/components/common/diagramMain/modals/lib/config'
234
+ import {
235
+ dataForSelectedAdapterFunc,
236
+ adapterItemPositionsFunc,
237
+ } from '~/components/common/diagramMain/lib/config'
238
+
239
+ const props = defineProps<{
240
+ adapter: (UI_I_Adapter | UI_I_AdapterWithError) & { adapterPosition: number }
241
+ selectedPort: UI_I_SelectedPort
242
+ selectedAdapter: UI_I_SelectedAdapter
243
+ networksWithPositions: UI_I_NetworksWithPositions[]
244
+ networksCount: number
245
+ isDarkMode: boolean
246
+ }>()
247
+
248
+ const emits = defineEmits<{
249
+ (event: 'select-adapter', adapterId: string): void
250
+ (
251
+ event: 'show-modal',
252
+ value: string,
253
+ properties?: UI_I_ModalsInitialData
254
+ ): void
255
+ }>()
256
+
257
+ const { $store }: any = useNuxtApp()
258
+
259
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
260
+
261
+ const localization = computed<UI_I_Localization>(() => useLocal())
262
+
263
+ const adapterPopupFields = computed(() =>
264
+ isNewView.value
265
+ ? adapterPopupFieldsNewFunc(localization.value, props.adapter.testId)
266
+ : adapterPopupFieldsFunc(localization.value, props.adapter.testId)
267
+ )
268
+
269
+ const adapterProperties = computed<UI_I_ModalsInitialData>(() =>
270
+ dataForSelectedAdapterFunc(props.adapter)
271
+ )
272
+
273
+ const adapterSelectionPosition = computed<number>(
274
+ () => props.adapter.adapterPosition - 1.5
275
+ )
276
+
277
+ const isConnectedAdapterToPortOrNetwork = computed<boolean>(() => {
278
+ return props.selectedPort.activeAdapters.includes(props.adapter.id)
279
+ })
280
+
281
+ const isSelectedAdapter = computed<boolean>(
282
+ () => props.selectedAdapter.adapterId === props.adapter.id
283
+ )
284
+
285
+ const adapterLinePosition = computed<number>(
286
+ () => props.adapter.adapterPosition + 7.5
287
+ )
288
+
289
+ const adapterIconPosition = computed<number>(
290
+ () => props.adapter.adapterPosition - 3
291
+ )
292
+
293
+ const adapterActionIconPosition = computed<number>(
294
+ () => props.adapter.adapterPosition - 2
295
+ )
296
+
297
+ const isAdapterActiveOnAnyNetwork = computed<boolean>(() => {
298
+ let flag = false
299
+ props.networksWithPositions.forEach(
300
+ (network: UI_I_NetworksWithPositions) =>
301
+ network.activeAdapters.includes(props.selectedAdapter.adapterId) &&
302
+ (flag = true)
303
+ )
304
+ return flag
305
+ })
306
+
307
+ const isVisibleAdapterLine = computed<boolean>(() => {
308
+ return (
309
+ (props.selectedPort.activeAdapters.includes(props.adapter.id) ||
310
+ (props.selectedAdapter.adapterId === props.adapter.id &&
311
+ isAdapterActiveOnAnyNetwork.value)) &&
312
+ !!props.networksCount
313
+ )
314
+ })
315
+
316
+ const adapterName = computed<string>(() =>
317
+ props.adapter.status === 'active'
318
+ ? props.adapter.fullName
319
+ : props.adapter.name
320
+ )
321
+
322
+ const onSelectAdapter = (adapterId: string): void => {
323
+ emits('select-adapter', adapterId)
324
+ }
325
+
326
+ const onShowModal = (
327
+ value: string,
328
+ properties?: UI_I_ModalsInitialData
329
+ ): void => {
330
+ emits('show-modal', value, properties)
331
+ }
332
+
333
+ const positions = computed<UI_I_ArbitraryObject<number>>(() =>
334
+ adapterItemPositionsFunc(
335
+ isNewView.value,
336
+ adapterIconPosition.value,
337
+ props.adapter.carrier,
338
+ props.adapter.adapterPosition,
339
+ adapterSelectionPosition.value,
340
+ adapterActionIconPosition.value
341
+ )
342
+ )
343
+
344
+ const isShowDropdown = ref<boolean>(false)
345
+ const onHide = (): void => {
346
+ isShowDropdown.value = false
347
+ }
348
+ </script>
349
+
350
+ <style scoped lang="scss">
351
+ @import '~/assets/scss/common/mixins.scss';
352
+
353
+ :root.dark-theme {
354
+ .adapter-name {
355
+ fill: #c1cdd4;
356
+ }
357
+
358
+ .adapter-name {
359
+ color: #c1cdd4;
360
+
361
+ &:hover {
362
+ color: #c1cdd4;
363
+ text-decoration: solid underline #c1cdd4 1px;
364
+ }
365
+ }
366
+ }
367
+
368
+ .text-ellipsis {
369
+ display: block;
370
+ max-width: 198px;
371
+ text-overflow: ellipsis;
372
+ overflow: hidden;
373
+ white-space: nowrap;
374
+ }
375
+
376
+ .adapter-name {
377
+ color: #565656;
378
+
379
+ &:hover {
380
+ color: #565656;
381
+ text-decoration: solid underline #565656 1px;
382
+ }
383
+ font-size: 12px;
384
+ font-weight: 400;
385
+ cursor: pointer;
386
+ line-height: normal;
387
+ }
388
+
389
+ .diagram {
390
+ &__values {
391
+ @include text($fs: 12px, $fw: 400);
392
+ }
393
+
394
+ &-actions {
395
+ :deep(.diagram-actions__icon) {
396
+ &.tabs-overflow {
397
+ top: -12px;
398
+ right: -13px;
399
+ }
400
+ .navbar-dropdown-menu {
401
+ .navbar-dropdown-menu-item {
402
+ background: red;
403
+ }
404
+ }
405
+ }
406
+ }
407
+ }
408
+
409
+ :root.is-new-view {
410
+ .adapter-name {
411
+ user-select: none;
412
+ -webkit-user-select: none;
413
+ color: var(--diagram-content-text);
414
+
415
+ &:hover {
416
+ color: var(--diagram-content-text-hover);
417
+ text-decoration: unset;
418
+ }
419
+ }
420
+
421
+ .action-button {
422
+ border: none;
423
+ margin: 0;
424
+ padding: 0;
425
+ background: transparent;
426
+ cursor: pointer;
427
+ color: var(--diagram-content-text);
428
+
429
+ &:hover {
430
+ color: var(--diagram-content-text-hover);
431
+ }
432
+
433
+ &.action-button-selected {
434
+ color: var(--diagram-content-text-selected);
435
+ }
436
+ }
437
+ }
438
+ </style>