ngx-hana-nameserver-history-viewer 1.1.2 → 1.1.9-2.beta

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 (241) hide show
  1. package/README.md +6 -5
  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.js → ngx-hana-nameserver-history-viewer.mjs} +971 -2679
  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 +33 -57
  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/utils/chartjs-downsample/lttb_data_mipmap.d.ts +1 -1
  94. package/src/nameserver-history-viewer/utils/file-util.d.ts +11 -0
  95. package/bundles/ngx-hana-nameserver-history-viewer.umd.js +0 -6735
  96. package/bundles/ngx-hana-nameserver-history-viewer.umd.js.map +0 -1
  97. package/bundles/ngx-hana-nameserver-history-viewer.umd.min.js +0 -2
  98. package/bundles/ngx-hana-nameserver-history-viewer.umd.min.js.map +0 -1
  99. package/esm2015/ngx-hana-nameserver-history-viewer.js +0 -10
  100. package/esm2015/public-api.js +0 -6
  101. package/esm2015/src/nameserver-history-viewer/components/alert/alert.component.js +0 -114
  102. package/esm2015/src/nameserver-history-viewer/components/alert/alert.module.js +0 -21
  103. package/esm2015/src/nameserver-history-viewer/components/alert/index.js +0 -7
  104. package/esm2015/src/nameserver-history-viewer/components/file-drop-input/file-drop-input.component.js +0 -141
  105. package/esm2015/src/nameserver-history-viewer/components/file-drop-input/index.js +0 -6
  106. package/esm2015/src/nameserver-history-viewer/components/index.js +0 -13
  107. package/esm2015/src/nameserver-history-viewer/components/instruction/index.js +0 -6
  108. package/esm2015/src/nameserver-history-viewer/components/instruction/instruction.component.js +0 -62
  109. package/esm2015/src/nameserver-history-viewer/components/nameserver-history.component.js +0 -868
  110. package/esm2015/src/nameserver-history-viewer/components/port-selector/index.js +0 -6
  111. package/esm2015/src/nameserver-history-viewer/components/port-selector/port-selector.component.js +0 -93
  112. package/esm2015/src/nameserver-history-viewer/components/port-selector/port-selector.service.js +0 -60
  113. package/esm2015/src/nameserver-history-viewer/components/progress-bar/index.js +0 -6
  114. package/esm2015/src/nameserver-history-viewer/components/progress-bar/progress-bar.component.js +0 -35
  115. package/esm2015/src/nameserver-history-viewer/components/time-range-selector/index.js +0 -6
  116. package/esm2015/src/nameserver-history-viewer/components/time-range-selector/time-range-selector.component.js +0 -68
  117. package/esm2015/src/nameserver-history-viewer/components/timezone-selector/index.js +0 -6
  118. package/esm2015/src/nameserver-history-viewer/components/timezone-selector/timezone-selector.component.js +0 -151
  119. package/esm2015/src/nameserver-history-viewer/components/timezone-selector/timezone-selector.service.js +0 -80
  120. package/esm2015/src/nameserver-history-viewer/index.js +0 -6
  121. package/esm2015/src/nameserver-history-viewer/nameserver-history.module.js +0 -42
  122. package/esm2015/src/nameserver-history-viewer/services/chart.service.js +0 -504
  123. package/esm2015/src/nameserver-history-viewer/services/file.service.js +0 -487
  124. package/esm2015/src/nameserver-history-viewer/services/index.js +0 -8
  125. package/esm2015/src/nameserver-history-viewer/services/ui.service.js +0 -922
  126. package/esm2015/src/nameserver-history-viewer/types/abort.types.js +0 -13
  127. package/esm2015/src/nameserver-history-viewer/types/alert.types.js +0 -13
  128. package/esm2015/src/nameserver-history-viewer/types/chart-content-data-item.types.js +0 -15
  129. package/esm2015/src/nameserver-history-viewer/types/chart-content-data.types.js +0 -9
  130. package/esm2015/src/nameserver-history-viewer/types/chart-content-header.types.js +0 -15
  131. package/esm2015/src/nameserver-history-viewer/types/chart-content-time.types.js +0 -9
  132. package/esm2015/src/nameserver-history-viewer/types/chart-content.types.js +0 -21
  133. package/esm2015/src/nameserver-history-viewer/types/color-rgba.types.js +0 -19
  134. package/esm2015/src/nameserver-history-viewer/types/html-element.type.js +0 -19
  135. package/esm2015/src/nameserver-history-viewer/types/index.js +0 -32
  136. package/esm2015/src/nameserver-history-viewer/types/item.types.js +0 -19
  137. package/esm2015/src/nameserver-history-viewer/types/legend-color.types.js +0 -9
  138. package/esm2015/src/nameserver-history-viewer/types/load-history-info-backup.types.js +0 -19
  139. package/esm2015/src/nameserver-history-viewer/types/load-history-info-columnstore.types.js +0 -19
  140. package/esm2015/src/nameserver-history-viewer/types/load-history-info-host.types.js +0 -35
  141. package/esm2015/src/nameserver-history-viewer/types/load-history-info-item.types.js +0 -31
  142. package/esm2015/src/nameserver-history-viewer/types/load-history-info-persistence.types.js +0 -27
  143. package/esm2015/src/nameserver-history-viewer/types/load-history-info-rowstore.types.js +0 -15
  144. package/esm2015/src/nameserver-history-viewer/types/load-history-info-server.types.js +0 -25
  145. package/esm2015/src/nameserver-history-viewer/types/load-history-info-session-admission-control.types.js +0 -25
  146. package/esm2015/src/nameserver-history-viewer/types/load-history-info-sql.types.js +0 -37
  147. package/esm2015/src/nameserver-history-viewer/types/load-history-info-sync-primitives.types.js +0 -15
  148. package/esm2015/src/nameserver-history-viewer/types/load-history-info-threads.types.js +0 -23
  149. package/esm2015/src/nameserver-history-viewer/types/load-history-info.types.js +0 -31
  150. package/esm2015/src/nameserver-history-viewer/types/port.types.js +0 -17
  151. package/esm2015/src/nameserver-history-viewer/types/scale-group.types.js +0 -35
  152. package/esm2015/src/nameserver-history-viewer/types/unit-category.types.js +0 -21
  153. package/esm2015/src/nameserver-history-viewer/types/unit.types.js +0 -19
  154. package/esm2015/src/nameserver-history-viewer/utils/chart-util.js +0 -38
  155. package/esm2015/src/nameserver-history-viewer/utils/chartjs-downsample/chartjs_ext.js +0 -100
  156. package/esm2015/src/nameserver-history-viewer/utils/chartjs-downsample/data_culling.js +0 -88
  157. package/esm2015/src/nameserver-history-viewer/utils/chartjs-downsample/data_mipmap.js +0 -222
  158. package/esm2015/src/nameserver-history-viewer/utils/chartjs-downsample/index.js +0 -46
  159. package/esm2015/src/nameserver-history-viewer/utils/chartjs-downsample/lttb_data_mipmap.js +0 -166
  160. package/esm2015/src/nameserver-history-viewer/utils/chartjs-downsample/responsive_downsample_plugin.js +0 -311
  161. package/esm2015/src/nameserver-history-viewer/utils/chartjs-downsample/utils.js +0 -130
  162. package/esm2015/src/nameserver-history-viewer/utils/chartjs-zoom/chart.zoom.js +0 -827
  163. package/esm2015/src/nameserver-history-viewer/utils/chartjs-zoom/index.js +0 -6
  164. package/esm2015/src/nameserver-history-viewer/utils/file-util.js +0 -162
  165. package/esm2015/src/nameserver-history-viewer/utils/index.js +0 -9
  166. package/esm2015/src/nameserver-history-viewer/utils/time-util.js +0 -139
  167. package/esm2015/src/nameserver-history-viewer/utils/ui-util.js +0 -239
  168. package/esm5/ngx-hana-nameserver-history-viewer.js +0 -10
  169. package/esm5/public-api.js +0 -6
  170. package/esm5/src/nameserver-history-viewer/components/alert/alert.component.js +0 -146
  171. package/esm5/src/nameserver-history-viewer/components/alert/alert.module.js +0 -25
  172. package/esm5/src/nameserver-history-viewer/components/alert/index.js +0 -7
  173. package/esm5/src/nameserver-history-viewer/components/file-drop-input/file-drop-input.component.js +0 -155
  174. package/esm5/src/nameserver-history-viewer/components/file-drop-input/index.js +0 -6
  175. package/esm5/src/nameserver-history-viewer/components/index.js +0 -13
  176. package/esm5/src/nameserver-history-viewer/components/instruction/index.js +0 -6
  177. package/esm5/src/nameserver-history-viewer/components/instruction/instruction.component.js +0 -67
  178. package/esm5/src/nameserver-history-viewer/components/nameserver-history.component.js +0 -1116
  179. package/esm5/src/nameserver-history-viewer/components/port-selector/index.js +0 -6
  180. package/esm5/src/nameserver-history-viewer/components/port-selector/port-selector.component.js +0 -93
  181. package/esm5/src/nameserver-history-viewer/components/port-selector/port-selector.service.js +0 -85
  182. package/esm5/src/nameserver-history-viewer/components/progress-bar/index.js +0 -6
  183. package/esm5/src/nameserver-history-viewer/components/progress-bar/progress-bar.component.js +0 -26
  184. package/esm5/src/nameserver-history-viewer/components/time-range-selector/index.js +0 -6
  185. package/esm5/src/nameserver-history-viewer/components/time-range-selector/time-range-selector.component.js +0 -58
  186. package/esm5/src/nameserver-history-viewer/components/timezone-selector/index.js +0 -6
  187. package/esm5/src/nameserver-history-viewer/components/timezone-selector/timezone-selector.component.js +0 -180
  188. package/esm5/src/nameserver-history-viewer/components/timezone-selector/timezone-selector.service.js +0 -110
  189. package/esm5/src/nameserver-history-viewer/index.js +0 -6
  190. package/esm5/src/nameserver-history-viewer/nameserver-history.module.js +0 -46
  191. package/esm5/src/nameserver-history-viewer/services/chart.service.js +0 -659
  192. package/esm5/src/nameserver-history-viewer/services/file.service.js +0 -606
  193. package/esm5/src/nameserver-history-viewer/services/index.js +0 -8
  194. package/esm5/src/nameserver-history-viewer/services/ui.service.js +0 -1141
  195. package/esm5/src/nameserver-history-viewer/types/abort.types.js +0 -13
  196. package/esm5/src/nameserver-history-viewer/types/alert.types.js +0 -13
  197. package/esm5/src/nameserver-history-viewer/types/chart-content-data-item.types.js +0 -15
  198. package/esm5/src/nameserver-history-viewer/types/chart-content-data.types.js +0 -9
  199. package/esm5/src/nameserver-history-viewer/types/chart-content-header.types.js +0 -15
  200. package/esm5/src/nameserver-history-viewer/types/chart-content-time.types.js +0 -9
  201. package/esm5/src/nameserver-history-viewer/types/chart-content.types.js +0 -21
  202. package/esm5/src/nameserver-history-viewer/types/color-rgba.types.js +0 -19
  203. package/esm5/src/nameserver-history-viewer/types/html-element.type.js +0 -19
  204. package/esm5/src/nameserver-history-viewer/types/index.js +0 -32
  205. package/esm5/src/nameserver-history-viewer/types/item.types.js +0 -19
  206. package/esm5/src/nameserver-history-viewer/types/legend-color.types.js +0 -9
  207. package/esm5/src/nameserver-history-viewer/types/load-history-info-backup.types.js +0 -19
  208. package/esm5/src/nameserver-history-viewer/types/load-history-info-columnstore.types.js +0 -19
  209. package/esm5/src/nameserver-history-viewer/types/load-history-info-host.types.js +0 -35
  210. package/esm5/src/nameserver-history-viewer/types/load-history-info-item.types.js +0 -31
  211. package/esm5/src/nameserver-history-viewer/types/load-history-info-persistence.types.js +0 -27
  212. package/esm5/src/nameserver-history-viewer/types/load-history-info-rowstore.types.js +0 -15
  213. package/esm5/src/nameserver-history-viewer/types/load-history-info-server.types.js +0 -25
  214. package/esm5/src/nameserver-history-viewer/types/load-history-info-session-admission-control.types.js +0 -25
  215. package/esm5/src/nameserver-history-viewer/types/load-history-info-sql.types.js +0 -37
  216. package/esm5/src/nameserver-history-viewer/types/load-history-info-sync-primitives.types.js +0 -15
  217. package/esm5/src/nameserver-history-viewer/types/load-history-info-threads.types.js +0 -23
  218. package/esm5/src/nameserver-history-viewer/types/load-history-info.types.js +0 -31
  219. package/esm5/src/nameserver-history-viewer/types/port.types.js +0 -17
  220. package/esm5/src/nameserver-history-viewer/types/scale-group.types.js +0 -35
  221. package/esm5/src/nameserver-history-viewer/types/unit-category.types.js +0 -21
  222. package/esm5/src/nameserver-history-viewer/types/unit.types.js +0 -19
  223. package/esm5/src/nameserver-history-viewer/utils/chart-util.js +0 -39
  224. package/esm5/src/nameserver-history-viewer/utils/chartjs-downsample/chartjs_ext.js +0 -100
  225. package/esm5/src/nameserver-history-viewer/utils/chartjs-downsample/data_culling.js +0 -88
  226. package/esm5/src/nameserver-history-viewer/utils/chartjs-downsample/data_mipmap.js +0 -316
  227. package/esm5/src/nameserver-history-viewer/utils/chartjs-downsample/index.js +0 -46
  228. package/esm5/src/nameserver-history-viewer/utils/chartjs-downsample/lttb_data_mipmap.js +0 -240
  229. package/esm5/src/nameserver-history-viewer/utils/chartjs-downsample/responsive_downsample_plugin.js +0 -366
  230. package/esm5/src/nameserver-history-viewer/utils/chartjs-downsample/utils.js +0 -142
  231. package/esm5/src/nameserver-history-viewer/utils/chartjs-zoom/chart.zoom.js +0 -827
  232. package/esm5/src/nameserver-history-viewer/utils/chartjs-zoom/index.js +0 -6
  233. package/esm5/src/nameserver-history-viewer/utils/file-util.js +0 -163
  234. package/esm5/src/nameserver-history-viewer/utils/index.js +0 -9
  235. package/esm5/src/nameserver-history-viewer/utils/time-util.js +0 -139
  236. package/esm5/src/nameserver-history-viewer/utils/ui-util.js +0 -241
  237. package/fesm2015/ngx-hana-nameserver-history-viewer.js.map +0 -1
  238. package/fesm5/ngx-hana-nameserver-history-viewer.js +0 -6861
  239. package/fesm5/ngx-hana-nameserver-history-viewer.js.map +0 -1
  240. package/ngx-hana-nameserver-history-viewer-1.1.2.tgz +0 -0
  241. package/ngx-hana-nameserver-history-viewer.metadata.json +0 -1
