mirror of
				https://github.com/node-red/node-red.git
				synced 2025-03-01 10:36:34 +00:00 
			
		
		
		
	Merge branch 'master' into dev
This commit is contained in:
		
							
								
								
									
										13
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								CHANGELOG.md
									
									
									
									
									
								
							| @@ -18,6 +18,19 @@ Nodes | ||||
|  - TCP: Add TLS option to tcp client nodes (#3307) @dceejay | ||||
|  - WebSocket: Implemented support for Websocket Subprotocols in WS Client Node. (#3333) @tobiasoort | ||||
|  | ||||
| #### 2.1.6: Maintenance Release | ||||
|  | ||||
| Editor | ||||
|  | ||||
|  - Revert copy-text change and apply alternative fix (#3363) @knolleary | ||||
|  - Update marked to latest (#3362) @knolleary | ||||
|  - fix to make start of property error tooltip messages aligned (#3358) @HiroyasuNishiyama | ||||
|  | ||||
| Nodes | ||||
|  | ||||
|  - Inject: fix JSON propety validation of inject node (#3349) @HiroyasuNishiyama | ||||
|  - Delay: fix unit value validation of delay node (#3351) @HiroyasuNishiyama | ||||
|  | ||||
| #### 2.1.5: Maintenance Release | ||||
|  | ||||
| Runtime | ||||
|   | ||||
| @@ -107,7 +107,7 @@ | ||||
|         "i18next-http-backend": "1.3.1", | ||||
|         "jquery-i18next": "1.2.1", | ||||
|         "jsdoc-nr-template": "github:node-red/jsdoc-nr-template", | ||||
|         "marked": "3.0.7", | ||||
|         "marked": "4.0.10", | ||||
|         "minami": "1.2.3", | ||||
|         "mocha": "9.1.3", | ||||
|         "node-red-node-test-helper": "^0.2.7", | ||||
|   | ||||
| @@ -946,23 +946,26 @@ RED.clipboard = (function() { | ||||
|         if (truncated) { | ||||
|             msg += "_truncated"; | ||||
|         } | ||||
|         navigator.clipboard.writeText(value).then(function () { | ||||
|             if (element) { | ||||
|                 var popover = RED.popover.create({ | ||||
|                     target: element, | ||||
|                     direction: 'left', | ||||
|                     size: 'small', | ||||
|                     content: RED._(msg) | ||||
|                 }); | ||||
|                 setTimeout(function() { | ||||
|                     popover.close(); | ||||
|                 },1000); | ||||
|                 popover.open(); | ||||
|             } | ||||
|             if (currentFocus) { | ||||
|                 $(currentFocus).focus(); | ||||
|             } | ||||
|         }).catch(err => { console.error("Failed to copy:",err) }); | ||||
|         var clipboardHidden = $('<textarea type="text" id="red-ui-clipboard-hidden" tabIndex="-1">').appendTo(document.body); | ||||
|         clipboardHidden.val(value).focus().select(); | ||||
|         var result =  document.execCommand("copy"); | ||||
|         if (result && element) { | ||||
|             var popover = RED.popover.create({ | ||||
|                 target: element, | ||||
|                 direction: 'left', | ||||
|                 size: 'small', | ||||
|                 content: RED._(msg) | ||||
|             }); | ||||
|             setTimeout(function() { | ||||
|                 popover.close(); | ||||
|             },1000); | ||||
|             popover.open(); | ||||
|         } | ||||
|         clipboardHidden.remove(); | ||||
|         if (currentFocus) { | ||||
|             $(currentFocus).focus(); | ||||
|         } | ||||
|         return result; | ||||
|     } | ||||
|  | ||||
|     function importNodes(nodesStr,addFlow) { | ||||
|   | ||||
| @@ -109,7 +109,7 @@ RED.utils = (function() { | ||||
|     window._marked.use({extensions: [descriptionList, description] } ); | ||||
|  | ||||
|     function renderMarkdown(txt) { | ||||
|         var rendered = _marked(txt); | ||||
|         var rendered = _marked.parse(txt); | ||||
|         var cleaned = DOMPurify.sanitize(rendered, {SAFE_FOR_JQUERY: true}) | ||||
|         return cleaned; | ||||
|     } | ||||
|   | ||||
| @@ -672,7 +672,7 @@ RED.view = (function() { | ||||
|             }, | ||||
|             tooltip: function(d) { | ||||
|                 if (d.validationErrors && d.validationErrors.length > 0) { | ||||
|                     return RED._("editor.errors.invalidProperties")+"\n  - "+d.validationErrors.join("\n    - ") | ||||
|                     return RED._("editor.errors.invalidProperties")+"\n  - "+d.validationErrors.join("\n  - ") | ||||
|                 } | ||||
|             }, | ||||
|             show: function(n) { return !n.valid } | ||||
|   | ||||
| @@ -356,6 +356,11 @@ button.red-ui-button-small | ||||
|     background: $secondary-background; | ||||
| } | ||||
|  | ||||
| #red-ui-clipboard-hidden { | ||||
|     position: absolute; | ||||
|     top: -3000px; | ||||
| } | ||||
|  | ||||
| .form-row .red-ui-editor-node-label-form-row { | ||||
|     margin: 5px 0 0 50px; | ||||
|     label { | ||||
|   | ||||
| @@ -234,7 +234,7 @@ | ||||
|                             } | ||||
|                         } else if (v[i].vt === "jsonata") { | ||||
|                             try{jsonata(v[i].v);}catch(e){return false;} | ||||
|                         } else if ([i].vt === "json") { | ||||
|                         } else if (v[i].vt === "json") { | ||||
|                             try{JSON.parse(v[i].v);}catch(e){return false;} | ||||
|                         } | ||||
|                     } | ||||
|   | ||||
| @@ -114,7 +114,8 @@ | ||||
|             timeout: {value:"5", required:true, validate:function(v) { return RED.validators.number(v) && (v >= 0); }}, | ||||
|             timeoutUnits: {value:"seconds"}, | ||||
|             rate: {value:"1", required:true, validate:function(v) { return RED.validators.number(v) && (v >= 0); }}, | ||||
|             nbRateUnits: {value:"1", required:false, validate:RED.validators.regex(/\d+|/)}, | ||||
|             nbRateUnits: {value:"1", required:false, | ||||
|                           validate:function(v) { return RED.validators.number(v) && (v >= 0); }}, | ||||
|             rateUnits: {value: "second"}, | ||||
|             randomFirst: {value:"1", required:true, validate:function(v) { return RED.validators.number(v) && (v >= 0); }}, | ||||
|             randomLast: {value:"5", required:true, validate:function(v) { return RED.validators.number(v) && (v >= 0); }}, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user