ng-zorro-antd-mobile
Version:
An enterprise-class mobile UI components based on Ant Design and Angular
1 lines • 17.3 kB
Source Map (JSON)
{"version":3,"file":"ng-zorro-antd-mobile-toast.mjs","sources":["../../components/toast/toast.component.ts","../../components/toast/toast.component.html","../../components/toast/toast-options.provider.ts","../../components/toast/toast.service.ts","../../components/toast/toast.module.ts","../../components/toast/ng-zorro-antd-mobile-toast.ts"],"sourcesContent":["import { Component, ViewEncapsulation, Input, TemplateRef, NgZone } from '@angular/core';\n\n@Component({\n selector: 'Toast',\n encapsulation: ViewEncapsulation.None,\n templateUrl: './toast.component.html',\n host: {\n '[class.am-toast]': 'true',\n '[class.am-toast-mask]': 'mask',\n '[class.am-toast-mask-top]': `mask && position === 'top'`,\n '[class.am-toast-mask-middle]': `mask && position === 'middle'`,\n '[class.am-toast-mask-bottom]': `mask && position === 'bottom'`,\n '[class.am-toast-nomask]': '!mask',\n '[class.am-toast-nomask-top]': `!mask && position === 'top'`,\n '[class.am-toast-nomask-middle]': `!mask && position === 'middle'`,\n '[class.am-toast-nomask-bottom]': `!mask && position === 'bottom'`\n }\n})\nexport class ToastComponent {\n prefixCls: string = 'am-toast';\n isContentString: boolean = true;\n maskClassMap;\n transitionName = 'am-fade-enter am-fade-enter-active';\n\n private _iconType: string = '';\n private _content: string | TemplateRef<any> = '';\n\n @Input()\n mask: boolean = true;\n @Input()\n get content(): string | TemplateRef<any> {\n return this._content;\n }\n set content(value: string | TemplateRef<any>) {\n if (value instanceof TemplateRef) {\n this.isContentString = false;\n } else {\n this.isContentString = true;\n }\n this._zone.run(() => {\n this._content = value;\n });\n }\n @Input()\n get iconType(): string {\n return this._iconType;\n }\n set iconType(value: string) {\n this._zone.run(() => {\n this._iconType = value;\n });\n }\n @Input()\n position: string = 'middle';\n\n constructor(private _zone: NgZone) {}\n}\n","<div class=\"{{ prefixCls }}-notice {{ prefixCls }}-notice-closable {{ transitionName }}\">\n <div class=\"{{ prefixCls }}-notice-content\">\n <div role=\"alert\" *ngIf=\"iconType\" class=\"{{ prefixCls }}-text {{ prefixCls }}-text-icon\" aria-live=\"assertive\">\n <Icon [type]=\"iconType\" [size]=\"'lg'\"></Icon>\n <div *ngIf=\"isContentString\" class=\"{{ prefixCls }}-text-info\">{{ content }}</div>\n </div>\n <div *ngIf=\"!iconType\" class=\"{{ prefixCls }}-text\" role=\"alert\" aria-live=\"assertive\">\n <div *ngIf=\"isContentString\" class=\"{{ prefixCls }}-text-info\">{{ content }}</div>\n <ng-template *ngIf=\"!isContentString\" [ngTemplateOutlet]=\"content\"></ng-template>\n </div>\n </div>\n <a class=\"{{ prefixCls }}-notice-close\">\n <span class=\"{{ prefixCls }}-notice-close-x\"></span>\n </a>\n</div>\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class ToastOptions {\n content: any;\n mask: boolean;\n iconType: string;\n position: string;\n}\n","import {\n Injectable,\n ComponentRef,\n ComponentFactory,\n ApplicationRef,\n NgZone,\n ComponentFactoryResolver\n} from '@angular/core';\nimport { ToastComponent } from './toast.component';\nimport { ToastOptions } from './toast-options.provider';\nimport { first } from 'rxjs/operators';\n\nexport interface ConfigInterface {\n content?: any;\n iconType?: string;\n mask?: boolean;\n}\n@Injectable({\n providedIn: 'root'\n})\n@Injectable()\nexport class ToastService {\n timeout = null;\n zone: NgZone = null;\n compRef: ComponentRef<any> = null;\n insertElement: HTMLElement = null;\n toastCompFactory: ComponentFactory<ToastComponent> = null;\n appRef: ApplicationRef = null;\n\n constructor(private _appRef: ApplicationRef, private _cfr: ComponentFactoryResolver, private _zone: NgZone) {\n this.zone = this._zone;\n this.appRef = this._appRef;\n this.toastCompFactory = this._cfr.resolveComponentFactory(ToastComponent);\n }\n\n _initConfig(config: Object, options: ToastOptions): Object {\n const props = {};\n const optionalParams: string[] = ['content', 'iconType', 'mask', 'position'];\n\n config = Object.assign(options, config);\n optionalParams.forEach(key => {\n if (config[key] !== undefined) {\n props[key] = config[key];\n }\n });\n\n const iconType = {\n info: '',\n success: 'success',\n fail: 'fail',\n offline: 'dislike',\n loading: 'loading'\n }[options.iconType];\n\n props['iconType'] = iconType;\n props['mask'] = options.mask;\n props['position'] = options.position;\n return props;\n }\n\n async notice(config: ConfigInterface, type, timeInterval = 2000, onClose, mask = true, position = 'middle') {\n // 如果已经存在,在没有遮罩层的情况下,会响应别的toast,需要清除原来的\n if (this.compRef) {\n this.hide();\n }\n const options: ToastOptions = new ToastOptions();\n options.iconType = type;\n options.mask = mask;\n options.position = position;\n const props = this._initConfig(config, options);\n\n this.insertElement = document.body.insertBefore(document.createElement(this.toastCompFactory.selector), document.body.firstChild);\n let instance: any;\n let subject: any;\n // 需要等待应用程序稳定后再安装,比如在 ngOnInit 里调用\n if (!this._zone.isStable) {\n await this._appRef.isStable.pipe(\n first(stable => stable)\n )\n }\n\n this.compRef = this._appRef.bootstrap(this.toastCompFactory);\n instance = this.compRef.instance;\n subject = instance.subject;\n\n if (timeInterval) {\n this.timeout = setTimeout(() => {\n if (onClose) {\n onClose();\n }\n this.hide();\n }, timeInterval);\n }\n Object.assign(instance, props);\n return subject;\n }\n\n /**\n * Open info dialog\n */\n info(content?: string, timeInterval?: number, onClose?: () => void, mask?: boolean, position?: string) {\n const config = Object.assign({\n iconType: 'info',\n content: content\n });\n return this.notice(config, 'info', timeInterval, onClose, mask, position);\n }\n\n /**\n * Open success dialog\n */\n success(content?: string, timeInterval?: number, onClose?: () => void, mask?: boolean, position?: string) {\n const config = Object.assign({\n iconType: 'success',\n content: content\n });\n return this.notice(config, 'success', timeInterval, onClose, mask, position);\n }\n\n show(content?: string, timeInterval?: number, mask?: boolean, position?: string) {\n const config = Object.assign({\n iconType: 'info',\n content: content\n });\n return this.notice(config, 'info', timeInterval, () => {}, mask, position);\n }\n\n fail(content?: string, timeInterval?: number, onClose?: () => void, mask?: boolean, position?: string) {\n const config = Object.assign({\n iconType: 'fail',\n content: content\n });\n return this.notice(config, 'fail', timeInterval, onClose, mask, position);\n }\n\n offline(content?: string, timeInterval?: number, onClose?: () => void, mask?: boolean, position?: string) {\n const config = Object.assign({\n iconType: 'offline',\n content: content\n });\n return this.notice(config, 'offline', timeInterval, onClose, mask, position);\n }\n\n loading(content?: string, timeInterval?: number, onClose?: () => void, mask?: boolean, position?: string) {\n const config = Object.assign({\n iconType: 'loading',\n content: content\n });\n return this.notice(config, 'loading', timeInterval, onClose, mask, position);\n }\n\n hide() {\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n if (this.compRef) {\n this._zone.run(() => {\n this.compRef.destroy();\n document.body.removeChild(this.insertElement);\n });\n this.compRef = null;\n this.insertElement = null;\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ToastService } from './toast.service';\nimport { ToastComponent } from './toast.component';\nimport { IconModule } from 'ng-zorro-antd-mobile/icon';\nimport { WingBlankModule } from 'ng-zorro-antd-mobile/wing-blank';\n\n@NgModule({\n imports: [CommonModule, IconModule, WingBlankModule],\n exports: [ToastComponent],\n declarations: [ToastComponent],\n providers: [ToastService]\n})\nexport class ToastModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}