@esfaenza/es-charts 18.2.2 → 19.2.1
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/fesm2022/esfaenza-es-charts.mjs +49 -49
- package/fesm2022/esfaenza-es-charts.mjs.map +1 -1
- package/lib/components/base/base-chart.component.d.ts +1 -1
- package/package.json +6 -8
- package/esm2022/esfaenza-es-charts.mjs +0 -5
- package/esm2022/lib/adapters/BaseAdapter.mjs +0 -50
- package/esm2022/lib/adapters/IBaseAdapter.mjs +0 -2
- package/esm2022/lib/components/base/base-chart.component.mjs +0 -350
- package/esm2022/lib/components/chart-pager/chart-pager.component.mjs +0 -89
- package/esm2022/lib/components/specializations/es-area-chart.component.mjs +0 -77
- package/esm2022/lib/components/specializations/es-chart.component.mjs +0 -122
- package/esm2022/lib/components/specializations/es-line-chart.component.mjs +0 -112
- package/esm2022/lib/components/specializations/es-pie-chart.component.mjs +0 -98
- package/esm2022/lib/components/specializations/es-vertical-2d-chart.component.mjs +0 -95
- package/esm2022/lib/components/specializations/es-vertical-chart.component.mjs +0 -92
- package/esm2022/lib/components/specializations/es-vertical-stacked-chart.component.mjs +0 -92
- package/esm2022/lib/es-charts.module.mjs +0 -67
- package/esm2022/lib/models/EsChaartsModuleConfig.mjs +0 -6
- package/esm2022/lib/models/core/ChartDispatcher.mjs +0 -91
- package/esm2022/lib/models/core/ChartLoader.mjs +0 -212
- package/esm2022/lib/models/core/ChartThemes.mjs +0 -61
- package/esm2022/lib/models/data/AreaChartData.mjs +0 -16
- package/esm2022/lib/models/data/LineChartData.mjs +0 -16
- package/esm2022/lib/models/data/PagedChartData.mjs +0 -20
- package/esm2022/lib/models/data/PieChartData.mjs +0 -14
- package/esm2022/lib/models/data/Vertical2DChartData.mjs +0 -16
- package/esm2022/lib/models/data/VerticalChartData.mjs +0 -14
- package/esm2022/lib/models/data/VerticalStackedChartData.mjs +0 -14
- package/esm2022/lib/models/data/base/DateValue.mjs +0 -11
- package/esm2022/lib/models/data/base/KeyValue.mjs +0 -11
- package/esm2022/lib/models/data/base/KeyValueColor.mjs +0 -13
- package/esm2022/lib/models/data/base/Limit.mjs +0 -16
- package/esm2022/lib/models/data/base/LineSerie.mjs +0 -28
- package/esm2022/lib/models/settings/AreaChartSettings.mjs +0 -11
- package/esm2022/lib/models/settings/LineChartSettings.mjs +0 -11
- package/esm2022/lib/models/settings/PieChartSettings.mjs +0 -7
- package/esm2022/lib/models/settings/Vertical2DChartSettings.mjs +0 -11
- package/esm2022/lib/models/settings/VerticalChartSettings.mjs +0 -11
- package/esm2022/lib/models/settings/VerticalStackedChartSettings.mjs +0 -11
- package/esm2022/lib/models/settings/base/BaseInterval.mjs +0 -6
- package/esm2022/lib/models/settings/base/BaseSettings.mjs +0 -6
- package/esm2022/lib/models/settings/base/LegendPad.mjs +0 -6
- package/esm2022/lib/services/AreaChartService.mjs +0 -157
- package/esm2022/lib/services/LineChartService.mjs +0 -392
- package/esm2022/lib/services/PieChartService.mjs +0 -114
- package/esm2022/lib/services/Vertical2DChartService.mjs +0 -163
- package/esm2022/lib/services/VerticalChartService.mjs +0 -114
- package/esm2022/lib/services/VerticalStackedChartService.mjs +0 -127
- package/esm2022/lib/services/base/IBaseService.mjs +0 -2
- package/esm2022/lib/tokens.mjs +0 -14
- 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=
|