bfg-common 1.3.17 → 1.3.18

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 (793) 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/lib-ui-icons-light.png +0 -0
  19. package/assets/img/icons/vc.svg +52 -52
  20. package/assets/img/logo copy.svg +50 -50
  21. package/assets/img/logo.svg +51 -51
  22. package/assets/localization/local_be.json +2169 -2168
  23. package/assets/localization/local_en.json +2172 -2171
  24. package/assets/localization/local_hy.json +2173 -2172
  25. package/assets/localization/local_kk.json +2172 -2171
  26. package/assets/localization/local_ru.json +2172 -2171
  27. package/assets/localization/local_zh.json +2171 -2171
  28. package/assets/scss/clarity/clr-ui.min.css +8 -8
  29. package/assets/scss/common/animations.scss +28 -28
  30. package/assets/scss/common/global.scss +189 -189
  31. package/assets/scss/common/icons/icons-1.scss +236 -236
  32. package/assets/scss/common/icons/icons-3.scss +203 -203
  33. package/assets/scss/common/icons/icons-4.scss +185 -185
  34. package/assets/scss/common/icons/icons-5.scss +59 -59
  35. package/assets/scss/common/icons/icons-6.scss +29 -29
  36. package/assets/scss/common/icons/icons.scss +16 -15
  37. package/assets/scss/common/icons/lib-icons.scss +23 -0
  38. package/assets/scss/common/mixins.scss +39 -39
  39. package/assets/scss/common/normalize.scss +320 -320
  40. package/assets/scss/common/theme.scss +232 -232
  41. package/assets/scss/common/utilities.scss +20 -20
  42. package/assets/scss/common/variables.scss +43 -43
  43. package/assets/scss/main.scss +13 -13
  44. package/components/atoms/DiagramIcon.vue +356 -356
  45. package/components/atoms/TheIcon.vue +1687 -1687
  46. package/components/atoms/TheIcon2.vue +1136 -1136
  47. package/components/atoms/alert/Alert.vue +84 -84
  48. package/components/atoms/alert/Notification.vue +167 -167
  49. package/components/atoms/alert/lib/Alert.spec.ts +38 -38
  50. package/components/atoms/alert/lib/Notification.spec.ts +34 -34
  51. package/components/atoms/alert/lib/models/enums.ts +12 -12
  52. package/components/atoms/alert/lib/models/interfaces.ts +27 -27
  53. package/components/atoms/alert/lib/models/types.ts +7 -7
  54. package/components/atoms/autocomplete/Autocomplete.vue +236 -236
  55. package/components/atoms/collapse/CollapseNav.vue +164 -164
  56. package/components/atoms/collapse/CollapseNavItem.vue +190 -190
  57. package/components/atoms/collapse/lib/models/interfaces.ts +10 -10
  58. package/components/atoms/combobox/Combobox.vue +147 -147
  59. package/components/atoms/datepicker/Datepicker.vue +612 -612
  60. package/components/atoms/datepicker/lib/config/allShortMonths.ts +103 -103
  61. package/components/atoms/datepicker/lib/config/datapicker.ts +43 -43
  62. package/components/atoms/datepicker/lib/models/interfaces.ts +8 -8
  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/lib/models/interfaces.ts +8 -8
  66. package/components/atoms/dropdown/lib/Portlet.spec.ts +26 -26
  67. package/components/atoms/dropdown/tree/Tree.vue +134 -134
  68. package/components/atoms/dropdown/tree/lib/models/interfaces.ts +9 -9
  69. package/components/atoms/input/Search.vue +16 -16
  70. package/components/atoms/lib/models/interfaces.ts +12 -12
  71. package/components/atoms/list/SelectList.vue +62 -62
  72. package/components/atoms/list/SimpleList.vue +29 -29
  73. package/components/atoms/list/dragDropList/DragDropList.vue +139 -139
  74. package/components/atoms/list/dragDropList/lib/config/events.ts +4 -4
  75. package/components/atoms/loader/BarLoader.vue +27 -27
  76. package/components/atoms/loader/Loader.vue +26 -26
  77. package/components/atoms/loader/PreLoader.vue +35 -35
  78. package/components/atoms/loader/lib/Preloader.spec.ts +24 -24
  79. package/components/atoms/modal/Modal.vue +244 -244
  80. package/components/atoms/modal/bySteps/BySteps.vue +247 -247
  81. package/components/atoms/modal/bySteps/lib/BySteps.spec.ts +66 -66
  82. package/components/atoms/modal/byStepsSecond/ByStepsSecond.vue +175 -175
  83. package/components/atoms/modal/lib/Modal.spec.ts +55 -55
  84. package/components/atoms/nav/NavBar.vue +140 -140
  85. package/components/atoms/nav/VerticalNavBar.vue +89 -89
  86. package/components/atoms/nav/lib/NavBar.spec.ts +34 -34
  87. package/components/atoms/nav/lib/models/interfaces.ts +5 -5
  88. package/components/atoms/notificationBar/NotificationBar.vue +170 -170
  89. package/components/atoms/notificationBar/lib/models/enums.ts +13 -13
  90. package/components/atoms/notificationBar/lib/models/interfaces.ts +6 -6
  91. package/components/atoms/notificationBar/lib/models/types.ts +1 -1
  92. package/components/atoms/perPage/PerPage.vue +52 -52
  93. package/components/atoms/popover/Popover.vue +61 -61
  94. package/components/atoms/popup/SimplePopup.vue +90 -90
  95. package/components/atoms/select/TheSelect.vue +175 -175
  96. package/components/atoms/select/lib/models/interfaces.ts +4 -4
  97. package/components/atoms/stack/StackBlock.vue +179 -179
  98. package/components/atoms/stack/StackContent.vue +63 -63
  99. package/components/atoms/step/VerticalStep.vue +104 -104
  100. package/components/atoms/step/lib/VerticalStep.spec.ts +68 -68
  101. package/components/atoms/step/lib/models/verticalStepItem.ts +7 -7
  102. package/components/atoms/table/compact/Compact.vue +526 -526
  103. package/components/atoms/table/compact/lib/models/interfaces.ts +10 -10
  104. package/components/atoms/table/dataGrid/DataGrid.vue +1522 -1522
  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/lib/DataGrid.spec.ts +61 -61
  109. package/components/atoms/table/dataGrid/lib/config/itemsPerPage.ts +20 -20
  110. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +28 -28
  111. package/components/atoms/table/dataGrid/lib/models/interfaces.ts +25 -25
  112. package/components/atoms/table/dataGrid/lib/models/types.ts +5 -5
  113. package/components/atoms/table/dataGrid/lib/utils/constructDataTable.ts +32 -32
  114. package/components/atoms/table/info/Info.vue +60 -60
  115. package/components/atoms/table/info/lib/models/interfaces.ts +9 -9
  116. package/components/atoms/table/simpleEvent/SimpleEvent.vue +98 -98
  117. package/components/atoms/table/simpleEvent/lib/models/interfaces.ts +9 -9
  118. package/components/atoms/table/simpleInfo/SimpleInfo.vue +68 -68
  119. package/components/atoms/table/simpleInfo/lib/models/interfaces.ts +4 -4
  120. package/components/atoms/table/simpleTable/SimpleTable.vue +296 -296
  121. package/components/atoms/table/simpleTable/lib/models/interfaces.ts +10 -10
  122. package/components/atoms/tabs/Tabs.vue +215 -215
  123. package/components/atoms/tabs/VerticalTabs.vue +87 -87
  124. package/components/atoms/tabs/lib/models/interfaces.ts +4 -4
  125. package/components/atoms/tabs/lib/models/types.ts +1 -1
  126. package/components/atoms/tooltip/Signpost.vue +225 -225
  127. package/components/atoms/tooltip/Text.vue +37 -37
  128. package/components/atoms/tooltip/Tooltip.vue +57 -57
  129. package/components/atoms/tooltip/TooltipError.vue +113 -113
  130. package/components/atoms/tooltip/lib/models/interfaces.ts +4 -4
  131. package/components/atoms/wizard/Wizard.vue +443 -443
  132. package/components/atoms/wizard/lib/models/enums.ts +8 -8
  133. package/components/atoms/wizard/lib/models/interfaces.ts +48 -48
  134. package/components/atoms/wizard/lib/utils/utils.ts +568 -568
  135. package/components/atoms/wizard/step/Step.vue +112 -112
  136. package/components/common/BadBrowser.vue +114 -114
  137. package/components/common/accordion/Accordion.vue +176 -176
  138. package/components/common/accordion/Recursion.vue +216 -216
  139. package/components/common/accordion/lib/models/enums.ts +5 -5
  140. package/components/common/accordion/lib/models/interfaces.ts +15 -15
  141. package/components/common/accordion/lib/models/types.ts +1 -1
  142. package/components/common/accordion/lib/utils/accordion.ts +31 -31
  143. package/components/common/adapterManager/AdapterManager.vue +715 -715
  144. package/components/common/adapterManager/AddAdapterModal.vue +555 -555
  145. package/components/common/adapterManager/AddAdapterWarningModal.vue +82 -82
  146. package/components/common/adapterManager/NoActiveAdaptersModal.vue +62 -62
  147. package/components/common/adapterManager/NoConnectedActiveAdaptersModal.vue +62 -62
  148. package/components/common/adapterManager/lib/config/index.ts +19 -19
  149. package/components/common/adapterManager/ui/NoSelectedAdapter.vue +39 -39
  150. package/components/common/adapterManager/ui/SecondTitle.vue +37 -37
  151. package/components/common/adapterManager/ui/actions/ActionsBar.vue +93 -93
  152. package/components/common/adapterManager/ui/actions/AddAdapterButton.vue +28 -28
  153. package/components/common/adapterManager/ui/actions/MoveDownAdapterButton.vue +33 -33
  154. package/components/common/adapterManager/ui/actions/MoveUpAdapterButton.vue +33 -33
  155. package/components/common/adapterManager/ui/actions/RemoveAdapterButton.vue +34 -34
  156. package/components/common/adapterManager/ui/actions/VerticalSeparator.vue +10 -10
  157. package/components/common/adapterManager/ui/table/Adapters.vue +91 -91
  158. package/components/common/adapterManager/ui/table/Header.vue +89 -89
  159. package/components/common/adapterManager/ui/table/Table.vue +167 -167
  160. package/components/common/browse/Browse.vue +182 -182
  161. package/components/common/browse/blocks/Container.vue +102 -102
  162. package/components/common/browse/blocks/contents/Files.vue +68 -68
  163. package/components/common/browse/blocks/info/Date.vue +21 -21
  164. package/components/common/browse/blocks/info/Size.vue +17 -17
  165. package/components/common/browse/blocks/info/Text.vue +16 -16
  166. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  167. package/components/common/browse/lib/models/interfaces.ts +5 -5
  168. package/components/common/context/Context.vue +97 -97
  169. package/components/common/context/ContextRecursion.vue +251 -251
  170. package/components/common/context/lib/Context.spec.ts +20 -20
  171. package/components/common/context/lib/ContextRecursion.spec.ts +55 -55
  172. package/components/common/context/lib/models/interfaces.ts +26 -26
  173. package/components/common/details/DetailsItem.vue +106 -106
  174. package/components/common/details/DetailsList.vue +23 -23
  175. package/components/common/details/lib/models/interfaces.ts +9 -9
  176. package/components/common/diagramMain/Diagram.vue +192 -192
  177. package/components/common/diagramMain/DiagramMain.vue +954 -954
  178. package/components/common/diagramMain/Header.vue +190 -190
  179. package/components/common/diagramMain/Highlights.vue +124 -124
  180. package/components/common/diagramMain/adapter/Adapter.vue +114 -114
  181. package/components/common/diagramMain/adapter/AdapterItem.vue +246 -246
  182. package/components/common/diagramMain/adapter/AdapterItems.vue +59 -59
  183. package/components/common/diagramMain/adapter/Block.vue +48 -48
  184. package/components/common/diagramMain/adapter/Contents.vue +110 -110
  185. package/components/common/diagramMain/adapter/Lines.vue +58 -58
  186. package/components/common/diagramMain/adapter/SecondBlock.vue +49 -49
  187. package/components/common/diagramMain/lib/config/index.ts +51 -51
  188. package/components/common/diagramMain/lib/config/initial.ts +38 -38
  189. package/components/common/diagramMain/lib/models/enums.ts +26 -26
  190. package/components/common/diagramMain/lib/models/interfaces.ts +564 -564
  191. package/components/common/diagramMain/lib/models/types.ts +8 -8
  192. package/components/common/diagramMain/lib/utils/utils.ts +218 -218
  193. package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +236 -236
  194. package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +41 -41
  195. package/components/common/diagramMain/modals/editSettings/EditSettings.vue +491 -491
  196. package/components/common/diagramMain/modals/editSettings/EditSettingsModal.vue +825 -825
  197. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +211 -211
  198. package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +183 -183
  199. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +161 -161
  200. package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +166 -166
  201. package/components/common/diagramMain/modals/editSettings/tabs/TrafficShaping.vue +393 -393
  202. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +339 -339
  203. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +202 -202
  204. package/components/common/diagramMain/modals/lib/config/adapterModal.ts +111 -111
  205. package/components/common/diagramMain/modals/lib/config/diagramConfig.ts +17 -17
  206. package/components/common/diagramMain/modals/lib/config/index.ts +51 -51
  207. package/components/common/diagramMain/modals/lib/config/initial.ts +181 -181
  208. package/components/common/diagramMain/modals/lib/config/networkModal.ts +343 -343
  209. package/components/common/diagramMain/modals/lib/config/portModal.ts +209 -209
  210. package/components/common/diagramMain/modals/lib/config/switchModal.ts +172 -172
  211. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +34 -34
  212. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
  213. package/components/common/diagramMain/modals/lib/utils/index.ts +9 -9
  214. package/components/common/diagramMain/modals/migrateVmkernelAdapter/MigrateVmkernelAdapter.vue +531 -531
  215. package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
  216. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +161 -161
  217. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +158 -158
  218. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/VmkernelAdapterReadyComplete.vue +49 -49
  219. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +14 -14
  220. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +141 -141
  221. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
  222. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
  223. package/components/common/diagramMain/modals/remove/RemoveModal.vue +226 -226
  224. package/components/common/diagramMain/modals/viewSettings/Info.vue +123 -123
  225. package/components/common/diagramMain/modals/viewSettings/ViewSettings.vue +171 -171
  226. package/components/common/diagramMain/modals/viewSettings/ViewSettingsModal.vue +93 -93
  227. package/components/common/diagramMain/network/Block.vue +62 -62
  228. package/components/common/diagramMain/network/Contents.vue +253 -253
  229. package/components/common/diagramMain/network/Lines.vue +71 -71
  230. package/components/common/diagramMain/network/Network.vue +124 -124
  231. package/components/common/diagramMain/network/NoNetwork.vue +53 -53
  232. package/components/common/diagramMain/network/SecondBlock.vue +58 -58
  233. package/components/common/diagramMain/port/Port.vue +320 -320
  234. package/components/common/diagramMain/port/Ports.vue +41 -41
  235. package/components/common/diagramMain/switch/Switch.vue +82 -82
  236. package/components/common/diagramMain/switch/SwitchSelected.vue +35 -35
  237. package/components/common/feedback/Buttons.vue +227 -227
  238. package/components/common/feedback/Feedback.vue +261 -261
  239. package/components/common/feedback/Message.vue +509 -509
  240. package/components/common/feedback/VisitPortal.vue +53 -53
  241. package/components/common/feedback/lib/config/drawingPanel.ts +31 -31
  242. package/components/common/feedback/lib/config/feedbackTabs.ts +24 -24
  243. package/components/common/feedback/lib/models/interfaces.ts +19 -19
  244. package/components/common/feedback/lib/models/types.ts +1 -1
  245. package/components/common/graph/Graph.vue +109 -109
  246. package/components/common/graph/lib/utils/renderGraph.ts +389 -389
  247. package/components/common/headline/Headline.vue +32 -32
  248. package/components/common/help/navbar/left/Left.vue +164 -164
  249. package/components/common/help/navbar/left/lib/models/interfaces.ts +6 -6
  250. package/components/common/help/navbar/left/lib/utils/constructAccordion.ts +27 -27
  251. package/components/common/help/navbar/right/Right.vue +139 -139
  252. package/components/common/help/navbar/right/lib/models/interfaces.ts +4 -4
  253. package/components/common/home/Card.vue +63 -63
  254. package/components/common/home/ResourceBlock.vue +117 -117
  255. package/components/common/home/StatusContent.vue +47 -47
  256. package/components/common/home/alertsTable/AlertsTable.vue +105 -105
  257. package/components/common/home/alertsTable/lib/config/config.ts +61 -61
  258. package/components/common/home/alertsTable/lib/models/enums.ts +11 -11
  259. package/components/common/home/alertsTable/lib/models/interfaces.ts +19 -19
  260. package/components/common/home/alertsTable/lib/models/types.ts +18 -18
  261. package/components/common/home/lib/config/configResourceMeterBlock.ts +25 -25
  262. package/components/common/home/lib/models/interfaces.ts +59 -59
  263. package/components/common/home/lib/models/types.ts +18 -18
  264. package/components/common/home/servicesTable/ServicesTable.vue +79 -79
  265. package/components/common/home/servicesTable/lib/config/config.ts +62 -62
  266. package/components/common/lib/config/states.ts +81 -81
  267. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +359 -359
  268. package/components/common/mainNavigationPanel/lib/models/interfaces.ts +6 -6
  269. package/components/common/mainNavigationPanel/lib/models/types.ts +1 -1
  270. package/components/common/modals/Confirmation.vue +97 -97
  271. package/components/common/modals/Rename.vue +165 -165
  272. package/components/common/modals/lib/config/defaultForm.ts +18 -18
  273. package/components/common/modals/lib/config/renameLabelWidth.ts +3 -3
  274. package/components/common/modals/lib/models/interfaces.ts +5 -5
  275. package/components/common/monitor/advanced/Advanced.vue +243 -243
  276. package/components/common/monitor/advanced/GraphView.vue +180 -180
  277. package/components/common/monitor/advanced/lib/models/interfaces.ts +8 -8
  278. package/components/common/monitor/advanced/lib/models/types.ts +1 -1
  279. package/components/common/monitor/advanced/table/Table.vue +90 -90
  280. package/components/common/monitor/advanced/table/lib/config/performanceDatatable.ts +116 -116
  281. package/components/common/monitor/advanced/table/lib/models/interfaces.ts +12 -12
  282. package/components/common/monitor/advanced/table/lib/models/types.ts +10 -10
  283. package/components/common/monitor/advanced/tools/Tools.vue +436 -436
  284. package/components/common/monitor/advanced/tools/chartOptionsModal/ChartOptionsModal.vue +502 -502
  285. package/components/common/monitor/advanced/tools/chartOptionsModal/Notification.vue +33 -33
  286. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/Actions.vue +150 -150
  287. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/lib/utils/optionsActions.ts +25 -25
  288. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/saveOptionsModal/SaveOptionsModal.vue +76 -76
  289. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/Counters.vue +104 -104
  290. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/Table.vue +136 -136
  291. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/tableConfig.ts +71 -71
  292. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/utils.ts +689 -689
  293. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/models/interfaces.ts +28 -28
  294. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/models/types.ts +5 -5
  295. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/Timespan.vue +83 -83
  296. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/Form.vue +501 -501
  297. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/lib/config/dateForm.ts +59 -59
  298. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/Object.vue +197 -197
  299. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/lib/config/objectTable.ts +54 -54
  300. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/lib/models/interfaces.ts +4 -4
  301. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/lib/models/types.ts +1 -1
  302. package/components/common/monitor/advanced/tools/chartOptionsModal/lib/models/interfaces.ts +19 -19
  303. package/components/common/monitor/advanced/tools/chartOptionsModal/lib/models/types.ts +3 -3
  304. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/Metrics.vue +42 -42
  305. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/lib/config/optionsMetrics.ts +116 -116
  306. package/components/common/monitor/advanced/tools/lib/config/advancedToolbar.ts +125 -125
  307. package/components/common/monitor/advanced/tools/lib/models/interfaces.ts +4 -4
  308. package/components/common/monitor/advanced/tools/lib/utils/countCores.ts +7 -7
  309. package/components/common/monitor/lib/config/getValidDateByOption.ts +76 -76
  310. package/components/common/monitor/lib/models/interfaces.ts +23 -23
  311. package/components/common/monitor/overview/Overview.vue +470 -470
  312. package/components/common/monitor/overview/filters/Filters.vue +221 -221
  313. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +241 -241
  314. package/components/common/monitor/overview/filters/customIntervalModal/lib/config/dateChecker.ts +37 -37
  315. package/components/common/monitor/overview/filters/lib/config/filterOptions.ts +81 -81
  316. package/components/common/monitor/overview/filters/lib/models/interfaces.ts +7 -7
  317. package/components/common/monitor/overview/filters/lib/models/types.ts +3 -3
  318. package/components/common/perPage/PerPage.vue +51 -51
  319. package/components/common/recursionTree/RecursionTree.vue +201 -201
  320. package/components/common/recursionTree/lib/models/interfaces.ts +19 -19
  321. package/components/common/resource/lib/models/interfaces.ts +9 -9
  322. package/components/common/resource/lib/models/types.ts +1 -1
  323. package/components/common/resource/lib/utils.ts +33 -33
  324. package/components/common/resource/progressBlock/ProgressBlock.vue +105 -105
  325. package/components/common/resource/simple/Simple.vue +58 -58
  326. package/components/common/resource/simple/lib/models/enums.ts +5 -5
  327. package/components/common/select/button/ButtonDropdown.vue +100 -100
  328. package/components/common/select/button/lib/models/interfaces.ts +6 -6
  329. package/components/common/select/input/Input.vue +90 -90
  330. package/components/common/select/input/lib/models/interfaces.ts +5 -5
  331. package/components/common/select/radio/RadioGroup.vue +108 -108
  332. package/components/common/select/radio/lib/models/interfaces.ts +8 -8
  333. package/components/common/shortcuts/Block.vue +83 -83
  334. package/components/common/shortcuts/Category.vue +40 -40
  335. package/components/common/shortcuts/Shortcuts.vue +44 -44
  336. package/components/common/shortcuts/lib/models/interfaces.ts +10 -10
  337. package/components/common/spiceConsole/Drawer.vue +241 -241
  338. package/components/common/spiceConsole/SpiceConsole.vue +83 -83
  339. package/components/common/spiceConsole/keyboard/Keyboard.vue +402 -402
  340. package/components/common/spiceConsole/keyboard/lib/config/keyboardRows.ts +891 -891
  341. package/components/common/spiceConsole/keyboard/lib/models/interfaces.ts +17 -17
  342. package/components/common/spiceConsole/lib/models/types.ts +1 -1
  343. package/components/common/split/horizontal/Horizontal.vue +306 -306
  344. package/components/common/split/horizontal/lib/models/interfaces.ts +5 -5
  345. package/components/common/split/vertical/Vertical.vue +213 -213
  346. package/components/common/split/vertical/lib/models/interfaces.ts +3 -3
  347. package/components/common/tools/Actions.vue +167 -167
  348. package/components/common/tools/lib/models/interfaces.ts +6 -6
  349. package/components/common/tools/viewSettings/ViewSettings.vue +86 -86
  350. package/components/common/tools/viewSettings/lib/models/interfaces.ts +9 -9
  351. package/components/common/vm/actions/add/Add.vue +579 -579
  352. package/components/common/vm/actions/add/FolderTreeView.vue +83 -83
  353. package/components/common/vm/actions/add/lib/config/steps.ts +130 -130
  354. package/components/common/vm/actions/add/lib/utils.ts +102 -102
  355. package/components/common/vm/actions/clone/Clone.vue +545 -545
  356. package/components/common/vm/actions/clone/lib/models/interfaces.ts +7 -7
  357. package/components/common/vm/actions/clone/lib/utils.ts +43 -43
  358. package/components/common/vm/actions/clone/select/options/Options.vue +65 -65
  359. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +269 -269
  360. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +267 -267
  361. package/components/common/vm/actions/common/customizeHardware/lib/config/navItems.ts +19 -19
  362. package/components/common/vm/actions/common/customizeHardware/lib/models/interfaces.ts +7 -7
  363. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +681 -681
  364. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +203 -203
  365. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/lib/models/interfaces.ts +8 -8
  366. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +130 -130
  367. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/lib/config/options.ts +20 -20
  368. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +247 -247
  369. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/lib/config/fileTypes.ts +9 -9
  370. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/lib/config/options.ts +11 -11
  371. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/lib/models/types.ts +1 -1
  372. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +55 -55
  373. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CoresPerSocket.vue +109 -109
  374. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +394 -394
  375. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuHotPlug.vue +49 -49
  376. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuModel.vue +220 -220
  377. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Hv.vue +93 -93
  378. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Iommu.vue +54 -54
  379. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/MaxCpu.vue +105 -105
  380. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Pc.vue +54 -54
  381. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Sa.vue +104 -104
  382. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/lib/config/cpuOptions.ts +19 -19
  383. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +155 -155
  384. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  385. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/tooltip/Tooltip.vue +58 -58
  386. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/config/binaryOptions.ts +12 -12
  387. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/config/dropdownItems.ts +52 -52
  388. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces.ts +125 -125
  389. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/types.ts +4 -4
  390. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +234 -234
  391. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/lib/config/options.ts +28 -28
  392. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +316 -316
  393. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryHotPlug.vue +53 -53
  394. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/lib/config/memoryOptions.ts +35 -35
  395. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/DiskFile.vue +24 -24
  396. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/Location.vue +171 -171
  397. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/MaximumSize.vue +27 -27
  398. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +447 -447
  399. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/cache/Cache.vue +80 -80
  400. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/cache/lib/config/options.ts +7 -7
  401. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/limitIops/LimitIops.vue +151 -151
  402. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/limitIops/lib/config/options.ts +28 -28
  403. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/Mode.vue +87 -87
  404. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/lib/config/options.ts +18 -18
  405. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/Provisioning.vue +87 -87
  406. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/lib/config/options.ts +15 -15
  407. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/Sharing.vue +85 -85
  408. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/lib/config/options.ts +12 -12
  409. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/Location.vue +141 -141
  410. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +288 -288
  411. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/adapterType/AdapterType.vue +86 -86
  412. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/adapterType/lib/config/options.ts +9 -9
  413. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +140 -140
  414. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/lib/config/options.ts +11 -11
  415. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +157 -157
  416. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIo.vue +44 -44
  417. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +49 -49
  418. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/lib/config/options.ts +10 -10
  419. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/lib/config/options.ts +7 -7
  420. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +27 -27
  421. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -41
  422. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelection.vue +56 -56
  423. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +77 -77
  424. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/lib/config/options.ts +6 -6
  425. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/InputDevices.vue +21 -21
  426. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +27 -27
  427. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/Reservation.vue +235 -235
  428. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/lib/config/options.ts +33 -33
  429. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/Graphics.vue +45 -45
  430. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/TotalVideoMemory.vue +120 -120
  431. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +177 -177
  432. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/lib/config/options.ts +11 -11
  433. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/Model.vue +57 -57
  434. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/lib/config/options.ts +10 -10
  435. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +82 -82
  436. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/lib/config/options.ts +14 -14
  437. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +181 -181
  438. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptions.vue +110 -110
  439. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/Menu.vue +45 -45
  440. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/Secure.vue +45 -45
  441. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +50 -50
  442. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/lib/config/config.ts +14 -14
  443. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +83 -83
  444. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/lib/config/config.ts +11 -11
  445. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +197 -197
  446. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/lib/models/interfaces.ts +8 -8
  447. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +181 -181
  448. package/components/common/vm/actions/common/customizeHardware/vmoptions/lib/models/interfaces.ts +34 -34
  449. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/CopyPaste.vue +51 -51
  450. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/FileTransfer.vue +51 -51
  451. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/FolderSharing.vue +50 -50
  452. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/PlaybackCompression.vue +51 -51
  453. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/PowerControl.vue +49 -49
  454. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +253 -253
  455. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/ImgCompression.vue +84 -84
  456. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/lib/config/config.ts +14 -14
  457. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/JpegCompression.vue +84 -84
  458. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/lib/config/config.ts +12 -12
  459. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +55 -55
  460. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/lib/config/config.ts +6 -6
  461. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/MouseMode.vue +52 -52
  462. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/lib/config/config.ts +11 -11
  463. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +136 -136
  464. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/lib/models/interfaces.ts +5 -5
  465. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/lib/utils.ts +12 -12
  466. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/SharePolicy.vue +52 -52
  467. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/lib/config/config.ts +11 -11
  468. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/StreamingMode.vue +84 -84
  469. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/lib/config/config.ts +12 -12
  470. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/type/Type.vue +84 -84
  471. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/type/lib/config/config.ts +7 -7
  472. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +56 -56
  473. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/lib/config/config.ts +14 -14
  474. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/ZlibCompression.vue +84 -84
  475. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/lib/config/config.ts +12 -12
  476. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/Tools.vue +63 -63
  477. package/components/common/vm/actions/common/lib/config/capabilities.ts +339 -339
  478. package/components/common/vm/actions/common/lib/models/enums.ts +89 -89
  479. package/components/common/vm/actions/common/lib/models/interfaces.ts +139 -139
  480. package/components/common/vm/actions/common/lib/models/types.ts +65 -65
  481. package/components/common/vm/actions/common/readyToComplete/ReadyToComplete.vue +15 -15
  482. package/components/common/vm/actions/common/select/compatibility/Compatibility.vue +151 -151
  483. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +170 -170
  484. package/components/common/vm/actions/common/select/computeResource/TreeView.vue +126 -126
  485. package/components/common/vm/actions/common/select/computeResource/lib/ComputeResource.spec.ts +479 -479
  486. package/components/common/vm/actions/common/select/createType/CreateType.vue +61 -61
  487. package/components/common/vm/actions/common/select/createType/lib/config/items.ts +26 -26
  488. package/components/common/vm/actions/common/select/lib/models/interfaces.ts +32 -32
  489. package/components/common/vm/actions/common/select/lib/models/types.ts +46 -46
  490. package/components/common/vm/actions/common/select/name/Name.vue +220 -220
  491. package/components/common/vm/actions/common/select/name/NameOld.vue +215 -215
  492. package/components/common/vm/actions/common/select/os/os.vue +221 -221
  493. package/components/common/vm/actions/common/select/storage/Storage.vue +196 -196
  494. package/components/common/vm/actions/common/select/storage/StorageOld.vue +194 -194
  495. package/components/common/vm/actions/common/select/storage/lib/config/config.ts +154 -154
  496. package/components/common/vm/actions/common/select/storage/lib/models/types.ts +15 -15
  497. package/components/common/vm/actions/editSettings/EditSettings.vue +316 -316
  498. package/components/common/vm/actions/editSettings/lib/models/types.ts +23 -23
  499. package/components/common/vm/actions/editSettings/lib/utils.ts +45 -45
  500. package/components/common/vm/actions/lib/models/interfaces.ts +6 -6
  501. package/components/common/vm/actions/lib/models/types.ts +11 -11
  502. package/components/common/vm/actions/lib/utils.ts +244 -244
  503. package/components/common/vm/lib/models/interfaces.ts +9 -9
  504. package/components/common/vm/lib/utils/powerActions.ts +55 -55
  505. package/components/common/wizards/datastore/add/Add.vue +383 -383
  506. package/components/common/wizards/datastore/add/lib/config/stepItems.ts +160 -160
  507. package/components/common/wizards/datastore/add/lib/models/interfaces.ts +35 -35
  508. package/components/common/wizards/datastore/add/lib/models/types.ts +14 -14
  509. package/components/common/wizards/datastore/add/lib/utils.ts +67 -67
  510. package/components/common/wizards/datastore/add/local/Local.vue +67 -67
  511. package/components/common/wizards/datastore/add/local/createName/CreateName.vue +159 -159
  512. package/components/common/wizards/datastore/add/local/createName/lib/config/defaultForm.ts +15 -15
  513. package/components/common/wizards/datastore/add/nfs/Nfs.vue +94 -94
  514. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +95 -95
  515. package/components/common/wizards/datastore/add/nfs/accessibility/lib/config/tabsPannel.ts +24 -24
  516. package/components/common/wizards/datastore/add/nfs/accessibility/lib/models/interfaces.ts +9 -9
  517. package/components/common/wizards/datastore/add/nfs/accessibility/lib/models/types.ts +5 -5
  518. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/TablesView.vue +141 -141
  519. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/compatibleTable.ts +54 -54
  520. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/hostsTableItems.ts +75 -75
  521. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/incompatibleTable.ts +68 -68
  522. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/tableKeys.ts +15 -15
  523. package/components/common/wizards/datastore/add/nfs/configuration/Configuration.vue +377 -377
  524. package/components/common/wizards/datastore/add/nfs/configuration/lib/config/defaultForm.ts +33 -33
  525. package/components/common/wizards/datastore/add/nfs/configuration/lib/models/interfaces.ts +12 -12
  526. package/components/common/wizards/datastore/add/nfs/configuration/serversList/DeletePopover.vue +97 -97
  527. package/components/common/wizards/datastore/add/nfs/configuration/serversList/ServersList.vue +123 -123
  528. package/components/common/wizards/datastore/add/nfs/configuration/serversList/lib/config/serversListConfig.ts +41 -41
  529. package/components/common/wizards/datastore/add/nfs/configuration/serversList/lib/config/tableKeys.ts +3 -3
  530. package/components/common/wizards/datastore/add/nfs/configuration/serversList/lib/models/interfaces.ts +11 -11
  531. package/components/common/wizards/datastore/add/nfs/configuration/serversList/lib/models/types.ts +1 -1
  532. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/KerberosAuthentication.vue +54 -54
  533. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/lib/config/radioOptions.ts +24 -24
  534. package/components/common/wizards/datastore/add/nfs/version/Version.vue +42 -42
  535. package/components/common/wizards/datastore/add/nfs/version/lib/config/versionOptions.ts +20 -20
  536. package/components/common/wizards/datastore/add/readyComplete/ReadyComplete.vue +78 -78
  537. package/components/common/wizards/datastore/add/readyComplete/lib/config/propertiesDetails.ts +165 -165
  538. package/components/common/wizards/datastore/add/readyComplete/lib/models/interfaces.ts +4 -4
  539. package/components/common/wizards/datastore/add/sharedStorm/SharedStorm.vue +85 -85
  540. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/DeviceSelection.vue +447 -447
  541. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/HostTable.vue +131 -131
  542. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/lib/config/hostsTable.ts +87 -87
  543. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/lib/config/tableKeys.ts +11 -11
  544. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/config/defaultForm.ts +18 -18
  545. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/config/selectOptions.ts +14 -14
  546. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/models/interfaces.ts +55 -55
  547. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/models/types.ts +14 -14
  548. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/PartitionConfiguration.vue +230 -230
  549. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/graphicTooltip/graphicTooltip.vue +64 -64
  550. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/lib/config/selectOptions.ts +46 -46
  551. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/sizeGraphic/sizeGraphic.vue +225 -225
  552. package/components/common/wizards/datastore/add/sharedStorm/version/Version.vue +39 -39
  553. package/components/common/wizards/datastore/add/sharedStorm/version/lib/config/versionOptions.ts +21 -21
  554. package/components/common/wizards/datastore/add/types/Types.vue +77 -77
  555. package/components/common/wizards/datastore/add/types/lib/config/typeOptions.ts +39 -39
  556. package/components/common/wizards/network/add/Add.vue +880 -880
  557. package/components/common/wizards/network/add/lib/config/index.ts +33 -33
  558. package/components/common/wizards/network/add/lib/config/initialData.ts +63 -63
  559. package/components/common/wizards/network/add/lib/config/portPropertiesStep.ts +31 -31
  560. package/components/common/wizards/network/add/lib/config/selectSwitch.ts +19 -19
  561. package/components/common/wizards/network/add/lib/config/sendData.ts +102 -102
  562. package/components/common/wizards/network/add/lib/config/steps.ts +485 -485
  563. package/components/common/wizards/network/add/lib/models/enums.ts +17 -17
  564. package/components/common/wizards/network/add/lib/models/interfaces.ts +201 -201
  565. package/components/common/wizards/network/add/lib/models/types.ts +2 -2
  566. package/components/common/wizards/network/add/lib/utils/index.ts +4 -4
  567. package/components/common/wizards/network/add/mappers/mappers.ts +166 -166
  568. package/components/common/wizards/network/add/modals/SelectNetwork.vue +149 -149
  569. package/components/common/wizards/network/add/modals/SelectStandardSwitch.vue +125 -125
  570. package/components/common/wizards/network/add/modals/SelectSwitch.vue +114 -114
  571. package/components/common/wizards/network/add/steps/ConnectionSettings.vue +148 -148
  572. package/components/common/wizards/network/add/steps/CreateStandardSwitch.vue +84 -84
  573. package/components/common/wizards/network/add/steps/IpFourSettings.vue +245 -245
  574. package/components/common/wizards/network/add/steps/PhysicalAdapter.vue +13 -13
  575. package/components/common/wizards/network/add/steps/PortProperties.vue +369 -369
  576. package/components/common/wizards/network/add/steps/ReadyComplete.vue +20 -20
  577. package/components/common/wizards/network/add/steps/SelectConnectionType.vue +99 -99
  578. package/components/common/wizards/network/add/steps/SelectedTargetDevice.vue +451 -451
  579. package/components/common/wizards/network/add/validations/common.ts +26 -26
  580. package/components/common/wizards/network/add/validations/connectionSettings.ts +70 -70
  581. package/components/common/wizards/network/add/validations/createStandardSwitch.ts +58 -58
  582. package/components/common/wizards/network/add/validations/ipFourSettings.ts +182 -182
  583. package/components/common/wizards/network/add/validations/networkValidation.ts +81 -81
  584. package/components/common/wizards/network/add/validations/portProperties.ts +83 -83
  585. package/components/common/wizards/network/add/validations/targetDevice.ts +109 -109
  586. package/components/common/wizards/network/add/validations/validations.ts +43 -43
  587. package/components/common/wizards/vm/common/computeResource/TreeView.vue +61 -61
  588. package/components/common/wizards/vm/common/readyComplete/ReadyComplete.vue +15 -15
  589. package/components/common/wizards/vm/common/tooltip/Tooltip.vue +82 -82
  590. package/components/common/wizards/vm/common/validation/compatibility/Compatibility.vue +62 -62
  591. package/components/common/wizards/vm/common/validation/lib/models/enums.ts +5 -5
  592. package/components/common/wizards/vm/migrate/Migrate.vue +270 -270
  593. package/components/common/wizards/vm/migrate/contentHeading/ContentHeading.vue +106 -106
  594. package/components/common/wizards/vm/migrate/contentHeading/lib/models/interfaces.ts +7 -7
  595. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +100 -100
  596. package/components/common/wizards/vm/migrate/lib/models/enums.ts +6 -6
  597. package/components/common/wizards/vm/migrate/lib/models/interfaces.ts +24 -24
  598. package/components/common/wizards/vm/migrate/lib/models/types.ts +5 -5
  599. package/components/common/wizards/vm/migrate/lib/utils.ts +80 -80
  600. package/components/common/wizards/vm/migrate/select/computeResource/ComputeResource.vue +219 -219
  601. package/components/common/wizards/vm/migrate/select/computeResource/lib/config/tabsPannel.ts +28 -28
  602. package/components/common/wizards/vm/migrate/select/computeResource/lib/models/enums.ts +6 -6
  603. package/components/common/wizards/vm/migrate/select/computeResource/lib/models/interfaces.ts +30 -30
  604. package/components/common/wizards/vm/migrate/select/computeResource/lib/models/types.ts +12 -12
  605. package/components/common/wizards/vm/migrate/select/computeResource/tableView/TableView.vue +142 -142
  606. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/clusterTable.ts +113 -113
  607. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/hostTable.ts +124 -124
  608. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/resourcePoolTable.ts +115 -115
  609. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/tableKeys.ts +65 -65
  610. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/vappsTable.ts +66 -66
  611. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/models/interfaces.ts +50 -50
  612. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/models/types.ts +60 -60
  613. package/components/common/wizards/vm/migrate/select/network/Network.vue +51 -51
  614. package/components/common/wizards/vm/migrate/select/network/table/disk/Disk.vue +84 -84
  615. package/components/common/wizards/vm/migrate/select/network/table/disk/lib/config/advancedTable.ts +77 -77
  616. package/components/common/wizards/vm/migrate/select/network/table/disk/lib/config/basicTable.ts +71 -71
  617. package/components/common/wizards/vm/migrate/select/network/table/disk/lib/config/tableKeys.ts +10 -10
  618. package/components/common/wizards/vm/migrate/select/network/table/disk/lib/models/interfaces.ts +1 -1
  619. package/components/common/wizards/vm/migrate/select/network/table/disk/lib/models/types.ts +12 -12
  620. package/components/common/wizards/vm/migrate/select/priority/Priority.vue +39 -39
  621. package/components/common/wizards/vm/migrate/select/priority/lib/config/typeOptions.ts +21 -21
  622. package/components/common/wizards/vm/migrate/select/priority/lib/models/types.ts +1 -1
  623. package/components/common/wizards/vm/migrate/select/storage/Storage.vue +202 -202
  624. package/components/common/wizards/vm/migrate/select/storage/configure/batch/Batch.vue +76 -76
  625. package/components/common/wizards/vm/migrate/select/storage/configure/disk/Disk.vue +86 -86
  626. package/components/common/wizards/vm/migrate/select/storage/diskFormat/DiskFormat.vue +68 -68
  627. package/components/common/wizards/vm/migrate/select/storage/diskFormat/lib/config/formatOptions.ts +26 -26
  628. package/components/common/wizards/vm/migrate/select/storage/lib/config/tabsPannel.ts +18 -18
  629. package/components/common/wizards/vm/migrate/select/storage/lib/models/enums.ts +6 -6
  630. package/components/common/wizards/vm/migrate/select/storage/lib/models/interfaces.ts +14 -14
  631. package/components/common/wizards/vm/migrate/select/storage/lib/models/types.ts +9 -9
  632. package/components/common/wizards/vm/migrate/select/storage/policy/Policy.vue +83 -83
  633. package/components/common/wizards/vm/migrate/select/storage/selectedPerDisk/SelectedPerDisk.vue +87 -87
  634. package/components/common/wizards/vm/migrate/select/storage/table/datastore/Datastore.vue +113 -113
  635. package/components/common/wizards/vm/migrate/select/storage/table/datastore/lib/config/config.ts +154 -154
  636. package/components/common/wizards/vm/migrate/select/storage/table/datastore/lib/models/types.ts +15 -15
  637. package/components/common/wizards/vm/migrate/select/storage/table/disk/Disk.vue +84 -84
  638. package/components/common/wizards/vm/migrate/select/storage/table/disk/lib/config/config.ts +123 -123
  639. package/components/common/wizards/vm/migrate/select/storage/table/disk/lib/config/tableKeys.ts +15 -15
  640. package/components/common/wizards/vm/migrate/select/storage/table/disk/lib/models/interfaces.ts +24 -24
  641. package/components/common/wizards/vm/migrate/select/storage/table/disk/lib/models/types.ts +13 -13
  642. package/components/common/wizards/vm/migrate/select/targetServer/lib/config/tabsPannel.ts +18 -18
  643. package/components/common/wizards/vm/migrate/select/targetServer/lib/models/types.ts +1 -1
  644. package/components/common/wizards/vm/migrate/select/targetServer/new/New.vue +287 -287
  645. package/components/common/wizards/vm/migrate/select/targetServer/new/lib/config/defaultForm.ts +33 -33
  646. package/components/common/wizards/vm/migrate/select/targetServer/saved/Saved.vue +27 -27
  647. package/components/common/wizards/vm/migrate/select/targetServer/targetServer.vue +41 -41
  648. package/components/common/wizards/vm/migrate/select/type/Type.vue +38 -38
  649. package/components/common/wizards/vm/migrate/select/type/lib/config/typeOptions.ts +41 -41
  650. package/components/common/wizards/vm/migrate/select/type/lib/models/interfaces.ts +5 -5
  651. package/components/content/Hint.vue +24 -24
  652. package/components/layout/theHeader/lib/models/enums.ts +9 -9
  653. package/components/layout/theHeader/lib/utils/localization.ts +32 -32
  654. package/components/lib/models/interfaces.ts +14 -14
  655. package/composables/deepCopy.ts +21 -21
  656. package/composables/useDiff.ts +15 -15
  657. package/composables/useLocalStorage.ts +45 -45
  658. package/composables/useThrottle.ts +32 -32
  659. package/composables/useUniqueId.ts +5 -5
  660. package/eslint/index.js +15 -15
  661. package/eslint/no-import-type.js +17 -17
  662. package/eslint/no-invalid-type-prefix.js +32 -32
  663. package/lib/config/regExp.ts +13 -13
  664. package/lib/models/composables/useMyFetch/interfaces.ts +25 -25
  665. package/lib/models/composables/useMyFetch/types.ts +1 -1
  666. package/lib/models/enums.ts +21 -21
  667. package/lib/models/interfaces.ts +50 -50
  668. package/lib/models/plugins/date/interfaces.ts +5 -5
  669. package/lib/models/plugins/date/types.ts +1 -1
  670. package/lib/models/plugins/validation/interfaces.ts +21 -21
  671. package/lib/models/plugins/validation/types.ts +1 -1
  672. package/lib/models/store/host/interfaces.ts +38 -38
  673. package/lib/models/store/interfaces.ts +37 -37
  674. package/lib/models/store/network/interfaces.ts +13 -13
  675. package/lib/models/store/storage/interfaces.ts +32 -32
  676. package/lib/models/store/types.ts +43 -43
  677. package/lib/models/store/vm/interfaces.ts +213 -213
  678. package/lib/models/types.ts +15 -15
  679. package/lib/utils/base64.ts +34 -34
  680. package/lib/utils/contentBuild.ts +34 -34
  681. package/lib/utils/notification.ts +22 -22
  682. package/lib/utils/sendTask.ts +77 -77
  683. package/modules/fixContentBuild/index.ts +92 -92
  684. package/modules/fixContentBuild/lib/utils/methods.ts +114 -114
  685. package/modules/fixSpiceConsoleBuild/index.ts +28 -28
  686. package/modules/replaceEnv/index.ts +40 -40
  687. package/nuxt.config.ts +8 -8
  688. package/package.json +41 -41
  689. package/plugins/binary.ts +122 -122
  690. package/plugins/date.ts +179 -179
  691. package/plugins/recursion.ts +230 -230
  692. package/plugins/spice-console/spice.console.ts +18 -18
  693. package/plugins/text.ts +48 -48
  694. package/plugins/validation.ts +172 -172
  695. package/public/spice-console/application/WorkerProcess.js +3350 -3350
  696. package/public/spice-console/application/WorkerProcess_back.js +3144 -3144
  697. package/public/spice-console/application/WorkerProcess_meta.js +3103 -3103
  698. package/public/spice-console/application/WorkerProcess_reverse.js +3214 -3214
  699. package/public/spice-console/application/agent.js +175 -175
  700. package/public/spice-console/application/application.js +641 -641
  701. package/public/spice-console/application/checkActivity.js +50 -50
  702. package/public/spice-console/application/clientgui.js +842 -842
  703. package/public/spice-console/application/clipboard/clipboarddataparser.js +92 -92
  704. package/public/spice-console/application/clipboard/local/localClipboard.js +110 -110
  705. package/public/spice-console/application/clipboard.js +82 -82
  706. package/public/spice-console/application/imagecache.js +81 -81
  707. package/public/spice-console/application/inputmanager.js +270 -270
  708. package/public/spice-console/application/packetfactory.js +202 -202
  709. package/public/spice-console/application/packetfilter.js +103 -103
  710. package/public/spice-console/application/packetprocess.js +75 -75
  711. package/public/spice-console/application/rasteroperation.js +118 -118
  712. package/public/spice-console/application/spiceconnection.js +197 -197
  713. package/public/spice-console/application/stream.js +67 -67
  714. package/public/spice-console/application/virtualmouse.js +109 -109
  715. package/public/spice-console/keymaps/keyevent.js +36 -36
  716. package/public/spice-console/keymaps/keymap.js +229 -229
  717. package/public/spice-console/keymaps/keymapes.js +375 -375
  718. package/public/spice-console/keymaps/keymapesObj.js +316 -316
  719. package/public/spice-console/keymaps/keymapus.js +317 -317
  720. package/public/spice-console/keymaps/scanCodeObjModifier.js +65 -65
  721. package/public/spice-console/keymaps/scanCodeObjProvider.js +60 -60
  722. package/public/spice-console/lib/AsyncConsumer.js +204 -204
  723. package/public/spice-console/lib/AsyncWorker.js +60 -60
  724. package/public/spice-console/lib/CollisionDetector.js +27 -27
  725. package/public/spice-console/lib/DataLogger.js +197 -197
  726. package/public/spice-console/lib/GenericObjectPool.js +152 -152
  727. package/public/spice-console/lib/GlobalPool.js +114 -114
  728. package/public/spice-console/lib/ImageUncompressor.js +138 -138
  729. package/public/spice-console/lib/IntegrationBenchmark.js +64 -64
  730. package/public/spice-console/lib/PacketWorkerIdentifier.js +107 -107
  731. package/public/spice-console/lib/SyncAsyncHandler.js +46 -46
  732. package/public/spice-console/lib/base64.js +298 -298
  733. package/public/spice-console/lib/biginteger.js +1640 -1640
  734. package/public/spice-console/lib/bowser.js +276 -276
  735. package/public/spice-console/lib/decoder/dixie.js +7930 -7930
  736. package/public/spice-console/lib/decoder/jmuxer.js +2815 -2815
  737. package/public/spice-console/lib/displayRouter.js +83 -83
  738. package/public/spice-console/lib/encrypt.js +191 -191
  739. package/public/spice-console/lib/flipper.js +39 -39
  740. package/public/spice-console/lib/graphic.js +1230 -1230
  741. package/public/spice-console/lib/graphicdebug.js +223 -223
  742. package/public/spice-console/lib/images/bitmap.js +194 -194
  743. package/public/spice-console/lib/images/jsquic_family.js +83 -83
  744. package/public/spice-console/lib/images/jsquic_rgba.js +342 -342
  745. package/public/spice-console/lib/images/jsquic_uncompress.js +529 -529
  746. package/public/spice-console/lib/images/lz.js +717 -717
  747. package/public/spice-console/lib/images/png.js +275 -275
  748. package/public/spice-console/lib/jgestures.min.js +43 -43
  749. package/public/spice-console/lib/jquery-2.0.3.js +8829 -8829
  750. package/public/spice-console/lib/jquery-mousewheel.js +83 -83
  751. package/public/spice-console/lib/jquery-visibility.min.js +1 -1
  752. package/public/spice-console/lib/jsbn.js +578 -578
  753. package/public/spice-console/lib/jsbn2.js +675 -675
  754. package/public/spice-console/lib/lodash.4.0.0.min.js +136 -136
  755. package/public/spice-console/lib/modernizr.js +39 -39
  756. package/public/spice-console/lib/pixastic.js +3244 -3244
  757. package/public/spice-console/lib/prettyprint.js +794 -794
  758. package/public/spice-console/lib/prng4.js +64 -64
  759. package/public/spice-console/lib/queue.js +259 -259
  760. package/public/spice-console/lib/rng.js +87 -87
  761. package/public/spice-console/lib/runqueue.js +103 -103
  762. package/public/spice-console/lib/sha1.js +124 -124
  763. package/public/spice-console/lib/stuckkeyshandler.js +122 -122
  764. package/public/spice-console/lib/timelapsedetector.js +62 -62
  765. package/public/spice-console/lib/utils.js +327 -327
  766. package/public/spice-console/lib/virtualjoystick.js +370 -370
  767. package/public/spice-console/network/busconnection.js +195 -195
  768. package/public/spice-console/network/clusternodechooser.js +49 -49
  769. package/public/spice-console/network/connectioncontrol.js +60 -60
  770. package/public/spice-console/network/packetcontroller.js +62 -62
  771. package/public/spice-console/network/packetextractor.js +73 -73
  772. package/public/spice-console/network/packetlinkfactory.js +64 -64
  773. package/public/spice-console/network/packetreassembler.js +77 -77
  774. package/public/spice-console/network/reassemblerfactory.js +39 -39
  775. package/public/spice-console/network/sizedefiner.js +86 -86
  776. package/public/spice-console/network/socket.js +120 -120
  777. package/public/spice-console/network/socketqueue.js +95 -95
  778. package/public/spice-console/network/websocketwrapper.js +75 -75
  779. package/public/spice-console/process/busprocess.js +309 -309
  780. package/public/spice-console/process/cursorprocess.js +110 -110
  781. package/public/spice-console/process/displaypreprocess.js +152 -152
  782. package/public/spice-console/process/displayprocess.js +210 -210
  783. package/public/spice-console/process/inputprocess.js +203 -203
  784. package/public/spice-console/process/mainprocess.js +78 -78
  785. package/public/spice-console/process/playbackprocess.js +233 -233
  786. package/public/spice-console/run.js +180 -180
  787. package/public/spice-console/spiceobjects/generated/protocol.js +537 -537
  788. package/public/spice-console/spiceobjects/spiceobjects.js +3474 -3474
  789. package/public/spice-console/swcanvas/swcanvas.js +82 -82
  790. package/public/spice-console/tools/generate.php +269 -269
  791. package/public/spice-console/tools/generateKeyboardLayout.php +63 -63
  792. package/public/spice-console/tools/generateSpiceObject.php +81 -81
  793. package/tsconfig.json +4 -4
