import { CustomFuctionsItem, DSLNode, DataSourceItemType } from '@lingxiteam/dsl/es/core/PropType'; import type { CHANGE_TYPE_ENUMS } from '../Editor/VersHistoryRecord/const'; import { STATUS } from './const'; import { DSLQuery } from '@lingxiteam/dsl'; export declare type ACTION_TYPE = 'ADD' | 'MODIFY' | 'DELETE'; export interface ChangeItem { /** * 操作方式 */ action: ACTION_TYPE; /** * 是否冲突 */ conflict: boolean; newJsonPath: string; /** * 节点id */ nodeId: string; /** * 父节点id */ parentNodeId: string; /** * 父级类型 */ parentType: CHANGE_TYPE_ENUMS; /** * 类型 */ resType: CHANGE_TYPE_ENUMS; /** * 控件id */ resId?: string; /** * 子节点 */ children: ChangeItem[]; [key: string]: any; } export interface CompItemType { node: DSLNode; changeItem?: ChangeItem; children?: CompItemType[]; } /** * 控件类型 */ export interface CompType extends ChangeItem { PAGE_COMPONENT_PROPS: ChangeItem[]; PAGE_COMPONENT_STYLE: ChangeItem[]; PAGE_EVENT: ChangeItem[]; } /** * 数据源类型 */ export interface DataSourceType extends ChangeItem { PAGE_DS_REQ_ATTR: ChangeItem[]; PAGE_DS_PROP: ChangeItem[]; PAGE_DS_RESPION_IMPL: ChangeItem[]; } /** * 自定义事件 */ export interface CustomEventType extends ChangeItem { CUSTOM_FUNCTION_PROP: ChangeItem[]; CUSTOM_FUNCTION_IN_PARAM: ChangeItem[]; CUSTOM_FUNCTION_IMPL: ChangeItem[]; } /** * 变动的控件列表 */ export interface DiffChangeItem { /** * 控件id 事件id 数据源id */ id: string; /** * 操作类型 */ type: ACTION_TYPE; /** * 是否冲突 */ isConflict: boolean; /** * 源变动 */ source?: T; /** * 目标变动 */ target?: T; } /** * tab类型 */ export declare type TabType = 'Page' | 'Comp' | 'DataSource' | 'CustomEvent'; export interface DetailsInfo { baseInfo?: T; sourceInfo?: T; targetInfo?: T; changeInfo?: DiffChangeItem; } /** * 数据源树列表 */ export interface DataSourceMenuList extends DataSourceItemType { changeInfo?: DiffChangeItem; } /** * 自定义事件列表 */ export interface CustomEventMenuList extends CustomFuctionsItem { changeInfo?: DiffChangeItem; } /** * 控件列表 */ export interface CompMenuList { /** * 唯一id */ renderId: string; /** * 控件id */ nodeId: string; /** * 变动信息 */ changeInfo?: DiffChangeItem; /** * 节点内容 */ node: DSLNode; /** * 子节点 */ children?: CompMenuList[]; /** * 父节点 */ parentNode?: CompMenuList; /** * 关联节点 */ relativeNodes?: CompMenuList[]; /** * 节点所在层级 */ nodeLevel: number; /** * 单独在某个分支中存在的节点 指当前控件目录下 */ onlyExist?: 'source' | 'target'; } /** * 合并类型 */ export declare type ActionType = 'merge' | 'ignore'; /** * 操作类型 */ export declare type StatusType = keyof typeof STATUS; export interface ChildrenIdItem { id: string; coreInst: DSLQuery; onlyExist?: 'source' | 'target'; getChildrenFrom?: 'source' | 'target'; }