@esfaenza/es-charts 11.2.17 → 11.2.21

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.
@@ -23,6 +23,7 @@ export * from './lib/models/data/classes/base/DateValue';
23
23
  export * from './lib/models/data/classes/base/KeyValue';
24
24
  export * from './lib/models/data/classes/base/KeyValueColor';
25
25
  export * from './lib/models/data/classes/base/LineSerie';
26
+ export * from './lib/components/base/base-chart.component';
26
27
  export * from './lib/components/specializations/es-chart.component';
27
28
  export * from './lib/components/specializations/es-area-chart.component';
28
29
  export * from './lib/components/specializations/es-line-chart.component';
@@ -33,4 +34,4 @@ export * from './lib/components/specializations/es-vertical-stacked-chart.compon
33
34
  export * from './lib/models/core/classes/ChartThemes';
34
35
  export * from './lib/models/data/classes/PagedChartData';
35
36
  export * from './lib/es-charts.module';
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2VzLWNoYXJ0cy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyxzRUFBc0UsQ0FBQztBQUNyRixjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBlcy1jaGFydHNcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hZGFwdGVycy9jbGFzc2VzL0Jhc2VBZGFwdGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYWRhcHRlcnMvY2xhc3Nlcy9JQmFzZUFkYXB0ZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGF0YS9jbGFzc2VzL0xpbmVDaGFydERhdGEnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGF0YS9jbGFzc2VzL1BpZUNoYXJ0RGF0YSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kYXRhL2NsYXNzZXMvQXJlYUNoYXJ0RGF0YSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kYXRhL2NsYXNzZXMvVmVydGljYWwyRENoYXJ0RGF0YSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kYXRhL2NsYXNzZXMvVmVydGljYWxDaGFydERhdGEnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGF0YS9jbGFzc2VzL1ZlcnRpY2FsU3RhY2tlZENoYXJ0RGF0YSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZXR0aW5ncy9jbGFzc2VzL0FyZWFDaGFydFNldHRpbmdzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NldHRpbmdzL2NsYXNzZXMvTGluZUNoYXJ0U2V0dGluZ3MnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2V0dGluZ3MvY2xhc3Nlcy9QaWVDaGFydFNldHRpbmdzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NldHRpbmdzL2NsYXNzZXMvVmVydGljYWwyRENoYXJ0U2V0dGluZ3MnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2V0dGluZ3MvY2xhc3Nlcy9WZXJ0aWNhbENoYXJ0U2V0dGluZ3MnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2V0dGluZ3MvY2xhc3Nlcy9WZXJ0aWNhbFN0YWNrZWRDaGFydFNldHRpbmdzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NldHRpbmdzL2NsYXNzZXMvYmFzZS9CYXNlU2V0dGluZ3MnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2V0dGluZ3MvY2xhc3Nlcy9iYXNlL0Jhc2VJbnRlcnZhbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZXR0aW5ncy9jbGFzc2VzL2Jhc2UvTGVnZW5kUGFkJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RhdGEvY2xhc3Nlcy9iYXNlL0xpbWl0JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RhdGEvY2xhc3Nlcy9iYXNlL0RhdGVWYWx1ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kYXRhL2NsYXNzZXMvYmFzZS9LZXlWYWx1ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kYXRhL2NsYXNzZXMvYmFzZS9LZXlWYWx1ZUNvbG9yJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RhdGEvY2xhc3Nlcy9iYXNlL0xpbmVTZXJpZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3BlY2lhbGl6YXRpb25zL2VzLWNoYXJ0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3BlY2lhbGl6YXRpb25zL2VzLWFyZWEtY2hhcnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zcGVjaWFsaXphdGlvbnMvZXMtbGluZS1jaGFydC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NwZWNpYWxpemF0aW9ucy9lcy1waWUtY2hhcnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zcGVjaWFsaXphdGlvbnMvZXMtdmVydGljYWwtMmQtY2hhcnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zcGVjaWFsaXphdGlvbnMvZXMtdmVydGljYWwtY2hhcnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zcGVjaWFsaXphdGlvbnMvZXMtdmVydGljYWwtc3RhY2tlZC1jaGFydC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY29yZS9jbGFzc2VzL0NoYXJ0VGhlbWVzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RhdGEvY2xhc3Nlcy9QYWdlZENoYXJ0RGF0YSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VzLWNoYXJ0cy5tb2R1bGUnOyJdfQ==
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2VzLWNoYXJ0cy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLHNFQUFzRSxDQUFDO0FBQ3JGLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGVzLWNoYXJ0c1xyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FkYXB0ZXJzL2NsYXNzZXMvQmFzZUFkYXB0ZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hZGFwdGVycy9jbGFzc2VzL0lCYXNlQWRhcHRlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kYXRhL2NsYXNzZXMvTGluZUNoYXJ0RGF0YSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kYXRhL2NsYXNzZXMvUGllQ2hhcnREYXRhJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RhdGEvY2xhc3Nlcy9BcmVhQ2hhcnREYXRhJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RhdGEvY2xhc3Nlcy9WZXJ0aWNhbDJEQ2hhcnREYXRhJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RhdGEvY2xhc3Nlcy9WZXJ0aWNhbENoYXJ0RGF0YSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kYXRhL2NsYXNzZXMvVmVydGljYWxTdGFja2VkQ2hhcnREYXRhJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NldHRpbmdzL2NsYXNzZXMvQXJlYUNoYXJ0U2V0dGluZ3MnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2V0dGluZ3MvY2xhc3Nlcy9MaW5lQ2hhcnRTZXR0aW5ncyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZXR0aW5ncy9jbGFzc2VzL1BpZUNoYXJ0U2V0dGluZ3MnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2V0dGluZ3MvY2xhc3Nlcy9WZXJ0aWNhbDJEQ2hhcnRTZXR0aW5ncyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZXR0aW5ncy9jbGFzc2VzL1ZlcnRpY2FsQ2hhcnRTZXR0aW5ncyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZXR0aW5ncy9jbGFzc2VzL1ZlcnRpY2FsU3RhY2tlZENoYXJ0U2V0dGluZ3MnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2V0dGluZ3MvY2xhc3Nlcy9iYXNlL0Jhc2VTZXR0aW5ncyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZXR0aW5ncy9jbGFzc2VzL2Jhc2UvQmFzZUludGVydmFsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NldHRpbmdzL2NsYXNzZXMvYmFzZS9MZWdlbmRQYWQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGF0YS9jbGFzc2VzL2Jhc2UvTGltaXQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGF0YS9jbGFzc2VzL2Jhc2UvRGF0ZVZhbHVlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RhdGEvY2xhc3Nlcy9iYXNlL0tleVZhbHVlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RhdGEvY2xhc3Nlcy9iYXNlL0tleVZhbHVlQ29sb3InO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGF0YS9jbGFzc2VzL2Jhc2UvTGluZVNlcmllJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9iYXNlL2Jhc2UtY2hhcnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zcGVjaWFsaXphdGlvbnMvZXMtY2hhcnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zcGVjaWFsaXphdGlvbnMvZXMtYXJlYS1jaGFydC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NwZWNpYWxpemF0aW9ucy9lcy1saW5lLWNoYXJ0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3BlY2lhbGl6YXRpb25zL2VzLXBpZS1jaGFydC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NwZWNpYWxpemF0aW9ucy9lcy12ZXJ0aWNhbC0yZC1jaGFydC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NwZWNpYWxpemF0aW9ucy9lcy12ZXJ0aWNhbC1jaGFydC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NwZWNpYWxpemF0aW9ucy9lcy12ZXJ0aWNhbC1zdGFja2VkLWNoYXJ0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jb3JlL2NsYXNzZXMvQ2hhcnRUaGVtZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGF0YS9jbGFzc2VzL1BhZ2VkQ2hhcnREYXRhJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZXMtY2hhcnRzLm1vZHVsZSc7Il19
@@ -1,7 +1,7 @@
1
1
  import { Injectable, InjectionToken, Inject, EventEmitter, Directive, ElementRef, NgZone, Input, ContentChild, Output, Component, ChangeDetectionStrategy, PLATFORM_ID, NgModule } from '@angular/core';
