142 Commits

Author SHA1 Message Date
Louis Young
fd423d9cb5
feat(minimap): support touch operation (#381)
* fix(core): touch end clear hover

* feat(minimap): support touch operation

* fix(demo): touch create comment should not trigger drag

* feat(demo): comment node support touch resize
2025-06-16 11:42:38 +00:00
小智
83ae052705
feat(free-lines-plugin): add custom arrow renderer support (#376)
* feat(free-lines-plugin): add custom arrow renderer support

* fix(free-lines-plugin): remove unused FlowRendererRegistry import

---------

Co-authored-by: husky-dot <xiaozhi@xiaozhideMacBook-Pro.local>
2025-06-13 13:29:27 +00:00
Louis Young
9d029bf335
feat(auto-layout): support custom layout config (#378) 2025-06-13 12:29:26 +00:00
xiamidaxia
50fa5a8eba
fix: disposable freeze error (#377) 2025-06-13 12:04:55 +00:00
Louis Young
b6433f7b99
feat(auto-layout): sort same from port nodes using y-axis coordinate (#375) 2025-06-13 11:06:26 +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
Louis Young
39dbde28ae
feat(free-core): free canvas supports touch operation (#367)
* feat(core): playground drag support drag event

* feat(core): touch move the canvas position

* feat(core): touch move the node position

* feat(core): touch move create or reset line

* test(core): global add TouchList mock

* fix(core): touch drag event disable passive

* fix(core): touch event delay

* feat(port): port click support touch operation

* fix(demo): loop output port line add btn set incorrect container

* test(core): global add TouchList mock

* refactor(core): clean & format codes

* feat(core): getPosFromMouseEvent built-in getEventCoord
2025-06-13 10:37:00 +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
xiamidaxia
80e4b7d7c0
feat: form node-context add clientContext (#363)
* feat: form node-context add clientContext

* fix: errorRender add clientContext props
2025-06-12 11:29:48 +00:00
小智
02e48ebdd9
feat(core): add flowing field to LineColor interface (#370)
Co-authored-by: husky-dot <xiaozhi@xiaozhideMacBook-Pro.local>
2025-06-12 11:18:12 +00:00
小智
a6d61d347e
feat: add customizable port colors to WorkflowPortRender (#360)
* feat(workflow-port): add customizable port colors

* fix(workflow-colors): unify CSS variable naming to --g-workflow-* format - Update LineColors enum and demo configuration - Add CSS variable definitions - Ensure consistent naming across all workflow-related variables

---------

Co-authored-by: husky-dot <xiaozhi@xiaozhideMacBook-Pro.local>
Co-authored-by: husky-dot <xiaozhi@172-0-8-36.lightspeed.rcsntx.sbcglobal.net>
2025-06-10 10:26:30 +00:00
小智
f994881b22
feat(free-container-plugin): support customizable tip text and React elements (#355)
Co-authored-by: husky-dot <xiaozhi@xiaozhideMacBook-Pro.local>
2025-06-10 08:02:26 +00:00
Louis Young
73b2090bd3
fix(core): workflow document reload addNode api (#353) 2025-06-10 07:47:19 +00:00
Louis Young
004b8ac8bd
fix(demo): sub-canvas height offset-y default 0 (#352) 2025-06-10 03:16:26 +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
xiamidaxia
1668d9f26e
feat(free-layout): line-color support css var (#349) 2025-06-09 07:51:46 +00:00
xiamidaxia
de863df6fb
feat(demo-fixed-layout): add case-default/break-loop/if nodes,condition -> switch (#336)
* feat(demo-fixed-layout): add case-default/break-loop/if nodes

* feat(demo-fixed-layout): condition -> switch

* chore: e2e fixed
2025-06-06 11:07:15 +00:00
xiamidaxia
bb623e9fe6
feat(utils): DisposableCollection auto remove (#330) 2025-06-05 11:39:21 +00:00
xiamidaxia
d96f97dbc5
fix: fixed-layout catchBlock error, sidebar form render with node expanded (#323)
* fix: sidebar form render

* fix(fixed-layout): catch block error
2025-06-04 13:01:49 +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
xiamidaxia
f0d9c5062c
feat(demo-fixed-layout): add case node for condition branches (#302)
* refactor: FlowNodeRegistry.addChild depreacted

* feat: FlowDocument.toString(true) support showType

* feat(demo-fixed-layout): add case node and catch-block node
2025-06-03 07:54:45 +00:00
Yiwei Mao
b477181502
feat(material): use tsx in cli (#295) 2025-05-30 06:42:38 +00:00
xiamidaxia
136a713f29
feat: add materials.components api (#288) 2025-05-28 03:07:15 +00:00
xiamidaxia
7d846dc48f
fix(free-layout): node deletion data loss after redo (#284)
* fix(demo): node required validate

* fix(free-layout): node deletion data loss after redo/undo
2025-05-27 11:35:58 +00:00
Yiwei Mao
83221a61b6
feat(materials): set form-materials to esm (#279) 2025-05-27 03:50:31 +00:00
Louis Young
46dda28464
feat(line): custom port color by classname or css variable (#274) 2025-05-26 08:38:11 +00:00
Louis Young
2da1f3c5bf
fix(core): free document prevent to trigger flowDocument.addBlocksAsChildren (#273) 2025-05-26 08:37:57 +00:00
Louis Young
9ae858b363
fix(auto-layout): branches with multi sub nodes (#272) 2025-05-26 08:12:59 +00:00
xiamidaxia
755aaf2223
fix: FlowNodeRegistry.extendChildRegistries extend nested, add document.isExtend (#269) 2025-05-23 10:21:51 +00:00
Yiwei Mao
bac29feb3a
feat(material): condition row (#268)
* feat(material): condition row

* docs(material): condition row docs
2025-05-23 08:52:27 +00:00
Yiwei Mao
102980a23b
fix(form): effect return map share same instance (#263) 2025-05-23 05:50:01 +00:00
Yiwei Mao
dd727c8d63
feat(material): auto rename effect (#261) 2025-05-23 04:41:45 +00:00
xiamidaxia
e9218afcaa
fix: onContentChange is executed after the node is disposed (#260)
* fix: onContentChange is executed after the node is disposed

* fix: onContentChange is executed after the line is disposed
2025-05-23 03:55:03 +00:00
Yiwei Mao
5b56be0ec2
fix(demo): free layout constant (#257) 2025-05-22 14:43:02 +00:00
Yiwei Mao
11dda65150
chore(variable): move json schema logic from variable core to materials (#256) 2025-05-22 14:17:23 +00:00
Yiwei Mao
67fac8cdf1
feat(variable): loop batch variable materials + update ref value typings (#253)
* feat(variable): loop batch variable materials + set variable ref content in demo to be array

* docs(materials): dynamic value input and provide batch input
2025-05-22 11:27:44 +00:00
xiamidaxia
92b3adc5d0
fix(fixed-layout): multi-outputs/multi-inputs collapsed and move branches (#249)
* feat(demo): demo-fixed-layout-simple add tryCatch node

* feat(demo): use-editor-props add fromNodeJSON/toNodeJSON config

* fix(demo): demo-fixed-layout-simple readonly refresh

* fix(fixed-layout): multi-outputs collapsed and move branches

* chore: update codeowners

* fix(fixed-layout): multi-inputs branch adder

* test(fixed-layout-core): test snapshots update

* test(fixed-layout-editor): move block to other dynamicSplit
2025-05-21 10:06:41 +00:00
jzwnju
245bee3389
feat(materials): Add config options (#248)
Add config property to components
2025-05-21 03:01:15 +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
ec6e5abe23
docs: free-layout-simple docs error (#245)
* chore: simple-layout-demo add cross-env

* docs: free-layout-simple docs error
2025-05-19 07:52:36 +00:00
xiamidaxia
766fdc1597
fix: flowDocument fromJSON will reload the node json data (#240)
* fix: flowDocument fromJSON update node data

* feat: getNodeForm add updateFormValues
2025-05-16 12:25:26 +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
Yiwei Mao
8d3f37b4ec
docs(materials): init materials docs (#222) 2025-05-13 10:12:35 +00:00
Louis Young
805b262260
fix(group): auto layout adapts group (#223)
* fix(group): line inside multi-layer nested group cannot be selected

* feat(group): auto layout adapts group

* docs: update free-layout-demo example image

* chore(demo): update initial data

* feat(container): removeNodeLines api set to public
2025-05-13 10:12:23 +00:00
xiamidaxia
de3c5daa5b
feat(fixed-layout): add simple-split node (#224)
* feat(fixed-layout): add simple-split node

* fix(fixed-layout): svg overflow visible
2025-05-13 10:12:06 +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
c11a995040
fix(material): json schema editor controlled by value (#214)
* feat: install material directly from form-materials

* fix(material): json schema editor controlled by value
2025-05-12 08:32:52 +00:00
xiamidaxia
6e2e67fb3e
feat(demo): workflow running style support (#213) 2025-05-12 07:52:40 +00:00
Yiwei Mao
95f5225660
fix: npx @flowgram.ai/form-materials cli (#203)
* fix: npx @flowgram.ai/form-materials cli

* docs: image size
2025-05-09 07:01:50 +00:00
Yiwei Mao
79e4bb0556
feat(material): form materials and add scripts (#196) 2025-05-08 12:06:49 +00:00