ngx-hana-nameserver-history-viewer 1.1.1 → 1.1.90

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 (242) hide show
  1. package/README.md +7 -6
  2. package/esm2020/ngx-hana-nameserver-history-viewer.mjs +5 -0
  3. package/esm2020/public-api.mjs +2 -0
  4. package/esm2020/src/nameserver-history-viewer/components/alert/alert.component.mjs +68 -0
  5. package/esm2020/src/nameserver-history-viewer/components/alert/alert.module.mjs +22 -0
  6. package/esm2020/src/nameserver-history-viewer/components/alert/index.mjs +3 -0
  7. package/esm2020/src/nameserver-history-viewer/components/file-drop-input/file-drop-input.component.mjs +112 -0
  8. package/esm2020/src/nameserver-history-viewer/components/file-drop-input/index.mjs +2 -0
  9. package/esm2020/src/nameserver-history-viewer/components/index.mjs +9 -0
  10. package/esm2020/src/nameserver-history-viewer/components/instruction/index.mjs +2 -0
  11. package/esm2020/src/nameserver-history-viewer/components/instruction/instruction.component.mjs +42 -0
  12. package/esm2020/src/nameserver-history-viewer/components/nameserver-history.component.mjs +550 -0
  13. package/esm2020/src/nameserver-history-viewer/components/port-selector/index.mjs +2 -0
  14. package/esm2020/src/nameserver-history-viewer/components/port-selector/port-selector.component.mjs +69 -0
  15. package/esm2020/src/nameserver-history-viewer/components/port-selector/port-selector.service.mjs +41 -0
  16. package/esm2020/src/nameserver-history-viewer/components/progress-bar/index.mjs +2 -0
  17. package/esm2020/src/nameserver-history-viewer/components/progress-bar/progress-bar.component.mjs +40 -0
  18. package/esm2020/src/nameserver-history-viewer/components/time-range-selector/index.mjs +2 -0
  19. package/esm2020/src/nameserver-history-viewer/components/time-range-selector/time-range-selector.component.mjs +70 -0
  20. package/esm2020/src/nameserver-history-viewer/components/timezone-selector/index.mjs +2 -0
  21. package/esm2020/src/nameserver-history-viewer/components/timezone-selector/timezone-selector.component.mjs +90 -0
  22. package/esm2020/src/nameserver-history-viewer/components/timezone-selector/timezone-selector.service.mjs +49 -0
  23. package/esm2020/src/nameserver-history-viewer/index.mjs +3 -0
  24. package/esm2020/src/nameserver-history-viewer/nameserver-history.module.mjs +63 -0
  25. package/esm2020/src/nameserver-history-viewer/services/chart.service.mjs +323 -0
  26. package/esm2020/src/nameserver-history-viewer/services/file.service.mjs +390 -0
  27. package/esm2020/src/nameserver-history-viewer/services/index.mjs +4 -0
  28. package/esm2020/src/nameserver-history-viewer/services/ui.service.mjs +557 -0
  29. package/esm2020/src/nameserver-history-viewer/types/abort.types.mjs +6 -0
  30. package/esm2020/src/nameserver-history-viewer/types/alert.types.mjs +8 -0
  31. package/esm2020/src/nameserver-history-viewer/types/chart-content-data-item.types.mjs +2 -0
  32. package/esm2020/src/nameserver-history-viewer/types/chart-content-data.types.mjs +2 -0
  33. package/esm2020/src/nameserver-history-viewer/types/chart-content-header.types.mjs +2 -0
  34. package/esm2020/src/nameserver-history-viewer/types/chart-content-time.types.mjs +2 -0
  35. package/esm2020/src/nameserver-history-viewer/types/chart-content.types.mjs +2 -0
  36. package/esm2020/src/nameserver-history-viewer/types/color-rgba.types.mjs +2 -0
  37. package/esm2020/src/nameserver-history-viewer/types/html-element.type.mjs +9 -0
  38. package/esm2020/src/nameserver-history-viewer/types/index.mjs +28 -0
  39. package/esm2020/src/nameserver-history-viewer/types/item.types.mjs +14 -0
  40. package/esm2020/src/nameserver-history-viewer/types/legend-color.types.mjs +2 -0
  41. package/esm2020/src/nameserver-history-viewer/types/load-history-info-backup.types.mjs +2 -0
  42. package/esm2020/src/nameserver-history-viewer/types/load-history-info-columnstore.types.mjs +2 -0
  43. package/esm2020/src/nameserver-history-viewer/types/load-history-info-host.types.mjs +2 -0
  44. package/esm2020/src/nameserver-history-viewer/types/load-history-info-item.types.mjs +2 -0
  45. package/esm2020/src/nameserver-history-viewer/types/load-history-info-persistence.types.mjs +2 -0
  46. package/esm2020/src/nameserver-history-viewer/types/load-history-info-rowstore.types.mjs +2 -0
  47. package/esm2020/src/nameserver-history-viewer/types/load-history-info-server.types.mjs +2 -0
  48. package/esm2020/src/nameserver-history-viewer/types/load-history-info-session-admission-control.types.mjs +2 -0
  49. package/esm2020/src/nameserver-history-viewer/types/load-history-info-sql.types.mjs +2 -0
  50. package/esm2020/src/nameserver-history-viewer/types/load-history-info-sync-primitives.types.mjs +2 -0
  51. package/esm2020/src/nameserver-history-viewer/types/load-history-info-threads.types.mjs +2 -0
  52. package/esm2020/src/nameserver-history-viewer/types/load-history-info.types.mjs +2 -0
  53. package/esm2020/src/nameserver-history-viewer/types/port.types.mjs +2 -0
  54. package/esm2020/src/nameserver-history-viewer/types/scale-group.types.mjs +17 -0
  55. package/esm2020/src/nameserver-history-viewer/types/unit-category.types.mjs +10 -0
  56. package/esm2020/src/nameserver-history-viewer/types/unit.types.mjs +14 -0
  57. package/esm2020/src/nameserver-history-viewer/utils/chart-util.mjs +25 -0
  58. package/esm2020/src/nameserver-history-viewer/utils/chartjs-downsample/chartjs_ext.mjs +2 -0
  59. package/esm2020/src/nameserver-history-viewer/utils/chartjs-downsample/data_culling.mjs +57 -0
  60. package/esm2020/src/nameserver-history-viewer/utils/chartjs-downsample/data_mipmap.mjs +139 -0
  61. package/esm2020/src/nameserver-history-viewer/utils/chartjs-downsample/index.mjs +41 -0
  62. package/esm2020/src/nameserver-history-viewer/utils/chartjs-downsample/lttb_data_mipmap.mjs +106 -0
  63. package/esm2020/src/nameserver-history-viewer/utils/chartjs-downsample/responsive_downsample_plugin.mjs +168 -0
  64. package/esm2020/src/nameserver-history-viewer/utils/chartjs-downsample/utils.mjs +114 -0
  65. package/esm2020/src/nameserver-history-viewer/utils/chartjs-zoom/chart.zoom.mjs +527 -0
  66. package/esm2020/src/nameserver-history-viewer/utils/chartjs-zoom/index.mjs +2 -0
  67. package/esm2020/src/nameserver-history-viewer/utils/file-util.mjs +154 -0
  68. package/esm2020/src/nameserver-history-viewer/utils/index.mjs +5 -0
  69. package/esm2020/src/nameserver-history-viewer/utils/time-util.mjs +101 -0
  70. package/esm2020/src/nameserver-history-viewer/utils/ui-util.mjs +162 -0
  71. package/fesm2015/ngx-hana-nameserver-history-viewer.mjs +4081 -0
  72. package/fesm2015/ngx-hana-nameserver-history-viewer.mjs.map +1 -0
  73. package/fesm2020/ngx-hana-nameserver-history-viewer.mjs +4081 -0
  74. package/fesm2020/ngx-hana-nameserver-history-viewer.mjs.map +1 -0
  75. package/ngx-hana-nameserver-history-viewer.d.ts +1 -1
  76. package/package.json +36 -61
  77. package/src/nameserver-history-viewer/components/alert/alert.component.d.ts +4 -1
  78. package/src/nameserver-history-viewer/components/alert/alert.module.d.ts +6 -0
  79. package/src/nameserver-history-viewer/components/file-drop-input/file-drop-input.component.d.ts +3 -0
  80. package/src/nameserver-history-viewer/components/instruction/instruction.component.d.ts +3 -0
  81. package/src/nameserver-history-viewer/components/nameserver-history.component.d.ts +33 -14
  82. package/src/nameserver-history-viewer/components/port-selector/port-selector.component.d.ts +4 -1
  83. package/src/nameserver-history-viewer/components/port-selector/port-selector.service.d.ts +3 -0
  84. package/src/nameserver-history-viewer/components/progress-bar/progress-bar.component.d.ts +3 -0
  85. package/src/nameserver-history-viewer/components/time-range-selector/time-range-selector.component.d.ts +3 -0
  86. package/src/nameserver-history-viewer/components/timezone-selector/timezone-selector.component.d.ts +3 -0
  87. package/src/nameserver-history-viewer/components/timezone-selector/timezone-selector.service.d.ts +3 -0
  88. package/src/nameserver-history-viewer/index.d.ts +1 -0
  89. package/src/nameserver-history-viewer/nameserver-history.module.d.ts +17 -0
  90. package/src/nameserver-history-viewer/services/chart.service.d.ts +4 -1
  91. package/src/nameserver-history-viewer/services/file.service.d.ts +4 -0
  92. package/src/nameserver-history-viewer/services/ui.service.d.ts +5 -2
  93. package/src/nameserver-history-viewer/types/load-history-info-session-admission-control.types.d.ts +3 -0
  94. package/src/nameserver-history-viewer/utils/chartjs-downsample/lttb_data_mipmap.d.ts +1 -1
  95. package/src/nameserver-history-viewer/utils/file-util.d.ts +11 -0
  96. package/bundles/ngx-hana-nameserver-history-viewer.umd.js +0 -6298
  97. package/bundles/ngx-hana-nameserver-history-viewer.umd.js.map +0 -1
  98. package/bundles/ngx-hana-nameserver-history-viewer.umd.min.js +0 -2
  99. package/bundles/ngx-hana-nameserver-history-viewer.umd.min.js.map +0 -1
  100. package/esm2015/ngx-hana-nameserver-history-viewer.js +0 -10
  101. package/esm2015/public-api.js +0 -6
  102. package/esm2015/src/nameserver-history-viewer/components/alert/alert.component.js +0 -108
  103. package/esm2015/src/nameserver-history-viewer/components/alert/alert.module.js +0 -21
  104. package/esm2015/src/nameserver-history-viewer/components/alert/index.js +0 -7
  105. package/esm2015/src/nameserver-history-viewer/components/file-drop-input/file-drop-input.component.js +0 -141
  106. package/esm2015/src/nameserver-history-viewer/components/file-drop-input/index.js +0 -6
  107. package/esm2015/src/nameserver-history-viewer/components/index.js +0 -13
  108. package/esm2015/src/nameserver-history-viewer/components/instruction/index.js +0 -6
  109. package/esm2015/src/nameserver-history-viewer/components/instruction/instruction.component.js +0 -62
  110. package/esm2015/src/nameserver-history-viewer/components/nameserver-history.component.js +0 -742
  111. package/esm2015/src/nameserver-history-viewer/components/port-selector/index.js +0 -6
  112. package/esm2015/src/nameserver-history-viewer/components/port-selector/port-selector.component.js +0 -93
  113. package/esm2015/src/nameserver-history-viewer/components/port-selector/port-selector.service.js +0 -56
  114. package/esm2015/src/nameserver-history-viewer/components/progress-bar/index.js +0 -6
  115. package/esm2015/src/nameserver-history-viewer/components/progress-bar/progress-bar.component.js +0 -35
  116. package/esm2015/src/nameserver-history-viewer/components/time-range-selector/index.js +0 -6
  117. package/esm2015/src/nameserver-history-viewer/components/time-range-selector/time-range-selector.component.js +0 -68
  118. package/esm2015/src/nameserver-history-viewer/components/timezone-selector/index.js +0 -6
  119. package/esm2015/src/nameserver-history-viewer/components/timezone-selector/timezone-selector.component.js +0 -135
  120. package/esm2015/src/nameserver-history-viewer/components/timezone-selector/timezone-selector.service.js +0 -72
  121. package/esm2015/src/nameserver-history-viewer/index.js +0 -6
  122. package/esm2015/src/nameserver-history-viewer/nameserver-history.module.js +0 -42
  123. package/esm2015/src/nameserver-history-viewer/services/chart.service.js +0 -423
  124. package/esm2015/src/nameserver-history-viewer/services/file.service.js +0 -447
  125. package/esm2015/src/nameserver-history-viewer/services/index.js +0 -8
  126. package/esm2015/src/nameserver-history-viewer/services/ui.service.js +0 -817
  127. package/esm2015/src/nameserver-history-viewer/types/abort.types.js +0 -13
  128. package/esm2015/src/nameserver-history-viewer/types/alert.types.js +0 -13
  129. package/esm2015/src/nameserver-history-viewer/types/chart-content-data-item.types.js +0 -15
  130. package/esm2015/src/nameserver-history-viewer/types/chart-content-data.types.js +0 -9
  131. package/esm2015/src/nameserver-history-viewer/types/chart-content-header.types.js +0 -15
  132. package/esm2015/src/nameserver-history-viewer/types/chart-content-time.types.js +0 -9
  133. package/esm2015/src/nameserver-history-viewer/types/chart-content.types.js +0 -21
  134. package/esm2015/src/nameserver-history-viewer/types/color-rgba.types.js +0 -19
  135. package/esm2015/src/nameserver-history-viewer/types/html-element.type.js +0 -19
  136. package/esm2015/src/nameserver-history-viewer/types/index.js +0 -32
  137. package/esm2015/src/nameserver-history-viewer/types/item.types.js +0 -19
  138. package/esm2015/src/nameserver-history-viewer/types/legend-color.types.js +0 -9
  139. package/esm2015/src/nameserver-history-viewer/types/load-history-info-backup.types.js +0 -19
  140. package/esm2015/src/nameserver-history-viewer/types/load-history-info-columnstore.types.js +0 -19
  141. package/esm2015/src/nameserver-history-viewer/types/load-history-info-host.types.js +0 -35
  142. package/esm2015/src/nameserver-history-viewer/types/load-history-info-item.types.js +0 -31
  143. package/esm2015/src/nameserver-history-viewer/types/load-history-info-persistence.types.js +0 -27
  144. package/esm2015/src/nameserver-history-viewer/types/load-history-info-rowstore.types.js +0 -15
  145. package/esm2015/src/nameserver-history-viewer/types/load-history-info-server.types.js +0 -25
  146. package/esm2015/src/nameserver-history-viewer/types/load-history-info-session-admission-control.types.js +0 -19
  147. package/esm2015/src/nameserver-history-viewer/types/load-history-info-sql.types.js +0 -37
  148. package/esm2015/src/nameserver-history-viewer/types/load-history-info-sync-primitives.types.js +0 -15
  149. package/esm2015/src/nameserver-history-viewer/types/load-history-info-threads.types.js +0 -23
  150. package/esm2015/src/nameserver-history-viewer/types/load-history-info.types.js +0 -31
  151. package/esm2015/src/nameserver-history-viewer/types/port.types.js +0 -17
  152. package/esm2015/src/nameserver-history-viewer/types/scale-group.types.js +0 -35
  153. package/esm2015/src/nameserver-history-viewer/types/unit-category.types.js +0 -21
  154. package/esm2015/src/nameserver-history-viewer/types/unit.types.js +0 -19
  155. package/esm2015/src/nameserver-history-viewer/utils/chart-util.js +0 -38
  156. package/esm2015/src/nameserver-history-viewer/utils/chartjs-downsample/chartjs_ext.js +0 -100
  157. package/esm2015/src/nameserver-history-viewer/utils/chartjs-downsample/data_culling.js +0 -88
  158. package/esm2015/src/nameserver-history-viewer/utils/chartjs-downsample/data_mipmap.js +0 -213
  159. package/esm2015/src/nameserver-history-viewer/utils/chartjs-downsample/index.js +0 -46
  160. package/esm2015/src/nameserver-history-viewer/utils/chartjs-downsample/lttb_data_mipmap.js +0 -158
  161. package/esm2015/src/nameserver-history-viewer/utils/chartjs-downsample/responsive_downsample_plugin.js +0 -295
  162. package/esm2015/src/nameserver-history-viewer/utils/chartjs-downsample/utils.js +0 -130
  163. package/esm2015/src/nameserver-history-viewer/utils/chartjs-zoom/chart.zoom.js +0 -733
  164. package/esm2015/src/nameserver-history-viewer/utils/chartjs-zoom/index.js +0 -6
  165. package/esm2015/src/nameserver-history-viewer/utils/file-util.js +0 -149
  166. package/esm2015/src/nameserver-history-viewer/utils/index.js +0 -9
  167. package/esm2015/src/nameserver-history-viewer/utils/time-util.js +0 -135
  168. package/esm2015/src/nameserver-history-viewer/utils/ui-util.js +0 -203
  169. package/esm5/ngx-hana-nameserver-history-viewer.js +0 -10
  170. package/esm5/public-api.js +0 -6
  171. package/esm5/src/nameserver-history-viewer/components/alert/alert.component.js +0 -140
  172. package/esm5/src/nameserver-history-viewer/components/alert/alert.module.js +0 -25
  173. package/esm5/src/nameserver-history-viewer/components/alert/index.js +0 -7
  174. package/esm5/src/nameserver-history-viewer/components/file-drop-input/file-drop-input.component.js +0 -155
  175. package/esm5/src/nameserver-history-viewer/components/file-drop-input/index.js +0 -6
  176. package/esm5/src/nameserver-history-viewer/components/index.js +0 -13
  177. package/esm5/src/nameserver-history-viewer/components/instruction/index.js +0 -6
  178. package/esm5/src/nameserver-history-viewer/components/instruction/instruction.component.js +0 -67
  179. package/esm5/src/nameserver-history-viewer/components/nameserver-history.component.js +0 -990
  180. package/esm5/src/nameserver-history-viewer/components/port-selector/index.js +0 -6
  181. package/esm5/src/nameserver-history-viewer/components/port-selector/port-selector.component.js +0 -93
  182. package/esm5/src/nameserver-history-viewer/components/port-selector/port-selector.service.js +0 -81
  183. package/esm5/src/nameserver-history-viewer/components/progress-bar/index.js +0 -6
  184. package/esm5/src/nameserver-history-viewer/components/progress-bar/progress-bar.component.js +0 -26
  185. package/esm5/src/nameserver-history-viewer/components/time-range-selector/index.js +0 -6
  186. package/esm5/src/nameserver-history-viewer/components/time-range-selector/time-range-selector.component.js +0 -58
  187. package/esm5/src/nameserver-history-viewer/components/timezone-selector/index.js +0 -6
  188. package/esm5/src/nameserver-history-viewer/components/timezone-selector/timezone-selector.component.js +0 -164
  189. package/esm5/src/nameserver-history-viewer/components/timezone-selector/timezone-selector.service.js +0 -102
  190. package/esm5/src/nameserver-history-viewer/index.js +0 -6
  191. package/esm5/src/nameserver-history-viewer/nameserver-history.module.js +0 -46
  192. package/esm5/src/nameserver-history-viewer/services/chart.service.js +0 -578
  193. package/esm5/src/nameserver-history-viewer/services/file.service.js +0 -566
  194. package/esm5/src/nameserver-history-viewer/services/index.js +0 -8
  195. package/esm5/src/nameserver-history-viewer/services/ui.service.js +0 -1036
  196. package/esm5/src/nameserver-history-viewer/types/abort.types.js +0 -13
  197. package/esm5/src/nameserver-history-viewer/types/alert.types.js +0 -13
  198. package/esm5/src/nameserver-history-viewer/types/chart-content-data-item.types.js +0 -15
  199. package/esm5/src/nameserver-history-viewer/types/chart-content-data.types.js +0 -9
  200. package/esm5/src/nameserver-history-viewer/types/chart-content-header.types.js +0 -15
  201. package/esm5/src/nameserver-history-viewer/types/chart-content-time.types.js +0 -9
  202. package/esm5/src/nameserver-history-viewer/types/chart-content.types.js +0 -21
  203. package/esm5/src/nameserver-history-viewer/types/color-rgba.types.js +0 -19
  204. package/esm5/src/nameserver-history-viewer/types/html-element.type.js +0 -19
  205. package/esm5/src/nameserver-history-viewer/types/index.js +0 -32
  206. package/esm5/src/nameserver-history-viewer/types/item.types.js +0 -19
  207. package/esm5/src/nameserver-history-viewer/types/legend-color.types.js +0 -9
  208. package/esm5/src/nameserver-history-viewer/types/load-history-info-backup.types.js +0 -19
  209. package/esm5/src/nameserver-history-viewer/types/load-history-info-columnstore.types.js +0 -19
  210. package/esm5/src/nameserver-history-viewer/types/load-history-info-host.types.js +0 -35
  211. package/esm5/src/nameserver-history-viewer/types/load-history-info-item.types.js +0 -31
  212. package/esm5/src/nameserver-history-viewer/types/load-history-info-persistence.types.js +0 -27
  213. package/esm5/src/nameserver-history-viewer/types/load-history-info-rowstore.types.js +0 -15
  214. package/esm5/src/nameserver-history-viewer/types/load-history-info-server.types.js +0 -25
  215. package/esm5/src/nameserver-history-viewer/types/load-history-info-session-admission-control.types.js +0 -19
  216. package/esm5/src/nameserver-history-viewer/types/load-history-info-sql.types.js +0 -37
  217. package/esm5/src/nameserver-history-viewer/types/load-history-info-sync-primitives.types.js +0 -15
  218. package/esm5/src/nameserver-history-viewer/types/load-history-info-threads.types.js +0 -23
  219. package/esm5/src/nameserver-history-viewer/types/load-history-info.types.js +0 -31
  220. package/esm5/src/nameserver-history-viewer/types/port.types.js +0 -17
  221. package/esm5/src/nameserver-history-viewer/types/scale-group.types.js +0 -35
  222. package/esm5/src/nameserver-history-viewer/types/unit-category.types.js +0 -21
  223. package/esm5/src/nameserver-history-viewer/types/unit.types.js +0 -19
  224. package/esm5/src/nameserver-history-viewer/utils/chart-util.js +0 -39
  225. package/esm5/src/nameserver-history-viewer/utils/chartjs-downsample/chartjs_ext.js +0 -100
  226. package/esm5/src/nameserver-history-viewer/utils/chartjs-downsample/data_culling.js +0 -88
  227. package/esm5/src/nameserver-history-viewer/utils/chartjs-downsample/data_mipmap.js +0 -307
  228. package/esm5/src/nameserver-history-viewer/utils/chartjs-downsample/index.js +0 -46
  229. package/esm5/src/nameserver-history-viewer/utils/chartjs-downsample/lttb_data_mipmap.js +0 -232
  230. package/esm5/src/nameserver-history-viewer/utils/chartjs-downsample/responsive_downsample_plugin.js +0 -350
  231. package/esm5/src/nameserver-history-viewer/utils/chartjs-downsample/utils.js +0 -142
  232. package/esm5/src/nameserver-history-viewer/utils/chartjs-zoom/chart.zoom.js +0 -733
  233. package/esm5/src/nameserver-history-viewer/utils/chartjs-zoom/index.js +0 -6
  234. package/esm5/src/nameserver-history-viewer/utils/file-util.js +0 -150
  235. package/esm5/src/nameserver-history-viewer/utils/index.js +0 -9
  236. package/esm5/src/nameserver-history-viewer/utils/time-util.js +0 -135
  237. package/esm5/src/nameserver-history-viewer/utils/ui-util.js +0 -205
  238. package/fesm2015/ngx-hana-nameserver-history-viewer.js +0 -5223
  239. package/fesm2015/ngx-hana-nameserver-history-viewer.js.map +0 -1
  240. package/fesm5/ngx-hana-nameserver-history-viewer.js +0 -6295
  241. package/fesm5/ngx-hana-nameserver-history-viewer.js.map +0 -1
  242. package/ngx-hana-nameserver-history-viewer.metadata.json +0 -1
