amis
Version:
一种MIS页面生成工具
889 lines • 826 kB
TypeScript
/// <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