构造函数
Staticproperties定义响应式属性
Staticstyles定义组件样式
The draggable property of the HTMLElement interface gets and sets a Boolean primitive indicating if the element is draggable.
获取所有冲突项(实体 + 图层) 将实体和图层冲突转换为统一的冲突项格式
获取总冲突数量
获取总页数
获取当前页的冲突项列表
检查是否所有实体都已选择 注意:由于默认值为 'server',所以始终返回 true
获取当前选择服务器版本的数量
获取当前选择客户端版本的数量
检查对话框是否处于暂停状态
Staticobserved首次更新完成回调
组件更新完成回调
获取实体/图层的解决方案(默认返回 'client')
实体ID 或 "layer:{layerId}" 格式的图层ID
跳转到指定页
处理跳转页码输入
处理跳转确认
处理页码输入框按键
处理每页条数变更
选择冲突项的版本
实体ID 或 "layer:{layerId}" 格式的图层ID
选择的版本
全选服务器版本(针对全部数据,不仅是当前页)
全选当前版本(针对全部数据,不仅是当前页)
取消按钮点击
确定按钮点击
定位到指定实体 将视图平移到实体中心位置,不改变缩放级别
实体ID
格式化实体属性用于显示
实体数据
OptionalentityType: string外部提供的实体类型(可选,用于 type 字段不存在时)
格式化数字(保留2位小数)
添加通用实体信息
简化实体用于显示
格式化点坐标
获取冲突属性列表 优先使用 entity.conflictingProperties(后端已计算的精确冲突属性) 否则从 _changes 数组中提取变更的属性名称
比较两个值是否相等(深度比较)
格式化属性名称(转换为更友好的中文名称)
格式化客户端版本信息(从 _changes 数组提取变更值)
客户端版本数据(包含 _changes 数组)
服务器版本数据(用于显示删除操作时的原始值)
格式化变更值
格式化服务器版本中对应冲突属性的值
服务器版本数据
客户端版本数据(用于获取 _changes)
格式化图层属性名称
渲染组件
鼠标移动事件回调 - 跟踪鼠标位置
当鼠标在对话框内移动时,记录当前鼠标的屏幕坐标。 这些坐标用于在对话框关闭后恢复鼠标位置, 确保用户体验的连续性。
鼠标移动事件对象
顶部标题栏鼠标按下事件 - 开始拖拽
当用户在对话框顶部标题栏按下鼠标时触发, 初始化拖拽操作的相关状态。
鼠标按下事件对象
全局鼠标移动事件 - 处理拖拽移动
鼠标移动事件对象
全局鼠标释放事件 - 结束拖拽
鼠标释放事件对象
处理拖拽移动 - 更新对话框位置
鼠标事件对象
检查元素是否为可拖拽区域
要检查的元素
是否为可拖拽区域
等待组件更新完成 - 异步等待DOM更新
返回一个Promise,该Promise在组件完成下一次更新后resolve。 这对于需要确保DOM已经更新的操作非常有用。
在组件更新完成后resolve的Promise
启动基础对话框 - 对话框显示的主要流程
这是对话框显示的核心方法,处理完整的对话框生命周期:
触发鼠标移动事件 - 恢复鼠标状态
在对话框关闭后,模拟一个鼠标移动事件来恢复画布的鼠标状态。 这确保了对话框关闭后,画布能够正确响应鼠标位置。
显示基础对话框 - 显示模态对话框并等待关闭
这个方法负责实际显示对话框并返回一个Promise, 该Promise在对话框关闭时resolve。这允许调用者 异步等待对话框的完成。
在对话框关闭时resolve为true的Promise
关闭按钮点击回调 - 处理对话框关闭按钮点击
当用户点击对话框右上角的关闭按钮时调用。 它会派发一个"escape"事件(表示用户取消操作), 然后关闭对话框。
关闭对话框 - 程序化关闭对话框
提供一个简单的方法来程序化地关闭对话框, 不派发任何额外的事件。
打开对话框 - 程序化打开模态对话框
提供一个简单的方法来程序化地打开对话框, 使用 HTML
恢复对话框 - 重新以模态方式打开对话框
在调用 suspend() 后,用户完成CAD界面交互后调用此方法恢复对话框。 对话框会恢复到暂停前的位置。
清理拖拽状态 - 移除全局事件监听器
在对话框关闭时调用,确保不会遗留全局事件监听器
StaticaddStaticcreateStaticgetStaticgetStatic_StaticfinalizeStaticfinalizeStatic_Optionalt: anyOptionale: anyOptionals: any
冲突解决对话框组件