bfg-common 1.5.42 → 1.5.44

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 (197) 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/scss/common/normalize.scss +339 -339
  7. package/components/atoms/TheIcon3.vue +50 -50
  8. package/components/atoms/collapse/CollapseNav.vue +165 -165
  9. package/components/atoms/dropdown/dropdown/Dropdown.vue +168 -168
  10. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  11. package/components/atoms/perPage/PerPage.vue +58 -58
  12. package/components/atoms/stack/StackBlock.vue +185 -185
  13. package/components/atoms/table/dataGrid/DataGrid.vue +1 -1
  14. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +222 -222
  15. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  16. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  17. package/components/atoms/tabs/VerticalTabs.vue +105 -105
  18. package/components/atoms/tooltip/Signpost.vue +227 -227
  19. package/components/common/accordion/Recursion.vue +222 -222
  20. package/components/common/browse/BrowseNew.vue +237 -237
  21. package/components/common/browse/BrowseOld.vue +217 -217
  22. package/components/common/browse/blocks/contents/Files.vue +37 -37
  23. package/components/common/browse/blocks/contents/FilesOld.vue +72 -72
  24. package/components/common/browse/blocks/contents/filesNew/FilesNew.vue +96 -96
  25. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  26. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  27. package/components/common/browse/lib/models/interfaces.ts +5 -5
  28. package/components/common/context/Context.vue +111 -111
  29. package/components/common/context/lib/models/interfaces.ts +31 -31
  30. package/components/common/context/recursion/Recursion.vue +87 -87
  31. package/components/common/context/recursion/RecursionNew.vue +238 -238
  32. package/components/common/context/recursion/RecursionOld.vue +228 -228
  33. package/components/common/details/DetailsItem.vue +109 -109
  34. package/components/common/diagramMain/DiagramMain.vue +897 -897
  35. package/components/common/diagramMain/Header.vue +214 -214
  36. package/components/common/diagramMain/adapter/AdapterItems.vue +61 -61
  37. package/components/common/diagramMain/lib/config/initial.ts +50 -50
  38. package/components/common/diagramMain/lib/models/types.ts +21 -21
  39. package/components/common/diagramMain/lib/utils/utils.ts +331 -331
  40. package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +40 -40
  41. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +214 -214
  42. package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +189 -189
  43. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +163 -163
  44. package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +175 -175
  45. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +346 -346
  46. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +205 -205
  47. package/components/common/diagramMain/modals/lib/config/initial.ts +180 -180
  48. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
  49. package/components/common/diagramMain/modals/lib/mappers/mappers.ts +87 -87
  50. package/components/common/diagramMain/modals/lib/utils/index.ts +24 -24
  51. package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
  52. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +169 -169
  53. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +159 -159
  54. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +14 -14
  55. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +137 -137
  56. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
  57. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
  58. package/components/common/diagramMain/port/Ports.vue +47 -47
  59. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  60. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +103 -103
  61. package/components/common/layout/theHeader/userMenu/modals/preferences/view/ViewOld.vue +112 -112
  62. package/components/common/mainNavigationPanel/MainNavigationPanelNew.vue +336 -336
  63. package/components/common/mainNavigationPanel/MainNavigationPanelOld.vue +311 -311
  64. package/components/common/modals/unsavedChanges/UnsavedChanges.vue +56 -56
  65. package/components/common/monitor/overview/OverviewOld.vue +139 -139
  66. package/components/common/pages/home/StatusContent.vue +49 -49
  67. package/components/common/pages/home/headline/Headline.vue +45 -45
  68. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  69. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  70. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  71. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  72. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  73. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  74. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  75. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  76. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  77. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  78. package/components/common/pages/packages/Packages.vue +208 -208
  79. package/components/common/pages/shortcuts/block/BlockNew.vue +96 -96
  80. package/components/common/pages/shortcuts/block/BlockOld.vue +68 -68
  81. package/components/common/portlets/customAttributes/Portlet.vue +667 -667
  82. package/components/common/portlets/tag/Portlet.vue +433 -433
  83. package/components/common/recursionTree/RecursionTree.vue +223 -223
  84. package/components/common/select/button/ButtonDropdown.vue +108 -108
  85. package/components/common/spiceConsole/Drawer.vue +370 -370
  86. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  87. package/components/common/split/horizontal/HorizontalNew.vue +376 -376
  88. package/components/common/split/horizontal/HorizontalOld.vue +337 -337
  89. package/components/common/split/vertical/Vertical.vue +160 -160
  90. package/components/common/tools/Actions.vue +188 -188
  91. package/components/common/vm/actions/add/Add.vue +774 -772
  92. package/components/common/vm/actions/add/lib/config/steps.ts +247 -247
  93. package/components/common/vm/actions/clone/Clone.vue +798 -668
  94. package/components/common/vm/actions/clone/lib/config/steps.ts +291 -178
  95. package/components/common/vm/actions/clone/toTemplate/ToTemplate.vue +634 -634
  96. package/components/common/vm/actions/clone/toTemplate/lib/config/steps.ts +116 -116
  97. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +275 -275
  98. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +274 -274
  99. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +177 -177
  100. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +698 -698
  101. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +410 -410
  102. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +319 -319
  103. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  104. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +99 -99
  105. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +117 -117
  106. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +232 -232
  107. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +164 -164
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +168 -168
  109. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  110. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +70 -70
  111. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  112. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +338 -338
  113. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  114. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  115. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  116. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +368 -368
  117. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +232 -232
  118. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +250 -250
  119. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +56 -56
  120. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +44 -44
  121. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +286 -286
  122. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
  123. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  124. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  125. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -95
  126. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  127. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +69 -69
  128. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -83
  129. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  130. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  131. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  132. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  133. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +84 -84
  134. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  135. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  136. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  137. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  138. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -41
  139. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +81 -81
  140. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  141. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +56 -56
  142. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  143. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  144. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +104 -104
  145. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +112 -112
  146. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  147. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  148. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  149. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  150. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  151. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  152. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +42 -42
  153. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  154. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  155. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  156. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +141 -141
  157. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  158. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  159. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  160. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  161. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  162. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +39 -39
  163. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  164. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +102 -102
  165. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordOld.vue +94 -94
  166. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  167. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +38 -38
  168. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  169. package/components/common/vm/actions/common/lib/models/interfaces.ts +1 -0
  170. package/components/common/vm/actions/common/lib/utils/capabilities.ts +52 -51
  171. package/components/common/vm/actions/common/select/createType/CreateType.vue +74 -74
  172. package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
  173. package/components/common/vm/actions/common/select/storage/StorageOld.vue +129 -129
  174. package/components/common/vm/actions/common/select/template/Template.vue +65 -65
  175. package/components/common/vm/actions/common/select/template/TemplateTreeView.vue +88 -88
  176. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  177. package/components/common/wizards/datastore/add/lib/config/steps.ts +138 -138
  178. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +60 -60
  179. package/components/common/wizards/datastore/add/readyComplete/ReadyComplete.vue +92 -92
  180. package/components/common/wizards/network/add/steps/SelectConnectionType.vue +105 -105
  181. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +220 -220
  182. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  183. package/components/common/wizards/vm/migrate/select/network/table/network/Network.vue +150 -150
  184. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +91 -91
  185. package/components/common/wizards/vm/migrate/select/priority/Priority.vue +43 -43
  186. package/composables/productNameLocal.ts +30 -30
  187. package/composables/useAppVersion.ts +21 -21
  188. package/lib/models/store/interfaces.ts +1 -0
  189. package/lib/models/store/vm/interfaces.ts +2 -0
  190. package/package.json +1 -1
  191. package/plugins/date.ts +233 -233
  192. package/plugins/directives.ts +24 -24
  193. package/public/spice-console/lib/images/bitmap.js +203 -203
  194. package/public/spice-console/network/spicechannel.js +383 -383
  195. package/store/main/mutations.ts +7 -7
  196. package/store/main/state.ts +7 -7
  197. package/store/tasks/mappers/recentTasks.ts +64 -64
