import React from "react"; import { ExpressionSource } from "../MagicExpressionWidget/types"; import { DataSourceOption } from "../common/BaseUI/DropdownRenderer/Reference"; import { AppendPosition, ShowColumns } from "./constants"; import "./index.less"; import { Common } from "./types/Common"; import Schema, { CustomFieldsConfig, CustomOptions } from "./types/Schema"; import SchemaDescription from "./types/SchemaDescription"; /** * @title JsonSchemaEditor */ export interface JsonSchemaEditorProps { /** * @zh 是否开启 mock */ mock?: boolean; /** * @zh 是否展示 json 编辑器 */ jsonEditor?: boolean; /** * @zh Schema 变更的回调 */ onChange?: (schema: Schema) => void; /** * @zh 初始化 Schema */ data?: Schema | string; /** * @zh 是否允许表达式 */ allowExpression?: boolean; /** * @zh 是否根节点只允许json格式 */ onlyJson?: boolean; /** * @zh 自定义参数类型可选项(可设置items, root, normal) */ customOptions?: CustomOptions; /** * @zh 表达式数据源 */ expressionSource?: DataSourceOption[]; /** * @zh 是否开启 import json 功能 */ jsonImport?: boolean; /** * @zh 是否开启 import json 功能 */ debuggerMode?: boolean; /** * @zh 开发者自用,默认值编辑模式 */ valueEdit?: boolean; /** * @zh 失去焦点事件 */ onBlur?: (schema: Schema) => void; /** * 是否可以做添加删除操作 */ allowOperation?: boolean; /** * 是否最少有一个子节点 */ oneChildAtLeast?: boolean; /** * 默认生成的子节点的key */ firstChildKey?: string; /** * 全局禁用的field列表,对应的field不可编辑 */ disableFields?: string[]; /** * 添加相邻节点时,新字段的位置,默认为当前字段的下一个字段,可选择默认添加到末尾 */ relativeAppendPosition?: AppendPosition; /** * TODO 是否允许使用当前表单字段作为表达式数据源,暂时不要使用 */ allowSourceInjectBySelf?: boolean; /** * 当前表单组件唯一id */ uniqueFormId?: string; /** * 上文表单数据源 */ contextExpressionSource?: ExpressionSource; /** * 当前表单数据源变更函数 */ onInnerSourceMapChange?: (innerSource: Record) => void; /** * 当前显示列 */ displayColumns?: ShowColumns[]; /** * 自定义参数列名称显示 */ columnNames?: Record; /** * 是否允许添加字段 */ allowAdd?: boolean; /** * 是否所有值设置只能通过表达式 */ onlyExpression?: boolean; /** * 自定义某些字段的配置 */ customFieldsConfig?: CustomFieldsConfig; /** * 是否显示导入 */ showImport?: boolean; /** * 是否显示第一行(root层) */ showTopRow?: boolean; /** * 是否显示全局的添加参数 */ showAdd?: boolean; /** * 是否显示操作栏 */ showOperation?: boolean; /** * 是否初次加载就触发更新 */ fireImmediately?: boolean; } export declare const SchemaMobxContext: React.Context; declare const _default: React.ComponentType; export default _default;