import { BreakpointObserver } from '@angular/cdk/layout'; import { ComponentType, Overlay } from '@angular/cdk/overlay'; import { EmbeddedViewRef, InjectionToken, Injector, OnDestroy, TemplateRef } from '@angular/core'; import { NgStringOrTemplateRef, SafeAny } from '@ngx-simple/core/types'; import { Observable } from 'rxjs'; import { SimToastConfig } from './toast-config'; import { SimToastRef } from './toast-ref'; import { SimToastComponent } from './toast.component'; import { ToastType } from './toast.typings'; export declare const SIM_TOAST_DEFAULT_OPTIONS: InjectionToken>; export declare function SIM_TOAST_DEFAULT_OPTIONS_FACTORY(): SimToastConfig; export declare const SIM_TOAST_DEFAULT_ICON_OPTIONS: InjectionToken>; /** * Confirm关闭回调结果 * 自动提示回调里面的confirm字符串,如果只是处理成功,那么可以直接在pipe里面直接使用,如果需要处理其他方式,自行处理 */ export declare const toToastConfirm: () => (source: Observable) => Observable; export declare class SimToastService implements OnDestroy { private _overlay; private _injector; private _breakpointObserver; private _parentToast; private _defaultConfig; /** 以*any*级别引用当前打开的toast */ get _openedToastRef(): SimToastRef | null; set _openedToastRef(value: SimToastRef | null); /** * 在这个级别的视图中(在Angular注入器树中)引用当前的toast。 * 如果有一个父类的ToastService服务,所有的操作都应该通过'_openedToastRef'委托给父类。 */ private _SimToastRefAtThisLevel; private _toastComponent; constructor(_overlay: Overlay, _injector: Injector, _breakpointObserver: BreakpointObserver, _parentToast: SimToastService, _defaultConfig: SimToastConfig); ngOnDestroy(): void; /** * 合并配置到默认配置,生成新的配置 */ mergeConfig(config?: SimToastConfig): SimToastConfig; /** * 关闭当前可见的toast */ dismiss(): void; /** * 自定义提示 * @param content 提示内容 支持字符串和模板 * @param options toast配置 默认类型warning,默认不关闭 */ open(content: NgStringOrTemplateRef, options?: SimToastConfig & { type?: ToastType; }): SimToastRef; /** * 信息提示 * @param content 提示内容 支持字符串和模板 * @param config toast配置 默认延迟关闭2500ms */ info(content: NgStringOrTemplateRef, config?: SimToastConfig): SimToastRef; /** * 警告提示 * @param content 提示内容 支持字符串和模板 * @param config toast配置 默认延迟关闭2500ms */ warning(content: NgStringOrTemplateRef, config?: SimToastConfig): SimToastRef; /** * 失败/危险提示 * @param content 提示内容 支持字符串和模板 * @param config toast配置 默认延迟关闭3000ms */ danger(content: NgStringOrTemplateRef, config?: SimToastConfig): SimToastRef; /** * 成功提示 * @param content 提示内容 支持字符串和模板 * @param config toast配置 默认延迟关闭1800ms */ success(content: NgStringOrTemplateRef, config?: SimToastConfig): SimToastRef; /** * 空白提示 不会显示icon * @param content 提示内容 支持字符串和模板 * @param config toast配置 默认延迟关闭2500ms */ blank(content: NgStringOrTemplateRef, config?: SimToastConfig): SimToastRef; private _openToastComponent; /** * 创建并分发带有内容自定义组件的toast,删除当前打开的任何toast。 * * @param component 要实例化的组件 * @param config toast的额外配置 */ openFromComponent(component: ComponentType, config?: SimToastConfig): SimToastRef; /** * 创建并分发带有内容自定义模板的toast,删除当前打开的任何toast。 * * @param template 要实例化的模板 * @param config toast的额外配置 */ openFromTemplate(template: TemplateRef, config?: SimToastConfig): SimToastRef>; /** 把旧的toast移出去,把新的toast加进来 */ private _animateToast; /** * 放置新组件或模板作为toast容器的内容 */ private _attach; /** 将toast容器组件附加到浮层 */ private _attachToastContainer; /** * 创建要在toast组件内部使用的注入器 * @param config 用于创建toast的配置 * @param toastRef 引用toast */ private _createInjector; /** * 创建一个新的浮层,并把它放在正确的位置 * @param config 用户指定的toast配置 */ private _createOverlay; }