Files
EasyFlow/easyflow-ui-admin/packages/tinyflow-ui/src/components/TinyflowComponent.svelte
陈子默 3f128e977a feat: 归档L03与L09审批发布能力
- 新增统一审批中心与审批管理页面,支持流程配置、审批详情与角色/用户审批对象

- 接入聊天助手、知识库、工作流的发布与删除审批,并补齐发布态校验与快照展示
2026-04-07 14:41:52 +08:00

45 lines
1.2 KiB
Svelte

<svelte:options customElement={{
tag: "tinyflow-component",
shadow: "none",
// props: {
// options: { reflect: true, type: 'Object', attribute: 'options' },
// onInit: { reflect: true, type: 'Object', attribute: 'onInit' }
// },
}} />
<script lang="ts">
import {SvelteFlowProvider, type useSvelteFlow} from '@xyflow/svelte';
import TinyflowCore from './TinyflowCore.svelte';
import {store} from '#store/stores.svelte';
import type {TinyflowData, TinyflowOptions} from '#types';
import {setContext} from 'svelte';
const { options, onInit }: {
options: TinyflowOptions,
onInit: (svelteFlow: ReturnType<typeof useSvelteFlow>) => void,
} = $props();
let { data } = options;
let initialViewport = null;
if (typeof data === 'string') {
try {
data = JSON.parse(data.trim());
} catch (e) {
console.error('Invalid JSON data:', data);
}
}
initialViewport = (data as TinyflowData)?.viewport || null;
store.init(
(data as TinyflowData)?.nodes || [],
(data as TinyflowData)?.edges || [],
initialViewport,
);
setContext('tinyflow_options', options);
</script>
<SvelteFlowProvider>
<TinyflowCore {onInit} />
</SvelteFlowProvider>