@@ -1,331 +1,331 @@
1
- import type { UI_I_ItemsWithTotalCounts } from '~/lib/models/interfaces'
2
- import type {
3
- UI_I_Network,
4
- UI_I_SelectedPort,
5
- UI_I_NetworksWithPositions,
6
- UI_I_AdaptersWithPositions,
7
- UI_I_SelectedSwitchPositions,
8
- UI_I_DiagramData,
9
- UI_I_AdaptersHeight,
10
- UI_I_Adapter,
11
- UI_I_AdaptersPositions,
12
- UI_I_AdapterStatus,
13
- API_UI_I_SwitchItem,
14
- UI_I_AvailableAdapters,
15
- UI_I_SwitchAdapterItem,
16
- UI_I_AdapterWithError,
17
- } from '~/components/common/diagramMain/lib/models/interfaces'
18
- import type { UI_T_Adapters } from '~/components/common/diagramMain/lib/models/types'
19
- import {
20
- UI_E_NetworkType,
21
- UI_E_PositionsY,
22
- } from '~/components/common/diagramMain/lib/models/enums'
23
- import { NETWORK_POSITIONS } from '~/components/common/diagramMain/lib/config'
24
-
25
- export const hasPortAndNetwork = (
26
- selectedPort: UI_I_SelectedPort,
27
- id: string
28
- ): boolean =>
29
- selectedPort.portId !== '-1' &&
30
- selectedPort.networkId !== '-1' &&
31
- selectedPort.networkId === id
32
-
33
- export const networksPositions = (
34
- arr: number[],
35
- net: UI_I_NetworksWithPositions
36
- ): number[] => {
37
- if (net.ports.length === 0) return [...arr, net.connectLineY]
38
- if (!net.toggle)
39
- return [
40
- ...arr,
41
- net.portsPosition + NETWORK_POSITIONS.EMPTY_PORTS_PADDING_BOTTOM,
42
- ]
43
-
44
- return [
45
- ...arr,
46
- net.portsPosition +
47
- NETWORK_POSITIONS.FROM_VLAN_ID_TO_GROUP_NAME +
48
- NETWORK_POSITIONS.BETWEEN_VMS_AND_PORTS,
49
- net.networkType === UI_E_NetworkType.VCenter
50
- ? net.portsPosition +
51
- NETWORK_POSITIONS.FROM_VLAN_ID_TO_GROUP_NAME +
52
- NETWORK_POSITIONS.BETWEEN_V_CENTERS +
53
- NETWORK_POSITIONS.V_CENTER_HEIGHT * (net.portsCount - 1)
54
- : net.portsPosition +
55
- NETWORK_POSITIONS.FROM_VLAN_ID_TO_GROUP_NAME +
56
- NETWORK_POSITIONS.BETWEEN_VMS_AND_PORTS +
57
- NETWORK_POSITIONS.VMS_AND_PORTS_HEIGHT * (net.portsCount - 1),
58
- ]
59
- }
60
-
61
- export const getSelectedPortLinePositions = (
62
- selectedPortPosition: number | undefined,
63
- selectedNetworkData: UI_I_Network
64
- ) =>
65
- selectedPortPosition
66
- ? selectedNetworkData.networkType === UI_E_NetworkType.VCenter
67
- ? selectedPortPosition + 12.5
68
- : selectedPortPosition + 7.5
69
- : 0
70
-
71
- const selectedNetworkDataFunc = (
72
- networkId: string,
73
- networksWithPositions: UI_I_NetworksWithPositions[]
74
- ): UI_I_NetworksWithPositions | undefined =>
75
- networksWithPositions?.find(
76
- (network: UI_I_Network): boolean => network.id === networkId
77
- )
78
-
79
- export const getSelectNetworkDataFunc = (
80
- networkId: string,
81
- networksWithPositions: UI_I_NetworksWithPositions[],
82
- adaptersWithPositions: UI_I_AdaptersWithPositions
83
- ): UI_I_SelectedSwitchPositions | undefined => {
84
- const selectedNetworkData: UI_I_NetworksWithPositions | undefined =
85
- selectedNetworkDataFunc(networkId, networksWithPositions)
86
-
87
- if (!selectedNetworkData) return
88
-
89
- if (selectedNetworkData.state.state === 3)
90
- return {
91
- selectedSwitchLineY: {
92
- y1: 0,
93
- y2: 0,
94
- },
95
- selectedPort: {
96
- networkId,
97
- portId: '-1',
98
- activeAdapters: [],
99
- },
100
- }
101
-
102
- const activeAdapters: string[] = selectedNetworkData.activeAdapters
103
-
104
- const adaptersPositions: number[] =
105
- adaptersWithPositions.adapters
106
- ?.filter((adapter: UI_T_Adapters) => activeAdapters?.includes(adapter.id))
107
- ?.map((adapter: UI_T_Adapters) => adapter.adapterPosition + 7.5) || []
108
- let selectedPositions: number[] = []
109
-
110
- if (!adaptersWithPositions.toggle) {
111
- selectedPositions = [
112
- adaptersWithPositions.adaptersConnectLineY,
113
- selectedNetworkData.connectLineY,
114
- ]
115
- } else if (
116
- adaptersWithPositions.adapters === null ||
117
- adaptersWithPositions.adapters?.length === 0
118
- ) {
119
- selectedPositions = [47.5, selectedNetworkData.connectLineY].sort(
120
- (y1: number, y2: number) => y1 - y2
121
- )
122
- } else {
123
- selectedPositions = [
124
- ...adaptersPositions,
125
- selectedNetworkData.connectLineY,
126
- ].sort((y1: number, y2: number) => y1 - y2)
127
- }
128
-
129
- return {
130
- selectedSwitchLineY: {
131
- y1: selectedPositions[0],
132
- y2: selectedPositions[selectedPositions.length - 1],
133
- },
134
- selectedPort: {
135
- networkId,
136
- portId: '-1',
137
- activeAdapters: activeAdapters || [],
138
- },
139
- }
140
- }
141
-
142
- export const getSelectPortDataFunc = (
143
- networkId: string,
144
- portId: string,
145
- networksWithPositions: UI_I_NetworksWithPositions[],
146
- adaptersWithPositions: UI_I_AdaptersWithPositions
147
- ): UI_I_SelectedSwitchPositions | undefined => {
148
- const selectedNetworkData: UI_I_NetworksWithPositions | undefined =
149
- selectedNetworkDataFunc(networkId, networksWithPositions)
150
-
151
- if (!selectedNetworkData) return
152
-
153
- const activeAdapters: string[] = selectedNetworkData.activeAdapters
154
- const adaptersPositions: number[] =
155
- adaptersWithPositions.adapters
156
- ?.filter((adapter: UI_T_Adapters) => activeAdapters?.includes(adapter.id))
157
- ?.map((adapter: UI_T_Adapters) => adapter.adapterPosition + 7.5) || []
158
- const selectedPortPosition: number | undefined =
159
- selectedNetworkData.ports.find(
160
- (el): boolean => el.id === portId
161
- )?.portPosition
162
- const selectedPortLinePosition: number = getSelectedPortLinePositions(
163
- selectedPortPosition,
164
- selectedNetworkData
165
- )
166
- let selectedPositions: number[] = []
167
-
168
- if (!adaptersWithPositions.toggle) {
169
- selectedPositions = [
170
- adaptersWithPositions.adaptersConnectLineY,
171
- selectedNetworkData.connectLineY,
172
- selectedPortLinePosition,
173
- ]
174
- } else {
175
- selectedPositions = [...adaptersPositions, selectedPortLinePosition].sort(
176
- (y1: number, y2: number) => y1 - y2
177
- )
178
- }
179
-
180
- return {
181
- selectedSwitchLineY: {
182
- y1: selectedPositions[0],
183
- y2: selectedPositions[selectedPositions.length - 1],
184
- },
185
- selectedPort: {
186
- networkId,
187
- portId,
188
- activeAdapters: activeAdapters || [],
189
- },
190
- }
191
- }
192
-
193
- export const countAdaptersHeight = (
194
- diagramData: UI_I_DiagramData | null
195
- ): UI_I_AdaptersHeight => {
196
- const toggle: boolean = !!diagramData?.physicalAdapters?.toggle
197
- const adaptersCount: number =
198
- diagramData?.physicalAdapters?.adapters.length || 0
199
-
200
- return {
201
- height:
202
- UI_E_PositionsY.ADAPTER_FROM_RECT_TOP +
203
- (adaptersCount === 0
204
- ? UI_E_PositionsY.SINGLE_ADAPTER_HEIGHT
205
- : toggle
206
- ? adaptersCount * UI_E_PositionsY.SINGLE_ADAPTER_HEIGHT
207
- : 0) +
208
- UI_E_PositionsY.SPACE_FROM_RECT_BOTTOM,
209
- toggle,
210
- adaptersCount,
211
- }
212
- }
213
-
214
- export const getAdaptersPositions = (
215
- diagramData: UI_I_DiagramData | null,
216
- height: number
217
- ): UI_I_AdaptersPositions => {
218
- const titlePosition: number =
219
- UI_E_PositionsY.DIAGRAM_TOP +
220
- UI_E_PositionsY.BETWEEN_RECTS +
221
- UI_E_PositionsY.TITLE_FROM_RECT_TOP
222
-
223
- const rectPosition: number =
224
- UI_E_PositionsY.DIAGRAM_TOP + UI_E_PositionsY.BETWEEN_RECTS
225
-
226
- const adaptersConnectLineY: number = rectPosition + height / 2
227
-
228
- const adapters: UI_T_Adapters[] | null =
229
- diagramData?.physicalAdapters?.adapters.map(
230
- (adapter: UI_I_Adapter, index: number) => {
231
- const adapterPosition: number =
232
- UI_E_PositionsY.DIAGRAM_TOP +
233
- UI_E_PositionsY.BETWEEN_RECTS +
234
- UI_E_PositionsY.ADAPTER_FROM_RECT_TOP +
235
- UI_E_PositionsY.SINGLE_ADAPTER_HEIGHT * index
236
-
237
- return {
238
- ...adapter,
239
- adapterPosition,
240
- }
241
- }
242
- ) || null
243
-
244
- return {
245
- titlePosition,
246
- rectPosition,
247
- adaptersConnectLineY,
248
- adapters,
249
- }
250
- }
251
-
252
- export const makeSwitchSendData = (
253
- data: UI_I_DiagramData,
254
- adapterStatus: UI_I_AdapterStatus
255
- ): API_UI_I_SwitchItem | null => {
256
- if (!data.networking) return null
257
-
258
- return {
259
- id: data.id,
260
- mtu: data.networking.mtu,
261
- networks: data.networks.map((network: UI_I_Network) => network.title),
262
- nics: adapterStatus,
263
- security: {
264
- promiscuous: data.networking.securityPolicy[0].value,
265
- forged_transmits: data.networking.securityPolicy[1].value,
266
- mac_change: data.networking.securityPolicy[2].value,
267
- },
268
- teaming: {
269
- notify_switches: data.networking.nicTeamingPolicy[0].value,
270
- mode: data.networking.nicTeamingPolicy[1].value,
271
- link_detection_mode: data.networking.nicTeamingPolicy[2].value,
272
- failback: data.networking.nicTeamingPolicy[3].value,
273
- },
274
- shaping: {
275
- inherit: false,
276
- enabled: !!data.networking.shapingPolicy[0].value,
277
- average_bw: data.networking.average_bw,
278
- peak_bw: data.networking.peak_bw,
279
- burst_size: data.networking.burst_size,
280
- },
281
- }
282
- }
283
-
284
- export const getAvailableAdapters = (
285
- nics: UI_I_ItemsWithTotalCounts<UI_I_SwitchAdapterItem>,
286
- networkOrSwitchNics: UI_I_AdapterStatus
287
- ): UI_I_AvailableAdapters => {
288
- const availableAdapters: UI_I_AvailableAdapters = {
289
- activeAdapters: [],
290
- standbyAdapters: [],
291
- unusedAdapters: [],
292
- }
293
-
294
- if (nics?.items) {
295
- networkOrSwitchNics?.active?.forEach(
296
- (nic) =>
297
- nics?.items.find(
298
- (a: UI_I_SwitchAdapterItem): boolean => a.id === nic
299
- ) && availableAdapters.activeAdapters.push(nic)
300
- )
301
- networkOrSwitchNics?.standby?.forEach(
302
- (nic) =>
303
- nics?.items.find(
304
- (a: UI_I_SwitchAdapterItem): boolean => a.id === nic
305
- ) && availableAdapters.standbyAdapters.push(nic)
306
- )
307
- networkOrSwitchNics?.unused?.forEach(
308
- (nic) =>
309
- nics?.items.find(
310
- (a: UI_I_SwitchAdapterItem): boolean => a.id === nic
311
- ) && availableAdapters.unusedAdapters.push(nic)
312
- )
313
- }
314
-
315
- return availableAdapters
316
- }
317
-
318
- export const createAdapterWithError = (
319
- nic: string,
320
- switchId: string
321
- ): UI_I_AdapterWithError => ({
322
- fullName: nic,
323
- id: nic,
324
- name: nic,
325
- networks: [],
326
- state: { state: 1, errors: [] },
327
- switch: switchId,
328
- testId: `adapter-${nic}`,
329
- carrier: false,
330
- status: 'error',
331
- })
1
+ import type { UI_I_ItemsWithTotalCounts } from '~/lib/models/interfaces'
2
+ import type {
3
+ UI_I_Network,
4
+ UI_I_SelectedPort,
5
+ UI_I_NetworksWithPositions,
6
+ UI_I_AdaptersWithPositions,
7
+ UI_I_SelectedSwitchPositions,
8
+ UI_I_DiagramData,
9
+ UI_I_AdaptersHeight,
10
+ UI_I_Adapter,
11
+ UI_I_AdaptersPositions,
12
+ UI_I_AdapterStatus,
13
+ API_UI_I_SwitchItem,
14
+ UI_I_AvailableAdapters,
15
+ UI_I_SwitchAdapterItem,
16
+ UI_I_AdapterWithError,
17
+ } from '~/components/common/diagramMain/lib/models/interfaces'
18
+ import type { UI_T_Adapters } from '~/components/common/diagramMain/lib/models/types'
19
+ import {
20
+ UI_E_NetworkType,
21
+ UI_E_PositionsY,
22
+ } from '~/components/common/diagramMain/lib/models/enums'
23
+ import { NETWORK_POSITIONS } from '~/components/common/diagramMain/lib/config'
24
+
25
+ export const hasPortAndNetwork = (
26
+ selectedPort: UI_I_SelectedPort,
27
+ id: string
28
+ ): boolean =>
29
+ selectedPort.portId !== '-1' &&
30
+ selectedPort.networkId !== '-1' &&
31
+ selectedPort.networkId === id
32
+
33
+ export const networksPositions = (
34
+ arr: number[],
35
+ net: UI_I_NetworksWithPositions
36
+ ): number[] => {
37
+ if (net.ports.length === 0) return [...arr, net.connectLineY]
38
+ if (!net.toggle)
39
+ return [
40
+ ...arr,
41
+ net.portsPosition + NETWORK_POSITIONS.EMPTY_PORTS_PADDING_BOTTOM,
42
+ ]
43
+
44
+ return [
45
+ ...arr,
46
+ net.portsPosition +
47
+ NETWORK_POSITIONS.FROM_VLAN_ID_TO_GROUP_NAME +
48
+ NETWORK_POSITIONS.BETWEEN_VMS_AND_PORTS,
49
+ net.networkType === UI_E_NetworkType.VCenter
50
+ ? net.portsPosition +
51
+ NETWORK_POSITIONS.FROM_VLAN_ID_TO_GROUP_NAME +
52
+ NETWORK_POSITIONS.BETWEEN_V_CENTERS +
53
+ NETWORK_POSITIONS.V_CENTER_HEIGHT * (net.portsCount - 1)
54
+ : net.portsPosition +
55
+ NETWORK_POSITIONS.FROM_VLAN_ID_TO_GROUP_NAME +
56
+ NETWORK_POSITIONS.BETWEEN_VMS_AND_PORTS +
57
+ NETWORK_POSITIONS.VMS_AND_PORTS_HEIGHT * (net.portsCount - 1),
58
+ ]
59
+ }
60
+
61
+ export const getSelectedPortLinePositions = (
62
+ selectedPortPosition: number | undefined,
63
+ selectedNetworkData: UI_I_Network
64
+ ) =>
65
+ selectedPortPosition
66
+ ? selectedNetworkData.networkType === UI_E_NetworkType.VCenter
67
+ ? selectedPortPosition + 12.5
68
+ : selectedPortPosition + 7.5
69
+ : 0
70
+
71
+ const selectedNetworkDataFunc = (
72
+ networkId: string,
73
+ networksWithPositions: UI_I_NetworksWithPositions[]
74
+ ): UI_I_NetworksWithPositions | undefined =>
75
+ networksWithPositions?.find(
76
+ (network: UI_I_Network): boolean => network.id === networkId
77
+ )
78
+
79
+ export const getSelectNetworkDataFunc = (
80
+ networkId: string,
81
+ networksWithPositions: UI_I_NetworksWithPositions[],
82
+ adaptersWithPositions: UI_I_AdaptersWithPositions
83
+ ): UI_I_SelectedSwitchPositions | undefined => {
84
+ const selectedNetworkData: UI_I_NetworksWithPositions | undefined =
85
+ selectedNetworkDataFunc(networkId, networksWithPositions)
86
+
87
+ if (!selectedNetworkData) return
88
+
89
+ if (selectedNetworkData.state.state === 3)
90
+ return {
91
+ selectedSwitchLineY: {
92
+ y1: 0,
93
+ y2: 0,
94
+ },
95
+ selectedPort: {
96
+ networkId,
97
+ portId: '-1',
98
+ activeAdapters: [],
99
+ },
100
+ }
101
+
102
+ const activeAdapters: string[] = selectedNetworkData.activeAdapters
103
+
104
+ const adaptersPositions: number[] =
105
+ adaptersWithPositions.adapters
106
+ ?.filter((adapter: UI_T_Adapters) => activeAdapters?.includes(adapter.id))
107
+ ?.map((adapter: UI_T_Adapters) => adapter.adapterPosition + 7.5) || []
108
+ let selectedPositions: number[] = []
109
+
110
+ if (!adaptersWithPositions.toggle) {
111
+ selectedPositions = [
112
+ adaptersWithPositions.adaptersConnectLineY,
113
+ selectedNetworkData.connectLineY,
114
+ ]
115
+ } else if (
116
+ adaptersWithPositions.adapters === null ||
117
+ adaptersWithPositions.adapters?.length === 0
118
+ ) {
119
+ selectedPositions = [47.5, selectedNetworkData.connectLineY].sort(
120
+ (y1: number, y2: number) => y1 - y2
121
+ )
122
+ } else {
123
+ selectedPositions = [
124
+ ...adaptersPositions,
125
+ selectedNetworkData.connectLineY,
126
+ ].sort((y1: number, y2: number) => y1 - y2)
127
+ }
128
+
129
+ return {
130
+ selectedSwitchLineY: {
131
+ y1: selectedPositions[0],
132
+ y2: selectedPositions[selectedPositions.length - 1],
133
+ },
134
+ selectedPort: {
135
+ networkId,
136
+ portId: '-1',
137
+ activeAdapters: activeAdapters || [],
138
+ },
139
+ }
140
+ }
141
+
142
+ export const getSelectPortDataFunc = (
143
+ networkId: string,
144
+ portId: string,
145
+ networksWithPositions: UI_I_NetworksWithPositions[],
146
+ adaptersWithPositions: UI_I_AdaptersWithPositions
147
+ ): UI_I_SelectedSwitchPositions | undefined => {
148
+ const selectedNetworkData: UI_I_NetworksWithPositions | undefined =
149
+ selectedNetworkDataFunc(networkId, networksWithPositions)
150
+
151
+ if (!selectedNetworkData) return
152
+
153
+ const activeAdapters: string[] = selectedNetworkData.activeAdapters
154
+ const adaptersPositions: number[] =
155
+ adaptersWithPositions.adapters
156
+ ?.filter((adapter: UI_T_Adapters) => activeAdapters?.includes(adapter.id))
157
+ ?.map((adapter: UI_T_Adapters) => adapter.adapterPosition + 7.5) || []
158
+ const selectedPortPosition: number | undefined =
159
+ selectedNetworkData.ports.find(
160
+ (el): boolean => el.id === portId
161
+ )?.portPosition
162
+ const selectedPortLinePosition: number = getSelectedPortLinePositions(
163
+ selectedPortPosition,
164
+ selectedNetworkData
165
+ )
166
+ let selectedPositions: number[] = []
167
+
168
+ if (!adaptersWithPositions.toggle) {
169
+ selectedPositions = [
170
+ adaptersWithPositions.adaptersConnectLineY,
171
+ selectedNetworkData.connectLineY,
172
+ selectedPortLinePosition,
173
+ ]
174
+ } else {
175
+ selectedPositions = [...adaptersPositions, selectedPortLinePosition].sort(
176
+ (y1: number, y2: number) => y1 - y2
177
+ )
178
+ }
179
+
180
+ return {
181
+ selectedSwitchLineY: {
182
+ y1: selectedPositions[0],
183
+ y2: selectedPositions[selectedPositions.length - 1],
184
+ },
185
+ selectedPort: {
186
+ networkId,
187
+ portId,
188
+ activeAdapters: activeAdapters || [],
189
+ },
190
+ }
191
+ }
192
+
193
+ export const countAdaptersHeight = (
194
+ diagramData: UI_I_DiagramData | null
195
+ ): UI_I_AdaptersHeight => {
196
+ const toggle: boolean = !!diagramData?.physicalAdapters?.toggle
197
+ const adaptersCount: number =
198
+ diagramData?.physicalAdapters?.adapters.length || 0
199
+
200
+ return {
201
+ height:
202
+ UI_E_PositionsY.ADAPTER_FROM_RECT_TOP +
203
+ (adaptersCount === 0
204
+ ? UI_E_PositionsY.SINGLE_ADAPTER_HEIGHT
205
+ : toggle
206
+ ? adaptersCount * UI_E_PositionsY.SINGLE_ADAPTER_HEIGHT
207
+ : 0) +
208
+ UI_E_PositionsY.SPACE_FROM_RECT_BOTTOM,
209
+ toggle,
210
+ adaptersCount,
211
+ }
212
+ }
213
+
214
+ export const getAdaptersPositions = (
215
+ diagramData: UI_I_DiagramData | null,
216
+ height: number
217
+ ): UI_I_AdaptersPositions => {
218
+ const titlePosition: number =
219
+ UI_E_PositionsY.DIAGRAM_TOP +
220
+ UI_E_PositionsY.BETWEEN_RECTS +
221
+ UI_E_PositionsY.TITLE_FROM_RECT_TOP
222
+
223
+ const rectPosition: number =
224
+ UI_E_PositionsY.DIAGRAM_TOP + UI_E_PositionsY.BETWEEN_RECTS
225
+
226
+ const adaptersConnectLineY: number = rectPosition + height / 2
227
+
228
+ const adapters: UI_T_Adapters[] | null =
229
+ diagramData?.physicalAdapters?.adapters.map(
230
+ (adapter: UI_I_Adapter, index: number) => {
231
+ const adapterPosition: number =
232
+ UI_E_PositionsY.DIAGRAM_TOP +
233
+ UI_E_PositionsY.BETWEEN_RECTS +
234
+ UI_E_PositionsY.ADAPTER_FROM_RECT_TOP +
235
+ UI_E_PositionsY.SINGLE_ADAPTER_HEIGHT * index
236
+
237
+ return {
238
+ ...adapter,
239
+ adapterPosition,
240
+ }
241
+ }
242
+ ) || null
243
+
244
+ return {
245
+ titlePosition,
246
+ rectPosition,
247
+ adaptersConnectLineY,
248
+ adapters,
249
+ }
250
+ }
251
+
252
+ export const makeSwitchSendData = (
253
+ data: UI_I_DiagramData,
254
+ adapterStatus: UI_I_AdapterStatus
255
+ ): API_UI_I_SwitchItem | null => {
256
+ if (!data.networking) return null
257
+
258
+ return {
259
+ id: data.id,
260
+ mtu: data.networking.mtu,
261
+ networks: data.networks.map((network: UI_I_Network) => network.title),
262
+ nics: adapterStatus,
263
+ security: {
264
+ promiscuous: data.networking.securityPolicy[0].value,
265
+ forged_transmits: data.networking.securityPolicy[1].value,
266
+ mac_change: data.networking.securityPolicy[2].value,
267
+ },
268
+ teaming: {
269
+ notify_switches: data.networking.nicTeamingPolicy[0].value,
270
+ mode: data.networking.nicTeamingPolicy[1].value,
271
+ link_detection_mode: data.networking.nicTeamingPolicy[2].value,
272
+ failback: data.networking.nicTeamingPolicy[3].value,
273
+ },
274
+ shaping: {
275
+ inherit: false,
276
+ enabled: !!data.networking.shapingPolicy[0].value,
277
+ average_bw: data.networking.average_bw,
278
+ peak_bw: data.networking.peak_bw,
279
+ burst_size: data.networking.burst_size,
280
+ },
281
+ }
282
+ }
283
+
284
+ export const getAvailableAdapters = (
285
+ nics: UI_I_ItemsWithTotalCounts<UI_I_SwitchAdapterItem>,
286
+ networkOrSwitchNics: UI_I_AdapterStatus
287
+ ): UI_I_AvailableAdapters => {
288
+ const availableAdapters: UI_I_AvailableAdapters = {
289
+ activeAdapters: [],
290
+ standbyAdapters: [],
291
+ unusedAdapters: [],
292
+ }
293
+
294
+ if (nics?.items) {
295
+ networkOrSwitchNics?.active?.forEach(
296
+ (nic) =>
297
+ nics?.items.find(
298
+ (a: UI_I_SwitchAdapterItem): boolean => a.id === nic
299
+ ) && availableAdapters.activeAdapters.push(nic)
300
+ )
301
+ networkOrSwitchNics?.standby?.forEach(
302
+ (nic) =>
303
+ nics?.items.find(
304
+ (a: UI_I_SwitchAdapterItem): boolean => a.id === nic
305
+ ) && availableAdapters.standbyAdapters.push(nic)
306
+ )
307
+ networkOrSwitchNics?.unused?.forEach(
308
+ (nic) =>
309
+ nics?.items.find(
310
+ (a: UI_I_SwitchAdapterItem): boolean => a.id === nic
311
+ ) && availableAdapters.unusedAdapters.push(nic)
312
+ )
313
+ }
314
+
315
+ return availableAdapters
316
+ }
317
+
318
+ export const createAdapterWithError = (
319
+ nic: string,
320
+ switchId: string
321
+ ): UI_I_AdapterWithError => ({
322
+ fullName: nic,
323
+ id: nic,
324
+ name: nic,
325
+ networks: [],
326
+ state: { state: 1, errors: [] },
327
+ switch: switchId,
328
+ testId: `adapter-${nic}`,
329
+ carrier: false,
330
+ status: 'error',
331
+ })