38 Commits

Author SHA1 Message Date
小智
dc5e7eb023
feat(free-container-plugin): 添加子画布背景支持,使用inversify依赖注入 (#420)
* feat(free-container-plugin): add sub-canvas background support with inversify

- Add inversify dependency injection support for sub-canvas background
- Use useService to get BackgroundConfig from IoC container
- Support all background options: backgroundColor, dotColor, dotSize, etc.
- Add graceful fallback when BackgroundConfig is not registered
- Generate unique SVG pattern IDs to avoid conflicts
- Remove hardcoded background color from styles
- Add @flowgram.ai/background-plugin dependency

The sub-canvas now automatically inherits background configuration
from the main canvas.

* feat(background-plugin): export BackgroundConfig and bind to IoC container

- Export BackgroundConfig symbol for use by other plugins
- Add onBind method to register BackgroundConfig in IoC container
- Enable dependency injection pattern for background configuration access

This allows sub-canvas components to access background configuration
through inversify container.

* chore: update pnpm-lock.yaml after adding background-plugin dependency

- Update lock file to include @flowgram.ai/background-plugin dependency
- Ensures consistent dependency versions across environments

---------

Co-authored-by: husky-dot <xiaozhi@172-0-8-36.lightspeed.rcsntx.sbcglobal.net>
2025-06-27 06:34:44 +00:00
WanderWang
b211d0774f
chore(build): support rush build on windows (#397) 2025-06-20 12:35:02 +00:00
xiamidaxia
39734e5a02
refactor: i18n (#374)
* refactor: i18n

* refactor: i18n

* feat: free-container-plugin support i18n
2025-06-13 10:50:54 +00:00
xiamin
da78b36fd1
feat: Add demo-nextjs-antd demo and free-antd-materials package (#366)
* feat: add free-antd-materials

* feat: add demo-nextjs-antd

* fix(free-antd-materials): pass ts tests

* chore: rename free-antd-materials to  form-antd-materials
2025-06-12 13:11:03 +00:00
Louis Young
aab4183d65
feat(runtime): flowgram workflow node.js runtime (#304)
* feat(runtime): init nodejs runtime

* feat(runtime): init folder struct

* feat(runtime): interface & test

* feat(runtime): basic api & schema interfaces

* feat(runtime): init runtime model framework

* feat(runtime): create document & node entities

* feat(runtime): runtime engine basic execute logic

* feat(runtime): node add variable data

* refactor(runtime): split to sub domains

* test(runtime): document module test

* feat(runtime): variable store

* feat(runtime): workflow runtime executor

* chore(demo): reset initial data

* feat(runtime): workflow runtime branch logic

* feat(runtime): workflow runtime access to ai model

* feat(runtime): workflow runtime data all add to context

* feat(runtime): workflow runtime invoke record snaphots

* feat(runtime): workflow runtime status

* feat(runtime): main api request processing chain

* chore(demo): reset initial data

* refactor(runtime): types move to interface package

* feat(runtime): router access api defines & interfaces

* feat(runtime): standardize api register & gen api docs

* feat(runtime): create snapshot before node execute

* fix(sub-canvas): tips cannot close

* chore(demo): reset initial data

* feat(demo): make node schema runnable

* feat(demo): access test run

* feat(runtime): runtime core can run in both browser & server env

* fix(runtime): condition value empty issue

* feat(runtime): beautify structure data view

* feat(demo): test run sidesheet

* chore(demo): test run sidesheet button fixed

* feat(demo): running node show flowing line

* chore(demo): hide node result overflow

* chore(demo): reset initial data

* feat(runtime): workflow runtime support loop node

* fix(container): sub canvas height issue

* feat(demo): test run multiple result render

* test(runtime): enbale test coverage

* refactor(runtime): interface folders structure

* refactor(runtime): core folders structure

* refactor(runtime): core export apis & access to router

* feat(demo): runtime plugin

* feat(runtime): server add try-catch protection

* fix(runtime): node process reset end time

* chore: format json

* chore: rush update

* refactor(demo): running service move to runtime-plugin as built-in runtime service

* fix(runtime): build error

* test(runtime): disable nodejs test

* fix(demo): test run result key indent width
2025-06-09 09:13:24 +00:00
jzwnju
de072dd4cf
feat(material): Add default value editing function (#292)
* feat(material): Add default value editing function

* style(json-schema-editor): Remove the console.log statements for debugging

* refactor(form-materials): Optimize the export methods of interfaces and utility functions

* refactor(material): Refactor the JSONSchemaEditor's default value input component to use common constant input

* chore: Update dependencies @types/inquirer and @types/node
2025-06-04 12:35:04 +00:00
chenjiawei.inizio
4661634a01
chore: support llmstxt (#317)
* chore: support llmstxt

* chore: close ssg for vercel build

* fix: e2e test case
2025-06-04 08:43:13 +00:00
Yiwei Mao
b477181502
feat(material): use tsx in cli (#295) 2025-05-30 06:42:38 +00:00
chenjiawei.inizio
9aca28063e
chore: add e2e config (#280)
* chore: open ssg

* chore: add e2e base config case

* chore: sync screenshot

* chore: sync screenshot in linux

* chore: render layout
2025-05-27 06:52:20 +00:00
Yiwei Mao
dd727c8d63
feat(material): auto rename effect (#261) 2025-05-23 04:41:45 +00:00
xiamidaxia
ce0c13393b
feat(fixed-layout): add input/output/multi-outputs/multi-inputs/break node (#246)
* feat(demo): add demo playground

* feat(fixed-layout): add multi-start and break node

* fix: form-model updateFormValues with formatOnInit

* feat(node-engine): formModel.values cloneDeep -> clone and add shllowEuqal checked

* feat(demo): demo-fixed-layout-simple add flow-select

* fix: use-node-render node undefined

* docs: docs error

* feat(fixed-layout): add input/output/multi-outputs/multi-inputs node
2025-05-20 09:22:11 +00:00
xiamidaxia
d9e805b167
feat: add vite demo and flowDocument disposed check (#234)
* feat(demo): add demo vite

* feat: flowDocument disposed check

* chore: demo-vite config

* chore: demo-vite lint config
2025-05-15 13:35:57 +00:00
xiamidaxia
a98244c6a3
Feat/support react 16 (#221)
* chore: support react 16

* chore: support react 16
2025-05-13 06:16:00 +00:00
Yiwei Mao
b40a9eeddf
feat(docs): add auto translate scripts for docs (#205) 2025-05-09 09:21:08 +00:00
Yiwei Mao
79e4bb0556
feat(material): form materials and add scripts (#196) 2025-05-08 12:06:49 +00:00
Louis Young
19ff04abc7
feat(free-demo): support create nodes group (#185)
* feat(demo): create group tool

* feat(demo): create group shortcut

* refactor(core): split group service, controller, utils files

* feat(history): free history add group operations

* feat(demo): group node render

* feat(demo): group node registry

* refactor(stack): remove layer computing config

* feat(stack): line stackIndex cannot be recalculated by default

* feat(demo): group title & color palette acess form

* feat(demo): ungroup button & shortcut

* feat(demo): create group & ungroup operation register to free history service

* refactor(group): group shortcuts move to group-plugin

* refactor(group): group node render move to group-plugin

* fix(group): undo/redo of create node or ungroup not work

* perf(history): free history remove async operation

* feat(group): trigger select box inside group

* fix(group): container inside group

* fix(group): auto layout should not be affected by group node

* feat(container): support multi-layer nested containers

* fix(group): group css variables overwrite each other

* fix(container): node move in or out group shouldn't clear lines

* feat(demo): node should follow mouse after move out container button clicked

* feat(container): disable group move to non-group container node

* fix(container): cross-level node moving causing coord offset

* feat(demo): comment node support more button

* fix(demo): comment in container fromJSON

* feat(container): node into container show move out tips

* feat(group): node into group show move out tips

* feat(group): delete group when blocks is empty

* refactor(group): createFreeGroupPlugin move to container-plugin

* refactor(demo): replace disablePorts with defaultPorts

* fix(demo): react warning

* refactor(group): group plugin built-in GroupNodeRegistry

* refactor(group): create free-group-plugin

* fix(ci): lock & ts-check & test errors
2025-05-07 13:21:34 +00:00
chenjiawei.inizio
8c0f007127
chore: polyfill win & eslint config fix (#192)
* fix: polyfill win

* fix: demo nextjs eslint
2025-05-06 08:55:02 +00:00
Louis Young
a6d3b97057
feat: nextjs demo (#125)
* feat(demo-workflow): init demo-mastra-workflow project

* feat(demo-workflow): node render style

* feat(demo-workflow): init runtime api

* refactor(demo-workflow): component move to @editor

* refactor(demo-workflow): simplify editor client render

* refactor(demo-runtime): rename demo-mastra-workflow to demo-nextjs

* chore: rush update

* fix(plugin): package.json export dist type path

* feat(demo-workflow): remove semi-ui deps

* fix(demo-workflow): next build cannot find eslint config

* fix(demo-workflow): en lang by default
2025-04-03 07:58:20 +00:00
kirin
b58bb43bcf
chore: fix scripts with windows (#103) 2025-04-02 03:11:41 +00:00
tecvan
d90fdad677
chore: read source code directly in example docs (#77) 2025-03-21 08:33:28 +00:00
tecvan
a60840756c
chore: setup vscode settings (#72) 2025-03-20 09:32:52 +00:00
dragooncjw
5777ec2cfd chore: demo migrate rspack to rsbuild 2025-03-18 16:45:41 +08:00
liuyangxing
e7656d4cec feat(free-demo): create loop node 2025-03-18 16:13:15 +08:00
YuanHeDx
99ecb565cb fix: fix type deps 2025-03-18 14:14:50 +08:00
YuanHeDx
8027436e06 doc: complete node form basic example 2025-03-18 14:14:50 +08:00
YuanHeDx
493d3084f5 doc(node): init node form demo 2025-03-18 14:14:50 +08:00
chenjiawei.inizio
b07cebccd4
Merge branch 'main' into fix/demo-free-layout-simple 2025-03-13 12:54:15 +08:00
dragooncjw
05a5f33e16 fix: demo dep 2025-03-13 12:47:29 +08:00
knoxnoe
ed090867df fix(style): box-sizing for minimap and hover activation for brand-adder 2025-03-11 22:20:23 +08:00
dragooncjw
4e7aa1d405 chore: remove playground-plugin 2025-03-07 11:56:35 +08:00
dragooncjw
b362b85141 fix: demo lint 2025-03-04 15:01:48 +08:00
dragooncjw
700221c69b chore: ci add lint & ts 2025-03-03 21:20:22 +08:00
dragooncjw
6b36def111 fix: reflect-metadata to dependencies 2025-03-03 15:00:45 +08:00
liuyangxing
086b575dda feat(free-lines-plugin): workflow lines layer depends on stack context manager directly 2025-02-27 21:18:36 +08:00
dragooncjw
20f7205dd8 chore: apps publish with appPolicy 2025-02-24 19:30:46 +08:00
chenjiawei.inizio
c9ef66b1be chore: enable test 2025-02-24 15:47:22 +08:00
dragooncjw
3c625c0e9a chore: add eslint ts config 2025-02-21 18:08:34 +08:00
dragooncjw
d7bdf8a078 feat: init flowgram.ai
Co-Authored-By: xiamidaxia <xiamidaxia@icloud.com>
2025-02-21 16:26:12 +08:00