@@ -1,21 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- /** @enum {number} */
6
- const UnitType = {
7
- TypeEA: 0,
8
- TypeGB: 1,
9
- TypeMB: 2,
10
- TypeSecSec: 3,
11
- TypeMBSec: 4,
12
- TypeSec: 5,
13
- };
14
- export { UnitType };
15
- UnitType[UnitType.TypeEA] = 'TypeEA';
16
- UnitType[UnitType.TypeGB] = 'TypeGB';
17
- UnitType[UnitType.TypeMB] = 'TypeMB';
18
- UnitType[UnitType.TypeSecSec] = 'TypeSecSec';
19
- UnitType[UnitType.TypeMBSec] = 'TypeMBSec';
20
- UnitType[UnitType.TypeSec] = 'TypeSec';
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdC1jYXRlZ29yeS50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1oYW5hLW5hbWVzZXJ2ZXItaGlzdG9yeS12aWV3ZXIvIiwic291cmNlcyI6WyJzcmMvbmFtZXNlcnZlci1oaXN0b3J5LXZpZXdlci90eXBlcy91bml0LWNhdGVnb3J5LnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztJQUNFLFNBQU07SUFDTixTQUFNO0lBQ04sU0FBTTtJQUNOLGFBQVU7SUFDVixZQUFTO0lBQ1QsVUFBTyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFVuaXRUeXBlIHtcclxuICBUeXBlRUEsXHJcbiAgVHlwZUdCLFxyXG4gIFR5cGVNQixcclxuICBUeXBlU2VjU2VjLFxyXG4gIFR5cGVNQlNlYyxcclxuICBUeXBlU2VjXHJcbn1cclxuIl19
@@ -1,19 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- /** @enum {string} */
6
- const 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,38 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- /**
6
- * @return {?}
7
- */
8
- function _randomColorFactor() {
9
- return Math.round(Math.random() * 255);
10
- }
11
- /**
12
- * generate random color
13
- * @param {?} opacity alpha
14
- * @return {?}
15
- */
16
- export function randomColor(opacity) {
17
- return 'rgba(' + _randomColorFactor() + ',' + _randomColorFactor() + ',' + _randomColorFactor() + ',' + (opacity || '.3') + ')';
18
- }
19
- /**
20
- * generate the rgba string from ColorRgba
21
- * @param {?} rgbaColor
22
- * @return {?}
23
- */
24
- export function getColorString(rgbaColor) {
25
- return `rgba(${rgbaColor['red']}, ${rgbaColor['green']}, ${rgbaColor['blue']}, ${rgbaColor['alpha']})`;
26
- }
27
- /**
28
- * format Number with commas
29
- * @param {?} num
30
- * @return {?}
31
- */
32
- export function getNumberWithCommas(num) {
33
- const [integerPart, decimalPart] = num.toString().split('.');
34
- /** @type {?} */
35
- const integerWithCommas = integerPart.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
36
- return decimalPart ? `${integerWithCommas}.${decimalPart}` : integerWithCommas;
37
- }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtdXRpbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1oYW5hLW5hbWVzZXJ2ZXItaGlzdG9yeS12aWV3ZXIvIiwic291cmNlcyI6WyJzcmMvbmFtZXNlcnZlci1oaXN0b3J5LXZpZXdlci91dGlscy9jaGFydC11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQSxTQUFTLGtCQUFrQjtJQUN6QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0FBQ3pDLENBQUM7Ozs7OztBQU1ELE1BQU0sVUFBVSxXQUFXLENBQUMsT0FBZTtJQUN6QyxPQUFPLE9BQU8sR0FBRyxrQkFBa0IsRUFBRSxHQUFHLEdBQUcsR0FBRyxrQkFBa0IsRUFBRSxHQUFHLEdBQUcsR0FBRyxrQkFBa0IsRUFBRSxHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUM7QUFDbEksQ0FBQzs7Ozs7O0FBS0QsTUFBTSxVQUFVLGNBQWMsQ0FBQyxTQUFvQjtJQUNqRCxPQUFPLFFBQVEsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7QUFDekcsQ0FBQzs7Ozs7O0FBS0QsTUFBTSxVQUFVLG1CQUFtQixDQUFDLEdBQVc7VUFDdkMsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLEdBQUcsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7O1VBQ3RELGlCQUFpQixHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxDQUFDO0lBQzNFLE9BQU8sV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLGlCQUFpQixJQUFJLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztBQUNqRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sb3JSZ2JhIH0gZnJvbSAnLi4vdHlwZXMnO1xyXG5cclxuXHJcbmZ1bmN0aW9uIF9yYW5kb21Db2xvckZhY3RvcigpOiBudW1iZXIge1xyXG4gIHJldHVybiBNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiAyNTUpO1xyXG59XHJcblxyXG4vKipcclxuICogZ2VuZXJhdGUgcmFuZG9tIGNvbG9yXHJcbiAqIEBwYXJhbSBvcGFjaXR5IGFscGhhXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcmFuZG9tQ29sb3Iob3BhY2l0eTogbnVtYmVyKTogc3RyaW5nIHtcclxuICByZXR1cm4gJ3JnYmEoJyArIF9yYW5kb21Db2xvckZhY3RvcigpICsgJywnICsgX3JhbmRvbUNvbG9yRmFjdG9yKCkgKyAnLCcgKyBfcmFuZG9tQ29sb3JGYWN0b3IoKSArICcsJyArIChvcGFjaXR5IHx8ICcuMycpICsgJyknO1xyXG59XHJcblxyXG4vKipcclxuICogZ2VuZXJhdGUgdGhlIHJnYmEgc3RyaW5nIGZyb20gQ29sb3JSZ2JhXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29sb3JTdHJpbmcocmdiYUNvbG9yOiBDb2xvclJnYmEpOiBzdHJpbmcge1xyXG4gIHJldHVybiBgcmdiYSgke3JnYmFDb2xvclsncmVkJ119LCAke3JnYmFDb2xvclsnZ3JlZW4nXX0sICR7cmdiYUNvbG9yWydibHVlJ119LCAke3JnYmFDb2xvclsnYWxwaGEnXX0pYDtcclxufVxyXG5cclxuLyoqXHJcbiAqIGZvcm1hdCBOdW1iZXIgd2l0aCBjb21tYXNcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXROdW1iZXJXaXRoQ29tbWFzKG51bTogbnVtYmVyKTogc3RyaW5nIHtcclxuICBjb25zdCBbaW50ZWdlclBhcnQsIGRlY2ltYWxQYXJ0XSA9IG51bS50b1N0cmluZygpLnNwbGl0KCcuJyk7XHJcbiAgY29uc3QgaW50ZWdlcldpdGhDb21tYXMgPSBpbnRlZ2VyUGFydC5yZXBsYWNlKC9cXEIoPz0oXFxkezN9KSsoPyFcXGQpKS9nLCAnLCcpO1xyXG4gIHJldHVybiBkZWNpbWFsUGFydCA/IGAke2ludGVnZXJXaXRoQ29tbWFzfS4ke2RlY2ltYWxQYXJ0fWAgOiBpbnRlZ2VyV2l0aENvbW1hcztcclxufVxyXG4iXX0=
@@ -1,100 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnRqc19leHQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtaGFuYS1uYW1lc2VydmVyLWhpc3Rvcnktdmlld2VyLyIsInNvdXJjZXMiOlsic3JjL25hbWVzZXJ2ZXItaGlzdG9yeS12aWV3ZXIvdXRpbHMvY2hhcnRqcy1kb3duc2FtcGxlL2NoYXJ0anNfZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBNkJBLDJCQXFCQzs7O0lBcEJHLHFCQUFhOztJQUNiLHNCQUFjOztJQUNkLG9CQUFZOztJQUNaLHVCQUFlOzs7Ozs7Ozs7SUFTZiw2RUFBNEU7Ozs7Ozs7SUFPNUUsd0RBQXFDOzs7Ozs7QUFNekMsK0JBZ0JDOzs7Ozs7Ozs7O0lBUkcsaUZBQTZFOzs7Ozs7O0lBTzdFLDREQUFzQzs7Ozs7O0FBTTFDLGtDQTJCQzs7O0lBMUJHLGtDQUE0Qzs7SUFDNUMsaUNBQTJDOztJQUUzQyw4QkFBd0U7O0lBRXhFLG9DQUF3RDs7SUFDeEQsd0NBQWlEOztJQUNqRCxtQ0FBNEM7O0lBQzVDLDRDQUErRDs7SUFDL0QsMkNBQW9EOztJQUNwRCxtQ0FBNEM7O0lBRTVDLG9DQUF1RDs7SUFFdkQsa0NBQXFFOztJQUNyRSxpQ0FBMEQ7O0lBRzFELDBDQUE2RTs7SUFDN0UseUNBQWtFOztJQUVsRSwrQkFBd0M7O0lBR3hDLG1DQUFrRTs7SUFDbEUsa0NBQXVEIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIFRoaXMgcGx1Z2luIGlzIGFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tLzNkY2wvY2hhcnRqcy1wbHVnaW4tcmVzcG9uc2l2ZS1kb3duc2FtcGxlXHJcbiAqIGZvciBjb250cm9sbGluZyB0aGUgcmFkaXVzIG9mIHBvaW50LlxyXG4gKlxyXG4gKiBNSVQgTGljZW5zZVxyXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggM0QgQ29udGVudCBMb2dpc3RpY3NcclxuICpcclxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxyXG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXHJcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcclxuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxyXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcclxuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcclxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXHJcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXHJcbiAqXHJcbiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcclxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXHJcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxyXG4gKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXHJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXHJcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXHJcbiAqIFNPRlRXQVJFLlxyXG4gKi9cclxuaW1wb3J0IHsgQ2hhcnQgfSBmcm9tICdjaGFydC5qcyc7XHJcblxyXG4vKipcclxuICogQSBjaGFydCBzY2FsZVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBTY2FsZSB7XHJcbiAgICBsZWZ0OiBudW1iZXI7XHJcbiAgICByaWdodDogbnVtYmVyO1xyXG4gICAgdG9wOiBudW1iZXI7XHJcbiAgICBib3R0b206IG51bWJlcjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdGhlIGxvY2F0aW9uIG9mIHRoZSBnaXZlbiBkYXRhIHBvaW50LiBWYWx1ZSBjYW4gZWl0aGVyIGJlIGFuIGluZGV4IG9yIGEgbnVtZXJpY2FsIHZhbHVlXHJcbiAgICAgKiBUaGUgY29vcmRpbmF0ZSAoMCwgMCkgaXMgYXQgdGhlIHVwcGVyLWxlZnQgY29ybmVyIG9mIHRoZSBjYW52YXNcclxuICAgICAqIEBwYXJhbSB2YWx1ZVxyXG4gICAgICogQHBhcmFtIGluZGV4XHJcbiAgICAgKiBAcGFyYW0gZGF0YXNldEluZGV4XHJcbiAgICAgKi9cclxuICAgIGdldFBpeGVsRm9yVmFsdWUodmFsdWU6IGFueSwgaW5kZXg/OiBudW1iZXIsIGRhdGFzZXRJbmRleD86IG51bWJlcik6IG51bWJlcjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFVzZWQgdG8gZ2V0IHRoZSBkYXRhIHZhbHVlIGZyb20gYSBnaXZlbiBwaXhlbC4gVGhpcyBpcyB0aGUgaW52ZXJzZSBvZiBnZXRQaXhlbEZvclZhbHVlXHJcbiAgICAgKiBUaGUgY29vcmRpbmF0ZSAoMCwgMCkgaXMgYXQgdGhlIHVwcGVyLWxlZnQgY29ybmVyIG9mIHRoZSBjYW52YXNcclxuICAgICAqIEBwYXJhbSBwaXhlbFxyXG4gICAgICovXHJcbiAgICBnZXRWYWx1ZUZvclBpeGVsKHBpeGVsOiBudW1iZXIpOiBhbnk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBIHRpbWUtYmFzZWQgY2hhcnQgc2NhbGVcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGltZVNjYWxlIGV4dGVuZHMgU2NhbGUge1xyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSBsb2NhdGlvbiBvZiB0aGUgZ2l2ZW4gZGF0YSBwb2ludC4gVmFsdWUgY2FuIGVpdGhlciBiZSBhbiBpbmRleCBvciBhIG51bWVyaWNhbCB2YWx1ZVxyXG4gICAgICogVGhlIGNvb3JkaW5hdGUgKDAsIDApIGlzIGF0IHRoZSB1cHBlci1sZWZ0IGNvcm5lciBvZiB0aGUgY2FudmFzXHJcbiAgICAgKiBAcGFyYW0gdmFsdWVcclxuICAgICAqIEBwYXJhbSBpbmRleFxyXG4gICAgICogQHBhcmFtIGRhdGFzZXRJbmRleFxyXG4gICAgICovXHJcbiAgICBnZXRQaXhlbEZvclZhbHVlKHZhbHVlOiBEYXRlLCBpbmRleD86IG51bWJlciwgZGF0YXNldEluZGV4PzogbnVtYmVyKTogbnVtYmVyO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVXNlZCB0byBnZXQgdGhlIGRhdGEgdmFsdWUgZnJvbSBhIGdpdmVuIHBpeGVsLiBUaGlzIGlzIHRoZSBpbnZlcnNlIG9mIGdldFBpeGVsRm9yVmFsdWVcclxuICAgICAqIFRoZSBjb29yZGluYXRlICgwLCAwKSBpcyBhdCB0aGUgdXBwZXItbGVmdCBjb3JuZXIgb2YgdGhlIGNhbnZhc1xyXG4gICAgICogQHBhcmFtIHBpeGVsXHJcbiAgICAgKi9cclxuICAgIGdldFZhbHVlRm9yUGl4ZWwocGl4ZWw6IG51bWJlcik6IERhdGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBJbnRlcmZhY2UgZm9yIGEgY2hhcnQuanMgcGx1Z2luXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIElDaGFydFBsdWdpbiB7XHJcbiAgICBiZWZvcmVJbml0PzogKGNoYXJ0SW5zdGFuY2U6IENoYXJ0KSA9PiB2b2lkO1xyXG4gICAgYWZ0ZXJJbml0PzogKGNoYXJ0SW5zdGFuY2U6IENoYXJ0KSA9PiB2b2lkO1xyXG5cclxuICAgIHJlc2l6ZT86IChjaGFydEluc3RhbmNlOiBDaGFydCwgbmV3Q2hhcnRTaXplOiBbbnVtYmVyLCBudW1iZXJdKSA9PiB2b2lkO1xyXG5cclxuICAgIGJlZm9yZVVwZGF0ZT86IChjaGFydEluc3RhbmNlOiBDaGFydCkgPT4gdm9pZCB8IGJvb2xlYW47XHJcbiAgICBhZnRlclNjYWxlVXBkYXRlPzogKGNoYXJJbnN0YW5jZTogQ2hhcnQpID0+IHZvaWQ7XHJcbiAgICBhZnRlckxheW91dD86IChjaGFySW5zdGFuY2U6IENoYXJ0KSA9PiB2b2lkO1xyXG4gICAgYmVmb3JlRGF0YXNldHNVcGRhdGU/OiAoY2hhckluc3RhbmNlOiBDaGFydCkgPT4gdm9pZCB8IGJvb2xlYW47XHJcbiAgICBhZnRlckRhdGFzZXRzVXBkYXRlPzogKGNoYXJJbnN0YW5jZTogQ2hhcnQpID0+IHZvaWQ7XHJcbiAgICBhZnRlclVwZGF0ZT86IChjaGFySW5zdGFuY2U6IENoYXJ0KSA9PiB2b2lkO1xyXG5cclxuICAgIGJlZm9yZVJlbmRlcj86IChjaGFySW5zdGFuY2U6IENoYXJ0KSA9PiB2b2lkIHwgYm9vbGVhbjtcclxuXHJcbiAgICBiZWZvcmVEcmF3PzogKGNoYXJJbnN0YW5jZTogQ2hhcnQsIGVhc2luZzogc3RyaW5nKSA9PiB2b2lkIHwgYm9vbGVhbjtcclxuICAgIGFmdGVyRHJhdz86IChjaGFySW5zdGFuY2U6IENoYXJ0LCBlYXNpbmc6IHN0cmluZykgPT4gdm9pZDtcclxuXHJcbiAgICAvLyBCZWZvcmUgdGhlIGRhdGFzZXRzIGFyZSBkcmF3biBidXQgYWZ0ZXIgc2NhbGVzIGFyZSBkcmF3blxyXG4gICAgYmVmb3JlRGF0YXNldHNEcmF3PzogKGNoYXJJbnN0YW5jZTogQ2hhcnQsIGVhc2luZzogc3RyaW5nKSA9PiB2b2lkIHwgYm9vbGVhbjtcclxuICAgIGFmdGVyRGF0YXNldHNEcmF3PzogKGNoYXJJbnN0YW5jZTogQ2hhcnQsIGVhc2luZzogc3RyaW5nKSA9PiB2b2lkO1xyXG5cclxuICAgIGRlc3Ryb3k/OiAoY2hhckluc3RhbmNlOiBDaGFydCkgPT4gdm9pZDtcclxuXHJcbiAgICAvLyBDYWxsZWQgd2hlbiBhbiBldmVudCBvY2N1cnMgb24gdGhlIGNoYXJ0XHJcbiAgICBiZWZvcmVFdmVudD86IChjaGFySW5zdGFuY2U6IENoYXJ0LCBldmVudDogYW55KSA9PiB2b2lkIHwgYm9vbGVhbjtcclxuICAgIGFmdGVyRXZlbnQ/OiAoY2hhckluc3RhbmNlOiBDaGFydCwgZXZlbnQ6IGFueSkgPT4gdm9pZDtcclxufVxyXG4iXX0=
@@ -1,88 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import * as moment_module from 'moment';
6
- /** @type {?} */
7
- const 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
- const start = scale.getValueForPixel(scale.left);
55
- /** @type {?} */
56
- const 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
- const startValue = getCompareValue(range[0]);
67
- /** @type {?} */
68
- const endValue = getCompareValue(range[1]);
69
- /** @type {?} */
70
- let startIndex = 0;
71
- /** @type {?} */
72
- let endIndex = data.length;
73
- for (let i = 1; i < data.length; ++i) {
74
- /** @type {?} */
75
- const point = data[i];
76
- /** @type {?} */
77
- const 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YV9jdWxsaW5nLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWhhbmEtbmFtZXNlcnZlci1oaXN0b3J5LXZpZXdlci8iLCJzb3VyY2VzIjpbInNyYy9uYW1lc2VydmVyLWhpc3Rvcnktdmlld2VyL3V0aWxzL2NoYXJ0anMtZG93bnNhbXBsZS9kYXRhX2N1bGxpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQTBCQSxPQUFPLEtBQUssYUFBYSxNQUFNLFFBQVEsQ0FBQzs7TUFDbEMsTUFBTSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsbUJBQUEsTUFBTSxFQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBQSxNQUFNLEVBQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsYUFBYTtBQUMxRixPQUFPLEtBQUssS0FBSyxNQUFNLFNBQVMsQ0FBQzs7Ozs7QUFLakMsU0FBUyxlQUFlLENBQUMsS0FBYTtJQUNsQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtRQUMzQixPQUFPLEtBQUssQ0FBQztLQUNoQjtTQUFNLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1FBQ2xDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0tBQ3RDO1NBQU0sSUFBSSxLQUFLLFlBQVksSUFBSSxFQUFFO1FBQzlCLE9BQU8sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0tBQzFCO1NBQU07UUFDSCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztLQUMzQztBQUNMLENBQUM7Ozs7OztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsYUFBb0IsRUFBRSxZQUFtQjtJQUNsRSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO1FBQzFCLEtBQUssQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO1FBQ3pCLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLEtBQUssQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVCLEtBQUssQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQzlCO1FBQ0UsT0FBTyxLQUFLLENBQUM7S0FDaEI7SUFFRCxhQUFhLEdBQUcsQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkYsWUFBWSxHQUFHLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXBGLE9BQU8sYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFLLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLEtBQUssWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hGLENBQUM7Ozs7O0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUFZO0lBQ3RDLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUN0QixPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQ3JCOztVQUVLLEtBQUssR0FBRyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQzs7VUFDMUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBRS9DLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDeEIsQ0FBQzs7Ozs7O0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxJQUFrQixFQUFFLEtBQVk7O1VBQy9DLFVBQVUsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDOztVQUN0QyxRQUFRLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQzs7UUFDdEMsVUFBVSxHQUFHLENBQUM7O1FBQ2QsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNO0lBRTFCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFOztjQUM1QixLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQzs7Y0FDZixZQUFZLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQztRQUV4RCxJQUFJLFlBQVksSUFBSSxVQUFVLEVBQUU7WUFDNUIsVUFBVSxHQUFHLENBQUMsQ0FBQztTQUNsQjtRQUVELElBQUksWUFBWSxJQUFJLFFBQVEsRUFBRTtZQUMxQixRQUFRLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNqQixNQUFNO1NBQ1Q7S0FDSjtJQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDNUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBUaGlzIHBsdWdpbiBpcyBhZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS8zZGNsL2NoYXJ0anMtcGx1Z2luLXJlc3BvbnNpdmUtZG93bnNhbXBsZVxyXG4gKiBmb3IgY29udHJvbGxpbmcgdGhlIHJhZGl1cyBvZiBwb2ludC5cclxuICpcclxuICogTUlUIExpY2Vuc2VcclxuICogQ29weXJpZ2h0IChjKSAyMDE4IDNEIENvbnRlbnQgTG9naXN0aWNzXHJcbiAqXHJcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcclxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxyXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXHJcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcclxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXHJcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XHJcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxyXG4gKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxyXG4gKlxyXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXHJcbiAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxyXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcclxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxyXG4gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxyXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxyXG4gKiBTT0ZUV0FSRS5cclxuICovXHJcbmltcG9ydCB7IENoYXJ0UG9pbnQgfSBmcm9tICdjaGFydC5qcyc7XHJcbmltcG9ydCB7IFNjYWxlIH0gZnJvbSAnLi9jaGFydGpzX2V4dCc7XHJcbmltcG9ydCAqIGFzIG1vbWVudF9tb2R1bGUgZnJvbSAnbW9tZW50JztcclxuY29uc3QgbW9tZW50ID0gKHdpbmRvdyAmJiAod2luZG93IGFzIGFueSkubW9tZW50KSA/ICh3aW5kb3cgYXMgYW55KS5tb21lbnQgOiBtb21lbnRfbW9kdWxlO1xyXG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tICcuL3V0aWxzJztcclxuXHJcbmV4cG9ydCB0eXBlIFhWYWx1ZSA9IG51bWJlciB8IHN0cmluZyB8IERhdGUgfCBtb21lbnRfbW9kdWxlLk1vbWVudDtcclxuZXhwb3J0IHR5cGUgUmFuZ2UgPSBbWFZhbHVlLCBYVmFsdWVdO1xyXG5cclxuZnVuY3Rpb24gZ2V0Q29tcGFyZVZhbHVlKHZhbHVlOiBYVmFsdWUpOiBudW1iZXIge1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICByZXR1cm4gKG5ldyBEYXRlKHZhbHVlKSkuZ2V0VGltZSgpO1xyXG4gICAgfSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUuZ2V0VGltZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gbW9tZW50KHZhbHVlKS50b0RhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiByYW5nZUlzRXF1YWwocHJldmlvdXNWYWx1ZTogUmFuZ2UsIGN1cnJlbnRWYWx1ZTogUmFuZ2UpOiBib29sZWFuIHtcclxuICAgIGlmICh1dGlscy5pc05pbChwcmV2aW91c1ZhbHVlKSB8fFxyXG4gICAgICAgIHV0aWxzLmlzTmlsKGN1cnJlbnRWYWx1ZSkgfHxcclxuICAgICAgICB1dGlscy5pc05pbChwcmV2aW91c1ZhbHVlWzBdKSB8fFxyXG4gICAgICAgIHV0aWxzLmlzTmlsKHByZXZpb3VzVmFsdWVbMV0pIHx8XHJcbiAgICAgICAgdXRpbHMuaXNOaWwoY3VycmVudFZhbHVlWzBdKSB8fFxyXG4gICAgICAgIHV0aWxzLmlzTmlsKGN1cnJlbnRWYWx1ZVsxXSlcclxuICAgICkge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwcmV2aW91c1ZhbHVlID0gW2dldENvbXBhcmVWYWx1ZShwcmV2aW91c1ZhbHVlWzBdKSwgZ2V0Q29tcGFyZVZhbHVlKHByZXZpb3VzVmFsdWVbMV0pXTtcclxuICAgIGN1cnJlbnRWYWx1ZSA9IFtnZXRDb21wYXJlVmFsdWUoY3VycmVudFZhbHVlWzBdKSwgZ2V0Q29tcGFyZVZhbHVlKGN1cnJlbnRWYWx1ZVsxXSldO1xyXG5cclxuICAgIHJldHVybiBwcmV2aW91c1ZhbHVlWzBdID09PSBjdXJyZW50VmFsdWVbMF0gJiYgcHJldmlvdXNWYWx1ZVsxXSA9PT0gY3VycmVudFZhbHVlWzFdO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2NhbGVSYW5nZShzY2FsZTogU2NhbGUpOiBSYW5nZSB7XHJcbiAgICBpZiAodXRpbHMuaXNOaWwoc2NhbGUpKSB7XHJcbiAgICAgIHJldHVybiBbbnVsbCwgbnVsbF07XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc3RhcnQgPSBzY2FsZS5nZXRWYWx1ZUZvclBpeGVsKHNjYWxlLmxlZnQpO1xyXG4gICAgY29uc3QgZW5kID0gc2NhbGUuZ2V0VmFsdWVGb3JQaXhlbChzY2FsZS5yaWdodCk7XHJcblxyXG4gICAgcmV0dXJuIFtzdGFydCwgZW5kXTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGN1bGxEYXRhKGRhdGE6IENoYXJ0UG9pbnRbXSwgcmFuZ2U6IFJhbmdlKTogQ2hhcnRQb2ludFtdIHtcclxuICAgIGNvbnN0IHN0YXJ0VmFsdWUgPSBnZXRDb21wYXJlVmFsdWUocmFuZ2VbMF0pO1xyXG4gICAgY29uc3QgZW5kVmFsdWUgPSBnZXRDb21wYXJlVmFsdWUocmFuZ2VbMV0pO1xyXG4gICAgbGV0IHN0YXJ0SW5kZXggPSAwO1xyXG4gICAgbGV0IGVuZEluZGV4ID0gZGF0YS5sZW5ndGg7XHJcblxyXG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPCBkYXRhLmxlbmd0aDsgKytpKSB7XHJcbiAgICAgICAgY29uc3QgcG9pbnQgPSBkYXRhW2ldO1xyXG4gICAgICAgIGNvbnN0IGNvbXBhcmVWYWx1ZSA9IGdldENvbXBhcmVWYWx1ZShwb2ludC54IHx8IHBvaW50LnQpO1xyXG5cclxuICAgICAgICBpZiAoY29tcGFyZVZhbHVlIDw9IHN0YXJ0VmFsdWUpIHtcclxuICAgICAgICAgICAgc3RhcnRJbmRleCA9IGk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoY29tcGFyZVZhbHVlID49IGVuZFZhbHVlKSB7XHJcbiAgICAgICAgICAgIGVuZEluZGV4ID0gaSArIDE7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZGF0YS5zbGljZShzdGFydEluZGV4LCBlbmRJbmRleCk7XHJcbn1cclxuIl19
@@ -1,222 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,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
- export class DataMipmap {
10
- /**
11
- * Create a data mipmap
12
- * @param {?} data The orignal line chart data
13
- * @param {?=} minNumPoints Minimal number of points on lowest mipmap level(limits number of levels)
14
- */
15
- constructor(data, minNumPoints = 2) {
16
- this.minNumPoints = minNumPoints;
17
- this.setData(data);
18
- }
19
- /**
20
- * Set the line chart data and update mipmap level.
21
- * @param {?} data The orignal line chart data
22
- * @return {?}
23
- */
24
- setData(data) {
25
- this.originalData = data || [];
26
- this.mipMaps = [];
27
- this.resolution = this.computeResolution(this.originalData);
28
- this.createMipMap();
29
- }
30
- /**
31
- * Set the minimal number of points
32
- * @param {?} minNumPoints Minimal number of points on lowest mipmap level(limits number of levels)
33
- * @return {?}
34
- */
35
- setMinNumPoints(minNumPoints) {
36
- this.minNumPoints = minNumPoints;
37
- this.mipMaps = [];
38
- this.createMipMap();
39
- }
40
- /**
41
- * Get the best fitting mipmap level for a certain scale resolution
42
- * @param {?} resolution Desired resolution in ms per pixel
43
- * @return {?}
44
- */
45
- getMipMapForResolution(resolution) {
46
- return this.getMipMapLevel(this.getMipMapIndexForResolution(resolution));
47
- }
48
- /**
49
- * Computes the index of the best fitting mipmap level for a certain scale resolution
50
- * @param {?} resolution Desired resolution in ms per pixel
51
- * @return {?}
52
- */
53
- getMipMapIndexForResolution(resolution) {
54
- if (utils.isNil(resolution)) {
55
- return 0;
56
- }
57
- /** @type {?} */
58
- const factor = resolution / this.resolution;
59
- return utils.clamp(Math.floor(Math.log(factor) / Math.log(2.0)), 0, this.mipMaps.length - 1);
60
- }
61
- /**
62
- * Get a mipmap level by index
63
- * @param {?} level The index of the mipmap level
64
- * @return {?}
65
- */
66
- getMipMapLevel(level) {
67
- return this.mipMaps[level];
68
- }
69
- /**
70
- * Get all mipmap level
71
- * @return {?}
72
- */
73
- getMipMaps() {
74
- return this.mipMaps;
75
- }
76
- /**
77
- * Get the number of available mipmap level
78
- * @return {?}
79
- */
80
- getNumLevel() {
81
- return this.mipMaps.length;
82
- }
83
- /**
84
- * @protected
85
- * @param {?} data
86
- * @return {?}
87
- */
88
- computeResolution(data) {
89
- /** @type {?} */
90
- let minTimeDistance = Infinity;
91
- for (let i = 0, end = this.originalData.length - 1; i < end; ++i) {
92
- /** @type {?} */
93
- const current = this.originalData[i];
94
- /** @type {?} */
95
- const next = this.originalData[i + 1];
96
- minTimeDistance = Math.min(Math.abs(this.getTime(current) - this.getTime(next)), minTimeDistance);
97
- }
98
- return minTimeDistance;
99
- }
100
- /**
101
- * @protected
102
- * @return {?}
103
- */
104
- createMipMap() {
105
- /** @type {?} */
106
- let targetResolution = this.resolution;
107
- /** @type {?} */
108
- let targetLength = this.originalData.length;
109
- this.mipMaps.push(this.originalData);
110
- /** @type {?} */
111
- let lastMipMap = this.originalData;
112
- while (lastMipMap.length > this.minNumPoints) {
113
- targetResolution = targetResolution * 2;
114
- targetLength = Math.floor(targetLength * 0.5);
115
- lastMipMap = this.downsampleToResolution(lastMipMap, targetResolution, targetLength);
116
- this.mipMaps.push(lastMipMap);
117
- }
118
- }
119
- /**
120
- * @protected
121
- * @param {?} data
122
- * @param {?} targetResolution
123
- * @param {?} targetLength
124
- * @return {?}
125
- */
126
- downsampleToResolution(data, targetResolution, targetLength) {
127
- /** @type {?} */
128
- const output = [];
129
- /** @type {?} */
130
- let aggregationValues = [];
131
- /** @type {?} */
132
- let firstPoint = data[0];
133
- aggregationValues.push(firstPoint);
134
- for (let i = 1, end = data.length; i < end; ++i) {
135
- /** @type {?} */
136
- const currentPoint = data[i];
137
- /** @type {?} */
138
- const timeDistance = Math.abs(this.getTime(firstPoint) - this.getTime(currentPoint));
139
- if (timeDistance < targetResolution) {
140
- aggregationValues.push(currentPoint);
141
- }
142
- else {
143
- // create new sensor value in output
144
- /** @type {?} */
145
- const newPoint = this.getAverage(aggregationValues);
146
- output.push(newPoint);
147
- // reset aggregation data structure
148
- firstPoint = currentPoint;
149
- aggregationValues = [currentPoint];
150
- }
151
- }
152
- // insert last point
153
- output.push(this.getAverage(aggregationValues));
154
- return output;
155
- }
156
- /**
157
- * @protected
158
- * @param {?} aggregationValues
159
- * @return {?}
160
- */
161
- getAverage(aggregationValues) {
162
- /** @type {?} */
163
- const value = aggregationValues
164
- .map((/**
165
- * @param {?} point
166
- * @return {?}
167
- */
168
- point => (/** @type {?} */ (point.y))))
169
- .reduce((/**
170
- * @param {?} previous
171
- * @param {?} current
172
- * @return {?}
173
- */
174
- (previous, current) => previous + current))
175
- / aggregationValues.length;
176
- return {
177
- x: aggregationValues[0].x || aggregationValues[0].t,
178
- y: value
179
- };
180
- }
181
- /**
182
- * @protected
183
- * @param {?} point
184
- * @return {?}
185
- */
186
- getTime(point) {
187
- /** @type {?} */
188
- const x = point.x || point.t;
189
- if (typeof x === 'number') {
190
- return x;
191
- }
192
- else if (typeof x === 'string') {
193
- return new Date(x).getTime();
194
- }
195
- else {
196
- return x.getTime();
197
- }
198
- }
199
- }
200
- if (false) {
201
- /**
202
- * @type {?}
203
- * @protected
204
- */
205
- DataMipmap.prototype.minNumPoints;
206
- /**
207
- * @type {?}
208
- * @protected
209
- */
210
- DataMipmap.prototype.mipMaps;
211
- /**
212
- * @type {?}
213
- * @protected
214
- */
215
- DataMipmap.prototype.originalData;
216
- /**
217
- * @type {?}
218
- * @protected
219
- */
220
- DataMipmap.prototype.resolution;
221
- }
222
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YV9taXBtYXAuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtaGFuYS1uYW1lc2VydmVyLWhpc3Rvcnktdmlld2VyLyIsInNvdXJjZXMiOlsic3JjL25hbWVzZXJ2ZXItaGlzdG9yeS12aWV3ZXIvdXRpbHMvY2hhcnRqcy1kb3duc2FtcGxlL2RhdGFfbWlwbWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUF5QkEsT0FBTyxLQUFLLEtBQUssTUFBTSxTQUFTLENBQUM7Ozs7QUFLakMsTUFBTSxPQUFPLFVBQVU7Ozs7OztJQVdyQixZQUFZLElBQWtCLEVBQUUsZUFBdUIsQ0FBQztRQUN0RCxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JCLENBQUM7Ozs7OztJQU1ELE9BQU8sQ0FBQyxJQUFrQjtRQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDOzs7Ozs7SUFNRCxlQUFlLENBQUMsWUFBb0I7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7Ozs7OztJQU1ELHNCQUFzQixDQUFDLFVBQWtCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDOzs7Ozs7SUFNRCwyQkFBMkIsQ0FBQyxVQUFrQjtRQUM1QyxJ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TyxDQUFDLEtBQUssUUFBUSxFQUFFO1lBQ3pCLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7YUFBTSxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRTtZQUNoQyxPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQzlCO2FBQU07WUFDTCxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNwQjtJQUNILENBQUM7Q0FDRjs7Ozs7O0lBcEtDLGtDQUErQjs7Ozs7SUFDL0IsNkJBQWtDOzs7OztJQUNsQyxrQ0FBcUM7Ozs7O0lBQ3JDLGdDQUE2QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBUaGlzIHBsdWdpbiBpcyBhZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS8zZGNsL2NoYXJ0anMtcGx1Z2luLXJlc3BvbnNpdmUtZG93bnNhbXBsZVxyXG4gKiBmb3IgY29udHJvbGxpbmcgdGhlIHJhZGl1cyBvZiBwb2ludC5cclxuICpcclxuICogTUlUIExpY2Vuc2VcclxuICogQ29weXJpZ2h0IChjKSAyMDE4IDNEIENvbnRlbnQgTG9naXN0aWNzXHJcbiAqXHJcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcclxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxyXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXHJcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcclxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXHJcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XHJcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxyXG4gKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxyXG4gKlxyXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXHJcbiAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxyXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcclxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxyXG4gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxyXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxyXG4gKiBTT0ZUV0FSRS5cclxuICovXHJcbmltcG9ydCB7IENoYXJ0UG9pbnQgfSBmcm9tICdjaGFydC5qcyc7XHJcbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gJy4vdXRpbHMnO1xyXG5cclxuLyoqXHJcbiAqIEEgbWlwbWFwIGRhdGEgc3RydWN0dXJlIGZvciBsaW5lIGNoYXJ0IGRhdGEuIFVzZXMgYXZlcmFnZXMgdG8gZG93bnNhbXBsZSBkYXRhLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIERhdGFNaXBtYXAge1xyXG4gIHByb3RlY3RlZCBtaW5OdW1Qb2ludHM6IG51bWJlcjtcclxuICBwcm90ZWN0ZWQgbWlwTWFwczogQ2hhcnRQb2ludFtdW107XHJcbiAgcHJvdGVjdGVkIG9yaWdpbmFsRGF0YTogQ2hhcnRQb2ludFtdO1xyXG4gIHByb3RlY3RlZCByZXNvbHV0aW9uOiBudW1iZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSBhIGRhdGEgbWlwbWFwXHJcbiAgICogQHBhcmFtIGRhdGEgVGhlIG9yaWduYWwgbGluZSBjaGFydCBkYXRhXHJcbiAgICogQHBhcmFtIG1pbk51bVBvaW50cyBNaW5pbWFsIG51bWJlciBvZiBwb2ludHMgb24gbG93ZXN0IG1pcG1hcCBsZXZlbChsaW1pdHMgbnVtYmVyIG9mIGxldmVscylcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihkYXRhOiBDaGFydFBvaW50W10sIG1pbk51bVBvaW50czogbnVtYmVyID0gMikge1xyXG4gICAgdGhpcy5taW5OdW1Qb2ludHMgPSBtaW5OdW1Qb2ludHM7XHJcbiAgICB0aGlzLnNldERhdGEoZGF0YSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgdGhlIGxpbmUgY2hhcnQgZGF0YSBhbmQgdXBkYXRlIG1pcG1hcCBsZXZlbC5cclxuICAgKiBAcGFyYW0gZGF0YSBUaGUgb3JpZ25hbCBsaW5lIGNoYXJ0IGRhdGFcclxuICAgKi9cclxuICBzZXREYXRhKGRhdGE6IENoYXJ0UG9pbnRbXSk6IHZvaWQge1xyXG4gICAgdGhpcy5vcmlnaW5hbERhdGEgPSBkYXRhIHx8IFtdO1xyXG4gICAgdGhpcy5taXBNYXBzID0gW107XHJcbiAgICB0aGlzLnJlc29sdXRpb24gPSB0aGlzLmNvbXB1dGVSZXNvbHV0aW9uKHRoaXMub3JpZ2luYWxEYXRhKTtcclxuICAgIHRoaXMuY3JlYXRlTWlwTWFwKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgdGhlIG1pbmltYWwgbnVtYmVyIG9mIHBvaW50c1xyXG4gICAqIEBwYXJhbSBtaW5OdW1Qb2ludHMgTWluaW1hbCBudW1iZXIgb2YgcG9pbnRzIG9uIGxvd2VzdCBtaXBtYXAgbGV2ZWwobGltaXRzIG51bWJlciBvZiBsZXZlbHMpXHJcbiAgICovXHJcbiAgc2V0TWluTnVtUG9pbnRzKG1pbk51bVBvaW50czogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLm1pbk51bVBvaW50cyA9IG1pbk51bVBvaW50cztcclxuICAgIHRoaXMubWlwTWFwcyA9IFtdO1xyXG4gICAgdGhpcy5jcmVhdGVNaXBNYXAoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCB0aGUgYmVzdCBmaXR0aW5nIG1pcG1hcCBsZXZlbCBmb3IgYSBjZXJ0YWluIHNjYWxlIHJlc29sdXRpb25cclxuICAgKiBAcGFyYW0gcmVzb2x1dGlvbiBEZXNpcmVkIHJlc29sdXRpb24gaW4gbXMgcGVyIHBpeGVsXHJcbiAgICovXHJcbiAgZ2V0TWlwTWFwRm9yUmVzb2x1dGlvbihyZXNvbHV0aW9uOiBudW1iZXIpOiBDaGFydFBvaW50W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0TWlwTWFwTGV2ZWwodGhpcy5nZXRNaXBNYXBJbmRleEZvclJlc29sdXRpb24ocmVzb2x1dGlvbikpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29tcHV0ZXMgdGhlIGluZGV4IG9mIHRoZSBiZXN0IGZpdHRpbmcgbWlwbWFwIGxldmVsIGZvciBhIGNlcnRhaW4gc2NhbGUgcmVzb2x1dGlvblxyXG4gICAqIEBwYXJhbSByZXNvbHV0aW9uIERlc2lyZWQgcmVzb2x1dGlvbiBpbiBtcyBwZXIgcGl4ZWxcclxuICAgKi9cclxuICBnZXRNaXBNYXBJbmRleEZvclJlc29sdXRpb24ocmVzb2x1dGlvbjogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIGlmICh1dGlscy5pc05pbChyZXNvbHV0aW9uKSkgeyByZXR1cm4gMDsgfVxyXG5cclxuICAgIGNvbnN0IGZhY3RvciA9IHJlc29sdXRpb24gLyB0aGlzLnJlc29sdXRpb247XHJcbiAgICByZXR1cm4gdXRpbHMuY2xhbXAoTWF0aC5mbG9vcihNYXRoLmxvZyhmYWN0b3IpIC8gTWF0aC5sb2coMi4wKSksIDAsIHRoaXMubWlwTWFwcy5sZW5ndGggLSAxKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBhIG1pcG1hcCBsZXZlbCBieSBpbmRleFxyXG4gICAqIEBwYXJhbSBsZXZlbCBUaGUgaW5kZXggb2YgdGhlIG1pcG1hcCBsZXZlbFxyXG4gICAqL1xyXG4gIGdldE1pcE1hcExldmVsKGxldmVsOiBudW1iZXIpOiBDaGFydFBvaW50W10ge1xyXG4gICAgcmV0dXJuIHRoaXMubWlwTWFwc1tsZXZlbF07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgYWxsIG1pcG1hcCBsZXZlbFxyXG4gICAqL1xyXG4gIGdldE1pcE1hcHMoKTogQ2hhcnRQb2ludFtdW10ge1xyXG4gICAgcmV0dXJuIHRoaXMubWlwTWFwcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCB0aGUgbnVtYmVyIG9mIGF2YWlsYWJsZSBtaXBtYXAgbGV2ZWxcclxuICAgKi9cclxuICBnZXROdW1MZXZlbCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMubWlwTWFwcy5sZW5ndGg7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgY29tcHV0ZVJlc29sdXRpb24oZGF0YTogQ2hhcnRQb2ludFtdKTogbnVtYmVyIHtcclxuICAgIGxldCBtaW5UaW1lRGlzdGFuY2UgPSBJbmZpbml0eTtcclxuXHJcbiAgICBmb3IgKGxldCBpID0gMCwgZW5kID0gdGhpcy5vcmlnaW5hbERhdGEubGVuZ3RoIC0gMTsgaSA8IGVuZDsgKytpKSB7XHJcbiAgICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLm9yaWdpbmFsRGF0YVtpXTtcclxuICAgICAgY29uc3QgbmV4dCA9IHRoaXMub3JpZ2luYWxEYXRhW2kgKyAxXTtcclxuXHJcblxyXG4gICAgICBtaW5UaW1lRGlzdGFuY2UgPSBNYXRoLm1pbihcclxuICAgICAgICBNYXRoLmFicyh0aGlzLmdldFRpbWUoY3VycmVudCkgLSB0aGlzLmdldFRpbWUobmV4dCkpLFxyXG4gICAgICAgIG1pblRpbWVEaXN0YW5jZVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBtaW5UaW1lRGlzdGFuY2U7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgY3JlYXRlTWlwTWFwKCk6IHZvaWQge1xyXG4gICAgbGV0IHRhcmdldFJlc29sdXRpb24gPSB0aGlzLnJlc29sdXRpb247XHJcbiAgICBsZXQgdGFyZ2V0TGVuZ3RoID0gdGhpcy5vcmlnaW5hbERhdGEubGVuZ3RoO1xyXG4gICAgdGhpcy5taXBNYXBzLnB1c2godGhpcy5vcmlnaW5hbERhdGEpO1xyXG4gICAgbGV0IGxhc3RNaXBNYXAgPSB0aGlzLm9yaWdpbmFsRGF0YTtcclxuXHJcbiAgICB3aGlsZSAobGFzdE1pcE1hcC5sZW5ndGggPiB0aGlzLm1pbk51bVBvaW50cykge1xyXG4gICAgICB0YXJnZXRSZXNvbHV0aW9uID0gdGFyZ2V0UmVzb2x1dGlvbiAqIDI7XHJcbiAgICAgIHRhcmdldExlbmd0aCA9IE1hdGguZmxvb3IodGFyZ2V0TGVuZ3RoICogMC41KTtcclxuICAgICAgbGFzdE1pcE1hcCA9IHRoaXMuZG93bnNhbXBsZVRvUmVzb2x1dGlvbihsYXN0TWlwTWFwLCB0YXJnZXRSZXNvbHV0aW9uLCB0YXJnZXRMZW5ndGgpO1xyXG4gICAgICB0aGlzLm1pcE1hcHMucHVzaChsYXN0TWlwTWFwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBkb3duc2FtcGxlVG9SZXNvbHV0aW9uKFxyXG4gICAgZGF0YTogQ2hhcnRQb2ludFtdLFxyXG4gICAgdGFyZ2V0UmVzb2x1dGlvbjogbnVtYmVyLFxyXG4gICAgdGFyZ2V0TGVuZ3RoOiBudW1iZXJcclxuICApOiBDaGFydFBvaW50W10ge1xyXG4gICAgY29uc3Qgb3V0cHV0OiBDaGFydFBvaW50W10gPSBbXTtcclxuICAgIGxldCBhZ2dyZWdhdGlvblZhbHVlczogQ2hhcnRQb2ludFtdID0gW107XHJcbiAgICBsZXQgZmlyc3RQb2ludCA9IGRhdGFbMF07XHJcbiAgICBhZ2dyZWdhdGlvblZhbHVlcy5wdXNoKGZpcnN0UG9pbnQpO1xyXG5cclxuICAgIGZvciAobGV0IGkgPSAxLCBlbmQgPSBkYXRhLmxlbmd0aDsgaSA8IGVuZDsgKytpKSB7XHJcbiAgICAgIGNvbnN0IGN1cnJlbnRQb2ludCA9IGRhdGFbaV07XHJcbiAgICAgIGNvbnN0IHRpbWVEaXN0YW5jZSA9IE1hdGguYWJzKHRoaXMuZ2V0VGltZShmaXJzdFBvaW50KSAtIHRoaXMuZ2V0VGltZShjdXJyZW50UG9pbnQpKTtcclxuXHJcbiAgICAgIGlmICh0aW1lRGlzdGFuY2UgPCB0YXJnZXRSZXNvbHV0aW9uKSB7XHJcbiAgICAgICAgYWdncmVnYXRpb25WYWx1ZXMucHVzaChjdXJyZW50UG9pbnQpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vIGNyZWF0ZSBuZXcgc2Vuc29yIHZhbHVlIGluIG91dHB1dFxyXG4gICAgICAgIGNvbnN0IG5ld1BvaW50ID0gdGhpcy5nZXRBdmVyYWdlKGFnZ3JlZ2F0aW9uVmFsdWVzKTtcclxuICAgICAgICBvdXRwdXQucHVzaChuZXdQb2ludCk7XHJcblxyXG4gICAgICAgIC8vIHJlc2V0IGFnZ3JlZ2F0aW9uIGRhdGEgc3RydWN0dXJlXHJcbiAgICAgICAgZmlyc3RQb2ludCA9IGN1cnJlbnRQb2ludDtcclxuICAgICAgICBhZ2dyZWdhdGlvblZhbHVlcyA9IFtjdXJyZW50UG9pbnRdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gaW5zZXJ0IGxhc3QgcG9pbnRcclxuICAgIG91dHB1dC5wdXNoKHRoaXMuZ2V0QXZlcmFnZShhZ2dyZWdhdGlvblZhbHVlcykpO1xyXG5cclxuICAgIHJldHVybiBvdXRwdXQ7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0QXZlcmFnZShhZ2dyZWdhdGlvblZhbHVlczogQ2hhcnRQb2ludFtdKTogQ2hhcnRQb2ludCB7XHJcbiAgICBjb25zdCB2YWx1ZSA9IGFnZ3JlZ2F0aW9uVmFsdWVzXHJcbiAgICAgIC5tYXAocG9pbnQgPT4gcG9pbnQueSBhcyBudW1iZXIpXHJcbiAgICAgIC5yZWR1Y2UoKHByZXZpb3VzLCBjdXJyZW50KSA9PiBwcmV2aW91cyArIGN1cnJlbnQpXHJcbiAgICAgIC8gYWdncmVnYXRpb25WYWx1ZXMubGVuZ3RoO1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIHg6IGFnZ3JlZ2F0aW9uVmFsdWVzWzBdLnggfHwgYWdncmVnYXRpb25WYWx1ZXNbMF0udCxcclxuICAgICAgeTogdmFsdWVcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0VGltZShwb2ludDogQ2hhcnRQb2ludCk6IG51bWJlciB7XHJcbiAgICBjb25zdCB4ID0gcG9pbnQueCB8fCBwb2ludC50O1xyXG5cclxuICAgIGlmICh0eXBlb2YgeCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgcmV0dXJuIHg7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB4ID09PSAnc3RyaW5nJykge1xyXG4gICAgICByZXR1cm4gbmV3IERhdGUoeCkuZ2V0VGltZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHguZ2V0VGltZSgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,46 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,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
- const 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtaGFuYS1uYW1lc2VydmVyLWhpc3Rvcnktdmlld2VyLyIsInNvdXJjZXMiOlsic3JjL25hbWVzZXJ2ZXItaGlzdG9yeS12aWV3ZXIvdXRpbHMvY2hhcnRqcy1kb3duc2FtcGxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF3QkEsT0FBTyxLQUFLLE9BQU8sTUFBTSxVQUFVLENBQUM7O01BQzlCLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxtQkFBQSxNQUFNLEVBQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBQSxNQUFNLEVBQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUs7QUFFckYsT0FBTyxFQUFFLDBCQUEwQixFQUFxQyxNQUFNLGdDQUFnQyxDQUFDO0FBQy9HLE9BQU8sRUFBRSwwQkFBMEIsRUFBcUMsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7Ozs7Ozs7O0FBZS9HLEtBQUssQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksMEJBQTBCLEVBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIFRoaXMgcGx1Z2luIGlzIGFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tLzNkY2wvY2hhcnRqcy1wbHVnaW4tcmVzcG9uc2l2ZS1kb3duc2FtcGxlXHJcbiAqIGZvciBjb250cm9sbGluZyB0aGUgcmFkaXVzIG9mIHBvaW50LlxyXG4gKlxyXG4gKiBNSVQgTGljZW5zZVxyXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggM0QgQ29udGVudCBMb2dpc3RpY3NcclxuICpcclxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxyXG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXHJcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcclxuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxyXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcclxuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcclxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXHJcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXHJcbiAqXHJcbiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcclxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXHJcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxyXG4gKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXHJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXHJcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXHJcbiAqIFNPRlRXQVJFLlxyXG4gKi9cclxuaW1wb3J0ICogYXMgY2hhcnRqcyBmcm9tICdjaGFydC5qcyc7XHJcbmNvbnN0IENoYXJ0ID0gd2luZG93ICYmICh3aW5kb3cgYXMgYW55KS5DaGFydCA/ICh3aW5kb3cgYXMgYW55KS5DaGFydCA6IGNoYXJ0anMuQ2hhcnQ7XHJcblxyXG5pbXBvcnQgeyBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbiwgUmVzcG9uc2l2ZURvd25zYW1wbGVQbHVnaW5PcHRpb25zIH0gZnJvbSAnLi9yZXNwb25zaXZlX2Rvd25zYW1wbGVfcGx1Z2luJztcclxuZXhwb3J0IHsgUmVzcG9uc2l2ZURvd25zYW1wbGVQbHVnaW4sIFJlc3BvbnNpdmVEb3duc2FtcGxlUGx1Z2luT3B0aW9ucyB9IGZyb20gJy4vcmVzcG9uc2l2ZV9kb3duc2FtcGxlX3BsdWdpbic7XHJcblxyXG5cclxuLy8gY29tbWVudCB0aGlzIGJlY2F1c2UgdGhpcyBwbHVnaW4gaXMgb25seSB1c2VkIGludGVybmFsbHksIG1lcmdlIENoYXJ0T3B0aW9ucyBpbnRlcmZhY2UgaXMgdW5uZWNlc3NhcnlcclxuLy8gYW5kIGNhdXNlcyBidWlsZCBlcnJvcjogXCJlcnJvciBUUzI2NjU6IEludmFsaWQgbW9kdWxlIG5hbWUgaW4gYXVnbWVudGF0aW9uLlwiLlxyXG4vLyAvLyBFeHRlbmQgY2hhcnQuanMgb3B0aW9ucyBpbnRlcmZhY2VcclxuLy8gZGVjbGFyZSBtb2R1bGUgJ2NoYXJ0LmpzJyB7XHJcbi8vICAgICBpbnRlcmZhY2UgQ2hhcnRPcHRpb25zIHtcclxuLy8gICAgICAgICAvKipcclxuLy8gICAgICAgICAgKiBPcHRpb25zIGZvciByZXNwb25zaXZlIGRvd25zYW1wbGUgcGx1Z2luXHJcbi8vICAgICAgICAgICovXHJcbi8vICAgICAgICAgcmVzcG9uc2l2ZURvd25zYW1wbGU/OiBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbk9wdGlvbnM7XHJcbi8vICAgICB9XHJcbi8vIH1cclxuXHJcbkNoYXJ0LnBsdWdpblNlcnZpY2UucmVnaXN0ZXIobmV3IFJlc3BvbnNpdmVEb3duc2FtcGxlUGx1Z2luKCkpO1xyXG4iXX0=