@5minds/node-red-contrib-processcube 1.7.2 → 1.7.3

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.
@@ -429,7 +429,7 @@
429
429
  },
430
430
  "@5minds/node-red-contrib-processcube": {
431
431
  "name": "@5minds/node-red-contrib-processcube",
432
- "version": "1.7.2",
432
+ "version": "1.7.3",
433
433
  "local": false,
434
434
  "user": false,
435
435
  "nodes": {
@@ -643,353 +643,5 @@
643
643
  "file": "/usr/src/node-red/node_modules/@5minds/node-red-contrib-processcube/wait-for-usertask.js"
644
644
  }
645
645
  }
646
- },
647
- "@5minds/node-red-dashboard-2-processcube-dynamic-form": {
648
- "name": "@5minds/node-red-dashboard-2-processcube-dynamic-form",
649
- "version": "1.0.15",
650
- "local": true,
651
- "user": false,
652
- "nodes": {
653
- "ui-dynamic-form": {
654
- "name": "ui-dynamic-form",
655
- "types": [
656
- "ui-dynamic-form"
657
- ],
658
- "enabled": true,
659
- "local": true,
660
- "user": false,
661
- "module": "@5minds/node-red-dashboard-2-processcube-dynamic-form",
662
- "file": "/data/node_modules/@5minds/node-red-dashboard-2-processcube-dynamic-form/nodes/dynamic-form.js"
663
- }
664
- }
665
- },
666
- "@5minds/node-red-dashboard-2-processcube-usertask-table": {
667
- "name": "@5minds/node-red-dashboard-2-processcube-usertask-table",
668
- "version": "1.0.7",
669
- "local": true,
670
- "user": false,
671
- "nodes": {
672
- "usertask-table": {
673
- "name": "usertask-table",
674
- "types": [
675
- "usertask-table"
676
- ],
677
- "enabled": true,
678
- "local": true,
679
- "user": false,
680
- "module": "@5minds/node-red-dashboard-2-processcube-usertask-table",
681
- "file": "/data/node_modules/@5minds/node-red-dashboard-2-processcube-usertask-table/nodes/usertask-table.js"
682
- }
683
- }
684
- },
685
- "@flowfuse/node-red-dashboard": {
686
- "name": "@flowfuse/node-red-dashboard",
687
- "version": "1.13.0",
688
- "local": true,
689
- "user": false,
690
- "nodes": {
691
- "ui-base": {
692
- "name": "ui-base",
693
- "types": [
694
- "ui-base"
695
- ],
696
- "enabled": true,
697
- "local": true,
698
- "user": false,
699
- "module": "@flowfuse/node-red-dashboard",
700
- "file": "/data/node_modules/@flowfuse/node-red-dashboard/nodes/config/ui_base.js"
701
- },
702
- "ui-page": {
703
- "name": "ui-page",
704
- "types": [
705
- "ui-page"
706
- ],
707
- "enabled": true,
708
- "local": true,
709
- "user": false,
710
- "module": "@flowfuse/node-red-dashboard",
711
- "file": "/data/node_modules/@flowfuse/node-red-dashboard/nodes/config/ui_page.js"
712
- },
713
- "ui-link": {
714
- "name": "ui-link",
715
- "types": [
716
- "ui-link"
717
- ],
718
- "enabled": true,
719
- "local": true,
720
- "user": false,
721
- "module": "@flowfuse/node-red-dashboard",
722
- "file": "/data/node_modules/@flowfuse/node-red-dashboard/nodes/config/ui_link.js"
723
- },
724
- "ui-group": {
725
- "name": "ui-group",
726
- "types": [
727
- "ui-group"
728
- ],
729
- "enabled": true,
730
- "local": true,
731
- "user": false,
732
- "module": "@flowfuse/node-red-dashboard",
733
- "file": "/data/node_modules/@flowfuse/node-red-dashboard/nodes/config/ui_group.js"
734
- },
735
- "ui-theme": {
736
- "name": "ui-theme",
737
- "types": [
738
- "ui-theme"
739
- ],
740
- "enabled": true,
741
- "local": true,
742
- "user": false,
743
- "module": "@flowfuse/node-red-dashboard",
744
- "file": "/data/node_modules/@flowfuse/node-red-dashboard/nodes/config/ui_theme.js"
745
- },
746
- "ui-form": {
747
- "name": "ui-form",
748
- "types": [
749
- "ui-form"
750
- ],
751
- "enabled": true,
752
- "local": true,
753
- "user": false,
754
- "module": "@flowfuse/node-red-dashboard",
755
- "file": "/data/node_modules/@flowfuse/node-red-dashboard/nodes/widgets/ui_form.js"
756
- },
757
- "ui-text-input": {
758
- "name": "ui-text-input",
759
- "types": [
760
- "ui-text-input"
761
- ],
762
- "enabled": true,
763
- "local": true,
764
- "user": false,
765
- "module": "@flowfuse/node-red-dashboard",
766
- "file": "/data/node_modules/@flowfuse/node-red-dashboard/nodes/widgets/ui_text_input.js"
767
- },
768
- "ui-file-input": {
769
- "name": "ui-file-input",
770
- "types": [
771
- "ui-file-input"
772
- ],
773
- "enabled": true,
774
- "local": true,
775
- "user": false,
776
- "module": "@flowfuse/node-red-dashboard",
777
- "file": "/data/node_modules/@flowfuse/node-red-dashboard/nodes/widgets/ui_file_input.js"
778
- },
779
- "ui-button": {
780
- "name": "ui-button",
781
- "types": [
782
- "ui-button"
783
- ],
784
- "enabled": true,
785
- "local": true,
786
- "user": false,
787
- "module": "@flowfuse/node-red-dashboard",
788
- "file": "/data/node_modules/@flowfuse/node-red-dashboard/nodes/widgets/ui_button.js"
789
- },
790
- "ui-button-group": {
791
- "name": "ui-button-group",
792
- "types": [
793
- "ui-button-group"
794
- ],
795
- "enabled": true,
796
- "local": true,
797
- "user": false,
798
- "module": "@flowfuse/node-red-dashboard",
799
- "file": "/data/node_modules/@flowfuse/node-red-dashboard/nodes/widgets/ui_button_group.js"
800
- },
801
- "ui-dropdown": {
802
- "name": "ui-dropdown",
803
- "types": [
804
- "ui-dropdown"
805
- ],
806
- "enabled": true,
807
- "local": true,
808
- "user": false,
809
- "module": "@flowfuse/node-red-dashboard",
810
- "file": "/data/node_modules/@flowfuse/node-red-dashboard/nodes/widgets/ui_dropdown.js"
811
- },
812
- "ui-radio-group": {
813
- "name": "ui-radio-group",
814
- "types": [
815
- "ui-radio-group"
816
- ],
817
- "enabled": true,
818
- "local": true,
819
- "user": false,
820
- "module": "@flowfuse/node-red-dashboard",
821
- "file": "/data/node_modules/@flowfuse/node-red-dashboard/nodes/widgets/ui_radio_group.js"
822
- },
823
- "ui-slider": {
824
- "name": "ui-slider",
825
- "types": [
826
- "ui-slider"
827
- ],
828
- "enabled": true,
829
- "local": true,
830
- "user": false,
831
- "module": "@flowfuse/node-red-dashboard",
832
- "file": "/data/node_modules/@flowfuse/node-red-dashboard/nodes/widgets/ui_slider.js"
833
- },
834
- "ui-switch": {
835
- "name": "ui-switch",
836
- "types": [
837
- "ui-switch"
838
- ],
839
- "enabled": true,
840
- "local": true,
841
- "user": false,
842
- "module": "@flowfuse/node-red-dashboard",
843
- "file": "/data/node_modules/@flowfuse/node-red-dashboard/nodes/widgets/ui_switch.js"
844
- },
845
- "ui-text": {
846
- "name": "ui-text",
847
- "types": [
848
- "ui-text"
849
- ],
850
- "enabled": true,
851
- "local": true,
852
- "user": false,
853
- "module": "@flowfuse/node-red-dashboard",
854
- "file": "/data/node_modules/@flowfuse/node-red-dashboard/nodes/widgets/ui_text.js"
855
- },
856
- "ui-table": {
857
- "name": "ui-table",
858
- "types": [
859
- "ui-table"
860
- ],
861
- "enabled": true,
862
- "local": true,
863
- "user": false,
864
- "module": "@flowfuse/node-red-dashboard",
865
- "file": "/data/node_modules/@flowfuse/node-red-dashboard/nodes/widgets/ui_table.js"
866
- },
867
- "ui-chart": {
868
- "name": "ui-chart",
869
- "types": [
870
- "ui-chart"
871
- ],
872
- "enabled": true,
873
- "local": true,
874
- "user": false,
875
- "module": "@flowfuse/node-red-dashboard",
876
- "file": "/data/node_modules/@flowfuse/node-red-dashboard/nodes/widgets/ui_chart.js"
877
- },
878
- "ui-gauge": {
879
- "name": "ui-gauge",
880
- "types": [
881
- "ui-gauge"
882
- ],
883
- "enabled": true,
884
- "local": true,
885
- "user": false,
886
- "module": "@flowfuse/node-red-dashboard",
887
- "file": "/data/node_modules/@flowfuse/node-red-dashboard/nodes/widgets/ui_gauge.js"
888
- },
889
- "ui-notification": {
890
- "name": "ui-notification",
891
- "types": [
892
- "ui-notification"
893
- ],
894
- "enabled": true,
895
- "local": true,
896
- "user": false,
897
- "module": "@flowfuse/node-red-dashboard",
898
- "file": "/data/node_modules/@flowfuse/node-red-dashboard/nodes/widgets/ui_notification.js"
899
- },
900
- "ui-markdown": {
901
- "name": "ui-markdown",
902
- "types": [
903
- "ui-markdown"
904
- ],
905
- "enabled": true,
906
- "local": true,
907
- "user": false,
908
- "module": "@flowfuse/node-red-dashboard",
909
- "file": "/data/node_modules/@flowfuse/node-red-dashboard/nodes/widgets/ui_markdown.js"
910
- },
911
- "ui-template": {
912
- "name": "ui-template",
913
- "types": [
914
- "ui-template"
915
- ],
916
- "enabled": true,
917
- "local": true,
918
- "user": false,
919
- "module": "@flowfuse/node-red-dashboard",
920
- "file": "/data/node_modules/@flowfuse/node-red-dashboard/nodes/widgets/ui_template.js"
921
- },
922
- "ui-event": {
923
- "name": "ui-event",
924
- "types": [
925
- "ui-event"
926
- ],
927
- "enabled": true,
928
- "local": true,
929
- "user": false,
930
- "module": "@flowfuse/node-red-dashboard",
931
- "file": "/data/node_modules/@flowfuse/node-red-dashboard/nodes/widgets/ui_event.js"
932
- },
933
- "ui-control": {
934
- "name": "ui-control",
935
- "types": [
936
- "ui-control"
937
- ],
938
- "enabled": true,
939
- "local": true,
940
- "user": false,
941
- "module": "@flowfuse/node-red-dashboard",
942
- "file": "/data/node_modules/@flowfuse/node-red-dashboard/nodes/widgets/ui_control.js"
943
- }
944
- }
945
- },
946
- "openapi-red": {
947
- "name": "openapi-red",
948
- "version": "1.2.5",
949
- "local": true,
950
- "user": false,
951
- "nodes": {
952
- "openApi-red": {
953
- "name": "openApi-red",
954
- "types": [
955
- "openApi-red"
956
- ],
957
- "enabled": true,
958
- "local": true,
959
- "user": false,
960
- "module": "openapi-red",
961
- "file": "/data/node_modules/openapi-red/src/openApi-red.js"
962
- },
963
- "openApi-red-url": {
964
- "name": "openApi-red-url",
965
- "types": [
966
- "openApi-red-url"
967
- ],
968
- "enabled": true,
969
- "local": true,
970
- "user": false,
971
- "module": "openapi-red",
972
- "file": "/data/node_modules/openapi-red/src/urlConfig.js"
973
- }
974
- }
975
- },
976
- "node-red-contrib-inspector": {
977
- "name": "node-red-contrib-inspector",
978
- "version": "1.0.1",
979
- "local": true,
980
- "user": false,
981
- "nodes": {
982
- "node-inspector": {
983
- "name": "node-inspector",
984
- "types": [
985
- "node-inspector"
986
- ],
987
- "enabled": true,
988
- "local": true,
989
- "user": false,
990
- "module": "node-red-contrib-inspector",
991
- "file": "/data/node_modules/node-red-contrib-inspector/node_inspector.js"
992
- }
993
- }
994
646
  }
