bfg-common 1.2.225 → 1.2.227

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 (757) 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_en.json +2168 -2168
  22. package/assets/localization/local_hy.json +2168 -2168
  23. package/assets/localization/local_kk.json +2168 -2168
  24. package/assets/localization/local_ru.json +2168 -2168
  25. package/assets/localization/local_zh.json +2168 -2168
  26. package/assets/scss/clarity/clr-ui.min.css +8 -8
  27. package/assets/scss/common/animations.scss +28 -28
  28. package/assets/scss/common/global.scss +189 -189
  29. package/assets/scss/common/icons/icons-1.scss +224 -224
  30. package/assets/scss/common/icons/icons-3.scss +203 -203
  31. package/assets/scss/common/icons/icons-4.scss +185 -185
  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 +15 -15
  35. package/assets/scss/common/mixins.scss +39 -39
  36. package/assets/scss/common/normalize.scss +320 -320
  37. package/assets/scss/common/theme.scss +232 -232
  38. package/assets/scss/common/utilities.scss +20 -20
  39. package/assets/scss/common/variables.scss +43 -43
  40. package/assets/scss/main.scss +13 -13
  41. package/components/atoms/DiagramIcon.vue +356 -356
  42. package/components/atoms/TheIcon.vue +1687 -1687
  43. package/components/atoms/TheIcon2.vue +1136 -1136
  44. package/components/atoms/alert/Alert.spec.ts +38 -38
  45. package/components/atoms/alert/Alert.vue +84 -84
  46. package/components/atoms/alert/Notification.spec.ts +34 -34
  47. package/components/atoms/alert/Notification.vue +167 -167
  48. package/components/atoms/alert/models/enums.ts +12 -12
  49. package/components/atoms/alert/models/interfaces.ts +27 -27
  50. package/components/atoms/alert/models/types.ts +7 -7
  51. package/components/atoms/autocomplete/Autocomplete.vue +236 -236
  52. package/components/atoms/collapse/CollapseNav.vue +164 -164
  53. package/components/atoms/collapse/CollapseNavItem.vue +190 -190
  54. package/components/atoms/collapse/models/interfaces.ts +10 -10
  55. package/components/atoms/combobox/Combobox.vue +147 -147
  56. package/components/atoms/datepicker/Datepicker.vue +612 -612
  57. package/components/atoms/datepicker/config/allShortMonths.ts +103 -103
  58. package/components/atoms/datepicker/config/datapicker.ts +43 -43
  59. package/components/atoms/datepicker/models/interfaces.ts +8 -8
  60. package/components/atoms/dropdown/Portlet.spec.ts +26 -26
  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/models/interfaces.ts +8 -8
  64. package/components/atoms/dropdown/tree/Tree.vue +134 -134
  65. package/components/atoms/dropdown/tree/models/interfaces.ts +9 -9
  66. package/components/atoms/input/Search.vue +16 -16
  67. package/components/atoms/list/SelectList.vue +62 -62
  68. package/components/atoms/list/SimpleList.vue +29 -29
  69. package/components/atoms/list/dragDropList/DragDropList.vue +139 -139
  70. package/components/atoms/list/dragDropList/config/events.ts +4 -4
  71. package/components/atoms/loader/BarLoader.vue +27 -27
  72. package/components/atoms/loader/Loader.vue +26 -26
  73. package/components/atoms/loader/PreLoader.vue +35 -35
  74. package/components/atoms/loader/Preloader.spec.ts +24 -24
  75. package/components/atoms/modal/Modal.spec.ts +55 -55
  76. package/components/atoms/modal/Modal.vue +244 -244
  77. package/components/atoms/modal/bySteps/BySteps.spec.ts +66 -66
  78. package/components/atoms/modal/bySteps/BySteps.vue +247 -247
  79. package/components/atoms/modal/byStepsSecond/ByStepsSecond.vue +175 -175
  80. package/components/atoms/models/interfaces.ts +12 -12
  81. package/components/atoms/nav/NavBar.spec.ts +34 -34
  82. package/components/atoms/nav/NavBar.vue +140 -140
  83. package/components/atoms/nav/VerticalNavBar.vue +89 -89
  84. package/components/atoms/nav/models/interfaces.ts +5 -5
  85. package/components/atoms/notificationBar/NotificationBar.vue +170 -170
  86. package/components/atoms/notificationBar/models/enums.ts +13 -13
  87. package/components/atoms/notificationBar/models/interfaces.ts +6 -6
  88. package/components/atoms/notificationBar/models/types.ts +1 -1
  89. package/components/atoms/perPage/PerPage.vue +52 -52
  90. package/components/atoms/popover/Popover.vue +61 -61
  91. package/components/atoms/popup/SimplePopup.vue +90 -90
  92. package/components/atoms/select/TheSelect.vue +175 -175
  93. package/components/atoms/select/models/interfaces.ts +4 -4
  94. package/components/atoms/stack/StackBlock.vue +179 -179
  95. package/components/atoms/stack/StackContent.vue +63 -63
  96. package/components/atoms/step/VerticalStep.spec.ts +68 -68
  97. package/components/atoms/step/VerticalStep.vue +104 -104
  98. package/components/atoms/step/models/verticalStepItem.ts +7 -7
  99. package/components/atoms/table/compact/Compact.vue +526 -526
  100. package/components/atoms/table/compact/models/interfaces.ts +10 -10
  101. package/components/atoms/table/dataGrid/DataGrid.spec.ts +61 -61
  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/config/itemsPerPage.ts +20 -20
  106. package/components/atoms/table/dataGrid/config/settingsTable.ts +28 -0
  107. package/components/atoms/table/dataGrid/models/interfaces.ts +25 -25
  108. package/components/atoms/table/dataGrid/models/types.ts +5 -5
  109. package/components/atoms/table/dataGrid/utils/constructDataTable.ts +32 -32
  110. package/components/atoms/table/info/Info.vue +60 -60
  111. package/components/atoms/table/info/models/interfaces.ts +9 -9
  112. package/components/atoms/table/simpleEvent/SimpleEvent.vue +98 -98
  113. package/components/atoms/table/simpleEvent/models/interfaces.ts +9 -9
  114. package/components/atoms/table/simpleInfo/SimpleInfo.vue +68 -68
  115. package/components/atoms/table/simpleInfo/models/interfaces.ts +4 -4
  116. package/components/atoms/table/simpleTable/SimpleTable.vue +296 -296
  117. package/components/atoms/table/simpleTable/models/interfaces.ts +10 -10
  118. package/components/atoms/tabs/Tabs.vue +215 -215
  119. package/components/atoms/tabs/VerticalTabs.vue +87 -87
  120. package/components/atoms/tabs/models/interfaces.ts +4 -4
  121. package/components/atoms/tabs/models/types.ts +1 -1
  122. package/components/atoms/tooltip/Models/interfaces.ts +4 -4
  123. package/components/atoms/tooltip/Signpost.vue +225 -225
  124. package/components/atoms/tooltip/Text.vue +37 -37
  125. package/components/atoms/tooltip/Tooltip.vue +57 -57
  126. package/components/atoms/tooltip/TooltipError.vue +113 -113
  127. package/components/atoms/wizard/Wizard.vue +443 -443
  128. package/components/atoms/wizard/models/enums.ts +8 -8
  129. package/components/atoms/wizard/models/interfaces.ts +47 -47
  130. package/components/atoms/wizard/step/Step.vue +112 -112
  131. package/components/atoms/wizard/utils/utils.ts +568 -568
  132. package/components/common/accordion/Accordion.vue +176 -176
  133. package/components/common/accordion/Recursion.vue +216 -216
  134. package/components/common/accordion/models/enums.ts +5 -5
  135. package/components/common/accordion/models/interfaces.ts +15 -15
  136. package/components/common/accordion/models/types.ts +1 -1
  137. package/components/common/accordion/utils/accordion.ts +31 -31
  138. package/components/common/adapterManager/AdapterManager.vue +715 -715
  139. package/components/common/adapterManager/AddAdapterModal.vue +555 -555
  140. package/components/common/adapterManager/config/index.ts +19 -19
  141. package/components/common/adapterManager/ui/NoSelectedAdapter.vue +39 -39
  142. package/components/common/adapterManager/ui/SecondTitle.vue +37 -37
  143. package/components/common/adapterManager/ui/actions/ActionsBar.vue +93 -93
  144. package/components/common/adapterManager/ui/actions/AddAdapterButton.vue +28 -28
  145. package/components/common/adapterManager/ui/actions/MoveDownAdapterButton.vue +33 -33
  146. package/components/common/adapterManager/ui/actions/MoveUpAdapterButton.vue +33 -33
  147. package/components/common/adapterManager/ui/actions/RemoveAdapterButton.vue +34 -34
  148. package/components/common/adapterManager/ui/actions/VerticalSeparator.vue +10 -10
  149. package/components/common/adapterManager/ui/table/Adapters.vue +91 -91
  150. package/components/common/adapterManager/ui/table/Header.vue +89 -89
  151. package/components/common/adapterManager/ui/table/Table.vue +167 -167
  152. package/components/common/browse/Browse.vue +182 -182
  153. package/components/common/browse/blocks/Container.vue +102 -102
  154. package/components/common/browse/blocks/contents/Files.vue +68 -68
  155. package/components/common/browse/blocks/info/Date.vue +21 -21
  156. package/components/common/browse/blocks/info/Size.vue +17 -17
  157. package/components/common/browse/blocks/info/Text.vue +16 -16
  158. package/components/common/browse/blocks/models/types.ts +1 -1
  159. package/components/common/browse/models/interfaces.ts +5 -5
  160. package/components/common/config/states.ts +81 -81
  161. package/components/common/context/Context.spec.ts +20 -20
  162. package/components/common/context/Context.vue +97 -97
  163. package/components/common/context/ContextRecursion.spec.ts +55 -55
  164. package/components/common/context/ContextRecursion.vue +251 -251
  165. package/components/common/context/models/interfaces.ts +26 -26
  166. package/components/common/details/DetailsItem.vue +106 -106
  167. package/components/common/details/DetailsList.vue +23 -23
  168. package/components/common/details/model/interfaces.ts +9 -9
  169. package/components/common/diagramMain/Diagram.vue +192 -192
  170. package/components/common/diagramMain/DiagramMain.vue +954 -954
  171. package/components/common/diagramMain/Header.vue +190 -190
  172. package/components/common/diagramMain/Highlights.vue +124 -124
  173. package/components/common/diagramMain/adapter/Adapter.vue +114 -114
  174. package/components/common/diagramMain/adapter/AdapterItem.vue +246 -246
  175. package/components/common/diagramMain/adapter/AdapterItems.vue +59 -59
  176. package/components/common/diagramMain/adapter/Block.vue +48 -48
  177. package/components/common/diagramMain/adapter/Contents.vue +110 -110
  178. package/components/common/diagramMain/adapter/Lines.vue +58 -58
  179. package/components/common/diagramMain/adapter/SecondBlock.vue +49 -49
  180. package/components/common/diagramMain/config/index.ts +51 -51
  181. package/components/common/diagramMain/config/initial.ts +37 -37
  182. package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +236 -236
  183. package/components/common/diagramMain/modals/config/adapterModal.ts +111 -111
  184. package/components/common/diagramMain/modals/config/diagramConfig.ts +17 -17
  185. package/components/common/diagramMain/modals/config/index.ts +51 -51
  186. package/components/common/diagramMain/modals/config/initial.ts +181 -181
  187. package/components/common/diagramMain/modals/config/networkModal.ts +343 -343
  188. package/components/common/diagramMain/modals/config/portModal.ts +209 -209
  189. package/components/common/diagramMain/modals/config/switchModal.ts +172 -172
  190. package/components/common/diagramMain/modals/config/vCenterModal.ts +34 -34
  191. package/components/common/diagramMain/modals/config/vmKernelAdapter.ts +90 -90
  192. package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +41 -41
  193. package/components/common/diagramMain/modals/editSettings/EditSettings.vue +491 -491
  194. package/components/common/diagramMain/modals/editSettings/EditSettingsModal.vue +825 -825
  195. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +211 -211
  196. package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +183 -183
  197. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +161 -161
  198. package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +166 -166
  199. package/components/common/diagramMain/modals/editSettings/tabs/TrafficShaping.vue +393 -393
  200. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +339 -339
  201. package/components/common/diagramMain/modals/migrateVmkernelAdapter/MigrateVmkernelAdapter.vue +531 -531
  202. package/components/common/diagramMain/modals/migrateVmkernelAdapter/config/steps.ts +114 -114
  203. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +161 -161
  204. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +158 -158
  205. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/VmkernelAdapterReadyComplete.vue +49 -49
  206. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +14 -14
  207. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +141 -141
  208. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
  209. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
  210. package/components/common/diagramMain/modals/utils/index.ts +9 -9
  211. package/components/common/diagramMain/modals/viewSettings/Info.vue +123 -123
  212. package/components/common/diagramMain/modals/viewSettings/ViewSettings.vue +171 -171
  213. package/components/common/diagramMain/modals/viewSettings/ViewSettingsModal.vue +93 -93
  214. package/components/common/diagramMain/models/enums.ts +26 -26
  215. package/components/common/diagramMain/models/interfaces.ts +563 -563
  216. package/components/common/diagramMain/models/types.ts +8 -8
  217. package/components/common/diagramMain/network/Block.vue +62 -62
  218. package/components/common/diagramMain/network/Contents.vue +253 -253
  219. package/components/common/diagramMain/network/Lines.vue +71 -71
  220. package/components/common/diagramMain/network/Network.vue +124 -124
  221. package/components/common/diagramMain/network/NoNetwork.vue +53 -53
  222. package/components/common/diagramMain/network/SecondBlock.vue +58 -58
  223. package/components/common/diagramMain/port/Port.vue +320 -320
  224. package/components/common/diagramMain/port/Ports.vue +41 -41
  225. package/components/common/diagramMain/switch/Switch.vue +82 -82
  226. package/components/common/diagramMain/switch/SwitchSelected.vue +35 -35
  227. package/components/common/diagramMain/utils/utils.ts +218 -218
  228. package/components/common/feedback/Buttons.vue +227 -227
  229. package/components/common/feedback/Message.vue +509 -509
  230. package/components/common/feedback/config/drawingPanel.ts +31 -31
  231. package/components/common/feedback/config/feedbackTabs.ts +24 -24
  232. package/components/common/feedback/models/interfaces.ts +19 -19
  233. package/components/common/feedback/models/types.ts +1 -1
  234. package/components/common/graph/Graph.vue +109 -109
  235. package/components/common/graph/utils/renderGraph.ts +389 -389
  236. package/components/common/headline/Headline.vue +32 -32
  237. package/components/common/help/navbar/left/Left.vue +164 -164
  238. package/components/common/help/navbar/left/models/interfaces.ts +6 -6
  239. package/components/common/help/navbar/right/Right.vue +139 -139
  240. package/components/common/help/navbar/right/models/interfaces.ts +4 -4
  241. package/components/common/home/Card.vue +63 -63
  242. package/components/common/home/ResourceBlock.vue +117 -117
  243. package/components/common/home/StatusContent.vue +47 -47
  244. package/components/common/home/alertsTable/AlertsTable.vue +105 -105
  245. package/components/common/home/alertsTable/config/config.ts +61 -61
  246. package/components/common/home/alertsTable/models/enums.ts +11 -11
  247. package/components/common/home/alertsTable/models/interfaces.ts +19 -19
  248. package/components/common/home/alertsTable/models/types.ts +18 -18
  249. package/components/common/home/config/configResourceMeterBlock.ts +25 -25
  250. package/components/common/home/models/interfaces.ts +59 -59
  251. package/components/common/home/models/types.ts +18 -18
  252. package/components/common/home/servicesTable/ServicesTable.vue +79 -79
  253. package/components/common/home/servicesTable/config/config.ts +62 -62
  254. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +359 -359
  255. package/components/common/mainNavigationPanel/models/interfaces.ts +6 -6
  256. package/components/common/mainNavigationPanel/models/types.ts +1 -1
  257. package/components/common/modals/Confirmation.vue +97 -97
  258. package/components/common/modals/Rename.vue +165 -165
  259. package/components/common/modals/config/defaultForm.ts +18 -18
  260. package/components/common/modals/config/renameLabelWidth.ts +3 -3
  261. package/components/common/modals/models/interfaces.ts +5 -5
  262. package/components/common/monitor/advanced/Advanced.vue +243 -243
  263. package/components/common/monitor/advanced/GraphView.vue +180 -180
  264. package/components/common/monitor/advanced/models/interfaces.ts +8 -8
  265. package/components/common/monitor/advanced/models/types.ts +1 -1
  266. package/components/common/monitor/advanced/table/Table.vue +90 -90
  267. package/components/common/monitor/advanced/table/config/performanceDatatable.ts +116 -116
  268. package/components/common/monitor/advanced/table/models/interfaces.ts +12 -12
  269. package/components/common/monitor/advanced/table/models/types.ts +10 -10
  270. package/components/common/monitor/advanced/tools/Tools.vue +436 -436
  271. package/components/common/monitor/advanced/tools/chartOptionsModal/ChartOptionsModal.vue +502 -502
  272. package/components/common/monitor/advanced/tools/chartOptionsModal/Notification.vue +33 -33
  273. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/Actions.vue +150 -150
  274. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/saveOptionsModal/SaveOptionsModal.vue +76 -76
  275. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/utils/optionsActions.ts +25 -25
  276. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/Counters.vue +104 -104
  277. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/Table.vue +136 -136
  278. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/config/tableConfig.ts +71 -71
  279. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/config/utils.ts +689 -689
  280. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/models/interfaces.ts +28 -28
  281. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/models/types.ts +5 -5
  282. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/Timespan.vue +83 -83
  283. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/Form.vue +501 -501
  284. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/config/dateForm.ts +59 -59
  285. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/Object.vue +197 -197
  286. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/config/objectTable.ts +54 -54
  287. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/models/interfaces.ts +4 -4
  288. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/models/types.ts +1 -1
  289. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/Metrics.vue +42 -42
  290. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/config/optionsMetrics.ts +116 -116
  291. package/components/common/monitor/advanced/tools/chartOptionsModal/models/interfaces.ts +19 -19
  292. package/components/common/monitor/advanced/tools/chartOptionsModal/models/types.ts +3 -3
  293. package/components/common/monitor/advanced/tools/config/advancedToolbar.ts +125 -125
  294. package/components/common/monitor/advanced/tools/models/interfaces.ts +4 -4
  295. package/components/common/monitor/advanced/tools/utils/countCores.ts +7 -7
  296. package/components/common/monitor/config/getValidDateByOption.ts +76 -76
  297. package/components/common/monitor/models/interfaces.ts +23 -23
  298. package/components/common/monitor/overview/Overview.vue +470 -470
  299. package/components/common/monitor/overview/filters/Filters.vue +221 -221
  300. package/components/common/monitor/overview/filters/config/filterOptions.ts +81 -81
  301. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +241 -241
  302. package/components/common/monitor/overview/filters/customIntervalModal/config/dateChecker.ts +37 -37
  303. package/components/common/monitor/overview/filters/models/interfaces.ts +7 -7
  304. package/components/common/monitor/overview/filters/models/types.ts +3 -3
  305. package/components/common/perPage/PerPage.vue +51 -51
  306. package/components/common/recursionTree/models/interfaces.ts +19 -19
  307. package/components/common/resource/models/interfaces.ts +9 -9
  308. package/components/common/resource/models/types.ts +1 -1
  309. package/components/common/resource/progressBlock/ProgressBlock.vue +105 -105
  310. package/components/common/resource/simple/Simple.vue +58 -58
  311. package/components/common/resource/simple/models/enums.ts +5 -5
  312. package/components/common/resource/utils.ts +33 -33
  313. package/components/common/select/button/ButtonDropdown.vue +100 -100
  314. package/components/common/select/button/models/interfaces.ts +6 -6
  315. package/components/common/select/input/Input.vue +90 -90
  316. package/components/common/select/input/models/interfaces.ts +5 -5
  317. package/components/common/select/radio/RadioGroup.vue +108 -108
  318. package/components/common/select/radio/models/interfaces.ts +8 -8
  319. package/components/common/shortcuts/Block.vue +83 -83
  320. package/components/common/shortcuts/Category.vue +40 -40
  321. package/components/common/shortcuts/Shortcuts.vue +44 -44
  322. package/components/common/shortcuts/models/interfaces.ts +10 -10
  323. package/components/common/spiceConsole/Drawer.vue +241 -241
  324. package/components/common/spiceConsole/SpiceConsole.vue +83 -83
  325. package/components/common/spiceConsole/keyboard/Keyboard.vue +402 -402
  326. package/components/common/spiceConsole/keyboard/config/keyboardRows.ts +891 -891
  327. package/components/common/spiceConsole/keyboard/models/interfaces.ts +17 -17
  328. package/components/common/spiceConsole/models/types.ts +1 -1
  329. package/components/common/split/horizontal/Horizontal.vue +306 -306
  330. package/components/common/split/horizontal/models/interfaces.ts +5 -5
  331. package/components/common/split/vertical/Vertical.vue +213 -213
  332. package/components/common/split/vertical/models/interfaces.ts +3 -3
  333. package/components/common/tools/Actions.vue +167 -167
  334. package/components/common/tools/models/interfaces.ts +6 -6
  335. package/components/common/tools/viewSettings/ViewSettings.vue +71 -71
  336. package/components/common/tools/viewSettings/models/interfaces.ts +9 -9
  337. package/components/common/vm/actions/add/Add.vue +14 -23
  338. package/components/common/vm/actions/add/FolderTreeView.vue +83 -83
  339. package/components/common/vm/actions/add/config/steps.ts +1 -6
  340. package/components/common/vm/actions/addOld/Add.vue +690 -690
  341. package/components/common/vm/actions/addOld/FolderTreeView.vue +83 -83
  342. package/components/common/vm/actions/addOld/utils.ts +118 -118
  343. package/components/common/vm/actions/clone/models/interfaces.ts +7 -7
  344. package/components/common/vm/actions/common/config/capabilities.ts +339 -339
  345. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +269 -269
  346. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +267 -267
  347. package/components/common/vm/actions/common/customizeHardware/config/navItems.ts +19 -19
  348. package/components/common/vm/actions/common/customizeHardware/models/interfaces.ts +7 -7
  349. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +681 -681
  350. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +203 -203
  351. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/models/interfaces.ts +8 -8
  352. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +130 -130
  353. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/config/options.ts +20 -20
  354. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +247 -247
  355. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/config/fileTypes.ts +9 -9
  356. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/config/options.ts +11 -11
  357. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +55 -55
  358. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/models/types.ts +1 -1
  359. package/components/common/vm/actions/common/customizeHardware/virtualHardware/config/binaryOptions.ts +12 -12
  360. package/components/common/vm/actions/common/customizeHardware/virtualHardware/config/dropdownItems.ts +52 -52
  361. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +394 -394
  362. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuHotPlug.vue +49 -49
  363. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuModel.vue +220 -220
  364. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Hv.vue +93 -93
  365. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Iommu.vue +54 -54
  366. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/MaxCpu.vue +105 -105
  367. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Pc.vue +54 -54
  368. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Sa.vue +104 -104
  369. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/config/cpuOptions.ts +19 -19
  370. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +155 -155
  371. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/config/options.ts +28 -28
  372. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/tooltip/Tooltip.vue +58 -58
  373. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryHotPlug.vue +53 -53
  374. package/components/common/vm/actions/common/customizeHardware/virtualHardware/models/interfaces.ts +125 -125
  375. package/components/common/vm/actions/common/customizeHardware/virtualHardware/models/types.ts +4 -4
  376. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/DiskFile.vue +24 -24
  377. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/Location.vue +171 -171
  378. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/MaximumSize.vue +27 -27
  379. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +447 -447
  380. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/cache/Cache.vue +80 -80
  381. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/cache/config/options.ts +7 -7
  382. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/limitIops/LimitIops.vue +151 -151
  383. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/limitIops/config/options.ts +28 -28
  384. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/Mode.vue +87 -87
  385. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/config/options.ts +18 -18
  386. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/Provisioning.vue +87 -87
  387. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/config/options.ts +15 -15
  388. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/Sharing.vue +85 -85
  389. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/config/options.ts +12 -12
  390. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/Location.vue +141 -141
  391. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +288 -288
  392. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/adapterType/AdapterType.vue +86 -86
  393. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/adapterType/config/options.ts +9 -9
  394. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +140 -140
  395. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/config/options.ts +11 -11
  396. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +157 -157
  397. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/config/options.ts +7 -7
  398. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIo.vue +44 -44
  399. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +49 -49
  400. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/config/options.ts +10 -10
  401. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +27 -27
  402. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -41
  403. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelection.vue +56 -56
  404. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +77 -77
  405. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/config/options.ts +6 -6
  406. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/InputDevices.vue +21 -21
  407. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +27 -27
  408. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/config/options.ts +33 -33
  409. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/Graphics.vue +45 -45
  410. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/TotalVideoMemory.vue +120 -120
  411. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +177 -177
  412. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/config/options.ts +11 -11
  413. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/Model.vue +57 -57
  414. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/config/options.ts +10 -10
  415. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +82 -82
  416. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/config/options.ts +14 -14
  417. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +181 -181
  418. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptions.vue +110 -110
  419. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/Menu.vue +45 -45
  420. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/Secure.vue +45 -45
  421. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +50 -50
  422. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/config/config.ts +14 -14
  423. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +83 -83
  424. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/config/config.ts +11 -11
  425. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/models/interfaces.ts +8 -8
  426. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +181 -181
  427. package/components/common/vm/actions/common/customizeHardware/vmoptions/models/interfaces.ts +34 -34
  428. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/FileTransfer.vue +51 -51
  429. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/FolderSharing.vue +50 -50
  430. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/PlaybackCompression.vue +51 -51
  431. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/PowerControl.vue +49 -49
  432. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/ImgCompression.vue +84 -84
  433. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/config/config.ts +14 -14
  434. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/JpegCompression.vue +84 -84
  435. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/config/config.ts +12 -12
  436. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/config/config.ts +6 -6
  437. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/MouseMode.vue +52 -52
  438. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/config/config.ts +11 -11
  439. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +136 -136
  440. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/models/interfaces.ts +5 -5
  441. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/utils.ts +12 -12
  442. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/SharePolicy.vue +52 -52
  443. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/config/config.ts +11 -11
  444. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/StreamingMode.vue +84 -84
  445. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/config/config.ts +12 -12
  446. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/type/Type.vue +84 -84
  447. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/type/config/config.ts +7 -7
  448. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +56 -56
  449. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/config/config.ts +14 -14
  450. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/ZlibCompression.vue +84 -84
  451. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/config/config.ts +12 -12
  452. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/Tools.vue +63 -63
  453. package/components/common/vm/actions/common/models/enums.ts +89 -89
  454. package/components/common/vm/actions/common/models/interfaces.ts +139 -139
  455. package/components/common/vm/actions/common/models/types.ts +65 -65
  456. package/components/common/vm/actions/common/readyToComplete/ReadyToComplete.vue +15 -15
  457. package/components/common/vm/actions/common/select/compatibility/Compatibility.vue +151 -151
  458. package/components/common/vm/actions/common/select/computeResource/ComputeResource.spec.ts +479 -479
  459. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +170 -170
  460. package/components/common/vm/actions/common/select/computeResource/TreeView.vue +126 -126
  461. package/components/common/vm/actions/common/select/createType/CreateType.vue +61 -61
  462. package/components/common/vm/actions/common/select/createType/config/items.ts +26 -26
  463. package/components/common/vm/actions/common/select/models/interfaces.ts +32 -32
  464. package/components/common/vm/actions/common/select/models/types.ts +46 -46
  465. package/components/common/vm/actions/common/select/name/Name.vue +220 -220
  466. package/components/common/vm/actions/common/select/name/NameOld.vue +215 -215
  467. package/components/common/vm/actions/common/select/os/os.vue +221 -221
  468. package/components/common/vm/actions/common/select/storage/Storage.vue +196 -196
  469. package/components/common/vm/actions/common/select/storage/StorageOld.vue +194 -194
  470. package/components/common/vm/actions/common/select/storage/models/types.ts +15 -15
  471. package/components/common/vm/actions/editSettings/EditSettings.vue +316 -316
  472. package/components/common/vm/actions/editSettings/models/types.ts +23 -23
  473. package/components/common/vm/actions/editSettings/utils.ts +45 -45
  474. package/components/common/vm/actions/models/interfaces.ts +6 -6
  475. package/components/common/vm/actions/models/types.ts +11 -11
  476. package/components/common/vm/actions/utils.ts +244 -244
  477. package/components/common/vm/models/interfaces.ts +9 -9
  478. package/components/common/wizards/datastore/add/Add.vue +383 -383
  479. package/components/common/wizards/datastore/add/config/stepItems.ts +160 -160
  480. package/components/common/wizards/datastore/add/local/Local.vue +67 -67
  481. package/components/common/wizards/datastore/add/local/createName/CreateName.vue +159 -159
  482. package/components/common/wizards/datastore/add/local/createName/config/defaultForm.ts +15 -15
  483. package/components/common/wizards/datastore/add/models/interfaces.ts +35 -35
  484. package/components/common/wizards/datastore/add/models/types.ts +14 -14
  485. package/components/common/wizards/datastore/add/nfs/Nfs.vue +94 -94
  486. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +95 -95
  487. package/components/common/wizards/datastore/add/nfs/accessibility/config/tabsPannel.ts +24 -24
  488. package/components/common/wizards/datastore/add/nfs/accessibility/models/interfaces.ts +9 -9
  489. package/components/common/wizards/datastore/add/nfs/accessibility/models/types.ts +5 -5
  490. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/TablesView.vue +141 -141
  491. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/config/compatibleTable.ts +54 -54
  492. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/config/hostsTableItems.ts +75 -75
  493. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/config/incompatibleTable.ts +68 -68
  494. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/config/tableKeys.ts +15 -15
  495. package/components/common/wizards/datastore/add/nfs/configuration/Configuration.vue +377 -377
  496. package/components/common/wizards/datastore/add/nfs/configuration/config/defaultForm.ts +33 -33
  497. package/components/common/wizards/datastore/add/nfs/configuration/models/interfaces.ts +12 -12
  498. package/components/common/wizards/datastore/add/nfs/configuration/serversList/DeletePopover.vue +97 -97
  499. package/components/common/wizards/datastore/add/nfs/configuration/serversList/ServersList.vue +123 -123
  500. package/components/common/wizards/datastore/add/nfs/configuration/serversList/config/serversListConfig.ts +41 -41
  501. package/components/common/wizards/datastore/add/nfs/configuration/serversList/config/tableKeys.ts +3 -3
  502. package/components/common/wizards/datastore/add/nfs/configuration/serversList/models/interfaces.ts +11 -11
  503. package/components/common/wizards/datastore/add/nfs/configuration/serversList/models/types.ts +1 -1
  504. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/config/radioOptions.ts +24 -24
  505. package/components/common/wizards/datastore/add/nfs/version/Version.vue +42 -42
  506. package/components/common/wizards/datastore/add/nfs/version/config/versionOptions.ts +20 -20
  507. package/components/common/wizards/datastore/add/readyComplete/ReadyComplete.vue +78 -78
  508. package/components/common/wizards/datastore/add/readyComplete/config/propertiesDetails.ts +165 -165
  509. package/components/common/wizards/datastore/add/readyComplete/models/interfaces.ts +4 -4
  510. package/components/common/wizards/datastore/add/sharedStorm/SharedStorm.vue +85 -85
  511. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/DeviceSelection.vue +447 -447
  512. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/config/defaultForm.ts +18 -18
  513. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/config/selectOptions.ts +14 -14
  514. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/HostTable.vue +131 -131
  515. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/config/hostsTable.ts +87 -87
  516. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/config/tableKeys.ts +11 -11
  517. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/models/interfaces.ts +55 -55
  518. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/models/types.ts +14 -14
  519. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/PartitionConfiguration.vue +230 -230
  520. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/config/selectOptions.ts +46 -46
  521. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/graphicTooltip/graphicTooltip.vue +64 -64
  522. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/sizeGraphic/sizeGraphic.vue +225 -225
  523. package/components/common/wizards/datastore/add/sharedStorm/version/Version.vue +39 -39
  524. package/components/common/wizards/datastore/add/sharedStorm/version/config/versionOptions.ts +21 -21
  525. package/components/common/wizards/datastore/add/types/Types.vue +77 -77
  526. package/components/common/wizards/datastore/add/types/config/typeOptions.ts +39 -39
  527. package/components/common/wizards/datastore/add/utils.ts +67 -67
  528. package/components/common/wizards/network/add/Add.vue +880 -880
  529. package/components/common/wizards/network/add/config/index.ts +33 -33
  530. package/components/common/wizards/network/add/config/initialData.ts +62 -62
  531. package/components/common/wizards/network/add/config/portPropertiesStep.ts +31 -31
  532. package/components/common/wizards/network/add/config/selectSwitch.ts +19 -19
  533. package/components/common/wizards/network/add/config/sendData.ts +102 -102
  534. package/components/common/wizards/network/add/config/steps.ts +485 -485
  535. package/components/common/wizards/network/add/mappers/mappers.ts +166 -166
  536. package/components/common/wizards/network/add/modals/SelectNetwork.vue +149 -149
  537. package/components/common/wizards/network/add/modals/SelectStandardSwitch.vue +125 -125
  538. package/components/common/wizards/network/add/modals/SelectSwitch.vue +114 -114
  539. package/components/common/wizards/network/add/models/enums.ts +17 -17
  540. package/components/common/wizards/network/add/models/interfaces.ts +201 -201
  541. package/components/common/wizards/network/add/models/types.ts +2 -2
  542. package/components/common/wizards/network/add/steps/ConnectionSettings.vue +148 -148
  543. package/components/common/wizards/network/add/steps/CreateStandardSwitch.vue +84 -84
  544. package/components/common/wizards/network/add/steps/IpFourSettings.vue +245 -245
  545. package/components/common/wizards/network/add/steps/PhysicalAdapter.vue +13 -13
  546. package/components/common/wizards/network/add/steps/PortProperties.vue +369 -369
  547. package/components/common/wizards/network/add/steps/ReadyComplete.vue +20 -20
  548. package/components/common/wizards/network/add/steps/SelectConnectionType.vue +99 -99
  549. package/components/common/wizards/network/add/steps/SelectedTargetDevice.vue +451 -451
  550. package/components/common/wizards/network/add/utils/index.ts +4 -4
  551. package/components/common/wizards/network/add/validations/common.ts +26 -26
  552. package/components/common/wizards/network/add/validations/connectionSettings.ts +70 -70
  553. package/components/common/wizards/network/add/validations/createStandardSwitch.ts +58 -58
  554. package/components/common/wizards/network/add/validations/ipFourSettings.ts +182 -182
  555. package/components/common/wizards/network/add/validations/networkValidation.ts +81 -81
  556. package/components/common/wizards/network/add/validations/portProperties.ts +83 -83
  557. package/components/common/wizards/network/add/validations/targetDevice.ts +109 -109
  558. package/components/common/wizards/network/add/validations/validations.ts +43 -43
  559. package/components/common/wizards/vm/common/computeResource/TreeView.vue +61 -61
  560. package/components/common/wizards/vm/common/readyComplete/ReadyComplete.vue +15 -15
  561. package/components/common/wizards/vm/common/tooltip/Tooltip.vue +82 -82
  562. package/components/common/wizards/vm/common/validation/compatibility/Compatibility.vue +62 -62
  563. package/components/common/wizards/vm/common/validation/models/enums.ts +5 -5
  564. package/components/common/wizards/vm/migrate/Migrate.vue +270 -270
  565. package/components/common/wizards/vm/migrate/config/constructDataReady.ts +100 -100
  566. package/components/common/wizards/vm/migrate/contentHeading/ContentHeading.vue +106 -106
  567. package/components/common/wizards/vm/migrate/contentHeading/models/interfaces.ts +7 -7
  568. package/components/common/wizards/vm/migrate/models/enums.ts +6 -6
  569. package/components/common/wizards/vm/migrate/models/interfaces.ts +24 -24
  570. package/components/common/wizards/vm/migrate/models/types.ts +5 -5
  571. package/components/common/wizards/vm/migrate/select/computeResource/ComputeResource.vue +219 -219
  572. package/components/common/wizards/vm/migrate/select/computeResource/config/tabsPannel.ts +28 -28
  573. package/components/common/wizards/vm/migrate/select/computeResource/models/enums.ts +6 -6
  574. package/components/common/wizards/vm/migrate/select/computeResource/models/interfaces.ts +30 -30
  575. package/components/common/wizards/vm/migrate/select/computeResource/models/types.ts +12 -12
  576. package/components/common/wizards/vm/migrate/select/computeResource/tableView/TableView.vue +142 -142
  577. package/components/common/wizards/vm/migrate/select/computeResource/tableView/config/clusterTable.ts +114 -114
  578. package/components/common/wizards/vm/migrate/select/computeResource/tableView/config/hostTable.ts +124 -124
  579. package/components/common/wizards/vm/migrate/select/computeResource/tableView/config/resourcePoolTable.ts +115 -115
  580. package/components/common/wizards/vm/migrate/select/computeResource/tableView/config/tableKeys.ts +65 -65
  581. package/components/common/wizards/vm/migrate/select/computeResource/tableView/config/vappsTable.ts +66 -66
  582. package/components/common/wizards/vm/migrate/select/computeResource/tableView/models/interfaces.ts +29 -29
  583. package/components/common/wizards/vm/migrate/select/computeResource/tableView/models/types.ts +60 -60
  584. package/components/common/wizards/vm/migrate/select/network/Network.vue +51 -51
  585. package/components/common/wizards/vm/migrate/select/network/table/disk/Disk.vue +84 -84
  586. package/components/common/wizards/vm/migrate/select/network/table/disk/config/advancedTable.ts +77 -77
  587. package/components/common/wizards/vm/migrate/select/network/table/disk/config/basicTable.ts +71 -71
  588. package/components/common/wizards/vm/migrate/select/network/table/disk/config/tableKeys.ts +10 -10
  589. package/components/common/wizards/vm/migrate/select/network/table/disk/models/interfaces.ts +1 -1
  590. package/components/common/wizards/vm/migrate/select/network/table/disk/models/types.ts +12 -12
  591. package/components/common/wizards/vm/migrate/select/priority/Priority.vue +39 -39
  592. package/components/common/wizards/vm/migrate/select/priority/config/typeOptions.ts +21 -21
  593. package/components/common/wizards/vm/migrate/select/priority/models/types.ts +1 -1
  594. package/components/common/wizards/vm/migrate/select/storage/Storage.vue +202 -202
  595. package/components/common/wizards/vm/migrate/select/storage/config/tabsPannel.ts +18 -18
  596. package/components/common/wizards/vm/migrate/select/storage/configure/batch/Batch.vue +76 -76
  597. package/components/common/wizards/vm/migrate/select/storage/configure/disk/Disk.vue +86 -86
  598. package/components/common/wizards/vm/migrate/select/storage/diskFormat/DiskFormat.vue +68 -68
  599. package/components/common/wizards/vm/migrate/select/storage/diskFormat/config/formatOptions.ts +26 -26
  600. package/components/common/wizards/vm/migrate/select/storage/models/enums.ts +6 -6
  601. package/components/common/wizards/vm/migrate/select/storage/models/interfaces.ts +14 -14
  602. package/components/common/wizards/vm/migrate/select/storage/models/types.ts +9 -9
  603. package/components/common/wizards/vm/migrate/select/storage/policy/Policy.vue +83 -83
  604. package/components/common/wizards/vm/migrate/select/storage/selectedPerDisk/SelectedPerDisk.vue +87 -87
  605. package/components/common/wizards/vm/migrate/select/storage/table/datastore/Datastore.vue +113 -113
  606. package/components/common/wizards/vm/migrate/select/storage/table/datastore/config/config.ts +154 -154
  607. package/components/common/wizards/vm/migrate/select/storage/table/datastore/models/types.ts +15 -15
  608. package/components/common/wizards/vm/migrate/select/storage/table/disk/Disk.vue +84 -84
  609. package/components/common/wizards/vm/migrate/select/storage/table/disk/config/config.ts +123 -123
  610. package/components/common/wizards/vm/migrate/select/storage/table/disk/config/tableKeys.ts +15 -15
  611. package/components/common/wizards/vm/migrate/select/storage/table/disk/models/interfaces.ts +24 -24
  612. package/components/common/wizards/vm/migrate/select/storage/table/disk/models/types.ts +13 -13
  613. package/components/common/wizards/vm/migrate/select/targetServer/config/tabsPannel.ts +18 -18
  614. package/components/common/wizards/vm/migrate/select/targetServer/models/types.ts +1 -1
  615. package/components/common/wizards/vm/migrate/select/targetServer/new/New.vue +287 -287
  616. package/components/common/wizards/vm/migrate/select/targetServer/new/config/defaultForm.ts +33 -33
  617. package/components/common/wizards/vm/migrate/select/targetServer/saved/Saved.vue +27 -27
  618. package/components/common/wizards/vm/migrate/select/targetServer/targetServer.vue +41 -41
  619. package/components/common/wizards/vm/migrate/select/type/Type.vue +38 -38
  620. package/components/common/wizards/vm/migrate/select/type/config/typeOptions.ts +41 -41
  621. package/components/common/wizards/vm/migrate/select/type/models/interfaces.ts +5 -5
  622. package/components/common/wizards/vm/migrate/utils.ts +80 -80
  623. package/components/content/Hint.vue +24 -24
  624. package/components/layout/theHeader/models/enums.ts +9 -9
  625. package/components/models/interfaces.ts +14 -14
  626. package/composables/deepCopy.ts +21 -21
  627. package/composables/useDiff.ts +15 -15
  628. package/composables/useLocalStorage.ts +45 -45
  629. package/composables/useThrottle.ts +32 -32
  630. package/composables/useUniqueId.ts +5 -5
  631. package/config/regExp.ts +13 -13
  632. package/eslint/index.js +15 -15
  633. package/eslint/no-import-type.js +17 -17
  634. package/eslint/no-invalid-type-prefix.js +32 -32
  635. package/models/composables/useMyFetch/interfaces.ts +25 -25
  636. package/models/composables/useMyFetch/types.ts +1 -1
  637. package/models/enums.ts +21 -21
  638. package/models/plugins/date/interfaces.ts +5 -5
  639. package/models/plugins/date/types.ts +1 -1
  640. package/models/plugins/validation/interfaces.ts +21 -21
  641. package/models/plugins/validation/types.ts +1 -1
  642. package/models/store/host/interfaces.ts +38 -38
  643. package/models/store/network/interfaces.ts +13 -13
  644. package/models/store/vm/interfaces.ts +213 -213
  645. package/models/types.ts +15 -15
  646. package/modules/fixContentBuild/index.ts +92 -92
  647. package/modules/fixSpiceConsoleBuild/index.ts +28 -28
  648. package/modules/replaceEnv/index.ts +40 -40
  649. package/nuxt.config.ts +8 -8
  650. package/package.json +41 -41
  651. package/plugins/binary.ts +122 -122
  652. package/plugins/date.ts +179 -179
  653. package/plugins/recursion.ts +230 -230
  654. package/plugins/spice-console/spice.console.ts +18 -18
  655. package/plugins/text.ts +48 -48
  656. package/plugins/validation.ts +172 -172
  657. package/public/spice-console/application/WorkerProcess.js +3350 -3350
  658. package/public/spice-console/application/WorkerProcess_back.js +3144 -3144
  659. package/public/spice-console/application/WorkerProcess_meta.js +3102 -3102
  660. package/public/spice-console/application/WorkerProcess_reverse.js +3214 -3214
  661. package/public/spice-console/application/agent.js +175 -175
  662. package/public/spice-console/application/application.js +641 -641
  663. package/public/spice-console/application/checkActivity.js +50 -50
  664. package/public/spice-console/application/clientgui.js +842 -842
  665. package/public/spice-console/application/clipboard/clipboarddataparser.js +92 -92
  666. package/public/spice-console/application/clipboard/local/localClipboard.js +110 -110
  667. package/public/spice-console/application/clipboard.js +82 -82
  668. package/public/spice-console/application/imagecache.js +81 -81
  669. package/public/spice-console/application/inputmanager.js +270 -270
  670. package/public/spice-console/application/packetfactory.js +202 -202
  671. package/public/spice-console/application/packetfilter.js +103 -103
  672. package/public/spice-console/application/packetprocess.js +75 -75
  673. package/public/spice-console/application/rasteroperation.js +118 -118
  674. package/public/spice-console/application/spiceconnection.js +197 -197
  675. package/public/spice-console/application/stream.js +67 -67
  676. package/public/spice-console/application/virtualmouse.js +109 -109
  677. package/public/spice-console/keymaps/keyevent.js +36 -36
  678. package/public/spice-console/keymaps/keymap.js +229 -229
  679. package/public/spice-console/keymaps/keymapes.js +375 -375
  680. package/public/spice-console/keymaps/keymapesObj.js +316 -316
  681. package/public/spice-console/keymaps/keymapus.js +317 -317
  682. package/public/spice-console/keymaps/scanCodeObjModifier.js +65 -65
  683. package/public/spice-console/keymaps/scanCodeObjProvider.js +60 -60
  684. package/public/spice-console/lib/AsyncConsumer.js +204 -204
  685. package/public/spice-console/lib/AsyncWorker.js +60 -60
  686. package/public/spice-console/lib/CollisionDetector.js +27 -27
  687. package/public/spice-console/lib/DataLogger.js +197 -197
  688. package/public/spice-console/lib/GenericObjectPool.js +152 -152
  689. package/public/spice-console/lib/GlobalPool.js +114 -114
  690. package/public/spice-console/lib/ImageUncompressor.js +138 -138
  691. package/public/spice-console/lib/IntegrationBenchmark.js +64 -64
  692. package/public/spice-console/lib/PacketWorkerIdentifier.js +107 -107
  693. package/public/spice-console/lib/SyncAsyncHandler.js +46 -46
  694. package/public/spice-console/lib/base64.js +298 -298
  695. package/public/spice-console/lib/biginteger.js +1640 -1640
  696. package/public/spice-console/lib/bowser.js +276 -276
  697. package/public/spice-console/lib/decoder/dixie.js +7930 -7930
  698. package/public/spice-console/lib/decoder/jmuxer.js +2815 -2815
  699. package/public/spice-console/lib/displayRouter.js +83 -83
  700. package/public/spice-console/lib/encrypt.js +191 -191
  701. package/public/spice-console/lib/flipper.js +39 -39
  702. package/public/spice-console/lib/graphic.js +1230 -1230
  703. package/public/spice-console/lib/graphicdebug.js +223 -223
  704. package/public/spice-console/lib/images/bitmap.js +194 -194
  705. package/public/spice-console/lib/images/jsquic_family.js +83 -83
  706. package/public/spice-console/lib/images/jsquic_rgba.js +342 -342
  707. package/public/spice-console/lib/images/jsquic_uncompress.js +529 -529
  708. package/public/spice-console/lib/images/lz.js +717 -717
  709. package/public/spice-console/lib/images/png.js +275 -275
  710. package/public/spice-console/lib/jgestures.min.js +43 -43
  711. package/public/spice-console/lib/jquery-2.0.3.js +8829 -8829
  712. package/public/spice-console/lib/jquery-mousewheel.js +83 -83
  713. package/public/spice-console/lib/jquery-visibility.min.js +1 -1
  714. package/public/spice-console/lib/jsbn.js +578 -578
  715. package/public/spice-console/lib/jsbn2.js +675 -675
  716. package/public/spice-console/lib/lodash.4.0.0.min.js +136 -136
  717. package/public/spice-console/lib/modernizr.js +39 -39
  718. package/public/spice-console/lib/pixastic.js +3244 -3244
  719. package/public/spice-console/lib/prettyprint.js +794 -794
  720. package/public/spice-console/lib/prng4.js +64 -64
  721. package/public/spice-console/lib/queue.js +259 -259
  722. package/public/spice-console/lib/rng.js +87 -87
  723. package/public/spice-console/lib/runqueue.js +103 -103
  724. package/public/spice-console/lib/sha1.js +124 -124
  725. package/public/spice-console/lib/stuckkeyshandler.js +122 -122
  726. package/public/spice-console/lib/timelapsedetector.js +62 -62
  727. package/public/spice-console/lib/utils.js +327 -327
  728. package/public/spice-console/lib/virtualjoystick.js +370 -370
  729. package/public/spice-console/network/busconnection.js +195 -195
  730. package/public/spice-console/network/clusternodechooser.js +49 -49
  731. package/public/spice-console/network/connectioncontrol.js +60 -60
  732. package/public/spice-console/network/packetcontroller.js +62 -62
  733. package/public/spice-console/network/packetextractor.js +73 -73
  734. package/public/spice-console/network/packetlinkfactory.js +64 -64
  735. package/public/spice-console/network/packetreassembler.js +77 -77
  736. package/public/spice-console/network/reassemblerfactory.js +39 -39
  737. package/public/spice-console/network/sizedefiner.js +86 -86
  738. package/public/spice-console/network/socket.js +120 -120
  739. package/public/spice-console/network/socketqueue.js +95 -95
  740. package/public/spice-console/network/websocketwrapper.js +75 -75
  741. package/public/spice-console/process/busprocess.js +309 -309
  742. package/public/spice-console/process/cursorprocess.js +110 -110
  743. package/public/spice-console/process/displaypreprocess.js +152 -152
  744. package/public/spice-console/process/displayprocess.js +210 -210
  745. package/public/spice-console/process/inputprocess.js +203 -203
  746. package/public/spice-console/process/mainprocess.js +78 -78
  747. package/public/spice-console/process/playbackprocess.js +233 -233
  748. package/public/spice-console/run.js +180 -180
  749. package/public/spice-console/spiceobjects/generated/protocol.js +537 -537
  750. package/public/spice-console/spiceobjects/spiceobjects.js +3474 -3474
  751. package/public/spice-console/swcanvas/swcanvas.js +82 -82
  752. package/public/spice-console/tools/generate.php +269 -269
  753. package/public/spice-console/tools/generateKeyboardLayout.php +63 -63
  754. package/public/spice-console/tools/generateSpiceObject.php +81 -81
  755. package/tsconfig.json +4 -4
  756. package/utils/base64.ts +34 -34
  757. package/utils/notification.ts +22 -22
