Files
EasyFlow/easyflow-ui-admin/packages/tinyflow-ui/src/utils/compat.ts
陈子默 03ad011f64 fix: 修复工作流节点交互与旧浏览器兼容
- 修复 Tinyflow Vue wrapper 可选 boolean 默认关闭节点拖拽和连线的问题

- 为 Tinyflow 增加 structuredClone 兼容与 Chrome 90 构建目标

- 增加节点交互归一化与 Tab 空值防御
2026-06-23 15:59:03 +08:00

23 lines
538 B
TypeScript

type StructuredCloneFallback = <T>(value: T) => T;
/**
* Installs browser compatibility shims required by Tinyflow.
*/
export function installTinyflowBrowserCompat() {
if (
typeof globalThis.structuredClone === 'function' ||
typeof JSON === 'undefined'
) {
return;
}
const fallback: StructuredCloneFallback = (value) =>
value == null ? value : JSON.parse(JSON.stringify(value));
Object.defineProperty(globalThis, 'structuredClone', {
configurable: true,
value: fallback,
writable: true,
});
}