@alauda-fe/common
Version:
Alauda frontend team common codes.
103 lines • 13.6 kB
JavaScript
import { IconModule } from '@alauda/ui';
import { NgClass, NgIf } from '@angular/common';
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
import { DefaultStatusColorMapper, DefaultStatusIconMapper, GenericStatusColor, GenericStatusIcon, } from '../../core/constants/status-icons';
import { PurePipe } from '../../public-api';
import { TranslateModule } from '../../translate/translate.module';
import * as i0 from "@angular/core";
import * as i1 from "@alauda/ui";
import * as i2 from "../../translate/translate.pipe";
const _c0 = ["*"];
const _c1 = a0 => ({ pending: a0 });
const _c2 = a0 => ({ disabled: a0 });
function StatusIconComponent_ng_container_0_aui_icon_1_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelement(0, "aui-icon", 3);
i0.ɵɵpipe(1, "pure");
i0.ɵɵpipe(2, "pure");
i0.ɵɵpipe(3, "pure");
} if (rf & 2) {
const icon_r1 = ctx.ngIf;
const ctx_r1 = i0.ɵɵnextContext(2);
i0.ɵɵstyleProp("font-size", ctx_r1.iconSize);
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(18, _c1, i0.ɵɵpipeBind3(1, 7, ctx_r1.status, ctx_r1.isPending, ctx_r1.iconMapper)))("color", i0.ɵɵpipeBind3(2, 11, ctx_r1.status, ctx_r1.getStatusColor, ctx_r1.colorMapper))("icon", icon_r1)("size", ctx_r1.iconSize)("background", i0.ɵɵpipeBind2(3, 15, icon_r1, ctx_r1.backgroundShape));
} }
function StatusIconComponent_ng_container_0_span_3_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementStart(0, "span", 4);
i0.ɵɵpipe(1, "translate");
i0.ɵɵtext(2);
i0.ɵɵpipe(3, "translate");
i0.ɵɵelementEnd();
} if (rf & 2) {
const ctx_r1 = i0.ɵɵnextContext(2);
i0.ɵɵproperty("title", i0.ɵɵpipeBind1(1, 3, ctx_r1.status.toLowerCase()))("ngClass", i0.ɵɵpureFunction1(7, _c2, ctx_r1.disabled));
i0.ɵɵadvance(2);
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 5, ctx_r1.status.toLowerCase()));
} }
function StatusIconComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementContainerStart(0);
i0.ɵɵtemplate(1, StatusIconComponent_ng_container_0_aui_icon_1_Template, 4, 20, "aui-icon", 1);
i0.ɵɵpipe(2, "pure");
i0.ɵɵtemplate(3, StatusIconComponent_ng_container_0_span_3_Template, 4, 9, "span", 2);
i0.ɵɵprojection(4);
i0.ɵɵelementContainerEnd();
} if (rf & 2) {
const ctx_r1 = i0.ɵɵnextContext();
i0.ɵɵadvance();
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind3(2, 2, ctx_r1.status, ctx_r1.getStatusIcon, ctx_r1.iconMapper));
i0.ɵɵadvance(2);
i0.ɵɵproperty("ngIf", ctx_r1.withText);
} }
export class StatusIconComponent {
constructor() {
this.withText = true;
this.iconSize = '16px';
}
isPending(status, iconMapper) {
const icon = iconMapper
? { ...DefaultStatusIconMapper, ...iconMapper }[status]
: DefaultStatusIconMapper[status];
return icon === GenericStatusIcon.Pending;
}
getStatusColor(status, colorMapper) {
return colorMapper
? { ...DefaultStatusColorMapper, ...colorMapper }[status]
: DefaultStatusColorMapper[status] || GenericStatusColor.Empty;
}
getStatusIcon(status, iconMapper) {
return iconMapper
? { ...DefaultStatusIconMapper, ...iconMapper }[status]
: DefaultStatusIconMapper[status] || GenericStatusIcon.Question;
}
backgroundShape(icon) {
return icon?.endsWith('_circle_s')
? 'circle'
: icon?.endsWith('_triangle_s')
? 'triangle'
: null;
}
static { this.ɵfac = function StatusIconComponent_Factory(t) { return new (t || StatusIconComponent)(); }; }
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: StatusIconComponent, selectors: [["acl-status-icon"]], inputs: { status: "status", withText: "withText", colorMapper: "colorMapper", iconMapper: "iconMapper", disabled: "disabled", iconSize: "iconSize" }, standalone: true, features: [i0.ɵɵStandaloneFeature], ngContentSelectors: _c0, decls: 1, vars: 1, consts: [[4, "ngIf"], [3, "ngClass", "fontSize", "color", "icon", "size", "background", 4, "ngIf"], [3, "title", "ngClass", 4, "ngIf"], [3, "ngClass", "color", "icon", "size", "background"], [3, "title", "ngClass"]], template: function StatusIconComponent_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵprojectionDef();
i0.ɵɵtemplate(0, StatusIconComponent_ng_container_0_Template, 5, 6, "ng-container", 0);
} if (rf & 2) {
i0.ɵɵproperty("ngIf", ctx.status);
} }, dependencies: [IconModule, i1.IconComponent, NgClass, PurePipe, NgIf, TranslateModule, i2.TranslatePipe], styles: ["@keyframes _ngcontent-%COMP%_spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes _ngcontent-%COMP%_spin-with-pause{0%{transform:rotate(0)}20%{transform:rotate(180deg)}to{transform:rotate(180deg)}}[_nghost-%COMP%]{font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal);color:rgb(var(--aui-color-main-text))}[_nghost-%COMP%] aui-icon[_ngcontent-%COMP%]{margin-right:4px}[_nghost-%COMP%] aui-icon.pending[_ngcontent-%COMP%]{display:inline-block;color:rgb(var(--aui-color-primary));animation:_ngcontent-%COMP%_spin 2s infinite linear}[_nghost-%COMP%] span.disabled[_ngcontent-%COMP%]{color:rgb(var(--aui-color-disabled-text))}"], changeDetection: 0 }); }
}
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(StatusIconComponent, [{
type: Component,
args: [{ selector: 'acl-status-icon', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [IconModule, NgClass, PurePipe, NgIf, TranslateModule], template: "<ng-container *ngIf=\"status\">\n <aui-icon\n *ngIf=\"status | pure: getStatusIcon:iconMapper as icon\"\n [ngClass]=\"{ pending: status | pure: isPending:iconMapper }\"\n [style.fontSize]=\"iconSize\"\n [color]=\"status | pure: getStatusColor:colorMapper\"\n [icon]=\"icon\"\n [size]=\"iconSize\"\n [background]=\"icon | pure: backgroundShape\"\n >\n </aui-icon>\n <span\n *ngIf=\"withText\"\n [title]=\"status.toLowerCase() | translate\"\n [ngClass]=\"{ disabled: disabled }\"\n >{{ status.toLowerCase() | translate }}</span\n >\n <ng-content></ng-content>\n</ng-container>\n", styles: ["@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin-with-pause{0%{transform:rotate(0)}20%{transform:rotate(180deg)}to{transform:rotate(180deg)}}:host{font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal);color:rgb(var(--aui-color-main-text))}:host aui-icon{margin-right:4px}:host aui-icon.pending{display:inline-block;color:rgb(var(--aui-color-primary));animation:spin 2s infinite linear}:host span.disabled{color:rgb(var(--aui-color-disabled-text))}\n"] }]
}], null, { status: [{
type: Input
}], withText: [{
type: Input
}], colorMapper: [{
type: Input
}], iconMapper: [{
type: Input
}], disabled: [{
type: Input
}], iconSize: [{
type: Input
}] }); })();
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(StatusIconComponent, { className: "StatusIconComponent" }); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLWljb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3dpZGdldC9zdGF0dXMtaWNvbi9zdGF0dXMtaWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvd2lkZ2V0L3N0YXR1cy1pY29uL3N0YXR1cy1pY29uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDeEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLHVCQUF1QixFQUN2QixrQkFBa0IsRUFDbEIsaUJBQWlCLEdBQ2xCLE1BQU0sbUNBQW1DLENBQUM7QUFFM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7SUNYakUsOEJBU1c7Ozs7Ozs7SUFOVCw0Q0FBMkI7SUFJM0IsQUFEQSxBQURBLEFBREEsQUFGQSwrSEFBNEQsMEZBRVQsaUJBQ3RDLHlCQUNJLHNFQUMwQjs7O0lBRzdDLCtCQUlHOztJQUFBLFlBQXNDOztJQUFBLGlCQUN4Qzs7O0lBRkMsQUFEQSx5RUFBMEMsd0RBQ1I7SUFDakMsZUFBc0M7SUFBdEMsdUVBQXNDOzs7SUFmM0MsNkJBQTZCO0lBQzNCLDhGQVFDOztJQUVELHFGQUlHO0lBRUgsa0JBQXlCOzs7O0lBZnRCLGNBQThDO0lBQTlDLG1HQUE4QztJQVU5QyxlQUFjO0lBQWQsc0NBQWM7O0FEVW5CLE1BQU0sT0FBTyxtQkFBbUI7SUFSaEM7UUFZVyxhQUFRLEdBQUcsSUFBSSxDQUFDO1FBS2hCLGFBQVEsR0FBRyxNQUFNLENBQUM7S0E0QjVCO0lBMUJDLFNBQVMsQ0FBQyxNQUFjLEVBQUUsVUFBcUI7UUFDN0MsTUFBTSxJQUFJLEdBQUcsVUFBVTtZQUNyQixDQUFDLENBQUMsRUFBRSxHQUFHLHVCQUF1QixFQUFFLEdBQUcsVUFBVSxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ3ZELENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxPQUFPLENBQUM7SUFDNUMsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFjLEVBQUUsV0FBc0I7UUFDbkQsT0FBTyxXQUFXO1lBQ2hCLENBQUMsQ0FBQyxFQUFFLEdBQUcsd0JBQXdCLEVBQUUsR0FBRyxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDekQsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxJQUFJLGtCQUFrQixDQUFDLEtBQUssQ0FBQztJQUNuRSxDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQWMsRUFBRSxVQUFxQjtRQUNqRCxPQUFPLFVBQVU7WUFDZixDQUFDLENBQUMsRUFBRSxHQUFHLHVCQUF1QixFQUFFLEdBQUcsVUFBVSxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ3ZELENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxRQUFRLENBQUM7SUFDcEUsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFhO1FBQzNCLE9BQU8sSUFBSSxFQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUM7WUFDaEMsQ0FBQyxDQUFDLFFBQVE7WUFDVixDQUFDLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxhQUFhLENBQUM7Z0JBQzdCLENBQUMsQ0FBQyxVQUFVO2dCQUNaLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDYixDQUFDO29GQXBDVSxtQkFBbUI7b0VBQW5CLG1CQUFtQjs7WUN0QmhDLHNGQUE2Qjs7WUFBZCxpQ0FBWTs0QkRvQmYsVUFBVSxvQkFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxlQUFlOztpRkFFbkQsbUJBQW1CO2NBUi9CLFNBQVM7MkJBQ0UsaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLGVBQWUsQ0FBQztnQkFJL0QsTUFBTTtrQkFETCxLQUFLO1lBR0csUUFBUTtrQkFBaEIsS0FBSztZQUVHLFdBQVc7a0JBQW5CLEtBQUs7WUFDRyxVQUFVO2tCQUFsQixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7O2tGQVRLLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEljb25Nb2R1bGUgfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7IE5nQ2xhc3MsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgRGVmYXVsdFN0YXR1c0NvbG9yTWFwcGVyLFxuICBEZWZhdWx0U3RhdHVzSWNvbk1hcHBlcixcbiAgR2VuZXJpY1N0YXR1c0NvbG9yLFxuICBHZW5lcmljU3RhdHVzSWNvbixcbn0gZnJvbSAnLi4vLi4vY29yZS9jb25zdGFudHMvc3RhdHVzLWljb25zJztcbmltcG9ydCB7IFN0cmluZ01hcCB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMvY29tbW9ucyc7XG5pbXBvcnQgeyBQdXJlUGlwZSB9IGZyb20gJy4uLy4uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnLi4vLi4vdHJhbnNsYXRlL3RyYW5zbGF0ZS5tb2R1bGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtc3RhdHVzLWljb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vc3RhdHVzLWljb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdGF0dXMtaWNvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0ljb25Nb2R1bGUsIE5nQ2xhc3MsIFB1cmVQaXBlLCBOZ0lmLCBUcmFuc2xhdGVNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBTdGF0dXNJY29uQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgc3RhdHVzOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgd2l0aFRleHQgPSB0cnVlO1xuXG4gIEBJbnB1dCgpIGNvbG9yTWFwcGVyOiBTdHJpbmdNYXA7XG4gIEBJbnB1dCgpIGljb25NYXBwZXI6IFN0cmluZ01hcDtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGljb25TaXplID0gJzE2cHgnO1xuXG4gIGlzUGVuZGluZyhzdGF0dXM6IHN0cmluZywgaWNvbk1hcHBlcjogU3RyaW5nTWFwKSB7XG4gICAgY29uc3QgaWNvbiA9IGljb25NYXBwZXJcbiAgICAgID8geyAuLi5EZWZhdWx0U3RhdHVzSWNvbk1hcHBlciwgLi4uaWNvbk1hcHBlciB9W3N0YXR1c11cbiAgICAgIDogRGVmYXVsdFN0YXR1c0ljb25NYXBwZXJbc3RhdHVzXTtcbiAgICByZXR1cm4gaWNvbiA9PT0gR2VuZXJpY1N0YXR1c0ljb24uUGVuZGluZztcbiAgfVxuXG4gIGdldFN0YXR1c0NvbG9yKHN0YXR1czogc3RyaW5nLCBjb2xvck1hcHBlcjogU3RyaW5nTWFwKSB7XG4gICAgcmV0dXJuIGNvbG9yTWFwcGVyXG4gICAgICA/IHsgLi4uRGVmYXVsdFN0YXR1c0NvbG9yTWFwcGVyLCAuLi5jb2xvck1hcHBlciB9W3N0YXR1c11cbiAgICAgIDogRGVmYXVsdFN0YXR1c0NvbG9yTWFwcGVyW3N0YXR1c10gfHwgR2VuZXJpY1N0YXR1c0NvbG9yLkVtcHR5O1xuICB9XG5cbiAgZ2V0U3RhdHVzSWNvbihzdGF0dXM6IHN0cmluZywgaWNvbk1hcHBlcjogU3RyaW5nTWFwKSB7XG4gICAgcmV0dXJuIGljb25NYXBwZXJcbiAgICAgID8geyAuLi5EZWZhdWx0U3RhdHVzSWNvbk1hcHBlciwgLi4uaWNvbk1hcHBlciB9W3N0YXR1c11cbiAgICAgIDogRGVmYXVsdFN0YXR1c0ljb25NYXBwZXJbc3RhdHVzXSB8fCBHZW5lcmljU3RhdHVzSWNvbi5RdWVzdGlvbjtcbiAgfVxuXG4gIGJhY2tncm91bmRTaGFwZShpY29uPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGljb24/LmVuZHNXaXRoKCdfY2lyY2xlX3MnKVxuICAgICAgPyAnY2lyY2xlJ1xuICAgICAgOiBpY29uPy5lbmRzV2l0aCgnX3RyaWFuZ2xlX3MnKVxuICAgICAgICA/ICd0cmlhbmdsZSdcbiAgICAgICAgOiBudWxsO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwic3RhdHVzXCI+XG4gIDxhdWktaWNvblxuICAgICpuZ0lmPVwic3RhdHVzIHwgcHVyZTogZ2V0U3RhdHVzSWNvbjppY29uTWFwcGVyIGFzIGljb25cIlxuICAgIFtuZ0NsYXNzXT1cInsgcGVuZGluZzogc3RhdHVzIHwgcHVyZTogaXNQZW5kaW5nOmljb25NYXBwZXIgfVwiXG4gICAgW3N0eWxlLmZvbnRTaXplXT1cImljb25TaXplXCJcbiAgICBbY29sb3JdPVwic3RhdHVzIHwgcHVyZTogZ2V0U3RhdHVzQ29sb3I6Y29sb3JNYXBwZXJcIlxuICAgIFtpY29uXT1cImljb25cIlxuICAgIFtzaXplXT1cImljb25TaXplXCJcbiAgICBbYmFja2dyb3VuZF09XCJpY29uIHwgcHVyZTogYmFja2dyb3VuZFNoYXBlXCJcbiAgPlxuICA8L2F1aS1pY29uPlxuICA8c3BhblxuICAgICpuZ0lmPVwid2l0aFRleHRcIlxuICAgIFt0aXRsZV09XCJzdGF0dXMudG9Mb3dlckNhc2UoKSB8IHRyYW5zbGF0ZVwiXG4gICAgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogZGlzYWJsZWQgfVwiXG4gICAgPnt7IHN0YXR1cy50b0xvd2VyQ2FzZSgpIHwgdHJhbnNsYXRlIH19PC9zcGFuXG4gID5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy1jb250YWluZXI+XG4iXX0=