import React from 'react'; import { Config, PropertyDef } from '../../aop'; import { Nullable } from '../../base'; import { ObjectDefTemplate, OnChangeHandler, ValueEditor } from '../../react/editor'; import { View } from '../../react/mvc'; import './addonEditor.less'; /** * 属性信息 */ export interface PropertyInfo { propPath?: string; position: PropertyPosition; editingObject?: Config | any; currentObject?: Config | any; propName?: string; index?: string; propDef?: PropertyDef; } /** * 属性所处位置 */ export declare enum PropertyPosition { root = 0, object = 1, list = 2, map = 3, listElement = 4, mapElement = 5, none = 6 } export declare class AddonTree extends ValueEditor { /** * 属性选择事件 */ onPropertySelect?: (propertyInfo: PropertyInfo) => void; /** * 属性右键菜单 */ onItemContextMenu?: (propertyInfo: PropertyInfo) => Nullable; /** * 元素类型 */ elementCategories?: string[]; /** * 模板添加方法 */ onTemplateAdd?: (template: any) => void; expandedKeys?: string[]; onExpand?: (expandedKeys: string[]) => void; selectedKeys?: string[]; onSelect?: (selectedKeys: string[]) => void; onRender?: (() => JSX.Element) | undefined; } export declare const AddonTreeControl: any; /** * 控件编辑属性 */ export declare class AddonEditor extends View { /** * 模板添加事件 */ onTemplateAdd?: OnChangeHandler; /** * 元素类型 */ elementType?: string; /** * 元素允许的类别 */ elementCategories?: string[]; onChange?: (value: any) => void; onRender?: (() => JSX.Element) | undefined; } /** * 控件编辑器 * @param props 属性 */ export declare const AddonEditorControl: any;