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,331 +1,331 @@
1
- <template>
2
- <div>
3
- <atoms-modal
4
- :width="props.width"
5
- :height="props.height"
6
- :show="props.show"
7
- :title="localization.common.managePhysicalNetworkAdapters"
8
- :second-title="props.switchName"
9
- :class="[
10
- 'diagram-action__edit',
11
- {
12
- 'is-dark': props.isDarkMode,
13
- },
14
- ]"
15
- @hide="onHideManagePhysicalAdaptersModal"
16
- @submit="onSendManageAdapter"
17
- >
18
- <template #modalBody>
19
- <div class="wizard-content__container">
20
- <div class="wizard-content">
21
- <common-adapter-manager
22
- :adapters="props.adapters"
23
- :free-adapters="props.freeAdapters"
24
- :added-adapters="addedAdapters"
25
- :adapter-status="props.adapterStatus"
26
- :is-dark-mode="props.isDarkMode"
27
- test-id="manage-physical-adapter"
28
- :is-active="true"
29
- :full-mode="true"
30
- :is-show-no-connected-active-adapters-modal="
31
- isShowNoConnectedActiveAdaptersModal
32
- "
33
- :is-show-no-active-adapters-modal="isShowNoActiveAdaptersModal"
34
-
35
- @hide-no-connected-active-adapters-modal="
36
- onHideNoConnectedActiveAdaptersModal
37
- "
38
- @hide-no-active-adapters-modal="onHideNoActiveAdaptersModal"
39
- @submit-from-modal="onConfirmNoActiveAdaptersModal"
40
- @change-added-adapters="onChangeAddedAdapters"
41
- @change-adapter-status="onChangeAdapterStatus"
42
- @get-free-adapters="onGetFreeAdapters"
43
- />
44
- </div>
45
- </div>
46
- <atoms-loader v-show="props.isManageAdaptersModalLoading" />
47
- </template>
48
- </atoms-modal>
49
- </div>
50
- </template>
51
-
52
- <script setup lang="ts">
53
- import type {
54
- UI_I_Localization,
55
- UI_I_ItemsWithTotalCounts,
56
- } from '~/lib/models/interfaces'
57
- import type {
58
- UI_I_Adapter,
59
- UI_I_AdapterStatus,
60
- UI_I_SwitchAdapterItem,
61
- } from '~/components/common/diagramMain/lib/models/interfaces'
62
-
63
- // Props from up
64
- const props = withDefaults(
65
- defineProps<{
66
- switchName: string
67
- show: boolean
68
- viewName: string
69
- width: string
70
- height: string
71
- freeAdapters: UI_I_Adapter[]
72
- adapterStatus: UI_I_AdapterStatus
73
- adapters: UI_I_ItemsWithTotalCounts<UI_I_SwitchAdapterItem>
74
- initialAdapterStatus: UI_I_AdapterStatus
75
- isDarkMode?: boolean
76
- isManageAdaptersModalLoading?: boolean
77
- }>(),
78
- {
79
- switchName: '',
80
- adapterStatus: () => ({
81
- active: [],
82
- standby: [],
83
- unused: [],
84
- }),
85
- isDarkMode: false,
86
- isManageAdaptersModalLoading: false,
87
- }
88
- )
89
-
90
- // Modal
91
- const emits = defineEmits<{
92
- (event: 'hide'): void
93
- (event: 'get-free-adapters', showModal: () => void): void
94
- (event: 'change-added-adapters', addedAdapters: string[]): void
95
- (event: 'change-adapter-status', adapterStatus: UI_I_AdapterStatus): void
96
- (
97
- event: 'send-manage-physical-adapters-data',
98
- adapterStatus: UI_I_AdapterStatus,
99
- switchName: string,
100
- hideModal: () => void
101
- ): void
102
- }>()
103
-
104
- // UI_I_Localization
105
- const localization = computed<UI_I_Localization>(() => useLocal())
106
-
107
- const addedAdapters = ref<string[]>()
108
-
109
- const onChangeAddedAdapters = (addedAdaptersNew: string[]) => {
110
- addedAdapters.value = addedAdaptersNew
111
- }
112
-
113
- const onChangeAdapterStatus = (adapterStatusNew: UI_I_AdapterStatus) => {
114
- emits('change-adapter-status', adapterStatusNew)
115
- }
116
-
117
- const isShowNoConnectedActiveAdaptersModal = ref(false)
118
- const isShowNoActiveAdaptersModal = ref(false)
119
-
120
- const showNoConnectedActiveAdaptersModal = () => {
121
- isShowNoConnectedActiveAdaptersModal.value = true
122
- }
123
- const onHideNoConnectedActiveAdaptersModal = () => {
124
- isShowNoConnectedActiveAdaptersModal.value = false
125
- }
126
- const showNoActiveAdaptersModal = () => {
127
- isShowNoActiveAdaptersModal.value = true
128
- }
129
- const onHideNoActiveAdaptersModal = () => {
130
- isShowNoActiveAdaptersModal.value = false
131
- }
132
-
133
- const onSendManagePhysicalAdaptersData = (
134
- adapterStatus: UI_I_AdapterStatus,
135
- switchName: string,
136
- hideModal: () => void
137
- ) => {
138
- emits(
139
- 'send-manage-physical-adapters-data',
140
- adapterStatus,
141
- switchName,
142
- hideModal
143
- )
144
- }
145
- const onConfirmNoActiveAdaptersModal = () => {
146
- onSendManagePhysicalAdaptersData(
147
- props.adapterStatus,
148
- props.switchName,
149
- onHideManagePhysicalAdaptersModal
150
- )
151
- onHideNoConnectedActiveAdaptersModal()
152
- onHideNoActiveAdaptersModal()
153
- }
154
-
155
- const onSendManageAdapter = () => {
156
- if (props.adapterStatus.active.length === 0) {
157
- showNoActiveAdaptersModal()
158
- return
159
- }
160
-
161
- const activeAndConnectedAdapters = props.adapterStatus.active.filter(
162
- (adapterName: string) =>
163
- props.adapters.items.find(
164
- (ad: UI_I_SwitchAdapterItem) => ad.name === adapterName
165
- )?.carrier
166
- )
167
- if (activeAndConnectedAdapters.length === 0) {
168
- showNoConnectedActiveAdaptersModal()
169
- return
170
- }
171
-
172
- onSendManagePhysicalAdaptersData(
173
- props.adapterStatus,
174
- props.switchName,
175
- onHideManagePhysicalAdaptersModal
176
- )
177
- }
178
-
179
- const onGetFreeAdapters = (showModal: () => void) => {
180
- emits('get-free-adapters', showModal)
181
- }
182
-
183
- const onHideManagePhysicalAdaptersModal = (): void => {
184
- addedAdapters.value = []
185
- emits('change-adapter-status', props.initialAdapterStatus)
186
- emits('hide')
187
- }
188
- </script>
189
-
190
- <style scoped lang="scss">
191
- :deep(.secondary-title) {
192
- font-size: 18px;
193
- font-weight: 200;
194
- }
195
-
196
- :deep(.modal-body-content.modal-body-content__confirmation) {
197
- display: flex;
198
-
199
- .confirm-icon-container {
200
- margin-right: 20px;
201
- }
202
-
203
- .preserve-newlines {
204
- white-space: pre-line;
205
- font-size: 15px;
206
- }
207
- }
208
-
209
- .loader {
210
- position: absolute;
211
- z-index: var(--z-fixed);
212
- left: 0;
213
- right: 0;
214
- bottom: 0;
215
- top: 0;
216
- display: flex;
217
- align-items: center;
218
- justify-content: center;
219
- background-color: rgba(0, 0, 0, 0.3);
220
-
221
- .spinner {
222
- left: unset;
223
- }
224
- }
225
-
226
- :deep(.table-fixed-height) {
227
- height: 290px;
228
- max-height: 290px;
229
- }
230
-
231
- :deep(.diagram-action__edit.is-dark) {
232
- .property-label-group {
233
- color: var(--main-color-mode2);
234
- }
235
- .flex-property-label-group {
236
- color: var(--main-color-mode2);
237
- }
238
- .flex-property-value-group {
239
- select {
240
- color: #fff;
241
- }
242
- }
243
- .failover-order-master {
244
- .secondary-title label {
245
- color: #fff;
246
- }
247
- }
248
- .k-grid-content {
249
- background-color: var(--modal-bg-color);
250
- }
251
- .vui-action-bar {
252
- background-color: var(--pannel-bg-color);
253
- color: var(--title-color);
254
-
255
- .action-link-container:not(.disabled) {
256
- &:hover {
257
- background-color: #29414e;
258
- border: 1px solid #c7e9ff;
259
- }
260
- }
261
-
262
- svg {
263
- fill: #fff;
264
- }
265
- }
266
-
267
- .k-grid.k-widget .k-grid-content {
268
- border-left: 1px solid #485764;
269
- border-right: 1px solid #485764;
270
- border-top: 1px solid #ddd;
271
- border-bottom: 1px solid #ddd;
272
-
273
- tbody tr {
274
- background-color: var(--modal-bg-color);
275
-
276
- td {
277
- border-bottom: 1px solid #666666;
278
- border-color: #666666;
279
- }
280
-
281
- &:hover {
282
- background-color: #324f61;
283
- color: var(--title-color);
284
-
285
- td {
286
- border-bottom: 1px solid #ffffff;
287
- }
288
- }
289
-
290
- &.k-state-selected {
291
- background-color: #d8e3e9;
292
- box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;
293
-
294
- td span {
295
- color: #000;
296
- }
297
- }
298
- }
299
- }
300
-
301
- .failover-order-details {
302
- &.relative-container .absolute-container {
303
- background-color: var(--pannel-bg-color);
304
- color: var(--main-color-mode2);
305
-
306
- &:has(.no-items-selected-container) {
307
- background-color: transparent;
308
- }
309
- }
310
-
311
- td span {
312
- color: var(--main-color-mode2);
313
- }
314
- button span {
315
- color: var(--main-color-mode2);
316
-
317
- &:hover:not(.disabled) {
318
- background-color: transparent;
319
- border: 1px solid transparent;
320
- }
321
- }
322
- button.active span {
323
- color: #fff;
324
- }
325
- }
326
-
327
- .select-adapter-info span {
328
- color: var(--main-color-mode2);
329
- }
330
- }
331
- </style>
1
+ <template>
2
+ <div>
3
+ <atoms-modal
4
+ :width="props.width"
5
+ :height="props.height"
6
+ :show="props.show"
7
+ :title="localization.common.managePhysicalNetworkAdapters"
8
+ :second-title="props.switchName"
9
+ :class="[
10
+ 'diagram-action__edit',
11
+ {
12
+ 'is-dark': props.isDarkMode,
13
+ },
14
+ ]"
15
+ @hide="onHideManagePhysicalAdaptersModal"
16
+ @submit="onSendManageAdapter"
17
+ >
18
+ <template #modalBody>
19
+ <div class="wizard-content__container">
20
+ <div class="wizard-content">
21
+ <common-adapter-manager
22
+ :adapters="props.adapters"
23
+ :free-adapters="props.freeAdapters"
24
+ :added-adapters="addedAdapters"
25
+ :adapter-status="props.adapterStatus"
26
+ :is-dark-mode="props.isDarkMode"
27
+ test-id="manage-physical-adapter"
28
+ :is-active="true"
29
+ :full-mode="true"
30
+ :is-show-no-connected-active-adapters-modal="
31
+ isShowNoConnectedActiveAdaptersModal
32
+ "
33
+ :is-show-no-active-adapters-modal="isShowNoActiveAdaptersModal"
34
+
35
+ @hide-no-connected-active-adapters-modal="
36
+ onHideNoConnectedActiveAdaptersModal
37
+ "
38
+ @hide-no-active-adapters-modal="onHideNoActiveAdaptersModal"
39
+ @submit-from-modal="onConfirmNoActiveAdaptersModal"
40
+ @change-added-adapters="onChangeAddedAdapters"
41
+ @change-adapter-status="onChangeAdapterStatus"
42
+ @get-free-adapters="onGetFreeAdapters"
43
+ />
44
+ </div>
45
+ </div>
46
+ <atoms-loader v-show="props.isManageAdaptersModalLoading" />
47
+ </template>
48
+ </atoms-modal>
49
+ </div>
50
+ </template>
51
+
52
+ <script setup lang="ts">
53
+ import type {
54
+ UI_I_Localization,
55
+ UI_I_ItemsWithTotalCounts,
56
+ } from '~/lib/models/interfaces'
57
+ import type {
58
+ UI_I_Adapter,
59
+ UI_I_AdapterStatus,
60
+ UI_I_SwitchAdapterItem,
61
+ } from '~/components/common/diagramMain/lib/models/interfaces'
62
+
63
+ // Props from up
64
+ const props = withDefaults(
65
+ defineProps<{
66
+ switchName: string
67
+ show: boolean
68
+ viewName: string
69
+ width: string
70
+ height: string
71
+ freeAdapters: UI_I_Adapter[]
72
+ adapterStatus: UI_I_AdapterStatus
73
+ adapters: UI_I_ItemsWithTotalCounts<UI_I_SwitchAdapterItem>
74
+ initialAdapterStatus: UI_I_AdapterStatus
75
+ isDarkMode?: boolean
76
+ isManageAdaptersModalLoading?: boolean
77
+ }>(),
78
+ {
79
+ switchName: '',
80
+ adapterStatus: () => ({
81
+ active: [],
82
+ standby: [],
83
+ unused: [],
84
+ }),
85
+ isDarkMode: false,
86
+ isManageAdaptersModalLoading: false,
87
+ }
88
+ )
89
+
90
+ // Modal
91
+ const emits = defineEmits<{
92
+ (event: 'hide'): void
93
+ (event: 'get-free-adapters', showModal: () => void): void
94
+ (event: 'change-added-adapters', addedAdapters: string[]): void
95
+ (event: 'change-adapter-status', adapterStatus: UI_I_AdapterStatus): void
96
+ (
97
+ event: 'send-manage-physical-adapters-data',
98
+ adapterStatus: UI_I_AdapterStatus,
99
+ switchName: string,
100
+ hideModal: () => void
101
+ ): void
102
+ }>()
103
+
104
+ // UI_I_Localization
105
+ const localization = computed<UI_I_Localization>(() => useLocal())
106
+
107
+ const addedAdapters = ref<string[]>()
108
+
109
+ const onChangeAddedAdapters = (addedAdaptersNew: string[]) => {
110
+ addedAdapters.value = addedAdaptersNew
111
+ }
112
+
113
+ const onChangeAdapterStatus = (adapterStatusNew: UI_I_AdapterStatus) => {
114
+ emits('change-adapter-status', adapterStatusNew)
115
+ }
116
+
117
+ const isShowNoConnectedActiveAdaptersModal = ref(false)
118
+ const isShowNoActiveAdaptersModal = ref(false)
119
+
120
+ const showNoConnectedActiveAdaptersModal = () => {
121
+ isShowNoConnectedActiveAdaptersModal.value = true
122
+ }
123
+ const onHideNoConnectedActiveAdaptersModal = () => {
124
+ isShowNoConnectedActiveAdaptersModal.value = false
125
+ }
126
+ const showNoActiveAdaptersModal = () => {
127
+ isShowNoActiveAdaptersModal.value = true
128
+ }
129
+ const onHideNoActiveAdaptersModal = () => {
130
+ isShowNoActiveAdaptersModal.value = false
131
+ }
132
+
133
+ const onSendManagePhysicalAdaptersData = (
134
+ adapterStatus: UI_I_AdapterStatus,
135
+ switchName: string,
136
+ hideModal: () => void
137
+ ) => {
138
+ emits(
139
+ 'send-manage-physical-adapters-data',
140
+ adapterStatus,
141
+ switchName,
142
+ hideModal
143
+ )
144
+ }
145
+ const onConfirmNoActiveAdaptersModal = () => {
146
+ onSendManagePhysicalAdaptersData(
147
+ props.adapterStatus,
148
+ props.switchName,
149
+ onHideManagePhysicalAdaptersModal
150
+ )
151
+ onHideNoConnectedActiveAdaptersModal()
152
+ onHideNoActiveAdaptersModal()
153
+ }
154
+
155
+ const onSendManageAdapter = () => {
156
+ if (props.adapterStatus.active.length === 0) {
157
+ showNoActiveAdaptersModal()
158
+ return
159
+ }
160
+
161
+ const activeAndConnectedAdapters = props.adapterStatus.active.filter(
162
+ (adapterName: string) =>
163
+ props.adapters.items.find(
164
+ (ad: UI_I_SwitchAdapterItem) => ad.name === adapterName
165
+ )?.carrier
166
+ )
167
+ if (activeAndConnectedAdapters.length === 0) {
168
+ showNoConnectedActiveAdaptersModal()
169
+ return
170
+ }
171
+
172
+ onSendManagePhysicalAdaptersData(
173
+ props.adapterStatus,
174
+ props.switchName,
175
+ onHideManagePhysicalAdaptersModal
176
+ )
177
+ }
178
+
179
+ const onGetFreeAdapters = (showModal: () => void) => {
180
+ emits('get-free-adapters', showModal)
181
+ }
182
+
183
+ const onHideManagePhysicalAdaptersModal = (): void => {
184
+ addedAdapters.value = []
185
+ emits('change-adapter-status', props.initialAdapterStatus)
186
+ emits('hide')
187
+ }
188
+ </script>
189
+
190
+ <style scoped lang="scss">
191
+ :deep(.secondary-title) {
192
+ font-size: 18px;
193
+ font-weight: 200;
194
+ }
195
+
196
+ :deep(.modal-body-content.modal-body-content__confirmation) {
197
+ display: flex;
198
+
199
+ .confirm-icon-container {
200
+ margin-right: 20px;
201
+ }
202
+
203
+ .preserve-newlines {
204
+ white-space: pre-line;
205
+ font-size: 15px;
206
+ }
207
+ }
208
+
209
+ .loader {
210
+ position: absolute;
211
+ z-index: var(--z-fixed);
212
+ left: 0;
213
+ right: 0;
214
+ bottom: 0;
215
+ top: 0;
216
+ display: flex;
217
+ align-items: center;
218
+ justify-content: center;
219
+ background-color: rgba(0, 0, 0, 0.3);
220
+
221
+ .spinner {
222
+ left: unset;
223
+ }
224
+ }
225
+
226
+ :deep(.table-fixed-height) {
227
+ height: 290px;
228
+ max-height: 290px;
229
+ }
230
+
231
+ :deep(.diagram-action__edit.is-dark) {
232
+ .property-label-group {
233
+ color: var(--main-color-mode2);
234
+ }
235
+ .flex-property-label-group {
236
+ color: var(--main-color-mode2);
237
+ }
238
+ .flex-property-value-group {
239
+ select {
240
+ color: #fff;
241
+ }
242
+ }
243
+ .failover-order-master {
244
+ .secondary-title label {
245
+ color: #fff;
246
+ }
247
+ }
248
+ .k-grid-content {
249
+ background-color: var(--modal-bg-color);
250
+ }
251
+ .vui-action-bar {
252
+ background-color: var(--pannel-bg-color);
253
+ color: var(--title-color);
254
+
255
+ .action-link-container:not(.disabled) {
256
+ &:hover {
257
+ background-color: #29414e;
258
+ border: 1px solid #c7e9ff;
259
+ }
260
+ }
261
+
262
+ svg {
263
+ fill: #fff;
264
+ }
265
+ }
266
+
267
+ .k-grid.k-widget .k-grid-content {
268
+ border-left: 1px solid #485764;
269
+ border-right: 1px solid #485764;
270
+ border-top: 1px solid #ddd;
271
+ border-bottom: 1px solid #ddd;
272
+
273
+ tbody tr {
274
+ background-color: var(--modal-bg-color);
275
+
276
+ td {
277
+ border-bottom: 1px solid #666666;
278
+ border-color: #666666;
279
+ }
280
+
281
+ &:hover {
282
+ background-color: #324f61;
283
+ color: var(--title-color);
284
+
285
+ td {
286
+ border-bottom: 1px solid #ffffff;
287
+ }
288
+ }
289
+
290
+ &.k-state-selected {
291
+ background-color: #d8e3e9;
292
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;
293
+
294
+ td span {
295
+ color: #000;
296
+ }
297
+ }
298
+ }
299
+ }
300
+
301
+ .failover-order-details {
302
+ &.relative-container .absolute-container {
303
+ background-color: var(--pannel-bg-color);
304
+ color: var(--main-color-mode2);
305
+
306
+ &:has(.no-items-selected-container) {
307
+ background-color: transparent;
308
+ }
309
+ }
310
+
311
+ td span {
312
+ color: var(--main-color-mode2);
313
+ }
314
+ button span {
315
+ color: var(--main-color-mode2);
316
+
317
+ &:hover:not(.disabled) {
318
+ background-color: transparent;
319
+ border: 1px solid transparent;
320
+ }
321
+ }
322
+ button.active span {
323
+ color: #fff;
324
+ }
325
+ }
326
+
327
+ .select-adapter-info span {
328
+ color: var(--main-color-mode2);
329
+ }
330
+ }
331
+ </style>