@5minds/node-red-contrib-processcube 0.7.1 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- package/nodered/node-red-contrib-processcube-flows.json +70 -547
- package/nodered/package.json +1 -0
- package/package.json +2 -1
- package/processes/SampleUserTask.bpmn +0 -1
- package/usertask-finished-listener.html +39 -0
- package/usertask-finished-listener.js +41 -0
- package/usertask-input.js +0 -3
- package/usertask-new-listener.html +1 -1
- package/usertask-new-listener.js +1 -3
- package/usertask-output.js +0 -2
@@ -10,7 +10,7 @@
|
|
10
10
|
{
|
11
11
|
"id": "fd3c725340de4f74",
|
12
12
|
"type": "tab",
|
13
|
-
"label": "UserTask-
|
13
|
+
"label": "UserTask-Table",
|
14
14
|
"disabled": false,
|
15
15
|
"info": "",
|
16
16
|
"env": []
|
@@ -23,36 +23,6 @@
|
|
23
23
|
"info": "",
|
24
24
|
"env": []
|
25
25
|
},
|
26
|
-
{
|
27
|
-
"id": "405f8c703368777c",
|
28
|
-
"type": "group",
|
29
|
-
"z": "fd3c725340de4f74",
|
30
|
-
"style": {
|
31
|
-
"stroke": "#999999",
|
32
|
-
"stroke-opacity": "1",
|
33
|
-
"fill": "none",
|
34
|
-
"fill-opacity": "1",
|
35
|
-
"label": true,
|
36
|
-
"label-position": "nw",
|
37
|
-
"color": "#a4a4a4"
|
38
|
-
},
|
39
|
-
"nodes": [
|
40
|
-
"ec0be0ef92746967",
|
41
|
-
"090d42845540049c",
|
42
|
-
"846c5269df75c7a1",
|
43
|
-
"4267576c32c782ec",
|
44
|
-
"68cf69be67688af6",
|
45
|
-
"bcfb8893adeb57ed",
|
46
|
-
"325156d6b8bfc4b6",
|
47
|
-
"dac4a2305b629b9f",
|
48
|
-
"6d1847a8cc5103ce",
|
49
|
-
"3a47f3acf7a512ea"
|
50
|
-
],
|
51
|
-
"x": 34,
|
52
|
-
"y": 19,
|
53
|
-
"w": 1092,
|
54
|
-
"h": 342
|
55
|
-
},
|
56
26
|
{
|
57
27
|
"id": "09cdc14cfb8ad687",
|
58
28
|
"type": "group",
|
@@ -133,42 +103,18 @@
|
|
133
103
|
"color": "#a4a4a4"
|
134
104
|
},
|
135
105
|
"nodes": [
|
136
|
-
"3011d9be5207350a",
|
137
106
|
"aa3ca456ddf1a7bd",
|
138
107
|
"a2b09670ce6219e3",
|
139
|
-
"
|
108
|
+
"e283d772578fb6d2",
|
109
|
+
"86dd72913b9f2ee3",
|
110
|
+
"3e89be46a437d93c",
|
111
|
+
"f0d9df3d9fea075b",
|
112
|
+
"3011d9be5207350a"
|
140
113
|
],
|
141
|
-
"x":
|
142
|
-
"y":
|
143
|
-
"w":
|
144
|
-
"h":
|
145
|
-
},
|
146
|
-
{
|
147
|
-
"id": "b60e94a5f1ee2790",
|
148
|
-
"type": "group",
|
149
|
-
"z": "fd3c725340de4f74",
|
150
|
-
"style": {
|
151
|
-
"stroke": "#999999",
|
152
|
-
"stroke-opacity": "1",
|
153
|
-
"fill": "none",
|
154
|
-
"fill-opacity": "1",
|
155
|
-
"label": true,
|
156
|
-
"label-position": "nw",
|
157
|
-
"color": "#a4a4a4"
|
158
|
-
},
|
159
|
-
"nodes": [
|
160
|
-
"5cc47f646e818d1e",
|
161
|
-
"66b90cf83a531a75",
|
162
|
-
"e002a108a6c7df75",
|
163
|
-
"2851b83de5fb070d",
|
164
|
-
"a547ad5dcdd4613f",
|
165
|
-
"e98eecc53e433cfe",
|
166
|
-
"ed3c805cc0dc276c"
|
167
|
-
],
|
168
|
-
"x": 34,
|
169
|
-
"y": 559,
|
170
|
-
"w": 952,
|
171
|
-
"h": 182
|
114
|
+
"x": 54,
|
115
|
+
"y": 59,
|
116
|
+
"w": 752,
|
117
|
+
"h": 282
|
172
118
|
},
|
173
119
|
{
|
174
120
|
"id": "02fef81e2129ea71",
|
@@ -290,19 +236,6 @@
|
|
290
236
|
"navigationStyle": "default",
|
291
237
|
"titleBarStyle": "default"
|
292
238
|
},
|
293
|
-
{
|
294
|
-
"id": "5403f00c961584ab",
|
295
|
-
"type": "ui-group",
|
296
|
-
"name": "Meine spezieller Dynamic-Form",
|
297
|
-
"page": "540bda48de1fe22d",
|
298
|
-
"width": "12",
|
299
|
-
"height": "1",
|
300
|
-
"order": 1,
|
301
|
-
"showTitle": false,
|
302
|
-
"className": "",
|
303
|
-
"visible": "true",
|
304
|
-
"disabled": "false"
|
305
|
-
},
|
306
239
|
{
|
307
240
|
"id": "b4dcca3f3d895ff7",
|
308
241
|
"type": "ui-page",
|
@@ -312,9 +245,9 @@
|
|
312
245
|
"icon": "home",
|
313
246
|
"layout": "grid",
|
314
247
|
"theme": "7175f012d8e51857",
|
315
|
-
"order":
|
248
|
+
"order": 3,
|
316
249
|
"className": "",
|
317
|
-
"visible":
|
250
|
+
"visible": false,
|
318
251
|
"disabled": "false"
|
319
252
|
},
|
320
253
|
{
|
@@ -326,9 +259,9 @@
|
|
326
259
|
"icon": "home",
|
327
260
|
"layout": "grid",
|
328
261
|
"theme": "7175f012d8e51857",
|
329
|
-
"order":
|
262
|
+
"order": 4,
|
330
263
|
"className": "",
|
331
|
-
"visible":
|
264
|
+
"visible": false,
|
332
265
|
"disabled": "false"
|
333
266
|
},
|
334
267
|
{
|
@@ -363,9 +296,9 @@
|
|
363
296
|
"icon": "home",
|
364
297
|
"layout": "grid",
|
365
298
|
"theme": "7175f012d8e51857",
|
366
|
-
"order":
|
299
|
+
"order": 2,
|
367
300
|
"className": "",
|
368
|
-
"visible":
|
301
|
+
"visible": false,
|
369
302
|
"disabled": "false"
|
370
303
|
},
|
371
304
|
{
|
@@ -386,24 +319,11 @@
|
|
386
319
|
"type": "ui-page",
|
387
320
|
"name": "DynamicTable",
|
388
321
|
"ui": "26a45d43c064bdb6",
|
389
|
-
"path": "/
|
322
|
+
"path": "/DynamicTable",
|
390
323
|
"icon": "home",
|
391
324
|
"layout": "grid",
|
392
325
|
"theme": "7175f012d8e51857",
|
393
|
-
"order":
|
394
|
-
"className": "",
|
395
|
-
"visible": "true",
|
396
|
-
"disabled": "false"
|
397
|
-
},
|
398
|
-
{
|
399
|
-
"id": "99fb2417816969fd",
|
400
|
-
"type": "ui-group",
|
401
|
-
"name": "Table",
|
402
|
-
"page": "973fe345c23a83a4",
|
403
|
-
"width": "12",
|
404
|
-
"height": "1",
|
405
|
-
"order": -1,
|
406
|
-
"showTitle": true,
|
326
|
+
"order": 1,
|
407
327
|
"className": "",
|
408
328
|
"visible": "true",
|
409
329
|
"disabled": "false"
|
@@ -1264,7 +1184,9 @@
|
|
1264
1184
|
"error": "MyErrorCode",
|
1265
1185
|
"x": 610,
|
1266
1186
|
"y": 1100,
|
1267
|
-
"wires": [
|
1187
|
+
"wires": [
|
1188
|
+
[]
|
1189
|
+
]
|
1268
1190
|
},
|
1269
1191
|
{
|
1270
1192
|
"id": "1ba1e62c9935255f",
|
@@ -1472,139 +1394,22 @@
|
|
1472
1394
|
]
|
1473
1395
|
]
|
1474
1396
|
},
|
1475
|
-
{
|
1476
|
-
"id": "ec0be0ef92746967",
|
1477
|
-
"type": "usertask-input",
|
1478
|
-
"z": "fd3c725340de4f74",
|
1479
|
-
"g": "405f8c703368777c",
|
1480
|
-
"name": "",
|
1481
|
-
"engine": "42e6796dddd9d4db",
|
1482
|
-
"query": "payload",
|
1483
|
-
"force_send_array": true,
|
1484
|
-
"multisend": false,
|
1485
|
-
"x": 540,
|
1486
|
-
"y": 140,
|
1487
|
-
"wires": [
|
1488
|
-
[
|
1489
|
-
"090d42845540049c",
|
1490
|
-
"846c5269df75c7a1"
|
1491
|
-
]
|
1492
|
-
]
|
1493
|
-
},
|
1494
|
-
{
|
1495
|
-
"id": "090d42845540049c",
|
1496
|
-
"type": "debug",
|
1497
|
-
"z": "fd3c725340de4f74",
|
1498
|
-
"g": "405f8c703368777c",
|
1499
|
-
"name": "debug 10",
|
1500
|
-
"active": true,
|
1501
|
-
"tosidebar": true,
|
1502
|
-
"console": false,
|
1503
|
-
"tostatus": false,
|
1504
|
-
"complete": "false",
|
1505
|
-
"statusVal": "",
|
1506
|
-
"statusType": "auto",
|
1507
|
-
"x": 780,
|
1508
|
-
"y": 80,
|
1509
|
-
"wires": []
|
1510
|
-
},
|
1511
|
-
{
|
1512
|
-
"id": "846c5269df75c7a1",
|
1513
|
-
"type": "function",
|
1514
|
-
"z": "fd3c725340de4f74",
|
1515
|
-
"g": "405f8c703368777c",
|
1516
|
-
"name": "prepare formData",
|
1517
|
-
"func": "const result = {};\n\nmsg.payload.userTask.userTaskConfig.formFields.forEach(function(element) {\n result[element.id] = `Test for ${element.label}`; \n});\n\nmsg.payload[\"formData\"] = result;\n\nreturn msg;",
|
1518
|
-
"outputs": 1,
|
1519
|
-
"timeout": 0,
|
1520
|
-
"noerr": 0,
|
1521
|
-
"initialize": "",
|
1522
|
-
"finalize": "",
|
1523
|
-
"libs": [],
|
1524
|
-
"x": 810,
|
1525
|
-
"y": 140,
|
1526
|
-
"wires": [
|
1527
|
-
[
|
1528
|
-
"68cf69be67688af6",
|
1529
|
-
"4267576c32c782ec"
|
1530
|
-
]
|
1531
|
-
]
|
1532
|
-
},
|
1533
|
-
{
|
1534
|
-
"id": "4267576c32c782ec",
|
1535
|
-
"type": "usertask-output",
|
1536
|
-
"z": "fd3c725340de4f74",
|
1537
|
-
"g": "405f8c703368777c",
|
1538
|
-
"name": "",
|
1539
|
-
"engine": "d042a4c68f51d6ab",
|
1540
|
-
"result": "payload",
|
1541
|
-
"result_type": "msg",
|
1542
|
-
"x": 1020,
|
1543
|
-
"y": 140,
|
1544
|
-
"wires": [
|
1545
|
-
[]
|
1546
|
-
]
|
1547
|
-
},
|
1548
|
-
{
|
1549
|
-
"id": "68cf69be67688af6",
|
1550
|
-
"type": "debug",
|
1551
|
-
"z": "fd3c725340de4f74",
|
1552
|
-
"g": "405f8c703368777c",
|
1553
|
-
"name": "debug 11",
|
1554
|
-
"active": true,
|
1555
|
-
"tosidebar": true,
|
1556
|
-
"console": false,
|
1557
|
-
"tostatus": false,
|
1558
|
-
"complete": "false",
|
1559
|
-
"statusVal": "",
|
1560
|
-
"statusType": "auto",
|
1561
|
-
"x": 1000,
|
1562
|
-
"y": 200,
|
1563
|
-
"wires": []
|
1564
|
-
},
|
1565
|
-
{
|
1566
|
-
"id": "bcfb8893adeb57ed",
|
1567
|
-
"type": "comment",
|
1568
|
-
"z": "fd3c725340de4f74",
|
1569
|
-
"g": "405f8c703368777c",
|
1570
|
-
"name": "Beispiel für UserTask",
|
1571
|
-
"info": "",
|
1572
|
-
"x": 370,
|
1573
|
-
"y": 60,
|
1574
|
-
"wires": []
|
1575
|
-
},
|
1576
|
-
{
|
1577
|
-
"id": "3011d9be5207350a",
|
1578
|
-
"type": "usertask-new-listener",
|
1579
|
-
"z": "fd3c725340de4f74",
|
1580
|
-
"g": "f29182f397cab86b",
|
1581
|
-
"name": "",
|
1582
|
-
"engine": "42e6796dddd9d4db",
|
1583
|
-
"multisend": false,
|
1584
|
-
"x": 160,
|
1585
|
-
"y": 500,
|
1586
|
-
"wires": [
|
1587
|
-
[
|
1588
|
-
"aa3ca456ddf1a7bd",
|
1589
|
-
"efa57df2a7fa4a53"
|
1590
|
-
]
|
1591
|
-
]
|
1592
|
-
},
|
1593
1397
|
{
|
1594
1398
|
"id": "aa3ca456ddf1a7bd",
|
1595
1399
|
"type": "debug",
|
1596
1400
|
"z": "fd3c725340de4f74",
|
1597
1401
|
"g": "f29182f397cab86b",
|
1598
|
-
"name": "
|
1402
|
+
"name": "new",
|
1599
1403
|
"active": true,
|
1600
1404
|
"tosidebar": true,
|
1601
1405
|
"console": false,
|
1602
1406
|
"tostatus": false,
|
1603
|
-
"complete": "
|
1407
|
+
"complete": "payload",
|
1408
|
+
"targetType": "msg",
|
1604
1409
|
"statusVal": "",
|
1605
1410
|
"statusType": "auto",
|
1606
|
-
"x":
|
1607
|
-
"y":
|
1411
|
+
"x": 430,
|
1412
|
+
"y": 140,
|
1608
1413
|
"wires": []
|
1609
1414
|
},
|
1610
1415
|
{
|
@@ -1614,385 +1419,99 @@
|
|
1614
1419
|
"g": "f29182f397cab86b",
|
1615
1420
|
"name": "Listener für neue UserTasks",
|
1616
1421
|
"info": "",
|
1617
|
-
"x":
|
1618
|
-
"y":
|
1619
|
-
"wires": []
|
1620
|
-
},
|
1621
|
-
{
|
1622
|
-
"id": "325156d6b8bfc4b6",
|
1623
|
-
"type": "inject",
|
1624
|
-
"z": "fd3c725340de4f74",
|
1625
|
-
"g": "405f8c703368777c",
|
1626
|
-
"name": "SampleUserTask_Process:Activity_0ljiko7",
|
1627
|
-
"props": [
|
1628
|
-
{
|
1629
|
-
"p": "payload"
|
1630
|
-
}
|
1631
|
-
],
|
1632
|
-
"repeat": "",
|
1633
|
-
"crontab": "",
|
1634
|
-
"once": false,
|
1635
|
-
"onceDelay": 0.1,
|
1636
|
-
"topic": "",
|
1637
|
-
"payload": "{\"processModelId\":\"SampleUserTask_Process\",\"flowNodeId\":\"Activity_0ljiko7\",\"flowNodeType\":\"bpmn:UserTask\",\"state\":\"suspended\"}",
|
1638
|
-
"payloadType": "json",
|
1639
|
-
"x": 240,
|
1640
|
-
"y": 140,
|
1641
|
-
"wires": [
|
1642
|
-
[
|
1643
|
-
"ec0be0ef92746967"
|
1644
|
-
]
|
1645
|
-
]
|
1646
|
-
},
|
1647
|
-
{
|
1648
|
-
"id": "dac4a2305b629b9f",
|
1649
|
-
"type": "inject",
|
1650
|
-
"z": "fd3c725340de4f74",
|
1651
|
-
"g": "405f8c703368777c",
|
1652
|
-
"name": "SampleUserTask_Process:Activity_0glvmjk",
|
1653
|
-
"props": [
|
1654
|
-
{
|
1655
|
-
"p": "payload"
|
1656
|
-
}
|
1657
|
-
],
|
1658
|
-
"repeat": "",
|
1659
|
-
"crontab": "",
|
1660
|
-
"once": false,
|
1661
|
-
"onceDelay": 0.1,
|
1662
|
-
"topic": "",
|
1663
|
-
"payload": "{\"processModelId\":\"SampleUserTask_Process\",\"flowNodeId\":\"Activity_0glvmjk\",\"flowNodeType\":\"bpmn:UserTask\",\"state\":\"suspended\"}",
|
1664
|
-
"payloadType": "json",
|
1665
|
-
"x": 240,
|
1666
|
-
"y": 200,
|
1667
|
-
"wires": [
|
1668
|
-
[
|
1669
|
-
"ec0be0ef92746967"
|
1670
|
-
]
|
1671
|
-
]
|
1672
|
-
},
|
1673
|
-
{
|
1674
|
-
"id": "6d1847a8cc5103ce",
|
1675
|
-
"type": "inject",
|
1676
|
-
"z": "fd3c725340de4f74",
|
1677
|
-
"g": "405f8c703368777c",
|
1678
|
-
"name": "flowNodeInstanceId",
|
1679
|
-
"props": [
|
1680
|
-
{
|
1681
|
-
"p": "payload"
|
1682
|
-
}
|
1683
|
-
],
|
1684
|
-
"repeat": "",
|
1685
|
-
"crontab": "",
|
1686
|
-
"once": false,
|
1687
|
-
"onceDelay": 0.1,
|
1688
|
-
"topic": "",
|
1689
|
-
"payload": "{\"flowNodeInstanceId\":\"af9f9061-304c-49df-8533-ff4260018130\"}",
|
1690
|
-
"payloadType": "json",
|
1691
|
-
"x": 310,
|
1692
|
-
"y": 260,
|
1693
|
-
"wires": [
|
1694
|
-
[
|
1695
|
-
"ec0be0ef92746967"
|
1696
|
-
]
|
1697
|
-
]
|
1698
|
-
},
|
1699
|
-
{
|
1700
|
-
"id": "3a47f3acf7a512ea",
|
1701
|
-
"type": "link in",
|
1702
|
-
"z": "fd3c725340de4f74",
|
1703
|
-
"g": "405f8c703368777c",
|
1704
|
-
"name": "link in 1",
|
1705
|
-
"links": [
|
1706
|
-
"efa57df2a7fa4a53"
|
1707
|
-
],
|
1708
|
-
"x": 385,
|
1709
|
-
"y": 320,
|
1710
|
-
"wires": [
|
1711
|
-
[
|
1712
|
-
"ec0be0ef92746967"
|
1713
|
-
]
|
1714
|
-
]
|
1715
|
-
},
|
1716
|
-
{
|
1717
|
-
"id": "efa57df2a7fa4a53",
|
1718
|
-
"type": "link out",
|
1719
|
-
"z": "fd3c725340de4f74",
|
1720
|
-
"g": "f29182f397cab86b",
|
1721
|
-
"name": "link out 1",
|
1722
|
-
"mode": "link",
|
1723
|
-
"links": [
|
1724
|
-
"3a47f3acf7a512ea"
|
1725
|
-
],
|
1726
|
-
"x": 375,
|
1727
|
-
"y": 440,
|
1422
|
+
"x": 200,
|
1423
|
+
"y": 100,
|
1728
1424
|
"wires": []
|
1729
1425
|
},
|
1730
1426
|
{
|
1731
|
-
"id": "
|
1732
|
-
"type": "inject",
|
1733
|
-
"z": "fd3c725340de4f74",
|
1734
|
-
"g": "b60e94a5f1ee2790",
|
1735
|
-
"name": "Parameter setzen",
|
1736
|
-
"props": [
|
1737
|
-
{
|
1738
|
-
"p": "payload"
|
1739
|
-
}
|
1740
|
-
],
|
1741
|
-
"repeat": "",
|
1742
|
-
"crontab": "",
|
1743
|
-
"once": false,
|
1744
|
-
"onceDelay": 0.1,
|
1745
|
-
"topic": "",
|
1746
|
-
"payload": "{\"flowNodeInstanceId\":\"a84dfgh2b416-58f7-443f-bd38-c10ddcd776cb\"}",
|
1747
|
-
"payloadType": "json",
|
1748
|
-
"x": 160,
|
1749
|
-
"y": 700,
|
1750
|
-
"wires": [
|
1751
|
-
[
|
1752
|
-
"66b90cf83a531a75"
|
1753
|
-
]
|
1754
|
-
]
|
1755
|
-
},
|
1756
|
-
{
|
1757
|
-
"id": "66b90cf83a531a75",
|
1427
|
+
"id": "e283d772578fb6d2",
|
1758
1428
|
"type": "usertask-input",
|
1759
1429
|
"z": "fd3c725340de4f74",
|
1760
|
-
"g": "
|
1430
|
+
"g": "f29182f397cab86b",
|
1761
1431
|
"name": "",
|
1762
1432
|
"engine": "d042a4c68f51d6ab",
|
1763
|
-
"query": "
|
1764
|
-
"query_type": "
|
1765
|
-
"force_send_array":
|
1433
|
+
"query": "{\"state\":\"suspended\"}",
|
1434
|
+
"query_type": "json",
|
1435
|
+
"force_send_array": true,
|
1766
1436
|
"multisend": false,
|
1767
|
-
"x":
|
1768
|
-
"y":
|
1437
|
+
"x": 460,
|
1438
|
+
"y": 220,
|
1769
1439
|
"wires": [
|
1770
1440
|
[
|
1771
|
-
"
|
1772
|
-
"a547ad5dcdd4613f"
|
1441
|
+
"86dd72913b9f2ee3"
|
1773
1442
|
]
|
1774
1443
|
]
|
1775
1444
|
},
|
1776
1445
|
{
|
1777
|
-
"id": "
|
1446
|
+
"id": "86dd72913b9f2ee3",
|
1778
1447
|
"type": "debug",
|
1779
1448
|
"z": "fd3c725340de4f74",
|
1780
|
-
"g": "
|
1781
|
-
"name": "
|
1449
|
+
"g": "f29182f397cab86b",
|
1450
|
+
"name": "user tasks",
|
1782
1451
|
"active": true,
|
1783
1452
|
"tosidebar": true,
|
1784
1453
|
"console": false,
|
1785
1454
|
"tostatus": false,
|
1786
|
-
"complete": "
|
1455
|
+
"complete": "payload",
|
1456
|
+
"targetType": "msg",
|
1787
1457
|
"statusVal": "",
|
1788
1458
|
"statusType": "auto",
|
1789
|
-
"x":
|
1790
|
-
"y":
|
1791
|
-
"wires": []
|
1792
|
-
},
|
1793
|
-
{
|
1794
|
-
"id": "2851b83de5fb070d",
|
1795
|
-
"type": "comment",
|
1796
|
-
"z": "fd3c725340de4f74",
|
1797
|
-
"g": "b60e94a5f1ee2790",
|
1798
|
-
"name": "Abfragen von UserTasks",
|
1799
|
-
"info": "",
|
1800
|
-
"x": 170,
|
1801
|
-
"y": 640,
|
1459
|
+
"x": 690,
|
1460
|
+
"y": 220,
|
1802
1461
|
"wires": []
|
1803
1462
|
},
|
1804
1463
|
{
|
1805
|
-
"id": "
|
1806
|
-
"type": "
|
1464
|
+
"id": "3e89be46a437d93c",
|
1465
|
+
"type": "usertask-finished-listener",
|
1807
1466
|
"z": "fd3c725340de4f74",
|
1808
|
-
"g": "
|
1467
|
+
"g": "f29182f397cab86b",
|
1809
1468
|
"name": "",
|
1810
|
-
"
|
1811
|
-
"
|
1812
|
-
"
|
1813
|
-
|
1814
|
-
"label": "jljlkj"
|
1815
|
-
},
|
1816
|
-
{
|
1817
|
-
"label": "another"
|
1818
|
-
},
|
1819
|
-
{
|
1820
|
-
"label": "dsfjklsdj"
|
1821
|
-
}
|
1822
|
-
],
|
1823
|
-
"waiting_title": "Warten auf den Usertask...",
|
1824
|
-
"waiting_info": "Der Usertask wird automatisch angezeigt, wenn ein entsprechender Task vorhanden ist.",
|
1825
|
-
"width": 0,
|
1826
|
-
"height": 0,
|
1827
|
-
"outputs": 3,
|
1828
|
-
"x": 640,
|
1829
|
-
"y": 640,
|
1469
|
+
"engine": "d042a4c68f51d6ab",
|
1470
|
+
"multisend": false,
|
1471
|
+
"x": 190,
|
1472
|
+
"y": 260,
|
1830
1473
|
"wires": [
|
1831
1474
|
[
|
1832
|
-
"
|
1833
|
-
|
1834
|
-
[
|
1835
|
-
"ed3c805cc0dc276c"
|
1836
|
-
],
|
1837
|
-
[
|
1838
|
-
"ed3c805cc0dc276c"
|
1475
|
+
"f0d9df3d9fea075b",
|
1476
|
+
"e283d772578fb6d2"
|
1839
1477
|
]
|
1840
1478
|
]
|
1841
1479
|
},
|
1842
1480
|
{
|
1843
|
-
"id": "
|
1844
|
-
"type": "debug",
|
1845
|
-
"z": "fd3c725340de4f74",
|
1846
|
-
"g": "b60e94a5f1ee2790",
|
1847
|
-
"name": "debug 25",
|
1848
|
-
"active": true,
|
1849
|
-
"tosidebar": true,
|
1850
|
-
"console": false,
|
1851
|
-
"tostatus": false,
|
1852
|
-
"complete": "false",
|
1853
|
-
"statusVal": "",
|
1854
|
-
"statusType": "auto",
|
1855
|
-
"x": 860,
|
1856
|
-
"y": 600,
|
1857
|
-
"wires": []
|
1858
|
-
},
|
1859
|
-
{
|
1860
|
-
"id": "ed3c805cc0dc276c",
|
1481
|
+
"id": "f0d9df3d9fea075b",
|
1861
1482
|
"type": "debug",
|
1862
1483
|
"z": "fd3c725340de4f74",
|
1863
|
-
"g": "
|
1864
|
-
"name": "
|
1484
|
+
"g": "f29182f397cab86b",
|
1485
|
+
"name": "finished",
|
1865
1486
|
"active": true,
|
1866
1487
|
"tosidebar": true,
|
1867
1488
|
"console": false,
|
1868
1489
|
"tostatus": false,
|
1869
|
-
"complete": "
|
1490
|
+
"complete": "payload",
|
1491
|
+
"targetType": "msg",
|
1870
1492
|
"statusVal": "",
|
1871
1493
|
"statusType": "auto",
|
1872
|
-
"x":
|
1873
|
-
"y":
|
1494
|
+
"x": 440,
|
1495
|
+
"y": 300,
|
1874
1496
|
"wires": []
|
1875
1497
|
},
|
1876
1498
|
{
|
1877
|
-
"id": "
|
1878
|
-
"type": "
|
1879
|
-
"z": "fd3c725340de4f74",
|
1880
|
-
"name": "",
|
1881
|
-
"props": [
|
1882
|
-
{
|
1883
|
-
"p": "payload"
|
1884
|
-
},
|
1885
|
-
{
|
1886
|
-
"p": "topic",
|
1887
|
-
"vt": "str"
|
1888
|
-
}
|
1889
|
-
],
|
1890
|
-
"repeat": "",
|
1891
|
-
"crontab": "",
|
1892
|
-
"once": false,
|
1893
|
-
"onceDelay": 0.1,
|
1894
|
-
"topic": "",
|
1895
|
-
"payload": "",
|
1896
|
-
"payloadType": "date",
|
1897
|
-
"x": 140,
|
1898
|
-
"y": 840,
|
1899
|
-
"wires": [
|
1900
|
-
[
|
1901
|
-
"e283d772578fb6d2"
|
1902
|
-
]
|
1903
|
-
]
|
1904
|
-
},
|
1905
|
-
{
|
1906
|
-
"id": "09a463e42d3ce5b8",
|
1907
|
-
"type": "dynamic-table",
|
1908
|
-
"z": "fd3c725340de4f74",
|
1909
|
-
"name": "",
|
1910
|
-
"tableName": "",
|
1911
|
-
"group": "99fb2417816969fd",
|
1912
|
-
"order": 0,
|
1913
|
-
"data": "payload.userTasks",
|
1914
|
-
"data_type": "msg",
|
1915
|
-
"options": [
|
1916
|
-
{
|
1917
|
-
"label": "action",
|
1918
|
-
"condition": ""
|
1919
|
-
},
|
1920
|
-
{
|
1921
|
-
"label": "another",
|
1922
|
-
"condition": ""
|
1923
|
-
}
|
1924
|
-
],
|
1925
|
-
"columns": [
|
1926
|
-
{
|
1927
|
-
"label": "State",
|
1928
|
-
"value": "state",
|
1929
|
-
"type": "str"
|
1930
|
-
}
|
1931
|
-
],
|
1932
|
-
"width": 0,
|
1933
|
-
"height": 0,
|
1934
|
-
"outputs": 2,
|
1935
|
-
"x": 560,
|
1936
|
-
"y": 840,
|
1937
|
-
"wires": [
|
1938
|
-
[
|
1939
|
-
"8c5309ae86d0cb66"
|
1940
|
-
],
|
1941
|
-
[
|
1942
|
-
"45208778372636d3"
|
1943
|
-
]
|
1944
|
-
]
|
1945
|
-
},
|
1946
|
-
{
|
1947
|
-
"id": "e283d772578fb6d2",
|
1948
|
-
"type": "usertask-input",
|
1499
|
+
"id": "3011d9be5207350a",
|
1500
|
+
"type": "usertask-new-listener",
|
1949
1501
|
"z": "fd3c725340de4f74",
|
1502
|
+
"g": "f29182f397cab86b",
|
1950
1503
|
"name": "",
|
1951
1504
|
"engine": "d042a4c68f51d6ab",
|
1952
|
-
"query": "{\"state\":\"suspended\"}",
|
1953
|
-
"query_type": "json",
|
1954
|
-
"force_send_array": true,
|
1955
1505
|
"multisend": false,
|
1956
|
-
"x":
|
1957
|
-
"y":
|
1506
|
+
"x": 200,
|
1507
|
+
"y": 180,
|
1958
1508
|
"wires": [
|
1959
1509
|
[
|
1960
|
-
"
|
1510
|
+
"aa3ca456ddf1a7bd",
|
1511
|
+
"e283d772578fb6d2"
|
1961
1512
|
]
|
1962
1513
|
]
|
1963
1514
|
},
|
1964
|
-
{
|
1965
|
-
"id": "8c5309ae86d0cb66",
|
1966
|
-
"type": "debug",
|
1967
|
-
"z": "fd3c725340de4f74",
|
1968
|
-
"name": "debug 27",
|
1969
|
-
"active": true,
|
1970
|
-
"tosidebar": true,
|
1971
|
-
"console": false,
|
1972
|
-
"tostatus": false,
|
1973
|
-
"complete": "false",
|
1974
|
-
"statusVal": "",
|
1975
|
-
"statusType": "auto",
|
1976
|
-
"x": 740,
|
1977
|
-
"y": 780,
|
1978
|
-
"wires": []
|
1979
|
-
},
|
1980
|
-
{
|
1981
|
-
"id": "45208778372636d3",
|
1982
|
-
"type": "debug",
|
1983
|
-
"z": "fd3c725340de4f74",
|
1984
|
-
"name": "debug 28",
|
1985
|
-
"active": true,
|
1986
|
-
"tosidebar": true,
|
1987
|
-
"console": false,
|
1988
|
-
"tostatus": false,
|
1989
|
-
"complete": "false",
|
1990
|
-
"statusVal": "",
|
1991
|
-
"statusType": "auto",
|
1992
|
-
"x": 780,
|
1993
|
-
"y": 880,
|
1994
|
-
"wires": []
|
1995
|
-
},
|
1996
1515
|
{
|
1997
1516
|
"id": "0f5978f327b01bfb",
|
1998
1517
|
"type": "ui-table",
|
@@ -2218,6 +1737,7 @@
|
|
2218
1737
|
"id": "97afbbf01ec1cd88",
|
2219
1738
|
"type": "ui-event",
|
2220
1739
|
"z": "b195bc3ca2e1a665",
|
1740
|
+
"d": true,
|
2221
1741
|
"g": "09cdc14cfb8ad687",
|
2222
1742
|
"ui": "26a45d43c064bdb6",
|
2223
1743
|
"name": "",
|
@@ -2310,6 +1830,7 @@
|
|
2310
1830
|
"id": "493500b42d8d0f5b",
|
2311
1831
|
"type": "ui-event",
|
2312
1832
|
"z": "b195bc3ca2e1a665",
|
1833
|
+
"d": true,
|
2313
1834
|
"g": "ec36901abb138306",
|
2314
1835
|
"ui": "26a45d43c064bdb6",
|
2315
1836
|
"name": "",
|
@@ -2428,6 +1949,7 @@
|
|
2428
1949
|
"id": "54a2572d4a48cf34",
|
2429
1950
|
"type": "usertask-new-listener",
|
2430
1951
|
"z": "b195bc3ca2e1a665",
|
1952
|
+
"d": true,
|
2431
1953
|
"g": "bd2bef99e757d7bf",
|
2432
1954
|
"name": "",
|
2433
1955
|
"engine": "d042a4c68f51d6ab",
|
@@ -2627,6 +2149,7 @@
|
|
2627
2149
|
"id": "879b5476deda73b0",
|
2628
2150
|
"type": "ui-event",
|
2629
2151
|
"z": "b195bc3ca2e1a665",
|
2152
|
+
"d": true,
|
2630
2153
|
"g": "17b562c4786348d6",
|
2631
2154
|
"ui": "26a45d43c064bdb6",
|
2632
2155
|
"name": "",
|
package/nodered/package.json
CHANGED
@@ -8,6 +8,7 @@
|
|
8
8
|
"dependencies": {
|
9
9
|
"@5minds/node-red-contrib-processcube": "file:..",
|
10
10
|
"@5minds/node-red-dashboard-2-processcube-dynamic-form": "^1.0.4",
|
11
|
+
"@5minds/node-red-dashboard-2-processcube-usertask-table": "^1.0.7",
|
11
12
|
"@flowfuse/node-red-dashboard": "^1.11.1",
|
12
13
|
"node-red": "^3.1.10",
|
13
14
|
"node-red-debugger": "^1.1.1",
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@5minds/node-red-contrib-processcube",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.8.0",
|
4
4
|
"license": "MIT",
|
5
5
|
"description": "Node-RED nodes for ProcessCube",
|
6
6
|
"authors": [
|
@@ -40,6 +40,7 @@
|
|
40
40
|
"messageEventTrigger": "message-event-trigger.js",
|
41
41
|
"signalEventTrigger": "signal-event-trigger.js",
|
42
42
|
"UserTaskNewListener": "usertask-new-listener.js",
|
43
|
+
"UserTaskFinishedListener": "usertask-finished-listener.js",
|
43
44
|
"UserTaskInput": "usertask-input.js",
|
44
45
|
"UserTaskOutput": "usertask-output.js"
|
45
46
|
}
|
@@ -32,7 +32,6 @@
|
|
32
32
|
<camunda:value id="value_02" name="Value 02" />
|
33
33
|
</camunda:formField>
|
34
34
|
<camunda:formField id="boolean_id" label="Boolean Label" type="boolean" />
|
35
|
-
<camunda:formField id="customer_01" label="Custom_01" type="v-text-field" />
|
36
35
|
</camunda:formData>
|
37
36
|
</bpmn:extensionElements>
|
38
37
|
<bpmn:incoming>Flow_1h0giih</bpmn:incoming>
|
@@ -0,0 +1,39 @@
|
|
1
|
+
<script type="text/javascript">
|
2
|
+
RED.nodes.registerType('usertask-finished-listener',{
|
3
|
+
category: 'ProcessCube',
|
4
|
+
color: '#00aed7',
|
5
|
+
defaults: {
|
6
|
+
name: {value: ""},
|
7
|
+
engine: {value: "", type: "processcube-engine-config"},
|
8
|
+
multisend: {value: false}
|
9
|
+
},
|
10
|
+
inputs: 0,
|
11
|
+
outputs: 1,
|
12
|
+
icon: "font-awesome/fa-envelope",
|
13
|
+
label: function() {
|
14
|
+
return this.name || "usertask-finished-listener";
|
15
|
+
}
|
16
|
+
});
|
17
|
+
</script>
|
18
|
+
|
19
|
+
<script type="text/html" data-template-name="usertask-finished-listener">
|
20
|
+
<div class="form-row">
|
21
|
+
<label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
|
22
|
+
<input type="text" id="node-input-name" placeholder="Name">
|
23
|
+
</div>
|
24
|
+
<div class="form-row">
|
25
|
+
<label for="node-input-engine"><i class="fa fa-tag"></i> Engine-URL</label>
|
26
|
+
<input type="text" id="node-input-engine" placeholder="http://engine:8000">
|
27
|
+
</div>
|
28
|
+
<div class="form-row" style="display:flex; margin-bottom: 3px;">
|
29
|
+
<label for="node-input-multisend" style="vertical-align:top"><i class="fa fa-list-alt"></i> Send multi</label>
|
30
|
+
<div>
|
31
|
+
<input type="checkbox" checked id="node-input-multisend" style="display: inline-block; width: auto; margin: 0px 0px 0px 4px;">
|
32
|
+
<label style="width:auto" for="node-input-multisend">Send one output of each usertask input?</label>
|
33
|
+
</div>
|
34
|
+
</div>
|
35
|
+
</script>
|
36
|
+
|
37
|
+
<script type="text/html" data-help-name="usertask-finished-listener">
|
38
|
+
<p>A node which subscribes to an User Task of https://processcube.io</p>
|
39
|
+
</script>
|
@@ -0,0 +1,41 @@
|
|
1
|
+
const process = require('process');
|
2
|
+
const EventEmitter = require('node:events');
|
3
|
+
|
4
|
+
const engine_client = require('@5minds/processcube_engine_client');
|
5
|
+
|
6
|
+
module.exports = function(RED) {
|
7
|
+
function UserTaskFinishedListener(config) {
|
8
|
+
RED.nodes.createNode(this, config);
|
9
|
+
var node = this;
|
10
|
+
var flowContext = node.context().flow;
|
11
|
+
var nodeContext = node.context();
|
12
|
+
|
13
|
+
this.engine = this.server = RED.nodes.getNode(config.engine);
|
14
|
+
|
15
|
+
const engineUrl = this.engine?.url || process.env.ENGINE_URL || 'http://engine:8000';
|
16
|
+
|
17
|
+
var client = nodeContext.get('client');
|
18
|
+
|
19
|
+
if (!client) {
|
20
|
+
nodeContext.set('client', new engine_client.EngineClient(engineUrl));
|
21
|
+
client = nodeContext.get('client');
|
22
|
+
}
|
23
|
+
|
24
|
+
var eventEmitter = flowContext.get('emitter');
|
25
|
+
|
26
|
+
if (!eventEmitter) {
|
27
|
+
flowContext.set('emitter', new EventEmitter());
|
28
|
+
eventEmitter = flowContext.get('emitter');
|
29
|
+
}
|
30
|
+
|
31
|
+
node.on("close", async () => {
|
32
|
+
client.dispose();
|
33
|
+
client = null;
|
34
|
+
});
|
35
|
+
|
36
|
+
client.userTasks.onUserTaskFinished((userTaskFinishedNotification) => {
|
37
|
+
node.send({ payload: { flowNodeInstanceId: userTaskFinishedNotification.flowNodeInstanceId, action: "finished", type: "usertask" } });
|
38
|
+
});
|
39
|
+
}
|
40
|
+
RED.nodes.registerType("usertask-finished-listener", UserTaskFinishedListener);
|
41
|
+
}
|
package/usertask-input.js
CHANGED
@@ -44,12 +44,9 @@ module.exports = function(RED) {
|
|
44
44
|
|
45
45
|
node.on('input', function(msg) {
|
46
46
|
const query = RED.util.evaluateNodeProperty(config.query, config.query_type, node, msg)
|
47
|
-
console.log(query)
|
48
47
|
|
49
48
|
client.userTasks.query(query).then((matchingFlowNodes) => {
|
50
49
|
|
51
|
-
console.log(`UserTaskInput query result: ${JSON.stringify(matchingFlowNodes)}`);
|
52
|
-
|
53
50
|
if (!config.force_send_array && matchingFlowNodes && matchingFlowNodes.userTasks && matchingFlowNodes.userTasks.length == 1) {
|
54
51
|
userTask = matchingFlowNodes.userTasks[0];
|
55
52
|
|
package/usertask-new-listener.js
CHANGED
@@ -34,9 +34,7 @@ module.exports = function(RED) {
|
|
34
34
|
});
|
35
35
|
|
36
36
|
client.userTasks.onUserTaskWaiting((userTaskWaitingNotification) => {
|
37
|
-
|
38
|
-
|
39
|
-
node.send({ payload: { flowNodeInstanceId: userTaskWaitingNotification.flowNodeInstanceId } });
|
37
|
+
node.send({ payload: { flowNodeInstanceId: userTaskWaitingNotification.flowNodeInstanceIdaction, action: "new", type: "usertask" } });
|
40
38
|
});
|
41
39
|
}
|
42
40
|
RED.nodes.registerType("usertask-new-listener", UserTaskNewListener);
|
package/usertask-output.js
CHANGED
@@ -32,14 +32,12 @@ module.exports = function(RED) {
|
|
32
32
|
|
33
33
|
node.on('input', function(msg) {
|
34
34
|
if (msg.payload.userTask) {
|
35
|
-
console.log(`Try to finsih UserTask with id ${msg.payload.userTask.flowNodeInstanceId}.`);
|
36
35
|
|
37
36
|
const flowNodeInstanceId = msg.payload.userTask.flowNodeInstanceId;
|
38
37
|
|
39
38
|
const userTaskResult = RED.util.evaluateNodeProperty(config.result, config.result_type, node, msg);
|
40
39
|
|
41
40
|
client.userTasks.finishUserTask(flowNodeInstanceId, userTaskResult).then(() => {
|
42
|
-
console.log(`UserTask with id ${flowNodeInstanceId} finished.`);
|
43
41
|
|
44
42
|
node.send(msg);
|
45
43
|
}).catch(error => {
|