UNPKG

@xui/charts

Version:

xUI Charts for Angular

51 lines 6.26 kB
import { ApplicationRef, Injectable, signal } from '@angular/core'; import { connect } from 'echarts'; import * as i0 from "@angular/core"; export class AnalysisService { get charts() { return this._charts; } constructor(appRef) { this.appRef = appRef; this._eCharts = []; this._isDragging = signal(false); this._charts = []; } getChart(index) { return this._charts?.[index]?.asReadonly(); } addChart(position, trends) { this._charts.splice(position, 0, signal(trends)); } addTrend(chartPos, trend) { const chart = this._charts[chartPos]; chart.update(x => [...x, trend]); } removeTrend(chartPos, trendPos) { this._charts[chartPos].update(x => chart.splice(trendPos, 1)); const chart = this._charts[chartPos](); if (!chart.length) { this._charts.splice(chartPos, 1); } } get isDragging() { return this._isDragging.asReadonly(); } dragStarted() { this._isDragging.set(true); this.appRef.tick(); // Not able to D'n'D metric unless ticked } dragEnded() { this._isDragging.set(false); } connectChart(chart) { this._eCharts.push(chart); connect(this._eCharts); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: AnalysisService, deps: [{ token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: AnalysisService }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: AnalysisService, decorators: [{ type: Injectable }], ctorParameters: () => [{ type: i0.ApplicationRef }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHlzaXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY2hhcnRzL3NyYy9hbmFseXNpcy9hbmFseXNpcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFVLE1BQU0sRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFFM0YsT0FBTyxFQUFFLE9BQU8sRUFBVyxNQUFNLFNBQVMsQ0FBQzs7QUFXM0MsTUFBTSxPQUFPLGVBQWU7SUFLMUIsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxZQUFvQixNQUFzQjtRQUF0QixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQVJsQyxhQUFRLEdBQWMsRUFBRSxDQUFDO1FBQ3pCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLFlBQU8sR0FBNEIsRUFBRSxDQUFDO0lBTUQsQ0FBQztJQUU5QyxRQUFRLENBQUMsS0FBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRUQsUUFBUSxDQUFDLFFBQWdCLEVBQUUsTUFBYTtRQUN0QyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxRQUFRLENBQUMsUUFBZ0IsRUFBRSxLQUFZO1FBQ3JDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsV0FBVyxDQUFDLFFBQWdCLEVBQUUsUUFBZ0I7UUFDNUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUV2QyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyx5Q0FBeUM7SUFDL0QsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6QixDQUFDOzhHQWpEVSxlQUFlO2tIQUFmLGVBQWU7OzJGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWNhdGlvblJlZiwgSW5qZWN0YWJsZSwgU2lnbmFsLCBzaWduYWwsIFdyaXRhYmxlU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFbnRpdHksIE1ldHJpYyB9IGZyb20gJy4vYW5hbHlzaXMudHlwZXMnO1xuaW1wb3J0IHsgY29ubmVjdCwgRUNoYXJ0cyB9IGZyb20gJ2VjaGFydHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRyZW5kIHtcbiAgbWV0cmljOiBNZXRyaWM7XG4gIGVudGl0eTogRW50aXR5O1xuICAvLyBUT0RPOiBwb2xsZWQgZGF0YSwgZXRjLlxufVxuXG5leHBvcnQgdHlwZSBDaGFydCA9IFRyZW5kW107XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBbmFseXNpc1NlcnZpY2Uge1xuICBwcml2YXRlIF9lQ2hhcnRzOiBFQ2hhcnRzW10gPSBbXTtcbiAgcHJpdmF0ZSBfaXNEcmFnZ2luZyA9IHNpZ25hbChmYWxzZSk7XG4gIHByaXZhdGUgX2NoYXJ0czogV3JpdGFibGVTaWduYWw8Q2hhcnQ+W10gPSBbXTtcblxuICBnZXQgY2hhcnRzKCkge1xuICAgIHJldHVybiB0aGlzLl9jaGFydHM7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwcFJlZjogQXBwbGljYXRpb25SZWYpIHt9XG5cbiAgZ2V0Q2hhcnQoaW5kZXg6IG51bWJlcik6IFNpZ25hbDxDaGFydD4ge1xuICAgIHJldHVybiB0aGlzLl9jaGFydHM/LltpbmRleF0/LmFzUmVhZG9ubHkoKTtcbiAgfVxuXG4gIGFkZENoYXJ0KHBvc2l0aW9uOiBudW1iZXIsIHRyZW5kczogQ2hhcnQpIHtcbiAgICB0aGlzLl9jaGFydHMuc3BsaWNlKHBvc2l0aW9uLCAwLCBzaWduYWwodHJlbmRzKSk7XG4gIH1cblxuICBhZGRUcmVuZChjaGFydFBvczogbnVtYmVyLCB0cmVuZDogVHJlbmQpIHtcbiAgICBjb25zdCBjaGFydCA9IHRoaXMuX2NoYXJ0c1tjaGFydFBvc107XG4gICAgY2hhcnQudXBkYXRlKHggPT4gWy4uLngsIHRyZW5kXSk7XG4gIH1cblxuICByZW1vdmVUcmVuZChjaGFydFBvczogbnVtYmVyLCB0cmVuZFBvczogbnVtYmVyKSB7XG4gICAgdGhpcy5fY2hhcnRzW2NoYXJ0UG9zXS51cGRhdGUoeCA9PiBjaGFydC5zcGxpY2UodHJlbmRQb3MsIDEpKTtcbiAgICBjb25zdCBjaGFydCA9IHRoaXMuX2NoYXJ0c1tjaGFydFBvc10oKTtcblxuICAgIGlmICghY2hhcnQubGVuZ3RoKSB7XG4gICAgICB0aGlzLl9jaGFydHMuc3BsaWNlKGNoYXJ0UG9zLCAxKTtcbiAgICB9XG4gIH1cblxuICBnZXQgaXNEcmFnZ2luZygpIHtcbiAgICByZXR1cm4gdGhpcy5faXNEcmFnZ2luZy5hc1JlYWRvbmx5KCk7XG4gIH1cblxuICBkcmFnU3RhcnRlZCgpIHtcbiAgICB0aGlzLl9pc0RyYWdnaW5nLnNldCh0cnVlKTtcbiAgICB0aGlzLmFwcFJlZi50aWNrKCk7IC8vIE5vdCBhYmxlIHRvIEQnbidEIG1ldHJpYyB1bmxlc3MgdGlja2VkXG4gIH1cblxuICBkcmFnRW5kZWQoKSB7XG4gICAgdGhpcy5faXNEcmFnZ2luZy5zZXQoZmFsc2UpO1xuICB9XG5cbiAgY29ubmVjdENoYXJ0KGNoYXJ0OiBFQ2hhcnRzKSB7XG4gICAgdGhpcy5fZUNoYXJ0cy5wdXNoKGNoYXJ0KTtcbiAgICBjb25uZWN0KHRoaXMuX2VDaGFydHMpO1xuICB9XG59XG4iXX0=