2
- import { DateService } from '@esfaenza/extensions';
3
2
  import { isPlatformBrowser, CommonModule } from '@angular/common';
4
3
  import * as am4core from '@amcharts/amcharts4/core';
4
+ import { DateService } from '@esfaenza/extensions';
5
5
  import * as am4charts from '@amcharts/amcharts4/charts';
6
6
 
7
7
  /**
@@ -705,6 +705,11 @@ class BaseChartComponent {
705
705
  * Evento lanciato al termine del caricamento di una nuova pagina del grafico
706
706
  */
707
707
  this.onLoadEnd = new EventEmitter();
708
+ /**
709
+ * Evento lanciato al termine della creazione del grafico referenziando l'istanza nativa del grafico creato in modo da poter effettuare modifiche
710
+ * post inizializzazione lato applicativo
711
+ */
712
+ this.chartLoaded = new EventEmitter();
708
713
  /**
709
714
  * Serve a decidere se sarà presente l'interfaccia di paginazione
710
715
  */
@@ -793,7 +798,7 @@ class BaseChartComponent {
793
798
  this.Chart = this.ChartService.ChartInstance;
794
799
  if (!this.Chart)
795
800
  this.log("Chart " + this.name + ": Could not create graph");
796
- return this.Charter.applyLocale(this.Chart, this.Locale).then(() => this.initDone = true);
801
+ return this.Charter.applyLocale(this.Chart, this.Locale).then(() => { this.initDone = true; this.chartLoaded.emit(this); });
797
802
  })
