import { OnInit, OnDestroy } from "@angular/core"; import { FormGroup } from '@angular/forms'; import { SetService, HttpService, PageService, JwtService } from 'ngx-block-core'; export interface BaseBlockClass { acl: string; local: boolean; static: boolean; blockid: string; layoutid: string; sets: any; staticSets: { eventDatas: any; generateDatas: any; baseDatas: any; formDatas: any; otherDatas: any; }; setData: any[]; } export interface FormBlockClass extends BaseBlockClass { form: FormGroup; nzFormGroupData: any; nzLayout: string; formDataInit(): any; valueChangeSubscribe(): any; } /** * 一般来说,应用无需关注此类 */ export declare abstract class BaseComponent implements OnInit, OnDestroy { private _timerCache; /** * 延迟一会再执行一些逻辑,用法和`setTimeout`一模一样,差别在于更加安全,当组件被销毁了后, * `setTimeout`里已经设置的逻辑依然会被执行,这在某些特定情况下会造成意外,从而造成组件出错。 * 使用本方法启动的异步逻辑在组件销毁之后,不再被执行。 */ protected callLater(handler: Function): any; protected callLater(handler: Function, timeout: number): any; protected callLater(handler: Function, context: any): any; protected callLater(handler: Function, context: any, timeout: number): any; /** * 终止`callLater`所发起的异步任务,用法与`clearTimeout`非常类似,但是更加安全, * 可以顺便将`callLater`所缓存的定时器序号删除。 * */ protected clearCallLater(handle: number): void; ngOnInit(): void; ngOnDestroy(): void; /** * 安全的调用一个函数,并返回该函数的返回值。如果该函数执行失败,可以在控制台给出实际的堆栈以协助排查问题 * * @param context 执行函数的上下文 */ safeInvokeCallback(context: any, callback: Function, args?: any[]): any; /** * 参考 `isDefined` * * @param value */ isUndefined(value: any): boolean; /** * 可靠的判断一个值是否有效,输入 `""` 和 `0` 均返回true,只有`null`或者`undefined`才会返回false * * @param value 待测验的值 */ isDefined(value: any): boolean; } export declare abstract class BlockBaseComponent extends BaseComponent implements FormBlockClass { setService: SetService; protected pageService: PageService; protected jwtService: JwtService; protected http: HttpService; protected _sets: any; sets: any; acl: string; local: boolean; static: boolean; blockid: string; layoutid: string; form: FormGroup; nzFormGroupData: any; nzLayout: string; staticSets: { eventDatas: any; generateDatas: any; baseDatas: any; formDatas: any; otherDatas: any; }; setData: any[]; constructor(setService: SetService, pageService: PageService, jwtService: JwtService, http: HttpService); ngOnInit(): void; baseInit(): void; otherInPzInit(): void; /** 配置数组自动更新方法 */ abstract autoUpdate(): any; /** 配置面板数据设置 */ abstract setDataInit(): any; /** 表单数据变化时具体执行的方法 */ abstract doValueChange(val: any): any; /** 表单配置时初始化,包括设置数据类型、设置搜索方式 */ formDataInit(): void; /** 表单值变化监听 */ valueChangeSubscribe(): void; /** * 配置时的监听,只会发生在工具配置时 */ pzListening(): void; /** 配置时的监听具体执行的方法 */ abstract pzSwitchFn(data: any): any; /** * 使用时的监听 */ Listening(): void; /** 使用时的监听执行的具体方法 */ abstract switchFn(data: any): any; ngOnDestroy(): void; }