@node-red/nodes 3.1.0-beta.1 → 3.1.0-beta.2

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.
Files changed (84) hide show
  1. package/core/common/20-inject.js +12 -5
  2. package/core/common/24-complete.html +10 -1
  3. package/core/common/60-link.html +11 -2
  4. package/core/common/60-link.js +10 -2
  5. package/core/sequence/17-split.js +1 -1
  6. package/core/storage/10-file.js +3 -2
  7. package/locales/en-US/messages.json +7 -3
  8. package/locales/en-US/network/21-httprequest.html +1 -1
  9. package/locales/fr/common/20-inject.html +40 -0
  10. package/locales/fr/common/21-debug.html +26 -0
  11. package/locales/fr/common/24-complete.html +29 -0
  12. package/locales/fr/common/25-catch.html +42 -0
  13. package/locales/fr/common/25-status.html +34 -0
  14. package/locales/fr/common/60-link.html +66 -0
  15. package/locales/fr/common/90-comment.html +22 -0
  16. package/locales/fr/common/98-unknown.html +28 -0
  17. package/locales/fr/function/10-function.html +64 -0
  18. package/locales/fr/function/10-switch.html +49 -0
  19. package/locales/fr/function/15-change.html +37 -0
  20. package/locales/fr/function/16-range.html +44 -0
  21. package/locales/fr/function/80-template.html +58 -0
  22. package/locales/fr/function/89-delay.html +64 -0
  23. package/locales/fr/function/89-trigger.html +50 -0
  24. package/locales/fr/function/90-exec.html +84 -0
  25. package/locales/fr/function/rbe.html +41 -0
  26. package/locales/fr/messages.json +1140 -0
  27. package/locales/fr/network/05-tls.html +19 -0
  28. package/locales/fr/network/06-httpproxy.html +22 -0
  29. package/locales/fr/network/10-mqtt.html +160 -0
  30. package/locales/fr/network/21-httpin.html +100 -0
  31. package/locales/fr/network/21-httprequest.html +96 -0
  32. package/locales/fr/network/22-websocket.html +43 -0
  33. package/locales/fr/network/31-tcpin.html +45 -0
  34. package/locales/fr/network/32-udp.html +31 -0
  35. package/locales/fr/parsers/70-CSV.html +52 -0
  36. package/locales/fr/parsers/70-HTML.html +36 -0
  37. package/locales/fr/parsers/70-JSON.html +54 -0
  38. package/locales/fr/parsers/70-XML.html +51 -0
  39. package/locales/fr/parsers/70-YAML.html +34 -0
  40. package/locales/fr/sequence/17-split.html +172 -0
  41. package/locales/fr/sequence/18-sort.html +41 -0
  42. package/locales/fr/sequence/19-batch.html +43 -0
  43. package/locales/fr/storage/10-file.html +69 -0
  44. package/locales/fr/storage/23-watch.html +30 -0
  45. package/locales/ja/messages.json +7 -3
  46. package/locales/ko/messages.json +9 -4
  47. package/locales/pt-BR/common/20-inject.html +40 -0
  48. package/locales/pt-BR/common/21-debug.html +26 -0
  49. package/locales/pt-BR/common/24-complete.html +29 -0
  50. package/locales/pt-BR/common/25-catch.html +42 -0
  51. package/locales/pt-BR/common/25-status.html +34 -0
  52. package/locales/pt-BR/common/60-link.html +66 -0
  53. package/locales/pt-BR/common/90-comment.html +22 -0
  54. package/locales/pt-BR/common/98-unknown.html +28 -0
  55. package/locales/pt-BR/function/10-function.html +64 -0
  56. package/locales/pt-BR/function/10-switch.html +50 -0
  57. package/locales/pt-BR/function/15-change.html +39 -0
  58. package/locales/pt-BR/function/16-range.html +44 -0
  59. package/locales/pt-BR/function/80-template.html +55 -0
  60. package/locales/pt-BR/function/89-delay.html +64 -0
  61. package/locales/pt-BR/function/89-trigger.html +50 -0
  62. package/locales/pt-BR/function/90-exec.html +83 -0
  63. package/locales/pt-BR/function/rbe.html +41 -0
  64. package/locales/pt-BR/messages.json +1127 -0
  65. package/locales/pt-BR/network/05-tls.html +19 -0
  66. package/locales/pt-BR/network/06-httpproxy.html +22 -0
  67. package/locales/pt-BR/network/10-mqtt.html +158 -0
  68. package/locales/pt-BR/network/21-httpin.html +100 -0
  69. package/locales/pt-BR/network/21-httprequest.html +95 -0
  70. package/locales/pt-BR/network/22-websocket.html +43 -0
  71. package/locales/pt-BR/network/31-tcpin.html +45 -0
  72. package/locales/pt-BR/network/32-udp.html +31 -0
  73. package/locales/pt-BR/parsers/70-CSV.html +49 -0
  74. package/locales/pt-BR/parsers/70-HTML.html +36 -0
  75. package/locales/pt-BR/parsers/70-JSON.html +53 -0
  76. package/locales/pt-BR/parsers/70-XML.html +50 -0
  77. package/locales/pt-BR/parsers/70-YAML.html +34 -0
  78. package/locales/pt-BR/sequence/17-split.html +170 -0
  79. package/locales/pt-BR/sequence/18-sort.html +41 -0
  80. package/locales/pt-BR/sequence/19-batch.html +43 -0
  81. package/locales/pt-BR/storage/10-file.html +67 -0
  82. package/locales/pt-BR/storage/23-watch.html +30 -0
  83. package/locales/zh-CN/messages.json +1102 -930
  84. package/package.json +8 -8
