bfg-common 1.2.111 → 1.2.113

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 (695) 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 +2108 -2108
  22. package/assets/localization/local_en.json +2111 -2111
  23. package/assets/localization/local_hy.json +2111 -2111
  24. package/assets/localization/local_kk.json +2111 -2111
  25. package/assets/localization/local_ru.json +2111 -2111
  26. package/assets/localization/local_zh.json +2111 -2111
  27. package/assets/scss/clarity/clr-ui.min.css +8 -8
  28. package/assets/scss/common/animations.scss +28 -28
  29. package/assets/scss/common/global.scss +172 -172
  30. package/assets/scss/common/icons/icons-1.scss +188 -188
  31. package/assets/scss/common/icons/icons-2.scss +208 -208
  32. package/assets/scss/common/icons/icons-3.scss +176 -176
  33. package/assets/scss/common/icons/icons-4.scss +179 -179
  34. package/assets/scss/common/icons/icons-5.scss +53 -53
  35. package/assets/scss/common/icons/icons-6.scss +29 -29
  36. package/assets/scss/common/icons/icons.scss +15 -15
  37. package/assets/scss/common/mixins.scss +39 -39
  38. package/assets/scss/common/normalize.scss +320 -320
  39. package/assets/scss/common/theme.scss +230 -230
  40. package/assets/scss/common/utilities.scss +18 -18
  41. package/assets/scss/common/variables.scss +43 -43
  42. package/assets/scss/main.scss +13 -13
  43. package/components/atoms/DiagramIcon.vue +356 -356
  44. package/components/atoms/TheIcon.vue +1687 -1687
  45. package/components/atoms/TheIcon2.vue +1136 -1136
  46. package/components/atoms/alert/Alert.spec.ts +38 -38
  47. package/components/atoms/alert/Alert.vue +84 -84
  48. package/components/atoms/alert/Notification.spec.ts +34 -34
  49. package/components/atoms/alert/Notification.vue +167 -167
  50. package/components/atoms/alert/models/enums.ts +12 -12
  51. package/components/atoms/alert/models/interfaces.ts +27 -27
  52. package/components/atoms/alert/models/types.ts +7 -7
  53. package/components/atoms/autocomplete/Autocomplete.vue +236 -236
  54. package/components/atoms/collapse/CollapseNav.vue +164 -164
  55. package/components/atoms/collapse/CollapseNavItem.vue +190 -190
  56. package/components/atoms/collapse/models/interfaces.ts +10 -10
  57. package/components/atoms/combobox/Combobox.vue +147 -147
  58. package/components/atoms/datepicker/Datepicker.vue +612 -612
  59. package/components/atoms/datepicker/config/allShortMonths.ts +103 -103
  60. package/components/atoms/datepicker/config/datapicker.ts +43 -43
  61. package/components/atoms/datepicker/models/interfaces.ts +8 -8
  62. package/components/atoms/dropdown/Portlet.spec.ts +26 -26
  63. package/components/atoms/dropdown/Portlet.vue +111 -111
  64. package/components/atoms/dropdown/dropdown/Dropdown.vue +148 -148
  65. package/components/atoms/dropdown/dropdown/models/interfaces.ts +8 -8
  66. package/components/atoms/dropdown/tree/Tree.vue +134 -134
  67. package/components/atoms/dropdown/tree/models/interfaces.ts +9 -9
  68. package/components/atoms/input/Search.vue +16 -16
  69. package/components/atoms/list/SelectList.vue +62 -62
  70. package/components/atoms/list/SimpleList.vue +29 -29
  71. package/components/atoms/list/dragDropList/DragDropList.vue +139 -139
  72. package/components/atoms/list/dragDropList/config/events.ts +4 -4
  73. package/components/atoms/loader/BarLoader.vue +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/Preloader.spec.ts +24 -24
  77. package/components/atoms/modal/Modal.spec.ts +55 -55
  78. package/components/atoms/modal/Modal.vue +250 -244
  79. package/components/atoms/modal/bySteps/BySteps.spec.ts +66 -66
  80. package/components/atoms/modal/bySteps/BySteps.vue +247 -247
  81. package/components/atoms/modal/byStepsSecond/ByStepsSecond.vue +175 -175
  82. package/components/atoms/models/interfaces.ts +12 -12
  83. package/components/atoms/nav/NavBar.spec.ts +34 -34
  84. package/components/atoms/nav/NavBar.vue +140 -140
  85. package/components/atoms/nav/VerticalNavBar.vue +89 -89
  86. package/components/atoms/nav/models/interfaces.ts +5 -5
  87. package/components/atoms/notificationBar/NotificationBar.vue +170 -170
  88. package/components/atoms/notificationBar/models/enums.ts +13 -13
  89. package/components/atoms/notificationBar/models/interfaces.ts +6 -6
  90. package/components/atoms/notificationBar/models/types.ts +1 -1
  91. package/components/atoms/perPage/PerPage.vue +52 -52
  92. package/components/atoms/popover/Popover.vue +61 -61
  93. package/components/atoms/popup/SimplePopup.vue +90 -90
  94. package/components/atoms/select/TheSelect.vue +175 -175
  95. package/components/atoms/select/models/interfaces.ts +4 -4
  96. package/components/atoms/stack/StackBlock.vue +178 -178
  97. package/components/atoms/stack/StackContent.vue +63 -63
  98. package/components/atoms/step/VerticalStep.spec.ts +68 -68
  99. package/components/atoms/step/VerticalStep.vue +104 -104
  100. package/components/atoms/step/models/verticalStepItem.ts +7 -7
  101. package/components/atoms/table/compact/Compact.vue +526 -526
  102. package/components/atoms/table/compact/models/interfaces.ts +10 -10
  103. package/components/atoms/table/dataGrid/DataGrid.spec.ts +61 -61
  104. package/components/atoms/table/dataGrid/DataGrid.vue +1490 -1490
  105. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +206 -206
  106. package/components/atoms/table/dataGrid/DataGridPage.vue +191 -191
  107. package/components/atoms/table/dataGrid/DataGridPagination.vue +89 -89
  108. package/components/atoms/table/dataGrid/config/itemsPerPage.ts +20 -20
  109. package/components/atoms/table/dataGrid/models/interfaces.ts +25 -25
  110. package/components/atoms/table/dataGrid/models/types.ts +5 -5
  111. package/components/atoms/table/dataGrid/utils/constructDataTable.ts +32 -32
  112. package/components/atoms/table/info/Info.vue +60 -60
  113. package/components/atoms/table/info/models/interfaces.ts +9 -9
  114. package/components/atoms/table/simpleEvent/SimpleEvent.vue +98 -98
  115. package/components/atoms/table/simpleEvent/models/interfaces.ts +9 -9
  116. package/components/atoms/table/simpleInfo/SimpleInfo.vue +68 -68
  117. package/components/atoms/table/simpleInfo/models/interfaces.ts +4 -4
  118. package/components/atoms/table/simpleTable/SimpleTable.vue +293 -293
  119. package/components/atoms/table/simpleTable/models/interfaces.ts +10 -10
  120. package/components/atoms/tabs/Tabs.vue +217 -217
  121. package/components/atoms/tabs/VerticalTabs.vue +87 -81
  122. package/components/atoms/tabs/models/interfaces.ts +4 -4
  123. package/components/atoms/tabs/models/types.ts +1 -1
  124. package/components/atoms/tooltip/Models/interfaces.ts +4 -4
  125. package/components/atoms/tooltip/Signpost.vue +225 -225
  126. package/components/atoms/tooltip/Text.vue +37 -37
  127. package/components/atoms/tooltip/Tooltip.vue +57 -57
  128. package/components/atoms/tooltip/TooltipError.vue +113 -113
  129. package/components/common/accordion/Accordion.vue +176 -176
  130. package/components/common/accordion/Recursion.vue +216 -216
  131. package/components/common/accordion/models/enums.ts +5 -5
  132. package/components/common/accordion/models/interfaces.ts +15 -15
  133. package/components/common/accordion/models/types.ts +1 -1
  134. package/components/common/accordion/utils/accordion.ts +31 -31
  135. package/components/common/adapterManager/AdapterManager.vue +715 -715
  136. package/components/common/adapterManager/AddAdapterModal.vue +464 -464
  137. package/components/common/adapterManager/config/index.ts +19 -19
  138. package/components/common/adapterManager/ui/NoSelectedAdapter.vue +39 -39
  139. package/components/common/adapterManager/ui/SecondTitle.vue +37 -37
  140. package/components/common/adapterManager/ui/actions/ActionsBar.vue +93 -93
  141. package/components/common/adapterManager/ui/actions/AddAdapterButton.vue +28 -28
  142. package/components/common/adapterManager/ui/actions/MoveDownAdapterButton.vue +33 -33
  143. package/components/common/adapterManager/ui/actions/MoveUpAdapterButton.vue +33 -33
  144. package/components/common/adapterManager/ui/actions/RemoveAdapterButton.vue +34 -34
  145. package/components/common/adapterManager/ui/actions/VerticalSeparator.vue +10 -10
  146. package/components/common/adapterManager/ui/table/Adapters.vue +91 -91
  147. package/components/common/adapterManager/ui/table/Header.vue +89 -89
  148. package/components/common/adapterManager/ui/table/Table.vue +167 -167
  149. package/components/common/addNetworking/AddNetworking.vue +1000 -1000
  150. package/components/common/addNetworking/Wizard.vue +286 -286
  151. package/components/common/addNetworking/config/addNetworkingSteps.ts +438 -438
  152. package/components/common/addNetworking/config/index.ts +47 -47
  153. package/components/common/addNetworking/config/initialData.ts +78 -78
  154. package/components/common/addNetworking/config/portPropertiesStep.ts +31 -31
  155. package/components/common/addNetworking/config/selectSwitch.ts +19 -19
  156. package/components/common/addNetworking/config/sendData.ts +102 -102
  157. package/components/common/addNetworking/config/temporaryData.ts +7 -7
  158. package/components/common/addNetworking/config/validation.ts +23 -23
  159. package/components/common/addNetworking/mappers/mappers.ts +166 -166
  160. package/components/common/addNetworking/modals/SelectNetwork.vue +149 -149
  161. package/components/common/addNetworking/modals/SelectStandardSwitch.vue +125 -125
  162. package/components/common/addNetworking/modals/SelectSwitch.vue +114 -114
  163. package/components/common/addNetworking/models/enums.ts +6 -6
  164. package/components/common/addNetworking/models/interfaces.ts +208 -208
  165. package/components/common/addNetworking/models/types.ts +13 -13
  166. package/components/common/addNetworking/steps/ConnectionSettings.vue +269 -269
  167. package/components/common/addNetworking/steps/CreateStandardSwitch.vue +91 -91
  168. package/components/common/addNetworking/steps/Header.vue +52 -52
  169. package/components/common/addNetworking/steps/IpFourSettings.vue +361 -361
  170. package/components/common/addNetworking/steps/PhysicalAdapter.vue +24 -24
  171. package/components/common/addNetworking/steps/PortProperties.vue +492 -492
  172. package/components/common/addNetworking/steps/ReadyComplete.vue +29 -29
  173. package/components/common/addNetworking/steps/SelectConnectionType.vue +106 -106
  174. package/components/common/addNetworking/steps/SelectedTargetDevice.vue +558 -558
  175. package/components/common/addNetworking/utils/index.ts +212 -212
  176. package/components/common/browse/Browse.vue +182 -182
  177. package/components/common/browse/blocks/Container.vue +102 -102
  178. package/components/common/browse/blocks/contents/Files.vue +68 -68
  179. package/components/common/browse/blocks/info/Date.vue +21 -21
  180. package/components/common/browse/blocks/info/Size.vue +17 -17
  181. package/components/common/browse/blocks/info/Text.vue +16 -16
  182. package/components/common/browse/blocks/models/types.ts +1 -1
  183. package/components/common/browse/models/interfaces.ts +5 -5
  184. package/components/common/config/states.ts +67 -67
  185. package/components/common/context/Context.spec.ts +20 -20
  186. package/components/common/context/Context.vue +97 -97
  187. package/components/common/context/ContextRecursion.spec.ts +55 -55
  188. package/components/common/context/ContextRecursion.vue +251 -251
  189. package/components/common/context/models/interfaces.ts +26 -26
  190. package/components/common/details/DetailsItem.vue +106 -106
  191. package/components/common/details/DetailsList.vue +23 -23
  192. package/components/common/details/model/interfaces.ts +9 -9
  193. package/components/common/diagramMain/Diagram.vue +192 -192
  194. package/components/common/diagramMain/DiagramMain.vue +988 -985
  195. package/components/common/diagramMain/Header.vue +190 -190
  196. package/components/common/diagramMain/Highlights.vue +124 -124
  197. package/components/common/diagramMain/adapter/Adapter.vue +114 -114
  198. package/components/common/diagramMain/adapter/AdapterItem.vue +246 -246
  199. package/components/common/diagramMain/adapter/AdapterItems.vue +59 -59
  200. package/components/common/diagramMain/adapter/Block.vue +48 -48
  201. package/components/common/diagramMain/adapter/Contents.vue +110 -110
  202. package/components/common/diagramMain/adapter/Lines.vue +58 -58
  203. package/components/common/diagramMain/adapter/SecondBlock.vue +49 -49
  204. package/components/common/diagramMain/config/index.ts +51 -51
  205. package/components/common/diagramMain/config/initial.ts +37 -37
  206. package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +236 -236
  207. package/components/common/diagramMain/modals/MigrateVmkernelAdapter.vue +535 -535
  208. package/components/common/diagramMain/modals/config/adapterModal.ts +111 -111
  209. package/components/common/diagramMain/modals/config/diagramConfig.ts +17 -17
  210. package/components/common/diagramMain/modals/config/index.ts +57 -57
  211. package/components/common/diagramMain/modals/config/initial.ts +181 -181
  212. package/components/common/diagramMain/modals/config/migrateVmkernelAdapterSteps.ts +81 -81
  213. package/components/common/diagramMain/modals/config/networkModal.ts +343 -343
  214. package/components/common/diagramMain/modals/config/portModal.ts +209 -209
  215. package/components/common/diagramMain/modals/config/switchModal.ts +172 -172
  216. package/components/common/diagramMain/modals/config/vCenterModal.ts +34 -34
  217. package/components/common/diagramMain/modals/config/validation.ts +2 -2
  218. package/components/common/diagramMain/modals/config/vmKernelAdapter.ts +90 -90
  219. package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +41 -41
  220. package/components/common/diagramMain/modals/editSettings/EditSettings.vue +491 -491
  221. package/components/common/diagramMain/modals/editSettings/EditSettingsModal.vue +825 -714
  222. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +211 -211
  223. package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +183 -183
  224. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +161 -161
  225. package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +166 -166
  226. package/components/common/diagramMain/modals/editSettings/tabs/TrafficShaping.vue +393 -393
  227. package/components/common/diagramMain/modals/steps/ConnectionSettings.vue +206 -206
  228. package/components/common/diagramMain/modals/steps/SelectVmkernelAdapter.vue +221 -221
  229. package/components/common/diagramMain/modals/steps/VmkernelAdapterReadyComplete.vue +50 -50
  230. package/components/common/diagramMain/modals/utils/index.ts +9 -9
  231. package/components/common/diagramMain/modals/viewSettings/Info.vue +96 -96
  232. package/components/common/diagramMain/modals/viewSettings/ViewSettings.vue +171 -171
  233. package/components/common/diagramMain/modals/viewSettings/ViewSettingsModal.vue +93 -93
  234. package/components/common/diagramMain/models/enums.ts +26 -26
  235. package/components/common/diagramMain/models/interfaces.ts +565 -565
  236. package/components/common/diagramMain/models/types.ts +9 -9
  237. package/components/common/diagramMain/network/Block.vue +62 -62
  238. package/components/common/diagramMain/network/Contents.vue +253 -253
  239. package/components/common/diagramMain/network/Lines.vue +71 -71
  240. package/components/common/diagramMain/network/Network.vue +124 -124
  241. package/components/common/diagramMain/network/NoNetwork.vue +53 -53
  242. package/components/common/diagramMain/network/SecondBlock.vue +58 -58
  243. package/components/common/diagramMain/port/Port.vue +320 -320
  244. package/components/common/diagramMain/port/Ports.vue +41 -41
  245. package/components/common/diagramMain/switch/Switch.vue +82 -82
  246. package/components/common/diagramMain/switch/SwitchSelected.vue +35 -35
  247. package/components/common/diagramMain/utils/utils.ts +218 -218
  248. package/components/common/feedback/Buttons.vue +227 -227
  249. package/components/common/feedback/Message.vue +509 -509
  250. package/components/common/feedback/config/drawingPanel.ts +31 -31
  251. package/components/common/feedback/config/feedbackTabs.ts +24 -24
  252. package/components/common/feedback/models/interfaces.ts +19 -19
  253. package/components/common/feedback/models/types.ts +1 -1
  254. package/components/common/graph/Graph.vue +109 -109
  255. package/components/common/graph/utils/renderGraph.ts +389 -389
  256. package/components/common/headline/Headline.vue +32 -32
  257. package/components/common/help/navbar/left/Left.vue +164 -164
  258. package/components/common/help/navbar/left/models/interfaces.ts +6 -6
  259. package/components/common/help/navbar/right/Right.vue +139 -139
  260. package/components/common/help/navbar/right/models/interfaces.ts +4 -4
  261. package/components/common/home/Card.vue +63 -63
  262. package/components/common/home/ResourceBlock.vue +117 -117
  263. package/components/common/home/StatusContent.vue +47 -47
  264. package/components/common/home/alertsTable/AlertsTable.vue +105 -105
  265. package/components/common/home/alertsTable/config/config.ts +61 -61
  266. package/components/common/home/alertsTable/models/enums.ts +11 -11
  267. package/components/common/home/alertsTable/models/interfaces.ts +19 -19
  268. package/components/common/home/alertsTable/models/types.ts +18 -18
  269. package/components/common/home/config/configResourceMeterBlock.ts +25 -25
  270. package/components/common/home/models/interfaces.ts +59 -59
  271. package/components/common/home/models/types.ts +18 -18
  272. package/components/common/home/servicesTable/ServicesTable.vue +79 -79
  273. package/components/common/home/servicesTable/config/config.ts +62 -62
  274. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +359 -359
  275. package/components/common/mainNavigationPanel/models/interfaces.ts +6 -6
  276. package/components/common/mainNavigationPanel/models/types.ts +1 -1
  277. package/components/common/modals/Confirmation.vue +85 -85
  278. package/components/common/modals/Rename.vue +165 -165
  279. package/components/common/modals/config/defaultForm.ts +18 -18
  280. package/components/common/modals/config/renameLabelWidth.ts +3 -3
  281. package/components/common/modals/models/interfaces.ts +5 -5
  282. package/components/common/monitor/advanced/Advanced.vue +235 -235
  283. package/components/common/monitor/advanced/GraphView.vue +178 -178
  284. package/components/common/monitor/advanced/models/interfaces.ts +7 -7
  285. package/components/common/monitor/advanced/models/types.ts +1 -1
  286. package/components/common/monitor/advanced/table/Table.vue +90 -90
  287. package/components/common/monitor/advanced/table/config/performanceDatatable.ts +116 -116
  288. package/components/common/monitor/advanced/table/models/interfaces.ts +12 -12
  289. package/components/common/monitor/advanced/table/models/types.ts +10 -10
  290. package/components/common/monitor/advanced/tools/Tools.vue +428 -428
  291. package/components/common/monitor/advanced/tools/chartOptionsModal/ChartOptionsModal.vue +485 -485
  292. package/components/common/monitor/advanced/tools/chartOptionsModal/Notification.vue +33 -33
  293. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/Actions.vue +150 -150
  294. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/saveOptionsModal/SaveOptionsModal.vue +76 -76
  295. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/utils/optionsActions.ts +25 -25
  296. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/Counters.vue +94 -94
  297. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/Table.vue +136 -136
  298. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/config/tableConfig.ts +71 -71
  299. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/config/utils.ts +689 -689
  300. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/models/interfaces.ts +28 -28
  301. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/models/types.ts +5 -5
  302. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/Timespan.vue +79 -79
  303. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/Form.vue +501 -501
  304. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/config/dateForm.ts +59 -59
  305. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/Object.vue +176 -176
  306. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/config/objectTable.ts +54 -54
  307. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/models/interfaces.ts +4 -4
  308. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/models/types.ts +1 -1
  309. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/Metrics.vue +42 -42
  310. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/config/optionsMetrics.ts +116 -116
  311. package/components/common/monitor/advanced/tools/chartOptionsModal/models/interfaces.ts +19 -19
  312. package/components/common/monitor/advanced/tools/chartOptionsModal/models/types.ts +3 -3
  313. package/components/common/monitor/advanced/tools/config/advancedToolbar.ts +117 -117
  314. package/components/common/monitor/advanced/tools/models/interfaces.ts +4 -4
  315. package/components/common/monitor/advanced/tools/utils/countCores.ts +7 -7
  316. package/components/common/monitor/config/getValidDateByOption.ts +76 -76
  317. package/components/common/monitor/models/interfaces.ts +23 -23
  318. package/components/common/monitor/overview/Overview.vue +470 -470
  319. package/components/common/monitor/overview/filters/Filters.vue +220 -220
  320. package/components/common/monitor/overview/filters/config/filterOptions.ts +80 -80
  321. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +241 -241
  322. package/components/common/monitor/overview/filters/customIntervalModal/config/dateChecker.ts +37 -37
  323. package/components/common/monitor/overview/filters/models/interfaces.ts +7 -7
  324. package/components/common/monitor/overview/filters/models/types.ts +3 -3
  325. package/components/common/perPage/PerPage.vue +51 -51
  326. package/components/common/recursionTree/models/interfaces.ts +19 -19
  327. package/components/common/resource/models/interfaces.ts +9 -9
  328. package/components/common/resource/models/types.ts +1 -1
  329. package/components/common/resource/progressBlock/ProgressBlock.vue +105 -105
  330. package/components/common/resource/simple/Simple.vue +58 -58
  331. package/components/common/resource/simple/models/enums.ts +5 -5
  332. package/components/common/resource/utils.ts +33 -33
  333. package/components/common/select/button/ButtonDropdown.vue +100 -100
  334. package/components/common/select/button/models/interfaces.ts +6 -6
  335. package/components/common/select/radio/RadioGroup.vue +108 -108
  336. package/components/common/select/radio/models/interfaces.ts +8 -8
  337. package/components/common/shortcuts/Block.vue +83 -83
  338. package/components/common/shortcuts/Category.vue +40 -40
  339. package/components/common/shortcuts/Shortcuts.vue +44 -44
  340. package/components/common/shortcuts/models/interfaces.ts +10 -10
  341. package/components/common/spiceConsole/Drawer.vue +241 -241
  342. package/components/common/spiceConsole/SpiceConsole.vue +83 -83
  343. package/components/common/spiceConsole/keyboard/Keyboard.vue +402 -402
  344. package/components/common/spiceConsole/keyboard/config/keyboardRows.ts +891 -891
  345. package/components/common/spiceConsole/keyboard/models/interfaces.ts +17 -17
  346. package/components/common/spiceConsole/models/types.ts +1 -1
  347. package/components/common/split/horizontal/Horizontal.vue +306 -306
  348. package/components/common/split/horizontal/models/interfaces.ts +5 -5
  349. package/components/common/split/vertical/Vertical.vue +213 -213
  350. package/components/common/split/vertical/models/interfaces.ts +3 -3
  351. package/components/common/tools/Actions.vue +163 -163
  352. package/components/common/tools/models/interfaces.ts +6 -6
  353. package/components/common/vm/actions/add/Add.vue +687 -687
  354. package/components/common/vm/actions/add/FolderTreeView.vue +83 -83
  355. package/components/common/vm/actions/add/utils.ts +118 -118
  356. package/components/common/vm/actions/clone/models/interfaces.ts +7 -7
  357. package/components/common/vm/actions/common/config/capabilities.ts +339 -339
  358. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +267 -267
  359. package/components/common/vm/actions/common/customizeHardware/config/navItems.ts +19 -19
  360. package/components/common/vm/actions/common/customizeHardware/models/interfaces.ts +7 -7
  361. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +681 -681
  362. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +203 -203
  363. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/models/interfaces.ts +8 -8
  364. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +129 -129
  365. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/config/options.ts +13 -13
  366. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +246 -246
  367. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/config/fileTypes.ts +9 -9
  368. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/config/options.ts +11 -11
  369. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +55 -55
  370. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/models/types.ts +1 -1
  371. package/components/common/vm/actions/common/customizeHardware/virtualHardware/config/binaryOptions.ts +12 -12
  372. package/components/common/vm/actions/common/customizeHardware/virtualHardware/config/dropdownItems.ts +52 -52
  373. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuHotPlug.vue +49 -49
  374. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuModel.vue +220 -220
  375. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Hv.vue +93 -93
  376. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Iommu.vue +54 -54
  377. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/MaxCpu.vue +105 -105
  378. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Pc.vue +54 -54
  379. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Sa.vue +104 -104
  380. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/config/cpuOptions.ts +19 -19
  381. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +155 -155
  382. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/config/options.ts +28 -28
  383. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/tooltip/Tooltip.vue +58 -58
  384. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryHotPlug.vue +53 -53
  385. package/components/common/vm/actions/common/customizeHardware/virtualHardware/models/interfaces.ts +125 -125
  386. package/components/common/vm/actions/common/customizeHardware/virtualHardware/models/types.ts +4 -4
  387. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/DiskFile.vue +24 -24
  388. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/Location.vue +171 -171
  389. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/MaximumSize.vue +27 -27
  390. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +2 -1
  391. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/cache/Cache.vue +80 -80
  392. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/cache/config/options.ts +7 -7
  393. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/limitIops/LimitIops.vue +151 -151
  394. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/limitIops/config/options.ts +28 -28
  395. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/Mode.vue +87 -87
  396. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/config/options.ts +18 -18
  397. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/Provisioning.vue +87 -87
  398. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/config/options.ts +15 -15
  399. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/Sharing.vue +85 -85
  400. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/config/options.ts +12 -12
  401. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/Location.vue +141 -141
  402. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +288 -288
  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/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/config/options.ts +11 -11
  407. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +157 -157
  408. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/config/options.ts +7 -7
  409. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIo.vue +44 -44
  410. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +49 -49
  411. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/config/options.ts +10 -10
  412. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +27 -27
  413. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -41
  414. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelection.vue +56 -56
  415. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +68 -68
  416. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/config/options.ts +6 -6
  417. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/InputDevices.vue +21 -21
  418. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +27 -27
  419. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/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/config/options.ts +11 -11
  423. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/Model.vue +57 -57
  424. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/config/options.ts +10 -10
  425. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +82 -82
  426. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/config/options.ts +14 -14
  427. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +181 -181
  428. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptions.vue +110 -110
  429. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/Menu.vue +45 -45
  430. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/Secure.vue +45 -45
  431. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +50 -50
  432. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/config/config.ts +14 -14
  433. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +83 -83
  434. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/config/config.ts +11 -11
  435. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/models/interfaces.ts +8 -8
  436. package/components/common/vm/actions/common/customizeHardware/vmoptions/models/interfaces.ts +34 -34
  437. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/FileTransfer.vue +51 -51
  438. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/FolderSharing.vue +50 -50
  439. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/PlaybackCompression.vue +51 -51
  440. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/PowerControl.vue +49 -49
  441. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/ImgCompression.vue +84 -84
  442. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/config/config.ts +14 -14
  443. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/JpegCompression.vue +84 -84
  444. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/config/config.ts +12 -12
  445. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/config/config.ts +6 -6
  446. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/MouseMode.vue +52 -52
  447. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/config/config.ts +11 -11
  448. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +136 -136
  449. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/models/interfaces.ts +5 -5
  450. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/utils.ts +12 -12
  451. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/SharePolicy.vue +52 -52
  452. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/config/config.ts +11 -11
  453. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/StreamingMode.vue +84 -84
  454. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/config/config.ts +12 -12
  455. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/type/Type.vue +84 -84
  456. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/type/config/config.ts +7 -7
  457. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +56 -56
  458. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/config/config.ts +14 -14
  459. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/ZlibCompression.vue +84 -84
  460. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/config/config.ts +12 -12
  461. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/Tools.vue +63 -63
  462. package/components/common/vm/actions/common/models/enums.ts +89 -89
  463. package/components/common/vm/actions/common/models/interfaces.ts +126 -126
  464. package/components/common/vm/actions/common/models/types.ts +65 -65
  465. package/components/common/vm/actions/common/readyToComplete/ReadyToComplete.vue +15 -15
  466. package/components/common/vm/actions/common/select/compatibility/Compatibility.vue +151 -151
  467. package/components/common/vm/actions/common/select/computeResource/ComputeResource.spec.ts +479 -479
  468. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +170 -170
  469. package/components/common/vm/actions/common/select/computeResource/TreeView.vue +126 -126
  470. package/components/common/vm/actions/common/select/createType/CreateType.vue +61 -61
  471. package/components/common/vm/actions/common/select/createType/config/items.ts +26 -26
  472. package/components/common/vm/actions/common/select/models/interfaces.ts +32 -32
  473. package/components/common/vm/actions/common/select/models/types.ts +46 -46
  474. package/components/common/vm/actions/common/select/name/Name.vue +215 -215
  475. package/components/common/vm/actions/common/select/os/os.vue +221 -221
  476. package/components/common/vm/actions/common/select/storage/models/types.ts +15 -15
  477. package/components/common/vm/actions/editSettings/EditSettings.vue +316 -316
  478. package/components/common/vm/actions/editSettings/models/types.ts +23 -23
  479. package/components/common/vm/actions/editSettings/utils.ts +45 -45
  480. package/components/common/vm/actions/models/interfaces.ts +6 -6
  481. package/components/common/vm/actions/models/types.ts +11 -11
  482. package/components/common/vm/actions/utils.ts +221 -221
  483. package/components/common/wizards/datastore/add/Add.vue +383 -383
  484. package/components/common/wizards/datastore/add/config/stepItems.ts +160 -160
  485. package/components/common/wizards/datastore/add/local/Local.vue +67 -67
  486. package/components/common/wizards/datastore/add/local/createName/CreateName.vue +159 -159
  487. package/components/common/wizards/datastore/add/local/createName/config/defaultForm.ts +15 -15
  488. package/components/common/wizards/datastore/add/models/interfaces.ts +35 -35
  489. package/components/common/wizards/datastore/add/models/types.ts +14 -14
  490. package/components/common/wizards/datastore/add/nfs/Nfs.vue +94 -94
  491. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +95 -95
  492. package/components/common/wizards/datastore/add/nfs/accessibility/config/tabsPannel.ts +24 -24
  493. package/components/common/wizards/datastore/add/nfs/accessibility/models/interfaces.ts +9 -9
  494. package/components/common/wizards/datastore/add/nfs/accessibility/models/types.ts +5 -5
  495. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/TablesView.vue +141 -141
  496. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/config/compatibleTable.ts +54 -54
  497. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/config/hostsTableItems.ts +75 -75
  498. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/config/incompatibleTable.ts +68 -68
  499. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/config/tableKeys.ts +15 -15
  500. package/components/common/wizards/datastore/add/nfs/configuration/Configuration.vue +377 -377
  501. package/components/common/wizards/datastore/add/nfs/configuration/config/defaultForm.ts +33 -33
  502. package/components/common/wizards/datastore/add/nfs/configuration/models/interfaces.ts +12 -12
  503. package/components/common/wizards/datastore/add/nfs/configuration/serversList/DeletePopover.vue +97 -97
  504. package/components/common/wizards/datastore/add/nfs/configuration/serversList/ServersList.vue +123 -123
  505. package/components/common/wizards/datastore/add/nfs/configuration/serversList/config/serversListConfig.ts +41 -41
  506. package/components/common/wizards/datastore/add/nfs/configuration/serversList/config/tableKeys.ts +3 -3
  507. package/components/common/wizards/datastore/add/nfs/configuration/serversList/models/interfaces.ts +11 -11
  508. package/components/common/wizards/datastore/add/nfs/configuration/serversList/models/types.ts +1 -1
  509. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/config/radioOptions.ts +24 -24
  510. package/components/common/wizards/datastore/add/nfs/version/Version.vue +42 -42
  511. package/components/common/wizards/datastore/add/nfs/version/config/versionOptions.ts +20 -20
  512. package/components/common/wizards/datastore/add/readyComplete/ReadyComplete.vue +78 -78
  513. package/components/common/wizards/datastore/add/readyComplete/config/propertiesDetails.ts +165 -165
  514. package/components/common/wizards/datastore/add/readyComplete/models/interfaces.ts +4 -4
  515. package/components/common/wizards/datastore/add/sharedStorm/SharedStorm.vue +85 -85
  516. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/DeviceSelection.vue +447 -447
  517. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/config/defaultForm.ts +18 -18
  518. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/config/selectOptions.ts +14 -14
  519. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/HostTable.vue +131 -131
  520. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/config/hostsTable.ts +87 -87
  521. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/config/tableKeys.ts +11 -11
  522. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/models/interfaces.ts +55 -55
  523. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/models/types.ts +14 -14
  524. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/PartitionConfiguration.vue +230 -230
  525. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/config/selectOptions.ts +46 -46
  526. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/graphicTooltip/graphicTooltip.vue +64 -64
  527. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/sizeGraphic/sizeGraphic.vue +225 -225
  528. package/components/common/wizards/datastore/add/sharedStorm/version/Version.vue +39 -39
  529. package/components/common/wizards/datastore/add/sharedStorm/version/config/versionOptions.ts +21 -21
  530. package/components/common/wizards/datastore/add/types/Types.vue +77 -77
  531. package/components/common/wizards/datastore/add/types/config/typeOptions.ts +39 -39
  532. package/components/common/wizards/datastore/add/utils.ts +69 -69
  533. package/components/common/wizards/vm/common/Tooltip.vue +74 -74
  534. package/components/common/wizards/vm/common/readyComplete/ReadyComplete.vue +15 -15
  535. package/components/common/wizards/vm/migrate/Migrate.vue +204 -204
  536. package/components/common/wizards/vm/migrate/config/constructDataReady.ts +82 -82
  537. package/components/common/wizards/vm/migrate/contentHeading/ContentHeading.vue +31 -106
  538. package/components/common/wizards/vm/migrate/models/enums.ts +6 -6
  539. package/components/common/wizards/vm/migrate/models/interfaces.ts +13 -13
  540. package/components/common/wizards/vm/migrate/models/types.ts +5 -5
  541. package/components/common/wizards/vm/migrate/select/storage/Storage.vue +136 -136
  542. package/components/common/wizards/vm/migrate/select/storage/config/tabsPannel.ts +18 -18
  543. package/components/common/wizards/vm/migrate/select/storage/configure/batch/Batch.vue +61 -61
  544. package/components/common/wizards/vm/migrate/select/storage/configure/disk/Disk.vue +73 -73
  545. package/components/common/wizards/vm/migrate/select/storage/diskFormat/DiskFormat.vue +68 -68
  546. package/components/common/wizards/vm/migrate/select/storage/diskFormat/config/formatOptions.ts +22 -22
  547. package/components/common/wizards/vm/migrate/select/storage/models/interfaces.ts +14 -14
  548. package/components/common/wizards/vm/migrate/select/storage/models/types.ts +3 -3
  549. package/components/common/wizards/vm/migrate/select/storage/policy/Policy.vue +83 -83
  550. package/components/common/wizards/vm/migrate/select/storage/selectedPerDisk/SelectedPerDisk.vue +84 -84
  551. package/components/common/wizards/vm/migrate/select/storage/table/datastore/Datastore.vue +105 -105
  552. package/components/common/wizards/vm/migrate/select/storage/table/datastore/config/config.ts +154 -154
  553. package/components/common/wizards/vm/migrate/select/storage/table/datastore/models/types.ts +15 -15
  554. package/components/common/wizards/vm/migrate/select/storage/table/disk/Disk.vue +73 -73
  555. package/components/common/wizards/vm/migrate/select/storage/table/disk/config/config.ts +102 -102
  556. package/components/common/wizards/vm/migrate/select/storage/table/disk/models/interfaces.ts +9 -9
  557. package/components/common/wizards/vm/migrate/select/storage/table/disk/models/types.ts +9 -9
  558. package/components/common/wizards/vm/migrate/select/type/Type.vue +38 -38
  559. package/components/common/wizards/vm/migrate/select/type/config/typeOptions.ts +41 -41
  560. package/components/common/wizards/vm/migrate/select/type/models/interfaces.ts +5 -5
  561. package/components/common/wizards/vm/migrate/utils.ts +125 -125
  562. package/components/content/Hint.vue +24 -24
  563. package/components/models/interfaces.ts +14 -14
  564. package/composables/deepCopy.ts +21 -21
  565. package/composables/useDiff.ts +15 -15
  566. package/composables/useLocalStorage.ts +45 -45
  567. package/composables/useThrottle.ts +32 -32
  568. package/composables/useUniqueId.ts +5 -5
  569. package/config/regExp.ts +13 -13
  570. package/eslint/index.js +15 -15
  571. package/eslint/no-import-type.js +17 -17
  572. package/eslint/no-invalid-type-prefix.js +32 -32
  573. package/models/composables/useMyFetch/interfaces.ts +4 -4
  574. package/models/composables/useMyFetch/types.ts +1 -1
  575. package/models/enums.ts +21 -21
  576. package/models/interfaces.ts +29 -29
  577. package/models/plugins/date/interfaces.ts +5 -5
  578. package/models/plugins/date/types.ts +1 -1
  579. package/models/plugins/validation/interfaces.ts +21 -21
  580. package/models/plugins/validation/types.ts +1 -1
  581. package/models/store/host/interfaces.ts +38 -38
  582. package/models/store/network/interfaces.ts +13 -13
  583. package/models/store/vm/interfaces.ts +213 -213
  584. package/models/types.ts +6 -6
  585. package/modules/fixContentBuild/index.ts +92 -92
  586. package/modules/fixSpiceConsoleBuild/index.ts +28 -28
  587. package/modules/replaceEnv/index.ts +40 -40
  588. package/nuxt.config.ts +8 -8
  589. package/package.json +41 -41
  590. package/plugins/binary.ts +122 -122
  591. package/plugins/date.ts +179 -179
  592. package/plugins/recursion.ts +230 -230
  593. package/plugins/spice-console/spice.console.ts +18 -18
  594. package/plugins/text.ts +48 -48
  595. package/plugins/validation.ts +172 -172
  596. package/public/spice-console/application/WorkerProcess.js +3350 -3350
  597. package/public/spice-console/application/WorkerProcess_back.js +3144 -3144
  598. package/public/spice-console/application/WorkerProcess_meta.js +3102 -3102
  599. package/public/spice-console/application/WorkerProcess_reverse.js +3214 -3214
  600. package/public/spice-console/application/agent.js +175 -175
  601. package/public/spice-console/application/application.js +641 -641
  602. package/public/spice-console/application/checkActivity.js +50 -50
  603. package/public/spice-console/application/clientgui.js +842 -842
  604. package/public/spice-console/application/clipboard/clipboarddataparser.js +92 -92
  605. package/public/spice-console/application/clipboard/local/localClipboard.js +110 -110
  606. package/public/spice-console/application/clipboard.js +82 -82
  607. package/public/spice-console/application/imagecache.js +81 -81
  608. package/public/spice-console/application/inputmanager.js +270 -270
  609. package/public/spice-console/application/packetfactory.js +202 -202
  610. package/public/spice-console/application/packetfilter.js +103 -103
  611. package/public/spice-console/application/packetprocess.js +75 -75
  612. package/public/spice-console/application/rasteroperation.js +118 -118
  613. package/public/spice-console/application/spiceconnection.js +197 -197
  614. package/public/spice-console/application/stream.js +67 -67
  615. package/public/spice-console/application/virtualmouse.js +109 -109
  616. package/public/spice-console/keymaps/keyevent.js +36 -36
  617. package/public/spice-console/keymaps/keymap.js +229 -229
  618. package/public/spice-console/keymaps/keymapes.js +375 -375
  619. package/public/spice-console/keymaps/keymapesObj.js +316 -316
  620. package/public/spice-console/keymaps/keymapus.js +317 -317
  621. package/public/spice-console/keymaps/scanCodeObjModifier.js +65 -65
  622. package/public/spice-console/keymaps/scanCodeObjProvider.js +60 -60
  623. package/public/spice-console/lib/AsyncConsumer.js +204 -204
  624. package/public/spice-console/lib/AsyncWorker.js +60 -60
  625. package/public/spice-console/lib/CollisionDetector.js +27 -27
  626. package/public/spice-console/lib/DataLogger.js +197 -197
  627. package/public/spice-console/lib/GenericObjectPool.js +152 -152
  628. package/public/spice-console/lib/GlobalPool.js +114 -114
  629. package/public/spice-console/lib/ImageUncompressor.js +138 -138
  630. package/public/spice-console/lib/IntegrationBenchmark.js +64 -64
  631. package/public/spice-console/lib/PacketWorkerIdentifier.js +107 -107
  632. package/public/spice-console/lib/SyncAsyncHandler.js +46 -46
  633. package/public/spice-console/lib/base64.js +298 -298
  634. package/public/spice-console/lib/biginteger.js +1640 -1640
  635. package/public/spice-console/lib/bowser.js +276 -276
  636. package/public/spice-console/lib/decoder/dixie.js +7930 -7930
  637. package/public/spice-console/lib/decoder/jmuxer.js +2815 -2815
  638. package/public/spice-console/lib/displayRouter.js +83 -83
  639. package/public/spice-console/lib/encrypt.js +191 -191
  640. package/public/spice-console/lib/flipper.js +39 -39
  641. package/public/spice-console/lib/graphic.js +1230 -1230
  642. package/public/spice-console/lib/graphicdebug.js +223 -223
  643. package/public/spice-console/lib/images/bitmap.js +194 -194
  644. package/public/spice-console/lib/images/jsquic_family.js +83 -83
  645. package/public/spice-console/lib/images/jsquic_rgba.js +342 -342
  646. package/public/spice-console/lib/images/jsquic_uncompress.js +529 -529
  647. package/public/spice-console/lib/images/lz.js +717 -717
  648. package/public/spice-console/lib/images/png.js +275 -275
  649. package/public/spice-console/lib/jgestures.min.js +43 -43
  650. package/public/spice-console/lib/jquery-2.0.3.js +8829 -8829
  651. package/public/spice-console/lib/jquery-mousewheel.js +83 -83
  652. package/public/spice-console/lib/jquery-visibility.min.js +1 -1
  653. package/public/spice-console/lib/jsbn.js +578 -578
  654. package/public/spice-console/lib/jsbn2.js +675 -675
  655. package/public/spice-console/lib/lodash.4.0.0.min.js +136 -136
  656. package/public/spice-console/lib/modernizr.js +39 -39
  657. package/public/spice-console/lib/pixastic.js +3244 -3244
  658. package/public/spice-console/lib/prettyprint.js +794 -794
  659. package/public/spice-console/lib/prng4.js +64 -64
  660. package/public/spice-console/lib/queue.js +259 -259
  661. package/public/spice-console/lib/rng.js +87 -87
  662. package/public/spice-console/lib/runqueue.js +103 -103
  663. package/public/spice-console/lib/sha1.js +124 -124
  664. package/public/spice-console/lib/stuckkeyshandler.js +122 -122
  665. package/public/spice-console/lib/timelapsedetector.js +62 -62
  666. package/public/spice-console/lib/utils.js +327 -327
  667. package/public/spice-console/lib/virtualjoystick.js +370 -370
  668. package/public/spice-console/network/busconnection.js +195 -195
  669. package/public/spice-console/network/clusternodechooser.js +49 -49
  670. package/public/spice-console/network/connectioncontrol.js +60 -60
  671. package/public/spice-console/network/packetcontroller.js +62 -62
  672. package/public/spice-console/network/packetextractor.js +73 -73
  673. package/public/spice-console/network/packetlinkfactory.js +64 -64
  674. package/public/spice-console/network/packetreassembler.js +77 -77
  675. package/public/spice-console/network/reassemblerfactory.js +39 -39
  676. package/public/spice-console/network/sizedefiner.js +86 -86
  677. package/public/spice-console/network/socket.js +120 -120
  678. package/public/spice-console/network/socketqueue.js +95 -95
  679. package/public/spice-console/network/websocketwrapper.js +75 -75
  680. package/public/spice-console/process/busprocess.js +309 -309
  681. package/public/spice-console/process/cursorprocess.js +110 -110
  682. package/public/spice-console/process/displaypreprocess.js +152 -152
  683. package/public/spice-console/process/displayprocess.js +210 -210
  684. package/public/spice-console/process/inputprocess.js +203 -203
  685. package/public/spice-console/process/mainprocess.js +78 -78
  686. package/public/spice-console/process/playbackprocess.js +233 -233
  687. package/public/spice-console/run.js +180 -180
  688. package/public/spice-console/spiceobjects/generated/protocol.js +537 -537
  689. package/public/spice-console/spiceobjects/spiceobjects.js +3474 -3474
  690. package/public/spice-console/swcanvas/swcanvas.js +82 -82
  691. package/public/spice-console/tools/generate.php +269 -269
  692. package/public/spice-console/tools/generateKeyboardLayout.php +63 -63
  693. package/public/spice-console/tools/generateSpiceObject.php +81 -81
  694. package/tsconfig.json +4 -4
  695. package/components/common/wizards/vm/migrate/contentHeading/models/interfaces.ts +0 -7
