@alauda-fe/common
Version:
Alauda frontend team common codes.
102 lines • 9.41 kB
JavaScript
import { __decorate, __metadata } from "tslib";
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, } from '@angular/core';
import { Observable, Subject, merge, 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 = ["aclXPlotLines", ""];
function XPlotLinesComponent__svg_g_0_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵnamespaceSVG();
i0.ɵɵelementStart(0, "g")(1, "text", 1);
i0.ɵɵtext(2);
i0.ɵɵelementEnd();
i0.ɵɵelement(3, "path", 2);
i0.ɵɵelementEnd();
} if (rf & 2) {
const ctx_r0 = i0.ɵɵnextContext();
i0.ɵɵadvance();
i0.ɵɵattribute("y", ctx_r0.y)("fill", ctx_r0.color || "#FF0000");
i0.ɵɵadvance();
i0.ɵɵtextInterpolate1(" ", ctx_r0.value, " ");
i0.ɵɵadvance();
i0.ɵɵattribute("d", ctx_r0.path)("stroke-width", ctx_r0.width || 1)("stroke", ctx_r0.color || "#FF0000")("stroke-dasharray", ctx_r0.dasharray);
} }
export class XPlotLinesComponent {
get dasharray() {
return this.dashType === 'dash' ? [4, 2] : [0, 0];
}
get view() {
return this.context.chartView;
}
constructor(context, cdr) {
this.context = context;
this.cdr = cdr;
this.dashType = 'solid';
this.y = 0;
this.destroy$$ = new Subject();
}
ngOnInit() {
merge([this.value$, this.context.seriesData$])
.pipe(takeUntil(this.destroy$$))
.subscribe(() => {
this.y = this.context.y(this.value);
this.path = `M0 ${this.y}L${this.view.width} ${this.y}`;
this.cdr.detectChanges();
});
}
ngOnDestroy() {
this.destroy$$.next();
this.destroy$$.complete();
}
static { this.ɵfac = function XPlotLinesComponent_Factory(t) { return new (t || XPlotLinesComponent)(i0.ɵɵdirectiveInject(i1.ContextChartService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); }; }
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: XPlotLinesComponent, selectors: [["g", "aclXPlotLines", ""]], inputs: { value: "value", color: "color", dashType: "dashType", width: "width" }, attrs: _c0, decls: 1, vars: 1, consts: [[4, "ngIf"], ["x", "-8", "text-anchor", "end", "font-size", "11", "alignment-baseline", "middle"], ["fill", "none"]], template: function XPlotLinesComponent_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵtemplate(0, XPlotLinesComponent__svg_g_0_Template, 4, 7, "g", 0);
} if (rf & 2) {
i0.ɵɵproperty("ngIf", !!ctx.path);
} }, dependencies: [i2.NgIf], encapsulation: 2, changeDetection: 0 }); }
}
__decorate([
ObservableInput(),
__metadata("design:type", Observable)
], XPlotLinesComponent.prototype, "value$", void 0);
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(XPlotLinesComponent, [{
type: Component,
args: [{
// eslint-disable-next-line @angular-eslint/component-selector
selector: 'g[aclXPlotLines]',
template: `
<svg:g *ngIf="!!path">
<text
x="-8"
[attr.y]="y"
[attr.fill]="color || '#FF0000'"
text-anchor="end"
font-size="11"
alignment-baseline="middle"
>
{{ value }}
</text>
<path
[attr.d]="path"
fill="none"
[attr.stroke-width]="width || 1"
[attr.stroke]="color || '#FF0000'"
[attr.stroke-dasharray]="dasharray"
/>
</svg:g>
`,
changeDetection: ChangeDetectionStrategy.OnPush,
}]
}], () => [{ type: i1.ContextChartService }, { type: i0.ChangeDetectorRef }], { value: [{
type: Input
}], value$: [], color: [{
type: Input
}], dashType: [{
type: Input
}], width: [{
type: Input
}] }); })();
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(XPlotLinesComponent, { className: "XPlotLinesComponent" }); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieC1wbG90LWxpbmVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jaGFydC9jb21tb24vYXhpcy94LXBsb3QtbGluZXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7O0lBT3BELEFBREYseUJBQXNCLGNBUW5CO0lBQ0MsWUFDRjtJQUFBLGlCQUFPO0lBQ1AsMEJBTUU7SUFDSixpQkFBUTs7O0lBZkosY0FBWTs7SUFNWixjQUNGO0lBREUsNkNBQ0Y7SUFFRSxjQUFlOzs7QUFVdkIsTUFBTSxPQUFPLG1CQUFtQjtJQWU5QixJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7SUFDaEMsQ0FBQztJQUlELFlBQ21CLE9BQTRCLEVBQzVCLEdBQXNCO1FBRHRCLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBQzVCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBcEJoQyxhQUFRLEdBQXFCLE9BQU8sQ0FBQztRQU05QyxNQUFDLEdBQUcsQ0FBQyxDQUFDO1FBVVcsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFLOUMsQ0FBQztJQUVKLFFBQVE7UUFDTixLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDM0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDL0IsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN4RCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQztvRkEzQ1UsbUJBQW1CO29FQUFuQixtQkFBbUI7WUF0QjVCLHFFQUFzQjs7WUFBZCxpQ0FBWTs7O0FBeUJ0QjtJQURDLGVBQWUsRUFBRTs4QkFDVCxVQUFVO21EQUFTO2lGQUhqQixtQkFBbUI7Y0ExQi9CLFNBQVM7ZUFBQztnQkFDVCw4REFBOEQ7Z0JBQzlELFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQlQ7Z0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDaEQ7b0ZBRVUsS0FBSztrQkFBYixLQUFLO1lBRU4sTUFBTSxNQUVHLEtBQUs7a0JBQWIsS0FBSztZQUVHLFFBQVE7a0JBQWhCLEtBQUs7WUFFRyxLQUFLO2tCQUFiLEtBQUs7O2tGQVRLLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgbWVyZ2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlSW5wdXQgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgQ29udGV4dENoYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL2NoYXJ0LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdnW2FjbFhQbG90TGluZXNdJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8c3ZnOmcgKm5nSWY9XCIhIXBhdGhcIj5cbiAgICAgIDx0ZXh0XG4gICAgICAgIHg9XCItOFwiXG4gICAgICAgIFthdHRyLnldPVwieVwiXG4gICAgICAgIFthdHRyLmZpbGxdPVwiY29sb3IgfHwgJyNGRjAwMDAnXCJcbiAgICAgICAgdGV4dC1hbmNob3I9XCJlbmRcIlxuICAgICAgICBmb250LXNpemU9XCIxMVwiXG4gICAgICAgIGFsaWdubWVudC1iYXNlbGluZT1cIm1pZGRsZVwiXG4gICAgICA+XG4gICAgICAgIHt7IHZhbHVlIH19XG4gICAgICA8L3RleHQ+XG4gICAgICA8cGF0aFxuICAgICAgICBbYXR0ci5kXT1cInBhdGhcIlxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIFthdHRyLnN0cm9rZS13aWR0aF09XCJ3aWR0aCB8fCAxXCJcbiAgICAgICAgW2F0dHIuc3Ryb2tlXT1cImNvbG9yIHx8ICcjRkYwMDAwJ1wiXG4gICAgICAgIFthdHRyLnN0cm9rZS1kYXNoYXJyYXldPVwiZGFzaGFycmF5XCJcbiAgICAgIC8+XG4gICAgPC9zdmc6Zz5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFhQbG90TGluZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHZhbHVlOiBudW1iZXI7XG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICB2YWx1ZSQhOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbiAgQElucHV0KCkgY29sb3I6IHN0cmluZztcblxuICBASW5wdXQoKSBkYXNoVHlwZTogJ3NvbGlkJyB8ICdkYXNoJyA9ICdzb2xpZCc7XG5cbiAgQElucHV0KCkgd2lkdGg6IG51bWJlcjtcblxuICBwYXRoOiBzdHJpbmc7XG5cbiAgeSA9IDA7XG5cbiAgZ2V0IGRhc2hhcnJheSgpIHtcbiAgICByZXR1cm4gdGhpcy5kYXNoVHlwZSA9PT0gJ2Rhc2gnID8gWzQsIDJdIDogWzAsIDBdO1xuICB9XG5cbiAgZ2V0IHZpZXcoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5jaGFydFZpZXc7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250ZXh0OiBDb250ZXh0Q2hhcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIG1lcmdlKFt0aGlzLnZhbHVlJCwgdGhpcy5jb250ZXh0LnNlcmllc0RhdGEkXSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkJCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy55ID0gdGhpcy5jb250ZXh0LnkodGhpcy52YWx1ZSk7XG4gICAgICAgIHRoaXMucGF0aCA9IGBNMCAke3RoaXMueX1MJHt0aGlzLnZpZXcud2lkdGh9ICR7dGhpcy55fWA7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==