798
803
  ]);
799
804
  }
@@ -889,6 +894,13 @@ class BaseChartComponent {
889
894
  this.Chart.dispose(); this.Dispatcher.deregisterGraph(this.name); });
890
895
  this.Dispatcher.register(this.name, () => { return this.loadChart(); });
891
896
  }
897
+ /**
898
+ * Permette di aggiungere un blocco di dati in maniera "live" ad un grafico
899
+ */
900
+ addData(chartData) {
901
+ this.ChartService.refreshData(chartData);
902
+ }
903
+ ;
892
904
  /**
893
905
  * Funzione che si occupa di caricare i temi necessari per il grafico in oggetto. Prima applica il tema, poi, se serve, applica le animazioni
894
906
  */
@@ -955,7 +967,8 @@ BaseChartComponent.propDecorators = {
955
967
  onSelectionChanged: [{ type: Output }],
956
968
  onSeriesClicked: [{ type: Output }],
957
969
  onLoadStart: [{ type: Output }],
958
- onLoadEnd: [{ type: Output }]
970
+ onLoadEnd: [{ type: Output }],
971
+ chartLoaded: [{ type: Output }]
959
972
  };
960
973
 
961
974
  /**
@@ -970,6 +983,8 @@ class LineChartService {
970
983
  this.DataGroupBucketSize = 1500;
971
984
  /** @ignore */
972
985
  this.OpacityOnSelected = 0.3;
986
+ /** @ignore */
987
+ this.singleDataSet = false;
973
988
  //******************** Funzione di throttling per non spammare richieste in caso di animazioni attivate
974
989
  //TODO: spostarla in un metodo di utilità (esfaenza/extensions)
975
990
  /** @ignore */
