bfg-common 1.5.448 → 1.5.450

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 (124) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  3. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  4. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  5. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  6. package/assets/localization/local_be.json +1 -0
  7. package/assets/localization/local_en.json +1 -0
  8. package/assets/localization/local_hy.json +1 -0
  9. package/assets/localization/local_kk.json +1 -0
  10. package/assets/localization/local_ru.json +1 -0
  11. package/assets/localization/local_zh.json +1 -0
  12. package/assets/scss/clarity/local_ar.json +1 -0
  13. package/components/atoms/TheIcon3.vue +50 -50
  14. package/components/atoms/collapse/CollapseNav.vue +170 -170
  15. package/components/atoms/perPage/PerPage.vue +58 -58
  16. package/components/atoms/table/dataGrid/DataGrid.vue +1694 -1694
  17. package/components/atoms/table/dataGrid/DataGridPagination.vue +97 -97
  18. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  19. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  20. package/components/common/browse/blocks/Container.vue +235 -235
  21. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  22. package/components/common/context/lib/models/interfaces.ts +33 -33
  23. package/components/common/diagramMain/modals/lib/config/networkModal.ts +398 -398
  24. package/components/common/diagramMain/modals/lib/config/portModal.ts +251 -251
  25. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  26. package/components/common/diagramMain/port/Port.vue +580 -580
  27. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  28. package/components/common/pages/backups/Backups.vue +102 -102
  29. package/components/common/pages/backups/DetailView.vue +52 -52
  30. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  31. package/components/common/pages/backups/modals/createBackup/configuration/Configuration.vue +29 -29
  32. package/components/common/pages/backups/modals/createBackup/configuration/backupWindow/BackupWindow.vue +26 -26
  33. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/MaxBandwidth.vue +66 -66
  34. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  35. package/components/common/pages/backups/modals/createBackup/configuration/strategy/Strategy.vue +35 -35
  36. package/components/common/pages/backups/modals/createBackup/datastores/Datastores.vue +59 -59
  37. package/components/common/pages/backups/modals/createBackup/datastores/tableView/TableView.vue +95 -95
  38. package/components/common/pages/backups/modals/createBackup/disks/tableView/lib/config/table.ts +117 -117
  39. package/components/common/pages/backups/modals/createBackup/general/General.vue +141 -135
  40. package/components/common/pages/backups/modals/createBackup/lib/config/strategyOptions.ts +12 -12
  41. package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
  42. package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
  43. package/components/common/pages/backups/modals/restore/disks/Disks.vue +27 -27
  44. package/components/common/pages/backups/modals/restore/disks/tableView/TableView.vue +102 -102
  45. package/components/common/pages/backups/modals/restore/disks/tableView/lib/config/table.ts +117 -117
  46. package/components/common/pages/backups/modals/restore/name/Name.vue +166 -160
  47. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  48. package/components/common/pages/backups/modals/restore/networks/Networks.vue +67 -67
  49. package/components/common/pages/backups/modals/restore/networks/table/Table.vue +214 -214
  50. package/components/common/pages/backups/modals/restore/types/lib/config/typeOptions.ts +25 -25
  51. package/components/common/pages/backups/tools/Tools.vue +75 -75
  52. package/components/common/pages/backups/tools/lib/config/tabs.ts +36 -36
  53. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  54. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  55. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  56. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  57. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  58. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  59. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  60. package/components/common/select/radio/RadioGroup.vue +137 -137
  61. package/components/common/spiceConsole/Drawer.vue +381 -381
  62. package/components/common/spiceConsole/SpiceConsole.vue +127 -127
  63. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  64. package/components/common/tools/Actions.vue +207 -207
  65. package/components/common/treeView/TreeView.vue +52 -52
  66. package/components/common/vm/actions/add/folderTreeView/FolderTreeView.vue +72 -72
  67. package/components/common/vm/actions/add/folderTreeView/New.vue +40 -40
  68. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +7 -1
  69. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  70. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +78 -78
  71. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  72. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +154 -154
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationOld.vue +85 -85
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/maximumSize/MaximumSize.vue +23 -23
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/Table.vue +99 -99
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  84. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  85. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  86. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  87. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  88. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +53 -53
  89. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
  90. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +60 -60
  91. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +174 -174
  92. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  93. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapOld.vue +44 -44
  94. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  95. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  96. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  97. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  98. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +143 -143
  99. package/components/common/vm/actions/common/select/computeResource/New.vue +184 -184
  100. package/components/common/vm/actions/common/select/computeResource/treeView/TreeView.vue +131 -131
  101. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  102. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  103. package/components/common/vm/actions/common/select/name/Name.vue +190 -182
  104. package/components/common/vm/actions/common/select/os/Old.vue +152 -152
  105. package/components/common/vm/actions/common/select/os/Os.vue +139 -139
  106. package/components/common/vm/actions/common/select/storage/new/New.vue +320 -320
  107. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  108. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  109. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  110. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  111. package/components/common/vmt/actions/add/Old.vue +1 -0
  112. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  113. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  114. package/components/common/wizards/vm/migrate/select/type/lib/config/typeOptions.ts +45 -45
  115. package/composables/productNameLocal.ts +30 -30
  116. package/composables/useAppVersion.ts +21 -21
  117. package/package.json +1 -1
  118. package/plugins/date.ts +233 -233
  119. package/plugins/panelStates.ts +70 -70
  120. package/plugins/text.ts +59 -59
  121. package/public/spice-console/lib/images/bitmap.js +203 -203
  122. package/public/spice-console/network/spicechannel.js +390 -390
  123. package/store/main/mutations.ts +7 -7
  124. package/store/main/state.ts +7 -7
