diff --git a/Gruntfile.js b/Gruntfile.js index dac1329a6..9c44b782e 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -167,7 +167,8 @@ module.exports = function(grunt) { 'public/red/main.min.js': 'public/red/main.js', 'public/vendor/jsonata/jsonata.min.js': 'public/vendor/jsonata/jsonata.js', 'public/vendor/ace/mode-jsonata.js': 'editor/vendor/jsonata/mode-jsonata.js', - 'public/vendor/ace/worker-jsonata.js': 'editor/vendor/jsonata/worker-jsonata.js' + 'public/vendor/ace/worker-jsonata.js': 'editor/vendor/jsonata/worker-jsonata.js', + 'public/vendor/ace/snippets/jsonata.js': 'editor/vendor/jsonata/snippets-jsonata.js' } } }, diff --git a/editor/js/ui/editor.js b/editor/js/ui/editor.js index 23947b9fb..5e9775ec8 100644 --- a/editor/js/ui/editor.js +++ b/editor/js/ui/editor.js @@ -1421,7 +1421,7 @@ RED.editor = (function() { funcSelect.change(function(e) { var f = $(this).val(); var args = RED._('jsonata:'+f+".args",{defaultValue:''}); - var title = "
"+body+"
"); @@ -1432,7 +1432,7 @@ RED.editor = (function() { mode:"ace/mode/jsonata", options: { enableBasicAutocompletion:true, - enableSnippets:false, + enableSnippets:true, enableLiveAutocompletion: true } }); @@ -1441,14 +1441,23 @@ RED.editor = (function() { expressionEditor.on("changeSelection", function() { var c = expressionEditor.getCursorPosition(); var token = expressionEditor.getSession().getTokenAt(c.row,c.column); - //console.log(token); + // console.log(token); if (token && token.type === 'keyword') { funcSelect.val(token.value).change(); } }); dialogForm.i18n(); - + $("#node-input-expression-func-insert").click(function(e) { + e.preventDefault(); + var pos = expressionEditor.getCursorPosition(); + var f = funcSelect.val(); + var args = RED._('jsonata:'+f+".args",{defaultValue:''}); + expressionEditor.insert(f+"("+args+")"); + pos.column += f.length+1; + expressionEditor.moveCursorToPosition(pos); + expressionEditor.focus(); + }) }, close: function() { editStack.pop(); diff --git a/editor/templates/index.mst b/editor/templates/index.mst index 7dc5fda50..d8cbb2537 100644 --- a/editor/templates/index.mst +++ b/editor/templates/index.mst @@ -166,7 +166,7 @@