@@ -1,794 +1,794 @@
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
- /*
21
- Copyright (c) 2009 James Padolsey. All rights reserved.
22
-
23
- Redistribution and use in source and binary forms, with or without
24
- modification, are permitted provided that the following conditions
25
- are met:
26
-
27
- 1. Redistributions of source code must retain the above copyright
28
- notice, this list of conditions and the following disclaimer.
29
-
30
- 2. Redistributions in binary form must reproduce the above copyright
31
- notice, this list of conditions and the following disclaimer in the
32
- documentation and/or other materials provided with the distribution.
33
-
34
- THIS SOFTWARE IS PROVIDED BY James Padolsey ``AS IS'' AND
35
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
36
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
37
- ARE DISCLAIMED. IN NO EVENT SHALL James Padolsey OR CONTRIBUTORS BE LIABLE
38
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
39
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
40
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
41
- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
42
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
43
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
44
- SUCH DAMAGE.
45
-
46
- The views and conclusions contained in the software and documentation are
47
- those of the authors and should not be interpreted as representing official
48
- policies, either expressed or implied, of James Padolsey.
49
-
50
- AUTHOR James Padolsey (http://james.padolsey.com)
51
- VERSION 1.03.0
52
- UPDATED 29-10-2011
53
- CONTRIBUTORS
54
- David Waller
55
- Benjamin Drucker
56
-
57
- */
58
-
59
- var prettyPrint = (function(){
60
-
61
- /* These "util" functions are not part of the core
62
- functionality but are all necessary - mostly DOM helpers */
63
-
64
- var util = {
65
-
66
- el: function(type, attrs) {
67
-
68
- /* Create new element */
69
- var el = document.createElement(type), attr;
70
-
71
- /*Copy to single object */
72
- attrs = util.merge({}, attrs);
73
-
74
- /* Add attributes to el */
75
- if (attrs && attrs.style) {
76
- var styles = attrs.style;
77
- util.applyCSS( el, attrs.style );
78
- delete attrs.style;
79
- }
80
- for (attr in attrs) {
81
- if (attrs.hasOwnProperty(attr)) {
82
- el[attr] = attrs[attr];
83
- }
84
- }
85
-
86
- return el;
87
-
88
- },
89
-
90
- applyCSS: function(el, styles) {
91
- /* Applies CSS to a single element */
92
- for (var prop in styles) {
93
- if (styles.hasOwnProperty(prop)) {
94
- try{
95
- /* Yes, IE6 SUCKS! */
96
- el.style[prop] = styles[prop];
97
- }catch(e){}
98
- }
99
- }
100
- },
101
-
102
- txt: function(t) {
103
- /* Create text node */
104
- return document.createTextNode(t);
105
- },
106
-
107
- row: function(cells, type, cellType) {
108
-
109
- /* Creates new <tr> */
110
- cellType = cellType || 'td';
111
-
112
- /* colSpan is calculated by length of null items in array */
113
- var colSpan = util.count(cells, null) + 1,
114
- tr = util.el('tr'), td,
115
- attrs = {
116
- style: util.getStyles(cellType, type),
117
- colSpan: colSpan,
118
- onmouseover: function() {
119
- var tds = this.parentNode.childNodes;
120
- util.forEach(tds, function(cell){
121
- if (cell.nodeName.toLowerCase() !== 'td') { return; }
122
- util.applyCSS(cell, util.getStyles('td_hover', type));
123
- });
124
- },
125
- onmouseout: function() {
126
- var tds = this.parentNode.childNodes;
127
- util.forEach(tds, function(cell){
128
- if (cell.nodeName.toLowerCase() !== 'td') { return; }
129
- util.applyCSS(cell, util.getStyles('td', type));
130
- });
131
- }
132
- };
133
-
134
- util.forEach(cells, function(cell){
135
-
136
- if (cell === null) { return; }
137
- /* Default cell type is <td> */
138
- td = util.el(cellType, attrs);
139
-
140
- if (cell.nodeType) {
141
- /* IsDomElement */
142
- td.appendChild(cell);
143
- } else {
144
- /* IsString */
145
- td.innerHTML = util.shorten(cell.toString());
146
- }
147
-
148
- tr.appendChild(td);
149
- });
150
-
151
- return tr;
152
- },
153
-
154
- hRow: function(cells, type){
155
- /* Return new <th> */
156
- return util.row(cells, type, 'th');
157
- },
158
-
159
- table: function(headings, type){
160
-
161
- headings = headings || [];
162
-
163
- /* Creates new table: */
164
- var attrs = {
165
- thead: {
166
- style:util.getStyles('thead',type)
167
- },
168
- tbody: {
169
- style:util.getStyles('tbody',type)
170
- },
171
- table: {
172
- style:util.getStyles('table',type)
173
- }
174
- },
175
- tbl = util.el('table', attrs.table),
176
- thead = util.el('thead', attrs.thead),
177
- tbody = util.el('tbody', attrs.tbody);
178
-
179
- if (headings.length) {
180
- tbl.appendChild(thead);
181
- thead.appendChild( util.hRow(headings, type) );
182
- }
183
- tbl.appendChild(tbody);
184
-
185
- return {
186
- /* Facade for dealing with table/tbody
187
- Actual table node is this.node: */
188
- node: tbl,
189
- tbody: tbody,
190
- thead: thead,
191
- appendChild: function(node) {
192
- this.tbody.appendChild(node);
193
- },
194
- addRow: function(cells, _type, cellType){
195
- this.appendChild(util.row.call(util, cells, (_type || type), cellType));
196
- return this;
197
- }
198
- };
199
- },
200
-
201
- shorten: function(str) {
202
- var max = 40;
203
- str = str.replace(/^\s\s*|\s\s*$|\n/g,'');
204
- return str.length > max ? (str.substring(0, max-1) + '...') : str;
205
- },
206
-
207
- htmlentities: function(str) {
208
- return str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
209
- },
210
-
211
- merge: function(target, source) {
212
-
213
- /* Merges two (or more) objects,
214
- giving the last one precedence */
215
-
216
- if ( typeof target !== 'object' ) {
217
- target = {};
218
- }
219
-
220
- for (var property in source) {
221
-
222
- if ( source.hasOwnProperty(property) ) {
223
-
224
- var sourceProperty = source[ property ];
225
-
226
- if ( typeof sourceProperty === 'object' ) {
227
- target[ property ] = util.merge( target[ property ], sourceProperty );
228
- continue;
229
- }
230
-
231
- target[ property ] = sourceProperty;
232
-
233
- }
234
-
235
- }
236
-
237
- for (var a = 2, l = arguments.length; a < l; a++) {
238
- util.merge(target, arguments[a]);
239
- }
240
-
241
- return target;
242
- },
243
-
244
- count: function(arr, item) {
245
- var count = 0;
246
- for (var i = 0, l = arr.length; i< l; i++) {
247
- if (arr[i] === item) {
248
- count++;
249
- }
250
- }
251
- return count;
252
- },
253
-
254
- thead: function(tbl) {
255
- return tbl.getElementsByTagName('thead')[0];
256
- },
257
-
258
- forEach: function(arr, max, fn) {
259
-
260
- if (!fn) {
261
- fn = max;
262
- }
263
-
264
- /* Helper: iteration */
265
- var len = arr.length,
266
- index = -1;
267
-
268
- while (++index < len) {
269
- if(fn( arr[index], index, arr ) === false) {
270
- break;
271
- }
272
- }
273
-
274
- return true;
275
- },
276
-
277
- type: function(v){
278
- try {
279
- /* Returns type, e.g. "string", "number", "array" etc.
280
- Note, this is only used for precise typing. */
281
- if (v === null) { return 'null'; }
282
- if (v === undefined) { return 'undefined'; }
283
- var oType = Object.prototype.toString.call(v).match(/\s(.+?)\]/)[1].toLowerCase();
284
- if (v.nodeType) {
285
- if (v.nodeType === 1) {
286
- return 'domelement';
287
- }
288
- return 'domnode';
289
- }
290
- if (/^(string|number|array|regexp|function|date|boolean)$/.test(oType)) {
291
- return oType;
292
- }
293
- if (typeof v === 'object') {
294
- return v.jquery && typeof v.jquery === 'string' ? 'jquery' : 'object';
295
- }
296
- if (v === window || v === document) {
297
- return 'object';
298
- }
299
- return 'default';
300
- } catch(e) {
301
- return 'default';
302
- }
303
- },
304
-
305
- within: function(ref) {
306
- /* Check existence of a val within an object
307
- RETURNS KEY */
308
- return {
309
- is: function(o) {
310
- for (var i in ref) {
311
- if (ref[i] === o) {
312
- return i;
313
- }
314
- }
315
- return '';
316
- }
317
- };
318
- },
319
-
320
- common: {
321
- circRef: function(obj, key, settings) {
322
- return util.expander(
323
- '[POINTS BACK TO <strong>' + (key) + '</strong>]',
324
- 'Click to show this item anyway',
325
- function() {
326
- this.parentNode.appendChild( prettyPrintThis(obj,{maxDepth:1}) );
327
- }
328
- );
329
- },
330
- depthReached: function(obj, settings) {
331
- return util.expander(
332
- '[DEPTH REACHED]',
333
- 'Click to show this item anyway',
334
- function() {
335
- try {
336
- this.parentNode.appendChild( prettyPrintThis(obj,{maxDepth:1}) );
337
- } catch(e) {
338
- this.parentNode.appendChild(
339
- util.table(['ERROR OCCURED DURING OBJECT RETRIEVAL'],'error').addRow([e.message]).node
340
- );
341
- }
342
- }
343
- );
344
- }
345
- },
346
-
347
- getStyles: function(el, type) {
348
- type = prettyPrintThis.settings.styles[type] || {};
349
- return util.merge(
350
- {}, prettyPrintThis.settings.styles['default'][el], type[el]
351
- );
352
- },
353
-
354
- expander: function(text, title, clickFn) {
355
- return util.el('a', {
356
- innerHTML: util.shorten(text) + ' <b style="visibility:hidden;">[+]</b>',
357
- title: title,
358
- onmouseover: function() {
359
- this.getElementsByTagName('b')[0].style.visibility = 'visible';
360
- },
361
- onmouseout: function() {
362
- this.getElementsByTagName('b')[0].style.visibility = 'hidden';
363
- },
364
- onclick: function() {
365
- this.style.display = 'none';
366
- clickFn.call(this);
367
- return false;
368
- },
369
- style: {
370
- cursor: 'pointer'
371
- }
372
- });
373
- },
374
-
375
- stringify: function(obj) {
376
-
377
- /* Bit of an ugly duckling!
378
- - This fn returns an ATTEMPT at converting an object/array/anyType
379
- into a string, kinda like a JSON-deParser
380
- - This is used for when |settings.expanded === false| */
381
-
382
- var type = util.type(obj),
383
- str, first = true;
384
- if ( type === 'array' ) {
385
- str = '[';
386
- util.forEach(obj, function(item,i){
387
- str += (i===0?'':', ') + util.stringify(item);
388
- });
389
- return str + ']';
390
- }
391
- if (typeof obj === 'object') {
392
- str = '{';
393
- for (var i in obj){
394
- if (obj.hasOwnProperty(i)) {
395
- str += (first?'':', ') + i + ':' + util.stringify(obj[i]);
396
- first = false;
397
- }
398
- }
399
- return str + '}';
400
- }
401
- if (type === 'regexp') {
402
- return '/' + obj.source + '/';
403
- }
404
- if (type === 'string') {
405
- return '"' + obj.replace(/"/g,'\\"') + '"';
406
- }
407
- return obj.toString();
408
- },
409
-
410
- headerGradient: (function(){
411
-
412
- var canvas = document.createElement('canvas');
413
- if (!canvas.getContext) { return ''; }
414
- var cx = canvas.getContext('2d');
415
- canvas.height = 30;
416
- canvas.width = 1;
417
-
418
- var linearGrad = cx.createLinearGradient(0,0,0,30);
419
- linearGrad.addColorStop(0,'rgba(0,0,0,0)');
420
- linearGrad.addColorStop(1,'rgba(0,0,0,0.25)');
421
-
422
- cx.fillStyle = linearGrad;
423
- cx.fillRect(0,0,1,30);
424
-
425
- var dataURL = canvas.toDataURL && canvas.toDataURL();
426
- return 'url(' + (dataURL || '') + ')';
427
-
428
- })()
429
-
430
- };
431
-
432
- // Main..
433
- var prettyPrintThis = function(obj, options) {
434
-
435
- /*
436
- * obj :: Object to be printed
437
- * options :: Options (merged with config)
438
- */
439
-
440
- options = options || {};
441
-
442
- var settings = util.merge( {}, prettyPrintThis.config, options ),
443
- container = util.el('div'),
444
- config = prettyPrintThis.config,
445
- currentDepth = 0,
446
- stack = {},
447
- hasRunOnce = false;
448
-
449
- /* Expose per-call settings.
450
- Note: "config" is overwritten (where necessary) by options/"settings"
451
- So, if you need to access/change *DEFAULT* settings then go via ".config" */
452
- prettyPrintThis.settings = settings;
453
-
454
- var typeDealer = {
455
- string : function(item){
456
- return util.txt('"' + util.shorten(item.replace(/"/g,'\\"')) + '"');
457
- },
458
- number : function(item) {
459
- return util.txt(item);
460
- },
461
- regexp : function(item) {
462
-
463
- var miniTable = util.table(['RegExp',null], 'regexp');
464
- var flags = util.table();
465
- var span = util.expander(
466
- '/' + item.source + '/',
467
- 'Click to show more',
468
- function() {
469
- this.parentNode.appendChild(miniTable.node);
470
- }
471
- );
472
-
473
- flags
474
- .addRow(['g', item.global])
475
- .addRow(['i', item.ignoreCase])
476
- .addRow(['m', item.multiline]);
477
-
478
- miniTable
479
- .addRow(['source', '/' + item.source + '/'])
480
- .addRow(['flags', flags.node])
481
- .addRow(['lastIndex', item.lastIndex]);
482
-
483
- return settings.expanded ? miniTable.node : span;
484
- },
485
- domelement : function(element, depth) {
486
-
487
- var miniTable = util.table(['DOMElement',null], 'domelement'),
488
- props = ['id', 'className', 'innerHTML', 'src', 'href'], elname = element.nodeName || '';
489
-
490
- miniTable.addRow(['tag', '&lt;' + elname.toLowerCase() + '&gt;']);
491
-
492
- util.forEach(props, function(prop){
493
- if ( element[prop] ) {
494
- miniTable.addRow([ prop, util.htmlentities(element[prop]) ]);
495
- }
496
- });
497
-
498
- return settings.expanded ? miniTable.node : util.expander(
499
- 'DOMElement (' + elname.toLowerCase() + ')',
500
- 'Click to show more',
501
- function() {
502
- this.parentNode.appendChild(miniTable.node);
503
- }
504
- );
505
- },
506
- domnode : function(node){
507
-
508
- /* Deals with all DOMNodes that aren't elements (nodeType !== 1) */
509
- var miniTable = util.table(['DOMNode',null], 'domelement'),
510
- data = util.htmlentities( (node.data || 'UNDEFINED').replace(/\n/g,'\\n') );
511
- miniTable
512
- .addRow(['nodeType', node.nodeType + ' (' + node.nodeName + ')'])
513
- .addRow(['data', data]);
514
-
515
- return settings.expanded ? miniTable.node : util.expander(
516
- 'DOMNode',
517
- 'Click to show more',
518
- function() {
519
- this.parentNode.appendChild(miniTable.node);
520
- }
521
- );
522
- },
523
- jquery : function(obj, depth, key) {
524
- return typeDealer['array'](obj, depth, key, true);
525
- },
526
- object : function(obj, depth, key) {
527
-
528
- /* Checking depth + circular refs */
529
- /* Note, check for circular refs before depth; just makes more sense */
530
- var stackKey = util.within(stack).is(obj);
531
- if ( stackKey ) {
532
- return util.common.circRef(obj, stackKey, settings);
533
- }
534
- stack[key||'TOP'] = obj;
535
- if (depth === settings.maxDepth) {
536
- return util.common.depthReached(obj, settings);
537
- }
538
-
539
- var table = util.table(['Object', null],'object'),
540
- isEmpty = true;
541
-
542
- for (var i in obj) {
543
- if (!obj.hasOwnProperty || obj.hasOwnProperty(i)) {
544
- var item = obj[i],
545
- type = util.type(item);
546
- isEmpty = false;
547
- try {
548
- table.addRow([i, typeDealer[ type ](item, depth+1, i)], type);
549
- } catch(e) {
550
- /* Security errors are thrown on certain Window/DOM properties */
551
- if (window.console && window.console.log) {
552
- console.log(e.message);
553
- }
554
- }
555
- }
556
- }
557
-
558
- if (isEmpty) {
559
- table.addRow(['<small>[empty]</small>']);
560
- } else {
561
- table.thead.appendChild(
562
- util.hRow(['key','value'], 'colHeader')
563
- );
564
- }
565
-
566
- var ret = (settings.expanded || hasRunOnce) ? table.node : util.expander(
567
- util.stringify(obj),
568
- 'Click to show more',
569
- function() {
570
- this.parentNode.appendChild(table.node);
571
- }
572
- );
573
-
574
- hasRunOnce = true;
575
-
576
- return ret;
577
-
578
- },
579
- array : function(arr, depth, key, jquery) {
580
-
581
- /* Checking depth + circular refs */
582
- /* Note, check for circular refs before depth; just makes more sense */
583
- var stackKey = util.within(stack).is(arr);
584
- if ( stackKey ) {
585
- return util.common.circRef(arr, stackKey);
586
- }
587
- stack[key||'TOP'] = arr;
588
- if (depth === settings.maxDepth) {
589
- return util.common.depthReached(arr);
590
- }
591
-
592
- /* Accepts a table and modifies it */
593
- var me = jquery ? 'jQuery' : 'Array', table = util.table([me + '(' + arr.length + ')', null], jquery ? 'jquery' : me.toLowerCase()),
594
- isEmpty = true,
595
- count = 0;
596
-
597
- if (jquery){
598
- table.addRow(['selector',arr.selector]);
599
- }
600
-
601
- util.forEach(arr, function(item,i){
602
- if (settings.maxArray >= 0 && ++count > settings.maxArray) {
603
- table.addRow([
604
- i + '..' + (arr.length-1),
605
- typeDealer[ util.type(item) ]('...', depth+1, i)
606
- ]);
607
- return false;
608
- }
609
- isEmpty = false;
610
- table.addRow([i, typeDealer[ util.type(item) ](item, depth+1, i)]);
611
- });
612
-
613
- if (!jquery){
614
- if (isEmpty) {
615
- table.addRow(['<small>[empty]</small>']);
616
- } else {
617
- table.thead.appendChild( util.hRow(['index','value'], 'colHeader') );
618
- }
619
- }
620
-
621
- return settings.expanded ? table.node : util.expander(
622
- util.stringify(arr),
623
- 'Click to show more',
624
- function() {
625
- this.parentNode.appendChild(table.node);
626
- }
627
- );
628
-
629
- },
630
- 'function' : function(fn, depth, key) {
631
-
632
- /* Checking JUST circular refs */
633
- var stackKey = util.within(stack).is(fn);
634
- if ( stackKey ) { return util.common.circRef(fn, stackKey); }
635
- stack[key||'TOP'] = fn;
636
-
637
- var miniTable = util.table(['Function',null], 'function'),
638
- argsTable = util.table(['Arguments']),
639
- args = fn.toString().match(/\((.+?)\)/),
640
- body = fn.toString().match(/\(.*?\)\s+?\{?([\S\s]+)/)[1].replace(/\}?$/,'');
641
-
642
- miniTable
643
- .addRow(['arguments', args ? args[1].replace(/[^\w_,\s]/g,'') : '<small>[none/native]</small>'])
644
- .addRow(['body', body]);
645
-
646
- return settings.expanded ? miniTable.node : util.expander(
647
- 'function(){...}',
648
- 'Click to see more about this function.',
649
- function(){
650
- this.parentNode.appendChild(miniTable.node);
651
- }
652
- );
653
- },
654
- 'date' : function(date) {
655
-
656
- var miniTable = util.table(['Date',null], 'date'),
657
- sDate = date.toString().split(/\s/);
658
-
659
- /* TODO: Make this work well in IE! */
660
- miniTable
661
- .addRow(['Time', sDate[4]])
662
- .addRow(['Date', sDate.slice(0,4).join('-')]);
663
-
664
- return settings.expanded ? miniTable.node : util.expander(
665
- 'Date (timestamp): ' + (+date),
666
- 'Click to see a little more info about this date',
667
- function() {
668
- this.parentNode.appendChild(miniTable.node);
669
- }
670
- );
671
-
672
- },
673
- 'boolean' : function(bool) {
674
- return util.txt( bool.toString().toUpperCase() );
675
- },
676
- 'undefined' : function() {
677
- return util.txt('UNDEFINED');
678
- },
679
- 'null' : function() {
680
- return util.txt('NULL');
681
- },
682
- 'default' : function() {
683
- /* When a type cannot be found */
684
- return util.txt('prettyPrint: TypeNotFound Error');
685
- }
686
- };
687
-
688
- container.appendChild( typeDealer[ (settings.forceObject) ? 'object' : util.type(obj) ](obj, currentDepth) );
689
-
690
- return container;
691
-
692
- };
693
-
694
- /* Configuration */
695
-
696
- /* All items can be overwridden by passing an
697
- "options" object when calling prettyPrint */
698
- prettyPrintThis.config = {
699
-
700
- /* Try setting this to false to save space */
701
- expanded: true,
702
-
703
- forceObject: false,
704
- maxDepth: 3,
705
- maxArray: -1, // default is unlimited
706
- styles: {
707
- array: {
708
- th: {
709
- backgroundColor: '#6DBD2A',
710
- color: 'white'
711
- }
712
- },
713
- 'function': {
714
- th: {
715
- backgroundColor: '#D82525'
716
- }
717
- },
718
- regexp: {
719
- th: {
720
- backgroundColor: '#E2F3FB',
721
- color: '#000'
722
- }
723
- },
724
- object: {
725
- th: {
726
- backgroundColor: '#1F96CF'
727
- }
728
- },
729
- jquery : {
730
- th: {
731
- backgroundColor: '#FBF315'
732
- }
733
- },
734
- error: {
735
- th: {
736
- backgroundColor: 'red',
737
- color: 'yellow'
738
- }
739
- },
740
- domelement: {
741
- th: {
742
- backgroundColor: '#F3801E'
743
- }
744
- },
745
- date: {
746
- th: {
747
- backgroundColor: '#A725D8'
748
- }
749
- },
750
- colHeader: {
751
- th: {
752
- backgroundColor: '#EEE',
753
- color: '#000',
754
- textTransform: 'uppercase'
755
- }
756
- },
757
- 'default': {
758
- table: {
759
- borderCollapse: 'collapse',
760
- width: '100%'
761
- },
762
- td: {
763
- padding: '5px',
764
- fontSize: '12px',
765
- backgroundColor: '#FFF',
766
- color: '#222',
767
- border: '1px solid #000',
768
- verticalAlign: 'top',
769
- fontFamily: '"Consolas","Lucida Console",Courier,mono',
770
- whiteSpace: 'nowrap'
771
- },
772
- td_hover: {
773
- /* Styles defined here will apply to all tr:hover > td,
774
- - Be aware that "inheritable" properties (e.g. fontWeight) WILL BE INHERITED */
775
- },
776
- th: {
777
- padding: '5px',
778
- fontSize: '12px',
779
- backgroundColor: '#222',
780
- color: '#EEE',
781
- textAlign: 'left',
782
- border: '1px solid #000',
783
- verticalAlign: 'top',
784
- fontFamily: '"Consolas","Lucida Console",Courier,mono',
785
- backgroundImage: util.headerGradient,
786
- backgroundRepeat: 'repeat-x'
787
- }
788
- }
789
- }
790
- };
791
-
792
- return prettyPrintThis;
793
-
794
- })();
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
+ /*
21
+ Copyright (c) 2009 James Padolsey. All rights reserved.
22
+
23
+ Redistribution and use in source and binary forms, with or without
24
+ modification, are permitted provided that the following conditions
25
+ are met:
26
+
27
+ 1. Redistributions of source code must retain the above copyright
28
+ notice, this list of conditions and the following disclaimer.
29
+
30
+ 2. Redistributions in binary form must reproduce the above copyright
31
+ notice, this list of conditions and the following disclaimer in the
32
+ documentation and/or other materials provided with the distribution.
33
+
34
+ THIS SOFTWARE IS PROVIDED BY James Padolsey ``AS IS'' AND
35
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
36
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
37
+ ARE DISCLAIMED. IN NO EVENT SHALL James Padolsey OR CONTRIBUTORS BE LIABLE
38
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
39
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
40
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
41
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
42
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
43
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
44
+ SUCH DAMAGE.
45
+
46
+ The views and conclusions contained in the software and documentation are
47
+ those of the authors and should not be interpreted as representing official
48
+ policies, either expressed or implied, of James Padolsey.
49
+
50
+ AUTHOR James Padolsey (http://james.padolsey.com)
51
+ VERSION 1.03.0
52
+ UPDATED 29-10-2011
53
+ CONTRIBUTORS
54
+ David Waller
55
+ Benjamin Drucker
56
+
57
+ */
58
+
59
+ var prettyPrint = (function(){
60
+
61
+ /* These "util" functions are not part of the core
62
+ functionality but are all necessary - mostly DOM helpers */
63
+
64
+ var util = {
65
+
66
+ el: function(type, attrs) {
67
+
68
+ /* Create new element */
69
+ var el = document.createElement(type), attr;
70
+
71
+ /*Copy to single object */
72
+ attrs = util.merge({}, attrs);
73
+
74
+ /* Add attributes to el */
75
+ if (attrs && attrs.style) {
76
+ var styles = attrs.style;
77
+ util.applyCSS( el, attrs.style );
78
+ delete attrs.style;
79
+ }
80
+ for (attr in attrs) {
81
+ if (attrs.hasOwnProperty(attr)) {
82
+ el[attr] = attrs[attr];
83
+ }
84
+ }
85
+
86
+ return el;
87
+
88
+ },
89
+
90
+ applyCSS: function(el, styles) {
91
+ /* Applies CSS to a single element */
92
+ for (var prop in styles) {
93
+ if (styles.hasOwnProperty(prop)) {
94
+ try{
95
+ /* Yes, IE6 SUCKS! */
96
+ el.style[prop] = styles[prop];
97
+ }catch(e){}
98
+ }
99
+ }
100
+ },
101
+
102
+ txt: function(t) {
103
+ /* Create text node */
104
+ return document.createTextNode(t);
105
+ },
106
+
107
+ row: function(cells, type, cellType) {
108
+
109
+ /* Creates new <tr> */
110
+ cellType = cellType || 'td';
111
+
112
+ /* colSpan is calculated by length of null items in array */
113
+ var colSpan = util.count(cells, null) + 1,
114
+ tr = util.el('tr'), td,
115
+ attrs = {
116
+ style: util.getStyles(cellType, type),
117
+ colSpan: colSpan,
118
+ onmouseover: function() {
119
+ var tds = this.parentNode.childNodes;
120
+ util.forEach(tds, function(cell){
121
+ if (cell.nodeName.toLowerCase() !== 'td') { return; }
122
+ util.applyCSS(cell, util.getStyles('td_hover', type));
123
+ });
124
+ },
125
+ onmouseout: function() {
126
+ var tds = this.parentNode.childNodes;
127
+ util.forEach(tds, function(cell){
128
+ if (cell.nodeName.toLowerCase() !== 'td') { return; }
129
+ util.applyCSS(cell, util.getStyles('td', type));
130
+ });
131
+ }
132
+ };
133
+
134
+ util.forEach(cells, function(cell){
135
+
136
+ if (cell === null) { return; }
137
+ /* Default cell type is <td> */
138
+ td = util.el(cellType, attrs);
139
+
140
+ if (cell.nodeType) {
141
+ /* IsDomElement */
142
+ td.appendChild(cell);
143
+ } else {
144
+ /* IsString */
145
+ td.innerHTML = util.shorten(cell.toString());
146
+ }
147
+
148
+ tr.appendChild(td);
149
+ });
150
+
151
+ return tr;
152
+ },
153
+
154
+ hRow: function(cells, type){
155
+ /* Return new <th> */
156
+ return util.row(cells, type, 'th');
157
+ },
158
+
159
+ table: function(headings, type){
160
+
161
+ headings = headings || [];
162
+
163
+ /* Creates new table: */
164
+ var attrs = {
165
+ thead: {
166
+ style:util.getStyles('thead',type)
167
+ },
168
+ tbody: {
169
+ style:util.getStyles('tbody',type)
170
+ },
171
+ table: {
172
+ style:util.getStyles('table',type)
173
+ }
174
+ },
175
+ tbl = util.el('table', attrs.table),
176
+ thead = util.el('thead', attrs.thead),
177
+ tbody = util.el('tbody', attrs.tbody);
178
+
179
+ if (headings.length) {
180
+ tbl.appendChild(thead);
181
+ thead.appendChild( util.hRow(headings, type) );
182
+ }
183
+ tbl.appendChild(tbody);
184
+
185
+ return {
186
+ /* Facade for dealing with table/tbody
187
+ Actual table node is this.node: */
188
+ node: tbl,
189
+ tbody: tbody,
190
+ thead: thead,
191
+ appendChild: function(node) {
192
+ this.tbody.appendChild(node);
193
+ },
194
+ addRow: function(cells, _type, cellType){
195
+ this.appendChild(util.row.call(util, cells, (_type || type), cellType));
196
+ return this;
197
+ }
198
+ };
199
+ },
200
+
201
+ shorten: function(str) {
202
+ var max = 40;
203
+ str = str.replace(/^\s\s*|\s\s*$|\n/g,'');
204
+ return str.length > max ? (str.substring(0, max-1) + '...') : str;
205
+ },
206
+
207
+ htmlentities: function(str) {
208
+ return str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
209
+ },
210
+
211
+ merge: function(target, source) {
212
+
213
+ /* Merges two (or more) objects,
214
+ giving the last one precedence */
215
+
216
+ if ( typeof target !== 'object' ) {
217
+ target = {};
218
+ }
219
+
220
+ for (var property in source) {
221
+
222
+ if ( source.hasOwnProperty(property) ) {
223
+
224
+ var sourceProperty = source[ property ];
225
+
226
+ if ( typeof sourceProperty === 'object' ) {
227
+ target[ property ] = util.merge( target[ property ], sourceProperty );
228
+ continue;
229
+ }
230
+
231
+ target[ property ] = sourceProperty;
232
+
233
+ }
234
+
235
+ }
236
+
237
+ for (var a = 2, l = arguments.length; a < l; a++) {
238
+ util.merge(target, arguments[a]);
239
+ }
240
+
241
+ return target;
242
+ },
243
+
244
+ count: function(arr, item) {
245
+ var count = 0;
246
+ for (var i = 0, l = arr.length; i< l; i++) {
247
+ if (arr[i] === item) {
248
+ count++;
249
+ }
250
+ }
251
+ return count;
252
+ },
253
+
254
+ thead: function(tbl) {
255
+ return tbl.getElementsByTagName('thead')[0];
256
+ },
257
+
258
+ forEach: function(arr, max, fn) {
259
+
260
+ if (!fn) {
261
+ fn = max;
262
+ }
263
+
264
+ /* Helper: iteration */
265
+ var len = arr.length,
266
+ index = -1;
267
+
268
+ while (++index < len) {
269
+ if(fn( arr[index], index, arr ) === false) {
270
+ break;
271
+ }
272
+ }
273
+
274
+ return true;
275
+ },
276
+
277
+ type: function(v){
278
+ try {
279
+ /* Returns type, e.g. "string", "number", "array" etc.
280
+ Note, this is only used for precise typing. */
281
+ if (v === null) { return 'null'; }
282
+ if (v === undefined) { return 'undefined'; }
283
+ var oType = Object.prototype.toString.call(v).match(/\s(.+?)\]/)[1].toLowerCase();
284
+ if (v.nodeType) {
285
+ if (v.nodeType === 1) {
286
+ return 'domelement';
287
+ }
288
+ return 'domnode';
289
+ }
290
+ if (/^(string|number|array|regexp|function|date|boolean)$/.test(oType)) {
291
+ return oType;
292
+ }
293
+ if (typeof v === 'object') {
294
+ return v.jquery && typeof v.jquery === 'string' ? 'jquery' : 'object';
295
+ }
296
+ if (v === window || v === document) {
297
+ return 'object';
298
+ }
299
+ return 'default';
300
+ } catch(e) {
301
+ return 'default';
302
+ }
303
+ },
304
+
305
+ within: function(ref) {
306
+ /* Check existence of a val within an object
307
+ RETURNS KEY */
308
+ return {
309
+ is: function(o) {
310
+ for (var i in ref) {
311
+ if (ref[i] === o) {
312
+ return i;
313
+ }
314
+ }
315
+ return '';
316
+ }
317
+ };
318
+ },
319
+
320
+ common: {
321
+ circRef: function(obj, key, settings) {
322
+ return util.expander(
323
+ '[POINTS BACK TO <strong>' + (key) + '</strong>]',
324
+ 'Click to show this item anyway',
325
+ function() {
326
+ this.parentNode.appendChild( prettyPrintThis(obj,{maxDepth:1}) );
327
+ }
328
+ );
329
+ },
330
+ depthReached: function(obj, settings) {
331
+ return util.expander(
332
+ '[DEPTH REACHED]',
333
+ 'Click to show this item anyway',
334
+ function() {
335
+ try {
336
+ this.parentNode.appendChild( prettyPrintThis(obj,{maxDepth:1}) );
337
+ } catch(e) {
338
+ this.parentNode.appendChild(
339
+ util.table(['ERROR OCCURED DURING OBJECT RETRIEVAL'],'error').addRow([e.message]).node
340
+ );
341
+ }
342
+ }
343
+ );
344
+ }
345
+ },
346
+
347
+ getStyles: function(el, type) {
348
+ type = prettyPrintThis.settings.styles[type] || {};
349
+ return util.merge(
350
+ {}, prettyPrintThis.settings.styles['default'][el], type[el]
351
+ );
352
+ },
353
+
354
+ expander: function(text, title, clickFn) {
355
+ return util.el('a', {
356
+ innerHTML: util.shorten(text) + ' <b style="visibility:hidden;">[+]</b>',
357
+ title: title,
358
+ onmouseover: function() {
359
+ this.getElementsByTagName('b')[0].style.visibility = 'visible';
360
+ },
361
+ onmouseout: function() {
362
+ this.getElementsByTagName('b')[0].style.visibility = 'hidden';
363
+ },
364
+ onclick: function() {
365
+ this.style.display = 'none';
366
+ clickFn.call(this);
367
+ return false;
368
+ },
369
+ style: {
370
+ cursor: 'pointer'
371
+ }
372
+ });
373
+ },
374
+
375
+ stringify: function(obj) {
376
+
377
+ /* Bit of an ugly duckling!
378
+ - This fn returns an ATTEMPT at converting an object/array/anyType
379
+ into a string, kinda like a JSON-deParser
380
+ - This is used for when |settings.expanded === false| */
381
+
382
+ var type = util.type(obj),
383
+ str, first = true;
384
+ if ( type === 'array' ) {
385
+ str = '[';
386
+ util.forEach(obj, function(item,i){
387
+ str += (i===0?'':', ') + util.stringify(item);
388
+ });
389
+ return str + ']';
390
+ }
391
+ if (typeof obj === 'object') {
392
+ str = '{';
393
+ for (var i in obj){
394
+ if (obj.hasOwnProperty(i)) {
395
+ str += (first?'':', ') + i + ':' + util.stringify(obj[i]);
396
+ first = false;
397
+ }
398
+ }
399
+ return str + '}';
400
+ }
401
+ if (type === 'regexp') {
402
+ return '/' + obj.source + '/';
403
+ }
404
+ if (type === 'string') {
405
+ return '"' + obj.replace(/"/g,'\\"') + '"';
406
+ }
407
+ return obj.toString();
408
+ },
409
+
410
+ headerGradient: (function(){
411
+
412
+ var canvas = document.createElement('canvas');
413
+ if (!canvas.getContext) { return ''; }
414
+ var cx = canvas.getContext('2d');
415
+ canvas.height = 30;
416
+ canvas.width = 1;
417
+
418
+ var linearGrad = cx.createLinearGradient(0,0,0,30);
419
+ linearGrad.addColorStop(0,'rgba(0,0,0,0)');
420
+ linearGrad.addColorStop(1,'rgba(0,0,0,0.25)');
421
+
422
+ cx.fillStyle = linearGrad;
423
+ cx.fillRect(0,0,1,30);
424
+
425
+ var dataURL = canvas.toDataURL && canvas.toDataURL();
426
+ return 'url(' + (dataURL || '') + ')';
427
+
428
+ })()
429
+
430
+ };
431
+
432
+ // Main..
433
+ var prettyPrintThis = function(obj, options) {
434
+
435
+ /*
436
+ * obj :: Object to be printed
437
+ * options :: Options (merged with config)
438
+ */
439
+
440
+ options = options || {};
441
+
442
+ var settings = util.merge( {}, prettyPrintThis.config, options ),
443
+ container = util.el('div'),
444
+ config = prettyPrintThis.config,
445
+ currentDepth = 0,
446
+ stack = {},
447
+ hasRunOnce = false;
448
+
449
+ /* Expose per-call settings.
450
+ Note: "config" is overwritten (where necessary) by options/"settings"
451
+ So, if you need to access/change *DEFAULT* settings then go via ".config" */
452
+ prettyPrintThis.settings = settings;
453
+
454
+ var typeDealer = {
455
+ string : function(item){
456
+ return util.txt('"' + util.shorten(item.replace(/"/g,'\\"')) + '"');
457
+ },
458
+ number : function(item) {
459
+ return util.txt(item);
460
+ },
461
+ regexp : function(item) {
462
+
463
+ var miniTable = util.table(['RegExp',null], 'regexp');
464
+ var flags = util.table();
465
+ var span = util.expander(
466
+ '/' + item.source + '/',
467
+ 'Click to show more',
468
+ function() {
469
+ this.parentNode.appendChild(miniTable.node);
470
+ }
471
+ );
472
+
473
+ flags
474
+ .addRow(['g', item.global])
475
+ .addRow(['i', item.ignoreCase])
476
+ .addRow(['m', item.multiline]);
477
+
478
+ miniTable
479
+ .addRow(['source', '/' + item.source + '/'])
480
+ .addRow(['flags', flags.node])
481
+ .addRow(['lastIndex', item.lastIndex]);
482
+
483
+ return settings.expanded ? miniTable.node : span;
484
+ },
485
+ domelement : function(element, depth) {
486
+
487
+ var miniTable = util.table(['DOMElement',null], 'domelement'),
488
+ props = ['id', 'className', 'innerHTML', 'src', 'href'], elname = element.nodeName || '';
489
+
490
+ miniTable.addRow(['tag', '&lt;' + elname.toLowerCase() + '&gt;']);
491
+
492
+ util.forEach(props, function(prop){
493
+ if ( element[prop] ) {
494
+ miniTable.addRow([ prop, util.htmlentities(element[prop]) ]);
495
+ }
496
+ });
497
+
498
+ return settings.expanded ? miniTable.node : util.expander(
499
+ 'DOMElement (' + elname.toLowerCase() + ')',
500
+ 'Click to show more',
501
+ function() {
502
+ this.parentNode.appendChild(miniTable.node);
503
+ }
504
+ );
505
+ },
506
+ domnode : function(node){
507
+
508
+ /* Deals with all DOMNodes that aren't elements (nodeType !== 1) */
509
+ var miniTable = util.table(['DOMNode',null], 'domelement'),
510
+ data = util.htmlentities( (node.data || 'UNDEFINED').replace(/\n/g,'\\n') );
511
+ miniTable
512
+ .addRow(['nodeType', node.nodeType + ' (' + node.nodeName + ')'])
513
+ .addRow(['data', data]);
514
+
515
+ return settings.expanded ? miniTable.node : util.expander(
516
+ 'DOMNode',
517
+ 'Click to show more',
518
+ function() {
519
+ this.parentNode.appendChild(miniTable.node);
520
+ }
521
+ );
522
+ },
523
+ jquery : function(obj, depth, key) {
524
+ return typeDealer['array'](obj, depth, key, true);
525
+ },
526
+ object : function(obj, depth, key) {
527
+
528
+ /* Checking depth + circular refs */
529
+ /* Note, check for circular refs before depth; just makes more sense */
530
+ var stackKey = util.within(stack).is(obj);
531
+ if ( stackKey ) {
532
+ return util.common.circRef(obj, stackKey, settings);
533
+ }
534
+ stack[key||'TOP'] = obj;
535
+ if (depth === settings.maxDepth) {
536
+ return util.common.depthReached(obj, settings);
537
+ }
538
+
539
+ var table = util.table(['Object', null],'object'),
540
+ isEmpty = true;
541
+
542
+ for (var i in obj) {
543
+ if (!obj.hasOwnProperty || obj.hasOwnProperty(i)) {
544
+ var item = obj[i],
545
+ type = util.type(item);
546
+ isEmpty = false;
547
+ try {
548
+ table.addRow([i, typeDealer[ type ](item, depth+1, i)], type);
549
+ } catch(e) {
550
+ /* Security errors are thrown on certain Window/DOM properties */
551
+ if (window.console && window.console.log) {
552
+ console.log(e.message);
553
+ }
554
+ }
555
+ }
556
+ }
557
+
558
+ if (isEmpty) {
559
+ table.addRow(['<small>[empty]</small>']);
560
+ } else {
561
+ table.thead.appendChild(
562
+ util.hRow(['key','value'], 'colHeader')
563
+ );
564
+ }
565
+
566
+ var ret = (settings.expanded || hasRunOnce) ? table.node : util.expander(
567
+ util.stringify(obj),
568
+ 'Click to show more',
569
+ function() {
570
+ this.parentNode.appendChild(table.node);
571
+ }
572
+ );
573
+
574
+ hasRunOnce = true;
575
+
576
+ return ret;
577
+
578
+ },
579
+ array : function(arr, depth, key, jquery) {
580
+
581
+ /* Checking depth + circular refs */
582
+ /* Note, check for circular refs before depth; just makes more sense */
583
+ var stackKey = util.within(stack).is(arr);
584
+ if ( stackKey ) {
585
+ return util.common.circRef(arr, stackKey);
586
+ }
587
+ stack[key||'TOP'] = arr;
588
+ if (depth === settings.maxDepth) {
589
+ return util.common.depthReached(arr);
590
+ }
591
+
592
+ /* Accepts a table and modifies it */
593
+ var me = jquery ? 'jQuery' : 'Array', table = util.table([me + '(' + arr.length + ')', null], jquery ? 'jquery' : me.toLowerCase()),
594
+ isEmpty = true,
595
+ count = 0;
596
+
597
+ if (jquery){
598
+ table.addRow(['selector',arr.selector]);
599
+ }
600
+
601
+ util.forEach(arr, function(item,i){
602
+ if (settings.maxArray >= 0 && ++count > settings.maxArray) {
603
+ table.addRow([
604
+ i + '..' + (arr.length-1),
605
+ typeDealer[ util.type(item) ]('...', depth+1, i)
606
+ ]);
607
+ return false;
608
+ }
609
+ isEmpty = false;
610
+ table.addRow([i, typeDealer[ util.type(item) ](item, depth+1, i)]);
611
+ });
612
+
613
+ if (!jquery){
614
+ if (isEmpty) {
615
+ table.addRow(['<small>[empty]</small>']);
616
+ } else {
617
+ table.thead.appendChild( util.hRow(['index','value'], 'colHeader') );
618
+ }
619
+ }
620
+
621
+ return settings.expanded ? table.node : util.expander(
622
+ util.stringify(arr),
623
+ 'Click to show more',
624
+ function() {
625
+ this.parentNode.appendChild(table.node);
626
+ }
627
+ );
628
+
629
+ },
630
+ 'function' : function(fn, depth, key) {
631
+
632
+ /* Checking JUST circular refs */
633
+ var stackKey = util.within(stack).is(fn);
634
+ if ( stackKey ) { return util.common.circRef(fn, stackKey); }
635
+ stack[key||'TOP'] = fn;
636
+
637
+ var miniTable = util.table(['Function',null], 'function'),
638
+ argsTable = util.table(['Arguments']),
639
+ args = fn.toString().match(/\((.+?)\)/),
640
+ body = fn.toString().match(/\(.*?\)\s+?\{?([\S\s]+)/)[1].replace(/\}?$/,'');
641
+
642
+ miniTable
643
+ .addRow(['arguments', args ? args[1].replace(/[^\w_,\s]/g,'') : '<small>[none/native]</small>'])
644
+ .addRow(['body', body]);
645
+
646
+ return settings.expanded ? miniTable.node : util.expander(
647
+ 'function(){...}',
648
+ 'Click to see more about this function.',
649
+ function(){
650
+ this.parentNode.appendChild(miniTable.node);
651
+ }
652
+ );
653
+ },
654
+ 'date' : function(date) {
655
+
656
+ var miniTable = util.table(['Date',null], 'date'),
657
+ sDate = date.toString().split(/\s/);
658
+
659
+ /* TODO: Make this work well in IE! */
660
+ miniTable
661
+ .addRow(['Time', sDate[4]])
662
+ .addRow(['Date', sDate.slice(0,4).join('-')]);
663
+
664
+ return settings.expanded ? miniTable.node : util.expander(
665
+ 'Date (timestamp): ' + (+date),
666
+ 'Click to see a little more info about this date',
667
+ function() {
668
+ this.parentNode.appendChild(miniTable.node);
669
+ }
670
+ );
671
+
672
+ },
673
+ 'boolean' : function(bool) {
674
+ return util.txt( bool.toString().toUpperCase() );
675
+ },
676
+ 'undefined' : function() {
677
+ return util.txt('UNDEFINED');
678
+ },
679
+ 'null' : function() {
680
+ return util.txt('NULL');
681
+ },
682
+ 'default' : function() {
683
+ /* When a type cannot be found */
684
+ return util.txt('prettyPrint: TypeNotFound Error');
685
+ }
686
+ };
687
+
688
+ container.appendChild( typeDealer[ (settings.forceObject) ? 'object' : util.type(obj) ](obj, currentDepth) );
689
+
690
+ return container;
691
+
692
+ };
693
+
694
+ /* Configuration */
695
+
696
+ /* All items can be overwridden by passing an
697
+ "options" object when calling prettyPrint */
698
+ prettyPrintThis.config = {
699
+
700
+ /* Try setting this to false to save space */
701
+ expanded: true,
702
+
703
+ forceObject: false,
704
+ maxDepth: 3,
705
+ maxArray: -1, // default is unlimited
706
+ styles: {
707
+ array: {
708
+ th: {
709
+ backgroundColor: '#6DBD2A',
710
+ color: 'white'
711
+ }
712
+ },
713
+ 'function': {
714
+ th: {
715
+ backgroundColor: '#D82525'
716
+ }
717
+ },
718
+ regexp: {
719
+ th: {
720
+ backgroundColor: '#E2F3FB',
721
+ color: '#000'
722
+ }
723
+ },
724
+ object: {
725
+ th: {
726
+ backgroundColor: '#1F96CF'
727
+ }
728
+ },
729
+ jquery : {
730
+ th: {
731
+ backgroundColor: '#FBF315'
732
+ }
733
+ },
734
+ error: {
735
+ th: {
736
+ backgroundColor: 'red',
737
+ color: 'yellow'
738
+ }
739
+ },
740
+ domelement: {
741
+ th: {
742
+ backgroundColor: '#F3801E'
743
+ }
744
+ },
745
+ date: {
746
+ th: {
747
+ backgroundColor: '#A725D8'
748
+ }
749
+ },
750
+ colHeader: {
751
+ th: {
752
+ backgroundColor: '#EEE',
753
+ color: '#000',
754
+ textTransform: 'uppercase'
755
+ }
756
+ },
757
+ 'default': {
758
+ table: {
759
+ borderCollapse: 'collapse',
760
+ width: '100%'
761
+ },
762
+ td: {
763
+ padding: '5px',
764
+ fontSize: '12px',
765
+ backgroundColor: '#FFF',
766
+ color: '#222',
767
+ border: '1px solid #000',
768
+ verticalAlign: 'top',
769
+ fontFamily: '"Consolas","Lucida Console",Courier,mono',
770
+ whiteSpace: 'nowrap'
771
+ },
772
+ td_hover: {
773
+ /* Styles defined here will apply to all tr:hover > td,
774
+ - Be aware that "inheritable" properties (e.g. fontWeight) WILL BE INHERITED */
775
+ },
776
+ th: {
777
+ padding: '5px',
778
+ fontSize: '12px',
779
+ backgroundColor: '#222',
780
+ color: '#EEE',
781
+ textAlign: 'left',
782
+ border: '1px solid #000',
783
+ verticalAlign: 'top',
784
+ fontFamily: '"Consolas","Lucida Console",Courier,mono',
785
+ backgroundImage: util.headerGradient,
786
+ backgroundRepeat: 'repeat-x'
787
+ }
788
+ }
789
+ }
790
+ };
791
+
792
+ return prettyPrintThis;
793
+
794
+ })();