bfg-common 1.3.285 → 1.3.286

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 (813) hide show
  1. package/.eslintrc.js +21 -21
  2. package/.idea/inspectionProfiles/Project_Default.xml +50 -50
  3. package/.idea/modules.xml +7 -7
  4. package/.idea/prettier.xml +5 -5
  5. package/.idea/uikit.iml +11 -11
  6. package/.idea/vcs.xml +5 -5
  7. package/.prettierrc +4 -4
  8. package/PROJECT_STRUCTURE.md +42 -42
  9. package/README.md +42 -42
  10. package/assets/img/icons/icon-hcs.svg +3 -3
  11. package/assets/img/icons/icon-life-m-dark.svg +3 -3
  12. package/assets/img/icons/icon-life-m-light.svg +3 -3
  13. package/assets/img/icons/icon-ro-dark.svg +1 -1
  14. package/assets/img/icons/icon-ro-light.svg +2 -2
  15. package/assets/img/icons/icons-sprite-dark-6.svg +1 -1
  16. package/assets/img/icons/icons-sprite-light-6.svg +1 -1
  17. package/assets/img/icons/info.svg +8 -8
  18. package/assets/img/icons/vc.svg +52 -52
  19. package/assets/img/logo copy.svg +50 -50
  20. package/assets/img/logo.svg +51 -51
  21. package/assets/localization/local_be.json +2358 -2357
  22. package/assets/localization/local_en.json +2362 -2361
  23. package/assets/localization/local_hy.json +2362 -2361
  24. package/assets/localization/local_kk.json +2361 -2360
  25. package/assets/localization/local_ru.json +2367 -2366
  26. package/assets/localization/local_zh.json +2361 -2360
  27. package/assets/scss/clarity/clr-ui.min.css +8 -8
  28. package/assets/scss/common/animations.scss +28 -28
  29. package/assets/scss/common/global.scss +195 -195
  30. package/assets/scss/common/icons/icons-1.scss +236 -236
  31. package/assets/scss/common/icons/icons-2.scss +240 -240
  32. package/assets/scss/common/icons/icons-3.scss +245 -245
  33. package/assets/scss/common/icons/icons-4.scss +266 -266
  34. package/assets/scss/common/icons/icons-5.scss +59 -59
  35. package/assets/scss/common/icons/icons-6.scss +29 -29
  36. package/assets/scss/common/icons/icons.scss +16 -16
  37. package/assets/scss/common/icons/lib-icons.scss +32 -32
  38. package/assets/scss/common/mixins.scss +39 -39
  39. package/assets/scss/common/normalize.scss +329 -329
  40. package/assets/scss/common/theme.scss +238 -238
  41. package/assets/scss/common/utilities.scss +20 -20
  42. package/assets/scss/common/variables.scss +44 -44
  43. package/assets/scss/main.scss +13 -13
  44. package/components/atoms/DiagramIcon.vue +371 -371
  45. package/components/atoms/TheIcon.vue +2444 -2444
  46. package/components/atoms/TheIcon2.vue +1136 -1136
  47. package/components/atoms/alert/Alert.vue +96 -96
  48. package/components/atoms/alert/Notification.vue +171 -171
  49. package/components/atoms/alert/lib/Alert.spec.ts +38 -38
  50. package/components/atoms/alert/lib/Notification.spec.ts +34 -34
  51. package/components/atoms/alert/lib/models/enums.ts +12 -12
  52. package/components/atoms/alert/lib/models/interfaces.ts +27 -27
  53. package/components/atoms/alert/lib/models/types.ts +11 -11
  54. package/components/atoms/autocomplete/Autocomplete.vue +239 -239
  55. package/components/atoms/collapse/CollapseNav.vue +164 -164
  56. package/components/atoms/collapse/CollapseNavItem.vue +194 -194
  57. package/components/atoms/collapse/lib/models/interfaces.ts +10 -10
  58. package/components/atoms/combobox/Combobox.vue +152 -152
  59. package/components/atoms/datepicker/Datepicker.vue +630 -630
  60. package/components/atoms/datepicker/lib/config/allShortMonths.ts +103 -103
  61. package/components/atoms/datepicker/lib/config/datapicker.ts +43 -43
  62. package/components/atoms/datepicker/lib/models/interfaces.ts +9 -9
  63. package/components/atoms/dropdown/Portlet.vue +114 -114
  64. package/components/atoms/dropdown/dropdown/Dropdown.vue +156 -156
  65. package/components/atoms/dropdown/dropdown/lib/models/interfaces.ts +9 -9
  66. package/components/atoms/dropdown/lib/Portlet.spec.ts +26 -26
  67. package/components/atoms/dropdown/tree/Tree.vue +137 -137
  68. package/components/atoms/dropdown/tree/lib/models/interfaces.ts +11 -11
  69. package/components/atoms/input/Search.vue +16 -16
  70. package/components/atoms/lib/models/interfaces.ts +14 -14
  71. package/components/atoms/list/SelectList.vue +63 -63
  72. package/components/atoms/list/SimpleList.vue +29 -29
  73. package/components/atoms/list/dragDropList/DragDropList.vue +139 -139
  74. package/components/atoms/list/dragDropList/lib/config/events.ts +4 -4
  75. package/components/atoms/loader/BarLoader.vue +27 -27
  76. package/components/atoms/loader/Loader.vue +26 -26
  77. package/components/atoms/loader/PreLoader.vue +35 -35
  78. package/components/atoms/loader/lib/Preloader.spec.ts +24 -24
  79. package/components/atoms/modal/Modal.vue +247 -247
  80. package/components/atoms/modal/bySteps/BySteps.vue +252 -252
  81. package/components/atoms/modal/bySteps/lib/BySteps.spec.ts +66 -66
  82. package/components/atoms/modal/byStepsSecond/ByStepsSecond.vue +184 -184
  83. package/components/atoms/modal/lib/Modal.spec.ts +55 -55
  84. package/components/atoms/nav/NavBar.vue +139 -139
  85. package/components/atoms/nav/VerticalNavBar.vue +90 -90
  86. package/components/atoms/nav/lib/NavBar.spec.ts +34 -34
  87. package/components/atoms/nav/lib/models/interfaces.ts +6 -6
  88. package/components/atoms/notificationBar/NotificationBar.vue +178 -178
  89. package/components/atoms/notificationBar/lib/models/enums.ts +13 -13
  90. package/components/atoms/notificationBar/lib/models/interfaces.ts +6 -6
  91. package/components/atoms/notificationBar/lib/models/types.ts +1 -1
  92. package/components/atoms/perPage/PerPage.vue +53 -53
  93. package/components/atoms/popover/Popover.vue +60 -60
  94. package/components/atoms/popup/SimplePopup.vue +91 -91
  95. package/components/atoms/select/TheSelect.vue +177 -177
  96. package/components/atoms/select/lib/models/interfaces.ts +5 -5
  97. package/components/atoms/stack/StackBlock.vue +182 -182
  98. package/components/atoms/stack/StackContent.vue +63 -63
  99. package/components/atoms/step/VerticalStep.vue +105 -105
  100. package/components/atoms/step/lib/VerticalStep.spec.ts +68 -68
  101. package/components/atoms/step/lib/models/verticalStepItem.ts +7 -7
  102. package/components/atoms/table/compact/lib/models/interfaces.ts +10 -10
  103. package/components/atoms/table/dataGrid/DataGrid.vue +1591 -1591
  104. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +216 -216
  105. package/components/atoms/table/dataGrid/DataGridPage.vue +196 -196
  106. package/components/atoms/table/dataGrid/DataGridPagination.vue +89 -89
  107. package/components/atoms/table/dataGrid/lib/DataGrid.spec.ts +61 -61
  108. package/components/atoms/table/dataGrid/lib/config/itemsPerPage.ts +20 -20
  109. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +40 -40
  110. package/components/atoms/table/dataGrid/lib/models/interfaces.ts +36 -36
  111. package/components/atoms/table/dataGrid/lib/models/types.ts +5 -5
  112. package/components/atoms/table/dataGrid/lib/utils/constructDataTable.ts +36 -36
  113. package/components/atoms/table/info/Info.vue +60 -60
  114. package/components/atoms/table/info/lib/models/interfaces.ts +9 -9
  115. package/components/atoms/table/simpleEvent/SimpleEvent.vue +98 -98
  116. package/components/atoms/table/simpleEvent/lib/models/interfaces.ts +9 -9
  117. package/components/atoms/table/simpleInfo/SimpleInfo.vue +73 -73
  118. package/components/atoms/table/simpleInfo/lib/models/interfaces.ts +5 -5
  119. package/components/atoms/table/simpleTable/SimpleTable.vue +300 -300
  120. package/components/atoms/table/simpleTable/lib/models/interfaces.ts +12 -12
  121. package/components/atoms/tabs/Tabs.vue +214 -214
  122. package/components/atoms/tabs/VerticalTabs.vue +88 -88
  123. package/components/atoms/tabs/lib/models/interfaces.ts +5 -5
  124. package/components/atoms/tabs/lib/models/types.ts +1 -1
  125. package/components/atoms/tooltip/Signpost.vue +226 -226
  126. package/components/atoms/tooltip/Text.vue +37 -37
  127. package/components/atoms/tooltip/Tooltip.vue +57 -57
  128. package/components/atoms/tooltip/TooltipError.vue +113 -113
  129. package/components/atoms/tooltip/lib/models/interfaces.ts +4 -4
  130. package/components/atoms/wizard/Wizard.vue +453 -453
  131. package/components/atoms/wizard/lib/models/enums.ts +8 -8
  132. package/components/atoms/wizard/lib/models/interfaces.ts +49 -49
  133. package/components/atoms/wizard/lib/utils/utils.ts +568 -568
  134. package/components/atoms/wizard/step/Step.vue +113 -113
  135. package/components/common/BadBrowser.vue +118 -118
  136. package/components/common/accordion/Accordion.vue +177 -177
  137. package/components/common/accordion/Recursion.vue +218 -218
  138. package/components/common/accordion/lib/models/enums.ts +5 -5
  139. package/components/common/accordion/lib/models/interfaces.ts +16 -16
  140. package/components/common/accordion/lib/models/types.ts +1 -1
  141. package/components/common/accordion/lib/utils/accordion.ts +31 -31
  142. package/components/common/adapterManager/AdapterManager.vue +828 -828
  143. package/components/common/adapterManager/AddAdapterModal.vue +561 -561
  144. package/components/common/adapterManager/AddAdapterWarningModal.vue +83 -83
  145. package/components/common/adapterManager/NoActiveAdaptersModal.vue +62 -62
  146. package/components/common/adapterManager/NoConnectedActiveAdaptersModal.vue +62 -62
  147. package/components/common/adapterManager/lib/config/index.ts +19 -19
  148. package/components/common/adapterManager/ui/NoSelectedAdapter.vue +39 -39
  149. package/components/common/adapterManager/ui/SecondTitle.vue +37 -37
  150. package/components/common/adapterManager/ui/actions/ActionsBar.vue +95 -95
  151. package/components/common/adapterManager/ui/actions/AddAdapterButton.vue +30 -30
  152. package/components/common/adapterManager/ui/actions/MoveDownAdapterButton.vue +35 -35
  153. package/components/common/adapterManager/ui/actions/MoveUpAdapterButton.vue +35 -35
  154. package/components/common/adapterManager/ui/actions/RemoveAdapterButton.vue +37 -37
  155. package/components/common/adapterManager/ui/actions/VerticalSeparator.vue +10 -10
  156. package/components/common/adapterManager/ui/table/Adapters.vue +92 -92
  157. package/components/common/adapterManager/ui/table/Header.vue +91 -91
  158. package/components/common/adapterManager/ui/table/Table.vue +162 -162
  159. package/components/common/browse/Browse.vue +186 -186
  160. package/components/common/browse/blocks/Container.vue +105 -105
  161. package/components/common/browse/blocks/Title.vue +66 -66
  162. package/components/common/browse/blocks/contents/Files.vue +72 -72
  163. package/components/common/browse/blocks/info/Date.vue +21 -21
  164. package/components/common/browse/blocks/info/Size.vue +17 -17
  165. package/components/common/browse/blocks/info/Text.vue +16 -16
  166. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  167. package/components/common/browse/lib/models/interfaces.ts +5 -5
  168. package/components/common/context/ContextRecursion.vue +256 -256
  169. package/components/common/context/lib/Context.spec.ts +20 -20
  170. package/components/common/context/lib/ContextRecursion.spec.ts +55 -55
  171. package/components/common/context/lib/models/interfaces.ts +27 -27
  172. package/components/common/details/DetailsItem.vue +109 -109
  173. package/components/common/details/DetailsList.vue +23 -23
  174. package/components/common/details/lib/models/interfaces.ts +9 -9
  175. package/components/common/diagramMain/Diagram.vue +194 -194
  176. package/components/common/diagramMain/DiagramMain.vue +1020 -1020
  177. package/components/common/diagramMain/Header.vue +211 -211
  178. package/components/common/diagramMain/Highlights.vue +124 -124
  179. package/components/common/diagramMain/adapter/Adapter.vue +116 -116
  180. package/components/common/diagramMain/adapter/AdapterItem.vue +274 -274
  181. package/components/common/diagramMain/adapter/AdapterItems.vue +58 -58
  182. package/components/common/diagramMain/adapter/Block.vue +48 -48
  183. package/components/common/diagramMain/adapter/Contents.vue +133 -133
  184. package/components/common/diagramMain/adapter/Lines.vue +58 -58
  185. package/components/common/diagramMain/adapter/SecondBlock.vue +49 -49
  186. package/components/common/diagramMain/lib/config/index.ts +77 -77
  187. package/components/common/diagramMain/lib/config/initial.ts +38 -38
  188. package/components/common/diagramMain/lib/models/enums.ts +44 -44
  189. package/components/common/diagramMain/lib/models/interfaces.ts +696 -696
  190. package/components/common/diagramMain/lib/models/types.ts +16 -16
  191. package/components/common/diagramMain/lib/utils/utils.ts +251 -251
  192. package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +330 -330
  193. package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +41 -41
  194. package/components/common/diagramMain/modals/editSettings/EditSettings.vue +493 -493
  195. package/components/common/diagramMain/modals/editSettings/EditSettingsModal.vue +812 -812
  196. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +214 -214
  197. package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +189 -189
  198. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +163 -163
  199. package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +175 -175
  200. package/components/common/diagramMain/modals/editSettings/tabs/TrafficShaping.vue +398 -398
  201. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +346 -346
  202. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +205 -205
  203. package/components/common/diagramMain/modals/lib/config/adapterModal.ts +126 -126
  204. package/components/common/diagramMain/modals/lib/config/diagramConfig.ts +23 -23
  205. package/components/common/diagramMain/modals/lib/config/index.ts +49 -49
  206. package/components/common/diagramMain/modals/lib/config/initial.ts +180 -180
  207. package/components/common/diagramMain/modals/lib/config/networkModal.ts +331 -331
  208. package/components/common/diagramMain/modals/lib/config/portModal.ts +214 -214
  209. package/components/common/diagramMain/modals/lib/config/switchModal.ts +224 -224
  210. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +34 -34
  211. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
  212. package/components/common/diagramMain/modals/lib/mappers/mappers.ts +87 -87
  213. package/components/common/diagramMain/modals/lib/utils/index.ts +24 -24
  214. package/components/common/diagramMain/modals/migrateVmkernelAdapter/MigrateVmkernelAdapter.vue +541 -541
  215. package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
  216. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +169 -169
  217. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +159 -159
  218. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/VmkernelAdapterReadyComplete.vue +49 -49
  219. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +14 -14
  220. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +137 -137
  221. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
  222. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
  223. package/components/common/diagramMain/modals/remove/RemoveModal.vue +234 -234
  224. package/components/common/diagramMain/modals/viewSettings/Info.vue +123 -123
  225. package/components/common/diagramMain/modals/viewSettings/ViewSettings.vue +190 -190
  226. package/components/common/diagramMain/modals/viewSettings/ViewSettingsModal.vue +93 -93
  227. package/components/common/diagramMain/network/Block.vue +62 -62
  228. package/components/common/diagramMain/network/Contents.vue +290 -290
  229. package/components/common/diagramMain/network/Lines.vue +71 -71
  230. package/components/common/diagramMain/network/Network.vue +126 -126
  231. package/components/common/diagramMain/network/NoNetwork.vue +53 -53
  232. package/components/common/diagramMain/network/SecondBlock.vue +58 -58
  233. package/components/common/diagramMain/port/Port.vue +405 -405
  234. package/components/common/diagramMain/port/Ports.vue +47 -47
  235. package/components/common/diagramMain/switch/Switch.vue +82 -82
  236. package/components/common/diagramMain/switch/SwitchSelected.vue +35 -35
  237. package/components/common/feedback/Buttons.vue +229 -229
  238. package/components/common/feedback/Feedback.vue +268 -268
  239. package/components/common/feedback/Message.vue +518 -518
  240. package/components/common/feedback/VisitPortal.vue +62 -62
  241. package/components/common/feedback/lib/config/drawingPanel.ts +31 -31
  242. package/components/common/feedback/lib/config/feedbackTabs.ts +26 -26
  243. package/components/common/feedback/lib/models/interfaces.ts +20 -20
  244. package/components/common/feedback/lib/models/types.ts +1 -1
  245. package/components/common/graph/Graph.vue +109 -109
  246. package/components/common/graph/lib/utils/renderGraph.ts +389 -389
  247. package/components/common/headline/Headline.vue +32 -32
  248. package/components/common/help/navbar/left/Left.vue +165 -165
  249. package/components/common/help/navbar/left/lib/models/interfaces.ts +6 -6
  250. package/components/common/help/navbar/left/lib/utils/constructAccordion.ts +27 -27
  251. package/components/common/help/navbar/right/Right.vue +149 -149
  252. package/components/common/help/navbar/right/lib/models/interfaces.ts +5 -5
  253. package/components/common/home/Card.vue +63 -63
  254. package/components/common/home/ResourceBlock.vue +117 -117
  255. package/components/common/home/StatusContent.vue +47 -47
  256. package/components/common/home/alertsTable/AlertsTable.vue +107 -107
  257. package/components/common/home/alertsTable/lib/config/config.ts +61 -61
  258. package/components/common/home/alertsTable/lib/models/enums.ts +11 -11
  259. package/components/common/home/alertsTable/lib/models/interfaces.ts +19 -19
  260. package/components/common/home/alertsTable/lib/models/types.ts +18 -18
  261. package/components/common/home/lib/config/configResourceMeterBlock.ts +25 -25
  262. package/components/common/home/lib/models/interfaces.ts +59 -59
  263. package/components/common/home/lib/models/types.ts +18 -18
  264. package/components/common/home/servicesTable/ServicesTable.vue +80 -80
  265. package/components/common/home/servicesTable/lib/config/config.ts +62 -62
  266. package/components/common/lib/config/states.ts +111 -111
  267. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +363 -363
  268. package/components/common/mainNavigationPanel/lib/models/interfaces.ts +7 -7
  269. package/components/common/mainNavigationPanel/lib/models/types.ts +1 -1
  270. package/components/common/modals/Confirmation.vue +107 -107
  271. package/components/common/modals/Rename.vue +166 -166
  272. package/components/common/modals/lib/config/defaultForm.ts +18 -18
  273. package/components/common/modals/lib/config/renameLabelWidth.ts +3 -3
  274. package/components/common/modals/lib/models/interfaces.ts +5 -5
  275. package/components/common/monitor/advanced/Advanced.vue +243 -243
  276. package/components/common/monitor/advanced/GraphView.vue +180 -180
  277. package/components/common/monitor/advanced/lib/models/interfaces.ts +9 -9
  278. package/components/common/monitor/advanced/lib/models/types.ts +1 -1
  279. package/components/common/monitor/advanced/table/Table.vue +91 -91
  280. package/components/common/monitor/advanced/table/lib/config/performanceDatatable.ts +129 -129
  281. package/components/common/monitor/advanced/table/lib/models/interfaces.ts +12 -12
  282. package/components/common/monitor/advanced/table/lib/models/types.ts +10 -10
  283. package/components/common/monitor/advanced/tools/Tools.vue +445 -445
  284. package/components/common/monitor/advanced/tools/chartOptionsModal/ChartOptionsModal.vue +504 -504
  285. package/components/common/monitor/advanced/tools/chartOptionsModal/Notification.vue +34 -34
  286. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/Actions.vue +156 -156
  287. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/lib/utils/optionsActions.ts +25 -25
  288. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/saveOptionsModal/SaveOptionsModal.vue +81 -81
  289. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/Counters.vue +105 -105
  290. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/Table.vue +144 -144
  291. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/tableConfig.ts +89 -89
  292. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/utils.ts +788 -788
  293. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/models/interfaces.ts +29 -29
  294. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/models/types.ts +5 -5
  295. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/Timespan.vue +93 -93
  296. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/Form.vue +514 -514
  297. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/lib/config/dateForm.ts +59 -59
  298. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/Object.vue +221 -221
  299. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/lib/config/objectTable.ts +57 -57
  300. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/lib/models/interfaces.ts +4 -4
  301. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/lib/models/types.ts +1 -1
  302. package/components/common/monitor/advanced/tools/chartOptionsModal/lib/models/interfaces.ts +19 -19
  303. package/components/common/monitor/advanced/tools/chartOptionsModal/lib/models/types.ts +3 -3
  304. package/components/common/monitor/advanced/tools/chartOptionsModal/lib/utils/checkSubmit.ts +12 -12
  305. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/Metrics.vue +42 -42
  306. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/lib/config/optionsMetrics.ts +173 -173
  307. package/components/common/monitor/advanced/tools/lib/config/advancedToolbar.ts +130 -130
  308. package/components/common/monitor/advanced/tools/lib/models/interfaces.ts +4 -4
  309. package/components/common/monitor/advanced/tools/lib/utils/countCores.ts +7 -7
  310. package/components/common/monitor/lib/config/getValidDateByOption.ts +76 -76
  311. package/components/common/monitor/lib/models/interfaces.ts +23 -23
  312. package/components/common/monitor/overview/Overview.vue +228 -228
  313. package/components/common/monitor/overview/filters/Filters.vue +228 -228
  314. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +245 -245
  315. package/components/common/monitor/overview/filters/customIntervalModal/lib/config/dateChecker.ts +52 -52
  316. package/components/common/monitor/overview/filters/lib/config/filterOptions.ts +83 -83
  317. package/components/common/monitor/overview/filters/lib/models/interfaces.ts +9 -9
  318. package/components/common/monitor/overview/filters/lib/models/types.ts +13 -13
  319. package/components/common/pages/Tasks.vue +120 -120
  320. package/components/common/perPage/PerPage.vue +52 -52
  321. package/components/common/recursionTree/RecursionTree.vue +205 -205
  322. package/components/common/recursionTree/lib/models/interfaces.ts +21 -21
  323. package/components/common/resource/lib/models/interfaces.ts +9 -9
  324. package/components/common/resource/lib/models/types.ts +1 -1
  325. package/components/common/resource/lib/utils.ts +44 -44
  326. package/components/common/resource/simple/Simple.vue +58 -58
  327. package/components/common/resource/simple/lib/models/enums.ts +5 -5
  328. package/components/common/select/button/ButtonDropdown.vue +102 -102
  329. package/components/common/select/button/lib/models/interfaces.ts +7 -7
  330. package/components/common/select/input/Input.vue +91 -91
  331. package/components/common/select/input/lib/models/interfaces.ts +5 -5
  332. package/components/common/select/radio/RadioGroup.vue +127 -127
  333. package/components/common/select/radio/lib/models/interfaces.ts +9 -9
  334. package/components/common/shortcuts/Block.vue +86 -86
  335. package/components/common/shortcuts/Category.vue +41 -41
  336. package/components/common/shortcuts/Shortcuts.vue +44 -44
  337. package/components/common/shortcuts/lib/models/interfaces.ts +11 -11
  338. package/components/common/spiceConsole/Drawer.vue +245 -245
  339. package/components/common/spiceConsole/SpiceConsole.vue +83 -83
  340. package/components/common/spiceConsole/keyboard/Keyboard.vue +403 -403
  341. package/components/common/spiceConsole/keyboard/lib/config/keyboardRows.ts +966 -966
  342. package/components/common/spiceConsole/keyboard/lib/models/interfaces.ts +18 -18
  343. package/components/common/spiceConsole/lib/models/types.ts +1 -1
  344. package/components/common/split/horizontal/Horizontal.vue +307 -307
  345. package/components/common/split/horizontal/lib/models/interfaces.ts +5 -5
  346. package/components/common/split/vertical/Vertical.vue +213 -213
  347. package/components/common/split/vertical/lib/models/interfaces.ts +3 -3
  348. package/components/common/tools/Actions.vue +169 -169
  349. package/components/common/tools/lib/models/interfaces.ts +7 -7
  350. package/components/common/tools/viewSettings/ViewSettings.vue +86 -86
  351. package/components/common/tools/viewSettings/lib/models/interfaces.ts +9 -9
  352. package/components/common/vm/actions/add/Add.vue +577 -577
  353. package/components/common/vm/actions/add/FolderTreeView.vue +83 -83
  354. package/components/common/vm/actions/add/lib/config/steps.ts +130 -130
  355. package/components/common/vm/actions/add/lib/utils.ts +102 -102
  356. package/components/common/vm/actions/clone/CloneOld.vue +547 -547
  357. package/components/common/vm/actions/clone/lib/config/steps.ts +74 -74
  358. package/components/common/vm/actions/clone/lib/models/interfaces.ts +7 -7
  359. package/components/common/vm/actions/clone/lib/utils.ts +43 -43
  360. package/components/common/vm/actions/clone/select/options/Options.vue +71 -71
  361. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +270 -270
  362. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +267 -267
  363. package/components/common/vm/actions/common/customizeHardware/lib/config/navItems.ts +19 -19
  364. package/components/common/vm/actions/common/customizeHardware/lib/models/interfaces.ts +7 -7
  365. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +694 -694
  366. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +203 -203
  367. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/lib/models/interfaces.ts +8 -8
  368. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +134 -134
  369. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/lib/config/options.ts +20 -20
  370. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +252 -252
  371. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/lib/config/fileTypes.ts +9 -9
  372. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/lib/config/options.ts +11 -11
  373. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/lib/models/types.ts +1 -1
  374. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +57 -57
  375. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CoresPerSocket.vue +110 -110
  376. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +395 -395
  377. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuHotPlug.vue +50 -50
  378. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuModel.vue +225 -225
  379. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Hv.vue +95 -95
  380. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Iommu.vue +55 -55
  381. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/MaxCpu.vue +106 -106
  382. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Pc.vue +55 -55
  383. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Sa.vue +106 -106
  384. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/lib/config/cpuOptions.ts +21 -21
  385. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +160 -160
  386. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  387. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/tooltip/Tooltip.vue +59 -59
  388. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/config/binaryOptions.ts +12 -12
  389. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/config/dropdownItems.ts +66 -66
  390. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces.ts +118 -118
  391. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/types.ts +4 -4
  392. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +236 -236
  393. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/lib/config/options.ts +28 -28
  394. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +318 -318
  395. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryHotPlug.vue +54 -54
  396. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/lib/config/memoryOptions.ts +35 -35
  397. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/DiskFile.vue +24 -24
  398. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/Location.vue +173 -173
  399. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/MaximumSize.vue +27 -27
  400. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +453 -453
  401. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/cache/Cache.vue +81 -81
  402. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/cache/lib/config/options.ts +7 -7
  403. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/limitIops/LimitIops.vue +153 -153
  404. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/limitIops/lib/config/options.ts +28 -28
  405. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/Mode.vue +88 -88
  406. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/lib/config/options.ts +18 -18
  407. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/Provisioning.vue +88 -88
  408. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/lib/config/options.ts +15 -15
  409. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/Sharing.vue +86 -86
  410. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/lib/config/options.ts +12 -12
  411. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/Location.vue +145 -145
  412. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +295 -295
  413. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/adapterType/AdapterType.vue +87 -87
  414. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/adapterType/lib/config/options.ts +9 -9
  415. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +148 -148
  416. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/lib/config/options.ts +11 -11
  417. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIo.vue +48 -48
  418. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +49 -49
  419. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/lib/config/options.ts +10 -10
  420. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/lib/config/options.ts +7 -7
  421. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +27 -27
  422. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +42 -42
  423. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelection.vue +57 -57
  424. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +78 -78
  425. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/lib/config/options.ts +6 -6
  426. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/InputDevices.vue +21 -21
  427. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +27 -27
  428. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/Reservation.vue +238 -238
  429. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/lib/config/options.ts +33 -33
  430. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/Graphics.vue +50 -50
  431. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/TotalVideoMemory.vue +121 -121
  432. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +178 -178
  433. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/lib/config/options.ts +11 -11
  434. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/Model.vue +58 -58
  435. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/lib/config/options.ts +10 -10
  436. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +83 -83
  437. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/lib/config/options.ts +14 -14
  438. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +181 -181
  439. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptions.vue +110 -110
  440. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/Menu.vue +50 -50
  441. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/Secure.vue +50 -50
  442. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +54 -54
  443. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/lib/config/config.ts +14 -14
  444. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +84 -84
  445. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/lib/config/config.ts +11 -11
  446. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +201 -201
  447. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/lib/models/interfaces.ts +9 -9
  448. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +184 -184
  449. package/components/common/vm/actions/common/customizeHardware/vmoptions/lib/models/interfaces.ts +34 -34
  450. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/CopyPaste.vue +52 -52
  451. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/FileTransfer.vue +52 -52
  452. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/FolderSharing.vue +51 -51
  453. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/PlaybackCompression.vue +52 -52
  454. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/PowerControl.vue +50 -50
  455. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +253 -253
  456. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/ImgCompression.vue +85 -85
  457. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/lib/config/config.ts +14 -14
  458. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/JpegCompression.vue +85 -85
  459. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/lib/config/config.ts +12 -12
  460. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +56 -56
  461. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/lib/config/config.ts +6 -6
  462. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/MouseMode.vue +57 -57
  463. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/lib/config/config.ts +11 -11
  464. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +142 -142
  465. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/lib/models/interfaces.ts +5 -5
  466. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/lib/utils.ts +12 -12
  467. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/SharePolicy.vue +56 -56
  468. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/lib/config/config.ts +11 -11
  469. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/StreamingMode.vue +85 -85
  470. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/lib/config/config.ts +12 -12
  471. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/type/Type.vue +85 -85
  472. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/type/lib/config/config.ts +7 -7
  473. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +57 -57
  474. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/lib/config/config.ts +14 -14
  475. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/ZlibCompression.vue +85 -85
  476. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/lib/config/config.ts +12 -12
  477. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/Tools.vue +68 -68
  478. package/components/common/vm/actions/common/lib/config/capabilities.ts +339 -339
  479. package/components/common/vm/actions/common/lib/models/enums.ts +89 -89
  480. package/components/common/vm/actions/common/lib/models/interfaces.ts +139 -139
  481. package/components/common/vm/actions/common/lib/models/types.ts +65 -65
  482. package/components/common/vm/actions/common/readyToComplete/ReadyToComplete.vue +15 -15
  483. package/components/common/vm/actions/common/select/compatibility/Compatibility.vue +155 -155
  484. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +170 -170
  485. package/components/common/vm/actions/common/select/computeResource/TreeView.vue +126 -126
  486. package/components/common/vm/actions/common/select/computeResource/lib/ComputeResource.spec.ts +479 -479
  487. package/components/common/vm/actions/common/select/createType/CreateType.vue +61 -61
  488. package/components/common/vm/actions/common/select/createType/lib/config/items.ts +26 -26
  489. package/components/common/vm/actions/common/select/lib/models/interfaces.ts +32 -32
  490. package/components/common/vm/actions/common/select/lib/models/types.ts +25 -25
  491. package/components/common/vm/actions/common/select/name/Name.vue +227 -227
  492. package/components/common/vm/actions/common/select/name/NameOld.vue +215 -215
  493. package/components/common/vm/actions/common/select/os/os.vue +227 -227
  494. package/components/common/vm/actions/common/select/storage/Storage.vue +190 -190
  495. package/components/common/vm/actions/common/select/storage/StorageOld.vue +193 -193
  496. package/components/common/vm/actions/common/select/storage/lib/config/config.ts +191 -191
  497. package/components/common/vm/actions/common/select/storage/lib/models/types.ts +15 -15
  498. package/components/common/vm/actions/confirm/Confirm.vue +39 -39
  499. package/components/common/vm/actions/editSettings/lib/models/types.ts +23 -23
  500. package/components/common/vm/actions/editSettings/lib/utils.ts +45 -45
  501. package/components/common/vm/actions/lib/models/interfaces.ts +6 -6
  502. package/components/common/vm/actions/lib/models/types.ts +11 -11
  503. package/components/common/vm/actions/lib/utils.ts +244 -244
  504. package/components/common/vm/lib/models/interfaces.ts +9 -9
  505. package/components/common/vm/lib/utils/powerActions.ts +55 -55
  506. package/components/common/weekSelect/WeekSelect.vue +143 -143
  507. package/components/common/weekSelect/lib/models/interfaces.ts +6 -6
  508. package/components/common/wizards/datastore/add/Add.vue +389 -389
  509. package/components/common/wizards/datastore/add/lib/config/stepItems.ts +160 -160
  510. package/components/common/wizards/datastore/add/lib/models/interfaces.ts +35 -35
  511. package/components/common/wizards/datastore/add/lib/models/types.ts +14 -14
  512. package/components/common/wizards/datastore/add/lib/utils.ts +67 -67
  513. package/components/common/wizards/datastore/add/local/Local.vue +71 -71
  514. package/components/common/wizards/datastore/add/local/createName/CreateName.vue +160 -160
  515. package/components/common/wizards/datastore/add/local/createName/lib/config/defaultForm.ts +15 -15
  516. package/components/common/wizards/datastore/add/nfs/Nfs.vue +94 -94
  517. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +98 -98
  518. package/components/common/wizards/datastore/add/nfs/accessibility/lib/config/tabsPannel.ts +24 -24
  519. package/components/common/wizards/datastore/add/nfs/accessibility/lib/models/interfaces.ts +9 -9
  520. package/components/common/wizards/datastore/add/nfs/accessibility/lib/models/types.ts +5 -5
  521. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/TablesView.vue +142 -142
  522. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/compatibleTable.ts +54 -54
  523. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/hostsTableItems.ts +75 -75
  524. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/incompatibleTable.ts +68 -68
  525. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/tableKeys.ts +15 -15
  526. package/components/common/wizards/datastore/add/nfs/configuration/Configuration.vue +385 -385
  527. package/components/common/wizards/datastore/add/nfs/configuration/lib/config/defaultForm.ts +33 -33
  528. package/components/common/wizards/datastore/add/nfs/configuration/lib/models/interfaces.ts +12 -12
  529. package/components/common/wizards/datastore/add/nfs/configuration/serversList/DeletePopover.vue +100 -100
  530. package/components/common/wizards/datastore/add/nfs/configuration/serversList/ServersList.vue +124 -124
  531. package/components/common/wizards/datastore/add/nfs/configuration/serversList/lib/config/serversListConfig.ts +41 -41
  532. package/components/common/wizards/datastore/add/nfs/configuration/serversList/lib/config/tableKeys.ts +3 -3
  533. package/components/common/wizards/datastore/add/nfs/configuration/serversList/lib/models/interfaces.ts +11 -11
  534. package/components/common/wizards/datastore/add/nfs/configuration/serversList/lib/models/types.ts +1 -1
  535. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/KerberosAuthentication.vue +55 -55
  536. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/lib/config/radioOptions.ts +27 -27
  537. package/components/common/wizards/datastore/add/nfs/version/Version.vue +42 -42
  538. package/components/common/wizards/datastore/add/nfs/version/lib/config/versionOptions.ts +20 -20
  539. package/components/common/wizards/datastore/add/readyComplete/ReadyComplete.vue +78 -78
  540. package/components/common/wizards/datastore/add/readyComplete/lib/config/propertiesDetails.ts +165 -165
  541. package/components/common/wizards/datastore/add/readyComplete/lib/models/interfaces.ts +4 -4
  542. package/components/common/wizards/datastore/add/sharedStorm/SharedStorm.vue +89 -89
  543. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/DeviceSelection.vue +452 -452
  544. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/HostTable.vue +144 -144
  545. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/lib/config/hostsTable.ts +87 -87
  546. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/lib/config/tableKeys.ts +11 -11
  547. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/config/defaultForm.ts +18 -18
  548. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/config/selectOptions.ts +14 -14
  549. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/models/interfaces.ts +55 -55
  550. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/models/types.ts +14 -14
  551. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/PartitionConfiguration.vue +232 -232
  552. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/graphicTooltip/graphicTooltip.vue +64 -64
  553. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/lib/config/selectOptions.ts +46 -46
  554. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/sizeGraphic/sizeGraphic.vue +225 -225
  555. package/components/common/wizards/datastore/add/sharedStorm/version/Version.vue +39 -39
  556. package/components/common/wizards/datastore/add/sharedStorm/version/lib/config/versionOptions.ts +21 -21
  557. package/components/common/wizards/datastore/add/types/Types.vue +78 -78
  558. package/components/common/wizards/datastore/add/types/lib/config/typeOptions.ts +42 -42
  559. package/components/common/wizards/network/add/Add.vue +1019 -1019
  560. package/components/common/wizards/network/add/lib/config/index.ts +35 -35
  561. package/components/common/wizards/network/add/lib/config/initialData.ts +63 -63
  562. package/components/common/wizards/network/add/lib/config/portPropertiesStep.ts +43 -43
  563. package/components/common/wizards/network/add/lib/config/selectSwitch.ts +19 -19
  564. package/components/common/wizards/network/add/lib/config/sendData.ts +141 -141
  565. package/components/common/wizards/network/add/lib/config/steps.ts +456 -456
  566. package/components/common/wizards/network/add/lib/models/enums.ts +17 -17
  567. package/components/common/wizards/network/add/lib/models/interfaces.ts +249 -249
  568. package/components/common/wizards/network/add/lib/models/types.ts +2 -2
  569. package/components/common/wizards/network/add/lib/utils/index.ts +4 -4
  570. package/components/common/wizards/network/add/mappers/mappers.ts +192 -192
  571. package/components/common/wizards/network/add/modals/SelectNetwork.vue +173 -173
  572. package/components/common/wizards/network/add/modals/SelectStandardSwitch.vue +138 -138
  573. package/components/common/wizards/network/add/modals/SelectSwitch.vue +131 -131
  574. package/components/common/wizards/network/add/steps/ConnectionSettings.vue +154 -154
  575. package/components/common/wizards/network/add/steps/CreateStandardSwitch.vue +91 -91
  576. package/components/common/wizards/network/add/steps/IpFourSettings.vue +305 -305
  577. package/components/common/wizards/network/add/steps/PhysicalAdapter.vue +13 -13
  578. package/components/common/wizards/network/add/steps/PortProperties.vue +407 -407
  579. package/components/common/wizards/network/add/steps/ReadyComplete.vue +20 -20
  580. package/components/common/wizards/network/add/steps/SelectConnectionType.vue +99 -99
  581. package/components/common/wizards/network/add/steps/SelectedTargetDevice.vue +474 -474
  582. package/components/common/wizards/network/add/validations/common.ts +26 -26
  583. package/components/common/wizards/network/add/validations/connectionSettings.ts +70 -70
  584. package/components/common/wizards/network/add/validations/createStandardSwitch.ts +58 -58
  585. package/components/common/wizards/network/add/validations/ipFourSettings.ts +182 -182
  586. package/components/common/wizards/network/add/validations/networkValidation.ts +77 -77
  587. package/components/common/wizards/network/add/validations/physicalAdapter.ts +70 -70
  588. package/components/common/wizards/network/add/validations/portProperties.ts +83 -83
  589. package/components/common/wizards/network/add/validations/targetDevice.ts +109 -109
  590. package/components/common/wizards/network/add/validations/validations.ts +43 -43
  591. package/components/common/wizards/vm/common/computeResource/TreeView.vue +61 -61
  592. package/components/common/wizards/vm/common/readyComplete/ReadyComplete.vue +15 -15
  593. package/components/common/wizards/vm/common/tooltip/Tooltip.vue +84 -84
  594. package/components/common/wizards/vm/common/validation/compatibility/Compatibility.vue +62 -62
  595. package/components/common/wizards/vm/common/validation/lib/models/enums.ts +5 -5
  596. package/components/common/wizards/vm/migrate/Migrate.vue +278 -278
  597. package/components/common/wizards/vm/migrate/contentHeading/ContentHeading.vue +106 -106
  598. package/components/common/wizards/vm/migrate/contentHeading/lib/models/interfaces.ts +7 -7
  599. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +100 -100
  600. package/components/common/wizards/vm/migrate/lib/models/enums.ts +6 -6
  601. package/components/common/wizards/vm/migrate/lib/models/interfaces.ts +28 -28
  602. package/components/common/wizards/vm/migrate/lib/models/types.ts +5 -5
  603. package/components/common/wizards/vm/migrate/lib/utils.ts +80 -80
  604. package/components/common/wizards/vm/migrate/select/computeResource/ComputeResource.vue +219 -219
  605. package/components/common/wizards/vm/migrate/select/computeResource/lib/config/tabsPannel.ts +28 -28
  606. package/components/common/wizards/vm/migrate/select/computeResource/lib/models/enums.ts +6 -6
  607. package/components/common/wizards/vm/migrate/select/computeResource/lib/models/interfaces.ts +30 -30
  608. package/components/common/wizards/vm/migrate/select/computeResource/lib/models/types.ts +12 -12
  609. package/components/common/wizards/vm/migrate/select/computeResource/tableView/TableView.vue +143 -143
  610. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/clusterTable.ts +113 -113
  611. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/hostTable.ts +124 -124
  612. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/resourcePoolTable.ts +115 -115
  613. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/tableKeys.ts +65 -65
  614. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/vappsTable.ts +66 -66
  615. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/models/interfaces.ts +50 -50
  616. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/models/types.ts +60 -60
  617. package/components/common/wizards/vm/migrate/select/network/Network.vue +125 -125
  618. package/components/common/wizards/vm/migrate/select/network/table/network/Network.vue +114 -114
  619. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +78 -78
  620. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/basicTable.ts +70 -70
  621. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/tableKeys.ts +13 -13
  622. package/components/common/wizards/vm/migrate/select/network/table/network/lib/models/interfaces.ts +12 -12
  623. package/components/common/wizards/vm/migrate/select/network/table/network/lib/models/types.ts +21 -21
  624. package/components/common/wizards/vm/migrate/select/network/table/useAt/UseAt.vue +54 -54
  625. package/components/common/wizards/vm/migrate/select/network/table/useAt/lib/config/tableKeys.ts +7 -7
  626. package/components/common/wizards/vm/migrate/select/network/table/useAt/lib/config/useAtTable.ts +47 -47
  627. package/components/common/wizards/vm/migrate/select/network/table/useAt/lib/models/interfaces.ts +1 -1
  628. package/components/common/wizards/vm/migrate/select/network/table/useAt/lib/models/types.ts +5 -5
  629. package/components/common/wizards/vm/migrate/select/priority/Priority.vue +39 -39
  630. package/components/common/wizards/vm/migrate/select/priority/lib/config/typeOptions.ts +21 -21
  631. package/components/common/wizards/vm/migrate/select/priority/lib/models/types.ts +1 -1
  632. package/components/common/wizards/vm/migrate/select/storage/Storage.vue +206 -206
  633. package/components/common/wizards/vm/migrate/select/storage/configure/batch/Batch.vue +76 -76
  634. package/components/common/wizards/vm/migrate/select/storage/configure/disk/Disk.vue +87 -87
  635. package/components/common/wizards/vm/migrate/select/storage/diskFormat/DiskFormat.vue +69 -69
  636. package/components/common/wizards/vm/migrate/select/storage/diskFormat/lib/config/formatOptions.ts +26 -26
  637. package/components/common/wizards/vm/migrate/select/storage/lib/config/tabsPannel.ts +18 -18
  638. package/components/common/wizards/vm/migrate/select/storage/lib/models/enums.ts +6 -6
  639. package/components/common/wizards/vm/migrate/select/storage/lib/models/interfaces.ts +14 -14
  640. package/components/common/wizards/vm/migrate/select/storage/lib/models/types.ts +9 -9
  641. package/components/common/wizards/vm/migrate/select/storage/policy/Policy.vue +84 -84
  642. package/components/common/wizards/vm/migrate/select/storage/selectedPerDisk/SelectedPerDisk.vue +88 -88
  643. package/components/common/wizards/vm/migrate/select/storage/table/datastore/Datastore.vue +114 -114
  644. package/components/common/wizards/vm/migrate/select/storage/table/datastore/lib/config/config.ts +179 -179
  645. package/components/common/wizards/vm/migrate/select/storage/table/datastore/lib/models/types.ts +15 -15
  646. package/components/common/wizards/vm/migrate/select/storage/table/disk/Disk.vue +86 -86
  647. package/components/common/wizards/vm/migrate/select/storage/table/disk/lib/config/config.ts +123 -123
  648. package/components/common/wizards/vm/migrate/select/storage/table/disk/lib/config/tableKeys.ts +15 -15
  649. package/components/common/wizards/vm/migrate/select/storage/table/disk/lib/models/interfaces.ts +24 -24
  650. package/components/common/wizards/vm/migrate/select/storage/table/disk/lib/models/types.ts +13 -13
  651. package/components/common/wizards/vm/migrate/select/targetServer/lib/config/tabsPannel.ts +18 -18
  652. package/components/common/wizards/vm/migrate/select/targetServer/lib/models/types.ts +1 -1
  653. package/components/common/wizards/vm/migrate/select/targetServer/new/New.vue +295 -295
  654. package/components/common/wizards/vm/migrate/select/targetServer/new/lib/config/defaultForm.ts +33 -33
  655. package/components/common/wizards/vm/migrate/select/targetServer/saved/Saved.vue +27 -27
  656. package/components/common/wizards/vm/migrate/select/targetServer/targetServer.vue +41 -41
  657. package/components/common/wizards/vm/migrate/select/type/Type.vue +38 -38
  658. package/components/common/wizards/vm/migrate/select/type/lib/config/typeOptions.ts +41 -41
  659. package/components/common/wizards/vm/migrate/select/type/lib/models/interfaces.ts +5 -5
  660. package/components/content/Hint.vue +24 -24
  661. package/components/layout/theHeader/lib/models/enums.ts +9 -9
  662. package/components/layout/theHeader/lib/utils/localization.ts +32 -32
  663. package/components/lib/models/interfaces.ts +14 -14
  664. package/composables/deepCopy.ts +21 -21
  665. package/composables/productNameLocal.ts +22 -22
  666. package/composables/useDiff.ts +15 -15
  667. package/composables/useLocal.ts +44 -44
  668. package/composables/useLocalStorage.ts +45 -45
  669. package/composables/useThrottle.ts +32 -32
  670. package/composables/useUniqueId.ts +5 -5
  671. package/eslint/index.js +15 -15
  672. package/eslint/no-import-type.js +17 -17
  673. package/eslint/no-invalid-type-prefix.js +32 -32
  674. package/layouts/auth.vue +31 -31
  675. package/lib/config/regExp.ts +13 -13
  676. package/lib/models/composables/useAppVersion/interfaces.ts +5 -5
  677. package/lib/models/composables/useMyFetch/interfaces.ts +25 -25
  678. package/lib/models/composables/useMyFetch/types.ts +1 -1
  679. package/lib/models/enums.ts +34 -34
  680. package/lib/models/interfaces.ts +43 -43
  681. package/lib/models/plugins/date/interfaces.ts +5 -5
  682. package/lib/models/plugins/date/types.ts +1 -1
  683. package/lib/models/plugins/validation/interfaces.ts +21 -21
  684. package/lib/models/plugins/validation/types.ts +1 -1
  685. package/lib/models/store/host/interfaces.ts +38 -38
  686. package/lib/models/store/interfaces.ts +41 -41
  687. package/lib/models/store/network/interfaces.ts +13 -13
  688. package/lib/models/store/storage/interfaces.ts +32 -32
  689. package/lib/models/store/tasks/enums.ts +27 -27
  690. package/lib/models/store/tasks/interfaces.ts +115 -115
  691. package/lib/models/store/tasks/types.ts +2 -2
  692. package/lib/models/store/types.ts +43 -43
  693. package/lib/models/store/vm/interfaces.ts +234 -234
  694. package/lib/models/table/interfaces.ts +38 -38
  695. package/lib/models/table/types.ts +1 -1
  696. package/lib/models/types.ts +13 -13
  697. package/lib/utils/base64.ts +34 -34
  698. package/lib/utils/contentBuild.ts +34 -34
  699. package/lib/utils/notification.ts +22 -22
  700. package/modules/fixContentBuild/index.ts +91 -91
  701. package/modules/fixContentBuild/lib/utils/methods.ts +115 -115
  702. package/modules/fixSpiceConsoleBuild/index.ts +28 -28
  703. package/modules/replaceEnv/index.ts +40 -40
  704. package/nuxt.config.ts +8 -8
  705. package/package.json +41 -41
  706. package/plugins/binary.ts +133 -133
  707. package/plugins/date.ts +179 -179
  708. package/plugins/recursion.ts +252 -252
  709. package/plugins/spice-console/spice.console.ts +18 -18
  710. package/plugins/text.ts +48 -48
  711. package/plugins/validation.ts +172 -172
  712. package/public/spice-console/application/WorkerProcess.js +3350 -3350
  713. package/public/spice-console/application/WorkerProcess_back.js +3144 -3144
  714. package/public/spice-console/application/WorkerProcess_meta.js +3103 -3103
  715. package/public/spice-console/application/WorkerProcess_reverse.js +3214 -3214
  716. package/public/spice-console/application/agent.js +175 -175
  717. package/public/spice-console/application/application.js +641 -641
  718. package/public/spice-console/application/checkActivity.js +50 -50
  719. package/public/spice-console/application/clientgui.js +842 -842
  720. package/public/spice-console/application/clipboard/clipboarddataparser.js +92 -92
  721. package/public/spice-console/application/clipboard/local/localClipboard.js +110 -110
  722. package/public/spice-console/application/clipboard.js +82 -82
  723. package/public/spice-console/application/imagecache.js +81 -81
  724. package/public/spice-console/application/inputmanager.js +270 -270
  725. package/public/spice-console/application/packetfactory.js +202 -202
  726. package/public/spice-console/application/packetfilter.js +103 -103
  727. package/public/spice-console/application/packetprocess.js +75 -75
  728. package/public/spice-console/application/rasteroperation.js +118 -118
  729. package/public/spice-console/application/spiceconnection.js +197 -197
  730. package/public/spice-console/application/stream.js +67 -67
  731. package/public/spice-console/application/virtualmouse.js +109 -109
  732. package/public/spice-console/keymaps/keyevent.js +36 -36
  733. package/public/spice-console/keymaps/keymap.js +229 -229
  734. package/public/spice-console/keymaps/keymapes.js +375 -375
  735. package/public/spice-console/keymaps/keymapesObj.js +317 -317
  736. package/public/spice-console/keymaps/keymapus.js +317 -317
  737. package/public/spice-console/keymaps/scanCodeObjModifier.js +65 -65
  738. package/public/spice-console/keymaps/scanCodeObjProvider.js +60 -60
  739. package/public/spice-console/lib/AsyncConsumer.js +204 -204
  740. package/public/spice-console/lib/AsyncWorker.js +60 -60
  741. package/public/spice-console/lib/CollisionDetector.js +27 -27
  742. package/public/spice-console/lib/DataLogger.js +197 -197
  743. package/public/spice-console/lib/GenericObjectPool.js +152 -152
  744. package/public/spice-console/lib/GlobalPool.js +114 -114
  745. package/public/spice-console/lib/ImageUncompressor.js +138 -138
  746. package/public/spice-console/lib/IntegrationBenchmark.js +64 -64
  747. package/public/spice-console/lib/PacketWorkerIdentifier.js +107 -107
  748. package/public/spice-console/lib/SyncAsyncHandler.js +46 -46
  749. package/public/spice-console/lib/base64.js +298 -298
  750. package/public/spice-console/lib/biginteger.js +1640 -1640
  751. package/public/spice-console/lib/bowser.js +276 -276
  752. package/public/spice-console/lib/decoder/dixie.js +7930 -7930
  753. package/public/spice-console/lib/decoder/jmuxer.js +2815 -2815
  754. package/public/spice-console/lib/displayRouter.js +83 -83
  755. package/public/spice-console/lib/encrypt.js +191 -191
  756. package/public/spice-console/lib/flipper.js +39 -39
  757. package/public/spice-console/lib/graphic.js +1230 -1230
  758. package/public/spice-console/lib/graphicdebug.js +223 -223
  759. package/public/spice-console/lib/images/bitmap.js +194 -194
  760. package/public/spice-console/lib/images/jsquic_family.js +83 -83
  761. package/public/spice-console/lib/images/jsquic_rgba.js +342 -342
  762. package/public/spice-console/lib/images/jsquic_uncompress.js +529 -529
  763. package/public/spice-console/lib/images/lz.js +717 -717
  764. package/public/spice-console/lib/images/png.js +275 -275
  765. package/public/spice-console/lib/jgestures.min.js +43 -43
  766. package/public/spice-console/lib/jquery-2.0.3.js +8829 -8829
  767. package/public/spice-console/lib/jquery-mousewheel.js +83 -83
  768. package/public/spice-console/lib/jquery-visibility.min.js +1 -1
  769. package/public/spice-console/lib/jsbn.js +578 -578
  770. package/public/spice-console/lib/jsbn2.js +675 -675
  771. package/public/spice-console/lib/lodash.4.0.0.min.js +136 -136
  772. package/public/spice-console/lib/modernizr.js +39 -39
  773. package/public/spice-console/lib/pixastic.js +3244 -3244
  774. package/public/spice-console/lib/prettyprint.js +794 -794
  775. package/public/spice-console/lib/prng4.js +64 -64
  776. package/public/spice-console/lib/queue.js +259 -259
  777. package/public/spice-console/lib/rng.js +87 -87
  778. package/public/spice-console/lib/runqueue.js +103 -103
  779. package/public/spice-console/lib/sha1.js +124 -124
  780. package/public/spice-console/lib/stuckkeyshandler.js +122 -122
  781. package/public/spice-console/lib/timelapsedetector.js +62 -62
  782. package/public/spice-console/lib/utils.js +327 -327
  783. package/public/spice-console/lib/virtualjoystick.js +370 -370
  784. package/public/spice-console/network/busconnection.js +195 -195
  785. package/public/spice-console/network/clusternodechooser.js +49 -49
  786. package/public/spice-console/network/connectioncontrol.js +60 -60
  787. package/public/spice-console/network/packetcontroller.js +62 -62
  788. package/public/spice-console/network/packetextractor.js +73 -73
  789. package/public/spice-console/network/packetlinkfactory.js +64 -64
  790. package/public/spice-console/network/packetreassembler.js +77 -77
  791. package/public/spice-console/network/reassemblerfactory.js +39 -39
  792. package/public/spice-console/network/sizedefiner.js +86 -86
  793. package/public/spice-console/network/socket.js +120 -120
  794. package/public/spice-console/network/socketqueue.js +95 -95
  795. package/public/spice-console/network/websocketwrapper.js +75 -75
  796. package/public/spice-console/process/busprocess.js +309 -309
  797. package/public/spice-console/process/cursorprocess.js +110 -110
  798. package/public/spice-console/process/displaypreprocess.js +152 -152
  799. package/public/spice-console/process/displayprocess.js +210 -210
  800. package/public/spice-console/process/inputprocess.js +203 -203
  801. package/public/spice-console/process/mainprocess.js +78 -78
  802. package/public/spice-console/process/playbackprocess.js +233 -233
  803. package/public/spice-console/run.js +180 -180
  804. package/public/spice-console/spiceobjects/generated/protocol.js +537 -537
  805. package/public/spice-console/spiceobjects/spiceobjects.js +3474 -3474
  806. package/public/spice-console/swcanvas/swcanvas.js +82 -82
  807. package/public/spice-console/tools/generate.php +269 -269
  808. package/public/spice-console/tools/generateKeyboardLayout.php +63 -63
  809. package/public/spice-console/tools/generateSpiceObject.php +81 -81
  810. package/store/tasks/mappers/recentTasks.ts +43 -43
  811. package/store/tasks/mappers/tasks.ts +42 -42
  812. package/store/tasks/store.ts +12 -12
  813. package/tsconfig.json +4 -4
