构造函数 - 初始化颜色面板组件
调用父类构造函数并初始化颜色面板特有的属性:
Staticstyles定义组件样式 - 使用静态属性
Staticproperties定义响应式属性 - 使用静态属性
The draggable property of the HTMLElement interface gets and sets a Boolean primitive indicating if the element is draggable.
检查对话框是否处于暂停状态
Staticobserved首次更新完成回调 - 在组件首次渲染后初始化颜色面板
这个方法在组件首次更新完成后调用,负责动态生成颜色面板的内容:
每个颜色单元格都会设置相应的背景色和属性。
组件更新完成回调 - 在组件更新后设置焦点
这个方法在组件每次更新完成后调用:
确定按钮回调 - 处理用户点击确定按钮
当用户点击确定按钮时,获取输入框的值作为结果并关闭对话框。
ByLayer按钮回调 - 处理用户选择ByLayer颜色
当用户点击ByLayer按钮时,设置结果为"ByLayer"并关闭对话框。 ByLayer表示使用图层的颜色设置。
ByBlock按钮回调 - 处理用户选择ByBlock颜色
当用户点击ByBlock按钮时,设置结果为"ByBlock"并关闭对话框。 ByBlock表示使用块的颜色设置。
取消按钮回调 - 处理用户点击取消按钮
当用户点击取消按钮时,清空结果并关闭对话框。
表格点击回调 - 处理用户点击颜色单元格
当用户点击颜色表格中的单元格时,将颜色索引显示在输入框中。 这允许用户通过点击来选择颜色。
点击事件对象
表格双击回调 - 处理用户双击颜色单元格
当用户双击颜色表格中的单元格时,直接选择该颜色并关闭对话框。 这提供了快速选择颜色的方式。
双击事件对象
输入框按键回调 - 处理输入框的按键事件
当用户在输入框中按下Enter键且颜色索引有效时, 确认选择并关闭对话框。
键盘事件对象
启动颜色对话框 - 显示颜色选择对话框的主要方法
这是颜色面板组件的核心方法,负责完整的颜色选择对话框显示流程:
颜色对话框配置对象
用户选择的颜色结果
设置颜色索引 - 在输入框中设置指定的颜色索引
这个方法用于在输入框中显示指定的颜色索引值或RGB颜色, 并选中文本以便用户修改。
要设置的颜色索引(支持索引颜色和RGB颜色)
设置确定按钮禁用状态 - 控制确定按钮的可用性
根据颜色索引的有效性来启用或禁用确定按钮。
是否禁用按钮
输入框内容变化回调 - 验证用户输入的颜色索引
当用户在输入框中输入内容时,验证输入的颜色索引是否有效:
设置无效状态 - 将输入框标记为无效状态
当用户输入的颜色索引无效时,设置相应的视觉反馈。
设置有效状态 - 将输入框标记为有效状态
当用户输入的颜色索引有效时,移除错误状态的视觉反馈。
RGB颜色选择器变化回调 - 处理用户通过颜色选择器选择颜色
RGB十六进制输入框变化回调 - 处理用户手动输入RGB颜色值
RGB使用按钮回调 - 应用RGB颜色并关闭对话框
按键事件回调 - 处理键盘按键事件(重复定义)
这个方法与inputKeyPress_callback功能相同,处理Enter键的按下事件。 当用户按下Enter键且颜色索引有效时,确认选择并关闭对话框。
注意:这是一个重复的方法定义,建议合并到inputKeyPress_callback中。
键盘事件对象
渲染颜色面板模板 - 定义颜色面板的HTML结构
返回颜色面板的完整HTML模板,包括:
颜色面板的HTML模板
鼠标移动事件回调 - 跟踪鼠标位置
当鼠标在对话框内移动时,记录当前鼠标的屏幕坐标。 这些坐标用于在对话框关闭后恢复鼠标位置, 确保用户体验的连续性。
鼠标移动事件对象
顶部标题栏鼠标按下事件 - 开始拖拽
当用户在对话框顶部标题栏按下鼠标时触发, 初始化拖拽操作的相关状态。
鼠标按下事件对象
全局鼠标移动事件 - 处理拖拽移动
鼠标移动事件对象
全局鼠标释放事件 - 结束拖拽
鼠标释放事件对象
处理拖拽移动 - 更新对话框位置
鼠标事件对象
检查元素是否为可拖拽区域
要检查的元素
是否为可拖拽区域
等待组件更新完成 - 异步等待DOM更新
返回一个Promise,该Promise在组件完成下一次更新后resolve。 这对于需要确保DOM已经更新的操作非常有用。
在组件更新完成后resolve的Promise
启动基础对话框 - 对话框显示的主要流程
这是对话框显示的核心方法,处理完整的对话框生命周期:
触发鼠标移动事件 - 恢复鼠标状态
在对话框关闭后,模拟一个鼠标移动事件来恢复画布的鼠标状态。 这确保了对话框关闭后,画布能够正确响应鼠标位置。
显示基础对话框 - 显示模态对话框并等待关闭
这个方法负责实际显示对话框并返回一个Promise, 该Promise在对话框关闭时resolve。这允许调用者 异步等待对话框的完成。
在对话框关闭时resolve为true的Promise
关闭按钮点击回调 - 处理对话框关闭按钮点击
当用户点击对话框右上角的关闭按钮时调用。 它会派发一个"escape"事件(表示用户取消操作), 然后关闭对话框。
关闭对话框 - 程序化关闭对话框
提供一个简单的方法来程序化地关闭对话框, 不派发任何额外的事件。
打开对话框 - 程序化打开模态对话框
提供一个简单的方法来程序化地打开对话框, 使用 HTML
恢复对话框 - 重新以模态方式打开对话框
在调用 suspend() 后,用户完成CAD界面交互后调用此方法恢复对话框。 对话框会恢复到暂停前的位置。
清理拖拽状态 - 移除全局事件监听器
在对话框关闭时调用,确保不会遗留全局事件监听器
StaticaddStaticcreateStaticgetStaticgetStatic_StaticfinalizeStaticfinalizeStatic_Optionalt: anyOptionale: anyOptionals: any
颜色面板组件类 - CAD系统的颜色选择对话框
这个类继承自基础对话框组件,专门用于颜色选择功能。 它提供了完整的CAD标准颜色调色板,支持256种标准颜色的选择。
主要功能:
ColorPanel