构造函数 - 初始化图层透明度对话框组件
调用父类构造函数并初始化图层透明度对话框特有的属性:
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"
是否禁用特殊透明度选项,默认为true
用户设置的透明度值结果
确定按钮点击回调 - 处理用户点击确定按钮
当用户点击确定按钮时,验证输入的透明度值, 如果有效则设置为结果并关闭对话框。
取消按钮点击回调 - 处理用户点击取消按钮
当用户点击取消按钮时,清空结果并关闭对话框。
设置确定按钮禁用状态 - 控制确定按钮的可用性并更新视觉反馈
根据透明度值的有效性来启用或禁用确定按钮, 同时更新信息显示区域的样式类来提供视觉反馈。
是否禁用按钮
透明度检查 - 验证透明度值的有效性
检查输入的透明度值是否符合以下规则:
要检查的透明度值
有效的透明度值,无效时返回undefined
设置信息显示 - 在信息区域显示提示信息
更新信息显示元素的内容,用于向用户显示验证结果或提示信息。
要显示的信息文本
ByLayer按钮回调 - 处理用户选择ByLayer透明度
当用户点击ByLayer按钮时,设置结果为-1并关闭对话框。 -1表示使用图层的透明度设置。
ByBlock按钮回调 - 处理用户选择ByBlock透明度
当用户点击ByBlock按钮时,设置结果为-2并关闭对话框。 -2表示使用块的透明度设置。
输入框按键回调 - 处理输入框的按键事件
当用户在输入框中按下Enter键时,验证透明度值, 如果有效则确认输入并关闭对话框。
键盘事件对象
输入框内容变化回调 - 验证用户输入的透明度值
当用户在输入框中输入内容时,实时验证透明度值的有效性。
渲染图层透明度对话框模板 - 定义图层透明度对话框的HTML结构
返回图层透明度对话框的完整HTML模板,包括:
图层透明度对话框的HTML模板
StaticaddStaticcreateStaticgetStaticgetStatic_StaticfinalizeStaticfinalizeStatic_Optionalt: anyOptionale: anyOptionals: any
图层透明度对话框组件类 - 用于设置CAD图层透明度的对话框
这个类继承自基础对话框组件,专门用于图层透明度的设置功能。 它提供了一个带验证功能的数值输入界面,用于设置图层的透明度值。
主要功能:
LayerTransparencyDialog