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.
- package/README.md +7 -6
- package/esm2020/ngx-hana-nameserver-history-viewer.mjs +5 -0
- package/esm2020/public-api.mjs +2 -0
- package/esm2020/src/nameserver-history-viewer/components/alert/alert.component.mjs +68 -0
- package/esm2020/src/nameserver-history-viewer/components/alert/alert.module.mjs +22 -0
- package/esm2020/src/nameserver-history-viewer/components/alert/index.mjs +3 -0
- package/esm2020/src/nameserver-history-viewer/components/file-drop-input/file-drop-input.component.mjs +112 -0
- package/esm2020/src/nameserver-history-viewer/components/file-drop-input/index.mjs +2 -0
- package/esm2020/src/nameserver-history-viewer/components/index.mjs +9 -0
- package/esm2020/src/nameserver-history-viewer/components/instruction/index.mjs +2 -0
- package/esm2020/src/nameserver-history-viewer/components/instruction/instruction.component.mjs +42 -0
- package/esm2020/src/nameserver-history-viewer/components/nameserver-history.component.mjs +550 -0
- package/esm2020/src/nameserver-history-viewer/components/port-selector/index.mjs +2 -0
- package/esm2020/src/nameserver-history-viewer/components/port-selector/port-selector.component.mjs +69 -0
- package/esm2020/src/nameserver-history-viewer/components/port-selector/port-selector.service.mjs +41 -0
- package/esm2020/src/nameserver-history-viewer/components/progress-bar/index.mjs +2 -0
- package/esm2020/src/nameserver-history-viewer/components/progress-bar/progress-bar.component.mjs +40 -0
- package/esm2020/src/nameserver-history-viewer/components/time-range-selector/index.mjs +2 -0
- package/esm2020/src/nameserver-history-viewer/components/time-range-selector/time-range-selector.component.mjs +70 -0
- package/esm2020/src/nameserver-history-viewer/components/timezone-selector/index.mjs +2 -0
- package/esm2020/src/nameserver-history-viewer/components/timezone-selector/timezone-selector.component.mjs +90 -0
- package/esm2020/src/nameserver-history-viewer/components/timezone-selector/timezone-selector.service.mjs +49 -0
- package/esm2020/src/nameserver-history-viewer/index.mjs +3 -0
- package/esm2020/src/nameserver-history-viewer/nameserver-history.module.mjs +63 -0
- package/esm2020/src/nameserver-history-viewer/services/chart.service.mjs +323 -0
- package/esm2020/src/nameserver-history-viewer/services/file.service.mjs +390 -0
- package/esm2020/src/nameserver-history-viewer/services/index.mjs +4 -0
- package/esm2020/src/nameserver-history-viewer/services/ui.service.mjs +557 -0
- package/esm2020/src/nameserver-history-viewer/types/abort.types.mjs +6 -0
- package/esm2020/src/nameserver-history-viewer/types/alert.types.mjs +8 -0
- package/esm2020/src/nameserver-history-viewer/types/chart-content-data-item.types.mjs +2 -0
- package/esm2020/src/nameserver-history-viewer/types/chart-content-data.types.mjs +2 -0
- package/esm2020/src/nameserver-history-viewer/types/chart-content-header.types.mjs +2 -0
- package/esm2020/src/nameserver-history-viewer/types/chart-content-time.types.mjs +2 -0
- package/esm2020/src/nameserver-history-viewer/types/chart-content.types.mjs +2 -0
- package/esm2020/src/nameserver-history-viewer/types/color-rgba.types.mjs +2 -0
- package/esm2020/src/nameserver-history-viewer/types/html-element.type.mjs +9 -0
- package/esm2020/src/nameserver-history-viewer/types/index.mjs +28 -0
- package/esm2020/src/nameserver-history-viewer/types/item.types.mjs +14 -0
- package/esm2020/src/nameserver-history-viewer/types/legend-color.types.mjs +2 -0
- package/esm2020/src/nameserver-history-viewer/types/load-history-info-backup.types.mjs +2 -0
- package/esm2020/src/nameserver-history-viewer/types/load-history-info-columnstore.types.mjs +2 -0
- package/esm2020/src/nameserver-history-viewer/types/load-history-info-host.types.mjs +2 -0
- package/esm2020/src/nameserver-history-viewer/types/load-history-info-item.types.mjs +2 -0
- package/esm2020/src/nameserver-history-viewer/types/load-history-info-persistence.types.mjs +2 -0
- package/esm2020/src/nameserver-history-viewer/types/load-history-info-rowstore.types.mjs +2 -0
- package/esm2020/src/nameserver-history-viewer/types/load-history-info-server.types.mjs +2 -0
- package/esm2020/src/nameserver-history-viewer/types/load-history-info-session-admission-control.types.mjs +2 -0
- package/esm2020/src/nameserver-history-viewer/types/load-history-info-sql.types.mjs +2 -0
- package/esm2020/src/nameserver-history-viewer/types/load-history-info-sync-primitives.types.mjs +2 -0
- package/esm2020/src/nameserver-history-viewer/types/load-history-info-threads.types.mjs +2 -0
- package/esm2020/src/nameserver-history-viewer/types/load-history-info.types.mjs +2 -0
- package/esm2020/src/nameserver-history-viewer/types/port.types.mjs +2 -0
- package/esm2020/src/nameserver-history-viewer/types/scale-group.types.mjs +17 -0
- package/esm2020/src/nameserver-history-viewer/types/unit-category.types.mjs +10 -0
- package/esm2020/src/nameserver-history-viewer/types/unit.types.mjs +14 -0
- package/esm2020/src/nameserver-history-viewer/utils/chart-util.mjs +25 -0
- package/esm2020/src/nameserver-history-viewer/utils/chartjs-downsample/chartjs_ext.mjs +2 -0
- package/esm2020/src/nameserver-history-viewer/utils/chartjs-downsample/data_culling.mjs +57 -0
- package/esm2020/src/nameserver-history-viewer/utils/chartjs-downsample/data_mipmap.mjs +139 -0
- package/esm2020/src/nameserver-history-viewer/utils/chartjs-downsample/index.mjs +41 -0
- package/esm2020/src/nameserver-history-viewer/utils/chartjs-downsample/lttb_data_mipmap.mjs +106 -0
- package/esm2020/src/nameserver-history-viewer/utils/chartjs-downsample/responsive_downsample_plugin.mjs +168 -0
- package/esm2020/src/nameserver-history-viewer/utils/chartjs-downsample/utils.mjs +114 -0
- package/esm2020/src/nameserver-history-viewer/utils/chartjs-zoom/chart.zoom.mjs +527 -0
- package/esm2020/src/nameserver-history-viewer/utils/chartjs-zoom/index.mjs +2 -0
- package/esm2020/src/nameserver-history-viewer/utils/file-util.mjs +154 -0
- package/esm2020/src/nameserver-history-viewer/utils/index.mjs +5 -0
- package/esm2020/src/nameserver-history-viewer/utils/time-util.mjs +101 -0
- package/esm2020/src/nameserver-history-viewer/utils/ui-util.mjs +162 -0
- package/fesm2015/ngx-hana-nameserver-history-viewer.mjs +4081 -0
- package/fesm2015/ngx-hana-nameserver-history-viewer.mjs.map +1 -0
- package/fesm2020/ngx-hana-nameserver-history-viewer.mjs +4081 -0
- package/fesm2020/ngx-hana-nameserver-history-viewer.mjs.map +1 -0
- package/ngx-hana-nameserver-history-viewer.d.ts +1 -1
- package/package.json +36 -61
- package/src/nameserver-history-viewer/components/alert/alert.component.d.ts +4 -1
- package/src/nameserver-history-viewer/components/alert/alert.module.d.ts +6 -0
- package/src/nameserver-history-viewer/components/file-drop-input/file-drop-input.component.d.ts +3 -0
- package/src/nameserver-history-viewer/components/instruction/instruction.component.d.ts +3 -0
- package/src/nameserver-history-viewer/components/nameserver-history.component.d.ts +33 -14
- package/src/nameserver-history-viewer/components/port-selector/port-selector.component.d.ts +4 -1
- package/src/nameserver-history-viewer/components/port-selector/port-selector.service.d.ts +3 -0
- package/src/nameserver-history-viewer/components/progress-bar/progress-bar.component.d.ts +3 -0
- package/src/nameserver-history-viewer/components/time-range-selector/time-range-selector.component.d.ts +3 -0
- package/src/nameserver-history-viewer/components/timezone-selector/timezone-selector.component.d.ts +3 -0
- package/src/nameserver-history-viewer/components/timezone-selector/timezone-selector.service.d.ts +3 -0
- package/src/nameserver-history-viewer/index.d.ts +1 -0
- package/src/nameserver-history-viewer/nameserver-history.module.d.ts +17 -0
- package/src/nameserver-history-viewer/services/chart.service.d.ts +4 -1
- package/src/nameserver-history-viewer/services/file.service.d.ts +4 -0
- package/src/nameserver-history-viewer/services/ui.service.d.ts +5 -2
- package/src/nameserver-history-viewer/types/load-history-info-session-admission-control.types.d.ts +3 -0
- package/src/nameserver-history-viewer/utils/chartjs-downsample/lttb_data_mipmap.d.ts +1 -1
- package/src/nameserver-history-viewer/utils/file-util.d.ts +11 -0
- package/bundles/ngx-hana-nameserver-history-viewer.umd.js +0 -6298
- package/bundles/ngx-hana-nameserver-history-viewer.umd.js.map +0 -1
- package/bundles/ngx-hana-nameserver-history-viewer.umd.min.js +0 -2
- package/bundles/ngx-hana-nameserver-history-viewer.umd.min.js.map +0 -1
- package/esm2015/ngx-hana-nameserver-history-viewer.js +0 -10
- package/esm2015/public-api.js +0 -6
- package/esm2015/src/nameserver-history-viewer/components/alert/alert.component.js +0 -108
- package/esm2015/src/nameserver-history-viewer/components/alert/alert.module.js +0 -21
- package/esm2015/src/nameserver-history-viewer/components/alert/index.js +0 -7
- package/esm2015/src/nameserver-history-viewer/components/file-drop-input/file-drop-input.component.js +0 -141
- package/esm2015/src/nameserver-history-viewer/components/file-drop-input/index.js +0 -6
- package/esm2015/src/nameserver-history-viewer/components/index.js +0 -13
- package/esm2015/src/nameserver-history-viewer/components/instruction/index.js +0 -6
- package/esm2015/src/nameserver-history-viewer/components/instruction/instruction.component.js +0 -62
- package/esm2015/src/nameserver-history-viewer/components/nameserver-history.component.js +0 -742
- package/esm2015/src/nameserver-history-viewer/components/port-selector/index.js +0 -6
- package/esm2015/src/nameserver-history-viewer/components/port-selector/port-selector.component.js +0 -93
- package/esm2015/src/nameserver-history-viewer/components/port-selector/port-selector.service.js +0 -56
- package/esm2015/src/nameserver-history-viewer/components/progress-bar/index.js +0 -6
- package/esm2015/src/nameserver-history-viewer/components/progress-bar/progress-bar.component.js +0 -35
- package/esm2015/src/nameserver-history-viewer/components/time-range-selector/index.js +0 -6
- package/esm2015/src/nameserver-history-viewer/components/time-range-selector/time-range-selector.component.js +0 -68
- package/esm2015/src/nameserver-history-viewer/components/timezone-selector/index.js +0 -6
- package/esm2015/src/nameserver-history-viewer/components/timezone-selector/timezone-selector.component.js +0 -135
- package/esm2015/src/nameserver-history-viewer/components/timezone-selector/timezone-selector.service.js +0 -72
- package/esm2015/src/nameserver-history-viewer/index.js +0 -6
- package/esm2015/src/nameserver-history-viewer/nameserver-history.module.js +0 -42
- package/esm2015/src/nameserver-history-viewer/services/chart.service.js +0 -423
- package/esm2015/src/nameserver-history-viewer/services/file.service.js +0 -447
- package/esm2015/src/nameserver-history-viewer/services/index.js +0 -8
- package/esm2015/src/nameserver-history-viewer/services/ui.service.js +0 -817
- package/esm2015/src/nameserver-history-viewer/types/abort.types.js +0 -13
- package/esm2015/src/nameserver-history-viewer/types/alert.types.js +0 -13
- package/esm2015/src/nameserver-history-viewer/types/chart-content-data-item.types.js +0 -15
- package/esm2015/src/nameserver-history-viewer/types/chart-content-data.types.js +0 -9
- package/esm2015/src/nameserver-history-viewer/types/chart-content-header.types.js +0 -15
- package/esm2015/src/nameserver-history-viewer/types/chart-content-time.types.js +0 -9
- package/esm2015/src/nameserver-history-viewer/types/chart-content.types.js +0 -21
- package/esm2015/src/nameserver-history-viewer/types/color-rgba.types.js +0 -19
- package/esm2015/src/nameserver-history-viewer/types/html-element.type.js +0 -19
- package/esm2015/src/nameserver-history-viewer/types/index.js +0 -32
- package/esm2015/src/nameserver-history-viewer/types/item.types.js +0 -19
- package/esm2015/src/nameserver-history-viewer/types/legend-color.types.js +0 -9
- package/esm2015/src/nameserver-history-viewer/types/load-history-info-backup.types.js +0 -19
- package/esm2015/src/nameserver-history-viewer/types/load-history-info-columnstore.types.js +0 -19
- package/esm2015/src/nameserver-history-viewer/types/load-history-info-host.types.js +0 -35
- package/esm2015/src/nameserver-history-viewer/types/load-history-info-item.types.js +0 -31
- package/esm2015/src/nameserver-history-viewer/types/load-history-info-persistence.types.js +0 -27
- package/esm2015/src/nameserver-history-viewer/types/load-history-info-rowstore.types.js +0 -15
- package/esm2015/src/nameserver-history-viewer/types/load-history-info-server.types.js +0 -25
- package/esm2015/src/nameserver-history-viewer/types/load-history-info-session-admission-control.types.js +0 -19
- package/esm2015/src/nameserver-history-viewer/types/load-history-info-sql.types.js +0 -37
- package/esm2015/src/nameserver-history-viewer/types/load-history-info-sync-primitives.types.js +0 -15
- package/esm2015/src/nameserver-history-viewer/types/load-history-info-threads.types.js +0 -23
- package/esm2015/src/nameserver-history-viewer/types/load-history-info.types.js +0 -31
- package/esm2015/src/nameserver-history-viewer/types/port.types.js +0 -17
- package/esm2015/src/nameserver-history-viewer/types/scale-group.types.js +0 -35
- package/esm2015/src/nameserver-history-viewer/types/unit-category.types.js +0 -21
- package/esm2015/src/nameserver-history-viewer/types/unit.types.js +0 -19
- package/esm2015/src/nameserver-history-viewer/utils/chart-util.js +0 -38
- package/esm2015/src/nameserver-history-viewer/utils/chartjs-downsample/chartjs_ext.js +0 -100
- package/esm2015/src/nameserver-history-viewer/utils/chartjs-downsample/data_culling.js +0 -88
- package/esm2015/src/nameserver-history-viewer/utils/chartjs-downsample/data_mipmap.js +0 -213
- package/esm2015/src/nameserver-history-viewer/utils/chartjs-downsample/index.js +0 -46
- package/esm2015/src/nameserver-history-viewer/utils/chartjs-downsample/lttb_data_mipmap.js +0 -158
- package/esm2015/src/nameserver-history-viewer/utils/chartjs-downsample/responsive_downsample_plugin.js +0 -295
- package/esm2015/src/nameserver-history-viewer/utils/chartjs-downsample/utils.js +0 -130
- package/esm2015/src/nameserver-history-viewer/utils/chartjs-zoom/chart.zoom.js +0 -733
- package/esm2015/src/nameserver-history-viewer/utils/chartjs-zoom/index.js +0 -6
- package/esm2015/src/nameserver-history-viewer/utils/file-util.js +0 -149
- package/esm2015/src/nameserver-history-viewer/utils/index.js +0 -9
- package/esm2015/src/nameserver-history-viewer/utils/time-util.js +0 -135
- package/esm2015/src/nameserver-history-viewer/utils/ui-util.js +0 -203
- package/esm5/ngx-hana-nameserver-history-viewer.js +0 -10
- package/esm5/public-api.js +0 -6
- package/esm5/src/nameserver-history-viewer/components/alert/alert.component.js +0 -140
- package/esm5/src/nameserver-history-viewer/components/alert/alert.module.js +0 -25
- package/esm5/src/nameserver-history-viewer/components/alert/index.js +0 -7
- package/esm5/src/nameserver-history-viewer/components/file-drop-input/file-drop-input.component.js +0 -155
- package/esm5/src/nameserver-history-viewer/components/file-drop-input/index.js +0 -6
- package/esm5/src/nameserver-history-viewer/components/index.js +0 -13
- package/esm5/src/nameserver-history-viewer/components/instruction/index.js +0 -6
- package/esm5/src/nameserver-history-viewer/components/instruction/instruction.component.js +0 -67
- package/esm5/src/nameserver-history-viewer/components/nameserver-history.component.js +0 -990
- package/esm5/src/nameserver-history-viewer/components/port-selector/index.js +0 -6
- package/esm5/src/nameserver-history-viewer/components/port-selector/port-selector.component.js +0 -93
- package/esm5/src/nameserver-history-viewer/components/port-selector/port-selector.service.js +0 -81
- package/esm5/src/nameserver-history-viewer/components/progress-bar/index.js +0 -6
- package/esm5/src/nameserver-history-viewer/components/progress-bar/progress-bar.component.js +0 -26
- package/esm5/src/nameserver-history-viewer/components/time-range-selector/index.js +0 -6
- package/esm5/src/nameserver-history-viewer/components/time-range-selector/time-range-selector.component.js +0 -58
- package/esm5/src/nameserver-history-viewer/components/timezone-selector/index.js +0 -6
- package/esm5/src/nameserver-history-viewer/components/timezone-selector/timezone-selector.component.js +0 -164
- package/esm5/src/nameserver-history-viewer/components/timezone-selector/timezone-selector.service.js +0 -102
- package/esm5/src/nameserver-history-viewer/index.js +0 -6
- package/esm5/src/nameserver-history-viewer/nameserver-history.module.js +0 -46
- package/esm5/src/nameserver-history-viewer/services/chart.service.js +0 -578
- package/esm5/src/nameserver-history-viewer/services/file.service.js +0 -566
- package/esm5/src/nameserver-history-viewer/services/index.js +0 -8
- package/esm5/src/nameserver-history-viewer/services/ui.service.js +0 -1036
- package/esm5/src/nameserver-history-viewer/types/abort.types.js +0 -13
- package/esm5/src/nameserver-history-viewer/types/alert.types.js +0 -13
- package/esm5/src/nameserver-history-viewer/types/chart-content-data-item.types.js +0 -15
- package/esm5/src/nameserver-history-viewer/types/chart-content-data.types.js +0 -9
- package/esm5/src/nameserver-history-viewer/types/chart-content-header.types.js +0 -15
- package/esm5/src/nameserver-history-viewer/types/chart-content-time.types.js +0 -9
- package/esm5/src/nameserver-history-viewer/types/chart-content.types.js +0 -21
- package/esm5/src/nameserver-history-viewer/types/color-rgba.types.js +0 -19
- package/esm5/src/nameserver-history-viewer/types/html-element.type.js +0 -19
- package/esm5/src/nameserver-history-viewer/types/index.js +0 -32
- package/esm5/src/nameserver-history-viewer/types/item.types.js +0 -19
- package/esm5/src/nameserver-history-viewer/types/legend-color.types.js +0 -9
- package/esm5/src/nameserver-history-viewer/types/load-history-info-backup.types.js +0 -19
- package/esm5/src/nameserver-history-viewer/types/load-history-info-columnstore.types.js +0 -19
- package/esm5/src/nameserver-history-viewer/types/load-history-info-host.types.js +0 -35
- package/esm5/src/nameserver-history-viewer/types/load-history-info-item.types.js +0 -31
- package/esm5/src/nameserver-history-viewer/types/load-history-info-persistence.types.js +0 -27
- package/esm5/src/nameserver-history-viewer/types/load-history-info-rowstore.types.js +0 -15
- package/esm5/src/nameserver-history-viewer/types/load-history-info-server.types.js +0 -25
- package/esm5/src/nameserver-history-viewer/types/load-history-info-session-admission-control.types.js +0 -19
- package/esm5/src/nameserver-history-viewer/types/load-history-info-sql.types.js +0 -37
- package/esm5/src/nameserver-history-viewer/types/load-history-info-sync-primitives.types.js +0 -15
- package/esm5/src/nameserver-history-viewer/types/load-history-info-threads.types.js +0 -23
- package/esm5/src/nameserver-history-viewer/types/load-history-info.types.js +0 -31
- package/esm5/src/nameserver-history-viewer/types/port.types.js +0 -17
- package/esm5/src/nameserver-history-viewer/types/scale-group.types.js +0 -35
- package/esm5/src/nameserver-history-viewer/types/unit-category.types.js +0 -21
- package/esm5/src/nameserver-history-viewer/types/unit.types.js +0 -19
- package/esm5/src/nameserver-history-viewer/utils/chart-util.js +0 -39
- package/esm5/src/nameserver-history-viewer/utils/chartjs-downsample/chartjs_ext.js +0 -100
- package/esm5/src/nameserver-history-viewer/utils/chartjs-downsample/data_culling.js +0 -88
- package/esm5/src/nameserver-history-viewer/utils/chartjs-downsample/data_mipmap.js +0 -307
- package/esm5/src/nameserver-history-viewer/utils/chartjs-downsample/index.js +0 -46
- package/esm5/src/nameserver-history-viewer/utils/chartjs-downsample/lttb_data_mipmap.js +0 -232
- package/esm5/src/nameserver-history-viewer/utils/chartjs-downsample/responsive_downsample_plugin.js +0 -350
- package/esm5/src/nameserver-history-viewer/utils/chartjs-downsample/utils.js +0 -142
- package/esm5/src/nameserver-history-viewer/utils/chartjs-zoom/chart.zoom.js +0 -733
- package/esm5/src/nameserver-history-viewer/utils/chartjs-zoom/index.js +0 -6
- package/esm5/src/nameserver-history-viewer/utils/file-util.js +0 -150
- package/esm5/src/nameserver-history-viewer/utils/index.js +0 -9
- package/esm5/src/nameserver-history-viewer/utils/time-util.js +0 -135
- package/esm5/src/nameserver-history-viewer/utils/ui-util.js +0 -205
- package/fesm2015/ngx-hana-nameserver-history-viewer.js +0 -5223
- package/fesm2015/ngx-hana-nameserver-history-viewer.js.map +0 -1
- package/fesm5/ngx-hana-nameserver-history-viewer.js +0 -6295
- package/fesm5/ngx-hana-nameserver-history-viewer.js.map +0 -1
- 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
|
-
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,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,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
|
-
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YV9jdWxsaW5nLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWhhbmEtbmFtZXNlcnZlci1oaXN0b3J5LXZpZXdlci8iLCJzb3VyY2VzIjpbInNyYy9uYW1lc2VydmVyLWhpc3Rvcnktdmlld2VyL3V0aWxzL2NoYXJ0anMtZG93bnNhbXBsZS9kYXRhX2N1bGxpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQTBCQSxPQUFPLEtBQUssYUFBYSxNQUFNLFFBQVEsQ0FBQzs7TUFDbEMsTUFBTSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsbUJBQUEsTUFBTSxFQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBQSxNQUFNLEVBQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsYUFBYTtBQUMxRixPQUFPLEtBQUssS0FBSyxNQUFNLFNBQVMsQ0FBQzs7Ozs7QUFLakMsU0FBUyxlQUFlLENBQUMsS0FBYTtJQUNsQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtRQUMzQixPQUFPLEtBQUssQ0FBQztLQUNoQjtTQUFNLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1FBQ2xDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0tBQ3RDO1NBQU0sSUFBSSxLQUFLLFlBQVksSUFBSSxFQUFFO1FBQzlCLE9BQU8sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0tBQzFCO1NBQU07UUFDSCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztLQUMzQztBQUNMLENBQUM7Ozs7OztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsYUFBb0IsRUFBRSxZQUFtQjtJQUNsRSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO1FBQzFCLEtBQUssQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO1FBQ3pCLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLEtBQUssQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVCLEtBQUssQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQzlCO1FBQ0UsT0FBTyxLQUFLLENBQUM7S0FDaEI7SUFFRCxhQUFhLEdBQUcsQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkYsWUFBWSxHQUFHLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXBGLE9BQU8sYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFLLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLEtBQUssWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hGLENBQUM7Ozs7O0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUFZO0lBQ3RDLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUN0QixPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQ3JCOztVQUVLLEtBQUssR0FBRyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQzs7VUFDMUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBRS9DLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDeEIsQ0FBQzs7Ozs7O0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxJQUFrQixFQUFFLEtBQVk7O1VBQy9DLFVBQVUsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDOztVQUN0QyxRQUFRLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQzs7UUFDdEMsVUFBVSxHQUFHLENBQUM7O1FBQ2QsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNO0lBRTFCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFOztjQUM1QixLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQzs7Y0FDZixZQUFZLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQztRQUV4RCxJQUFJLFlBQVksSUFBSSxVQUFVLEVBQUU7WUFDNUIsVUFBVSxHQUFHLENBQUMsQ0FBQztTQUNsQjtRQUVELElBQUksWUFBWSxJQUFJLFFBQVEsRUFBRTtZQUMxQixRQUFRLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNqQixNQUFNO1NBQ1Q7S0FDSjtJQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDNUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhpcyBwbHVnaW4gaXMgYWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vM2RjbC9jaGFydGpzLXBsdWdpbi1yZXNwb25zaXZlLWRvd25zYW1wbGVcbiAqIGZvciBjb250cm9sbGluZyB0aGUgcmFkaXVzIG9mIHBvaW50LlxuICpcbiAqIE1JVCBMaWNlbnNlXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggM0QgQ29udGVudCBMb2dpc3RpY3NcbiAqXG4gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cbmltcG9ydCB7IENoYXJ0UG9pbnQgfSBmcm9tICdjaGFydC5qcyc7XG5pbXBvcnQgeyBTY2FsZSB9IGZyb20gJy4vY2hhcnRqc19leHQnO1xuaW1wb3J0ICogYXMgbW9tZW50X21vZHVsZSBmcm9tICdtb21lbnQnO1xuY29uc3QgbW9tZW50ID0gKHdpbmRvdyAmJiAod2luZG93IGFzIGFueSkubW9tZW50KSA/ICh3aW5kb3cgYXMgYW55KS5tb21lbnQgOiBtb21lbnRfbW9kdWxlO1xuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCB0eXBlIFhWYWx1ZSA9IG51bWJlciB8IHN0cmluZyB8IERhdGUgfCBtb21lbnRfbW9kdWxlLk1vbWVudDtcbmV4cG9ydCB0eXBlIFJhbmdlID0gW1hWYWx1ZSwgWFZhbHVlXTtcblxuZnVuY3Rpb24gZ2V0Q29tcGFyZVZhbHVlKHZhbHVlOiBYVmFsdWUpOiBudW1iZXIge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmV0dXJuIChuZXcgRGF0ZSh2YWx1ZSkpLmdldFRpbWUoKTtcbiAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWUuZ2V0VGltZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBtb21lbnQodmFsdWUpLnRvRGF0ZSgpLmdldFRpbWUoKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByYW5nZUlzRXF1YWwocHJldmlvdXNWYWx1ZTogUmFuZ2UsIGN1cnJlbnRWYWx1ZTogUmFuZ2UpOiBib29sZWFuIHtcbiAgICBpZiAodXRpbHMuaXNOaWwocHJldmlvdXNWYWx1ZSkgfHxcbiAgICAgICAgdXRpbHMuaXNOaWwoY3VycmVudFZhbHVlKSB8fFxuICAgICAgICB1dGlscy5pc05pbChwcmV2aW91c1ZhbHVlWzBdKSB8fFxuICAgICAgICB1dGlscy5pc05pbChwcmV2aW91c1ZhbHVlWzFdKSB8fFxuICAgICAgICB1dGlscy5pc05pbChjdXJyZW50VmFsdWVbMF0pIHx8XG4gICAgICAgIHV0aWxzLmlzTmlsKGN1cnJlbnRWYWx1ZVsxXSlcbiAgICApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHByZXZpb3VzVmFsdWUgPSBbZ2V0Q29tcGFyZVZhbHVlKHByZXZpb3VzVmFsdWVbMF0pLCBnZXRDb21wYXJlVmFsdWUocHJldmlvdXNWYWx1ZVsxXSldO1xuICAgIGN1cnJlbnRWYWx1ZSA9IFtnZXRDb21wYXJlVmFsdWUoY3VycmVudFZhbHVlWzBdKSwgZ2V0Q29tcGFyZVZhbHVlKGN1cnJlbnRWYWx1ZVsxXSldO1xuXG4gICAgcmV0dXJuIHByZXZpb3VzVmFsdWVbMF0gPT09IGN1cnJlbnRWYWx1ZVswXSAmJiBwcmV2aW91c1ZhbHVlWzFdID09PSBjdXJyZW50VmFsdWVbMV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTY2FsZVJhbmdlKHNjYWxlOiBTY2FsZSk6IFJhbmdlIHtcbiAgICBpZiAodXRpbHMuaXNOaWwoc2NhbGUpKSB7XG4gICAgICByZXR1cm4gW251bGwsIG51bGxdO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YXJ0ID0gc2NhbGUuZ2V0VmFsdWVGb3JQaXhlbChzY2FsZS5sZWZ0KTtcbiAgICBjb25zdCBlbmQgPSBzY2FsZS5nZXRWYWx1ZUZvclBpeGVsKHNjYWxlLnJpZ2h0KTtcblxuICAgIHJldHVybiBbc3RhcnQsIGVuZF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjdWxsRGF0YShkYXRhOiBDaGFydFBvaW50W10sIHJhbmdlOiBSYW5nZSk6IENoYXJ0UG9pbnRbXSB7XG4gICAgY29uc3Qgc3RhcnRWYWx1ZSA9IGdldENvbXBhcmVWYWx1ZShyYW5nZVswXSk7XG4gICAgY29uc3QgZW5kVmFsdWUgPSBnZXRDb21wYXJlVmFsdWUocmFuZ2VbMV0pO1xuICAgIGxldCBzdGFydEluZGV4ID0gMDtcbiAgICBsZXQgZW5kSW5kZXggPSBkYXRhLmxlbmd0aDtcblxuICAgIGZvciAobGV0IGkgPSAxOyBpIDwgZGF0YS5sZW5ndGg7ICsraSkge1xuICAgICAgICBjb25zdCBwb2ludCA9IGRhdGFbaV07XG4gICAgICAgIGNvbnN0IGNvbXBhcmVWYWx1ZSA9IGdldENvbXBhcmVWYWx1ZShwb2ludC54IHx8IHBvaW50LnQpO1xuXG4gICAgICAgIGlmIChjb21wYXJlVmFsdWUgPD0gc3RhcnRWYWx1ZSkge1xuICAgICAgICAgICAgc3RhcnRJbmRleCA9IGk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29tcGFyZVZhbHVlID49IGVuZFZhbHVlKSB7XG4gICAgICAgICAgICBlbmRJbmRleCA9IGkgKyAxO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZGF0YS5zbGljZShzdGFydEluZGV4LCBlbmRJbmRleCk7XG59XG4iXX0=
|
|
@@ -1,213 +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
|
-
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(point => (/** @type {?} */ (point.y)))
|
|
165
|
-
.reduce((previous, current) => previous + current)
|
|
166
|
-
/ aggregationValues.length;
|
|
167
|
-
return {
|
|
168
|
-
x: aggregationValues[0].x || aggregationValues[0].t,
|
|
169
|
-
y: value
|
|
170
|
-
};
|
|
171
|
-
}
|
|
172
|
-
/**
|
|
173
|
-
* @protected
|
|
174
|
-
* @param {?} point
|
|
175
|
-
* @return {?}
|
|
176
|
-
*/
|
|
177
|
-
getTime(point) {
|
|
178
|
-
/** @type {?} */
|
|
179
|
-
const x = point.x || point.t;
|
|
180
|
-
if (typeof x === 'number') {
|
|
181
|
-
return x;
|
|
182
|
-
}
|
|
183
|
-
else if (typeof x === 'string') {
|
|
184
|
-
return new Date(x).getTime();
|
|
185
|
-
}
|
|
186
|
-
else {
|
|
187
|
-
return x.getTime();
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
if (false) {
|
|
192
|
-
/**
|
|
193
|
-
* @type {?}
|
|
194
|
-
* @protected
|
|
195
|
-
*/
|
|
196
|
-
DataMipmap.prototype.minNumPoints;
|
|
197
|
-
/**
|
|
198
|
-
* @type {?}
|
|
199
|
-
* @protected
|
|
200
|
-
*/
|
|
201
|
-
DataMipmap.prototype.mipMaps;
|
|
202
|
-
/**
|
|
203
|
-
* @type {?}
|
|
204
|
-
* @protected
|
|
205
|
-
*/
|
|
206
|
-
DataMipmap.prototype.originalData;
|
|
207
|
-
/**
|
|
208
|
-
* @type {?}
|
|
209
|
-
* @protected
|
|
210
|
-
*/
|
|
211
|
-
DataMipmap.prototype.resolution;
|
|
212
|
-
}
|
|
213
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YV9taXBtYXAuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtaGFuYS1uYW1lc2VydmVyLWhpc3Rvcnktdmlld2VyLyIsInNvdXJjZXMiOlsic3JjL25hbWVzZXJ2ZXItaGlzdG9yeS12aWV3ZXIvdXRpbHMvY2hhcnRqcy1kb3duc2FtcGxlL2RhdGFfbWlwbWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUF5QkEsT0FBTyxLQUFLLEtBQUssTUFBTSxTQUFTLENBQUM7Ozs7QUFLakMsTUFBTSxPQUFPLFVBQVU7Ozs7OztJQVdyQixZQUFZLElBQWtCLEVBQUUsZUFBdUIsQ0FBQztRQUN0RCxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JCLENBQUM7Ozs7OztJQU1ELE9BQU8sQ0FBQyxJQUFrQjtRQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDOzs7Ozs7SUFNRCxlQUFlLENBQUMsWUFBb0I7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7Ozs7OztJQU1ELHNCQUFzQixDQUFDLFVBQWtCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDOzs7Ozs7SUFNRCwyQkFBMkIsQ0FBQyxVQUFrQjtRQUM1QyxJ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S0FBSyxRQUFRLEVBQUU7WUFDekIsT0FBTyxDQUFDLENBQUM7U0FDVjthQUFNLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxFQUFFO1lBQ2hDLE9BQU8sSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDOUI7YUFBTTtZQUNMLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQztDQUNGOzs7Ozs7SUFwS0Msa0NBQStCOzs7OztJQUMvQiw2QkFBa0M7Ozs7O0lBQ2xDLGtDQUFxQzs7Ozs7SUFDckMsZ0NBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGlzIHBsdWdpbiBpcyBhZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS8zZGNsL2NoYXJ0anMtcGx1Z2luLXJlc3BvbnNpdmUtZG93bnNhbXBsZVxuICogZm9yIGNvbnRyb2xsaW5nIHRoZSByYWRpdXMgb2YgcG9pbnQuXG4gKlxuICogTUlUIExpY2Vuc2VcbiAqIENvcHlyaWdodCAoYykgMjAxOCAzRCBDb250ZW50IExvZ2lzdGljc1xuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gKiBTT0ZUV0FSRS5cbiAqL1xuaW1wb3J0IHsgQ2hhcnRQb2ludCB9IGZyb20gJ2NoYXJ0LmpzJztcbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuXG4vKipcbiAqIEEgbWlwbWFwIGRhdGEgc3RydWN0dXJlIGZvciBsaW5lIGNoYXJ0IGRhdGEuIFVzZXMgYXZlcmFnZXMgdG8gZG93bnNhbXBsZSBkYXRhLlxuICovXG5leHBvcnQgY2xhc3MgRGF0YU1pcG1hcCB7XG4gIHByb3RlY3RlZCBtaW5OdW1Qb2ludHM6IG51bWJlcjtcbiAgcHJvdGVjdGVkIG1pcE1hcHM6IENoYXJ0UG9pbnRbXVtdO1xuICBwcm90ZWN0ZWQgb3JpZ2luYWxEYXRhOiBDaGFydFBvaW50W107XG4gIHByb3RlY3RlZCByZXNvbHV0aW9uOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGRhdGEgbWlwbWFwXG4gICAqIEBwYXJhbSBkYXRhIFRoZSBvcmlnbmFsIGxpbmUgY2hhcnQgZGF0YVxuICAgKiBAcGFyYW0gbWluTnVtUG9pbnRzIE1pbmltYWwgbnVtYmVyIG9mIHBvaW50cyBvbiBsb3dlc3QgbWlwbWFwIGxldmVsKGxpbWl0cyBudW1iZXIgb2YgbGV2ZWxzKVxuICAgKi9cbiAgY29uc3RydWN0b3IoZGF0YTogQ2hhcnRQb2ludFtdLCBtaW5OdW1Qb2ludHM6IG51bWJlciA9IDIpIHtcbiAgICB0aGlzLm1pbk51bVBvaW50cyA9IG1pbk51bVBvaW50cztcbiAgICB0aGlzLnNldERhdGEoZGF0YSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBsaW5lIGNoYXJ0IGRhdGEgYW5kIHVwZGF0ZSBtaXBtYXAgbGV2ZWwuXG4gICAqIEBwYXJhbSBkYXRhIFRoZSBvcmlnbmFsIGxpbmUgY2hhcnQgZGF0YVxuICAgKi9cbiAgc2V0RGF0YShkYXRhOiBDaGFydFBvaW50W10pOiB2b2lkIHtcbiAgICB0aGlzLm9yaWdpbmFsRGF0YSA9IGRhdGEgfHwgW107XG4gICAgdGhpcy5taXBNYXBzID0gW107XG4gICAgdGhpcy5yZXNvbHV0aW9uID0gdGhpcy5jb21wdXRlUmVzb2x1dGlvbih0aGlzLm9yaWdpbmFsRGF0YSk7XG4gICAgdGhpcy5jcmVhdGVNaXBNYXAoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIG1pbmltYWwgbnVtYmVyIG9mIHBvaW50c1xuICAgKiBAcGFyYW0gbWluTnVtUG9pbnRzIE1pbmltYWwgbnVtYmVyIG9mIHBvaW50cyBvbiBsb3dlc3QgbWlwbWFwIGxldmVsKGxpbWl0cyBudW1iZXIgb2YgbGV2ZWxzKVxuICAgKi9cbiAgc2V0TWluTnVtUG9pbnRzKG1pbk51bVBvaW50czogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5taW5OdW1Qb2ludHMgPSBtaW5OdW1Qb2ludHM7XG4gICAgdGhpcy5taXBNYXBzID0gW107XG4gICAgdGhpcy5jcmVhdGVNaXBNYXAoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGJlc3QgZml0dGluZyBtaXBtYXAgbGV2ZWwgZm9yIGEgY2VydGFpbiBzY2FsZSByZXNvbHV0aW9uXG4gICAqIEBwYXJhbSByZXNvbHV0aW9uIERlc2lyZWQgcmVzb2x1dGlvbiBpbiBtcyBwZXIgcGl4ZWxcbiAgICovXG4gIGdldE1pcE1hcEZvclJlc29sdXRpb24ocmVzb2x1dGlvbjogbnVtYmVyKTogQ2hhcnRQb2ludFtdIHtcbiAgICByZXR1cm4gdGhpcy5nZXRNaXBNYXBMZXZlbCh0aGlzLmdldE1pcE1hcEluZGV4Rm9yUmVzb2x1dGlvbihyZXNvbHV0aW9uKSk7XG4gIH1cblxuICAvKipcbiAgICogQ29tcHV0ZXMgdGhlIGluZGV4IG9mIHRoZSBiZXN0IGZpdHRpbmcgbWlwbWFwIGxldmVsIGZvciBhIGNlcnRhaW4gc2NhbGUgcmVzb2x1dGlvblxuICAgKiBAcGFyYW0gcmVzb2x1dGlvbiBEZXNpcmVkIHJlc29sdXRpb24gaW4gbXMgcGVyIHBpeGVsXG4gICAqL1xuICBnZXRNaXBNYXBJbmRleEZvclJlc29sdXRpb24ocmVzb2x1dGlvbjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAodXRpbHMuaXNOaWwocmVzb2x1dGlvbikpIHsgcmV0dXJuIDA7IH1cblxuICAgIGNvbnN0IGZhY3RvciA9IHJlc29sdXRpb24gLyB0aGlzLnJlc29sdXRpb247XG4gICAgcmV0dXJuIHV0aWxzLmNsYW1wKE1hdGguZmxvb3IoTWF0aC5sb2coZmFjdG9yKSAvIE1hdGgubG9nKDIuMCkpLCAwLCB0aGlzLm1pcE1hcHMubGVuZ3RoIC0gMSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgbWlwbWFwIGxldmVsIGJ5IGluZGV4XG4gICAqIEBwYXJhbSBsZXZlbCBUaGUgaW5kZXggb2YgdGhlIG1pcG1hcCBsZXZlbFxuICAgKi9cbiAgZ2V0TWlwTWFwTGV2ZWwobGV2ZWw6IG51bWJlcik6IENoYXJ0UG9pbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMubWlwTWFwc1tsZXZlbF07XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFsbCBtaXBtYXAgbGV2ZWxcbiAgICovXG4gIGdldE1pcE1hcHMoKTogQ2hhcnRQb2ludFtdW10ge1xuICAgIHJldHVybiB0aGlzLm1pcE1hcHM7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBudW1iZXIgb2YgYXZhaWxhYmxlIG1pcG1hcCBsZXZlbFxuICAgKi9cbiAgZ2V0TnVtTGV2ZWwoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5taXBNYXBzLmxlbmd0aDtcbiAgfVxuXG4gIHByb3RlY3RlZCBjb21wdXRlUmVzb2x1dGlvbihkYXRhOiBDaGFydFBvaW50W10pOiBudW1iZXIge1xuICAgIGxldCBtaW5UaW1lRGlzdGFuY2UgPSBJbmZpbml0eTtcblxuICAgIGZvciAobGV0IGkgPSAwLCBlbmQgPSB0aGlzLm9yaWdpbmFsRGF0YS5sZW5ndGggLSAxOyBpIDwgZW5kOyArK2kpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLm9yaWdpbmFsRGF0YVtpXTtcbiAgICAgIGNvbnN0IG5leHQgPSB0aGlzLm9yaWdpbmFsRGF0YVtpICsgMV07XG5cblxuICAgICAgbWluVGltZURpc3RhbmNlID0gTWF0aC5taW4oXG4gICAgICAgIE1hdGguYWJzKHRoaXMuZ2V0VGltZShjdXJyZW50KSAtIHRoaXMuZ2V0VGltZShuZXh0KSksXG4gICAgICAgIG1pblRpbWVEaXN0YW5jZVxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWluVGltZURpc3RhbmNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZU1pcE1hcCgpOiB2b2lkIHtcbiAgICBsZXQgdGFyZ2V0UmVzb2x1dGlvbiA9IHRoaXMucmVzb2x1dGlvbjtcbiAgICBsZXQgdGFyZ2V0TGVuZ3RoID0gdGhpcy5vcmlnaW5hbERhdGEubGVuZ3RoO1xuICAgIHRoaXMubWlwTWFwcy5wdXNoKHRoaXMub3JpZ2luYWxEYXRhKTtcbiAgICBsZXQgbGFzdE1pcE1hcCA9IHRoaXMub3JpZ2luYWxEYXRhO1xuXG4gICAgd2hpbGUgKGxhc3RNaXBNYXAubGVuZ3RoID4gdGhpcy5taW5OdW1Qb2ludHMpIHtcbiAgICAgIHRhcmdldFJlc29sdXRpb24gPSB0YXJnZXRSZXNvbHV0aW9uICogMjtcbiAgICAgIHRhcmdldExlbmd0aCA9IE1hdGguZmxvb3IodGFyZ2V0TGVuZ3RoICogMC41KTtcbiAgICAgIGxhc3RNaXBNYXAgPSB0aGlzLmRvd25zYW1wbGVUb1Jlc29sdXRpb24obGFzdE1pcE1hcCwgdGFyZ2V0UmVzb2x1dGlvbiwgdGFyZ2V0TGVuZ3RoKTtcbiAgICAgIHRoaXMubWlwTWFwcy5wdXNoKGxhc3RNaXBNYXApO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBkb3duc2FtcGxlVG9SZXNvbHV0aW9uKFxuICAgIGRhdGE6IENoYXJ0UG9pbnRbXSxcbiAgICB0YXJnZXRSZXNvbHV0aW9uOiBudW1iZXIsXG4gICAgdGFyZ2V0TGVuZ3RoOiBudW1iZXJcbiAgKTogQ2hhcnRQb2ludFtdIHtcbiAgICBjb25zdCBvdXRwdXQ6IENoYXJ0UG9pbnRbXSA9IFtdO1xuICAgIGxldCBhZ2dyZWdhdGlvblZhbHVlczogQ2hhcnRQb2ludFtdID0gW107XG4gICAgbGV0IGZpcnN0UG9pbnQgPSBkYXRhWzBdO1xuICAgIGFnZ3JlZ2F0aW9uVmFsdWVzLnB1c2goZmlyc3RQb2ludCk7XG5cbiAgICBmb3IgKGxldCBpID0gMSwgZW5kID0gZGF0YS5sZW5ndGg7IGkgPCBlbmQ7ICsraSkge1xuICAgICAgY29uc3QgY3VycmVudFBvaW50ID0gZGF0YVtpXTtcbiAgICAgIGNvbnN0IHRpbWVEaXN0YW5jZSA9IE1hdGguYWJzKHRoaXMuZ2V0VGltZShmaXJzdFBvaW50KSAtIHRoaXMuZ2V0VGltZShjdXJyZW50UG9pbnQpKTtcblxuICAgICAgaWYgKHRpbWVEaXN0YW5jZSA8IHRhcmdldFJlc29sdXRpb24pIHtcbiAgICAgICAgYWdncmVnYXRpb25WYWx1ZXMucHVzaChjdXJyZW50UG9pbnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gY3JlYXRlIG5ldyBzZW5zb3IgdmFsdWUgaW4gb3V0cHV0XG4gICAgICAgIGNvbnN0IG5ld1BvaW50ID0gdGhpcy5nZXRBdmVyYWdlKGFnZ3JlZ2F0aW9uVmFsdWVzKTtcbiAgICAgICAgb3V0cHV0LnB1c2gobmV3UG9pbnQpO1xuXG4gICAgICAgIC8vIHJlc2V0IGFnZ3JlZ2F0aW9uIGRhdGEgc3RydWN0dXJlXG4gICAgICAgIGZpcnN0UG9pbnQgPSBjdXJyZW50UG9pbnQ7XG4gICAgICAgIGFnZ3JlZ2F0aW9uVmFsdWVzID0gW2N1cnJlbnRQb2ludF07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gaW5zZXJ0IGxhc3QgcG9pbnRcbiAgICBvdXRwdXQucHVzaCh0aGlzLmdldEF2ZXJhZ2UoYWdncmVnYXRpb25WYWx1ZXMpKTtcblxuICAgIHJldHVybiBvdXRwdXQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0QXZlcmFnZShhZ2dyZWdhdGlvblZhbHVlczogQ2hhcnRQb2ludFtdKTogQ2hhcnRQb2ludCB7XG4gICAgY29uc3QgdmFsdWUgPSBhZ2dyZWdhdGlvblZhbHVlc1xuICAgICAgLm1hcChwb2ludCA9PiBwb2ludC55IGFzIG51bWJlcilcbiAgICAgIC5yZWR1Y2UoKHByZXZpb3VzLCBjdXJyZW50KSA9PiBwcmV2aW91cyArIGN1cnJlbnQpXG4gICAgICAvIGFnZ3JlZ2F0aW9uVmFsdWVzLmxlbmd0aDtcblxuICAgIHJldHVybiB7XG4gICAgICB4OiBhZ2dyZWdhdGlvblZhbHVlc1swXS54IHx8IGFnZ3JlZ2F0aW9uVmFsdWVzWzBdLnQsXG4gICAgICB5OiB2YWx1ZVxuICAgIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0VGltZShwb2ludDogQ2hhcnRQb2ludCk6IG51bWJlciB7XG4gICAgY29uc3QgeCA9IHBvaW50LnggfHwgcG9pbnQudDtcblxuICAgIGlmICh0eXBlb2YgeCA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiB4O1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHggPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gbmV3IERhdGUoeCkuZ2V0VGltZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4geC5nZXRUaW1lKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -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
|
-
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtaGFuYS1uYW1lc2VydmVyLWhpc3Rvcnktdmlld2VyLyIsInNvdXJjZXMiOlsic3JjL25hbWVzZXJ2ZXItaGlzdG9yeS12aWV3ZXIvdXRpbHMvY2hhcnRqcy1kb3duc2FtcGxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF3QkEsT0FBTyxLQUFLLE9BQU8sTUFBTSxVQUFVLENBQUM7O01BQzlCLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxtQkFBQSxNQUFNLEVBQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBQSxNQUFNLEVBQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUs7QUFFckYsT0FBTyxFQUFFLDBCQUEwQixFQUFxQyxNQUFNLGdDQUFnQyxDQUFDO0FBQy9HLE9BQU8sRUFBRSwwQkFBMEIsRUFBcUMsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7Ozs7Ozs7O0FBZS9HLEtBQUssQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksMEJBQTBCLEVBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGlzIHBsdWdpbiBpcyBhZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS8zZGNsL2NoYXJ0anMtcGx1Z2luLXJlc3BvbnNpdmUtZG93bnNhbXBsZVxuICogZm9yIGNvbnRyb2xsaW5nIHRoZSByYWRpdXMgb2YgcG9pbnQuXG4gKlxuICogTUlUIExpY2Vuc2VcbiAqIENvcHlyaWdodCAoYykgMjAxOCAzRCBDb250ZW50IExvZ2lzdGljc1xuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gKiBTT0ZUV0FSRS5cbiAqL1xuaW1wb3J0ICogYXMgY2hhcnRqcyBmcm9tICdjaGFydC5qcyc7XG5jb25zdCBDaGFydCA9IHdpbmRvdyAmJiAod2luZG93IGFzIGFueSkuQ2hhcnQgPyAod2luZG93IGFzIGFueSkuQ2hhcnQgOiBjaGFydGpzLkNoYXJ0O1xuXG5pbXBvcnQgeyBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbiwgUmVzcG9uc2l2ZURvd25zYW1wbGVQbHVnaW5PcHRpb25zIH0gZnJvbSAnLi9yZXNwb25zaXZlX2Rvd25zYW1wbGVfcGx1Z2luJztcbmV4cG9ydCB7IFJlc3BvbnNpdmVEb3duc2FtcGxlUGx1Z2luLCBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbk9wdGlvbnMgfSBmcm9tICcuL3Jlc3BvbnNpdmVfZG93bnNhbXBsZV9wbHVnaW4nO1xuXG5cbi8vIGNvbW1lbnQgdGhpcyBiZWNhdXNlIHRoaXMgcGx1Z2luIGlzIG9ubHkgdXNlZCBpbnRlcm5hbGx5LCBtZXJnZSBDaGFydE9wdGlvbnMgaW50ZXJmYWNlIGlzIHVubmVjZXNzYXJ5XG4vLyBhbmQgY2F1c2VzIGJ1aWxkIGVycm9yOiBcImVycm9yIFRTMjY2NTogSW52YWxpZCBtb2R1bGUgbmFtZSBpbiBhdWdtZW50YXRpb24uXCIuXG4vLyAvLyBFeHRlbmQgY2hhcnQuanMgb3B0aW9ucyBpbnRlcmZhY2Vcbi8vIGRlY2xhcmUgbW9kdWxlICdjaGFydC5qcycge1xuLy8gICAgIGludGVyZmFjZSBDaGFydE9wdGlvbnMge1xuLy8gICAgICAgICAvKipcbi8vICAgICAgICAgICogT3B0aW9ucyBmb3IgcmVzcG9uc2l2ZSBkb3duc2FtcGxlIHBsdWdpblxuLy8gICAgICAgICAgKi9cbi8vICAgICAgICAgcmVzcG9uc2l2ZURvd25zYW1wbGU/OiBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbk9wdGlvbnM7XG4vLyAgICAgfVxuLy8gfVxuXG5DaGFydC5wbHVnaW5TZXJ2aWNlLnJlZ2lzdGVyKG5ldyBSZXNwb25zaXZlRG93bnNhbXBsZVBsdWdpbigpKTtcbiJdfQ==
|