bfg-common 1.3.255 → 1.3.256

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 (833) hide show
  1. package/.eslintrc.js +21 -21
  2. package/.idea/inspectionProfiles/Project_Default.xml +50 -50
  3. package/.idea/modules.xml +7 -7
  4. package/.idea/prettier.xml +5 -5
  5. package/.idea/uikit.iml +11 -11
  6. package/.idea/vcs.xml +5 -5
  7. package/.prettierrc +4 -4
  8. package/PROJECT_STRUCTURE.md +42 -42
  9. package/README.md +42 -42
  10. package/assets/img/icons/icon-hcs.svg +3 -3
  11. package/assets/img/icons/icon-life-m-dark.svg +3 -3
  12. package/assets/img/icons/icon-life-m-light.svg +3 -3
  13. package/assets/img/icons/icon-ro-dark.svg +1 -1
  14. package/assets/img/icons/icon-ro-light.svg +2 -2
  15. package/assets/img/icons/icons-sprite-dark-6.svg +1 -1
  16. package/assets/img/icons/icons-sprite-light-6.svg +1 -1
  17. package/assets/img/icons/info.svg +8 -8
  18. package/assets/img/icons/vc.svg +52 -52
  19. package/assets/img/logo copy.svg +50 -50
  20. package/assets/img/logo.svg +51 -51
  21. package/assets/localization/local_be.json +2348 -2348
  22. package/assets/localization/local_en.json +2352 -2352
  23. package/assets/localization/local_hy.json +2352 -2352
  24. package/assets/localization/local_kk.json +2351 -2351
  25. package/assets/localization/local_ru.json +2357 -2357
  26. package/assets/localization/local_zh.json +2351 -2351
  27. package/assets/scss/clarity/clr-ui.min.css +8 -8
  28. package/assets/scss/common/animations.scss +28 -28
  29. package/assets/scss/common/global.scss +195 -195
  30. package/assets/scss/common/icons/icons-1.scss +236 -236
  31. package/assets/scss/common/icons/icons-2.scss +240 -240
  32. package/assets/scss/common/icons/icons-3.scss +245 -245
  33. package/assets/scss/common/icons/icons-4.scss +266 -266
  34. package/assets/scss/common/icons/icons-5.scss +59 -59
  35. package/assets/scss/common/icons/icons-6.scss +29 -29
  36. package/assets/scss/common/icons/icons.scss +16 -16
  37. package/assets/scss/common/icons/lib-icons.scss +32 -32
  38. package/assets/scss/common/mixins.scss +39 -39
  39. package/assets/scss/common/normalize.scss +329 -329
  40. package/assets/scss/common/theme.scss +238 -238
  41. package/assets/scss/common/utilities.scss +20 -20
  42. package/assets/scss/common/variables.scss +44 -44
  43. package/assets/scss/main.scss +13 -13
  44. package/components/atoms/DiagramIcon.vue +371 -371
  45. package/components/atoms/TheIcon.vue +2444 -2444
  46. package/components/atoms/TheIcon2.vue +1136 -1136
  47. package/components/atoms/alert/Alert.vue +96 -96
  48. package/components/atoms/alert/Notification.vue +171 -171
  49. package/components/atoms/alert/lib/Alert.spec.ts +38 -38
  50. package/components/atoms/alert/lib/Notification.spec.ts +34 -34
  51. package/components/atoms/alert/lib/models/enums.ts +12 -12
  52. package/components/atoms/alert/lib/models/interfaces.ts +27 -27
  53. package/components/atoms/alert/lib/models/types.ts +11 -11
  54. package/components/atoms/autocomplete/Autocomplete.vue +239 -239
  55. package/components/atoms/collapse/CollapseNav.vue +164 -164
  56. package/components/atoms/collapse/CollapseNavItem.vue +194 -194
  57. package/components/atoms/collapse/lib/models/interfaces.ts +10 -10
  58. package/components/atoms/combobox/Combobox.vue +152 -152
  59. package/components/atoms/datepicker/Datepicker.vue +630 -630
  60. package/components/atoms/datepicker/lib/config/allShortMonths.ts +103 -103
  61. package/components/atoms/datepicker/lib/config/datapicker.ts +43 -43
  62. package/components/atoms/datepicker/lib/models/interfaces.ts +9 -9
  63. package/components/atoms/dropdown/Portlet.vue +114 -114
  64. package/components/atoms/dropdown/dropdown/Dropdown.vue +156 -156
  65. package/components/atoms/dropdown/dropdown/lib/models/interfaces.ts +9 -9
  66. package/components/atoms/dropdown/lib/Portlet.spec.ts +26 -26
  67. package/components/atoms/dropdown/tree/Tree.vue +137 -137
  68. package/components/atoms/dropdown/tree/lib/models/interfaces.ts +11 -11
  69. package/components/atoms/input/Search.vue +16 -16
  70. package/components/atoms/lib/models/interfaces.ts +14 -14
  71. package/components/atoms/list/SelectList.vue +63 -63
  72. package/components/atoms/list/SimpleList.vue +29 -29
  73. package/components/atoms/list/dragDropList/DragDropList.vue +139 -139
  74. package/components/atoms/list/dragDropList/lib/config/events.ts +4 -4
  75. package/components/atoms/loader/BarLoader.vue +27 -27
  76. package/components/atoms/loader/Loader.vue +26 -26
  77. package/components/atoms/loader/PreLoader.vue +35 -35
  78. package/components/atoms/loader/lib/Preloader.spec.ts +24 -24
  79. package/components/atoms/modal/Modal.vue +247 -247
  80. package/components/atoms/modal/bySteps/BySteps.vue +252 -252
  81. package/components/atoms/modal/bySteps/lib/BySteps.spec.ts +66 -66
  82. package/components/atoms/modal/byStepsSecond/ByStepsSecond.vue +184 -184
  83. package/components/atoms/modal/lib/Modal.spec.ts +55 -55
  84. package/components/atoms/nav/NavBar.vue +139 -139
  85. package/components/atoms/nav/VerticalNavBar.vue +90 -90
  86. package/components/atoms/nav/lib/NavBar.spec.ts +34 -34
  87. package/components/atoms/nav/lib/models/interfaces.ts +6 -6
  88. package/components/atoms/notificationBar/NotificationBar.vue +178 -178
  89. package/components/atoms/notificationBar/lib/models/enums.ts +13 -13
  90. package/components/atoms/notificationBar/lib/models/interfaces.ts +6 -6
  91. package/components/atoms/notificationBar/lib/models/types.ts +1 -1
  92. package/components/atoms/perPage/PerPage.vue +53 -53
  93. package/components/atoms/popover/Popover.vue +65 -65
  94. package/components/atoms/popup/SimplePopup.vue +91 -91
  95. package/components/atoms/select/TheSelect.vue +177 -177
  96. package/components/atoms/select/lib/models/interfaces.ts +5 -5
  97. package/components/atoms/stack/StackBlock.vue +182 -182
  98. package/components/atoms/stack/StackContent.vue +63 -63
  99. package/components/atoms/step/VerticalStep.vue +105 -105
  100. package/components/atoms/step/lib/VerticalStep.spec.ts +68 -68
  101. package/components/atoms/step/lib/models/verticalStepItem.ts +7 -7
  102. package/components/atoms/switch/Switch.vue +111 -111
  103. package/components/atoms/table/compact/Compact.vue +526 -526
  104. package/components/atoms/table/compact/lib/models/interfaces.ts +10 -10
  105. package/components/atoms/table/dataGrid/DataGrid.vue +1591 -1591
  106. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +216 -216
  107. package/components/atoms/table/dataGrid/DataGridPage.vue +196 -196
  108. package/components/atoms/table/dataGrid/DataGridPagination.vue +89 -89
  109. package/components/atoms/table/dataGrid/lib/DataGrid.spec.ts +61 -61
  110. package/components/atoms/table/dataGrid/lib/config/itemsPerPage.ts +20 -20
  111. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +40 -40
  112. package/components/atoms/table/dataGrid/lib/models/interfaces.ts +36 -36
  113. package/components/atoms/table/dataGrid/lib/models/types.ts +5 -5
  114. package/components/atoms/table/dataGrid/lib/utils/constructDataTable.ts +36 -36
  115. package/components/atoms/table/info/Info.vue +60 -60
  116. package/components/atoms/table/info/lib/models/interfaces.ts +9 -9
  117. package/components/atoms/table/simpleEvent/SimpleEvent.vue +98 -98
  118. package/components/atoms/table/simpleEvent/lib/models/interfaces.ts +9 -9
  119. package/components/atoms/table/simpleInfo/SimpleInfo.vue +73 -73
  120. package/components/atoms/table/simpleInfo/lib/models/interfaces.ts +5 -5
  121. package/components/atoms/table/simpleTable/SimpleTable.vue +300 -300
  122. package/components/atoms/table/simpleTable/lib/models/interfaces.ts +12 -12
  123. package/components/atoms/tabs/Tabs.vue +214 -214
  124. package/components/atoms/tabs/VerticalTabs.vue +88 -88
  125. package/components/atoms/tabs/lib/models/interfaces.ts +5 -5
  126. package/components/atoms/tabs/lib/models/types.ts +1 -1
  127. package/components/atoms/tooltip/Signpost.vue +226 -226
  128. package/components/atoms/tooltip/Text.vue +37 -37
  129. package/components/atoms/tooltip/Tooltip.vue +57 -57
  130. package/components/atoms/tooltip/TooltipError.vue +113 -113
  131. package/components/atoms/tooltip/lib/models/interfaces.ts +4 -4
  132. package/components/atoms/wizard/Wizard.vue +453 -453
  133. package/components/atoms/wizard/lib/models/enums.ts +8 -8
  134. package/components/atoms/wizard/lib/models/interfaces.ts +48 -48
  135. package/components/atoms/wizard/lib/utils/utils.ts +568 -568
  136. package/components/atoms/wizard/step/Step.vue +113 -113
  137. package/components/common/BadBrowser.vue +118 -118
  138. package/components/common/accordion/Accordion.vue +177 -177
  139. package/components/common/accordion/Recursion.vue +218 -218
  140. package/components/common/accordion/lib/models/enums.ts +5 -5
  141. package/components/common/accordion/lib/models/interfaces.ts +16 -16
  142. package/components/common/accordion/lib/models/types.ts +1 -1
  143. package/components/common/accordion/lib/utils/accordion.ts +31 -31
  144. package/components/common/adapterManager/AdapterManager.vue +828 -828
  145. package/components/common/adapterManager/AddAdapterModal.vue +561 -561
  146. package/components/common/adapterManager/AddAdapterWarningModal.vue +83 -83
  147. package/components/common/adapterManager/NoActiveAdaptersModal.vue +62 -62
  148. package/components/common/adapterManager/NoConnectedActiveAdaptersModal.vue +62 -62
  149. package/components/common/adapterManager/lib/config/index.ts +19 -19
  150. package/components/common/adapterManager/ui/NoSelectedAdapter.vue +39 -39
  151. package/components/common/adapterManager/ui/SecondTitle.vue +37 -37
  152. package/components/common/adapterManager/ui/actions/ActionsBar.vue +95 -95
  153. package/components/common/adapterManager/ui/actions/AddAdapterButton.vue +30 -30
  154. package/components/common/adapterManager/ui/actions/MoveDownAdapterButton.vue +35 -35
  155. package/components/common/adapterManager/ui/actions/MoveUpAdapterButton.vue +35 -35
  156. package/components/common/adapterManager/ui/actions/RemoveAdapterButton.vue +37 -37
  157. package/components/common/adapterManager/ui/actions/VerticalSeparator.vue +10 -10
  158. package/components/common/adapterManager/ui/table/Adapters.vue +92 -92
  159. package/components/common/adapterManager/ui/table/Header.vue +91 -91
  160. package/components/common/adapterManager/ui/table/Table.vue +162 -162
  161. package/components/common/browse/Browse.vue +186 -186
  162. package/components/common/browse/blocks/Container.vue +105 -105
  163. package/components/common/browse/blocks/Title.vue +66 -66
  164. package/components/common/browse/blocks/contents/Files.vue +72 -72
  165. package/components/common/browse/blocks/info/Date.vue +21 -21
  166. package/components/common/browse/blocks/info/Size.vue +17 -17
  167. package/components/common/browse/blocks/info/Text.vue +16 -16
  168. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  169. package/components/common/browse/lib/models/interfaces.ts +5 -5
  170. package/components/common/context/Context.vue +97 -97
  171. package/components/common/context/ContextRecursion.vue +256 -256
  172. package/components/common/context/lib/Context.spec.ts +20 -20
  173. package/components/common/context/lib/ContextRecursion.spec.ts +55 -55
  174. package/components/common/context/lib/models/interfaces.ts +27 -27
  175. package/components/common/details/DetailsItem.vue +109 -109
  176. package/components/common/details/DetailsList.vue +23 -23
  177. package/components/common/details/lib/models/interfaces.ts +9 -9
  178. package/components/common/diagramMain/Diagram.vue +193 -193
  179. package/components/common/diagramMain/DiagramMain.vue +1019 -1019
  180. package/components/common/diagramMain/Header.vue +210 -210
  181. package/components/common/diagramMain/Highlights.vue +124 -124
  182. package/components/common/diagramMain/adapter/Adapter.vue +114 -114
  183. package/components/common/diagramMain/adapter/AdapterItem.vue +248 -248
  184. package/components/common/diagramMain/adapter/AdapterItems.vue +59 -59
  185. package/components/common/diagramMain/adapter/Block.vue +48 -48
  186. package/components/common/diagramMain/adapter/Contents.vue +112 -112
  187. package/components/common/diagramMain/adapter/Lines.vue +58 -58
  188. package/components/common/diagramMain/adapter/SecondBlock.vue +49 -49
  189. package/components/common/diagramMain/lib/config/index.ts +77 -77
  190. package/components/common/diagramMain/lib/config/initial.ts +38 -38
  191. package/components/common/diagramMain/lib/models/enums.ts +44 -44
  192. package/components/common/diagramMain/lib/models/interfaces.ts +689 -688
  193. package/components/common/diagramMain/lib/models/types.ts +16 -16
  194. package/components/common/diagramMain/lib/utils/utils.ts +251 -251
  195. package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +330 -330
  196. package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +41 -41
  197. package/components/common/diagramMain/modals/editSettings/EditSettings.vue +493 -493
  198. package/components/common/diagramMain/modals/editSettings/EditSettingsModal.vue +812 -812
  199. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +213 -213
  200. package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +189 -189
  201. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +163 -163
  202. package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +175 -175
  203. package/components/common/diagramMain/modals/editSettings/tabs/TrafficShaping.vue +398 -398
  204. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +346 -346
  205. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +205 -205
  206. package/components/common/diagramMain/modals/lib/config/adapterModal.ts +126 -126
  207. package/components/common/diagramMain/modals/lib/config/diagramConfig.ts +22 -17
  208. package/components/common/diagramMain/modals/lib/config/index.ts +49 -49
  209. package/components/common/diagramMain/modals/lib/config/initial.ts +180 -180
  210. package/components/common/diagramMain/modals/lib/config/networkModal.ts +333 -333
  211. package/components/common/diagramMain/modals/lib/config/portModal.ts +214 -214
  212. package/components/common/diagramMain/modals/lib/config/switchModal.ts +224 -224
  213. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +34 -34
  214. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
  215. package/components/common/diagramMain/modals/lib/mappers/mappers.ts +87 -87
  216. package/components/common/diagramMain/modals/lib/utils/index.ts +24 -24
  217. package/components/common/diagramMain/modals/migrateVmkernelAdapter/MigrateVmkernelAdapter.vue +541 -541
  218. package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
  219. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +168 -168
  220. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +159 -159
  221. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/VmkernelAdapterReadyComplete.vue +49 -49
  222. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +14 -14
  223. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +137 -137
  224. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
  225. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
  226. package/components/common/diagramMain/modals/remove/RemoveModal.vue +234 -234
  227. package/components/common/diagramMain/modals/viewSettings/Info.vue +123 -123
  228. package/components/common/diagramMain/modals/viewSettings/ViewSettings.vue +175 -175
  229. package/components/common/diagramMain/modals/viewSettings/ViewSettingsModal.vue +93 -93
  230. package/components/common/diagramMain/network/Block.vue +62 -62
  231. package/components/common/diagramMain/network/Contents.vue +290 -290
  232. package/components/common/diagramMain/network/Lines.vue +71 -71
  233. package/components/common/diagramMain/network/Network.vue +126 -126
  234. package/components/common/diagramMain/network/NoNetwork.vue +53 -53
  235. package/components/common/diagramMain/network/SecondBlock.vue +58 -58
  236. package/components/common/diagramMain/port/Port.vue +400 -400
  237. package/components/common/diagramMain/port/Ports.vue +47 -47
  238. package/components/common/diagramMain/switch/Switch.vue +82 -82
  239. package/components/common/diagramMain/switch/SwitchSelected.vue +35 -35
  240. package/components/common/feedback/Buttons.vue +229 -229
  241. package/components/common/feedback/Feedback.vue +268 -268
  242. package/components/common/feedback/Message.vue +518 -518
  243. package/components/common/feedback/VisitPortal.vue +62 -62
  244. package/components/common/feedback/lib/config/drawingPanel.ts +31 -31
  245. package/components/common/feedback/lib/config/feedbackTabs.ts +26 -26
  246. package/components/common/feedback/lib/models/interfaces.ts +20 -20
  247. package/components/common/feedback/lib/models/types.ts +1 -1
  248. package/components/common/graph/Graph.vue +109 -109
  249. package/components/common/graph/lib/utils/renderGraph.ts +389 -389
  250. package/components/common/headline/Headline.vue +32 -32
  251. package/components/common/help/navbar/left/Left.vue +165 -165
  252. package/components/common/help/navbar/left/lib/models/interfaces.ts +6 -6
  253. package/components/common/help/navbar/left/lib/utils/constructAccordion.ts +27 -27
  254. package/components/common/help/navbar/right/Right.vue +149 -149
  255. package/components/common/help/navbar/right/lib/models/interfaces.ts +5 -5
  256. package/components/common/home/Card.vue +63 -63
  257. package/components/common/home/ResourceBlock.vue +117 -117
  258. package/components/common/home/StatusContent.vue +47 -47
  259. package/components/common/home/alertsTable/AlertsTable.vue +107 -107
  260. package/components/common/home/alertsTable/lib/config/config.ts +61 -61
  261. package/components/common/home/alertsTable/lib/models/enums.ts +11 -11
  262. package/components/common/home/alertsTable/lib/models/interfaces.ts +19 -19
  263. package/components/common/home/alertsTable/lib/models/types.ts +18 -18
  264. package/components/common/home/lib/config/configResourceMeterBlock.ts +25 -25
  265. package/components/common/home/lib/models/interfaces.ts +59 -59
  266. package/components/common/home/lib/models/types.ts +18 -18
  267. package/components/common/home/servicesTable/ServicesTable.vue +80 -80
  268. package/components/common/home/servicesTable/lib/config/config.ts +62 -62
  269. package/components/common/lib/config/states.ts +111 -111
  270. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +362 -362
  271. package/components/common/mainNavigationPanel/lib/models/interfaces.ts +7 -7
  272. package/components/common/mainNavigationPanel/lib/models/types.ts +1 -1
  273. package/components/common/modals/Confirmation.vue +107 -107
  274. package/components/common/modals/Rename.vue +166 -166
  275. package/components/common/modals/lib/config/defaultForm.ts +18 -18
  276. package/components/common/modals/lib/config/renameLabelWidth.ts +3 -3
  277. package/components/common/modals/lib/models/interfaces.ts +5 -5
  278. package/components/common/monitor/advanced/Advanced.vue +243 -243
  279. package/components/common/monitor/advanced/GraphView.vue +180 -180
  280. package/components/common/monitor/advanced/lib/models/interfaces.ts +9 -9
  281. package/components/common/monitor/advanced/lib/models/types.ts +1 -1
  282. package/components/common/monitor/advanced/table/Table.vue +91 -91
  283. package/components/common/monitor/advanced/table/lib/config/performanceDatatable.ts +129 -129
  284. package/components/common/monitor/advanced/table/lib/models/interfaces.ts +12 -12
  285. package/components/common/monitor/advanced/table/lib/models/types.ts +10 -10
  286. package/components/common/monitor/advanced/tools/Tools.vue +445 -445
  287. package/components/common/monitor/advanced/tools/chartOptionsModal/ChartOptionsModal.vue +504 -504
  288. package/components/common/monitor/advanced/tools/chartOptionsModal/Notification.vue +34 -34
  289. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/Actions.vue +156 -156
  290. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/lib/utils/optionsActions.ts +25 -25
  291. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/saveOptionsModal/SaveOptionsModal.vue +81 -81
  292. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/Counters.vue +105 -105
  293. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/Table.vue +144 -144
  294. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/tableConfig.ts +89 -89
  295. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/utils.ts +788 -788
  296. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/models/interfaces.ts +29 -29
  297. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/models/types.ts +5 -5
  298. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/Timespan.vue +93 -93
  299. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/Form.vue +514 -514
  300. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/lib/config/dateForm.ts +59 -59
  301. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/Object.vue +221 -221
  302. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/lib/config/objectTable.ts +57 -57
  303. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/lib/models/interfaces.ts +4 -4
  304. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/lib/models/types.ts +1 -1
  305. package/components/common/monitor/advanced/tools/chartOptionsModal/lib/models/interfaces.ts +19 -19
  306. package/components/common/monitor/advanced/tools/chartOptionsModal/lib/models/types.ts +3 -3
  307. package/components/common/monitor/advanced/tools/chartOptionsModal/lib/utils/checkSubmit.ts +12 -12
  308. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/Metrics.vue +42 -42
  309. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/lib/config/optionsMetrics.ts +173 -173
  310. package/components/common/monitor/advanced/tools/lib/config/advancedToolbar.ts +130 -130
  311. package/components/common/monitor/advanced/tools/lib/models/interfaces.ts +4 -4
  312. package/components/common/monitor/advanced/tools/lib/utils/countCores.ts +7 -7
  313. package/components/common/monitor/lib/config/getValidDateByOption.ts +76 -76
  314. package/components/common/monitor/lib/models/interfaces.ts +23 -23
  315. package/components/common/monitor/overview/Overview.vue +228 -228
  316. package/components/common/monitor/overview/filters/Filters.vue +228 -228
  317. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +245 -245
  318. package/components/common/monitor/overview/filters/customIntervalModal/lib/config/dateChecker.ts +52 -52
  319. package/components/common/monitor/overview/filters/lib/config/filterOptions.ts +83 -83
  320. package/components/common/monitor/overview/filters/lib/models/interfaces.ts +9 -9
  321. package/components/common/monitor/overview/filters/lib/models/types.ts +13 -13
  322. package/components/common/pages/Tasks.vue +120 -120
  323. package/components/common/perPage/PerPage.vue +52 -52
  324. package/components/common/recursionTree/RecursionTree.vue +205 -205
  325. package/components/common/recursionTree/lib/models/interfaces.ts +21 -21
  326. package/components/common/resource/lib/models/interfaces.ts +9 -9
  327. package/components/common/resource/lib/models/types.ts +1 -1
  328. package/components/common/resource/lib/utils.ts +44 -44
  329. package/components/common/resource/progressBlock/ProgressBlock.vue +105 -105
  330. package/components/common/resource/simple/Simple.vue +58 -58
  331. package/components/common/resource/simple/lib/models/enums.ts +5 -5
  332. package/components/common/select/button/ButtonDropdown.vue +102 -102
  333. package/components/common/select/button/lib/models/interfaces.ts +7 -7
  334. package/components/common/select/input/Input.vue +91 -91
  335. package/components/common/select/input/lib/models/interfaces.ts +5 -5
  336. package/components/common/select/radio/RadioGroup.vue +127 -127
  337. package/components/common/select/radio/lib/models/interfaces.ts +9 -9
  338. package/components/common/shortcuts/Block.vue +86 -86
  339. package/components/common/shortcuts/Category.vue +41 -41
  340. package/components/common/shortcuts/Shortcuts.vue +44 -44
  341. package/components/common/shortcuts/lib/models/interfaces.ts +11 -11
  342. package/components/common/spiceConsole/Drawer.vue +245 -245
  343. package/components/common/spiceConsole/SpiceConsole.vue +83 -83
  344. package/components/common/spiceConsole/keyboard/Keyboard.vue +403 -403
  345. package/components/common/spiceConsole/keyboard/lib/config/keyboardRows.ts +966 -966
  346. package/components/common/spiceConsole/keyboard/lib/models/interfaces.ts +18 -18
  347. package/components/common/spiceConsole/lib/models/types.ts +1 -1
  348. package/components/common/split/horizontal/Horizontal.vue +307 -307
  349. package/components/common/split/horizontal/lib/models/interfaces.ts +5 -5
  350. package/components/common/split/vertical/Vertical.vue +213 -213
  351. package/components/common/split/vertical/lib/models/interfaces.ts +3 -3
  352. package/components/common/tools/Actions.vue +169 -169
  353. package/components/common/tools/lib/models/interfaces.ts +7 -7
  354. package/components/common/tools/viewSettings/ViewSettings.vue +86 -86
  355. package/components/common/tools/viewSettings/lib/models/interfaces.ts +9 -9
  356. package/components/common/vm/actions/add/Add.vue +577 -577
  357. package/components/common/vm/actions/add/FolderTreeView.vue +83 -83
  358. package/components/common/vm/actions/add/lib/config/steps.ts +130 -130
  359. package/components/common/vm/actions/add/lib/utils.ts +102 -102
  360. package/components/common/vm/actions/clone/Clone.vue +518 -518
  361. package/components/common/vm/actions/clone/CloneOld.vue +547 -547
  362. package/components/common/vm/actions/clone/lib/config/steps.ts +74 -74
  363. package/components/common/vm/actions/clone/lib/models/interfaces.ts +7 -7
  364. package/components/common/vm/actions/clone/lib/utils.ts +43 -43
  365. package/components/common/vm/actions/clone/select/options/Options.vue +71 -71
  366. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +270 -270
  367. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +267 -267
  368. package/components/common/vm/actions/common/customizeHardware/lib/config/navItems.ts +19 -19
  369. package/components/common/vm/actions/common/customizeHardware/lib/models/interfaces.ts +7 -7
  370. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +693 -693
  371. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +203 -203
  372. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/lib/models/interfaces.ts +8 -8
  373. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +134 -134
  374. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/lib/config/options.ts +20 -20
  375. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +252 -252
  376. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/lib/config/fileTypes.ts +9 -9
  377. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/lib/config/options.ts +11 -11
  378. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/lib/models/types.ts +1 -1
  379. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +57 -57
  380. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CoresPerSocket.vue +110 -110
  381. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +394 -394
  382. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuHotPlug.vue +50 -50
  383. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuModel.vue +225 -225
  384. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Hv.vue +95 -95
  385. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Iommu.vue +55 -55
  386. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/MaxCpu.vue +105 -105
  387. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Pc.vue +55 -55
  388. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Sa.vue +106 -106
  389. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/lib/config/cpuOptions.ts +19 -19
  390. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +159 -159
  391. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  392. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/tooltip/Tooltip.vue +59 -59
  393. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/config/binaryOptions.ts +12 -12
  394. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/config/dropdownItems.ts +59 -59
  395. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces.ts +118 -118
  396. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/types.ts +4 -4
  397. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +235 -235
  398. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/lib/config/options.ts +28 -28
  399. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +317 -317
  400. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryHotPlug.vue +54 -54
  401. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/lib/config/memoryOptions.ts +35 -35
  402. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/DiskFile.vue +24 -24
  403. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/Location.vue +173 -173
  404. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/MaximumSize.vue +27 -27
  405. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +453 -453
  406. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/cache/Cache.vue +81 -81
  407. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/cache/lib/config/options.ts +7 -7
  408. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/limitIops/LimitIops.vue +152 -152
  409. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/limitIops/lib/config/options.ts +28 -28
  410. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/Mode.vue +88 -88
  411. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/lib/config/options.ts +18 -18
  412. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/Provisioning.vue +88 -88
  413. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/lib/config/options.ts +15 -15
  414. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/Sharing.vue +86 -86
  415. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/lib/config/options.ts +12 -12
  416. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/Location.vue +145 -145
  417. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +295 -295
  418. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/adapterType/AdapterType.vue +87 -87
  419. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/adapterType/lib/config/options.ts +9 -9
  420. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +148 -148
  421. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/lib/config/options.ts +11 -11
  422. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +165 -165
  423. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIo.vue +48 -48
  424. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +49 -49
  425. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/lib/config/options.ts +10 -10
  426. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/lib/config/options.ts +7 -7
  427. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +27 -27
  428. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +42 -42
  429. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelection.vue +57 -57
  430. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +78 -78
  431. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/lib/config/options.ts +6 -6
  432. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/InputDevices.vue +21 -21
  433. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +27 -27
  434. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/Reservation.vue +237 -237
  435. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/lib/config/options.ts +33 -33
  436. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/Graphics.vue +50 -50
  437. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/TotalVideoMemory.vue +121 -121
  438. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +178 -178
  439. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/lib/config/options.ts +11 -11
  440. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/Model.vue +58 -58
  441. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/lib/config/options.ts +10 -10
  442. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +83 -83
  443. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/lib/config/options.ts +14 -14
  444. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +181 -181
  445. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptions.vue +110 -110
  446. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/Menu.vue +50 -50
  447. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/Secure.vue +50 -50
  448. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +54 -54
  449. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/lib/config/config.ts +14 -14
  450. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +84 -84
  451. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/lib/config/config.ts +11 -11
  452. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +201 -201
  453. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/lib/models/interfaces.ts +9 -9
  454. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +184 -184
  455. package/components/common/vm/actions/common/customizeHardware/vmoptions/lib/models/interfaces.ts +34 -34
  456. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/CopyPaste.vue +52 -52
  457. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/FileTransfer.vue +52 -52
  458. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/FolderSharing.vue +51 -51
  459. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/PlaybackCompression.vue +52 -52
  460. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/PowerControl.vue +50 -50
  461. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +253 -253
  462. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/ImgCompression.vue +85 -85
  463. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/lib/config/config.ts +14 -14
  464. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/JpegCompression.vue +85 -85
  465. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/lib/config/config.ts +12 -12
  466. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +56 -56
  467. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/lib/config/config.ts +6 -6
  468. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/MouseMode.vue +57 -57
  469. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/lib/config/config.ts +11 -11
  470. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +142 -142
  471. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/lib/models/interfaces.ts +5 -5
  472. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/lib/utils.ts +12 -12
  473. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/SharePolicy.vue +56 -56
  474. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/lib/config/config.ts +11 -11
  475. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/StreamingMode.vue +85 -85
  476. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/lib/config/config.ts +12 -12
  477. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/type/Type.vue +85 -85
  478. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/type/lib/config/config.ts +7 -7
  479. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +57 -57
  480. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/lib/config/config.ts +14 -14
  481. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/ZlibCompression.vue +85 -85
  482. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/lib/config/config.ts +12 -12
  483. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/Tools.vue +68 -68
  484. package/components/common/vm/actions/common/lib/config/capabilities.ts +339 -339
  485. package/components/common/vm/actions/common/lib/models/enums.ts +89 -89
  486. package/components/common/vm/actions/common/lib/models/interfaces.ts +139 -139
  487. package/components/common/vm/actions/common/lib/models/types.ts +65 -65
  488. package/components/common/vm/actions/common/readyToComplete/ReadyToComplete.vue +15 -15
  489. package/components/common/vm/actions/common/select/compatibility/Compatibility.vue +155 -155
  490. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +170 -170
  491. package/components/common/vm/actions/common/select/computeResource/TreeView.vue +126 -126
  492. package/components/common/vm/actions/common/select/computeResource/lib/ComputeResource.spec.ts +479 -479
  493. package/components/common/vm/actions/common/select/createType/CreateType.vue +61 -61
  494. package/components/common/vm/actions/common/select/createType/lib/config/items.ts +26 -26
  495. package/components/common/vm/actions/common/select/lib/models/interfaces.ts +32 -32
  496. package/components/common/vm/actions/common/select/lib/models/types.ts +47 -47
  497. package/components/common/vm/actions/common/select/name/Name.vue +227 -227
  498. package/components/common/vm/actions/common/select/name/NameOld.vue +215 -215
  499. package/components/common/vm/actions/common/select/os/os.vue +227 -227
  500. package/components/common/vm/actions/common/select/storage/Storage.vue +190 -190
  501. package/components/common/vm/actions/common/select/storage/StorageOld.vue +193 -193
  502. package/components/common/vm/actions/common/select/storage/lib/config/config.ts +191 -191
  503. package/components/common/vm/actions/common/select/storage/lib/models/types.ts +15 -15
  504. package/components/common/vm/actions/editSettings/EditSettings.vue +313 -313
  505. package/components/common/vm/actions/editSettings/lib/models/types.ts +23 -23
  506. package/components/common/vm/actions/editSettings/lib/utils.ts +45 -45
  507. package/components/common/vm/actions/lib/models/interfaces.ts +6 -6
  508. package/components/common/vm/actions/lib/models/types.ts +11 -11
  509. package/components/common/vm/actions/lib/utils.ts +244 -244
  510. package/components/common/vm/lib/models/interfaces.ts +9 -9
  511. package/components/common/vm/lib/utils/powerActions.ts +55 -55
  512. package/components/common/weekSelect/WeekSelect.vue +143 -143
  513. package/components/common/weekSelect/lib/config/options.ts +10 -10
  514. package/components/common/weekSelect/lib/models/interfaces.ts +6 -6
  515. package/components/common/wizards/datastore/add/Add.vue +389 -389
  516. package/components/common/wizards/datastore/add/lib/config/stepItems.ts +160 -160
  517. package/components/common/wizards/datastore/add/lib/models/interfaces.ts +35 -35
  518. package/components/common/wizards/datastore/add/lib/models/types.ts +14 -14
  519. package/components/common/wizards/datastore/add/lib/utils.ts +67 -67
  520. package/components/common/wizards/datastore/add/local/Local.vue +71 -71
  521. package/components/common/wizards/datastore/add/local/createName/CreateName.vue +160 -160
  522. package/components/common/wizards/datastore/add/local/createName/lib/config/defaultForm.ts +15 -15
  523. package/components/common/wizards/datastore/add/nfs/Nfs.vue +94 -94
  524. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +98 -98
  525. package/components/common/wizards/datastore/add/nfs/accessibility/lib/config/tabsPannel.ts +24 -24
  526. package/components/common/wizards/datastore/add/nfs/accessibility/lib/models/interfaces.ts +9 -9
  527. package/components/common/wizards/datastore/add/nfs/accessibility/lib/models/types.ts +5 -5
  528. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/TablesView.vue +142 -142
  529. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/compatibleTable.ts +54 -54
  530. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/hostsTableItems.ts +75 -75
  531. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/incompatibleTable.ts +68 -68
  532. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/tableKeys.ts +15 -15
  533. package/components/common/wizards/datastore/add/nfs/configuration/Configuration.vue +385 -385
  534. package/components/common/wizards/datastore/add/nfs/configuration/lib/config/defaultForm.ts +33 -33
  535. package/components/common/wizards/datastore/add/nfs/configuration/lib/models/interfaces.ts +12 -12
  536. package/components/common/wizards/datastore/add/nfs/configuration/serversList/DeletePopover.vue +100 -100
  537. package/components/common/wizards/datastore/add/nfs/configuration/serversList/ServersList.vue +124 -124
  538. package/components/common/wizards/datastore/add/nfs/configuration/serversList/lib/config/serversListConfig.ts +41 -41
  539. package/components/common/wizards/datastore/add/nfs/configuration/serversList/lib/config/tableKeys.ts +3 -3
  540. package/components/common/wizards/datastore/add/nfs/configuration/serversList/lib/models/interfaces.ts +11 -11
  541. package/components/common/wizards/datastore/add/nfs/configuration/serversList/lib/models/types.ts +1 -1
  542. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/KerberosAuthentication.vue +55 -55
  543. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/lib/config/radioOptions.ts +27 -27
  544. package/components/common/wizards/datastore/add/nfs/version/Version.vue +42 -42
  545. package/components/common/wizards/datastore/add/nfs/version/lib/config/versionOptions.ts +20 -20
  546. package/components/common/wizards/datastore/add/readyComplete/ReadyComplete.vue +78 -78
  547. package/components/common/wizards/datastore/add/readyComplete/lib/config/propertiesDetails.ts +165 -165
  548. package/components/common/wizards/datastore/add/readyComplete/lib/models/interfaces.ts +4 -4
  549. package/components/common/wizards/datastore/add/sharedStorm/SharedStorm.vue +89 -89
  550. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/DeviceSelection.vue +452 -452
  551. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/HostTable.vue +144 -144
  552. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/lib/config/hostsTable.ts +87 -87
  553. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/lib/config/tableKeys.ts +11 -11
  554. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/config/defaultForm.ts +18 -18
  555. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/config/selectOptions.ts +14 -14
  556. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/models/interfaces.ts +55 -55
  557. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/models/types.ts +14 -14
  558. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/PartitionConfiguration.vue +232 -232
  559. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/graphicTooltip/graphicTooltip.vue +64 -64
  560. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/lib/config/selectOptions.ts +46 -46
  561. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/sizeGraphic/sizeGraphic.vue +225 -225
  562. package/components/common/wizards/datastore/add/sharedStorm/version/Version.vue +39 -39
  563. package/components/common/wizards/datastore/add/sharedStorm/version/lib/config/versionOptions.ts +21 -21
  564. package/components/common/wizards/datastore/add/types/Types.vue +78 -78
  565. package/components/common/wizards/datastore/add/types/lib/config/typeOptions.ts +39 -39
  566. package/components/common/wizards/network/add/Add.vue +1019 -1019
  567. package/components/common/wizards/network/add/lib/config/index.ts +35 -35
  568. package/components/common/wizards/network/add/lib/config/initialData.ts +63 -63
  569. package/components/common/wizards/network/add/lib/config/portPropertiesStep.ts +31 -31
  570. package/components/common/wizards/network/add/lib/config/selectSwitch.ts +19 -19
  571. package/components/common/wizards/network/add/lib/config/sendData.ts +141 -141
  572. package/components/common/wizards/network/add/lib/config/steps.ts +448 -448
  573. package/components/common/wizards/network/add/lib/models/enums.ts +17 -17
  574. package/components/common/wizards/network/add/lib/models/interfaces.ts +248 -248
  575. package/components/common/wizards/network/add/lib/models/types.ts +2 -2
  576. package/components/common/wizards/network/add/lib/utils/index.ts +4 -4
  577. package/components/common/wizards/network/add/mappers/mappers.ts +192 -192
  578. package/components/common/wizards/network/add/modals/SelectNetwork.vue +172 -172
  579. package/components/common/wizards/network/add/modals/SelectStandardSwitch.vue +138 -138
  580. package/components/common/wizards/network/add/modals/SelectSwitch.vue +131 -131
  581. package/components/common/wizards/network/add/steps/ConnectionSettings.vue +153 -153
  582. package/components/common/wizards/network/add/steps/CreateStandardSwitch.vue +91 -91
  583. package/components/common/wizards/network/add/steps/IpFourSettings.vue +305 -305
  584. package/components/common/wizards/network/add/steps/PhysicalAdapter.vue +13 -13
  585. package/components/common/wizards/network/add/steps/PortProperties.vue +407 -407
  586. package/components/common/wizards/network/add/steps/ReadyComplete.vue +20 -20
  587. package/components/common/wizards/network/add/steps/SelectConnectionType.vue +102 -102
  588. package/components/common/wizards/network/add/steps/SelectedTargetDevice.vue +474 -474
  589. package/components/common/wizards/network/add/validations/common.ts +26 -26
  590. package/components/common/wizards/network/add/validations/connectionSettings.ts +70 -70
  591. package/components/common/wizards/network/add/validations/createStandardSwitch.ts +58 -58
  592. package/components/common/wizards/network/add/validations/ipFourSettings.ts +182 -182
  593. package/components/common/wizards/network/add/validations/networkValidation.ts +77 -77
  594. package/components/common/wizards/network/add/validations/physicalAdapter.ts +70 -70
  595. package/components/common/wizards/network/add/validations/portProperties.ts +83 -83
  596. package/components/common/wizards/network/add/validations/targetDevice.ts +109 -109
  597. package/components/common/wizards/network/add/validations/validations.ts +43 -43
  598. package/components/common/wizards/vm/common/computeResource/TreeView.vue +61 -61
  599. package/components/common/wizards/vm/common/readyComplete/ReadyComplete.vue +15 -15
  600. package/components/common/wizards/vm/common/tooltip/Tooltip.vue +84 -84
  601. package/components/common/wizards/vm/common/validation/compatibility/Compatibility.vue +62 -62
  602. package/components/common/wizards/vm/common/validation/lib/models/enums.ts +5 -5
  603. package/components/common/wizards/vm/migrate/Migrate.vue +278 -278
  604. package/components/common/wizards/vm/migrate/contentHeading/ContentHeading.vue +106 -106
  605. package/components/common/wizards/vm/migrate/contentHeading/lib/models/interfaces.ts +7 -7
  606. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +100 -100
  607. package/components/common/wizards/vm/migrate/lib/models/enums.ts +6 -6
  608. package/components/common/wizards/vm/migrate/lib/models/interfaces.ts +28 -28
  609. package/components/common/wizards/vm/migrate/lib/models/types.ts +5 -5
  610. package/components/common/wizards/vm/migrate/lib/utils.ts +80 -80
  611. package/components/common/wizards/vm/migrate/select/computeResource/ComputeResource.vue +219 -219
  612. package/components/common/wizards/vm/migrate/select/computeResource/lib/config/tabsPannel.ts +28 -28
  613. package/components/common/wizards/vm/migrate/select/computeResource/lib/models/enums.ts +6 -6
  614. package/components/common/wizards/vm/migrate/select/computeResource/lib/models/interfaces.ts +30 -30
  615. package/components/common/wizards/vm/migrate/select/computeResource/lib/models/types.ts +12 -12
  616. package/components/common/wizards/vm/migrate/select/computeResource/tableView/TableView.vue +143 -143
  617. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/clusterTable.ts +113 -113
  618. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/hostTable.ts +124 -124
  619. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/resourcePoolTable.ts +115 -115
  620. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/tableKeys.ts +65 -65
  621. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/vappsTable.ts +66 -66
  622. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/models/interfaces.ts +50 -50
  623. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/models/types.ts +60 -60
  624. package/components/common/wizards/vm/migrate/select/network/Network.vue +125 -125
  625. package/components/common/wizards/vm/migrate/select/network/table/network/Network.vue +114 -114
  626. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +78 -78
  627. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/basicTable.ts +70 -70
  628. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/tableKeys.ts +13 -13
  629. package/components/common/wizards/vm/migrate/select/network/table/network/lib/models/interfaces.ts +12 -12
  630. package/components/common/wizards/vm/migrate/select/network/table/network/lib/models/types.ts +21 -21
  631. package/components/common/wizards/vm/migrate/select/network/table/useAt/UseAt.vue +54 -54
  632. package/components/common/wizards/vm/migrate/select/network/table/useAt/lib/config/tableKeys.ts +7 -7
  633. package/components/common/wizards/vm/migrate/select/network/table/useAt/lib/config/useAtTable.ts +47 -47
  634. package/components/common/wizards/vm/migrate/select/network/table/useAt/lib/models/interfaces.ts +1 -1
  635. package/components/common/wizards/vm/migrate/select/network/table/useAt/lib/models/types.ts +5 -5
  636. package/components/common/wizards/vm/migrate/select/priority/Priority.vue +39 -39
  637. package/components/common/wizards/vm/migrate/select/priority/lib/config/typeOptions.ts +21 -21
  638. package/components/common/wizards/vm/migrate/select/priority/lib/models/types.ts +1 -1
  639. package/components/common/wizards/vm/migrate/select/storage/Storage.vue +206 -206
  640. package/components/common/wizards/vm/migrate/select/storage/configure/batch/Batch.vue +76 -76
  641. package/components/common/wizards/vm/migrate/select/storage/configure/disk/Disk.vue +87 -87
  642. package/components/common/wizards/vm/migrate/select/storage/diskFormat/DiskFormat.vue +69 -69
  643. package/components/common/wizards/vm/migrate/select/storage/diskFormat/lib/config/formatOptions.ts +26 -26
  644. package/components/common/wizards/vm/migrate/select/storage/lib/config/tabsPannel.ts +18 -18
  645. package/components/common/wizards/vm/migrate/select/storage/lib/models/enums.ts +6 -6
  646. package/components/common/wizards/vm/migrate/select/storage/lib/models/interfaces.ts +14 -14
  647. package/components/common/wizards/vm/migrate/select/storage/lib/models/types.ts +9 -9
  648. package/components/common/wizards/vm/migrate/select/storage/policy/Policy.vue +84 -84
  649. package/components/common/wizards/vm/migrate/select/storage/selectedPerDisk/SelectedPerDisk.vue +88 -88
  650. package/components/common/wizards/vm/migrate/select/storage/table/datastore/Datastore.vue +114 -114
  651. package/components/common/wizards/vm/migrate/select/storage/table/datastore/lib/config/config.ts +179 -179
  652. package/components/common/wizards/vm/migrate/select/storage/table/datastore/lib/models/types.ts +15 -15
  653. package/components/common/wizards/vm/migrate/select/storage/table/disk/Disk.vue +86 -86
  654. package/components/common/wizards/vm/migrate/select/storage/table/disk/lib/config/config.ts +123 -123
  655. package/components/common/wizards/vm/migrate/select/storage/table/disk/lib/config/tableKeys.ts +15 -15
  656. package/components/common/wizards/vm/migrate/select/storage/table/disk/lib/models/interfaces.ts +24 -24
  657. package/components/common/wizards/vm/migrate/select/storage/table/disk/lib/models/types.ts +13 -13
  658. package/components/common/wizards/vm/migrate/select/targetServer/lib/config/tabsPannel.ts +18 -18
  659. package/components/common/wizards/vm/migrate/select/targetServer/lib/models/types.ts +1 -1
  660. package/components/common/wizards/vm/migrate/select/targetServer/new/New.vue +295 -295
  661. package/components/common/wizards/vm/migrate/select/targetServer/new/lib/config/defaultForm.ts +33 -33
  662. package/components/common/wizards/vm/migrate/select/targetServer/saved/Saved.vue +27 -27
  663. package/components/common/wizards/vm/migrate/select/targetServer/targetServer.vue +41 -41
  664. package/components/common/wizards/vm/migrate/select/type/Type.vue +38 -38
  665. package/components/common/wizards/vm/migrate/select/type/lib/config/typeOptions.ts +41 -41
  666. package/components/common/wizards/vm/migrate/select/type/lib/models/interfaces.ts +5 -5
  667. package/components/content/Hint.vue +24 -24
  668. package/components/layout/theHeader/lib/models/enums.ts +9 -9
  669. package/components/layout/theHeader/lib/utils/localization.ts +32 -32
  670. package/components/lib/models/interfaces.ts +14 -14
  671. package/composables/deepCopy.ts +21 -21
  672. package/composables/productNameLocal.ts +22 -22
  673. package/composables/useAppVersion.ts +21 -21
  674. package/composables/useDiff.ts +15 -15
  675. package/composables/useEnvLanguage.ts +20 -20
  676. package/composables/useLocal.ts +44 -44
  677. package/composables/useLocalStorage.ts +45 -45
  678. package/composables/useThrottle.ts +32 -32
  679. package/composables/useUniqueId.ts +5 -5
  680. package/eslint/index.js +15 -15
  681. package/eslint/no-import-type.js +17 -17
  682. package/eslint/no-invalid-type-prefix.js +32 -32
  683. package/layouts/auth.vue +31 -31
  684. package/lib/config/regExp.ts +13 -13
  685. package/lib/models/composables/useAppVersion/interfaces.ts +5 -5
  686. package/lib/models/composables/useMyFetch/interfaces.ts +25 -25
  687. package/lib/models/composables/useMyFetch/types.ts +1 -1
  688. package/lib/models/enums.ts +34 -34
  689. package/lib/models/interfaces.ts +43 -43
  690. package/lib/models/plugins/date/interfaces.ts +5 -5
  691. package/lib/models/plugins/date/types.ts +1 -1
  692. package/lib/models/plugins/validation/interfaces.ts +21 -21
  693. package/lib/models/plugins/validation/types.ts +1 -1
  694. package/lib/models/store/host/interfaces.ts +38 -38
  695. package/lib/models/store/interfaces.ts +41 -41
  696. package/lib/models/store/network/interfaces.ts +13 -13
  697. package/lib/models/store/storage/interfaces.ts +32 -32
  698. package/lib/models/store/tasks/enums.ts +27 -27
  699. package/lib/models/store/tasks/interfaces.ts +115 -115
  700. package/lib/models/store/tasks/types.ts +2 -2
  701. package/lib/models/store/types.ts +43 -43
  702. package/lib/models/store/vm/interfaces.ts +234 -234
  703. package/lib/models/table/interfaces.ts +38 -38
  704. package/lib/models/table/types.ts +1 -1
  705. package/lib/models/types.ts +13 -13
  706. package/lib/utils/base64.ts +34 -34
  707. package/lib/utils/contentBuild.ts +34 -34
  708. package/lib/utils/notification.ts +22 -22
  709. package/lib/utils/sendTask.ts +72 -72
  710. package/minify.js +146 -146
  711. package/modules/fixContentBuild/index.ts +91 -91
  712. package/modules/fixContentBuild/lib/utils/methods.ts +114 -114
  713. package/modules/fixSpiceConsoleBuild/index.ts +28 -28
  714. package/modules/replaceEnv/index.ts +40 -40
  715. package/nuxt.config.ts +8 -8
  716. package/package.json +41 -41
  717. package/plugins/binary.ts +133 -133
  718. package/plugins/date.ts +179 -179
  719. package/plugins/recursion.ts +252 -252
  720. package/plugins/spice-console/spice.console.ts +18 -18
  721. package/plugins/text.ts +48 -48
  722. package/plugins/validation.ts +172 -172
  723. package/public/spice-console/application/WorkerProcess.js +3350 -3350
  724. package/public/spice-console/application/WorkerProcess_back.js +3144 -3144
  725. package/public/spice-console/application/WorkerProcess_meta.js +3103 -3103
  726. package/public/spice-console/application/WorkerProcess_reverse.js +3214 -3214
  727. package/public/spice-console/application/agent.js +175 -175
  728. package/public/spice-console/application/application.js +641 -641
  729. package/public/spice-console/application/checkActivity.js +50 -50
  730. package/public/spice-console/application/clientgui.js +842 -842
  731. package/public/spice-console/application/clipboard/clipboarddataparser.js +92 -92
  732. package/public/spice-console/application/clipboard/local/localClipboard.js +110 -110
  733. package/public/spice-console/application/clipboard.js +82 -82
  734. package/public/spice-console/application/codec.js +257 -257
  735. package/public/spice-console/application/imagecache.js +81 -81
  736. package/public/spice-console/application/inputmanager.js +270 -270
  737. package/public/spice-console/application/packetfactory.js +202 -202
  738. package/public/spice-console/application/packetfilter.js +103 -103
  739. package/public/spice-console/application/packetprocess.js +75 -75
  740. package/public/spice-console/application/rasteroperation.js +118 -118
  741. package/public/spice-console/application/spiceconnection.js +197 -197
  742. package/public/spice-console/application/stream.js +67 -67
  743. package/public/spice-console/application/virtualmouse.js +109 -109
  744. package/public/spice-console/keymaps/keyevent.js +36 -36
  745. package/public/spice-console/keymaps/keymap.js +229 -229
  746. package/public/spice-console/keymaps/keymapes.js +375 -375
  747. package/public/spice-console/keymaps/keymapesObj.js +317 -317
  748. package/public/spice-console/keymaps/keymapus.js +317 -317
  749. package/public/spice-console/keymaps/scanCodeObjModifier.js +65 -65
  750. package/public/spice-console/keymaps/scanCodeObjProvider.js +60 -60
  751. package/public/spice-console/lib/AsyncConsumer.js +204 -204
  752. package/public/spice-console/lib/AsyncWorker.js +60 -60
  753. package/public/spice-console/lib/CollisionDetector.js +27 -27
  754. package/public/spice-console/lib/DataLogger.js +197 -197
  755. package/public/spice-console/lib/GenericObjectPool.js +152 -152
  756. package/public/spice-console/lib/GlobalPool.js +114 -114
  757. package/public/spice-console/lib/ImageUncompressor.js +138 -138
  758. package/public/spice-console/lib/IntegrationBenchmark.js +64 -64
  759. package/public/spice-console/lib/PacketWorkerIdentifier.js +107 -107
  760. package/public/spice-console/lib/SyncAsyncHandler.js +46 -46
  761. package/public/spice-console/lib/base64.js +298 -298
  762. package/public/spice-console/lib/biginteger.js +1640 -1640
  763. package/public/spice-console/lib/bowser.js +276 -276
  764. package/public/spice-console/lib/decoder/dixie.js +7930 -7930
  765. package/public/spice-console/lib/decoder/jmuxer.js +2815 -2815
  766. package/public/spice-console/lib/displayRouter.js +83 -83
  767. package/public/spice-console/lib/encrypt.js +191 -191
  768. package/public/spice-console/lib/flipper.js +39 -39
  769. package/public/spice-console/lib/graphic.js +1230 -1230
  770. package/public/spice-console/lib/graphicdebug.js +223 -223
  771. package/public/spice-console/lib/images/bitmap.js +194 -194
  772. package/public/spice-console/lib/images/jsquic_family.js +83 -83
  773. package/public/spice-console/lib/images/jsquic_rgba.js +342 -342
  774. package/public/spice-console/lib/images/jsquic_uncompress.js +529 -529
  775. package/public/spice-console/lib/images/lz.js +717 -717
  776. package/public/spice-console/lib/images/png.js +275 -275
  777. package/public/spice-console/lib/jgestures.min.js +43 -43
  778. package/public/spice-console/lib/jquery-2.0.3.js +8829 -8829
  779. package/public/spice-console/lib/jquery-mousewheel.js +83 -83
  780. package/public/spice-console/lib/jquery-visibility.min.js +1 -1
  781. package/public/spice-console/lib/jsbn.js +578 -578
  782. package/public/spice-console/lib/jsbn2.js +675 -675
  783. package/public/spice-console/lib/lodash.4.0.0.min.js +136 -136
  784. package/public/spice-console/lib/modernizr.js +39 -39
  785. package/public/spice-console/lib/pixastic.js +3244 -3244
  786. package/public/spice-console/lib/prettyprint.js +794 -794
  787. package/public/spice-console/lib/prng4.js +64 -64
  788. package/public/spice-console/lib/queue.js +259 -259
  789. package/public/spice-console/lib/rasterEngine.js +907 -907
  790. package/public/spice-console/lib/rng.js +87 -87
  791. package/public/spice-console/lib/runqueue.js +103 -103
  792. package/public/spice-console/lib/sha1.js +124 -124
  793. package/public/spice-console/lib/stuckkeyshandler.js +122 -122
  794. package/public/spice-console/lib/timelapsedetector.js +62 -62
  795. package/public/spice-console/lib/utils.js +327 -327
  796. package/public/spice-console/lib/virtualjoystick.js +370 -370
  797. package/public/spice-console/network/busconnection.js +195 -195
  798. package/public/spice-console/network/clusternodechooser.js +49 -49
  799. package/public/spice-console/network/connectioncontrol.js +60 -60
  800. package/public/spice-console/network/packetcontroller.js +62 -62
  801. package/public/spice-console/network/packetextractor.js +73 -73
  802. package/public/spice-console/network/packetlinkfactory.js +64 -64
  803. package/public/spice-console/network/packetreassembler.js +77 -77
  804. package/public/spice-console/network/reassemblerfactory.js +39 -39
  805. package/public/spice-console/network/sizedefiner.js +86 -86
  806. package/public/spice-console/network/socket.js +120 -120
  807. package/public/spice-console/network/socketqueue.js +95 -95
  808. package/public/spice-console/network/spicechannel.js +369 -369
  809. package/public/spice-console/network/websocketwrapper.js +75 -75
  810. package/public/spice-console/process/busprocess.js +309 -309
  811. package/public/spice-console/process/cursorprocess.js +110 -110
  812. package/public/spice-console/process/displaypreprocess.js +152 -152
  813. package/public/spice-console/process/displayprocess.js +210 -210
  814. package/public/spice-console/process/inputprocess.js +203 -203
  815. package/public/spice-console/process/mainprocess.js +78 -78
  816. package/public/spice-console/process/playbackprocess.js +233 -233
  817. package/public/spice-console/run.js +180 -180
  818. package/public/spice-console/spiceobjects/generated/protocol.js +537 -537
  819. package/public/spice-console/spiceobjects/spiceobjects.js +3474 -3474
  820. package/public/spice-console/swcanvas/swcanvas.js +82 -82
  821. package/public/spice-console/tools/generate.php +269 -269
  822. package/public/spice-console/tools/generateKeyboardLayout.php +63 -63
  823. package/public/spice-console/tools/generateSpiceObject.php +81 -81
  824. package/store/main/lib/interfaces.ts +9 -9
  825. package/store/tasks/actions.ts +133 -133
  826. package/store/tasks/getters.ts +25 -25
  827. package/store/tasks/lib/models/interfaces.ts +18 -18
  828. package/store/tasks/mappers/recentTasks.ts +43 -43
  829. package/store/tasks/mappers/tasks.ts +42 -42
  830. package/store/tasks/mutations.ts +58 -58
  831. package/store/tasks/state.ts +16 -16
  832. package/store/tasks/store.ts +12 -12
  833. 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>