UNPKG

@alauda-fe/common

Version:

Alauda frontend team common codes.

127 lines 13.8 kB
import { __decorate, __metadata } from "tslib"; import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, } from '@angular/core'; import { Observable, Subject, combineLatest, filter, takeUntil } from 'rxjs'; import { ObservableInput } from '../../../core/public-api'; import { ContextChartService } from '../../chart.service'; import * as i0 from "@angular/core"; import * as i1 from "../../chart.service"; import * as i2 from "@angular/common"; const _c0 = ["aclYPlotLines", ""]; function YPlotLinesComponent__svg_circle_2_Template(rf, ctx) { if (rf & 1) { i0.ɵɵnamespaceSVG(); i0.ɵɵelement(0, "circle"); } if (rf & 2) { const point_r1 = ctx.$implicit; i0.ɵɵattribute("r", 2.5)("stroke", point_r1.color)("stroke-width", 1)("fill", point_r1.color)("cx", point_r1.cx)("cy", point_r1.cy < 0 ? 0 : point_r1.cy || 0)("visibility", point_r1.visibility); } } export class YPlotLinesComponent { get dasharray() { return this.dashType === 'dash' ? [3, 2] : [0, 0]; } get view() { return this.context.chartView; } constructor(context, cdr) { this.context = context; this.cdr = cdr; this.dashType = 'dash'; this.hide = false; this.path = ''; this.circleValue = []; this.destroy$$ = new Subject(); } ngOnInit() { combineLatest([this.value$, this.context.seriesData$]) .pipe(filter(([value]) => !!value && !!value.length), takeUntil(this.destroy$$)) .subscribe(() => { const x = this.context.x(this.value[0].x); if (x && this.view.height) { this.path = `M${x},0 L${x} ${this.view.height}`; this.circleValue = this.value.map(item => ({ color: item.color, cx: this.context.x(item.x), cy: this.context.y(item.y), visibility: this.context.disabledLegend.has(item.name) ? 'hidden' : '', name: item.name, })); } this.cdr.detectChanges(); }); this.context.legendChange$$ .pipe(takeUntil(this.destroy$$)) .subscribe(() => { this.circleValue = this.circleValue.map(item => ({ ...item, visibility: this.context.disabledLegend.has(item.name) ? 'hidden' : '', })); this.cdr.detectChanges(); }); } ngOnDestroy() { this.destroy$$.next(); this.destroy$$.complete(); } static { this.ɵfac = function YPlotLinesComponent_Factory(t) { return new (t || YPlotLinesComponent)(i0.ɵɵdirectiveInject(i1.ContextChartService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); }; } static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: YPlotLinesComponent, selectors: [["g", "aclYPlotLines", ""]], inputs: { value: "value", color: "color", dashType: "dashType", width: "width", hide: "hide" }, attrs: _c0, decls: 3, vars: 6, consts: [["fill", "none"], [4, "ngFor", "ngForOf"]], template: function YPlotLinesComponent_Template(rf, ctx) { if (rf & 1) { i0.ɵɵnamespaceSVG(); i0.ɵɵelementStart(0, "g"); i0.ɵɵelement(1, "path", 0); i0.ɵɵtemplate(2, YPlotLinesComponent__svg_circle_2_Template, 1, 7, "circle", 1); i0.ɵɵelementEnd(); } if (rf & 2) { i0.ɵɵattribute("visibility", ctx.hide ? "hidden" : ""); i0.ɵɵadvance(); i0.ɵɵattribute("d", ctx.path)("stroke-width", ctx.width || 1)("stroke", ctx.color || "#ccc")("stroke-dasharray", ctx.dasharray); i0.ɵɵadvance(); i0.ɵɵproperty("ngForOf", ctx.circleValue); } }, dependencies: [i2.NgForOf], encapsulation: 2, changeDetection: 0 }); } } __decorate([ ObservableInput(), __metadata("design:type", Observable) ], YPlotLinesComponent.prototype, "value$", void 0); (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(YPlotLinesComponent, [{ type: Component, args: [{ // eslint-disable-next-line @angular-eslint/component-selector selector: 'g[aclYPlotLines]', template: ` <svg:g [attr.visibility]="hide ? 'hidden' : ''"> <path [attr.d]="path" fill="none" [attr.stroke-width]="width || 1" [attr.stroke]="color || '#ccc'" [attr.stroke-dasharray]="dasharray" /> <circle *ngFor="let point of circleValue" [attr.r]="2.5" [attr.stroke]="point.color" [attr.stroke-width]="1" [attr.fill]="point.color" [attr.cx]="point.cx" [attr.cy]="point.cy < 0 ? 0 : point.cy || 0" [attr.visibility]="point.visibility" ></circle> </svg:g> `, changeDetection: ChangeDetectionStrategy.OnPush, }] }], () => [{ type: i1.ContextChartService }, { type: i0.ChangeDetectorRef }], { value: [{ type: Input }], value$: [], color: [{ type: Input }], dashType: [{ type: Input }], width: [{ type: Input }], hide: [{ type: Input }] }); })(); (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(YPlotLinesComponent, { className: "YPlotLinesComponent" }); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieS1wbG90LWxpbmVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jaGFydC9jb21tb24vYXhpcy95LXBsb3QtbGluZXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTdFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7OztJQWdCcEQseUJBU1U7Ozs7O0FBS2hCLE1BQU0sT0FBTyxtQkFBbUI7SUF1QjlCLElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztJQUNoQyxDQUFDO0lBSUQsWUFDa0IsT0FBNEIsRUFDM0IsR0FBc0I7UUFEdkIsWUFBTyxHQUFQLE9BQU8sQ0FBcUI7UUFDM0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUE1QmhDLGFBQVEsR0FBcUIsTUFBTSxDQUFDO1FBSXBDLFNBQUksR0FBRyxLQUFLLENBQUM7UUFFdEIsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUVWLGdCQUFXLEdBTU4sRUFBRSxDQUFDO1FBVVMsY0FBUyxHQUFHLElBQUksT0FB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O2dCQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEO29GQUVVLEtBQUs7a0JBQWIsS0FBSztZQUVOLE1BQU0sTUFFRyxLQUFLO2tCQUFiLEtBQUs7WUFFRyxRQUFRO2tCQUFoQixLQUFLO1lBRUcsS0FBSztrQkFBYixLQUFLO1lBRUcsSUFBSTtrQkFBWixLQUFLOztrRkFYSyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE9ic2VydmFibGVJbnB1dCB9IGZyb20gJy4uLy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBDb250ZXh0Q2hhcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY2hhcnQuc2VydmljZSc7XG5pbXBvcnQgeyBUaWNrVmFsdWUgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBDb250ZXh0SXRlbSB9IGZyb20gJy4uL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdnW2FjbFlQbG90TGluZXNdJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8c3ZnOmcgW2F0dHIudmlzaWJpbGl0eV09XCJoaWRlID8gJ2hpZGRlbicgOiAnJ1wiPlxuICAgICAgPHBhdGhcbiAgICAgICAgW2F0dHIuZF09XCJwYXRoXCJcbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBbYXR0ci5zdHJva2Utd2lkdGhdPVwid2lkdGggfHwgMVwiXG4gICAgICAgIFthdHRyLnN0cm9rZV09XCJjb2xvciB8fCAnI2NjYydcIlxuICAgICAgICBbYXR0ci5zdHJva2UtZGFzaGFycmF5XT1cImRhc2hhcnJheVwiXG4gICAgICAvPlxuICAgICAgPGNpcmNsZVxuICAgICAgICAqbmdGb3I9XCJsZXQgcG9pbnQgb2YgY2lyY2xlVmFsdWVcIlxuICAgICAgICBbYXR0ci5yXT1cIjIuNVwiXG4gICAgICAgIFthdHRyLnN0cm9rZV09XCJwb2ludC5jb2xvclwiXG4gICAgICAgIFthdHRyLnN0cm9rZS13aWR0aF09XCIxXCJcbiAgICAgICAgW2F0dHIuZmlsbF09XCJwb2ludC5jb2xvclwiXG4gICAgICAgIFthdHRyLmN4XT1cInBvaW50LmN4XCJcbiAgICAgICAgW2F0dHIuY3ldPVwicG9pbnQuY3kgPCAwID8gMCA6IHBvaW50LmN5IHx8IDBcIlxuICAgICAgICBbYXR0ci52aXNpYmlsaXR5XT1cInBvaW50LnZpc2liaWxpdHlcIlxuICAgICAgPjwvY2lyY2xlPlxuICAgIDwvc3ZnOmc+XG4gIGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBZUGxvdExpbmVzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSB2YWx1ZTogQ29udGV4dEl0ZW1bXTtcbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIHZhbHVlJCE6IE9ic2VydmFibGU8Q29udGV4dEl0ZW1bXT47XG5cbiAgQElucHV0KCkgY29sb3I6IHN0cmluZztcblxuICBASW5wdXQoKSBkYXNoVHlwZTogJ3NvbGlkJyB8ICdkYXNoJyA9ICdkYXNoJztcblxuICBASW5wdXQoKSB3aWR0aDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpIGhpZGUgPSBmYWxzZTtcblxuICBwYXRoID0gJyc7XG5cbiAgY2lyY2xlVmFsdWU6IEFycmF5PHtcbiAgICBjb2xvcjogc3RyaW5nO1xuICAgIGN4OiBudW1iZXI7XG4gICAgY3k6IG51bWJlcjtcbiAgICB2aXNpYmlsaXR5OiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICB9PiA9IFtdO1xuXG4gIGdldCBkYXNoYXJyYXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGFzaFR5cGUgPT09ICdkYXNoJyA/IFszLCAyXSA6IFswLCAwXTtcbiAgfVxuXG4gIGdldCB2aWV3KCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQuY2hhcnRWaWV3O1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBjb250ZXh0OiBDb250ZXh0Q2hhcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMudmFsdWUkLCB0aGlzLmNvbnRleHQuc2VyaWVzRGF0YSRdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoW3ZhbHVlXSkgPT4gISF2YWx1ZSAmJiAhIXZhbHVlLmxlbmd0aCksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkJCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgY29uc3QgeCA9IHRoaXMuY29udGV4dC54KHRoaXMudmFsdWVbMF0ueCBhcyBUaWNrVmFsdWUpO1xuICAgICAgICBpZiAoeCAmJiB0aGlzLnZpZXcuaGVpZ2h0KSB7XG4gICAgICAgICAgdGhpcy5wYXRoID0gYE0ke3h9LDAgTCR7eH0gJHt0aGlzLnZpZXcuaGVpZ2h0fWA7XG4gICAgICAgICAgdGhpcy5jaXJjbGVWYWx1ZSA9IHRoaXMudmFsdWUubWFwKGl0ZW0gPT4gKHtcbiAgICAgICAgICAgIGNvbG9yOiBpdGVtLmNvbG9yLFxuICAgICAgICAgICAgY3g6IHRoaXMuY29udGV4dC54KGl0ZW0ueCBhcyBUaWNrVmFsdWUpLFxuICAgICAgICAgICAgY3k6IHRoaXMuY29udGV4dC55KGl0ZW0ueSksXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB0aGlzLmNvbnRleHQuZGlzYWJsZWRMZWdlbmQuaGFzKGl0ZW0ubmFtZSlcbiAgICAgICAgICAgICAgPyAnaGlkZGVuJ1xuICAgICAgICAgICAgICA6ICcnLFxuICAgICAgICAgICAgbmFtZTogaXRlbS5uYW1lLFxuICAgICAgICAgIH0pKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuY29udGV4dC5sZWdlbmRDaGFuZ2UkJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmNpcmNsZVZhbHVlID0gdGhpcy5jaXJjbGVWYWx1ZS5tYXAoaXRlbSA9PiAoe1xuICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgdmlzaWJpbGl0eTogdGhpcy5jb250ZXh0LmRpc2FibGVkTGVnZW5kLmhhcyhpdGVtLm5hbWUpXG4gICAgICAgICAgICA/ICdoaWRkZW4nXG4gICAgICAgICAgICA6ICcnLFxuICAgICAgICB9KSk7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==