bfg-common 1.2.52 → 1.2.53

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