bfg-common 1.3.260 → 1.3.262

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