UNPKG

@alauda-fe/common

Version:

Alauda frontend team common codes.

110 lines 11 kB
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, } from '@angular/core'; import { Subject, map, takeUntil } from 'rxjs'; import { ContextChartService } from '../../chart.service'; import { DATE_TIME_FORMAT_X_AXIS } from '../../constants'; import { Orientation } from '../../types'; import { ScaleType } from '../../utils'; import * as i0 from "@angular/core"; import * as i1 from "../../chart.service"; const _c0 = ["aclXAxis", ""]; function XAxisComponent__svg_g_2_Template(rf, ctx) { if (rf & 1) { i0.ɵɵnamespaceSVG(); i0.ɵɵelement(0, "g", 2); } if (rf & 2) { const ctx_r0 = i0.ɵɵnextContext(); i0.ɵɵproperty("label", ctx_r0.title)("offsetX", ctx_r0.labelOffsetX)("offsetY", ctx_r0.labelOffsetY)("align", ctx_r0.align)("height", ctx_r0.view.height)("width", ctx_r0.view.width)("rotation", ctx_r0.rotation); } } export class XAxisComponent { get view() { return this.context.chartView; } constructor(context, cdr) { this.context = context; this.cdr = cdr; this.align = 'middle'; this.labelOffsetX = 0; this.labelOffsetY = 0; this.axisLabelFormats = DATE_TIME_FORMAT_X_AXIS; this.destroy$$ = new Subject(); } ngOnInit() { this.context.showXLabel = !!this.title; if (this.scaleType) { this.context.scaleType = this.scaleType; } this.context.update$$ .pipe(map(() => `translate(0,${this.context.barOptions.orientation === Orientation.VERTICAL ? this.context.chartView.height : 0})`), takeUntil(this.destroy$$)) .subscribe(res => { this.transform = res; this.cdr.detectChanges(); }); } ngOnDestroy() { this.destroy$$.next(); this.destroy$$.complete(); } static { this.ɵfac = function XAxisComponent_Factory(t) { return new (t || XAxisComponent)(i0.ɵɵdirectiveInject(i1.ContextChartService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); }; } static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: XAxisComponent, selectors: [["g", "aclXAxis", ""]], inputs: { title: "title", tickCount: "tickCount", align: "align", labelOffsetX: "labelOffsetX", labelOffsetY: "labelOffsetY", dateTimeLabelFormats: "dateTimeLabelFormats", rotation: "rotation", scaleType: "scaleType", translation: "translation" }, attrs: _c0, decls: 3, vars: 4, consts: [["aclXAxisTicks", "", 3, "dateFormat", "translation"], ["aclAxisLabel", "", 3, "label", "offsetX", "offsetY", "align", "height", "width", "rotation", 4, "ngIf"], ["aclAxisLabel", "", 3, "label", "offsetX", "offsetY", "align", "height", "width", "rotation"]], template: function XAxisComponent_Template(rf, ctx) { if (rf & 1) { i0.ɵɵnamespaceSVG(); i0.ɵɵelementStart(0, "g"); i0.ɵɵelement(1, "g", 0); i0.ɵɵtemplate(2, XAxisComponent__svg_g_2_Template, 1, 7, "g", 1); i0.ɵɵelementEnd(); } if (rf & 2) { i0.ɵɵattribute("transform", ctx.transform); i0.ɵɵadvance(); i0.ɵɵproperty("dateFormat", ctx.dateTimeLabelFormats || ctx.axisLabelFormats)("translation", ctx.translation); i0.ɵɵadvance(); i0.ɵɵproperty("ngIf", ctx.title); } }, encapsulation: 2, changeDetection: 0 }); } } (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(XAxisComponent, [{ type: Component, args: [{ // eslint-disable-next-line @angular-eslint/component-selector selector: 'g[aclXAxis]', template: ` <svg:g [attr.transform]="transform"> <svg:g aclXAxisTicks [dateFormat]="dateTimeLabelFormats || axisLabelFormats" [translation]="translation" /> <svg:g aclAxisLabel *ngIf="title" [label]="title" [offsetX]="labelOffsetX" [offsetY]="labelOffsetY" [align]="align" [height]="view.height" [width]="view.width" [rotation]="rotation" ></svg:g> </svg:g> `, changeDetection: ChangeDetectionStrategy.OnPush, }] }], () => [{ type: i1.ContextChartService }, { type: i0.ChangeDetectorRef }], { title: [{ type: Input }], tickCount: [{ type: Input }], align: [{ type: Input }], labelOffsetX: [{ type: Input }], labelOffsetY: [{ type: Input }], dateTimeLabelFormats: [{ type: Input }], rotation: [{ type: Input }], scaleType: [{ type: Input }], translation: [{ type: Input }] }); })(); (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(XAxisComponent, { className: "XAxisComponent" }); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieC1heGlzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jaGFydC9jb21tb24vYXhpcy94LWF4aXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxLQUFLLEdBR04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7O0lBWWxDLHVCQVVTOzs7SUFEUCxBQURBLEFBREEsQUFEQSxBQURBLEFBREEsQUFEQSxvQ0FBZSxnQ0FDUyxnQ0FDQSx1QkFDVCw4QkFDTyw0QkFDRiw2QkFDQzs7QUFNN0IsTUFBTSxPQUFPLGNBQWM7SUFxQnpCLElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7SUFDaEMsQ0FBQztJQU1ELFlBQ21CLE9BQTRCLEVBQzVCLEdBQXNCO1FBRHRCLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBQzVCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBMUJoQyxVQUFLLEdBQThCLFFBQVEsQ0FBQztRQUU1QyxpQkFBWSxHQUFHLENBQUMsQ0FBQztRQUVqQixpQkFBWSxHQUFHLENBQUMsQ0FBQztRQVUxQixxQkFBZ0IsR0FBRyx1QkFBdUIsQ0FBQztRQVExQixjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUs5QyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3ZDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDMUMsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUTthQUNsQixJQUFJLENBQ0gsR0FBRyxDQUNELEdBQUcsRUFBRSxDQUNILGVBQ0UsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsV0FBVyxLQUFLLFdBQVcsQ0FBQyxRQUFRO1lBQzFELENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNO1lBQy9CLENBQUMsQ0FBQyxDQUNOLEdBQUcsQ0FDTixFQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzFCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2YsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUM7WUFDckIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7K0VBNURVLGNBQWM7b0VBQWQsY0FBYzs7WUFyQnZCLHlCQUFvQztZQUNsQyx1QkFJRTtZQUNGLGdFQVVDO1lBQ0gsaUJBQVE7OztZQWRKLGNBQXVEO1lBQ3ZELEFBREEsNkVBQXVELGdDQUM1QjtZQUkxQixjQUFXO1lBQVgsZ0NBQVc7OztpRkFhUCxjQUFjO2NBekIxQixTQUFTO2VBQUM7Z0JBQ1QsOERBQThEO2dCQUM5RCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJUO2dCQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEO29GQUVVLEtBQUs7a0JBQWIsS0FBSztZQUVHLFNBQVM7a0JBQWpCLEtBQUs7WUFFRyxLQUFLO2tCQUFiLEtBQUs7WUFFRyxZQUFZO2tCQUFwQixLQUFLO1lBRUcsWUFBWTtrQkFBcEIsS0FBSztZQUVHLG9CQUFvQjtrQkFBNUIsS0FBSztZQUVHLFFBQVE7a0JBQWhCLEtBQUs7WUFFRyxTQUFTO2tCQUFqQixLQUFLO1lBRUcsV0FBVztrQkFBbkIsS0FBSzs7a0ZBakJLLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QsIG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IENvbnRleHRDaGFydFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jaGFydC5zZXJ2aWNlJztcbmltcG9ydCB7IERBVEVfVElNRV9GT1JNQVRfWF9BWElTIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IE9yaWVudGF0aW9uIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgU2NhbGVUeXBlIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdnW2FjbFhBeGlzXScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPHN2ZzpnIFthdHRyLnRyYW5zZm9ybV09XCJ0cmFuc2Zvcm1cIj5cbiAgICAgIDxzdmc6Z1xuICAgICAgICBhY2xYQXhpc1RpY2tzXG4gICAgICAgIFtkYXRlRm9ybWF0XT1cImRhdGVUaW1lTGFiZWxGb3JtYXRzIHx8IGF4aXNMYWJlbEZvcm1hdHNcIlxuICAgICAgICBbdHJhbnNsYXRpb25dPVwidHJhbnNsYXRpb25cIlxuICAgICAgLz5cbiAgICAgIDxzdmc6Z1xuICAgICAgICBhY2xBeGlzTGFiZWxcbiAgICAgICAgKm5nSWY9XCJ0aXRsZVwiXG4gICAgICAgIFtsYWJlbF09XCJ0aXRsZVwiXG4gICAgICAgIFtvZmZzZXRYXT1cImxhYmVsT2Zmc2V0WFwiXG4gICAgICAgIFtvZmZzZXRZXT1cImxhYmVsT2Zmc2V0WVwiXG4gICAgICAgIFthbGlnbl09XCJhbGlnblwiXG4gICAgICAgIFtoZWlnaHRdPVwidmlldy5oZWlnaHRcIlxuICAgICAgICBbd2lkdGhdPVwidmlldy53aWR0aFwiXG4gICAgICAgIFtyb3RhdGlvbl09XCJyb3RhdGlvblwiXG4gICAgICA+PC9zdmc6Zz5cbiAgICA8L3N2ZzpnPlxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgWEF4aXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgdGlja0NvdW50OiBudW1iZXI7XG5cbiAgQElucHV0KCkgYWxpZ246ICdsb3cnIHwgJ21pZGRsZScgfCAnaGlnaCcgPSAnbWlkZGxlJztcblxuICBASW5wdXQoKSBsYWJlbE9mZnNldFggPSAwO1xuXG4gIEBJbnB1dCgpIGxhYmVsT2Zmc2V0WSA9IDA7XG5cbiAgQElucHV0KCkgZGF0ZVRpbWVMYWJlbEZvcm1hdHM6IHN0cmluZztcblxuICBASW5wdXQoKSByb3RhdGlvbjogbnVtYmVyO1xuXG4gIEBJbnB1dCgpIHNjYWxlVHlwZTogU2NhbGVUeXBlO1xuXG4gIEBJbnB1dCgpIHRyYW5zbGF0aW9uOiBib29sZWFuO1xuXG4gIGF4aXNMYWJlbEZvcm1hdHMgPSBEQVRFX1RJTUVfRk9STUFUX1hfQVhJUztcblxuICBnZXQgdmlldygpIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0LmNoYXJ0VmlldztcbiAgfVxuXG4gIHRyYW5zZm9ybTogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRleHQ6IENvbnRleHRDaGFydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jb250ZXh0LnNob3dYTGFiZWwgPSAhIXRoaXMudGl0bGU7XG4gICAgaWYgKHRoaXMuc2NhbGVUeXBlKSB7XG4gICAgICB0aGlzLmNvbnRleHQuc2NhbGVUeXBlID0gdGhpcy5zY2FsZVR5cGU7XG4gICAgfVxuICAgIHRoaXMuY29udGV4dC51cGRhdGUkJFxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChcbiAgICAgICAgICAoKSA9PlxuICAgICAgICAgICAgYHRyYW5zbGF0ZSgwLCR7XG4gICAgICAgICAgICAgIHRoaXMuY29udGV4dC5iYXJPcHRpb25zLm9yaWVudGF0aW9uID09PSBPcmllbnRhdGlvbi5WRVJUSUNBTFxuICAgICAgICAgICAgICAgID8gdGhpcy5jb250ZXh0LmNoYXJ0Vmlldy5oZWlnaHRcbiAgICAgICAgICAgICAgICA6IDBcbiAgICAgICAgICAgIH0pYCxcbiAgICAgICAgKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgdGhpcy50cmFuc2Zvcm0gPSByZXM7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==