bfg-common 1.3.308 → 1.3.310

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 (810) hide show
  1. package/.eslintrc.js +21 -21
  2. package/.idea/inspectionProfiles/Project_Default.xml +50 -50
  3. package/.idea/modules.xml +7 -7
  4. package/.idea/prettier.xml +5 -5
  5. package/.idea/uikit.iml +11 -11
  6. package/.idea/vcs.xml +5 -5
  7. package/.prettierrc +4 -4
  8. package/PROJECT_STRUCTURE.md +42 -42
  9. package/README.md +42 -42
  10. package/assets/img/icons/icon-hcs.svg +3 -3
  11. package/assets/img/icons/icon-life-m-dark.svg +3 -3
  12. package/assets/img/icons/icon-life-m-light.svg +3 -3
  13. package/assets/img/icons/icon-ro-dark.svg +1 -1
  14. package/assets/img/icons/icon-ro-light.svg +2 -2
  15. package/assets/img/icons/icons-sprite-dark-6.svg +1 -1
  16. package/assets/img/icons/icons-sprite-light-6.svg +1 -1
  17. package/assets/img/icons/info.svg +8 -8
  18. package/assets/img/icons/vc.svg +52 -52
  19. package/assets/img/logo copy.svg +50 -50
  20. package/assets/img/logo.svg +51 -51
  21. package/assets/localization/local_be.json +2361 -2361
  22. package/assets/localization/local_en.json +2365 -2365
  23. package/assets/localization/local_hy.json +2365 -2365
  24. package/assets/localization/local_kk.json +2364 -2364
  25. package/assets/localization/local_ru.json +2370 -2370
  26. package/assets/localization/local_zh.json +2364 -2364
  27. package/assets/scss/clarity/clr-ui.min.css +8 -8
  28. package/assets/scss/common/animations.scss +28 -28
  29. package/assets/scss/common/global.scss +195 -195
  30. package/assets/scss/common/icons/icons-1.scss +236 -236
  31. package/assets/scss/common/icons/icons-2.scss +240 -240
  32. package/assets/scss/common/icons/icons-3.scss +245 -245
  33. package/assets/scss/common/icons/icons-4.scss +266 -266
  34. package/assets/scss/common/icons/icons-5.scss +59 -59
  35. package/assets/scss/common/icons/icons-6.scss +29 -29
  36. package/assets/scss/common/icons/icons.scss +16 -16
  37. package/assets/scss/common/icons/lib-icons.scss +32 -32
  38. package/assets/scss/common/mixins.scss +39 -39
  39. package/assets/scss/common/normalize.scss +329 -329
  40. package/assets/scss/common/theme.scss +238 -238
  41. package/assets/scss/common/utilities.scss +20 -20
  42. package/assets/scss/common/variables.scss +44 -44
  43. package/assets/scss/components/auth.scss +177 -177
  44. package/assets/scss/main.scss +15 -15
  45. package/components/atoms/DiagramIcon.vue +371 -371
  46. package/components/atoms/TheIcon.vue +2444 -2444
  47. package/components/atoms/TheIcon2.vue +1136 -1136
  48. package/components/atoms/alert/Alert.vue +96 -96
  49. package/components/atoms/alert/Notification.vue +171 -171
  50. package/components/atoms/alert/lib/Alert.spec.ts +38 -38
  51. package/components/atoms/alert/lib/Notification.spec.ts +34 -34
  52. package/components/atoms/alert/lib/models/enums.ts +12 -12
  53. package/components/atoms/alert/lib/models/interfaces.ts +27 -27
  54. package/components/atoms/alert/lib/models/types.ts +11 -11
  55. package/components/atoms/autocomplete/Autocomplete.vue +239 -239
  56. package/components/atoms/collapse/CollapseNav.vue +164 -164
  57. package/components/atoms/collapse/CollapseNavItem.vue +194 -194
  58. package/components/atoms/collapse/lib/models/interfaces.ts +10 -10
  59. package/components/atoms/combobox/Combobox.vue +152 -152
  60. package/components/atoms/datepicker/Datepicker.vue +630 -630
  61. package/components/atoms/datepicker/lib/config/allShortMonths.ts +103 -103
  62. package/components/atoms/datepicker/lib/config/datapicker.ts +43 -43
  63. package/components/atoms/datepicker/lib/models/interfaces.ts +9 -9
  64. package/components/atoms/dropdown/Portlet.vue +114 -114
  65. package/components/atoms/dropdown/dropdown/Dropdown.vue +156 -156
  66. package/components/atoms/dropdown/dropdown/lib/models/interfaces.ts +9 -9
  67. package/components/atoms/dropdown/lib/Portlet.spec.ts +26 -26
  68. package/components/atoms/dropdown/tree/Tree.vue +137 -137
  69. package/components/atoms/dropdown/tree/lib/models/interfaces.ts +11 -11
  70. package/components/atoms/input/Search.vue +16 -16
  71. package/components/atoms/lib/models/interfaces.ts +14 -14
  72. package/components/atoms/list/SelectList.vue +63 -63
  73. package/components/atoms/list/SimpleList.vue +29 -29
  74. package/components/atoms/list/dragDropList/DragDropList.vue +139 -139
  75. package/components/atoms/list/dragDropList/lib/config/events.ts +4 -4
  76. package/components/atoms/loader/BarLoader.vue +27 -27
  77. package/components/atoms/loader/Loader.vue +26 -26
  78. package/components/atoms/loader/PreLoader.vue +35 -35
  79. package/components/atoms/loader/lib/Preloader.spec.ts +24 -24
  80. package/components/atoms/modal/Modal.vue +247 -247
  81. package/components/atoms/modal/bySteps/BySteps.vue +252 -252
  82. package/components/atoms/modal/bySteps/lib/BySteps.spec.ts +66 -66
  83. package/components/atoms/modal/byStepsSecond/ByStepsSecond.vue +184 -184
  84. package/components/atoms/modal/lib/Modal.spec.ts +55 -55
  85. package/components/atoms/nav/NavBar.vue +139 -139
  86. package/components/atoms/nav/VerticalNavBar.vue +90 -90
  87. package/components/atoms/nav/lib/NavBar.spec.ts +34 -34
  88. package/components/atoms/nav/lib/models/interfaces.ts +6 -6
  89. package/components/atoms/notificationBar/NotificationBar.vue +178 -178
  90. package/components/atoms/notificationBar/lib/models/enums.ts +13 -13
  91. package/components/atoms/notificationBar/lib/models/interfaces.ts +6 -6
  92. package/components/atoms/notificationBar/lib/models/types.ts +1 -1
  93. package/components/atoms/perPage/PerPage.vue +53 -53
  94. package/components/atoms/popover/Popover.vue +60 -60
  95. package/components/atoms/popup/SimplePopup.vue +91 -91
  96. package/components/atoms/select/TheSelect.vue +177 -177
  97. package/components/atoms/select/lib/models/interfaces.ts +5 -5
  98. package/components/atoms/stack/StackBlock.vue +182 -182
  99. package/components/atoms/stack/StackContent.vue +63 -63
  100. package/components/atoms/step/VerticalStep.vue +105 -105
  101. package/components/atoms/step/lib/VerticalStep.spec.ts +68 -68
  102. package/components/atoms/step/lib/models/verticalStepItem.ts +7 -7
  103. package/components/atoms/table/compact/lib/models/interfaces.ts +10 -10
  104. package/components/atoms/table/dataGrid/DataGrid.vue +1591 -1591
  105. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +216 -216
  106. package/components/atoms/table/dataGrid/DataGridPage.vue +196 -196
  107. package/components/atoms/table/dataGrid/DataGridPagination.vue +89 -89
  108. package/components/atoms/table/dataGrid/lib/DataGrid.spec.ts +61 -61
  109. package/components/atoms/table/dataGrid/lib/config/itemsPerPage.ts +20 -20
  110. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +40 -40
  111. package/components/atoms/table/dataGrid/lib/models/interfaces.ts +36 -36
  112. package/components/atoms/table/dataGrid/lib/models/types.ts +5 -5
  113. package/components/atoms/table/dataGrid/lib/utils/constructDataTable.ts +36 -36
  114. package/components/atoms/table/info/Info.vue +60 -60
  115. package/components/atoms/table/info/lib/models/interfaces.ts +9 -9
  116. package/components/atoms/table/simpleEvent/SimpleEvent.vue +98 -98
  117. package/components/atoms/table/simpleEvent/lib/models/interfaces.ts +9 -9
  118. package/components/atoms/table/simpleInfo/SimpleInfo.vue +73 -73
  119. package/components/atoms/table/simpleInfo/lib/models/interfaces.ts +5 -5
  120. package/components/atoms/table/simpleTable/SimpleTable.vue +300 -300
  121. package/components/atoms/table/simpleTable/lib/models/interfaces.ts +12 -12
  122. package/components/atoms/tabs/Tabs.vue +214 -214
  123. package/components/atoms/tabs/VerticalTabs.vue +88 -88
  124. package/components/atoms/tabs/lib/models/interfaces.ts +5 -5
  125. package/components/atoms/tabs/lib/models/types.ts +1 -1
  126. package/components/atoms/tooltip/Signpost.vue +226 -226
  127. package/components/atoms/tooltip/Text.vue +37 -37
  128. package/components/atoms/tooltip/Tooltip.vue +57 -57
  129. package/components/atoms/tooltip/TooltipError.vue +113 -113
  130. package/components/atoms/tooltip/lib/models/interfaces.ts +4 -4
  131. package/components/atoms/wizard/Wizard.vue +453 -453
  132. package/components/atoms/wizard/lib/models/enums.ts +8 -8
  133. package/components/atoms/wizard/lib/models/interfaces.ts +49 -49
  134. package/components/atoms/wizard/lib/utils/utils.ts +572 -572
  135. package/components/atoms/wizard/step/Step.vue +113 -113
  136. package/components/common/BadBrowser.vue +118 -118
  137. package/components/common/accordion/Accordion.vue +177 -177
  138. package/components/common/accordion/Recursion.vue +218 -218
  139. package/components/common/accordion/lib/models/enums.ts +5 -5
  140. package/components/common/accordion/lib/models/interfaces.ts +16 -16
  141. package/components/common/accordion/lib/models/types.ts +1 -1
  142. package/components/common/accordion/lib/utils/accordion.ts +31 -31
  143. package/components/common/adapterManager/AdapterManager.vue +828 -828
  144. package/components/common/adapterManager/AddAdapterModal.vue +561 -561
  145. package/components/common/adapterManager/AddAdapterWarningModal.vue +82 -83
  146. package/components/common/adapterManager/NoActiveAdaptersModal.vue +61 -62
  147. package/components/common/adapterManager/NoConnectedActiveAdaptersModal.vue +61 -62
  148. package/components/common/adapterManager/lib/config/index.ts +19 -19
  149. package/components/common/adapterManager/ui/NoSelectedAdapter.vue +39 -39
  150. package/components/common/adapterManager/ui/SecondTitle.vue +37 -37
  151. package/components/common/adapterManager/ui/actions/ActionsBar.vue +95 -95
  152. package/components/common/adapterManager/ui/actions/AddAdapterButton.vue +30 -30
  153. package/components/common/adapterManager/ui/actions/MoveDownAdapterButton.vue +35 -35
  154. package/components/common/adapterManager/ui/actions/MoveUpAdapterButton.vue +35 -35
  155. package/components/common/adapterManager/ui/actions/RemoveAdapterButton.vue +37 -37
  156. package/components/common/adapterManager/ui/actions/VerticalSeparator.vue +10 -10
  157. package/components/common/adapterManager/ui/table/Adapters.vue +92 -92
  158. package/components/common/adapterManager/ui/table/lib/models/types.ts +1 -1
  159. package/components/common/browse/Browse.vue +186 -186
  160. package/components/common/browse/blocks/Container.vue +105 -105
  161. package/components/common/browse/blocks/Title.vue +66 -66
  162. package/components/common/browse/blocks/contents/Files.vue +72 -72
  163. package/components/common/browse/blocks/info/Date.vue +21 -21
  164. package/components/common/browse/blocks/info/Size.vue +17 -17
  165. package/components/common/browse/blocks/info/Text.vue +16 -16
  166. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  167. package/components/common/browse/lib/models/interfaces.ts +5 -5
  168. package/components/common/context/ContextRecursion.vue +256 -256
  169. package/components/common/context/lib/Context.spec.ts +20 -20
  170. package/components/common/context/lib/ContextRecursion.spec.ts +55 -55
  171. package/components/common/context/lib/models/interfaces.ts +27 -27
  172. package/components/common/details/DetailsItem.vue +109 -109
  173. package/components/common/details/DetailsList.vue +23 -23
  174. package/components/common/details/lib/models/interfaces.ts +9 -9
  175. package/components/common/diagramMain/Diagram.vue +242 -241
  176. package/components/common/diagramMain/DiagramMain.vue +999 -999
  177. package/components/common/diagramMain/Header.vue +211 -211
  178. package/components/common/diagramMain/Highlights.vue +124 -124
  179. package/components/common/diagramMain/adapter/Adapter.vue +123 -119
  180. package/components/common/diagramMain/adapter/AdapterItem.vue +287 -274
  181. package/components/common/diagramMain/adapter/AdapterItems.vue +61 -58
  182. package/components/common/diagramMain/adapter/Block.vue +48 -48
  183. package/components/common/diagramMain/adapter/Contents.vue +133 -133
  184. package/components/common/diagramMain/adapter/Lines.vue +58 -58
  185. package/components/common/diagramMain/adapter/SecondBlock.vue +49 -49
  186. package/components/common/diagramMain/lib/config/index.ts +70 -70
  187. package/components/common/diagramMain/lib/config/initial.ts +50 -50
  188. package/components/common/diagramMain/lib/models/enums.ts +44 -44
  189. package/components/common/diagramMain/lib/models/interfaces.ts +725 -725
  190. package/components/common/diagramMain/lib/models/types.ts +16 -16
  191. package/components/common/diagramMain/lib/utils/utils.ts +278 -278
  192. package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +330 -330
  193. package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +40 -41
  194. package/components/common/diagramMain/modals/editSettings/EditSettings.vue +507 -493
  195. package/components/common/diagramMain/modals/editSettings/EditSettingsModal.vue +812 -812
  196. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +214 -214
  197. package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +189 -189
  198. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +163 -163
  199. package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +175 -175
  200. package/components/common/diagramMain/modals/editSettings/tabs/TrafficShaping.vue +398 -398
  201. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +346 -346
  202. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +205 -205
  203. package/components/common/diagramMain/modals/lib/config/adapterModal.ts +126 -126
  204. package/components/common/diagramMain/modals/lib/config/diagramConfig.ts +23 -23
  205. package/components/common/diagramMain/modals/lib/config/index.ts +49 -49
  206. package/components/common/diagramMain/modals/lib/config/initial.ts +180 -180
  207. package/components/common/diagramMain/modals/lib/config/networkModal.ts +331 -331
  208. package/components/common/diagramMain/modals/lib/config/portModal.ts +214 -214
  209. package/components/common/diagramMain/modals/lib/config/switchModal.ts +224 -224
  210. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +34 -34
  211. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
  212. package/components/common/diagramMain/modals/lib/mappers/mappers.ts +87 -87
  213. package/components/common/diagramMain/modals/lib/utils/index.ts +24 -24
  214. package/components/common/diagramMain/modals/migrateVmkernelAdapter/MigrateVmkernelAdapter.vue +541 -541
  215. package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
  216. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +169 -169
  217. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +159 -159
  218. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/VmkernelAdapterReadyComplete.vue +49 -49
  219. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +14 -14
  220. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +137 -137
  221. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
  222. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
  223. package/components/common/diagramMain/modals/remove/RemoveModal.vue +234 -234
  224. package/components/common/diagramMain/modals/viewSettings/Info.vue +123 -123
  225. package/components/common/diagramMain/modals/viewSettings/ViewSettings.vue +190 -190
  226. package/components/common/diagramMain/modals/viewSettings/ViewSettingsModal.vue +93 -93
  227. package/components/common/diagramMain/network/Block.vue +64 -64
  228. package/components/common/diagramMain/network/Contents.vue +346 -346
  229. package/components/common/diagramMain/network/Lines.vue +76 -76
  230. package/components/common/diagramMain/network/Network.vue +133 -133
  231. package/components/common/diagramMain/network/NoNetwork.vue +53 -53
  232. package/components/common/diagramMain/network/SecondBlock.vue +60 -60
  233. package/components/common/diagramMain/port/Port.vue +405 -405
  234. package/components/common/diagramMain/port/Ports.vue +47 -47
  235. package/components/common/diagramMain/switch/Switch.vue +82 -82
  236. package/components/common/diagramMain/switch/SwitchSelected.vue +35 -35
  237. package/components/common/feedback/Buttons.vue +229 -229
  238. package/components/common/feedback/Feedback.vue +268 -268
  239. package/components/common/feedback/Message.vue +518 -518
  240. package/components/common/feedback/VisitPortal.vue +62 -62
  241. package/components/common/feedback/lib/config/drawingPanel.ts +31 -31
  242. package/components/common/feedback/lib/config/feedbackTabs.ts +26 -26
  243. package/components/common/feedback/lib/models/interfaces.ts +20 -20
  244. package/components/common/feedback/lib/models/types.ts +1 -1
  245. package/components/common/graph/Graph.vue +109 -109
  246. package/components/common/graph/lib/utils/renderGraph.ts +389 -389
  247. package/components/common/headline/Headline.vue +32 -32
  248. package/components/common/help/navbar/left/Left.vue +165 -165
  249. package/components/common/help/navbar/left/lib/models/interfaces.ts +6 -6
  250. package/components/common/help/navbar/left/lib/utils/constructAccordion.ts +27 -27
  251. package/components/common/help/navbar/right/Right.vue +149 -149
  252. package/components/common/help/navbar/right/lib/models/interfaces.ts +5 -5
  253. package/components/common/home/Card.vue +63 -63
  254. package/components/common/home/ResourceBlock.vue +117 -117
  255. package/components/common/home/StatusContent.vue +47 -47
  256. package/components/common/home/alertsTable/AlertsTable.vue +107 -107
  257. package/components/common/home/alertsTable/lib/config/config.ts +61 -61
  258. package/components/common/home/alertsTable/lib/models/enums.ts +11 -11
  259. package/components/common/home/alertsTable/lib/models/interfaces.ts +19 -19
  260. package/components/common/home/alertsTable/lib/models/types.ts +18 -18
  261. package/components/common/home/lib/config/configResourceMeterBlock.ts +25 -25
  262. package/components/common/home/lib/models/interfaces.ts +59 -59
  263. package/components/common/home/lib/models/types.ts +18 -18
  264. package/components/common/home/servicesTable/ServicesTable.vue +80 -80
  265. package/components/common/home/servicesTable/lib/config/config.ts +62 -62
  266. package/components/common/lib/config/states.ts +111 -111
  267. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +363 -363
  268. package/components/common/mainNavigationPanel/lib/models/interfaces.ts +7 -7
  269. package/components/common/mainNavigationPanel/lib/models/types.ts +1 -1
  270. package/components/common/modals/Confirmation.vue +107 -107
  271. package/components/common/modals/Rename.vue +166 -166
  272. package/components/common/modals/lib/config/defaultForm.ts +18 -18
  273. package/components/common/modals/lib/config/renameLabelWidth.ts +3 -3
  274. package/components/common/modals/lib/models/interfaces.ts +5 -5
  275. package/components/common/monitor/advanced/Advanced.vue +243 -243
  276. package/components/common/monitor/advanced/GraphView.vue +180 -180
  277. package/components/common/monitor/advanced/lib/models/interfaces.ts +9 -9
  278. package/components/common/monitor/advanced/lib/models/types.ts +1 -1
  279. package/components/common/monitor/advanced/table/Table.vue +91 -91
  280. package/components/common/monitor/advanced/table/lib/config/performanceDatatable.ts +129 -129
  281. package/components/common/monitor/advanced/table/lib/models/interfaces.ts +12 -12
  282. package/components/common/monitor/advanced/table/lib/models/types.ts +10 -10
  283. package/components/common/monitor/advanced/tools/Tools.vue +445 -445
  284. package/components/common/monitor/advanced/tools/chartOptionsModal/ChartOptionsModal.vue +504 -504
  285. package/components/common/monitor/advanced/tools/chartOptionsModal/Notification.vue +34 -34
  286. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/Actions.vue +156 -156
  287. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/lib/utils/optionsActions.ts +25 -25
  288. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/saveOptionsModal/SaveOptionsModal.vue +81 -81
  289. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/Counters.vue +105 -105
  290. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/Table.vue +144 -144
  291. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/tableConfig.ts +89 -89
  292. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/utils.ts +788 -788
  293. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/models/interfaces.ts +29 -29
  294. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/models/types.ts +5 -5
  295. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/Timespan.vue +93 -93
  296. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/Form.vue +514 -514
  297. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/lib/config/dateForm.ts +59 -59
  298. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/Object.vue +221 -221
  299. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/lib/config/objectTable.ts +57 -57
  300. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/lib/models/interfaces.ts +4 -4
  301. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/lib/models/types.ts +1 -1
  302. package/components/common/monitor/advanced/tools/chartOptionsModal/lib/models/interfaces.ts +19 -19
  303. package/components/common/monitor/advanced/tools/chartOptionsModal/lib/models/types.ts +3 -3
  304. package/components/common/monitor/advanced/tools/chartOptionsModal/lib/utils/checkSubmit.ts +12 -12
  305. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/Metrics.vue +42 -42
  306. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/lib/config/optionsMetrics.ts +173 -173
  307. package/components/common/monitor/advanced/tools/lib/config/advancedToolbar.ts +130 -130
  308. package/components/common/monitor/advanced/tools/lib/models/interfaces.ts +4 -4
  309. package/components/common/monitor/advanced/tools/lib/utils/countCores.ts +7 -7
  310. package/components/common/monitor/lib/config/getValidDateByOption.ts +76 -76
  311. package/components/common/monitor/lib/models/interfaces.ts +23 -23
  312. package/components/common/monitor/overview/Overview.vue +228 -228
  313. package/components/common/monitor/overview/filters/Filters.vue +228 -228
  314. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +245 -245
  315. package/components/common/monitor/overview/filters/customIntervalModal/lib/config/dateChecker.ts +52 -52
  316. package/components/common/monitor/overview/filters/lib/config/filterOptions.ts +83 -83
  317. package/components/common/monitor/overview/filters/lib/models/interfaces.ts +9 -9
  318. package/components/common/monitor/overview/filters/lib/models/types.ts +13 -13
  319. package/components/common/pages/Tasks.vue +120 -120
  320. package/components/common/perPage/PerPage.vue +52 -52
  321. package/components/common/recursionTree/RecursionTree.vue +205 -205
  322. package/components/common/recursionTree/lib/models/interfaces.ts +22 -22
  323. package/components/common/resource/lib/models/interfaces.ts +9 -9
  324. package/components/common/resource/lib/models/types.ts +1 -1
  325. package/components/common/resource/lib/utils.ts +44 -44
  326. package/components/common/resource/simple/Simple.vue +58 -58
  327. package/components/common/resource/simple/lib/models/enums.ts +6 -6
  328. package/components/common/select/button/ButtonDropdown.vue +102 -102
  329. package/components/common/select/button/lib/models/interfaces.ts +7 -7
  330. package/components/common/select/input/Input.vue +91 -91
  331. package/components/common/select/input/lib/models/interfaces.ts +5 -5
  332. package/components/common/select/radio/RadioGroup.vue +127 -127
  333. package/components/common/select/radio/lib/models/interfaces.ts +9 -9
  334. package/components/common/shortcuts/Block.vue +86 -86
  335. package/components/common/shortcuts/Category.vue +41 -41
  336. package/components/common/shortcuts/Shortcuts.vue +44 -44
  337. package/components/common/shortcuts/lib/models/interfaces.ts +11 -11
  338. package/components/common/spiceConsole/Drawer.vue +245 -245
  339. package/components/common/spiceConsole/SpiceConsole.vue +83 -83
  340. package/components/common/spiceConsole/keyboard/Keyboard.vue +403 -403
  341. package/components/common/spiceConsole/keyboard/lib/config/keyboardRows.ts +966 -966
  342. package/components/common/spiceConsole/keyboard/lib/models/interfaces.ts +18 -18
  343. package/components/common/spiceConsole/lib/models/types.ts +1 -1
  344. package/components/common/split/horizontal/Horizontal.vue +307 -307
  345. package/components/common/split/horizontal/lib/models/interfaces.ts +5 -5
  346. package/components/common/split/vertical/Vertical.vue +213 -213
  347. package/components/common/split/vertical/lib/models/interfaces.ts +3 -3
  348. package/components/common/tools/Actions.vue +169 -169
  349. package/components/common/tools/lib/models/interfaces.ts +7 -7
  350. package/components/common/tools/viewSettings/ViewSettings.vue +86 -86
  351. package/components/common/tools/viewSettings/lib/models/interfaces.ts +9 -9
  352. package/components/common/vm/actions/add/FolderTreeView.vue +83 -83
  353. package/components/common/vm/actions/add/lib/config/steps.ts +145 -145
  354. package/components/common/vm/actions/add/lib/utils.ts +103 -103
  355. package/components/common/vm/actions/clone/CloneOld.vue +547 -547
  356. package/components/common/vm/actions/clone/lib/config/steps.ts +74 -74
  357. package/components/common/vm/actions/clone/lib/models/interfaces.ts +7 -7
  358. package/components/common/vm/actions/clone/lib/utils.ts +43 -43
  359. package/components/common/vm/actions/clone/select/options/Options.vue +71 -71
  360. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +270 -270
  361. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +267 -267
  362. package/components/common/vm/actions/common/customizeHardware/lib/config/navItems.ts +19 -19
  363. package/components/common/vm/actions/common/customizeHardware/lib/models/interfaces.ts +7 -7
  364. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +694 -694
  365. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +203 -203
  366. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/lib/models/interfaces.ts +8 -8
  367. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +134 -134
  368. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/lib/config/options.ts +20 -20
  369. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +254 -252
  370. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/lib/config/fileTypes.ts +9 -9
  371. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/lib/config/options.ts +11 -11
  372. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/lib/models/types.ts +1 -1
  373. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +57 -57
  374. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CoresPerSocket.vue +110 -110
  375. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +395 -395
  376. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuHotPlug.vue +50 -50
  377. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuModel.vue +225 -225
  378. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Hv.vue +95 -95
  379. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Iommu.vue +55 -55
  380. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/MaxCpu.vue +106 -106
  381. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Pc.vue +55 -55
  382. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Sa.vue +106 -106
  383. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/lib/config/cpuOptions.ts +21 -21
  384. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +160 -160
  385. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  386. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/tooltip/Tooltip.vue +59 -59
  387. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/config/binaryOptions.ts +12 -12
  388. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/config/dropdownItems.ts +66 -66
  389. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces.ts +118 -118
  390. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/types.ts +4 -4
  391. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +236 -236
  392. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/lib/config/options.ts +28 -28
  393. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +318 -318
  394. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryHotPlug.vue +54 -54
  395. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/lib/config/memoryOptions.ts +35 -35
  396. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/DiskFile.vue +24 -24
  397. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/Location.vue +173 -173
  398. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/MaximumSize.vue +27 -27
  399. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +453 -453
  400. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/cache/Cache.vue +81 -81
  401. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/cache/lib/config/options.ts +7 -7
  402. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/limitIops/LimitIops.vue +153 -153
  403. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/limitIops/lib/config/options.ts +28 -28
  404. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/Mode.vue +88 -88
  405. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/lib/config/options.ts +18 -18
  406. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/Provisioning.vue +88 -88
  407. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/lib/config/options.ts +15 -15
  408. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/Sharing.vue +86 -86
  409. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/lib/config/options.ts +12 -12
  410. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/Location.vue +145 -145
  411. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +295 -295
  412. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/adapterType/AdapterType.vue +87 -87
  413. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/adapterType/lib/config/options.ts +9 -9
  414. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +148 -148
  415. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/lib/config/options.ts +11 -11
  416. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIo.vue +48 -48
  417. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +49 -49
  418. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/lib/config/options.ts +10 -10
  419. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/lib/config/options.ts +7 -7
  420. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +27 -27
  421. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +42 -42
  422. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelection.vue +57 -57
  423. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +78 -78
  424. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/lib/config/options.ts +6 -6
  425. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/InputDevices.vue +21 -21
  426. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +27 -27
  427. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/Reservation.vue +238 -238
  428. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/lib/config/options.ts +33 -33
  429. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/Graphics.vue +50 -50
  430. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/TotalVideoMemory.vue +121 -121
  431. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +178 -178
  432. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/lib/config/options.ts +11 -11
  433. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/Model.vue +58 -58
  434. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/lib/config/options.ts +10 -10
  435. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +83 -83
  436. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/lib/config/options.ts +14 -14
  437. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +181 -181
  438. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptions.vue +110 -110
  439. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/Menu.vue +50 -50
  440. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/Secure.vue +50 -50
  441. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +54 -54
  442. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/lib/config/config.ts +14 -14
  443. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +84 -84
  444. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/lib/config/config.ts +11 -11
  445. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +201 -201
  446. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/lib/models/interfaces.ts +9 -9
  447. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +184 -184
  448. package/components/common/vm/actions/common/customizeHardware/vmoptions/lib/models/interfaces.ts +34 -34
  449. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/CopyPaste.vue +52 -52
  450. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/FileTransfer.vue +52 -52
  451. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/FolderSharing.vue +51 -51
  452. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/PlaybackCompression.vue +52 -52
  453. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/PowerControl.vue +50 -50
  454. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +253 -253
  455. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/ImgCompression.vue +85 -85
  456. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/lib/config/config.ts +14 -14
  457. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/JpegCompression.vue +85 -85
  458. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/lib/config/config.ts +12 -12
  459. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +56 -56
  460. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/lib/config/config.ts +6 -6
  461. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/MouseMode.vue +57 -57
  462. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/lib/config/config.ts +11 -11
  463. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +142 -142
  464. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/lib/models/interfaces.ts +5 -5
  465. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/lib/utils.ts +12 -12
  466. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/SharePolicy.vue +56 -56
  467. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/lib/config/config.ts +11 -11
  468. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/StreamingMode.vue +85 -85
  469. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/lib/config/config.ts +12 -12
  470. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/type/Type.vue +85 -85
  471. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/type/lib/config/config.ts +7 -7
  472. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +57 -57
  473. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/lib/config/config.ts +14 -14
  474. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/ZlibCompression.vue +85 -85
  475. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/lib/config/config.ts +12 -12
  476. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/Tools.vue +68 -68
  477. package/components/common/vm/actions/common/lib/config/capabilities.ts +339 -339
  478. package/components/common/vm/actions/common/lib/models/enums.ts +123 -123
  479. package/components/common/vm/actions/common/lib/models/interfaces.ts +139 -139
  480. package/components/common/vm/actions/common/lib/models/types.ts +65 -65
  481. package/components/common/vm/actions/common/readyToComplete/ReadyToComplete.vue +15 -15
  482. package/components/common/vm/actions/common/select/compatibility/Compatibility.vue +155 -155
  483. package/components/common/vm/actions/common/select/computeResource/TreeView.vue +126 -126
  484. package/components/common/vm/actions/common/select/computeResource/lib/ComputeResource.spec.ts +479 -479
  485. package/components/common/vm/actions/common/select/createType/CreateType.vue +61 -61
  486. package/components/common/vm/actions/common/select/createType/lib/config/items.ts +26 -26
  487. package/components/common/vm/actions/common/select/lib/models/interfaces.ts +32 -32
  488. package/components/common/vm/actions/common/select/lib/models/types.ts +27 -27
  489. package/components/common/vm/actions/common/select/name/NameOld.vue +215 -215
  490. package/components/common/vm/actions/common/select/os/os.vue +227 -227
  491. package/components/common/vm/actions/common/select/storage/Storage.vue +190 -190
  492. package/components/common/vm/actions/common/select/storage/StorageOld.vue +193 -193
  493. package/components/common/vm/actions/common/select/storage/lib/config/config.ts +191 -191
  494. package/components/common/vm/actions/common/select/storage/lib/models/types.ts +15 -15
  495. package/components/common/vm/actions/confirm/Confirm.vue +39 -39
  496. package/components/common/vm/actions/editSettings/lib/models/types.ts +23 -23
  497. package/components/common/vm/actions/editSettings/lib/utils.ts +45 -45
  498. package/components/common/vm/actions/lib/models/interfaces.ts +6 -6
  499. package/components/common/vm/actions/lib/models/types.ts +11 -11
  500. package/components/common/vm/actions/lib/utils.ts +246 -246
  501. package/components/common/vm/lib/models/interfaces.ts +9 -9
  502. package/components/common/vm/lib/utils/powerActions.ts +55 -55
  503. package/components/common/weekSelect/WeekSelect.vue +143 -143
  504. package/components/common/weekSelect/lib/models/interfaces.ts +6 -6
  505. package/components/common/wizards/datastore/add/Add.vue +389 -389
  506. package/components/common/wizards/datastore/add/lib/config/stepItems.ts +160 -160
  507. package/components/common/wizards/datastore/add/lib/models/interfaces.ts +35 -35
  508. package/components/common/wizards/datastore/add/lib/models/types.ts +14 -14
  509. package/components/common/wizards/datastore/add/lib/utils.ts +67 -67
  510. package/components/common/wizards/datastore/add/local/Local.vue +71 -71
  511. package/components/common/wizards/datastore/add/local/createName/CreateName.vue +160 -160
  512. package/components/common/wizards/datastore/add/local/createName/lib/config/defaultForm.ts +15 -15
  513. package/components/common/wizards/datastore/add/nfs/Nfs.vue +94 -94
  514. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +98 -98
  515. package/components/common/wizards/datastore/add/nfs/accessibility/lib/config/tabsPannel.ts +24 -24
  516. package/components/common/wizards/datastore/add/nfs/accessibility/lib/models/interfaces.ts +9 -9
  517. package/components/common/wizards/datastore/add/nfs/accessibility/lib/models/types.ts +5 -5
  518. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/TablesView.vue +142 -142
  519. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/compatibleTable.ts +54 -54
  520. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/hostsTableItems.ts +75 -75
  521. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/incompatibleTable.ts +68 -68
  522. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/tableKeys.ts +15 -15
  523. package/components/common/wizards/datastore/add/nfs/configuration/Configuration.vue +385 -385
  524. package/components/common/wizards/datastore/add/nfs/configuration/lib/config/defaultForm.ts +33 -33
  525. package/components/common/wizards/datastore/add/nfs/configuration/lib/models/interfaces.ts +12 -12
  526. package/components/common/wizards/datastore/add/nfs/configuration/serversList/DeletePopover.vue +100 -100
  527. package/components/common/wizards/datastore/add/nfs/configuration/serversList/ServersList.vue +124 -124
  528. package/components/common/wizards/datastore/add/nfs/configuration/serversList/lib/config/serversListConfig.ts +41 -41
  529. package/components/common/wizards/datastore/add/nfs/configuration/serversList/lib/config/tableKeys.ts +3 -3
  530. package/components/common/wizards/datastore/add/nfs/configuration/serversList/lib/models/interfaces.ts +11 -11
  531. package/components/common/wizards/datastore/add/nfs/configuration/serversList/lib/models/types.ts +1 -1
  532. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/KerberosAuthentication.vue +55 -55
  533. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/lib/config/radioOptions.ts +27 -27
  534. package/components/common/wizards/datastore/add/nfs/version/Version.vue +42 -42
  535. package/components/common/wizards/datastore/add/nfs/version/lib/config/versionOptions.ts +20 -20
  536. package/components/common/wizards/datastore/add/readyComplete/ReadyComplete.vue +78 -78
  537. package/components/common/wizards/datastore/add/readyComplete/lib/config/propertiesDetails.ts +165 -165
  538. package/components/common/wizards/datastore/add/readyComplete/lib/models/interfaces.ts +4 -4
  539. package/components/common/wizards/datastore/add/sharedStorm/SharedStorm.vue +89 -89
  540. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/DeviceSelection.vue +452 -452
  541. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/HostTable.vue +144 -144
  542. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/lib/config/hostsTable.ts +87 -87
  543. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/lib/config/tableKeys.ts +11 -11
  544. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/config/defaultForm.ts +18 -18
  545. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/config/selectOptions.ts +14 -14
  546. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/models/interfaces.ts +55 -55
  547. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/models/types.ts +14 -14
  548. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/PartitionConfiguration.vue +232 -232
  549. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/graphicTooltip/graphicTooltip.vue +64 -64
  550. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/lib/config/selectOptions.ts +46 -46
  551. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/sizeGraphic/sizeGraphic.vue +225 -225
  552. package/components/common/wizards/datastore/add/sharedStorm/version/Version.vue +39 -39
  553. package/components/common/wizards/datastore/add/sharedStorm/version/lib/config/versionOptions.ts +21 -21
  554. package/components/common/wizards/datastore/add/types/Types.vue +78 -78
  555. package/components/common/wizards/datastore/add/types/lib/config/typeOptions.ts +42 -42
  556. package/components/common/wizards/network/add/Add.vue +1019 -1019
  557. package/components/common/wizards/network/add/lib/config/index.ts +35 -35
  558. package/components/common/wizards/network/add/lib/config/initialData.ts +63 -63
  559. package/components/common/wizards/network/add/lib/config/portPropertiesStep.ts +43 -43
  560. package/components/common/wizards/network/add/lib/config/selectSwitch.ts +19 -19
  561. package/components/common/wizards/network/add/lib/config/sendData.ts +141 -141
  562. package/components/common/wizards/network/add/lib/config/steps.ts +456 -456
  563. package/components/common/wizards/network/add/lib/models/enums.ts +17 -17
  564. package/components/common/wizards/network/add/lib/models/interfaces.ts +249 -249
  565. package/components/common/wizards/network/add/lib/models/types.ts +14 -14
  566. package/components/common/wizards/network/add/lib/utils/index.ts +4 -4
  567. package/components/common/wizards/network/add/mappers/mappers.ts +192 -192
  568. package/components/common/wizards/network/add/modals/SelectNetwork.vue +173 -173
  569. package/components/common/wizards/network/add/modals/SelectStandardSwitch.vue +138 -138
  570. package/components/common/wizards/network/add/modals/SelectSwitch.vue +131 -131
  571. package/components/common/wizards/network/add/steps/ConnectionSettings.vue +154 -154
  572. package/components/common/wizards/network/add/steps/CreateStandardSwitch.vue +91 -91
  573. package/components/common/wizards/network/add/steps/IpFourSettings.vue +305 -305
  574. package/components/common/wizards/network/add/steps/PhysicalAdapter.vue +13 -13
  575. package/components/common/wizards/network/add/steps/PortProperties.vue +407 -407
  576. package/components/common/wizards/network/add/steps/ReadyComplete.vue +20 -20
  577. package/components/common/wizards/network/add/steps/SelectConnectionType.vue +99 -99
  578. package/components/common/wizards/network/add/steps/SelectedTargetDevice.vue +474 -474
  579. package/components/common/wizards/network/add/validations/common.ts +26 -26
  580. package/components/common/wizards/network/add/validations/connectionSettings.ts +70 -70
  581. package/components/common/wizards/network/add/validations/createStandardSwitch.ts +58 -58
  582. package/components/common/wizards/network/add/validations/ipFourSettings.ts +182 -182
  583. package/components/common/wizards/network/add/validations/networkValidation.ts +77 -77
  584. package/components/common/wizards/network/add/validations/physicalAdapter.ts +70 -70
  585. package/components/common/wizards/network/add/validations/portProperties.ts +83 -83
  586. package/components/common/wizards/network/add/validations/targetDevice.ts +109 -109
  587. package/components/common/wizards/network/add/validations/validations.ts +43 -43
  588. package/components/common/wizards/vm/common/computeResource/TreeView.vue +61 -61
  589. package/components/common/wizards/vm/common/readyComplete/ReadyComplete.vue +15 -15
  590. package/components/common/wizards/vm/common/tooltip/Tooltip.vue +84 -84
  591. package/components/common/wizards/vm/common/validation/compatibility/Compatibility.vue +62 -62
  592. package/components/common/wizards/vm/common/validation/lib/models/enums.ts +5 -5
  593. package/components/common/wizards/vm/migrate/Migrate.vue +278 -278
  594. package/components/common/wizards/vm/migrate/contentHeading/ContentHeading.vue +106 -106
  595. package/components/common/wizards/vm/migrate/contentHeading/lib/models/interfaces.ts +7 -7
  596. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +100 -100
  597. package/components/common/wizards/vm/migrate/lib/models/enums.ts +6 -6
  598. package/components/common/wizards/vm/migrate/lib/models/interfaces.ts +28 -28
  599. package/components/common/wizards/vm/migrate/lib/models/types.ts +5 -5
  600. package/components/common/wizards/vm/migrate/lib/utils.ts +80 -80
  601. package/components/common/wizards/vm/migrate/select/computeResource/ComputeResource.vue +219 -219
  602. package/components/common/wizards/vm/migrate/select/computeResource/lib/config/tabsPannel.ts +28 -28
  603. package/components/common/wizards/vm/migrate/select/computeResource/lib/models/enums.ts +6 -6
  604. package/components/common/wizards/vm/migrate/select/computeResource/lib/models/interfaces.ts +30 -30
  605. package/components/common/wizards/vm/migrate/select/computeResource/lib/models/types.ts +12 -12
  606. package/components/common/wizards/vm/migrate/select/computeResource/tableView/TableView.vue +143 -143
  607. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/clusterTable.ts +113 -113
  608. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/hostTable.ts +124 -124
  609. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/resourcePoolTable.ts +115 -115
  610. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/tableKeys.ts +65 -65
  611. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/vappsTable.ts +66 -66
  612. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/models/interfaces.ts +50 -50
  613. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/models/types.ts +60 -60
  614. package/components/common/wizards/vm/migrate/select/network/Network.vue +125 -125
  615. package/components/common/wizards/vm/migrate/select/network/table/network/Network.vue +114 -114
  616. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +78 -78
  617. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/basicTable.ts +70 -70
  618. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/tableKeys.ts +13 -13
  619. package/components/common/wizards/vm/migrate/select/network/table/network/lib/models/interfaces.ts +12 -12
  620. package/components/common/wizards/vm/migrate/select/network/table/network/lib/models/types.ts +21 -21
  621. package/components/common/wizards/vm/migrate/select/network/table/useAt/UseAt.vue +54 -54
  622. package/components/common/wizards/vm/migrate/select/network/table/useAt/lib/config/tableKeys.ts +7 -7
  623. package/components/common/wizards/vm/migrate/select/network/table/useAt/lib/config/useAtTable.ts +47 -47
  624. package/components/common/wizards/vm/migrate/select/network/table/useAt/lib/models/interfaces.ts +1 -1
  625. package/components/common/wizards/vm/migrate/select/network/table/useAt/lib/models/types.ts +5 -5
  626. package/components/common/wizards/vm/migrate/select/priority/Priority.vue +39 -39
  627. package/components/common/wizards/vm/migrate/select/priority/lib/config/typeOptions.ts +21 -21
  628. package/components/common/wizards/vm/migrate/select/priority/lib/models/types.ts +1 -1
  629. package/components/common/wizards/vm/migrate/select/storage/Storage.vue +206 -206
  630. package/components/common/wizards/vm/migrate/select/storage/configure/batch/Batch.vue +76 -76
  631. package/components/common/wizards/vm/migrate/select/storage/configure/disk/Disk.vue +87 -87
  632. package/components/common/wizards/vm/migrate/select/storage/diskFormat/DiskFormat.vue +69 -69
  633. package/components/common/wizards/vm/migrate/select/storage/diskFormat/lib/config/formatOptions.ts +26 -26
  634. package/components/common/wizards/vm/migrate/select/storage/lib/config/tabsPannel.ts +18 -18
  635. package/components/common/wizards/vm/migrate/select/storage/lib/models/enums.ts +6 -6
  636. package/components/common/wizards/vm/migrate/select/storage/lib/models/interfaces.ts +14 -14
  637. package/components/common/wizards/vm/migrate/select/storage/lib/models/types.ts +9 -9
  638. package/components/common/wizards/vm/migrate/select/storage/policy/Policy.vue +84 -84
  639. package/components/common/wizards/vm/migrate/select/storage/selectedPerDisk/SelectedPerDisk.vue +88 -88
  640. package/components/common/wizards/vm/migrate/select/storage/table/datastore/Datastore.vue +114 -114
  641. package/components/common/wizards/vm/migrate/select/storage/table/datastore/lib/config/config.ts +179 -179
  642. package/components/common/wizards/vm/migrate/select/storage/table/datastore/lib/models/types.ts +15 -15
  643. package/components/common/wizards/vm/migrate/select/storage/table/disk/Disk.vue +86 -86
  644. package/components/common/wizards/vm/migrate/select/storage/table/disk/lib/config/config.ts +123 -123
  645. package/components/common/wizards/vm/migrate/select/storage/table/disk/lib/config/tableKeys.ts +15 -15
  646. package/components/common/wizards/vm/migrate/select/storage/table/disk/lib/models/interfaces.ts +24 -24
  647. package/components/common/wizards/vm/migrate/select/storage/table/disk/lib/models/types.ts +13 -13
  648. package/components/common/wizards/vm/migrate/select/targetServer/lib/config/tabsPannel.ts +18 -18
  649. package/components/common/wizards/vm/migrate/select/targetServer/lib/models/types.ts +1 -1
  650. package/components/common/wizards/vm/migrate/select/targetServer/new/New.vue +295 -295
  651. package/components/common/wizards/vm/migrate/select/targetServer/new/lib/config/defaultForm.ts +33 -33
  652. package/components/common/wizards/vm/migrate/select/targetServer/saved/Saved.vue +27 -27
  653. package/components/common/wizards/vm/migrate/select/targetServer/targetServer.vue +41 -41
  654. package/components/common/wizards/vm/migrate/select/type/Type.vue +38 -38
  655. package/components/common/wizards/vm/migrate/select/type/lib/config/typeOptions.ts +41 -41
  656. package/components/common/wizards/vm/migrate/select/type/lib/models/interfaces.ts +5 -5
  657. package/components/content/Hint.vue +24 -24
  658. package/components/layout/theHeader/lib/models/enums.ts +9 -9
  659. package/components/layout/theHeader/lib/utils/localization.ts +32 -32
  660. package/components/lib/models/interfaces.ts +14 -14
  661. package/composables/deepCopy.ts +21 -21
  662. package/composables/productNameLocal.ts +22 -22
  663. package/composables/useDiff.ts +15 -15
  664. package/composables/useLocal.ts +44 -44
  665. package/composables/useLocalStorage.ts +45 -45
  666. package/composables/useThrottle.ts +32 -32
  667. package/composables/useUniqueId.ts +5 -5
  668. package/eslint/index.js +15 -15
  669. package/eslint/no-import-type.js +17 -17
  670. package/eslint/no-invalid-type-prefix.js +32 -32
  671. package/layouts/auth.vue +31 -31
  672. package/lib/config/regExp.ts +13 -13
  673. package/lib/models/composables/useAppVersion/interfaces.ts +5 -5
  674. package/lib/models/composables/useMyFetch/interfaces.ts +25 -25
  675. package/lib/models/composables/useMyFetch/types.ts +1 -1
  676. package/lib/models/enums.ts +34 -34
  677. package/lib/models/interfaces.ts +43 -43
  678. package/lib/models/plugins/date/interfaces.ts +5 -5
  679. package/lib/models/plugins/date/types.ts +1 -1
  680. package/lib/models/plugins/validation/interfaces.ts +21 -21
  681. package/lib/models/plugins/validation/types.ts +1 -1
  682. package/lib/models/store/host/interfaces.ts +38 -38
  683. package/lib/models/store/interfaces.ts +41 -41
  684. package/lib/models/store/network/interfaces.ts +13 -13
  685. package/lib/models/store/storage/interfaces.ts +32 -32
  686. package/lib/models/store/tasks/enums.ts +27 -27
  687. package/lib/models/store/tasks/interfaces.ts +115 -115
  688. package/lib/models/store/tasks/types.ts +2 -2
  689. package/lib/models/store/types.ts +43 -43
  690. package/lib/models/store/vm/interfaces.ts +234 -234
  691. package/lib/models/table/interfaces.ts +38 -38
  692. package/lib/models/table/types.ts +1 -1
  693. package/lib/models/types.ts +13 -13
  694. package/lib/utils/base64.ts +34 -34
  695. package/lib/utils/contentBuild.ts +34 -34
  696. package/lib/utils/notification.ts +22 -22
  697. package/modules/fixContentBuild/index.ts +91 -91
  698. package/modules/fixContentBuild/lib/utils/methods.ts +115 -115
  699. package/modules/fixSpiceConsoleBuild/index.ts +28 -28
  700. package/modules/replaceEnv/index.ts +40 -40
  701. package/nuxt.config.ts +8 -8
  702. package/package.json +41 -41
  703. package/plugins/binary.ts +133 -133
  704. package/plugins/date.ts +179 -179
  705. package/plugins/recursion.ts +252 -252
  706. package/plugins/spice-console/spice.console.ts +18 -18
  707. package/plugins/text.ts +48 -48
  708. package/plugins/validation.ts +172 -172
  709. package/public/spice-console/application/WorkerProcess.js +3350 -3350
  710. package/public/spice-console/application/WorkerProcess_back.js +3144 -3144
  711. package/public/spice-console/application/WorkerProcess_meta.js +3103 -3103
  712. package/public/spice-console/application/WorkerProcess_reverse.js +3214 -3214
  713. package/public/spice-console/application/agent.js +175 -175
  714. package/public/spice-console/application/application.js +641 -641
  715. package/public/spice-console/application/checkActivity.js +50 -50
  716. package/public/spice-console/application/clientgui.js +842 -842
  717. package/public/spice-console/application/clipboard/clipboarddataparser.js +92 -92
  718. package/public/spice-console/application/clipboard/local/localClipboard.js +110 -110
  719. package/public/spice-console/application/clipboard.js +82 -82
  720. package/public/spice-console/application/imagecache.js +81 -81
  721. package/public/spice-console/application/inputmanager.js +270 -270
  722. package/public/spice-console/application/packetfactory.js +202 -202
  723. package/public/spice-console/application/packetfilter.js +103 -103
  724. package/public/spice-console/application/packetprocess.js +75 -75
  725. package/public/spice-console/application/rasteroperation.js +118 -118
  726. package/public/spice-console/application/spiceconnection.js +197 -197
  727. package/public/spice-console/application/stream.js +67 -67
  728. package/public/spice-console/application/virtualmouse.js +109 -109
  729. package/public/spice-console/keymaps/keyevent.js +36 -36
  730. package/public/spice-console/keymaps/keymap.js +229 -229
  731. package/public/spice-console/keymaps/keymapes.js +375 -375
  732. package/public/spice-console/keymaps/keymapesObj.js +317 -317
  733. package/public/spice-console/keymaps/keymapus.js +317 -317
  734. package/public/spice-console/keymaps/scanCodeObjModifier.js +65 -65
  735. package/public/spice-console/keymaps/scanCodeObjProvider.js +60 -60
  736. package/public/spice-console/lib/AsyncConsumer.js +204 -204
  737. package/public/spice-console/lib/AsyncWorker.js +60 -60
  738. package/public/spice-console/lib/CollisionDetector.js +27 -27
  739. package/public/spice-console/lib/DataLogger.js +197 -197
  740. package/public/spice-console/lib/GenericObjectPool.js +152 -152
  741. package/public/spice-console/lib/GlobalPool.js +114 -114
  742. package/public/spice-console/lib/ImageUncompressor.js +138 -138
  743. package/public/spice-console/lib/IntegrationBenchmark.js +64 -64
  744. package/public/spice-console/lib/PacketWorkerIdentifier.js +107 -107
  745. package/public/spice-console/lib/SyncAsyncHandler.js +46 -46
  746. package/public/spice-console/lib/base64.js +298 -298
  747. package/public/spice-console/lib/biginteger.js +1640 -1640
  748. package/public/spice-console/lib/bowser.js +276 -276
  749. package/public/spice-console/lib/decoder/dixie.js +7930 -7930
  750. package/public/spice-console/lib/decoder/jmuxer.js +2815 -2815
  751. package/public/spice-console/lib/displayRouter.js +83 -83
  752. package/public/spice-console/lib/encrypt.js +191 -191
  753. package/public/spice-console/lib/flipper.js +39 -39
  754. package/public/spice-console/lib/graphic.js +1230 -1230
  755. package/public/spice-console/lib/graphicdebug.js +223 -223
  756. package/public/spice-console/lib/images/bitmap.js +194 -194
  757. package/public/spice-console/lib/images/jsquic_family.js +83 -83
  758. package/public/spice-console/lib/images/jsquic_rgba.js +342 -342
  759. package/public/spice-console/lib/images/jsquic_uncompress.js +529 -529
  760. package/public/spice-console/lib/images/lz.js +717 -717
  761. package/public/spice-console/lib/images/png.js +275 -275
  762. package/public/spice-console/lib/jgestures.min.js +43 -43
  763. package/public/spice-console/lib/jquery-2.0.3.js +8829 -8829
  764. package/public/spice-console/lib/jquery-mousewheel.js +83 -83
  765. package/public/spice-console/lib/jquery-visibility.min.js +1 -1
  766. package/public/spice-console/lib/jsbn.js +578 -578
  767. package/public/spice-console/lib/jsbn2.js +675 -675
  768. package/public/spice-console/lib/lodash.4.0.0.min.js +136 -136
  769. package/public/spice-console/lib/modernizr.js +39 -39
  770. package/public/spice-console/lib/pixastic.js +3244 -3244
  771. package/public/spice-console/lib/prettyprint.js +794 -794
  772. package/public/spice-console/lib/prng4.js +64 -64
  773. package/public/spice-console/lib/queue.js +259 -259
  774. package/public/spice-console/lib/rng.js +87 -87
  775. package/public/spice-console/lib/runqueue.js +103 -103
  776. package/public/spice-console/lib/sha1.js +124 -124
  777. package/public/spice-console/lib/stuckkeyshandler.js +122 -122
  778. package/public/spice-console/lib/timelapsedetector.js +62 -62
  779. package/public/spice-console/lib/utils.js +327 -327
  780. package/public/spice-console/lib/virtualjoystick.js +370 -370
  781. package/public/spice-console/network/busconnection.js +195 -195
  782. package/public/spice-console/network/clusternodechooser.js +49 -49
  783. package/public/spice-console/network/connectioncontrol.js +60 -60
  784. package/public/spice-console/network/packetcontroller.js +62 -62
  785. package/public/spice-console/network/packetextractor.js +73 -73
  786. package/public/spice-console/network/packetlinkfactory.js +64 -64
  787. package/public/spice-console/network/packetreassembler.js +77 -77
  788. package/public/spice-console/network/reassemblerfactory.js +39 -39
  789. package/public/spice-console/network/sizedefiner.js +86 -86
  790. package/public/spice-console/network/socket.js +120 -120
  791. package/public/spice-console/network/socketqueue.js +95 -95
  792. package/public/spice-console/network/websocketwrapper.js +75 -75
  793. package/public/spice-console/process/busprocess.js +309 -309
  794. package/public/spice-console/process/cursorprocess.js +110 -110
  795. package/public/spice-console/process/displaypreprocess.js +152 -152
  796. package/public/spice-console/process/displayprocess.js +210 -210
  797. package/public/spice-console/process/inputprocess.js +203 -203
  798. package/public/spice-console/process/mainprocess.js +78 -78
  799. package/public/spice-console/process/playbackprocess.js +233 -233
  800. package/public/spice-console/run.js +180 -180
  801. package/public/spice-console/spiceobjects/generated/protocol.js +537 -537
  802. package/public/spice-console/spiceobjects/spiceobjects.js +3474 -3474
  803. package/public/spice-console/swcanvas/swcanvas.js +82 -82
  804. package/public/spice-console/tools/generate.php +269 -269
  805. package/public/spice-console/tools/generateKeyboardLayout.php +63 -63
  806. package/public/spice-console/tools/generateSpiceObject.php +81 -81
  807. package/store/tasks/mappers/recentTasks.ts +43 -43
  808. package/store/tasks/mappers/tasks.ts +42 -42
  809. package/store/tasks/store.ts +12 -12
  810. package/tsconfig.json +4 -4
