import { AfterViewInit } from '@angular/core'; import { FormControl } from '@angular/forms'; import { ArrayProperty, FormProperty, ObjectProperty } from './model'; import { SFSchema, WidgetData } from './schema'; import { SchemaFormOptions } from './schema-form.options'; export declare abstract class Widget { formProperty: T; control: FormControl; errorMessages: string[]; id: string; name: string; schema: SFSchema; /** 获取 `widget` 数据 */ readonly widgetData: WidgetData; required: boolean; onlyVisual: boolean; showDescription: boolean; } /** * 小部件基类,一般用于无须校难通知视觉小部件 */ export declare class BaseWidget extends Widget { protected options: SchemaFormOptions; constructor(options: SchemaFormOptions); readonly size: "default" | "large" | "small"; readonly cls: string | string[]; readonly style: string | { [key: string]: string; }; readonly description: string; readonly placeholder: string; readonly extra: string; required: boolean; disabled: boolean; } /** * 小部件基类,带数据校验通知 */ export declare class ControlWidget extends BaseWidget implements AfterViewInit { readonly hasError: boolean; readonly errorMessage: string; ngAfterViewInit(): void; /** * 转化控件到数据的值, 如格式处理 date 类型转化成 YYYY-MM-DD 格式, 默认原样返回 * @param value */ serialize(value: any): any; /** * 解析数据传到控件的值,默认原样返回 * @param value */ deserialize(value: any): any; } export declare class ArrayLayoutWidget extends Widget implements AfterViewInit { ngAfterViewInit(): void; } export declare class ObjectLayoutWidget extends Widget implements AfterViewInit { ngAfterViewInit(): void; }