80 Commits

Author SHA1 Message Date
Louis Young
f2a04c6219
perf(free-layout): optimize line interaction experience (#468)
* feat(drag): drag line support snapping to multiple input ports

* feat(drag): drag line support snapping to container node

* feat(node-panel): build line support multiple input ports

* feat(demo): not allow add line between different loop container
2025-07-04 09:26:50 +00:00
Louis Young
800a820e10
fix(core): line add node to deep container will cause offset (#444) 2025-07-02 10:52:49 +00:00
Louis Young
0a9c3a0167
fix(core): support hover line or port in deep layer container (#443) 2025-07-02 08:46:38 +00:00
Louis Young
d8e2b4a838
fix(core): should trigger parent transform change after node disposed (#440) 2025-07-02 04:01:40 +00:00
Louis Young
2d5fac776a
fix(core): node dispose should trigger parent transform change (#436) 2025-07-01 12:02:11 +00:00
chenjiawei.inizio
cbefaa54fb
chore: add license header (#432)
* chore: add license-header

* chore: add precommit

* chore: add license header

* fix: only js & shell style
2025-07-01 11:53:02 +00:00
xiamidaxia
8fa571af9e
feat(free-layout): add canDropToNode config to editor-props (#423) 2025-06-30 08:49:04 +00:00
xiamidaxia
080d28ba1a
fix: node.toJSON use document.toNodeJSON (#418) 2025-06-27 06:26:53 +00:00
xiamidaxia
629a9e564f
feat(fixed-layout): add ConstantKeys.BRANCH_SPACING (#413) 2025-06-26 09:02:37 +00:00
Louis Young
0027c2e452
fix(core): some device touches is not array (#398) 2025-06-23 04:42:39 +00:00
xiamidaxia
d21cdae3ea
fix(editor): fix zoom and disableScrollLimit -> enableScrollLimit (#390)
* fix(core): flow-nodes-content-layer auto resize

* fix(editor): fix zoom and disableScrollLimit -> enableScrollLimit
2025-06-18 13:58:07 +00:00
Louis Young
7c376e3254
fix(core): browser compatibility issue with TouchList api (#389) 2025-06-18 13:50:32 +00:00
xiamidaxia
2b87cce7fe
feat: node registry meta add autoResizeDisable and remove expandedSize (#388) 2025-06-18 13:13:33 +00:00
Louis Young
9190fbc6ba
feat(core): make playground effect idempotent to support React.StrictMode (#387)
* feat(core): playground container create & dispose effect should be idempotent

* fix(core): outside cannot get playground ref
2025-06-18 12:50:16 +00:00
xiamidaxia
3dda7cfdf3
feat: use-node-render add id,type,data,updateData (#384) 2025-06-17 09:53:17 +00:00
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
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
小智
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
Louis Young
73b2090bd3
fix(core): workflow document reload addNode api (#353) 2025-06-10 07:47:19 +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
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
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
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
Louis Young
2da1f3c5bf
fix(core): free document prevent to trigger flowDocument.addBlocksAsChildren (#273) 2025-05-26 08:37:57 +00:00
xiamidaxia
755aaf2223
fix: FlowNodeRegistry.extendChildRegistries extend nested, add document.isExtend (#269) 2025-05-23 10:21:51 +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
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
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
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
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
xiamidaxia
6e2e67fb3e
feat(demo): workflow running style support (#213) 2025-05-12 07:52:40 +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
Louis Young
14b82d3128
perf(layer): browser coordinate precision causing repeated coordinate updates (#187) 2025-05-06 03:56:18 +00:00
Louis Young
e9c654935f
feat(free-demo): enhance copy and paste shortcut capabilities (#161)
* chore(demo): define enum workflow node type

* feat(demo): workflow copy shortcut

* feat(demo): workflow paste shortcut

* feat(demo): workflow rest built-in shortcuts

* fix(history): remove delay after node delete

* fix(demo): paste to container need adjust node position

* fix(core): reset selection after node deleted

* feat(demo): add en comments to shortcut code

* fix(ci): tsc error
2025-04-21 11:41:51 +00:00
Louis Young
daa1560ba3
perf(document): optimize workflow document JSON parsing performance (#156) 2025-04-18 09:46:37 +00:00
Louis Young
5039f7c76b
chore(drag): remove alt key copy node (#149)
* chore(drag): remove alt key copy node

* fix: tsc error
2025-04-18 02:59:09 +00:00
xiamidaxia
4bb3270f2d
fix: branch end check, all branches are not allowed to be end (#146) 2025-04-16 09:13:39 +00:00
Louis Young
f43d70ee88
fix(core): deduplication before singleton plugin init (#142) 2025-04-15 07:41:32 +00:00
Louis Young
a18f0f8dbc
fix(canvas): resolve card dom when drag is not allowed (#128) 2025-04-08 03:36:06 +00:00
hanchayi
03dab3a764
fix: transact no operation should not throw error (#123) 2025-04-03 02:58:47 +00:00
xiamidaxia
d5d9734eb2
docs: advanced docs (#121)
* feat: add advanced docs

* feat: workflow-port-entity add availableLines

* docs: comment fixed
2025-04-02 13:50:27 +00:00
chenjiawei.inizio
6a77afc8aa
chore: custom inlineblocks margin & export fixed layout functions (#119) 2025-04-02 08:06:39 +00:00
xiamidaxia
d32fa9bf31
feat: free-layout support multi inputs (#111)
* docs: update getting-started docs

* feat: free-layout support multi inputs
2025-03-31 12:06:14 +00:00
xiamidaxia
5953b4a3f4
feat: fixed-layout support tryCatch node (#100)
* feat: fixed-layout support tryCatch node

* fix: feildarray name changed

* docs: freelayout doc error
2025-03-28 08:25:41 +00:00