@@ -1,509 +1,509 @@
1
- <template>
2
- <div class="message">
3
- <div class="main-block">
4
- <span class="text">{{ localization.description }}</span>
5
- <textarea
6
- id="feedback-message-textarea"
7
- v-model="descriptionLocal"
8
- :disabled="props.type === undefined"
9
- class="clr-textarea ng-pristine ng-invalid ng-touched textarea"
10
- :placeholder="descriptionTextPlaceholder"
11
- ></textarea>
12
- </div>
13
- <div class="main-block">
14
- <span class="text">{{ localization.emailAddress }} </span>
15
- <atoms-tooltip-error
16
- class="tooltip-error"
17
- :has-error="isInvalidEmail"
18
- selector="#vm-wizard-vcpus-field input"
19
- >
20
- <template #elem>
21
- <input
22
- id="feedback-email-input"
23
- v-model="emailLocal"
24
- type="email"
25
- :class="['email', { 'has-error': isInvalidEmail }]"
26
- :placeholder="localization.optionalInCaseWeNeed"
27
- @blur="isStartEmailValidation = true"
28
- />
29
- </template>
30
- <template #content>{{ localization.emailErrorText }}</template>
31
- </atoms-tooltip-error>
32
- </div>
33
- <div class="main-block">
34
- <span class="text">{{ localization.additionalDetails }} </span>
35
- <button
36
- v-if="!hasTakeScreenshot"
37
- id="feedback-take-screenshot-button"
38
- class="btn btn-sm ng-star-inserted"
39
- @click="takeScreenshot"
40
- >
41
- {{ localization.takeScreenshot }}
42
- </button>
43
-
44
- <button
45
- v-else
46
- id="feedback-remove-button"
47
- class="btn btn-sm btn-warning-outline ng-star-inserted"
48
- @click="removeScreenshot"
49
- >
50
- {{ localization.remove }}
51
- </button>
52
- </div>
53
- <template v-if="hasTakeScreenshot">
54
- <div class="main-block main-block__last">
55
- <span class="text"></span>
56
- {{ localization.clickAndDragTheMouseToAnnotate }}
57
- <!-- <a
58
- v-for="tab in drawingPanel"
59
- :key="tab.function"
60
- href="javascript:void(0)"
61
- role="button"
62
- class="content-padding"
63
- @click="tab.function"
64
- >
65
- {{ tab.text }}</a
66
- > -->
67
- <a
68
- id="feedback-use-red-marker-button"
69
- href="javascript:void(0)"
70
- role="button"
71
- class="content-padding"
72
- @click="useRedMarker"
73
- >
74
- {{ localization.useRedMarker }}</a
75
- >
76
- <a
77
- id="feedback-use-grey-marker-button"
78
- href="javascript:void(0)"
79
- role="button"
80
- class="content-padding"
81
- @click="useGrayEraser"
82
- >
83
- {{ localization.useGrayEraser }}</a
84
- >
85
- <a
86
- id="feedback-undo-button"
87
- href="javascript:void(0)"
88
- role="button"
89
- class="content-padding"
90
- @click="undoLast"
91
- >
92
- {{ localization.undo }}</a
93
- >
94
- <a
95
- id="feedback-clear-all-button"
96
- href="javascript:void(0)"
97
- role="button"
98
- class="content-padding"
99
- @click="clearAll"
100
- >
101
- {{ localization.clearAll }}</a
102
- >
103
- </div>
104
- <div class="main-block main-block__last">
105
- <span class="text"></span>
106
- <atoms-alert
107
- v-show="true"
108
- test-id="feedback-message"
109
- status="alert-info"
110
- :items="[localization.screenshotQualityMayVary]"
111
- />
112
- </div>
113
- </template>
114
- <div v-else class="main-block main-block__last">
115
- <span class="text"></span>
116
- <div>
117
- <div class="btn btn-sm loadFile">
118
- <label id="labelFileLoad" for="fileLoad">{{
119
- localization.uploadImage
120
- }}</label>
121
- <input
122
- id="fileLoad"
123
- ref="isFileLoad"
124
- type="file"
125
- accept=".png, .jpeg"
126
- @change="onChangeImgLoad"
127
- />
128
- </div>
129
- <span>{{ localization.pngJpegFilesSupported }}</span>
130
- </div>
131
- </div>
132
-
133
- <div id="feedbackImgWrap" ref="feedbackImgWrap">
134
- <canvas
135
- id="feedbackImg"
136
- ref="feedbackImg"
137
- :class="{ feedbackImg: !hasTakeScreenshot }"
138
- ></canvas>
139
- <canvas id="feedbackImgBlank" style="display: none"></canvas>
140
- </div>
141
- </div>
142
- </template>
143
-
144
- <script setup lang="ts">
145
- import html2canvas from 'html2canvas'
146
- import { UI_I_Localization } from '~/models/interfaces'
147
- import { UI_I_MessageImg } from '~/components/common/feedback/models/interfaces'
148
- import { UI_T_FeedbackType } from '~/components/common/feedback/models/types'
149
-
150
- const props = defineProps<{
151
- type: UI_T_FeedbackType
152
- description: string
153
- email: string
154
- }>()
155
- const emits = defineEmits<{
156
- (event: 'screen-shot', value: UI_I_MessageImg): void
157
- (event: 'update:description', value: string): void
158
- (event: 'update:email', value: string): void
159
- }>()
160
-
161
- const descriptionLocal = computed<string>({
162
- get() {
163
- return props.description
164
- },
165
- set(value) {
166
- emits('update:description', value)
167
- },
168
- })
169
- const emailLocal = computed<string>({
170
- get() {
171
- return props.email
172
- },
173
- set(value) {
174
- emits('update:email', value)
175
- },
176
- })
177
- const isInvalidEmail = computed<boolean>(
178
- () =>
179
- isStartEmailValidation.value &&
180
- !!emailLocal.value &&
181
- !/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(emailLocal.value)
182
- )
183
- const isStartEmailValidation = ref<boolean>(false)
184
- const localization = computed<UI_I_Localization>(() => useLocal())
185
- // const drawingPanel = computed(() => drawingPanelFunc(localization.value))
186
-
187
- const descriptionTextPlaceholder = computed<string>(() => {
188
- if (props.type === 0) return localization.value.whatIsTheProblemHowCan
189
- if (props.type === 1) return localization.value.tellUsWhatYouEnjoyedSo
190
- return localization.value.selectFeedbackType
191
- })
192
- const hasTakeScreenshot = ref<boolean>(false)
193
- const feedbackImgWrap = ref()
194
- const feedbackImg = ref()
195
- const isFileLoad = ref(null)
196
- const memoryParentMain = ref<string>('')
197
- const memoryParentModalDialog = ref<string>('')
198
-
199
- const takeScreenshot = (): void => {
200
- hasTakeScreenshot.value = true
201
- const value = {
202
- hasTakeScreenshot: true,
203
- width: window.outerWidth + 'px',
204
- }
205
-
206
- emits('screen-shot', value)
207
- const parentMain = document.getElementById('feedbackId')
208
- const parentModalDialog = document.getElementById('feedback-modal-dialog-Id')
209
- if (!parentMain || !parentModalDialog) return
210
-
211
- const display = parentMain.style.display
212
- memoryParentMain.value = parentMain.style.display
213
- parentMain.style.display = 'none'
214
- html2canvas(document.body).then(function (thisCanvas) {
215
- parentMain.style.display = display
216
- memoryParentMain.value = parentMain.style.width
217
- memoryParentModalDialog.value = parentModalDialog.style.width
218
- parentMain.style.width = window.outerWidth + 'px'
219
- parentModalDialog.style.width = window.outerWidth + 'px'
220
- parentModalDialog.style.margin = '20px'
221
- const context = feedbackImg.value.getContext('2d')
222
- feedbackImg.value.width = thisCanvas.width
223
- feedbackImg.value.height = thisCanvas.height
224
- context.drawImage(
225
- thisCanvas,
226
- 0,
227
- 0,
228
- feedbackImg.value.width,
229
- feedbackImg.value.height
230
- )
231
- drawingArray.length = 0
232
- indexArray = 0
233
- drawingArray.push(
234
- context.getImageData(
235
- 0,
236
- 0,
237
- feedbackImg.value.width,
238
- feedbackImg.value.height
239
- )
240
- )
241
- })
242
- }
243
- const removeScreenshot = (): void => {
244
- hasTakeScreenshot.value = false
245
- const parentMain = document.getElementById('feedbackId')
246
- const parentModalDialog = document.getElementById('feedback-modal-dialog-Id')
247
- if (!parentMain || !parentModalDialog) return
248
-
249
- parentMain.style.width = memoryParentMain.value
250
- parentModalDialog.style.width = memoryParentModalDialog.value
251
- const context = feedbackImg.value.getContext('2d')
252
- context.fillStyle = 'green'
253
- context.fillRect(0, 0, feedbackImg.value.width, feedbackImg.value.height)
254
- feedbackImg.value.width = 0
255
- feedbackImg.value.height = 0
256
- feedbackImgWrap.value.style.width = 0 + 'px'
257
- feedbackImgWrap.value.style.height = 0 + 'px'
258
- const value = {
259
- hasTakeScreenshot: false,
260
- width: memoryParentModalDialog.value,
261
- }
262
- emits('screen-shot', value)
263
- clearAll()
264
- }
265
-
266
- const onChangeImgLoad = (): void => {
267
- hasTakeScreenshot.value = true
268
- if (!isFileLoad.value) return
269
-
270
- const isFileRead = new FileReader()
271
- if (!isFileRead) return
272
-
273
- isFileRead.readAsDataURL(isFileLoad.value.files[0])
274
- isFileRead.onload = () => {
275
- const img = new Image()
276
- if (!feedbackImg.value) return
277
-
278
- const context = feedbackImg.value.getContext('2d')
279
- img.onload = () => {
280
- feedbackImg.value.width = img.width
281
- feedbackImg.value.height = img.height
282
- context.drawImage(img, 0, 0, img.width, img.height)
283
- drawingArray.length = 0
284
- indexArray = 0
285
- drawingArray.push(
286
- context.getImageData(
287
- 0,
288
- 0,
289
- feedbackImg.value.width,
290
- feedbackImg.value.height
291
- )
292
- )
293
- const value = {
294
- hasTakeScreenshot: true,
295
- width: window.outerWidth + 'px',
296
- }
297
- emits('screen-shot', value)
298
- const parentMain = document.getElementById('feedbackId')
299
- const parentModalDialog = document.getElementById(
300
- 'feedback-modal-dialog-Id'
301
- )
302
- if (!parentMain || !parentModalDialog) return
303
-
304
- parentMain.style.width = window.outerWidth + 'px'
305
- parentModalDialog.style.width = window.outerWidth + 'px'
306
- parentModalDialog.style.margin = '20px'
307
- }
308
- img.src = isFileRead.result
309
- }
310
- }
311
- const drawingArray: any = []
312
- let indexArray = 0 // index of feedbackImg itself
313
- let isDrawing = false
314
- let startDrawingX: number | null = null
315
- let startDrawingY: number | null = null
316
- let drawColor = ''
317
- let drawWidth = ''
318
-
319
- const useRedMarker = (): void => {
320
- drawColor = '#f76945'
321
- drawWidth = '5'
322
- }
323
- const useGrayEraser = (): void => {
324
- drawColor = 'lightgray'
325
- drawWidth = '14'
326
- }
327
- const undoLast = (): void => {
328
- drawColor = ''
329
- drawWidth = ''
330
- const context = feedbackImg.value.getContext('2d')
331
- if (indexArray > 0) {
332
- indexArray -= 1
333
- drawingArray.pop()
334
- context.putImageData(drawingArray[indexArray], 0, 0)
335
- }
336
- }
337
- const clearAll = (): void => {
338
- const context = feedbackImg.value.getContext('2d')
339
- drawColor = ''
340
- drawWidth = ''
341
- if (indexArray <= 0) return
342
- while (indexArray > 0) {
343
- drawingArray.pop()
344
- indexArray -= 1
345
- context.putImageData(drawingArray[indexArray], 0, 0)
346
- }
347
- }
348
- const start = (event: MouseEvent): void => {
349
- if (!drawColor) return
350
- const context = feedbackImg.value.getContext('2d')
351
- const canvasCoordinates = feedbackImg.value.getBoundingClientRect()
352
- startDrawingX = event.pageX - canvasCoordinates.left
353
- startDrawingY = event.pageY - canvasCoordinates.top
354
- isDrawing = true
355
- context.beginPath()
356
- context.moveTo(
357
- event.pageX - canvasCoordinates.left,
358
- event.pageY - canvasCoordinates.top
359
- )
360
- event.preventDefault()
361
- }
362
- const draw = (event: MouseEvent): void => {
363
- if (!drawColor) return
364
- const context = feedbackImg.value.getContext('2d')
365
- const canvasCoordinates = feedbackImg.value.getBoundingClientRect()
366
- if (!isDrawing) return
367
- context.lineTo(
368
- event.pageX - canvasCoordinates.left,
369
- event.pageY - canvasCoordinates.top
370
- )
371
- context.strokeStyle = drawColor
372
- context.lineWidth = drawWidth
373
- context.lineCap = 'round'
374
- context.lineJoin = 'round'
375
- context.stroke()
376
- event.preventDefault()
377
- }
378
-
379
- const stop = (event: MouseEvent): void => {
380
- if (!drawColor) return
381
-
382
- const context = feedbackImg.value.getContext('2d')
383
- const canvasCoordinates = feedbackImg.value.getBoundingClientRect()
384
- if (!isDrawing) return
385
-
386
- context.stroke()
387
- context.closePath()
388
- isDrawing = false
389
- event.preventDefault()
390
- if (
391
- startDrawingX !== event.pageX - canvasCoordinates.left &&
392
- startDrawingY !== event.pageY - canvasCoordinates.top
393
- ) {
394
- drawingArray.push(
395
- context.getImageData(
396
- 0,
397
- 0,
398
- feedbackImg.value.width,
399
- feedbackImg.value.height
400
- )
401
- )
402
- indexArray += 1
403
- }
404
- }
405
- onMounted(() => {
406
- feedbackImg.value.addEventListener('touchstart', start, false)
407
- feedbackImg.value.addEventListener('touchmove', draw, false)
408
- feedbackImg.value.addEventListener('mousedown', start, false)
409
- feedbackImg.value.addEventListener('mousemove', draw, false)
410
- feedbackImg.value.addEventListener('touchend', stop, false)
411
- feedbackImg.value.addEventListener('mouseup', stop, false)
412
- feedbackImg.value.addEventListener('mouseout', stop, false)
413
- })
414
-
415
- onBeforeUnmount(() => {
416
- removeScreenshot()
417
- feedbackImg.value.removeEventListener('touchstart', start, false)
418
- feedbackImg.value.removeEventListener('touchmove', draw, false)
419
- feedbackImg.value.removeEventListener('mousedown', start, false)
420
- feedbackImg.value.removeEventListener('mousemove', draw, false)
421
- feedbackImg.value.removeEventListener('touchend', stop, false)
422
- feedbackImg.value.removeEventListener('mouseup', stop, false)
423
- feedbackImg.value.removeEventListener('mouseout', stop, false)
424
- })
425
- </script>
426
-
427
- <style scoped lang="scss">
428
- .message {
429
- overflow-x: auto;
430
- .main-block {
431
- display: flex;
432
- flex-direction: row;
433
- align-items: flex-start;
434
- margin-bottom: 20px;
435
- .text {
436
- padding-top: 0;
437
- min-width: 140px;
438
- margin-right: 10px;
439
- }
440
- .textarea {
441
- height: 150px;
442
- width: 100%;
443
- vertical-align: start;
444
- background-color: var(--modal-bg-color);
445
- }
446
- .email {
447
- width: 100%;
448
- }
449
-
450
- &__last {
451
- margin-top: -20px;
452
- width: 100%;
453
- .content-padding {
454
- padding-left: 4px;
455
- color: var(--a-link-color);
456
- }
457
- }
458
- :deep(.alert.alert-info) {
459
- width: 100%;
460
- }
461
-
462
- .tooltip-error {
463
- flex: 1;
464
-
465
- :deep(.element-content) {
466
- width: 100%;
467
- }
468
- }
469
- .has-error {
470
- border: 1px solid #db2100;
471
- }
472
- }
473
- }
474
- .loadFile {
475
- width: fit-content;
476
- margin-right: 10px;
477
- padding: 0;
478
- z-index: 11;
479
- label {
480
- color: inherit;
481
- cursor: pointer;
482
- padding: 0 10px;
483
- line-height: calc(1rem - 1px);
484
- letter-spacing: 0.073em;
485
- font-size: 0.458333rem;
486
- font-weight: 500;
487
- height: 1rem;
488
- padding: 0 0.5rem;
489
- }
490
- input {
491
- width: 0.01px;
492
- height: 0.01px;
493
- opacity: 0;
494
- overflow: hidden;
495
- z-index: -1;
496
- }
497
- }
498
- .feedbackImg {
499
- display: none;
500
- }
501
- </style>
502
- <style>
503
- :root {
504
- --a-link-color: #0072a3;
505
- }
506
- :root.dark-theme {
507
- --a-link-color: #4aaed9;
508
- }
509
- </style>
1
+ <template>
2
+ <div class="message">
3
+ <div class="main-block">
4
+ <span class="text">{{ localization.description }}</span>
5
+ <textarea
6
+ id="feedback-message-textarea"
7
+ v-model="descriptionLocal"
8
+ :disabled="props.type === undefined"
9
+ class="clr-textarea ng-pristine ng-invalid ng-touched textarea"
10
+ :placeholder="descriptionTextPlaceholder"
11
+ ></textarea>
12
+ </div>
13
+ <div class="main-block">
14
+ <span class="text">{{ localization.emailAddress }} </span>
15
+ <atoms-tooltip-error
16
+ class="tooltip-error"
17
+ :has-error="isInvalidEmail"
18
+ selector="#vm-wizard-vcpus-field input"
19
+ >
20
+ <template #elem>
21
+ <input
22
+ id="feedback-email-input"
23
+ v-model="emailLocal"
24
+ type="email"
25
+ :class="['email', { 'has-error': isInvalidEmail }]"
26
+ :placeholder="localization.optionalInCaseWeNeed"
27
+ @blur="isStartEmailValidation = true"
28
+ />
29
+ </template>
30
+ <template #content>{{ localization.emailErrorText }}</template>
31
+ </atoms-tooltip-error>
32
+ </div>
33
+ <div class="main-block">
34
+ <span class="text">{{ localization.additionalDetails }} </span>
35
+ <button
36
+ v-if="!hasTakeScreenshot"
37
+ id="feedback-take-screenshot-button"
38
+ class="btn btn-sm ng-star-inserted"
39
+ @click="takeScreenshot"
40
+ >
41
+ {{ localization.takeScreenshot }}
42
+ </button>
43
+
44
+ <button
45
+ v-else
46
+ id="feedback-remove-button"
47
+ class="btn btn-sm btn-warning-outline ng-star-inserted"
48
+ @click="removeScreenshot"
49
+ >
50
+ {{ localization.remove }}
51
+ </button>
52
+ </div>
53
+ <template v-if="hasTakeScreenshot">
54
+ <div class="main-block main-block__last">
55
+ <span class="text"></span>
56
+ {{ localization.clickAndDragTheMouseToAnnotate }}
57
+ <!-- <a
58
+ v-for="tab in drawingPanel"
59
+ :key="tab.function"
60
+ href="javascript:void(0)"
61
+ role="button"
62
+ class="content-padding"
63
+ @click="tab.function"
64
+ >
65
+ {{ tab.text }}</a
66
+ > -->
67
+ <a
68
+ id="feedback-use-red-marker-button"
69
+ href="javascript:void(0)"
70
+ role="button"
71
+ class="content-padding"
72
+ @click="useRedMarker"
73
+ >
74
+ {{ localization.useRedMarker }}</a
75
+ >
76
+ <a
77
+ id="feedback-use-grey-marker-button"
78
+ href="javascript:void(0)"
79
+ role="button"
80
+ class="content-padding"
81
+ @click="useGrayEraser"
82
+ >
83
+ {{ localization.useGrayEraser }}</a
84
+ >
85
+ <a
86
+ id="feedback-undo-button"
87
+ href="javascript:void(0)"
88
+ role="button"
89
+ class="content-padding"
90
+ @click="undoLast"
91
+ >
92
+ {{ localization.undo }}</a
93
+ >
94
+ <a
95
+ id="feedback-clear-all-button"
96
+ href="javascript:void(0)"
97
+ role="button"
98
+ class="content-padding"
99
+ @click="clearAll"
100
+ >
101
+ {{ localization.clearAll }}</a
102
+ >
103
+ </div>
104
+ <div class="main-block main-block__last">
105
+ <span class="text"></span>
106
+ <atoms-alert
107
+ v-show="true"
108
+ test-id="feedback-message"
109
+ status="alert-info"
110
+ :items="[localization.screenshotQualityMayVary]"
111
+ />
112
+ </div>
113
+ </template>
114
+ <div v-else class="main-block main-block__last">
115
+ <span class="text"></span>
116
+ <div>
117
+ <div class="btn btn-sm loadFile">
118
+ <label id="labelFileLoad" for="fileLoad">{{
119
+ localization.uploadImage
120
+ }}</label>
121
+ <input
122
+ id="fileLoad"
123
+ ref="isFileLoad"
124
+ type="file"
125
+ accept=".png, .jpeg"
126
+ @change="onChangeImgLoad"
127
+ />
128
+ </div>
129
+ <span>{{ localization.pngJpegFilesSupported }}</span>
130
+ </div>
131
+ </div>
132
+
133
+ <div id="feedbackImgWrap" ref="feedbackImgWrap">
134
+ <canvas
135
+ id="feedbackImg"
136
+ ref="feedbackImg"
137
+ :class="{ feedbackImg: !hasTakeScreenshot }"
138
+ ></canvas>
139
+ <canvas id="feedbackImgBlank" style="display: none"></canvas>
140
+ </div>
141
+ </div>
142
+ </template>
143
+
144
+ <script setup lang="ts">
145
+ import html2canvas from 'html2canvas'
146
+ import { UI_I_Localization } from '~/models/interfaces'
147
+ import { UI_I_MessageImg } from '~/components/common/feedback/models/interfaces'
148
+ import { UI_T_FeedbackType } from '~/components/common/feedback/models/types'
149
+
150
+ const props = defineProps<{
151
+ type: UI_T_FeedbackType
152
+ description: string
153
+ email: string
154
+ }>()
155
+ const emits = defineEmits<{
156
+ (event: 'screen-shot', value: UI_I_MessageImg): void
157
+ (event: 'update:description', value: string): void
158
+ (event: 'update:email', value: string): void
159
+ }>()
160
+
161
+ const descriptionLocal = computed<string>({
162
+ get() {
163
+ return props.description
164
+ },
165
+ set(value) {
166
+ emits('update:description', value)
167
+ },
168
+ })
169
+ const emailLocal = computed<string>({
170
+ get() {
171
+ return props.email
172
+ },
173
+ set(value) {
174
+ emits('update:email', value)
175
+ },
176
+ })
177
+ const isInvalidEmail = computed<boolean>(
178
+ () =>
179
+ isStartEmailValidation.value &&
180
+ !!emailLocal.value &&
181
+ !/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(emailLocal.value)
182
+ )
183
+ const isStartEmailValidation = ref<boolean>(false)
184
+ const localization = computed<UI_I_Localization>(() => useLocal())
185
+ // const drawingPanel = computed(() => drawingPanelFunc(localization.value))
186
+
187
+ const descriptionTextPlaceholder = computed<string>(() => {
188
+ if (props.type === 0) return localization.value.whatIsTheProblemHowCan
189
+ if (props.type === 1) return localization.value.tellUsWhatYouEnjoyedSo
190
+ return localization.value.selectFeedbackType
191
+ })
192
+ const hasTakeScreenshot = ref<boolean>(false)
193
+ const feedbackImgWrap = ref()
194
+ const feedbackImg = ref()
195
+ const isFileLoad = ref(null)
196
+ const memoryParentMain = ref<string>('')
197
+ const memoryParentModalDialog = ref<string>('')
198
+
199
+ const takeScreenshot = (): void => {
200
+ hasTakeScreenshot.value = true
201
+ const value = {
202
+ hasTakeScreenshot: true,
203
+ width: window.outerWidth + 'px',
204
+ }
205
+
206
+ emits('screen-shot', value)
207
+ const parentMain = document.getElementById('feedbackId')
208
+ const parentModalDialog = document.getElementById('feedback-modal-dialog-Id')
209
+ if (!parentMain || !parentModalDialog) return
210
+
211
+ const display = parentMain.style.display
212
+ memoryParentMain.value = parentMain.style.display
213
+ parentMain.style.display = 'none'
214
+ html2canvas(document.body).then(function (thisCanvas) {
215
+ parentMain.style.display = display
216
+ memoryParentMain.value = parentMain.style.width
217
+ memoryParentModalDialog.value = parentModalDialog.style.width
218
+ parentMain.style.width = window.outerWidth + 'px'
219
+ parentModalDialog.style.width = window.outerWidth + 'px'
220
+ parentModalDialog.style.margin = '20px'
221
+ const context = feedbackImg.value.getContext('2d')
222
+ feedbackImg.value.width = thisCanvas.width
223
+ feedbackImg.value.height = thisCanvas.height
224
+ context.drawImage(
225
+ thisCanvas,
226
+ 0,
227
+ 0,
228
+ feedbackImg.value.width,
229
+ feedbackImg.value.height
230
+ )
231
+ drawingArray.length = 0
232
+ indexArray = 0
233
+ drawingArray.push(
234
+ context.getImageData(
235
+ 0,
236
+ 0,
237
+ feedbackImg.value.width,
238
+ feedbackImg.value.height
239
+ )
240
+ )
241
+ })
242
+ }
243
+ const removeScreenshot = (): void => {
244
+ hasTakeScreenshot.value = false
245
+ const parentMain = document.getElementById('feedbackId')
246
+ const parentModalDialog = document.getElementById('feedback-modal-dialog-Id')
247
+ if (!parentMain || !parentModalDialog) return
248
+
249
+ parentMain.style.width = memoryParentMain.value
250
+ parentModalDialog.style.width = memoryParentModalDialog.value
251
+ const context = feedbackImg.value.getContext('2d')
252
+ context.fillStyle = 'green'
253
+ context.fillRect(0, 0, feedbackImg.value.width, feedbackImg.value.height)
254
+ feedbackImg.value.width = 0
255
+ feedbackImg.value.height = 0
256
+ feedbackImgWrap.value.style.width = 0 + 'px'
257
+ feedbackImgWrap.value.style.height = 0 + 'px'
258
+ const value = {
259
+ hasTakeScreenshot: false,
260
+ width: memoryParentModalDialog.value,
261
+ }
262
+ emits('screen-shot', value)
263
+ clearAll()
264
+ }
265
+
266
+ const onChangeImgLoad = (): void => {
267
+ hasTakeScreenshot.value = true
268
+ if (!isFileLoad.value) return
269
+
270
+ const isFileRead = new FileReader()
271
+ if (!isFileRead) return
272
+
273
+ isFileRead.readAsDataURL(isFileLoad.value.files[0])
274
+ isFileRead.onload = () => {
275
+ const img = new Image()
276
+ if (!feedbackImg.value) return
277
+
278
+ const context = feedbackImg.value.getContext('2d')
279
+ img.onload = () => {
280
+ feedbackImg.value.width = img.width
281
+ feedbackImg.value.height = img.height
282
+ context.drawImage(img, 0, 0, img.width, img.height)
283
+ drawingArray.length = 0
284
+ indexArray = 0
285
+ drawingArray.push(
286
+ context.getImageData(
287
+ 0,
288
+ 0,
289
+ feedbackImg.value.width,
290
+ feedbackImg.value.height
291
+ )
292
+ )
293
+ const value = {
294
+ hasTakeScreenshot: true,
295
+ width: window.outerWidth + 'px',
296
+ }
297
+ emits('screen-shot', value)
298
+ const parentMain = document.getElementById('feedbackId')
299
+ const parentModalDialog = document.getElementById(
300
+ 'feedback-modal-dialog-Id'
301
+ )
302
+ if (!parentMain || !parentModalDialog) return
303
+
304
+ parentMain.style.width = window.outerWidth + 'px'
305
+ parentModalDialog.style.width = window.outerWidth + 'px'
306
+ parentModalDialog.style.margin = '20px'
307
+ }
308
+ img.src = isFileRead.result
309
+ }
310
+ }
311
+ const drawingArray: any = []
312
+ let indexArray = 0 // index of feedbackImg itself
313
+ let isDrawing = false
314
+ let startDrawingX: number | null = null
315
+ let startDrawingY: number | null = null
316
+ let drawColor = ''
317
+ let drawWidth = ''
318
+
319
+ const useRedMarker = (): void => {
320
+ drawColor = '#f76945'
321
+ drawWidth = '5'
322
+ }
323
+ const useGrayEraser = (): void => {
324
+ drawColor = 'lightgray'
325
+ drawWidth = '14'
326
+ }
327
+ const undoLast = (): void => {
328
+ drawColor = ''
329
+ drawWidth = ''
330
+ const context = feedbackImg.value.getContext('2d')
331
+ if (indexArray > 0) {
332
+ indexArray -= 1
333
+ drawingArray.pop()
334
+ context.putImageData(drawingArray[indexArray], 0, 0)
335
+ }
336
+ }
337
+ const clearAll = (): void => {
338
+ const context = feedbackImg.value.getContext('2d')
339
+ drawColor = ''
340
+ drawWidth = ''
341
+ if (indexArray <= 0) return
342
+ while (indexArray > 0) {
343
+ drawingArray.pop()
344
+ indexArray -= 1
345
+ context.putImageData(drawingArray[indexArray], 0, 0)
346
+ }
347
+ }
348
+ const start = (event: MouseEvent): void => {
349
+ if (!drawColor) return
350
+ const context = feedbackImg.value.getContext('2d')
351
+ const canvasCoordinates = feedbackImg.value.getBoundingClientRect()
352
+ startDrawingX = event.pageX - canvasCoordinates.left
353
+ startDrawingY = event.pageY - canvasCoordinates.top
354
+ isDrawing = true
355
+ context.beginPath()
356
+ context.moveTo(
357
+ event.pageX - canvasCoordinates.left,
358
+ event.pageY - canvasCoordinates.top
359
+ )
360
+ event.preventDefault()
361
+ }
362
+ const draw = (event: MouseEvent): void => {
363
+ if (!drawColor) return
364
+ const context = feedbackImg.value.getContext('2d')
365
+ const canvasCoordinates = feedbackImg.value.getBoundingClientRect()
366
+ if (!isDrawing) return
367
+ context.lineTo(
368
+ event.pageX - canvasCoordinates.left,
369
+ event.pageY - canvasCoordinates.top
370
+ )
371
+ context.strokeStyle = drawColor
372
+ context.lineWidth = drawWidth
373
+ context.lineCap = 'round'
374
+ context.lineJoin = 'round'
375
+ context.stroke()
376
+ event.preventDefault()
377
+ }
378
+
379
+ const stop = (event: MouseEvent): void => {
380
+ if (!drawColor) return
381
+
382
+ const context = feedbackImg.value.getContext('2d')
383
+ const canvasCoordinates = feedbackImg.value.getBoundingClientRect()
384
+ if (!isDrawing) return
385
+
386
+ context.stroke()
387
+ context.closePath()
388
+ isDrawing = false
389
+ event.preventDefault()
390
+ if (
391
+ startDrawingX !== event.pageX - canvasCoordinates.left &&
392
+ startDrawingY !== event.pageY - canvasCoordinates.top
393
+ ) {
394
+ drawingArray.push(
395
+ context.getImageData(
396
+ 0,
397
+ 0,
398
+ feedbackImg.value.width,
399
+ feedbackImg.value.height
400
+ )
401
+ )
402
+ indexArray += 1
403
+ }
404
+ }
405
+ onMounted(() => {
406
+ feedbackImg.value.addEventListener('touchstart', start, false)
407
+ feedbackImg.value.addEventListener('touchmove', draw, false)
408
+ feedbackImg.value.addEventListener('mousedown', start, false)
409
+ feedbackImg.value.addEventListener('mousemove', draw, false)
410
+ feedbackImg.value.addEventListener('touchend', stop, false)
411
+ feedbackImg.value.addEventListener('mouseup', stop, false)
412
+ feedbackImg.value.addEventListener('mouseout', stop, false)
413
+ })
414
+
415
+ onBeforeUnmount(() => {
416
+ removeScreenshot()
417
+ feedbackImg.value.removeEventListener('touchstart', start, false)
418
+ feedbackImg.value.removeEventListener('touchmove', draw, false)
419
+ feedbackImg.value.removeEventListener('mousedown', start, false)
420
+ feedbackImg.value.removeEventListener('mousemove', draw, false)
421
+ feedbackImg.value.removeEventListener('touchend', stop, false)
422
+ feedbackImg.value.removeEventListener('mouseup', stop, false)
423
+ feedbackImg.value.removeEventListener('mouseout', stop, false)
424
+ })
425
+ </script>
426
+
427
+ <style scoped lang="scss">
428
+ .message {
429
+ overflow-x: auto;
430
+ .main-block {
431
+ display: flex;
432
+ flex-direction: row;
433
+ align-items: flex-start;
434
+ margin-bottom: 20px;
435
+ .text {
436
+ padding-top: 0;
437
+ min-width: 140px;
438
+ margin-right: 10px;
439
+ }
440
+ .textarea {
441
+ height: 150px;
442
+ width: 100%;
443
+ vertical-align: start;
444
+ background-color: var(--modal-bg-color);
445
+ }
446
+ .email {
447
+ width: 100%;
448
+ }
449
+
450
+ &__last {
451
+ margin-top: -20px;
452
+ width: 100%;
453
+ .content-padding {
454
+ padding-left: 4px;
455
+ color: var(--a-link-color);
456
+ }
457
+ }
458
+ :deep(.alert.alert-info) {
459
+ width: 100%;
460
+ }
461
+
462
+ .tooltip-error {
463
+ flex: 1;
464
+
465
+ :deep(.element-content) {
466
+ width: 100%;
467
+ }
468
+ }
469
+ .has-error {
470
+ border: 1px solid #db2100;
471
+ }
472
+ }
473
+ }
474
+ .loadFile {
475
+ width: fit-content;
476
+ margin-right: 10px;
477
+ padding: 0;
478
+ z-index: 11;
479
+ label {
480
+ color: inherit;
481
+ cursor: pointer;
482
+ padding: 0 10px;
483
+ line-height: calc(1rem - 1px);
484
+ letter-spacing: 0.073em;
485
+ font-size: 0.458333rem;
486
+ font-weight: 500;
487
+ height: 1rem;
488
+ padding: 0 0.5rem;
489
+ }
490
+ input {
491
+ width: 0.01px;
492
+ height: 0.01px;
493
+ opacity: 0;
494
+ overflow: hidden;
495
+ z-index: -1;
496
+ }
497
+ }
498
+ .feedbackImg {
499
+ display: none;
500
+ }
501
+ </style>
502
+ <style>
503
+ :root {
504
+ --a-link-color: #0072a3;
505
+ }
506
+ :root.dark-theme {
507
+ --a-link-color: #4aaed9;
508
+ }
509
+ </style>