@@ -117,14 +117,21 @@ module.exports = function(RED) {
117
117
  if (p.v) {
118
118
  try {
119
119
  var exp = RED.util.prepareJSONataExpression(p.v, node);
120
- var val = RED.util.evaluateJSONataExpression(exp, msg);
121
- RED.util.setMessageProperty(msg, property, val, true);
122
- }
123
- catch (err) {
120
+ RED.util.evaluateJSONataExpression(exp, msg, (err, newValue) => {
121
+ if (err) {
122
+ errors.push(err.toString())
123
+ } else {
124
+ RED.util.setMessageProperty(msg,property,newValue,true);
125
+ }
126
+ evaluateProperty(doneEvaluating)
127
+ });
128
+ } catch (err) {
124
129
  errors.push(err.message);
130
+ evaluateProperty(doneEvaluating)
125
131
  }
132
+ } else {
133
+ evaluateProperty(doneEvaluating)
126
134
  }
127
- evaluateProperty(doneEvaluating)
128
135
  } else {
129
136
  try {
130
137
  RED.util.evaluateNodeProperty(value, valueType, node, msg, (err, newValue) => {
@@ -18,7 +18,16 @@
18
18
  color:"#c0edc0",
19
19
  defaults: {
20
20
  name: {value:""},
21
- scope: {value:[], type:"*[]"},
21
+ scope: {
22
+ value: [],
23
+ type: "*[]",
24
+ validate: function (v, opt) {
25
+ if (v.length > 0) {
26
+ return true;
27
+ }
28
+ return RED._("node-red:complete.errors.scopeUndefined");
29
+ }
30
+ },
22
31
  uncaught: {value:false}
23
32
  },
24
33
  inputs:0,
@@ -1,4 +1,3 @@
1
-
2
1
  <script type="text/html" data-template-name="link in">
3
2
  <div class="form-row">
4
3
  <label for="node-input-name"><i class="fa fa-tag"></i> <span data-i18n="common.label.name"></span></label>
@@ -272,7 +271,17 @@
272
271
  color:"#ddd",//"#87D8CF",
273
272
  defaults: {
274
273
  name: { value: "" },
275
- links: { value: [], type:"link in[]" },
274
+ links: {
275
+ value: [],
276
+ type: "link in[]",
277
+ validate: function (v, opt) {
278
+ if ((this.linkType === "static" && v.length > 0)
279
+ || this.linkType === "dynamic") {
280
+ return true;
281
+ }
282
+ return RED._("node-red:link.errors.linkUndefined");
283
+ }
284
+ },
276
285
  linkType: { value:"static" },
277
286
  timeout: {
278
287
  value: "30",
@@ -164,10 +164,10 @@ module.exports = function(RED) {
164
164
  if (returnNode && returnNode.returnLinkMessage) {
165
165
  returnNode.returnLinkMessage(messageEvent.id, msg);
166
166
  } else {
167
- node.warn(RED._("link.error.missingReturn"))
167
+ node.warn(RED._("link.errors.missingReturn"));
168
168
  }
169
169
  } else {
170
- node.warn(RED._("link.error.missingReturn"))
170
+ node.warn(RED._("link.errors.missingReturn"));
171
171
  }
172
172
  done();
173
173
  } else if (mode === "link") {
@@ -248,6 +248,14 @@ module.exports = function(RED) {
248
248
  }
249
249
  });
250
250
 
251
+ this.on("close", function () {
252
+ for (const event of Object.values(messageEvents)) {
253
+ if (event.ts) {
254
+ clearTimeout(event.ts)
255
+ }
256
+ }
257
+ })
258
+
251
259
  this.returnLinkMessage = function(eventId, msg) {
252
260
  if (Array.isArray(msg._linkSource) && msg._linkSource.length === 0) {
253
261
  delete msg._linkSource;
@@ -478,7 +478,7 @@ module.exports = function(RED) {
478
478
  var completeSend = function(partId) {
479
479
  var group = inflight[partId];
480
480
  if (group.timeout) { clearTimeout(group.timeout); }
481
- if ((node.accumulate !== true) || group.msg.hasOwnProperty("complete")) { delete inflight[partId]; }
481
+ if (node.mode === 'auto' || node.accumulate !== true || group.msg.hasOwnProperty("complete")) { delete inflight[partId]; }
482
482
  if (group.type === 'array' && group.arrayLen > 1) {
483
483
  var newArray = [];
484
484
  group.payload.forEach(function(n) {
@@ -117,7 +117,9 @@ module.exports = function(RED) {
117
117
  }
118
118
  if (typeof data === "boolean") { data = data.toString(); }
119
119
  if (typeof data === "number") { data = data.toString(); }
120
- if ((node.appendNewline) && (!Buffer.isBuffer(data))) { data += os.EOL; }
120
+ var aflg = true;
121
+ if (msg.hasOwnProperty("parts") && msg.parts.type === "string" && (msg.parts.count === msg.parts.index + 1)) { aflg = false; }
122
+ if ((node.appendNewline) && (!Buffer.isBuffer(data)) && aflg) { data += os.EOL; }
121
123
  var buf;
122
124
  if (node.encoding === "setbymsg") {
123
125
  buf = encode(data, msg.encoding || "none");
@@ -314,7 +316,6 @@ module.exports = function(RED) {
314
316
  });
315
317
  filename = filename || "";
316
318
  var fullFilename = filename;
317
- var filePath = "";
318
319
  if (filename && RED.settings.fileWorkingDirectory && !path.isAbsolute(filename)) {
319
320
  fullFilename = path.resolve(path.join(RED.settings.fileWorkingDirectory,filename));
320
321
  }
@@ -119,7 +119,10 @@
119
119
  }
120
120
  },
121
121
  "complete": {
122
- "completeNodes": "complete: __number__"
122
+ "completeNodes": "complete: __number__",
123
+ "errors": {
124
+ "scopeUndefined": "scope undefined"
125
+ }
123
126
  },
124
127
  "debug": {
125
128
  "output": "Output",
@@ -181,8 +184,9 @@
181
184
  "staticLinkCall": "Fixed target",
182
185
  "dynamicLinkCall": "Dynamic target (msg.target)",
183
186
  "dynamicLinkLabel": "Dynamic",
184
- "error": {
185
- "missingReturn": "Missing return node information"
187
+ "errors": {
188
+ "missingReturn": "Missing return node information",
189
+ "linkUndefined": "link undefined"
186
190
  }
187
191
  },
188
192
  "tls": {
@@ -73,7 +73,7 @@
73
73
  <h4>Cookie handling</h4>
74
74
  <p>The <code>cookies</code> property passed to the node must be an object of name/value pairs.
75
75
  The value can be either a string to set the value of the cookie or it can be an
76
- object with a single <code>value</code> property.<p>
76
+ object with a single <code>value</code> property.</p>
77
77
  <p>Any cookies returned by the request are passed back under the <code>responseCookies</code> property.</p>
78
78
  <h4>Content type handling</h4>
79
79
  <p>If <code>msg.payload</code> is an Object, the node will automatically set the content type
@@ -0,0 +1,40 @@
1
+ <!--
2
+ Copyright JS Foundation and other contributors, http://js.foundation
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ -->
16
+
17
+ <script type="text/html" data-help-name="inject">
18
+ <p>Injecte un message dans un flux manuellement ou à intervalles réguliers. Le message payload
19
+ (charge utile) peut être de différents types, y compris des chaînes de caractères, des objets JavaScript ou l'heure actuelle.</p>
20
+ <h3>Sorties</h3>
21
+ <dl class="message-properties">
22
+ <dt>payload<span class="property-type">divers</span></dt>
23
+ <dd>La charge utile configurée du message.</dd>
24
+ <dt class="optional">topic <span class="property-type">chaîne de caractères</span></dt>
25
+ <dd>Une propriété facultative qui peut être configurée dans le noeud.</dd>
26
+ </dl>
27
+ <h3>Détails</h3>
28
+ <p>Le noeud Injecter peut initier un flux avec une valeur de charge utile spécifique.
29
+ La charge utile par défaut est un horodatage de l'heure actuelle en millisecondes depuis le 1er janvier 1970.</p>
30
+ <p>Le noeud prend également en charge l'injection de chaînes, de nombres, de booléens, d'objets JavaScript ou de valeurs de contexte de flux/global.</p>
31
+ <p>Par défaut, le noeud est déclenché manuellement en cliquant sur son bouton dans l'éditeur. Il peut également être réglé sur
32
+ injecter à intervalles réguliers ou selon un horaire.</p>
33
+ <p>Il peut également être configuré pour injecter une fois à chaque démarrage des flux.</p>
34
+ <p>L'<i>Intervalle</i> maximum pouvant être spécifiée est d'environ 596 heures / 24 jours. Cependant, si vous regardez des intervalles
35
+ supérieur à un jour, vous devriez envisager d'utiliser un noeud de planificateur capable de faire face aux pannes de courant et aux redémarrages.</p>
36
+ <p><b>Remarque</b> : Les options <i>"Intervalle entre les heures"</i> et <i>"à une heure précise"</i> utilisent le système cron standard.
37
+ Cela signifie que pour la première option, vous pouvez envoyer un message à intervalle régulier entre les heures voulues.
38
+ Si vous voulez envoyer un message toutes les minutes à partir de maintenant, utiliser l'option <i>"intervalle"</i>.</p>
39
+ <p><b>Remarque</b> : Pour inclure une nouvelle ligne dans une chaîne, vous devez utiliser un noeud de fonction pour créer la charge utile.</p>
40
+ </script>
@@ -0,0 +1,26 @@
1
+ <!--
2
+ Copyright JS Foundation and other contributors, http://js.foundation
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ -->
16
+
17
+ <script type="text/html" data-help-name="debug">
18
+ <p>Affiche les propriétés des message sélectionnées dans l'onglet de la barre latérale de débogage et éventuellement le journal d'exécution. Par défaut, il affiche <code>msg.payload</code>, mais peut être configuré pour afficher n'importe quelle propriété, le message complet ou le résultat d'une expression JSONata.</p>
19
+ <h3>Détails</h3>
20
+ <p>La barre latérale de débogage fournit une vue structurée des messages qui lui sont envoyés, ce qui facilite la compréhension de leur structure.</p>
21
+ <p>Les objets et tableaux JavaScript peuvent être réduits et développés selon les besoins. Les objets tampon peuvent être affichés sous forme de données brutes ou sous forme de chaîne si possible.</p>
22
+ <p>À côté de chaque message, la barre latérale de débogage comprend des informations sur l'heure à laquelle le message a été reçu, le noeud qui l'a envoyé et le type du message.
23
+ Cliquer sur l'identifiant du noeud source révélera ce noeud dans l'espace de travail.</p>
24
+ <p>Le bouton sur le noeud peut être utilisé pour activer ou désactiver sa sortie. Il est recommandé de désactiver ou de supprimer tous les noeuds de débogage qui ne sont pas utilisés.</p>
25
+ <p>Le noeud peut également être configuré pour envoyer tous les messages au journal d'exécution, ou pour envoyer un court (32 caractères) au texte d'état sous le noeud de débogage.</p>
26
+ </script>
@@ -0,0 +1,29 @@
1
+ <!--
2
+ Copyright JS Foundation and other contributors, http://js.foundation
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ -->
16
+
17
+ <script type="text/html" data-help-name="complete">
18
+ <p>Envoie un message lorsqu'un noeud termine sa gestion d'un message.</p>
19
+ <h3>Détails</h3>
20
+ <p>Si un noeud indique au runtime qu'il a fini de gérer un message,
21
+ ce noeud peut être utilisé pour déclencher un deuxième flux.</p>
22
+ <p>Par exemple, cela peut être utilisé avec un noeud sans port de sortie,
23
+ comme le noeud d'envoi d'e-mails, pour continuer le flux.</p>
24
+ <p>Ce noeud doit être configuré pour gérer l'événement pour les noeuds sélectionnés dans le
25
+ flux. Contrairement au noeud Catch, il ne fournit pas automatiquement un mode "gérer tout"
26
+ qui s'applique à tous les noeuds du flux.</p>
27
+ <p>Tous les noeuds ne déclencheront pas cet événement - cela dépendra s'ils
28
+ ont été implémentés pour prendre en charge cette fonctionnalité telle qu'introduite dans Node-RED 1.0.</p>
29
+ </script>
@@ -0,0 +1,42 @@
1
+ <!--
2
+ Copyright JS Foundation and other contributors, http://js.foundation
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ -->
16
+
17
+ <script type="text/html" data-help-name="catch">
18
+ <p>Capture les erreurs générées par les noeuds sur le même onglet.</p>
19
+ <h3>Sorties</h3>
20
+ <dl class="message-properties">
21
+ <dt>error.message <span class="property-type">chaîne de caractères</span></dt>
22
+ <dd>le message d'erreur.</dd>
23
+ <dt>error.source.id <span class="property-type">chaîne de caractères</span></dt>
24
+ <dd>l'identifiant du noeud qui a lancé l'erreur.</dd>
25
+ <dt>error.source.type <span class="property-type">chaîne de caractères</span></dt>
26
+ <dd>le type du noeud qui a lancé l'erreur.</dd>
27
+ <dt>error.source.name <span class="property-type">chaîne de caractères</span></dt>
28
+ <dd>le nom, s'il est défini, du noeud qui a lancé l'erreur.</dd>
29
+ </dl>
30
+ <h3>Détails</h3>
31
+ <p>Si un noeud génère une erreur lors du traitement d'un message, le flux sera généralement
32
+ arrêté. Ce noeud peut être utilisé pour intercepter ces erreurs et les gérer avec un
33
+ flux dédié.</p>
34
+ <p>Par défaut, le noeud interceptera les erreurs générées par n'importe quel noeud sur le même onglet. Alternativement
35
+ il peut être ciblé sur des noeuds spécifiques ou configuré pour ne détecter que les erreurs qui
36
+ n'ont pas déjà été capturés par un noeud de capture "ciblé".</p>
37
+ <p>Lorsqu'une erreur est générée, tous les noeuds Catch correspondants recevront le message.</p>
38
+ <p>Si une erreur est générée dans un sous-flux, l'erreur sera gérée par n'importe quel
39
+ noeud Catch dans le sous-flux. S'il n'en existe pas, l'erreur sera propagée
40
+ jusqu'à l'onglet sur lequel se trouve l'instance de sous-flux.</p>
41
+ <p>Si le message a déjà une propriété <code>error</code>, il est copié dans <code>_error</code>.</p>
42
+ </script>
@@ -0,0 +1,34 @@
1
+ <!--
2
+ Copyright JS Foundation and other contributors, http://js.foundation
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ -->
16
+
17
+ <script type="text/html" data-help-name="status">
18
+ <p>Signale les messages d'état des autres noeuds sur le même onglet.</p>
19
+ <h3>Sorties</h3>
20
+ <dl class="message-properties">
21
+ <dt>status.text <span class="property-type">chaîne de caractères</span></dt>
22
+ <dd>le texte d'état.</dd>
23
+ <dt>status.source.type <span class="property-type">chaîne de caractères</span></dt>
24
+ <dd>le type de noeud qui a signalé l'état.</dd>
25
+ <dt>status.source.id <span class="property-type">chaîne de caractères</span></dt>
26
+ <dd>l'identifiant du noeud qui a signalé l'état.</dd>
27
+ <dt>status.source.name <span class="property-type">chaîne de caractères</span></dt>
28
+ <dd>tle nom, s'il est défini, du noeud qui a signalé l'état.</dd>
29
+ </dl>
30
+ <h3>Détails</h3>
31
+ <p>Ce noeud ne produit pas de <code>payload</code>.</p>
32
+ <p>Par défaut, le noeud signale l'état de tous les noeuds sur le même onglet de l'espace de travail.
33
+ Il peut être configuré pour signaler de manière sélective l'état des noeuds individuels.</p>
34
+ </script>
@@ -0,0 +1,66 @@
1
+ <!--
2
+ Copyright JS Foundation and other contributors, http://js.foundation
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ -->
16
+
17
+ <script type="text/html" data-help-name="link in">
18
+ <p>Crée des liens virtuelles entre les flux.</p>
19
+ <h3>Détails</h3>
20
+ <p>Le noeud peut être connecté à n'importe quel noeud <code>Link out</code> qui existe sur n'importe quel onglet.
21
+ Une fois connectés, ils se comportent comme s'ils étaient câblés ensemble.</p>
22
+ <p>Les fils entre les noeuds de lien ne s'affichent que lorsqu'un noeud de lien est sélectionné.
23
+ S'il y a des fils vers d'autres onglets, un noeud virtuel est affiché et permet si on clique dessus
24
+ d'accéder à l'onglet approprié.</p>
25
+ <p><b>Remarque</b> : Impossible de créer des liens entrant ou sortant d'un sous-flux.</p>
26
+ </script>
27
+
28
+ <script type="text/html" data-help-name="link out">
29
+ <p>Créer des liens virtuels entre les flux.</p>
30
+ <h3>Détails</h3>
31
+ <p>Ce noeud peut être configuré pour envoyer des messages à tous les noeuds <code>Link in</code>
32
+ auxquels il est connecté, ou pour renvoyer une réponse au noeud <code>Link call</code>
33
+ qui a déclenché le flux.</p>
34
+ <p>En mode 'envoyer à tous', les fils entre les noeuds de liaison ne sont affichés que lorsque
35
+ le noeud est sélectionné. S'il existe des fils vers d'autres onglets, un noeud virtuel
36
+ s'affiche sur lequel il est possible de cliquer pour passer à l'onglet approprié.</p>
37
+ <p><b>Remarque</b> : Impossible de créer des liens entrant ou sortant d'un sous-flux.</p>
38
+ </script>
39
+
40
+ <script type="text/html" data-help-name="link call">
41
+ <p>Appelle un flux qui commence par un noeud <code>Link in</code> et transmet la réponse.</p>
42
+ <h3>Entrées</h3>
43
+ <dl class="message-properties">
44
+ <dt class="optional">target<span class="property-type">chaîne de caractères</span></dt>
45
+ <dd>Lorsque l'option <b>Type de lien</b> est définie sur 'Cible dynamique', définisser <code>msg.target</code> sur le nom du
46
+ noeud <code>Link in</code> que vous souhaitez appeler.</dd>
47
+ </dl>
48
+ <h3>Détails</h3>
49
+ <p>Ce noeud peut être connecté à un noeud <code>Link in</code> qui existe sur n'importe quel onglet.
50
+ Le flux connecté à ce noeud doit se terminer par un noeud <code>Link out</code> configuré
51
+ en mode 'retour'.</p>
52
+ <p>Lorsque ce noeud reçoit un message, il est transmis au noeud <code>Link in</code> connecté.
53
+ Il attend alors une réponse qu'il envoie ensuite.</p>
54
+ <p>Si aucune réponse n'est reçue dans le délai configuré, 30 secondes par défaut, le noeud
55
+ déclenchera une erreur qui peut être détectée à l'aide du noeud <code>Catch</code>.</p>
56
+ <p>Lorsque l'option <b>Type de lien</b> est définie sur 'Cible dynamique', <code>msg.target</code> peut être utilisé pour appeler un
57
+ noeud <code>Link in</code> par nom ou identifiant.
58
+ <ul>
59
+ <li>S'il existe un noeud <code>Link in</code> avec le même identifiant, il sera appelé</li>
60
+ <li>S'il existe au moins deux noeuds <code>Link in</code> portant le même nom, une erreur sera générée</li>
61
+ <li>Un noeud <code>Link call</code> ne peut pas appeler un noeud <code>Link in</code> à l'intérieur d'un sous-flux</li>
62
+ </ul>
63
+ </p>
64
+ Le flux connecté à ce noeud doit se terminer par un noeud <code>Link out</code> configuré
65
+ en mode 'retour'.</p>
66
+ </script>
@@ -0,0 +1,22 @@
1
+ <!--
2
+ Copyright JS Foundation and other contributors, http://js.foundation
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ -->
16
+
17
+ <script type="text/html" data-help-name="comment">
18
+ <p>Un noeud d'annotations, que vous pouvez utiliser pour ajouter des commentaires à vos flux.</p>
19
+ <h3>Détails</h3>
20
+ <p>Le panneau d'édition accepte la syntaxe Markdown. Le texte sera rendu dans
21
+ ce panneau latéral d'information.</p>
22
+ </script>
@@ -0,0 +1,28 @@
1
+ <!--
2
+ Copyright JS Foundation and other contributors, http://js.foundation
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ -->
16
+
17
+ <script type="text/html" data-help-name="unknown">
18
+ <p>Ce noeud est d'un type inconnu de votre installation de Node-RED.</p>
19
+ <h3>Détails</h3>
20
+ <p><i>Si vous déployez avec le noeud dans cet état, sa configuration sera préservée, mais
21
+ le flux ne démarrera pas tant que le type manquant ne sera pas installé.</i></p>
22
+ <p>Utiliser l'option <code>Menu - Gérer la palette</code>
23
+ pour rechercher et installer des noeuds, ou <b>npm install &lt;module&gt;</b> pour
24
+ installer, tous les modules manquants et redémarrer Node-RED et réimporter les noeuds.</p>
25
+ <p>Il est possible que ce type de noeud soit déjà installé, mais qu'il manque une dépendance. Vérifier au démarrage de Node-RED
26
+ le log pour tous les messages d'erreurs associés au type de noeud manquant.</p>
27
+ <p>Sinon, vous devez contacter l'auteur du flux pour obtenir une copie du type de noeud manquant.</p>
28
+ </script>
@@ -0,0 +1,64 @@
1
+ <!--
2
+ Copyright JS Foundation and other contributors, http://js.foundation
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ -->
16
+
17
+ <script type="text/html" data-help-name="function">
18
+ <p>Une fonction JavaScript à exécuter sur les messages reçus par le noeud.</p>
19
+ <p>Les messages sont transmis sous la forme d'un objet JavaScript appelé <code>msg</code>.</p>
20
+ <p>Par convention, il aura une propriété <code>msg.payload</code> contenant
21
+ le corps du message.</p>
22
+ <p>La fonction est censée renvoyer un objet message (ou plusieurs objets message), mais peut choisir
23
+ de ne rien retourner pour stopper un flux.</p>
24
+ <p>L'onglet <b>Au démarrage</b> contient du code qui sera exécuté à chaque démarrage du noeud.
25
+ L'onglet <b>À l'arrêt</b> contient le code qui sera exécuté lorsque le noeud sera arrêté.</p>
26
+ <p>Si le code 'Au démarrage' renvoie un objet Promise (promesse), le noeud ne commencera pas à gérer les messages
27
+ jusqu'à ce que la promesse soit résolue.</p>
28
+ <h3>Détails</h3>
29
+ <p>Voir la <a target="_blank" href="http://nodered.org/docs/writing-functions.html">documentation en ligne</a>
30
+ pour plus d'informations sur les fonctions d'écriture.</p>
31
+ <h4>Envoi de messages</h4>
32
+ <p>La fonction peut envoyer les messages qu'elle souhaite transmettre aux noeuds suivants
33
+ dans le flux, soit avec <code>return msg</code> soit appeler la fonction <code>node.send(messages)</code>.</p>
34
+ <p>Il peut renvoyer/envoyer :</p>
35
+ <ul>
36
+ <li>un seul objet de message - transmis aux noeuds connectés à la première sortie</li>
37
+ <li>un tableau d'objets de message - transmis aux noeuds connectés aux sorties correspondantes</li>
38
+ </ul>
39
+ <p>Remarque : Le code 'Au démarrage' est exécuté lors de l'initialisation des noeuds. Par conséquent, si <code>node.send</code> est appelé dans l'onglet Au démarrage, les noeuds suivants peuvent ne pas être en mesure de recevoir le message.</p>
40
+ <p>Si un élément du tableau est lui-même un tableau de messages, plusieurs
41
+ messages sont envoyés à la sortie correspondante.</p>
42
+ <p>Si null est renvoyé, seul ou en tant qu'élément du tableau, aucun
43
+ message n'est envoyé.</p>
44
+ <h4>Journalisation et gestion des erreurs</h4>
45
+ <p>Pour enregistrer des informations ou signaler une erreur, les fonctions suivantes sont disponibles :</p>
46
+ <ul>
47
+ <li><code>node.log("Message pour le journal")</code></li>
48
+ <li><code>node.warn("Attention")</code></li>
49
+ <li><code>node.error("Erreur")</code></li>
50
+ </ul>
51
+ </p>
52
+ <p>Le noeud Catch peut également être utilisé pour gérer les erreurs. Pour invoquer un noeud Catch,
53
+ passer <code>msg</code> comme deuxième argument à <code>node.error</code> :</p>
54
+ <pre>node.error("Erreur",msg);</pre>
55
+ <h4>Accéder aux informations sur les noeuds</h4>
56
+ <p>Les propriétés suivantes sont disponibles pour accéder aux informations sur le noeud:</p>
57
+ <ul>
58
+ <li><code>node.id</code> - identifiant du noeud</li>
59
+ <li><code>node.name</code> - nom du noeud</li>
60
+ <li><code>node.outputCount</code> - nombre de sorties du noeud</li>
61
+ </ul>
62
+ <h4>Utilisation des variables d'environnement</h4>
63
+ <p>Les variables d'environnement sont accessibles à l'aide de <code>env.get("MA_VAR__ENV")</code>.</p>
64
+ </script>
@@ -0,0 +1,49 @@
1
+ <!--
2
+ Copyright JS Foundation and other contributors, http://js.foundation
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ -->
16
+
17
+ <script type="text/html" data-help-name="switch">
18
+ <p>Achemine les messages en fonction de leurs valeurs de propriété ou de leur position dans la séquence.</p>
19
+ <h3>Détails</h3>
20
+ <p>Lorsqu'un message arrive, le noeud évaluera chacune des règles définies
21
+ afin de transmettre le message aux sorties correspondantes.</p>
22
+ <p>Facultativement, le noeud peut être configuré pour arrêter d'évaluer les règles une fois qu'il en trouve une
23
+ qui correspond.</p>
24
+ <p>Les règles peuvent être évaluées par rapport à une propriété du message reçu, une propriété du flux ou
25
+ du contexte global, variable d'environnement ou résultat d'une expression JSONata.</p>
26
+ <h4>Règles</h4>
27
+ <p>Il existe quatre types de règles :</p>
28
+ <ol>
29
+ <li><b>Les règles de valeur</b> sont évaluées par rapport à la propriété configurée</li>
30
+ Les règles de <li><b>séquence</b> peuvent être utilisées sur les séquences de messages, telles que celles
31
+ généré par le noeud Diviser</li>
32
+ <li>Une <b>expression</b> JSONata peut être fournie qui sera évaluée
33
+ par rapport à l'ensemble du message et correspondra si l'expression renvoie
34
+ une valeur vraie.</li>
35
+ <li>Une règle <b>Sinon</b> peut être utilisée si aucune des règles précédentes n'ont eu de correspondances.</li>
36
+ </ol>
37
+ <h4>Remarques</h4>
38
+ <p>Les règles <code>est vrai/faux</code> et <code>est nul</code> effectuent des
39
+ comparaisons avec ces types. Ils ne convertissent pas les types reçuent avec les types des règles.</p>
40
+ <p>Les règles <code>est vide</code> et <code>n'est pas vide</code> peuvent être utilisées pour tester la longueur des chaînes, des tableaux et des tampons, ou le nombre de propriétés d'un objet. Aucune règle ne passera si la propriété testée a un <code>booléen</code>, <code>null</code>
41
+ ou valeur <code>undefined</code>.</p>
42
+ <h4>Gestion des séquences de messages</h4>
43
+ <p>Par défaut, le noeud ne modifie pas la propriété <code>msg.parts</code> des messages
44
+ qui font partie d'une séquence.</p>
45
+ <p>L'option <b>recréer des séquences de messages</b> peut être activée pour générer de nouvelles séquences de messages
46
+ pour chaque règle qui correspond. Dans ce mode, le noeud mettra en mémoire tampon l'intégralité de
47
+ séquence avant d'envoyer les nouvelles séquences. Le paramètre d'exécution <code>nodeMessageBufferMaxLength</code>
48
+ peut être utilisé pour limiter le nombre de noeuds de messages mis en mémoire tampon.</p>
49
+ </script>
@@ -0,0 +1,37 @@
1
+ <!--
2
+ Copyright JS Foundation and other contributors, http://js.foundation
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ -->
16
+
17
+ <script type="text/html" data-help-name="change">
18
+ <p>Définit, modifie, supprime ou déplace les propriétés d'un message, d'un contexte de flux ou d'un contexte global.</p>
19
+ <p>Le noeud peut spécifier plusieurs règles qui seront appliquées dans l'ordre dans lequel elles sont définies.</p>
20
+ <h3>Détails</h3>
21
+ <p>Les opérations disponibles sont :</p>
22
+ <dl class="message-properties">
23
+ <dt>Définir</dt>
24
+ <dd>définir une propriété. La valeur peut être une variété de types différents, ou
25
+ peut être tiré d'un message existant ou d'une propriété de contexte.</dd>
26
+ <dt>Modifier</dt>
27
+ <dd>rechercher &amp; remplacer des parties de la propriété. Si les expressions régulières
28
+ sont activées, la propriété "remplacer par" peut inclure des groupes de capture, par
29
+ exemple <code>$1</code>. Remplacer ne changera le type que s'il y a
30
+ une correspondance complète.</dd>
31
+ <dt>Supprimer</dt>
32
+ <dd>supprimer une propriété.</dd>
33
+ <dt>Déplacer</dt>
34
+ <dd>déplacer ou renommer une propriété.</dd>
35
+ </dl>
36
+ <p>Le type "expression" utilise le langage de requête et d'expression <a href="http://jsonata.org/" target="_new">JSONata</a>.</p>
37
+ </script>