UNPKG

@alauda-fe/common

Version:

Alauda frontend team common codes.

103 lines 15.3 kB
import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; import dayjs from 'dayjs'; import utc from 'dayjs/plugin/utc'; import { DATE_TIME_FORMAT, K8sUtilService, } from '../../../../../core/public-api'; import { MESSAGE_TYPE_MAP, dateValueOf, } from '../../utils'; import * as i0 from "@angular/core"; import * as i1 from "../../../../../core/public-api"; import * as i2 from "@angular/common"; import * as i3 from "@alauda/ui"; import * as i4 from "../../../../../translate/translate.pipe"; import * as i5 from "../../../../../core/pipes/field-not-available.pipe"; import * as i6 from "../../../../../core/pipes/time.pipe"; import * as i7 from "../../../../../core/pipes/pure.pipe"; import * as i8 from "../../../../../core/pipes/k8s-util.pipe"; function NotificationListComponent_ng_container_0_aui_tag_6_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "aui-tag", 10); i0.ɵɵtext(1); i0.ɵɵpipe(2, "translate"); i0.ɵɵelementEnd(); } if (rf & 2) { const tagOption_r4 = ctx.ngIf; i0.ɵɵproperty("color", (tagOption_r4 == null ? null : tagOption_r4.color) || "")("type", tagOption_r4 == null ? null : tagOption_r4.type); i0.ɵɵadvance(); i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 3, tagOption_r4 == null ? null : tagOption_r4.title), " "); } } function NotificationListComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) { const _r1 = i0.ɵɵgetCurrentView(); i0.ɵɵelementContainerStart(0); i0.ɵɵelementStart(1, "aui-accordion", 1)(2, "aui-accordion-item", 2); i0.ɵɵlistener("expandedChange", function NotificationListComponent_ng_container_0_Template_aui_accordion_item_expandedChange_2_listener($event) { const item_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.expandedChange($event, item_r2)); }); i0.ɵɵelementStart(3, "div", 3)(4, "div", 4)(5, "div", 5); i0.ɵɵtemplate(6, NotificationListComponent_ng_container_0_aui_tag_6_Template, 3, 5, "aui-tag", 6); i0.ɵɵpipe(7, "pure"); i0.ɵɵelementStart(8, "span", 7); i0.ɵɵtext(9); i0.ɵɵpipe(10, "aclCreationTimestamp"); i0.ɵɵpipe(11, "aclRelativeTime"); i0.ɵɵelementEnd()(); i0.ɵɵelementStart(12, "span", 8); i0.ɵɵtext(13); i0.ɵɵpipe(14, "aclFieldNotAvailable"); i0.ɵɵelementEnd()()(); i0.ɵɵelementStart(15, "div", 9); i0.ɵɵtext(16); i0.ɵɵpipe(17, "aclFieldNotAvailable"); i0.ɵɵelementEnd()()(); i0.ɵɵelementContainerEnd(); } if (rf & 2) { const item_r2 = ctx.$implicit; const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵadvance(); i0.ɵɵproperty("background", false); i0.ɵɵadvance(); i0.ɵɵclassProp("expand", item_r2.expanded); i0.ɵɵproperty("background", false); i0.ɵɵadvance(4); i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind2(7, 8, item_r2, ctx_r2.getTagOption)); i0.ɵɵadvance(3); i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(11, 13, i0.ɵɵpipeBind1(10, 11, item_r2))); i0.ɵɵadvance(4); i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(14, 15, item_r2.spec.subject), " "); i0.ɵɵadvance(3); i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(17, 17, item_r2.spec.content), " "); } } dayjs.extend(utc); export class NotificationListComponent { constructor(k8sUtil) { this.k8sUtil = k8sUtil; this.getTagOption = (value) => { const key = this.k8sUtil.getLabel(value, 'type'); return MESSAGE_TYPE_MAP[key]; }; } trackBy(_index, res) { return res.metadata.uid; } expandedChange(expanded, item) { item.expanded = expanded; } expired(item) { if (!item.spec.expiredTimestamp) { return true; } return dateValueOf(item.spec.expiredTimestamp) < Date.now(); } formatUtcStr(utcStr) { return dayjs.utc(utcStr).local().format(DATE_TIME_FORMAT); } static { this.ɵfac = function NotificationListComponent_Factory(t) { return new (t || NotificationListComponent)(i0.ɵɵdirectiveInject(i1.K8sUtilService)); }; } static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NotificationListComponent, selectors: [["acl-notification-list"]], inputs: { list: "list" }, decls: 1, vars: 1, consts: [[4, "ngFor", "ngForOf"], [1, "notify", 3, "background"], [3, "expandedChange", "background"], ["auiAccordionItemHeader", ""], [1, "notify_header"], [1, "notify_header_title"], ["size", "small", 3, "color", "type", 4, "ngIf"], [1, "notify_header_text"], [1, "notify_name"], [1, "notify_content"], ["size", "small", 3, "color", "type"]], template: function NotificationListComponent_Template(rf, ctx) { if (rf & 1) { i0.ɵɵtemplate(0, NotificationListComponent_ng_container_0_Template, 18, 19, "ng-container", 0); } if (rf & 2) { i0.ɵɵproperty("ngForOf", ctx.list); } }, dependencies: [i2.NgForOf, i2.NgIf, i3.TagComponent, i3.AccordionComponent, i3.AccordionItemComponent, i3.AccordionItemHeaderDirective, i4.TranslatePipe, i5.FieldNotAvailablePipe, i6.RelativeTimePipe, i7.PurePipe, i8.K8sCreationTimestampPipe], styles: [".notify_header[_ngcontent-%COMP%]{display:flex;flex-direction:column}.notify_header_title[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding-left:6px}.notify_header_text[_ngcontent-%COMP%]{color:#acacac;font-size:12px}.notify_name[_ngcontent-%COMP%]{padding:9px 8px 0;color:rgb(var(--aui-color-main-text));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notify_content[_ngcontent-%COMP%]{background-color:rgb(var(--aui-color-n-9));padding:16px;color:rgb(var(--aui-color-secondary-text))}.nodata[_ngcontent-%COMP%]{width:100%;height:200px;display:flex;align-items:center;justify-content:center;color:rgb(var(--aui-color-help-text))}[_nghost-%COMP%] .aui-tag{align-items:center}[_nghost-%COMP%] .aui-accordion-item__expand-button{margin-top:5px}[_nghost-%COMP%] .aui-accordion-item__expand-button:first-child{margin-right:0}[_nghost-%COMP%] .aui-accordion-item{border:none;padding:0 0 20px}[_nghost-%COMP%] aui-accordion{display:block;border-bottom:1px solid rgb(var(--aui-color-n-8))}[_nghost-%COMP%] .aui-accordion-item__header{align-items:flex-start}[_nghost-%COMP%] .aui-accordion-item__header-content{flex:1}"], changeDetection: 0 }); } } (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NotificationListComponent, [{ type: Component, args: [{ selector: 'acl-notification-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngFor=\"let item of list\">\n <aui-accordion\n class=\"notify\"\n [background]=\"false\"\n >\n <aui-accordion-item\n [background]=\"false\"\n [class.expand]=\"item.expanded\"\n (expandedChange)=\"expandedChange($event, item)\"\n >\n <div auiAccordionItemHeader>\n <div class=\"notify_header\">\n <div class=\"notify_header_title\">\n <aui-tag\n size=\"small\"\n *ngIf=\"item | pure: getTagOption as tagOption\"\n [color]=\"tagOption?.color || ''\"\n [type]=\"tagOption?.type\"\n >\n {{ tagOption?.title | translate }}\n </aui-tag>\n <span class=\"notify_header_text\">{{\n item | aclCreationTimestamp | aclRelativeTime\n }}</span>\n </div>\n <span class=\"notify_name\">\n {{ item.spec.subject | aclFieldNotAvailable }}\n </span>\n </div>\n </div>\n <div class=\"notify_content\">\n {{ item.spec.content | aclFieldNotAvailable }}\n </div>\n </aui-accordion-item>\n </aui-accordion>\n</ng-container>\n", styles: [".notify_header{display:flex;flex-direction:column}.notify_header_title{display:flex;justify-content:space-between;align-items:center;padding-left:6px}.notify_header_text{color:#acacac;font-size:12px}.notify_name{padding:9px 8px 0;color:rgb(var(--aui-color-main-text));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notify_content{background-color:rgb(var(--aui-color-n-9));padding:16px;color:rgb(var(--aui-color-secondary-text))}.nodata{width:100%;height:200px;display:flex;align-items:center;justify-content:center;color:rgb(var(--aui-color-help-text))}:host ::ng-deep .aui-tag{align-items:center}:host ::ng-deep .aui-accordion-item__expand-button{margin-top:5px}:host ::ng-deep .aui-accordion-item__expand-button:first-child{margin-right:0}:host ::ng-deep .aui-accordion-item{border:none;padding:0 0 20px}:host ::ng-deep aui-accordion{display:block;border-bottom:1px solid rgb(var(--aui-color-n-8))}:host ::ng-deep .aui-accordion-item__header{align-items:flex-start}:host ::ng-deep .aui-accordion-item__header-content{flex:1}\n"] }] }], () => [{ type: i1.K8sUtilService }], { list: [{ type: Input }] }); })(); (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NotificationListComponent, { className: "NotificationListComponent" }); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3BhZ2Utc2NhZmZvbGQvcGFnZS1oZWFkZXIvaGVhZGVyLW5vdGlmeS9jb21wb25lbnQvbm90aWZpY2F0aW9uLWxpc3Qvbm90aWZpY2F0aW9uLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3BhZ2Utc2NhZmZvbGQvcGFnZS1oZWFkZXIvaGVhZGVyLW5vdGlmeS9jb21wb25lbnQvbm90aWZpY2F0aW9uLWxpc3Qvbm90aWZpY2F0aW9uLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sR0FBRyxNQUFNLGtCQUFrQixDQUFDO0FBRW5DLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsY0FBYyxHQUNmLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUNMLGdCQUFnQixFQUdoQixXQUFXLEdBQ1osTUFBTSxhQUFhLENBQUM7Ozs7Ozs7Ozs7O0lDQVQsbUNBS0M7SUFDQyxZQUNGOztJQUFBLGlCQUFVOzs7SUFIUixBQURBLGdGQUFnQyx5REFDUjtJQUV4QixjQUNGO0lBREUsdUdBQ0Y7Ozs7SUFwQlosNkJBQXdDO0lBS3BDLEFBSkYsd0NBR0MsNEJBS0U7SUFEQyw0UEFBa0Isc0NBQTRCLEtBQUM7SUFJM0MsQUFERixBQURGLDhCQUE0QixhQUNDLGFBQ1E7SUFDL0IsaUdBS0M7O0lBR0QsK0JBQWlDO0lBQUEsWUFFL0I7OztJQUNKLEFBREksaUJBQU8sRUFDTDtJQUNOLGdDQUEwQjtJQUN4QixhQUNGOztJQUVKLEFBREUsQUFERSxpQkFBTyxFQUNILEVBQ0Y7SUFDTiwrQkFBNEI7SUFDMUIsYUFDRjs7SUFFSixBQURFLEFBREUsaUJBQU0sRUFDYSxFQUNQOzs7OztJQS9CZCxjQUFvQjtJQUFwQixrQ0FBb0I7SUFJbEIsY0FBOEI7SUFBOUIsMENBQThCO0lBRDlCLGtDQUFvQjtJQVNYLGVBQWdDO0lBQWhDLHlFQUFnQztJQU1GLGVBRS9CO0lBRitCLDZFQUUvQjtJQUdGLGVBQ0Y7SUFERSw2RUFDRjtJQUlGLGVBQ0Y7SUFERSw2RUFDRjs7QURqQk4sS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQU9sQixNQUFNLE9BQU8seUJBQXlCO0lBRXBDLFlBQTZCLE9BQXVCO1FBQXZCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBcUJwRCxpQkFBWSxHQUFHLENBQUMsS0FBYyxFQUFFLEVBQUU7WUFDaEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBZ0IsQ0FBQztZQUNoRSxPQUFPLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQztJQXhCcUQsQ0FBQztJQUV4RCxPQUFPLENBQUMsTUFBYyxFQUFFLEdBQVk7UUFDbEMsT0FBTyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztJQUMxQixDQUFDO0lBRUQsY0FBYyxDQUFDLFFBQWlCLEVBQUUsSUFBYTtRQUM3QyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBRUQsT0FBTyxDQUFDLElBQWE7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUNoQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQzlELENBQUM7SUFFRCxZQUFZLENBQUMsTUFBYztRQUN6QixPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDNUQsQ0FBQzswRkFyQlUseUJBQXlCO29FQUF6Qix5QkFBeUI7WUN0QnRDLDhGQUF3Qzs7WUFBVCxrQ0FBTzs7O2lGRHNCekIseUJBQXlCO2NBTnJDLFNBQVM7MkJBQ0UsdUJBQXVCLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNOytDQUd0QyxJQUFJO2tCQUFaLEtBQUs7O2tGQURLLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuaW1wb3J0IHV0YyBmcm9tICdkYXlqcy9wbHVnaW4vdXRjJztcblxuaW1wb3J0IHtcbiAgREFURV9USU1FX0ZPUk1BVCxcbiAgSzhzVXRpbFNlcnZpY2UsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQge1xuICBNRVNTQUdFX1RZUEVfTUFQLFxuICBNZXNzYWdlLFxuICBNZXNzYWdlVHlwZSxcbiAgZGF0ZVZhbHVlT2YsXG59IGZyb20gJy4uLy4uL3V0aWxzJztcblxuZGF5anMuZXh0ZW5kKHV0Yyk7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtbm90aWZpY2F0aW9uLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vbm90aWZpY2F0aW9uLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ub3RpZmljYXRpb24tbGlzdC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uTGlzdENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGxpc3Q6IE1lc3NhZ2VbXTtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBrOHNVdGlsOiBLOHNVdGlsU2VydmljZSkge31cblxuICB0cmFja0J5KF9pbmRleDogbnVtYmVyLCByZXM6IE1lc3NhZ2UpIHtcbiAgICByZXR1cm4gcmVzLm1ldGFkYXRhLnVpZDtcbiAgfVxuXG4gIGV4cGFuZGVkQ2hhbmdlKGV4cGFuZGVkOiBib29sZWFuLCBpdGVtOiBNZXNzYWdlKSB7XG4gICAgaXRlbS5leHBhbmRlZCA9IGV4cGFuZGVkO1xuICB9XG5cbiAgZXhwaXJlZChpdGVtOiBNZXNzYWdlKSB7XG4gICAgaWYgKCFpdGVtLnNwZWMuZXhwaXJlZFRpbWVzdGFtcCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBkYXRlVmFsdWVPZihpdGVtLnNwZWMuZXhwaXJlZFRpbWVzdGFtcCkgPCBEYXRlLm5vdygpO1xuICB9XG5cbiAgZm9ybWF0VXRjU3RyKHV0Y1N0cjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGRheWpzLnV0Yyh1dGNTdHIpLmxvY2FsKCkuZm9ybWF0KERBVEVfVElNRV9GT1JNQVQpO1xuICB9XG5cbiAgZ2V0VGFnT3B0aW9uID0gKHZhbHVlOiBNZXNzYWdlKSA9PiB7XG4gICAgY29uc3Qga2V5ID0gdGhpcy5rOHNVdGlsLmdldExhYmVsKHZhbHVlLCAndHlwZScpIGFzIE1lc3NhZ2VUeXBlO1xuICAgIHJldHVybiBNRVNTQUdFX1RZUEVfTUFQW2tleV07XG4gIH07XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGxpc3RcIj5cbiAgPGF1aS1hY2NvcmRpb25cbiAgICBjbGFzcz1cIm5vdGlmeVwiXG4gICAgW2JhY2tncm91bmRdPVwiZmFsc2VcIlxuICA+XG4gICAgPGF1aS1hY2NvcmRpb24taXRlbVxuICAgICAgW2JhY2tncm91bmRdPVwiZmFsc2VcIlxuICAgICAgW2NsYXNzLmV4cGFuZF09XCJpdGVtLmV4cGFuZGVkXCJcbiAgICAgIChleHBhbmRlZENoYW5nZSk9XCJleHBhbmRlZENoYW5nZSgkZXZlbnQsIGl0ZW0pXCJcbiAgICA+XG4gICAgICA8ZGl2IGF1aUFjY29yZGlvbkl0ZW1IZWFkZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJub3RpZnlfaGVhZGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm5vdGlmeV9oZWFkZXJfdGl0bGVcIj5cbiAgICAgICAgICAgIDxhdWktdGFnXG4gICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICpuZ0lmPVwiaXRlbSB8IHB1cmU6IGdldFRhZ09wdGlvbiBhcyB0YWdPcHRpb25cIlxuICAgICAgICAgICAgICBbY29sb3JdPVwidGFnT3B0aW9uPy5jb2xvciB8fCAnJ1wiXG4gICAgICAgICAgICAgIFt0eXBlXT1cInRhZ09wdGlvbj8udHlwZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IHRhZ09wdGlvbj8udGl0bGUgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYXVpLXRhZz5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibm90aWZ5X2hlYWRlcl90ZXh0XCI+e3tcbiAgICAgICAgICAgICAgaXRlbSB8IGFjbENyZWF0aW9uVGltZXN0YW1wIHwgYWNsUmVsYXRpdmVUaW1lXG4gICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5vdGlmeV9uYW1lXCI+XG4gICAgICAgICAgICB7eyBpdGVtLnNwZWMuc3ViamVjdCB8IGFjbEZpZWxkTm90QXZhaWxhYmxlIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm5vdGlmeV9jb250ZW50XCI+XG4gICAgICAgIHt7IGl0ZW0uc3BlYy5jb250ZW50IHwgYWNsRmllbGROb3RBdmFpbGFibGUgfX1cbiAgICAgIDwvZGl2PlxuICAgIDwvYXVpLWFjY29yZGlvbi1pdGVtPlxuICA8L2F1aS1hY2NvcmRpb24+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==