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