@esfaenza/es-charts 18.2.2 → 19.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/fesm2022/esfaenza-es-charts.mjs +49 -49
  2. package/fesm2022/esfaenza-es-charts.mjs.map +1 -1
  3. package/lib/components/base/base-chart.component.d.ts +1 -1
  4. package/package.json +6 -8
  5. package/esm2022/esfaenza-es-charts.mjs +0 -5
  6. package/esm2022/lib/adapters/BaseAdapter.mjs +0 -50
  7. package/esm2022/lib/adapters/IBaseAdapter.mjs +0 -2
  8. package/esm2022/lib/components/base/base-chart.component.mjs +0 -350
  9. package/esm2022/lib/components/chart-pager/chart-pager.component.mjs +0 -89
  10. package/esm2022/lib/components/specializations/es-area-chart.component.mjs +0 -77
  11. package/esm2022/lib/components/specializations/es-chart.component.mjs +0 -122
  12. package/esm2022/lib/components/specializations/es-line-chart.component.mjs +0 -112
  13. package/esm2022/lib/components/specializations/es-pie-chart.component.mjs +0 -98
  14. package/esm2022/lib/components/specializations/es-vertical-2d-chart.component.mjs +0 -95
  15. package/esm2022/lib/components/specializations/es-vertical-chart.component.mjs +0 -92
  16. package/esm2022/lib/components/specializations/es-vertical-stacked-chart.component.mjs +0 -92
  17. package/esm2022/lib/es-charts.module.mjs +0 -67
  18. package/esm2022/lib/models/EsChaartsModuleConfig.mjs +0 -6
  19. package/esm2022/lib/models/core/ChartDispatcher.mjs +0 -91
  20. package/esm2022/lib/models/core/ChartLoader.mjs +0 -212
  21. package/esm2022/lib/models/core/ChartThemes.mjs +0 -61
  22. package/esm2022/lib/models/data/AreaChartData.mjs +0 -16
  23. package/esm2022/lib/models/data/LineChartData.mjs +0 -16
  24. package/esm2022/lib/models/data/PagedChartData.mjs +0 -20
  25. package/esm2022/lib/models/data/PieChartData.mjs +0 -14
  26. package/esm2022/lib/models/data/Vertical2DChartData.mjs +0 -16
  27. package/esm2022/lib/models/data/VerticalChartData.mjs +0 -14
  28. package/esm2022/lib/models/data/VerticalStackedChartData.mjs +0 -14
  29. package/esm2022/lib/models/data/base/DateValue.mjs +0 -11
  30. package/esm2022/lib/models/data/base/KeyValue.mjs +0 -11
  31. package/esm2022/lib/models/data/base/KeyValueColor.mjs +0 -13
  32. package/esm2022/lib/models/data/base/Limit.mjs +0 -16
  33. package/esm2022/lib/models/data/base/LineSerie.mjs +0 -28
  34. package/esm2022/lib/models/settings/AreaChartSettings.mjs +0 -11
  35. package/esm2022/lib/models/settings/LineChartSettings.mjs +0 -11
  36. package/esm2022/lib/models/settings/PieChartSettings.mjs +0 -7
  37. package/esm2022/lib/models/settings/Vertical2DChartSettings.mjs +0 -11
  38. package/esm2022/lib/models/settings/VerticalChartSettings.mjs +0 -11
  39. package/esm2022/lib/models/settings/VerticalStackedChartSettings.mjs +0 -11
  40. package/esm2022/lib/models/settings/base/BaseInterval.mjs +0 -6
  41. package/esm2022/lib/models/settings/base/BaseSettings.mjs +0 -6
  42. package/esm2022/lib/models/settings/base/LegendPad.mjs +0 -6
  43. package/esm2022/lib/services/AreaChartService.mjs +0 -157
  44. package/esm2022/lib/services/LineChartService.mjs +0 -392
  45. package/esm2022/lib/services/PieChartService.mjs +0 -114
  46. package/esm2022/lib/services/Vertical2DChartService.mjs +0 -163
  47. package/esm2022/lib/services/VerticalChartService.mjs +0 -114
  48. package/esm2022/lib/services/VerticalStackedChartService.mjs +0 -127
  49. package/esm2022/lib/services/base/IBaseService.mjs +0 -2
  50. package/esm2022/lib/tokens.mjs +0 -14
  51. package/esm2022/public-api.mjs +0 -39
