@alauda-fe/common
Version:
Alauda frontend team common codes.
89 lines • 10.5 kB
JavaScript
import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
import { Orientation } from '../../types';
import { ChartSeriesComponent } from './series.component';
import * as i0 from "@angular/core";
const _c0 = ["aclBarSeries", ""];
function ChartBarSeriesComponent__svg_g_1_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵnamespaceSVG();
i0.ɵɵelement(0, "g", 2);
i0.ɵɵpipe(1, "pure");
} if (rf & 2) {
const item_r1 = ctx.$implicit;
const ctx_r1 = i0.ɵɵnextContext();
i0.ɵɵproperty("data", item_r1.values)("groupName", item_r1.name)("type", ctx_r1.type)("bandWidth", ctx_r1.bandWidth);
i0.ɵɵattribute("transform", i0.ɵɵpipeBind3(1, 5, item_r1.name, ctx_r1.transform, item_r1 == null ? null : item_r1.values == null ? null : item_r1.values.length));
} }
export class ChartBarSeriesComponent extends ChartSeriesComponent {
constructor() {
super(...arguments);
this.orientation = Orientation.VERTICAL;
this.type = 'standard';
this.seriesType = 'bar';
this.bandWidth = 15;
this.transform = (name, length) => {
const offset = this.context.x(name);
const width = this.bandWidth / 2;
const barPosition = this.context.x.bandwidth() * 0.5 - width;
const bandwidth = this.type === 'stacked' ? barPosition : barPosition / length - width;
return `translate(${this.context.horizontal ? 0 : offset + bandwidth}, ${this.context.horizontal ? offset + bandwidth : 0})`;
};
}
ngOnInit() {
this.context.barOptions.isBand = true;
this.context.barOptions.orientation = this.orientation;
this.context.barOptions.type = this.type;
super.ngOnInit();
}
getData(seriesData) {
return seriesData?.flatMap(d => d.values)?.every(item => item.y === 0)
? seriesData.map(item => ({
...item,
values: item.values.map(d => ({ ...d, y: null })),
}))
: seriesData;
}
static { this.ɵfac = /*@__PURE__*/ (() => { let ɵChartBarSeriesComponent_BaseFactory; return function ChartBarSeriesComponent_Factory(t) { return (ɵChartBarSeriesComponent_BaseFactory || (ɵChartBarSeriesComponent_BaseFactory = i0.ɵɵgetInheritedFactory(ChartBarSeriesComponent)))(t || ChartBarSeriesComponent); }; })(); }
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ChartBarSeriesComponent, selectors: [["g", "aclBarSeries", ""]], inputs: { orientation: "orientation", type: "type", seriesType: "seriesType", bandWidth: "bandWidth", adaptiveBandWidth: "adaptiveBandWidth" }, features: [i0.ɵɵInheritDefinitionFeature], attrs: _c0, decls: 3, vars: 4, consts: [[1, "acl-bar-series"], ["aclBarPath", "", 3, "data", "groupName", "type", "bandWidth", 4, "ngFor", "ngForOf"], ["aclBarPath", "", 3, "data", "groupName", "type", "bandWidth"]], template: function ChartBarSeriesComponent_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵnamespaceSVG();
i0.ɵɵelementStart(0, "g", 0);
i0.ɵɵtemplate(1, ChartBarSeriesComponent__svg_g_1_Template, 2, 9, "g", 1);
i0.ɵɵpipe(2, "pure");
i0.ɵɵelementEnd();
} if (rf & 2) {
i0.ɵɵadvance();
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind2(2, 1, ctx.seriesData, ctx.getData));
} }, encapsulation: 2, changeDetection: 0 }); }
}
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ChartBarSeriesComponent, [{
type: Component,
args: [{
// eslint-disable-next-line @angular-eslint/component-selector
selector: 'g[aclBarSeries]',
template: `
<svg:g class="acl-bar-series">
<svg:g
*ngFor="let item of seriesData | pure: getData"
aclBarPath
[data]="$any(item.values)"
[groupName]="item.name"
[type]="type"
[bandWidth]="bandWidth"
[attr.transform]="item.name | pure: transform:item?.values?.length"
></svg:g>
</svg:g>
`,
changeDetection: ChangeDetectionStrategy.OnPush,
}]
}], null, { orientation: [{
type: Input
}], type: [{
type: Input
}], seriesType: [{
type: Input
}], bandWidth: [{
type: Input
}], adaptiveBandWidth: [{
type: Input
}] }); })();
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ChartBarSeriesComponent, { className: "ChartBarSeriesComponent" }); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyLXNlcmllcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY2hhcnQvY29tbW9uL3Nlcmllcy9iYXItc2VyaWVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFdBQVcsRUFBYyxNQUFNLGFBQWEsQ0FBQztBQUV0RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7SUFPcEQsdUJBUVM7Ozs7O0lBRlAsQUFEQSxBQURBLEFBREEscUNBQTBCLDJCQUNILHFCQUNWLCtCQUNVOzs7QUFPL0IsTUFBTSxPQUFPLHVCQUNYLFNBQVEsb0JBQW9CO0lBbkI5Qjs7UUFzQlcsZ0JBQVcsR0FBeUIsV0FBVyxDQUFDLFFBQVEsQ0FBQztRQUVoRCxTQUFJLEdBQTJCLFVBQVUsQ0FBQztRQUUxQyxlQUFVLEdBQTRCLEtBQUssQ0FBQztRQUVyRCxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBV3hCLGNBQVMsR0FBRyxDQUFDLElBQVksRUFBRSxNQUFjLEVBQUUsRUFBRTtZQUMzQyxNQUFNLE1BQU0sR0FBdUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7WUFDakMsTUFBTSxXQUFXLEdBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUF3QixDQUFDLFNBQVMsRUFBRSxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUM7WUFDbkUsTUFBTSxTQUFTLEdBQ2IsSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxHQUFHLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDdkUsT0FBTyxhQUFhLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxTQUFTLEtBQ2xFLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUNqRCxHQUFHLENBQUM7UUFDTixDQUFDLENBQUM7S0FVSDtJQTNCVSxRQUFRO1FBQ2YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUN0QyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUN2RCxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN6QyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQWNELE9BQU8sQ0FBQyxVQUF3QjtRQUM5QixPQUFPLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUN0QixHQUFHLElBQUk7Z0JBQ1AsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2FBQ2xELENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxVQUFVLENBQUM7SUFDakIsQ0FBQztnUUF4Q1UsdUJBQXVCLFNBQXZCLHVCQUF1QjtvRUFBdkIsdUJBQXVCOztZQWRoQyw0QkFBOEI7WUFDNUIseUVBUUM7O1lBQ0gsaUJBQVE7O1lBUmEsY0FBNkI7WUFBN0IsMkVBQTZCOzs7aUZBWXpDLHVCQUF1QjtjQWxCbkMsU0FBUztlQUFDO2dCQUNULDhEQUE4RDtnQkFDOUQsUUFBUSxFQUFFLGlCQUFpQjtnQkFDM0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7R0FZVDtnQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRDtnQkFLVSxXQUFXO2tCQUFuQixLQUFLO1lBRVksSUFBSTtrQkFBckIsS0FBSztZQUVZLFVBQVU7a0JBQTNCLEtBQUs7WUFFRyxTQUFTO2tCQUFqQixLQUFLO1lBRUcsaUJBQWlCO2tCQUF6QixLQUFLOztrRkFaSyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNjYWxlQmFuZCwgU2NhbGVQb2ludCB9IGZyb20gJ2QzJztcblxuaW1wb3J0IHsgT3JpZW50YXRpb24sIFNlcmllc0RhdGEgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmltcG9ydCB7IENoYXJ0U2VyaWVzQ29tcG9uZW50IH0gZnJvbSAnLi9zZXJpZXMuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnZ1thY2xCYXJTZXJpZXNdJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8c3ZnOmcgY2xhc3M9XCJhY2wtYmFyLXNlcmllc1wiPlxuICAgICAgPHN2ZzpnXG4gICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIHNlcmllc0RhdGEgfCBwdXJlOiBnZXREYXRhXCJcbiAgICAgICAgYWNsQmFyUGF0aFxuICAgICAgICBbZGF0YV09XCIkYW55KGl0ZW0udmFsdWVzKVwiXG4gICAgICAgIFtncm91cE5hbWVdPVwiaXRlbS5uYW1lXCJcbiAgICAgICAgW3R5cGVdPVwidHlwZVwiXG4gICAgICAgIFtiYW5kV2lkdGhdPVwiYmFuZFdpZHRoXCJcbiAgICAgICAgW2F0dHIudHJhbnNmb3JtXT1cIml0ZW0ubmFtZSB8IHB1cmU6IHRyYW5zZm9ybTppdGVtPy52YWx1ZXM/Lmxlbmd0aFwiXG4gICAgICA+PC9zdmc6Zz5cbiAgICA8L3N2ZzpnPlxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ2hhcnRCYXJTZXJpZXNDb21wb25lbnRcbiAgZXh0ZW5kcyBDaGFydFNlcmllc0NvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdFxue1xuICBASW5wdXQoKSBvcmllbnRhdGlvbjogT3JpZW50YXRpb24gfCBzdHJpbmcgPSBPcmllbnRhdGlvbi5WRVJUSUNBTDtcblxuICBASW5wdXQoKSBvdmVycmlkZSB0eXBlOiAnc3RhbmRhcmQnIHwgJ3N0YWNrZWQnID0gJ3N0YW5kYXJkJztcblxuICBASW5wdXQoKSBvdmVycmlkZSBzZXJpZXNUeXBlOiAnbGluZScgfCAnYXJlYScgfCAnYmFyJyA9ICdiYXInO1xuXG4gIEBJbnB1dCgpIGJhbmRXaWR0aCA9IDE1O1xuXG4gIEBJbnB1dCgpIGFkYXB0aXZlQmFuZFdpZHRoOiBib29sZWFuO1xuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY29udGV4dC5iYXJPcHRpb25zLmlzQmFuZCA9IHRydWU7XG4gICAgdGhpcy5jb250ZXh0LmJhck9wdGlvbnMub3JpZW50YXRpb24gPSB0aGlzLm9yaWVudGF0aW9uO1xuICAgIHRoaXMuY29udGV4dC5iYXJPcHRpb25zLnR5cGUgPSB0aGlzLnR5cGU7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgfVxuXG4gIHRyYW5zZm9ybSA9IChuYW1lOiBzdHJpbmcsIGxlbmd0aDogbnVtYmVyKSA9PiB7XG4gICAgY29uc3Qgb2Zmc2V0ID0gKDxTY2FsZUJhbmQ8c3RyaW5nPj50aGlzLmNvbnRleHQueCkobmFtZSk7XG4gICAgY29uc3Qgd2lkdGggPSB0aGlzLmJhbmRXaWR0aCAvIDI7XG4gICAgY29uc3QgYmFyUG9zaXRpb24gPVxuICAgICAgKHRoaXMuY29udGV4dC54IGFzIFNjYWxlUG9pbnQ8c3RyaW5nPikuYmFuZHdpZHRoKCkgKiAwLjUgLSB3aWR0aDtcbiAgICBjb25zdCBiYW5kd2lkdGggPVxuICAgICAgdGhpcy50eXBlID09PSAnc3RhY2tlZCcgPyBiYXJQb3NpdGlvbiA6IGJhclBvc2l0aW9uIC8gbGVuZ3RoIC0gd2lkdGg7XG4gICAgcmV0dXJuIGB0cmFuc2xhdGUoJHt0aGlzLmNvbnRleHQuaG9yaXpvbnRhbCA/IDAgOiBvZmZzZXQgKyBiYW5kd2lkdGh9LCAke1xuICAgICAgdGhpcy5jb250ZXh0Lmhvcml6b250YWwgPyBvZmZzZXQgKyBiYW5kd2lkdGggOiAwXG4gICAgfSlgO1xuICB9O1xuXG4gIGdldERhdGEoc2VyaWVzRGF0YTogU2VyaWVzRGF0YVtdKSB7XG4gICAgcmV0dXJuIHNlcmllc0RhdGE/LmZsYXRNYXAoZCA9PiBkLnZhbHVlcyk/LmV2ZXJ5KGl0ZW0gPT4gaXRlbS55ID09PSAwKVxuICAgICAgPyBzZXJpZXNEYXRhLm1hcChpdGVtID0+ICh7XG4gICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICB2YWx1ZXM6IGl0ZW0udmFsdWVzLm1hcChkID0+ICh7IC4uLmQsIHk6IG51bGwgfSkpLFxuICAgICAgICB9KSlcbiAgICAgIDogc2VyaWVzRGF0YTtcbiAgfVxufVxuIl19