995
647
  }
@@ -2,13 +2,12 @@ const EventEmitter = require('node:events');
2
2
 
3
3
  function showStatus(node, msgCounter) {
4
4
  if (msgCounter >= 1) {
5
- node.status({ fill: 'blue', shape: 'dot', text: `handling tasks ${msgCounter}.` });
5
+ node.status({ fill: 'green', shape: 'dot', text: `handling tasks ${msgCounter}.` });
6
6
  } else {
7
7
  node.status({ fill: 'blue', shape: 'ring', text: `subcribed.` });
8
8
  }
9
9
  }
10
10
 
11
- const started_external_tasks = {};
12
11
 
13
12
  module.exports = function (RED) {
14
13
  function ExternalTaskInput(config) {
@@ -16,6 +15,9 @@ module.exports = function (RED) {
16
15
  var node = this;
17
16
  var flowContext = node.context().flow;
18
17
 
18
+ node.started_external_tasks = {};
19
+
20
+
19
21
  node.engine = RED.nodes.getNode(config.engine);
20
22
 
21
23
  var eventEmitter = flowContext.get('emitter');
@@ -62,10 +64,10 @@ module.exports = function (RED) {
62
64
  );
63
65
 
64
66
  if (externalTask.flowNodeInstanceId) {
65
- delete started_external_tasks[externalTask.flowNodeInstanceId];
67
+ delete node.started_external_tasks[externalTask.flowNodeInstanceId];
66
68
  }
67
69
 
68
- showStatus(node, Object.keys(started_external_tasks).length);
70
+ showStatus(node, Object.keys(node.started_external_tasks).length);
69
71
 
70
72
  //resolve(result);
71
73
  saveHandleCallback(result, resolve);
@@ -77,10 +79,10 @@ module.exports = function (RED) {
77
79
  );
78
80
 
79
81
  if (externalTask.flowNodeInstanceId) {
80
- delete started_external_tasks[externalTask.flowNodeInstanceId];
82
+ delete node.started_external_tasks[externalTask.flowNodeInstanceId];
81
83
  }
82
84
 
83
- showStatus(node, Object.keys(started_external_tasks).length);
85
+ showStatus(node, Object.keys(node.started_external_tasks).length);
84
86
 
85
87
  // TODO: with reject, the default error handling is proceed
86
88
  // SEE: https://github.com/5minds/ProcessCube.Engine.Client.ts/blob/develop/src/ExternalTaskWorker.ts#L180
@@ -101,9 +103,9 @@ module.exports = function (RED) {
101
103
  }
102
104
  });
103
105
 
104
- started_external_tasks[externalTask.flowNodeInstanceId] = externalTask;
106
+ node.started_external_tasks[externalTask.flowNodeInstanceId] = externalTask;
105
107
 
106
- showStatus(node, Object.keys(started_external_tasks).length);
108
+ showStatus(node, Object.keys(node.started_external_tasks).length);
107
109
 
108
110
  let msg = {
109
111
  _msgid: RED.util.generateId(),
@@ -132,7 +134,7 @@ module.exports = function (RED) {
132
134
  node.etw = externalTaskWorker;
133
135
 
134
136
  externalTaskWorker.onHeartbeat(() => {
135
- showStatus(node, Object.keys(started_external_tasks).length);
137
+ showStatus(node, Object.keys(node.started_external_tasks).length);
136
138
  });
137
139
 
138
140
  externalTaskWorker.onWorkerError((errorType, error, externalTask) => {
@@ -146,10 +148,10 @@ module.exports = function (RED) {
146
148
  );
147
149
 
148
150
  if (externalTask) {
149
- delete started_external_tasks[externalTask.flowNodeInstanceId];
151
+ delete node.started_external_tasks[externalTask.flowNodeInstanceId];
150
152
  }
151
153
 
152
- showStatus(node, Object.keys(started_external_tasks).length);
154
+ showStatus(node, Object.keys(node.started_external_tasks).length);
153
155
  break;
154
156
  case 'fetchAndLock':
155
157
  node.status({ fill: 'red', shape: 'ring', text: `subscription failed.` });
@@ -162,7 +164,7 @@ module.exports = function (RED) {
162
164
 
163
165
  try {
164
166
  externalTaskWorker.start();
165
- showStatus(node, Object.keys(started_external_tasks).length);
167
+ showStatus(node, Object.keys(node.started_external_tasks).length);
166
168
  } catch (error) {
167
169
  node.error(`Worker start 'externalTaskWorker.start' failed: ${error.message}`, {});
168
170
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@5minds/node-red-contrib-processcube",
3
- "version": "1.7.2",
3
+ "version": "1.7.3",
4
4
  "license": "MIT",
5
5
  "description": "Node-RED nodes for ProcessCube",
6
6
  "scripts": {