@@ -1,398 +1,398 @@
1
- import type { UI_I_Localization } from '~/lib/models/interfaces'
2
- import type {
3
- UI_I_ModalsInitialData,
4
- UI_I_NetworkSummaryPortletListItem,
5
- UI_I_OverrideValue,
6
- UI_I_TeamingAndFailoverTemplate,
7
- } from '~/components/common/diagramMain/lib/models/interfaces'
8
- import {
9
- UI_E_IYNOption,
10
- UI_E_IBSTLoadBalancingMode,
11
- UI_E_ICBLinkDetectionMode,
12
- } from '~/components/common/diagramMain/lib/models/enums'
13
-
14
- export const networkViewSettingsModalTabsFunc = (
15
- localization: UI_I_Localization
16
- ) => [
17
- {
18
- text: localization.common.all,
19
- value: 0,
20
- },
21
- {
22
- text: localization.common.properties,
23
- value: 1,
24
- },
25
- {
26
- text: localization.common.policies,
27
- value: 2,
28
- },
29
- ]
30
-
31
- const findInitialValue = (
32
- source: UI_I_NetworkSummaryPortletListItem[] | undefined,
33
- id: string
34
- ): UI_I_OverrideValue =>
35
- source?.find(
36
- (sourceItem: UI_I_NetworkSummaryPortletListItem) => sourceItem.id === id
37
- )?.initialValue as UI_I_OverrideValue
38
-
39
- export const networkViewSettingsFunc = (
40
- localization: UI_I_Localization,
41
- initialData: UI_I_ModalsInitialData
42
- ) => {
43
- const loadBalancing =
44
- (
45
- initialData.nicTeamingPolicy as UI_I_NetworkSummaryPortletListItem<UI_E_IBSTLoadBalancingMode>[]
46
- )?.find(
47
- (
48
- teaming: UI_I_NetworkSummaryPortletListItem<UI_E_IBSTLoadBalancingMode>
49
- ) => teaming.id === 'mode'
50
- )?.initialValue?.value || UI_E_IBSTLoadBalancingMode.BACKUP
51
-
52
- let loadBalancingValue: string
53
-
54
- switch (loadBalancing) {
55
- case UI_E_IBSTLoadBalancingMode.BACKUP:
56
- loadBalancingValue = localization.common.useExplicitFailoverOrder
57
- break
58
- case UI_E_IBSTLoadBalancingMode.SLB:
59
- loadBalancingValue = localization.common.routeBasedSourceMacHash
60
- break
61
- case UI_E_IBSTLoadBalancingMode.TCP:
62
- loadBalancingValue = localization.common.routeBasedIpHash
63
- break
64
- default:
65
- loadBalancingValue = '--'
66
- }
67
-
68
- const promiscuousModeFlag: boolean =
69
- (
70
- initialData.securityPolicy as UI_I_NetworkSummaryPortletListItem<UI_E_IYNOption>[]
71
- )?.find(
72
- (sec: UI_I_NetworkSummaryPortletListItem<UI_E_IYNOption>) =>
73
- sec.id === 'promiscuous_mode'
74
- )?.initialValue?.value === UI_E_IYNOption.YES
75
-
76
- const macAddressChanges: boolean =
77
- (
78
- initialData.securityPolicy as UI_I_NetworkSummaryPortletListItem<UI_E_IYNOption>[]
79
- )?.find(
80
- (sec: UI_I_NetworkSummaryPortletListItem<UI_E_IYNOption>) =>
81
- sec.id === 'mac_change'
82
- )?.initialValue?.value === UI_E_IYNOption.YES
83
-
84
- const forgedTransmits: boolean =
85
- (
86
- initialData.securityPolicy as UI_I_NetworkSummaryPortletListItem<UI_E_IYNOption>[]
87
- )?.find(
88
- (sec: UI_I_NetworkSummaryPortletListItem<UI_E_IYNOption>) =>
89
- sec.id === 'forged_transmits'
90
- )?.initialValue?.value === UI_E_IYNOption.YES
91
-
92
- const notifySwitches: boolean =
93
- (
94
- initialData.nicTeamingPolicy as UI_I_NetworkSummaryPortletListItem<UI_E_IYNOption>[]
95
- )?.find(
96
- (teaming: UI_I_NetworkSummaryPortletListItem<UI_E_IYNOption>) =>
97
- teaming.id === 'notify_switches'
98
- )?.initialValue?.value === UI_E_IYNOption.YES
99
-
100
- const failback: boolean =
101
- (
102
- initialData.nicTeamingPolicy as UI_I_NetworkSummaryPortletListItem<UI_E_IYNOption>[]
103
- )?.find(
104
- (teaming: UI_I_NetworkSummaryPortletListItem<UI_E_IYNOption>) =>
105
- teaming.id === 'failback'
106
- )?.initialValue?.value === UI_E_IYNOption.YES
107
-
108
- return [
109
- {
110
- title: localization.common.properties,
111
- id: 1,
112
- type: 1,
113
- rows: [
114
- {
115
- name: localization.common.networkLabel,
116
- value: initialData.networkLabel,
117
- },
118
- {
119
- name: localization.common.vlanId,
120
- value: initialData.vlanId,
121
- },
122
- ],
123
- },
124
- {
125
- title: localization.common.security,
126
- id: 2,
127
- type: 2,
128
- rows: [
129
- {
130
- name: localization.common.promiscuousMode,
131
- value: promiscuousModeFlag
132
- ? localization.common.accept
133
- : localization.common.reject,
134
- color: promiscuousModeFlag,
135
- status: true,
136
- },
137
- {
138
- name: localization.common.macAddressChanges,
139
- value: macAddressChanges
140
- ? localization.common.accept
141
- : localization.common.reject,
142
- color: macAddressChanges,
143
- status: true,
144
- },
145
- {
146
- name: localization.common.forgedTransmits,
147
- value: forgedTransmits
148
- ? localization.common.accept
149
- : localization.common.reject,
150
- color: forgedTransmits,
151
- status: true,
152
- },
153
- ],
154
- },
155
- {
156
- title: localization.common.trafficShaping,
157
- id: 3,
158
- type: 2,
159
- rows: [
160
- {
161
- name: localization.common.averageBandwidth,
162
- value: initialData.shapingPolicy?.[0].initialValue.value
163
- ? `${initialData.average_bw} ${localization.common.kbitS}`
164
- : '--',
165
- },
166
- {
167
- name: localization.common.peakBandwidth,
168
- value: initialData.shapingPolicy?.[0].initialValue.value
169
- ? `${initialData.peak_bw} ${localization.common.kbitS}`
170
- : '--',
171
- },
172
- {
173
- name: localization.common.burstSize,
174
- value: initialData.shapingPolicy?.[0].initialValue.value
175
- ? `${initialData.burst_size} ${localization.common.kb}`
176
- : '--',
177
- },
178
- ],
179
- },
180
- {
181
- title: localization.common.teamingAndFailover,
182
- id: 4,
183
- type: 2,
184
- rows: [
185
- {
186
- name: localization.common.loadBalancing,
187
- value: loadBalancingValue,
188
- },
189
- {
190
- name: localization.common.networkFailureDetection,
191
- value:
192
- (
193
- initialData.nicTeamingPolicy as UI_I_NetworkSummaryPortletListItem<UI_E_ICBLinkDetectionMode>[]
194
- )?.find(
195
- (
196
- teaming: UI_I_NetworkSummaryPortletListItem<UI_E_ICBLinkDetectionMode>
197
- ) => teaming.id === 'link_detect'
198
- )?.initialValue?.value === 1
199
- ? localization.common.linkStatusOnly
200
- : localization.common.beaconProbing,
201
- },
202
- {
203
- name: localization.common.notifySwitches,
204
- value: notifySwitches
205
- ? localization.common.yes
206
- : localization.common.no,
207
- color: notifySwitches,
208
- status: true,
209
- },
210
- {
211
- name: localization.common.failback,
212
- value: failback ? localization.common.yes : localization.common.no,
213
- color: failback,
214
- status: true,
215
- },
216
- {
217
- name: localization.networks.activeAdapters,
218
- value: initialData.activeAdapters,
219
- },
220
- {
221
- name: localization.common.standbyAdapters,
222
- value: initialData.standbyAdapters,
223
- },
224
- {
225
- name: localization.common.unusedAdapters,
226
- value: initialData.unusedAdapters,
227
- },
228
- ],
229
- },
230
- ]
231
- }
232
-
233
- export const networkEditSettingsTabsFunc = (
234
- localization: UI_I_Localization
235
- ) => [
236
- {
237
- value: '1',
238
- text: localization.common.properties,
239
- },
240
- {
241
- value: '2',
242
- text: localization.common.security,
243
- },
244
- {
245
- value: '3',
246
- text: localization.common.trafficShaping,
247
- },
248
- {
249
- value: '4',
250
- text: localization.common.teamingAndFailover,
251
- },
252
- ]
253
-
254
- export const networkPopupFieldsFunc = (
255
- localization: UI_I_Localization,
256
- networkType: string,
257
- testId: string,
258
- state: number,
259
- inPortlet = false
260
- ) => {
261
- const view = {
262
- text: localization.common.viewSettings,
263
- value: 'network-view-settings',
264
- testId: `${testId}-view`,
265
- }
266
- const edit = {
267
- text: localization.common.editSettings,
268
- value: 'network-edit-settings',
269
- testId: `${testId}-edit`,
270
- permission:
271
- networkType === '1' ? 'Networks.UpdateSysx' : 'Networks.UpdatePortGroup',
272
- }
273
- const remove = {
274
- text: localization.common.remove,
275
- value: 'network-port-remove',
276
- testId: `${testId}-remove`,
277
- permission:
278
- networkType === '1' ? 'Networks.RemoveSysx' : 'Networks.RemovePortGroup',
279
- // networkType === '1' ? 'network-vkernel-remove' : 'network-port-remove',
280
- }
281
-
282
- const inPortletConfig = [view]
283
-
284
- const notInPortletConfig = [view, edit, { separate: true }, remove]
285
- const notInPortletErrorConfig = [remove]
286
-
287
- if (inPortlet) {
288
- return state === 3 ? [] : inPortletConfig
289
- } else {
290
- return state === 3 ? notInPortletErrorConfig : notInPortletConfig
291
- }
292
- }
293
-
294
- export const networkPopupFieldsNewFunc = (
295
- localization: UI_I_Localization,
296
- networkType: string,
297
- testId: string,
298
- state: number,
299
- inPortlet = false
300
- ) => {
301
- const view = {
302
- text: localization.common.viewSettings,
303
- value: 'network-view-settings',
304
- iconName: 'password-hide',
305
- testId: `${testId}-view`,
306
- }
307
- const edit = {
308
- text: localization.common.editSettings,
309
- value: 'network-edit-settings',
310
- iconName: 'edit',
311
- testId: `${testId}-edit`,
312
- permission:
313
- networkType === '1' ? 'Networks.UpdateSysx' : 'Networks.UpdatePortGroup',
314
- }
315
- const remove = {
316
- text: localization.common.remove,
317
- value: 'network-port-remove',
318
- iconName: 'delete',
319
- iconColor: '#ea3223',
320
- textColor: '#ea3223',
321
- testId: `${testId}-remove`,
322
- permission:
323
- networkType === '1' ? 'Networks.RemoveSysx' : 'Networks.RemovePortGroup',
324
- // networkType === '1' ? 'network-vkernel-remove' : 'network-port-remove',
325
- }
326
-
327
- const inPortletConfig = [view]
328
-
329
- const notInPortletConfig = [view, edit, remove]
330
- const notInPortletErrorConfig = [remove]
331
-
332
- if (inPortlet) {
333
- return state === 3 ? [] : inPortletConfig
334
- } else {
335
- return state === 3 ? notInPortletErrorConfig : notInPortletConfig
336
- }
337
- }
338
-
339
- export const teamingAndFailoverTemplateMakerFunc = (
340
- localization: UI_I_Localization
341
- ): UI_I_TeamingAndFailoverTemplate[] => [
342
- {
343
- key: 'loadBalancing',
344
- testId: 'loadBalancing',
345
- options: [
346
- {
347
- value: 3,
348
- text: localization.common.routeBasedIpHash,
349
- },
350
- {
351
- value: 2,
352
- text: localization.common.routeBasedSourceMacHash,
353
- },
354
- {
355
- value: 1,
356
- text: localization.common.useExplicitFailoverOrder,
357
- },
358
- ],
359
- },
360
- {
361
- key: 'networkFailureDetection',
362
- testId: 'networkFailureDetection',
363
- options: [
364
- {
365
- value: 1,
366
- text: localization.common.linkStatusOnly,
367
- },
368
- ],
369
- },
370
- {
371
- key: 'notifySwitches',
372
- testId: 'notifySwitches',
373
- options: [
374
- {
375
- value: 2,
376
- text: localization.common.no,
377
- },
378
- {
379
- value: 1,
380
- text: localization.common.yes,
381
- },
382
- ],
383
- },
384
- {
385
- key: 'failback',
386
- testId: 'failback',
387
- options: [
388
- {
389
- value: 2,
390
- text: localization.common.no,
391
- },
392
- {
393
- value: 1,
394
- text: localization.common.yes,
395
- },
396
- ],
397
- },
398
- ]
1
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
2
+ import type {
3
+ UI_I_ModalsInitialData,
4
+ UI_I_NetworkSummaryPortletListItem,
5
+ UI_I_OverrideValue,
6
+ UI_I_TeamingAndFailoverTemplate,
7
+ } from '~/components/common/diagramMain/lib/models/interfaces'
8
+ import {
9
+ UI_E_IYNOption,
10
+ UI_E_IBSTLoadBalancingMode,
11
+ UI_E_ICBLinkDetectionMode,
12
+ } from '~/components/common/diagramMain/lib/models/enums'
13
+
14
+ export const networkViewSettingsModalTabsFunc = (
15
+ localization: UI_I_Localization
16
+ ) => [
17
+ {
18
+ text: localization.common.all,
19
+ value: 0,
20
+ },
21
+ {
22
+ text: localization.common.properties,
23
+ value: 1,
24
+ },
25
+ {
26
+ text: localization.common.policies,
27
+ value: 2,
28
+ },
29
+ ]
30
+
31
+ const findInitialValue = (
32
+ source: UI_I_NetworkSummaryPortletListItem[] | undefined,
33
+ id: string
34
+ ): UI_I_OverrideValue =>
35
+ source?.find(
36
+ (sourceItem: UI_I_NetworkSummaryPortletListItem) => sourceItem.id === id
37
+ )?.initialValue as UI_I_OverrideValue
38
+
39
+ export const networkViewSettingsFunc = (
40
+ localization: UI_I_Localization,
41
+ initialData: UI_I_ModalsInitialData
42
+ ) => {
43
+ const loadBalancing =
44
+ (
45
+ initialData.nicTeamingPolicy as UI_I_NetworkSummaryPortletListItem<UI_E_IBSTLoadBalancingMode>[]
46
+ )?.find(
47
+ (
48
+ teaming: UI_I_NetworkSummaryPortletListItem<UI_E_IBSTLoadBalancingMode>
49
+ ) => teaming.id === 'mode'
50
+ )?.initialValue?.value || UI_E_IBSTLoadBalancingMode.BACKUP
51
+
52
+ let loadBalancingValue: string
53
+
54
+ switch (loadBalancing) {
55
+ case UI_E_IBSTLoadBalancingMode.BACKUP:
56
+ loadBalancingValue = localization.common.useExplicitFailoverOrder
57
+ break
58
+ case UI_E_IBSTLoadBalancingMode.SLB:
59
+ loadBalancingValue = localization.common.routeBasedSourceMacHash
60
+ break
61
+ case UI_E_IBSTLoadBalancingMode.TCP:
62
+ loadBalancingValue = localization.common.routeBasedIpHash
63
+ break
64
+ default:
65
+ loadBalancingValue = '--'
66
+ }
67
+
68
+ const promiscuousModeFlag: boolean =
69
+ (
70
+ initialData.securityPolicy as UI_I_NetworkSummaryPortletListItem<UI_E_IYNOption>[]
71
+ )?.find(
72
+ (sec: UI_I_NetworkSummaryPortletListItem<UI_E_IYNOption>) =>
73
+ sec.id === 'promiscuous_mode'
74
+ )?.initialValue?.value === UI_E_IYNOption.YES
75
+
76
+ const macAddressChanges: boolean =
77
+ (
78
+ initialData.securityPolicy as UI_I_NetworkSummaryPortletListItem<UI_E_IYNOption>[]
79
+ )?.find(
80
+ (sec: UI_I_NetworkSummaryPortletListItem<UI_E_IYNOption>) =>
81
+ sec.id === 'mac_change'
82
+ )?.initialValue?.value === UI_E_IYNOption.YES
83
+
84
+ const forgedTransmits: boolean =
85
+ (
86
+ initialData.securityPolicy as UI_I_NetworkSummaryPortletListItem<UI_E_IYNOption>[]
87
+ )?.find(
88
+ (sec: UI_I_NetworkSummaryPortletListItem<UI_E_IYNOption>) =>
89
+ sec.id === 'forged_transmits'
90
+ )?.initialValue?.value === UI_E_IYNOption.YES
91
+
92
+ const notifySwitches: boolean =
93
+ (
94
+ initialData.nicTeamingPolicy as UI_I_NetworkSummaryPortletListItem<UI_E_IYNOption>[]
95
+ )?.find(
96
+ (teaming: UI_I_NetworkSummaryPortletListItem<UI_E_IYNOption>) =>
97
+ teaming.id === 'notify_switches'
98
+ )?.initialValue?.value === UI_E_IYNOption.YES
99
+
100
+ const failback: boolean =
101
+ (
102
+ initialData.nicTeamingPolicy as UI_I_NetworkSummaryPortletListItem<UI_E_IYNOption>[]
103
+ )?.find(
104
+ (teaming: UI_I_NetworkSummaryPortletListItem<UI_E_IYNOption>) =>
105
+ teaming.id === 'failback'
106
+ )?.initialValue?.value === UI_E_IYNOption.YES
107
+
108
+ return [
109
+ {
110
+ title: localization.common.properties,
111
+ id: 1,
112
+ type: 1,
113
+ rows: [
114
+ {
115
+ name: localization.common.networkLabel,
116
+ value: initialData.networkLabel,
117
+ },
118
+ {
119
+ name: localization.common.vlanId,
120
+ value: initialData.vlanId,
121
+ },
122
+ ],
123
+ },
124
+ {
125
+ title: localization.common.security,
126
+ id: 2,
127
+ type: 2,
128
+ rows: [
129
+ {
130
+ name: localization.common.promiscuousMode,
131
+ value: promiscuousModeFlag
132
+ ? localization.common.accept
133
+ : localization.common.reject,
134
+ color: promiscuousModeFlag,
135
+ status: true,
136
+ },
137
+ {
138
+ name: localization.common.macAddressChanges,
139
+ value: macAddressChanges
140
+ ? localization.common.accept
141
+ : localization.common.reject,
142
+ color: macAddressChanges,
143
+ status: true,
144
+ },
145
+ {
146
+ name: localization.common.forgedTransmits,
147
+ value: forgedTransmits
148
+ ? localization.common.accept
149
+ : localization.common.reject,
150
+ color: forgedTransmits,
151
+ status: true,
152
+ },
153
+ ],
154
+ },
155
+ {
156
+ title: localization.common.trafficShaping,
157
+ id: 3,
158
+ type: 2,
159
+ rows: [
160
+ {
161
+ name: localization.common.averageBandwidth,
162
+ value: initialData.shapingPolicy?.[0].initialValue.value
163
+ ? `${initialData.average_bw} ${localization.common.kbitS}`
164
+ : '--',
165
+ },
166
+ {
167
+ name: localization.common.peakBandwidth,
168
+ value: initialData.shapingPolicy?.[0].initialValue.value
169
+ ? `${initialData.peak_bw} ${localization.common.kbitS}`
170
+ : '--',
171
+ },
172
+ {
173
+ name: localization.common.burstSize,
174
+ value: initialData.shapingPolicy?.[0].initialValue.value
175
+ ? `${initialData.burst_size} ${localization.common.kb}`
176
+ : '--',
177
+ },
178
+ ],
179
+ },
180
+ {
181
+ title: localization.common.teamingAndFailover,
182
+ id: 4,
183
+ type: 2,
184
+ rows: [
185
+ {
186
+ name: localization.common.loadBalancing,
187
+ value: loadBalancingValue,
188
+ },
189
+ {
190
+ name: localization.common.networkFailureDetection,
191
+ value:
192
+ (
193
+ initialData.nicTeamingPolicy as UI_I_NetworkSummaryPortletListItem<UI_E_ICBLinkDetectionMode>[]
194
+ )?.find(
195
+ (
196
+ teaming: UI_I_NetworkSummaryPortletListItem<UI_E_ICBLinkDetectionMode>
197
+ ) => teaming.id === 'link_detect'
198
+ )?.initialValue?.value === 1
199
+ ? localization.common.linkStatusOnly
200
+ : localization.common.beaconProbing,
201
+ },
202
+ {
203
+ name: localization.common.notifySwitches,
204
+ value: notifySwitches
205
+ ? localization.common.yes
206
+ : localization.common.no,
207
+ color: notifySwitches,
208
+ status: true,
209
+ },
210
+ {
211
+ name: localization.common.failback,
212
+ value: failback ? localization.common.yes : localization.common.no,
213
+ color: failback,
214
+ status: true,
215
+ },
216
+ {
217
+ name: localization.networks.activeAdapters,
218
+ value: initialData.activeAdapters,
219
+ },
220
+ {
221
+ name: localization.common.standbyAdapters,
222
+ value: initialData.standbyAdapters,
223
+ },
224
+ {
225
+ name: localization.common.unusedAdapters,
226
+ value: initialData.unusedAdapters,
227
+ },
228
+ ],
229
+ },
230
+ ]
231
+ }
232
+
233
+ export const networkEditSettingsTabsFunc = (
234
+ localization: UI_I_Localization
235
+ ) => [
236
+ {
237
+ value: '1',
238
+ text: localization.common.properties,
239
+ },
240
+ {
241
+ value: '2',
242
+ text: localization.common.security,
243
+ },
244
+ {
245
+ value: '3',
246
+ text: localization.common.trafficShaping,
247
+ },
248
+ {
249
+ value: '4',
250
+ text: localization.common.teamingAndFailover,
251
+ },
252
+ ]
253
+
254
+ export const networkPopupFieldsFunc = (
255
+ localization: UI_I_Localization,
256
+ networkType: string,
257
+ testId: string,
258
+ state: number,
259
+ inPortlet = false
260
+ ) => {
261
+ const view = {
262
+ text: localization.common.viewSettings,
263
+ value: 'network-view-settings',
264
+ testId: `${testId}-view`,
265
+ }
266
+ const edit = {
267
+ text: localization.common.editSettings,
268
+ value: 'network-edit-settings',
269
+ testId: `${testId}-edit`,
270
+ permission:
271
+ networkType === '1' ? 'Networks.UpdateSysx' : 'Networks.UpdatePortGroup',
272
+ }
273
+ const remove = {
274
+ text: localization.common.remove,
275
+ value: 'network-port-remove',
276
+ testId: `${testId}-remove`,
277
+ permission:
278
+ networkType === '1' ? 'Networks.RemoveSysx' : 'Networks.RemovePortGroup',
279
+ // networkType === '1' ? 'network-vkernel-remove' : 'network-port-remove',
280
+ }
281
+
282
+ const inPortletConfig = [view]
283
+
284
+ const notInPortletConfig = [view, edit, { separate: true }, remove]
285
+ const notInPortletErrorConfig = [remove]
286
+
287
+ if (inPortlet) {
288
+ return state === 3 ? [] : inPortletConfig
289
+ } else {
290
+ return state === 3 ? notInPortletErrorConfig : notInPortletConfig
291
+ }
292
+ }
293
+
294
+ export const networkPopupFieldsNewFunc = (
295
+ localization: UI_I_Localization,
296
+ networkType: string,
297
+ testId: string,
298
+ state: number,
299
+ inPortlet = false
300
+ ) => {
301
+ const view = {
302
+ text: localization.common.viewSettings,
303
+ value: 'network-view-settings',
304
+ iconName: 'password-hide',
305
+ testId: `${testId}-view`,
306
+ }
307
+ const edit = {
308
+ text: localization.common.editSettings,
309
+ value: 'network-edit-settings',
310
+ iconName: 'edit',
311
+ testId: `${testId}-edit`,
312
+ permission:
313
+ networkType === '1' ? 'Networks.UpdateSysx' : 'Networks.UpdatePortGroup',
314
+ }
315
+ const remove = {
316
+ text: localization.common.remove,
317
+ value: 'network-port-remove',
318
+ iconName: 'delete',
319
+ iconColor: '#ea3223',
320
+ textColor: '#ea3223',
321
+ testId: `${testId}-remove`,
322
+ permission:
323
+ networkType === '1' ? 'Networks.RemoveSysx' : 'Networks.RemovePortGroup',
324
+ // networkType === '1' ? 'network-vkernel-remove' : 'network-port-remove',
325
+ }
326
+
327
+ const inPortletConfig = [view]
328
+
329
+ const notInPortletConfig = [view, edit, remove]
330
+ const notInPortletErrorConfig = [remove]
331
+
332
+ if (inPortlet) {
333
+ return state === 3 ? [] : inPortletConfig
334
+ } else {
335
+ return state === 3 ? notInPortletErrorConfig : notInPortletConfig
336
+ }
337
+ }
338
+
339
+ export const teamingAndFailoverTemplateMakerFunc = (
340
+ localization: UI_I_Localization
341
+ ): UI_I_TeamingAndFailoverTemplate[] => [
342
+ {
343
+ key: 'loadBalancing',
344
+ testId: 'loadBalancing',
345
+ options: [
346
+ {
347
+ value: 3,
348
+ text: localization.common.routeBasedIpHash,
349
+ },
350
+ {
351
+ value: 2,
352
+ text: localization.common.routeBasedSourceMacHash,
353
+ },
354
+ {
355
+ value: 1,
356
+ text: localization.common.useExplicitFailoverOrder,
357
+ },
358
+ ],
359
+ },
360
+ {
361
+ key: 'networkFailureDetection',
362
+ testId: 'networkFailureDetection',
363
+ options: [
364
+ {
365
+ value: 1,
366
+ text: localization.common.linkStatusOnly,
367
+ },
368
+ ],
369
+ },
370
+ {
371
+ key: 'notifySwitches',
372
+ testId: 'notifySwitches',
373
+ options: [
374
+ {
375
+ value: 2,
376
+ text: localization.common.no,
377
+ },
378
+ {
379
+ value: 1,
380
+ text: localization.common.yes,
381
+ },
382
+ ],
383
+ },
384
+ {
385
+ key: 'failback',
386
+ testId: 'failback',
387
+ options: [
388
+ {
389
+ value: 2,
390
+ text: localization.common.no,
391
+ },
392
+ {
393
+ value: 1,
394
+ text: localization.common.yes,
395
+ },
396
+ ],
397
+ },
398
+ ]