bfg-common 1.3.264 → 1.3.266

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 +2352 -2348
  22. package/assets/localization/local_en.json +2356 -2352
  23. package/assets/localization/local_hy.json +2356 -2352
  24. package/assets/localization/local_kk.json +2355 -2351
  25. package/assets/localization/local_ru.json +2361 -2357
  26. package/assets/localization/local_zh.json +2355 -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 -49
  133. package/components/atoms/wizard/lib/utils/utils.ts +568 -568
  134. package/components/atoms/wizard/step/Step.vue +113 -113
  135. package/components/common/BadBrowser.vue +118 -118
  136. package/components/common/accordion/Accordion.vue +177 -177
  137. package/components/common/accordion/Recursion.vue +218 -218
  138. package/components/common/accordion/lib/models/enums.ts +5 -5
  139. package/components/common/accordion/lib/models/interfaces.ts +16 -16
  140. package/components/common/accordion/lib/models/types.ts +1 -1
  141. package/components/common/accordion/lib/utils/accordion.ts +31 -31
  142. package/components/common/adapterManager/AdapterManager.vue +828 -828
  143. package/components/common/adapterManager/AddAdapterModal.vue +561 -561
  144. package/components/common/adapterManager/AddAdapterWarningModal.vue +83 -83
  145. package/components/common/adapterManager/NoActiveAdaptersModal.vue +62 -62
  146. package/components/common/adapterManager/NoConnectedActiveAdaptersModal.vue +62 -62
  147. package/components/common/adapterManager/lib/config/index.ts +19 -19
  148. package/components/common/adapterManager/ui/NoSelectedAdapter.vue +39 -39
  149. package/components/common/adapterManager/ui/SecondTitle.vue +37 -37
  150. package/components/common/adapterManager/ui/actions/ActionsBar.vue +95 -95
  151. package/components/common/adapterManager/ui/actions/AddAdapterButton.vue +30 -30
  152. package/components/common/adapterManager/ui/actions/MoveDownAdapterButton.vue +35 -35
  153. package/components/common/adapterManager/ui/actions/MoveUpAdapterButton.vue +35 -35
  154. package/components/common/adapterManager/ui/actions/RemoveAdapterButton.vue +37 -37
  155. package/components/common/adapterManager/ui/actions/VerticalSeparator.vue +10 -10
  156. package/components/common/adapterManager/ui/table/Adapters.vue +92 -92
  157. package/components/common/adapterManager/ui/table/Header.vue +91 -91
  158. package/components/common/adapterManager/ui/table/Table.vue +162 -162
  159. package/components/common/browse/Browse.vue +186 -186
  160. package/components/common/browse/blocks/Container.vue +105 -105
  161. package/components/common/browse/blocks/Title.vue +66 -66
  162. package/components/common/browse/blocks/contents/Files.vue +72 -72
  163. package/components/common/browse/blocks/info/Date.vue +21 -21
  164. package/components/common/browse/blocks/info/Size.vue +17 -17
  165. package/components/common/browse/blocks/info/Text.vue +16 -16
  166. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  167. package/components/common/browse/lib/models/interfaces.ts +5 -5
  168. package/components/common/context/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/lib/models/interfaces.ts +7 -7
  269. package/components/common/mainNavigationPanel/lib/models/types.ts +1 -1
  270. package/components/common/modals/Confirmation.vue +107 -107
  271. package/components/common/modals/Rename.vue +166 -166
  272. package/components/common/modals/lib/config/defaultForm.ts +18 -18
  273. package/components/common/modals/lib/config/renameLabelWidth.ts +3 -3
  274. package/components/common/modals/lib/models/interfaces.ts +5 -5
  275. package/components/common/monitor/advanced/Advanced.vue +243 -243
  276. package/components/common/monitor/advanced/GraphView.vue +180 -180
  277. package/components/common/monitor/advanced/lib/models/interfaces.ts +9 -9
  278. package/components/common/monitor/advanced/lib/models/types.ts +1 -1
  279. package/components/common/monitor/advanced/table/Table.vue +91 -91
  280. package/components/common/monitor/advanced/table/lib/config/performanceDatatable.ts +129 -129
  281. package/components/common/monitor/advanced/table/lib/models/interfaces.ts +12 -12
  282. package/components/common/monitor/advanced/table/lib/models/types.ts +10 -10
  283. package/components/common/monitor/advanced/tools/Tools.vue +445 -445
  284. package/components/common/monitor/advanced/tools/chartOptionsModal/ChartOptionsModal.vue +504 -504
  285. package/components/common/monitor/advanced/tools/chartOptionsModal/Notification.vue +34 -34
  286. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/Actions.vue +156 -156
  287. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/lib/utils/optionsActions.ts +25 -25
  288. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/saveOptionsModal/SaveOptionsModal.vue +81 -81
  289. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/Counters.vue +105 -105
  290. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/Table.vue +144 -144
  291. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/tableConfig.ts +89 -89
  292. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/utils.ts +788 -788
  293. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/models/interfaces.ts +29 -29
  294. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/models/types.ts +5 -5
  295. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/Timespan.vue +93 -93
  296. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/Form.vue +514 -514
  297. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/lib/config/dateForm.ts +59 -59
  298. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/Object.vue +221 -221
  299. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/lib/config/objectTable.ts +57 -57
  300. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/lib/models/interfaces.ts +4 -4
  301. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/lib/models/types.ts +1 -1
  302. package/components/common/monitor/advanced/tools/chartOptionsModal/lib/models/interfaces.ts +19 -19
  303. package/components/common/monitor/advanced/tools/chartOptionsModal/lib/models/types.ts +3 -3
  304. package/components/common/monitor/advanced/tools/chartOptionsModal/lib/utils/checkSubmit.ts +12 -12
  305. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/Metrics.vue +42 -42
  306. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/lib/config/optionsMetrics.ts +173 -173
  307. package/components/common/monitor/advanced/tools/lib/config/advancedToolbar.ts +130 -130
  308. package/components/common/monitor/advanced/tools/lib/models/interfaces.ts +4 -4
  309. package/components/common/monitor/advanced/tools/lib/utils/countCores.ts +7 -7
  310. package/components/common/monitor/lib/config/getValidDateByOption.ts +76 -76
  311. package/components/common/monitor/lib/models/interfaces.ts +23 -23
  312. package/components/common/monitor/overview/Overview.vue +228 -228
  313. package/components/common/monitor/overview/filters/Filters.vue +228 -228
  314. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +245 -245
  315. package/components/common/monitor/overview/filters/customIntervalModal/lib/config/dateChecker.ts +52 -52
  316. package/components/common/monitor/overview/filters/lib/config/filterOptions.ts +83 -83
  317. package/components/common/monitor/overview/filters/lib/models/interfaces.ts +9 -9
  318. package/components/common/monitor/overview/filters/lib/models/types.ts +13 -13
  319. package/components/common/pages/Tasks.vue +120 -120
  320. package/components/common/perPage/PerPage.vue +52 -52
  321. package/components/common/recursionTree/RecursionTree.vue +205 -205
  322. package/components/common/recursionTree/lib/models/interfaces.ts +21 -21
  323. package/components/common/resource/lib/models/interfaces.ts +9 -9
  324. package/components/common/resource/lib/models/types.ts +1 -1
  325. package/components/common/resource/lib/utils.ts +44 -44
  326. package/components/common/resource/simple/Simple.vue +58 -58
  327. package/components/common/resource/simple/lib/models/enums.ts +5 -5
  328. package/components/common/select/button/ButtonDropdown.vue +102 -102
  329. package/components/common/select/button/lib/models/interfaces.ts +7 -7
  330. package/components/common/select/input/Input.vue +91 -91
  331. package/components/common/select/input/lib/models/interfaces.ts +5 -5
  332. package/components/common/select/radio/RadioGroup.vue +127 -127
  333. package/components/common/select/radio/lib/models/interfaces.ts +9 -9
  334. package/components/common/shortcuts/Block.vue +86 -86
  335. package/components/common/shortcuts/Category.vue +41 -41
  336. package/components/common/shortcuts/Shortcuts.vue +44 -44
  337. package/components/common/shortcuts/lib/models/interfaces.ts +11 -11
  338. package/components/common/spiceConsole/Drawer.vue +245 -245
  339. package/components/common/spiceConsole/SpiceConsole.vue +83 -83
  340. package/components/common/spiceConsole/keyboard/Keyboard.vue +403 -403
  341. package/components/common/spiceConsole/keyboard/lib/config/keyboardRows.ts +966 -966
  342. package/components/common/spiceConsole/keyboard/lib/models/interfaces.ts +18 -18
  343. package/components/common/spiceConsole/lib/models/types.ts +1 -1
  344. package/components/common/split/horizontal/Horizontal.vue +307 -307
  345. package/components/common/split/horizontal/lib/models/interfaces.ts +5 -5
  346. package/components/common/split/vertical/Vertical.vue +213 -213
  347. package/components/common/split/vertical/lib/models/interfaces.ts +3 -3
  348. package/components/common/tools/Actions.vue +169 -169
  349. package/components/common/tools/lib/models/interfaces.ts +7 -7
  350. package/components/common/tools/viewSettings/ViewSettings.vue +86 -86
  351. package/components/common/tools/viewSettings/lib/models/interfaces.ts +9 -9
  352. package/components/common/vm/actions/add/Add.vue +577 -577
  353. package/components/common/vm/actions/add/FolderTreeView.vue +83 -83
  354. package/components/common/vm/actions/add/lib/config/steps.ts +130 -130
  355. package/components/common/vm/actions/add/lib/utils.ts +102 -102
  356. package/components/common/vm/actions/clone/CloneOld.vue +547 -547
  357. package/components/common/vm/actions/clone/lib/config/steps.ts +74 -74
  358. package/components/common/vm/actions/clone/lib/models/interfaces.ts +7 -7
  359. package/components/common/vm/actions/clone/lib/utils.ts +43 -43
  360. package/components/common/vm/actions/clone/select/options/Options.vue +71 -71
  361. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +270 -270
  362. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +267 -267
  363. package/components/common/vm/actions/common/customizeHardware/lib/config/navItems.ts +19 -19
  364. package/components/common/vm/actions/common/customizeHardware/lib/models/interfaces.ts +7 -7
  365. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +694 -694
  366. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +203 -203
  367. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/lib/models/interfaces.ts +8 -8
  368. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +134 -134
  369. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/lib/config/options.ts +20 -20
  370. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +252 -252
  371. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/lib/config/fileTypes.ts +9 -9
  372. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/lib/config/options.ts +11 -11
  373. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/lib/models/types.ts +1 -1
  374. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +57 -57
  375. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CoresPerSocket.vue +110 -110
  376. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +395 -395
  377. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuHotPlug.vue +50 -50
  378. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuModel.vue +225 -225
  379. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Hv.vue +95 -95
  380. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Iommu.vue +55 -55
  381. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/MaxCpu.vue +106 -106
  382. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Pc.vue +55 -55
  383. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Sa.vue +106 -106
  384. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/lib/config/cpuOptions.ts +21 -21
  385. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +160 -160
  386. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  387. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/tooltip/Tooltip.vue +59 -59
  388. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/config/binaryOptions.ts +12 -12
  389. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/config/dropdownItems.ts +66 -66
  390. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces.ts +118 -118
  391. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/types.ts +4 -4
  392. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +236 -236
  393. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/lib/config/options.ts +28 -28
  394. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +318 -318
  395. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryHotPlug.vue +54 -54
  396. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/lib/config/memoryOptions.ts +35 -35
  397. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/DiskFile.vue +24 -24
  398. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/Location.vue +173 -173
  399. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/MaximumSize.vue +27 -27
  400. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +453 -453
  401. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/cache/Cache.vue +81 -81
  402. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/cache/lib/config/options.ts +7 -7
  403. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/limitIops/LimitIops.vue +153 -153
  404. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/limitIops/lib/config/options.ts +28 -28
  405. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/Mode.vue +88 -88
  406. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/lib/config/options.ts +18 -18
  407. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/Provisioning.vue +88 -88
  408. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/lib/config/options.ts +15 -15
  409. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/Sharing.vue +86 -86
  410. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/lib/config/options.ts +12 -12
  411. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/Location.vue +145 -145
  412. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +295 -295
  413. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/adapterType/AdapterType.vue +87 -87
  414. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/adapterType/lib/config/options.ts +9 -9
  415. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +148 -148
  416. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/lib/config/options.ts +11 -11
  417. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIo.vue +48 -48
  418. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +49 -49
  419. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/lib/config/options.ts +10 -10
  420. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/lib/config/options.ts +7 -7
  421. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +27 -27
  422. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +42 -42
  423. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelection.vue +57 -57
  424. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +78 -78
  425. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/lib/config/options.ts +6 -6
  426. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/InputDevices.vue +21 -21
  427. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +27 -27
  428. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/Reservation.vue +238 -238
  429. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/lib/config/options.ts +33 -33
  430. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/Graphics.vue +50 -50
  431. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/TotalVideoMemory.vue +121 -121
  432. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +178 -178
  433. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/lib/config/options.ts +11 -11
  434. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/Model.vue +58 -58
  435. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/lib/config/options.ts +10 -10
  436. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +83 -83
  437. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/lib/config/options.ts +14 -14
  438. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +181 -181
  439. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptions.vue +110 -110
  440. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/Menu.vue +50 -50
  441. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/Secure.vue +50 -50
  442. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +54 -54
  443. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/lib/config/config.ts +14 -14
  444. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +84 -84
  445. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/lib/config/config.ts +11 -11
  446. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +201 -201
  447. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/lib/models/interfaces.ts +9 -9
  448. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +184 -184
  449. package/components/common/vm/actions/common/customizeHardware/vmoptions/lib/models/interfaces.ts +34 -34
  450. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/CopyPaste.vue +52 -52
  451. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/FileTransfer.vue +52 -52
  452. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/FolderSharing.vue +51 -51
  453. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/PlaybackCompression.vue +52 -52
  454. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/PowerControl.vue +50 -50
  455. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +253 -253
  456. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/ImgCompression.vue +85 -85
  457. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/lib/config/config.ts +14 -14
  458. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/JpegCompression.vue +85 -85
  459. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/lib/config/config.ts +12 -12
  460. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +56 -56
  461. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/lib/config/config.ts +6 -6
  462. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/MouseMode.vue +57 -57
  463. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/lib/config/config.ts +11 -11
  464. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +142 -142
  465. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/lib/models/interfaces.ts +5 -5
  466. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/lib/utils.ts +12 -12
  467. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/SharePolicy.vue +56 -56
  468. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/lib/config/config.ts +11 -11
  469. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/StreamingMode.vue +85 -85
  470. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/lib/config/config.ts +12 -12
  471. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/type/Type.vue +85 -85
  472. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/type/lib/config/config.ts +7 -7
  473. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +57 -57
  474. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/lib/config/config.ts +14 -14
  475. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/ZlibCompression.vue +85 -85
  476. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/lib/config/config.ts +12 -12
  477. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/Tools.vue +68 -68
  478. package/components/common/vm/actions/common/lib/config/capabilities.ts +339 -339
  479. package/components/common/vm/actions/common/lib/models/enums.ts +89 -89
  480. package/components/common/vm/actions/common/lib/models/interfaces.ts +139 -139
  481. package/components/common/vm/actions/common/lib/models/types.ts +65 -65
  482. package/components/common/vm/actions/common/readyToComplete/ReadyToComplete.vue +15 -15
  483. package/components/common/vm/actions/common/select/compatibility/Compatibility.vue +155 -155
  484. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +170 -170
  485. package/components/common/vm/actions/common/select/computeResource/TreeView.vue +126 -126
  486. package/components/common/vm/actions/common/select/computeResource/lib/ComputeResource.spec.ts +479 -479
  487. package/components/common/vm/actions/common/select/createType/CreateType.vue +61 -61
  488. package/components/common/vm/actions/common/select/createType/lib/config/items.ts +26 -26
  489. package/components/common/vm/actions/common/select/lib/models/interfaces.ts +32 -32
  490. package/components/common/vm/actions/common/select/lib/models/types.ts +25 -47
  491. package/components/common/vm/actions/common/select/name/Name.vue +227 -227
  492. package/components/common/vm/actions/common/select/name/NameOld.vue +215 -215
  493. package/components/common/vm/actions/common/select/os/os.vue +227 -227
  494. package/components/common/vm/actions/common/select/storage/Storage.vue +190 -190
  495. package/components/common/vm/actions/common/select/storage/StorageOld.vue +193 -193
  496. package/components/common/vm/actions/common/select/storage/lib/config/config.ts +191 -191
  497. package/components/common/vm/actions/common/select/storage/lib/models/types.ts +15 -15
  498. package/components/common/vm/actions/confirm/Confirm.vue +40 -0
  499. package/components/common/vm/actions/editSettings/lib/models/types.ts +23 -23
  500. package/components/common/vm/actions/editSettings/lib/utils.ts +45 -45
  501. package/components/common/vm/actions/lib/models/interfaces.ts +6 -6
  502. package/components/common/vm/actions/lib/models/types.ts +11 -11
  503. package/components/common/vm/actions/lib/utils.ts +244 -244
  504. package/components/common/vm/lib/models/interfaces.ts +9 -9
  505. package/components/common/vm/lib/utils/powerActions.ts +55 -55
  506. package/components/common/weekSelect/WeekSelect.vue +143 -143
  507. package/components/common/weekSelect/lib/models/interfaces.ts +6 -6
  508. package/components/common/wizards/datastore/add/Add.vue +389 -389
  509. package/components/common/wizards/datastore/add/lib/config/stepItems.ts +160 -160
  510. package/components/common/wizards/datastore/add/lib/models/interfaces.ts +35 -35
  511. package/components/common/wizards/datastore/add/lib/models/types.ts +14 -14
  512. package/components/common/wizards/datastore/add/lib/utils.ts +67 -67
  513. package/components/common/wizards/datastore/add/local/Local.vue +71 -71
  514. package/components/common/wizards/datastore/add/local/createName/CreateName.vue +160 -160
  515. package/components/common/wizards/datastore/add/local/createName/lib/config/defaultForm.ts +15 -15
  516. package/components/common/wizards/datastore/add/nfs/Nfs.vue +94 -94
  517. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +98 -98
  518. package/components/common/wizards/datastore/add/nfs/accessibility/lib/config/tabsPannel.ts +24 -24
  519. package/components/common/wizards/datastore/add/nfs/accessibility/lib/models/interfaces.ts +9 -9
  520. package/components/common/wizards/datastore/add/nfs/accessibility/lib/models/types.ts +5 -5
  521. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/TablesView.vue +142 -142
  522. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/compatibleTable.ts +54 -54
  523. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/hostsTableItems.ts +75 -75
  524. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/incompatibleTable.ts +68 -68
  525. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/tableKeys.ts +15 -15
  526. package/components/common/wizards/datastore/add/nfs/configuration/Configuration.vue +385 -385
  527. package/components/common/wizards/datastore/add/nfs/configuration/lib/config/defaultForm.ts +33 -33
  528. package/components/common/wizards/datastore/add/nfs/configuration/lib/models/interfaces.ts +12 -12
  529. package/components/common/wizards/datastore/add/nfs/configuration/serversList/DeletePopover.vue +100 -100
  530. package/components/common/wizards/datastore/add/nfs/configuration/serversList/ServersList.vue +124 -124
  531. package/components/common/wizards/datastore/add/nfs/configuration/serversList/lib/config/serversListConfig.ts +41 -41
  532. package/components/common/wizards/datastore/add/nfs/configuration/serversList/lib/config/tableKeys.ts +3 -3
  533. package/components/common/wizards/datastore/add/nfs/configuration/serversList/lib/models/interfaces.ts +11 -11
  534. package/components/common/wizards/datastore/add/nfs/configuration/serversList/lib/models/types.ts +1 -1
  535. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/KerberosAuthentication.vue +55 -55
  536. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/lib/config/radioOptions.ts +27 -27
  537. package/components/common/wizards/datastore/add/nfs/version/Version.vue +42 -42
  538. package/components/common/wizards/datastore/add/nfs/version/lib/config/versionOptions.ts +20 -20
  539. package/components/common/wizards/datastore/add/readyComplete/ReadyComplete.vue +78 -78
  540. package/components/common/wizards/datastore/add/readyComplete/lib/config/propertiesDetails.ts +165 -165
  541. package/components/common/wizards/datastore/add/readyComplete/lib/models/interfaces.ts +4 -4
  542. package/components/common/wizards/datastore/add/sharedStorm/SharedStorm.vue +89 -89
  543. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/DeviceSelection.vue +452 -452
  544. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/HostTable.vue +144 -144
  545. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/lib/config/hostsTable.ts +87 -87
  546. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/lib/config/tableKeys.ts +11 -11
  547. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/config/defaultForm.ts +18 -18
  548. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/config/selectOptions.ts +14 -14
  549. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/models/interfaces.ts +55 -55
  550. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/models/types.ts +14 -14
  551. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/PartitionConfiguration.vue +232 -232
  552. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/graphicTooltip/graphicTooltip.vue +64 -64
  553. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/lib/config/selectOptions.ts +46 -46
  554. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/sizeGraphic/sizeGraphic.vue +225 -225
  555. package/components/common/wizards/datastore/add/sharedStorm/version/Version.vue +39 -39
  556. package/components/common/wizards/datastore/add/sharedStorm/version/lib/config/versionOptions.ts +21 -21
  557. package/components/common/wizards/datastore/add/types/Types.vue +78 -78
  558. package/components/common/wizards/datastore/add/types/lib/config/typeOptions.ts +42 -42
  559. package/components/common/wizards/network/add/Add.vue +1019 -1019
  560. package/components/common/wizards/network/add/lib/config/index.ts +35 -35
  561. package/components/common/wizards/network/add/lib/config/initialData.ts +63 -63
  562. package/components/common/wizards/network/add/lib/config/portPropertiesStep.ts +43 -43
  563. package/components/common/wizards/network/add/lib/config/selectSwitch.ts +19 -19
  564. package/components/common/wizards/network/add/lib/config/sendData.ts +141 -141
  565. package/components/common/wizards/network/add/lib/config/steps.ts +456 -456
  566. package/components/common/wizards/network/add/lib/models/enums.ts +17 -17
  567. package/components/common/wizards/network/add/lib/models/interfaces.ts +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 +99 -99
  581. package/components/common/wizards/network/add/steps/SelectedTargetDevice.vue +474 -474
  582. package/components/common/wizards/network/add/validations/common.ts +26 -26
  583. package/components/common/wizards/network/add/validations/connectionSettings.ts +70 -70
  584. package/components/common/wizards/network/add/validations/createStandardSwitch.ts +58 -58
  585. package/components/common/wizards/network/add/validations/ipFourSettings.ts +182 -182
  586. package/components/common/wizards/network/add/validations/networkValidation.ts +77 -77
  587. package/components/common/wizards/network/add/validations/physicalAdapter.ts +70 -70
  588. package/components/common/wizards/network/add/validations/portProperties.ts +83 -83
  589. package/components/common/wizards/network/add/validations/targetDevice.ts +109 -109
  590. package/components/common/wizards/network/add/validations/validations.ts +43 -43
  591. package/components/common/wizards/vm/common/computeResource/TreeView.vue +61 -61
  592. package/components/common/wizards/vm/common/readyComplete/ReadyComplete.vue +15 -15
  593. package/components/common/wizards/vm/common/tooltip/Tooltip.vue +84 -84
  594. package/components/common/wizards/vm/common/validation/compatibility/Compatibility.vue +62 -62
  595. package/components/common/wizards/vm/common/validation/lib/models/enums.ts +5 -5
  596. package/components/common/wizards/vm/migrate/Migrate.vue +278 -278
  597. package/components/common/wizards/vm/migrate/contentHeading/ContentHeading.vue +106 -106
  598. package/components/common/wizards/vm/migrate/contentHeading/lib/models/interfaces.ts +7 -7
  599. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +100 -100
  600. package/components/common/wizards/vm/migrate/lib/models/enums.ts +6 -6
  601. package/components/common/wizards/vm/migrate/lib/models/interfaces.ts +28 -28
  602. package/components/common/wizards/vm/migrate/lib/models/types.ts +5 -5
  603. package/components/common/wizards/vm/migrate/lib/utils.ts +80 -80
  604. package/components/common/wizards/vm/migrate/select/computeResource/ComputeResource.vue +219 -219
  605. package/components/common/wizards/vm/migrate/select/computeResource/lib/config/tabsPannel.ts +28 -28
  606. package/components/common/wizards/vm/migrate/select/computeResource/lib/models/enums.ts +6 -6
  607. package/components/common/wizards/vm/migrate/select/computeResource/lib/models/interfaces.ts +30 -30
  608. package/components/common/wizards/vm/migrate/select/computeResource/lib/models/types.ts +12 -12
  609. package/components/common/wizards/vm/migrate/select/computeResource/tableView/TableView.vue +143 -143
  610. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/clusterTable.ts +113 -113
  611. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/hostTable.ts +124 -124
  612. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/resourcePoolTable.ts +115 -115
  613. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/tableKeys.ts +65 -65
  614. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/vappsTable.ts +66 -66
  615. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/models/interfaces.ts +50 -50
  616. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/models/types.ts +60 -60
  617. package/components/common/wizards/vm/migrate/select/network/Network.vue +125 -125
  618. package/components/common/wizards/vm/migrate/select/network/table/network/Network.vue +114 -114
  619. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +78 -78
  620. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/basicTable.ts +70 -70
  621. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/tableKeys.ts +13 -13
  622. package/components/common/wizards/vm/migrate/select/network/table/network/lib/models/interfaces.ts +12 -12
  623. package/components/common/wizards/vm/migrate/select/network/table/network/lib/models/types.ts +21 -21
  624. package/components/common/wizards/vm/migrate/select/network/table/useAt/UseAt.vue +54 -54
  625. package/components/common/wizards/vm/migrate/select/network/table/useAt/lib/config/tableKeys.ts +7 -7
  626. package/components/common/wizards/vm/migrate/select/network/table/useAt/lib/config/useAtTable.ts +47 -47
  627. package/components/common/wizards/vm/migrate/select/network/table/useAt/lib/models/interfaces.ts +1 -1
  628. package/components/common/wizards/vm/migrate/select/network/table/useAt/lib/models/types.ts +5 -5
  629. package/components/common/wizards/vm/migrate/select/priority/Priority.vue +39 -39
  630. package/components/common/wizards/vm/migrate/select/priority/lib/config/typeOptions.ts +21 -21
  631. package/components/common/wizards/vm/migrate/select/priority/lib/models/types.ts +1 -1
  632. package/components/common/wizards/vm/migrate/select/storage/Storage.vue +206 -206
  633. package/components/common/wizards/vm/migrate/select/storage/configure/batch/Batch.vue +76 -76
  634. package/components/common/wizards/vm/migrate/select/storage/configure/disk/Disk.vue +87 -87
  635. package/components/common/wizards/vm/migrate/select/storage/diskFormat/DiskFormat.vue +69 -69
  636. package/components/common/wizards/vm/migrate/select/storage/diskFormat/lib/config/formatOptions.ts +26 -26
  637. package/components/common/wizards/vm/migrate/select/storage/lib/config/tabsPannel.ts +18 -18
  638. package/components/common/wizards/vm/migrate/select/storage/lib/models/enums.ts +6 -6
  639. package/components/common/wizards/vm/migrate/select/storage/lib/models/interfaces.ts +14 -14
  640. package/components/common/wizards/vm/migrate/select/storage/lib/models/types.ts +9 -9
  641. package/components/common/wizards/vm/migrate/select/storage/policy/Policy.vue +84 -84
  642. package/components/common/wizards/vm/migrate/select/storage/selectedPerDisk/SelectedPerDisk.vue +88 -88
  643. package/components/common/wizards/vm/migrate/select/storage/table/datastore/Datastore.vue +114 -114
  644. package/components/common/wizards/vm/migrate/select/storage/table/datastore/lib/config/config.ts +179 -179
  645. package/components/common/wizards/vm/migrate/select/storage/table/datastore/lib/models/types.ts +15 -15
  646. package/components/common/wizards/vm/migrate/select/storage/table/disk/Disk.vue +86 -86
  647. package/components/common/wizards/vm/migrate/select/storage/table/disk/lib/config/config.ts +123 -123
  648. package/components/common/wizards/vm/migrate/select/storage/table/disk/lib/config/tableKeys.ts +15 -15
  649. package/components/common/wizards/vm/migrate/select/storage/table/disk/lib/models/interfaces.ts +24 -24
  650. package/components/common/wizards/vm/migrate/select/storage/table/disk/lib/models/types.ts +13 -13
  651. package/components/common/wizards/vm/migrate/select/targetServer/lib/config/tabsPannel.ts +18 -18
  652. package/components/common/wizards/vm/migrate/select/targetServer/lib/models/types.ts +1 -1
  653. package/components/common/wizards/vm/migrate/select/targetServer/new/New.vue +295 -295
  654. package/components/common/wizards/vm/migrate/select/targetServer/new/lib/config/defaultForm.ts +33 -33
  655. package/components/common/wizards/vm/migrate/select/targetServer/saved/Saved.vue +27 -27
  656. package/components/common/wizards/vm/migrate/select/targetServer/targetServer.vue +41 -41
  657. package/components/common/wizards/vm/migrate/select/type/Type.vue +38 -38
  658. package/components/common/wizards/vm/migrate/select/type/lib/config/typeOptions.ts +41 -41
  659. package/components/common/wizards/vm/migrate/select/type/lib/models/interfaces.ts +5 -5
  660. package/components/content/Hint.vue +24 -24
  661. package/components/layout/theHeader/lib/models/enums.ts +9 -9
  662. package/components/layout/theHeader/lib/utils/localization.ts +32 -32
  663. package/components/lib/models/interfaces.ts +14 -14
  664. package/composables/deepCopy.ts +21 -21
  665. package/composables/productNameLocal.ts +22 -22
  666. package/composables/useDiff.ts +15 -15
  667. package/composables/useLocal.ts +44 -44
  668. package/composables/useLocalStorage.ts +45 -45
  669. package/composables/useThrottle.ts +32 -32
  670. package/composables/useUniqueId.ts +5 -5
  671. package/eslint/index.js +15 -15
  672. package/eslint/no-import-type.js +17 -17
  673. package/eslint/no-invalid-type-prefix.js +32 -32
  674. package/layouts/auth.vue +31 -31
  675. package/lib/config/regExp.ts +13 -13
  676. package/lib/models/composables/useAppVersion/interfaces.ts +5 -5
  677. package/lib/models/composables/useMyFetch/interfaces.ts +25 -25
  678. package/lib/models/composables/useMyFetch/types.ts +1 -1
  679. package/lib/models/enums.ts +34 -34
  680. package/lib/models/interfaces.ts +43 -43
  681. package/lib/models/plugins/date/interfaces.ts +5 -5
  682. package/lib/models/plugins/date/types.ts +1 -1
  683. package/lib/models/plugins/validation/interfaces.ts +21 -21
  684. package/lib/models/plugins/validation/types.ts +1 -1
  685. package/lib/models/store/host/interfaces.ts +38 -38
  686. package/lib/models/store/interfaces.ts +41 -41
  687. package/lib/models/store/network/interfaces.ts +13 -13
  688. package/lib/models/store/storage/interfaces.ts +32 -32
  689. package/lib/models/store/tasks/enums.ts +27 -27
  690. package/lib/models/store/tasks/interfaces.ts +115 -115
  691. package/lib/models/store/tasks/types.ts +2 -2
  692. package/lib/models/store/types.ts +43 -43
  693. package/lib/models/store/vm/interfaces.ts +234 -234
  694. package/lib/models/table/interfaces.ts +38 -38
  695. package/lib/models/table/types.ts +1 -1
  696. package/lib/models/types.ts +13 -13
  697. package/lib/utils/base64.ts +34 -34
  698. package/lib/utils/contentBuild.ts +34 -34
  699. package/lib/utils/notification.ts +22 -22
  700. package/modules/fixContentBuild/index.ts +91 -91
  701. package/modules/fixContentBuild/lib/utils/methods.ts +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>