ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
1 lines • 26.9 kB
Source Map (JSON)
{"version":3,"file":"ng-zorro-antd-message.mjs","sources":["../../components/message/base.ts","../../components/message/message.component.ts","../../components/message/message-container.component.ts","../../components/message/message.service.module.ts","../../components/message/message.service.ts","../../components/message/message.module.ts","../../components/message/typings.ts","../../components/message/public-api.ts","../../components/message/ng-zorro-antd-message.ts"],"sourcesContent":["/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { AnimationEvent } from '@angular/animations';\nimport { ComponentType, Overlay } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ChangeDetectorRef, Directive, EventEmitter, Injector, OnDestroy, OnInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\n\nimport { MessageConfig, NzConfigService } from 'ng-zorro-antd/core/config';\nimport { NzSingletonService } from 'ng-zorro-antd/core/services';\n\nimport { NzMessageData, NzMessageDataOptions } from './typings';\n\nlet globalCounter = 0;\n\nexport abstract class NzMNService {\n protected abstract componentPrefix: string;\n protected container?: NzMNContainerComponent;\n\n constructor(\n protected nzSingletonService: NzSingletonService,\n protected overlay: Overlay,\n private injector: Injector\n ) {}\n\n remove(id?: string): void {\n if (this.container) {\n if (id) {\n this.container.remove(id);\n } else {\n this.container.removeAll();\n }\n }\n }\n\n protected getInstanceId(): string {\n return `${this.componentPrefix}-${globalCounter++}`;\n }\n\n protected withContainer<T extends NzMNContainerComponent>(ctor: ComponentType<T>): T {\n let containerInstance = this.nzSingletonService.getSingletonWithKey(this.componentPrefix);\n if (containerInstance) {\n return containerInstance as T;\n }\n\n const overlayRef = this.overlay.create({\n hasBackdrop: false,\n scrollStrategy: this.overlay.scrollStrategies.noop(),\n positionStrategy: this.overlay.position().global()\n });\n const componentPortal = new ComponentPortal(ctor, null, this.injector);\n const componentRef = overlayRef.attach(componentPortal);\n const overlayPane = overlayRef.overlayElement;\n overlayPane.style.zIndex = '1010';\n\n if (!containerInstance) {\n this.container = containerInstance = componentRef.instance;\n this.nzSingletonService.registerSingletonWithKey(this.componentPrefix, containerInstance);\n }\n\n return containerInstance as T;\n }\n}\n\n@Directive()\nexport abstract class NzMNContainerComponent implements OnInit, OnDestroy {\n config?: Required<MessageConfig>;\n instances: Array<Required<NzMessageData>> = [];\n\n protected readonly destroy$ = new Subject<void>();\n\n constructor(protected cdr: ChangeDetectorRef, protected nzConfigService: NzConfigService) {\n this.updateConfig();\n }\n\n ngOnInit(): void {\n this.subscribeConfigChange();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n create(data: NzMessageData): Required<NzMessageData> {\n const instance = this.onCreate(data);\n\n if (this.instances.length >= this.config!.nzMaxStack) {\n this.instances = this.instances.slice(1);\n }\n\n this.instances = [...this.instances, instance];\n\n this.readyInstances();\n\n return instance;\n }\n\n remove(id: string, userAction: boolean = false): void {\n this.instances.some((instance, index) => {\n if (instance.messageId === id) {\n this.instances.splice(index, 1);\n this.instances = [...this.instances];\n this.onRemove(instance, userAction);\n this.readyInstances();\n return true;\n }\n return false;\n });\n }\n\n removeAll(): void {\n this.instances.forEach(i => this.onRemove(i, false));\n this.instances = [];\n\n this.readyInstances();\n }\n\n protected onCreate(instance: NzMessageData): Required<NzMessageData> {\n instance.options = this.mergeOptions(instance.options);\n instance.onClose = new Subject<boolean>();\n return instance as Required<NzMessageData>;\n }\n\n protected onRemove(instance: Required<NzMessageData>, userAction: boolean): void {\n instance.onClose.next(userAction);\n instance.onClose.complete();\n }\n\n protected readyInstances(): void {\n this.cdr.detectChanges();\n }\n\n protected abstract updateConfig(): void;\n\n protected abstract subscribeConfigChange(): void;\n\n protected mergeOptions(options?: NzMessageDataOptions): NzMessageDataOptions {\n const { nzDuration, nzAnimate, nzPauseOnHover } = this.config!;\n return { nzDuration, nzAnimate, nzPauseOnHover, ...options };\n }\n}\n\n@Directive()\nexport abstract class NzMNComponent implements OnInit, OnDestroy {\n instance!: Required<NzMessageData>;\n index?: number;\n\n readonly destroyed = new EventEmitter<{ id: string; userAction: boolean }>();\n readonly animationStateChanged: Subject<AnimationEvent> = new Subject<AnimationEvent>();\n\n protected options!: Required<NzMessageDataOptions>;\n protected autoClose?: boolean;\n protected closeTimer?: number;\n protected userAction: boolean = false;\n protected eraseTimer: number | null = null;\n protected eraseTimingStart?: number;\n protected eraseTTL!: number;\n\n protected constructor(protected cdr: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n this.options = this.instance.options as Required<NzMessageDataOptions>;\n\n if (this.options.nzAnimate) {\n this.instance.state = 'enter';\n this.animationStateChanged\n .pipe(\n filter(event => event.phaseName === 'done' && event.toState === 'leave'),\n take(1)\n )\n .subscribe(() => {\n clearTimeout(this.closeTimer);\n this.destroyed.next({ id: this.instance.messageId, userAction: this.userAction });\n });\n }\n\n this.autoClose = this.options.nzDuration > 0;\n\n if (this.autoClose) {\n this.initErase();\n this.startEraseTimeout();\n }\n }\n\n ngOnDestroy(): void {\n if (this.autoClose) {\n this.clearEraseTimeout();\n }\n this.animationStateChanged.complete();\n }\n\n onEnter(): void {\n if (this.autoClose && this.options.nzPauseOnHover) {\n this.clearEraseTimeout();\n this.updateTTL();\n }\n }\n\n onLeave(): void {\n if (this.autoClose && this.options.nzPauseOnHover) {\n this.startEraseTimeout();\n }\n }\n\n protected destroy(userAction: boolean = false): void {\n this.userAction = userAction;\n if (this.options.nzAnimate) {\n this.instance.state = 'leave';\n this.cdr.detectChanges();\n this.closeTimer = setTimeout(() => {\n this.closeTimer = undefined;\n this.destroyed.next({ id: this.instance.messageId, userAction });\n }, 200);\n } else {\n this.destroyed.next({ id: this.instance.messageId, userAction });\n }\n }\n\n private initErase(): void {\n this.eraseTTL = this.options.nzDuration;\n this.eraseTimingStart = Date.now();\n }\n\n private updateTTL(): void {\n if (this.autoClose) {\n this.eraseTTL -= Date.now() - this.eraseTimingStart!;\n }\n }\n\n private startEraseTimeout(): void {\n if (this.eraseTTL > 0) {\n this.clearEraseTimeout();\n this.eraseTimer = setTimeout(() => this.destroy(), this.eraseTTL);\n this.eraseTimingStart = Date.now();\n } else {\n this.destroy();\n }\n }\n\n private clearEraseTimeout(): void {\n if (this.eraseTimer !== null) {\n clearTimeout(this.eraseTimer);\n this.eraseTimer = null;\n }\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { moveUpMotion } from 'ng-zorro-antd/core/animation';\n\nimport { NzMNComponent } from './base';\nimport { NzMessageData } from './typings';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n selector: 'nz-message',\n exportAs: 'nzMessage',\n preserveWhitespaces: false,\n animations: [moveUpMotion],\n template: `\n <div\n class=\"ant-message-notice\"\n [@moveUpMotion]=\"instance.state\"\n (@moveUpMotion.done)=\"animationStateChanged.next($event)\"\n (mouseenter)=\"onEnter()\"\n (mouseleave)=\"onLeave()\"\n >\n <div class=\"ant-message-notice-content\">\n <div class=\"ant-message-custom-content\" [ngClass]=\"'ant-message-' + instance.type\">\n <ng-container [ngSwitch]=\"instance.type\">\n <i *ngSwitchCase=\"'success'\" nz-icon nzType=\"check-circle\"></i>\n <i *ngSwitchCase=\"'info'\" nz-icon nzType=\"info-circle\"></i>\n <i *ngSwitchCase=\"'warning'\" nz-icon nzType=\"exclamation-circle\"></i>\n <i *ngSwitchCase=\"'error'\" nz-icon nzType=\"close-circle\"></i>\n <i *ngSwitchCase=\"'loading'\" nz-icon nzType=\"loading\"></i>\n </ng-container>\n <ng-container *nzStringTemplateOutlet=\"instance.content\">\n <span [innerHTML]=\"instance.content\"></span>\n </ng-container>\n </div>\n </div>\n </div>\n `\n})\nexport class NzMessageComponent extends NzMNComponent implements OnInit, OnDestroy {\n @Input() override instance!: Required<NzMessageData>;\n @Output() override readonly destroyed = new EventEmitter<{ id: string; userAction: boolean }>();\n\n constructor(cdr: ChangeDetectorRef) {\n super(cdr);\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Direction } from '@angular/cdk/bidi';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewEncapsulation } from '@angular/core';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { MessageConfig, NzConfigService } from 'ng-zorro-antd/core/config';\nimport { toCssPixel } from 'ng-zorro-antd/core/util';\n\nimport { NzMNContainerComponent } from './base';\n\nconst NZ_CONFIG_COMPONENT_NAME = 'message';\n\nconst NZ_MESSAGE_DEFAULT_CONFIG: Required<MessageConfig> = {\n nzAnimate: true,\n nzDuration: 3000,\n nzMaxStack: 7,\n nzPauseOnHover: true,\n nzTop: 24,\n nzDirection: 'ltr'\n};\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n selector: 'nz-message-container',\n exportAs: 'nzMessageContainer',\n preserveWhitespaces: false,\n template: `\n <div class=\"ant-message\" [class.ant-message-rtl]=\"dir === 'rtl'\" [style.top]=\"top\">\n <nz-message\n *ngFor=\"let instance of instances\"\n [instance]=\"instance\"\n (destroyed)=\"remove($event.id, $event.userAction)\"\n ></nz-message>\n </div>\n `\n})\nexport class NzMessageContainerComponent extends NzMNContainerComponent {\n dir: Direction = 'ltr';\n top?: string | null;\n\n constructor(cdr: ChangeDetectorRef, nzConfigService: NzConfigService) {\n super(cdr, nzConfigService);\n const config = this.nzConfigService.getConfigForComponent(NZ_CONFIG_COMPONENT_NAME);\n this.dir = config?.nzDirection || 'ltr';\n }\n\n protected subscribeConfigChange(): void {\n this.nzConfigService\n .getConfigChangeEventForComponent(NZ_CONFIG_COMPONENT_NAME)\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n this.updateConfig();\n const config = this.nzConfigService.getConfigForComponent(NZ_CONFIG_COMPONENT_NAME);\n if (config) {\n const { nzDirection } = config;\n this.dir = nzDirection || this.dir;\n }\n });\n }\n\n protected updateConfig(): void {\n this.config = {\n ...NZ_MESSAGE_DEFAULT_CONFIG,\n ...this.config,\n ...this.nzConfigService.getConfigForComponent(NZ_CONFIG_COMPONENT_NAME)\n };\n\n this.top = toCssPixel(this.config.nzTop);\n this.cdr.markForCheck();\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { NgModule } from '@angular/core';\n\n@NgModule()\nexport class NzMessageServiceModule {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Overlay } from '@angular/cdk/overlay';\nimport { Injectable, Injector, TemplateRef } from '@angular/core';\n\nimport { NzSingletonService } from 'ng-zorro-antd/core/services';\n\nimport { NzMNService } from './base';\nimport { NzMessageContainerComponent } from './message-container.component';\nimport { NzMessageServiceModule } from './message.service.module';\nimport { NzMessageData, NzMessageDataOptions, NzMessageRef } from './typings';\n\n@Injectable({\n providedIn: NzMessageServiceModule\n})\nexport class NzMessageService extends NzMNService {\n protected override container?: NzMessageContainerComponent;\n protected componentPrefix = 'message-';\n\n constructor(nzSingletonService: NzSingletonService, overlay: Overlay, injector: Injector) {\n super(nzSingletonService, overlay, injector);\n }\n\n success(content: string | TemplateRef<void>, options?: NzMessageDataOptions): NzMessageRef {\n return this.createInstance({ type: 'success', content }, options);\n }\n\n error(content: string | TemplateRef<void>, options?: NzMessageDataOptions): NzMessageRef {\n return this.createInstance({ type: 'error', content }, options);\n }\n\n info(content: string | TemplateRef<void>, options?: NzMessageDataOptions): NzMessageRef {\n return this.createInstance({ type: 'info', content }, options);\n }\n\n warning(content: string | TemplateRef<void>, options?: NzMessageDataOptions): NzMessageRef {\n return this.createInstance({ type: 'warning', content }, options);\n }\n\n loading(content: string | TemplateRef<void>, options?: NzMessageDataOptions): NzMessageRef {\n return this.createInstance({ type: 'loading', content }, options);\n }\n\n create(\n type: 'success' | 'info' | 'warning' | 'error' | 'loading' | string,\n content: string | TemplateRef<void>,\n options?: NzMessageDataOptions\n ): NzMessageRef {\n return this.createInstance({ type, content }, options);\n }\n\n private createInstance(message: NzMessageData, options?: NzMessageDataOptions): NzMessageRef {\n this.container = this.withContainer(NzMessageContainerComponent);\n\n return this.container.create({\n ...message,\n ...{\n createdAt: new Date(),\n messageId: this.getInstanceId(),\n options\n }\n });\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { BidiModule } from '@angular/cdk/bidi';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\nimport { NzMessageContainerComponent } from './message-container.component';\nimport { NzMessageComponent } from './message.component';\nimport { NzMessageServiceModule } from './message.service.module';\n\n@NgModule({\n imports: [BidiModule, CommonModule, OverlayModule, NzIconModule, NzOutletModule, NzMessageServiceModule],\n declarations: [NzMessageContainerComponent, NzMessageComponent],\n entryComponents: [NzMessageContainerComponent]\n})\nexport class NzMessageModule {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { TemplateRef } from '@angular/core';\nimport { Subject } from 'rxjs';\n\nexport type NzMessageType = 'success' | 'info' | 'warning' | 'error' | 'loading';\n\nexport interface NzMessageDataOptions {\n nzDuration?: number;\n nzAnimate?: boolean;\n nzPauseOnHover?: boolean;\n}\n\nexport interface NzMessageData {\n type?: NzMessageType | string;\n content?: string | TemplateRef<void>;\n messageId?: string;\n createdAt?: Date;\n options?: NzMessageDataOptions;\n state?: 'enter' | 'leave';\n\n onClose?: Subject<boolean>;\n}\n\nexport type NzMessageRef = Pick<Required<NzMessageData>, 'onClose' | 'messageId'>;\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport * from './base';\nexport * from './message.service';\nexport * from './message.service.module';\nexport * from './message.module';\nexport * from './message.component';\nexport * from './typings';\nexport * from './message-container.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}