@@ -1,28 +0,0 @@
1
- /**
2
- * Modello che identifica una serie a Linea
3
- */
4
- export class LineSerie {
5
- /**
6
- * Costruttore
7
- *
8
- * @param {string} name Nome della serie
9
- * @param {DateValue[]} values Valori della serie
10
- * @param {BaseInterval} interval Intervallo della serie. Viene utilizzato per gestire Gap e date in Istante Finale
11
- * @param {string} color Colore della serie, verrà usato sia per la linea base che eventualmente per il riempimento (in caso si utilizzi l'Input **Fill** nel grafico)
12
- * @param {string} uom Unità di misura da presentare nell'asse delle Y
13
- * @param {boolean} fill Override della proprietà **Fill** del grafico, specifico per ogni serie
14
- * @param {boolean} stacked Override della proprietà **Stacked** del grafico, specifico per ogni serie
15
- * @param {boolean} hidden Indica se la serie deve partire nascosta di default
16
- */
17
- constructor(name, values, interval, color, uom, fill, stacked, hidden) {
18
- this.name = name;
19
- this.values = values;
20
- this.interval = interval;
21
- this.color = color;
22
- this.uom = uom;
23
- this.fill = fill;
24
- this.stacked = stacked;
25
- this.hidden = hidden;
26
- }
27
- }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGluZVNlcmllLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtY2hhcnRzL3NyYy9saWIvbW9kZWxzL2RhdGEvYmFzZS9MaW5lU2VyaWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7O0dBRUc7QUFDSCxNQUFNLE9BQU8sU0FBUztJQUVsQjs7Ozs7Ozs7Ozs7T0FXRztJQUNILFlBQW1CLElBQVksRUFBUyxNQUFtQixFQUFTLFFBQXVCLEVBQVMsS0FBYyxFQUFTLEdBQVksRUFBUyxJQUFjLEVBQVMsT0FBaUIsRUFBUyxNQUFnQjtRQUE5TCxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBYTtRQUFTLGFBQVEsR0FBUixRQUFRLENBQWU7UUFBUyxVQUFLLEdBQUwsS0FBSyxDQUFTO1FBQVMsUUFBRyxHQUFILEdBQUcsQ0FBUztRQUFTLFNBQUksR0FBSixJQUFJLENBQVU7UUFBUyxZQUFPLEdBQVAsT0FBTyxDQUFVO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBVTtJQUNqTixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlVmFsdWUgfSBmcm9tICcuL0RhdGVWYWx1ZSc7XHJcbmltcG9ydCB7IEJhc2VJbnRlcnZhbCB9IGZyb20gJy4uLy4uL3NldHRpbmdzL2Jhc2UvQmFzZUludGVydmFsJztcclxuXHJcbi8qKlxyXG4gKiBNb2RlbGxvIGNoZSBpZGVudGlmaWNhIHVuYSBzZXJpZSBhIExpbmVhXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgTGluZVNlcmllIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENvc3RydXR0b3JlXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIE5vbWUgZGVsbGEgc2VyaWVcclxuICAgICAqIEBwYXJhbSB7RGF0ZVZhbHVlW119IHZhbHVlcyBWYWxvcmkgZGVsbGEgc2VyaWVcclxuICAgICAqIEBwYXJhbSB7QmFzZUludGVydmFsfSBpbnRlcnZhbCBJbnRlcnZhbGxvIGRlbGxhIHNlcmllLiBWaWVuZSB1dGlsaXp6YXRvIHBlciBnZXN0aXJlIEdhcCBlIGRhdGUgaW4gSXN0YW50ZSBGaW5hbGVcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBjb2xvciBDb2xvcmUgZGVsbGEgc2VyaWUsIHZlcnLDoCB1c2F0byBzaWEgcGVyIGxhIGxpbmVhIGJhc2UgY2hlIGV2ZW50dWFsbWVudGUgcGVyIGlsIHJpZW1waW1lbnRvIChpbiBjYXNvIHNpIHV0aWxpenppIGwnSW5wdXQgKipGaWxsKiogbmVsIGdyYWZpY28pXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdW9tIFVuaXTDoCBkaSBtaXN1cmEgZGEgcHJlc2VudGFyZSBuZWxsJ2Fzc2UgZGVsbGUgWVxyXG4gICAgICogQHBhcmFtIHtib29sZWFufSBmaWxsIE92ZXJyaWRlIGRlbGxhIHByb3ByaWV0w6AgKipGaWxsKiogZGVsIGdyYWZpY28sIHNwZWNpZmljbyBwZXIgb2duaSBzZXJpZVxyXG4gICAgICogQHBhcmFtIHtib29sZWFufSBzdGFja2VkIE92ZXJyaWRlIGRlbGxhIHByb3ByaWV0w6AgKipTdGFja2VkKiogZGVsIGdyYWZpY28sIHNwZWNpZmljbyBwZXIgb2duaSBzZXJpZVxyXG4gICAgICogQHBhcmFtIHtib29sZWFufSBoaWRkZW4gSW5kaWNhIHNlIGxhIHNlcmllIGRldmUgcGFydGlyZSBuYXNjb3N0YSBkaSBkZWZhdWx0XHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBuYW1lOiBzdHJpbmcsIHB1YmxpYyB2YWx1ZXM6IERhdGVWYWx1ZVtdLCBwdWJsaWMgaW50ZXJ2YWw/OiBCYXNlSW50ZXJ2YWwsIHB1YmxpYyBjb2xvcj86IHN0cmluZywgcHVibGljIHVvbT86IHN0cmluZywgcHVibGljIGZpbGw/OiBib29sZWFuLCBwdWJsaWMgc3RhY2tlZD86IGJvb2xlYW4sIHB1YmxpYyBoaWRkZW4/OiBib29sZWFuKSB7XHJcbiAgICB9XHJcbn0iXX0=
@@ -1,11 +0,0 @@
1
- import { BaseSettings } from './base/BaseSettings';
2
- /**
3
- * Classe che presenta le impostazioni di generazione per i grafici di tipo AreaChart
4
- */
5
- export class AreaChartSettings extends BaseSettings {
6
- /**
7
- * @ignore
8
- */
9
- constructor() { super(); }
10
- }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJlYUNoYXJ0U2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcy1jaGFydHMvc3JjL2xpYi9tb2RlbHMvc2V0dGluZ3MvQXJlYUNoYXJ0U2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRW5EOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFlBQVk7SUFFL0M7O09BRUc7SUFDSCxnQkFBZ0IsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0NBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZVNldHRpbmdzIH0gZnJvbSAnLi9iYXNlL0Jhc2VTZXR0aW5ncyc7XHJcblxyXG4vKipcclxuICogQ2xhc3NlIGNoZSBwcmVzZW50YSBsZSBpbXBvc3RhemlvbmkgZGkgZ2VuZXJhemlvbmUgcGVyIGkgZ3JhZmljaSBkaSB0aXBvIEFyZWFDaGFydFxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEFyZWFDaGFydFNldHRpbmdzIGV4dGVuZHMgQmFzZVNldHRpbmdzIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoKSB7IHN1cGVyKCk7IH1cclxufSJdfQ==
@@ -1,11 +0,0 @@
1
- import { BaseSettings } from './base/BaseSettings';
2
- /**
3
- * Classe che presenta le impostazioni di generazione per i grafici di tipo LineChart
4
- */
5
- export class LineChartSettings extends BaseSettings {
6
- /**
7
- * @ignore
8
- */
9
- constructor() { super(); }
10
- }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGluZUNoYXJ0U2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcy1jaGFydHMvc3JjL2xpYi9tb2RlbHMvc2V0dGluZ3MvTGluZUNoYXJ0U2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRW5EOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFlBQVk7SUFFL0M7O09BRUc7SUFDSCxnQkFBZ0IsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0NBcUU3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VTZXR0aW5ncyB9IGZyb20gJy4vYmFzZS9CYXNlU2V0dGluZ3MnO1xyXG5cclxuLyoqXHJcbiAqIENsYXNzZSBjaGUgcHJlc2VudGEgbGUgaW1wb3N0YXppb25pIGRpIGdlbmVyYXppb25lIHBlciBpIGdyYWZpY2kgZGkgdGlwbyBMaW5lQ2hhcnRcclxuICovXHJcbmV4cG9ydCBjbGFzcyBMaW5lQ2hhcnRTZXR0aW5ncyBleHRlbmRzIEJhc2VTZXR0aW5ncyB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAaWdub3JlXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKCkgeyBzdXBlcigpOyB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2Egc2Ugc29ubyBwZXJtZXNzaSBkZWkgR2FwIGZyYSB1biB2YWxvcmUgZSBsJ2FsdHJvLlxyXG4gICAgICogXHJcbiAgICAgKiBOb3JtYWxtZW50ZSBxdWFuZG8gY2kgc29ubyBkZWkgYnVjaGkgbCd1bHRpbW8gZGF0YXBvaW50IGRlbCBidWNvIHZpZW5lIGNvbGxlZ2F0byBkaXJldHRhbWVudGUgYWwgcHJpbW8gZGF0YXBvaW50IGRpc3BvbmliaWxlLiBcclxuICAgICAqIFxyXG4gICAgICogSW1wb3N0YW5kbyBxdWVzdG8gSW5wdXQgYSB0cnVlIGludmVjZSwgcG9zdG8gZGkgYXZlciBhc3NlZ25hdG8gbGEgdmFyaWFiaWxlICoqaW50ZXJ2YWwqKiBkZWxsYSBjbGFzc2UgKipMaW5lQ2hhcnREYXRhKiosIMOoIHBvc3NpYmlsZSBcclxuICAgICAqIGZhciBhcHBhcmlyZSBpbCBibG9jY28gZGkgZGF0aSBtYW5jYW50aSBjb21lIHVuIGJ1Y28gdmVybyBlIHByb3ByaW8sIHNlbnphIGFsY3VuIGNvbGxlZ2FtZW50byBmcmEgaSBkdWUgZGF0YXBvaW50IGVzdHJlbWlcclxuICAgICAqL1xyXG4gICAgQWxsb3dHYXBzOiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogU29nbGlhIHBlciBjb250cm9sbGFyZSBvbHRyZSBjaGUgbnVtZXJvIGRpIGRhdGFwb2ludCBpbCBncmFmaWNvIGRldmUgaW5pemlhcmUgYWQgZWZmZXR0dWFyZSByYWdncnVwcGFtZW50aSBjb25zaWRlcmFuZG8gbCdJbnB1dCAqKkRhdGFHcm91cEJ1Y2tldFNpemUqKlxyXG4gICAgICovXHJcbiAgICBEYXRhR3JvdXBpbmdUaHJlc2hvbGQ6IG51bWJlcjtcclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2EgaWwgbnVtZXJvIG1hc3NpbW8gZGkgZGF0YXBvaW50IHZpc3VhbGl6emFiaWxlIGluIHVuYSBzaW5nb2xhIHZpc3RhIGRlbCBncmFmaWNvLiBMJ2VjY2VkZW56YSB2aWVuZSByYWdncnVwcGF0YSBlIHZlcnLDoCBtb3N0cmF0YSBzdWxsbyB6b29tLlxyXG4gICAgICogXHJcbiAgICAgKiBBVFRFTlpJT05FOiBVdGlsaXp6YW5kbyBpbCBzaXN0ZW1hIGRpIGRlZmF1bHQgZGkgcmFnZ3J1cHBhbWVudG8gZGkgYW0tY2hhcnRzIHNpIHJpc2NoaWEgZGkgdGFnbGlhcmUgdmlhIHBlenppIGRhIHNlcmllIG1vbHRvIG9uZHVsYXRlXHJcbiAgICAgKiBpbiBxdWFudG8gaWwgY29tcG9ydGFtZW50byBkaSBkZWZhdWx0IMOoIHF1ZWxsbyBkaSBlbGltaW5hcmUgaSBkYXRhcG9pbnQgY2hlIG5vbiBjaSBzdGFubm8sIG5vbiBkaSBpbnRlcnBvbGFybGlcclxuICAgICAqL1xyXG4gICAgRGF0YUdyb3VwQnVja2V0U2l6ZTogbnVtYmVyXHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhIHNlIGxhIGN1cnZhIGRldmUgY29sbGVnYXJlIGRpcmV0dGFtZW50ZSB1biBkYXRhcG9pbnQgYWxsJ2FsdHJvIG8gc2UgZGV2ZSBmYXJlIGRlZ2xpIHN0ZXBcclxuICAgICAqL1xyXG4gICAgU3RlcDogYm9vbGVhbjtcclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2EgbGUgZGltbnNpb25pLCBpbiBwaXhlbCBkZWxsYSBsaW5lYSBkZWwgZ3JhZmljb1xyXG4gICAgICovXHJcbiAgICBTdHJva2VTaXplOiBudW1iZXI7XHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogSW5wdXQgY2hlIHBlcm1ldHRlIGRpIHJpZWxhYm9yYXJlIGkgZGF0aSBkZWwgZ3JhZmljbyBwZXIgZ2VuZXJhcmUgdW4gc29sbyBEYXRhc2V0XHJcbiAgICAgKiBcclxuICAgICAqIFZpZW5lIHV0aWxpenphdG8gc2VtcGxpY2VtZW50ZSBwZXIgZGFyZSB1biB0b29sdGlwIG1vbHRvIHBpw7kgYmVsbG8vYXZhbnphdG8gc3VsbG8gc2NvcnJpbWVudG9kZWwgY3Vyc29yZSBhbGwnaW50ZXJubyBkZWwgZ3JhZmljb1xyXG4gICAgICovXHJcbiAgICBNZXJnZURhdGFzZXRzOiBib29sZWFuO1xyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYSBzZSBsZSBkYXRlIGNoZSBhcnJpdmFubyBhbGwnYXNzZSBYIGRldm9ubyBlc3NlcmUgY29uc2lkZXJhdGUgXCJJc3RhbnRlIGZpbmFsZVwiIGUgYWdnaXVzdGF0ZSBkaSBjb25zZWd1ZW56YS4gXHJcbiAgICAgKiBTZSBub24gw6ggdmFsb3JpenphdGEgbGEgdmFyaWFiaWxlICoqaW50ZXJ2YWwqKiBkZWxsYSBjbGFzc2UgKipMaW5lQ2hhcnREYXRhKiogbm9uIGhhIGFsY3VuIGVmZmV0dG9cclxuICAgICAqIFxyXG4gICAgICogQWQgZXNlbXBpbywgbGEgZGF0YSAxNi8wNy8yMDIxIGNvbiBpbnRlcnZhbGxvIG9yYXJpbyB2ZXJyZWJiZSB0cmFzZm9ybWF0YSBpbiAxNS8wNy8yMDIxIDI0OjAwOjAwIChPdnZpYW1lbnRlIMOoIHV0aWxpenphdG8gc29sbyBsYXRvIHByZXNlbnRhemlvbmUpXHJcbiAgICAgKi9cclxuICAgIEZpbmFsSW5zdGFudHM6IGJvb2xlYW47XHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhIHNlIGVmZmV0dHVhcmUgaWwgRmlsbCBkZWxsYSBzZXJpZSBpbiBtb2RvIGRhIG5vbiB2ZWRlcmUgc29sbyBsYSBsaW5lYSBtYSBwcm9wcmlvIGwnYXJlYSBzb3R0ZXNzYSBjb21wbGV0YW1lbnRlIGNvbG9yYXRhXHJcbiAgICAgKi9cclxuICAgIEZpbGw6IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAqIEluZGljYSBzZSBlZmZldHR1YXJlIGxvIFN0YWNrIGRlbGxhIHNlcmllIGluIG1vZG8gZGEgdmVkZXJlIHR1dHRlIGxlIGxpbmVlIHVuYSBzb3ByYSBsJ2FsdHJhLiBJbXBsaWNpdGFtZW50ZSBpbmNsdWRlIGFuY2hlIGlsICoqRmlsbCoqXHJcbiAgICAqL1xyXG4gICAgU3RhY2tlZDogYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEdlc3Rpc2NlIGlsIG1pbmltbyBkZWxsJ2Fzc2UgWVxyXG4gICAgICovXHJcbiAgICBNaW46IG51bWJlcjtcclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXN0aXNjZSBpbCBtYXNzaW1vIGRlbGwnYXNzZSBZXHJcbiAgICAgKi9cclxuICAgIE1heDogbnVtYmVyO1xyXG59Il19
@@ -1,7 +0,0 @@
1
- import { BaseSettings } from './base/BaseSettings';
2
- /**
3
- * Classe che presenta le impostazioni di generazione per i grafici di tipo PieChart
4
- */
5
- export class PieChartSettings extends BaseSettings {
6
- }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGllQ2hhcnRTZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLWNoYXJ0cy9zcmMvbGliL21vZGVscy9zZXR0aW5ncy9QaWVDaGFydFNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVuRDs7R0FFRztBQUNILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxZQUFZO0NBb0NqRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VTZXR0aW5ncyB9IGZyb20gJy4vYmFzZS9CYXNlU2V0dGluZ3MnO1xyXG5cclxuLyoqXHJcbiAqIENsYXNzZSBjaGUgcHJlc2VudGEgbGUgaW1wb3N0YXppb25pIGRpIGdlbmVyYXppb25lIHBlciBpIGdyYWZpY2kgZGkgdGlwbyBQaWVDaGFydFxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFBpZUNoYXJ0U2V0dGluZ3MgZXh0ZW5kcyBCYXNlU2V0dGluZ3N7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2Egc2UgYXBwYXJpcmUgaW4gbW9kYWxpdMOgIDNEIG8gMkRcclxuICAgICAqL1xyXG4gICAgTW9kZTNEOiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhIHNlIG1vc3RyYXJlIG8gbWVubyBsZSBzZXJpZSBjb24gcGVyY2VudHVhbGUgYSAwXHJcbiAgICAgKi9cclxuICAgIEhpZGVaZXJvZXM6IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQZXJjZW50dWFsZSBkZWxsJ2FsdGV6emEgZGVsIGdyYWZpY28gY2hlIHZpZW5lIHV0aWxpenphdGEgcGVyIGNyZWFyZSBpbCBidWNvIGFsbCdpbnRlcm5vIGRlbGxhIGNpYW1iZWxsYSAqKndpbmsqKiAqKndpbmsqKlxyXG4gICAgICovXHJcbiAgICBEb251dFJhZGl1c1BlcmNlbnRhZ2U6IG51bWJlcjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYSBzZSB3cmFwcGFyZSBsZSBsYWJlbCBjaGUgbm9uIHN0YW5ubyBuZWwgY29udGVuaXRvcmVcclxuICAgICAqL1xyXG4gICAgTGFiZWxzV3JhcDogYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYSBzZSB0cm9uY2FyZSBsZSBsYWJlbCBjaGUgbm9uIHN0YW5ubyBuZWwgY29udGVuaXRvcmVcclxuICAgICAqL1xyXG4gICAgTGFiZWxzVHJ1bmNhdGU6IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2EgbGEgZGltZW5zaW9uZSBtYXNzaW1hIGNoZSBwb3Nzb25vIGFzc3VtZXJlIGxlIGxhYmVsXHJcbiAgICAgKi9cclxuICAgIExhYmVsc1dpZHRoOiBudW1iZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2Egc2UgbW9zdHJhcmUgbyBtZW5vIGxlIGxhYmVsc1xyXG4gICAgICovXHJcbiAgICBMYWJlbHNWaXNpYmxlOiBib29sZWFuO1xyXG59Il19
@@ -1,11 +0,0 @@
1
- import { BaseSettings } from './base/BaseSettings';
2
- /**
3
- * Classe che presenta le impostazioni di generazione per i grafici di tipo Vertical2DChart
4
- */
5
- export class Vertical2DChartSettings extends BaseSettings {
6
- /**
7
- * @ignore
8
- */
9
- constructor() { super(); }
10
- }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmVydGljYWwyRENoYXJ0U2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcy1jaGFydHMvc3JjL2xpYi9tb2RlbHMvc2V0dGluZ3MvVmVydGljYWwyRENoYXJ0U2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRW5EOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHVCQUF3QixTQUFRLFlBQVk7SUFFckQ7O09BRUc7SUFDSCxnQkFBZ0IsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0NBaUM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VTZXR0aW5ncyB9IGZyb20gJy4vYmFzZS9CYXNlU2V0dGluZ3MnO1xyXG5cclxuLyoqXHJcbiAqIENsYXNzZSBjaGUgcHJlc2VudGEgbGUgaW1wb3N0YXppb25pIGRpIGdlbmVyYXppb25lIHBlciBpIGdyYWZpY2kgZGkgdGlwbyBWZXJ0aWNhbDJEQ2hhcnRcclxuICovXHJcbmV4cG9ydCBjbGFzcyBWZXJ0aWNhbDJEQ2hhcnRTZXR0aW5ncyBleHRlbmRzIEJhc2VTZXR0aW5ncyB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAaWdub3JlXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKCkgeyBzdXBlcigpOyB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2EgbGEgcGVyY2VudHVhbGUgZGkgY2VsbGEgY2hlIGxhIGNvbG9ubmEgYW5kcsOgIGEgcmllbXBpcmUuIFVuIHZhbG9yZSBwYXJpIGEgMTAwIHJpZW1waXLDoCBsYSBjZWxsYSBjb21wbGV0YW1lbnRlIFxyXG4gICAgICogZSB0dXR0ZSBsZSBiYXJyZSByaXN1bHRlcmFubm8gYXBwaWNjaWNhdGUgbCd1biBsJ2FsdHJhXHJcbiAgICAgKi9cclxuICAgIENvbHVtbldpZHRoUGVyY2VudGFnZTogbnVtYmVyO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhIGxlIGRpbWVuc2lvbmkgbWFzc2ltZSBkZWxsYSBsYWJlbCBhc3NvY2lhdGEgYSB1biBncnVwcG8gZGkgYmFycmVcclxuICAgICAqL1xyXG4gICAgTGFiZWxXaWR0aDogbnVtYmVyO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhIGxhIGRpbWVuc2lvbmUgbWFzc2ltYSBzb3R0byBsYSBxdWFsZSBsYSBsYWJlbCBhc3NvY2lhdGEgYSB1biBncnVwcG8gZGkgYmFycmUgc2kgaW5jbGluYSBjZXJjYW5kbyBkaSBvY2N1cGFyZSBtZW5vIHNwYXppb1xyXG4gICAgICovXHJcbiAgICBMYWJlbFZlcnRpY2FsT3JpZW50YXRpb25DdXRvZmZXaWR0aDogbnVtYmVyO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhIHVuIG9mZnNldCBvcml6em9udGFsZSBkYSBhcHBsaWNhcmUgYWxsYSBsYWJlbCBhc3NvY2lhdGEgYSB1biBncnVwcG8gZGkgYmFycmUgcXVhbG9yYSBmb3NzZSBjb21wcmVzc2EgYSBjYXVzYSBkZWxsYSBtYW5jYW56YSBkaSBzcGF6aW9cclxuICAgICAqL1xyXG4gICAgTGFiZWxSaWdodFdoZW5Db21wcmVzc2VkOiBudW1iZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2EgdW4gb2Zmc2V0IHZlcnRpY2FsZSBkYSBhcHBsaWNhcmUgYWxsYSBsYWJlbCBhc3NvY2lhdGEgYSB1biBncnVwcG8gZGkgYmFycmUgcXVhbG9yYSBmb3NzZSBjb21wcmVzc2EgYSBjYXVzYSBkZWxsYSBtYW5jYW56YSBkaSBzcGF6aW9cclxuICAgICAqL1xyXG4gICAgTGFiZWxUb3BXaGVuQ29tcHJlc3NlZDogbnVtYmVyO1xyXG5cclxuICAgIC8qKlxyXG4gICAgKiBJbmRpY2EgaWwgcGFkZGluZyBwZXJjZW50dWFsZSByaXNwZXR0byBhbGxhIGNlbGxhIGRhIGxhc2NpYXJlIGZyYSB1biBncnVwcG8gZGkgYmFycmUgZSBsJ2FsdHJvLiBVbiB2YWxvcmUgcGFyaSBhIDAgaW5kaWNhIGxhIG1hbmNhbnphIGRpXHJcbiAgICAqIHNwYXppbyBmcmEgdW4gZ3J1cHBvIGUgbCdhbHRybywgdW4gdmFsb3JlIHBhcmkgYSA1IGluZGljYSBpbCA1JSBkZWxsYSBkaW1lbnNpb25lIGRlbGxhIGNlbGxhIGluIGN1aSBhcHBhcmUgaWwgZ3J1cHBvIGNvbWUgcGFkZGluZyBhIGRlc3RyYSBlIHNpbmlzdHJhXHJcbiAgICAqL1xyXG4gICAgR3JvdXBQYWRkaW5nUGVyY2VudGFnZTogbnVtYmVyO1xyXG59Il19
@@ -1,11 +0,0 @@
1
- import { BaseSettings } from './base/BaseSettings';
2
- /**
3
- * Classe che presenta le impostazioni di generazione per i grafici di tipo VerticalChart
4
- */
5
- export class VerticalChartSettings extends BaseSettings {
6
- /**
7
- * @ignore
8
- */
9
- constructor() { super(); }
10
- }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmVydGljYWxDaGFydFNldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtY2hhcnRzL3NyYy9saWIvbW9kZWxzL3NldHRpbmdzL1ZlcnRpY2FsQ2hhcnRTZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbkQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsWUFBWTtJQUVuRDs7T0FFRztJQUNILGdCQUFnQixLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7Q0EyQjdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZVNldHRpbmdzIH0gZnJvbSAnLi9iYXNlL0Jhc2VTZXR0aW5ncyc7XHJcblxyXG4vKipcclxuICogQ2xhc3NlIGNoZSBwcmVzZW50YSBsZSBpbXBvc3RhemlvbmkgZGkgZ2VuZXJhemlvbmUgcGVyIGkgZ3JhZmljaSBkaSB0aXBvIFZlcnRpY2FsQ2hhcnRcclxuICovXHJcbmV4cG9ydCBjbGFzcyBWZXJ0aWNhbENoYXJ0U2V0dGluZ3MgZXh0ZW5kcyBCYXNlU2V0dGluZ3Mge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcigpIHsgc3VwZXIoKTsgfVxyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYSBsYSBwZXJjZW50dWFsZSBkaSBjZWxsYSBjaGUgbGEgY29sb25uYSBhbmRyw6AgYSByaWVtcGlyZS4gVW4gdmFsb3JlIHBhcmkgYSAxMDAgcmllbXBpcsOgIGxhIGNlbGxhIGNvbXBsZXRhbWVudGUgXHJcbiAgICAgKiBlIHR1dHRlIGxlIGJhcnJlIHJpc3VsdGVyYW5ubyBhcHBpY2NpY2F0ZSBsJ3VuIGwnYWx0cmFcclxuICAgICAqL1xyXG4gICAgIENvbHVtbldpZHRoUGVyY2VudGFnZTogbnVtYmVyO1xyXG5cclxuICAgICAvKipcclxuICAgICAgKiBJbmRpY2EgbGUgZGltZW5zaW9uaSBtYXNzaW1lIGRlbGxhIGxhYmVsIGFzc29jaWF0YSBhIHVuIGdydXBwbyBkaSBiYXJyZVxyXG4gICAgICAqL1xyXG4gICAgIExhYmVsV2lkdGg6IG51bWJlcjtcclxuIFxyXG4gICAgIC8qKlxyXG4gICAgICAqIEluZGljYSBsYSBkaW1lbnNpb25lIG1hc3NpbWEgc290dG8gbGEgcXVhbGUgbGEgbGFiZWwgYXNzb2NpYXRhIGEgdW4gZ3J1cHBvIGRpIGJhcnJlIHNpIGluY2xpbmEgY2VyY2FuZG8gZGkgb2NjdXBhcmUgbWVubyBzcGF6aW9cclxuICAgICAgKi9cclxuICAgICBMYWJlbFZlcnRpY2FsT3JpZW50YXRpb25DdXRvZmZXaWR0aDogbnVtYmVyO1xyXG4gXHJcbiAgICAgLyoqXHJcbiAgICAgICogSW5kaWNhIHVuIG9mZnNldCBvcml6em9udGFsZSBkYSBhcHBsaWNhcmUgYWxsYSBsYWJlbCBhc3NvY2lhdGEgYSB1biBncnVwcG8gZGkgYmFycmUgcXVhbG9yYSBmb3NzZSBjb21wcmVzc2EgYSBjYXVzYSBkZWxsYSBtYW5jYW56YSBkaSBzcGF6aW9cclxuICAgICAgKi9cclxuICAgICBMYWJlbFJpZ2h0V2hlbkNvbXByZXNzZWQ6IG51bWJlcjtcclxuIFxyXG4gICAgIC8qKlxyXG4gICAgICAqIEluZGljYSB1biBvZmZzZXQgdmVydGljYWxlIGRhIGFwcGxpY2FyZSBhbGxhIGxhYmVsIGFzc29jaWF0YSBhIHVuIGdydXBwbyBkaSBiYXJyZSBxdWFsb3JhIGZvc3NlIGNvbXByZXNzYSBhIGNhdXNhIGRlbGxhIG1hbmNhbnphIGRpIHNwYXppb1xyXG4gICAgICAqL1xyXG4gICAgIExhYmVsVG9wV2hlbkNvbXByZXNzZWQ6IG51bWJlcjtcclxufSJdfQ==
@@ -1,11 +0,0 @@
1
- import { BaseSettings } from './base/BaseSettings';
2
- /**
3
- * Classe che presenta le impostazioni di generazione per i grafici di tipo VerticalStackedChart
4
- */
5
- export class VerticalStackedChartSettings extends BaseSettings {
6
- /**
7
- * @ignore
8
- */
9
- constructor() { super(); }
10
- }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmVydGljYWxTdGFja2VkQ2hhcnRTZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLWNoYXJ0cy9zcmMvbGliL21vZGVscy9zZXR0aW5ncy9WZXJ0aWNhbFN0YWNrZWRDaGFydFNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVuRDs7R0FFRztBQUNILE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxZQUFZO0lBRTFEOztPQUVHO0lBQ04sZ0JBQWdCLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztDQTJCMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlU2V0dGluZ3MgfSBmcm9tICcuL2Jhc2UvQmFzZVNldHRpbmdzJztcclxuXHJcbi8qKlxyXG4gKiBDbGFzc2UgY2hlIHByZXNlbnRhIGxlIGltcG9zdGF6aW9uaSBkaSBnZW5lcmF6aW9uZSBwZXIgaSBncmFmaWNpIGRpIHRpcG8gVmVydGljYWxTdGFja2VkQ2hhcnRcclxuICovXHJcbmV4cG9ydCBjbGFzcyBWZXJ0aWNhbFN0YWNrZWRDaGFydFNldHRpbmdzIGV4dGVuZHMgQmFzZVNldHRpbmdze1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICovXHJcblx0Y29uc3RydWN0b3IoKSB7IHN1cGVyKCk7IH1cclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2EgbGEgcGVyY2VudHVhbGUgZGkgY2VsbGEgY2hlIGxhIGNvbG9ubmEgYW5kcsOgIGEgcmllbXBpcmUuIFVuIHZhbG9yZSBwYXJpIGEgMTAwIHJpZW1waXLDoCBsYSBjZWxsYSBjb21wbGV0YW1lbnRlIFxyXG4gICAgICogZSB0dXR0ZSBsZSBiYXJyZSByaXN1bHRlcmFubm8gYXBwaWNjaWNhdGUgbCd1biBsJ2FsdHJhXHJcbiAgICAgKi9cclxuICAgICBDb2x1bW5XaWR0aFBlcmNlbnRhZ2U6IG51bWJlcjtcclxuXHJcbiAgICAgLyoqXHJcbiAgICAgICogSW5kaWNhIGxlIGRpbWVuc2lvbmkgbWFzc2ltZSBkZWxsYSBsYWJlbCBhc3NvY2lhdGEgYSB1biBncnVwcG8gZGkgYmFycmVcclxuICAgICAgKi9cclxuICAgICBMYWJlbFdpZHRoOiBudW1iZXI7XHJcbiBcclxuICAgICAvKipcclxuICAgICAgKiBJbmRpY2EgbGEgZGltZW5zaW9uZSBtYXNzaW1hIHNvdHRvIGxhIHF1YWxlIGxhIGxhYmVsIGFzc29jaWF0YSBhIHVuIGdydXBwbyBkaSBiYXJyZSBzaSBpbmNsaW5hIGNlcmNhbmRvIGRpIG9jY3VwYXJlIG1lbm8gc3BhemlvXHJcbiAgICAgICovXHJcbiAgICAgTGFiZWxWZXJ0aWNhbE9yaWVudGF0aW9uQ3V0b2ZmV2lkdGg6IG51bWJlcjtcclxuIFxyXG4gICAgIC8qKlxyXG4gICAgICAqIEluZGljYSB1biBvZmZzZXQgb3JpenpvbnRhbGUgZGEgYXBwbGljYXJlIGFsbGEgbGFiZWwgYXNzb2NpYXRhIGEgdW4gZ3J1cHBvIGRpIGJhcnJlIHF1YWxvcmEgZm9zc2UgY29tcHJlc3NhIGEgY2F1c2EgZGVsbGEgbWFuY2FuemEgZGkgc3BhemlvXHJcbiAgICAgICovXHJcbiAgICAgTGFiZWxSaWdodFdoZW5Db21wcmVzc2VkOiBudW1iZXI7XHJcbiBcclxuICAgICAvKipcclxuICAgICAgKiBJbmRpY2EgdW4gb2Zmc2V0IHZlcnRpY2FsZSBkYSBhcHBsaWNhcmUgYWxsYSBsYWJlbCBhc3NvY2lhdGEgYSB1biBncnVwcG8gZGkgYmFycmUgcXVhbG9yYSBmb3NzZSBjb21wcmVzc2EgYSBjYXVzYSBkZWxsYSBtYW5jYW56YSBkaSBzcGF6aW9cclxuICAgICAgKi9cclxuICAgICBMYWJlbFRvcFdoZW5Db21wcmVzc2VkOiBudW1iZXI7XHJcbn0iXX0=
@@ -1,6 +0,0 @@
1
- /**
2
- * Classe che identifica un intervallo di tempo fra un dato e l'altro
3
- */
4
- export class BaseInterval {
5
- }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZUludGVydmFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtY2hhcnRzL3NyYy9saWIvbW9kZWxzL3NldHRpbmdzL2Jhc2UvQmFzZUludGVydmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFlBQVk7Q0FXeEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQ2xhc3NlIGNoZSBpZGVudGlmaWNhIHVuIGludGVydmFsbG8gZGkgdGVtcG8gZnJhIHVuIGRhdG8gZSBsJ2FsdHJvXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQmFzZUludGVydmFsIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIE51bWVybyBkaSB1bml0w6BcclxuICAgICAqL1xyXG4gICAgY291bnQ6IG51bWJlcjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRpcG8gZGkgdW5pdMOgXHJcbiAgICAgKi9cclxuICAgIHRpbWV1bml0OiBcIm1pbGxpc2Vjb25kXCIgfCBcInNlY29uZFwiIHwgXCJtaW51dGVcIiB8IFwiaG91clwiIHwgXCJkYXlcIiB8IFwid2Vla1wiIHwgXCJtb250aFwiIHwgXCJ5ZWFyXCI7XHJcbn0iXX0=
@@ -1,6 +0,0 @@
1
- /**
2
- * Classe che racchiude le impostazioni base bene o male applicabili ad ogni Grafico
3
- */
4
- export class BaseSettings {
5
- }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZVNldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtY2hhcnRzL3NyYy9saWIvbW9kZWxzL3NldHRpbmdzL2Jhc2UvQmFzZVNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixZQUFZO0NBb0ZqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExlZ2VuZFBhZCB9IGZyb20gXCIuLi9iYXNlL0xlZ2VuZFBhZFwiO1xyXG5cclxuLyoqXHJcbiAqIENsYXNzZSBjaGUgcmFjY2hpdWRlIGxlIGltcG9zdGF6aW9uaSBiYXNlIGJlbmUgbyBtYWxlIGFwcGxpY2FiaWxpIGFkIG9nbmkgR3JhZmljb1xyXG4gKi9cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VTZXR0aW5ncyB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBVdGlsaXp6YSBvIG5vIGxhIFRpbWVsaW5lXHJcbiAgICAgKi9cclxuICAgIFRpbWVsaW5lOiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVmlzdWFsaXp6YSBvIG5vIGxhIExlZ2VuZGFcclxuICAgICAqL1xyXG4gICAgTGVnZW5kOiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTm9tZSBkZWwgZ3JhZmljbyAoaWRlbnRpZmljYXRpdm8gdW5pdm9jbylcclxuICAgICAqL1xyXG4gICAgTmFtZTogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGl0b2xvIGRlbGwnYXNzZSBYXHJcbiAgICAgKi9cclxuICAgIFhBeGlzVGl0bGU6IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRpdG9sbyBkZWxsJ2Fzc2UgWVxyXG4gICAgICovXHJcbiAgICBZQXhpc1RpdGxlOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEw6AgZXZpZGVuemEsIG5lbGwnYXNzZSBYIGRlaSBtb21lbnRpIGluIGN1aSBjYW1iaWEgaWwgdmFsb3JlXHJcbiAgICAgKi9cclxuICAgIFNob3dUaWNrczogYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYSBzZSB1dGlsaXp6YXJlIGlsIGNvbXBvcnRhbWVudG8gZGkgZGVmYXVsdCBwZXIgaSBjbGljayBkZWxsZSBzZXJpZSBzdWxsYSBMZWdlbmRhLiBNZXR0ZW5kbyBxdWVzdGEgdmFyaWFiaWxlIGEgKipmYWxzZSoqXHJcbiAgICAgKiBlIGNvbGxlZ2FuZG8gbCdvdXRwdXQgKipvblNlcmllc0NsaWNrZWQqKiDDqCBwb3NzaWJpbGUgZ2VuZXJhcmUgdW4gZXZlbnRvIG9nbmkgdm9sdGEgY2hlIGwndXRlbnRlIGZhIGNsaWNrIHN1IHVuYSBzZXJpZSBkZWxsYSBMZWdlbmRhXHJcbiAgICAgKi9cclxuICAgIEhpZGVTZXJpZXNPbkxhYmVsQ2xpY2s6IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNaW5pbWEgZGlzdGFuemEgbmVsbGEgZ3JpZ2xpYSBmcmEgaSB2YWxvcmksIG1vZGlmaWNhIGxhIHF1YW50aXTDoCBkaSBzdGVwIGZyYSBpIHZhbG9yaSBkZWxsJ2Fzc2UgWCBlIHF1aW5kaSBsYSBncmFudWxhcml0w6AgZGVpIGRhdGkuXHJcbiAgICAgKiBcclxuICAgICAqIFBpw7kgcGljY29sYSDDqCwgcGnDuSB2YWxvcmkgdmVycmFubm8gaW5zZXJpdGkgbmVsbCdhc3NlIFhcclxuICAgICAqL1xyXG4gICAgTWluR3JpZERpc3RhbmNlOiBudW1iZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2EgbGEgcG9zaXppb25lIGRlbGxhIExlZ2VuZGEgcmlzcGV0dG8gYWwgZ3JhZmljb1xyXG4gICAgICovXHJcbiAgICBMZWdlbmRQb3NpdGlvbjogXCJ0b3BcIiB8IFwiYm90dG9tXCIgfCBcImxlZnRcIiB8IFwicmlnaHRcIjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENlcmNhIGRpIGFnZ2l1c3RhcmUgaSB2YXJpIHN0ZXAgZGVsbCdhc3NlIFggcnVvdGFuZG9saSBlIGRpbWludWVuZG9uZSBsZSBkaW1lbnNpb25pIGFiYmFzdGFuemEgcGVyIG1vc3RyYXJuZSBpbCBwacO5IHBvc3NpYmlsZVxyXG4gICAgICovXHJcbiAgICBBZGFwdExhYmVsU2l6ZUFuZE9yaWVudGF0aW9uOiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGFkZGluZyBkYSBhcHBsaWNhcmUgYWxsYSBMZWdlbmRhIGluIGNhc28gc2kgdm9nbGlhIHNwb3N0YXJlIHVuIHBvJ1xyXG4gICAgICovXHJcbiAgICBMZWdlbmRQYWRkaW5nOiBMZWdlbmRQYWQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUZW1hIGRhIHV0aWxpenphcmUsIHZhbGlkbyBzb2xvIHBlciBpbCBncmFmaWNvIGluIHF1ZXN0aW9uZS4gR2xpIGFsdHJpIGdyYWZpY2kgZGVsbGEgcGFnaW5hIHBvc3Nvbm8gYXZlcmUgc3RpbGkgZGl2ZXJzaS5cclxuICAgICAqIFxyXG4gICAgICogRXNzZW5kbyBpIHRlbWkgY2FyaWNhdGkgaW4gbWFuaWVyYSBhc2luY3JvbmEgaW4gYmFzZSBhbGwndXRpbGl6em8gdXRpbGl6emFybmUgdGFudGkgZGl2ZXJzaSBpbiB1bid1bmljYSBwYWdpbmEgcG90cmViYmUgcmFsbGVudGFyZSBpbCBwcmltbyBjYXJpY2FtZW50b1xyXG4gICAgICovXHJcbiAgICBUaGVtZTogJ3NwaXJpdGVkYXdheScgfCAnbW9vbnJpc2VraW5nZG9tJyB8ICdmcm96ZW4nIHwgJ2RhcmsnIHwgJ2tlbGx5JyB8ICdtYXRlcmlhbCcgfCAnZGF0YXZpeicgfCAnbm9uZSc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBMb2NhbGUgZGVsIHNpbmdvbG8gZ3JhZmljb1xyXG4gICAgICovXHJcbiAgICBMb2NhbGU6IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFV0aWxpenpvIG8gbWVubyBkZWxsZSBhbmltYXppb25pLiBTZW56YSBhbmltYXppb25pIGlsIGdyYWZpY28gw6ggbGVnZ2VybWVudGUgcGnDuSBwZXJmb3JtYW50ZSwgc3BlY2lhbG1lbnRlIGFsbCdhdW1lbnRhcmUgZGVpIHB1bnRpIG5lbGxhIHNlcmllXHJcbiAgICAgKi9cclxuICAgIEFuaW1hdGlvbnM6IGJvb2xlYW47XHJcblxyXG4gICAgLy9UT0RPXHJcbiAgICAvL1Nlcmllc0xhYmVsVGVtcGxhdGU6IHN0cmluZztcclxuXHJcbiAgICAvL05hc2Nvc3RvLCBsbyB1c28gY29tZSBjb2xsZWdhbWVudG8gZnJhIGxlIHNlcnZpY2UgZSBpbCBiYXNlX2NoYXJ0c1xyXG4gICAgLy9PblNlcmllc0NsaWNrQ2FsbGJhY2s6IEZ1bmN0aW9uO1xyXG4gICAgLy9PblNlbGVjdGlvbkNoYW5nZWRDYWxsYmFjazogRnVuY3Rpb247XHJcbiAgICAvL0NvbnRhaW5lckhlaWdodDogbnVtYmVyO1xyXG59Il19
@@ -1,6 +0,0 @@
1
- /**
2
- * Classe che identifica le informazioni di Padding per la Legenda
3
- */
4
- export class LegendPad {
5
- }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGVnZW5kUGFkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtY2hhcnRzL3NyYy9saWIvbW9kZWxzL3NldHRpbmdzL2Jhc2UvTGVnZW5kUGFkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFNBQVM7Q0FxQnJCIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbi8qKlxyXG4gKiBDbGFzc2UgY2hlIGlkZW50aWZpY2EgbGUgaW5mb3JtYXppb25pIGRpIFBhZGRpbmcgcGVyIGxhIExlZ2VuZGFcclxuICovXHJcbmV4cG9ydCBjbGFzcyBMZWdlbmRQYWQge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGFkZGluZyBpbiBhbHRvXHJcbiAgICAgKi9cclxuICAgIHRvcDogbnVtYmVyO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGFkZGluZyBpbiBiYXNzb1xyXG4gICAgICovXHJcbiAgICBib3R0b206IG51bWJlcjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFBhZGRpbmcgYSBzaW5pc3RyYVxyXG4gICAgICovXHJcbiAgICBsZWZ0OiBudW1iZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQYWRkaW5nIGEgZGVzdHJhXHJcbiAgICAgKi9cclxuICAgIHJpZ2h0OiBudW1iZXI7XHJcbn0iXX0=
@@ -1,157 +0,0 @@
1
- import * as am4core from "@amcharts/amcharts4/core";
2
- import * as am4charts from "@amcharts/amcharts4/charts";
3
- /**
4
- * Classe il cui unico scopo è gestire il setup e rendering di un AreaChart
5
- */
6
- export class AreaChartService {
7
- /** @ignore */
8
- constructor(Adapter) {
9
- this.Adapter = Adapter;
10
- //******************** Funzione di throttling per non spammare richieste in caso di animazioni attivate
11
- //TODO: spostarla in un metodo di utilità (esfaenza/extensions)
12
- /** @ignore */
13
- this.executionTimers = {};
14
- }
15
- /**
16
- * Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un AreaChart
17
- */
18
- graphicate(data, settings) {
19
- if (settings.Timeline) {
20
- console.error("Timeline not supported for area chart");
21
- return null;
22
- }
23
- let dataConverted = this.Adapter ? this.Adapter.adaptDataForAreaChart(data) : data;
24
- let showTicks = settings.ShowTicks == null ? true : settings?.ShowTicks;
25
- let interval = dataConverted.interval;
26
- //Per evitare di dimenticarmeli e gestire comunque bene gli ngif ecc...
27
- am4core.options.autoDispose = true;
28
- this.ChartInstance = am4core.create(settings.Name, am4charts.XYChart);
29
- let ChartInstanceCasted = this.ChartInstance;
30
- if (settings.Legend) {
31
- ChartInstanceCasted.legend = new am4charts.Legend();
32
- ChartInstanceCasted.legend.position = settings?.LegendPosition ?? 'right';
33
- ChartInstanceCasted.legend.itemContainers.template.tooltipText = "{category}";
34
- if (settings.LegendPadding) {
35
- let template = this.ChartInstance.legend.itemContainers.template;
36
- template.paddingTop = settings.LegendPadding.top ?? 0;
37
- template.paddingBottom = settings.LegendPadding.bottom ?? 0;
38
- template.paddingLeft = settings.LegendPadding.left ?? 0;
39
- template.paddingRight = settings.LegendPadding.right ?? 0;
40
- }
41
- }
42
- let yAxis = ChartInstanceCasted.yAxes.push(new am4charts.ValueAxis());
43
- yAxis.tooltip.disabled = true;
44
- if (settings.YAxisTitle) {
45
- yAxis.title.text = settings.YAxisTitle;
46
- yAxis.title.fontWeight = "bold";
47
- }
48
- yAxis.min = 0;
49
- let dateAxis = ChartInstanceCasted.xAxes.push(new am4charts.DateAxis());
50
- dateAxis.renderer.minGridDistance = settings?.MinGridDistance ?? 50;
51
- dateAxis.startLocation = 0.5;
52
- dateAxis.endLocation = 0.5;
53
- if (settings.XAxisTitle) {
54
- dateAxis.title.text = settings.XAxisTitle;
55
- dateAxis.title.fontWeight = "bold";
56
- }
57
- if (showTicks) {
58
- dateAxis.renderer.ticks.template.disabled = false;
59
- dateAxis.renderer.ticks.template.strokeOpacity = 1;
60
- dateAxis.renderer.ticks.template.stroke = am4core.color("#495C43");
61
- dateAxis.renderer.ticks.template.strokeWidth = 2;
62
- dateAxis.renderer.ticks.template.length = 10;
63
- dateAxis.renderer.ticks.template.location = 0;
64
- }
65
- if (!!interval)
66
- dateAxis.baseInterval = { count: interval.count, timeUnit: this.fixTimeUnit(interval.timeunit) };
67
- // Unisco il dataset e tiro fuori i dati
68
- let chartData = [];
69
- let seriesToMakeCache = {};
70
- let seriesToMake = [];
71
- for (let i = 0; i < dataConverted.groups.length; i++) {
72
- let group = dataConverted.groups[i];
73
- let dataItem = { date: group.name };
74
- for (let ii = 0; ii < group.values.length; ii++) {
75
- let val = group.values[ii];
76
- dataItem[val.k] = val.v;
77
- if (!seriesToMakeCache[val.k]) {
78
- seriesToMakeCache[val.k] = true;
79
- seriesToMake.push(val.k);
80
- }
81
- }
82
- chartData.push(dataItem);
83
- }
84
- ChartInstanceCasted.data = chartData;
85
- //---------------------------------------------------------
86
- seriesToMake.forEach(s => { this.createSeries(ChartInstanceCasted, s); });
87
- ChartInstanceCasted.cursor = new am4charts.XYCursor();
88
- ChartInstanceCasted.cursor.xAxis = dateAxis;
89
- dateAxis.events.on("startchanged", t => this.emitSelectionChanged(t, settings));
90
- dateAxis.events.on("endchanged", t => this.emitSelectionChanged(t, settings));
91
- return this;
92
- }
93
- fixTimeUnit(tu) {
94
- if (tu === 0)
95
- return "millisecond";
96
- else if (tu === 1)
97
- return "second";
98
- else if (tu === 2)
99
- return "minute";
100
- else if (tu === 3)
101
- return "hour";
102
- else if (tu === 4)
103
- return "day";
104
- else if (tu === 5)
105
- return "week";
106
- else if (tu === 6)
107
- return "month";
108
- else if (tu === 7)
109
- return "year";
110
- else
111
- return tu;
112
- }
113
- /** @ignore */
114
- setSelection(from, to) {
115
- }
116
- /** @ignore */
117
- refreshData(data) {
118
- //TODO:IMPL
119
- }
120
- /** @ignore */
121
- emitSelectionChanged(ev, settings) {
122
- if (settings.OnSelectionChangedCallback) {
123
- this.throttla("selchange", () => {
124
- var axis = ev.target;
125
- var start = new Date(axis.minZoomed);
126
- var end = new Date(axis.maxZoomed);
127
- var initial = axis.min == axis.minZoomed && axis.max == axis.maxZoomed;
128
- settings.OnSelectionChangedCallback({ from: start, to: end, initial: initial });
129
- }, 150);
130
- }
131
- }
132
- /** @ignore */
133
- createSeries(chart, name) {
134
- let series = chart.series.push(new am4charts.LineSeries());
135
- series.dataFields.dateX = "date";
136
- series.name = name[0].toUpperCase() + name.slice(1);
137
- series.dataFields.valueY = name;
138
- series.tooltipText = "[#000]{valueY.value}[/]";
139
- //series.tooltip.background.fill = am4core.color("#FFF");
140
- series.tooltip.getStrokeFromObject = true;
141
- series.tooltip.background.strokeWidth = 3;
142
- series.tooltip.getFillFromObject = false;
143
- series.fillOpacity = 0.6;
144
- series.strokeWidth = 2;
145
- series.stacked = true;
146
- return series;
147
- }
148
- /** @ignore */
149
- throttla(id, func, throttleTime) {
150
- //Se ho la funzione che vuole eseguire ripulisco quel timeout
151
- if (this.executionTimers[id])
152
- clearTimeout(this.executionTimers[id]);
153
- //Ricreo il timeout per eseguire quella funzione dopo throttleTime millisecondi
154
- this.executionTimers[id] = setTimeout(() => { func(); this.executionTimers[id] = null; }, throttleTime);
155
- }
156
- }
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJlYUNoYXJ0U2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLWNoYXJ0cy9zcmMvbGliL3NlcnZpY2VzL0FyZWFDaGFydFNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxLQUFLLE9BQU8sTUFBTSwwQkFBMEIsQ0FBQztBQUNwRCxPQUFPLEtBQUssU0FBUyxNQUFNLDRCQUE0QixDQUFDO0FBRXhEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGdCQUFnQjtJQUszQixjQUFjO0lBQ2QsWUFBbUIsT0FBb0I7UUFBcEIsWUFBTyxHQUFQLE9BQU8sQ0FBYTtRQWtKdkMsdUdBQXVHO1FBQ3ZHLCtEQUErRDtRQUMvRCxjQUFjO1FBQ04sb0JBQWUsR0FBNkIsRUFBRSxDQUFDO0lBckpaLENBQUM7SUFFNUM7O09BRUc7SUFDSSxVQUFVLENBQUMsSUFBeUIsRUFBRSxRQUEyQjtRQUN0RSxJQUFJLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN0QixPQUFPLENBQUMsS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7WUFDdkQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsSUFBSSxhQUFhLEdBQWtCLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNsRyxJQUFJLFNBQVMsR0FBRyxRQUFRLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDO1FBQ3hFLElBQUksUUFBUSxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUM7UUFFdEMsdUVBQXVFO1FBQ3ZFLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUVuQyxJQUFJLENBQUMsYUFBYSxH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WUFBWSxDQUFDLENBQUM7SUFDMUcsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUJhc2VTZXJ2aWNlIH0gZnJvbSAnLi9iYXNlL0lCYXNlU2VydmljZSc7XHJcbmltcG9ydCB7IEJhc2VBZGFwdGVyIH0gZnJvbSAnLi4vYWRhcHRlcnMvQmFzZUFkYXB0ZXInO1xyXG5pbXBvcnQgeyBBcmVhQ2hhcnREYXRhIH0gZnJvbSAnLi4vbW9kZWxzL2RhdGEvQXJlYUNoYXJ0RGF0YSc7XHJcbmltcG9ydCB7IEFyZWFDaGFydFNldHRpbmdzIH0gZnJvbSAnLi4vbW9kZWxzL3NldHRpbmdzL0FyZWFDaGFydFNldHRpbmdzJztcclxuXHJcbmltcG9ydCAqIGFzIGFtNGNvcmUgZnJvbSBcIkBhbWNoYXJ0cy9hbWNoYXJ0czQvY29yZVwiO1xyXG5pbXBvcnQgKiBhcyBhbTRjaGFydHMgZnJvbSBcIkBhbWNoYXJ0cy9hbWNoYXJ0czQvY2hhcnRzXCI7XHJcblxyXG4vKipcclxuICogQ2xhc3NlIGlsIGN1aSB1bmljbyBzY29wbyDDqCBnZXN0aXJlIGlsIHNldHVwIGUgcmVuZGVyaW5nIGRpIHVuIEFyZWFDaGFydFxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEFyZWFDaGFydFNlcnZpY2UgaW1wbGVtZW50cyBJQmFzZVNlcnZpY2U8YW00Y2hhcnRzLlhZQ2hhcnQ+IHtcclxuXHJcbiAgLyoqIEBpZ25vcmUgKi9cclxuICBwdWJsaWMgQ2hhcnRJbnN0YW5jZTogYW00Y2hhcnRzLlhZQ2hhcnQ7XHJcblxyXG4gIC8qKiBAaWdub3JlICovXHJcbiAgY29uc3RydWN0b3IocHVibGljIEFkYXB0ZXI6IEJhc2VBZGFwdGVyKSB7IH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIGNoZSBkYXRhIHVuYSBjb3BwaWEgRGF0aSAtIEltcG9zdGF6aW9uaSBsaSB1dGlsaXp6YSBwZXIgY3JlYXJlIGUgdmlzdWFsaXp6YXJlIHVuIEFyZWFDaGFydFxyXG4gICAqL1xyXG4gIHB1YmxpYyBncmFwaGljYXRlKGRhdGE6IEFyZWFDaGFydERhdGEgfCBhbnksIHNldHRpbmdzOiBBcmVhQ2hhcnRTZXR0aW5ncyk6IElCYXNlU2VydmljZTxhbTRjaGFydHMuWFlDaGFydD4ge1xyXG4gICAgaWYgKHNldHRpbmdzLlRpbWVsaW5lKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJUaW1lbGluZSBub3Qgc3VwcG9ydGVkIGZvciBhcmVhIGNoYXJ0XCIpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIGxldCBkYXRhQ29udmVydGVkOiBBcmVhQ2hhcnREYXRhID0gdGhpcy5BZGFwdGVyID8gdGhpcy5BZGFwdGVyLmFkYXB0RGF0YUZvckFyZWFDaGFydChkYXRhKSA6IGRhdGE7XHJcbiAgICBsZXQgc2hvd1RpY2tzID0gc2V0dGluZ3MuU2hvd1RpY2tzID09IG51bGwgPyB0cnVlIDogc2V0dGluZ3M/LlNob3dUaWNrcztcclxuICAgIGxldCBpbnRlcnZhbCA9IGRhdGFDb252ZXJ0ZWQuaW50ZXJ2YWw7XHJcblxyXG4gICAgLy9QZXIgZXZpdGFyZSBkaSBkaW1lbnRpY2FybWVsaSBlIGdlc3RpcmUgY29tdW5xdWUgYmVuZSBnbGkgbmdpZiBlY2MuLi5cclxuICAgIGFtNGNvcmUub3B0aW9ucy5hdXRvRGlzcG9zZSA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5DaGFydEluc3RhbmNlID0gYW00Y29yZS5jcmVhdGUoc2V0dGluZ3MuTmFtZSwgYW00Y2hhcnRzLlhZQ2hhcnQpO1xyXG4gICAgbGV0IENoYXJ0SW5zdGFuY2VDYXN0ZWQgPSA8YW00Y2hhcnRzLlhZQ2hhcnQ+dGhpcy5DaGFydEluc3RhbmNlO1xyXG5cclxuICAgIGlmIChzZXR0aW5ncy5MZWdlbmQpIHtcclxuICAgICAgQ2hhcnRJbnN0YW5jZUNhc3RlZC5sZWdlbmQgPSBuZXcgYW00Y2hhcnRzLkxlZ2VuZCgpO1xyXG4gICAgICBDaGFydEluc3RhbmNlQ2FzdGVkLmxlZ2VuZC5wb3NpdGlvbiA9IHNldHRpbmdzPy5MZWdlbmRQb3NpdGlvbiA/PyAncmlnaHQnO1xyXG4gICAgICBDaGFydEluc3RhbmNlQ2FzdGVkLmxlZ2VuZC5pdGVtQ29udGFpbmVycy50ZW1wbGF0ZS50b29sdGlwVGV4dCA9IFwie2NhdGVnb3J5fVwiO1xyXG5cclxuICAgICAgaWYgKHNldHRpbmdzLkxlZ2VuZFBhZGRpbmcpIHtcclxuICAgICAgICBsZXQgdGVtcGxhdGUgPSB0aGlzLkNoYXJ0SW5zdGFuY2UubGVnZW5kLml0ZW1Db250YWluZXJzLnRlbXBsYXRlO1xyXG4gICAgICAgIHRlbXBsYXRlLnBhZGRpbmdUb3AgPSBzZXR0aW5ncy5MZWdlbmRQYWRkaW5nLnRvcCA/PyAwO1xyXG4gICAgICAgIHRlbXBsYXRlLnBhZGRpbmdCb3R0b20gPSBzZXR0aW5ncy5MZWdlbmRQYWRkaW5nLmJvdHRvbSA/PyAwO1xyXG4gICAgICAgIHRlbXBsYXRlLnBhZGRpbmdMZWZ0ID0gc2V0dGluZ3MuTGVnZW5kUGFkZGluZy5sZWZ0ID8/IDA7XHJcbiAgICAgICAgdGVtcGxhdGUucGFkZGluZ1JpZ2h0ID0gc2V0dGluZ3MuTGVnZW5kUGFkZGluZy5yaWdodCA/PyAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHlBeGlzID0gQ2hhcnRJbnN0YW5jZUNhc3RlZC55QXhlcy5wdXNoKG5ldyBhbTRjaGFydHMuVmFsdWVBeGlzKCkpO1xyXG4gICAgeUF4aXMudG9vbHRpcC5kaXNhYmxlZCA9IHRydWU7XHJcbiAgICBpZiAoc2V0dGluZ3MuWUF4aXNUaXRsZSkge1xyXG4gICAgICB5QXhpcy50aXRsZS50ZXh0ID0gc2V0dGluZ3MuWUF4aXNUaXRsZVxyXG4gICAgICB5QXhpcy50aXRsZS5mb250V2VpZ2h0ID0gXCJib2xkXCI7XHJcbiAgICB9XHJcbiAgICB5QXhpcy5taW4gPSAwO1xyXG5cclxuICAgIGxldCBkYXRlQXhpcyA9IENoYXJ0SW5zdGFuY2VDYXN0ZWQueEF4ZXMucHVzaChuZXcgYW00Y2hhcnRzLkRhdGVBeGlzKCkpO1xyXG4gICAgZGF0ZUF4aXMucmVuZGVyZXIubWluR3JpZERpc3RhbmNlID0gc2V0dGluZ3M/Lk1pbkdyaWREaXN0YW5jZSA/PyA1MDtcclxuICAgIGRhdGVBeGlzLnN0YXJ0TG9jYXRpb24gPSAwLjU7XHJcbiAgICBkYXRlQXhpcy5lbmRMb2NhdGlvbiA9IDAuNTtcclxuXHJcbiAgICBpZiAoc2V0dGluZ3MuWEF4aXNUaXRsZSkge1xyXG4gICAgICBkYXRlQXhpcy50aXRsZS50ZXh0ID0gc2V0dGluZ3MuWEF4aXNUaXRsZVxyXG4gICAgICBkYXRlQXhpcy50aXRsZS5mb250V2VpZ2h0ID0gXCJib2xkXCI7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHNob3dUaWNrcykge1xyXG4gICAgICBkYXRlQXhpcy5yZW5kZXJlci50aWNrcy50ZW1wbGF0ZS5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICBkYXRlQXhpcy5yZW5kZXJlci50aWNrcy50ZW1wbGF0ZS5zdHJva2VPcGFjaXR5ID0gMTtcclxuICAgICAgZGF0ZUF4aXMucmVuZGVyZXIudGlja3MudGVtcGxhdGUuc3Ryb2tlID0gYW00Y29yZS5jb2xvcihcIiM0OTVDNDNcIik7XHJcbiAgICAgIGRhdGVBeGlzLnJlbmRlcmVyLnRpY2tzLnRlbXBsYXRlLnN0cm9rZVdpZHRoID0gMjtcclxuICAgICAgZGF0ZUF4aXMucmVuZGVyZXIudGlja3MudGVtcGxhdGUubGVuZ3RoID0gMTA7XHJcbiAgICAgIGRhdGVBeGlzLnJlbmRlcmVyLnRpY2tzLnRlbXBsYXRlLmxvY2F0aW9uID0gMDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoISFpbnRlcnZhbClcclxuICAgICAgZGF0ZUF4aXMuYmFzZUludGVydmFsID0geyBjb3VudDogaW50ZXJ2YWwuY291bnQsIHRpbWVVbml0OiB0aGlzLmZpeFRpbWVVbml0KGludGVydmFsLnRpbWV1bml0KSB9O1xyXG5cclxuICAgIC8vIFVuaXNjbyBpbCBkYXRhc2V0IGUgdGlybyBmdW9yaSBpIGRhdGlcclxuICAgIGxldCBjaGFydERhdGEgPSBbXTtcclxuICAgIGxldCBzZXJpZXNUb01ha2VDYWNoZTogeyBbaW5kZXg6IHN0cmluZ106IGJvb2xlYW4gfSA9IHt9O1xyXG4gICAgbGV0IHNlcmllc1RvTWFrZTogc3RyaW5nW10gPSBbXTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YUNvbnZlcnRlZC5ncm91cHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgbGV0IGdyb3VwID0gZGF0YUNvbnZlcnRlZC5ncm91cHNbaV07XHJcbiAgICAgIGxldCBkYXRhSXRlbSA9IHsgZGF0ZTogZ3JvdXAubmFtZSB9O1xyXG4gICAgICBmb3IgKGxldCBpaSA9IDA7IGlpIDwgZ3JvdXAudmFsdWVzLmxlbmd0aDsgaWkrKykge1xyXG4gICAgICAgIGxldCB2YWwgPSBncm91cC52YWx1ZXNbaWldO1xyXG4gICAgICAgIGRhdGFJdGVtW3ZhbC5rXSA9IHZhbC52O1xyXG4gICAgICAgIGlmICghc2VyaWVzVG9NYWtlQ2FjaGVbdmFsLmtdKSB7XHJcbiAgICAgICAgICBzZXJpZXNUb01ha2VDYWNoZVt2YWwua10gPSB0cnVlO1xyXG4gICAgICAgICAgc2VyaWVzVG9NYWtlLnB1c2godmFsLmspO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBjaGFydERhdGEucHVzaChkYXRhSXRlbSk7XHJcbiAgICB9XHJcbiAgICBDaGFydEluc3RhbmNlQ2FzdGVkLmRhdGEgPSBjaGFydERhdGE7XHJcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuICAgIHNlcmllc1RvTWFrZS5mb3JFYWNoKHMgPT4geyB0aGlzLmNyZWF0ZVNlcmllcyhDaGFydEluc3RhbmNlQ2FzdGVkLCBzKTsgfSk7XHJcblxyXG4gICAgQ2hhcnRJbnN0YW5jZUNhc3RlZC5jdXJzb3IgPSBuZXcgYW00Y2hhcnRzLlhZQ3Vyc29yKCk7XHJcbiAgICBDaGFydEluc3RhbmNlQ2FzdGVkLmN1cnNvci54QXhpcyA9IGRhdGVBeGlzO1xyXG5cclxuICAgIGRhdGVBeGlzLmV2ZW50cy5vbihcInN0YXJ0Y2hhbmdlZFwiLCB0ID0+IHRoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZWQodCwgc2V0dGluZ3MpKTtcclxuICAgIGRhdGVBeGlzLmV2ZW50cy5vbihcImVuZGNoYW5nZWRcIiwgdCA9PiB0aGlzLmVtaXRTZWxlY3Rpb25DaGFuZ2VkKHQsIHNldHRpbmdzKSk7XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIGZpeFRpbWVVbml0KHR1OiBhbnkpOiBcIm1pbGxpc2Vjb25kXCIgfCBcInNlY29uZFwiIHwgXCJtaW51dGVcIiB8IFwiaG91clwiIHwgXCJkYXlcIiB8IFwid2Vla1wiIHwgXCJtb250aFwiIHwgXCJ5ZWFyXCIge1xyXG4gICAgaWYgKHR1ID09PSAwKSByZXR1cm4gXCJtaWxsaXNlY29uZFwiO1xyXG4gICAgZWxzZSBpZiAodHUgPT09IDEpIHJldHVybiBcInNlY29uZFwiO1xyXG4gICAgZWxzZSBpZiAodHUgPT09IDIpIHJldHVybiBcIm1pbnV0ZVwiO1xyXG4gICAgZWxzZSBpZiAodHUgPT09IDMpIHJldHVybiBcImhvdXJcIjtcclxuICAgIGVsc2UgaWYgKHR1ID09PSA0KSByZXR1cm4gXCJkYXlcIjtcclxuICAgIGVsc2UgaWYgKHR1ID09PSA1KSByZXR1cm4gXCJ3ZWVrXCI7XHJcbiAgICBlbHNlIGlmICh0dSA9PT0gNikgcmV0dXJuIFwibW9udGhcIjtcclxuICAgIGVsc2UgaWYgKHR1ID09PSA3KSByZXR1cm4gXCJ5ZWFyXCI7XHJcbiAgICBlbHNlIHJldHVybiB0dTtcclxuICB9XHJcblxyXG4gIC8qKiBAaWdub3JlICovXHJcbiAgc2V0U2VsZWN0aW9uKGZyb206IERhdGUsIHRvOiBEYXRlKTogdm9pZCB7XHJcblxyXG4gIH1cclxuXHJcbiAgLyoqIEBpZ25vcmUgKi9cclxuICBwdWJsaWMgcmVmcmVzaERhdGEoZGF0YTogQXJlYUNoYXJ0RGF0YSB8IGFueSkge1xyXG4gICAgLy9UT0RPOklNUExcclxuICB9XHJcblxyXG4gIC8qKiBAaWdub3JlICovXHJcbiAgcHJpdmF0ZSBlbWl0U2VsZWN0aW9uQ2hhbmdlZChldiwgc2V0dGluZ3MpIHtcclxuICAgIGlmICgoPGFueT5zZXR0aW5ncykuT25TZWxlY3Rpb25DaGFuZ2VkQ2FsbGJhY2spIHtcclxuICAgICAgdGhpcy50aHJvdHRsYShcInNlbGNoYW5nZVwiLCAoKSA9PiB7XHJcbiAgICAgICAgdmFyIGF4aXMgPSA8YW00Y2hhcnRzLkRhdGVBeGlzPmV2LnRhcmdldFxyXG4gICAgICAgIHZhciBzdGFydCA9IG5ldyBEYXRlKGF4aXMubWluWm9vbWVkKTtcclxuICAgICAgICB2YXIgZW5kID0gbmV3IERhdGUoYXhpcy5tYXhab29tZWQpO1xyXG4gICAgICAgIHZhciBpbml0aWFsID0gYXhpcy5taW4gPT0gYXhpcy5taW5ab29tZWQgJiYgYXhpcy5tYXggPT0gYXhpcy5tYXhab29tZWQ7XHJcbiAgICAgICAgKDxhbnk+c2V0dGluZ3MpLk9uU2VsZWN0aW9uQ2hhbmdlZENhbGxiYWNrKHsgZnJvbTogc3RhcnQsIHRvOiBlbmQsIGluaXRpYWw6IGluaXRpYWwgfSk7XHJcbiAgICAgIH0sIDE1MClcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKiBAaWdub3JlICovXHJcbiAgcHJpdmF0ZSBjcmVhdGVTZXJpZXMoY2hhcnQ6IGFueSwgbmFtZTogc3RyaW5nKSB7XHJcbiAgICBsZXQgc2VyaWVzOiBhbTRjaGFydHMuTGluZVNlcmllcyA9IGNoYXJ0LnNlcmllcy5wdXNoKG5ldyBhbTRjaGFydHMuTGluZVNlcmllcygpKVxyXG4gICAgc2VyaWVzLmRhdGFGaWVsZHMuZGF0ZVggPSBcImRhdGVcIjtcclxuICAgIHNlcmllcy5uYW1lID0gbmFtZVswXS50b1VwcGVyQ2FzZSgpICsgbmFtZS5zbGljZSgxKTtcclxuICAgIHNlcmllcy5kYXRhRmllbGRzLnZhbHVlWSA9IG5hbWU7XHJcbiAgICBzZXJpZXMudG9vbHRpcFRleHQgPSBcIlsjMDAwXXt2YWx1ZVkudmFsdWV9Wy9dXCI7XHJcbiAgICAvL3Nlcmllcy50b29sdGlwLmJhY2tncm91bmQuZmlsbCA9IGFtNGNvcmUuY29sb3IoXCIjRkZGXCIpO1xyXG4gICAgc2VyaWVzLnRvb2x0aXAuZ2V0U3Ryb2tlRnJvbU9iamVjdCA9IHRydWU7XHJcbiAgICBzZXJpZXMudG9vbHRpcC5iYWNrZ3JvdW5kLnN0cm9rZVdpZHRoID0gMztcclxuICAgIHNlcmllcy50b29sdGlwLmdldEZpbGxGcm9tT2JqZWN0ID0gZmFsc2U7XHJcbiAgICBzZXJpZXMuZmlsbE9wYWNpdHkgPSAwLjY7XHJcbiAgICBzZXJpZXMuc3Ryb2tlV2lkdGggPSAyO1xyXG4gICAgc2VyaWVzLnN0YWNrZWQgPSB0cnVlO1xyXG4gICAgcmV0dXJuIHNlcmllcztcclxuICB9XHJcblxyXG4gIC8vKioqKioqKioqKioqKioqKioqKiogRnVuemlvbmUgZGkgdGhyb3R0bGluZyBwZXIgbm9uIHNwYW1tYXJlIHJpY2hpZXN0ZSBpbiBjYXNvIGRpIGFuaW1hemlvbmkgYXR0aXZhdGVcclxuICAvL1RPRE86IHNwb3N0YXJsYSBpbiB1biBtZXRvZG8gZGkgdXRpbGl0w6AgKGVzZmFlbnphL2V4dGVuc2lvbnMpXHJcbiAgLyoqIEBpZ25vcmUgKi9cclxuICBwcml2YXRlIGV4ZWN1dGlvblRpbWVyczogeyBbaW5kZXg6IHN0cmluZ106IGFueSB9ID0ge307XHJcbiAgLyoqIEBpZ25vcmUgKi9cclxuICBwcml2YXRlIHRocm90dGxhKGlkOiBzdHJpbmcsIGZ1bmM6IEZ1bmN0aW9uLCB0aHJvdHRsZVRpbWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgLy9TZSBobyBsYSBmdW56aW9uZSBjaGUgdnVvbGUgZXNlZ3VpcmUgcmlwdWxpc2NvIHF1ZWwgdGltZW91dFxyXG4gICAgaWYgKHRoaXMuZXhlY3V0aW9uVGltZXJzW2lkXSlcclxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuZXhlY3V0aW9uVGltZXJzW2lkXSk7XHJcblxyXG4gICAgLy9SaWNyZW8gaWwgdGltZW91dCBwZXIgZXNlZ3VpcmUgcXVlbGxhIGZ1bnppb25lIGRvcG8gdGhyb3R0bGVUaW1lIG1pbGxpc2Vjb25kaVxyXG4gICAgdGhpcy5leGVjdXRpb25UaW1lcnNbaWRdID0gc2V0VGltZW91dCgoKSA9PiB7IGZ1bmMoKTsgdGhpcy5leGVjdXRpb25UaW1lcnNbaWRdID0gbnVsbDsgfSwgdGhyb3R0bGVUaW1lKTtcclxuICB9XHJcbiAgLy8qKioqKioqKioqKioqKioqKioqKioqKioqXHJcbn0iXX0=