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

    Class DrawingBrowserDialog

    图纸浏览器对话框组件

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    Accessors

    Methods

    mousemove_callback top_mousedown_callback globalMouseMove globalMouseUp handleDragMove isDraggableArea waitUpdated _startBaseDialog fireMouseMove showBaseDialog close_click_callback close open suspend resume cleanupDragState firstUpdated updated setDrawingManager getThumbnailUrl loadWorkspaces getCurrentWorkspace loadDrawings getWorkspaceFromCache hasTileEditData onWorkspaceChange onRefreshClick onTabClick onSearchInput getImportsTotalPages getDesignsTotalPages onImportsPageChange onDesignsPageChange getPaginatedImports getPaginatedDesigns getFilteredServerMaps getLatestPatchTime getFilteredImports getFilteredDesigns findImportForServerMap getServerMapPatchId getDrawBaseKey getDrawKey getSelectedBranch getBranchInfo getSelectedPatchId onBranchSelect onPatchSelect onImportClick onImportDblClick onDesignClick onDesignDblClick onOpenClick onOpenReadOnlyClick onOpenTileClick onDeleteClick onDeletePatchClick onCancelClick canDeleteBranch canMergeBranch getUnimportedServerMaps onImportServerMapClick onCreateBranchClick onMergeBranchClick onDeleteBranchClick showDialog getSelectedItemPatchId getStatusClass renderBranchSelector renderPatchSelector renderPagination renderImportsTable renderDesignsTable renderCurrentTable render addInitializer createProperty getPropertyDescriptor getPropertyOptions _$Ei finalize finalizeStyles _$Eu _$Ev addController removeController _$E_ enableUpdating attributeChangedCallback _$EC _$AK requestUpdate P _$ET scheduleUpdate performUpdate willUpdate _$AE _$EU getUpdateComplete shouldUpdate createRenderRoot update connectedCallback disconnectedCallback

    Constructors

    Properties

    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
    properties: {
        dialogTitle: { type: StringConstructor };
        draggable: { type: BooleanConstructor };
        activeTab: { type: StringConstructor };
        searchText: { type: StringConstructor };
        isLoading: { type: BooleanConstructor };
        serverMaps: { type: ArrayConstructor };
        imports: { type: ArrayConstructor };
        designs: { type: ArrayConstructor };
        selectedItem: { type: ObjectConstructor };
        errorMessage: { type: StringConstructor };
        importsPage: { type: NumberConstructor };
        designsPage: { type: NumberConstructor };
        workspaces: { type: ArrayConstructor };
    } = ...

    定义响应式属性

    PAGE_SIZE: 30

    每页显示的条数

    activeTab: "imports" | "designs"
    searchText: string
    isLoading: boolean
    serverMaps: IServerMapInfo[]
    imports: IWebcadDrawInfo[]
    designs: IWebcadDrawInfo[]
    selectedItem: any
    errorMessage: string
    importsPage: number
    designsPage: number
    workspaces: {
        name: string;
        alias: string;
        isPublic: boolean;
        workDir: string;
        idleCloseTime: number;
        disableFullSearch: boolean;
        createTime: string;
    }[]
    styles: r = ...

    组件样式

    renderRoot: any

    Accessors

    • get isSuspended(): boolean

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

      Returns boolean

    • get observedAttributes(): any[]

      Returns any[]

    • get updateComplete(): any

      Returns any

    Methods

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

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

      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

    • 组件更新完成回调

      Returns void

    • 获取缩略图 URL

      Parameters

      • mapid: string
      • version: string

      Returns string

    • 加载工作区列表

      Returns Promise<void>

    • 获取当前工作区名称

      Returns string

    • 加载图纸列表

      Returns Promise<void>

    • 从浏览器缓存获取工作区

      Returns string

      缓存的工作区名称,如果没有则返回 undefined

    • 检查当前选中的图纸是否有瓦片编辑数据(editAreas 或 editLayers) 有瓦片编辑数据时,默认以瓦片方式打开

      Returns boolean

    • 工作区切换

      Parameters

      • event: Event

      Returns Promise<void>

    • 刷新按钮点击

      Returns Promise<void>

    • Tab切换

      Parameters

      • tab: "imports" | "designs"

      Returns void

    • 搜索输入

      Parameters

      • event: any

      Returns void

    • 获取 imports 的总页数

      Returns number

    • 获取 designs 的总页数

      Returns number

    • imports 翻页

      Parameters

      • page: number

      Returns void

    • designs 翻页

      Parameters

      • page: number

      Returns void

    • 获取过滤后的后台图纸列表(按最新修改时间降序排序)

      Returns IServerMapInfo[]

    • 获取最新的patch时间

      Parameters

      Returns string

    • 获取过滤后的已导入图纸列表(按最后修改时间降序排序)

      Returns IWebcadDrawInfo[]

    • 获取过滤后的设计图列表(按最后修改时间降序排序)

      Returns IWebcadDrawInfo[]

    • 根据 mapid 和 version 查找对应的 imports 图纸

      Parameters

      • mapid: string
      • version: string

      Returns IWebcadDrawInfo

    • 获取后台图纸对应的 patchId(如果有 imports 记录)

      Parameters

      • mapid: string
      • version: string

      Returns string

    • 获取图纸的基础唯一标识 key(不含分支)

      Parameters

      Returns string

    • 获取图纸的唯一标识 key(含分支)

      Parameters

      Returns string

    • 获取图纸选中的分支名称

      Parameters

      Returns string

    • 获取图纸选中的 patchId

      Parameters

      Returns string

    • 分支下拉选择变化

      Parameters

      Returns void

    • Patch 下拉选择变化

      Parameters

      Returns void

    • 已导入图纸行点击

      Parameters

      Returns void

    • 已导入图纸行双击

      Parameters

      Returns void

    • 打开按钮点击

      Returns Promise<void>

    • 只读打开按钮点击

      Returns Promise<void>

    • 瓦片打开按钮点击 以WMS瓦片方式打开大型图纸,优化大图显示性能

      Returns Promise<void>

    • 删除全部按钮点击(删除该图纸的所有分支和版本数据)

      Returns Promise<void>

    • 删除当前Patch按钮点击(只删除当前选择的patchId及之后的版本)

      Returns Promise<void>

    • 取消按钮点击

      Returns void

    • 判断当前是否可以删除分支

      Returns boolean

    • 判断当前是否可以合并分支

      Returns boolean

    • 获取未导入的后台图纸列表 过滤掉已经在 imports 中存在的图纸

      Returns IServerMapInfo[]

    • 导入后台图纸按钮点击

      Returns Promise<void>

    • 创建分支按钮点击

      Returns Promise<void>

    • 合并分支按钮点击

      Returns Promise<void>

    • 删除分支按钮点击

      Returns Promise<void>

    • 获取选中项的 patchId(用于显示)

      Returns string

    • 获取状态样式类名

      Parameters

      • Optionalstatus: string

      Returns string

    • 渲染分支下拉选择器

      Parameters

      Returns any

    • 渲染 patch 下拉选择器

      Parameters

      Returns any

    • 渲染分页控件

      Parameters

      • currentPage: number
      • totalPages: number
      • totalItems: number
      • onPageChange: (page: number) => void

      Returns any

    • 渲染已导入图纸列表 - 图片卡片格式

      Returns any

    • 渲染设计图列表 - 表格形式(无缩略图)

      Returns any

    • 渲染当前Tab的内容

      Returns any

    • 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