Commit Graph

26 Commits

Author SHA1 Message Date
Nick O'Leary 84771f5864
Flows/subflows must preinitialise their context objects
Fixes #2513

If a node inside a subflow accessed its context object in its
constructor, the subflow-instance flow context would not yet
have been created. This would cause a place holder context
to get created on its behalf, but that place holder doesn't
have its parent set properly. This then breaks the usage
of $parent inside such a subflow.

This fix has changed it so flows (and subflows) create their
flow context as part of their initial creation. That ensures
it exists when individual nodes from the subflow are created,
allowing them to safely access their context.

This has also fixed a related issue where any attempt to use
$parent to access beyond the root parent would seemingly hang
as the callback was never being called. This would cause
messages to get stuck in flows. The fix ensures the callback
is used in the root context objects and undefined is returned.
2020-03-27 23:47:12 +00:00
Nick O'Leary 95a51aafdc
Add path property to debug messages
Fixes #2358

This property can be used to identify the full path to the node that
logged a given message. If the node is inside a subflow (and maybe
nested many levels deep), this path can be used to help find the
node, rather than just the top-level subflow instance node.

A side-effect of this change is the Debug sidebar is now able to
show the message tools for a message coming from a deeply nested
subflow
2020-01-17 16:56:30 +00:00
Nick O'Leary 3b5ea0f15f
Add node done API 2019-07-08 23:23:33 +01:00
Nick O'Leary 24b38407e4
Merge branch 'master' into dev 2019-07-01 12:43:16 +01:00
Nick O'Leary f49d1ae860
Ensure the subflow stop promise is waiting for before restarting 2019-07-01 12:42:11 +01:00
Nick O'Leary 2473249c8b
Allow config nodes to be disabled, tidy css and add actions 2019-06-17 22:46:34 +01:00
Nick O'Leary 41a0af032c
Enable individual flow nodes to be disabled 2019-06-14 22:12:47 +01:00
Nick O'Leary ee6c6266cc
Avoid env var reference loops and support $parent. prefix
Fixes #2099
2019-03-20 13:37:33 +00:00
Nick O'Leary afa69f4c0e
Ensure all subflow instances are stopped when flow stopping
Fixes #2095
2019-03-15 09:13:32 +00:00
Nick O'Leary c944eaab5c
Fix max call stack err when getting node from inside subflow 2019-03-12 14:40:47 +00:00
Nick O'Leary d3d9533493
Search subflows instances when looking for given node id 2019-03-12 14:25:36 +00:00
Nick O'Leary 8fb6bc059e
Pass complete status to Status node and filter to editor 2019-03-04 10:23:10 +00:00
Nick O'Leary 79f3669fac
Add 'catch uncaught only' mode to Catch node
Closes #1747

This was inspired by a PR from @mauriciom75 but implemented in a different way
due to some of the internal reworking done to Flow and Subflow in the dev branch
2019-02-05 14:29:50 +00:00
Nick O'Leary 5110eaff96
Merge branch 'dev' into pr_2042 2019-02-04 14:39:00 +00:00
Nick O'Leary 3bcff91328
Add Status Node to Subflow to allow subflow-specific status
Closes #597
2019-02-01 23:44:50 +00:00
Nick O'Leary d534a8952d
Do not propagate Flow.getNode to parent when called from outside flow 2019-01-29 21:49:20 +00:00
Hiroyasu Nishiyama f88a4b1791 fixed comments from @knolleary 2019-01-28 22:14:08 +09:00
Hiroyasu Nishiyama a413f3cded Add support of subflow env var 2019-01-26 23:15:20 +09:00
Nick O'Leary 4baaaa8d59
Propagate Status/Error events from global config nodes 2019-01-25 15:46:39 +00:00
Nick O'Leary c99b35428b
Ensure status/error events are propagated to parent properly 2019-01-25 13:35:02 +00:00
Nick O'Leary 490903ca25
Tidy up when usage in Flow and Node 2019-01-17 13:18:26 +00:00
Nick O'Leary dd72046922
Add some comments to Flow and Subflow classes 2019-01-16 23:33:04 +00:00
Nick O'Leary 6286b34d00
Add Flow.getSetting for resolving env-var properties
This lays the groundwork for subflow-specific settings
2019-01-16 22:38:04 +00:00
Nick O'Leary 81f4e0de56
Refactor Subflow logic into own class 2019-01-16 16:27:19 +00:00
Nick O'Leary da756fa568
WIP: Start refactor of nodes/Flow.js 2019-01-11 14:53:21 +00:00
Nick O'Leary e57d8ba0ef
pull out editor-client and editor-api 2018-08-17 22:10:54 +01:00