@@ -1,1020 +1,1020 @@
1
- <template>
2
- <div
3
- v-if="props.diagramData"
4
- :class="{ 'diagram-min-width': !props.inPortlet }"
5
- >
6
- <div class="diagram-main-container">
7
- <common-diagram-main-header
8
- :in-portlet="props.inPortlet"
9
- :is-show-diagram="isShowDiagram"
10
- :diagram-name="props.diagramData.diagramName"
11
- :test-id="props.diagramData.testId"
12
- @toggle-diagram="onToggleDiagram"
13
- @show-modal="onShowModal"
14
- />
15
- <common-diagram-main-diagram
16
- :diagram-data="props.diagramData"
17
- :is-show-diagram="isShowDiagram"
18
- :in-portlet="props.inPortlet"
19
- :networks-with-positions="networksWithPositions"
20
- :main-rect-height="mainRectHeight"
21
- :main-switch-line="mainSwitchLine"
22
- :selected-main-line="selectedMainLine"
23
- :adapters-with-positions="adaptersWithPositions"
24
- :selected-port="selectedPort"
25
- :selected-adapter="selectedAdapter"
26
- :selected-network="selectedNetwork"
27
- :selected-switch-line-y="selectedSwitchLineY"
28
- :is-dark-mode="props.isDarkMode"
29
- @click-diagram="onClickDiagram"
30
- @toggle-adapters="onToggleAdapters"
31
- @select-adapter="onSelectAdapter"
32
- @toggle-ports="onTogglePorts"
33
- @select-port="onSelectPort"
34
- @select-network="onSelectNetwork"
35
- @show-modal="onShowModal"
36
- />
37
- </div>
38
- <common-diagram-main-modals-view-settings-modal
39
- v-if="isShowPortViewSettingsModal"
40
- view-name="port-settings-modal"
41
- height="448px"
42
- :title="initialData.portName"
43
- :second-title="hostName"
44
- :show="isShowPortViewSettingsModal"
45
- :modal-tabs="portViewSettingsModalTabs"
46
- :view-settings-fields="portViewSettings"
47
- @hide="onHidePortViewSettingsModal"
48
- />
49
- <common-diagram-main-modals-view-settings-modal
50
- v-if="isShowNetworkViewSettingsModal"
51
- view-name="network-settings-modal"
52
- height="448px"
53
- :title="initialData.networkLabel"
54
- :show="isShowNetworkViewSettingsModal"
55
- :modal-tabs="networkViewSettingsModalTabs"
56
- :view-settings-fields="networkViewSettings"
57
- :initial-data="initialData"
58
- @hide="onHideNetworkViewSettingsModal"
59
- />
60
- <common-diagram-main-modals-view-settings-modal
61
- v-if="isShowAdapterViewSettingsModal"
62
- :view-name="localization.physicalNetworkAdapter"
63
- :title="initialData.name || localization.physicalNetworkAdapter"
64
- :second-title="props.hostName"
65
- height="448px"
66
- :show="isShowAdapterViewSettingsModal"
67
- :modal-tabs="adapterViewSettingsModalTabs"
68
- :view-settings-fields="adapterViewSettings"
69
- @hide="onHideAdapterViewSettingsModal"
70
- />
71
- <common-diagram-main-modals-view-settings-modal
72
- v-if="isShowVCenterViewSettingsModal"
73
- view-name="VCenter-settings-modal"
74
- height="185px"
75
- info-height="80px"
76
- :without-footer-padding="true"
77
- :title="initialData.vmTitle"
78
- :show="isShowVCenterViewSettingsModal"
79
- :view-settings-fields="vCenterViewSettings"
80
- @hide="onHideVCenterViewSettingsModal"
81
- />
82
- <common-diagram-main-modals-remove-modal
83
- v-if="isShowNetworkRemoveModal"
84
- :id="initialData.id"
85
- :label="initialData.networkLabel"
86
- modal-name="network-port-remove-modal"
87
- view-name="port-network-remove"
88
- width="872px"
89
- height="558px"
90
- :title="localization.removePortGroup"
91
- :show="isShowNetworkRemoveModal"
92
- :is-show-loader="props.isRemoveModalLoading"
93
- type="network"
94
- @remove="onRemove"
95
- @hide="onHideNetworkRemoveModal"
96
- />
97
- <common-diagram-main-modals-remove-modal
98
- v-if="isShowSwitchRemoveModal"
99
- :id="props.diagramData.id"
100
- modal-name="switch-remove-modal"
101
- view-name="switch-remove"
102
- width="872px"
103
- height="558px"
104
- title="Remove Standard Switch"
105
- :show="isShowSwitchRemoveModal"
106
- :is-show-loader="props.isRemoveModalLoading"
107
- type="switch"
108
- @remove="onRemove"
109
- @hide="onHideSwitchRemoveModal"
110
- />
111
- <common-diagram-main-modals-remove-modal
112
- v-if="isShowPortRemoveModal"
113
- :id="initialData.portName"
114
- modal-name="port-remove-modal"
115
- view-name="port-remove"
116
- width="872px"
117
- height="558px"
118
- :title="localization.removeVMkernelAdapter"
119
- :show="isShowPortRemoveModal"
120
- :is-show-loader="props.isRemoveModalLoading"
121
- type="port"
122
- @remove="onRemove"
123
- @hide="onHidePortRemoveModal"
124
- />
125
- <common-diagram-main-modals-edit-settings-modal
126
- v-if="isShowNetworkEditSettingsModal"
127
- view-name="network-edit"
128
- width="1087px"
129
- height="662px"
130
- :show="isShowNetworkEditSettingsModal"
131
- :title="initialData.networkLabel"
132
- :initial-data="initialData"
133
- :items="networkEditSettingsTabs"
134
- :adapters="props.adapters"
135
- :is-dark-mode="props.isDarkMode"
136
- :is-edit-modal-loading="props.isEditModalLoading"
137
- @send-edit-data="onSendEditData"
138
- @change-edit-fields-data="onChangeEditFieldsData"
139
- @check-network-label="onCheckNetworkLabel"
140
- @hide="onHideNetworkEditSettingsModal"
141
- />
142
- <common-diagram-main-modals-edit-settings-modal
143
- v-if="isShowPortEditSettingsModal"
144
- view-name="port-edit"
145
- width="872px"
146
- height="558px"
147
- :show="isShowPortEditSettingsModal"
148
- :title="initialData.portName"
149
- :initial-data="initialData"
150
- :items="portEditSettingsTabs"
151
- :is-dark-mode="props.isDarkMode"
152
- :is-edit-modal-loading="props.isEditModalLoading"
153
- @send-edit-data="onSendEditData"
154
- @change-edit-fields-data="onChangeEditFieldsData"
155
- @hide="onHidePortEditSettingsModal"
156
- />
157
- <template v-if="!props.inPortlet">
158
- <common-diagram-main-modals-edit-settings-modal
159
- v-if="isShowSwitchEditSettingsModal"
160
- view-name="switch-edit"
161
- width="1087px"
162
- height="662px"
163
- :show="isShowSwitchEditSettingsModal"
164
- :title="props.diagramData.id"
165
- :initial-data="initialData"
166
- :items="switchEditSettingsTabs"
167
- :adapters="props.adapters"
168
- :is-dark-mode="props.isDarkMode"
169
- :is-edit-modal-loading="props.isEditModalLoading"
170
- @send-edit-data="onSendEditData"
171
- @change-edit-fields-data="onChangeEditFieldsData"
172
- @hide="onHideSwitchEditSettingsModal"
173
- />
174
- <common-diagram-main-modals-view-settings-modal
175
- v-if="isShowSwitchViewSettingsModal"
176
- view-name="switch-view-settings"
177
- width="576px"
178
- height="449px"
179
- info-height="390px"
180
- :with-collapse="true"
181
- :title="props.diagramData.diagramName"
182
- :show="isShowSwitchViewSettingsModal"
183
- :modal-tabs="switchViewSettingsModalTabs"
184
- :view-settings-fields="switchViewSettings"
185
- @hide="onHideSwitchViewSettingsModal"
186
- />
187
- <common-diagram-main-modals-manage-physical-adapters-modal
188
- v-if="isShowSwitchManagePhysicalAdaptersModal"
189
- view-name="switch-manage-physical-adapters"
190
- width="864px"
191
- height="510px"
192
- :show="isShowSwitchManagePhysicalAdaptersModal"
193
- :switch-name="props.diagramData.id"
194
- :free-adapters="props.freeAdapters"
195
- :adapter-status="managePhysicalAdapterStatus"
196
- :adapters="props.adapters"
197
- :is-dark-mode="props.isDarkMode"
198
- :initial-adapter-status="initialManagePhysicalAdapterStatus"
199
- :is-manage-adapters-modal-loading="props.isManageAdaptersModalLoading"
200
- @send-manage-physical-adapters-data="onSendManagePhysicalAdaptersData"
201
- @change-adapter-status="onChangeManagePhysicalAdapterStatus"
202
- @get-free-adapters="onGetFreeAdapters"
203
- @hide="onHideSwitchManagePhysicalAdaptersModal"
204
- />
205
- <common-wizards-network-add
206
- v-if="isShowAddNetworkingModal"
207
- :show="isShowAddNetworkingModal"
208
- :adapters="props.adapters"
209
- :standard-switches-initial="props.standardSwitchesInitial"
210
- :free-adapters="props.freeAdapters"
211
- :is-dark-mode="props.isDarkMode"
212
- :selected-standard-switch-id="selectedStandardSwitchId"
213
- :selected-switch-id="selectedSwitchId"
214
- :tcp-stacks="props.tcpStacks"
215
- :diagrams-data="props.diagramsData"
216
- :is-networking-loading="props.isNetworkingLoading"
217
- @check-network-label="onCheckNetworkLabel"
218
- @get-existing-standard-switches="onGetExistingStandardSwitches"
219
- @get-tcp-stacks="onGetTcpStacks"
220
- @get-free-adapters="onGetFreeAdapters"
221
- @send-add-networking-data="onSendNetworkData"
222
- @add-networking-data-validate="onValidateBeforeSending"
223
- @hide="onHideAddNetworkingModal"
224
- />
225
- <common-diagram-main-modals-migrate-vmkernel-adapter
226
- v-if="isShowMigrateVmkernelAdapterModal"
227
- :show="isShowMigrateVmkernelAdapterModal"
228
- :switch-name="props.diagramData.id"
229
- :networks-list="props.networksList"
230
- :switch-networks="props.diagramData.networks"
231
- :is-dark-mode="props.isDarkMode"
232
- :is-migrate-adapter-loading="props.isMigrateAdapterLoading"
233
- @check-network-label="onCheckNetworkLabel"
234
- @hide="onHideMigrateVmkernelAdapterModal"
235
- />
236
- </template>
237
- </div>
238
- </template>
239
-
240
- <script setup lang="ts">
241
- import { UI_E_NetworkType, UI_E_PositionsY } from './lib/models/enums'
242
- import {
243
- UI_I_Adapter,
244
- UI_I_AdapterStatus,
245
- UI_I_AdaptersWithPositions,
246
- UI_I_MainRectHeights,
247
- UI_I_ModalsInitialData,
248
- UI_I_Network,
249
- UI_I_EditFieldsData,
250
- UI_I_NetworksWithPositions,
251
- UI_I_SelectedAdapter,
252
- UI_I_SelectedPort,
253
- UI_I_SwitchLine,
254
- UI_I_ToggleDiagramAdaptersPayload,
255
- UI_I_ToggleDiagramPortsPayload,
256
- UI_I_PortToggleFlag,
257
- UI_I_DiagramData,
258
- UI_I_SwitchAdapterItem,
259
- API_UI_I_SwitchItem,
260
- } from '~/components/common/diagramMain/lib/models/interfaces'
261
- import {
262
- UI_I_ArbitraryObject,
263
- UI_I_Localization,
264
- UI_I_ItemsWithTotalCounts,
265
- } from '~/lib/models/interfaces'
266
- import {
267
- UI_I_AddNetworkingSecondOrThirdSchemeDataSend,
268
- UI_I_AddNetworkingZeroOrFirstSchemeDataSend,
269
- UI_I_AddNetworkingFourthOrFifthSchemeDataSend,
270
- UI_I_Switch,
271
- UI_I_TCPStack,
272
- } from '~/components/common/wizards/network/add/lib/models/interfaces'
273
- import {
274
- adapterViewSettingsFunc,
275
- adapterViewSettingsModalTabsFunc,
276
- networkEditSettingsTabsFunc,
277
- networkViewSettingsFunc,
278
- networkViewSettingsModalTabsFunc,
279
- portEditSettingsTabsFunc,
280
- portViewSettingsFunc,
281
- portViewSettingsModalTabsFunc,
282
- switchEditSettingsTabsFunc,
283
- switchViewSettingsFunc,
284
- switchViewSettingsModalTabsFunc,
285
- vCenterViewSettingsFunc,
286
- } from '~/components/common/diagramMain/modals/lib/config'
287
- import {
288
- managePhysicalAdapterStatusInitial,
289
- mainRectHeightsInitial,
290
- switchLineInitial,
291
- selectedPortInitial,
292
- selectedSwitchLineYInitial,
293
- selectedAdapterInitial,
294
- } from '~/components/common/diagramMain/lib/config'
295
- import {
296
- hasPortAndNetwork,
297
- networksPositions,
298
- getSelectNetworkDataFunc,
299
- getSelectPortDataFunc,
300
- countAdaptersHeight,
301
- getAdaptersPositions,
302
- } from '~/components/common/diagramMain/lib/utils/utils'
303
-
304
- const props = withDefaults(
305
- defineProps<{
306
- diagramData: UI_I_DiagramData
307
- inPortlet?: boolean
308
- standardSwitchesInitial?: UI_I_Switch[]
309
- hostName?: string
310
- adapters?: UI_I_ItemsWithTotalCounts<UI_I_SwitchAdapterItem>
311
- freeAdapters?: UI_I_Adapter[]
312
- networksList?: UI_I_Network[]
313
- isDarkMode: boolean
314
- tcpStacks?: UI_I_TCPStack[]
315
- diagramsData?: UI_I_DiagramData[]
316
- isManageAdaptersModalLoading?: boolean
317
- isNetworkingLoading?: boolean
318
- isRemoveModalLoading?: boolean
319
- isEditModalLoading?: boolean
320
- isMigrateAdapterLoading?: boolean
321
- }>(),
322
- {
323
- diagramData: null,
324
- inPortlet: false,
325
- standardSwitchesInitial: () => [],
326
- hostName: '',
327
- adapters: () => ({
328
- total_items: 0,
329
- total_pages: 0,
330
- items: [],
331
- }),
332
- freeAdapters: () => [],
333
- networksList: () => [],
334
- tcpStacks: () => [],
335
- diagramsData: [],
336
- isManageAdaptersModalLoading: false,
337
- isNetworkingLoading: false,
338
- isRemoveModalLoading: false,
339
- isEditModalLoading: false,
340
- isMigrateAdapterLoading: false,
341
- }
342
- )
343
-
344
- const localization = computed<UI_I_Localization>(() => useLocal())
345
- const initialData = ref<UI_I_ModalsInitialData>({})
346
- const switchInitialData = ref<UI_I_ModalsInitialData>({})
347
-
348
- watch(
349
- () => props.diagramData?.networking,
350
- (initial: UI_I_ModalsInitialData | undefined) => {
351
- if (initial) {
352
- initialData.value = initial
353
- switchInitialData.value = initial
354
- }
355
- },
356
- { deep: true, immediate: true }
357
- )
358
-
359
- const onValidateBeforeSending = (
360
- data:
361
- | UI_I_AddNetworkingSecondOrThirdSchemeDataSend
362
- | UI_I_AddNetworkingZeroOrFirstSchemeDataSend
363
- | UI_I_AddNetworkingFourthOrFifthSchemeDataSend
364
- | API_UI_I_SwitchItem,
365
- type: string,
366
- setValidation: (messages: UI_I_ArbitraryObject<string>) => void
367
- ) => {
368
- emits('add-networking-data-validate', data, type, setValidation)
369
- }
370
-
371
- let initialManagePhysicalAdapterStatus: UI_I_AdapterStatus =
372
- managePhysicalAdapterStatusInitial
373
-
374
- const managePhysicalAdapterStatus = ref<UI_I_AdapterStatus>(
375
- useDeepCopy(initialManagePhysicalAdapterStatus)
376
- )
377
-
378
- watch(
379
- () => props.diagramData,
380
- (newValue: UI_I_DiagramData) => {
381
- if (newValue?.networking) {
382
- initialManagePhysicalAdapterStatus = {
383
- active: useDeepCopy(props.diagramData?.networking?.activeAdapters),
384
- standby: useDeepCopy(props.diagramData?.networking?.standbyAdapters),
385
- unused: useDeepCopy(props.diagramData?.networking?.unusedAdapters),
386
- }
387
-
388
- managePhysicalAdapterStatus.value = useDeepCopy(
389
- initialManagePhysicalAdapterStatus
390
- )
391
- }
392
- },
393
- { deep: true, immediate: true }
394
- )
395
-
396
- const onChangeManagePhysicalAdapterStatus = (
397
- adapterStatusNew: UI_I_AdapterStatus
398
- ) => {
399
- managePhysicalAdapterStatus.value = adapterStatusNew
400
- }
401
-
402
- const isShowSwitchManagePhysicalAdaptersModal = ref<boolean>(false)
403
- const onHideSwitchManagePhysicalAdaptersModal = (): void => {
404
- isShowSwitchManagePhysicalAdaptersModal.value = false
405
- }
406
-
407
- const onSendManagePhysicalAdaptersData = (
408
- adapterStatus: UI_I_AdapterStatus,
409
- switchName: string,
410
- hideModal: () => void
411
- ) => {
412
- emits(
413
- 'send-manage-physical-adapters-data',
414
- adapterStatus,
415
- switchName,
416
- hideModal
417
- )
418
- }
419
-
420
- const switchViewSettingsModalTabs = computed(() =>
421
- switchViewSettingsModalTabsFunc(localization.value)
422
- )
423
- const switchViewSettings = computed(() =>
424
- switchViewSettingsFunc(localization.value, initialData.value)
425
- )
426
- const switchEditSettingsTabs = computed(() =>
427
- switchEditSettingsTabsFunc(localization.value)
428
- )
429
- const isShowSwitchViewSettingsModal = ref<boolean>(false)
430
- const isShowSwitchEditSettingsModal = ref<boolean>(false)
431
- const isShowSwitchRemoveModal = ref<boolean>(false)
432
- const onHideSwitchViewSettingsModal = (): void => {
433
- isShowSwitchViewSettingsModal.value = false
434
- }
435
- const onHideSwitchEditSettingsModal = (): void => {
436
- isShowSwitchEditSettingsModal.value = false
437
- }
438
- const onHideSwitchRemoveModal = (): void => {
439
- isShowSwitchRemoveModal.value = false
440
- }
441
- const adapterViewSettingsModalTabs = computed(() =>
442
- adapterViewSettingsModalTabsFunc(localization.value)
443
- )
444
- const adapterViewSettings = computed(() =>
445
- adapterViewSettingsFunc(localization.value, initialData.value)
446
- )
447
- const isShowAdapterViewSettingsModal = ref<boolean>(false)
448
- const onHideAdapterViewSettingsModal = (): void => {
449
- isShowAdapterViewSettingsModal.value = false
450
- }
451
- const networkViewSettingsModalTabs = computed(() =>
452
- networkViewSettingsModalTabsFunc(localization.value)
453
- )
454
- const networkViewSettings = computed(() =>
455
- networkViewSettingsFunc(localization.value, initialData.value)
456
- )
457
- const networkEditSettingsTabs = computed(() =>
458
- networkEditSettingsTabsFunc(localization.value)
459
- )
460
- const isShowNetworkViewSettingsModal = ref<boolean>(false)
461
- const isShowNetworkEditSettingsModal = ref<boolean>(false)
462
- const isShowNetworkRemoveModal = ref<boolean>(false)
463
- const onHideNetworkViewSettingsModal = (): void => {
464
- isShowNetworkViewSettingsModal.value = false
465
- }
466
- const onHideNetworkEditSettingsModal = (): void => {
467
- isShowNetworkEditSettingsModal.value = false
468
- }
469
- const onHideNetworkRemoveModal = (): void => {
470
- isShowNetworkRemoveModal.value = false
471
- }
472
- const portViewSettingsModalTabs = computed(() =>
473
- portViewSettingsModalTabsFunc(localization.value)
474
- )
475
- const portViewSettings = computed(() =>
476
- portViewSettingsFunc(localization.value, initialData.value)
477
- )
478
- const portEditSettingsTabs = computed(() =>
479
- portEditSettingsTabsFunc(localization.value)
480
- )
481
- const isShowPortViewSettingsModal = ref<boolean>(false)
482
- const isShowPortEditSettingsModal = ref<boolean>(false)
483
- const isShowPortRemoveModal = ref<boolean>(false)
484
- const onHidePortViewSettingsModal = (): void => {
485
- isShowPortViewSettingsModal.value = false
486
- }
487
- const onHidePortEditSettingsModal = (): void => {
488
- isShowPortEditSettingsModal.value = false
489
- }
490
- const onHidePortRemoveModal = (): void => {
491
- isShowPortRemoveModal.value = false
492
- }
493
- const vCenterViewSettings = computed(() =>
494
- vCenterViewSettingsFunc(localization.value, initialData.value)
495
- )
496
- const isShowVCenterViewSettingsModal = ref<boolean>(false)
497
- const onHideVCenterViewSettingsModal = (): void => {
498
- isShowVCenterViewSettingsModal.value = false
499
- }
500
- const isShowAddNetworkingModal = ref<boolean>(false)
501
- const onHideAddNetworkingModal = (): void => {
502
- isShowAddNetworkingModal.value = false
503
- }
504
- const isShowMigrateVmkernelAdapterModal = ref<boolean>(false)
505
- const onHideMigrateVmkernelAdapterModal = (): void => {
506
- isShowMigrateVmkernelAdapterModal.value = false
507
- }
508
-
509
- const selectedStandardSwitchId = ref<string>('')
510
- const selectedSwitchId = ref<string>('')
511
-
512
- const onShowModal = (
513
- value: string,
514
- properties: UI_I_ModalsInitialData
515
- ): void => {
516
- switch (value) {
517
- case 'port-view-settings':
518
- initialData.value = properties
519
- isShowPortViewSettingsModal.value = true
520
- break
521
- case 'network-view-settings':
522
- isShowNetworkViewSettingsModal.value = true
523
- initialData.value = properties
524
- break
525
- case 'adapter-view-settings':
526
- isShowAdapterViewSettingsModal.value = true
527
- initialData.value = properties
528
- break
529
- case 'v-center-view-settings':
530
- isShowVCenterViewSettingsModal.value = true
531
- initialData.value = properties
532
- break
533
- case 'network-edit-settings':
534
- isShowNetworkEditSettingsModal.value = true
535
- initialData.value = properties
536
- break
537
- case 'port-edit-settings':
538
- initialData.value = properties
539
- isShowPortEditSettingsModal.value = true
540
- break
541
- case 'network-port-remove':
542
- initialData.value = properties
543
- isShowNetworkRemoveModal.value = true
544
- break
545
- case 'port-remove':
546
- initialData.value = properties
547
- isShowPortRemoveModal.value = true
548
- break
549
- case 'switch-edit':
550
- isShowSwitchEditSettingsModal.value = true
551
- initialData.value = useDeepCopy(switchInitialData.value)
552
- break
553
- case 'switch-manage-physical-adapters':
554
- isShowSwitchManagePhysicalAdaptersModal.value = true
555
- break
556
- case 'add-networking':
557
- isShowAddNetworkingModal.value = true
558
- selectedStandardSwitchId.value = properties.switch_name
559
- selectedSwitchId.value = properties.switch_name
560
- break
561
- case 'switch-view-settings':
562
- isShowSwitchViewSettingsModal.value = true
563
- initialData.value = useDeepCopy(switchInitialData.value)
564
- break
565
- case 'migrate-vmkernel-adapter':
566
- isShowMigrateVmkernelAdapterModal.value = true
567
- break
568
- case 'switch-remove':
569
- isShowSwitchRemoveModal.value = true
570
- break
571
- }
572
- }
573
- const onRemove = (id: string, type: string) => {
574
- const hideModal =
575
- type === 'network'
576
- ? onHideNetworkRemoveModal
577
- : type === 'switch'
578
- ? onHideSwitchRemoveModal
579
- : onHidePortRemoveModal
580
- emits('remove', id, type, hideModal)
581
- }
582
-
583
- const onChangeEditFieldsData = (newEditFieldsData: UI_I_EditFieldsData) => {
584
- emits('change-edit-fields-data', newEditFieldsData)
585
- }
586
- const onCheckNetworkLabel = (
587
- label: string,
588
- sendMessage: (message: string) => void
589
- ) => {
590
- emits('check-network-label', label, sendMessage)
591
- }
592
- const onGetExistingStandardSwitches = () => {
593
- emits('get-existing-standard-switches')
594
- }
595
- const onGetTcpStacks = () => {
596
- emits('get-tcp-stacks')
597
- }
598
- const onGetFreeAdapters = (showModal: () => void) => {
599
- emits('get-free-adapters', showModal)
600
- }
601
- const onSendNetworkData = (
602
- data:
603
- | UI_I_AddNetworkingSecondOrThirdSchemeDataSend
604
- | UI_I_AddNetworkingZeroOrFirstSchemeDataSend
605
- | UI_I_AddNetworkingFourthOrFifthSchemeDataSend
606
- | API_UI_I_SwitchItem,
607
- type: string,
608
- hideModal: () => void
609
- ) => {
610
- emits('send-add-networking-data', data, type, hideModal)
611
- }
612
- const onSendEditData = (type: string, hideModal: () => void, id?: string) => {
613
- emits('send-edit-data', type, initialData.value, hideModal, id)
614
- }
615
- const isShowDiagram = ref<boolean>(true)
616
- const onToggleDiagram = () => {
617
- isShowDiagram.value = !isShowDiagram.value
618
- }
619
- const mainRectHeights = ref<UI_I_MainRectHeights>(
620
- useDeepCopy(mainRectHeightsInitial)
621
- )
622
-
623
- const switchLine = ref<UI_I_SwitchLine>(useDeepCopy(switchLineInitial))
624
- const mainSwitchLine = computed<UI_I_SwitchLine>(
625
- () =>
626
- (switchLine.value.ay && {
627
- y1: Math.min(switchLine.value.y1, switchLine.value.ay),
628
- y2: Math.max(switchLine.value.y2, switchLine.value.ay),
629
- }) || { y1: 0, y2: 0 }
630
- )
631
-
632
- const selectedMainLine = ref(false)
633
- const selectedPort = ref<UI_I_SelectedPort>(useDeepCopy(selectedPortInitial))
634
- const selectedAdapter = ref<UI_I_SelectedAdapter>(
635
- useDeepCopy(selectedAdapterInitial)
636
- )
637
- const selectedNetwork = ref<string>('-1')
638
- const selectedSwitchLineY = ref<UI_I_SwitchLine>(
639
- useDeepCopy(selectedSwitchLineYInitial)
640
- )
641
- const mainRectHeight = computed<number>(() =>
642
- Math.max(
643
- mainRectHeights.value.networksHeight,
644
- mainRectHeights.value.adaptersHeight
645
- )
646
- )
647
-
648
- const countNetworksPositions = (): UI_I_NetworksWithPositions[] => {
649
- let lastNetworkHeight = 0
650
- let lastPosition = UI_E_PositionsY.DIAGRAM_TOP + UI_E_PositionsY.BETWEEN_RECTS
651
- mainRectHeights.value.networksHeight =
652
- UI_E_PositionsY.DIAGRAM_TOP + UI_E_PositionsY.BETWEEN_RECTS
653
- return (
654
- props.diagramData?.networks?.map(
655
- (network: UI_I_Network, index: number, networks: UI_I_Network[]) => {
656
- let portsCount = 0
657
- if (
658
- network.networkType ===
659
- (UI_E_NetworkType.VMPortsGroup || UI_E_NetworkType.VCenter)
660
- ) {
661
- portsCount = network.ports.length
662
- } else {
663
- portsCount = network.sysx ? 1 : 0
664
- }
665
- const portsHeight = network.toggle
666
- ? network.networkType === UI_E_NetworkType.VCenter
667
- ? portsCount * UI_E_PositionsY.SINGLE_V_CENTER_HEIGHT
668
- : portsCount * UI_E_PositionsY.SINGLE_PORT_HEIGHT
669
- : 0
670
- const networkHeight =
671
- UI_E_PositionsY.PORTS_FROM_RECT_TOP +
672
- portsHeight +
673
- (network.networkType === UI_E_NetworkType.VCenter
674
- ? UI_E_PositionsY.SINGLE_V_CENTER_HEIGHT - 10
675
- : UI_E_PositionsY.SINGLE_PORT_HEIGHT) +
676
- UI_E_PositionsY.SPACE_FROM_RECT_BOTTOM
677
-
678
- lastPosition +=
679
- lastNetworkHeight + (index && UI_E_PositionsY.BETWEEN_RECTS)
680
- lastNetworkHeight = networkHeight
681
-
682
- const connectLineY = lastPosition + networkHeight / 2
683
- const titlePosition = lastPosition + UI_E_PositionsY.TITLE_FROM_RECT_TOP
684
- const vlanPosition = lastPosition + UI_E_PositionsY.VLAN_FROM_RECT_TOP
685
- const portsPosition = lastPosition + UI_E_PositionsY.PORTS_FROM_RECT_TOP
686
-
687
- const networkPortsName =
688
- (network.networkType === UI_E_NetworkType.VMkernel &&
689
- 'VMkernel Ports') ||
690
- (network.networkType === UI_E_NetworkType.VMPortsGroup &&
691
- 'Virtual Machines') ||
692
- (network.networkType === UI_E_NetworkType.VCenter &&
693
- 'Virtual Machines') ||
694
- ''
695
-
696
- index === 0 && (switchLine.value.y1 = connectLineY)
697
- networks &&
698
- index === networks.length - 1 &&
699
- (switchLine.value.y2 = connectLineY)
700
-
701
- mainRectHeights.value.networksHeight +=
702
- networkHeight + UI_E_PositionsY.BETWEEN_RECTS
703
-
704
- const networkWithPortsPositions =
705
- network.networkType ===
706
- (UI_E_NetworkType.VMPortsGroup || UI_E_NetworkType.VCenter)
707
- ? network.ports.map((port, index) => {
708
- const portPosition =
709
- portsPosition +
710
- (network.networkType === UI_E_NetworkType.VCenter
711
- ? (index + 1) * UI_E_PositionsY.SINGLE_V_CENTER_HEIGHT - 10
712
- : (index + 1) * UI_E_PositionsY.SINGLE_PORT_HEIGHT)
713
-
714
- return {
715
- ...port,
716
- portPosition,
717
- }
718
- })
719
- : (network.sysx && [
720
- {
721
- id: network.sysx?.id,
722
- name: `${network.sysx?.id} ${
723
- network.sysx.ipv4_settings.ipv4
724
- ? `: ${network.sysx.ipv4_settings.ipv4}`
725
- : ''
726
- }`,
727
- state: network.sysx.state,
728
- portPosition:
729
- portsPosition + UI_E_PositionsY.SINGLE_PORT_HEIGHT,
730
- },
731
- ]) ||
732
- []
733
-
734
- return {
735
- ...network,
736
- ports: networkWithPortsPositions,
737
- portsCount,
738
- portsHeight,
739
- networkHeight,
740
- rectPosition: lastPosition,
741
- connectLineY,
742
- titlePosition,
743
- vlanPosition,
744
- vlanId: network.vlanId || '--',
745
- portsPosition,
746
- networkPortsName,
747
- }
748
- }
749
- ) || []
750
- )
751
- }
752
- const networksWithPositions = ref<UI_I_NetworksWithPositions[]>(
753
- countNetworksPositions()
754
- )
755
-
756
- const isPortToggled = ref<UI_I_PortToggleFlag>({
757
- value: false,
758
- id: '',
759
- })
760
-
761
- watch(
762
- () => props.diagramData?.networks,
763
- () => {
764
- networksWithPositions.value = countNetworksPositions()
765
-
766
- isPortToggled.value.value && handlePortToggle()
767
- },
768
- { deep: true }
769
- )
770
-
771
- const countAdaptersPositions = (): UI_I_AdaptersWithPositions => {
772
- const { height, toggle, adaptersCount } = countAdaptersHeight(
773
- props.diagramData
774
- )
775
-
776
- mainRectHeights.value.adaptersHeight =
777
- UI_E_PositionsY.DIAGRAM_TOP + UI_E_PositionsY.BETWEEN_RECTS * 2 + height
778
-
779
- const { titlePosition, rectPosition, adaptersConnectLineY, adapters } =
780
- getAdaptersPositions(props.diagramData, height)
781
-
782
- switchLine.value.ay = adaptersConnectLineY
783
-
784
- return {
785
- toggle,
786
- height,
787
- adapters,
788
- rectPosition,
789
- adaptersConnectLineY,
790
- titlePosition,
791
- adaptersCount,
792
- }
793
- }
794
-
795
- const adaptersWithPositions = computed<UI_I_AdaptersWithPositions>(
796
- countAdaptersPositions
797
- )
798
- const onSelectPort = (networkId: string, portId: string): void => {
799
- const selectPortData = getSelectPortDataFunc(
800
- networkId,
801
- portId,
802
- networksWithPositions.value,
803
- adaptersWithPositions.value
804
- )
805
-
806
- if (!selectPortData) return
807
-
808
- selectedSwitchLineY.value = selectPortData.selectedSwitchLineY
809
- selectedPort.value = selectPortData.selectedPort
810
- }
811
-
812
- const onSelectNetwork = (networkId: string): void => {
813
- selectedNetwork.value = networkId
814
-
815
- const selectNetworkData = getSelectNetworkDataFunc(
816
- networkId,
817
- networksWithPositions.value,
818
- adaptersWithPositions.value
819
- )
820
-
821
- if (!selectNetworkData) return
822
-
823
- selectedSwitchLineY.value = selectNetworkData.selectedSwitchLineY
824
- selectedPort.value = selectNetworkData.selectedPort
825
- }
826
-
827
- const onSelectAdapter = (adapterId: string): void => {
828
- const selectedNetworks: UI_I_NetworksWithPositions[] =
829
- networksWithPositions.value?.filter((network: UI_I_NetworksWithPositions) =>
830
- network.activeAdapters.includes(adapterId)
831
- )
832
-
833
- let pos: number[] = selectedNetworks?.reduce(networksPositions, [])
834
-
835
- let selectedAdapterPosition: number | null =
836
- adaptersWithPositions.value.adapters?.find((ad) => ad.id === adapterId)
837
- ?.adapterPosition || null
838
-
839
- selectedAdapterPosition !== null &&
840
- (selectedAdapterPosition += 7.5) &&
841
- pos?.push(selectedAdapterPosition)
842
-
843
- pos = pos?.sort((y1, y2) => y1 - y2)
844
-
845
- if (pos) {
846
- selectedSwitchLineY.value = {
847
- y1: pos[0],
848
- y2: pos[pos.length - 1],
849
- }
850
- }
851
-
852
- selectedAdapter.value = {
853
- adapterId,
854
- connectedPorts:
855
- selectedNetworks?.map((network: UI_I_Network) => ({
856
- networkId: network.id,
857
- ports: network.ports.map((port) => port.id),
858
- })) || [],
859
- }
860
- }
861
-
862
- const resetSelection = (): void => {
863
- selectedPort.value = useDeepCopy(selectedPortInitial)
864
- selectedSwitchLineY.value = useDeepCopy(selectedSwitchLineYInitial)
865
- selectedAdapter.value = useDeepCopy(selectedAdapterInitial)
866
- selectedNetwork.value = '-1'
867
- selectedMainLine.value = false
868
- }
869
-
870
- const emits = defineEmits<{
871
- (
872
- event: 'toggle-ports',
873
- payload: Omit<UI_I_ToggleDiagramPortsPayload, 'paths'>
874
- ): void
875
- (
876
- event: 'toggle-adapters',
877
- payload: Omit<UI_I_ToggleDiagramAdaptersPayload, 'paths'>
878
- ): void
879
- (event: 'get-existing-standard-switches'): void
880
- (
881
- event: 'send-add-networking-data',
882
- data:
883
- | UI_I_AddNetworkingSecondOrThirdSchemeDataSend
884
- | UI_I_AddNetworkingZeroOrFirstSchemeDataSend
885
- | UI_I_AddNetworkingFourthOrFifthSchemeDataSend
886
- | API_UI_I_SwitchItem,
887
- type: string,
888
- hideModal: () => void
889
- ): void
890
- (
891
- event: 'add-networking-data-validate',
892
- data:
893
- | UI_I_AddNetworkingSecondOrThirdSchemeDataSend
894
- | UI_I_AddNetworkingZeroOrFirstSchemeDataSend
895
- | UI_I_AddNetworkingFourthOrFifthSchemeDataSend
896
- | API_UI_I_SwitchItem,
897
- type: string,
898
- setValidation: (message: UI_I_ArbitraryObject<string>) => void
899
- ): void
900
- (
901
- event: 'check-network-label',
902
- label: string,
903
- sendMessage: (message: string) => void
904
- ): void
905
- (event: 'get-free-adapters', showModal: () => void): void
906
- (
907
- event: 'send-edit-data',
908
- type: string,
909
- initialData: UI_I_ModalsInitialData,
910
- hideModal: () => void,
911
- id?: string
912
- ): void
913
- (event: 'change-edit-fields-data', editFieldsData: UI_I_EditFieldsData): void
914
- (event: 'remove', id: string, type: string, hideModal: () => void): void
915
- (
916
- event: 'send-manage-physical-adapters-data',
917
- adapterStatus: UI_I_AdapterStatus,
918
- switchName: string,
919
- hideModal: () => void
920
- ): void
921
- (event: 'get-tcp-stacks'): void
922
- }>()
923
-
924
- const onTogglePorts = (
925
- id: string,
926
- isToggle: boolean,
927
- diagramId: string
928
- ): void => {
929
- emits('toggle-ports', {
930
- id,
931
- isToggle,
932
- diagramId,
933
- })
934
-
935
- isPortToggled.value = {
936
- value: true,
937
- id: id,
938
- }
939
- }
940
-
941
- const handlePortToggle = () => {
942
- selectedPort.value.portId !== '-1' &&
943
- onSelectPort(selectedPort.value.networkId, selectedPort.value.portId)
944
-
945
- selectedAdapter.value.adapterId !== '-1' &&
946
- onSelectAdapter(selectedAdapter.value.adapterId)
947
-
948
- selectedNetwork.value !== '-1' && onSelectNetwork(selectedNetwork.value)
949
-
950
- hasPortAndNetwork(selectedPort.value, isPortToggled.value.id) &&
951
- resetSelection()
952
-
953
- isPortToggled.value = {
954
- value: false,
955
- id: '',
956
- }
957
- }
958
-
959
- const onToggleAdapters = (): void => {
960
- const newState = !adaptersWithPositions.value.toggle
961
-
962
- const payload: Omit<UI_I_ToggleDiagramAdaptersPayload, 'paths'> = {
963
- isToggle: newState,
964
- diagramId: props.diagramData?.id || '',
965
- }
966
-
967
- emits('toggle-adapters', payload)
968
-
969
- selectedPort.value.portId !== '-1' &&
970
- onSelectPort(selectedPort.value.networkId, selectedPort.value.portId)
971
-
972
- selectedAdapter.value.adapterId !== '-1' && resetSelection()
973
-
974
- selectedNetwork.value !== '-1' && onSelectNetwork(selectedNetwork.value)
975
- }
976
-
977
- const onClickDiagram = (ev: MouseEvent): void => {
978
- const target = ev.target as HTMLElement
979
- const targetClassList = target.classList
980
- if (targetClassList.contains('main-line__handler')) {
981
- resetSelection()
982
- selectedMainLine.value = true
983
- } else {
984
- !(
985
- target.closest('.diagram-block__toggle') ||
986
- target.closest('.diagram-actions')
987
- ) && resetSelection()
988
- }
989
- }
990
- </script>
991
-
992
- <style scoped lang="scss">
993
- .diagram {
994
- &-min-width {
995
- min-width: 745px;
996
- }
997
- &-main-container {
998
- padding-top: 5px;
999
- }
1000
- }
1001
- </style>
1002
- <style lang="scss">
1003
- .diagram-main-actions__popup.navbar-dropdown-menu {
1004
- //transform: translate(-40px, -10px);
1005
- //width: 360px;
1006
- .btn {
1007
- border-radius: 3px;
1008
- border-bottom: none;
1009
- &:hover {
1010
- border-bottom: none;
1011
- }
1012
- span {
1013
- font-size: 14px;
1014
- }
1015
- &:active {
1016
- box-shadow: none;
1017
- }
1018
- }
1019
- }
1020
- </style>
1
+ <template>
2
+ <div
3
+ v-if="props.diagramData"
4
+ :class="{ 'diagram-min-width': !props.inPortlet }"
5
+ >
6
+ <div class="diagram-main-container">
7
+ <common-diagram-main-header
8
+ :in-portlet="props.inPortlet"
9
+ :is-show-diagram="isShowDiagram"
10
+ :diagram-name="props.diagramData.diagramName"
11
+ :test-id="props.diagramData.testId"
12
+ @toggle-diagram="onToggleDiagram"
13
+ @show-modal="onShowModal"
14
+ />
15
+ <common-diagram-main-diagram
16
+ :diagram-data="props.diagramData"
17
+ :is-show-diagram="isShowDiagram"
18
+ :in-portlet="props.inPortlet"
19
+ :networks-with-positions="networksWithPositions"
20
+ :main-rect-height="mainRectHeight"
21
+ :main-switch-line="mainSwitchLine"
22
+ :selected-main-line="selectedMainLine"
23
+ :adapters-with-positions="adaptersWithPositions"
24
+ :selected-port="selectedPort"
25
+ :selected-adapter="selectedAdapter"
26
+ :selected-network="selectedNetwork"
27
+ :selected-switch-line-y="selectedSwitchLineY"
28
+ :is-dark-mode="props.isDarkMode"
29
+ @click-diagram="onClickDiagram"
30
+ @toggle-adapters="onToggleAdapters"
31
+ @select-adapter="onSelectAdapter"
32
+ @toggle-ports="onTogglePorts"
33
+ @select-port="onSelectPort"
34
+ @select-network="onSelectNetwork"
35
+ @show-modal="onShowModal"
36
+ />
37
+ </div>
38
+ <common-diagram-main-modals-view-settings-modal
39
+ v-if="isShowPortViewSettingsModal"
40
+ view-name="port-settings-modal"
41
+ height="448px"
42
+ :title="initialData.portName"
43
+ :second-title="hostName"
44
+ :show="isShowPortViewSettingsModal"
45
+ :modal-tabs="portViewSettingsModalTabs"
46
+ :view-settings-fields="portViewSettings"
47
+ @hide="onHidePortViewSettingsModal"
48
+ />
49
+ <common-diagram-main-modals-view-settings-modal
50
+ v-if="isShowNetworkViewSettingsModal"
51
+ view-name="network-settings-modal"
52
+ height="448px"
53
+ :title="initialData.networkLabel"
54
+ :show="isShowNetworkViewSettingsModal"
55
+ :modal-tabs="networkViewSettingsModalTabs"
56
+ :view-settings-fields="networkViewSettings"
57
+ :initial-data="initialData"
58
+ @hide="onHideNetworkViewSettingsModal"
59
+ />
60
+ <common-diagram-main-modals-view-settings-modal
61
+ v-if="isShowAdapterViewSettingsModal"
62
+ :view-name="localization.physicalNetworkAdapter"
63
+ :title="initialData.name || localization.physicalNetworkAdapter"
64
+ :second-title="props.hostName"
65
+ height="448px"
66
+ :show="isShowAdapterViewSettingsModal"
67
+ :modal-tabs="adapterViewSettingsModalTabs"
68
+ :view-settings-fields="adapterViewSettings"
69
+ @hide="onHideAdapterViewSettingsModal"
70
+ />
71
+ <common-diagram-main-modals-view-settings-modal
72
+ v-if="isShowVCenterViewSettingsModal"
73
+ view-name="VCenter-settings-modal"
74
+ height="185px"
75
+ info-height="80px"
76
+ :without-footer-padding="true"
77
+ :title="initialData.vmTitle"
78
+ :show="isShowVCenterViewSettingsModal"
79
+ :view-settings-fields="vCenterViewSettings"
80
+ @hide="onHideVCenterViewSettingsModal"
81
+ />
82
+ <common-diagram-main-modals-remove-modal
83
+ v-if="isShowNetworkRemoveModal"
84
+ :id="initialData.id"
85
+ :label="initialData.networkLabel"
86
+ modal-name="network-port-remove-modal"
87
+ view-name="port-network-remove"
88
+ width="872px"
89
+ height="558px"
90
+ :title="localization.removePortGroup"
91
+ :show="isShowNetworkRemoveModal"
92
+ :is-show-loader="props.isRemoveModalLoading"
93
+ type="network"
94
+ @remove="onRemove"
95
+ @hide="onHideNetworkRemoveModal"
96
+ />
97
+ <common-diagram-main-modals-remove-modal
98
+ v-if="isShowSwitchRemoveModal"
99
+ :id="props.diagramData.id"
100
+ modal-name="switch-remove-modal"
101
+ view-name="switch-remove"
102
+ width="872px"
103
+ height="558px"
104
+ title="Remove Standard Switch"
105
+ :show="isShowSwitchRemoveModal"
106
+ :is-show-loader="props.isRemoveModalLoading"
107
+ type="switch"
108
+ @remove="onRemove"
109
+ @hide="onHideSwitchRemoveModal"
110
+ />
111
+ <common-diagram-main-modals-remove-modal
112
+ v-if="isShowPortRemoveModal"
113
+ :id="initialData.portName"
114
+ modal-name="port-remove-modal"
115
+ view-name="port-remove"
116
+ width="872px"
117
+ height="558px"
118
+ :title="localization.removeVMkernelAdapter"
119
+ :show="isShowPortRemoveModal"
120
+ :is-show-loader="props.isRemoveModalLoading"
121
+ type="port"
122
+ @remove="onRemove"
123
+ @hide="onHidePortRemoveModal"
124
+ />
125
+ <common-diagram-main-modals-edit-settings-modal
126
+ v-if="isShowNetworkEditSettingsModal"
127
+ view-name="network-edit"
128
+ width="1087px"
129
+ height="662px"
130
+ :show="isShowNetworkEditSettingsModal"
131
+ :title="initialData.networkLabel"
132
+ :initial-data="initialData"
133
+ :items="networkEditSettingsTabs"
134
+ :adapters="props.adapters"
135
+ :is-dark-mode="props.isDarkMode"
136
+ :is-edit-modal-loading="props.isEditModalLoading"
137
+ @send-edit-data="onSendEditData"
138
+ @change-edit-fields-data="onChangeEditFieldsData"
139
+ @check-network-label="onCheckNetworkLabel"
140
+ @hide="onHideNetworkEditSettingsModal"
141
+ />
142
+ <common-diagram-main-modals-edit-settings-modal
143
+ v-if="isShowPortEditSettingsModal"
144
+ view-name="port-edit"
145
+ width="872px"
146
+ height="558px"
147
+ :show="isShowPortEditSettingsModal"
148
+ :title="initialData.portName"
149
+ :initial-data="initialData"
150
+ :items="portEditSettingsTabs"
151
+ :is-dark-mode="props.isDarkMode"
152
+ :is-edit-modal-loading="props.isEditModalLoading"
153
+ @send-edit-data="onSendEditData"
154
+ @change-edit-fields-data="onChangeEditFieldsData"
155
+ @hide="onHidePortEditSettingsModal"
156
+ />
157
+ <template v-if="!props.inPortlet">
158
+ <common-diagram-main-modals-edit-settings-modal
159
+ v-if="isShowSwitchEditSettingsModal"
160
+ view-name="switch-edit"
161
+ width="1087px"
162
+ height="662px"
163
+ :show="isShowSwitchEditSettingsModal"
164
+ :title="props.diagramData.id"
165
+ :initial-data="initialData"
166
+ :items="switchEditSettingsTabs"
167
+ :adapters="props.adapters"
168
+ :is-dark-mode="props.isDarkMode"
169
+ :is-edit-modal-loading="props.isEditModalLoading"
170
+ @send-edit-data="onSendEditData"
171
+ @change-edit-fields-data="onChangeEditFieldsData"
172
+ @hide="onHideSwitchEditSettingsModal"
173
+ />
174
+ <common-diagram-main-modals-view-settings-modal
175
+ v-if="isShowSwitchViewSettingsModal"
176
+ view-name="switch-view-settings"
177
+ width="576px"
178
+ height="449px"
179
+ info-height="390px"
180
+ :with-collapse="true"
181
+ :title="props.diagramData.diagramName"
182
+ :show="isShowSwitchViewSettingsModal"
183
+ :modal-tabs="switchViewSettingsModalTabs"
184
+ :view-settings-fields="switchViewSettings"
185
+ @hide="onHideSwitchViewSettingsModal"
186
+ />
187
+ <common-diagram-main-modals-manage-physical-adapters-modal
188
+ v-if="isShowSwitchManagePhysicalAdaptersModal"
189
+ view-name="switch-manage-physical-adapters"
190
+ width="864px"
191
+ height="510px"
192
+ :show="isShowSwitchManagePhysicalAdaptersModal"
193
+ :switch-name="props.diagramData.id"
194
+ :free-adapters="props.freeAdapters"
195
+ :adapter-status="managePhysicalAdapterStatus"
196
+ :adapters="props.adapters"
197
+ :is-dark-mode="props.isDarkMode"
198
+ :initial-adapter-status="initialManagePhysicalAdapterStatus"
199
+ :is-manage-adapters-modal-loading="props.isManageAdaptersModalLoading"
200
+ @send-manage-physical-adapters-data="onSendManagePhysicalAdaptersData"
201
+ @change-adapter-status="onChangeManagePhysicalAdapterStatus"
202
+ @get-free-adapters="onGetFreeAdapters"
203
+ @hide="onHideSwitchManagePhysicalAdaptersModal"
204
+ />
205
+ <common-wizards-network-add
206
+ v-if="isShowAddNetworkingModal"
207
+ :show="isShowAddNetworkingModal"
208
+ :adapters="props.adapters"
209
+ :standard-switches-initial="props.standardSwitchesInitial"
210
+ :free-adapters="props.freeAdapters"
211
+ :is-dark-mode="props.isDarkMode"
212
+ :selected-standard-switch-id="selectedStandardSwitchId"
213
+ :selected-switch-id="selectedSwitchId"
214
+ :tcp-stacks="props.tcpStacks"
215
+ :diagrams-data="props.diagramsData"
216
+ :is-networking-loading="props.isNetworkingLoading"
217
+ @check-network-label="onCheckNetworkLabel"
218
+ @get-existing-standard-switches="onGetExistingStandardSwitches"
219
+ @get-tcp-stacks="onGetTcpStacks"
220
+ @get-free-adapters="onGetFreeAdapters"
221
+ @send-add-networking-data="onSendNetworkData"
222
+ @add-networking-data-validate="onValidateBeforeSending"
223
+ @hide="onHideAddNetworkingModal"
224
+ />
225
+ <common-diagram-main-modals-migrate-vmkernel-adapter
226
+ v-if="isShowMigrateVmkernelAdapterModal"
227
+ :show="isShowMigrateVmkernelAdapterModal"
228
+ :switch-name="props.diagramData.id"
229
+ :networks-list="props.networksList"
230
+ :switch-networks="props.diagramData.networks"
231
+ :is-dark-mode="props.isDarkMode"
232
+ :is-migrate-adapter-loading="props.isMigrateAdapterLoading"
233
+ @check-network-label="onCheckNetworkLabel"
234
+ @hide="onHideMigrateVmkernelAdapterModal"
235
+ />
236
+ </template>
237
+ </div>
238
+ </template>
239
+
240
+ <script setup lang="ts">
241
+ import { UI_E_NetworkType, UI_E_PositionsY } from './lib/models/enums'
242
+ import {
243
+ UI_I_Adapter,
244
+ UI_I_AdapterStatus,
245
+ UI_I_AdaptersWithPositions,
246
+ UI_I_MainRectHeights,
247
+ UI_I_ModalsInitialData,
248
+ UI_I_Network,
249
+ UI_I_EditFieldsData,
250
+ UI_I_NetworksWithPositions,
251
+ UI_I_SelectedAdapter,
252
+ UI_I_SelectedPort,
253
+ UI_I_SwitchLine,
254
+ UI_I_ToggleDiagramAdaptersPayload,
255
+ UI_I_ToggleDiagramPortsPayload,
256
+ UI_I_PortToggleFlag,
257
+ UI_I_DiagramData,
258
+ UI_I_SwitchAdapterItem,
259
+ API_UI_I_SwitchItem,
260
+ } from '~/components/common/diagramMain/lib/models/interfaces'
261
+ import {
262
+ UI_I_ArbitraryObject,
263
+ UI_I_Localization,
264
+ UI_I_ItemsWithTotalCounts,
265
+ } from '~/lib/models/interfaces'
266
+ import {
267
+ UI_I_AddNetworkingSecondOrThirdSchemeDataSend,
268
+ UI_I_AddNetworkingZeroOrFirstSchemeDataSend,
269
+ UI_I_AddNetworkingFourthOrFifthSchemeDataSend,
270
+ UI_I_Switch,
271
+ UI_I_TCPStack,
272
+ } from '~/components/common/wizards/network/add/lib/models/interfaces'
273
+ import {
274
+ adapterViewSettingsFunc,
275
+ adapterViewSettingsModalTabsFunc,
276
+ networkEditSettingsTabsFunc,
277
+ networkViewSettingsFunc,
278
+ networkViewSettingsModalTabsFunc,
279
+ portEditSettingsTabsFunc,
280
+ portViewSettingsFunc,
281
+ portViewSettingsModalTabsFunc,
282
+ switchEditSettingsTabsFunc,
283
+ switchViewSettingsFunc,
284
+ switchViewSettingsModalTabsFunc,
285
+ vCenterViewSettingsFunc,
286
+ } from '~/components/common/diagramMain/modals/lib/config'
287
+ import {
288
+ managePhysicalAdapterStatusInitial,
289
+ mainRectHeightsInitial,
290
+ switchLineInitial,
291
+ selectedPortInitial,
292
+ selectedSwitchLineYInitial,
293
+ selectedAdapterInitial,
294
+ } from '~/components/common/diagramMain/lib/config'
295
+ import {
296
+ hasPortAndNetwork,
297
+ networksPositions,
298
+ getSelectNetworkDataFunc,
299
+ getSelectPortDataFunc,
300
+ countAdaptersHeight,
301
+ getAdaptersPositions,
302
+ } from '~/components/common/diagramMain/lib/utils/utils'
303
+
304
+ const props = withDefaults(
305
+ defineProps<{
306
+ diagramData: UI_I_DiagramData
307
+ inPortlet?: boolean
308
+ standardSwitchesInitial?: UI_I_Switch[]
309
+ hostName?: string
310
+ adapters?: UI_I_ItemsWithTotalCounts<UI_I_SwitchAdapterItem>
311
+ freeAdapters?: UI_I_Adapter[]
312
+ networksList?: UI_I_Network[]
313
+ isDarkMode: boolean
314
+ tcpStacks?: UI_I_TCPStack[]
315
+ diagramsData?: UI_I_DiagramData[]
316
+ isManageAdaptersModalLoading?: boolean
317
+ isNetworkingLoading?: boolean
318
+ isRemoveModalLoading?: boolean
319
+ isEditModalLoading?: boolean
320
+ isMigrateAdapterLoading?: boolean
321
+ }>(),
322
+ {
323
+ diagramData: null,
324
+ inPortlet: false,
325
+ standardSwitchesInitial: () => [],
326
+ hostName: '',
327
+ adapters: () => ({
328
+ total_items: 0,
329
+ total_pages: 0,
330
+ items: [],
331
+ }),
332
+ freeAdapters: () => [],
333
+ networksList: () => [],
334
+ tcpStacks: () => [],
335
+ diagramsData: [],
336
+ isManageAdaptersModalLoading: false,
337
+ isNetworkingLoading: false,
338
+ isRemoveModalLoading: false,
339
+ isEditModalLoading: false,
340
+ isMigrateAdapterLoading: false,
341
+ }
342
+ )
343
+
344
+ const localization = computed<UI_I_Localization>(() => useLocal())
345
+ const initialData = ref<UI_I_ModalsInitialData>({})
346
+ const switchInitialData = ref<UI_I_ModalsInitialData>({})
347
+
348
+ watch(
349
+ () => props.diagramData?.networking,
350
+ (initial: UI_I_ModalsInitialData | undefined) => {
351
+ if (initial) {
352
+ initialData.value = initial
353
+ switchInitialData.value = initial
354
+ }
355
+ },
356
+ { deep: true, immediate: true }
357
+ )
358
+
359
+ const onValidateBeforeSending = (
360
+ data:
361
+ | UI_I_AddNetworkingSecondOrThirdSchemeDataSend
362
+ | UI_I_AddNetworkingZeroOrFirstSchemeDataSend
363
+ | UI_I_AddNetworkingFourthOrFifthSchemeDataSend
364
+ | API_UI_I_SwitchItem,
365
+ type: string,
366
+ setValidation: (messages: UI_I_ArbitraryObject<string>) => void
367
+ ) => {
368
+ emits('add-networking-data-validate', data, type, setValidation)
369
+ }
370
+
371
+ let initialManagePhysicalAdapterStatus: UI_I_AdapterStatus =
372
+ managePhysicalAdapterStatusInitial
373
+
374
+ const managePhysicalAdapterStatus = ref<UI_I_AdapterStatus>(
375
+ useDeepCopy(initialManagePhysicalAdapterStatus)
376
+ )
377
+
378
+ watch(
379
+ () => props.diagramData,
380
+ (newValue: UI_I_DiagramData) => {
381
+ if (newValue?.networking) {
382
+ initialManagePhysicalAdapterStatus = {
383
+ active: useDeepCopy(props.diagramData?.networking?.activeAdapters),
384
+ standby: useDeepCopy(props.diagramData?.networking?.standbyAdapters),
385
+ unused: useDeepCopy(props.diagramData?.networking?.unusedAdapters),
386
+ }
387
+
388
+ managePhysicalAdapterStatus.value = useDeepCopy(
389
+ initialManagePhysicalAdapterStatus
390
+ )
391
+ }
392
+ },
393
+ { deep: true, immediate: true }
394
+ )
395
+
396
+ const onChangeManagePhysicalAdapterStatus = (
397
+ adapterStatusNew: UI_I_AdapterStatus
398
+ ) => {
399
+ managePhysicalAdapterStatus.value = adapterStatusNew
400
+ }
401
+
402
+ const isShowSwitchManagePhysicalAdaptersModal = ref<boolean>(false)
403
+ const onHideSwitchManagePhysicalAdaptersModal = (): void => {
404
+ isShowSwitchManagePhysicalAdaptersModal.value = false
405
+ }
406
+
407
+ const onSendManagePhysicalAdaptersData = (
408
+ adapterStatus: UI_I_AdapterStatus,
409
+ switchName: string,
410
+ hideModal: () => void
411
+ ) => {
412
+ emits(
413
+ 'send-manage-physical-adapters-data',
414
+ adapterStatus,
415
+ switchName,
416
+ hideModal
417
+ )
418
+ }
419
+
420
+ const switchViewSettingsModalTabs = computed(() =>
421
+ switchViewSettingsModalTabsFunc(localization.value)
422
+ )
423
+ const switchViewSettings = computed(() =>
424
+ switchViewSettingsFunc(localization.value, initialData.value)
425
+ )
426
+ const switchEditSettingsTabs = computed(() =>
427
+ switchEditSettingsTabsFunc(localization.value)
428
+ )
429
+ const isShowSwitchViewSettingsModal = ref<boolean>(false)
430
+ const isShowSwitchEditSettingsModal = ref<boolean>(false)
431
+ const isShowSwitchRemoveModal = ref<boolean>(false)
432
+ const onHideSwitchViewSettingsModal = (): void => {
433
+ isShowSwitchViewSettingsModal.value = false
434
+ }
435
+ const onHideSwitchEditSettingsModal = (): void => {
436
+ isShowSwitchEditSettingsModal.value = false
437
+ }
438
+ const onHideSwitchRemoveModal = (): void => {
439
+ isShowSwitchRemoveModal.value = false
440
+ }
441
+ const adapterViewSettingsModalTabs = computed(() =>
442
+ adapterViewSettingsModalTabsFunc(localization.value)
443
+ )
444
+ const adapterViewSettings = computed(() =>
445
+ adapterViewSettingsFunc(localization.value, initialData.value)
446
+ )
447
+ const isShowAdapterViewSettingsModal = ref<boolean>(false)
448
+ const onHideAdapterViewSettingsModal = (): void => {
449
+ isShowAdapterViewSettingsModal.value = false
450
+ }
451
+ const networkViewSettingsModalTabs = computed(() =>
452
+ networkViewSettingsModalTabsFunc(localization.value)
453
+ )
454
+ const networkViewSettings = computed(() =>
455
+ networkViewSettingsFunc(localization.value, initialData.value)
456
+ )
457
+ const networkEditSettingsTabs = computed(() =>
458
+ networkEditSettingsTabsFunc(localization.value)
459
+ )
460
+ const isShowNetworkViewSettingsModal = ref<boolean>(false)
461
+ const isShowNetworkEditSettingsModal = ref<boolean>(false)
462
+ const isShowNetworkRemoveModal = ref<boolean>(false)
463
+ const onHideNetworkViewSettingsModal = (): void => {
464
+ isShowNetworkViewSettingsModal.value = false
465
+ }
466
+ const onHideNetworkEditSettingsModal = (): void => {
467
+ isShowNetworkEditSettingsModal.value = false
468
+ }
469
+ const onHideNetworkRemoveModal = (): void => {
470
+ isShowNetworkRemoveModal.value = false
471
+ }
472
+ const portViewSettingsModalTabs = computed(() =>
473
+ portViewSettingsModalTabsFunc(localization.value)
474
+ )
475
+ const portViewSettings = computed(() =>
476
+ portViewSettingsFunc(localization.value, initialData.value)
477
+ )
478
+ const portEditSettingsTabs = computed(() =>
479
+ portEditSettingsTabsFunc(localization.value)
480
+ )
481
+ const isShowPortViewSettingsModal = ref<boolean>(false)
482
+ const isShowPortEditSettingsModal = ref<boolean>(false)
483
+ const isShowPortRemoveModal = ref<boolean>(false)
484
+ const onHidePortViewSettingsModal = (): void => {
485
+ isShowPortViewSettingsModal.value = false
486
+ }
487
+ const onHidePortEditSettingsModal = (): void => {
488
+ isShowPortEditSettingsModal.value = false
489
+ }
490
+ const onHidePortRemoveModal = (): void => {
491
+ isShowPortRemoveModal.value = false
492
+ }
493
+ const vCenterViewSettings = computed(() =>
494
+ vCenterViewSettingsFunc(localization.value, initialData.value)
495
+ )
496
+ const isShowVCenterViewSettingsModal = ref<boolean>(false)
497
+ const onHideVCenterViewSettingsModal = (): void => {
498
+ isShowVCenterViewSettingsModal.value = false
499
+ }
500
+ const isShowAddNetworkingModal = ref<boolean>(false)
501
+ const onHideAddNetworkingModal = (): void => {
502
+ isShowAddNetworkingModal.value = false
503
+ }
504
+ const isShowMigrateVmkernelAdapterModal = ref<boolean>(false)
505
+ const onHideMigrateVmkernelAdapterModal = (): void => {
506
+ isShowMigrateVmkernelAdapterModal.value = false
507
+ }
508
+
509
+ const selectedStandardSwitchId = ref<string>('')
510
+ const selectedSwitchId = ref<string>('')
511
+
512
+ const onShowModal = (
513
+ value: string,
514
+ properties: UI_I_ModalsInitialData
515
+ ): void => {
516
+ switch (value) {
517
+ case 'port-view-settings':
518
+ initialData.value = properties
519
+ isShowPortViewSettingsModal.value = true
520
+ break
521
+ case 'network-view-settings':
522
+ isShowNetworkViewSettingsModal.value = true
523
+ initialData.value = properties
524
+ break
525
+ case 'adapter-view-settings':
526
+ isShowAdapterViewSettingsModal.value = true
527
+ initialData.value = properties
528
+ break
529
+ case 'v-center-view-settings':
530
+ isShowVCenterViewSettingsModal.value = true
531
+ initialData.value = properties
532
+ break
533
+ case 'network-edit-settings':
534
+ isShowNetworkEditSettingsModal.value = true
535
+ initialData.value = properties
536
+ break
537
+ case 'port-edit-settings':
538
+ initialData.value = properties
539
+ isShowPortEditSettingsModal.value = true
540
+ break
541
+ case 'network-port-remove':
542
+ initialData.value = properties
543
+ isShowNetworkRemoveModal.value = true
544
+ break
545
+ case 'port-remove':
546
+ initialData.value = properties
547
+ isShowPortRemoveModal.value = true
548
+ break
549
+ case 'switch-edit':
550
+ isShowSwitchEditSettingsModal.value = true
551
+ initialData.value = useDeepCopy(switchInitialData.value)
552
+ break
553
+ case 'switch-manage-physical-adapters':
554
+ isShowSwitchManagePhysicalAdaptersModal.value = true
555
+ break
556
+ case 'add-networking':
557
+ isShowAddNetworkingModal.value = true
558
+ selectedStandardSwitchId.value = properties.switch_name
559
+ selectedSwitchId.value = properties.switch_name
560
+ break
561
+ case 'switch-view-settings':
562
+ isShowSwitchViewSettingsModal.value = true
563
+ initialData.value = useDeepCopy(switchInitialData.value)
564
+ break
565
+ case 'migrate-vmkernel-adapter':
566
+ isShowMigrateVmkernelAdapterModal.value = true
567
+ break
568
+ case 'switch-remove':
569
+ isShowSwitchRemoveModal.value = true
570
+ break
571
+ }
572
+ }
573
+ const onRemove = (id: string, type: string) => {
574
+ const hideModal =
575
+ type === 'network'
576
+ ? onHideNetworkRemoveModal
577
+ : type === 'switch'
578
+ ? onHideSwitchRemoveModal
579
+ : onHidePortRemoveModal
580
+ emits('remove', id, type, hideModal)
581
+ }
582
+
583
+ const onChangeEditFieldsData = (newEditFieldsData: UI_I_EditFieldsData) => {
584
+ emits('change-edit-fields-data', newEditFieldsData)
585
+ }
586
+ const onCheckNetworkLabel = (
587
+ label: string,
588
+ sendMessage: (message: string) => void
589
+ ) => {
590
+ emits('check-network-label', label, sendMessage)
591
+ }
592
+ const onGetExistingStandardSwitches = () => {
593
+ emits('get-existing-standard-switches')
594
+ }
595
+ const onGetTcpStacks = () => {
596
+ emits('get-tcp-stacks')
597
+ }
598
+ const onGetFreeAdapters = (showModal: () => void) => {
599
+ emits('get-free-adapters', showModal)
600
+ }
601
+ const onSendNetworkData = (
602
+ data:
603
+ | UI_I_AddNetworkingSecondOrThirdSchemeDataSend
604
+ | UI_I_AddNetworkingZeroOrFirstSchemeDataSend
605
+ | UI_I_AddNetworkingFourthOrFifthSchemeDataSend
606
+ | API_UI_I_SwitchItem,
607
+ type: string,
608
+ hideModal: () => void
609
+ ) => {
610
+ emits('send-add-networking-data', data, type, hideModal)
611
+ }
612
+ const onSendEditData = (type: string, hideModal: () => void, id?: string) => {
613
+ emits('send-edit-data', type, initialData.value, hideModal, id)
614
+ }
615
+ const isShowDiagram = ref<boolean>(true)
616
+ const onToggleDiagram = () => {
617
+ isShowDiagram.value = !isShowDiagram.value
618
+ }
619
+ const mainRectHeights = ref<UI_I_MainRectHeights>(
620
+ useDeepCopy(mainRectHeightsInitial)
621
+ )
622
+
623
+ const switchLine = ref<UI_I_SwitchLine>(useDeepCopy(switchLineInitial))
624
+ const mainSwitchLine = computed<UI_I_SwitchLine>(
625
+ () =>
626
+ (switchLine.value.ay && {
627
+ y1: Math.min(switchLine.value.y1, switchLine.value.ay),
628
+ y2: Math.max(switchLine.value.y2, switchLine.value.ay),
629
+ }) || { y1: 0, y2: 0 }
630
+ )
631
+
632
+ const selectedMainLine = ref(false)
633
+ const selectedPort = ref<UI_I_SelectedPort>(useDeepCopy(selectedPortInitial))
634
+ const selectedAdapter = ref<UI_I_SelectedAdapter>(
635
+ useDeepCopy(selectedAdapterInitial)
636
+ )
637
+ const selectedNetwork = ref<string>('-1')
638
+ const selectedSwitchLineY = ref<UI_I_SwitchLine>(
639
+ useDeepCopy(selectedSwitchLineYInitial)
640
+ )
641
+ const mainRectHeight = computed<number>(() =>
642
+ Math.max(
643
+ mainRectHeights.value.networksHeight,
644
+ mainRectHeights.value.adaptersHeight
645
+ )
646
+ )
647
+
648
+ const countNetworksPositions = (): UI_I_NetworksWithPositions[] => {
649
+ let lastNetworkHeight = 0
650
+ let lastPosition = UI_E_PositionsY.DIAGRAM_TOP + UI_E_PositionsY.BETWEEN_RECTS
651
+ mainRectHeights.value.networksHeight =
652
+ UI_E_PositionsY.DIAGRAM_TOP + UI_E_PositionsY.BETWEEN_RECTS
653
+ return (
654
+ props.diagramData?.networks?.map(
655
+ (network: UI_I_Network, index: number, networks: UI_I_Network[]) => {
656
+ let portsCount = 0
657
+ if (
658
+ network.networkType ===
659
+ (UI_E_NetworkType.VMPortsGroup || UI_E_NetworkType.VCenter)
660
+ ) {
661
+ portsCount = network.ports.length
662
+ } else {
663
+ portsCount = network.sysx ? 1 : 0
664
+ }
665
+ const portsHeight = network.toggle
666
+ ? network.networkType === UI_E_NetworkType.VCenter
667
+ ? portsCount * UI_E_PositionsY.SINGLE_V_CENTER_HEIGHT
668
+ : portsCount * UI_E_PositionsY.SINGLE_PORT_HEIGHT
669
+ : 0
670
+ const networkHeight =
671
+ UI_E_PositionsY.PORTS_FROM_RECT_TOP +
672
+ portsHeight +
673
+ (network.networkType === UI_E_NetworkType.VCenter
674
+ ? UI_E_PositionsY.SINGLE_V_CENTER_HEIGHT - 10
675
+ : UI_E_PositionsY.SINGLE_PORT_HEIGHT) +
676
+ UI_E_PositionsY.SPACE_FROM_RECT_BOTTOM
677
+
678
+ lastPosition +=
679
+ lastNetworkHeight + (index && UI_E_PositionsY.BETWEEN_RECTS)
680
+ lastNetworkHeight = networkHeight
681
+
682
+ const connectLineY = lastPosition + networkHeight / 2
683
+ const titlePosition = lastPosition + UI_E_PositionsY.TITLE_FROM_RECT_TOP
684
+ const vlanPosition = lastPosition + UI_E_PositionsY.VLAN_FROM_RECT_TOP
685
+ const portsPosition = lastPosition + UI_E_PositionsY.PORTS_FROM_RECT_TOP
686
+
687
+ const networkPortsName =
688
+ (network.networkType === UI_E_NetworkType.VMkernel &&
689
+ 'VMkernel Ports') ||
690
+ (network.networkType === UI_E_NetworkType.VMPortsGroup &&
691
+ 'Virtual Machines') ||
692
+ (network.networkType === UI_E_NetworkType.VCenter &&
693
+ 'Virtual Machines') ||
694
+ ''
695
+
696
+ index === 0 && (switchLine.value.y1 = connectLineY)
697
+ networks &&
698
+ index === networks.length - 1 &&
699
+ (switchLine.value.y2 = connectLineY)
700
+
701
+ mainRectHeights.value.networksHeight +=
702
+ networkHeight + UI_E_PositionsY.BETWEEN_RECTS
703
+
704
+ const networkWithPortsPositions =
705
+ network.networkType ===
706
+ (UI_E_NetworkType.VMPortsGroup || UI_E_NetworkType.VCenter)
707
+ ? network.ports.map((port, index) => {
708
+ const portPosition =
709
+ portsPosition +
710
+ (network.networkType === UI_E_NetworkType.VCenter
711
+ ? (index + 1) * UI_E_PositionsY.SINGLE_V_CENTER_HEIGHT - 10
712
+ : (index + 1) * UI_E_PositionsY.SINGLE_PORT_HEIGHT)
713
+
714
+ return {
715
+ ...port,
716
+ portPosition,
717
+ }
718
+ })
719
+ : (network.sysx && [
720
+ {
721
+ id: network.sysx?.id,
722
+ name: `${network.sysx?.id} ${
723
+ network.sysx.ipv4_settings.ipv4
724
+ ? `: ${network.sysx.ipv4_settings.ipv4}`
725
+ : ''
726
+ }`,
727
+ state: network.sysx.state,
728
+ portPosition:
729
+ portsPosition + UI_E_PositionsY.SINGLE_PORT_HEIGHT,
730
+ },
731
+ ]) ||
732
+ []
733
+
734
+ return {
735
+ ...network,
736
+ ports: networkWithPortsPositions,
737
+ portsCount,
738
+ portsHeight,
739
+ networkHeight,
740
+ rectPosition: lastPosition,
741
+ connectLineY,
742
+ titlePosition,
743
+ vlanPosition,
744
+ vlanId: network.vlanId || '--',
745
+ portsPosition,
746
+ networkPortsName,
747
+ }
748
+ }
749
+ ) || []
750
+ )
751
+ }
752
+ const networksWithPositions = ref<UI_I_NetworksWithPositions[]>(
753
+ countNetworksPositions()
754
+ )
755
+
756
+ const isPortToggled = ref<UI_I_PortToggleFlag>({
757
+ value: false,
758
+ id: '',
759
+ })
760
+
761
+ watch(
762
+ () => props.diagramData?.networks,
763
+ () => {
764
+ networksWithPositions.value = countNetworksPositions()
765
+
766
+ isPortToggled.value.value && handlePortToggle()
767
+ },
768
+ { deep: true }
769
+ )
770
+
771
+ const countAdaptersPositions = (): UI_I_AdaptersWithPositions => {
772
+ const { height, toggle, adaptersCount } = countAdaptersHeight(
773
+ props.diagramData
774
+ )
775
+
776
+ mainRectHeights.value.adaptersHeight =
777
+ UI_E_PositionsY.DIAGRAM_TOP + UI_E_PositionsY.BETWEEN_RECTS * 2 + height
778
+
779
+ const { titlePosition, rectPosition, adaptersConnectLineY, adapters } =
780
+ getAdaptersPositions(props.diagramData, height)
781
+
782
+ switchLine.value.ay = adaptersConnectLineY
783
+
784
+ return {
785
+ toggle,
786
+ height,
787
+ adapters,
788
+ rectPosition,
789
+ adaptersConnectLineY,
790
+ titlePosition,
791
+ adaptersCount,
792
+ }
793
+ }
794
+
795
+ const adaptersWithPositions = computed<UI_I_AdaptersWithPositions>(
796
+ countAdaptersPositions
797
+ )
798
+ const onSelectPort = (networkId: string, portId: string): void => {
799
+ const selectPortData = getSelectPortDataFunc(
800
+ networkId,
801
+ portId,
802
+ networksWithPositions.value,
803
+ adaptersWithPositions.value
804
+ )
805
+
806
+ if (!selectPortData) return
807
+
808
+ selectedSwitchLineY.value = selectPortData.selectedSwitchLineY
809
+ selectedPort.value = selectPortData.selectedPort
810
+ }
811
+
812
+ const onSelectNetwork = (networkId: string): void => {
813
+ selectedNetwork.value = networkId
814
+
815
+ const selectNetworkData = getSelectNetworkDataFunc(
816
+ networkId,
817
+ networksWithPositions.value,
818
+ adaptersWithPositions.value
819
+ )
820
+
821
+ if (!selectNetworkData) return
822
+
823
+ selectedSwitchLineY.value = selectNetworkData.selectedSwitchLineY
824
+ selectedPort.value = selectNetworkData.selectedPort
825
+ }
826
+
827
+ const onSelectAdapter = (adapterId: string): void => {
828
+ const selectedNetworks: UI_I_NetworksWithPositions[] =
829
+ networksWithPositions.value?.filter((network: UI_I_NetworksWithPositions) =>
830
+ network.activeAdapters.includes(adapterId)
831
+ )
832
+
833
+ let pos: number[] = selectedNetworks?.reduce(networksPositions, [])
834
+
835
+ let selectedAdapterPosition: number | null =
836
+ adaptersWithPositions.value.adapters?.find((ad) => ad.id === adapterId)
837
+ ?.adapterPosition || null
838
+
839
+ selectedAdapterPosition !== null &&
840
+ (selectedAdapterPosition += 7.5) &&
841
+ pos?.push(selectedAdapterPosition)
842
+
843
+ pos = pos?.sort((y1, y2) => y1 - y2)
844
+
845
+ if (pos) {
846
+ selectedSwitchLineY.value = {
847
+ y1: pos[0],
848
+ y2: pos[pos.length - 1],
849
+ }
850
+ }
851
+
852
+ selectedAdapter.value = {
853
+ adapterId,
854
+ connectedPorts:
855
+ selectedNetworks?.map((network: UI_I_Network) => ({
856
+ networkId: network.id,
857
+ ports: network.ports.map((port) => port.id),
858
+ })) || [],
859
+ }
860
+ }
861
+
862
+ const resetSelection = (): void => {
863
+ selectedPort.value = useDeepCopy(selectedPortInitial)
864
+ selectedSwitchLineY.value = useDeepCopy(selectedSwitchLineYInitial)
865
+ selectedAdapter.value = useDeepCopy(selectedAdapterInitial)
866
+ selectedNetwork.value = '-1'
867
+ selectedMainLine.value = false
868
+ }
869
+
870
+ const emits = defineEmits<{
871
+ (
872
+ event: 'toggle-ports',
873
+ payload: Omit<UI_I_ToggleDiagramPortsPayload, 'paths'>
874
+ ): void
875
+ (
876
+ event: 'toggle-adapters',
877
+ payload: Omit<UI_I_ToggleDiagramAdaptersPayload, 'paths'>
878
+ ): void
879
+ (event: 'get-existing-standard-switches'): void
880
+ (
881
+ event: 'send-add-networking-data',
882
+ data:
883
+ | UI_I_AddNetworkingSecondOrThirdSchemeDataSend
884
+ | UI_I_AddNetworkingZeroOrFirstSchemeDataSend
885
+ | UI_I_AddNetworkingFourthOrFifthSchemeDataSend
886
+ | API_UI_I_SwitchItem,
887
+ type: string,
888
+ hideModal: () => void
889
+ ): void
890
+ (
891
+ event: 'add-networking-data-validate',
892
+ data:
893
+ | UI_I_AddNetworkingSecondOrThirdSchemeDataSend
894
+ | UI_I_AddNetworkingZeroOrFirstSchemeDataSend
895
+ | UI_I_AddNetworkingFourthOrFifthSchemeDataSend
896
+ | API_UI_I_SwitchItem,
897
+ type: string,
898
+ setValidation: (message: UI_I_ArbitraryObject<string>) => void
899
+ ): void
900
+ (
901
+ event: 'check-network-label',
902
+ label: string,
903
+ sendMessage: (message: string) => void
904
+ ): void
905
+ (event: 'get-free-adapters', showModal: () => void): void
906
+ (
907
+ event: 'send-edit-data',
908
+ type: string,
909
+ initialData: UI_I_ModalsInitialData,
910
+ hideModal: () => void,
911
+ id?: string
912
+ ): void
913
+ (event: 'change-edit-fields-data', editFieldsData: UI_I_EditFieldsData): void
914
+ (event: 'remove', id: string, type: string, hideModal: () => void): void
915
+ (
916
+ event: 'send-manage-physical-adapters-data',
917
+ adapterStatus: UI_I_AdapterStatus,
918
+ switchName: string,
919
+ hideModal: () => void
920
+ ): void
921
+ (event: 'get-tcp-stacks'): void
922
+ }>()
923
+
924
+ const onTogglePorts = (
925
+ id: string,
926
+ isToggle: boolean,
927
+ diagramId: string
928
+ ): void => {
929
+ emits('toggle-ports', {
930
+ id,
931
+ isToggle,
932
+ diagramId,
933
+ })
934
+
935
+ isPortToggled.value = {
936
+ value: true,
937
+ id: id,
938
+ }
939
+ }
940
+
941
+ const handlePortToggle = () => {
942
+ selectedPort.value.portId !== '-1' &&
943
+ onSelectPort(selectedPort.value.networkId, selectedPort.value.portId)
944
+
945
+ selectedAdapter.value.adapterId !== '-1' &&
946
+ onSelectAdapter(selectedAdapter.value.adapterId)
947
+
948
+ selectedNetwork.value !== '-1' && onSelectNetwork(selectedNetwork.value)
949
+
950
+ hasPortAndNetwork(selectedPort.value, isPortToggled.value.id) &&
951
+ resetSelection()
952
+
953
+ isPortToggled.value = {
954
+ value: false,
955
+ id: '',
956
+ }
957
+ }
958
+
959
+ const onToggleAdapters = (): void => {
960
+ const newState = !adaptersWithPositions.value.toggle
961
+
962
+ const payload: Omit<UI_I_ToggleDiagramAdaptersPayload, 'paths'> = {
963
+ isToggle: newState,
964
+ diagramId: props.diagramData?.id || '',
965
+ }
966
+
967
+ emits('toggle-adapters', payload)
968
+
969
+ selectedPort.value.portId !== '-1' &&
970
+ onSelectPort(selectedPort.value.networkId, selectedPort.value.portId)
971
+
972
+ selectedAdapter.value.adapterId !== '-1' && resetSelection()
973
+
974
+ selectedNetwork.value !== '-1' && onSelectNetwork(selectedNetwork.value)
975
+ }
976
+
977
+ const onClickDiagram = (ev: MouseEvent): void => {
978
+ const target = ev.target as HTMLElement
979
+ const targetClassList = target.classList
980
+ if (targetClassList.contains('main-line__handler')) {
981
+ resetSelection()
982
+ selectedMainLine.value = true
983
+ } else {
984
+ !(
985
+ target.closest('.diagram-block__toggle') ||
986
+ target.closest('.diagram-actions')
987
+ ) && resetSelection()
988
+ }
989
+ }
990
+ </script>
991
+
992
+ <style scoped lang="scss">
993
+ .diagram {
994
+ &-min-width {
995
+ min-width: 745px;
996
+ }
997
+ &-main-container {
998
+ padding-top: 5px;
999
+ }
1000
+ }
1001
+ </style>
1002
+ <style lang="scss">
1003
+ .diagram-main-actions__popup.navbar-dropdown-menu {
1004
+ //transform: translate(-40px, -10px);
1005
+ //width: 360px;
1006
+ .btn {
1007
+ border-radius: 3px;
1008
+ border-bottom: none;
1009
+ &:hover {
1010
+ border-bottom: none;
1011
+ }
1012
+ span {
1013
+ font-size: 14px;
1014
+ }
1015
+ &:active {
1016
+ box-shadow: none;
1017
+ }
1018
+ }
1019
+ }
1020
+ </style>