diff --git a/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json b/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json index 8c7e79b3e..f51c7b604 100644 --- a/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json +++ b/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json @@ -160,9 +160,11 @@ "subflow": "__count__ subflow", "subflow_plural": "__count__ subflows", "selectNodes": "Select the text above and copy to the clipboard.", - "pasteNodes": "Paste nodes here", + "pasteNodes": "Paste flow json or", + "selectFile": "select a file to import", "importNodes": "Import nodes", - "exportNodes": "Export nodes to clipboard", + "exportNodes": "Export nodes", + "download": "Download", "importUnrecognised": "Imported unrecognised type:", "importUnrecognised_plural": "Imported unrecognised types:", "nodesExported": "Nodes exported to clipboard", diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/clipboard.js b/packages/node_modules/@node-red/editor-client/src/js/ui/clipboard.js index 7092b4eba..82118436a 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/clipboard.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/clipboard.js @@ -49,6 +49,21 @@ RED.clipboard = (function() { $( this ).dialog( "close" ); } }, + { + id: "clipboard-dialog-download", + class: "primary", + text: RED._("clipboard.download"), + click: function() { + var element = document.createElement('a'); + element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent($("#clipboard-export").val())); + element.setAttribute('download', "flows.json"); + element.style.display = 'none'; + document.body.appendChild(element); + element.click(); + document.body.removeChild(element); + $( this ).dialog( "close" ); + } + }, { id: "clipboard-dialog-copy", class: "primary", @@ -92,7 +107,7 @@ RED.clipboard = (function() { ''+ ''+ ''+ - ''+ + ''+ '