bfg-common 1.3.11 → 1.3.13

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 (791) hide show
  1. package/.eslintrc.js +21 -21
  2. package/.idea/inspectionProfiles/Project_Default.xml +48 -48
  3. package/.idea/modules.xml +7 -7
  4. package/.idea/prettier.xml +5 -5
  5. package/.idea/uikit.iml +11 -11
  6. package/.idea/vcs.xml +5 -5
  7. package/.prettierrc +4 -4
  8. package/PROJECT_STRUCTURE.md +42 -42
  9. package/README.md +42 -42
  10. package/assets/img/icons/icon-hcs.svg +3 -3
  11. package/assets/img/icons/icon-life-m-dark.svg +3 -3
  12. package/assets/img/icons/icon-life-m-light.svg +3 -3
  13. package/assets/img/icons/icon-ro-dark.svg +1 -1
  14. package/assets/img/icons/icon-ro-light.svg +2 -2
  15. package/assets/img/icons/icons-sprite-dark-6.svg +1 -1
  16. package/assets/img/icons/icons-sprite-light-6.svg +1 -1
  17. package/assets/img/icons/info.svg +8 -8
  18. package/assets/img/icons/vc.svg +52 -52
  19. package/assets/img/logo copy.svg +50 -50
  20. package/assets/img/logo.svg +51 -51
  21. package/assets/localization/local_be.json +2168 -2168
  22. package/assets/localization/local_en.json +2171 -2171
  23. package/assets/localization/local_hy.json +2172 -2172
  24. package/assets/localization/local_kk.json +2171 -2171
  25. package/assets/localization/local_ru.json +2171 -2171
  26. package/assets/localization/local_zh.json +2171 -2171
  27. package/assets/scss/clarity/clr-ui.min.css +8 -8
  28. package/assets/scss/common/animations.scss +28 -28
  29. package/assets/scss/common/global.scss +189 -189
  30. package/assets/scss/common/icons/icons-1.scss +236 -236
  31. package/assets/scss/common/icons/icons-3.scss +203 -203
  32. package/assets/scss/common/icons/icons-4.scss +185 -185
  33. package/assets/scss/common/icons/icons-5.scss +59 -59
  34. package/assets/scss/common/icons/icons-6.scss +29 -29
  35. package/assets/scss/common/icons/icons.scss +15 -16
  36. package/assets/scss/common/mixins.scss +39 -39
  37. package/assets/scss/common/normalize.scss +320 -320
  38. package/assets/scss/common/theme.scss +232 -232
  39. package/assets/scss/common/utilities.scss +20 -20
  40. package/assets/scss/common/variables.scss +43 -43
  41. package/assets/scss/main.scss +13 -13
  42. package/components/atoms/DiagramIcon.vue +356 -356
  43. package/components/atoms/TheIcon.vue +1687 -1687
  44. package/components/atoms/TheIcon2.vue +1136 -1136
  45. package/components/atoms/alert/Alert.vue +84 -84
  46. package/components/atoms/alert/Notification.vue +167 -167
  47. package/components/atoms/alert/lib/Alert.spec.ts +38 -38
  48. package/components/atoms/alert/lib/Notification.spec.ts +34 -34
  49. package/components/atoms/alert/lib/models/enums.ts +12 -12
  50. package/components/atoms/alert/lib/models/interfaces.ts +27 -27
  51. package/components/atoms/alert/lib/models/types.ts +7 -7
  52. package/components/atoms/autocomplete/Autocomplete.vue +236 -236
  53. package/components/atoms/collapse/CollapseNav.vue +164 -164
  54. package/components/atoms/collapse/CollapseNavItem.vue +190 -190
  55. package/components/atoms/collapse/lib/models/interfaces.ts +10 -10
  56. package/components/atoms/combobox/Combobox.vue +147 -147
  57. package/components/atoms/datepicker/Datepicker.vue +612 -612
  58. package/components/atoms/datepicker/lib/config/allShortMonths.ts +103 -103
  59. package/components/atoms/datepicker/lib/config/datapicker.ts +43 -43
  60. package/components/atoms/datepicker/lib/models/interfaces.ts +8 -8
  61. package/components/atoms/dropdown/Portlet.vue +111 -111
  62. package/components/atoms/dropdown/dropdown/Dropdown.vue +148 -148
  63. package/components/atoms/dropdown/dropdown/lib/models/interfaces.ts +8 -8
  64. package/components/atoms/dropdown/lib/Portlet.spec.ts +26 -26
  65. package/components/atoms/dropdown/tree/Tree.vue +134 -134
  66. package/components/atoms/dropdown/tree/lib/models/interfaces.ts +9 -9
  67. package/components/atoms/input/Search.vue +16 -16
  68. package/components/atoms/lib/models/interfaces.ts +12 -12
  69. package/components/atoms/list/SelectList.vue +62 -62
  70. package/components/atoms/list/SimpleList.vue +29 -29
  71. package/components/atoms/list/dragDropList/DragDropList.vue +139 -139
  72. package/components/atoms/list/dragDropList/lib/config/events.ts +4 -4
  73. package/components/atoms/loader/BarLoader.vue +27 -27
  74. package/components/atoms/loader/Loader.vue +26 -26
  75. package/components/atoms/loader/PreLoader.vue +35 -35
  76. package/components/atoms/loader/lib/Preloader.spec.ts +24 -24
  77. package/components/atoms/modal/Modal.vue +244 -244
  78. package/components/atoms/modal/bySteps/BySteps.vue +247 -247
  79. package/components/atoms/modal/bySteps/lib/BySteps.spec.ts +66 -66
  80. package/components/atoms/modal/byStepsSecond/ByStepsSecond.vue +175 -175
  81. package/components/atoms/modal/lib/Modal.spec.ts +55 -55
  82. package/components/atoms/nav/NavBar.vue +140 -140
  83. package/components/atoms/nav/VerticalNavBar.vue +89 -89
  84. package/components/atoms/nav/lib/NavBar.spec.ts +34 -34
  85. package/components/atoms/nav/lib/models/interfaces.ts +5 -5
  86. package/components/atoms/notificationBar/NotificationBar.vue +170 -170
  87. package/components/atoms/notificationBar/lib/models/enums.ts +13 -13
  88. package/components/atoms/notificationBar/lib/models/interfaces.ts +6 -6
  89. package/components/atoms/notificationBar/lib/models/types.ts +1 -1
  90. package/components/atoms/perPage/PerPage.vue +52 -52
  91. package/components/atoms/popover/Popover.vue +61 -61
  92. package/components/atoms/popup/SimplePopup.vue +90 -90
  93. package/components/atoms/select/TheSelect.vue +175 -175
  94. package/components/atoms/select/lib/models/interfaces.ts +4 -4
  95. package/components/atoms/stack/StackBlock.vue +179 -179
  96. package/components/atoms/stack/StackContent.vue +63 -63
  97. package/components/atoms/step/VerticalStep.vue +104 -104
  98. package/components/atoms/step/lib/VerticalStep.spec.ts +68 -68
  99. package/components/atoms/step/lib/models/verticalStepItem.ts +7 -7
  100. package/components/atoms/table/compact/Compact.vue +526 -526
  101. package/components/atoms/table/compact/lib/models/interfaces.ts +10 -10
  102. package/components/atoms/table/dataGrid/DataGrid.vue +1522 -1522
  103. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +206 -206
  104. package/components/atoms/table/dataGrid/DataGridPage.vue +191 -191
  105. package/components/atoms/table/dataGrid/DataGridPagination.vue +89 -89
  106. package/components/atoms/table/dataGrid/lib/DataGrid.spec.ts +61 -61
  107. package/components/atoms/table/dataGrid/lib/config/itemsPerPage.ts +20 -20
  108. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +28 -28
  109. package/components/atoms/table/dataGrid/lib/models/interfaces.ts +25 -25
  110. package/components/atoms/table/dataGrid/lib/models/types.ts +5 -5
  111. package/components/atoms/table/dataGrid/lib/utils/constructDataTable.ts +32 -32
  112. package/components/atoms/table/info/Info.vue +60 -60
  113. package/components/atoms/table/info/lib/models/interfaces.ts +9 -9
  114. package/components/atoms/table/simpleEvent/SimpleEvent.vue +98 -98
  115. package/components/atoms/table/simpleEvent/lib/models/interfaces.ts +9 -9
  116. package/components/atoms/table/simpleInfo/SimpleInfo.vue +68 -68
  117. package/components/atoms/table/simpleInfo/lib/models/interfaces.ts +4 -4
  118. package/components/atoms/table/simpleTable/SimpleTable.vue +296 -296
  119. package/components/atoms/table/simpleTable/lib/models/interfaces.ts +10 -10
  120. package/components/atoms/tabs/Tabs.vue +215 -215
  121. package/components/atoms/tabs/VerticalTabs.vue +87 -87
  122. package/components/atoms/tabs/lib/models/interfaces.ts +4 -4
  123. package/components/atoms/tabs/lib/models/types.ts +1 -1
  124. package/components/atoms/tooltip/Signpost.vue +225 -225
  125. package/components/atoms/tooltip/Text.vue +37 -37
  126. package/components/atoms/tooltip/Tooltip.vue +57 -57
  127. package/components/atoms/tooltip/TooltipError.vue +113 -113
  128. package/components/atoms/tooltip/lib/models/interfaces.ts +4 -4
  129. package/components/atoms/wizard/Wizard.vue +443 -443
  130. package/components/atoms/wizard/lib/models/enums.ts +8 -8
  131. package/components/atoms/wizard/lib/models/interfaces.ts +48 -48
  132. package/components/atoms/wizard/lib/utils/utils.ts +568 -568
  133. package/components/atoms/wizard/step/Step.vue +112 -112
  134. package/components/common/BadBrowser.vue +114 -114
  135. package/components/common/accordion/Accordion.vue +176 -176
  136. package/components/common/accordion/Recursion.vue +216 -216
  137. package/components/common/accordion/lib/models/enums.ts +5 -5
  138. package/components/common/accordion/lib/models/interfaces.ts +15 -15
  139. package/components/common/accordion/lib/models/types.ts +1 -1
  140. package/components/common/accordion/lib/utils/accordion.ts +31 -31
  141. package/components/common/adapterManager/AdapterManager.vue +715 -715
  142. package/components/common/adapterManager/AddAdapterModal.vue +555 -555
  143. package/components/common/adapterManager/AddAdapterWarningModal.vue +82 -82
  144. package/components/common/adapterManager/NoActiveAdaptersModal.vue +62 -62
  145. package/components/common/adapterManager/NoConnectedActiveAdaptersModal.vue +62 -62
  146. package/components/common/adapterManager/lib/config/index.ts +19 -19
  147. package/components/common/adapterManager/ui/NoSelectedAdapter.vue +39 -39
  148. package/components/common/adapterManager/ui/SecondTitle.vue +37 -37
  149. package/components/common/adapterManager/ui/actions/ActionsBar.vue +93 -93
  150. package/components/common/adapterManager/ui/actions/AddAdapterButton.vue +28 -28
  151. package/components/common/adapterManager/ui/actions/MoveDownAdapterButton.vue +33 -33
  152. package/components/common/adapterManager/ui/actions/MoveUpAdapterButton.vue +33 -33
  153. package/components/common/adapterManager/ui/actions/RemoveAdapterButton.vue +34 -34
  154. package/components/common/adapterManager/ui/actions/VerticalSeparator.vue +10 -10
  155. package/components/common/adapterManager/ui/table/Adapters.vue +91 -91
  156. package/components/common/adapterManager/ui/table/Header.vue +89 -89
  157. package/components/common/adapterManager/ui/table/Table.vue +167 -167
  158. package/components/common/browse/Browse.vue +182 -182
  159. package/components/common/browse/blocks/Container.vue +102 -102
  160. package/components/common/browse/blocks/contents/Files.vue +68 -68
  161. package/components/common/browse/blocks/info/Date.vue +21 -21
  162. package/components/common/browse/blocks/info/Size.vue +17 -17
  163. package/components/common/browse/blocks/info/Text.vue +16 -16
  164. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  165. package/components/common/browse/lib/models/interfaces.ts +5 -5
  166. package/components/common/context/Context.vue +97 -97
  167. package/components/common/context/ContextRecursion.vue +251 -251
  168. package/components/common/context/lib/Context.spec.ts +20 -20
  169. package/components/common/context/lib/ContextRecursion.spec.ts +55 -55
  170. package/components/common/context/lib/models/interfaces.ts +26 -26
  171. package/components/common/details/DetailsItem.vue +106 -106
  172. package/components/common/details/DetailsList.vue +23 -23
  173. package/components/common/details/lib/models/interfaces.ts +9 -9
  174. package/components/common/diagramMain/Diagram.vue +192 -192
  175. package/components/common/diagramMain/DiagramMain.vue +954 -954
  176. package/components/common/diagramMain/Header.vue +190 -190
  177. package/components/common/diagramMain/Highlights.vue +124 -124
  178. package/components/common/diagramMain/adapter/Adapter.vue +114 -114
  179. package/components/common/diagramMain/adapter/AdapterItem.vue +246 -246
  180. package/components/common/diagramMain/adapter/AdapterItems.vue +59 -59
  181. package/components/common/diagramMain/adapter/Block.vue +48 -48
  182. package/components/common/diagramMain/adapter/Contents.vue +110 -110
  183. package/components/common/diagramMain/adapter/Lines.vue +58 -58
  184. package/components/common/diagramMain/adapter/SecondBlock.vue +49 -49
  185. package/components/common/diagramMain/lib/config/index.ts +51 -51
  186. package/components/common/diagramMain/lib/config/initial.ts +38 -38
  187. package/components/common/diagramMain/lib/models/enums.ts +26 -26
  188. package/components/common/diagramMain/lib/models/interfaces.ts +564 -564
  189. package/components/common/diagramMain/lib/models/types.ts +8 -8
  190. package/components/common/diagramMain/lib/utils/utils.ts +218 -218
  191. package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +236 -236
  192. package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +41 -41
  193. package/components/common/diagramMain/modals/editSettings/EditSettings.vue +491 -491
  194. package/components/common/diagramMain/modals/editSettings/EditSettingsModal.vue +825 -825
  195. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +211 -211
  196. package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +183 -183
  197. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +161 -161
  198. package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +166 -166
  199. package/components/common/diagramMain/modals/editSettings/tabs/TrafficShaping.vue +393 -393
  200. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +339 -339
  201. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +202 -202
  202. package/components/common/diagramMain/modals/lib/config/adapterModal.ts +111 -111
  203. package/components/common/diagramMain/modals/lib/config/diagramConfig.ts +17 -17
  204. package/components/common/diagramMain/modals/lib/config/index.ts +51 -51
  205. package/components/common/diagramMain/modals/lib/config/initial.ts +181 -181
  206. package/components/common/diagramMain/modals/lib/config/networkModal.ts +343 -343
  207. package/components/common/diagramMain/modals/lib/config/portModal.ts +209 -209
  208. package/components/common/diagramMain/modals/lib/config/switchModal.ts +172 -172
  209. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +34 -34
  210. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
  211. package/components/common/diagramMain/modals/lib/utils/index.ts +9 -9
  212. package/components/common/diagramMain/modals/migrateVmkernelAdapter/MigrateVmkernelAdapter.vue +531 -531
  213. package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
  214. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +161 -161
  215. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +158 -158
  216. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/VmkernelAdapterReadyComplete.vue +49 -49
  217. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +14 -14
  218. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +141 -141
  219. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
  220. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
  221. package/components/common/diagramMain/modals/remove/RemoveModal.vue +226 -226
  222. package/components/common/diagramMain/modals/viewSettings/Info.vue +123 -123
  223. package/components/common/diagramMain/modals/viewSettings/ViewSettings.vue +171 -171
  224. package/components/common/diagramMain/modals/viewSettings/ViewSettingsModal.vue +93 -93
  225. package/components/common/diagramMain/network/Block.vue +62 -62
  226. package/components/common/diagramMain/network/Contents.vue +253 -253
  227. package/components/common/diagramMain/network/Lines.vue +71 -71
  228. package/components/common/diagramMain/network/Network.vue +124 -124
  229. package/components/common/diagramMain/network/NoNetwork.vue +53 -53
  230. package/components/common/diagramMain/network/SecondBlock.vue +58 -58
  231. package/components/common/diagramMain/port/Port.vue +320 -320
  232. package/components/common/diagramMain/port/Ports.vue +41 -41
  233. package/components/common/diagramMain/switch/Switch.vue +82 -82
  234. package/components/common/diagramMain/switch/SwitchSelected.vue +35 -35
  235. package/components/common/feedback/Buttons.vue +227 -227
  236. package/components/common/feedback/Feedback.vue +261 -261
  237. package/components/common/feedback/Message.vue +509 -509
  238. package/components/common/feedback/VisitPortal.vue +53 -53
  239. package/components/common/feedback/lib/config/drawingPanel.ts +31 -31
  240. package/components/common/feedback/lib/config/feedbackTabs.ts +24 -24
  241. package/components/common/feedback/lib/models/interfaces.ts +19 -19
  242. package/components/common/feedback/lib/models/types.ts +1 -1
  243. package/components/common/graph/Graph.vue +109 -109
  244. package/components/common/graph/lib/utils/renderGraph.ts +389 -389
  245. package/components/common/headline/Headline.vue +32 -32
  246. package/components/common/help/navbar/left/Left.vue +164 -164
  247. package/components/common/help/navbar/left/lib/models/interfaces.ts +6 -6
  248. package/components/common/help/navbar/left/lib/utils/constructAccordion.ts +27 -27
  249. package/components/common/help/navbar/right/Right.vue +139 -139
  250. package/components/common/help/navbar/right/lib/models/interfaces.ts +4 -4
  251. package/components/common/home/Card.vue +63 -63
  252. package/components/common/home/ResourceBlock.vue +117 -117
  253. package/components/common/home/StatusContent.vue +47 -47
  254. package/components/common/home/alertsTable/AlertsTable.vue +105 -105
  255. package/components/common/home/alertsTable/lib/config/config.ts +61 -61
  256. package/components/common/home/alertsTable/lib/models/enums.ts +11 -11
  257. package/components/common/home/alertsTable/lib/models/interfaces.ts +19 -19
  258. package/components/common/home/alertsTable/lib/models/types.ts +18 -18
  259. package/components/common/home/lib/config/configResourceMeterBlock.ts +25 -25
  260. package/components/common/home/lib/models/interfaces.ts +59 -59
  261. package/components/common/home/lib/models/types.ts +18 -18
  262. package/components/common/home/servicesTable/ServicesTable.vue +79 -79
  263. package/components/common/home/servicesTable/lib/config/config.ts +62 -62
  264. package/components/common/lib/config/states.ts +81 -81
  265. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +359 -359
  266. package/components/common/mainNavigationPanel/lib/models/interfaces.ts +6 -6
  267. package/components/common/mainNavigationPanel/lib/models/types.ts +1 -1
  268. package/components/common/modals/Confirmation.vue +97 -97
  269. package/components/common/modals/Rename.vue +165 -165
  270. package/components/common/modals/lib/config/defaultForm.ts +18 -18
  271. package/components/common/modals/lib/config/renameLabelWidth.ts +3 -3
  272. package/components/common/modals/lib/models/interfaces.ts +5 -5
  273. package/components/common/monitor/advanced/Advanced.vue +243 -243
  274. package/components/common/monitor/advanced/GraphView.vue +180 -180
  275. package/components/common/monitor/advanced/lib/models/interfaces.ts +8 -8
  276. package/components/common/monitor/advanced/lib/models/types.ts +1 -1
  277. package/components/common/monitor/advanced/table/Table.vue +90 -90
  278. package/components/common/monitor/advanced/table/lib/config/performanceDatatable.ts +116 -116
  279. package/components/common/monitor/advanced/table/lib/models/interfaces.ts +12 -12
  280. package/components/common/monitor/advanced/table/lib/models/types.ts +10 -10
  281. package/components/common/monitor/advanced/tools/Tools.vue +436 -436
  282. package/components/common/monitor/advanced/tools/chartOptionsModal/ChartOptionsModal.vue +502 -502
  283. package/components/common/monitor/advanced/tools/chartOptionsModal/Notification.vue +33 -33
  284. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/Actions.vue +150 -150
  285. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/lib/utils/optionsActions.ts +25 -25
  286. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/saveOptionsModal/SaveOptionsModal.vue +76 -76
  287. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/Counters.vue +104 -104
  288. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/Table.vue +136 -136
  289. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/tableConfig.ts +71 -71
  290. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/utils.ts +689 -689
  291. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/models/interfaces.ts +28 -28
  292. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/models/types.ts +5 -5
  293. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/Timespan.vue +83 -83
  294. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/Form.vue +501 -501
  295. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/lib/config/dateForm.ts +59 -59
  296. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/Object.vue +197 -197
  297. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/lib/config/objectTable.ts +54 -54
  298. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/lib/models/interfaces.ts +4 -4
  299. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/lib/models/types.ts +1 -1
  300. package/components/common/monitor/advanced/tools/chartOptionsModal/lib/models/interfaces.ts +19 -19
  301. package/components/common/monitor/advanced/tools/chartOptionsModal/lib/models/types.ts +3 -3
  302. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/Metrics.vue +42 -42
  303. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/lib/config/optionsMetrics.ts +116 -116
  304. package/components/common/monitor/advanced/tools/lib/config/advancedToolbar.ts +125 -125
  305. package/components/common/monitor/advanced/tools/lib/models/interfaces.ts +4 -4
  306. package/components/common/monitor/advanced/tools/lib/utils/countCores.ts +7 -7
  307. package/components/common/monitor/lib/config/getValidDateByOption.ts +76 -76
  308. package/components/common/monitor/lib/models/interfaces.ts +23 -23
  309. package/components/common/monitor/overview/Overview.vue +470 -470
  310. package/components/common/monitor/overview/filters/Filters.vue +221 -221
  311. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +241 -241
  312. package/components/common/monitor/overview/filters/customIntervalModal/lib/config/dateChecker.ts +37 -37
  313. package/components/common/monitor/overview/filters/lib/config/filterOptions.ts +81 -81
  314. package/components/common/monitor/overview/filters/lib/models/interfaces.ts +7 -7
  315. package/components/common/monitor/overview/filters/lib/models/types.ts +3 -3
  316. package/components/common/perPage/PerPage.vue +51 -51
  317. package/components/common/recursionTree/RecursionTree.vue +201 -201
  318. package/components/common/recursionTree/lib/models/interfaces.ts +19 -19
  319. package/components/common/resource/lib/models/interfaces.ts +9 -9
  320. package/components/common/resource/lib/models/types.ts +1 -1
  321. package/components/common/resource/lib/utils.ts +33 -33
  322. package/components/common/resource/progressBlock/ProgressBlock.vue +105 -105
  323. package/components/common/resource/simple/Simple.vue +58 -58
  324. package/components/common/resource/simple/lib/models/enums.ts +5 -5
  325. package/components/common/select/button/ButtonDropdown.vue +100 -100
  326. package/components/common/select/button/lib/models/interfaces.ts +6 -6
  327. package/components/common/select/input/Input.vue +90 -90
  328. package/components/common/select/input/lib/models/interfaces.ts +5 -5
  329. package/components/common/select/radio/RadioGroup.vue +108 -108
  330. package/components/common/select/radio/lib/models/interfaces.ts +8 -8
  331. package/components/common/shortcuts/Block.vue +83 -83
  332. package/components/common/shortcuts/Category.vue +40 -40
  333. package/components/common/shortcuts/Shortcuts.vue +44 -44
  334. package/components/common/shortcuts/lib/models/interfaces.ts +10 -10
  335. package/components/common/spiceConsole/Drawer.vue +241 -241
  336. package/components/common/spiceConsole/SpiceConsole.vue +83 -83
  337. package/components/common/spiceConsole/keyboard/Keyboard.vue +402 -402
  338. package/components/common/spiceConsole/keyboard/lib/config/keyboardRows.ts +891 -891
  339. package/components/common/spiceConsole/keyboard/lib/models/interfaces.ts +17 -17
  340. package/components/common/spiceConsole/lib/models/types.ts +1 -1
  341. package/components/common/split/horizontal/Horizontal.vue +306 -306
  342. package/components/common/split/horizontal/lib/models/interfaces.ts +5 -5
  343. package/components/common/split/vertical/Vertical.vue +213 -213
  344. package/components/common/split/vertical/lib/models/interfaces.ts +3 -3
  345. package/components/common/tools/Actions.vue +167 -167
  346. package/components/common/tools/lib/models/interfaces.ts +6 -6
  347. package/components/common/tools/viewSettings/ViewSettings.vue +86 -86
  348. package/components/common/tools/viewSettings/lib/models/interfaces.ts +9 -9
  349. package/components/common/vm/actions/add/Add.vue +579 -579
  350. package/components/common/vm/actions/add/FolderTreeView.vue +83 -83
  351. package/components/common/vm/actions/add/lib/config/steps.ts +130 -130
  352. package/components/common/vm/actions/add/lib/utils.ts +102 -102
  353. package/components/common/vm/actions/clone/Clone.vue +545 -545
  354. package/components/common/vm/actions/clone/lib/models/interfaces.ts +7 -7
  355. package/components/common/vm/actions/clone/lib/utils.ts +43 -43
  356. package/components/common/vm/actions/clone/select/options/Options.vue +65 -65
  357. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +269 -269
  358. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +267 -267
  359. package/components/common/vm/actions/common/customizeHardware/lib/config/navItems.ts +19 -19
  360. package/components/common/vm/actions/common/customizeHardware/lib/models/interfaces.ts +7 -7
  361. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +681 -681
  362. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +203 -203
  363. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/lib/models/interfaces.ts +8 -8
  364. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +130 -130
  365. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/lib/config/options.ts +20 -20
  366. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +247 -247
  367. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/lib/config/fileTypes.ts +9 -9
  368. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/lib/config/options.ts +11 -11
  369. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/lib/models/types.ts +1 -1
  370. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +55 -55
  371. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CoresPerSocket.vue +109 -109
  372. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +394 -394
  373. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuHotPlug.vue +49 -49
  374. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuModel.vue +220 -220
  375. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Hv.vue +93 -93
  376. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Iommu.vue +54 -54
  377. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/MaxCpu.vue +105 -105
  378. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Pc.vue +54 -54
  379. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Sa.vue +104 -104
  380. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/lib/config/cpuOptions.ts +19 -19
  381. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +155 -155
  382. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  383. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/tooltip/Tooltip.vue +58 -58
  384. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/config/binaryOptions.ts +12 -12
  385. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/config/dropdownItems.ts +52 -52
  386. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces.ts +125 -125
  387. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/types.ts +4 -4
  388. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +234 -234
  389. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/lib/config/options.ts +28 -28
  390. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +316 -316
  391. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryHotPlug.vue +53 -53
  392. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/lib/config/memoryOptions.ts +35 -35
  393. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/DiskFile.vue +24 -24
  394. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/Location.vue +171 -171
  395. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/MaximumSize.vue +27 -27
  396. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +447 -447
  397. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/cache/Cache.vue +80 -80
  398. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/cache/lib/config/options.ts +7 -7
  399. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/limitIops/LimitIops.vue +151 -151
  400. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/limitIops/lib/config/options.ts +28 -28
  401. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/Mode.vue +87 -87
  402. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/lib/config/options.ts +18 -18
  403. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/Provisioning.vue +87 -87
  404. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/lib/config/options.ts +15 -15
  405. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/Sharing.vue +85 -85
  406. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/lib/config/options.ts +12 -12
  407. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/Location.vue +141 -141
  408. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +288 -288
  409. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/adapterType/AdapterType.vue +86 -86
  410. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/adapterType/lib/config/options.ts +9 -9
  411. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +140 -140
  412. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/lib/config/options.ts +11 -11
  413. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +157 -157
  414. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIo.vue +44 -44
  415. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +49 -49
  416. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/lib/config/options.ts +10 -10
  417. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/lib/config/options.ts +7 -7
  418. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +27 -27
  419. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -41
  420. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelection.vue +56 -56
  421. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +77 -77
  422. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/lib/config/options.ts +6 -6
  423. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/InputDevices.vue +21 -21
  424. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +27 -27
  425. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/Reservation.vue +235 -235
  426. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/lib/config/options.ts +33 -33
  427. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/Graphics.vue +45 -45
  428. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/TotalVideoMemory.vue +120 -120
  429. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +177 -177
  430. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/lib/config/options.ts +11 -11
  431. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/Model.vue +57 -57
  432. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/lib/config/options.ts +10 -10
  433. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +82 -82
  434. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/lib/config/options.ts +14 -14
  435. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +181 -181
  436. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptions.vue +110 -110
  437. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/Menu.vue +45 -45
  438. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/Secure.vue +45 -45
  439. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +50 -50
  440. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/lib/config/config.ts +14 -14
  441. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +83 -83
  442. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/lib/config/config.ts +11 -11
  443. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +197 -197
  444. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/lib/models/interfaces.ts +8 -8
  445. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +181 -181
  446. package/components/common/vm/actions/common/customizeHardware/vmoptions/lib/models/interfaces.ts +34 -34
  447. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/CopyPaste.vue +51 -51
  448. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/FileTransfer.vue +51 -51
  449. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/FolderSharing.vue +50 -50
  450. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/PlaybackCompression.vue +51 -51
  451. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/PowerControl.vue +49 -49
  452. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +253 -253
  453. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/ImgCompression.vue +84 -84
  454. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/lib/config/config.ts +14 -14
  455. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/JpegCompression.vue +84 -84
  456. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/lib/config/config.ts +12 -12
  457. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +55 -55
  458. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/lib/config/config.ts +6 -6
  459. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/MouseMode.vue +52 -52
  460. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/lib/config/config.ts +11 -11
  461. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +136 -136
  462. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/lib/models/interfaces.ts +5 -5
  463. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/lib/utils.ts +12 -12
  464. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/SharePolicy.vue +52 -52
  465. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/lib/config/config.ts +11 -11
  466. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/StreamingMode.vue +84 -84
  467. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/lib/config/config.ts +12 -12
  468. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/type/Type.vue +84 -84
  469. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/type/lib/config/config.ts +7 -7
  470. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +56 -56
  471. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/lib/config/config.ts +14 -14
  472. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/ZlibCompression.vue +84 -84
  473. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/lib/config/config.ts +12 -12
  474. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/Tools.vue +63 -63
  475. package/components/common/vm/actions/common/lib/config/capabilities.ts +339 -339
  476. package/components/common/vm/actions/common/lib/models/enums.ts +89 -89
  477. package/components/common/vm/actions/common/lib/models/interfaces.ts +139 -139
  478. package/components/common/vm/actions/common/lib/models/types.ts +65 -65
  479. package/components/common/vm/actions/common/readyToComplete/ReadyToComplete.vue +15 -15
  480. package/components/common/vm/actions/common/select/compatibility/Compatibility.vue +151 -151
  481. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +170 -170
  482. package/components/common/vm/actions/common/select/computeResource/TreeView.vue +126 -126
  483. package/components/common/vm/actions/common/select/computeResource/lib/ComputeResource.spec.ts +479 -479
  484. package/components/common/vm/actions/common/select/createType/CreateType.vue +61 -61
  485. package/components/common/vm/actions/common/select/createType/lib/config/items.ts +26 -26
  486. package/components/common/vm/actions/common/select/lib/models/interfaces.ts +32 -32
  487. package/components/common/vm/actions/common/select/lib/models/types.ts +46 -46
  488. package/components/common/vm/actions/common/select/name/Name.vue +220 -220
  489. package/components/common/vm/actions/common/select/os/os.vue +221 -221
  490. package/components/common/vm/actions/common/select/storage/Storage.vue +196 -196
  491. package/components/common/vm/actions/common/select/storage/lib/config/config.ts +154 -154
  492. package/components/common/vm/actions/common/select/storage/lib/models/types.ts +15 -15
  493. package/components/common/vm/actions/editSettings/EditSettings.vue +316 -316
  494. package/components/common/vm/actions/editSettings/lib/models/types.ts +23 -23
  495. package/components/common/vm/actions/editSettings/lib/utils.ts +45 -45
  496. package/components/common/vm/actions/lib/models/interfaces.ts +6 -6
  497. package/components/common/vm/actions/lib/models/types.ts +11 -11
  498. package/components/common/vm/actions/lib/utils.ts +244 -244
  499. package/components/common/vm/lib/models/interfaces.ts +9 -9
  500. package/components/common/vm/lib/utils/powerActions.ts +55 -55
  501. package/components/common/wizards/datastore/add/Add.vue +383 -383
  502. package/components/common/wizards/datastore/add/lib/config/stepItems.ts +160 -160
  503. package/components/common/wizards/datastore/add/lib/models/interfaces.ts +35 -35
  504. package/components/common/wizards/datastore/add/lib/models/types.ts +14 -14
  505. package/components/common/wizards/datastore/add/lib/utils.ts +67 -67
  506. package/components/common/wizards/datastore/add/local/Local.vue +67 -67
  507. package/components/common/wizards/datastore/add/local/createName/CreateName.vue +159 -159
  508. package/components/common/wizards/datastore/add/local/createName/lib/config/defaultForm.ts +15 -15
  509. package/components/common/wizards/datastore/add/nfs/Nfs.vue +94 -94
  510. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +95 -95
  511. package/components/common/wizards/datastore/add/nfs/accessibility/lib/config/tabsPannel.ts +24 -24
  512. package/components/common/wizards/datastore/add/nfs/accessibility/lib/models/interfaces.ts +9 -9
  513. package/components/common/wizards/datastore/add/nfs/accessibility/lib/models/types.ts +5 -5
  514. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/TablesView.vue +141 -141
  515. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/compatibleTable.ts +54 -54
  516. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/hostsTableItems.ts +75 -75
  517. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/incompatibleTable.ts +68 -68
  518. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/tableKeys.ts +15 -15
  519. package/components/common/wizards/datastore/add/nfs/configuration/Configuration.vue +377 -377
  520. package/components/common/wizards/datastore/add/nfs/configuration/lib/config/defaultForm.ts +33 -33
  521. package/components/common/wizards/datastore/add/nfs/configuration/lib/models/interfaces.ts +12 -12
  522. package/components/common/wizards/datastore/add/nfs/configuration/serversList/DeletePopover.vue +97 -97
  523. package/components/common/wizards/datastore/add/nfs/configuration/serversList/ServersList.vue +123 -123
  524. package/components/common/wizards/datastore/add/nfs/configuration/serversList/lib/config/serversListConfig.ts +41 -41
  525. package/components/common/wizards/datastore/add/nfs/configuration/serversList/lib/config/tableKeys.ts +3 -3
  526. package/components/common/wizards/datastore/add/nfs/configuration/serversList/lib/models/interfaces.ts +11 -11
  527. package/components/common/wizards/datastore/add/nfs/configuration/serversList/lib/models/types.ts +1 -1
  528. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/KerberosAuthentication.vue +54 -54
  529. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/lib/config/radioOptions.ts +24 -24
  530. package/components/common/wizards/datastore/add/nfs/version/Version.vue +42 -42
  531. package/components/common/wizards/datastore/add/nfs/version/lib/config/versionOptions.ts +20 -20
  532. package/components/common/wizards/datastore/add/readyComplete/ReadyComplete.vue +78 -78
  533. package/components/common/wizards/datastore/add/readyComplete/lib/config/propertiesDetails.ts +165 -165
  534. package/components/common/wizards/datastore/add/readyComplete/lib/models/interfaces.ts +4 -4
  535. package/components/common/wizards/datastore/add/sharedStorm/SharedStorm.vue +85 -85
  536. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/DeviceSelection.vue +447 -447
  537. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/HostTable.vue +131 -131
  538. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/lib/config/hostsTable.ts +87 -87
  539. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/lib/config/tableKeys.ts +11 -11
  540. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/config/defaultForm.ts +18 -18
  541. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/config/selectOptions.ts +14 -14
  542. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/models/interfaces.ts +55 -55
  543. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/models/types.ts +14 -14
  544. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/PartitionConfiguration.vue +230 -230
  545. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/graphicTooltip/graphicTooltip.vue +64 -64
  546. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/lib/config/selectOptions.ts +46 -46
  547. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/sizeGraphic/sizeGraphic.vue +225 -225
  548. package/components/common/wizards/datastore/add/sharedStorm/version/Version.vue +39 -39
  549. package/components/common/wizards/datastore/add/sharedStorm/version/lib/config/versionOptions.ts +21 -21
  550. package/components/common/wizards/datastore/add/types/Types.vue +77 -77
  551. package/components/common/wizards/datastore/add/types/lib/config/typeOptions.ts +39 -39
  552. package/components/common/wizards/network/add/Add.vue +880 -880
  553. package/components/common/wizards/network/add/lib/config/index.ts +33 -33
  554. package/components/common/wizards/network/add/lib/config/initialData.ts +63 -63
  555. package/components/common/wizards/network/add/lib/config/portPropertiesStep.ts +31 -31
  556. package/components/common/wizards/network/add/lib/config/selectSwitch.ts +19 -19
  557. package/components/common/wizards/network/add/lib/config/sendData.ts +102 -102
  558. package/components/common/wizards/network/add/lib/config/steps.ts +485 -485
  559. package/components/common/wizards/network/add/lib/models/enums.ts +17 -17
  560. package/components/common/wizards/network/add/lib/models/interfaces.ts +201 -201
  561. package/components/common/wizards/network/add/lib/models/types.ts +2 -2
  562. package/components/common/wizards/network/add/lib/utils/index.ts +4 -4
  563. package/components/common/wizards/network/add/mappers/mappers.ts +166 -166
  564. package/components/common/wizards/network/add/modals/SelectNetwork.vue +149 -149
  565. package/components/common/wizards/network/add/modals/SelectStandardSwitch.vue +125 -125
  566. package/components/common/wizards/network/add/modals/SelectSwitch.vue +114 -114
  567. package/components/common/wizards/network/add/steps/ConnectionSettings.vue +148 -148
  568. package/components/common/wizards/network/add/steps/CreateStandardSwitch.vue +84 -84
  569. package/components/common/wizards/network/add/steps/IpFourSettings.vue +245 -245
  570. package/components/common/wizards/network/add/steps/PhysicalAdapter.vue +13 -13
  571. package/components/common/wizards/network/add/steps/PortProperties.vue +369 -369
  572. package/components/common/wizards/network/add/steps/ReadyComplete.vue +20 -20
  573. package/components/common/wizards/network/add/steps/SelectConnectionType.vue +99 -99
  574. package/components/common/wizards/network/add/steps/SelectedTargetDevice.vue +451 -451
  575. package/components/common/wizards/network/add/validations/common.ts +26 -26
  576. package/components/common/wizards/network/add/validations/connectionSettings.ts +70 -70
  577. package/components/common/wizards/network/add/validations/createStandardSwitch.ts +58 -58
  578. package/components/common/wizards/network/add/validations/ipFourSettings.ts +182 -182
  579. package/components/common/wizards/network/add/validations/networkValidation.ts +81 -81
  580. package/components/common/wizards/network/add/validations/portProperties.ts +83 -83
  581. package/components/common/wizards/network/add/validations/targetDevice.ts +109 -109
  582. package/components/common/wizards/network/add/validations/validations.ts +43 -43
  583. package/components/common/wizards/vm/common/computeResource/TreeView.vue +61 -61
  584. package/components/common/wizards/vm/common/readyComplete/ReadyComplete.vue +15 -15
  585. package/components/common/wizards/vm/common/tooltip/Tooltip.vue +82 -82
  586. package/components/common/wizards/vm/common/validation/compatibility/Compatibility.vue +62 -62
  587. package/components/common/wizards/vm/common/validation/lib/models/enums.ts +5 -5
  588. package/components/common/wizards/vm/migrate/Migrate.vue +270 -270
  589. package/components/common/wizards/vm/migrate/contentHeading/ContentHeading.vue +106 -106
  590. package/components/common/wizards/vm/migrate/contentHeading/lib/models/interfaces.ts +7 -7
  591. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +100 -100
  592. package/components/common/wizards/vm/migrate/lib/models/enums.ts +6 -6
  593. package/components/common/wizards/vm/migrate/lib/models/interfaces.ts +24 -24
  594. package/components/common/wizards/vm/migrate/lib/models/types.ts +5 -5
  595. package/components/common/wizards/vm/migrate/lib/utils.ts +80 -80
  596. package/components/common/wizards/vm/migrate/select/computeResource/ComputeResource.vue +219 -219
  597. package/components/common/wizards/vm/migrate/select/computeResource/lib/config/tabsPannel.ts +28 -28
  598. package/components/common/wizards/vm/migrate/select/computeResource/lib/models/enums.ts +6 -6
  599. package/components/common/wizards/vm/migrate/select/computeResource/lib/models/interfaces.ts +30 -30
  600. package/components/common/wizards/vm/migrate/select/computeResource/lib/models/types.ts +12 -12
  601. package/components/common/wizards/vm/migrate/select/computeResource/tableView/TableView.vue +142 -142
  602. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/clusterTable.ts +113 -113
  603. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/hostTable.ts +124 -124
  604. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/resourcePoolTable.ts +115 -115
  605. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/tableKeys.ts +65 -65
  606. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/vappsTable.ts +66 -66
  607. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/models/interfaces.ts +50 -50
  608. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/models/types.ts +60 -60
  609. package/components/common/wizards/vm/migrate/select/network/Network.vue +51 -51
  610. package/components/common/wizards/vm/migrate/select/network/table/disk/Disk.vue +84 -84
  611. package/components/common/wizards/vm/migrate/select/network/table/disk/lib/config/advancedTable.ts +77 -77
  612. package/components/common/wizards/vm/migrate/select/network/table/disk/lib/config/basicTable.ts +71 -71
  613. package/components/common/wizards/vm/migrate/select/network/table/disk/lib/config/tableKeys.ts +10 -10
  614. package/components/common/wizards/vm/migrate/select/network/table/disk/lib/models/interfaces.ts +1 -1
  615. package/components/common/wizards/vm/migrate/select/network/table/disk/lib/models/types.ts +12 -12
  616. package/components/common/wizards/vm/migrate/select/priority/Priority.vue +39 -39
  617. package/components/common/wizards/vm/migrate/select/priority/lib/config/typeOptions.ts +21 -21
  618. package/components/common/wizards/vm/migrate/select/priority/lib/models/types.ts +1 -1
  619. package/components/common/wizards/vm/migrate/select/storage/Storage.vue +202 -202
  620. package/components/common/wizards/vm/migrate/select/storage/configure/batch/Batch.vue +76 -76
  621. package/components/common/wizards/vm/migrate/select/storage/configure/disk/Disk.vue +86 -86
  622. package/components/common/wizards/vm/migrate/select/storage/diskFormat/DiskFormat.vue +68 -68
  623. package/components/common/wizards/vm/migrate/select/storage/diskFormat/lib/config/formatOptions.ts +26 -26
  624. package/components/common/wizards/vm/migrate/select/storage/lib/config/tabsPannel.ts +18 -18
  625. package/components/common/wizards/vm/migrate/select/storage/lib/models/enums.ts +6 -6
  626. package/components/common/wizards/vm/migrate/select/storage/lib/models/interfaces.ts +14 -14
  627. package/components/common/wizards/vm/migrate/select/storage/lib/models/types.ts +9 -9
  628. package/components/common/wizards/vm/migrate/select/storage/policy/Policy.vue +83 -83
  629. package/components/common/wizards/vm/migrate/select/storage/selectedPerDisk/SelectedPerDisk.vue +87 -87
  630. package/components/common/wizards/vm/migrate/select/storage/table/datastore/Datastore.vue +113 -113
  631. package/components/common/wizards/vm/migrate/select/storage/table/datastore/lib/config/config.ts +154 -154
  632. package/components/common/wizards/vm/migrate/select/storage/table/datastore/lib/models/types.ts +15 -15
  633. package/components/common/wizards/vm/migrate/select/storage/table/disk/Disk.vue +84 -84
  634. package/components/common/wizards/vm/migrate/select/storage/table/disk/lib/config/config.ts +123 -123
  635. package/components/common/wizards/vm/migrate/select/storage/table/disk/lib/config/tableKeys.ts +15 -15
  636. package/components/common/wizards/vm/migrate/select/storage/table/disk/lib/models/interfaces.ts +24 -24
  637. package/components/common/wizards/vm/migrate/select/storage/table/disk/lib/models/types.ts +13 -13
  638. package/components/common/wizards/vm/migrate/select/targetServer/lib/config/tabsPannel.ts +18 -18
  639. package/components/common/wizards/vm/migrate/select/targetServer/lib/models/types.ts +1 -1
  640. package/components/common/wizards/vm/migrate/select/targetServer/new/New.vue +287 -287
  641. package/components/common/wizards/vm/migrate/select/targetServer/new/lib/config/defaultForm.ts +33 -33
  642. package/components/common/wizards/vm/migrate/select/targetServer/saved/Saved.vue +27 -27
  643. package/components/common/wizards/vm/migrate/select/targetServer/targetServer.vue +41 -41
  644. package/components/common/wizards/vm/migrate/select/type/Type.vue +38 -38
  645. package/components/common/wizards/vm/migrate/select/type/lib/config/typeOptions.ts +41 -41
  646. package/components/common/wizards/vm/migrate/select/type/lib/models/interfaces.ts +5 -5
  647. package/components/content/Hint.vue +24 -24
  648. package/components/layout/theHeader/lib/models/enums.ts +9 -9
  649. package/components/layout/theHeader/lib/utils/localization.ts +32 -32
  650. package/components/lib/models/interfaces.ts +14 -14
  651. package/composables/deepCopy.ts +21 -21
  652. package/composables/useDiff.ts +15 -15
  653. package/composables/useLocalStorage.ts +45 -45
  654. package/composables/useThrottle.ts +32 -32
  655. package/composables/useUniqueId.ts +5 -5
  656. package/eslint/index.js +15 -15
  657. package/eslint/no-import-type.js +17 -17
  658. package/eslint/no-invalid-type-prefix.js +32 -32
  659. package/lib/config/regExp.ts +13 -13
  660. package/lib/models/composables/useMyFetch/interfaces.ts +25 -25
  661. package/lib/models/composables/useMyFetch/types.ts +1 -1
  662. package/lib/models/enums.ts +21 -21
  663. package/lib/models/interfaces.ts +50 -49
  664. package/lib/models/plugins/date/interfaces.ts +5 -5
  665. package/lib/models/plugins/date/types.ts +1 -1
  666. package/lib/models/plugins/validation/interfaces.ts +21 -21
  667. package/lib/models/plugins/validation/types.ts +1 -1
  668. package/lib/models/store/host/interfaces.ts +38 -38
  669. package/lib/models/store/interfaces.ts +37 -37
  670. package/lib/models/store/network/interfaces.ts +13 -13
  671. package/lib/models/store/storage/interfaces.ts +32 -32
  672. package/lib/models/store/types.ts +43 -43
  673. package/lib/models/store/vm/interfaces.ts +213 -213
  674. package/lib/models/types.ts +15 -15
  675. package/lib/utils/base64.ts +34 -34
  676. package/lib/utils/contentBuild.ts +34 -34
  677. package/lib/utils/notification.ts +22 -22
  678. package/lib/utils/sendTask.ts +77 -77
  679. package/modules/fixContentBuild/index.ts +92 -92
  680. package/modules/fixContentBuild/lib/utils/methods.ts +114 -114
  681. package/modules/fixSpiceConsoleBuild/index.ts +28 -28
  682. package/modules/replaceEnv/index.ts +40 -40
  683. package/nuxt.config.ts +8 -8
  684. package/package.json +41 -41
  685. package/plugins/binary.ts +122 -122
  686. package/plugins/date.ts +179 -179
  687. package/plugins/recursion.ts +230 -230
  688. package/plugins/spice-console/spice.console.ts +18 -18
  689. package/plugins/text.ts +48 -48
  690. package/plugins/validation.ts +172 -172
  691. package/public/spice-console/application/WorkerProcess.js +3350 -3350
  692. package/public/spice-console/application/WorkerProcess_back.js +3144 -3144
  693. package/public/spice-console/application/WorkerProcess_meta.js +3103 -3103
  694. package/public/spice-console/application/WorkerProcess_reverse.js +3214 -3214
  695. package/public/spice-console/application/agent.js +175 -175
  696. package/public/spice-console/application/application.js +641 -641
  697. package/public/spice-console/application/checkActivity.js +50 -50
  698. package/public/spice-console/application/clientgui.js +842 -842
  699. package/public/spice-console/application/clipboard/clipboarddataparser.js +92 -92
  700. package/public/spice-console/application/clipboard/local/localClipboard.js +110 -110
  701. package/public/spice-console/application/clipboard.js +82 -82
  702. package/public/spice-console/application/imagecache.js +81 -81
  703. package/public/spice-console/application/inputmanager.js +270 -270
  704. package/public/spice-console/application/packetfactory.js +202 -202
  705. package/public/spice-console/application/packetfilter.js +103 -103
  706. package/public/spice-console/application/packetprocess.js +75 -75
  707. package/public/spice-console/application/rasteroperation.js +118 -118
  708. package/public/spice-console/application/spiceconnection.js +197 -197
  709. package/public/spice-console/application/stream.js +67 -67
  710. package/public/spice-console/application/virtualmouse.js +109 -109
  711. package/public/spice-console/keymaps/keyevent.js +36 -36
  712. package/public/spice-console/keymaps/keymap.js +229 -229
  713. package/public/spice-console/keymaps/keymapes.js +375 -375
  714. package/public/spice-console/keymaps/keymapesObj.js +316 -316
  715. package/public/spice-console/keymaps/keymapus.js +317 -317
  716. package/public/spice-console/keymaps/scanCodeObjModifier.js +65 -65
  717. package/public/spice-console/keymaps/scanCodeObjProvider.js +60 -60
  718. package/public/spice-console/lib/AsyncConsumer.js +204 -204
  719. package/public/spice-console/lib/AsyncWorker.js +60 -60
  720. package/public/spice-console/lib/CollisionDetector.js +27 -27
  721. package/public/spice-console/lib/DataLogger.js +197 -197
  722. package/public/spice-console/lib/GenericObjectPool.js +152 -152
  723. package/public/spice-console/lib/GlobalPool.js +114 -114
  724. package/public/spice-console/lib/ImageUncompressor.js +138 -138
  725. package/public/spice-console/lib/IntegrationBenchmark.js +64 -64
  726. package/public/spice-console/lib/PacketWorkerIdentifier.js +107 -107
  727. package/public/spice-console/lib/SyncAsyncHandler.js +46 -46
  728. package/public/spice-console/lib/base64.js +298 -298
  729. package/public/spice-console/lib/biginteger.js +1640 -1640
  730. package/public/spice-console/lib/bowser.js +276 -276
  731. package/public/spice-console/lib/decoder/dixie.js +7930 -7930
  732. package/public/spice-console/lib/decoder/jmuxer.js +2815 -2815
  733. package/public/spice-console/lib/displayRouter.js +83 -83
  734. package/public/spice-console/lib/encrypt.js +191 -191
  735. package/public/spice-console/lib/flipper.js +39 -39
  736. package/public/spice-console/lib/graphic.js +1230 -1230
  737. package/public/spice-console/lib/graphicdebug.js +223 -223
  738. package/public/spice-console/lib/images/bitmap.js +194 -194
  739. package/public/spice-console/lib/images/jsquic_family.js +83 -83
  740. package/public/spice-console/lib/images/jsquic_rgba.js +342 -342
  741. package/public/spice-console/lib/images/jsquic_uncompress.js +529 -529
  742. package/public/spice-console/lib/images/lz.js +717 -717
  743. package/public/spice-console/lib/images/png.js +275 -275
  744. package/public/spice-console/lib/jgestures.min.js +43 -43
  745. package/public/spice-console/lib/jquery-2.0.3.js +8829 -8829
  746. package/public/spice-console/lib/jquery-mousewheel.js +83 -83
  747. package/public/spice-console/lib/jquery-visibility.min.js +1 -1
  748. package/public/spice-console/lib/jsbn.js +578 -578
  749. package/public/spice-console/lib/jsbn2.js +675 -675
  750. package/public/spice-console/lib/lodash.4.0.0.min.js +136 -136
  751. package/public/spice-console/lib/modernizr.js +39 -39
  752. package/public/spice-console/lib/pixastic.js +3244 -3244
  753. package/public/spice-console/lib/prettyprint.js +794 -794
  754. package/public/spice-console/lib/prng4.js +64 -64
  755. package/public/spice-console/lib/queue.js +259 -259
  756. package/public/spice-console/lib/rng.js +87 -87
  757. package/public/spice-console/lib/runqueue.js +103 -103
  758. package/public/spice-console/lib/sha1.js +124 -124
  759. package/public/spice-console/lib/stuckkeyshandler.js +122 -122
  760. package/public/spice-console/lib/timelapsedetector.js +62 -62
  761. package/public/spice-console/lib/utils.js +327 -327
  762. package/public/spice-console/lib/virtualjoystick.js +370 -370
  763. package/public/spice-console/network/busconnection.js +195 -195
  764. package/public/spice-console/network/clusternodechooser.js +49 -49
  765. package/public/spice-console/network/connectioncontrol.js +60 -60
  766. package/public/spice-console/network/packetcontroller.js +62 -62
  767. package/public/spice-console/network/packetextractor.js +73 -73
  768. package/public/spice-console/network/packetlinkfactory.js +64 -64
  769. package/public/spice-console/network/packetreassembler.js +77 -77
  770. package/public/spice-console/network/reassemblerfactory.js +39 -39
  771. package/public/spice-console/network/sizedefiner.js +86 -86
  772. package/public/spice-console/network/socket.js +120 -120
  773. package/public/spice-console/network/socketqueue.js +95 -95
  774. package/public/spice-console/network/websocketwrapper.js +75 -75
  775. package/public/spice-console/process/busprocess.js +309 -309
  776. package/public/spice-console/process/cursorprocess.js +110 -110
  777. package/public/spice-console/process/displaypreprocess.js +152 -152
  778. package/public/spice-console/process/displayprocess.js +210 -210
  779. package/public/spice-console/process/inputprocess.js +203 -203
  780. package/public/spice-console/process/mainprocess.js +78 -78
  781. package/public/spice-console/process/playbackprocess.js +233 -233
  782. package/public/spice-console/run.js +180 -180
  783. package/public/spice-console/spiceobjects/generated/protocol.js +537 -537
  784. package/public/spice-console/spiceobjects/spiceobjects.js +3474 -3474
  785. package/public/spice-console/swcanvas/swcanvas.js +82 -82
  786. package/public/spice-console/tools/generate.php +269 -269
  787. package/public/spice-console/tools/generateKeyboardLayout.php +63 -63
  788. package/public/spice-console/tools/generateSpiceObject.php +81 -81
  789. package/tsconfig.json +4 -4
  790. package/assets/img/icons/lib-ui-icons-light.png +0 -0
  791. package/assets/scss/common/icons/lib-icons.scss +0 -23
@@ -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
+ })();