@@ -1,233 +1,233 @@
1
- /*
2
- Copyright (c) 2016 eyeOS
3
-
4
- This file is part of Open365.
5
-
6
- Open365 is free software: you can redistribute it and/or modify
7
- it under the terms of the GNU Affero General Public License as
8
- published by the Free Software Foundation, either version 3 of the
9
- License, or (at your option) any later version.
10
-
11
- This program is distributed in the hope that it will be useful,
12
- but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- GNU Affero General Public License for more details.
15
-
16
- You should have received a copy of the GNU Affero General Public License
17
- along with this program. If not, see <http://www.gnu.org/licenses/>.
18
- */
19
-
20
- wdi.PlaybackProcess = $.spcExtend(wdi.EventObject.prototype, {
21
- _lastApp: null,
22
- started: false,
23
- minBuffSize: 1024*32,
24
- frequency: null,
25
- channels: null,
26
- audioContext: null,
27
- startTime: null, // controls the playback time if no delay occurs
28
- hasAudioSupport: true, //whether the browser supports HTML5 Web Audio API
29
-
30
- typedBuffer: null,
31
- position: null,
32
-
33
-
34
- init: function(c) {
35
- this.app = c.app;
36
- this.audioContext = this.getAudioContext();
37
- if (this.audioContext) {
38
- this.hasAudioSupport = true;
39
- } else {
40
- this.hasAudioSupport = false;
41
- wdi.Debug.warn('The client browser does not support Web Audio API');
42
- }
43
- this.startTime = 0;
44
- this.typedBuffer = new ArrayBuffer(34688);
45
- this.position = 0;
46
- },
47
-
48
- dispose: function() {
49
- this.clearEvents();
50
- this._lastApp = null;
51
- this.started = false;
52
- this.frequency = null;
53
- this.channels = null;
54
- this.audioContext = null;
55
- this.startTime = null;
56
- this.hasAudioSupport = true;
57
- this.typedBuffer = null;
58
- this.position = null;
59
- },
60
-
61
- getAudioContext: function() {
62
- //standard browser object
63
- try {
64
- return new AudioContext();
65
- } catch(e) {
66
-
67
- }
68
-
69
- //chrome and safari
70
- try {
71
- return new webkitAudioContext();
72
-
73
- } catch(e) {
74
-
75
- }
76
-
77
- return false;
78
- },
79
-
80
- process: function(spiceMessage) {
81
-
82
- // if (this.hasAudioSupport && !Modernizr.touch) {
83
- if (this.hasAudioSupport) {
84
- switch (spiceMessage.messageType) {
85
- case wdi.SpiceVars.SPICE_MSG_PLAYBACK_MODE:
86
- break;
87
- case wdi.SpiceVars.SPICE_MSG_PLAYBACK_START:
88
- var packet = spiceMessage.args;
89
- this.channels = packet.channels;
90
- this.frequency = packet.frequency;
91
- break;
92
- case wdi.SpiceVars.SPICE_MSG_PLAYBACK_STOP:
93
- this.startTime = 0;
94
- var packet = spiceMessage.args;
95
- this.flush();
96
- break;
97
- case wdi.SpiceVars.SPICE_MSG_PLAYBACK_DATA:
98
- // While we receive data chunks, we store them in a buffer, so than when it is full we play the sound and empty it.
99
- // With this we get a more fluid playback and better overall performance than if we just played the data the moment we got it
100
- var packet = spiceMessage.args;
101
- var dataTimestamp = spiceMessage.args.multimedia_time;
102
-
103
-
104
- var tmpview = new Uint8Array(this.typedBuffer);
105
- tmpview.set(packet.data, this.position);
106
- this.position += packet.data.length;
107
- this._lastApp = this.app;
108
-
109
- if(this.position >= this.minBuffSize) {
110
- // ok, the buffer is full. We send the data to be played and later we can empty it to make room for more audio
111
- this.flush(dataTimestamp);
112
- }
113
- break;
114
- }
115
- } else {
116
- //TODO:
117
- // If the browser doesn't support Web Audio, we could still attach a wav header to the raw PCM we receive from spice and use the more widespread supported audio tag
118
- // Meanwhile, we can skip all the audio packets and gain some performance at least
119
- }
120
- },
121
-
122
- /**
123
- * Plays all the audio buffer and empties it
124
- *
125
- * @param app
126
- * @param dataTimestamp
127
- */
128
- flush: function(dataTimestamp) {
129
- if(this.position > 0) {
130
- if (this.started) {
131
- this.playSound(this.typedBuffer, dataTimestamp);
132
- }
133
- this.position = 0;
134
- this.typedBuffer = new ArrayBuffer(34688);
135
- }
136
- },
137
-
138
- /**
139
- * Plays the raw pcm data passed as param using HTML5's Web Audio API
140
- *
141
- * @param buffer
142
- */
143
- playSound: function(buffer, dataTimestamp) {
144
- if(this.channels == 2) {
145
- return this.playSoundStereo(buffer, dataTimestamp);
146
- }
147
-
148
- var audio = new Int16Array(buffer);
149
-
150
- var channelData = new Array(this.channels);
151
- for(var i = 0;i<this.channels;i++) {
152
- channelData[i] = new Float32Array(audio.length / 2);
153
- }
154
-
155
- var channelCounter = 0;
156
- for (var i = 0; i < audio.length; ) {
157
- for(var c = 0; c < this.channels; c++) {
158
- //because the audio data spice gives us is 16 bits signed int (32768) and we wont to get a float out of it (between -1.0' and 1.0)
159
- channelData[c][channelCounter] = audio[i++] / 32768;
160
- }
161
- channelCounter++;
162
- }
163
-
164
- var source = this.audioContext['createBufferSource'](); // creates a sound source
165
- var audioBuffer = this.audioContext['createBuffer'](this.channels, channelCounter, this.frequency);
166
- for(var i=0;i < this.channels; i++) {
167
- audioBuffer['getChannelData'](i)['set'](channelData[i]);
168
- }
169
-
170
- this._play(source, audioBuffer, dataTimestamp);
171
- },
172
-
173
- /**
174
- * Plays the raw pcm STEREO data passed as param using HTML5's Web Audio API
175
- *
176
- * @param buffer
177
- */
178
- playSoundStereo: function(buffer, dataTimestamp) {
179
- // Each data packet is 16 bits, the first being left channel data and the second being right channel data (LR-LR-LR-LR...)
180
- var audio = new Int16Array(buffer);
181
-
182
- // We split the audio buffer in two channels. Float32Array is the type required by Web Audio API
183
- var left = new Float32Array(audio.length / 2);
184
- var right = new Float32Array(audio.length / 2);
185
-
186
- var channelCounter = 0;
187
-
188
- var audioContext = this.audioContext;
189
- var len = audio.length;
190
-
191
- for (var i = 0; i < len; ) {
192
- //because the audio data spice gives us is 16 bits signed int (32768) and we wont to get a float out of it (between -1.0 and 1.0)
193
- left[channelCounter] = audio[i++] / 32768;
194
- right[channelCounter] = audio[i++] / 32768;
195
- channelCounter++;
196
- }
197
-
198
- var source = audioContext['createBufferSource'](); // creates a sound source
199
- var audioBuffer = audioContext['createBuffer'](2, channelCounter, this.frequency);
200
-
201
- audioBuffer['getChannelData'](0)['set'](left);
202
- audioBuffer['getChannelData'](1)['set'](right);
203
-
204
- this._play(source, audioBuffer, dataTimestamp);
205
- },
206
-
207
- _play: function(source, audioBuffer, dataTimestamp) {
208
- var wait = 0;
209
- if (dataTimestamp) {
210
- var elapsedTime = Date.now() - this.app.lastMultimediaTime; // time passed since we received the last multimedia time from main channel
211
- var currentMultimediaTime = elapsedTime + this.app.multimediaTime; // total delay we have at the moment
212
- wait = dataTimestamp - currentMultimediaTime;
213
- if (wait < 0) {
214
- wait = 0;
215
- }
216
- }
217
- source['buffer'] = audioBuffer;
218
- source['connect'](this.audioContext['destination']); // connect the source to the context's destination (the speakers)
219
-
220
- //if (!Modernizr.touch) {
221
- source['start'](this.startTime + wait); // play the source now
222
- //} else {
223
- // source.noteOn(0);
224
- //}
225
-
226
- this.startTime += audioBuffer.duration;
227
- },
228
-
229
- startAudio: function () {
230
- this.started = true;
231
- this.flush();
232
- }
233
- });
1
+ /*
2
+ Copyright (c) 2016 eyeOS
3
+
4
+ This file is part of Open365.
5
+
6
+ Open365 is free software: you can redistribute it and/or modify
7
+ it under the terms of the GNU Affero General Public License as
8
+ published by the Free Software Foundation, either version 3 of the
9
+ License, or (at your option) any later version.
10
+
11
+ This program is distributed in the hope that it will be useful,
12
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ GNU Affero General Public License for more details.
15
+
16
+ You should have received a copy of the GNU Affero General Public License
17
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
18
+ */
19
+
20
+ wdi.PlaybackProcess = $.spcExtend(wdi.EventObject.prototype, {
21
+ _lastApp: null,
22
+ started: false,
23
+ minBuffSize: 1024*32,
24
+ frequency: null,
25
+ channels: null,
26
+ audioContext: null,
27
+ startTime: null, // controls the playback time if no delay occurs
28
+ hasAudioSupport: true, //whether the browser supports HTML5 Web Audio API
29
+
30
+ typedBuffer: null,
31
+ position: null,
32
+
33
+
34
+ init: function(c) {
35
+ this.app = c.app;
36
+ this.audioContext = this.getAudioContext();
37
+ if (this.audioContext) {
38
+ this.hasAudioSupport = true;
39
+ } else {
40
+ this.hasAudioSupport = false;
41
+ wdi.Debug.warn('The client browser does not support Web Audio API');
42
+ }
43
+ this.startTime = 0;
44
+ this.typedBuffer = new ArrayBuffer(34688);
45
+ this.position = 0;
46
+ },
47
+
48
+ dispose: function() {
49
+ this.clearEvents();
50
+ this._lastApp = null;
51
+ this.started = false;
52
+ this.frequency = null;
53
+ this.channels = null;
54
+ this.audioContext = null;
55
+ this.startTime = null;
56
+ this.hasAudioSupport = true;
57
+ this.typedBuffer = null;
58
+ this.position = null;
59
+ },
60
+
61
+ getAudioContext: function() {
62
+ //standard browser object
63
+ try {
64
+ return new AudioContext();
65
+ } catch(e) {
66
+
67
+ }
68
+
69
+ //chrome and safari
70
+ try {
71
+ return new webkitAudioContext();
72
+
73
+ } catch(e) {
74
+
75
+ }
76
+
77
+ return false;
78
+ },
79
+
80
+ process: function(spiceMessage) {
81
+
82
+ // if (this.hasAudioSupport && !Modernizr.touch) {
83
+ if (this.hasAudioSupport) {
84
+ switch (spiceMessage.messageType) {
85
+ case wdi.SpiceVars.SPICE_MSG_PLAYBACK_MODE:
86
+ break;
87
+ case wdi.SpiceVars.SPICE_MSG_PLAYBACK_START:
88
+ var packet = spiceMessage.args;
89
+ this.channels = packet.channels;
90
+ this.frequency = packet.frequency;
91
+ break;
92
+ case wdi.SpiceVars.SPICE_MSG_PLAYBACK_STOP:
93
+ this.startTime = 0;
94
+ var packet = spiceMessage.args;
95
+ this.flush();
96
+ break;
97
+ case wdi.SpiceVars.SPICE_MSG_PLAYBACK_DATA:
98
+ // While we receive data chunks, we store them in a buffer, so than when it is full we play the sound and empty it.
99
+ // With this we get a more fluid playback and better overall performance than if we just played the data the moment we got it
100
+ var packet = spiceMessage.args;
101
+ var dataTimestamp = spiceMessage.args.multimedia_time;
102
+
103
+
104
+ var tmpview = new Uint8Array(this.typedBuffer);
105
+ tmpview.set(packet.data, this.position);
106
+ this.position += packet.data.length;
107
+ this._lastApp = this.app;
108
+
109
+ if(this.position >= this.minBuffSize) {
110
+ // ok, the buffer is full. We send the data to be played and later we can empty it to make room for more audio
111
+ this.flush(dataTimestamp);
112
+ }
113
+ break;
114
+ }
115
+ } else {
116
+ //TODO:
117
+ // If the browser doesn't support Web Audio, we could still attach a wav header to the raw PCM we receive from spice and use the more widespread supported audio tag
118
+ // Meanwhile, we can skip all the audio packets and gain some performance at least
119
+ }
120
+ },
121
+
122
+ /**
123
+ * Plays all the audio buffer and empties it
124
+ *
125
+ * @param app
126
+ * @param dataTimestamp
127
+ */
128
+ flush: function(dataTimestamp) {
129
+ if(this.position > 0) {
130
+ if (this.started) {
131
+ this.playSound(this.typedBuffer, dataTimestamp);
132
+ }
133
+ this.position = 0;
134
+ this.typedBuffer = new ArrayBuffer(34688);
135
+ }
136
+ },
137
+
138
+ /**
139
+ * Plays the raw pcm data passed as param using HTML5's Web Audio API
140
+ *
141
+ * @param buffer
142
+ */
143
+ playSound: function(buffer, dataTimestamp) {
144
+ if(this.channels == 2) {
145
+ return this.playSoundStereo(buffer, dataTimestamp);
146
+ }
147
+
148
+ var audio = new Int16Array(buffer);
149
+
150
+ var channelData = new Array(this.channels);
151
+ for(var i = 0;i<this.channels;i++) {
152
+ channelData[i] = new Float32Array(audio.length / 2);
153
+ }
154
+
155
+ var channelCounter = 0;
156
+ for (var i = 0; i < audio.length; ) {
157
+ for(var c = 0; c < this.channels; c++) {
158
+ //because the audio data spice gives us is 16 bits signed int (32768) and we wont to get a float out of it (between -1.0' and 1.0)
159
+ channelData[c][channelCounter] = audio[i++] / 32768;
160
+ }
161
+ channelCounter++;
162
+ }
163
+
164
+ var source = this.audioContext['createBufferSource'](); // creates a sound source
165
+ var audioBuffer = this.audioContext['createBuffer'](this.channels, channelCounter, this.frequency);
166
+ for(var i=0;i < this.channels; i++) {
167
+ audioBuffer['getChannelData'](i)['set'](channelData[i]);
168
+ }
169
+
170
+ this._play(source, audioBuffer, dataTimestamp);
171
+ },
172
+
173
+ /**
174
+ * Plays the raw pcm STEREO data passed as param using HTML5's Web Audio API
175
+ *
176
+ * @param buffer
177
+ */
178
+ playSoundStereo: function(buffer, dataTimestamp) {
179
+ // Each data packet is 16 bits, the first being left channel data and the second being right channel data (LR-LR-LR-LR...)
180
+ var audio = new Int16Array(buffer);
181
+
182
+ // We split the audio buffer in two channels. Float32Array is the type required by Web Audio API
183
+ var left = new Float32Array(audio.length / 2);
184
+ var right = new Float32Array(audio.length / 2);
185
+
186
+ var channelCounter = 0;
187
+
188
+ var audioContext = this.audioContext;
189
+ var len = audio.length;
190
+
191
+ for (var i = 0; i < len; ) {
192
+ //because the audio data spice gives us is 16 bits signed int (32768) and we wont to get a float out of it (between -1.0 and 1.0)
193
+ left[channelCounter] = audio[i++] / 32768;
194
+ right[channelCounter] = audio[i++] / 32768;
195
+ channelCounter++;
196
+ }
197
+
198
+ var source = audioContext['createBufferSource'](); // creates a sound source
199
+ var audioBuffer = audioContext['createBuffer'](2, channelCounter, this.frequency);
200
+
201
+ audioBuffer['getChannelData'](0)['set'](left);
202
+ audioBuffer['getChannelData'](1)['set'](right);
203
+
204
+ this._play(source, audioBuffer, dataTimestamp);
205
+ },
206
+
207
+ _play: function(source, audioBuffer, dataTimestamp) {
208
+ var wait = 0;
209
+ if (dataTimestamp) {
210
+ var elapsedTime = Date.now() - this.app.lastMultimediaTime; // time passed since we received the last multimedia time from main channel
211
+ var currentMultimediaTime = elapsedTime + this.app.multimediaTime; // total delay we have at the moment
212
+ wait = dataTimestamp - currentMultimediaTime;
213
+ if (wait < 0) {
214
+ wait = 0;
215
+ }
216
+ }
217
+ source['buffer'] = audioBuffer;
218
+ source['connect'](this.audioContext['destination']); // connect the source to the context's destination (the speakers)
219
+
220
+ //if (!Modernizr.touch) {
221
+ source['start'](this.startTime + wait); // play the source now
222
+ //} else {
223
+ // source.noteOn(0);
224
+ //}
225
+
226
+ this.startTime += audioBuffer.duration;
227
+ },
228
+
229
+ startAudio: function () {
230
+ this.started = true;
231
+ this.flush();
232
+ }
233
+ });