@@ -1,1019 +1,1019 @@
1
- <template>
2
- <atoms-wizard
3
- v-model:show="props.show"
4
- :steps="wizard.steps"
5
- :selected-scheme="selectedScheme"
6
- :is-loading="wizard.wizardLoader.status"
7
- :loader-messages="wizard.wizardLoader.messages"
8
- :title="title"
9
- max-height="551px"
10
- :was-completed="wasCompleted"
11
- :localization="localization"
12
- :class="[
13
- 'add-networking-wizard',
14
- {
15
- 'is-dark': props.isDarkMode,
16
- },
17
- ]"
18
- test-id="add-networking-wizard"
19
- @change-steps="onChangeSteps"
20
- @hide="onHideAddNetworkingModal"
21
- @submit="onSubmit"
22
- >
23
- <template #modalBody="{ selectedStep }">
24
- <common-wizards-network-add-steps-select-connection-type
25
- v-if="selectedStep.id === 0"
26
- v-model="connectionTypeLocal"
27
- />
28
- <common-wizards-network-add-steps-selected-target-device
29
- v-if="selectedStep.id === 1"
30
- :wizard="wizard"
31
- :target-device="targetDevice"
32
- :connection-type="connectionTypeLocal"
33
- :standard-switches-initial="props.standardSwitchesInitial"
34
- :messages-fields="selectedStep.fields"
35
- :alert-messages="alertMessages[1]"
36
- :selected-standard-switch-id="props.selectedStandardSwitchId"
37
- :selected-switch-id="props.selectedSwitchId"
38
- @hide-alert="onHideAlert"
39
- @change-target-device="onChangeTargetDevice"
40
- />
41
- <common-wizards-network-add-steps-create-standard-switch
42
- v-if="selectedStep.id === 2 || selectedStep.id === 6"
43
- :free-adapters="props.freeAdapters"
44
- :added-adapters="addedAdapters"
45
- :core-adapters="coreAdapters"
46
- :adapter-status="adapterStatus"
47
- :adapters="props.adapters"
48
- :is-show-no-connected-active-adapters-modal="
49
- isShowNoConnectedActiveAdaptersModal
50
- "
51
- :is-show-no-active-adapters-modal="isShowNoActiveAdaptersModal"
52
- :is-dark-mode="props.isDarkMode"
53
- @get-free-adapters="onGetFreeAdapters"
54
- @change-added-adapters="onChangeAddedAdapters"
55
- @change-adapter-status="onChangeAdapterStatus"
56
- @confirm-no-active-adapters-modal="onConfirmNoActiveAdaptersModal"
57
- @hide-no-connected-active-adapters-modal="
58
- onHideNoConnectedActiveAdaptersModal
59
- "
60
- @hide-no-active-adapters-modal="onHideNoActiveAdaptersModal"
61
- />
62
- <common-wizards-network-add-steps-port-properties
63
- v-if="selectedStep.id === 3"
64
- :wizard="wizard"
65
- :port-properties="portProperties"
66
- :mtu-from-switch="mtuFromSwitch"
67
- :project="props.project"
68
- :messages-fields="selectedStep.fields"
69
- :alert-messages="alertMessages[3]"
70
- :tcp-stacks="props.tcpStacks"
71
- @change-gateway-flag="onChangeGatewayFlag"
72
- @change-port-properties="onChangePortProperties"
73
- @hide-alert="onHideAlert"
74
- />
75
- <common-wizards-network-add-steps-ip-four-settings
76
- v-if="selectedStep.id === 4"
77
- :wizard="wizard"
78
- :ip-four-settings="ipFourSettings"
79
- :messages-fields="selectedStep.fields"
80
- :alert-messages="alertMessages[4]"
81
- :tcp-stacks="props.tcpStacks"
82
- :tcp="portProperties.tcp"
83
- :gateway-flag="gatewayFlag"
84
- @change-gateway-flag="onChangeGatewayFlag"
85
- @change-ip-four-settings="onChangeIpFourSettings"
86
- @hide-alert="onHideAlert"
87
- />
88
- <common-wizards-network-add-steps-connection-settings
89
- v-if="selectedStep.id === 5"
90
- :wizard="wizard"
91
- :connection-settings="connectionSettings"
92
- :messages-fields="selectedStep.fields"
93
- :alert-messages="alertMessages[5]"
94
- @change-connection-settings="onChangeConnectionSettings"
95
- @hide-alert="onHideAlert"
96
- />
97
- <!-- <common-wizards-network-add-steps-physical-adapter-->
98
- <!-- v-if="selectedStep.id === 6"-->
99
- <!-- />-->
100
- <common-wizards-network-add-steps-ready-complete
101
- v-if="selectedStep.id === 7"
102
- :ready-complete-fields="readyCompleteFields"
103
- />
104
- </template>
105
- </atoms-wizard>
106
- </template>
107
-
108
- <script setup lang="ts">
109
- import {
110
- UI_I_ArbitraryObject,
111
- UI_I_Localization,
112
- UI_I_ItemsWithTotalCounts,
113
- } from '~/lib/models/interfaces'
114
- import { UI_T_Project } from '~/lib/models/types'
115
- import {
116
- UI_I_PortProperties,
117
- UI_I_IpFourSettings,
118
- UI_I_ConnectionSettings,
119
- UI_I_TargetDevice,
120
- UI_I_Switch,
121
- UI_I_ReadyCompleteFields,
122
- UI_I_AddNetworkingSecondOrThirdSchemeDataSend,
123
- UI_I_AddNetworkingZeroOrFirstSchemeDataSend,
124
- UI_I_AddNetworkingFourthOrFifthSchemeDataSend,
125
- UI_I_AddNetworkingEmits,
126
- UI_I_TCPStack,
127
- } from '~/components/common/wizards/network/add/lib/models/interfaces'
128
- import {
129
- UI_I_Adapter,
130
- UI_I_AdapterStatus,
131
- UI_I_SwitchAdapterItem,
132
- UI_I_DiagramData,
133
- API_UI_I_SwitchItem,
134
- } from '~/components/common/diagramMain/lib/models/interfaces'
135
- import {
136
- UI_I_ValidationReturn,
137
- UI_I_WizardStep,
138
- } from '~/components/atoms/wizard/lib/models/interfaces'
139
- import { UI_E_ValidationFields } from '~/components/common/wizards/network/add/lib/models/enums'
140
- import { getVlanId } from '~/components/common/wizards/network/add/lib/utils'
141
- import Wizard from '~/components/atoms/wizard/lib/utils/utils'
142
- import {
143
- createZeroSchemeReadyCompleteFunc,
144
- createFirstSchemeReadyCompleteFunc,
145
- createSecondSchemeReadyCompleteFunc,
146
- createThirdSchemeReadyCompleteFunc,
147
- createFourthSchemeReadyCompleteFunc,
148
- stepsSchemeInitial,
149
- stepsFunc,
150
- connectionSettingsInitial,
151
- portPropertiesInitial,
152
- ipFourSettingsInitial,
153
- targetDeviceInitial,
154
- addNetworkingZeroOrFirstSchemeDataFunc,
155
- addNetworkingSecondOrThirdSchemeDataFunc,
156
- addNetworkingFourthOrFifthSchemeDataFunc,
157
- } from '~/components/common/wizards/network/add/lib/config'
158
- import {
159
- checkTargetDeviceSync,
160
- checkAdaptersSync,
161
- checkPortPropertiesSync,
162
- checkIpFourSettingsSync,
163
- checkConnectionSettingsSync,
164
- checkNetworkAsync,
165
- } from '~/components/common/wizards/network/add/validations/validations'
166
-
167
- const props = withDefaults(
168
- defineProps<{
169
- show: boolean
170
- adapters: UI_I_ItemsWithTotalCounts<UI_I_SwitchAdapterItem>
171
- standardSwitchesInitial: UI_I_Switch[]
172
- freeAdapters: UI_I_Adapter[]
173
- project?: UI_T_Project
174
- isDarkMode?: boolean
175
- selectedStandardSwitchId?: string
176
- selectedSwitchId?: string
177
- tcpStacks?: UI_I_TCPStack[]
178
- diagramsData?: UI_I_DiagramData[]
179
- isNetworkingLoading?: boolean
180
- }>(),
181
- {
182
- standardSwitchesInitial: () => [],
183
- freeAdapters: () => [],
184
- project: 'procurator',
185
- isDarkMode: false,
186
- selectedStandardSwitchId: '',
187
- selectedSwitchId: '',
188
- tcpStacks: () => [],
189
- diagramsData: [],
190
- isNetworkingLoading: false,
191
- }
192
- )
193
-
194
- const emits = defineEmits<UI_I_AddNetworkingEmits>()
195
-
196
- const localization = computed<UI_I_Localization>(() => useLocal())
197
-
198
- const hostname = ref<string>('')
199
- const title = computed<string>(
200
- () => `${hostname.value} - ${localization.value.addNetworking}`
201
- )
202
-
203
- const wizard: Wizard = new Wizard(
204
- stepsFunc(localization.value),
205
- stepsSchemeInitial
206
- )
207
- const wasCompleted = computed<boolean>(() => wizard.wasCompleted())
208
- const selectedScheme = computed<number[]>(() => wizard.selectedScheme.value)
209
- const alertMessages = computed<string[][]>(() => wizard.alertMessages.value)
210
-
211
- const readyCompleteFields = ref<UI_I_ReadyCompleteFields[]>([])
212
-
213
- // Step's content data (connectionType)
214
- const connectionType = ref<string>('0')
215
-
216
- const connectionTypeLocal = computed<string>({
217
- get() {
218
- return connectionType.value
219
- },
220
- set(newValue: string) {
221
- wizard.resetAfterSelected()
222
- connectionType.value = newValue
223
- targetDevice.value.standardSwitch = props.selectedStandardSwitchId
224
- targetDevice.value.switch = props.selectedSwitchId
225
- },
226
- })
227
-
228
- // Step's content data (createStandardSwitch)
229
- const addedAdapters = ref<string[]>([])
230
- const coreAdapters = ref<string[]>([])
231
-
232
- const onChangeAddedAdapters = (addedAdaptersNew: string[]): void => {
233
- addedAdapters.value = addedAdaptersNew
234
- }
235
-
236
- const adapterStatus = ref<UI_I_AdapterStatus>({
237
- active: [],
238
- standby: [],
239
- unused: [],
240
- })
241
- const onChangeAdapterStatus = (adapterStatusNew: UI_I_AdapterStatus): void => {
242
- adapterStatus.value = adapterStatusNew
243
- }
244
-
245
- // Step's content data and changers (targetDevice)
246
- const targetDevice = ref<UI_I_TargetDevice>(useDeepCopy(targetDeviceInitial))
247
- const mtuFromSwitch = ref<number>(1500)
248
-
249
- const onChangeTargetDevice = (newTargetDevice: UI_I_TargetDevice): void => {
250
- const oldTargetDeviceSelected = useDeepCopy(targetDevice.value).selected
251
- const newTargetDeviceSelected = newTargetDevice.selected
252
-
253
- if (oldTargetDeviceSelected !== newTargetDeviceSelected) {
254
- wizard.resetAfterSelected()
255
- }
256
-
257
- const selectedSwitch = props.standardSwitchesInitial.find(
258
- (sw) => newTargetDevice.standardSwitch === sw.name
259
- )
260
-
261
- if (newTargetDeviceSelected === '1' && selectedSwitch) {
262
- mtuFromSwitch.value = selectedSwitch?.mtu || 1500
263
- }
264
- if (newTargetDeviceSelected === '3') {
265
- mtuFromSwitch.value = newTargetDevice.mtu || 1500
266
- }
267
-
268
- targetDevice.value = useDeepCopy(newTargetDevice)
269
- }
270
-
271
- // Step's content data and changers (portProperties)
272
- const portProperties = ref<UI_I_PortProperties>(
273
- useDeepCopy(portPropertiesInitial)
274
- )
275
- const onChangePortProperties = (newFields: UI_I_PortProperties): void => {
276
- if (portProperties.value.tcp !== newFields.tcp) {
277
- ipFourSettings.value.static.defaultGateway.value =
278
- props.tcpStacks?.find((tcp: UI_I_TCPStack) => tcp.id === newFields.tcp)
279
- .gateway || ''
280
- }
281
- portProperties.value = newFields
282
- }
283
-
284
- // Step's content data and changers (ipFourSettings)
285
- const ipFourSettings = ref<UI_I_IpFourSettings>(ipFourSettingsInitial)
286
- const onChangeIpFourSettings = (newFields: UI_I_IpFourSettings): void => {
287
- ipFourSettings.value = newFields
288
- }
289
-
290
- const gatewayFlag = ref<boolean>(false)
291
- const onChangeGatewayFlag = (newValue: boolean) => {
292
- gatewayFlag.value = newValue
293
- }
294
-
295
- // Step's content data and changers (connectionSettings)
296
- const connectionSettings = ref<UI_I_ConnectionSettings>(
297
- connectionSettingsInitial
298
- )
299
- const onChangeConnectionSettings = (
300
- newFields: UI_I_ConnectionSettings
301
- ): void => {
302
- connectionSettings.value = newFields
303
- }
304
-
305
- const onHideAlert = (stepId: number): void => {
306
- wizard.hideAlertMessagesByStepId(stepId)
307
- }
308
-
309
- let flagSwitch = ''
310
-
311
- // Choosing Scheme
312
- watch(
313
- [connectionTypeLocal, targetDevice],
314
- (newValues, oldValues) => {
315
- const newCT = newValues[0] // -> newConnectionType
316
- const oldCT = oldValues[0] // -> oldConnectionType
317
- const newTD = newValues[1] // -> newTargetDevice
318
- const oldTD = oldValues[1] // -> oldTargetDevice
319
- if (!oldTD || oldTD.selected !== newTD.selected) {
320
- flagSwitch = ''
321
- addedAdapters.value = []
322
- adapterStatus.value = {
323
- active: [],
324
- standby: [],
325
- unused: [],
326
- }
327
- }
328
- if (newCT !== oldCT) {
329
- newCT === '0' && props.selectedStandardSwitchId
330
- ? (targetDevice.value.selected = '1')
331
- : (targetDevice.value.selected = '0')
332
- newCT === '1' && (targetDevice.value.selected = '1')
333
- newCT === '2' && (targetDevice.value.selected = '2')
334
- }
335
- if (newCT === '0') {
336
- ;(newTD.selected === '0' || newTD.selected === '1') &&
337
- wizard.changeScheme(0)
338
- newTD.selected === '3' && wizard.changeScheme(1)
339
- }
340
- if (newCT === '1') {
341
- newTD.selected === '1' && wizard.changeScheme(2)
342
- newTD.selected === '3' && wizard.changeScheme(3)
343
- }
344
- if (newCT === '2') {
345
- newTD.selected === '2' && wizard.changeScheme(4)
346
- newTD.selected === '3' && wizard.changeScheme(5)
347
- }
348
- },
349
- { deep: true, immediate: true }
350
- )
351
-
352
- const onGetExistingStandardSwitches = (): void => {
353
- emits('get-existing-standard-switches')
354
- }
355
-
356
- const onGetTcpStacks = (): void => {
357
- emits('get-tcp-stacks')
358
- }
359
-
360
- watch(
361
- () => wizard.selectedStepId,
362
- (newSelectedStep: number) => {
363
- if (newSelectedStep === 1) {
364
- onGetExistingStandardSwitches()
365
- }
366
- if (newSelectedStep === 3) {
367
- onGetTcpStacks()
368
- }
369
- if (newSelectedStep === 6 && flagSwitch !== targetDevice.value.switch) {
370
- const nics = props.standardSwitchesInitial.find(
371
- (sw) => sw.id === targetDevice.value.switch
372
- ).nics
373
- adapterStatus.value = {
374
- active: nics.active || [],
375
- standby: nics.standby || [],
376
- unused: nics.unused || [],
377
- }
378
- coreAdapters.value = [
379
- ...adapterStatus.value.active,
380
- ...adapterStatus.value.standby,
381
- ...adapterStatus.value.unused,
382
- ]
383
- flagSwitch = targetDevice.value.switch
384
- }
385
-
386
- if (newSelectedStep !== 7) return // If last step
387
- if (wizard.isSelectedScheme(0)) {
388
- readyCompleteFields.value = createZeroSchemeReadyCompleteFunc(
389
- targetDevice.value,
390
- portProperties.value,
391
- ipFourSettings.value,
392
- localization.value
393
- )
394
- return
395
- }
396
-
397
- if (wizard.isSelectedScheme(1)) {
398
- readyCompleteFields.value = createFirstSchemeReadyCompleteFunc(
399
- targetDevice.value,
400
- portProperties.value,
401
- ipFourSettings.value,
402
- addedAdapters.value,
403
- localization.value
404
- )
405
- return
406
- }
407
- if (wizard.isSelectedScheme(2)) {
408
- readyCompleteFields.value = createSecondSchemeReadyCompleteFunc(
409
- connectionSettings.value,
410
- targetDevice.value,
411
- localization.value
412
- )
413
- return
414
- }
415
- if (wizard.isSelectedScheme(3)) {
416
- readyCompleteFields.value = createThirdSchemeReadyCompleteFunc(
417
- connectionSettings.value,
418
- targetDevice.value,
419
- addedAdapters.value,
420
- localization.value
421
- )
422
- return
423
- }
424
- if (wizard.isSelectedScheme(4)) {
425
- readyCompleteFields.value = createFourthSchemeReadyCompleteFunc(
426
- targetDevice.value.switch,
427
- props.diagramsData,
428
- adapterStatus.value,
429
- localization.value
430
- )
431
- }
432
- }
433
- )
434
-
435
- // Reset data
436
- const reset = (): void => {
437
- wizard.reset()
438
- connectionTypeLocal.value = '0'
439
- targetDevice.value = useDeepCopy(targetDeviceInitial)
440
- connectionSettings.value = useDeepCopy(connectionSettingsInitial)
441
- portProperties.value = useDeepCopy(portPropertiesInitial)
442
- ipFourSettings.value = useDeepCopy(ipFourSettingsInitial)
443
- coreAdapters.value = []
444
- addedAdapters.value = []
445
- adapterStatus.value = {
446
- active: [],
447
- standby: [],
448
- unused: [],
449
- }
450
- }
451
-
452
- const isShowNoConnectedActiveAdaptersModal = ref(false)
453
- const isShowNoActiveAdaptersModal = ref(false)
454
-
455
- const showNoConnectedActiveAdaptersModal = (): void => {
456
- isShowNoConnectedActiveAdaptersModal.value = true
457
- }
458
- const onHideNoConnectedActiveAdaptersModal = (): void => {
459
- isShowNoConnectedActiveAdaptersModal.value = false
460
- }
461
- const showNoActiveAdaptersModal = (): void => {
462
- isShowNoActiveAdaptersModal.value = true
463
- }
464
- const onHideNoActiveAdaptersModal = (): void => {
465
- isShowNoActiveAdaptersModal.value = false
466
- }
467
-
468
- const onConfirmNoActiveAdaptersModal = (): void => {
469
- onHideNoConnectedActiveAdaptersModal()
470
- onHideNoActiveAdaptersModal()
471
- wizard.selectStepHard(wizard.waitingStepId)
472
- }
473
-
474
- const onGetFreeAdapters = (showModal: () => void): void => {
475
- emits('get-free-adapters', showModal)
476
- }
477
-
478
- const checkFinal = async (): Promise<UI_I_ArbitraryObject<string>> => {
479
- let data:
480
- | UI_I_AddNetworkingSecondOrThirdSchemeDataSend
481
- | UI_I_AddNetworkingZeroOrFirstSchemeDataSend
482
- | UI_I_AddNetworkingFourthOrFifthSchemeDataSend
483
- | API_UI_I_SwitchItem
484
- | null = null
485
-
486
- let type: 'network' | 'vmkernel' | 'adapter'
487
-
488
- if (wizard.isSelectedScheme(0) || wizard.isSelectedScheme(1)) {
489
- const vlan = getVlanId(portProperties.value.vlanId)
490
-
491
- data = addNetworkingZeroOrFirstSchemeDataFunc(
492
- targetDevice.value,
493
- Number(vlan),
494
- portProperties.value,
495
- ipFourSettings.value,
496
- wizard.isSelectedScheme(1),
497
- adapterStatus.value
498
- )
499
-
500
- type = 'vmkernel'
501
- }
502
-
503
- if (wizard.isSelectedScheme(2) || wizard.isSelectedScheme(3)) {
504
- const vlan = getVlanId(connectionSettings.value.vlanId)
505
-
506
- data = addNetworkingSecondOrThirdSchemeDataFunc(
507
- connectionSettings.value,
508
- targetDevice.value,
509
- Number(vlan),
510
- wizard.isSelectedScheme(2),
511
- adapterStatus.value
512
- )
513
-
514
- type = 'network'
515
- }
516
-
517
- if (wizard.isSelectedScheme(4) || wizard.isSelectedScheme(5)) {
518
- data = addNetworkingFourthOrFifthSchemeDataFunc(
519
- targetDevice.value.switch,
520
- wizard.isSelectedScheme(4),
521
- adapterStatus.value,
522
- props.diagramsData,
523
- targetDevice.value.mtu
524
- )
525
-
526
- type = 'adapter'
527
- }
528
-
529
- return new Promise((resolve, _reject) =>
530
- emits(
531
- 'add-networking-data-validate',
532
- data,
533
- type,
534
- (err_arg: UI_I_ArbitraryObject<string>): void => {
535
- resolve(err_arg)
536
- }
537
- )
538
- )
539
- }
540
-
541
- const finalValidationFunc = async (
542
- value: UI_I_WizardStep[]
543
- ): Promise<UI_I_ValidationReturn> => {
544
- let stepHasError = false
545
-
546
- // wizard.setLoader(true)
547
-
548
- const validationFields: {
549
- [key: string]: string
550
- } = await checkFinal()
551
-
552
- // wizard.setLoader(false)
553
-
554
- for (const fieldName in validationFields) {
555
- const stepId = wizard.getStepIdByFieldName(fieldName)
556
-
557
- if (stepId !== -1) {
558
- stepHasError = wizard.setValidation(stepId, fieldName, {
559
- fieldMessage: validationFields[fieldName],
560
- alertMessage: validationFields[fieldName],
561
- })
562
- }
563
- }
564
-
565
- return {
566
- stepHasError,
567
- newValue: value,
568
- }
569
- }
570
-
571
- const validationFunc = async (
572
- value: UI_I_WizardStep[],
573
- currentStep: UI_I_WizardStep,
574
- nextStep: UI_I_WizardStep
575
- ): Promise<UI_I_ValidationReturn> => {
576
- let stepHasError = false
577
- let stepShouldStop = {
578
- ifOnCurrentStep: false,
579
- ifFromAnyStep: false,
580
- stoppageStepId: -1,
581
- }
582
-
583
- if (wizard.isValidateForStep(1, currentStep.id, nextStep.id)) {
584
- const targetDeviceValidation = checkTargetDeviceSync(
585
- localization.value,
586
- targetDevice.value,
587
- wizard,
588
- value
589
- )
590
-
591
- value = targetDeviceValidation.newValue
592
-
593
- stepHasError = stepHasError || targetDeviceValidation.stepHasError
594
- }
595
-
596
- if (wizard.isValidateForStep(2, currentStep.id, nextStep.id)) {
597
- wizard.waitingStepId = nextStep.id
598
-
599
- const adapterValidation = checkAdaptersSync(
600
- localization.value,
601
- adapterStatus.value,
602
- value,
603
- currentStep.id,
604
- nextStep.id,
605
- props.freeAdapters,
606
- showNoActiveAdaptersModal,
607
- showNoConnectedActiveAdaptersModal
608
- )
609
-
610
- value = adapterValidation.newValue
611
-
612
- stepShouldStop = adapterValidation.stepShouldStop || stepShouldStop
613
-
614
- stepHasError = stepHasError || adapterValidation.stepHasError
615
- }
616
-
617
- if (wizard.isValidateForStep(3, currentStep.id, nextStep.id)) {
618
- const labelValidation = await checkNetworkAsync(
619
- value,
620
- portProperties.value.networkLabel,
621
- 3,
622
- UI_E_ValidationFields.PORT_PROPERTIES_NETWORK,
623
- emits,
624
- localization.value,
625
- wizard
626
- )
627
-
628
- value = labelValidation.newValue
629
-
630
- const portPropertiesValidation = checkPortPropertiesSync(
631
- localization.value,
632
- portProperties.value,
633
- wizard,
634
- value
635
- )
636
-
637
- value = portPropertiesValidation.newValue
638
-
639
- stepHasError =
640
- stepHasError ||
641
- labelValidation.stepHasError ||
642
- portPropertiesValidation.stepHasError
643
- }
644
-
645
- if (wizard.isValidateForStep(4, currentStep.id, nextStep.id)) {
646
- const ipValidation = checkIpFourSettingsSync(
647
- localization.value,
648
- ipFourSettings.value,
649
- wizard,
650
- value
651
- )
652
-
653
- value = ipValidation.newValue
654
-
655
- stepHasError = stepHasError || ipValidation.stepHasError
656
- }
657
-
658
- if (wizard.isValidateForStep(5, currentStep.id, nextStep.id)) {
659
- const labelValidation = await checkNetworkAsync(
660
- value,
661
- connectionSettings.value.networkLabel,
662
- 5,
663
- UI_E_ValidationFields.CONNECTION_SETTINGS_NETWORK,
664
- emits,
665
- localization.value,
666
- wizard
667
- )
668
-
669
- value = labelValidation.newValue
670
-
671
- const connectionSettingsValidation = checkConnectionSettingsSync(
672
- localization.value,
673
- connectionSettings.value,
674
- wizard,
675
- value
676
- )
677
-
678
- value = connectionSettingsValidation.newValue
679
-
680
- stepHasError =
681
- stepHasError ||
682
- labelValidation.stepHasError ||
683
- connectionSettingsValidation.stepHasError
684
- }
685
-
686
- // if (wizard.isValidateForStep(6, currentStep.id, nextStep.id)) {
687
- // const connectionSettingsValidation = checkConnectionSettingsSync(
688
- // localization.value,
689
- // connectionSettings.value,
690
- // wizard,
691
- // value
692
- // )
693
- //
694
- // value = connectionSettingsValidation.newValue
695
- //
696
- // stepHasError =
697
- // stepHasError ||
698
- // labelValidation.stepHasError ||
699
- // connectionSettingsValidation.stepHasError
700
- // }
701
-
702
- return {
703
- newValue: value,
704
- stepHasError,
705
- stepShouldStop,
706
- }
707
- }
708
-
709
- const onChangeSteps = async (value: UI_I_WizardStep[]): Promise<void> =>
710
- wizard.changeSteps(value, validationFunc, finalValidationFunc)
711
-
712
- const onHideAddNetworkingModal = (): void => {
713
- emits('hide')
714
- reset()
715
- }
716
-
717
- const onSubmit = async (): Promise<void> => {
718
- let data:
719
- | UI_I_AddNetworkingSecondOrThirdSchemeDataSend
720
- | UI_I_AddNetworkingZeroOrFirstSchemeDataSend
721
- | UI_I_AddNetworkingFourthOrFifthSchemeDataSend
722
- | API_UI_I_SwitchItem
723
- | null = null
724
-
725
- let type: 'network' | 'vmkernel' | 'adapter' = 'network'
726
-
727
- if (wizard.isSelectedScheme(0) || wizard.isSelectedScheme(1)) {
728
- const vlan = getVlanId(portProperties.value.vlanId)
729
- type = 'vmkernel'
730
- data = addNetworkingZeroOrFirstSchemeDataFunc(
731
- targetDevice.value,
732
- Number(vlan),
733
- portProperties.value,
734
- ipFourSettings.value,
735
- wizard.isSelectedScheme(1),
736
- adapterStatus.value
737
- )
738
- }
739
-
740
- if (wizard.isSelectedScheme(2) || wizard.isSelectedScheme(3)) {
741
- const vlan = getVlanId(connectionSettings.value.vlanId)
742
- type = 'network'
743
- data = addNetworkingSecondOrThirdSchemeDataFunc(
744
- connectionSettings.value,
745
- targetDevice.value,
746
- Number(vlan),
747
- wizard.isSelectedScheme(2),
748
- adapterStatus.value
749
- )
750
- }
751
-
752
- if (wizard.isSelectedScheme(4) || wizard.isSelectedScheme(5)) {
753
- type = 'adapter'
754
- data = addNetworkingFourthOrFifthSchemeDataFunc(
755
- targetDevice.value.switch,
756
- wizard.isSelectedScheme(4),
757
- adapterStatus.value,
758
- props.diagramsData,
759
- targetDevice.value.mtu
760
- )
761
- }
762
-
763
- data &&
764
- emits('send-add-networking-data', data, type, onHideAddNetworkingModal)
765
- }
766
-
767
- onMounted(() => {
768
- hostname.value = location.hostname
769
- })
770
-
771
- watch(
772
- () => props.isNetworkingLoading,
773
- (newValue: boolean) => {
774
- wizard.setLoader(newValue)
775
- },
776
- {
777
- immediate: true,
778
- }
779
- )
780
-
781
- watch(
782
- props.tcpStacks,
783
- (newValue: UI_I_TCPStack[]) => {
784
- portProperties.value.tcp = newValue?.[0]?.id || ''
785
- ipFourSettings.value.static.defaultGateway.value =
786
- newValue?.[0]?.gateway || ''
787
- },
788
- { deep: true }
789
- )
790
- </script>
791
-
792
- <style scoped lang="scss">
793
- :deep(.modal) {
794
- & > .modal-dialog > .modal-content > .modal-body {
795
- height: calc(100% - 110px);
796
- .disabled-on-time {
797
- opacity: 0.4;
798
- pointer-events: none;
799
- }
800
- }
801
- }
802
- :deep(.disabled-on-time) {
803
- opacity: 0.4;
804
- pointer-events: none;
805
- }
806
- :deep(.wizard-content-container.add-networking-step) {
807
- padding: 0px 15px 10px 10px;
808
-
809
- .danger-not-valid {
810
- border: 2px solid red;
811
- border-bottom: 1px solid #db2100;
812
- }
813
- .tooltip-field {
814
- margin-right: 12px;
815
- }
816
-
817
- .horizontal-flex-container {
818
- margin-bottom: 5px;
819
- min-height: 36px;
820
- display: flex;
821
- flex-direction: row;
822
- }
823
- .property-label-group {
824
- width: 140px;
825
- }
826
- .disabled {
827
- opacity: 0.4;
828
- pointer-events: none;
829
- }
830
- .wizard-content-port {
831
- .margin-left-property-value-group {
832
- margin-left: 10px;
833
- }
834
-
835
- .property-value-group {
836
- padding-left: 23px;
837
- }
838
- .horizontal-flex-container {
839
- min-height: 24px;
840
- margin-bottom: 0;
841
- }
842
- .radio {
843
- min-height: 39px;
844
- margin: 10px 0;
845
- }
846
- .form-block {
847
- margin: 12px 0 24px 0;
848
- padding-left: 23px;
849
-
850
- &.form-block-ipv {
851
- input[type='text'] {
852
- width: 143px;
853
- }
854
- .horizontal-flex-container > label {
855
- margin-right: 50px;
856
- }
857
- }
858
- }
859
- .edit-vmkernel-adapter-section {
860
- padding-top: 12px;
861
-
862
- label {
863
- input[type='checkbox'] {
864
- margin-right: 4px;
865
- transform: translateY(1px);
866
- }
867
- }
868
- .horizontal-flex-container {
869
- margin-bottom: 5px;
870
- }
871
- }
872
- .port-properties-network-label {
873
- width: 280px;
874
- }
875
- .port-properties-padding {
876
- padding-top: 8px;
877
- }
878
- .port-properties-mtu-selector {
879
- margin-right: 12px;
880
- }
881
- .port-properties-mtu-container {
882
- display: flex;
883
- }
884
- select {
885
- height: 24px;
886
- }
887
- }
888
- .nw-property-value-group {
889
- display: inline;
890
- }
891
- }
892
-
893
- :deep(.modal-body-content.modal-body-content__confirmation) {
894
- display: flex;
895
- .confirm-icon-container {
896
- margin-right: 20px;
897
- }
898
- .preserve-newlines {
899
- white-space: pre-line;
900
- font-size: 15px;
901
- }
902
- }
903
-
904
- .add-networking-wizard.is-dark {
905
- :deep(.wizard-content-container.add-networking-step) {
906
- .ready-complete-container {
907
- background-color: var(--pannel-bg-color);
908
- margin-top: 12px;
909
-
910
- span {
911
- color: var(--description-color);
912
- }
913
- }
914
-
915
- .add-networking-radio-button-description {
916
- color: var(--description-color);
917
- }
918
-
919
- .property-label-group {
920
- color: var(--main-color-mode2);
921
- }
922
- .flex-property-label-group {
923
- color: var(--main-color-mode2);
924
- }
925
- .flex-property-value-group {
926
- select {
927
- color: #fff;
928
- }
929
- }
930
- .failover-order-master {
931
- .secondary-title label {
932
- color: #fff;
933
- }
934
- }
935
- .k-grid-content {
936
- background-color: var(--modal-bg-color);
937
- }
938
- .vui-action-bar {
939
- background-color: var(--pannel-bg-color);
940
- color: var(--title-color);
941
- padding: 8px 0 3px;
942
-
943
- .action-link-container:not(.disabled) {
944
- &:hover {
945
- background-color: #29414e;
946
- border: 1px solid #c7e9ff;
947
- }
948
- }
949
-
950
- svg {
951
- fill: #fff;
952
- }
953
- }
954
-
955
- .k-grid.k-widget .k-grid-content {
956
- border-left: 1px solid #485764;
957
- border-right: 1px solid #485764;
958
- border-top: 1px solid #ddd;
959
- border-bottom: 1px solid #ddd;
960
-
961
- tbody tr {
962
- background-color: var(--modal-bg-color);
963
-
964
- td {
965
- border-bottom: 1px solid #666666;
966
- border-color: #666666;
967
- }
968
-
969
- &:hover {
970
- background-color: #324f61;
971
- color: var(--title-color);
972
-
973
- td {
974
- border-bottom: 1px solid #ffffff;
975
- }
976
- }
977
-
978
- &.k-state-selected {
979
- background-color: #d8e3e9;
980
- box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;
981
-
982
- td span {
983
- color: #000;
984
- }
985
- }
986
- }
987
- }
988
-
989
- .failover-order-details {
990
- &.relative-container .absolute-container {
991
- background-color: var(--pannel-bg-color);
992
- color: var(--main-color-mode2);
993
-
994
- &:has(.no-items-selected-container) {
995
- background-color: transparent;
996
- }
997
- }
998
-
999
- td span {
1000
- color: var(--main-color-mode2);
1001
- }
1002
- button span {
1003
- color: var(--main-color-mode2);
1004
-
1005
- &:hover:not(.disabled) {
1006
- background-color: transparent;
1007
- }
1008
- }
1009
- button.active span {
1010
- color: #fff;
1011
- }
1012
- }
1013
- }
1014
-
1015
- .select-adapter-info span {
1016
- color: var(--main-color-mode2);
1017
- }
1018
- }
1019
- </style>
1
+ <template>
2
+ <atoms-wizard
3
+ v-model:show="props.show"
4
+ :steps="wizard.steps"
5
+ :selected-scheme="selectedScheme"
6
+ :is-loading="wizard.wizardLoader.status"
7
+ :loader-messages="wizard.wizardLoader.messages"
8
+ :title="title"
9
+ max-height="551px"
10
+ :was-completed="wasCompleted"
11
+ :localization="localization"
12
+ :class="[
13
+ 'add-networking-wizard',
14
+ {
15
+ 'is-dark': props.isDarkMode,
16
+ },
17
+ ]"
18
+ test-id="add-networking-wizard"
19
+ @change-steps="onChangeSteps"
20
+ @hide="onHideAddNetworkingModal"
21
+ @submit="onSubmit"
22
+ >
23
+ <template #modalBody="{ selectedStep }">
24
+ <common-wizards-network-add-steps-select-connection-type
25
+ v-if="selectedStep.id === 0"
26
+ v-model="connectionTypeLocal"
27
+ />
28
+ <common-wizards-network-add-steps-selected-target-device
29
+ v-if="selectedStep.id === 1"
30
+ :wizard="wizard"
31
+ :target-device="targetDevice"
32
+ :connection-type="connectionTypeLocal"
33
+ :standard-switches-initial="props.standardSwitchesInitial"
34
+ :messages-fields="selectedStep.fields"
35
+ :alert-messages="alertMessages[1]"
36
+ :selected-standard-switch-id="props.selectedStandardSwitchId"
37
+ :selected-switch-id="props.selectedSwitchId"
38
+ @hide-alert="onHideAlert"
39
+ @change-target-device="onChangeTargetDevice"
40
+ />
41
+ <common-wizards-network-add-steps-create-standard-switch
42
+ v-if="selectedStep.id === 2 || selectedStep.id === 6"
43
+ :free-adapters="props.freeAdapters"
44
+ :added-adapters="addedAdapters"
45
+ :core-adapters="coreAdapters"
46
+ :adapter-status="adapterStatus"
47
+ :adapters="props.adapters"
48
+ :is-show-no-connected-active-adapters-modal="
49
+ isShowNoConnectedActiveAdaptersModal
50
+ "
51
+ :is-show-no-active-adapters-modal="isShowNoActiveAdaptersModal"
52
+ :is-dark-mode="props.isDarkMode"
53
+ @get-free-adapters="onGetFreeAdapters"
54
+ @change-added-adapters="onChangeAddedAdapters"
55
+ @change-adapter-status="onChangeAdapterStatus"
56
+ @confirm-no-active-adapters-modal="onConfirmNoActiveAdaptersModal"
57
+ @hide-no-connected-active-adapters-modal="
58
+ onHideNoConnectedActiveAdaptersModal
59
+ "
60
+ @hide-no-active-adapters-modal="onHideNoActiveAdaptersModal"
61
+ />
62
+ <common-wizards-network-add-steps-port-properties
63
+ v-if="selectedStep.id === 3"
64
+ :wizard="wizard"
65
+ :port-properties="portProperties"
66
+ :mtu-from-switch="mtuFromSwitch"
67
+ :project="props.project"
68
+ :messages-fields="selectedStep.fields"
69
+ :alert-messages="alertMessages[3]"
70
+ :tcp-stacks="props.tcpStacks"
71
+ @change-gateway-flag="onChangeGatewayFlag"
72
+ @change-port-properties="onChangePortProperties"
73
+ @hide-alert="onHideAlert"
74
+ />
75
+ <common-wizards-network-add-steps-ip-four-settings
76
+ v-if="selectedStep.id === 4"
77
+ :wizard="wizard"
78
+ :ip-four-settings="ipFourSettings"
79
+ :messages-fields="selectedStep.fields"
80
+ :alert-messages="alertMessages[4]"
81
+ :tcp-stacks="props.tcpStacks"
82
+ :tcp="portProperties.tcp"
83
+ :gateway-flag="gatewayFlag"
84
+ @change-gateway-flag="onChangeGatewayFlag"
85
+ @change-ip-four-settings="onChangeIpFourSettings"
86
+ @hide-alert="onHideAlert"
87
+ />
88
+ <common-wizards-network-add-steps-connection-settings
89
+ v-if="selectedStep.id === 5"
90
+ :wizard="wizard"
91
+ :connection-settings="connectionSettings"
92
+ :messages-fields="selectedStep.fields"
93
+ :alert-messages="alertMessages[5]"
94
+ @change-connection-settings="onChangeConnectionSettings"
95
+ @hide-alert="onHideAlert"
96
+ />
97
+ <!-- <common-wizards-network-add-steps-physical-adapter-->
98
+ <!-- v-if="selectedStep.id === 6"-->
99
+ <!-- />-->
100
+ <common-wizards-network-add-steps-ready-complete
101
+ v-if="selectedStep.id === 7"
102
+ :ready-complete-fields="readyCompleteFields"
103
+ />
104
+ </template>
105
+ </atoms-wizard>
106
+ </template>
107
+
108
+ <script setup lang="ts">
109
+ import {
110
+ UI_I_ArbitraryObject,
111
+ UI_I_Localization,
112
+ UI_I_ItemsWithTotalCounts,
113
+ } from '~/lib/models/interfaces'
114
+ import { UI_T_Project } from '~/lib/models/types'
115
+ import {
116
+ UI_I_PortProperties,
117
+ UI_I_IpFourSettings,
118
+ UI_I_ConnectionSettings,
119
+ UI_I_TargetDevice,
120
+ UI_I_Switch,
121
+ UI_I_ReadyCompleteFields,
122
+ UI_I_AddNetworkingSecondOrThirdSchemeDataSend,
123
+ UI_I_AddNetworkingZeroOrFirstSchemeDataSend,
124
+ UI_I_AddNetworkingFourthOrFifthSchemeDataSend,
125
+ UI_I_AddNetworkingEmits,
126
+ UI_I_TCPStack,
127
+ } from '~/components/common/wizards/network/add/lib/models/interfaces'
128
+ import {
129
+ UI_I_Adapter,
130
+ UI_I_AdapterStatus,
131
+ UI_I_SwitchAdapterItem,
132
+ UI_I_DiagramData,
133
+ API_UI_I_SwitchItem,
134
+ } from '~/components/common/diagramMain/lib/models/interfaces'
135
+ import {
136
+ UI_I_ValidationReturn,
137
+ UI_I_WizardStep,
138
+ } from '~/components/atoms/wizard/lib/models/interfaces'
139
+ import { UI_E_ValidationFields } from '~/components/common/wizards/network/add/lib/models/enums'
140
+ import { getVlanId } from '~/components/common/wizards/network/add/lib/utils'
141
+ import Wizard from '~/components/atoms/wizard/lib/utils/utils'
142
+ import {
143
+ createZeroSchemeReadyCompleteFunc,
144
+ createFirstSchemeReadyCompleteFunc,
145
+ createSecondSchemeReadyCompleteFunc,
146
+ createThirdSchemeReadyCompleteFunc,
147
+ createFourthSchemeReadyCompleteFunc,
148
+ stepsSchemeInitial,
149
+ stepsFunc,
150
+ connectionSettingsInitial,
151
+ portPropertiesInitial,
152
+ ipFourSettingsInitial,
153
+ targetDeviceInitial,
154
+ addNetworkingZeroOrFirstSchemeDataFunc,
155
+ addNetworkingSecondOrThirdSchemeDataFunc,
156
+ addNetworkingFourthOrFifthSchemeDataFunc,
157
+ } from '~/components/common/wizards/network/add/lib/config'
158
+ import {
159
+ checkTargetDeviceSync,
160
+ checkAdaptersSync,
161
+ checkPortPropertiesSync,
162
+ checkIpFourSettingsSync,
163
+ checkConnectionSettingsSync,
164
+ checkNetworkAsync,
165
+ } from '~/components/common/wizards/network/add/validations/validations'
166
+
167
+ const props = withDefaults(
168
+ defineProps<{
169
+ show: boolean
170
+ adapters: UI_I_ItemsWithTotalCounts<UI_I_SwitchAdapterItem>
171
+ standardSwitchesInitial: UI_I_Switch[]
172
+ freeAdapters: UI_I_Adapter[]
173
+ project?: UI_T_Project
174
+ isDarkMode?: boolean
175
+ selectedStandardSwitchId?: string
176
+ selectedSwitchId?: string
177
+ tcpStacks?: UI_I_TCPStack[]
178
+ diagramsData?: UI_I_DiagramData[]
179
+ isNetworkingLoading?: boolean
180
+ }>(),
181
+ {
182
+ standardSwitchesInitial: () => [],
183
+ freeAdapters: () => [],
184
+ project: 'procurator',
185
+ isDarkMode: false,
186
+ selectedStandardSwitchId: '',
187
+ selectedSwitchId: '',
188
+ tcpStacks: () => [],
189
+ diagramsData: [],
190
+ isNetworkingLoading: false,
191
+ }
192
+ )
193
+
194
+ const emits = defineEmits<UI_I_AddNetworkingEmits>()
195
+
196
+ const localization = computed<UI_I_Localization>(() => useLocal())
197
+
198
+ const hostname = ref<string>('')
199
+ const title = computed<string>(
200
+ () => `${hostname.value} - ${localization.value.addNetworking}`
201
+ )
202
+
203
+ const wizard: Wizard = new Wizard(
204
+ stepsFunc(localization.value),
205
+ stepsSchemeInitial
206
+ )
207
+ const wasCompleted = computed<boolean>(() => wizard.wasCompleted())
208
+ const selectedScheme = computed<number[]>(() => wizard.selectedScheme.value)
209
+ const alertMessages = computed<string[][]>(() => wizard.alertMessages.value)
210
+
211
+ const readyCompleteFields = ref<UI_I_ReadyCompleteFields[]>([])
212
+
213
+ // Step's content data (connectionType)
214
+ const connectionType = ref<string>('0')
215
+
216
+ const connectionTypeLocal = computed<string>({
217
+ get() {
218
+ return connectionType.value
219
+ },
220
+ set(newValue: string) {
221
+ wizard.resetAfterSelected()
222
+ connectionType.value = newValue
223
+ targetDevice.value.standardSwitch = props.selectedStandardSwitchId
224
+ targetDevice.value.switch = props.selectedSwitchId
225
+ },
226
+ })
227
+
228
+ // Step's content data (createStandardSwitch)
229
+ const addedAdapters = ref<string[]>([])
230
+ const coreAdapters = ref<string[]>([])
231
+
232
+ const onChangeAddedAdapters = (addedAdaptersNew: string[]): void => {
233
+ addedAdapters.value = addedAdaptersNew
234
+ }
235
+
236
+ const adapterStatus = ref<UI_I_AdapterStatus>({
237
+ active: [],
238
+ standby: [],
239
+ unused: [],
240
+ })
241
+ const onChangeAdapterStatus = (adapterStatusNew: UI_I_AdapterStatus): void => {
242
+ adapterStatus.value = adapterStatusNew
243
+ }
244
+
245
+ // Step's content data and changers (targetDevice)
246
+ const targetDevice = ref<UI_I_TargetDevice>(useDeepCopy(targetDeviceInitial))
247
+ const mtuFromSwitch = ref<number>(1500)
248
+
249
+ const onChangeTargetDevice = (newTargetDevice: UI_I_TargetDevice): void => {
250
+ const oldTargetDeviceSelected = useDeepCopy(targetDevice.value).selected
251
+ const newTargetDeviceSelected = newTargetDevice.selected
252
+
253
+ if (oldTargetDeviceSelected !== newTargetDeviceSelected) {
254
+ wizard.resetAfterSelected()
255
+ }
256
+
257
+ const selectedSwitch = props.standardSwitchesInitial.find(
258
+ (sw) => newTargetDevice.standardSwitch === sw.name
259
+ )
260
+
261
+ if (newTargetDeviceSelected === '1' && selectedSwitch) {
262
+ mtuFromSwitch.value = selectedSwitch?.mtu || 1500
263
+ }
264
+ if (newTargetDeviceSelected === '3') {
265
+ mtuFromSwitch.value = newTargetDevice.mtu || 1500
266
+ }
267
+
268
+ targetDevice.value = useDeepCopy(newTargetDevice)
269
+ }
270
+
271
+ // Step's content data and changers (portProperties)
272
+ const portProperties = ref<UI_I_PortProperties>(
273
+ useDeepCopy(portPropertiesInitial)
274
+ )
275
+ const onChangePortProperties = (newFields: UI_I_PortProperties): void => {
276
+ if (portProperties.value.tcp !== newFields.tcp) {
277
+ ipFourSettings.value.static.defaultGateway.value =
278
+ props.tcpStacks?.find((tcp: UI_I_TCPStack) => tcp.id === newFields.tcp)
279
+ .gateway || ''
280
+ }
281
+ portProperties.value = newFields
282
+ }
283
+
284
+ // Step's content data and changers (ipFourSettings)
285
+ const ipFourSettings = ref<UI_I_IpFourSettings>(ipFourSettingsInitial)
286
+ const onChangeIpFourSettings = (newFields: UI_I_IpFourSettings): void => {
287
+ ipFourSettings.value = newFields
288
+ }
289
+
290
+ const gatewayFlag = ref<boolean>(false)
291
+ const onChangeGatewayFlag = (newValue: boolean) => {
292
+ gatewayFlag.value = newValue
293
+ }
294
+
295
+ // Step's content data and changers (connectionSettings)
296
+ const connectionSettings = ref<UI_I_ConnectionSettings>(
297
+ connectionSettingsInitial
298
+ )
299
+ const onChangeConnectionSettings = (
300
+ newFields: UI_I_ConnectionSettings
301
+ ): void => {
302
+ connectionSettings.value = newFields
303
+ }
304
+
305
+ const onHideAlert = (stepId: number): void => {
306
+ wizard.hideAlertMessagesByStepId(stepId)
307
+ }
308
+
309
+ let flagSwitch = ''
310
+
311
+ // Choosing Scheme
312
+ watch(
313
+ [connectionTypeLocal, targetDevice],
314
+ (newValues, oldValues) => {
315
+ const newCT = newValues[0] // -> newConnectionType
316
+ const oldCT = oldValues[0] // -> oldConnectionType
317
+ const newTD = newValues[1] // -> newTargetDevice
318
+ const oldTD = oldValues[1] // -> oldTargetDevice
319
+ if (!oldTD || oldTD.selected !== newTD.selected) {
320
+ flagSwitch = ''
321
+ addedAdapters.value = []
322
+ adapterStatus.value = {
323
+ active: [],
324
+ standby: [],
325
+ unused: [],
326
+ }
327
+ }
328
+ if (newCT !== oldCT) {
329
+ newCT === '0' && props.selectedStandardSwitchId
330
+ ? (targetDevice.value.selected = '1')
331
+ : (targetDevice.value.selected = '0')
332
+ newCT === '1' && (targetDevice.value.selected = '1')
333
+ newCT === '2' && (targetDevice.value.selected = '2')
334
+ }
335
+ if (newCT === '0') {
336
+ ;(newTD.selected === '0' || newTD.selected === '1') &&
337
+ wizard.changeScheme(0)
338
+ newTD.selected === '3' && wizard.changeScheme(1)
339
+ }
340
+ if (newCT === '1') {
341
+ newTD.selected === '1' && wizard.changeScheme(2)
342
+ newTD.selected === '3' && wizard.changeScheme(3)
343
+ }
344
+ if (newCT === '2') {
345
+ newTD.selected === '2' && wizard.changeScheme(4)
346
+ newTD.selected === '3' && wizard.changeScheme(5)
347
+ }
348
+ },
349
+ { deep: true, immediate: true }
350
+ )
351
+
352
+ const onGetExistingStandardSwitches = (): void => {
353
+ emits('get-existing-standard-switches')
354
+ }
355
+
356
+ const onGetTcpStacks = (): void => {
357
+ emits('get-tcp-stacks')
358
+ }
359
+
360
+ watch(
361
+ () => wizard.selectedStepId,
362
+ (newSelectedStep: number) => {
363
+ if (newSelectedStep === 1) {
364
+ onGetExistingStandardSwitches()
365
+ }
366
+ if (newSelectedStep === 3) {
367
+ onGetTcpStacks()
368
+ }
369
+ if (newSelectedStep === 6 && flagSwitch !== targetDevice.value.switch) {
370
+ const nics = props.standardSwitchesInitial.find(
371
+ (sw) => sw.id === targetDevice.value.switch
372
+ ).nics
373
+ adapterStatus.value = {
374
+ active: nics.active || [],
375
+ standby: nics.standby || [],
376
+ unused: nics.unused || [],
377
+ }
378
+ coreAdapters.value = [
379
+ ...adapterStatus.value.active,
380
+ ...adapterStatus.value.standby,
381
+ ...adapterStatus.value.unused,
382
+ ]
383
+ flagSwitch = targetDevice.value.switch
384
+ }
385
+
386
+ if (newSelectedStep !== 7) return // If last step
387
+ if (wizard.isSelectedScheme(0)) {
388
+ readyCompleteFields.value = createZeroSchemeReadyCompleteFunc(
389
+ targetDevice.value,
390
+ portProperties.value,
391
+ ipFourSettings.value,
392
+ localization.value
393
+ )
394
+ return
395
+ }
396
+
397
+ if (wizard.isSelectedScheme(1)) {
398
+ readyCompleteFields.value = createFirstSchemeReadyCompleteFunc(
399
+ targetDevice.value,
400
+ portProperties.value,
401
+ ipFourSettings.value,
402
+ addedAdapters.value,
403
+ localization.value
404
+ )
405
+ return
406
+ }
407
+ if (wizard.isSelectedScheme(2)) {
408
+ readyCompleteFields.value = createSecondSchemeReadyCompleteFunc(
409
+ connectionSettings.value,
410
+ targetDevice.value,
411
+ localization.value
412
+ )
413
+ return
414
+ }
415
+ if (wizard.isSelectedScheme(3)) {
416
+ readyCompleteFields.value = createThirdSchemeReadyCompleteFunc(
417
+ connectionSettings.value,
418
+ targetDevice.value,
419
+ addedAdapters.value,
420
+ localization.value
421
+ )
422
+ return
423
+ }
424
+ if (wizard.isSelectedScheme(4)) {
425
+ readyCompleteFields.value = createFourthSchemeReadyCompleteFunc(
426
+ targetDevice.value.switch,
427
+ props.diagramsData,
428
+ adapterStatus.value,
429
+ localization.value
430
+ )
431
+ }
432
+ }
433
+ )
434
+
435
+ // Reset data
436
+ const reset = (): void => {
437
+ wizard.reset()
438
+ connectionTypeLocal.value = '0'
439
+ targetDevice.value = useDeepCopy(targetDeviceInitial)
440
+ connectionSettings.value = useDeepCopy(connectionSettingsInitial)
441
+ portProperties.value = useDeepCopy(portPropertiesInitial)
442
+ ipFourSettings.value = useDeepCopy(ipFourSettingsInitial)
443
+ coreAdapters.value = []
444
+ addedAdapters.value = []
445
+ adapterStatus.value = {
446
+ active: [],
447
+ standby: [],
448
+ unused: [],
449
+ }
450
+ }
451
+
452
+ const isShowNoConnectedActiveAdaptersModal = ref(false)
453
+ const isShowNoActiveAdaptersModal = ref(false)
454
+
455
+ const showNoConnectedActiveAdaptersModal = (): void => {
456
+ isShowNoConnectedActiveAdaptersModal.value = true
457
+ }
458
+ const onHideNoConnectedActiveAdaptersModal = (): void => {
459
+ isShowNoConnectedActiveAdaptersModal.value = false
460
+ }
461
+ const showNoActiveAdaptersModal = (): void => {
462
+ isShowNoActiveAdaptersModal.value = true
463
+ }
464
+ const onHideNoActiveAdaptersModal = (): void => {
465
+ isShowNoActiveAdaptersModal.value = false
466
+ }
467
+
468
+ const onConfirmNoActiveAdaptersModal = (): void => {
469
+ onHideNoConnectedActiveAdaptersModal()
470
+ onHideNoActiveAdaptersModal()
471
+ wizard.selectStepHard(wizard.waitingStepId)
472
+ }
473
+
474
+ const onGetFreeAdapters = (showModal: () => void): void => {
475
+ emits('get-free-adapters', showModal)
476
+ }
477
+
478
+ const checkFinal = async (): Promise<UI_I_ArbitraryObject<string>> => {
479
+ let data:
480
+ | UI_I_AddNetworkingSecondOrThirdSchemeDataSend
481
+ | UI_I_AddNetworkingZeroOrFirstSchemeDataSend
482
+ | UI_I_AddNetworkingFourthOrFifthSchemeDataSend
483
+ | API_UI_I_SwitchItem
484
+ | null = null
485
+
486
+ let type: 'network' | 'vmkernel' | 'adapter'
487
+
488
+ if (wizard.isSelectedScheme(0) || wizard.isSelectedScheme(1)) {
489
+ const vlan = getVlanId(portProperties.value.vlanId)
490
+
491
+ data = addNetworkingZeroOrFirstSchemeDataFunc(
492
+ targetDevice.value,
493
+ Number(vlan),
494
+ portProperties.value,
495
+ ipFourSettings.value,
496
+ wizard.isSelectedScheme(1),
497
+ adapterStatus.value
498
+ )
499
+
500
+ type = 'vmkernel'
501
+ }
502
+
503
+ if (wizard.isSelectedScheme(2) || wizard.isSelectedScheme(3)) {
504
+ const vlan = getVlanId(connectionSettings.value.vlanId)
505
+
506
+ data = addNetworkingSecondOrThirdSchemeDataFunc(
507
+ connectionSettings.value,
508
+ targetDevice.value,
509
+ Number(vlan),
510
+ wizard.isSelectedScheme(2),
511
+ adapterStatus.value
512
+ )
513
+
514
+ type = 'network'
515
+ }
516
+
517
+ if (wizard.isSelectedScheme(4) || wizard.isSelectedScheme(5)) {
518
+ data = addNetworkingFourthOrFifthSchemeDataFunc(
519
+ targetDevice.value.switch,
520
+ wizard.isSelectedScheme(4),
521
+ adapterStatus.value,
522
+ props.diagramsData,
523
+ targetDevice.value.mtu
524
+ )
525
+
526
+ type = 'adapter'
527
+ }
528
+
529
+ return new Promise((resolve, _reject) =>
530
+ emits(
531
+ 'add-networking-data-validate',
532
+ data,
533
+ type,
534
+ (err_arg: UI_I_ArbitraryObject<string>): void => {
535
+ resolve(err_arg)
536
+ }
537
+ )
538
+ )
539
+ }
540
+
541
+ const finalValidationFunc = async (
542
+ value: UI_I_WizardStep[]
543
+ ): Promise<UI_I_ValidationReturn> => {
544
+ let stepHasError = false
545
+
546
+ // wizard.setLoader(true)
547
+
548
+ const validationFields: {
549
+ [key: string]: string
550
+ } = await checkFinal()
551
+
552
+ // wizard.setLoader(false)
553
+
554
+ for (const fieldName in validationFields) {
555
+ const stepId = wizard.getStepIdByFieldName(fieldName)
556
+
557
+ if (stepId !== -1) {
558
+ stepHasError = wizard.setValidation(stepId, fieldName, {
559
+ fieldMessage: validationFields[fieldName],
560
+ alertMessage: validationFields[fieldName],
561
+ })
562
+ }
563
+ }
564
+
565
+ return {
566
+ stepHasError,
567
+ newValue: value,
568
+ }
569
+ }
570
+
571
+ const validationFunc = async (
572
+ value: UI_I_WizardStep[],
573
+ currentStep: UI_I_WizardStep,
574
+ nextStep: UI_I_WizardStep
575
+ ): Promise<UI_I_ValidationReturn> => {
576
+ let stepHasError = false
577
+ let stepShouldStop = {
578
+ ifOnCurrentStep: false,
579
+ ifFromAnyStep: false,
580
+ stoppageStepId: -1,
581
+ }
582
+
583
+ if (wizard.isValidateForStep(1, currentStep.id, nextStep.id)) {
584
+ const targetDeviceValidation = checkTargetDeviceSync(
585
+ localization.value,
586
+ targetDevice.value,
587
+ wizard,
588
+ value
589
+ )
590
+
591
+ value = targetDeviceValidation.newValue
592
+
593
+ stepHasError = stepHasError || targetDeviceValidation.stepHasError
594
+ }
595
+
596
+ if (wizard.isValidateForStep(2, currentStep.id, nextStep.id)) {
597
+ wizard.waitingStepId = nextStep.id
598
+
599
+ const adapterValidation = checkAdaptersSync(
600
+ localization.value,
601
+ adapterStatus.value,
602
+ value,
603
+ currentStep.id,
604
+ nextStep.id,
605
+ props.freeAdapters,
606
+ showNoActiveAdaptersModal,
607
+ showNoConnectedActiveAdaptersModal
608
+ )
609
+
610
+ value = adapterValidation.newValue
611
+
612
+ stepShouldStop = adapterValidation.stepShouldStop || stepShouldStop
613
+
614
+ stepHasError = stepHasError || adapterValidation.stepHasError
615
+ }
616
+
617
+ if (wizard.isValidateForStep(3, currentStep.id, nextStep.id)) {
618
+ const labelValidation = await checkNetworkAsync(
619
+ value,
620
+ portProperties.value.networkLabel,
621
+ 3,
622
+ UI_E_ValidationFields.PORT_PROPERTIES_NETWORK,
623
+ emits,
624
+ localization.value,
625
+ wizard
626
+ )
627
+
628
+ value = labelValidation.newValue
629
+
630
+ const portPropertiesValidation = checkPortPropertiesSync(
631
+ localization.value,
632
+ portProperties.value,
633
+ wizard,
634
+ value
635
+ )
636
+
637
+ value = portPropertiesValidation.newValue
638
+
639
+ stepHasError =
640
+ stepHasError ||
641
+ labelValidation.stepHasError ||
642
+ portPropertiesValidation.stepHasError
643
+ }
644
+
645
+ if (wizard.isValidateForStep(4, currentStep.id, nextStep.id)) {
646
+ const ipValidation = checkIpFourSettingsSync(
647
+ localization.value,
648
+ ipFourSettings.value,
649
+ wizard,
650
+ value
651
+ )
652
+
653
+ value = ipValidation.newValue
654
+
655
+ stepHasError = stepHasError || ipValidation.stepHasError
656
+ }
657
+
658
+ if (wizard.isValidateForStep(5, currentStep.id, nextStep.id)) {
659
+ const labelValidation = await checkNetworkAsync(
660
+ value,
661
+ connectionSettings.value.networkLabel,
662
+ 5,
663
+ UI_E_ValidationFields.CONNECTION_SETTINGS_NETWORK,
664
+ emits,
665
+ localization.value,
666
+ wizard
667
+ )
668
+
669
+ value = labelValidation.newValue
670
+
671
+ const connectionSettingsValidation = checkConnectionSettingsSync(
672
+ localization.value,
673
+ connectionSettings.value,
674
+ wizard,
675
+ value
676
+ )
677
+
678
+ value = connectionSettingsValidation.newValue
679
+
680
+ stepHasError =
681
+ stepHasError ||
682
+ labelValidation.stepHasError ||
683
+ connectionSettingsValidation.stepHasError
684
+ }
685
+
686
+ // if (wizard.isValidateForStep(6, currentStep.id, nextStep.id)) {
687
+ // const connectionSettingsValidation = checkConnectionSettingsSync(
688
+ // localization.value,
689
+ // connectionSettings.value,
690
+ // wizard,
691
+ // value
692
+ // )
693
+ //
694
+ // value = connectionSettingsValidation.newValue
695
+ //
696
+ // stepHasError =
697
+ // stepHasError ||
698
+ // labelValidation.stepHasError ||
699
+ // connectionSettingsValidation.stepHasError
700
+ // }
701
+
702
+ return {
703
+ newValue: value,
704
+ stepHasError,
705
+ stepShouldStop,
706
+ }
707
+ }
708
+
709
+ const onChangeSteps = async (value: UI_I_WizardStep[]): Promise<void> =>
710
+ wizard.changeSteps(value, validationFunc, finalValidationFunc)
711
+
712
+ const onHideAddNetworkingModal = (): void => {
713
+ emits('hide')
714
+ reset()
715
+ }
716
+
717
+ const onSubmit = async (): Promise<void> => {
718
+ let data:
719
+ | UI_I_AddNetworkingSecondOrThirdSchemeDataSend
720
+ | UI_I_AddNetworkingZeroOrFirstSchemeDataSend
721
+ | UI_I_AddNetworkingFourthOrFifthSchemeDataSend
722
+ | API_UI_I_SwitchItem
723
+ | null = null
724
+
725
+ let type: 'network' | 'vmkernel' | 'adapter' = 'network'
726
+
727
+ if (wizard.isSelectedScheme(0) || wizard.isSelectedScheme(1)) {
728
+ const vlan = getVlanId(portProperties.value.vlanId)
729
+ type = 'vmkernel'
730
+ data = addNetworkingZeroOrFirstSchemeDataFunc(
731
+ targetDevice.value,
732
+ Number(vlan),
733
+ portProperties.value,
734
+ ipFourSettings.value,
735
+ wizard.isSelectedScheme(1),
736
+ adapterStatus.value
737
+ )
738
+ }
739
+
740
+ if (wizard.isSelectedScheme(2) || wizard.isSelectedScheme(3)) {
741
+ const vlan = getVlanId(connectionSettings.value.vlanId)
742
+ type = 'network'
743
+ data = addNetworkingSecondOrThirdSchemeDataFunc(
744
+ connectionSettings.value,
745
+ targetDevice.value,
746
+ Number(vlan),
747
+ wizard.isSelectedScheme(2),
748
+ adapterStatus.value
749
+ )
750
+ }
751
+
752
+ if (wizard.isSelectedScheme(4) || wizard.isSelectedScheme(5)) {
753
+ type = 'adapter'
754
+ data = addNetworkingFourthOrFifthSchemeDataFunc(
755
+ targetDevice.value.switch,
756
+ wizard.isSelectedScheme(4),
757
+ adapterStatus.value,
758
+ props.diagramsData,
759
+ targetDevice.value.mtu
760
+ )
761
+ }
762
+
763
+ data &&
764
+ emits('send-add-networking-data', data, type, onHideAddNetworkingModal)
765
+ }
766
+
767
+ onMounted(() => {
768
+ hostname.value = location.hostname
769
+ })
770
+
771
+ watch(
772
+ () => props.isNetworkingLoading,
773
+ (newValue: boolean) => {
774
+ wizard.setLoader(newValue)
775
+ },
776
+ {
777
+ immediate: true,
778
+ }
779
+ )
780
+
781
+ watch(
782
+ props.tcpStacks,
783
+ (newValue: UI_I_TCPStack[]) => {
784
+ portProperties.value.tcp = newValue?.[0]?.id || ''
785
+ ipFourSettings.value.static.defaultGateway.value =
786
+ newValue?.[0]?.gateway || ''
787
+ },
788
+ { deep: true }
789
+ )
790
+ </script>
791
+
792
+ <style scoped lang="scss">
793
+ :deep(.modal) {
794
+ & > .modal-dialog > .modal-content > .modal-body {
795
+ height: calc(100% - 110px);
796
+ .disabled-on-time {
797
+ opacity: 0.4;
798
+ pointer-events: none;
799
+ }
800
+ }
801
+ }
802
+ :deep(.disabled-on-time) {
803
+ opacity: 0.4;
804
+ pointer-events: none;
805
+ }
806
+ :deep(.wizard-content-container.add-networking-step) {
807
+ padding: 0px 15px 10px 10px;
808
+
809
+ .danger-not-valid {
810
+ border: 2px solid red;
811
+ border-bottom: 1px solid #db2100;
812
+ }
813
+ .tooltip-field {
814
+ margin-right: 12px;
815
+ }
816
+
817
+ .horizontal-flex-container {
818
+ margin-bottom: 5px;
819
+ min-height: 36px;
820
+ display: flex;
821
+ flex-direction: row;
822
+ }
823
+ .property-label-group {
824
+ width: 140px;
825
+ }
826
+ .disabled {
827
+ opacity: 0.4;
828
+ pointer-events: none;
829
+ }
830
+ .wizard-content-port {
831
+ .margin-left-property-value-group {
832
+ margin-left: 10px;
833
+ }
834
+
835
+ .property-value-group {
836
+ padding-left: 23px;
837
+ }
838
+ .horizontal-flex-container {
839
+ min-height: 24px;
840
+ margin-bottom: 0;
841
+ }
842
+ .radio {
843
+ min-height: 39px;
844
+ margin: 10px 0;
845
+ }
846
+ .form-block {
847
+ margin: 12px 0 24px 0;
848
+ padding-left: 23px;
849
+
850
+ &.form-block-ipv {
851
+ input[type='text'] {
852
+ width: 143px;
853
+ }
854
+ .horizontal-flex-container > label {
855
+ margin-right: 50px;
856
+ }
857
+ }
858
+ }
859
+ .edit-vmkernel-adapter-section {
860
+ padding-top: 12px;
861
+
862
+ label {
863
+ input[type='checkbox'] {
864
+ margin-right: 4px;
865
+ transform: translateY(1px);
866
+ }
867
+ }
868
+ .horizontal-flex-container {
869
+ margin-bottom: 5px;
870
+ }
871
+ }
872
+ .port-properties-network-label {
873
+ width: 280px;
874
+ }
875
+ .port-properties-padding {
876
+ padding-top: 8px;
877
+ }
878
+ .port-properties-mtu-selector {
879
+ margin-right: 12px;
880
+ }
881
+ .port-properties-mtu-container {
882
+ display: flex;
883
+ }
884
+ select {
885
+ height: 24px;
886
+ }
887
+ }
888
+ .nw-property-value-group {
889
+ display: inline;
890
+ }
891
+ }
892
+
893
+ :deep(.modal-body-content.modal-body-content__confirmation) {
894
+ display: flex;
895
+ .confirm-icon-container {
896
+ margin-right: 20px;
897
+ }
898
+ .preserve-newlines {
899
+ white-space: pre-line;
900
+ font-size: 15px;
901
+ }
902
+ }
903
+
904
+ .add-networking-wizard.is-dark {
905
+ :deep(.wizard-content-container.add-networking-step) {
906
+ .ready-complete-container {
907
+ background-color: var(--pannel-bg-color);
908
+ margin-top: 12px;
909
+
910
+ span {
911
+ color: var(--description-color);
912
+ }
913
+ }
914
+
915
+ .add-networking-radio-button-description {
916
+ color: var(--description-color);
917
+ }
918
+
919
+ .property-label-group {
920
+ color: var(--main-color-mode2);
921
+ }
922
+ .flex-property-label-group {
923
+ color: var(--main-color-mode2);
924
+ }
925
+ .flex-property-value-group {
926
+ select {
927
+ color: #fff;
928
+ }
929
+ }
930
+ .failover-order-master {
931
+ .secondary-title label {
932
+ color: #fff;
933
+ }
934
+ }
935
+ .k-grid-content {
936
+ background-color: var(--modal-bg-color);
937
+ }
938
+ .vui-action-bar {
939
+ background-color: var(--pannel-bg-color);
940
+ color: var(--title-color);
941
+ padding: 8px 0 3px;
942
+
943
+ .action-link-container:not(.disabled) {
944
+ &:hover {
945
+ background-color: #29414e;
946
+ border: 1px solid #c7e9ff;
947
+ }
948
+ }
949
+
950
+ svg {
951
+ fill: #fff;
952
+ }
953
+ }
954
+
955
+ .k-grid.k-widget .k-grid-content {
956
+ border-left: 1px solid #485764;
957
+ border-right: 1px solid #485764;
958
+ border-top: 1px solid #ddd;
959
+ border-bottom: 1px solid #ddd;
960
+
961
+ tbody tr {
962
+ background-color: var(--modal-bg-color);
963
+
964
+ td {
965
+ border-bottom: 1px solid #666666;
966
+ border-color: #666666;
967
+ }
968
+
969
+ &:hover {
970
+ background-color: #324f61;
971
+ color: var(--title-color);
972
+
973
+ td {
974
+ border-bottom: 1px solid #ffffff;
975
+ }
976
+ }
977
+
978
+ &.k-state-selected {
979
+ background-color: #d8e3e9;
980
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;
981
+
982
+ td span {
983
+ color: #000;
984
+ }
985
+ }
986
+ }
987
+ }
988
+
989
+ .failover-order-details {
990
+ &.relative-container .absolute-container {
991
+ background-color: var(--pannel-bg-color);
992
+ color: var(--main-color-mode2);
993
+
994
+ &:has(.no-items-selected-container) {
995
+ background-color: transparent;
996
+ }
997
+ }
998
+
999
+ td span {
1000
+ color: var(--main-color-mode2);
1001
+ }
1002
+ button span {
1003
+ color: var(--main-color-mode2);
1004
+
1005
+ &:hover:not(.disabled) {
1006
+ background-color: transparent;
1007
+ }
1008
+ }
1009
+ button.active span {
1010
+ color: #fff;
1011
+ }
1012
+ }
1013
+ }
1014
+
1015
+ .select-adapter-info span {
1016
+ color: var(--main-color-mode2);
1017
+ }
1018
+ }
1019
+ </style>