WebCAD-Lib-TS API 文档 - v1.0.0
    Preparing search index...

    Class ConflictResolutionDialog

    冲突解决对话框组件

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    Accessors

    Methods

    Constructors

    Properties

    properties: {
        conflictingEntities: { type: ArrayConstructor };
        conflictingLayers: { type: ArrayConstructor };
        latestPatchId: { type: StringConstructor };
        resolution: { type: ObjectConstructor };
        currentPage: { type: NumberConstructor };
        pageSize: { type: NumberConstructor };
        jumpPageInput: { type: StringConstructor };
        dialogTitle: { type: StringConstructor };
        draggable: { type: BooleanConstructor };
    } = ...

    定义响应式属性

    conflictingEntities: IConflictEntityInfo[]
    conflictingLayers: IConflictLayerInfo[]
    latestPatchId: string
    resolution: Map<string, "server" | "client">
    currentPage: number
    pageSize: number
    jumpPageInput: string
    styles: any[] = ...

    定义组件样式

    dialogTitle: string
    draggable: boolean

    The draggable property of the HTMLElement interface gets and sets a Boolean primitive indicating if the element is draggable.

    MDN Reference

    isDragging: boolean
    dragStartX: number
    dragStartY: number
    dialogStartX: number
    dialogStartY: number
    offsetX: number
    offsetY: number
    mouseX: number
    mouseY: number
    renderRoot: any

    Accessors

    • get allConflictItems(): IConflictItem[]

      获取所有冲突项(实体 + 图层) 将实体和图层冲突转换为统一的冲突项格式

      Returns IConflictItem[]

    • get totalConflictCount(): number

      获取总冲突数量

      Returns number

    • get totalPages(): number

      获取总页数

      Returns number

    • get currentPageItems(): IConflictItem[]

      获取当前页的冲突项列表

      Returns IConflictItem[]

    • get allResolved(): boolean

      检查是否所有实体都已选择 注意:由于默认值为 'server',所以始终返回 true

      Returns boolean

    • get serverCount(): number

      获取当前选择服务器版本的数量

      Returns number

    • get clientCount(): number

      获取当前选择客户端版本的数量

      Returns number

    • get isSuspended(): boolean

      检查对话框是否处于暂停状态

      Returns boolean

    • get observedAttributes(): any[]

      Returns any[]

    • get updateComplete(): any

      Returns any

    Methods

    • 组件更新完成回调

      Returns void

    • 设置配置 注意:默认所有实体/图层选择当前版本,使用 Map 并延迟初始化以优化性能

      Parameters

      Returns void

    • 获取实体/图层的解决方案(默认返回 'client')

      Parameters

      • id: string

        实体ID 或 "layer:{layerId}" 格式的图层ID

      Returns "server" | "client"

    • 跳转到指定页

      Parameters

      • page: number

      Returns void

    • 处理跳转页码输入

      Parameters

      • e: Event

      Returns void

    • 处理跳转确认

      Returns void

    • 处理页码输入框按键

      Parameters

      • e: KeyboardEvent

      Returns void

    • 处理每页条数变更

      Parameters

      • e: Event

      Returns void

    • 选择冲突项的版本

      Parameters

      • id: string

        实体ID 或 "layer:{layerId}" 格式的图层ID

      • choice: "server" | "client"

        选择的版本

      Returns void

    • 全选服务器版本(针对全部数据,不仅是当前页)

      Returns void

    • 全选当前版本(针对全部数据,不仅是当前页)

      Returns void

    • 取消按钮点击

      Returns void

    • 确定按钮点击

      Returns void

    • 定位到指定实体 将视图平移到实体中心位置,不改变缩放级别

      Parameters

      • entityId: string

        实体ID

      Returns void

    • 格式化实体属性用于显示

      Parameters

      • entity: any

        实体数据

      • OptionalentityType: string

        外部提供的实体类型(可选,用于 type 字段不存在时)

      Returns string

    • 格式化数字(保留2位小数)

      Parameters

      • num: any

      Returns string

    • 添加通用实体信息

      Parameters

      • entity: any
      • info: string[]

      Returns void

    • 简化实体用于显示

      Parameters

      • entity: any

      Returns string

    • 格式化点坐标

      Parameters

      • pt: any

      Returns string

    • 获取冲突属性列表 优先使用 entity.conflictingProperties(后端已计算的精确冲突属性) 否则从 _changes 数组中提取变更的属性名称

      Parameters

      Returns string[]

    • 比较两个值是否相等(深度比较)

      Parameters

      • val1: any
      • val2: any

      Returns boolean

    • 格式化属性名称(转换为更友好的中文名称)

      Parameters

      • key: string

      Returns string

    • 格式化客户端版本信息(从 _changes 数组提取变更值)

      Parameters

      • clientVersion: any

        客户端版本数据(包含 _changes 数组)

      • serverVersion: any

        服务器版本数据(用于显示删除操作时的原始值)

      Returns string

    • 格式化变更值

      Parameters

      • value: any

      Returns string

    • 格式化服务器版本中对应冲突属性的值

      Parameters

      • serverVersion: any

        服务器版本数据

      • clientVersion: any

        客户端版本数据(用于获取 _changes)

      Returns string

    • 获取冲突项的冲突属性(统一处理实体和图层)

      Parameters

      Returns string[]

    • 格式化图层属性名称

      Parameters

      • key: string

      Returns string

    • 渲染组件

      Returns { _$litType$: any; strings: any; values: any[] }

    • 鼠标移动事件回调 - 跟踪鼠标位置

      当鼠标在对话框内移动时,记录当前鼠标的屏幕坐标。 这些坐标用于在对话框关闭后恢复鼠标位置, 确保用户体验的连续性。

      Parameters

      • event: MouseEvent

        鼠标移动事件对象

      Returns void

    • 顶部标题栏鼠标按下事件 - 开始拖拽

      当用户在对话框顶部标题栏按下鼠标时触发, 初始化拖拽操作的相关状态。

      Parameters

      • event: MouseEvent

        鼠标按下事件对象

      Returns void

    • 全局鼠标移动事件 - 处理拖拽移动

      Parameters

      • event: MouseEvent

        鼠标移动事件对象

      Returns void

    • 全局鼠标释放事件 - 结束拖拽

      Parameters

      • event: MouseEvent

        鼠标释放事件对象

      Returns void

    • 处理拖拽移动 - 更新对话框位置

      Parameters

      • event: MouseEvent

        鼠标事件对象

      Returns void

    • 检查元素是否为可拖拽区域

      Parameters

      • element: Element

        要检查的元素

      Returns boolean

      是否为可拖拽区域

    • 等待组件更新完成 - 异步等待DOM更新

      返回一个Promise,该Promise在组件完成下一次更新后resolve。 这对于需要确保DOM已经更新的操作非常有用。

      Returns Promise<void>

      在组件更新完成后resolve的Promise

    • 启动基础对话框 - 对话框显示的主要流程

      这是对话框显示的核心方法,处理完整的对话框生命周期:

      1. 设置对话框标题
      2. 将对话框添加到指定容器
      3. 记录当前鼠标位置
      4. 等待DOM更新完成
      5. 显示对话框
      6. 清理和恢复鼠标事件

      Parameters

      • e: any

      Returns Promise<void>

    • 触发鼠标移动事件 - 恢复鼠标状态

      在对话框关闭后,模拟一个鼠标移动事件来恢复画布的鼠标状态。 这确保了对话框关闭后,画布能够正确响应鼠标位置。

      Returns void

    • 显示基础对话框 - 显示模态对话框并等待关闭

      这个方法负责实际显示对话框并返回一个Promise, 该Promise在对话框关闭时resolve。这允许调用者 异步等待对话框的完成。

      Returns Promise<boolean>

      在对话框关闭时resolve为true的Promise

    • 关闭按钮点击回调 - 处理对话框关闭按钮点击

      当用户点击对话框右上角的关闭按钮时调用。 它会派发一个"escape"事件(表示用户取消操作), 然后关闭对话框。

      Returns void

    • 关闭对话框 - 程序化关闭对话框

      提供一个简单的方法来程序化地关闭对话框, 不派发任何额外的事件。

      Returns void

    • 打开对话框 - 程序化打开模态对话框

      提供一个简单的方法来程序化地打开对话框, 使用 HTML

      元素的 showModal() 方法。

      Returns void

    • 暂停对话框 - 临时关闭模态对话框,允许用户操作CAD界面

      使用场景:在对话框中需要让用户在CAD界面上选择实体或拾取点时调用。 暂停后对话框会关闭,用户可以与CAD界面交互。 交互完成后调用 resume() 恢复对话框。

      Returns void

      // 暂停对话框
      this.baseDialog?.suspend();

      // 让用户在CAD界面选择实体
      const result = await Engine.editor.getSelections(options);

      // 恢复对话框
      this.baseDialog?.resume();
    • 恢复对话框 - 重新以模态方式打开对话框

      在调用 suspend() 后,用户完成CAD界面交互后调用此方法恢复对话框。 对话框会恢复到暂停前的位置。

      Returns void

    • 清理拖拽状态 - 移除全局事件监听器

      在对话框关闭时调用,确保不会遗留全局事件监听器

      Returns void

    • Parameters

      • t: any
      • e: {
            attribute: boolean;
            type: StringConstructor;
            converter: {
                toAttribute(t: any, e: any): any;
                fromAttribute(t: any, e: any): any;
            };
            reflect: boolean;
            hasChanged: (t: any, e: any) => boolean;
        } = y

      Returns void

    • Parameters

      • t: any
      • e: any
      • s: any

      Returns { get(): any; set(e: any): void; configurable: boolean; enumerable: boolean }

    • Parameters

      • t: any
      • e: any

      Returns string

    • Parameters

      • t: any
      • e: any

      Returns void

    • Parameters

      • t: any
      • e: any

      Returns void

    • Parameters

      • Optionalt: any
      • Optionale: any
      • Optionals: any

      Returns void

    • Parameters

      • t: any
      • e: any
      • s: any

      Returns void

    • Returns Promise<boolean>

    • Parameters

      • t: any

      Returns void

    • Parameters

      • t: any

      Returns void