node-red-contrib-join-wait 0.6.0 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/examples/01-quickstart.json +18 -2
- package/examples/02-correlation.json +29 -0
- package/examples/03-reset.json +18 -3
- package/examples/04-regex.json +12 -2
- package/examples/05-exact-order.json +18 -3
- package/join-wait.html +13 -4
- package/package.json +1 -1
|
@@ -11,7 +11,15 @@
|
|
|
11
11
|
"type": "inject",
|
|
12
12
|
"z": "qs-tab",
|
|
13
13
|
"name": "path_1",
|
|
14
|
-
"props": [
|
|
14
|
+
"props": [
|
|
15
|
+
{ "p": "topic", "vt": "str" },
|
|
16
|
+
{ "p": "payload", "v": "hello-1", "vt": "str" }
|
|
17
|
+
],
|
|
18
|
+
"repeat": "",
|
|
19
|
+
"crontab": "",
|
|
20
|
+
"once": false,
|
|
21
|
+
"onceDelay": "",
|
|
22
|
+
"topic": "path_1",
|
|
15
23
|
"x": 130,
|
|
16
24
|
"y": 100,
|
|
17
25
|
"wires": [["qs-jw"]]
|
|
@@ -21,7 +29,15 @@
|
|
|
21
29
|
"type": "inject",
|
|
22
30
|
"z": "qs-tab",
|
|
23
31
|
"name": "path_2",
|
|
24
|
-
"props": [
|
|
32
|
+
"props": [
|
|
33
|
+
{ "p": "topic", "vt": "str" },
|
|
34
|
+
{ "p": "payload", "v": "hello-2", "vt": "str" }
|
|
35
|
+
],
|
|
36
|
+
"repeat": "",
|
|
37
|
+
"crontab": "",
|
|
38
|
+
"once": false,
|
|
39
|
+
"onceDelay": "",
|
|
40
|
+
"topic": "path_2",
|
|
25
41
|
"x": 130,
|
|
26
42
|
"y": 160,
|
|
27
43
|
"wires": [["qs-jw"]]
|
|
@@ -12,6 +12,11 @@
|
|
|
12
12
|
"z": "corr-tab",
|
|
13
13
|
"name": "split flow",
|
|
14
14
|
"props": [{ "p": "payload", "v": "{}", "vt": "json" }],
|
|
15
|
+
"repeat": "",
|
|
16
|
+
"crontab": "",
|
|
17
|
+
"once": false,
|
|
18
|
+
"onceDelay": "",
|
|
19
|
+
"topic": "",
|
|
15
20
|
"x": 120,
|
|
16
21
|
"y": 130,
|
|
17
22
|
"wires": [["corr-set1", "corr-delay", "corr-set3"]]
|
|
@@ -22,6 +27,11 @@
|
|
|
22
27
|
"z": "corr-tab",
|
|
23
28
|
"name": "topic = path_1",
|
|
24
29
|
"rules": [{ "t": "set", "p": "topic", "pt": "msg", "to": "path_1", "tot": "str" }],
|
|
30
|
+
"action": "",
|
|
31
|
+
"property": "",
|
|
32
|
+
"from": "",
|
|
33
|
+
"to": "",
|
|
34
|
+
"reg": false,
|
|
25
35
|
"x": 320,
|
|
26
36
|
"y": 80,
|
|
27
37
|
"wires": [["corr-jw"]]
|
|
@@ -34,6 +44,15 @@
|
|
|
34
44
|
"pauseType": "delay",
|
|
35
45
|
"timeout": "1",
|
|
36
46
|
"timeoutUnits": "seconds",
|
|
47
|
+
"rate": "1",
|
|
48
|
+
"nbRateUnits": "1",
|
|
49
|
+
"rateUnits": "second",
|
|
50
|
+
"randomFirst": "1",
|
|
51
|
+
"randomLast": "5",
|
|
52
|
+
"randomUnits": "seconds",
|
|
53
|
+
"drop": false,
|
|
54
|
+
"allowrate": false,
|
|
55
|
+
"outputs": 1,
|
|
37
56
|
"x": 320,
|
|
38
57
|
"y": 130,
|
|
39
58
|
"wires": [["corr-set2"]]
|
|
@@ -44,6 +63,11 @@
|
|
|
44
63
|
"z": "corr-tab",
|
|
45
64
|
"name": "topic = path_2",
|
|
46
65
|
"rules": [{ "t": "set", "p": "topic", "pt": "msg", "to": "path_2", "tot": "str" }],
|
|
66
|
+
"action": "",
|
|
67
|
+
"property": "",
|
|
68
|
+
"from": "",
|
|
69
|
+
"to": "",
|
|
70
|
+
"reg": false,
|
|
47
71
|
"x": 480,
|
|
48
72
|
"y": 130,
|
|
49
73
|
"wires": [["corr-jw"]]
|
|
@@ -54,6 +78,11 @@
|
|
|
54
78
|
"z": "corr-tab",
|
|
55
79
|
"name": "topic = path_3",
|
|
56
80
|
"rules": [{ "t": "set", "p": "topic", "pt": "msg", "to": "path_3", "tot": "str" }],
|
|
81
|
+
"action": "",
|
|
82
|
+
"property": "",
|
|
83
|
+
"from": "",
|
|
84
|
+
"to": "",
|
|
85
|
+
"reg": false,
|
|
57
86
|
"x": 320,
|
|
58
87
|
"y": 180,
|
|
59
88
|
"wires": [["corr-jw"]]
|
package/examples/03-reset.json
CHANGED
|
@@ -11,7 +11,12 @@
|
|
|
11
11
|
"type": "inject",
|
|
12
12
|
"z": "rst-tab",
|
|
13
13
|
"name": "path_1",
|
|
14
|
-
"props": [{ "p": "topic", "
|
|
14
|
+
"props": [{ "p": "topic", "vt": "str" }],
|
|
15
|
+
"repeat": "",
|
|
16
|
+
"crontab": "",
|
|
17
|
+
"once": false,
|
|
18
|
+
"onceDelay": "",
|
|
19
|
+
"topic": "path_1",
|
|
15
20
|
"x": 130,
|
|
16
21
|
"y": 80,
|
|
17
22
|
"wires": [["rst-jw"]]
|
|
@@ -21,7 +26,12 @@
|
|
|
21
26
|
"type": "inject",
|
|
22
27
|
"z": "rst-tab",
|
|
23
28
|
"name": "path_2",
|
|
24
|
-
"props": [{ "p": "topic", "
|
|
29
|
+
"props": [{ "p": "topic", "vt": "str" }],
|
|
30
|
+
"repeat": "",
|
|
31
|
+
"crontab": "",
|
|
32
|
+
"once": false,
|
|
33
|
+
"onceDelay": "",
|
|
34
|
+
"topic": "path_2",
|
|
25
35
|
"x": 130,
|
|
26
36
|
"y": 130,
|
|
27
37
|
"wires": [["rst-jw"]]
|
|
@@ -31,7 +41,12 @@
|
|
|
31
41
|
"type": "inject",
|
|
32
42
|
"z": "rst-tab",
|
|
33
43
|
"name": "reset",
|
|
34
|
-
"props": [{ "p": "topic", "
|
|
44
|
+
"props": [{ "p": "topic", "vt": "str" }],
|
|
45
|
+
"repeat": "",
|
|
46
|
+
"crontab": "",
|
|
47
|
+
"once": false,
|
|
48
|
+
"onceDelay": "",
|
|
49
|
+
"topic": "abort",
|
|
35
50
|
"x": 130,
|
|
36
51
|
"y": 200,
|
|
37
52
|
"wires": [["rst-jw"]]
|
package/examples/04-regex.json
CHANGED
|
@@ -12,9 +12,14 @@
|
|
|
12
12
|
"z": "rx-tab",
|
|
13
13
|
"name": "sensor_a",
|
|
14
14
|
"props": [
|
|
15
|
-
{ "p": "topic", "
|
|
15
|
+
{ "p": "topic", "vt": "str" },
|
|
16
16
|
{ "p": "payload", "v": "42", "vt": "num" }
|
|
17
17
|
],
|
|
18
|
+
"repeat": "",
|
|
19
|
+
"crontab": "",
|
|
20
|
+
"once": false,
|
|
21
|
+
"onceDelay": "",
|
|
22
|
+
"topic": "sensor_a",
|
|
18
23
|
"x": 130,
|
|
19
24
|
"y": 80,
|
|
20
25
|
"wires": [["rx-jw"]]
|
|
@@ -25,9 +30,14 @@
|
|
|
25
30
|
"z": "rx-tab",
|
|
26
31
|
"name": "heartbeat",
|
|
27
32
|
"props": [
|
|
28
|
-
{ "p": "topic", "
|
|
33
|
+
{ "p": "topic", "vt": "str" },
|
|
29
34
|
{ "p": "payload", "v": "ok", "vt": "str" }
|
|
30
35
|
],
|
|
36
|
+
"repeat": "",
|
|
37
|
+
"crontab": "",
|
|
38
|
+
"once": false,
|
|
39
|
+
"onceDelay": "",
|
|
40
|
+
"topic": "heartbeat",
|
|
31
41
|
"x": 130,
|
|
32
42
|
"y": 140,
|
|
33
43
|
"wires": [["rx-jw"]]
|
|
@@ -11,7 +11,12 @@
|
|
|
11
11
|
"type": "inject",
|
|
12
12
|
"z": "eo-tab",
|
|
13
13
|
"name": "start",
|
|
14
|
-
"props": [{ "p": "topic", "
|
|
14
|
+
"props": [{ "p": "topic", "vt": "str" }],
|
|
15
|
+
"repeat": "",
|
|
16
|
+
"crontab": "",
|
|
17
|
+
"once": false,
|
|
18
|
+
"onceDelay": "",
|
|
19
|
+
"topic": "start",
|
|
15
20
|
"x": 130,
|
|
16
21
|
"y": 80,
|
|
17
22
|
"wires": [["eo-jw"]]
|
|
@@ -21,7 +26,12 @@
|
|
|
21
26
|
"type": "inject",
|
|
22
27
|
"z": "eo-tab",
|
|
23
28
|
"name": "work",
|
|
24
|
-
"props": [{ "p": "topic", "
|
|
29
|
+
"props": [{ "p": "topic", "vt": "str" }],
|
|
30
|
+
"repeat": "",
|
|
31
|
+
"crontab": "",
|
|
32
|
+
"once": false,
|
|
33
|
+
"onceDelay": "",
|
|
34
|
+
"topic": "work",
|
|
25
35
|
"x": 130,
|
|
26
36
|
"y": 130,
|
|
27
37
|
"wires": [["eo-jw"]]
|
|
@@ -31,7 +41,12 @@
|
|
|
31
41
|
"type": "inject",
|
|
32
42
|
"z": "eo-tab",
|
|
33
43
|
"name": "end",
|
|
34
|
-
"props": [{ "p": "topic", "
|
|
44
|
+
"props": [{ "p": "topic", "vt": "str" }],
|
|
45
|
+
"repeat": "",
|
|
46
|
+
"crontab": "",
|
|
47
|
+
"once": false,
|
|
48
|
+
"onceDelay": "",
|
|
49
|
+
"topic": "end",
|
|
35
50
|
"x": 130,
|
|
36
51
|
"y": 180,
|
|
37
52
|
"wires": [["eo-jw"]]
|
package/join-wait.html
CHANGED
|
@@ -352,10 +352,19 @@
|
|
|
352
352
|
}
|
|
353
353
|
|
|
354
354
|
function openExamplesDialog() {
|
|
355
|
-
//
|
|
356
|
-
//
|
|
357
|
-
|
|
358
|
-
|
|
355
|
+
// The edit tray is on top of the editor, so the import tray
|
|
356
|
+
// can't surface beneath it. Close this tray first (which cancels
|
|
357
|
+
// the in-flight edit), then invoke the core import dialog so the
|
|
358
|
+
// user can pick Examples → join-wait.
|
|
359
|
+
var invoke = function () {
|
|
360
|
+
if (RED.actions && typeof RED.actions.invoke === 'function') {
|
|
361
|
+
RED.actions.invoke('core:show-import-dialog');
|
|
362
|
+
}
|
|
363
|
+
};
|
|
364
|
+
if (RED.tray && typeof RED.tray.close === 'function') {
|
|
365
|
+
RED.tray.close(invoke);
|
|
366
|
+
} else {
|
|
367
|
+
invoke();
|
|
359
368
|
}
|
|
360
369
|
}
|
|
361
370
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-red-contrib-join-wait",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.1",
|
|
4
4
|
"description": "Node-RED node that joins related messages across multiple paths within a time window — with exact-order matching, regex paths, correlation grouping, reset paths, and queue persistence. Coordinate parallel flows, synchronize events, and debounce sensors.",
|
|
5
5
|
"author": "Daniel Caspi <dan@element26.net>",
|
|
6
6
|
"license": "MIT",
|