bfg-common 1.3.201 → 1.3.203

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