bfg-common 1.6.65 → 1.6.66

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 (141) hide show
  1. package/components/atoms/dropdown/dropdown/Dropdown.vue +10 -8
  2. package/components/atoms/dropdown/dropdown/lib/models/interfaces.ts +1 -0
  3. package/components/common/adapterManager/AdapterManager.vue +473 -473
  4. package/components/common/adapterManager/AdapterManagerOld.vue +498 -498
  5. package/components/common/adapterManager/addAdapterModal/AddAdapterModal.vue +70 -70
  6. package/components/common/adapterManager/addAdapterModal/AddAdapterModalNew.vue +110 -110
  7. package/components/common/adapterManager/addAdapterModal/AddAdapterModalOld.vue +531 -531
  8. package/components/common/adapterManager/addAdapterWarningModal/AddAdapterWarningModal.vue +32 -32
  9. package/components/common/adapterManager/addAdapterWarningModal/AddAdapterWarningModalNew.vue +37 -37
  10. package/components/common/adapterManager/addAdapterWarningModal/AddAdapterWarningModalOld.vue +73 -73
  11. package/components/common/adapterManager/lib/config/index.ts +19 -19
  12. package/components/common/adapterManager/noActiveAdaptersModal/NoActiveAdaptersModal.vue +31 -31
  13. package/components/common/adapterManager/noActiveAdaptersModal/NoActiveAdaptersModalNew.vue +34 -34
  14. package/components/common/adapterManager/noActiveAdaptersModal/NoActiveAdaptersModalOld.vue +57 -57
  15. package/components/common/adapterManager/noConnectedActiveAdaptersModal/NoConnectedActiveAdaptersModal.vue +31 -31
  16. package/components/common/adapterManager/noConnectedActiveAdaptersModal/NoConnectedActiveAdaptersModalNew.vue +34 -34
  17. package/components/common/adapterManager/noConnectedActiveAdaptersModal/NoConnectedActiveAdaptersModalOld.vue +57 -57
  18. package/components/common/adapterManager/ui/actions/AddAdapterButton.vue +34 -34
  19. package/components/common/adapterManager/ui/actions/RemoveAdapterButton.vue +41 -41
  20. package/components/common/adapterManager/ui/actions/VerticalSeparator.vue +10 -10
  21. package/components/common/adapterManager/ui/actions/bar/BarOld.vue +95 -95
  22. package/components/common/adapterManager/ui/actions/moveDownAdapterButton/MoveDownAdapterButton.vue +28 -28
  23. package/components/common/adapterManager/ui/actions/moveDownAdapterButton/MoveDownAdapterButtonNew.vue +76 -76
  24. package/components/common/adapterManager/ui/actions/moveDownAdapterButton/MoveDownAdapterButtonOld.vue +33 -33
  25. package/components/common/adapterManager/ui/actions/moveUpAdapterButton/MoveUpAdapterButton.vue +28 -28
  26. package/components/common/adapterManager/ui/actions/moveUpAdapterButton/MoveUpAdapterButtonNew.vue +77 -77
  27. package/components/common/adapterManager/ui/actions/moveUpAdapterButton/MoveUpAdapterButtonOld.vue +33 -33
  28. package/components/common/adapterManager/ui/noSelectedAdapter/NoSelectedAdapter.vue +24 -24
  29. package/components/common/adapterManager/ui/noSelectedAdapter/NoSelectedAdapterNew.vue +18 -18
  30. package/components/common/adapterManager/ui/noSelectedAdapter/NoSelectedAdapterOld.vue +38 -38
  31. package/components/common/adapterManager/ui/secondTitle/SecondTitle.vue +31 -31
  32. package/components/common/adapterManager/ui/secondTitle/SecondTitleNew.vue +51 -51
  33. package/components/common/adapterManager/ui/secondTitle/SecondTitleOld.vue +35 -35
  34. package/components/common/adapterManager/ui/table/Table.vue +88 -88
  35. package/components/common/adapterManager/ui/table/TableNew.vue +137 -137
  36. package/components/common/adapterManager/ui/table/TableOld.vue +141 -141
  37. package/components/common/adapterManager/ui/table/adapters/Adapters.vue +44 -44
  38. package/components/common/adapterManager/ui/table/adapters/AdaptersNew.vue +187 -187
  39. package/components/common/adapterManager/ui/table/adapters/AdaptersOld.vue +87 -87
  40. package/components/common/adapterManager/ui/table/header/Header.vue +57 -57
  41. package/components/common/adapterManager/ui/table/header/HeaderNew.vue +81 -81
  42. package/components/common/adapterManager/ui/table/header/HeaderOld.vue +79 -79
  43. package/components/common/adapterManager/ui/table/lib/models/types.ts +1 -1
  44. package/components/common/diagramMain/Diagram.vue +459 -459
  45. package/components/common/diagramMain/DiagramMain.vue +929 -929
  46. package/components/common/diagramMain/adapter/Adapter.vue +123 -123
  47. package/components/common/diagramMain/adapter/AdapterItem.vue +438 -438
  48. package/components/common/diagramMain/adapter/AdapterItems.vue +61 -61
  49. package/components/common/diagramMain/adapter/Contents.vue +212 -212
  50. package/components/common/diagramMain/adapter/Lines.vue +81 -81
  51. package/components/common/diagramMain/adapter/block/Block.vue +27 -27
  52. package/components/common/diagramMain/adapter/block/BlockNew.vue +58 -58
  53. package/components/common/diagramMain/adapter/block/BlockOld.vue +50 -50
  54. package/components/common/diagramMain/adapter/secondBlock/SecondBlock.vue +27 -27
  55. package/components/common/diagramMain/adapter/secondBlock/SecondBlockNew.vue +60 -60
  56. package/components/common/diagramMain/adapter/secondBlock/SecondBlockOld.vue +51 -51
  57. package/components/common/diagramMain/header/Header.vue +49 -49
  58. package/components/common/diagramMain/header/HeaderNew.vue +155 -155
  59. package/components/common/diagramMain/header/HeaderOld.vue +234 -234
  60. package/components/common/diagramMain/highlights/Highlights.vue +151 -151
  61. package/components/common/diagramMain/highlights/HighlightsNew.vue +124 -124
  62. package/components/common/diagramMain/highlights/HighlightsOld.vue +107 -107
  63. package/components/common/diagramMain/lib/config/index.ts +81 -81
  64. package/components/common/diagramMain/lib/config/initial.ts +50 -50
  65. package/components/common/diagramMain/lib/config/positions.ts +194 -194
  66. package/components/common/diagramMain/lib/models/enums.ts +44 -44
  67. package/components/common/diagramMain/lib/models/interfaces.ts +760 -760
  68. package/components/common/diagramMain/lib/models/types.ts +21 -21
  69. package/components/common/diagramMain/lib/utils/utils.ts +331 -331
  70. package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +331 -331
  71. package/components/common/diagramMain/modals/Modals.vue +483 -483
  72. package/components/common/diagramMain/modals/lib/config/adapterModal.ts +147 -147
  73. package/components/common/diagramMain/modals/lib/config/diagramConfig.ts +66 -66
  74. package/components/common/diagramMain/modals/lib/config/index.ts +56 -56
  75. package/components/common/diagramMain/modals/lib/config/initial.ts +180 -180
  76. package/components/common/diagramMain/modals/lib/config/networkModal.ts +405 -405
  77. package/components/common/diagramMain/modals/lib/config/portModal.ts +253 -253
  78. package/components/common/diagramMain/modals/lib/config/switchModal.ts +245 -245
  79. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  80. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
  81. package/components/common/diagramMain/modals/lib/mappers/mappers.ts +88 -88
  82. package/components/common/diagramMain/modals/migrateVmkernelAdapter/MigrateVmkernelAdapter.vue +541 -541
  83. package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
  84. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +170 -170
  85. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +159 -159
  86. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/VmkernelAdapterReadyComplete.vue +49 -49
  87. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +19 -19
  88. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +137 -137
  89. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
  90. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
  91. package/components/common/diagramMain/modals/remove/RemoveModal.vue +82 -82
  92. package/components/common/diagramMain/modals/remove/RemoveModalNew.vue +106 -106
  93. package/components/common/diagramMain/modals/remove/RemoveModalOld.vue +241 -241
  94. package/components/common/diagramMain/modals/viewSettings/info/Info.vue +57 -57
  95. package/components/common/diagramMain/modals/viewSettings/info/InfoNew.vue +174 -174
  96. package/components/common/diagramMain/modals/viewSettings/info/InfoOld.vue +141 -141
  97. package/components/common/diagramMain/modals/viewSettings/viewSettings/ViewSettings.vue +45 -45
  98. package/components/common/diagramMain/modals/viewSettings/viewSettings/ViewSettingsNew.vue +323 -323
  99. package/components/common/diagramMain/modals/viewSettings/viewSettings/ViewSettingsOld.vue +203 -203
  100. package/components/common/diagramMain/modals/viewSettings/viewSettingsModal/ViewSettingsModal.vue +60 -60
  101. package/components/common/diagramMain/modals/viewSettings/viewSettingsModal/ViewSettingsModalNew.vue +50 -50
  102. package/components/common/diagramMain/modals/viewSettings/viewSettingsModal/ViewSettingsModalOld.vue +70 -70
  103. package/components/common/diagramMain/modals/viewSettings/viewSettingsModal/lib/models/interfaces.ts +48 -48
  104. package/components/common/diagramMain/network/Contents.vue +497 -497
  105. package/components/common/diagramMain/network/Lines.vue +107 -107
  106. package/components/common/diagramMain/network/Network.vue +141 -141
  107. package/components/common/diagramMain/network/block/Block.vue +37 -37
  108. package/components/common/diagramMain/network/block/BlockNew.vue +68 -68
  109. package/components/common/diagramMain/network/block/BlockOld.vue +64 -64
  110. package/components/common/diagramMain/network/noNetwork/NoNetwork.vue +12 -12
  111. package/components/common/diagramMain/network/noNetwork/NoNetworkNew.vue +89 -89
  112. package/components/common/diagramMain/network/noNetwork/NoNetworkOld.vue +61 -61
  113. package/components/common/diagramMain/network/secondBlock/SecondBlock.vue +41 -41
  114. package/components/common/diagramMain/network/secondBlock/SecondBlockNew.vue +64 -64
  115. package/components/common/diagramMain/network/secondBlock/SecondBlockOld.vue +60 -60
  116. package/components/common/diagramMain/port/Port.vue +580 -580
  117. package/components/common/diagramMain/port/Ports.vue +47 -47
  118. package/components/common/diagramMain/skeleton/Header.vue +31 -31
  119. package/components/common/diagramMain/skeleton/Switch.vue +75 -75
  120. package/components/common/diagramMain/switch/Switch.vue +180 -180
  121. package/components/common/diagramMain/switch/SwitchSelected.vue +111 -111
  122. package/components/common/monitor/advanced/table/tableOld/TableOld.vue +93 -93
  123. package/components/common/monitor/utilization/Old.vue +65 -24
  124. package/components/common/monitor/utilization/Utilization.vue +22 -14
  125. package/components/common/monitor/utilization/infoBlock/InfoBlock.vue +125 -2
  126. package/components/common/monitor/utilization/infoBlock/New.vue +183 -3
  127. package/components/common/monitor/utilization/infoBlock/Old.vue +71 -66
  128. package/components/common/monitor/utilization/infoBlock/progressBar/New.vue +64 -0
  129. package/components/common/monitor/utilization/infoBlock/progressBar/Old.vue +65 -0
  130. package/components/common/monitor/utilization/infoBlock/progressBar/ProgressBar.vue +84 -0
  131. package/components/common/monitor/utilization/infoBlock/progressBar/lib/models/interfaces.ts +10 -0
  132. package/components/common/monitor/utilization/lib/models/enums.ts +4 -4
  133. package/components/common/monitor/utilization/lib/models/interfaces.ts +14 -12
  134. package/components/common/monitor/utilization/lib/models/types.ts +1 -0
  135. package/components/common/monitor/utilization/lib/utils/index.ts +64 -6
  136. package/components/common/monitor/utilization/new/New.vue +195 -0
  137. package/components/common/monitor/utilization/new/Portlet.vue +42 -0
  138. package/components/common/monitor/utilization/new/Skeleton.vue +120 -0
  139. package/components/common/monitor/utilization/new/lib/utils/newPortlet.ts +7 -0
  140. package/package.json +1 -1
  141. package/components/common/monitor/utilization/New.vue +0 -5
@@ -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>