import { DSLQuery } from '@lingxiteam/dsl'; import { DSLNode } from '@lingxiteam/dsl/lib/core/PropType'; import { ContextType } from '../propType'; /** * 处理当删除控件的时候,自定义事件下的setEvents事情关联删除处理 * @param subEvent * @param comdId * @param DSLCore */ /** * 删除控件的时候,处理冗余的垃圾DSL 如A控件绑定了对B控件进行赋值,那么B控件删除的时候,在A控件的事件节点下需要删除冗余的数据 * 处理逻辑 * 当控件动作为,控件赋值时候,控件删除后,当DSL存在全局事件中的option中的comids 存在删除的控件,当删除后comids为空数组时候,并且children中的callback中的chilidren为空 删除当前事件的DSL,否则不处理,由自动纠错提示处理 *当控件动作为,控制显隐和禁用状态,设置必填时候(没有回掉动作),控件删除后,当DSL存在全局事件中的option中的comids 存在删除的控件,移除当前控件id,当删除后comids为空数组时候,因清除当前动作所有的dsl。 * @param comdId 组件ID */ export declare const deleteComDealDsl: (comdId: string, DSLCore?: DSLQuery) => void; export declare const removeNodeBeforePredicate: (isMobile: boolean, platformType: ContextType['platformType'], opts: { DSLCore: DSLQuery; deleteNodes: DSLNode | DSLNode[]; }) => void; export default removeNodeBeforePredicate;