Skip to content

Commit 30c0a9f

Browse files
author
昔梦
committed
fix:新增openColorfulMode多彩模式功能
1 parent aff04d3 commit 30c0a9f

File tree

2 files changed

+17
-6
lines changed

2 files changed

+17
-6
lines changed

docs/xflow/api.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,7 @@ group:
3030
| zoomOnScroll | 是否通过滚动鼠标滚轮来缩放画布 | `boolean` | `true` |
3131
| panOnScroll | 是否通过滚动鼠标滚轮来平移画布 | `boolean` | `false` |
3232
| preventScrolling | 是否阻止浏览器在画布上滚动时的默认行为 | `boolean` | `true` |
33-
34-
33+
| openColorfulMode | 是否开启多彩模式 | `boolean` | `false` |
3534

3635

3736
## TNodePanel

packages/x-flow/src/utils/index.ts

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -340,11 +340,23 @@ export function isTruthy(value: any) {
340340
return Boolean(value);
341341
}
342342

343-
344343
export function hexToRgba(hex: string, alpha = 0.25) {
345-
// 确保输入是合法的六位十六进制颜色
344+
// 处理缺少 # 前缀的情况
345+
if (hex.charAt(0) !== '#') {
346+
hex = '#' + hex;
347+
}
348+
349+
// 处理3位十六进制颜色值 (#RGB)
350+
if (/^#([0-9A-Fa-f]{3})$/.test(hex)) {
351+
const r = hex.charAt(1);
352+
const g = hex.charAt(2);
353+
const b = hex.charAt(3);
354+
hex = `#${r}${r}${g}${g}${b}${b}`;
355+
}
356+
357+
// 如果不是合法的六位十六进制颜色,返回默认颜色
346358
if (!/^#([0-9A-Fa-f]{6})$/.test(hex)) {
347-
throw new Error("Invalid hex color format. Must be #RRGGBB.");
359+
hex = '#F79009'; // 使用默认颜色
348360
}
349361

350362
// 提取 R、G 和 B 值
@@ -360,7 +372,7 @@ export function hexToRgba(hex: string, alpha = 0.25) {
360372
export function getColorfulModeBackground(color: string, openColorfulMode: boolean) {
361373

362374
if(!openColorfulMode) {
363-
return {};
375+
return {};
364376
}
365377
return {
366378
background: `linear-gradient(to bottom, ${hexToRgba(color || '#F79009')}, #fff)`,

0 commit comments

Comments
 (0)