import { DSLNodeType, DSLQuery } from '@lingxiteam/dsl'; import BaseCmd from './Base/BaseCmd'; interface DFormCmdProps { } interface DFormConfigType { /** * dsl操作对象 */ DSLCore: DSLQuery; /** * 组件构造器 * @returns */ compCreators: () => Record; /** * 业务对象 */ objectService: any[]; /** * FIXME: 临时处理,目前该方法在useMobileChange hooks函数中,暂时拆解不出来。 * @param opts * @param ctx * @returns */ modifyDformRelationDatasource: (opts: any, ctx: any) => void; /** * FIXME: 临时处理,目前该方法在useMobileChange hooks函数中,暂时拆解不出来。 * * @memberof DFormConfigType */ createComponentsDFromDatasource: (myattrs: any[], compCreators: () => Record, DSLCore: DSLQuery, convertToAppFormCompType: any) => any[]; /** * 表单生成规则 */ genRuleType: 'key' | 'object'; /** * 是否查询表单 */ isQueryForm: boolean; /** * 是否开启双向绑定 */ bothwayBind?: boolean; } interface GenerateFormItemOptions { /** * 表单节点 */ formNode: DSLNodeType; /** * 数据项项 */ dataSourceItem: any; /** * 过滤条件 可以配置某些内容不生成 * @returns */ predicate?: (item: any, index: number) => boolean; /** * 全局数据源 */ globalDataSource?: any[]; } /** * 移动端表单项生成 */ declare class DFormCmd extends BaseCmd { /** * 表单配置表 */ formConfig?: DFormConfigType; /** * 初始化配置 */ initialConfig(config: DFormConfigType): void; private disFormData; private generateFormItem; private getFormItem; /** * 通过数据源生成表单 * @param opts */ generateFormItemByDataSource(opts: GenerateFormItemOptions, type?: 'data' | 'globalData'): void; getFormItemByDataSource(opts: GenerateFormItemOptions): any[]; } export default DFormCmd;