UNPKG

@ohayojp.com/components

Version:

Common business components of ohayojp.

344 lines (336 loc) 12.2 kB
import { EventEmitter, Component, ViewEncapsulation, Input, Output, ChangeDetectionStrategy, ChangeDetectorRef, NgModule } from '@angular/core'; import { __decorate, __metadata } from 'tslib'; import { OhayoLocaleService, OhayoLocaleModule } from '@ohayojp.com/theme'; import { InputNumber, InputBoolean } from '@ohayojp.com/util'; import { CommonModule } from '@angular/common'; import { NzBadgeModule } from 'ng-zorro-antd/badge'; import { NzDropDownModule } from 'ng-zorro-antd/dropdown'; import { NzIconModule } from 'ng-zorro-antd/icon'; import { NzListModule } from 'ng-zorro-antd/list'; import { NzSpinModule } from 'ng-zorro-antd/spin'; import { NzTabsModule } from 'ng-zorro-antd/tabs'; import { NzTagModule } from 'ng-zorro-antd/tag'; /** * @fileoverview added by tsickle * Generated from: notice-icon.types.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @record */ function NoticeItem() { } if (false) { /** @type {?} */ NoticeItem.prototype.title; /** @type {?} */ NoticeItem.prototype.list; /** * 空列表文本,默认:`无通知` * @type {?|undefined} */ NoticeItem.prototype.emptyText; /** * 空列表图像 * @type {?|undefined} */ NoticeItem.prototype.emptyImage; /** * 清空文本,默认:`清空` * @type {?|undefined} */ NoticeItem.prototype.clearText; } /** * @record */ function NoticeIconList() { } if (false) { /** * 头像图片链接 * @type {?|undefined} */ NoticeIconList.prototype.avatar; /** * 标题 * @type {?|undefined} */ NoticeIconList.prototype.title; /** * 描述信息 * @type {?|undefined} */ NoticeIconList.prototype.description; /** * 时间戳 * @type {?|undefined} */ NoticeIconList.prototype.datetime; /** * 额外信息,在列表项右上角 * @type {?|undefined} */ NoticeIconList.prototype.extra; /** * 是否已读状态 * @type {?|undefined} */ NoticeIconList.prototype.read; /* Skipping unhandled member: [key: string]: any;*/ } /** * @record */ function NoticeIconSelect() { } if (false) { /** @type {?} */ NoticeIconSelect.prototype.title; /** @type {?} */ NoticeIconSelect.prototype.item; } /** * @fileoverview added by tsickle * Generated from: notice-icon-tab.component.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ class NoticeIconTcomponentsomponent { constructor() { this.locale = {}; // tslint:disable-next-line:no-output-native this.select = new EventEmitter(); this.clear = new EventEmitter(); } /** * @param {?} item * @return {?} */ onClick(item) { this.select.emit({ title: this.data.title, item }); } /** * @return {?} */ onClear() { this.clear.emit(this.data.title); } } NoticeIconTcomponentsomponent.decorators = [ { type: Component, args: [{ selector: 'notice-icon-tab', exportAs: 'noticeIconTab', template: "<div *ngIf=\"data.list?.length === 0; else listTpl\" class=\"notice-icon__notfound\">\n <img class=\"notice-icon__notfound-img\" *ngIf=\"data.emptyImage\" src=\"{{ data.emptyImage }}\" alt=\"not found\" />\n <p>{{ data.emptyText || locale.emptyText }}</p>\n</div>\n<ng-template #listTpl>\n <nz-list [nzDataSource]=\"data.list\" [nzRenderItem]=\"item\">\n <ng-template #item let-item>\n <nz-list-item (click)=\"onClick(item)\" [ngClass]=\"{ 'notice-icon__item-read': item.read }\">\n <nz-list-item-meta [nzTitle]=\"nzTitle\" [nzDescription]=\"nzDescription\" [nzAvatar]=\"item.avatar\">\n <ng-template #nzTitle>\n {{ item.title }}\n <div class=\"notice-icon__item-extra\" *ngIf=\"item.extra\">\n <nz-tag [nzColor]=\"item.color\">{{ item.extra }}</nz-tag>\n </div>\n </ng-template>\n <ng-template #nzDescription>\n <div *ngIf=\"item.description\" class=\"notice-icon__item-desc\">{{ item.description }}</div>\n <div *ngIf=\"item.datetime\" class=\"notice-icon__item-time\">{{ item.datetime }}</div>\n </ng-template>\n </nz-list-item-meta>\n </nz-list-item>\n </ng-template>\n </nz-list>\n <div class=\"notice-icon__clear\" (click)=\"onClear()\">{{ data.clearText || locale.clearText }}</div>\n</ng-template>\n", preserveWhitespaces: false, encapsulation: ViewEncapsulation.None }] } ]; NoticeIconTcomponentsomponent.propDecorators = { locale: [{ type: Input }], data: [{ type: Input }], select: [{ type: Output }], clear: [{ type: Output }] }; if (false) { /** @type {?} */ NoticeIconTcomponentsomponent.prototype.locale; /** @type {?} */ NoticeIconTcomponentsomponent.prototype.data; /** @type {?} */ NoticeIconTcomponentsomponent.prototype.select; /** @type {?} */ NoticeIconTcomponentsomponent.prototype.clear; } /** * @fileoverview added by tsickle * Generated from: notice-icon.component.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ class NoticeIconComponent { /** * @param {?} i18n * @param {?} cdr */ constructor(i18n, cdr) { this.i18n = i18n; this.cdr = cdr; this.locale = {}; this.data = []; this.loading = false; this.popoverVisible = false; this.btnClass = ''; this.btnIconClass = ''; // tslint:disable-next-line:no-output-native this.select = new EventEmitter(); this.clear = new EventEmitter(); this.popoverVisibleChange = new EventEmitter(); } /** * @param {?} result * @return {?} */ onVisibleChange(result) { this.popoverVisibleChange.emit(result); } /** * @param {?} i * @return {?} */ onSelect(i) { this.select.emit(i); } /** * @param {?} title * @return {?} */ onClear(title) { this.clear.emit(title); } /** * @return {?} */ ngOnInit() { this.i18n$ = this.i18n.change.subscribe((/** * @return {?} */ () => { this.locale = this.i18n.getData('noticeIcon'); this.cdr.markForCheck(); })); } /** * @return {?} */ ngOnChanges() { this.cdr.markForCheck(); } /** * @return {?} */ ngOnDestroy() { this.i18n$.unsubscribe(); } } NoticeIconComponent.decorators = [ { type: Component, args: [{ selector: 'notice-icon', exportAs: 'noticeIcon', template: "<ng-template #badgeTpl>\n <nz-badge [nzCount]=\"count\" [ngClass]=\"btnClass\" [nzStyle]=\"{ 'box-shadow': 'none' }\">\n <i nz-icon nzType=\"bell\" [ngClass]=\"btnIconClass\"></i>\n </nz-badge>\n</ng-template>\n<div *ngIf=\"data?.length === 0\">\n <ng-template [ngTemplateOutlet]=\"badgeTpl\"></ng-template>\n</div>\n<div\n *ngIf=\"data?.length > 0\"\n nz-dropdown\n [nzVisible]=\"popoverVisible\"\n (nzVisibleChange)=\"onVisibleChange($event)\"\n nzTrigger=\"click\"\n nzPlacement=\"bottomRight\"\n [nzOverlayClassName]=\"['header-dropdown', 'notice-icon']\"\n [nzDropdownMenu]=\"noticeMenu\"\n>\n <ng-template [ngTemplateOutlet]=\"badgeTpl\"></ng-template>\n</div>\n<nz-dropdown-menu #noticeMenu=\"nzDropdownMenu\">\n <nz-spin [nzSpinning]=\"loading\" [nzDelay]=\"0\">\n <nz-tabset nzSelectedIndex=\"0\">\n <nz-tab *ngFor=\"let i of data\" [nzTitle]=\"i.title\">\n <notice-icon-tab [locale]=\"locale\" [data]=\"i\" (select)=\"onSelect($event)\" (clear)=\"onClear($event)\"></notice-icon-tab>\n </nz-tab>\n </nz-tabset>\n </nz-spin>\n</nz-dropdown-menu>\n", host: { '[class.notice-icon__btn]': 'true' }, preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None }] } ]; /** @nocollapse */ NoticeIconComponent.ctorParameters = () => [ { type: OhayoLocaleService }, { type: ChangeDetectorRef } ]; NoticeIconComponent.propDecorators = { data: [{ type: Input }], count: [{ type: Input }], loading: [{ type: Input }], popoverVisible: [{ type: Input }], btnClass: [{ type: Input }], btnIconClass: [{ type: Input }], select: [{ type: Output }], clear: [{ type: Output }], popoverVisibleChange: [{ type: Output }] }; __decorate([ InputNumber(), __metadata("design:type", Number) ], NoticeIconComponent.prototype, "count", void 0); __decorate([ InputBoolean(), __metadata("design:type", Object) ], NoticeIconComponent.prototype, "loading", void 0); __decorate([ InputBoolean(), __metadata("design:type", Object) ], NoticeIconComponent.prototype, "popoverVisible", void 0); if (false) { /** @type {?} */ NoticeIconComponent.ngAcceptInputType_count; /** @type {?} */ NoticeIconComponent.ngAcceptInputType_loading; /** @type {?} */ NoticeIconComponent.ngAcceptInputType_popoverVisible; /** * @type {?} * @private */ NoticeIconComponent.prototype.i18n$; /** @type {?} */ NoticeIconComponent.prototype.locale; /** @type {?} */ NoticeIconComponent.prototype.data; /** @type {?} */ NoticeIconComponent.prototype.count; /** @type {?} */ NoticeIconComponent.prototype.loading; /** @type {?} */ NoticeIconComponent.prototype.popoverVisible; /** @type {?} */ NoticeIconComponent.prototype.btnClass; /** @type {?} */ NoticeIconComponent.prototype.btnIconClass; /** @type {?} */ NoticeIconComponent.prototype.select; /** @type {?} */ NoticeIconComponent.prototype.clear; /** @type {?} */ NoticeIconComponent.prototype.popoverVisibleChange; /** * @type {?} * @private */ NoticeIconComponent.prototype.i18n; /** * @type {?} * @private */ NoticeIconComponent.prototype.cdr; } /** * @fileoverview added by tsickle * Generated from: notice-icon.module.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** @type {?} */ const COMPONENTS = [NoticeIconComponent]; class NoticeIconModule { } NoticeIconModule.decorators = [ { type: NgModule, args: [{ imports: [ CommonModule, OhayoLocaleModule, NzBadgeModule, NzDropDownModule, NzIconModule, NzListModule, NzSpinModule, NzTabsModule, NzTagModule, ], declarations: [...COMPONENTS, NoticeIconTcomponentsomponent], exports: [...COMPONENTS], },] } ]; /** * @fileoverview added by tsickle * Generated from: public_api.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @fileoverview added by tsickle * Generated from: noticeIcon.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ export { NoticeIconComponent, NoticeIconModule, NoticeIconTcomponentsomponent }; //# sourceMappingURL=noticeIcon.js.map