@@ -1,19 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- /** @enum {string} */
6
- var Unit = {
7
- PCT: '%',
8
- MS: 'ms',
9
- Empty: '',
10
- GB: 'GB',
11
- MB: 'MB',
12
- MBPerSec: 'MB/s',
13
- SecPerSec: 'Sec/s',
14
- StmtPerSec: 'stm/s',
15
- ReqPerSec: 'req/s',
16
- ColPerSec: 'col/s',
17
- };
18
- export { Unit };
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdC50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1oYW5hLW5hbWVzZXJ2ZXItaGlzdG9yeS12aWV3ZXIvIiwic291cmNlcyI6WyJzcmMvbmFtZXNlcnZlci1oaXN0b3J5LXZpZXdlci90eXBlcy91bml0LnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztJQUNFLEtBQU0sR0FBRztJQUNULElBQUssSUFBSTtJQUNULE9BQVEsRUFBRTtJQUNWLElBQUssSUFBSTtJQUNULElBQUssSUFBSTtJQUNULFVBQVcsTUFBTTtJQUNqQixXQUFZLE9BQU87SUFDbkIsWUFBYSxPQUFPO0lBQ3BCLFdBQVksT0FBTztJQUNuQixXQUFZLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBVbml0IHtcclxuICBQQ1QgPSAnJScsXHJcbiAgTVMgPSAnbXMnLFxyXG4gIEVtcHR5ID0gJycsXHJcbiAgR0IgPSAnR0InLFxyXG4gIE1CID0gJ01CJyxcclxuICBNQlBlclNlYyA9ICdNQi9zJyxcclxuICBTZWNQZXJTZWMgPSAnU2VjL3MnLFxyXG4gIFN0bXRQZXJTZWMgPSAnc3RtL3MnLFxyXG4gIFJlcVBlclNlYyA9ICdyZXEvcycsXHJcbiAgQ29sUGVyU2VjID0gJ2NvbC9zJ1xyXG59XHJcbiJdfQ==
@@ -1,39 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import * as tslib_1 from "tslib";
6
- /**
7
- * @return {?}
8
- */
9
- function _randomColorFactor() {
10
- return Math.round(Math.random() * 255);
11
- }
12
- /**
13
- * generate random color
14
- * @param {?} opacity alpha
15
- * @return {?}
16
- */
17
- export function randomColor(opacity) {
18
- return 'rgba(' + _randomColorFactor() + ',' + _randomColorFactor() + ',' + _randomColorFactor() + ',' + (opacity || '.3') + ')';
19
- }
20
- /**
21
- * generate the rgba string from ColorRgba
22
- * @param {?} rgbaColor
23
- * @return {?}
24
- */
25
- export function getColorString(rgbaColor) {
26
- return "rgba(" + rgbaColor['red'] + ", " + rgbaColor['green'] + ", " + rgbaColor['blue'] + ", " + rgbaColor['alpha'] + ")";
27
- }
28
- /**
29
- * format Number with commas
30
- * @param {?} num
31
- * @return {?}
32
- */
33
- export function getNumberWithCommas(num) {
34
- var _a = tslib_1.__read(num.toString().split('.'), 2), integerPart = _a[0], decimalPart = _a[1];
35
- /** @type {?} */
36
- var integerWithCommas = integerPart.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
37
- return decimalPart ? integerWithCommas + "." + decimalPart : integerWithCommas;
38
- }
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtdXRpbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1oYW5hLW5hbWVzZXJ2ZXItaGlzdG9yeS12aWV3ZXIvIiwic291cmNlcyI6WyJzcmMvbmFtZXNlcnZlci1oaXN0b3J5LXZpZXdlci91dGlscy9jaGFydC11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBR0EsU0FBUyxrQkFBa0I7SUFDekIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQztBQUN6QyxDQUFDOzs7Ozs7QUFNRCxNQUFNLFVBQVUsV0FBVyxDQUFDLE9BQWU7SUFDekMsT0FBTyxPQUFPLEdBQUcsa0JBQWtCLEVBQUUsR0FBRyxHQUFHLEdBQUcsa0JBQWtCLEVBQUUsR0FBRyxHQUFHLEdBQUcsa0JBQWtCLEVBQUUsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDO0FBQ2xJLENBQUM7Ozs7OztBQUtELE1BQU0sVUFBVSxjQUFjLENBQUMsU0FBb0I7SUFDakQsT0FBTyxVQUFRLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBSyxTQUFTLENBQUMsT0FBTyxDQUFDLFVBQUssU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFLLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBRyxDQUFDO0FBQ3pHLENBQUM7Ozs7OztBQUtELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxHQUFXO0lBQ3ZDLElBQUEsaURBQXNELEVBQXJELG1CQUFXLEVBQUUsbUJBQXdDOztRQUN0RCxpQkFBaUIsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLHVCQUF1QixFQUFFLEdBQUcsQ0FBQztJQUMzRSxPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUksaUJBQWlCLFNBQUksV0FBYSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztBQUNqRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sb3JSZ2JhIH0gZnJvbSAnLi4vdHlwZXMnO1xyXG5cclxuXHJcbmZ1bmN0aW9uIF9yYW5kb21Db2xvckZhY3RvcigpOiBudW1iZXIge1xyXG4gIHJldHVybiBNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiAyNTUpO1xyXG59XHJcblxyXG4vKipcclxuICogZ2VuZXJhdGUgcmFuZG9tIGNvbG9yXHJcbiAqIEBwYXJhbSBvcGFjaXR5IGFscGhhXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcmFuZG9tQ29sb3Iob3BhY2l0eTogbnVtYmVyKTogc3RyaW5nIHtcclxuICByZXR1cm4gJ3JnYmEoJyArIF9yYW5kb21Db2xvckZhY3RvcigpICsgJywnICsgX3JhbmRvbUNvbG9yRmFjdG9yKCkgKyAnLCcgKyBfcmFuZG9tQ29sb3JGYWN0b3IoKSArICcsJyArIChvcGFjaXR5IHx8ICcuMycpICsgJyknO1xyXG59XHJcblxyXG4vKipcclxuICogZ2VuZXJhdGUgdGhlIHJnYmEgc3RyaW5nIGZyb20gQ29sb3JSZ2JhXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29sb3JTdHJpbmcocmdiYUNvbG9yOiBDb2xvclJnYmEpOiBzdHJpbmcge1xyXG4gIHJldHVybiBgcmdiYSgke3JnYmFDb2xvclsncmVkJ119LCAke3JnYmFDb2xvclsnZ3JlZW4nXX0sICR7cmdiYUNvbG9yWydibHVlJ119LCAke3JnYmFDb2xvclsnYWxwaGEnXX0pYDtcclxufVxyXG5cclxuLyoqXHJcbiAqIGZvcm1hdCBOdW1iZXIgd2l0aCBjb21tYXNcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXROdW1iZXJXaXRoQ29tbWFzKG51bTogbnVtYmVyKTogc3RyaW5nIHtcclxuICBjb25zdCBbaW50ZWdlclBhcnQsIGRlY2ltYWxQYXJ0XSA9IG51bS50b1N0cmluZygpLnNwbGl0KCcuJyk7XHJcbiAgY29uc3QgaW50ZWdlcldpdGhDb21tYXMgPSBpbnRlZ2VyUGFydC5yZXBsYWNlKC9cXEIoPz0oXFxkezN9KSsoPyFcXGQpKS9nLCAnLCcpO1xyXG4gIHJldHVybiBkZWNpbWFsUGFydCA/IGAke2ludGVnZXJXaXRoQ29tbWFzfS4ke2RlY2ltYWxQYXJ0fWAgOiBpbnRlZ2VyV2l0aENvbW1hcztcclxufVxyXG4iXX0=
@@ -1,100 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- /**
6
- * A chart scale
7
- * @record
8
- */
9
- export function Scale() { }
10
- if (false) {
11
- /** @type {?} */
12
- Scale.prototype.left;
13
- /** @type {?} */
14
- Scale.prototype.right;
15
- /** @type {?} */
16
- Scale.prototype.top;
17
- /** @type {?} */
18
- Scale.prototype.bottom;
19
- /**
20
- * Returns the location of the given data point. Value can either be an index or a numerical value
21
- * The coordinate (0, 0) is at the upper-left corner of the canvas
22
- * @param {?} value
23
- * @param {?=} index
24
- * @param {?=} datasetIndex
25
- * @return {?}
26
- */
27
- Scale.prototype.getPixelForValue = function (value, index, datasetIndex) { };
28
- /**
29
- * Used to get the data value from a given pixel. This is the inverse of getPixelForValue
30
- * The coordinate (0, 0) is at the upper-left corner of the canvas
31
- * @param {?} pixel
32
- * @return {?}
33
- */
34
- Scale.prototype.getValueForPixel = function (pixel) { };
35
- }
36
- /**
37
- * A time-based chart scale
38
- * @record
39
- */
40
- export function TimeScale() { }
41
- if (false) {
42
- /**
43
- * Returns the location of the given data point. Value can either be an index or a numerical value
44
- * The coordinate (0, 0) is at the upper-left corner of the canvas
45
- * @param {?} value
46
- * @param {?=} index
47
- * @param {?=} datasetIndex
48
- * @return {?}
49
- */
50
- TimeScale.prototype.getPixelForValue = function (value, index, datasetIndex) { };
51
- /**
52
- * Used to get the data value from a given pixel. This is the inverse of getPixelForValue
53
- * The coordinate (0, 0) is at the upper-left corner of the canvas
54
- * @param {?} pixel
55
- * @return {?}
56
- */
57
- TimeScale.prototype.getValueForPixel = function (pixel) { };
58
- }
59
- /**
60
- * Interface for a chart.js plugin
61
- * @record
62
- */
63
- export function IChartPlugin() { }
64
- if (false) {
65
- /** @type {?|undefined} */
66
- IChartPlugin.prototype.beforeInit;
67
- /** @type {?|undefined} */
68
- IChartPlugin.prototype.afterInit;
69
- /** @type {?|undefined} */
70
- IChartPlugin.prototype.resize;
71
- /** @type {?|undefined} */
72
- IChartPlugin.prototype.beforeUpdate;
73
- /** @type {?|undefined} */
74
- IChartPlugin.prototype.afterScaleUpdate;
75
- /** @type {?|undefined} */
76
- IChartPlugin.prototype.afterLayout;
77
- /** @type {?|undefined} */
78
- IChartPlugin.prototype.beforeDatasetsUpdate;
79
- /** @type {?|undefined} */
80
- IChartPlugin.prototype.afterDatasetsUpdate;
81
- /** @type {?|undefined} */
82
- IChartPlugin.prototype.afterUpdate;
83
- /** @type {?|undefined} */
84
- IChartPlugin.prototype.beforeRender;
85
- /** @type {?|undefined} */
86
- IChartPlugin.prototype.beforeDraw;
87
- /** @type {?|undefined} */
88
- IChartPlugin.prototype.afterDraw;
89
- /** @type {?|undefined} */
90
- IChartPlugin.prototype.beforeDatasetsDraw;
91
- /** @type {?|undefined} */
92
- IChartPlugin.prototype.afterDatasetsDraw;
93
- /** @type {?|undefined} */
94
- IChartPlugin.prototype.destroy;
95
- /** @type {?|undefined} */
96
- IChartPlugin.prototype.beforeEvent;
97
- /** @type {?|undefined} */
98
- IChartPlugin.prototype.afterEvent;
99
- }
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnRqc19leHQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtaGFuYS1uYW1lc2VydmVyLWhpc3Rvcnktdmlld2VyLyIsInNvdXJjZXMiOlsic3JjL25hbWVzZXJ2ZXItaGlzdG9yeS12aWV3ZXIvdXRpbHMvY2hhcnRqcy1kb3duc2FtcGxlL2NoYXJ0anNfZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBNkJBLDJCQXFCQzs7O0lBcEJHLHFCQUFhOztJQUNiLHNCQUFjOztJQUNkLG9CQUFZOztJQUNaLHVCQUFlOzs7Ozs7Ozs7SUFTZiw2RUFBNEU7Ozs7Ozs7SUFPNUUsd0RBQXFDOzs7Ozs7QUFNekMsK0JBZ0JDOzs7Ozs7Ozs7O0lBUkcsaUZBQTZFOzs7Ozs7O0lBTzdFLDREQUFzQzs7Ozs7O0FBTTFDLGtDQTJCQzs7O0lBMUJHLGtDQUE0Qzs7SUFDNUMsaUNBQTJDOztJQUUzQyw4QkFBd0U7O0lBRXhFLG9DQUF3RDs7SUFDeEQsd0NBQWlEOztJQUNqRCxtQ0FBNEM7O0lBQzVDLDRDQUErRDs7SUFDL0QsMkNBQW9EOztJQUNwRCxtQ0FBNEM7O0lBRTVDLG9DQUF1RDs7SUFFdkQsa0NBQXFFOztJQUNyRSxpQ0FBMEQ7O0lBRzFELDBDQUE2RTs7SUFDN0UseUNBQWtFOztJQUVsRSwrQkFBd0M7O0lBR3hDLG1DQUFrRTs7SUFDbEUsa0NBQXVEIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGlzIHBsdWdpbiBpcyBhZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS8zZGNsL2NoYXJ0anMtcGx1Z2luLXJlc3BvbnNpdmUtZG93bnNhbXBsZVxuICogZm9yIGNvbnRyb2xsaW5nIHRoZSByYWRpdXMgb2YgcG9pbnQuXG4gKlxuICogTUlUIExpY2Vuc2VcbiAqIENvcHlyaWdodCAoYykgMjAxOCAzRCBDb250ZW50IExvZ2lzdGljc1xuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gKiBTT0ZUV0FSRS5cbiAqL1xuaW1wb3J0IHsgQ2hhcnQgfSBmcm9tICdjaGFydC5qcyc7XG5cbi8qKlxuICogQSBjaGFydCBzY2FsZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjYWxlIHtcbiAgICBsZWZ0OiBudW1iZXI7XG4gICAgcmlnaHQ6IG51bWJlcjtcbiAgICB0b3A6IG51bWJlcjtcbiAgICBib3R0b206IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIGxvY2F0aW9uIG9mIHRoZSBnaXZlbiBkYXRhIHBvaW50LiBWYWx1ZSBjYW4gZWl0aGVyIGJlIGFuIGluZGV4IG9yIGEgbnVtZXJpY2FsIHZhbHVlXG4gICAgICogVGhlIGNvb3JkaW5hdGUgKDAsIDApIGlzIGF0IHRoZSB1cHBlci1sZWZ0IGNvcm5lciBvZiB0aGUgY2FudmFzXG4gICAgICogQHBhcmFtIHZhbHVlXG4gICAgICogQHBhcmFtIGluZGV4XG4gICAgICogQHBhcmFtIGRhdGFzZXRJbmRleFxuICAgICAqL1xuICAgIGdldFBpeGVsRm9yVmFsdWUodmFsdWU6IGFueSwgaW5kZXg/OiBudW1iZXIsIGRhdGFzZXRJbmRleD86IG51bWJlcik6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIFVzZWQgdG8gZ2V0IHRoZSBkYXRhIHZhbHVlIGZyb20gYSBnaXZlbiBwaXhlbC4gVGhpcyBpcyB0aGUgaW52ZXJzZSBvZiBnZXRQaXhlbEZvclZhbHVlXG4gICAgICogVGhlIGNvb3JkaW5hdGUgKDAsIDApIGlzIGF0IHRoZSB1cHBlci1sZWZ0IGNvcm5lciBvZiB0aGUgY2FudmFzXG4gICAgICogQHBhcmFtIHBpeGVsXG4gICAgICovXG4gICAgZ2V0VmFsdWVGb3JQaXhlbChwaXhlbDogbnVtYmVyKTogYW55O1xufVxuXG4vKipcbiAqIEEgdGltZS1iYXNlZCBjaGFydCBzY2FsZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRpbWVTY2FsZSBleHRlbmRzIFNjYWxlIHtcbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBsb2NhdGlvbiBvZiB0aGUgZ2l2ZW4gZGF0YSBwb2ludC4gVmFsdWUgY2FuIGVpdGhlciBiZSBhbiBpbmRleCBvciBhIG51bWVyaWNhbCB2YWx1ZVxuICAgICAqIFRoZSBjb29yZGluYXRlICgwLCAwKSBpcyBhdCB0aGUgdXBwZXItbGVmdCBjb3JuZXIgb2YgdGhlIGNhbnZhc1xuICAgICAqIEBwYXJhbSB2YWx1ZVxuICAgICAqIEBwYXJhbSBpbmRleFxuICAgICAqIEBwYXJhbSBkYXRhc2V0SW5kZXhcbiAgICAgKi9cbiAgICBnZXRQaXhlbEZvclZhbHVlKHZhbHVlOiBEYXRlLCBpbmRleD86IG51bWJlciwgZGF0YXNldEluZGV4PzogbnVtYmVyKTogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogVXNlZCB0byBnZXQgdGhlIGRhdGEgdmFsdWUgZnJvbSBhIGdpdmVuIHBpeGVsLiBUaGlzIGlzIHRoZSBpbnZlcnNlIG9mIGdldFBpeGVsRm9yVmFsdWVcbiAgICAgKiBUaGUgY29vcmRpbmF0ZSAoMCwgMCkgaXMgYXQgdGhlIHVwcGVyLWxlZnQgY29ybmVyIG9mIHRoZSBjYW52YXNcbiAgICAgKiBAcGFyYW0gcGl4ZWxcbiAgICAgKi9cbiAgICBnZXRWYWx1ZUZvclBpeGVsKHBpeGVsOiBudW1iZXIpOiBEYXRlO1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgYSBjaGFydC5qcyBwbHVnaW5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ2hhcnRQbHVnaW4ge1xuICAgIGJlZm9yZUluaXQ/OiAoY2hhcnRJbnN0YW5jZTogQ2hhcnQpID0+IHZvaWQ7XG4gICAgYWZ0ZXJJbml0PzogKGNoYXJ0SW5zdGFuY2U6IENoYXJ0KSA9PiB2b2lkO1xuXG4gICAgcmVzaXplPzogKGNoYXJ0SW5zdGFuY2U6IENoYXJ0LCBuZXdDaGFydFNpemU6IFtudW1iZXIsIG51bWJlcl0pID0+IHZvaWQ7XG5cbiAgICBiZWZvcmVVcGRhdGU/OiAoY2hhcnRJbnN0YW5jZTogQ2hhcnQpID0+IHZvaWQgfCBib29sZWFuO1xuICAgIGFmdGVyU2NhbGVVcGRhdGU/OiAoY2hhckluc3RhbmNlOiBDaGFydCkgPT4gdm9pZDtcbiAgICBhZnRlckxheW91dD86IChjaGFySW5zdGFuY2U6IENoYXJ0KSA9PiB2b2lkO1xuICAgIGJlZm9yZURhdGFzZXRzVXBkYXRlPzogKGNoYXJJbnN0YW5jZTogQ2hhcnQpID0+IHZvaWQgfCBib29sZWFuO1xuICAgIGFmdGVyRGF0YXNldHNVcGRhdGU/OiAoY2hhckluc3RhbmNlOiBDaGFydCkgPT4gdm9pZDtcbiAgICBhZnRlclVwZGF0ZT86IChjaGFySW5zdGFuY2U6IENoYXJ0KSA9PiB2b2lkO1xuXG4gICAgYmVmb3JlUmVuZGVyPzogKGNoYXJJbnN0YW5jZTogQ2hhcnQpID0+IHZvaWQgfCBib29sZWFuO1xuXG4gICAgYmVmb3JlRHJhdz86IChjaGFySW5zdGFuY2U6IENoYXJ0LCBlYXNpbmc6IHN0cmluZykgPT4gdm9pZCB8IGJvb2xlYW47XG4gICAgYWZ0ZXJEcmF3PzogKGNoYXJJbnN0YW5jZTogQ2hhcnQsIGVhc2luZzogc3RyaW5nKSA9PiB2b2lkO1xuXG4gICAgLy8gQmVmb3JlIHRoZSBkYXRhc2V0cyBhcmUgZHJhd24gYnV0IGFmdGVyIHNjYWxlcyBhcmUgZHJhd25cbiAgICBiZWZvcmVEYXRhc2V0c0RyYXc/OiAoY2hhckluc3RhbmNlOiBDaGFydCwgZWFzaW5nOiBzdHJpbmcpID0+IHZvaWQgfCBib29sZWFuO1xuICAgIGFmdGVyRGF0YXNldHNEcmF3PzogKGNoYXJJbnN0YW5jZTogQ2hhcnQsIGVhc2luZzogc3RyaW5nKSA9PiB2b2lkO1xuXG4gICAgZGVzdHJveT86IChjaGFySW5zdGFuY2U6IENoYXJ0KSA9PiB2b2lkO1xuXG4gICAgLy8gQ2FsbGVkIHdoZW4gYW4gZXZlbnQgb2NjdXJzIG9uIHRoZSBjaGFydFxuICAgIGJlZm9yZUV2ZW50PzogKGNoYXJJbnN0YW5jZTogQ2hhcnQsIGV2ZW50OiBhbnkpID0+IHZvaWQgfCBib29sZWFuO1xuICAgIGFmdGVyRXZlbnQ/OiAoY2hhckluc3RhbmNlOiBDaGFydCwgZXZlbnQ6IGFueSkgPT4gdm9pZDtcbn1cbiJdfQ==
@@ -1,88 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import * as moment_module from 'moment';
6
- /** @type {?} */
7
- var moment = (window && ((/** @type {?} */ (window))).moment) ? ((/** @type {?} */ (window))).moment : moment_module;
8
- import * as utils from './utils';
9
- /**
10
- * @param {?} value
11
- * @return {?}
12
- */
13
- function getCompareValue(value) {
14
- if (typeof value === 'number') {
15
- return value;
16
- }
17
- else if (typeof value === 'string') {
18
- return (new Date(value)).getTime();
19
- }
20
- else if (value instanceof Date) {
21
- return value.getTime();
22
- }
23
- else {
24
- return moment(value).toDate().getTime();
25
- }
26
- }
27
- /**
28
- * @param {?} previousValue
29
- * @param {?} currentValue
30
- * @return {?}
31
- */
32
- export function rangeIsEqual(previousValue, currentValue) {
33
- if (utils.isNil(previousValue) ||
34
- utils.isNil(currentValue) ||
35
- utils.isNil(previousValue[0]) ||
36
- utils.isNil(previousValue[1]) ||
37
- utils.isNil(currentValue[0]) ||
38
- utils.isNil(currentValue[1])) {
39
- return false;
40
- }
41
- previousValue = [getCompareValue(previousValue[0]), getCompareValue(previousValue[1])];
42
- currentValue = [getCompareValue(currentValue[0]), getCompareValue(currentValue[1])];
43
- return previousValue[0] === currentValue[0] && previousValue[1] === currentValue[1];
44
- }
45
- /**
46
- * @param {?} scale
47
- * @return {?}
48
- */
49
- export function getScaleRange(scale) {
50
- if (utils.isNil(scale)) {
51
- return [null, null];
52
- }
53
- /** @type {?} */
54
- var start = scale.getValueForPixel(scale.left);
55
- /** @type {?} */
56
- var end = scale.getValueForPixel(scale.right);
57
- return [start, end];
58
- }
59
- /**
60
- * @param {?} data
61
- * @param {?} range
62
- * @return {?}
63
- */
64
- export function cullData(data, range) {
65
- /** @type {?} */
66
- var startValue = getCompareValue(range[0]);
67
- /** @type {?} */
68
- var endValue = getCompareValue(range[1]);
69
- /** @type {?} */
70
- var startIndex = 0;
71
- /** @type {?} */
72
- var endIndex = data.length;
73
- for (var i = 1; i < data.length; ++i) {
74
- /** @type {?} */
75
- var point = data[i];
76
- /** @type {?} */
77
- var compareValue = getCompareValue(point.x || point.t);
78
- if (compareValue <= startValue) {
79
- startIndex = i;
80
- }
81
- if (compareValue >= endValue) {
82
- endIndex = i + 1;
83
- break;
84
- }
85
- }
86
- return data.slice(startIndex, endIndex);
87
- }
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YV9jdWxsaW5nLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWhhbmEtbmFtZXNlcnZlci1oaXN0b3J5LXZpZXdlci8iLCJzb3VyY2VzIjpbInNyYy9uYW1lc2VydmVyLWhpc3Rvcnktdmlld2VyL3V0aWxzL2NoYXJ0anMtZG93bnNhbXBsZS9kYXRhX2N1bGxpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQTBCQSxPQUFPLEtBQUssYUFBYSxNQUFNLFFBQVEsQ0FBQzs7SUFDbEMsTUFBTSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsbUJBQUEsTUFBTSxFQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBQSxNQUFNLEVBQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsYUFBYTtBQUMxRixPQUFPLEtBQUssS0FBSyxNQUFNLFNBQVMsQ0FBQzs7Ozs7QUFLakMsU0FBUyxlQUFlLENBQUMsS0FBYTtJQUNsQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtRQUMzQixPQUFPLEtBQUssQ0FBQztLQUNoQjtTQUFNLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1FBQ2xDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0tBQ3RDO1NBQU0sSUFBSSxLQUFLLFlBQVksSUFBSSxFQUFFO1FBQzlCLE9BQU8sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0tBQzFCO1NBQU07UUFDSCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztLQUMzQztBQUNMLENBQUM7Ozs7OztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsYUFBb0IsRUFBRSxZQUFtQjtJQUNsRSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO1FBQzFCLEtBQUssQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO1FBQ3pCLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLEtBQUssQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVCLEtBQUssQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQzlCO1FBQ0UsT0FBTyxLQUFLLENBQUM7S0FDaEI7SUFFRCxhQUFhLEdBQUcsQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkYsWUFBWSxHQUFHLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXBGLE9BQU8sYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFLLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLEtBQUssWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hGLENBQUM7Ozs7O0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUFZO0lBQ3RDLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUN0QixPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQ3JCOztRQUVLLEtBQUssR0FBRyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQzs7UUFDMUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBRS9DLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDeEIsQ0FBQzs7Ozs7O0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxJQUFrQixFQUFFLEtBQVk7O1FBQy9DLFVBQVUsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDOztRQUN0QyxRQUFRLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQzs7UUFDdEMsVUFBVSxHQUFHLENBQUM7O1FBQ2QsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNO0lBRTFCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFOztZQUM1QixLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQzs7WUFDZixZQUFZLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQztRQUV4RCxJQUFJLFlBQVksSUFBSSxVQUFVLEVBQUU7WUFDNUIsVUFBVSxHQUFHLENBQUMsQ0FBQztTQUNsQjtRQUVELElBQUksWUFBWSxJQUFJLFFBQVEsRUFBRTtZQUMxQixRQUFRLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNqQixNQUFNO1NBQ1Q7S0FDSjtJQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDNUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhpcyBwbHVnaW4gaXMgYWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vM2RjbC9jaGFydGpzLXBsdWdpbi1yZXNwb25zaXZlLWRvd25zYW1wbGVcbiAqIGZvciBjb250cm9sbGluZyB0aGUgcmFkaXVzIG9mIHBvaW50LlxuICpcbiAqIE1JVCBMaWNlbnNlXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggM0QgQ29udGVudCBMb2dpc3RpY3NcbiAqXG4gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cbmltcG9ydCB7IENoYXJ0UG9pbnQgfSBmcm9tICdjaGFydC5qcyc7XG5pbXBvcnQgeyBTY2FsZSB9IGZyb20gJy4vY2hhcnRqc19leHQnO1xuaW1wb3J0ICogYXMgbW9tZW50X21vZHVsZSBmcm9tICdtb21lbnQnO1xuY29uc3QgbW9tZW50ID0gKHdpbmRvdyAmJiAod2luZG93IGFzIGFueSkubW9tZW50KSA/ICh3aW5kb3cgYXMgYW55KS5tb21lbnQgOiBtb21lbnRfbW9kdWxlO1xuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCB0eXBlIFhWYWx1ZSA9IG51bWJlciB8IHN0cmluZyB8IERhdGUgfCBtb21lbnRfbW9kdWxlLk1vbWVudDtcbmV4cG9ydCB0eXBlIFJhbmdlID0gW1hWYWx1ZSwgWFZhbHVlXTtcblxuZnVuY3Rpb24gZ2V0Q29tcGFyZVZhbHVlKHZhbHVlOiBYVmFsdWUpOiBudW1iZXIge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmV0dXJuIChuZXcgRGF0ZSh2YWx1ZSkpLmdldFRpbWUoKTtcbiAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWUuZ2V0VGltZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBtb21lbnQodmFsdWUpLnRvRGF0ZSgpLmdldFRpbWUoKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByYW5nZUlzRXF1YWwocHJldmlvdXNWYWx1ZTogUmFuZ2UsIGN1cnJlbnRWYWx1ZTogUmFuZ2UpOiBib29sZWFuIHtcbiAgICBpZiAodXRpbHMuaXNOaWwocHJldmlvdXNWYWx1ZSkgfHxcbiAgICAgICAgdXRpbHMuaXNOaWwoY3VycmVudFZhbHVlKSB8fFxuICAgICAgICB1dGlscy5pc05pbChwcmV2aW91c1ZhbHVlWzBdKSB8fFxuICAgICAgICB1dGlscy5pc05pbChwcmV2aW91c1ZhbHVlWzFdKSB8fFxuICAgICAgICB1dGlscy5pc05pbChjdXJyZW50VmFsdWVbMF0pIHx8XG4gICAgICAgIHV0aWxzLmlzTmlsKGN1cnJlbnRWYWx1ZVsxXSlcbiAgICApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHByZXZpb3VzVmFsdWUgPSBbZ2V0Q29tcGFyZVZhbHVlKHByZXZpb3VzVmFsdWVbMF0pLCBnZXRDb21wYXJlVmFsdWUocHJldmlvdXNWYWx1ZVsxXSldO1xuICAgIGN1cnJlbnRWYWx1ZSA9IFtnZXRDb21wYXJlVmFsdWUoY3VycmVudFZhbHVlWzBdKSwgZ2V0Q29tcGFyZVZhbHVlKGN1cnJlbnRWYWx1ZVsxXSldO1xuXG4gICAgcmV0dXJuIHByZXZpb3VzVmFsdWVbMF0gPT09IGN1cnJlbnRWYWx1ZVswXSAmJiBwcmV2aW91c1ZhbHVlWzFdID09PSBjdXJyZW50VmFsdWVbMV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTY2FsZVJhbmdlKHNjYWxlOiBTY2FsZSk6IFJhbmdlIHtcbiAgICBpZiAodXRpbHMuaXNOaWwoc2NhbGUpKSB7XG4gICAgICByZXR1cm4gW251bGwsIG51bGxdO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YXJ0ID0gc2NhbGUuZ2V0VmFsdWVGb3JQaXhlbChzY2FsZS5sZWZ0KTtcbiAgICBjb25zdCBlbmQgPSBzY2FsZS5nZXRWYWx1ZUZvclBpeGVsKHNjYWxlLnJpZ2h0KTtcblxuICAgIHJldHVybiBbc3RhcnQsIGVuZF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjdWxsRGF0YShkYXRhOiBDaGFydFBvaW50W10sIHJhbmdlOiBSYW5nZSk6IENoYXJ0UG9pbnRbXSB7XG4gICAgY29uc3Qgc3RhcnRWYWx1ZSA9IGdldENvbXBhcmVWYWx1ZShyYW5nZVswXSk7XG4gICAgY29uc3QgZW5kVmFsdWUgPSBnZXRDb21wYXJlVmFsdWUocmFuZ2VbMV0pO1xuICAgIGxldCBzdGFydEluZGV4ID0gMDtcbiAgICBsZXQgZW5kSW5kZXggPSBkYXRhLmxlbmd0aDtcblxuICAgIGZvciAobGV0IGkgPSAxOyBpIDwgZGF0YS5sZW5ndGg7ICsraSkge1xuICAgICAgICBjb25zdCBwb2ludCA9IGRhdGFbaV07XG4gICAgICAgIGNvbnN0IGNvbXBhcmVWYWx1ZSA9IGdldENvbXBhcmVWYWx1ZShwb2ludC54IHx8IHBvaW50LnQpO1xuXG4gICAgICAgIGlmIChjb21wYXJlVmFsdWUgPD0gc3RhcnRWYWx1ZSkge1xuICAgICAgICAgICAgc3RhcnRJbmRleCA9IGk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29tcGFyZVZhbHVlID49IGVuZFZhbHVlKSB7XG4gICAgICAgICAgICBlbmRJbmRleCA9IGkgKyAxO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZGF0YS5zbGljZShzdGFydEluZGV4LCBlbmRJbmRleCk7XG59XG4iXX0=
@@ -1,307 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import * as utils from './utils';
6
- /**
7
- * A mipmap data structure for line chart data. Uses averages to downsample data.
8
- */
9
- var /**
10
- * A mipmap data structure for line chart data. Uses averages to downsample data.
11
- */
12
- DataMipmap = /** @class */ (function () {
13
- /**
14
- * Create a data mipmap
15
- * @param data The orignal line chart data
16
- * @param minNumPoints Minimal number of points on lowest mipmap level(limits number of levels)
17
- */
18
- function DataMipmap(data, minNumPoints) {
19
- if (minNumPoints === void 0) { minNumPoints = 2; }
20
- this.minNumPoints = minNumPoints;
21
- this.setData(data);
22
- }
23
- /**
24
- * Set the line chart data and update mipmap level.
25
- * @param data The orignal line chart data
26
- */
27
- /**
28
- * Set the line chart data and update mipmap level.
29
- * @param {?} data The orignal line chart data
30
- * @return {?}
31
- */
32
- DataMipmap.prototype.setData = /**
33
- * Set the line chart data and update mipmap level.
34
- * @param {?} data The orignal line chart data
35
- * @return {?}
36
- */
37
- function (data) {
38
- this.originalData = data || [];
39
- this.mipMaps = [];
40
- this.resolution = this.computeResolution(this.originalData);
41
- this.createMipMap();
42
- };
43
- /**
44
- * Set the minimal number of points
45
- * @param minNumPoints Minimal number of points on lowest mipmap level(limits number of levels)
46
- */
47
- /**
48
- * Set the minimal number of points
49
- * @param {?} minNumPoints Minimal number of points on lowest mipmap level(limits number of levels)
50
- * @return {?}
51
- */
52
- DataMipmap.prototype.setMinNumPoints = /**
53
- * Set the minimal number of points
54
- * @param {?} minNumPoints Minimal number of points on lowest mipmap level(limits number of levels)
55
- * @return {?}
56
- */
57
- function (minNumPoints) {
58
- this.minNumPoints = minNumPoints;
59
- this.mipMaps = [];
60
- this.createMipMap();
61
- };
62
- /**
63
- * Get the best fitting mipmap level for a certain scale resolution
64
- * @param resolution Desired resolution in ms per pixel
65
- */
66
- /**
67
- * Get the best fitting mipmap level for a certain scale resolution
68
- * @param {?} resolution Desired resolution in ms per pixel
69
- * @return {?}
70
- */
71
- DataMipmap.prototype.getMipMapForResolution = /**
72
- * Get the best fitting mipmap level for a certain scale resolution
73
- * @param {?} resolution Desired resolution in ms per pixel
74
- * @return {?}
75
- */
76
- function (resolution) {
77
- return this.getMipMapLevel(this.getMipMapIndexForResolution(resolution));
78
- };
79
- /**
80
- * Computes the index of the best fitting mipmap level for a certain scale resolution
81
- * @param resolution Desired resolution in ms per pixel
82
- */
83
- /**
84
- * Computes the index of the best fitting mipmap level for a certain scale resolution
85
- * @param {?} resolution Desired resolution in ms per pixel
86
- * @return {?}
87
- */
88
- DataMipmap.prototype.getMipMapIndexForResolution = /**
89
- * Computes the index of the best fitting mipmap level for a certain scale resolution
90
- * @param {?} resolution Desired resolution in ms per pixel
91
- * @return {?}
92
- */
93
- function (resolution) {
94
- if (utils.isNil(resolution)) {
95
- return 0;
96
- }
97
- /** @type {?} */
98
- var factor = resolution / this.resolution;
99
- return utils.clamp(Math.floor(Math.log(factor) / Math.log(2.0)), 0, this.mipMaps.length - 1);
100
- };
101
- /**
102
- * Get a mipmap level by index
103
- * @param level The index of the mipmap level
104
- */
105
- /**
106
- * Get a mipmap level by index
107
- * @param {?} level The index of the mipmap level
108
- * @return {?}
109
- */
110
- DataMipmap.prototype.getMipMapLevel = /**
111
- * Get a mipmap level by index
112
- * @param {?} level The index of the mipmap level
113
- * @return {?}
114
- */
115
- function (level) {
116
- return this.mipMaps[level];
117
- };
118
- /**
119
- * Get all mipmap level
120
- */
121
- /**
122
- * Get all mipmap level
123
- * @return {?}
124
- */
125
- DataMipmap.prototype.getMipMaps = /**
126
- * Get all mipmap level
127
- * @return {?}
128
- */
129
- function () {
130
- return this.mipMaps;
131
- };
132
- /**
133
- * Get the number of available mipmap level
134
- */
135
- /**
136
- * Get the number of available mipmap level
137
- * @return {?}
138
- */
139
- DataMipmap.prototype.getNumLevel = /**
140
- * Get the number of available mipmap level
141
- * @return {?}
142
- */
143
- function () {
144
- return this.mipMaps.length;
145
- };
146
- /**
147
- * @protected
148
- * @param {?} data
149
- * @return {?}
150
- */
151
- DataMipmap.prototype.computeResolution = /**
152
- * @protected
153
- * @param {?} data
154
- * @return {?}
155
- */
156
- function (data) {
157
- /** @type {?} */
158
- var minTimeDistance = Infinity;
159
- for (var i = 0, end = this.originalData.length - 1; i < end; ++i) {
160
- /** @type {?} */
161
- var current = this.originalData[i];
162
- /** @type {?} */
163
- var next = this.originalData[i + 1];
164
- minTimeDistance = Math.min(Math.abs(this.getTime(current) - this.getTime(next)), minTimeDistance);
165
- }
166
- return minTimeDistance;
167
- };
168
- /**
169
- * @protected
170
- * @return {?}
171
- */
172
- DataMipmap.prototype.createMipMap = /**
173
- * @protected
174
- * @return {?}
175
- */
176
- function () {
177
- /** @type {?} */
178
- var targetResolution = this.resolution;
179
- /** @type {?} */
180
- var targetLength = this.originalData.length;
181
- this.mipMaps.push(this.originalData);
182
- /** @type {?} */
183
- var lastMipMap = this.originalData;
184
- while (lastMipMap.length > this.minNumPoints) {
185
- targetResolution = targetResolution * 2;
186
- targetLength = Math.floor(targetLength * 0.5);
187
- lastMipMap = this.downsampleToResolution(lastMipMap, targetResolution, targetLength);
188
- this.mipMaps.push(lastMipMap);
189
- }
190
- };
191
- /**
192
- * @protected
193
- * @param {?} data
194
- * @param {?} targetResolution
195
- * @param {?} targetLength
196
- * @return {?}
197
- */
198
- DataMipmap.prototype.downsampleToResolution = /**
199
- * @protected
200
- * @param {?} data
201
- * @param {?} targetResolution
202
- * @param {?} targetLength
203
- * @return {?}
204
- */
205
- function (data, targetResolution, targetLength) {
206
- /** @type {?} */
207
- var output = [];
208
- /** @type {?} */
209
- var aggregationValues = [];
210
- /** @type {?} */
211
- var firstPoint = data[0];
212
- aggregationValues.push(firstPoint);
213
- for (var i = 1, end = data.length; i < end; ++i) {
214
- /** @type {?} */
215
- var currentPoint = data[i];
216
- /** @type {?} */
217
- var timeDistance = Math.abs(this.getTime(firstPoint) - this.getTime(currentPoint));
218
- if (timeDistance < targetResolution) {
219
- aggregationValues.push(currentPoint);
220
- }
221
- else {
222
- // create new sensor value in output
223
- /** @type {?} */
224
- var newPoint = this.getAverage(aggregationValues);
225
- output.push(newPoint);
226
- // reset aggregation data structure
227
- firstPoint = currentPoint;
228
- aggregationValues = [currentPoint];
229
- }
230
- }
231
- // insert last point
232
- output.push(this.getAverage(aggregationValues));
233
- return output;
234
- };
235
- /**
236
- * @protected
237
- * @param {?} aggregationValues
238
- * @return {?}
239
- */
240
- DataMipmap.prototype.getAverage = /**
241
- * @protected
242
- * @param {?} aggregationValues
243
- * @return {?}
244
- */
245
- function (aggregationValues) {
246
- /** @type {?} */
247
- var value = aggregationValues
248
- .map(function (point) { return (/** @type {?} */ (point.y)); })
249
- .reduce(function (previous, current) { return previous + current; })
250
- / aggregationValues.length;
251
- return {
252
- x: aggregationValues[0].x || aggregationValues[0].t,
253
- y: value
254
- };
255
- };
256
- /**
257
- * @protected
258
- * @param {?} point
259
- * @return {?}
260
- */
261
- DataMipmap.prototype.getTime = /**
262
- * @protected
263
- * @param {?} point
264
- * @return {?}
265
- */
266
- function (point) {
267
- /** @type {?} */
268
- var x = point.x || point.t;
269
- if (typeof x === 'number') {
270
- return x;
271
- }
272
- else if (typeof x === 'string') {
273
- return new Date(x).getTime();
274
- }
275
- else {
276
- return x.getTime();
277
- }
278
- };
279
- return DataMipmap;
280
- }());
281
- /**
282
- * A mipmap data structure for line chart data. Uses averages to downsample data.
283
- */
284
- export { DataMipmap };
285
- if (false) {
286
- /**
287
- * @type {?}
288
- * @protected
289
- */
290
- DataMipmap.prototype.minNumPoints;
291
- /**
292
- * @type {?}
293
- * @protected
294
- */
295
- DataMipmap.prototype.mipMaps;
296
- /**
297
- * @type {?}
298
- * @protected
299
- */
300
- DataMipmap.prototype.originalData;
301
- /**
302
- * @type {?}
303
- * @protected
304
- */
305
- DataMipmap.prototype.resolution;
306
- }
307
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YV9taXBtYXAuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtaGFuYS1uYW1lc2VydmVyLWhpc3Rvcnktdmlld2VyLyIsInNvdXJjZXMiOlsic3JjL25hbWVzZXJ2ZXItaGlzdG9yeS12aWV3ZXIvdXRpbHMvY2hhcnRqcy1kb3duc2FtcGxlL2RhdGFfbWlwbWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUF5QkEsT0FBTyxLQUFLLEtBQUssTUFBTSxTQUFTLENBQUM7Ozs7QUFLakM7Ozs7SUFNRTs7OztPQUlHO0lBQ0gsb0JBQVksSUFBa0IsRUFBRSxZQUF3QjtRQUF4Qiw2QkFBQSxFQUFBLGdCQUF3QjtRQUN0RCxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7O09BR0c7Ozs7OztJQUNILDRCQUFPOzs7OztJQUFQLFVBQVEsSUFBa0I7UUFDeEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7T0FHRzs7Ozs7O0lBQ0gsb0NBQWU7Ozs7O0lBQWYsVUFBZ0IsWUFBb0I7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7O09BR0c7Ozs7OztJQUNILDJDQUFzQjs7Ozs7SUFBdEIsVUFBdUIsVUFBa0I7UUFDdkMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUks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QUFDLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkQsQ0FBQyxFQUFFLEtBQUs7U0FDVCxDQUFDO0lBQ0osQ0FBQzs7Ozs7O0lBRVMsNEJBQU87Ozs7O0lBQWpCLFVBQWtCLEtBQWlCOztZQUMzQixDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQztRQUU1QixJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRTtZQUN6QixPQUFPLENBQUMsQ0FBQztTQUNWO2FBQU0sSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLEVBQUU7WUFDaEMsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUM5QjthQUFNO1lBQ0wsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDcEI7SUFDSCxDQUFDO0lBQ0gsaUJBQUM7QUFBRCxDQUFDLEFBcktELElBcUtDOzs7Ozs7Ozs7O0lBcEtDLGtDQUErQjs7Ozs7SUFDL0IsNkJBQWtDOzs7OztJQUNsQyxrQ0FBcUM7Ozs7O0lBQ3JDLGdDQUE2QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhpcyBwbHVnaW4gaXMgYWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vM2RjbC9jaGFydGpzLXBsdWdpbi1yZXNwb25zaXZlLWRvd25zYW1wbGVcbiAqIGZvciBjb250cm9sbGluZyB0aGUgcmFkaXVzIG9mIHBvaW50LlxuICpcbiAqIE1JVCBMaWNlbnNlXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggM0QgQ29udGVudCBMb2dpc3RpY3NcbiAqXG4gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cbmltcG9ydCB7IENoYXJ0UG9pbnQgfSBmcm9tICdjaGFydC5qcyc7XG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tICcuL3V0aWxzJztcblxuLyoqXG4gKiBBIG1pcG1hcCBkYXRhIHN0cnVjdHVyZSBmb3IgbGluZSBjaGFydCBkYXRhLiBVc2VzIGF2ZXJhZ2VzIHRvIGRvd25zYW1wbGUgZGF0YS5cbiAqL1xuZXhwb3J0IGNsYXNzIERhdGFNaXBtYXAge1xuICBwcm90ZWN0ZWQgbWluTnVtUG9pbnRzOiBudW1iZXI7XG4gIHByb3RlY3RlZCBtaXBNYXBzOiBDaGFydFBvaW50W11bXTtcbiAgcHJvdGVjdGVkIG9yaWdpbmFsRGF0YTogQ2hhcnRQb2ludFtdO1xuICBwcm90ZWN0ZWQgcmVzb2x1dGlvbjogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBkYXRhIG1pcG1hcFxuICAgKiBAcGFyYW0gZGF0YSBUaGUgb3JpZ25hbCBsaW5lIGNoYXJ0IGRhdGFcbiAgICogQHBhcmFtIG1pbk51bVBvaW50cyBNaW5pbWFsIG51bWJlciBvZiBwb2ludHMgb24gbG93ZXN0IG1pcG1hcCBsZXZlbChsaW1pdHMgbnVtYmVyIG9mIGxldmVscylcbiAgICovXG4gIGNvbnN0cnVjdG9yKGRhdGE6IENoYXJ0UG9pbnRbXSwgbWluTnVtUG9pbnRzOiBudW1iZXIgPSAyKSB7XG4gICAgdGhpcy5taW5OdW1Qb2ludHMgPSBtaW5OdW1Qb2ludHM7XG4gICAgdGhpcy5zZXREYXRhKGRhdGEpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgbGluZSBjaGFydCBkYXRhIGFuZCB1cGRhdGUgbWlwbWFwIGxldmVsLlxuICAgKiBAcGFyYW0gZGF0YSBUaGUgb3JpZ25hbCBsaW5lIGNoYXJ0IGRhdGFcbiAgICovXG4gIHNldERhdGEoZGF0YTogQ2hhcnRQb2ludFtdKTogdm9pZCB7XG4gICAgdGhpcy5vcmlnaW5hbERhdGEgPSBkYXRhIHx8IFtdO1xuICAgIHRoaXMubWlwTWFwcyA9IFtdO1xuICAgIHRoaXMucmVzb2x1dGlvbiA9IHRoaXMuY29tcHV0ZVJlc29sdXRpb24odGhpcy5vcmlnaW5hbERhdGEpO1xuICAgIHRoaXMuY3JlYXRlTWlwTWFwKCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBtaW5pbWFsIG51bWJlciBvZiBwb2ludHNcbiAgICogQHBhcmFtIG1pbk51bVBvaW50cyBNaW5pbWFsIG51bWJlciBvZiBwb2ludHMgb24gbG93ZXN0IG1pcG1hcCBsZXZlbChsaW1pdHMgbnVtYmVyIG9mIGxldmVscylcbiAgICovXG4gIHNldE1pbk51bVBvaW50cyhtaW5OdW1Qb2ludHM6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMubWluTnVtUG9pbnRzID0gbWluTnVtUG9pbnRzO1xuICAgIHRoaXMubWlwTWFwcyA9IFtdO1xuICAgIHRoaXMuY3JlYXRlTWlwTWFwKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBiZXN0IGZpdHRpbmcgbWlwbWFwIGxldmVsIGZvciBhIGNlcnRhaW4gc2NhbGUgcmVzb2x1dGlvblxuICAgKiBAcGFyYW0gcmVzb2x1dGlvbiBEZXNpcmVkIHJlc29sdXRpb24gaW4gbXMgcGVyIHBpeGVsXG4gICAqL1xuICBnZXRNaXBNYXBGb3JSZXNvbHV0aW9uKHJlc29sdXRpb246IG51bWJlcik6IENoYXJ0UG9pbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TWlwTWFwTGV2ZWwodGhpcy5nZXRNaXBNYXBJbmRleEZvclJlc29sdXRpb24ocmVzb2x1dGlvbikpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXB1dGVzIHRoZSBpbmRleCBvZiB0aGUgYmVzdCBmaXR0aW5nIG1pcG1hcCBsZXZlbCBmb3IgYSBjZXJ0YWluIHNjYWxlIHJlc29sdXRpb25cbiAgICogQHBhcmFtIHJlc29sdXRpb24gRGVzaXJlZCByZXNvbHV0aW9uIGluIG1zIHBlciBwaXhlbFxuICAgKi9cbiAgZ2V0TWlwTWFwSW5kZXhGb3JSZXNvbHV0aW9uKHJlc29sdXRpb246IG51bWJlcik6IG51bWJlciB7XG4gICAgaWYgKHV0aWxzLmlzTmlsKHJlc29sdXRpb24pKSB7IHJldHVybiAwOyB9XG5cbiAgICBjb25zdCBmYWN0b3IgPSByZXNvbHV0aW9uIC8gdGhpcy5yZXNvbHV0aW9uO1xuICAgIHJldHVybiB1dGlscy5jbGFtcChNYXRoLmZsb29yKE1hdGgubG9nKGZhY3RvcikgLyBNYXRoLmxvZygyLjApKSwgMCwgdGhpcy5taXBNYXBzLmxlbmd0aCAtIDEpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIG1pcG1hcCBsZXZlbCBieSBpbmRleFxuICAgKiBAcGFyYW0gbGV2ZWwgVGhlIGluZGV4IG9mIHRoZSBtaXBtYXAgbGV2ZWxcbiAgICovXG4gIGdldE1pcE1hcExldmVsKGxldmVsOiBudW1iZXIpOiBDaGFydFBvaW50W10ge1xuICAgIHJldHVybiB0aGlzLm1pcE1hcHNbbGV2ZWxdO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbGwgbWlwbWFwIGxldmVsXG4gICAqL1xuICBnZXRNaXBNYXBzKCk6IENoYXJ0UG9pbnRbXVtdIHtcbiAgICByZXR1cm4gdGhpcy5taXBNYXBzO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbnVtYmVyIG9mIGF2YWlsYWJsZSBtaXBtYXAgbGV2ZWxcbiAgICovXG4gIGdldE51bUxldmVsKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMubWlwTWFwcy5sZW5ndGg7XG4gIH1cblxuICBwcm90ZWN0ZWQgY29tcHV0ZVJlc29sdXRpb24oZGF0YTogQ2hhcnRQb2ludFtdKTogbnVtYmVyIHtcbiAgICBsZXQgbWluVGltZURpc3RhbmNlID0gSW5maW5pdHk7XG5cbiAgICBmb3IgKGxldCBpID0gMCwgZW5kID0gdGhpcy5vcmlnaW5hbERhdGEubGVuZ3RoIC0gMTsgaSA8IGVuZDsgKytpKSB7XG4gICAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5vcmlnaW5hbERhdGFbaV07XG4gICAgICBjb25zdCBuZXh0ID0gdGhpcy5vcmlnaW5hbERhdGFbaSArIDFdO1xuXG5cbiAgICAgIG1pblRpbWVEaXN0YW5jZSA9IE1hdGgubWluKFxuICAgICAgICBNYXRoLmFicyh0aGlzLmdldFRpbWUoY3VycmVudCkgLSB0aGlzLmdldFRpbWUobmV4dCkpLFxuICAgICAgICBtaW5UaW1lRGlzdGFuY2VcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1pblRpbWVEaXN0YW5jZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVNaXBNYXAoKTogdm9pZCB7XG4gICAgbGV0IHRhcmdldFJlc29sdXRpb24gPSB0aGlzLnJlc29sdXRpb247XG4gICAgbGV0IHRhcmdldExlbmd0aCA9IHRoaXMub3JpZ2luYWxEYXRhLmxlbmd0aDtcbiAgICB0aGlzLm1pcE1hcHMucHVzaCh0aGlzLm9yaWdpbmFsRGF0YSk7XG4gICAgbGV0IGxhc3RNaXBNYXAgPSB0aGlzLm9yaWdpbmFsRGF0YTtcblxuICAgIHdoaWxlIChsYXN0TWlwTWFwLmxlbmd0aCA+IHRoaXMubWluTnVtUG9pbnRzKSB7XG4gICAgICB0YXJnZXRSZXNvbHV0aW9uID0gdGFyZ2V0UmVzb2x1dGlvbiAqIDI7XG4gICAgICB0YXJnZXRMZW5ndGggPSBNYXRoLmZsb29yKHRhcmdldExlbmd0aCAqIDAuNSk7XG4gICAgICBsYXN0TWlwTWFwID0gdGhpcy5kb3duc2FtcGxlVG9SZXNvbHV0aW9uKGxhc3RNaXBNYXAsIHRhcmdldFJlc29sdXRpb24sIHRhcmdldExlbmd0aCk7XG4gICAgICB0aGlzLm1pcE1hcHMucHVzaChsYXN0TWlwTWFwKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZG93bnNhbXBsZVRvUmVzb2x1dGlvbihcbiAgICBkYXRhOiBDaGFydFBvaW50W10sXG4gICAgdGFyZ2V0UmVzb2x1dGlvbjogbnVtYmVyLFxuICAgIHRhcmdldExlbmd0aDogbnVtYmVyXG4gICk6IENoYXJ0UG9pbnRbXSB7XG4gICAgY29uc3Qgb3V0cHV0OiBDaGFydFBvaW50W10gPSBbXTtcbiAgICBsZXQgYWdncmVnYXRpb25WYWx1ZXM6IENoYXJ0UG9pbnRbXSA9IFtdO1xuICAgIGxldCBmaXJzdFBvaW50ID0gZGF0YVswXTtcbiAgICBhZ2dyZWdhdGlvblZhbHVlcy5wdXNoKGZpcnN0UG9pbnQpO1xuXG4gICAgZm9yIChsZXQgaSA9IDEsIGVuZCA9IGRhdGEubGVuZ3RoOyBpIDwgZW5kOyArK2kpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnRQb2ludCA9IGRhdGFbaV07XG4gICAgICBjb25zdCB0aW1lRGlzdGFuY2UgPSBNYXRoLmFicyh0aGlzLmdldFRpbWUoZmlyc3RQb2ludCkgLSB0aGlzLmdldFRpbWUoY3VycmVudFBvaW50KSk7XG5cbiAgICAgIGlmICh0aW1lRGlzdGFuY2UgPCB0YXJnZXRSZXNvbHV0aW9uKSB7XG4gICAgICAgIGFnZ3JlZ2F0aW9uVmFsdWVzLnB1c2goY3VycmVudFBvaW50KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGNyZWF0ZSBuZXcgc2Vuc29yIHZhbHVlIGluIG91dHB1dFxuICAgICAgICBjb25zdCBuZXdQb2ludCA9IHRoaXMuZ2V0QXZlcmFnZShhZ2dyZWdhdGlvblZhbHVlcyk7XG4gICAgICAgIG91dHB1dC5wdXNoKG5ld1BvaW50KTtcblxuICAgICAgICAvLyByZXNldCBhZ2dyZWdhdGlvbiBkYXRhIHN0cnVjdHVyZVxuICAgICAgICBmaXJzdFBvaW50ID0gY3VycmVudFBvaW50O1xuICAgICAgICBhZ2dyZWdhdGlvblZhbHVlcyA9IFtjdXJyZW50UG9pbnRdO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGluc2VydCBsYXN0IHBvaW50XG4gICAgb3V0cHV0LnB1c2godGhpcy5nZXRBdmVyYWdlKGFnZ3JlZ2F0aW9uVmFsdWVzKSk7XG5cbiAgICByZXR1cm4gb3V0cHV0O1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEF2ZXJhZ2UoYWdncmVnYXRpb25WYWx1ZXM6IENoYXJ0UG9pbnRbXSk6IENoYXJ0UG9pbnQge1xuICAgIGNvbnN0IHZhbHVlID0gYWdncmVnYXRpb25WYWx1ZXNcbiAgICAgIC5tYXAocG9pbnQgPT4gcG9pbnQueSBhcyBudW1iZXIpXG4gICAgICAucmVkdWNlKChwcmV2aW91cywgY3VycmVudCkgPT4gcHJldmlvdXMgKyBjdXJyZW50KVxuICAgICAgLyBhZ2dyZWdhdGlvblZhbHVlcy5sZW5ndGg7XG5cbiAgICByZXR1cm4ge1xuICAgICAgeDogYWdncmVnYXRpb25WYWx1ZXNbMF0ueCB8fCBhZ2dyZWdhdGlvblZhbHVlc1swXS50LFxuICAgICAgeTogdmFsdWVcbiAgICB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldFRpbWUocG9pbnQ6IENoYXJ0UG9pbnQpOiBudW1iZXIge1xuICAgIGNvbnN0IHggPSBwb2ludC54IHx8IHBvaW50LnQ7XG5cbiAgICBpZiAodHlwZW9mIHggPT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4geDtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB4ID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKHgpLmdldFRpbWUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHguZ2V0VGltZSgpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,46 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- /**
6
- * This plugin is adapted from: https://github.com/3dcl/chartjs-plugin-responsive-downsample
7
- * for controlling the radius of point.
8
- *
9
- * MIT License
10
- * Copyright (c) 2018 3D Content Logistics
11
- *
12
- * Permission is hereby granted, free of charge, to any person obtaining a copy
13
- * of this software and associated documentation files (the "Software"), to deal
14
- * in the Software without restriction, including without limitation the rights
15
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
16
- * copies of the Software, and to permit persons to whom the Software is
17
- * furnished to do so, subject to the following conditions:
18
- * The above copyright notice and this permission notice shall be included in all
19
- * copies or substantial portions of the Software.
20
- *
21
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27
- * SOFTWARE.
28
- */
29
- import * as chartjs from 'chart.js';
30
- /** @type {?} */
31
- var Chart = window && ((/** @type {?} */ (window))).Chart ? ((/** @type {?} */ (window))).Chart : chartjs.Chart;
32
- import { ResponsiveDownsamplePlugin } from './responsive_downsample_plugin';
33
- export { ResponsiveDownsamplePlugin } from './responsive_downsample_plugin';
34
- // comment this because this plugin is only used internally, merge ChartOptions interface is unnecessary
35
- // and causes build error: "error TS2665: Invalid module name in augmentation.".
36
- // // Extend chart.js options interface
37
- // declare module 'chart.js' {
38
- // interface ChartOptions {
39
- // /**
40
- // * Options for responsive downsample plugin
41
- // */
42
- // responsiveDownsample?: ResponsiveDownsamplePluginOptions;
43
- // }
44
- // }
45
- Chart.pluginService.register(new ResponsiveDownsamplePlugin());
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtaGFuYS1uYW1lc2VydmVyLWhpc3Rvcnktdmlld2VyLyIsInNvdXJjZXMiOlsic3JjL25hbWVzZXJ2ZXItaGlzdG9yeS12aWV3ZXIvdXRpbHMvY2hhcnRqcy1kb3duc2FtcGxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF3QkEsT0FBTyxLQUFLLE9BQU8sTUFBTSxVQUFVLENBQUM7O0lBQzlCLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxtQkFBQSxNQUFNLEVBQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBQSxNQUFNLEVBQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUs7QUFFckYsT0FBTyxFQUFFLDBCQUEwQixFQUFxQyxNQUFNLGdDQUFnQyxDQUFDO0FBQy9HLE9BQU8sRUFBRSwwQkFBMEIsRUFBcUMsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7Ozs7Ozs7O0FBZS9HLEtBQUssQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksMEJBQTBCLEVBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGlzIHBsdWdpbiBpcyBhZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS8zZGNsL2NoYXJ0anMtcGx1Z2luLXJlc3BvbnNpdmUtZG93bnNhbXBsZVxuICogZm9yIGNvbnRyb2xsaW5nIHRoZSByYWRpdXMgb2YgcG9pbnQuXG4gKlxuICogTUlUIExpY2Vuc2VcbiAqIENvcHlyaWdodCAoYykgMjAxOCAzRCBDb250ZW50IExvZ2lzdGljc1xuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gKiBTT0ZUV0FSRS5cbiAqL1xuaW1wb3J0ICogYXMgY2hhcnRqcyBmcm9tICdjaGFydC5qcyc7XG5jb25zdCBDaGFydCA9IHdpbmRvdyAmJiAod2luZG93IGFzIGFueSkuQ2hhcnQgPyAod2luZG93IGFzIGFueSkuQ2hhcnQgOiBjaGFydGpzLkNoYXJ0O1xuXG5pbXBvcnQgeyBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbiwgUmVzcG9uc2l2ZURvd25zYW1wbGVQbHVnaW5PcHRpb25zIH0gZnJvbSAnLi9yZXNwb25zaXZlX2Rvd25zYW1wbGVfcGx1Z2luJztcbmV4cG9ydCB7IFJlc3BvbnNpdmVEb3duc2FtcGxlUGx1Z2luLCBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbk9wdGlvbnMgfSBmcm9tICcuL3Jlc3BvbnNpdmVfZG93bnNhbXBsZV9wbHVnaW4nO1xuXG5cbi8vIGNvbW1lbnQgdGhpcyBiZWNhdXNlIHRoaXMgcGx1Z2luIGlzIG9ubHkgdXNlZCBpbnRlcm5hbGx5LCBtZXJnZSBDaGFydE9wdGlvbnMgaW50ZXJmYWNlIGlzIHVubmVjZXNzYXJ5XG4vLyBhbmQgY2F1c2VzIGJ1aWxkIGVycm9yOiBcImVycm9yIFRTMjY2NTogSW52YWxpZCBtb2R1bGUgbmFtZSBpbiBhdWdtZW50YXRpb24uXCIuXG4vLyAvLyBFeHRlbmQgY2hhcnQuanMgb3B0aW9ucyBpbnRlcmZhY2Vcbi8vIGRlY2xhcmUgbW9kdWxlICdjaGFydC5qcycge1xuLy8gICAgIGludGVyZmFjZSBDaGFydE9wdGlvbnMge1xuLy8gICAgICAgICAvKipcbi8vICAgICAgICAgICogT3B0aW9ucyBmb3IgcmVzcG9uc2l2ZSBkb3duc2FtcGxlIHBsdWdpblxuLy8gICAgICAgICAgKi9cbi8vICAgICAgICAgcmVzcG9uc2l2ZURvd25zYW1wbGU/OiBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbk9wdGlvbnM7XG4vLyAgICAgfVxuLy8gfVxuXG5DaGFydC5wbHVnaW5TZXJ2aWNlLnJlZ2lzdGVyKG5ldyBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbigpKTtcbiJdfQ==