|
31 | 31 | %% "wires": [] |
32 | 32 | %% } |
33 | 33 |
|
| 34 | +%% |
| 35 | +%% There is an initial setup of the debug node whereby the 'complete' property |
| 36 | +%% os "false" while but "targetType" property is not set. This is the same as |
| 37 | +%% targetType 'msg' and 'complete' 'payload'. Need to handle this in the |
| 38 | +%% start function. |
| 39 | +%% |
| 40 | + |
34 | 41 | -import(ered_nodered_comm, [ |
35 | 42 | node_status/5, |
36 | 43 | send_to_debug_sidebar/2, |
|
54 | 61 | WsName |
55 | 62 | ) -> |
56 | 63 | node_status(WsName, NodeDef, 0, "blue", "ring"), |
57 | | - ered_node:start(NodeDef, ?MODULE); |
| 64 | + ered_node:start(fix_default_setup(NodeDef), ?MODULE); |
58 | 65 | start(NodeDef, _WsName) -> |
59 | | - ered_node:start(NodeDef, ?MODULE). |
| 66 | + ered_node:start(fix_default_setup(NodeDef), ?MODULE). |
60 | 67 |
|
61 | 68 | %% |
62 | 69 | %% |
@@ -152,3 +159,32 @@ handle_status_setting( |
152 | 159 | unsupported(NodeDef, Msg, jstr("StatusType: ~p", [StatusType])); |
153 | 160 | handle_status_setting(#{<<"tostatus">> := false}, _) -> |
154 | 161 | ok. |
| 162 | + |
| 163 | +%% |
| 164 | +%% { |
| 165 | +%% "type": "debug", |
| 166 | +%% ... |
| 167 | +%% "complete": "false", |
| 168 | +%% ... |
| 169 | +%% } |
| 170 | +%% becomes |
| 171 | +%% { |
| 172 | +%% "type": "debug", |
| 173 | +%% ... |
| 174 | +%% "complete": "payload", |
| 175 | +%% "targetType": "msg", |
| 176 | +%% ... |
| 177 | +%% } |
| 178 | +%% |
| 179 | +fix_default_setup(#{<<"complete">> := <<"false">>} = NodeDef) -> |
| 180 | + case maps:find(<<"targetType">>, NodeDef) of |
| 181 | + error -> |
| 182 | + NodeDef#{ |
| 183 | + <<"complete">> => <<"payload">>, |
| 184 | + <<"targetType">> => <<"msg">> |
| 185 | + }; |
| 186 | + _ -> |
| 187 | + NodeDef |
| 188 | + end; |
| 189 | +fix_default_setup(NodeDef) -> |
| 190 | + NodeDef. |
0 commit comments