构造函数 - 初始化线型对话框组件
调用父类构造函数并初始化线型对话框特有的属性:
The draggable property of the HTMLElement interface gets and sets a Boolean primitive indicating if the element is draggable.
Staticproperties定义响应式属性 - 使用静态属性
Staticstyles定义组件样式 - 使用静态属性
检查对话框是否处于暂停状态
Staticobserved鼠标移动事件回调 - 跟踪鼠标位置
当鼠标在对话框内移动时,记录当前鼠标的屏幕坐标。 这些坐标用于在对话框关闭后恢复鼠标位置, 确保用户体验的连续性。
鼠标移动事件对象
顶部标题栏鼠标按下事件 - 开始拖拽
当用户在对话框顶部标题栏按下鼠标时触发, 初始化拖拽操作的相关状态。
鼠标按下事件对象
全局鼠标移动事件 - 处理拖拽移动
鼠标移动事件对象
全局鼠标释放事件 - 结束拖拽
鼠标释放事件对象
处理拖拽移动 - 更新对话框位置
鼠标事件对象
检查元素是否为可拖拽区域
要检查的元素
是否为可拖拽区域
等待组件更新完成 - 异步等待DOM更新
返回一个Promise,该Promise在组件完成下一次更新后resolve。 这对于需要确保DOM已经更新的操作非常有用。
在组件更新完成后resolve的Promise
启动基础对话框 - 对话框显示的主要流程
这是对话框显示的核心方法,处理完整的对话框生命周期:
触发鼠标移动事件 - 恢复鼠标状态
在对话框关闭后,模拟一个鼠标移动事件来恢复画布的鼠标状态。 这确保了对话框关闭后,画布能够正确响应鼠标位置。
显示基础对话框 - 显示模态对话框并等待关闭
这个方法负责实际显示对话框并返回一个Promise, 该Promise在对话框关闭时resolve。这允许调用者 异步等待对话框的完成。
在对话框关闭时resolve为true的Promise
关闭按钮点击回调 - 处理对话框关闭按钮点击
当用户点击对话框右上角的关闭按钮时调用。 它会派发一个"escape"事件(表示用户取消操作), 然后关闭对话框。
关闭对话框 - 程序化关闭对话框
提供一个简单的方法来程序化地关闭对话框, 不派发任何额外的事件。
打开对话框 - 程序化打开模态对话框
提供一个简单的方法来程序化地打开对话框, 使用 HTML
恢复对话框 - 重新以模态方式打开对话框
在调用 suspend() 后,用户完成CAD界面交互后调用此方法恢复对话框。 对话框会恢复到暂停前的位置。
清理拖拽状态 - 移除全局事件监听器
在对话框关闭时调用,确保不会遗留全局事件监听器
首次更新完成回调 - 在组件首次渲染后调用
初始化线型列表和其他设置。
组件更新完成回调 - 在组件更新后派发事件
派发更新完成事件,通知外部组件已完成更新。
确定按钮回调 - 处理用户点击确定按钮
当用户点击确定按钮时,将当前选中的线型名称作为结果并关闭对话框。
ByLayer按钮回调 - 处理用户选择ByLayer线型
当用户点击ByLayer按钮时,设置结果为"ByLayer"并关闭对话框。 ByLayer表示使用图层的线型设置。
ByBlock按钮回调 - 处理用户选择ByBlock线型
当用户点击ByBlock按钮时,设置结果为"ByBlock"并关闭对话框。 ByBlock表示使用块的线型设置。
取消按钮回调 - 处理用户点击取消按钮
当用户点击取消按钮时,清空结果并关闭对话框。
加载lin文件按钮回调 - 处理用户点击加载lin文件按钮
打开文件选择对话框,允许用户选择.lin文件来加载自定义线型。
加载lin文件内容
选择的lin文件
读取文件内容为文本
要读取的文件
文件内容
表格点击回调 - 处理用户点击线型表格行
当用户点击线型表格中的单元格时,查找所属的行并获取线型名称, 将其设置为当前选中的线型。
点击事件对象
表格双击回调 - 处理用户双击线型表格行
当用户双击线型表格中的单元格时,直接选择该线型并关闭对话框。 这提供了快速选择线型的方式。
双击事件对象
启动线型对话框 - 显示线型选择对话框的主要方法
这是线型对话框组件的核心方法,负责完整的线型选择对话框显示流程:
用户选择的线型结果
初始化方法 - 初始化线型对话框组件
将组件添加到对话框容器并等待DOM更新完成。 这是显示对话框前的准备工作。
加载可用的线型列表
获取默认线型列表
获取线型分类
获取过滤后的线型列表
生成线型预览
根据线型定义生成预览
搜索输入事件处理
分类选择事件处理
渲染线型对话框模板 - 定义线型对话框的HTML结构
返回线型对话框的完整HTML模板,包括:
线型对话框的HTML模板
StaticaddStaticcreateStaticgetStaticgetStatic_StaticfinalizeStaticfinalizeStatic_Optionalt: anyOptionale: anyOptionals: any
线型对话框组件类 - 用于选择CAD线型的对话框
这个类继承自基础对话框组件,专门用于线型选择功能。 它提供了CAD系统中常用线型的选择界面,支持标准线型和特殊线型。
主要功能:
LineTypeDialog