@5minds/node-red-contrib-processcube 0.14.0 → 0.15.0-error-handling-in-process-instance-query-and-add-prettier-6b3dae-lz096tqk
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/.prettierrc.json +6 -0
- package/externaltask-error.html +21 -21
- package/externaltask-error.js +9 -10
- package/externaltask-input.html +24 -24
- package/externaltask-input.js +40 -36
- package/externaltask-output.html +15 -15
- package/externaltask-output.js +8 -9
- package/message-event-trigger.html +14 -14
- package/message-event-trigger.js +6 -6
- package/nodered/settings.js +82 -92
- package/package.json +4 -1
- package/process-start.html +19 -23
- package/process-start.js +6 -6
- package/processcube-engine-config.html +10 -10
- package/processcube-engine-config.js +23 -16
- package/processdefinition-query.html +29 -23
- package/processdefinition-query.js +30 -44
- package/processinstance-query.html +19 -20
- package/processinstance-query.js +13 -15
- package/signal-event-trigger.html +14 -14
- package/signal-event-trigger.js +6 -6
- package/usertask-finished-listener.html +17 -12
- package/usertask-finished-listener.js +18 -29
- package/usertask-input.html +40 -27
- package/usertask-input.js +15 -24
- package/usertask-new-listener.html +17 -12
- package/usertask-new-listener.js +18 -26
- package/usertask-output.html +23 -24
- package/usertask-output.js +12 -24
package/.prettierrc.json
ADDED
package/externaltask-error.html
CHANGED
@@ -1,45 +1,45 @@
|
|
1
1
|
<script type="text/javascript">
|
2
|
-
RED.nodes.registerType('externaltask-error',{
|
2
|
+
RED.nodes.registerType('externaltask-error', {
|
3
3
|
category: 'ProcessCube',
|
4
4
|
color: '#F6A923',
|
5
5
|
defaults: {
|
6
|
-
name: {value:
|
7
|
-
error: {value:
|
6
|
+
name: { value: '' },
|
7
|
+
error: { value: '' },
|
8
8
|
},
|
9
9
|
inputs: 1,
|
10
10
|
outputs: 1,
|
11
|
-
icon:
|
12
|
-
label: function() {
|
13
|
-
return this.name ||
|
14
|
-
}
|
11
|
+
icon: 'font-awesome/fa-exclamation-triangle',
|
12
|
+
label: function () {
|
13
|
+
return this.name || 'externaltask-error';
|
14
|
+
},
|
15
15
|
});
|
16
16
|
</script>
|
17
17
|
|
18
18
|
<script type="text/html" data-template-name="externaltask-error">
|
19
19
|
<div class="form-row">
|
20
20
|
<label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
|
21
|
-
<input type="text" id="node-input-name" placeholder="Name"
|
21
|
+
<input type="text" id="node-input-name" placeholder="Name" />
|
22
22
|
</div>
|
23
23
|
<div class="form-row">
|
24
24
|
<label for="node-input-error"><i class="fa fa-tag"></i> Error Code</label>
|
25
|
-
<input type="text" id="node-input-error" placeholder="Error Code of ExternalTask"
|
25
|
+
<input type="text" id="node-input-error" placeholder="Error Code of ExternalTask" />
|
26
26
|
</div>
|
27
27
|
</script>
|
28
28
|
|
29
29
|
<script type="text/markdown" data-help-name="externaltask-error">
|
30
|
-
Used for reporting errors in the processing of external tasks. The error
|
31
|
-
code `Error` in the configuration is forwarded to the ProcessCube engine for
|
32
|
-
handling within
|
30
|
+
Used for reporting errors in the processing of external tasks. The error
|
31
|
+
code `Error` in the configuration is forwarded to the ProcessCube engine for
|
32
|
+
handling within _Error-Boundary-Events_.
|
33
33
|
|
34
|
-
## Inputs
|
34
|
+
## Inputs
|
35
35
|
|
36
|
-
: msg (Object)
|
37
|
-
: Error (string)
|
38
|
-
: Message (string)
|
39
|
-
: StackTrace (string) : The stack trace of the exception
|
36
|
+
: msg (Object) : Passed as `ErrorDetails` to the engine
|
37
|
+
: Error (string) : From the configuration
|
38
|
+
: Message (string) : The caught exception message
|
39
|
+
: StackTrace (string) : The stack trace of the exception
|
40
40
|
|
41
|
-
### References
|
41
|
+
### References
|
42
42
|
|
43
|
-
-
|
44
|
-
-
|
45
|
-
</script>
|
43
|
+
- [The ProcessCube Developer Network](https://processcube.io) - All documentation for the ProcessCube© platform
|
44
|
+
- [Node-RED Integration in ProcessCube©](https://processcube.io/docs/node-red) - Node-RED integration in ProcessCube©
|
45
|
+
</script>
|
package/externaltask-error.js
CHANGED
@@ -1,19 +1,18 @@
|
|
1
|
-
module.exports = function(RED) {
|
1
|
+
module.exports = function (RED) {
|
2
2
|
function ExternalTaskError(config) {
|
3
|
-
RED.nodes.createNode(this,config);
|
3
|
+
RED.nodes.createNode(this, config);
|
4
4
|
var node = this;
|
5
5
|
|
6
6
|
var flowContext = node.context().flow;
|
7
|
-
var eventEmitter = flowContext.get('emitter');
|
8
|
-
|
9
|
-
node.on('input', function(msg) {
|
7
|
+
var eventEmitter = flowContext.get('emitter');
|
10
8
|
|
9
|
+
node.on('input', function (msg) {
|
11
10
|
const flowNodeInstanceId = msg.flowNodeInstanceId;
|
12
11
|
|
13
12
|
let msgError = msg.error;
|
14
13
|
|
15
14
|
if (msgError === undefined) {
|
16
|
-
msgError.message =
|
15
|
+
msgError.message = 'An error occurred';
|
17
16
|
}
|
18
17
|
|
19
18
|
const error = new Error(msgError.message);
|
@@ -24,9 +23,9 @@ module.exports = function(RED) {
|
|
24
23
|
msg.errorMessage = msgError.message;
|
25
24
|
|
26
25
|
eventEmitter.emit(`handle-${flowNodeInstanceId}`, error, true);
|
27
|
-
|
26
|
+
|
28
27
|
node.send(msg);
|
29
|
-
});
|
28
|
+
});
|
30
29
|
}
|
31
|
-
RED.nodes.registerType(
|
32
|
-
}
|
30
|
+
RED.nodes.registerType('externaltask-error', ExternalTaskError);
|
31
|
+
};
|
package/externaltask-input.html
CHANGED
@@ -1,53 +1,53 @@
|
|
1
1
|
<script type="text/javascript">
|
2
|
-
RED.nodes.registerType('externaltask-input',{
|
2
|
+
RED.nodes.registerType('externaltask-input', {
|
3
3
|
category: 'ProcessCube',
|
4
4
|
color: '#02AFD6',
|
5
5
|
defaults: {
|
6
|
-
name: {value:
|
7
|
-
engine: {value:
|
8
|
-
topic: {value:
|
6
|
+
name: { value: '' },
|
7
|
+
engine: { value: '', type: 'processcube-engine-config' },
|
8
|
+
topic: { value: '' },
|
9
9
|
},
|
10
10
|
inputs: 0,
|
11
11
|
outputs: 1,
|
12
|
-
icon:
|
13
|
-
label: function() {
|
14
|
-
return this.name||
|
15
|
-
}
|
12
|
+
icon: 'font-awesome/fa-envelope-open',
|
13
|
+
label: function () {
|
14
|
+
return this.name || 'externaltask-input';
|
15
|
+
},
|
16
16
|
});
|
17
17
|
</script>
|
18
18
|
|
19
19
|
<script type="text/html" data-template-name="externaltask-input">
|
20
20
|
<div class="form-row">
|
21
21
|
<label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
|
22
|
-
<input type="text" id="node-input-name" placeholder="Name"
|
22
|
+
<input type="text" id="node-input-name" placeholder="Name" />
|
23
23
|
</div>
|
24
24
|
<div class="form-row">
|
25
25
|
<label for="node-input-engine"><i class="fa fa-tag"></i> Engine</label>
|
26
|
-
<input type="text" id="node-input-engine" placeholder="Engine"
|
26
|
+
<input type="text" id="node-input-engine" placeholder="Engine" />
|
27
27
|
</div>
|
28
28
|
<div class="form-row">
|
29
29
|
<label for="node-input-topic"><i class="fa fa-tag"></i> Topic</label>
|
30
|
-
<input type="text" id="node-input-topic" placeholder="Topic of ExternalTask"
|
30
|
+
<input type="text" id="node-input-topic" placeholder="Topic of ExternalTask" />
|
31
31
|
</div>
|
32
32
|
</script>
|
33
33
|
|
34
34
|
<script type="text/markdown" data-help-name="externaltask-input">
|
35
|
-
Waiting for external tasks that correspond to the `Topic` configured in
|
36
|
-
the connected ProcessCube Engine for processing.
|
35
|
+
Waiting for external tasks that correspond to the `Topic` configured in
|
36
|
+
the connected ProcessCube Engine for processing.
|
37
37
|
|
38
|
-
## Outputs
|
38
|
+
## Outputs
|
39
39
|
|
40
|
-
: payload (string)
|
41
|
-
: task (object)
|
42
|
-
: flowNodeInstanceId : The Id of the external task, which is needed to complete the task
|
40
|
+
: payload (string) : Defines the input of the external task token
|
41
|
+
: task (object) : The external task object
|
42
|
+
: flowNodeInstanceId : The Id of the external task, which is needed to complete the task
|
43
43
|
|
44
|
-
### Details
|
44
|
+
### Details
|
45
45
|
|
46
|
-
-
|
47
|
-
-
|
46
|
+
- To finish the external task the `externaltask-output` node is required.
|
47
|
+
- For handling a error while executing a flow as external task the `externaltask-error` node is required.
|
48
48
|
|
49
|
-
### References
|
49
|
+
### References
|
50
50
|
|
51
|
-
-
|
52
|
-
-
|
53
|
-
</script>
|
51
|
+
- [The ProcessCube Developer Network](https://processcube.io) - All documentation for the ProcessCube© Plattform
|
52
|
+
- [Node-RED Integration in ProcessCube©](https://processcube.io/docs/node-red) - Node-RED Integration in ProcessCube©
|
53
|
+
</script>
|
package/externaltask-input.js
CHANGED
@@ -2,20 +2,20 @@ const EventEmitter = require('node:events');
|
|
2
2
|
|
3
3
|
function showStatus(node, msgCounter) {
|
4
4
|
if (msgCounter >= 1) {
|
5
|
-
node.status({fill:
|
5
|
+
node.status({ fill: 'blue', shape: 'dot', text: `handling tasks ${msgCounter}.` });
|
6
6
|
} else {
|
7
|
-
node.status({fill:
|
7
|
+
node.status({ fill: 'blue', shape: 'ring', text: `subcribed.` });
|
8
8
|
}
|
9
9
|
}
|
10
10
|
|
11
11
|
const started_external_tasks = {};
|
12
12
|
|
13
|
-
module.exports = function(RED) {
|
13
|
+
module.exports = function (RED) {
|
14
14
|
function ExternalTaskInput(config) {
|
15
|
-
RED.nodes.createNode(this,config);
|
15
|
+
RED.nodes.createNode(this, config);
|
16
16
|
var node = this;
|
17
17
|
var flowContext = node.context().flow;
|
18
|
-
|
18
|
+
|
19
19
|
this.engine = this.server = RED.nodes.getNode(config.engine);
|
20
20
|
|
21
21
|
const client = this.engine.getEngineClient();
|
@@ -27,10 +27,8 @@ module.exports = function(RED) {
|
|
27
27
|
eventEmitter = flowContext.get('emitter');
|
28
28
|
}
|
29
29
|
|
30
|
-
client.externalTasks
|
31
|
-
config.topic,
|
32
|
-
async (payload, externalTask) => {
|
33
|
-
|
30
|
+
client.externalTasks
|
31
|
+
.subscribeToExternalTaskTopic(config.topic, async (payload, externalTask) => {
|
34
32
|
const saveHandleCallback = (data, callback) => {
|
35
33
|
try {
|
36
34
|
callback(data);
|
@@ -38,13 +36,14 @@ module.exports = function(RED) {
|
|
38
36
|
node.error(`Error in callback 'saveHandleCallback': ${error.message}`);
|
39
37
|
}
|
40
38
|
};
|
41
|
-
|
42
|
-
return await new Promise((resolve, reject) => {
|
43
39
|
|
40
|
+
return await new Promise((resolve, reject) => {
|
44
41
|
const handleFinishTask = (msg) => {
|
45
42
|
let result = RED.util.encodeObject(msg.payload);
|
46
43
|
|
47
|
-
node.log(
|
44
|
+
node.log(
|
45
|
+
`handle event for *external task flowNodeInstanceId* '${externalTask.flowNodeInstanceId}' and *processInstanceId* ${externalTask.processInstanceId} with result ${result} on msg._msgid ${msg._msgid}.`,
|
46
|
+
);
|
48
47
|
|
49
48
|
if (externalTask.flowNodeInstanceId) {
|
50
49
|
delete started_external_tasks[externalTask.flowNodeInstanceId];
|
@@ -52,14 +51,14 @@ module.exports = function(RED) {
|
|
52
51
|
|
53
52
|
showStatus(node, Object.keys(started_external_tasks).length);
|
54
53
|
|
55
|
-
|
56
54
|
//resolve(result);
|
57
|
-
saveHandleCallback(result, resolve)
|
55
|
+
saveHandleCallback(result, resolve);
|
58
56
|
};
|
59
57
|
|
60
58
|
const handleErrorTask = (msg) => {
|
61
|
-
|
62
|
-
|
59
|
+
node.log(
|
60
|
+
`handle error event for *external task flowNodeInstanceId* '${externalTask.flowNodeInstanceId}' and *processInstanceId* '${externalTask.processInstanceId}' on *msg._msgid* '${msg._msgid}'.`,
|
61
|
+
);
|
63
62
|
|
64
63
|
if (externalTask.flowNodeInstanceId) {
|
65
64
|
delete started_external_tasks[externalTask.flowNodeInstanceId];
|
@@ -67,8 +66,7 @@ module.exports = function(RED) {
|
|
67
66
|
|
68
67
|
showStatus(node, Object.keys(started_external_tasks).length);
|
69
68
|
|
70
|
-
|
71
|
-
// TODO: with reject, the default error handling is proceed
|
69
|
+
// TODO: with reject, the default error handling is proceed
|
72
70
|
// SEE: https://github.com/5minds/ProcessCube.Engine.Client.ts/blob/develop/src/ExternalTaskWorker.ts#L180
|
73
71
|
// reject(result);
|
74
72
|
//resolve(msg);
|
@@ -76,7 +74,9 @@ module.exports = function(RED) {
|
|
76
74
|
};
|
77
75
|
|
78
76
|
eventEmitter.once(`handle-${externalTask.flowNodeInstanceId}`, (msg, isError = false) => {
|
79
|
-
node.log(
|
77
|
+
node.log(
|
78
|
+
`handle event for *external task flowNodeInstanceId* '${externalTask.flowNodeInstanceId}' and *processInstanceId* '${externalTask.processInstanceId}' with *msg._msgid* '${msg._msgid}' and *isError* '${isError}'`,
|
79
|
+
);
|
80
80
|
|
81
81
|
if (isError) {
|
82
82
|
handleErrorTask(msg);
|
@@ -93,21 +93,23 @@ module.exports = function(RED) {
|
|
93
93
|
_msgid: RED.util.generateId(),
|
94
94
|
task: RED.util.encodeObject(externalTask),
|
95
95
|
payload: payload,
|
96
|
-
flowNodeInstanceId: externalTask.flowNodeInstanceId
|
96
|
+
flowNodeInstanceId: externalTask.flowNodeInstanceId,
|
97
97
|
};
|
98
|
-
|
99
|
-
node.log(
|
100
|
-
|
98
|
+
|
99
|
+
node.log(
|
100
|
+
`Received *external task flowNodeInstanceId* '${externalTask.flowNodeInstanceId}' and *processInstanceId* '${externalTask.processInstanceId}' with *msg._msgid* '${msg._msgid}'`,
|
101
|
+
);
|
102
|
+
|
101
103
|
node.send(msg);
|
102
104
|
});
|
103
|
-
}
|
104
|
-
|
105
|
-
node.status({fill:
|
105
|
+
})
|
106
|
+
.then(async (externalTaskWorker) => {
|
107
|
+
node.status({ fill: 'blue', shape: 'ring', text: 'subcribed' });
|
106
108
|
|
107
109
|
externalTaskWorker.identity = node.server.identity;
|
108
110
|
node.server.registerOnIdentityChanged((identity) => {
|
109
111
|
externalTaskWorker.identity = identity;
|
110
|
-
});
|
112
|
+
});
|
111
113
|
|
112
114
|
// export type WorkerErrorHandler = (errorType: 'fetchAndLock' | 'extendLock' | 'processExternalTask' | 'finishExternalTask', error: Error, externalTask?: ExternalTask<any>) => void;
|
113
115
|
externalTaskWorker.onWorkerError((errorType, error, externalTask) => {
|
@@ -115,8 +117,10 @@ module.exports = function(RED) {
|
|
115
117
|
case 'extendLock':
|
116
118
|
case 'finishExternalTask':
|
117
119
|
case 'processExternalTask':
|
118
|
-
node.error(
|
119
|
-
|
120
|
+
node.error(
|
121
|
+
`Worker error ${errorType} for *external task flowNodeInstanceId* '${externalTask.flowNodeInstanceId}' and *processInstanceId* '${externalTask.processInstanceId}': ${error.message}`,
|
122
|
+
);
|
123
|
+
|
120
124
|
if (externalTask) {
|
121
125
|
delete started_external_tasks[externalTask.flowNodeInstanceId];
|
122
126
|
}
|
@@ -135,18 +139,18 @@ module.exports = function(RED) {
|
|
135
139
|
node.error(`Worker start 'externalTaskWorker.start' failed: ${error.message}`);
|
136
140
|
}
|
137
141
|
|
138
|
-
node.on(
|
142
|
+
node.on('close', () => {
|
139
143
|
try {
|
140
144
|
externalTaskWorker.stop();
|
141
145
|
} catch {
|
142
146
|
node.error('Client close failed');
|
143
147
|
}
|
144
148
|
});
|
145
|
-
}
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
+
})
|
150
|
+
.catch((error) => {
|
151
|
+
node.error(`Error in subscribeToExternalTaskTopic: ${error.message}`);
|
152
|
+
});
|
149
153
|
}
|
150
154
|
|
151
|
-
RED.nodes.registerType(
|
152
|
-
}
|
155
|
+
RED.nodes.registerType('externaltask-input', ExternalTaskInput);
|
156
|
+
};
|
package/externaltask-output.html
CHANGED
@@ -1,36 +1,36 @@
|
|
1
1
|
<script type="text/javascript">
|
2
|
-
RED.nodes.registerType('externaltask-output',{
|
2
|
+
RED.nodes.registerType('externaltask-output', {
|
3
3
|
category: 'ProcessCube',
|
4
4
|
color: '#02AFD6',
|
5
5
|
defaults: {
|
6
|
-
name: {value:
|
6
|
+
name: { value: '' },
|
7
7
|
},
|
8
8
|
inputs: 1,
|
9
9
|
outputs: 0,
|
10
|
-
icon:
|
11
|
-
label: function() {
|
12
|
-
return this.name||
|
13
|
-
}
|
10
|
+
icon: 'font-awesome/fa-envelope',
|
11
|
+
label: function () {
|
12
|
+
return this.name || 'externaltask-output';
|
13
|
+
},
|
14
14
|
});
|
15
15
|
</script>
|
16
16
|
|
17
17
|
<script type="text/html" data-template-name="externaltask-output">
|
18
18
|
<div class="form-row">
|
19
19
|
<label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
|
20
|
-
<input type="text" id="node-input-name" placeholder="Name"
|
20
|
+
<input type="text" id="node-input-name" placeholder="Name" />
|
21
21
|
</div>
|
22
22
|
</script>
|
23
23
|
|
24
24
|
<script type="text/markdown" data-help-name="externaltask-output">
|
25
|
-
Used to complete the external task. The `msg.payload` is returned to the ProcessCube
|
26
|
-
engine as the result of the external task.
|
25
|
+
Used to complete the external task. The `msg.payload` is returned to the ProcessCube
|
26
|
+
engine as the result of the external task.
|
27
27
|
|
28
|
-
## Inputs
|
28
|
+
## Inputs
|
29
29
|
|
30
|
-
: payload (Object) : Returned to the ProcessCube engine as the result of the external task
|
30
|
+
: payload (Object) : Returned to the ProcessCube engine as the result of the external task
|
31
31
|
|
32
|
-
### References
|
32
|
+
### References
|
33
33
|
|
34
|
-
-
|
35
|
-
-
|
36
|
-
</script>
|
34
|
+
- [The ProcessCube Developer Network](https://processcube.io) - All documentation for the ProcessCube© platform
|
35
|
+
- [Node-RED Integration in ProcessCube©](https://processcube.io/docs/node-red) - Node-RED integration in ProcessCube©
|
36
|
+
</script>
|
package/externaltask-output.js
CHANGED
@@ -1,21 +1,20 @@
|
|
1
|
-
module.exports = function(RED) {
|
1
|
+
module.exports = function (RED) {
|
2
2
|
function ExternalTaskOutput(config) {
|
3
|
-
RED.nodes.createNode(this,config);
|
3
|
+
RED.nodes.createNode(this, config);
|
4
4
|
var node = this;
|
5
5
|
|
6
6
|
var flowContext = node.context().flow;
|
7
7
|
var eventEmitter = flowContext.get('emitter');
|
8
8
|
|
9
|
-
node.on('input', function(msg) {
|
10
|
-
|
9
|
+
node.on('input', function (msg) {
|
11
10
|
const flowNodeInstanceId = msg.flowNodeInstanceId;
|
12
11
|
|
13
12
|
if (!flowNodeInstanceId) {
|
14
|
-
|
15
|
-
}
|
13
|
+
node.error('Error: The message did not contain the required external task id.', msg);
|
14
|
+
}
|
16
15
|
|
17
16
|
eventEmitter.emit(`handle-${flowNodeInstanceId}`, msg, false);
|
18
|
-
});
|
17
|
+
});
|
19
18
|
}
|
20
|
-
RED.nodes.registerType(
|
21
|
-
}
|
19
|
+
RED.nodes.registerType('externaltask-output', ExternalTaskOutput);
|
20
|
+
};
|
@@ -1,41 +1,41 @@
|
|
1
1
|
<script type="text/javascript">
|
2
|
-
RED.nodes.registerType('message-event-trigger',{
|
2
|
+
RED.nodes.registerType('message-event-trigger', {
|
3
3
|
category: 'ProcessCube',
|
4
4
|
color: '#02AFD6',
|
5
5
|
defaults: {
|
6
|
-
name: {value:
|
7
|
-
engine: {value:
|
8
|
-
messagename: {value:
|
9
|
-
processInstanceId: {value:
|
6
|
+
name: { value: '' },
|
7
|
+
engine: { value: '', type: 'processcube-engine-config' },
|
8
|
+
messagename: { value: '', required: true },
|
9
|
+
processInstanceId: { value: '' },
|
10
10
|
},
|
11
11
|
inputs: 1,
|
12
12
|
outputs: 1,
|
13
|
-
icon:
|
14
|
-
label: function() {
|
15
|
-
return this.name||
|
16
|
-
}
|
13
|
+
icon: 'font-awesome/fa-envelope-open',
|
14
|
+
label: function () {
|
15
|
+
return this.name || 'message-event-trigger';
|
16
|
+
},
|
17
17
|
});
|
18
18
|
</script>
|
19
19
|
|
20
20
|
<script type="text/html" data-template-name="message-event-trigger">
|
21
21
|
<div class="form-row">
|
22
22
|
<label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
|
23
|
-
<input type="text" id="node-input-name" placeholder="Name"
|
23
|
+
<input type="text" id="node-input-name" placeholder="Name" />
|
24
24
|
</div>
|
25
25
|
<div class="form-row">
|
26
26
|
<label for="node-input-engine"><i class="fa fa-tag"></i> Engine</label>
|
27
|
-
<input type="text" id="node-input-engine" placeholder="Engine"
|
27
|
+
<input type="text" id="node-input-engine" placeholder="Engine" />
|
28
28
|
</div>
|
29
29
|
<div class="form-row">
|
30
30
|
<label for="node-input-messagename"><i class="fa fa-tag"></i> Message Name</label>
|
31
|
-
<input type="text" id="node-input-messagename" placeholder="Name of the Message-Event"
|
31
|
+
<input type="text" id="node-input-messagename" placeholder="Name of the Message-Event" />
|
32
32
|
</div>
|
33
33
|
<div class="form-row">
|
34
34
|
<label for="node-input-processinstanceid"><i class="fa fa-tag"></i> Process Instance Id</label>
|
35
|
-
<input type="text" id="node-input-processinstanceid" placeholder="Id of the recipient process instance"
|
35
|
+
<input type="text" id="node-input-processinstanceid" placeholder="Id of the recipient process instance" />
|
36
36
|
</div>
|
37
37
|
</script>
|
38
38
|
|
39
39
|
<script type="text/html" data-help-name="externaltask-input">
|
40
40
|
<p>A node which emmits an message event to the Engine.</p>
|
41
|
-
</script>
|
41
|
+
</script>
|
package/message-event-trigger.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
const process = require(
|
1
|
+
const process = require('process');
|
2
2
|
|
3
|
-
const engine_client = require(
|
3
|
+
const engine_client = require('@5minds/processcube_engine_client');
|
4
4
|
|
5
5
|
module.exports = function (RED) {
|
6
6
|
function MessageEventTrigger(config) {
|
@@ -11,7 +11,7 @@ module.exports = function (RED) {
|
|
11
11
|
|
12
12
|
const client = this.engine.getEngineClient();
|
13
13
|
|
14
|
-
node.on(
|
14
|
+
node.on('input', function (msg) {
|
15
15
|
client.events
|
16
16
|
.triggerMessageEvent(config.messagename, {
|
17
17
|
processInstanceId: config.processinstanceid,
|
@@ -23,8 +23,8 @@ module.exports = function (RED) {
|
|
23
23
|
|
24
24
|
node.send(msg);
|
25
25
|
node.status({
|
26
|
-
fill:
|
27
|
-
shape:
|
26
|
+
fill: 'blue',
|
27
|
+
shape: 'dot',
|
28
28
|
text: `message event triggered`,
|
29
29
|
});
|
30
30
|
})
|
@@ -33,5 +33,5 @@ module.exports = function (RED) {
|
|
33
33
|
});
|
34
34
|
});
|
35
35
|
}
|
36
|
-
RED.nodes.registerType(
|
36
|
+
RED.nodes.registerType('message-event-trigger', MessageEventTrigger);
|
37
37
|
};
|