UNPKG

amis

Version:

一种MIS页面生成工具

889 lines 826 kB
/// <reference types="lodash" /> import React from 'react'; import hoistNonReactStatic from 'hoist-non-react-statics'; import { IFormItemStore, IFormStore } from '../../store/form'; import { RendererProps, TestFunc, RendererConfig } from '../../factory'; import { FormHorizontal, FormSchema, FormSchemaHorizontal } from '.'; import { Schema } from '../../types'; import { SchemaRemark } from '../Remark'; import { BaseSchema, SchemaClassName } from '../../Schema'; import { TextControlSchema } from './Text'; import { SelectControlSchema } from './Select'; import { TextareaControlSchema } from './Textarea'; import { ArrayControlSchema } from './Array'; import { ComboControlSchema } from './Combo'; import { ButtonControlSchema } from './Button'; import { ButtonGroupControlSchema } from './ButtonGroup'; import { ButtonToolbarControlSchema } from './ButtonToolbar'; import { ChainedSelectControlSchema } from './ChainedSelect'; import { CheckboxControlSchema } from './Checkbox'; import { CheckboxesControlSchema } from './Checkboxes'; import { CityControlSchema } from './City'; import { ColorControlSchema } from './Color'; import { ConditionBuilderControlSchema } from './ConditionBuilder'; import { ContainerControlSchema } from './Container'; import { DateControlSchema, DateTimeControlSchema, MonthControlSchema, QuarterControlSchema, TimeControlSchema } from './Date'; import { DateRangeControlSchema } from './DateRange'; import { DiffControlSchema } from './DiffEditor'; import { EditorControlSchema } from './Editor'; import { FieldSetControlSchema } from './FieldSet'; import { FileControlSchema } from './File'; import { FormulaControlSchema } from './Formula'; import { GridControlSchema } from './Grid'; import { GroupControlSchema } from './Group'; import { HBoxControlSchema } from './HBox'; import { HiddenControlSchema } from './Hidden'; import { IconPickerControlSchema } from './IconPicker'; import { ImageControlSchema } from './Image'; import { InputGroupControlSchema } from './InputGroup'; import { ListControlSchema } from './List'; import { LocationControlSchema } from './Location'; import { MatrixControlSchema } from './Matrix'; import { NestedSelectControlSchema } from './NestedSelect'; import { NumberControlSchema } from './Number'; import { PanelControlSchema } from './Panel'; import { PickerControlSchema } from './Picker'; import { RadiosControlSchema } from './Radios'; import { RangeControlSchema } from './Range'; import { RatingControlSchema } from './Rating'; import { RepeatControlSchema } from './Repeat'; import { RichTextControlSchema } from './RichText'; import { ServiceControlSchema } from './Service'; import { StaticControlRestSchema, StaticControlSchema } from './Static'; import { SubFormControlSchema } from './SubForm'; import { SwitchControlSchema } from './Switch'; import { TableControlSchema } from './Table'; import { TabsControlSchema } from './Tabs'; import { TabsTransferControlSchema } from './TabsTransfer'; import { TagControlSchema } from './Tag'; import { TransferControlSchema } from './Transfer'; import { TreeControlSchema } from './Tree'; import { TreeSelectControlSchema } from './TreeSelect'; import { UUIDControlSchema } from './UUID'; import { DividerSchema } from '../Divider'; import { MonthRangeControlSchema } from './MonthRange'; import { AnchorNavControlSchema } from './AnchorNav'; export declare type FormControlType = 'array' | 'button' | 'submit' | 'reset' | 'button-group' | 'button-toolbar' | 'chained-select' | 'chart-radios' | 'checkbox' | 'checkboxes' | 'city' | 'color' | 'combo' | 'condition-builder' | 'container' | 'date' | 'datetime' | 'time' | 'quarter' | 'month' | 'date-range' | 'diff' | 'editor' | 'bat-editor' | 'c-editor' | 'coffeescript-editor' | 'cpp-editor' | 'csharp-editor' | 'css-editor' | 'dockerfile-editor' | 'fsharp-editor' | 'go-editor' | 'handlebars-editor' | 'html-editor' | 'ini-editor' | 'java-editor' | 'javascript-editor' | 'json-editor' | 'less-editor' | 'lua-editor' | 'markdown-editor' | 'msdax-editor' | 'objective-c-editor' | 'php-editor' | 'plaintext-editor' | 'postiats-editor' | 'powershell-editor' | 'pug-editor' | 'python-editor' | 'r-editor' | 'razor-editor' | 'ruby-editor' | 'sb-editor' | 'scss-editor' | 'sol-editor' | 'sql-editor' | 'swift-editor' | 'typescript-editor' | 'vb-editor' | 'xml-editor' | 'yaml-editor' | 'fieldset' | 'fieldSet' | 'file' | 'formula' | 'grid' | 'group' | 'hbox' | 'hidden' | 'icon-picker' | 'image' | 'input-group' | 'list' | 'location' | 'matrix' | 'month-range' | 'nested-select' | 'number' | 'panel' | 'picker' | 'radios' | 'range' | 'rating' | 'repeat' | 'rich-text' | 'select' | 'service' | 'static' | 'form' | 'switch' | 'table' | 'tabs' | 'tabs-transfer' | 'tag' | 'text' | 'password' | 'email' | 'url' | 'uuid' | 'multi-select' | 'textarea' | 'transfer' | 'tree' | 'tree-select' | 'divider' | 'html' | 'plain' | 'tpl' | 'anchor-nav' | 'native-date' | 'native-time' | 'native-number'; export declare type FormControlSchema = ArrayControlSchema | ButtonControlSchema | ButtonGroupControlSchema | ButtonToolbarControlSchema | ChainedSelectControlSchema | CheckboxControlSchema | CheckboxesControlSchema | CityControlSchema | ColorControlSchema | ComboControlSchema | ConditionBuilderControlSchema | ContainerControlSchema | DateControlSchema | DateTimeControlSchema | TimeControlSchema | MonthControlSchema | MonthControlSchema | QuarterControlSchema | DateRangeControlSchema | DiffControlSchema | EditorControlSchema | FieldSetControlSchema | FileControlSchema | FormulaControlSchema | GridControlSchema | GroupControlSchema | HBoxControlSchema | HiddenControlSchema | IconPickerControlSchema | ImageControlSchema | InputGroupControlSchema | ListControlSchema | LocationControlSchema | UUIDControlSchema | MatrixControlSchema | MonthRangeControlSchema | NestedSelectControlSchema | NumberControlSchema | PanelControlSchema | PickerControlSchema | RadiosControlSchema | RangeControlSchema | RatingControlSchema | RichTextControlSchema | RepeatControlSchema | SelectControlSchema | ServiceControlSchema | SubFormControlSchema | SwitchControlSchema | StaticControlSchema | StaticControlRestSchema | TableControlSchema | TabsControlSchema | TabsTransferControlSchema | TagControlSchema | TextControlSchema | TextareaControlSchema | TransferControlSchema | TreeControlSchema | TreeSelectControlSchema | AnchorNavControlSchema | DividerSchema; export declare type FormControlSchemaAlias = FormControlSchema; export interface FormBaseControl extends Omit<BaseSchema, 'type'> { /** * 表单项类型 */ type: FormControlType; /** * 表单项大小 */ size?: 'xs' | 'sm' | 'md' | 'lg' | 'full'; /** * 描述标题 */ label?: string | false; /** * 配置 label className */ labelClassName?: SchemaClassName; /** * 字段名,表单提交时的 key,支持多层级,用.连接,如: a.b.c */ name?: string; /** * 显示一个小图标, 鼠标放上去的时候显示提示内容 */ remark?: SchemaRemark; /** * 显示一个小图标, 鼠标放上去的时候显示提示内容, 这个小图标跟 label 在一起 */ labelRemark?: SchemaRemark; /** * 输入提示,聚焦的时候显示 */ hint?: string; /** * 当修改完的时候是否提交表单。 */ submitOnChange?: boolean; /** * 是否只读 */ readOnly?: boolean; /** * 不设置时,当表单提交过后表单项每次修改都会触发重新验证, * 如果设置了,则由此配置项来决定要不要每次修改都触发验证。 */ validateOnChange?: boolean; /** * 描述内容,支持 Html 片段。 */ description?: string; /** * @deprecated 用 description 代替 */ desc?: string; /** * 配置描述上的 className */ descriptionClassName?: SchemaClassName; /** * 配置当前表单项展示模式 */ mode?: 'normal' | 'inline' | 'horizontal'; /** * 当配置为水平布局的时候,用来配置具体的左右分配。 */ horizontal?: FormSchemaHorizontal; /** * 表单 control 是否为 inline 模式。 */ inline?: boolean; /** * 配置 input className */ inputClassName?: SchemaClassName; /** * 占位符 */ placeholder?: string; /** * 是否为必填 */ required?: boolean; /** * 验证失败的提示信息 */ validationErrors?: { isAlpha?: string; isAlphanumeric?: string; isEmail?: string; isFloat?: string; isInt?: string; isJson?: string; isLength?: string; isNumeric?: string; isRequired?: string; isUrl?: string; matchRegexp?: string; matchRegexp2?: string; matchRegexp3?: string; matchRegexp4?: string; matchRegexp5?: string; maxLength?: string; maximum?: string; minLength?: string; minimum?: string; [propName: string]: any; }; validations?: string | { /** * 是否是字母 */ isAlpha?: boolean; /** * 是否为字母数字 */ isAlphanumeric?: boolean; /** * 是否为邮箱地址 */ isEmail?: boolean; /** * 是否为浮点型 */ isFloat?: boolean; /** * 是否为整型 */ isInt?: boolean; /** * 是否为 json */ isJson?: boolean; /** * 长度等于指定值 */ isLength?: number; /** * 是否为数字 */ isNumeric?: boolean; /** * 是否为必填 */ isRequired?: boolean; /** * 是否为 URL 地址 */ isUrl?: boolean; /** * 内容命中指定正则 */ matchRegexp?: string; /** * 内容命中指定正则 */ matchRegexp1?: string; /** * 内容命中指定正则 */ matchRegexp2?: string; /** * 内容命中指定正则 */ matchRegexp3?: string; /** * 内容命中指定正则 */ matchRegexp4?: string; /** * 内容命中指定正则 */ matchRegexp5?: string; /** * 最大长度为指定值 */ maxLength?: number; /** * 最大值为指定值 */ maximum?: number; /** * 最小长度为指定值 */ minLength?: number; /** * 最小值为指定值 */ minimum?: number; [propName: string]: any; }; /** * 默认值,切记只能是静态值,不支持取变量,跟数据关联是通过设置 name 属性来实现的。 */ value?: any; /** * 表单项隐藏时,是否在当前 Form 中删除掉该表单项值。注意同名的未隐藏的表单项值也会删掉 */ clearValueOnHidden?: boolean; } export interface FormItemBasicConfig extends Partial<RendererConfig> { type?: string; wrap?: boolean; renderLabel?: boolean; renderDescription?: boolean; test?: RegExp | TestFunc; storeType?: string; validations?: string; strictMode?: boolean; descriptionClassName?: string; storeExtendsData?: boolean; sizeMutable?: boolean; weight?: number; extendsData?: boolean; showErrorMsg?: boolean; validate?: (values: any, value: any) => string | boolean; } export interface FormItemProps extends RendererProps { name?: string; formStore?: IFormStore; formItem?: IFormItemStore; formInited: boolean; formMode: 'normal' | 'horizontal' | 'inline' | 'row' | 'default'; formHorizontal: FormHorizontal; defaultSize?: 'xs' | 'sm' | 'md' | 'lg' | 'full'; size?: 'xs' | 'sm' | 'md' | 'lg' | 'full'; disabled?: boolean; btnDisabled: boolean; defaultValue: any; value?: any; prinstine: any; setPrinstineValue: (value: any) => void; onChange: (value: any, submitOnChange?: boolean, changeImmediately?: boolean) => void; onBulkChange: (values: { [propName: string]: any; }, submitOnChange?: boolean) => void; addHook: (fn: Function, mode?: 'validate' | 'init' | 'flush') => () => void; removeHook: (fn: Function, mode?: 'validate' | 'init' | 'flush') => void; renderFormItems: (schema: Partial<FormSchema>, region: string, props: any) => JSX.Element; onFocus: (e: any) => void; onBlur: (e: any) => void; formItemValue: any; getValue: () => any; setValue: (value: any, key: string) => void; inputClassName?: string; renderControl?: (props: FormControlProps) => JSX.Element; inputOnly?: boolean; renderLabel?: boolean; renderDescription?: boolean; sizeMutable?: boolean; wrap?: boolean; hint?: string; description?: string; descriptionClassName?: string; errors?: { [propName: string]: string; }; error?: string; showErrorMsg?: boolean; } export declare type FormControlProps = RendererProps & { onOpenDialog: (schema: Schema, data: any) => Promise<any>; } & Exclude<FormItemProps, 'inputClassName' | 'renderControl' | 'defaultSize' | 'size' | 'error' | 'errors' | 'hint' | 'descriptionClassName' | 'inputOnly' | 'renderLabel' | 'renderDescription' | 'sizeMutable' | 'wrap'>; export declare type FormItemComponent = React.ComponentType<FormItemProps>; export declare type FormControlComponent = React.ComponentType<FormControlProps>; export interface FormItemConfig extends FormItemBasicConfig { component: FormControlComponent; } export declare class FormItemWrap extends React.Component<FormItemProps> { reaction: any; componentWillMount(): void; componentWillUnmount(): void; handleFocus(e: any): void; handleBlur(e: any): void; handleOpenDialog(schema: Schema, data: any): Promise<unknown>; handleDialogConfirm([values]: Array<any>): void; handleDialogClose(): void; renderControl(): JSX.Element | null; renderHorizontal(): JSX.Element; renderNormal(): JSX.Element; renderInline(): JSX.Element; renderRow(): JSX.Element; render(): JSX.Element | null; } export declare const detectProps: string[]; export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (Control: FormControlComponent) => { new (props: FormItemProps): { ref: any; componentWillMount(): void; shouldComponentUpdate(nextProps: FormControlProps): boolean; getWrappedInstance(): any; refFn(ref: any): void; renderControl(): JSX.Element; reaction: any; componentWillUnmount(): void; handleFocus(e: any): void; handleBlur(e: any): void; handleOpenDialog(schema: Schema, data: any): Promise<unknown>; handleDialogConfirm([values]: any[]): void; handleDialogClose(): void; renderHorizontal(): JSX.Element; renderNormal(): JSX.Element; renderInline(): JSX.Element; renderRow(): JSX.Element; render(): JSX.Element | null; context: any; setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<FormItemProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void; forceUpdate(callback?: (() => void) | undefined): void; readonly props: Readonly<FormItemProps> & Readonly<{ children?: React.ReactNode; }>; state: Readonly<{}>; refs: { [key: string]: React.ReactInstance; }; componentDidMount?(): void; componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void; getSnapshotBeforeUpdate?(prevProps: Readonly<FormItemProps>, prevState: Readonly<{}>): any; componentDidUpdate?(prevProps: Readonly<FormItemProps>, prevState: Readonly<{}>, snapshot?: any): void; UNSAFE_componentWillMount?(): void; componentWillReceiveProps?(nextProps: Readonly<FormItemProps>, nextContext: any): void; UNSAFE_componentWillReceiveProps?(nextProps: Readonly<FormItemProps>, nextContext: any): void; componentWillUpdate?(nextProps: Readonly<FormItemProps>, nextState: Readonly<{}>, nextContext: any): void; UNSAFE_componentWillUpdate?(nextProps: Readonly<FormItemProps>, nextState: Readonly<{}>, nextContext: any): void; }; defaultProps: { render?: ((region: string, node: import("../../types").SchemaNode, props?: any) => JSX.Element) | undefined; env?: import("../../env").RendererEnv | undefined; $path?: string | undefined; store?: ({ id: string; path: string; storeType: string; disposed: boolean; parentId: string; childrenIds: import("mobx-state-tree").IMSTArray<import("mobx-state-tree").ISimpleType<string>> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").ISimpleType<string>>, [undefined]>>; hasRemoteData: boolean; data: any; initedAt: number; updatedAt: number; pristine: any; action: any; dialogOpen: boolean; dialogData: any; drawerOpen: boolean; drawerData: any; } & import("mobx-state-tree/dist/internal").NonEmptyObject & { readonly parentStore: any; readonly __: any; } & { onChildStoreDispose(child: any): void; syncProps(props: any, prevProps: any, list?: string[]): void; dispose: (callback?: (() => void) | undefined) => void; addChildId: (id: string) => void; removeChildId: (id: string) => void; } & { initData(data?: object, skipSetPristine?: boolean): void; reset(): void; updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined): void; setCurrentAction(action: object): void; openDialog(ctx: any, additonal?: object | undefined, callback?: ((ret: any) => void) | undefined): void; closeDialog(result?: any): void; openDrawer(ctx: any, additonal?: object | undefined, callback?: ((ret: any) => void) | undefined): void; closeDrawer(result?: any): void; } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{ id: import("mobx-state-tree").ISimpleType<string>; path: import("mobx-state-tree").IType<string | undefined, string, string>; storeType: import("mobx-state-tree").ISimpleType<string>; disposed: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; parentId: import("mobx-state-tree").IType<string | undefined, string, string>; childrenIds: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").ISimpleType<string>>, [undefined]>; } & { hasRemoteData: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>; data: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>; initedAt: import("mobx-state-tree").IType<number | undefined, number, number>; updatedAt: import("mobx-state-tree").IType<number | undefined, number, number>; pristine: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>; action: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>; dialogOpen: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; dialogData: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>; drawerOpen: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; drawerData: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>; }, { readonly parentStore: any; readonly __: any; } & { onChildStoreDispose(child: any): void; syncProps(props: any, prevProps: any, list?: string[]): void; dispose: (callback?: (() => void) | undefined) => void; addChildId: (id: string) => void; removeChildId: (id: string) => void; } & { initData(data?: object, skipSetPristine?: boolean): void; reset(): void; updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined): void; setCurrentAction(action: object): void; openDialog(ctx: any, additonal?: object | undefined, callback?: ((ret: any) => void) | undefined): void; closeDialog(result?: any): void; openDrawer(ctx: any, additonal?: object | undefined, callback?: ((ret: any) => void) | undefined): void; closeDrawer(result?: any): void; }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>) | undefined; syncSuperStore?: boolean | undefined; data?: { [propName: string]: any; } | undefined; defaultData?: object | undefined; className: any; classPrefix?: string | undefined; classnames?: import("../../theme").ClassNamesFn | undefined; theme?: string | undefined; locale?: string | undefined; translate?: import("../../locale").TranslateFn<any> | undefined; onOpenDialog?: ((schema: Schema, data: any) => Promise<any>) | undefined; name?: string | undefined; formStore?: ({ id: string; path: string; storeType: string; disposed: boolean; parentId: string; childrenIds: import("mobx-state-tree").IMSTArray<import("mobx-state-tree").ISimpleType<string>> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").ISimpleType<string>>, [undefined]>>; hasRemoteData: boolean; data: any; initedAt: number; updatedAt: number; pristine: any; action: any; dialogOpen: boolean; dialogData: any; drawerOpen: boolean; drawerData: any; msg: string; error: boolean; fetching: boolean; saving: boolean; busying: boolean; checking: boolean; initializing: boolean; schema: any; schemaKey: string; inited: boolean; validated: boolean; submited: boolean; submiting: boolean; validating: boolean; savedData: any; itemsRef: import("mobx-state-tree").IMSTArray<import("mobx-state-tree").ISimpleType<string>> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").ISimpleType<string>>, [undefined]>>; canAccessSuperData: boolean; persistData: string; restError: import("mobx-state-tree").IMSTArray<import("mobx-state-tree").ISimpleType<string>> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").ISimpleType<string>>, [undefined]>>; } & import("mobx-state-tree/dist/internal").NonEmptyObject & { readonly parentStore: any; readonly __: any; } & { onChildStoreDispose(child: any): void; syncProps(props: any, prevProps: any, list?: string[]): void; dispose: (callback?: (() => void) | undefined) => void; addChildId: (id: string) => void; removeChildId: (id: string) => void; } & { initData(data?: object, skipSetPristine?: boolean): void; reset(): void; updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined): void; setCurrentAction(action: object): void; openDialog(ctx: any, additonal?: object | undefined, callback?: ((ret: any) => void) | undefined): void; closeDialog(result?: any): void; openDrawer(ctx: any, additonal?: object | undefined, callback?: ((ret: any) => void) | undefined): void; closeDrawer(result?: any): void; } & { readonly loading: boolean; } & { markFetching: (fetching?: boolean) => void; markSaving: (saving?: boolean) => void; markBusying: (busying?: boolean) => void; fetchInitData: (api: import("../../types").Api, data?: object | undefined, options?: import("../../types").fetchOptions | undefined) => Promise<any>; fetchData: (api: import("../../types").Api, data?: object | undefined, options?: import("../../types").fetchOptions | undefined) => Promise<any>; fetchWSData: (ws: string, afterDataFetch: (data: any) => any) => void; reInitData: (data: object | undefined, replace?: boolean) => void; updateMessage: (msg?: string | undefined, error?: boolean) => void; clearMessage: () => void; setHasRemoteData: () => void; saveRemote: (api: import("../../types").Api, data?: object | undefined, options?: import("../../types").fetchOptions | undefined) => Promise<any>; fetchSchema: (api: import("../../types").Api, data?: object | undefined, options?: import("../../types").fetchOptions | undefined) => Promise<any>; checkRemote: (api: import("../../types").Api, data?: object | undefined, options?: import("../../types").fetchOptions | undefined) => Promise<any>; } & { readonly loading: boolean; readonly items: ({ id: string; path: string; storeType: string; disposed: boolean; parentId: string; childrenIds: import("mobx-state-tree").IMSTArray<import("mobx-state-tree").ISimpleType<string>> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").ISimpleType<string>>, [undefined]>>; isFocused: boolean; type: string; unique: boolean; loading: boolean; required: boolean; tmpValue: any; rules: any; messages: any; errorData: import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IModelType<{ msg: import("mobx-state-tree").IType<string | undefined, string, string>; tag: import("mobx-state-tree").IType<string | undefined, string, string>; }, {}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{ msg: import("mobx-state-tree").IType<string | undefined, string, string>; tag: import("mobx-state-tree").IType<string | undefined, string, string>; }, {}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>, [undefined]>>; name: string; itemId: string; unsetValueOnInvisible: boolean; itemsRef: import("mobx-state-tree").IMSTArray<import("mobx-state-tree").ISimpleType<string>> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").ISimpleType<string>>, [undefined]>>; validated: boolean; validating: boolean; multiple: boolean; delimiter: string; valueField: string; labelField: string; joinValues: boolean; extractValue: boolean; options: any[] & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any[], any[], any[]>, [undefined]>>; expressionsInOptions: boolean; selectFirst: boolean; autoFill: any; clearValueOnHidden: boolean; selectedOptions: any; filteredOptions: any; dialogSchema: any; dialogOpen: boolean; dialogData: any; resetValue: any; } & import("mobx-state-tree/dist/internal").NonEmptyObject & { readonly parentStore: any; readonly __: any; } & { onChildStoreDispose(child: any): void; syncProps(props: any, prevProps: any, list?: string[]): void; dispose: (callback?: (() => void) | undefined) => void; addChildId: (id: string) => void; removeChildId: (id: string) => void; } & { readonly subFormItems: any; readonly form: any; readonly value: any; readonly prinstine: any; readonly errors: string[]; readonly valid: boolean; readonly lastSelectValue: string; getSelectedOptions: (value?: any) => any[]; } & { focus: () => void; blur: () => void; config: ({ required, unique, value, rules, messages, delimiter, multiple, valueField, labelField, joinValues, extractValue, type, id, selectFirst, autoFill, clearValueOnHidden }: { required?: boolean | undefined; unique?: boolean | undefined; value?: any; rules?: string | { [propName: string]: any; } | undefined; messages?: { [propName: string]: string; } | undefined; multiple?: boolean | undefined; delimiter?: string | undefined; valueField?: string | undefined; labelField?: string | undefined; joinValues?: boolean | undefined; extractValue?: boolean | undefined; type?: string | undefined; id?: string | undefined; selectFirst?: boolean | undefined; autoFill?: any; clearValueOnHidden?: boolean | undefined; }) => void; changeValue: (value: any, isPrintine?: boolean) => void; validate: (hook?: any) => Promise<boolean>; setError: (msg: string | string[], tag?: string) => void; addError: (msg: string | string[], tag?: string) => void; clearError: (tag?: string | undefined) => void; setOptions: (options: object[], onChange?: ((value: any) => void) | undefined) => void; loadOptions: (api: import("../../types").Api, data?: object | undefined, config?: import("../../types").fetchOptions | undefined, clearValue?: boolean | undefined, onChange?: ((value: any) => void) | undefined, setErrorFlag?: boolean | undefined) => Promise<import("../../types").Payload | null>; deferLoadOptions: (option: any, api: import("../../types").Api, data?: object | undefined, config?: import("../../types").fetchOptions | undefined) => Promise<import("../../types").Payload | null>; syncOptions: (originOptions?: any[] | undefined) => void; setLoading: (value: boolean) => void; setSubStore: (store: any) => void; getSubStore: () => any; reset: () => void; openDialog: (schema: any, data?: any, callback?: ((ret?: any) => void) | undefined) => void; closeDialog: (result?: any) => void; syncAutoFill: (value?: any, isPrintine?: boolean) => void; changeTmpValue: (value: any) => void; addSubFormItem: (item: { id: string; path: string; storeType: string; disposed: boolean; parentId: string; childrenIds: import("mobx-state-tree").IMSTArray<import("mobx-state-tree").ISimpleType<string>> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").ISimpleType<string>>, [undefined]>>; isFocused: boolean; type: string; unique: boolean; loading: boolean; required: boolean; tmpValue: any; rules: any; messages: any; errorData: import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IModelType<{ msg: import("mobx-state-tree").IType<string | undefined, string, string>; tag: import("mobx-state-tree").IType<string | undefined, string, string>; }, {}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{ msg: import("mobx-state-tree").IType<string | undefined, string, string>; tag: import("mobx-state-tree").IType<string | undefined, string, string>; }, {}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>, [undefined]>>; name: string; itemId: string; unsetValueOnInvisible: boolean; itemsRef: import("mobx-state-tree").IMSTArray<import("mobx-state-tree").ISimpleType<string>> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").ISimpleType<string>>, [undefined]>>; validated: boolean; validating: boolean; multiple: boolean; delimiter: string; valueField: string; labelField: string; joinValues: boolean; extractValue: boolean; options: any[] & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any[], any[], any[]>, [undefined]>>; expressionsInOptions: boolean; selectFirst: boolean; autoFill: any; clearValueOnHidden: boolean; selectedOptions: any; filteredOptions: any; dialogSchema: any; dialogOpen: boolean; dialogData: any; resetValue: any; } & import("mobx-state-tree/dist/internal").NonEmptyObject & { readonly parentStore: any; readonly __: any; } & { onChildStoreDispose(child: any): void; syncProps(props: any, prevProps: any, list?: string[]): void; dispose: (callback?: (() => void) | undefined) => void; addChildId: (id: string) => void; removeChildId: (id: string) => void; } & { readonly subFormItems: any; readonly form: any; readonly value: any; readonly prinstine: any; readonly errors: string[]; readonly valid: boolean; readonly lastSelectValue: string; getSelectedOptions: (value?: any) => any[]; } & any & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{ id: import("mobx-state-tree").ISimpleType<string>; path: import("mobx-state-tree").IType<string | undefined, string, string>; storeType: import("mobx-state-tree").ISimpleType<string>; disposed: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; parentId: import("mobx-state-tree").IType<string | undefined, string, string>; childrenIds: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").ISimpleType<string>>, [undefined]>; } & { isFocused: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; type: import("mobx-state-tree").IType<string | undefined, string, string>; unique: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; loading: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; required: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; tmpValue: import("mobx-state-tree").IType<any, any, any>; rules: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>; messages: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>; errorData: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{ msg: import("mobx-state-tree").IType<string | undefined, string, string>; tag: import("mobx-state-tree").IType<string | undefined, string, string>; }, {}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>, [undefined]>; name: import("mobx-state-tree").ISimpleType<string>; itemId: import("mobx-state-tree").IType<string | undefined, string, string>; unsetValueOnInvisible: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; itemsRef: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").ISimpleType<string>>, [undefined]>; validated: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; validating: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; multiple: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; delimiter: import("mobx-state-tree").IType<string | undefined, string, string>; valueField: import("mobx-state-tree").IType<string | undefined, string, string>; labelField: import("mobx-state-tree").IType<string | undefined, string, string>; joinValues: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; extractValue: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; options: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any[], any[], any[]>, [undefined]>; expressionsInOptions: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; selectFirst: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; autoFill: import("mobx-state-tree").IType<any, any, any>; clearValueOnHidden: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; selectedOptions: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>; filteredOptions: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>; dialogSchema: import("mobx-state-tree").IType<any, any, any>; dialogOpen: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; dialogData: import("mobx-state-tree").IType<any, any, any>; resetValue: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>; }, { readonly parentStore: any; readonly __: any; } & { onChildStoreDispose(child: any): void; syncProps(props: any, prevProps: any, list?: string[]): void; dispose: (callback?: (() => void) | undefined) => void; addChildId: (id: string) => void; removeChildId: (id: string) => void; } & { readonly subFormItems: any; readonly form: any; readonly value: any; readonly prinstine: any; readonly errors: string[]; readonly valid: boolean; readonly lastSelectValue: string; getSelectedOptions: (value?: any) => any[]; } & any, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>) => void; removeSubFormItem: (item: { id: string; path: string; storeType: string; disposed: boolean; parentId: string; childrenIds: import("mobx-state-tree").IMSTArray<import("mobx-state-tree").ISimpleType<string>> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").ISimpleType<string>>, [undefined]>>; isFocused: boolean; type: string; unique: boolean; loading: boolean; required: boolean; tmpValue: any; rules: any; messages: any; errorData: import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IModelType<{ msg: import("mobx-state-tree").IType<string | undefined, string, string>; tag: import("mobx-state-tree").IType<string | undefined, string, string>; }, {}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{ msg: import("mobx-state-tree").IType<string | undefined, string, string>; tag: import("mobx-state-tree").IType<string | undefined, string, string>; }, {}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>, [undefined]>>; name: string; itemId: string; unsetValueOnInvisible: boolean; itemsRef: import("mobx-state-tree").IMSTArray<import("mobx-state-tree").ISimpleType<string>> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").ISimpleType<string>>, [undefined]>>; validated: boolean; validating: boolean; multiple: boolean; delimiter: string; valueField: string; labelField: string; joinValues: boolean; extractValue: boolean; options: any[] & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any[], any[], any[]>, [undefined]>>; expressionsInOptions: boolean; selectFirst: boolean; autoFill: any; clearValueOnHidden: boolean; selectedOptions: any; filteredOptions: any; dialogSchema: any; dialogOpen: boolean; dialogData: any; resetValue: any; } & import("mobx-state-tree/dist/internal").NonEmptyObject & { readonly parentStore: any; readonly __: any; } & { onChildStoreDispose(child: any): void; syncProps(props: any, prevProps: any, list?: string[]): void; dispose: (callback?: (() => void) | undefined) => void; addChildId: (id: string) => void; removeChildId: (id: string) => void; } & { readonly subFormItems: any; readonly form: any; readonly value: any; readonly prinstine: any; readonly errors: string[]; readonly valid: boolean; readonly lastSelectValue: string; getSelectedOptions: (value?: any) => any[]; } & any & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{ id: import("mobx-state-tree").ISimpleType<string>; path: import("mobx-state-tree").IType<string | undefined, string, string>; storeType: import("mobx-state-tree").ISimpleType<string>; disposed: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; parentId: import("mobx-state-tree").IType<string | undefined, string, string>; childrenIds: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").ISimpleType<string>>, [undefined]>; } & { isFocused: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; type: import("mobx-state-tree").IType<string | undefined, string, string>; unique: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; loading: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; required: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; tmpValue: import("mobx-state-tree").IType<any, any, any>; rules: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>; messages: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>; errorData: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{ msg: import("mobx-state-tree").IType<string | undefined, string, string>; tag: import("mobx-state-tree").IType<string | undefined, string, string>; }, {}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>, [undefined]>; name: import("mobx-state-tree").ISimpleType<string>; itemId: import("mobx-state-tree").IType<string | undefined, string, string>; unsetValueOnInvisible: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; itemsRef: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").ISimpleType<string>>, [undefined]>; validated: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; validating: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; multiple: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; delimiter: import("mobx-state-tree").IType<string | undefined, string, string>; valueField: import("mobx-state-tree").IType<string | undefined, string, string>; labelField: import("mobx-state-tree").IType<string | undefined, string, string>; joinValues: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; extractValue: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; options: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any[], any[], any[]>, [undefined]>; expressionsInOptions: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; selectFirst: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; autoFill: import("mobx-state-tree").IType<any, any, any>; clearValueOnHidden: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; selectedOptions: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>; filteredOptions: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>; dialogSchema: import("mobx-state-tree").IType<any, any, any>; dialogOpen: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>; dialogData: import("mobx-state-tree").IType<any, any, any>; resetValue: import("mobx-state-tree").IOptionalI