@coreui/angular-chartjs 2.0.0 → 2.0.2
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/LICENSE +2 -2
- package/esm2020/lib/chartjs.component.mjs +4 -4
- package/esm2020/lib/chartjs.module.mjs +5 -5
- package/fesm2015/coreui-angular-chartjs.mjs +7 -7
- package/fesm2015/coreui-angular-chartjs.mjs.map +1 -1
- package/fesm2020/coreui-angular-chartjs.mjs +7 -7
- package/fesm2020/coreui-angular-chartjs.mjs.map +1 -1
- package/package.json +4 -4
package/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c)
|
|
3
|
+
Copyright (c) 2022 creativeLabs Łukasz Holeczek
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
|
18
18
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
19
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
20
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
21
|
+
SOFTWARE.
|
|
@@ -160,9 +160,9 @@ export class ChartjsComponent {
|
|
|
160
160
|
}
|
|
161
161
|
;
|
|
162
162
|
}
|
|
163
|
-
ChartjsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
164
|
-
ChartjsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.
|
|
165
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
163
|
+
ChartjsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ChartjsComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
164
|
+
ChartjsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ChartjsComponent, selector: "c-chart", inputs: { customTooltips: "customTooltips", data: "data", height: "height", id: "id", options: "options", plugins: "plugins", redraw: "redraw", type: "type", width: "width", wrapper: "wrapper" }, outputs: { getDatasetAtEvent: "getDatasetAtEvent", getElementAtEvent: "getElementAtEvent", getElementsAtEvent: "getElementsAtEvent" }, host: { properties: { "style.height.px": "this.height", "style.width.px": "this.width", "class": "this.hostClasses" } }, viewQueries: [{ propertyName: "canvasElement", first: true, predicate: ["canvasElement"], descendants: true }], exportAs: ["cChart"], usesOnChanges: true, ngImport: i0, template: "<canvas\r\n #canvasElement\r\n (click)=\"handleOnClick($event)\"\r\n [height]=\"height\"\r\n [id]=\"id\"\r\n [width]=\"width\"\r\n role=\"img\"\r\n style=\"display: none;\"\r\n>\r\n <ng-content></ng-content>\r\n</canvas>\r\n", styles: [":host.chart-wrapper{display:block}\n"] });
|
|
165
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ChartjsComponent, decorators: [{
|
|
166
166
|
type: Component,
|
|
167
167
|
args: [{ selector: 'c-chart', exportAs: 'cChart', template: "<canvas\r\n #canvasElement\r\n (click)=\"handleOnClick($event)\"\r\n [height]=\"height\"\r\n [id]=\"id\"\r\n [width]=\"width\"\r\n role=\"img\"\r\n style=\"display: none;\"\r\n>\r\n <ng-content></ng-content>\r\n</canvas>\r\n", styles: [":host.chart-wrapper{display:block}\n"] }]
|
|
168
168
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }]; }, propDecorators: { customTooltips: [{
|
|
@@ -204,4 +204,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImpor
|
|
|
204
204
|
type: HostBinding,
|
|
205
205
|
args: ['class']
|
|
206
206
|
}] } });
|
|
207
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnRqcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci1jaGFydGpzL3NyYy9saWIvY2hhcnRqcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci1jaGFydGpzL3NyYy9saWIvY2hhcnRqcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUlMLE1BQU0sRUFHTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxvQkFBb0IsRUFBZSxNQUFNLHVCQUF1QixDQUFDO0FBRS9HLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFL0IsT0FBTyxFQUFFLEtBQUssRUFBbUQsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxjQUFjLElBQUksaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFdEUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDO0FBRWpDLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztBQVFmLE1BQU0sT0FBTyxnQkFBZ0I7SUFtRTNCLFlBQ1UsVUFBc0IsRUFDdEIsTUFBYyxFQUNkLFFBQW1CO1FBRm5CLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVc7UUFoRXBCLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBZXRCLE9BQUUsR0FBRyxhQUFhLE1BQU0sRUFBRSxFQUFFLENBQUM7UUFFN0IsWUFBTyxHQUF3RCxFQUFFLENBQUM7UUFXbkUsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVmLFNBQUksR0FBcUQsS0FBYyxDQUFDO1FBY3hFLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFFZCxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzVDLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDNUMsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQWlCcEQsQ0FBQztJQTlESixJQUVJLE1BQU0sQ0FBQyxLQUF5QjtRQUNsQyxJQUFJLENBQUMsT0FBTyxHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQVFELElBQ0ksTUFBTSxDQUFDLEtBQWM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFNRCxJQUVJLEtBQUssQ0FBQyxLQUF5QjtRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQWNELElBQ0ksV0FBVztRQUNiLE9BQU87WUFDTCxlQUFlLEVBQUUsSUFBSSxDQUFDLE9BQU87U0FDOUIsQ0FBQztJQUNKLENBQUM7SUFRRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLHNCQUFzQjtJQUN4QixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRTtZQUNuRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDcEI7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU0sYUFBYSxDQUFDLE1BQWtCO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU87UUFFeEIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzNHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFNUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzNHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFNUMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWE7WUFBRSxPQUFPO1FBRWhDLE1BQU0sR0FBRyxHQUE2QixJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFeEYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDakMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2xDLElBQUksTUFBTSxFQUFFO2dCQUNWLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUNwQyxVQUFVLENBQUMsR0FBRyxFQUFFO29CQUNkLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDL0UsQ0FBQyxDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPO1FBRXhCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixDQUFDLENBQUMsQ0FBQztZQUNILE9BQU87U0FDUjtRQUVELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVsQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDbkQ7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxFQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzVDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1NBQ2xDO1FBRUQsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3pELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN6RCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDcEQ7UUFFRCxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRU8seUJBQXlCO1FBQy9CLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtnQkFDakMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUN2QixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVPLGVBQWU7UUFDckIsT0FBTztZQUNMLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sSUFBSSxFQUFFO1lBQy9CLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsSUFBSSxFQUFFO1NBQ3BDLENBQUM7SUFDSixDQUFDO0lBRU8sWUFBWTtRQUNsQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQzVCLE9BQU8sRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQzVCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7U0FDaEIsQ0FBQztJQUNKLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDN0IsYUFBYTtZQUNiLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDO1lBQ3RDLGFBQWE7WUFDYixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUM7WUFDL0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ25CLEdBQUcsT0FBTztnQkFDVixPQUFPLEVBQUU7b0JBQ1AsR0FBRyxPQUFPO29CQUNWLE9BQU8sRUFBRTt3QkFDUCxHQUFHLE9BQU87d0JBQ1YsT0FBTyxFQUFFLEtBQUs7d0JBQ2QsSUFBSSxFQUFFLE9BQU87d0JBQ2IsUUFBUSxFQUFFLFNBQVM7d0JBQ25CLFFBQVEsRUFBRSxpQkFBaUI7cUJBQzVCO2lCQUNGO2FBQ0YsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBQUEsQ0FBQzs7NkdBOU1TLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLDhvQkNoQzdCLDBPQVdBOzJGRHFCYSxnQkFBZ0I7a0JBTjVCLFNBQVM7K0JBQ0UsU0FBUyxZQUdULFFBQVE7OElBUVQsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBSUYsTUFBTTtzQkFGVCxXQUFXO3VCQUFDLGlCQUFpQjs7c0JBQzdCLEtBQUs7Z0JBV0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBR0YsTUFBTTtzQkFEVCxLQUFLO2dCQVdHLElBQUk7c0JBQVosS0FBSztnQkFJRixLQUFLO3NCQUZSLFdBQVc7dUJBQUMsZ0JBQWdCOztzQkFDNUIsS0FBSztnQkFXRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUksaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBRXFCLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZTtnQkFLdEIsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIElucHV0LFxyXG4gIE5nWm9uZSxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIE91dHB1dCxcclxuICBSZW5kZXJlcjIsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHksIGNvZXJjZU51bWJlclByb3BlcnR5LCBOdW1iZXJJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XHJcblxyXG5pbXBvcnQgeyBtZXJnZSB9IGZyb20gJ2xvZGFzaCc7XHJcblxyXG5pbXBvcnQgeyBDaGFydCwgQ2hhcnRDb25maWd1cmF0aW9uLCBDaGFydFR5cGUsIERlZmF1bHREYXRhUG9pbnQsIHJlZ2lzdGVyYWJsZXMgfSBmcm9tICdjaGFydC5qcyc7XHJcbmltcG9ydCB7IGN1c3RvbVRvb2x0aXBzIGFzIGN1aUN1c3RvbVRvb2x0aXBzIH0gZnJvbSAnQGNvcmV1aS9jaGFydGpzJztcclxuXHJcbkNoYXJ0LnJlZ2lzdGVyKC4uLnJlZ2lzdGVyYWJsZXMpO1xyXG5cclxubGV0IG5leHRJZCA9IDA7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2MtY2hhcnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFydGpzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jaGFydGpzLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZXhwb3J0QXM6ICdjQ2hhcnQnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGFydGpzQ29tcG9uZW50PFRUeXBlIGV4dGVuZHMgQ2hhcnRUeXBlID0gQ2hhcnRUeXBlLCBURGF0YSA9IERlZmF1bHREYXRhUG9pbnQ8VFR5cGU+LCBUTGFiZWwgPSB1bmtub3duPiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcclxuXHJcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2hlaWdodDogTnVtYmVySW5wdXQ7XHJcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3dpZHRoOiBOdW1iZXJJbnB1dDtcclxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfcmVkcmF3OiBCb29sZWFuSW5wdXQ7XHJcblxyXG4gIEBJbnB1dCgpIGN1c3RvbVRvb2x0aXBzID0gdHJ1ZTtcclxuICBASW5wdXQoKSBkYXRhPzogQ2hhcnRDb25maWd1cmF0aW9uPFRUeXBlLCBURGF0YSwgVExhYmVsPlsnZGF0YSddO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodC5weCcpXHJcbiAgQElucHV0KClcclxuICBzZXQgaGVpZ2h0KHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQpIHtcclxuICAgIHRoaXMuX2hlaWdodCA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcclxuICB9XHJcblxyXG4gIGdldCBoZWlnaHQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faGVpZ2h0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaGVpZ2h0OiBudW1iZXIgfCB1bmRlZmluZWQ7XHJcblxyXG4gIEBJbnB1dCgpIGlkID0gYGMtY2hhcnRqcy0ke25leHRJZCsrfWA7XHJcbiAgQElucHV0KCkgb3B0aW9ucz86IENoYXJ0Q29uZmlndXJhdGlvbjxUVHlwZSwgVERhdGEsIFRMYWJlbD5bJ29wdGlvbnMnXTtcclxuICBASW5wdXQoKSBwbHVnaW5zOiBDaGFydENvbmZpZ3VyYXRpb248VFR5cGUsIFREYXRhLCBUTGFiZWw+WydwbHVnaW5zJ10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgcmVkcmF3KHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9yZWRyYXcgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHJlZHJhdygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9yZWRyYXc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9yZWRyYXcgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgdHlwZTogQ2hhcnRDb25maWd1cmF0aW9uPFRUeXBlLCBURGF0YSwgVExhYmVsPlsndHlwZSddID0gJ2JhcicgYXMgVFR5cGU7XHJcblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGgucHgnKVxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHdpZHRoKHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQpIHtcclxuICAgIHRoaXMuX3dpZHRoID0gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHdpZHRoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3dpZHRoO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfd2lkdGg6IG51bWJlciB8IHVuZGVmaW5lZDtcclxuXHJcbiAgQElucHV0KCkgd3JhcHBlciA9IHRydWU7XHJcblxyXG4gIEBPdXRwdXQoKSBnZXREYXRhc2V0QXRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBnZXRFbGVtZW50QXRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBnZXRFbGVtZW50c0F0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnY2FudmFzRWxlbWVudCcpIGNhbnZhc0VsZW1lbnQhOiBFbGVtZW50UmVmO1xyXG5cclxuICBjaGFydCE6IENoYXJ0PFRUeXBlLCBURGF0YSwgVExhYmVsPjtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXHJcbiAgZ2V0IGhvc3RDbGFzc2VzKCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgJ2NoYXJ0LXdyYXBwZXInOiB0aGlzLndyYXBwZXJcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjJcclxuICApIHt9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2hhcnRSZW5kZXIoKTtcclxuICAgIC8vIHRoaXMuY2hhcnRVcGRhdGUoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWydkYXRhJ10gJiYgIWNoYW5nZXNbJ2RhdGEnXS5maXJzdENoYW5nZSkge1xyXG4gICAgICB0aGlzLmNoYXJ0VXBkYXRlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2hhcnREZXN0cm95KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlT25DbGljaygkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGlmICghdGhpcy5jaGFydCkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGRhdGFzZXRBdEV2ZW50ID0gdGhpcy5jaGFydC5nZXRFbGVtZW50c0F0RXZlbnRGb3JNb2RlKCRldmVudCwgJ2RhdGFzZXQnLCB7IGludGVyc2VjdDogdHJ1ZSB9LCBmYWxzZSk7XHJcbiAgICB0aGlzLmdldERhdGFzZXRBdEV2ZW50LmVtaXQoZGF0YXNldEF0RXZlbnQpO1xyXG5cclxuICAgIGNvbnN0IGVsZW1lbnRBdEV2ZW50ID0gdGhpcy5jaGFydC5nZXRFbGVtZW50c0F0RXZlbnRGb3JNb2RlKCRldmVudCwgJ25lYXJlc3QnLCB7IGludGVyc2VjdDogdHJ1ZSB9LCBmYWxzZSk7XHJcbiAgICB0aGlzLmdldEVsZW1lbnRBdEV2ZW50LmVtaXQoZWxlbWVudEF0RXZlbnQpO1xyXG5cclxuICAgIGNvbnN0IGVsZW1lbnRzQXRFdmVudCA9IHRoaXMuY2hhcnQuZ2V0RWxlbWVudHNBdEV2ZW50Rm9yTW9kZSgkZXZlbnQsICdpbmRleCcsIHsgaW50ZXJzZWN0OiB0cnVlIH0sIGZhbHNlKTtcclxuICAgIHRoaXMuZ2V0RWxlbWVudHNBdEV2ZW50LmVtaXQoZWxlbWVudHNBdEV2ZW50KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGFydERlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmNoYXJ0Py5kZXN0cm95KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2hhcnRSZW5kZXIoKSB7XHJcbiAgICBpZiAoIXRoaXMuY2FudmFzRWxlbWVudCkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGN0eDogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEID0gdGhpcy5jYW52YXNFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZ2V0Q29udGV4dCgnMmQnKTtcclxuXHJcbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY2hhcnRDb25maWcoKTtcclxuICAgICAgaWYgKGNvbmZpZykge1xyXG4gICAgICAgIHRoaXMuY2hhcnQgPSBuZXcgQ2hhcnQoY3R4LCBjb25maWcpO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNhbnZhc0VsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2Rpc3BsYXknLCAnYmxvY2snKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjaGFydFVwZGF0ZSgpIHtcclxuICAgIGlmICghdGhpcy5jaGFydCkgcmV0dXJuO1xyXG5cclxuICAgIGlmICh0aGlzLnJlZHJhdykge1xyXG4gICAgICB0aGlzLmNoYXJ0RGVzdHJveSgpO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmNoYXJ0UmVuZGVyKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5jaGFydENvbmZpZygpO1xyXG5cclxuICAgIGlmICh0aGlzLm9wdGlvbnMpIHtcclxuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLmNoYXJ0Lm9wdGlvbnMsIGNvbmZpZy5vcHRpb25zKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMuY2hhcnQuY29uZmlnLmRhdGEpIHtcclxuICAgICAgdGhpcy5jaGFydC5jb25maWcuZGF0YSA9IHsgLi4uY29uZmlnLmRhdGEgfTtcclxuICAgICAgdGhpcy5jaGFydFVwZGF0ZU91dHNpZGVBbmd1bGFyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuY2hhcnQpIHtcclxuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLmNoYXJ0LmNvbmZpZy5vcHRpb25zLCBjb25maWcub3B0aW9ucyk7XHJcbiAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5jaGFydC5jb25maWcucGx1Z2lucywgY29uZmlnLnBsdWdpbnMpO1xyXG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMuY2hhcnQuY29uZmlnLmRhdGEsIGNvbmZpZy5kYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNoYXJ0VXBkYXRlT3V0c2lkZUFuZ3VsYXIoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2hhcnRVcGRhdGVPdXRzaWRlQW5ndWxhcigpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jaGFydD8udXBkYXRlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2hhcnRUb0Jhc2U2NEltYWdlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy5jaGFydD8udG9CYXNlNjRJbWFnZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjaGFydERhdGFDb25maWcoKTogQ2hhcnRDb25maWd1cmF0aW9uPFRUeXBlLCBURGF0YSwgVExhYmVsPlsnZGF0YSddIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGxhYmVsczogdGhpcy5kYXRhPy5sYWJlbHMgPz8gW10sXHJcbiAgICAgIGRhdGFzZXRzOiB0aGlzLmRhdGE/LmRhdGFzZXRzID8/IFtdXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjaGFydE9wdGlvbnMoKTogQ2hhcnRDb25maWd1cmF0aW9uPFRUeXBlLCBURGF0YSwgVExhYmVsPlsnb3B0aW9ucyddIHtcclxuICAgIHJldHVybiB0aGlzLm9wdGlvbnM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNoYXJ0Q29uZmlnKCk6IENoYXJ0Q29uZmlndXJhdGlvbjxUVHlwZSwgVERhdGEsIFRMYWJlbD4ge1xyXG4gICAgdGhpcy5jaGFydEN1c3RvbVRvb2x0aXBzKCk7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBkYXRhOiB0aGlzLmNoYXJ0RGF0YUNvbmZpZygpLFxyXG4gICAgICBvcHRpb25zOiB0aGlzLmNoYXJ0T3B0aW9ucygpLFxyXG4gICAgICBwbHVnaW5zOiB0aGlzLnBsdWdpbnMsXHJcbiAgICAgIHR5cGU6IHRoaXMudHlwZVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2hhcnRDdXN0b21Ub29sdGlwcygpIHtcclxuICAgIGlmICh0aGlzLmN1c3RvbVRvb2x0aXBzKSB7XHJcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XHJcbiAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgY29uc3QgcGx1Z2lucyA9IHRoaXMub3B0aW9ucz8ucGx1Z2lucztcclxuICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICBjb25zdCB0b29sdGlwID0gdGhpcy5vcHRpb25zPy5wbHVnaW5zPy50b29sdGlwO1xyXG4gICAgICB0aGlzLm9wdGlvbnMgPSBtZXJnZSh7XHJcbiAgICAgICAgLi4ub3B0aW9ucyxcclxuICAgICAgICBwbHVnaW5zOiB7XHJcbiAgICAgICAgICAuLi5wbHVnaW5zLFxyXG4gICAgICAgICAgdG9vbHRpcDoge1xyXG4gICAgICAgICAgICAuLi50b29sdGlwLFxyXG4gICAgICAgICAgICBlbmFibGVkOiBmYWxzZSxcclxuICAgICAgICAgICAgbW9kZTogJ2luZGV4JyxcclxuICAgICAgICAgICAgcG9zaXRpb246ICduZWFyZXN0JyxcclxuICAgICAgICAgICAgZXh0ZXJuYWw6IGN1aUN1c3RvbVRvb2x0aXBzXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9O1xyXG59XHJcbiIsIjxjYW52YXNcclxuICAjY2FudmFzRWxlbWVudFxyXG4gIChjbGljayk9XCJoYW5kbGVPbkNsaWNrKCRldmVudClcIlxyXG4gIFtoZWlnaHRdPVwiaGVpZ2h0XCJcclxuICBbaWRdPVwiaWRcIlxyXG4gIFt3aWR0aF09XCJ3aWR0aFwiXHJcbiAgcm9sZT1cImltZ1wiXHJcbiAgc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiXHJcbj5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjwvY2FudmFzPlxyXG4iXX0=
|
|
207
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnRqcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci1jaGFydGpzL3NyYy9saWIvY2hhcnRqcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci1jaGFydGpzL3NyYy9saWIvY2hhcnRqcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUlMLE1BQU0sRUFHTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxvQkFBb0IsRUFBZSxNQUFNLHVCQUF1QixDQUFDO0FBRS9HLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFL0IsT0FBTyxFQUFFLEtBQUssRUFBbUQsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxjQUFjLElBQUksaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFdEUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDO0FBRWpDLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztBQVFmLE1BQU0sT0FBTyxnQkFBZ0I7SUFtRTNCLFlBQ1UsVUFBc0IsRUFDdEIsTUFBYyxFQUNkLFFBQW1CO1FBRm5CLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVc7UUFoRXBCLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBZXRCLE9BQUUsR0FBRyxhQUFhLE1BQU0sRUFBRSxFQUFFLENBQUM7UUFFN0IsWUFBTyxHQUF3RCxFQUFFLENBQUM7UUFXbkUsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVmLFNBQUksR0FBcUQsS0FBYyxDQUFDO1FBY3hFLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFFZCxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzVDLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDNUMsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQWlCcEQsQ0FBQztJQTlESixJQUVJLE1BQU0sQ0FBQyxLQUF5QjtRQUNsQyxJQUFJLENBQUMsT0FBTyxHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQVFELElBQ0ksTUFBTSxDQUFDLEtBQWM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFNRCxJQUVJLEtBQUssQ0FBQyxLQUF5QjtRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQWNELElBQ0ksV0FBVztRQUNiLE9BQU87WUFDTCxlQUFlLEVBQUUsSUFBSSxDQUFDLE9BQU87U0FDOUIsQ0FBQztJQUNKLENBQUM7SUFRRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLHNCQUFzQjtJQUN4QixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRTtZQUNuRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDcEI7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU0sYUFBYSxDQUFDLE1BQWtCO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU87UUFFeEIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzNHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFNUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzNHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFNUMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWE7WUFBRSxPQUFPO1FBRWhDLE1BQU0sR0FBRyxHQUE2QixJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFeEYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDakMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2xDLElBQUksTUFBTSxFQUFFO2dCQUNWLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUNwQyxVQUFVLENBQUMsR0FBRyxFQUFFO29CQUNkLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDL0UsQ0FBQyxDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPO1FBRXhCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixDQUFDLENBQUMsQ0FBQztZQUNILE9BQU87U0FDUjtRQUVELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVsQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDbkQ7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxFQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzVDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1NBQ2xDO1FBRUQsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3pELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN6RCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDcEQ7UUFFRCxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRU8seUJBQXlCO1FBQy9CLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtnQkFDakMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUN2QixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVPLGVBQWU7UUFDckIsT0FBTztZQUNMLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sSUFBSSxFQUFFO1lBQy9CLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsSUFBSSxFQUFFO1NBQ3BDLENBQUM7SUFDSixDQUFDO0lBRU8sWUFBWTtRQUNsQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQzVCLE9BQU8sRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQzVCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7U0FDaEIsQ0FBQztJQUNKLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDN0IsYUFBYTtZQUNiLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDO1lBQ3RDLGFBQWE7WUFDYixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUM7WUFDL0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ25CLEdBQUcsT0FBTztnQkFDVixPQUFPLEVBQUU7b0JBQ1AsR0FBRyxPQUFPO29CQUNWLE9BQU8sRUFBRTt3QkFDUCxHQUFHLE9BQU87d0JBQ1YsT0FBTyxFQUFFLEtBQUs7d0JBQ2QsSUFBSSxFQUFFLE9BQU87d0JBQ2IsUUFBUSxFQUFFLFNBQVM7d0JBQ25CLFFBQVEsRUFBRSxpQkFBaUI7cUJBQzVCO2lCQUNGO2FBQ0YsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBQUEsQ0FBQzs7OEdBOU1TLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLDhvQkNoQzdCLDBPQVdBOzRGRHFCYSxnQkFBZ0I7a0JBTjVCLFNBQVM7K0JBQ0UsU0FBUyxZQUdULFFBQVE7OElBUVQsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBSUYsTUFBTTtzQkFGVCxXQUFXO3VCQUFDLGlCQUFpQjs7c0JBQzdCLEtBQUs7Z0JBV0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBR0YsTUFBTTtzQkFEVCxLQUFLO2dCQVdHLElBQUk7c0JBQVosS0FBSztnQkFJRixLQUFLO3NCQUZSLFdBQVc7dUJBQUMsZ0JBQWdCOztzQkFDNUIsS0FBSztnQkFXRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUksaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBRXFCLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZTtnQkFLdEIsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIElucHV0LFxyXG4gIE5nWm9uZSxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIE91dHB1dCxcclxuICBSZW5kZXJlcjIsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHksIGNvZXJjZU51bWJlclByb3BlcnR5LCBOdW1iZXJJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XHJcblxyXG5pbXBvcnQgeyBtZXJnZSB9IGZyb20gJ2xvZGFzaCc7XHJcblxyXG5pbXBvcnQgeyBDaGFydCwgQ2hhcnRDb25maWd1cmF0aW9uLCBDaGFydFR5cGUsIERlZmF1bHREYXRhUG9pbnQsIHJlZ2lzdGVyYWJsZXMgfSBmcm9tICdjaGFydC5qcyc7XHJcbmltcG9ydCB7IGN1c3RvbVRvb2x0aXBzIGFzIGN1aUN1c3RvbVRvb2x0aXBzIH0gZnJvbSAnQGNvcmV1aS9jaGFydGpzJztcclxuXHJcbkNoYXJ0LnJlZ2lzdGVyKC4uLnJlZ2lzdGVyYWJsZXMpO1xyXG5cclxubGV0IG5leHRJZCA9IDA7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2MtY2hhcnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFydGpzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jaGFydGpzLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZXhwb3J0QXM6ICdjQ2hhcnQnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGFydGpzQ29tcG9uZW50PFRUeXBlIGV4dGVuZHMgQ2hhcnRUeXBlID0gQ2hhcnRUeXBlLCBURGF0YSA9IERlZmF1bHREYXRhUG9pbnQ8VFR5cGU+LCBUTGFiZWwgPSB1bmtub3duPiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcclxuXHJcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2hlaWdodDogTnVtYmVySW5wdXQ7XHJcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3dpZHRoOiBOdW1iZXJJbnB1dDtcclxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfcmVkcmF3OiBCb29sZWFuSW5wdXQ7XHJcblxyXG4gIEBJbnB1dCgpIGN1c3RvbVRvb2x0aXBzID0gdHJ1ZTtcclxuICBASW5wdXQoKSBkYXRhPzogQ2hhcnRDb25maWd1cmF0aW9uPFRUeXBlLCBURGF0YSwgVExhYmVsPlsnZGF0YSddO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodC5weCcpXHJcbiAgQElucHV0KClcclxuICBzZXQgaGVpZ2h0KHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQpIHtcclxuICAgIHRoaXMuX2hlaWdodCA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcclxuICB9XHJcblxyXG4gIGdldCBoZWlnaHQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faGVpZ2h0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaGVpZ2h0OiBudW1iZXIgfCB1bmRlZmluZWQ7XHJcblxyXG4gIEBJbnB1dCgpIGlkID0gYGMtY2hhcnRqcy0ke25leHRJZCsrfWA7XHJcbiAgQElucHV0KCkgb3B0aW9ucz86IENoYXJ0Q29uZmlndXJhdGlvbjxUVHlwZSwgVERhdGEsIFRMYWJlbD5bJ29wdGlvbnMnXTtcclxuICBASW5wdXQoKSBwbHVnaW5zOiBDaGFydENvbmZpZ3VyYXRpb248VFR5cGUsIFREYXRhLCBUTGFiZWw+WydwbHVnaW5zJ10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgcmVkcmF3KHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9yZWRyYXcgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHJlZHJhdygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9yZWRyYXc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9yZWRyYXcgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgdHlwZTogQ2hhcnRDb25maWd1cmF0aW9uPFRUeXBlLCBURGF0YSwgVExhYmVsPlsndHlwZSddID0gJ2JhcicgYXMgVFR5cGU7XHJcblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGgucHgnKVxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHdpZHRoKHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQpIHtcclxuICAgIHRoaXMuX3dpZHRoID0gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHdpZHRoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3dpZHRoO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfd2lkdGg6IG51bWJlciB8IHVuZGVmaW5lZDtcclxuXHJcbiAgQElucHV0KCkgd3JhcHBlciA9IHRydWU7XHJcblxyXG4gIEBPdXRwdXQoKSBnZXREYXRhc2V0QXRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBnZXRFbGVtZW50QXRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBnZXRFbGVtZW50c0F0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnY2FudmFzRWxlbWVudCcpIGNhbnZhc0VsZW1lbnQhOiBFbGVtZW50UmVmO1xyXG5cclxuICBjaGFydCE6IENoYXJ0PFRUeXBlLCBURGF0YSwgVExhYmVsPjtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXHJcbiAgZ2V0IGhvc3RDbGFzc2VzKCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgJ2NoYXJ0LXdyYXBwZXInOiB0aGlzLndyYXBwZXJcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjJcclxuICApIHt9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2hhcnRSZW5kZXIoKTtcclxuICAgIC8vIHRoaXMuY2hhcnRVcGRhdGUoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWydkYXRhJ10gJiYgIWNoYW5nZXNbJ2RhdGEnXS5maXJzdENoYW5nZSkge1xyXG4gICAgICB0aGlzLmNoYXJ0VXBkYXRlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2hhcnREZXN0cm95KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlT25DbGljaygkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGlmICghdGhpcy5jaGFydCkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGRhdGFzZXRBdEV2ZW50ID0gdGhpcy5jaGFydC5nZXRFbGVtZW50c0F0RXZlbnRGb3JNb2RlKCRldmVudCwgJ2RhdGFzZXQnLCB7IGludGVyc2VjdDogdHJ1ZSB9LCBmYWxzZSk7XHJcbiAgICB0aGlzLmdldERhdGFzZXRBdEV2ZW50LmVtaXQoZGF0YXNldEF0RXZlbnQpO1xyXG5cclxuICAgIGNvbnN0IGVsZW1lbnRBdEV2ZW50ID0gdGhpcy5jaGFydC5nZXRFbGVtZW50c0F0RXZlbnRGb3JNb2RlKCRldmVudCwgJ25lYXJlc3QnLCB7IGludGVyc2VjdDogdHJ1ZSB9LCBmYWxzZSk7XHJcbiAgICB0aGlzLmdldEVsZW1lbnRBdEV2ZW50LmVtaXQoZWxlbWVudEF0RXZlbnQpO1xyXG5cclxuICAgIGNvbnN0IGVsZW1lbnRzQXRFdmVudCA9IHRoaXMuY2hhcnQuZ2V0RWxlbWVudHNBdEV2ZW50Rm9yTW9kZSgkZXZlbnQsICdpbmRleCcsIHsgaW50ZXJzZWN0OiB0cnVlIH0sIGZhbHNlKTtcclxuICAgIHRoaXMuZ2V0RWxlbWVudHNBdEV2ZW50LmVtaXQoZWxlbWVudHNBdEV2ZW50KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGFydERlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmNoYXJ0Py5kZXN0cm95KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2hhcnRSZW5kZXIoKSB7XHJcbiAgICBpZiAoIXRoaXMuY2FudmFzRWxlbWVudCkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGN0eDogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEID0gdGhpcy5jYW52YXNFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZ2V0Q29udGV4dCgnMmQnKTtcclxuXHJcbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY2hhcnRDb25maWcoKTtcclxuICAgICAgaWYgKGNvbmZpZykge1xyXG4gICAgICAgIHRoaXMuY2hhcnQgPSBuZXcgQ2hhcnQoY3R4LCBjb25maWcpO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNhbnZhc0VsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2Rpc3BsYXknLCAnYmxvY2snKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjaGFydFVwZGF0ZSgpIHtcclxuICAgIGlmICghdGhpcy5jaGFydCkgcmV0dXJuO1xyXG5cclxuICAgIGlmICh0aGlzLnJlZHJhdykge1xyXG4gICAgICB0aGlzLmNoYXJ0RGVzdHJveSgpO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmNoYXJ0UmVuZGVyKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5jaGFydENvbmZpZygpO1xyXG5cclxuICAgIGlmICh0aGlzLm9wdGlvbnMpIHtcclxuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLmNoYXJ0Lm9wdGlvbnMsIGNvbmZpZy5vcHRpb25zKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMuY2hhcnQuY29uZmlnLmRhdGEpIHtcclxuICAgICAgdGhpcy5jaGFydC5jb25maWcuZGF0YSA9IHsgLi4uY29uZmlnLmRhdGEgfTtcclxuICAgICAgdGhpcy5jaGFydFVwZGF0ZU91dHNpZGVBbmd1bGFyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuY2hhcnQpIHtcclxuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLmNoYXJ0LmNvbmZpZy5vcHRpb25zLCBjb25maWcub3B0aW9ucyk7XHJcbiAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5jaGFydC5jb25maWcucGx1Z2lucywgY29uZmlnLnBsdWdpbnMpO1xyXG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMuY2hhcnQuY29uZmlnLmRhdGEsIGNvbmZpZy5kYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNoYXJ0VXBkYXRlT3V0c2lkZUFuZ3VsYXIoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2hhcnRVcGRhdGVPdXRzaWRlQW5ndWxhcigpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jaGFydD8udXBkYXRlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2hhcnRUb0Jhc2U2NEltYWdlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy5jaGFydD8udG9CYXNlNjRJbWFnZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjaGFydERhdGFDb25maWcoKTogQ2hhcnRDb25maWd1cmF0aW9uPFRUeXBlLCBURGF0YSwgVExhYmVsPlsnZGF0YSddIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGxhYmVsczogdGhpcy5kYXRhPy5sYWJlbHMgPz8gW10sXHJcbiAgICAgIGRhdGFzZXRzOiB0aGlzLmRhdGE/LmRhdGFzZXRzID8/IFtdXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjaGFydE9wdGlvbnMoKTogQ2hhcnRDb25maWd1cmF0aW9uPFRUeXBlLCBURGF0YSwgVExhYmVsPlsnb3B0aW9ucyddIHtcclxuICAgIHJldHVybiB0aGlzLm9wdGlvbnM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNoYXJ0Q29uZmlnKCk6IENoYXJ0Q29uZmlndXJhdGlvbjxUVHlwZSwgVERhdGEsIFRMYWJlbD4ge1xyXG4gICAgdGhpcy5jaGFydEN1c3RvbVRvb2x0aXBzKCk7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBkYXRhOiB0aGlzLmNoYXJ0RGF0YUNvbmZpZygpLFxyXG4gICAgICBvcHRpb25zOiB0aGlzLmNoYXJ0T3B0aW9ucygpLFxyXG4gICAgICBwbHVnaW5zOiB0aGlzLnBsdWdpbnMsXHJcbiAgICAgIHR5cGU6IHRoaXMudHlwZVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2hhcnRDdXN0b21Ub29sdGlwcygpIHtcclxuICAgIGlmICh0aGlzLmN1c3RvbVRvb2x0aXBzKSB7XHJcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XHJcbiAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgY29uc3QgcGx1Z2lucyA9IHRoaXMub3B0aW9ucz8ucGx1Z2lucztcclxuICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICBjb25zdCB0b29sdGlwID0gdGhpcy5vcHRpb25zPy5wbHVnaW5zPy50b29sdGlwO1xyXG4gICAgICB0aGlzLm9wdGlvbnMgPSBtZXJnZSh7XHJcbiAgICAgICAgLi4ub3B0aW9ucyxcclxuICAgICAgICBwbHVnaW5zOiB7XHJcbiAgICAgICAgICAuLi5wbHVnaW5zLFxyXG4gICAgICAgICAgdG9vbHRpcDoge1xyXG4gICAgICAgICAgICAuLi50b29sdGlwLFxyXG4gICAgICAgICAgICBlbmFibGVkOiBmYWxzZSxcclxuICAgICAgICAgICAgbW9kZTogJ2luZGV4JyxcclxuICAgICAgICAgICAgcG9zaXRpb246ICduZWFyZXN0JyxcclxuICAgICAgICAgICAgZXh0ZXJuYWw6IGN1aUN1c3RvbVRvb2x0aXBzXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9O1xyXG59XHJcbiIsIjxjYW52YXNcclxuICAjY2FudmFzRWxlbWVudFxyXG4gIChjbGljayk9XCJoYW5kbGVPbkNsaWNrKCRldmVudClcIlxyXG4gIFtoZWlnaHRdPVwiaGVpZ2h0XCJcclxuICBbaWRdPVwiaWRcIlxyXG4gIFt3aWR0aF09XCJ3aWR0aFwiXHJcbiAgcm9sZT1cImltZ1wiXHJcbiAgc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiXHJcbj5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjwvY2FudmFzPlxyXG4iXX0=
|
|
@@ -3,10 +3,10 @@ import { ChartjsComponent } from './chartjs.component';
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class ChartjsModule {
|
|
5
5
|
}
|
|
6
|
-
ChartjsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
7
|
-
ChartjsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.
|
|
8
|
-
ChartjsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
6
|
+
ChartjsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ChartjsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
7
|
+
ChartjsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ChartjsModule, declarations: [ChartjsComponent], exports: [ChartjsComponent] });
|
|
8
|
+
ChartjsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ChartjsModule });
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ChartjsModule, decorators: [{
|
|
10
10
|
type: NgModule,
|
|
11
11
|
args: [{
|
|
12
12
|
declarations: [
|
|
@@ -17,4 +17,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImpor
|
|
|
17
17
|
]
|
|
18
18
|
}]
|
|
19
19
|
}] });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnRqcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci1jaGFydGpzL3NyYy9saWIvY2hhcnRqcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFVdkQsTUFBTSxPQUFPLGFBQWE7OzJHQUFiLGFBQWE7NEdBQWIsYUFBYSxpQkFOdEIsZ0JBQWdCLGFBR2hCLGdCQUFnQjs0R0FHUCxhQUFhOzRGQUFiLGFBQWE7a0JBUnpCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGdCQUFnQjtxQkFDakI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGdCQUFnQjtxQkFDakI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDaGFydGpzQ29tcG9uZW50IH0gZnJvbSAnLi9jaGFydGpzLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgQ2hhcnRqc0NvbXBvbmVudFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgQ2hhcnRqc0NvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIENoYXJ0anNNb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -154,9 +154,9 @@ class ChartjsComponent {
|
|
|
154
154
|
}
|
|
155
155
|
;
|
|
156
156
|
}
|
|
157
|
-
ChartjsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
158
|
-
ChartjsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.
|
|
159
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
157
|
+
ChartjsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ChartjsComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
158
|
+
ChartjsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ChartjsComponent, selector: "c-chart", inputs: { customTooltips: "customTooltips", data: "data", height: "height", id: "id", options: "options", plugins: "plugins", redraw: "redraw", type: "type", width: "width", wrapper: "wrapper" }, outputs: { getDatasetAtEvent: "getDatasetAtEvent", getElementAtEvent: "getElementAtEvent", getElementsAtEvent: "getElementsAtEvent" }, host: { properties: { "style.height.px": "this.height", "style.width.px": "this.width", "class": "this.hostClasses" } }, viewQueries: [{ propertyName: "canvasElement", first: true, predicate: ["canvasElement"], descendants: true }], exportAs: ["cChart"], usesOnChanges: true, ngImport: i0, template: "<canvas\r\n #canvasElement\r\n (click)=\"handleOnClick($event)\"\r\n [height]=\"height\"\r\n [id]=\"id\"\r\n [width]=\"width\"\r\n role=\"img\"\r\n style=\"display: none;\"\r\n>\r\n <ng-content></ng-content>\r\n</canvas>\r\n", styles: [":host.chart-wrapper{display:block}\n"] });
|
|
159
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ChartjsComponent, decorators: [{
|
|
160
160
|
type: Component,
|
|
161
161
|
args: [{ selector: 'c-chart', exportAs: 'cChart', template: "<canvas\r\n #canvasElement\r\n (click)=\"handleOnClick($event)\"\r\n [height]=\"height\"\r\n [id]=\"id\"\r\n [width]=\"width\"\r\n role=\"img\"\r\n style=\"display: none;\"\r\n>\r\n <ng-content></ng-content>\r\n</canvas>\r\n", styles: [":host.chart-wrapper{display:block}\n"] }]
|
|
162
162
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }]; }, propDecorators: { customTooltips: [{
|
|
@@ -201,10 +201,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImpor
|
|
|
201
201
|
|
|
202
202
|
class ChartjsModule {
|
|
203
203
|
}
|
|
204
|
-
ChartjsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
205
|
-
ChartjsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.
|
|
206
|
-
ChartjsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.
|
|
207
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
204
|
+
ChartjsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ChartjsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
205
|
+
ChartjsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ChartjsModule, declarations: [ChartjsComponent], exports: [ChartjsComponent] });
|
|
206
|
+
ChartjsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ChartjsModule });
|
|
207
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ChartjsModule, decorators: [{
|
|
208
208
|
type: NgModule,
|
|
209
209
|
args: [{
|
|
210
210
|
declarations: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coreui-angular-chartjs.mjs","sources":["../../../projects/coreui-angular-chartjs/src/lib/chartjs.component.ts","../../../projects/coreui-angular-chartjs/src/lib/chartjs.component.html","../../../projects/coreui-angular-chartjs/src/lib/chartjs.module.ts","../../../projects/coreui-angular-chartjs/src/public-api.ts","../../../projects/coreui-angular-chartjs/src/coreui-angular-chartjs.ts"],"sourcesContent":["import {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n NgZone,\r\n OnChanges,\r\n OnDestroy,\r\n Output,\r\n Renderer2,\r\n SimpleChanges,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty, coerceNumberProperty, NumberInput } from '@angular/cdk/coercion';\r\n\r\nimport { merge } from 'lodash';\r\n\r\nimport { Chart, ChartConfiguration, ChartType, DefaultDataPoint, registerables } from 'chart.js';\r\nimport { customTooltips as cuiCustomTooltips } from '@coreui/chartjs';\r\n\r\nChart.register(...registerables);\r\n\r\nlet nextId = 0;\r\n\r\n@Component({\r\n selector: 'c-chart',\r\n templateUrl: './chartjs.component.html',\r\n styleUrls: ['./chartjs.component.scss'],\r\n exportAs: 'cChart'\r\n})\r\nexport class ChartjsComponent<TType extends ChartType = ChartType, TData = DefaultDataPoint<TType>, TLabel = unknown> implements AfterViewInit, OnDestroy, OnChanges {\r\n\r\n static ngAcceptInputType_height: NumberInput;\r\n static ngAcceptInputType_width: NumberInput;\r\n static ngAcceptInputType_redraw: BooleanInput;\r\n\r\n @Input() customTooltips = true;\r\n @Input() data?: ChartConfiguration<TType, TData, TLabel>['data'];\r\n\r\n @HostBinding('style.height.px')\r\n @Input()\r\n set height(value: number | undefined) {\r\n this._height = coerceNumberProperty(value);\r\n }\r\n\r\n get height() {\r\n return this._height;\r\n }\r\n\r\n private _height: number | undefined;\r\n\r\n @Input() id = `c-chartjs-${nextId++}`;\r\n @Input() options?: ChartConfiguration<TType, TData, TLabel>['options'];\r\n @Input() plugins: ChartConfiguration<TType, TData, TLabel>['plugins'] = [];\r\n\r\n @Input()\r\n set redraw(value: boolean) {\r\n this._redraw = coerceBooleanProperty(value);\r\n }\r\n\r\n get redraw(): boolean {\r\n return this._redraw;\r\n }\r\n\r\n private _redraw = false;\r\n\r\n @Input() type: ChartConfiguration<TType, TData, TLabel>['type'] = 'bar' as TType;\r\n\r\n @HostBinding('style.width.px')\r\n @Input()\r\n set width(value: number | undefined) {\r\n this._width = coerceNumberProperty(value);\r\n }\r\n\r\n get width() {\r\n return this._width;\r\n }\r\n\r\n private _width: number | undefined;\r\n\r\n @Input() wrapper = true;\r\n\r\n @Output() getDatasetAtEvent = new EventEmitter<any>();\r\n @Output() getElementAtEvent = new EventEmitter<any>();\r\n @Output() getElementsAtEvent = new EventEmitter<any>();\r\n\r\n @ViewChild('canvasElement') canvasElement!: ElementRef;\r\n\r\n chart!: Chart<TType, TData, TLabel>;\r\n\r\n @HostBinding('class')\r\n get hostClasses() {\r\n return {\r\n 'chart-wrapper': this.wrapper\r\n };\r\n }\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n private ngZone: NgZone,\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n ngAfterViewInit(): void {\r\n this.chartRender();\r\n // this.chartUpdate();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['data'] && !changes['data'].firstChange) {\r\n this.chartUpdate();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.chartDestroy();\r\n }\r\n\r\n public handleOnClick($event: MouseEvent) {\r\n if (!this.chart) return;\r\n\r\n const datasetAtEvent = this.chart.getElementsAtEventForMode($event, 'dataset', { intersect: true }, false);\r\n this.getDatasetAtEvent.emit(datasetAtEvent);\r\n\r\n const elementAtEvent = this.chart.getElementsAtEventForMode($event, 'nearest', { intersect: true }, false);\r\n this.getElementAtEvent.emit(elementAtEvent);\r\n\r\n const elementsAtEvent = this.chart.getElementsAtEventForMode($event, 'index', { intersect: true }, false);\r\n this.getElementsAtEvent.emit(elementsAtEvent);\r\n }\r\n\r\n public chartDestroy() {\r\n this.chart?.destroy();\r\n }\r\n\r\n public chartRender() {\r\n if (!this.canvasElement) return;\r\n\r\n const ctx: CanvasRenderingContext2D = this.canvasElement.nativeElement.getContext('2d');\r\n\r\n this.ngZone.runOutsideAngular(() => {\r\n const config = this.chartConfig();\r\n if (config) {\r\n this.chart = new Chart(ctx, config);\r\n setTimeout(() => {\r\n this.renderer.setStyle(this.canvasElement.nativeElement, 'display', 'block');\r\n });\r\n }\r\n });\r\n }\r\n\r\n chartUpdate() {\r\n if (!this.chart) return;\r\n\r\n if (this.redraw) {\r\n this.chartDestroy();\r\n setTimeout(() => {\r\n this.chartRender();\r\n });\r\n return;\r\n }\r\n\r\n const config = this.chartConfig();\r\n\r\n if (this.options) {\r\n Object.assign(this.chart.options, config.options);\r\n }\r\n\r\n if (!this.chart.config.data) {\r\n this.chart.config.data = { ...config.data };\r\n this.chartUpdateOutsideAngular();\r\n }\r\n\r\n if (this.chart) {\r\n Object.assign(this.chart.config.options, config.options);\r\n Object.assign(this.chart.config.plugins, config.plugins);\r\n Object.assign(this.chart.config.data, config.data);\r\n }\r\n\r\n this.chartUpdateOutsideAngular();\r\n }\r\n\r\n private chartUpdateOutsideAngular() {\r\n setTimeout(() => {\r\n this.ngZone.runOutsideAngular(() => {\r\n this.chart?.update();\r\n });\r\n });\r\n }\r\n\r\n public chartToBase64Image(): string | undefined {\r\n return this.chart?.toBase64Image();\r\n }\r\n\r\n private chartDataConfig(): ChartConfiguration<TType, TData, TLabel>['data'] {\r\n return {\r\n labels: this.data?.labels ?? [],\r\n datasets: this.data?.datasets ?? []\r\n };\r\n }\r\n\r\n private chartOptions(): ChartConfiguration<TType, TData, TLabel>['options'] {\r\n return this.options;\r\n }\r\n\r\n private chartConfig(): ChartConfiguration<TType, TData, TLabel> {\r\n this.chartCustomTooltips();\r\n return {\r\n data: this.chartDataConfig(),\r\n options: this.chartOptions(),\r\n plugins: this.plugins,\r\n type: this.type\r\n };\r\n }\r\n\r\n private chartCustomTooltips() {\r\n if (this.customTooltips) {\r\n const options = this.options;\r\n // @ts-ignore\r\n const plugins = this.options?.plugins;\r\n // @ts-ignore\r\n const tooltip = this.options?.plugins?.tooltip;\r\n this.options = merge({\r\n ...options,\r\n plugins: {\r\n ...plugins,\r\n tooltip: {\r\n ...tooltip,\r\n enabled: false,\r\n mode: 'index',\r\n position: 'nearest',\r\n external: cuiCustomTooltips\r\n }\r\n }\r\n });\r\n }\r\n };\r\n}\r\n","<canvas\r\n #canvasElement\r\n (click)=\"handleOnClick($event)\"\r\n [height]=\"height\"\r\n [id]=\"id\"\r\n [width]=\"width\"\r\n role=\"img\"\r\n style=\"display: none;\"\r\n>\r\n <ng-content></ng-content>\r\n</canvas>\r\n","import { NgModule } from '@angular/core';\r\nimport { ChartjsComponent } from './chartjs.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n ChartjsComponent\r\n ],\r\n exports: [\r\n ChartjsComponent\r\n ]\r\n})\r\nexport class ChartjsModule { }\r\n","/*\n * Public API Surface of coreui-angular-chartjs\n */\n\nexport * from './lib/chartjs.component';\nexport * from './lib/chartjs.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["cuiCustomTooltips"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"coreui-angular-chartjs.mjs","sources":["../../../projects/coreui-angular-chartjs/src/lib/chartjs.component.ts","../../../projects/coreui-angular-chartjs/src/lib/chartjs.component.html","../../../projects/coreui-angular-chartjs/src/lib/chartjs.module.ts","../../../projects/coreui-angular-chartjs/src/public-api.ts","../../../projects/coreui-angular-chartjs/src/coreui-angular-chartjs.ts"],"sourcesContent":["import {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n NgZone,\r\n OnChanges,\r\n OnDestroy,\r\n Output,\r\n Renderer2,\r\n SimpleChanges,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty, coerceNumberProperty, NumberInput } from '@angular/cdk/coercion';\r\n\r\nimport { merge } from 'lodash';\r\n\r\nimport { Chart, ChartConfiguration, ChartType, DefaultDataPoint, registerables } from 'chart.js';\r\nimport { customTooltips as cuiCustomTooltips } from '@coreui/chartjs';\r\n\r\nChart.register(...registerables);\r\n\r\nlet nextId = 0;\r\n\r\n@Component({\r\n selector: 'c-chart',\r\n templateUrl: './chartjs.component.html',\r\n styleUrls: ['./chartjs.component.scss'],\r\n exportAs: 'cChart'\r\n})\r\nexport class ChartjsComponent<TType extends ChartType = ChartType, TData = DefaultDataPoint<TType>, TLabel = unknown> implements AfterViewInit, OnDestroy, OnChanges {\r\n\r\n static ngAcceptInputType_height: NumberInput;\r\n static ngAcceptInputType_width: NumberInput;\r\n static ngAcceptInputType_redraw: BooleanInput;\r\n\r\n @Input() customTooltips = true;\r\n @Input() data?: ChartConfiguration<TType, TData, TLabel>['data'];\r\n\r\n @HostBinding('style.height.px')\r\n @Input()\r\n set height(value: number | undefined) {\r\n this._height = coerceNumberProperty(value);\r\n }\r\n\r\n get height() {\r\n return this._height;\r\n }\r\n\r\n private _height: number | undefined;\r\n\r\n @Input() id = `c-chartjs-${nextId++}`;\r\n @Input() options?: ChartConfiguration<TType, TData, TLabel>['options'];\r\n @Input() plugins: ChartConfiguration<TType, TData, TLabel>['plugins'] = [];\r\n\r\n @Input()\r\n set redraw(value: boolean) {\r\n this._redraw = coerceBooleanProperty(value);\r\n }\r\n\r\n get redraw(): boolean {\r\n return this._redraw;\r\n }\r\n\r\n private _redraw = false;\r\n\r\n @Input() type: ChartConfiguration<TType, TData, TLabel>['type'] = 'bar' as TType;\r\n\r\n @HostBinding('style.width.px')\r\n @Input()\r\n set width(value: number | undefined) {\r\n this._width = coerceNumberProperty(value);\r\n }\r\n\r\n get width() {\r\n return this._width;\r\n }\r\n\r\n private _width: number | undefined;\r\n\r\n @Input() wrapper = true;\r\n\r\n @Output() getDatasetAtEvent = new EventEmitter<any>();\r\n @Output() getElementAtEvent = new EventEmitter<any>();\r\n @Output() getElementsAtEvent = new EventEmitter<any>();\r\n\r\n @ViewChild('canvasElement') canvasElement!: ElementRef;\r\n\r\n chart!: Chart<TType, TData, TLabel>;\r\n\r\n @HostBinding('class')\r\n get hostClasses() {\r\n return {\r\n 'chart-wrapper': this.wrapper\r\n };\r\n }\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n private ngZone: NgZone,\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n ngAfterViewInit(): void {\r\n this.chartRender();\r\n // this.chartUpdate();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['data'] && !changes['data'].firstChange) {\r\n this.chartUpdate();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.chartDestroy();\r\n }\r\n\r\n public handleOnClick($event: MouseEvent) {\r\n if (!this.chart) return;\r\n\r\n const datasetAtEvent = this.chart.getElementsAtEventForMode($event, 'dataset', { intersect: true }, false);\r\n this.getDatasetAtEvent.emit(datasetAtEvent);\r\n\r\n const elementAtEvent = this.chart.getElementsAtEventForMode($event, 'nearest', { intersect: true }, false);\r\n this.getElementAtEvent.emit(elementAtEvent);\r\n\r\n const elementsAtEvent = this.chart.getElementsAtEventForMode($event, 'index', { intersect: true }, false);\r\n this.getElementsAtEvent.emit(elementsAtEvent);\r\n }\r\n\r\n public chartDestroy() {\r\n this.chart?.destroy();\r\n }\r\n\r\n public chartRender() {\r\n if (!this.canvasElement) return;\r\n\r\n const ctx: CanvasRenderingContext2D = this.canvasElement.nativeElement.getContext('2d');\r\n\r\n this.ngZone.runOutsideAngular(() => {\r\n const config = this.chartConfig();\r\n if (config) {\r\n this.chart = new Chart(ctx, config);\r\n setTimeout(() => {\r\n this.renderer.setStyle(this.canvasElement.nativeElement, 'display', 'block');\r\n });\r\n }\r\n });\r\n }\r\n\r\n chartUpdate() {\r\n if (!this.chart) return;\r\n\r\n if (this.redraw) {\r\n this.chartDestroy();\r\n setTimeout(() => {\r\n this.chartRender();\r\n });\r\n return;\r\n }\r\n\r\n const config = this.chartConfig();\r\n\r\n if (this.options) {\r\n Object.assign(this.chart.options, config.options);\r\n }\r\n\r\n if (!this.chart.config.data) {\r\n this.chart.config.data = { ...config.data };\r\n this.chartUpdateOutsideAngular();\r\n }\r\n\r\n if (this.chart) {\r\n Object.assign(this.chart.config.options, config.options);\r\n Object.assign(this.chart.config.plugins, config.plugins);\r\n Object.assign(this.chart.config.data, config.data);\r\n }\r\n\r\n this.chartUpdateOutsideAngular();\r\n }\r\n\r\n private chartUpdateOutsideAngular() {\r\n setTimeout(() => {\r\n this.ngZone.runOutsideAngular(() => {\r\n this.chart?.update();\r\n });\r\n });\r\n }\r\n\r\n public chartToBase64Image(): string | undefined {\r\n return this.chart?.toBase64Image();\r\n }\r\n\r\n private chartDataConfig(): ChartConfiguration<TType, TData, TLabel>['data'] {\r\n return {\r\n labels: this.data?.labels ?? [],\r\n datasets: this.data?.datasets ?? []\r\n };\r\n }\r\n\r\n private chartOptions(): ChartConfiguration<TType, TData, TLabel>['options'] {\r\n return this.options;\r\n }\r\n\r\n private chartConfig(): ChartConfiguration<TType, TData, TLabel> {\r\n this.chartCustomTooltips();\r\n return {\r\n data: this.chartDataConfig(),\r\n options: this.chartOptions(),\r\n plugins: this.plugins,\r\n type: this.type\r\n };\r\n }\r\n\r\n private chartCustomTooltips() {\r\n if (this.customTooltips) {\r\n const options = this.options;\r\n // @ts-ignore\r\n const plugins = this.options?.plugins;\r\n // @ts-ignore\r\n const tooltip = this.options?.plugins?.tooltip;\r\n this.options = merge({\r\n ...options,\r\n plugins: {\r\n ...plugins,\r\n tooltip: {\r\n ...tooltip,\r\n enabled: false,\r\n mode: 'index',\r\n position: 'nearest',\r\n external: cuiCustomTooltips\r\n }\r\n }\r\n });\r\n }\r\n };\r\n}\r\n","<canvas\r\n #canvasElement\r\n (click)=\"handleOnClick($event)\"\r\n [height]=\"height\"\r\n [id]=\"id\"\r\n [width]=\"width\"\r\n role=\"img\"\r\n style=\"display: none;\"\r\n>\r\n <ng-content></ng-content>\r\n</canvas>\r\n","import { NgModule } from '@angular/core';\r\nimport { ChartjsComponent } from './chartjs.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n ChartjsComponent\r\n ],\r\n exports: [\r\n ChartjsComponent\r\n ]\r\n})\r\nexport class ChartjsModule { }\r\n","/*\n * Public API Surface of coreui-angular-chartjs\n */\n\nexport * from './lib/chartjs.component';\nexport * from './lib/chartjs.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["cuiCustomTooltips"],"mappings":"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"}
|
|
@@ -161,9 +161,9 @@ class ChartjsComponent {
|
|
|
161
161
|
}
|
|
162
162
|
;
|
|
163
163
|
}
|
|
164
|
-
ChartjsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
165
|
-
ChartjsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.
|
|
166
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
164
|
+
ChartjsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ChartjsComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
165
|
+
ChartjsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ChartjsComponent, selector: "c-chart", inputs: { customTooltips: "customTooltips", data: "data", height: "height", id: "id", options: "options", plugins: "plugins", redraw: "redraw", type: "type", width: "width", wrapper: "wrapper" }, outputs: { getDatasetAtEvent: "getDatasetAtEvent", getElementAtEvent: "getElementAtEvent", getElementsAtEvent: "getElementsAtEvent" }, host: { properties: { "style.height.px": "this.height", "style.width.px": "this.width", "class": "this.hostClasses" } }, viewQueries: [{ propertyName: "canvasElement", first: true, predicate: ["canvasElement"], descendants: true }], exportAs: ["cChart"], usesOnChanges: true, ngImport: i0, template: "<canvas\r\n #canvasElement\r\n (click)=\"handleOnClick($event)\"\r\n [height]=\"height\"\r\n [id]=\"id\"\r\n [width]=\"width\"\r\n role=\"img\"\r\n style=\"display: none;\"\r\n>\r\n <ng-content></ng-content>\r\n</canvas>\r\n", styles: [":host.chart-wrapper{display:block}\n"] });
|
|
166
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ChartjsComponent, decorators: [{
|
|
167
167
|
type: Component,
|
|
168
168
|
args: [{ selector: 'c-chart', exportAs: 'cChart', template: "<canvas\r\n #canvasElement\r\n (click)=\"handleOnClick($event)\"\r\n [height]=\"height\"\r\n [id]=\"id\"\r\n [width]=\"width\"\r\n role=\"img\"\r\n style=\"display: none;\"\r\n>\r\n <ng-content></ng-content>\r\n</canvas>\r\n", styles: [":host.chart-wrapper{display:block}\n"] }]
|
|
169
169
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }]; }, propDecorators: { customTooltips: [{
|
|
@@ -208,10 +208,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImpor
|
|
|
208
208
|
|
|
209
209
|
class ChartjsModule {
|
|
210
210
|
}
|
|
211
|
-
ChartjsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
212
|
-
ChartjsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.
|
|
213
|
-
ChartjsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.
|
|
214
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
211
|
+
ChartjsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ChartjsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
212
|
+
ChartjsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ChartjsModule, declarations: [ChartjsComponent], exports: [ChartjsComponent] });
|
|
213
|
+
ChartjsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ChartjsModule });
|
|
214
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ChartjsModule, decorators: [{
|
|
215
215
|
type: NgModule,
|
|
216
216
|
args: [{
|
|
217
217
|
declarations: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coreui-angular-chartjs.mjs","sources":["../../../projects/coreui-angular-chartjs/src/lib/chartjs.component.ts","../../../projects/coreui-angular-chartjs/src/lib/chartjs.component.html","../../../projects/coreui-angular-chartjs/src/lib/chartjs.module.ts","../../../projects/coreui-angular-chartjs/src/public-api.ts","../../../projects/coreui-angular-chartjs/src/coreui-angular-chartjs.ts"],"sourcesContent":["import {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n NgZone,\r\n OnChanges,\r\n OnDestroy,\r\n Output,\r\n Renderer2,\r\n SimpleChanges,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty, coerceNumberProperty, NumberInput } from '@angular/cdk/coercion';\r\n\r\nimport { merge } from 'lodash';\r\n\r\nimport { Chart, ChartConfiguration, ChartType, DefaultDataPoint, registerables } from 'chart.js';\r\nimport { customTooltips as cuiCustomTooltips } from '@coreui/chartjs';\r\n\r\nChart.register(...registerables);\r\n\r\nlet nextId = 0;\r\n\r\n@Component({\r\n selector: 'c-chart',\r\n templateUrl: './chartjs.component.html',\r\n styleUrls: ['./chartjs.component.scss'],\r\n exportAs: 'cChart'\r\n})\r\nexport class ChartjsComponent<TType extends ChartType = ChartType, TData = DefaultDataPoint<TType>, TLabel = unknown> implements AfterViewInit, OnDestroy, OnChanges {\r\n\r\n static ngAcceptInputType_height: NumberInput;\r\n static ngAcceptInputType_width: NumberInput;\r\n static ngAcceptInputType_redraw: BooleanInput;\r\n\r\n @Input() customTooltips = true;\r\n @Input() data?: ChartConfiguration<TType, TData, TLabel>['data'];\r\n\r\n @HostBinding('style.height.px')\r\n @Input()\r\n set height(value: number | undefined) {\r\n this._height = coerceNumberProperty(value);\r\n }\r\n\r\n get height() {\r\n return this._height;\r\n }\r\n\r\n private _height: number | undefined;\r\n\r\n @Input() id = `c-chartjs-${nextId++}`;\r\n @Input() options?: ChartConfiguration<TType, TData, TLabel>['options'];\r\n @Input() plugins: ChartConfiguration<TType, TData, TLabel>['plugins'] = [];\r\n\r\n @Input()\r\n set redraw(value: boolean) {\r\n this._redraw = coerceBooleanProperty(value);\r\n }\r\n\r\n get redraw(): boolean {\r\n return this._redraw;\r\n }\r\n\r\n private _redraw = false;\r\n\r\n @Input() type: ChartConfiguration<TType, TData, TLabel>['type'] = 'bar' as TType;\r\n\r\n @HostBinding('style.width.px')\r\n @Input()\r\n set width(value: number | undefined) {\r\n this._width = coerceNumberProperty(value);\r\n }\r\n\r\n get width() {\r\n return this._width;\r\n }\r\n\r\n private _width: number | undefined;\r\n\r\n @Input() wrapper = true;\r\n\r\n @Output() getDatasetAtEvent = new EventEmitter<any>();\r\n @Output() getElementAtEvent = new EventEmitter<any>();\r\n @Output() getElementsAtEvent = new EventEmitter<any>();\r\n\r\n @ViewChild('canvasElement') canvasElement!: ElementRef;\r\n\r\n chart!: Chart<TType, TData, TLabel>;\r\n\r\n @HostBinding('class')\r\n get hostClasses() {\r\n return {\r\n 'chart-wrapper': this.wrapper\r\n };\r\n }\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n private ngZone: NgZone,\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n ngAfterViewInit(): void {\r\n this.chartRender();\r\n // this.chartUpdate();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['data'] && !changes['data'].firstChange) {\r\n this.chartUpdate();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.chartDestroy();\r\n }\r\n\r\n public handleOnClick($event: MouseEvent) {\r\n if (!this.chart) return;\r\n\r\n const datasetAtEvent = this.chart.getElementsAtEventForMode($event, 'dataset', { intersect: true }, false);\r\n this.getDatasetAtEvent.emit(datasetAtEvent);\r\n\r\n const elementAtEvent = this.chart.getElementsAtEventForMode($event, 'nearest', { intersect: true }, false);\r\n this.getElementAtEvent.emit(elementAtEvent);\r\n\r\n const elementsAtEvent = this.chart.getElementsAtEventForMode($event, 'index', { intersect: true }, false);\r\n this.getElementsAtEvent.emit(elementsAtEvent);\r\n }\r\n\r\n public chartDestroy() {\r\n this.chart?.destroy();\r\n }\r\n\r\n public chartRender() {\r\n if (!this.canvasElement) return;\r\n\r\n const ctx: CanvasRenderingContext2D = this.canvasElement.nativeElement.getContext('2d');\r\n\r\n this.ngZone.runOutsideAngular(() => {\r\n const config = this.chartConfig();\r\n if (config) {\r\n this.chart = new Chart(ctx, config);\r\n setTimeout(() => {\r\n this.renderer.setStyle(this.canvasElement.nativeElement, 'display', 'block');\r\n });\r\n }\r\n });\r\n }\r\n\r\n chartUpdate() {\r\n if (!this.chart) return;\r\n\r\n if (this.redraw) {\r\n this.chartDestroy();\r\n setTimeout(() => {\r\n this.chartRender();\r\n });\r\n return;\r\n }\r\n\r\n const config = this.chartConfig();\r\n\r\n if (this.options) {\r\n Object.assign(this.chart.options, config.options);\r\n }\r\n\r\n if (!this.chart.config.data) {\r\n this.chart.config.data = { ...config.data };\r\n this.chartUpdateOutsideAngular();\r\n }\r\n\r\n if (this.chart) {\r\n Object.assign(this.chart.config.options, config.options);\r\n Object.assign(this.chart.config.plugins, config.plugins);\r\n Object.assign(this.chart.config.data, config.data);\r\n }\r\n\r\n this.chartUpdateOutsideAngular();\r\n }\r\n\r\n private chartUpdateOutsideAngular() {\r\n setTimeout(() => {\r\n this.ngZone.runOutsideAngular(() => {\r\n this.chart?.update();\r\n });\r\n });\r\n }\r\n\r\n public chartToBase64Image(): string | undefined {\r\n return this.chart?.toBase64Image();\r\n }\r\n\r\n private chartDataConfig(): ChartConfiguration<TType, TData, TLabel>['data'] {\r\n return {\r\n labels: this.data?.labels ?? [],\r\n datasets: this.data?.datasets ?? []\r\n };\r\n }\r\n\r\n private chartOptions(): ChartConfiguration<TType, TData, TLabel>['options'] {\r\n return this.options;\r\n }\r\n\r\n private chartConfig(): ChartConfiguration<TType, TData, TLabel> {\r\n this.chartCustomTooltips();\r\n return {\r\n data: this.chartDataConfig(),\r\n options: this.chartOptions(),\r\n plugins: this.plugins,\r\n type: this.type\r\n };\r\n }\r\n\r\n private chartCustomTooltips() {\r\n if (this.customTooltips) {\r\n const options = this.options;\r\n // @ts-ignore\r\n const plugins = this.options?.plugins;\r\n // @ts-ignore\r\n const tooltip = this.options?.plugins?.tooltip;\r\n this.options = merge({\r\n ...options,\r\n plugins: {\r\n ...plugins,\r\n tooltip: {\r\n ...tooltip,\r\n enabled: false,\r\n mode: 'index',\r\n position: 'nearest',\r\n external: cuiCustomTooltips\r\n }\r\n }\r\n });\r\n }\r\n };\r\n}\r\n","<canvas\r\n #canvasElement\r\n (click)=\"handleOnClick($event)\"\r\n [height]=\"height\"\r\n [id]=\"id\"\r\n [width]=\"width\"\r\n role=\"img\"\r\n style=\"display: none;\"\r\n>\r\n <ng-content></ng-content>\r\n</canvas>\r\n","import { NgModule } from '@angular/core';\r\nimport { ChartjsComponent } from './chartjs.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n ChartjsComponent\r\n ],\r\n exports: [\r\n ChartjsComponent\r\n ]\r\n})\r\nexport class ChartjsModule { }\r\n","/*\n * Public API Surface of coreui-angular-chartjs\n */\n\nexport * from './lib/chartjs.component';\nexport * from './lib/chartjs.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["cuiCustomTooltips"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"coreui-angular-chartjs.mjs","sources":["../../../projects/coreui-angular-chartjs/src/lib/chartjs.component.ts","../../../projects/coreui-angular-chartjs/src/lib/chartjs.component.html","../../../projects/coreui-angular-chartjs/src/lib/chartjs.module.ts","../../../projects/coreui-angular-chartjs/src/public-api.ts","../../../projects/coreui-angular-chartjs/src/coreui-angular-chartjs.ts"],"sourcesContent":["import {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n NgZone,\r\n OnChanges,\r\n OnDestroy,\r\n Output,\r\n Renderer2,\r\n SimpleChanges,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty, coerceNumberProperty, NumberInput } from '@angular/cdk/coercion';\r\n\r\nimport { merge } from 'lodash';\r\n\r\nimport { Chart, ChartConfiguration, ChartType, DefaultDataPoint, registerables } from 'chart.js';\r\nimport { customTooltips as cuiCustomTooltips } from '@coreui/chartjs';\r\n\r\nChart.register(...registerables);\r\n\r\nlet nextId = 0;\r\n\r\n@Component({\r\n selector: 'c-chart',\r\n templateUrl: './chartjs.component.html',\r\n styleUrls: ['./chartjs.component.scss'],\r\n exportAs: 'cChart'\r\n})\r\nexport class ChartjsComponent<TType extends ChartType = ChartType, TData = DefaultDataPoint<TType>, TLabel = unknown> implements AfterViewInit, OnDestroy, OnChanges {\r\n\r\n static ngAcceptInputType_height: NumberInput;\r\n static ngAcceptInputType_width: NumberInput;\r\n static ngAcceptInputType_redraw: BooleanInput;\r\n\r\n @Input() customTooltips = true;\r\n @Input() data?: ChartConfiguration<TType, TData, TLabel>['data'];\r\n\r\n @HostBinding('style.height.px')\r\n @Input()\r\n set height(value: number | undefined) {\r\n this._height = coerceNumberProperty(value);\r\n }\r\n\r\n get height() {\r\n return this._height;\r\n }\r\n\r\n private _height: number | undefined;\r\n\r\n @Input() id = `c-chartjs-${nextId++}`;\r\n @Input() options?: ChartConfiguration<TType, TData, TLabel>['options'];\r\n @Input() plugins: ChartConfiguration<TType, TData, TLabel>['plugins'] = [];\r\n\r\n @Input()\r\n set redraw(value: boolean) {\r\n this._redraw = coerceBooleanProperty(value);\r\n }\r\n\r\n get redraw(): boolean {\r\n return this._redraw;\r\n }\r\n\r\n private _redraw = false;\r\n\r\n @Input() type: ChartConfiguration<TType, TData, TLabel>['type'] = 'bar' as TType;\r\n\r\n @HostBinding('style.width.px')\r\n @Input()\r\n set width(value: number | undefined) {\r\n this._width = coerceNumberProperty(value);\r\n }\r\n\r\n get width() {\r\n return this._width;\r\n }\r\n\r\n private _width: number | undefined;\r\n\r\n @Input() wrapper = true;\r\n\r\n @Output() getDatasetAtEvent = new EventEmitter<any>();\r\n @Output() getElementAtEvent = new EventEmitter<any>();\r\n @Output() getElementsAtEvent = new EventEmitter<any>();\r\n\r\n @ViewChild('canvasElement') canvasElement!: ElementRef;\r\n\r\n chart!: Chart<TType, TData, TLabel>;\r\n\r\n @HostBinding('class')\r\n get hostClasses() {\r\n return {\r\n 'chart-wrapper': this.wrapper\r\n };\r\n }\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n private ngZone: NgZone,\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n ngAfterViewInit(): void {\r\n this.chartRender();\r\n // this.chartUpdate();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['data'] && !changes['data'].firstChange) {\r\n this.chartUpdate();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.chartDestroy();\r\n }\r\n\r\n public handleOnClick($event: MouseEvent) {\r\n if (!this.chart) return;\r\n\r\n const datasetAtEvent = this.chart.getElementsAtEventForMode($event, 'dataset', { intersect: true }, false);\r\n this.getDatasetAtEvent.emit(datasetAtEvent);\r\n\r\n const elementAtEvent = this.chart.getElementsAtEventForMode($event, 'nearest', { intersect: true }, false);\r\n this.getElementAtEvent.emit(elementAtEvent);\r\n\r\n const elementsAtEvent = this.chart.getElementsAtEventForMode($event, 'index', { intersect: true }, false);\r\n this.getElementsAtEvent.emit(elementsAtEvent);\r\n }\r\n\r\n public chartDestroy() {\r\n this.chart?.destroy();\r\n }\r\n\r\n public chartRender() {\r\n if (!this.canvasElement) return;\r\n\r\n const ctx: CanvasRenderingContext2D = this.canvasElement.nativeElement.getContext('2d');\r\n\r\n this.ngZone.runOutsideAngular(() => {\r\n const config = this.chartConfig();\r\n if (config) {\r\n this.chart = new Chart(ctx, config);\r\n setTimeout(() => {\r\n this.renderer.setStyle(this.canvasElement.nativeElement, 'display', 'block');\r\n });\r\n }\r\n });\r\n }\r\n\r\n chartUpdate() {\r\n if (!this.chart) return;\r\n\r\n if (this.redraw) {\r\n this.chartDestroy();\r\n setTimeout(() => {\r\n this.chartRender();\r\n });\r\n return;\r\n }\r\n\r\n const config = this.chartConfig();\r\n\r\n if (this.options) {\r\n Object.assign(this.chart.options, config.options);\r\n }\r\n\r\n if (!this.chart.config.data) {\r\n this.chart.config.data = { ...config.data };\r\n this.chartUpdateOutsideAngular();\r\n }\r\n\r\n if (this.chart) {\r\n Object.assign(this.chart.config.options, config.options);\r\n Object.assign(this.chart.config.plugins, config.plugins);\r\n Object.assign(this.chart.config.data, config.data);\r\n }\r\n\r\n this.chartUpdateOutsideAngular();\r\n }\r\n\r\n private chartUpdateOutsideAngular() {\r\n setTimeout(() => {\r\n this.ngZone.runOutsideAngular(() => {\r\n this.chart?.update();\r\n });\r\n });\r\n }\r\n\r\n public chartToBase64Image(): string | undefined {\r\n return this.chart?.toBase64Image();\r\n }\r\n\r\n private chartDataConfig(): ChartConfiguration<TType, TData, TLabel>['data'] {\r\n return {\r\n labels: this.data?.labels ?? [],\r\n datasets: this.data?.datasets ?? []\r\n };\r\n }\r\n\r\n private chartOptions(): ChartConfiguration<TType, TData, TLabel>['options'] {\r\n return this.options;\r\n }\r\n\r\n private chartConfig(): ChartConfiguration<TType, TData, TLabel> {\r\n this.chartCustomTooltips();\r\n return {\r\n data: this.chartDataConfig(),\r\n options: this.chartOptions(),\r\n plugins: this.plugins,\r\n type: this.type\r\n };\r\n }\r\n\r\n private chartCustomTooltips() {\r\n if (this.customTooltips) {\r\n const options = this.options;\r\n // @ts-ignore\r\n const plugins = this.options?.plugins;\r\n // @ts-ignore\r\n const tooltip = this.options?.plugins?.tooltip;\r\n this.options = merge({\r\n ...options,\r\n plugins: {\r\n ...plugins,\r\n tooltip: {\r\n ...tooltip,\r\n enabled: false,\r\n mode: 'index',\r\n position: 'nearest',\r\n external: cuiCustomTooltips\r\n }\r\n }\r\n });\r\n }\r\n };\r\n}\r\n","<canvas\r\n #canvasElement\r\n (click)=\"handleOnClick($event)\"\r\n [height]=\"height\"\r\n [id]=\"id\"\r\n [width]=\"width\"\r\n role=\"img\"\r\n style=\"display: none;\"\r\n>\r\n <ng-content></ng-content>\r\n</canvas>\r\n","import { NgModule } from '@angular/core';\r\nimport { ChartjsComponent } from './chartjs.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n ChartjsComponent\r\n ],\r\n exports: [\r\n ChartjsComponent\r\n ]\r\n})\r\nexport class ChartjsModule { }\r\n","/*\n * Public API Surface of coreui-angular-chartjs\n */\n\nexport * from './lib/chartjs.component';\nexport * from './lib/chartjs.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["cuiCustomTooltips"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coreui/angular-chartjs",
|
|
3
3
|
"description": "Angular wrapper component for Chart.js",
|
|
4
|
-
"version": "2.0.
|
|
4
|
+
"version": "2.0.2",
|
|
5
5
|
"homepage": "https://coreui.io/angular/docs/",
|
|
6
6
|
"bugs": {
|
|
7
7
|
"url": "https://github.com/coreui/coreui-angular/issues"
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
"license": "MIT",
|
|
14
14
|
"author": "The CoreUI Team (https://github.com/orgs/coreui/people)",
|
|
15
15
|
"peerDependencies": {
|
|
16
|
-
"@angular/cdk": "^13.0.0",
|
|
17
|
-
"@angular/common": "^13.0.0",
|
|
18
|
-
"@angular/core": "^13.0.0",
|
|
16
|
+
"@angular/cdk": "^13.0.0 || ^14.0.0",
|
|
17
|
+
"@angular/common": "^13.0.0 || ^14.0.0",
|
|
18
|
+
"@angular/core": "^13.0.0 || ^14.0.0",
|
|
19
19
|
"@coreui/chartjs": "^3.0.0",
|
|
20
20
|
"chart.js": "^3.7.1"
|
|
21
21
|
},
|