@@ -982,7 +997,7 @@ class LineChartService {
982
997
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
983
998
  let dataConverted = this.Adapter ? this.Adapter.adaptDataForLineChart(data) : data;
984
999
  let threshold = (_a = settings.DataGroupingThreshold) !== null && _a !== void 0 ? _a : 3000;
985
- let singleDataSet = (_b = settings.MergeDatasets) !== null && _b !== void 0 ? _b : false;
1000
+ this.singleDataSet = (_b = settings.MergeDatasets) !== null && _b !== void 0 ? _b : false;
986
1001
  let showTicks = settings.ShowTicks == null ? true : settings === null || settings === void 0 ? void 0 : settings.ShowTicks;
987
1002
  let dataShouldBeGrouped = Math.max(...dataConverted.series.map(t => t.values.length)) > threshold;
988
1003
  let showTimeline = settings.Timeline || dataShouldBeGrouped;
@@ -1061,31 +1076,9 @@ class LineChartService {
1061
1076
  let seriesColors = [];
1062
1077
  let defaultIndex = 0;
1063
1078
  //-- Generazione di un unico dataset invece che N, per poter gestire un unico tooltip
1064
- if (singleDataSet) {
1065
- let dto = {};
1066
- dataConverted.series.forEach((vs, index) => {
1067
- for (let i = 0; i < vs.values.length; i++) {
1068
- var dataitem = vs.values[i];
1069
- var indexer = new Date(dataitem.d).valueOf();
1070
- if (!dto[indexer])
1071
- dto[indexer] = {};
1072
- dto[indexer]['v' + index] = dataitem.v;
1073
- }
1074
- });
1075
- var dates = Object.keys(dto);
1076
- let singleDS = [];
1077
- for (let i = 0; i < dates.length; i++) {
1078
- let values = dto[dates[i]];
1079
- let item = { d: new Date(parseInt(dates[i])) };
1080
- var vals = Object.keys(values);
1081
- for (let ii = 0; ii < vals.length; ii++) {
1082
- let series = vals[ii];
1083
- let singleVal = values[series];
1084
- item[series] = singleVal;
1085
- }
1086
- singleDS.push(item);
1087
- }
1088
- this.ChartInstance.data = singleDS;
1079
+ if (this.singleDataSet) {
1080
+ this.ChartInstance.data = this.generateSingleDataset(dataConverted);
1081
+ ;
1089
1082
  dateAxis.cursorTooltipEnabled = false;
1090
1083
  }
1091
1084
  //-- Fine generazione
@@ -1109,14 +1102,14 @@ class LineChartService {
1109
1102
  s.values.sort((d1, d2) => d1.d.getTime() - d2.d.getTime());
1110
1103
  let fill = s.fill != null && s.fill != undefined ? s.fill : ((_a = settings === null || settings === void 0 ? void 0 : settings.Fill) !== null && _a !== void 0 ? _a : false);
1111
1104
  let series = (settings === null || settings === void 0 ? void 0 : settings.Step) ? new am4charts.StepLineSeries() : new am4charts.LineSeries();
1112
- series.dataFields.valueY = "v" + (singleDataSet ? index : "");
1105
+ series.dataFields.valueY = "v" + (this.singleDataSet ? index : "");
1113
1106
  series.dataFields.dateX = "d";
1114
1107
  series.dataFields.measureUnit = s.uom;
1115
1108
  series.name = s.name;
1116
1109
  series.strokeWidth = (_b = settings === null || settings === void 0 ? void 0 : settings.StrokeSize) !== null && _b !== void 0 ? _b : 1;
1117
1110
  series.connect = !gapsAllowed;
1118
1111
  series.minBulletDistance = 10;
1119
- series.tooltipText = singleDataSet ? "" : "{name}: [bold]{valueY}[/]";
1112
+ series.tooltipText = this.singleDataSet ? "" : s.name ? "{name}: [bold]{valueY}[/]" : "[bold]{valueY}[/]";
1120
1113
  series.tooltip.pointerOrientation = "vertical";
1121
1114
  series.tooltip.background.fillOpacity = 0.5;
1122
1115
  series.tooltip.label.padding(12, 12, 12, 12);
@@ -1124,7 +1117,7 @@ class LineChartService {
1124
1117
  series.stacked = fill;
1125
1118
  //Dataset singolo, i dati sono registrati a livello di chart, creo il tooltip che permette di vederli tutti insieme
1126
1119
  //altrimenti assegno i dati della serie direttamente alla serie
1127
- if (singleDataSet) {
1120
+ if (this.singleDataSet) {
1128
1121
  series.tooltip.getFillFromObject = false;
1129
1122
  series.tooltip.background.fill = am4core.color("#eee");
1130
1123
  series.tooltip.label.fill = am4core.color("#00");
@@ -1155,7 +1148,7 @@ class LineChartService {
1155
1148
  var text = "[bold]{dateX.formatDate()}[/]\n";
1156
1149
  this.ChartInstance.series.each((item) => {
1157
1150
  let uom = " [font-style: italic]" + series.dataFields.measureUnit || "" + "[/]";
1158
- text += "[" + item.stroke.hex + "]●[/] " + item.name + ": [bold]{" + item.dataFields.valueY + "}[/]" + uom + "\n";
1151
+ text += "[" + item.stroke.hex + "]●[/] " + (item.name ? (item.name + ": ") : "") + "[bold]{" + item.dataFields.valueY + "}[/]" + uom + "\n";
1159
1152
  });
1160
1153
  return text;
1161
1154
  });
@@ -1214,7 +1207,7 @@ class LineChartService {
1214
1207
  //******************************************************************************************************************************
1215
1208
  this.ChartInstance.cursor.xAxis = dateAxis;
1216
1209
  this.ChartInstance.cursor.yAxis = yAxis;
1217
- if (singleDataSet)
1210
+ if (this.singleDataSet)
1218
1211
  this.ChartInstance.cursor.maxTooltipDistance = -1;
1219
1212
  //TODO: Cercare di capire perché è figlio di puttana......
1220
1213
  dateAxis.events.on("startchanged", t => this.emitSelectionChanged(t, settings));
@@ -1223,7 +1216,59 @@ class LineChartService {
1223
1216
  }
1224
1217
  /** @ignore */
1225
1218
  refreshData(data) {
1226
- //TODO:IMPL
1219
+ let dataConverted = this.Adapter ? this.Adapter.adaptDataForLineChart(data) : data;
1220
+ if (this.singleDataSet) {
1221
+ var data = this.generateSingleDataset(dataConverted);
1222
+ this.ChartInstance.addData(data);
1223
+ return;
1224
+ }
1225
+ this.ChartInstance.series.each(s => {
1226
+ var relativeSerie = dataConverted.series.find(t => t.name == s.name);
1227
+ // Una serie del grafico è stata ggiornata, ordino i datapoint e li aggiungo
1228
+ var correctOrder = true;
1229
+ var prevDate = null;
1230
+ for (let v = 0; v < relativeSerie.values.length; v++) {
1231
+ if (!prevDate)
1232
+ prevDate = relativeSerie.values[v].d;
1233
+ else if (relativeSerie.values[v].d < prevDate) {
1234
+ correctOrder = false;
1235
+ break;
1236
+ }
1237
+ }
1238
+ if (!correctOrder)
1239
+ relativeSerie.values.sort((d1, d2) => d1.d.getTime() - d2.d.getTime());
1240
+ for (let v = 0; v < relativeSerie.values.length; v++) {
1241
+ let obj = relativeSerie.values[v];
1242
+ s.addData({ date: obj.d, value: obj.v });
1243
+ }
1244
+ });
1245
+ }
1246
+ /** Partendo da dati divisi per seriue genera un dataset unito con la data come chiave e i vari valori dopo */
1247
+ generateSingleDataset(data) {
1248
+ let dto = {};
1249
+ data.series.forEach((vs, index) => {
1250
+ for (let i = 0; i < vs.values.length; i++) {
1251
+ var dataitem = vs.values[i];
1252
+ var indexer = new Date(dataitem.d).valueOf();
1253
+ if (!dto[indexer])
1254
+ dto[indexer] = {};
1255
+ dto[indexer]['v' + index] = dataitem.v;
1256
+ }
1257
+ });
1258
+ var dates = Object.keys(dto);
1259
+ var ret = [];
1260
+ for (let i = 0; i < dates.length; i++) {
1261
+ let values = dto[dates[i]];
1262
+ let item = { d: new Date(parseInt(dates[i])) };
1263
+ var vals = Object.keys(values);
1264
+ for (let ii = 0; ii < vals.length; ii++) {
1265
+ let series = vals[ii];
1266
+ let singleVal = values[series];
1267
+ item[series] = singleVal;
1268
+ }
1269
+ ret.push(item);
1270
+ }
1271
+ return ret;
1227
1272
  }
1228
1273
  /** @ignore */
1229
1274
  emitSelectionChanged(ev, settings) {
@@ -2637,5 +2682,5 @@ EsChartsModule.decorators = [
2637
2682
  * Generated bundle index. Do not edit.
2638
2683
  */
2639
2684
 
2640
- export { AreaChartData, AreaChartSettings, BaseAdapter, BaseInterval, BaseSettings, ChartThemes, DateValue, EsAreaChartComponent, EsChartComponent, EsChartsModule, EsLineChartComponent, EsPieChartComponent, EsVertical2DChartComponent, EsVerticalChartComponent, EsVerticalStackedChartComponent, KeyValue, KeyValueColor, LegendPad, Limit, LineChartData, LineChartSettings, LineSerie, PagedChartData, PieChartData, PieChartSettings, Vertical2DChartData, Vertical2DChartSettings, VerticalChartData, VerticalChartSettings, VerticalStackedChartData, VerticalStackedChartSettings, BaseInterval as ɵa, BaseChartComponent as ɵb, ChartLoader as ɵc, ChartDispatcher as ɵd, ESC_LOCALE as ɵe, ESC_ANIMATIONS as ɵf, ESC_THEME as ɵg, ESC_LOGS as ɵh, BaseAdapter as ɵi, EsChartComponent as ɵj, EsLineChartComponent as ɵk, EsPieChartComponent as ɵl, EsVertical2DChartComponent as ɵm, EsVerticalChartComponent as ɵn, EsVerticalStackedChartComponent as ɵo, PageChartSelector as ɵp, EsAreaChartComponent as ɵq };
2685
+ export { AreaChartData, AreaChartSettings, BaseAdapter, BaseChartComponent, BaseInterval, BaseSettings, ChartThemes, DateValue, EsAreaChartComponent, EsChartComponent, EsChartsModule, EsLineChartComponent, EsPieChartComponent, EsVertical2DChartComponent, EsVerticalChartComponent, EsVerticalStackedChartComponent, KeyValue, KeyValueColor, LegendPad, Limit, LineChartData, LineChartSettings, LineSerie, PagedChartData, PieChartData, PieChartSettings, Vertical2DChartData, Vertical2DChartSettings, VerticalChartData, VerticalChartSettings, VerticalStackedChartData, VerticalStackedChartSettings, BaseInterval as ɵa, ChartLoader as ɵb, ChartDispatcher as ɵc, ESC_LOCALE as ɵd, ESC_ANIMATIONS as ɵe, ESC_THEME as ɵf, ESC_LOGS as ɵg, BaseAdapter as ɵh, EsChartComponent as ɵi, EsLineChartComponent as ɵj, EsPieChartComponent as ɵk, EsVertical2DChartComponent as ɵl, EsVerticalChartComponent as ɵm, EsVerticalStackedChartComponent as ɵn, PageChartSelector as ɵo, EsAreaChartComponent as ɵp };
2641
2686
  //# sourceMappingURL=esfaenza-es-charts.js.map