mirror of
				https://github.com/node-red/node-red.git
				synced 2025-03-01 10:36:34 +00:00 
			
		
		
		
	| @@ -1,5 +1,5 @@ | ||||
| <!-- | ||||
|   Copyright 2013, 2014 IBM Corp. | ||||
|   Copyright 2013, 2015 IBM Corp. | ||||
|  | ||||
|   Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|   you may not use this file except in compliance with the License. | ||||
| @@ -20,8 +20,9 @@ | ||||
|         <input type="text" id="node-input-name" placeholder="Name"> | ||||
|     </div> | ||||
|     <div class="form-row" style="margin-bottom: 0px;"> | ||||
|             <label for="node-input-func"><i class="fa fa-wrench"></i> Function</label> | ||||
|             <input type="hidden" id="node-input-func" autofocus="autofocus"> | ||||
|         <label for="node-input-func"><i class="fa fa-wrench"></i> Function</label> | ||||
|         <input type="hidden" id="node-input-func" autofocus="autofocus"> | ||||
|         <input type="hidden" id="node-input-valid"> | ||||
|     </div> | ||||
|     <div class="form-row node-text-editor-row"> | ||||
|         <div style="height: 250px;" class="node-text-editor" id="node-input-func-editor" ></div> | ||||
| @@ -34,22 +35,22 @@ | ||||
| </script> | ||||
|  | ||||
| <script type="text/x-red" data-help-name="function"> | ||||
| 	<p>A function block where you can write code to do more interesting things.</p> | ||||
| 	<p>The message is passed in as a JavaScript object called <code>msg</code>.</p> | ||||
| 	<p>By convention it will have a <code>msg.payload</code> property containing | ||||
| 	   the body of the message.</p> | ||||
| 	<p>The function should return the messages it wants to pass on to the next nodes | ||||
| 	in the flow. It can return:</p> | ||||
| 	<ul> | ||||
| 	  <li>a single message object - passed to nodes connected to the first output</li> | ||||
| 	  <li>an array of message objects - passed to nodes connected to the corresponding outputs</li> | ||||
|     <p>A function block where you can write code to do more interesting things.</p> | ||||
|     <p>The message is passed in as a JavaScript object called <code>msg</code>.</p> | ||||
|     <p>By convention it will have a <code>msg.payload</code> property containing | ||||
|        the body of the message.</p> | ||||
|     <p>The function should return the messages it wants to pass on to the next nodes | ||||
|     in the flow. It can return:</p> | ||||
|     <ul> | ||||
|       <li>a single message object - passed to nodes connected to the first output</li> | ||||
|       <li>an array of message objects - passed to nodes connected to the corresponding outputs</li> | ||||
|     </ul> | ||||
|     <p>If any element of the array is itself an array of messages, multiple | ||||
| 	      messages are sent to the corresponding output.</p> | ||||
| 	<p>If null is returned, either by itself or as an element of the array, no | ||||
| 	      message is passed on.</p> | ||||
| 	<p>See the <a target="_new" href="http://nodered.org/docs/writing-functions.html">online documentation</a> for more help.</p> | ||||
| 	       | ||||
|           messages are sent to the corresponding output.</p> | ||||
|     <p>If null is returned, either by itself or as an element of the array, no | ||||
|           message is passed on.</p> | ||||
|     <p>See the <a target="_new" href="http://nodered.org/docs/writing-functions.html">online documentation</a> for more help.</p> | ||||
|  | ||||
| </script> | ||||
|  | ||||
| <script type="text/javascript"> | ||||
| @@ -59,7 +60,8 @@ | ||||
|         defaults: { | ||||
|             name: {value:""}, | ||||
|             func: {value:"\nreturn msg;"}, | ||||
|             outputs: {value:1} | ||||
|             outputs: {value:1}, | ||||
|             valid: {value:true,required:true} | ||||
|         }, | ||||
|         inputs:1, | ||||
|         outputs:1, | ||||
| @@ -68,11 +70,13 @@ | ||||
|             return this.name; | ||||
|         }, | ||||
|         oneditprepare: function() { | ||||
|             var that = this; | ||||
|             $( "#node-input-outputs" ).spinner({ | ||||
|                 min:1 | ||||
|             }); | ||||
|  | ||||
|             function functionDialogResize() { | ||||
|                 that.editor.resize(); | ||||
|                 var rows = $("#dialog-form>div:not(.node-text-editor-row)"); | ||||
|                 var height = $("#dialog-form").height(); | ||||
|                 for (var i=0;i<rows.size();i++) { | ||||
| @@ -82,7 +86,6 @@ | ||||
|                 height -= (parseInt(editorRow.css("marginTop"))+parseInt(editorRow.css("marginBottom"))); | ||||
|                 $(".node-text-editor").css("height",height+"px"); | ||||
|             }; | ||||
|  | ||||
|             $( "#dialog" ).on("dialogresize", functionDialogResize); | ||||
|             $( "#dialog" ).one("dialogopen", function(ev) { | ||||
|                 var size = $( "#dialog" ).dialog('option','sizeCache-function'); | ||||
| @@ -96,25 +99,33 @@ | ||||
|                 var height = $( "#dialog" ).dialog('option','height'); | ||||
|                 $( "#dialog" ).off("dialogresize",functionDialogResize); | ||||
|             }); | ||||
|             var that = this; | ||||
|             require(["orion/editor/edit"], function(edit) { | ||||
|                 that.editor = edit({ | ||||
|                     parent:document.getElementById('node-input-func-editor'), | ||||
|                     lang:"js", | ||||
|                     contents: $("#node-input-func").val() | ||||
|                 }); | ||||
|                 RED.library.create({ | ||||
|                     url:"functions", // where to get the data from | ||||
|                     type:"function", // the type of object the library is for | ||||
|                     editor:that.editor, // the field name the main text body goes to | ||||
|                     fields:['name','outputs'] | ||||
|                 }); | ||||
|                 $("#node-input-name").focus(); | ||||
|  | ||||
|             this.editor = RED.editor.createEditor({ | ||||
|                 id: 'node-input-func-editor', | ||||
|                 mode: 'ace/mode/javascript' | ||||
|             }); | ||||
|             this.editor.setValue($("#node-input-func").val(),-1); | ||||
|              | ||||
|             RED.library.create({ | ||||
|                 url:"functions", // where to get the data from | ||||
|                 type:"function", // the type of object the library is for | ||||
|                 editor:this.editor, // the field name the main text body goes to | ||||
|                 mode:"ace/mode/javascript", | ||||
|                 fields:['name','outputs'] | ||||
|             }); | ||||
|             this.editor.focus(); | ||||
|         }, | ||||
|         oneditsave: function() { | ||||
|             $("#node-input-func").val(this.editor.getText()) | ||||
|             var annot = this.editor.getSession().getAnnotations(); | ||||
|             this.valid = true; | ||||
|             for (var k=0; k < annot.length; k++) { | ||||
|                 //console.log(annot[k].type,":",annot[k].text, "on line", annot[k].row); | ||||
|                 if (annot[k].type === "error") { | ||||
|                     $("#node-input-valid").val(null); | ||||
|                     delete this.valid; | ||||
|                 } | ||||
|             } | ||||
|             $("#node-input-func").val(this.editor.getValue()); | ||||
|             delete this.editor; | ||||
|         } | ||||
|     }); | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <!-- | ||||
|   Copyright 2013,2014 IBM Corp. | ||||
|   Copyright 2013, 2015 IBM Corp. | ||||
|  | ||||
|   Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|   you may not use this file except in compliance with the License. | ||||
| @@ -22,13 +22,20 @@ | ||||
|     <div class="form-row" style="margin-bottom: 0px;"> | ||||
|         <label for="node-input-template"><i class="fa fa-file-code-o"></i> Template</label> | ||||
|         <input type="hidden" id="node-input-template" autofocus="autofocus"> | ||||
|         <select id="node-input-format" style=" font-size: 0.8em; margin-bottom: 3px; width:110px; float:right;"> | ||||
|             <option value="handlebars">mustache</option> | ||||
|             <option value="html">HTML</option> | ||||
|             <option value="json">JSON</option> | ||||
|             <option value="markdown">Markdown</option> | ||||
|             <option value="text">none</option> | ||||
|         </select> | ||||
|     </div> | ||||
|     <div class="form-row node-text-editor-row"> | ||||
|         <div style="height: 250px;" class="node-text-editor" id="node-input-template-editor" ></div> | ||||
|     </div> | ||||
|     <div class="form-row"> | ||||
|         <label for="node-input-field"><i class="fa fa-edit"></i> Property</label> | ||||
|         msg.<input type="text" id="node-input-field" placeholder="payload" style="width: 64%;"> | ||||
|         msg.<input type="text" id="node-input-field" placeholder="payload" style="width:170px;"> | ||||
|     </div> | ||||
| </script> | ||||
|  | ||||
| @@ -54,7 +61,8 @@ | ||||
|         defaults: { | ||||
|             name: {value:""}, | ||||
|             field: {value:"payload"}, | ||||
|             template: {value:"This is the payload: {{payload}}!"}, | ||||
|             format: {value:"handlebars"}, | ||||
|             template: {value:"This is the payload: {{payload}} !"}, | ||||
|         }, | ||||
|         inputs:1, | ||||
|         outputs:1, | ||||
| @@ -63,8 +71,9 @@ | ||||
|             return this.name; | ||||
|         }, | ||||
|         oneditprepare: function() { | ||||
|  | ||||
|             var that = this; | ||||
|             function templateDialogResize() { | ||||
|                 that.editor.resize(); | ||||
|                 var rows = $("#dialog-form>div:not(.node-text-editor-row)"); | ||||
|                 var height = $("#dialog-form").height(); | ||||
|                 for (var i=0;i<rows.size();i++) { | ||||
| @@ -74,7 +83,6 @@ | ||||
|                 height -= (parseInt(editorRow.css("marginTop"))+parseInt(editorRow.css("marginBottom"))); | ||||
|                 $(".node-text-editor").css("height",height+"px"); | ||||
|             }; | ||||
|  | ||||
|             $( "#dialog" ).on("dialogresize", templateDialogResize); | ||||
|             $( "#dialog" ).one("dialogopen", function(ev) { | ||||
|                 var size = $( "#dialog" ).dialog('option','sizeCache-template'); | ||||
| @@ -88,25 +96,29 @@ | ||||
|                 var height = $( "#dialog" ).dialog('option','height'); | ||||
|                 $( "#dialog" ).off("dialogresize",templateDialogResize); | ||||
|             }); | ||||
|  | ||||
|             var that = this; | ||||
|             require(["orion/editor/edit"], function(edit) { | ||||
|                 that.editor = edit({ | ||||
|                     parent:document.getElementById('node-input-template-editor'), | ||||
|                     lang:"html", | ||||
|                     contents: $("#node-input-template").val() | ||||
|                 }); | ||||
|                 RED.library.create({ | ||||
|                     url:"templates", // where to get the data from | ||||
|                     type:"template", // the type of object the library is for | ||||
|                     editor:that.editor, // the field name the main text body goes to | ||||
|                     fields:['name','field'] | ||||
|                 }); | ||||
|                 $("#node-input-name").focus(); | ||||
|             this.editor = RED.editor.createEditor({ | ||||
|                 id: 'node-input-template-editor', | ||||
|                 mode: 'ace/mode/html' | ||||
|             }); | ||||
|             this.editor.setValue($("#node-input-template").val(),-1); | ||||
|             RED.library.create({ | ||||
|                 url:"functions", // where to get the data from | ||||
|                 type:"function", // the type of object the library is for | ||||
|                 editor:that.editor, // the field name the main text body goes to | ||||
|                 fields:['name','outputs'] | ||||
|             }); | ||||
|             this.editor.focus(); | ||||
|              | ||||
|             $("#node-input-format").change(function() { | ||||
|                 var mod = "ace/mode/"+$("#node-input-format").val(); | ||||
|                 that.editor.getSession().setMode({ | ||||
|                    path: mod, | ||||
|                    v: Date.now() | ||||
|                 }) | ||||
|             }); | ||||
|         }, | ||||
|         oneditsave: function() { | ||||
|             $("#node-input-template").val(this.editor.getText()) | ||||
|             $("#node-input-template").val(this.editor.getValue()) | ||||
|             delete this.editor; | ||||
|         } | ||||
|     }); | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <!-- | ||||
|   Copyright 2013 IBM Corp. | ||||
|   Copyright 2013, 2015 IBM Corp. | ||||
|  | ||||
|   Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|   you may not use this file except in compliance with the License. | ||||
| @@ -26,7 +26,7 @@ | ||||
|     <div class="form-row node-text-editor-row"> | ||||
|         <div style="height: 250px;" class="node-text-editor" id="node-input-info-editor" ></div> | ||||
|     </div> | ||||
|     <div class="form-tips">Tip: The text here can be styled as <i><a href="https://help.github.com/articles/markdown-basics/" target="_new">Github flavored Markdown</a></i></div> | ||||
|     <div class="form-tips">Tip: The text here can be styled as <i><a href="https://help.github.com/articles/markdown-basics/" target="_new">Github flavoured Markdown</a></i></div> | ||||
| </script> | ||||
|  | ||||
| <script type="text/x-red" data-help-name="comment"> | ||||
| @@ -51,13 +51,17 @@ | ||||
|             return this.name?"node_label_italic":""; | ||||
|         }, | ||||
|         info: function() { | ||||
|             return "### "+this.name+"\n"+this.info; | ||||
|             var t = this.name || "Comment node"; | ||||
|             var b = this.info || "Use this node to add simple documentation.\n\nAnything you add will be rendered in this info panel.\n\nYou may use Markdown syntax to **enhance** the *presentation*."; | ||||
|             return "### "+t+"\n"+b; | ||||
|         }, | ||||
|         oneditprepare: function() { | ||||
|             var that = this; | ||||
|             $( "#node-input-outputs" ).spinner({ | ||||
|                 min:1 | ||||
|             }); | ||||
|             function functionDialogResize() { | ||||
|                 that.editor.resize(); | ||||
|                 var rows = $("#dialog-form>div:not(.node-text-editor-row)"); | ||||
|                 var height = $("#dialog-form").height(); | ||||
|                 for (var i=0;i<rows.size();i++) { | ||||
| @@ -80,20 +84,15 @@ | ||||
|                 var height = $( "#dialog" ).dialog('option','height'); | ||||
|                 $( "#dialog" ).off("dialogresize",functionDialogResize); | ||||
|             }); | ||||
|             var that = this; | ||||
|             require(["orion/editor/edit"], function(edit) { | ||||
|                 that.editor = edit({ | ||||
|                     parent:document.getElementById('node-input-info-editor'), | ||||
|                     lang:"text", | ||||
|                     showLinesRuler:false, | ||||
|                     showFoldingRuler:false, | ||||
|                     contents: $("#node-input-info").val() | ||||
|                 }); | ||||
|                 $("#node-input-name").focus(); | ||||
|             this.editor = RED.editor.createEditor({ | ||||
|                 id: 'node-input-info-editor', | ||||
|                 mode: 'ace/mode/markdown' | ||||
|             }); | ||||
|             this.editor.setValue($("#node-input-info").val(),-1); | ||||
|             this.editor.focus(); | ||||
|         }, | ||||
|         oneditsave: function() { | ||||
|             $("#node-input-info").val(this.editor.getText()); | ||||
|             $("#node-input-info").val(this.editor.getValue()); | ||||
|             delete this.editor; | ||||
|         } | ||||
|     }); | ||||
|   | ||||
							
								
								
									
										24
									
								
								public/ace/LICENSE
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								public/ace/LICENSE
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| Copyright (c) 2010, Ajax.org B.V. | ||||
| All rights reserved. | ||||
|  | ||||
| Redistribution and use in source and binary forms, with or without | ||||
| modification, are permitted provided that the following conditions are met: | ||||
|     * Redistributions of source code must retain the above copyright | ||||
|       notice, this list of conditions and the following disclaimer. | ||||
|     * Redistributions in binary form must reproduce the above copyright | ||||
|       notice, this list of conditions and the following disclaimer in the | ||||
|       documentation and/or other materials provided with the distribution. | ||||
|     * Neither the name of Ajax.org B.V. nor the | ||||
|       names of its contributors may be used to endorse or promote products | ||||
|       derived from this software without specific prior written permission. | ||||
|  | ||||
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND | ||||
| ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||||
| WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||||
| DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY | ||||
| DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||||
| (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||||
| LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||||
| ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||||
| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||||
| SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
							
								
								
									
										11
									
								
								public/ace/ace.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								public/ace/ace.js
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										5
									
								
								public/ace/ext-language_tools.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								public/ace/ext-language_tools.js
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										5
									
								
								public/ace/ext-searchbox.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								public/ace/ext-searchbox.js
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								public/ace/mode-handlebars.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								public/ace/mode-handlebars.js
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								public/ace/mode-html.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								public/ace/mode-html.js
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								public/ace/mode-javascript.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								public/ace/mode-javascript.js
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								public/ace/mode-json.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								public/ace/mode-json.js
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								public/ace/mode-markdown.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								public/ace/mode-markdown.js
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								public/ace/mode-yaml.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								public/ace/mode-yaml.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| ace.define("ace/mode/yaml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"list.markup",regex:/^(?:-{3}|\.{3})\s*(?=#|$)/},{token:"list.markup",regex:/^\s*[\-?](?:$|\s)/},{token:"constant",regex:"!![\\w//]+"},{token:"constant.language",regex:"[&\\*][a-zA-Z0-9-_]+"},{token:["meta.tag","keyword"],regex:/^(\s*\w.*?)(\:(?:\s+|$))/},{token:["meta.tag","keyword"],regex:/(\w+?)(\s*\:(?:\s+|$))/},{token:"keyword.operator",regex:"<<\\w*:\\w*"},{token:"keyword.operator",regex:"-\\s*(?=[{])"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"[|>][-+\\d\\s]*$",next:"qqstring"},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:/(\b|[+\-\.])[\d_]+(?:(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)/},{token:"constant.numeric",regex:/[+\-]?\.inf\b|NaN\b|0x[\dA-Fa-f_]+|0b[10_]+/},{token:"constant.language.boolean",regex:"(?:true|false|TRUE|FALSE|True|False|yes|no)\\b"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"}],qqstring:[{token:"string",regex:"(?=(?:(?:\\\\.)|(?:[^:]))*?:)",next:"start"},{token:"string",regex:".+"}]}};r.inherits(s,i),t.YamlHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++n<f){o=e.getLine(n);var h=o.search(i);if(h==-1)continue;if(o[h]!="#")break;c=n}if(c>l){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u<a?"start":"","";if(u==-1){if(i==a&&r[i]=="#"&&s[i]=="#")return e.foldWidgets[n-1]="",e.foldWidgets[n+1]="","start"}else if(u==i&&r[i]=="#"&&o[i]=="#"&&e.getLine(n-2).search(/\S/)==-1)return e.foldWidgets[n-1]="start",e.foldWidgets[n+1]="","";return u!=-1&&u<i?e.foldWidgets[n-1]="start":e.foldWidgets[n-1]="",i<a?"start":""}}.call(o.prototype)}),ace.define("ace/mode/yaml",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/yaml_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/folding/coffee"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./yaml_highlight_rules").YamlHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("./folding/coffee").FoldMode,a=function(){this.HighlightRules=s,this.$outdent=new o,this.foldingRules=new u};r.inherits(a,i),function(){this.lineCommentStart="#",this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t);if(e=="start"){var i=t.match(/^.*[\{\(\[]\s*$/);i&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/yaml"}.call(a.prototype),t.Mode=a}) | ||||
							
								
								
									
										1
									
								
								public/ace/snippets/handlebars.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								public/ace/snippets/handlebars.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| ace.define("ace/snippets/handlebars",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="handlebars"}) | ||||
							
								
								
									
										1
									
								
								public/ace/snippets/html.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								public/ace/snippets/html.js
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								public/ace/snippets/javascript.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								public/ace/snippets/javascript.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| ace.define("ace/snippets/javascript",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='# Prototype\nsnippet proto\n	${1:class_name}.prototype.${2:method_name} = function(${3:first_argument}) {\n		${4:// body...}\n	};\n# Function\nsnippet fun\n	function ${1?:function_name}(${2:argument}) {\n		${3:// body...}\n	}\n# Anonymous Function\nregex /((=)\\s*|(:)\\s*|(\\()|\\b)/f/(\\))?/\nsnippet f\n	function${M1?: ${1:functionName}}($2) {\n		${0:$TM_SELECTED_TEXT}\n	}${M2?;}${M3?,}${M4?)}\n# Immediate function\ntrigger \\(?f\\(\nendTrigger \\)?\nsnippet f(\n	(function(${1}) {\n		${0:${TM_SELECTED_TEXT:/* code */}}\n	}(${1}));\n# if\nsnippet if\n	if (${1:true}) {\n		${0}\n	}\n# if ... else\nsnippet ife\n	if (${1:true}) {\n		${2}\n	} else {\n		${0}\n	}\n# tertiary conditional\nsnippet ter\n	${1:/* condition */} ? ${2:a} : ${3:b}\n# switch\nsnippet switch\n	switch (${1:expression}) {\n		case \'${3:case}\':\n			${4:// code}\n			break;\n		${5}\n		default:\n			${2:// code}\n	}\n# case\nsnippet case\n	case \'${1:case}\':\n		${2:// code}\n		break;\n	${3}\n\n# while (...) {...}\nsnippet wh\n	while (${1:/* condition */}) {\n		${0:/* code */}\n	}\n# try\nsnippet try\n	try {\n		${0:/* code */}\n	} catch (e) {}\n# do...while\nsnippet do\n	do {\n		${2:/* code */}\n	} while (${1:/* condition */});\n# Object Method\nsnippet :f\nregex /([,{[])|^\\s*/:f/\n	${1:method_name}: function(${2:attribute}) {\n		${0}\n	}${3:,}\n# setTimeout function\nsnippet setTimeout\nregex /\\b/st|timeout|setTimeo?u?t?/\n	setTimeout(function() {${3:$TM_SELECTED_TEXT}}, ${1:10});\n# Get Elements\nsnippet gett\n	getElementsBy${1:TagName}(\'${2}\')${3}\n# Get Element\nsnippet get\n	getElementBy${1:Id}(\'${2}\')${3}\n# console.log (Firebug)\nsnippet cl\n	console.log(${1});\n# return\nsnippet ret\n	return ${1:result}\n# for (property in object ) { ... }\nsnippet fori\n	for (var ${1:prop} in ${2:Things}) {\n		${0:$2[$1]}\n	}\n# hasOwnProperty\nsnippet has\n	hasOwnProperty(${1})\n# docstring\nsnippet /**\nsnippet @par\nregex /^\\s*\\*\\s*/@(para?m?)?/\n	@param {${1:type}} ${2:name} ${3:description}\nsnippet @ret\n	@return {${1:type}} ${2:description}\n# JSON.parse\nsnippet jsonp\n	JSON.parse(${1:jstr});\n# JSON.stringify\nsnippet jsons\n	JSON.stringify(${1:object});\n# self-defining function\nsnippet sdf\n	var ${1:function_name} = function(${2:argument}) {\n		${3:// initial code ...}\n\n		$1 = function($2) {\n			${4:// main code}\n		};\n	}\n# singleton\nsnippet sing\n	function ${1:Singleton} (${2:argument}) {\n		var instance;\n		$1 = function $1($2) {\n			return instance;\n		};\n		$1.prototype = this;\n		instance = new $1();\n		instance.constructor = $1;\n\n		${3:// code ...}\n\n		return instance;\n	}\n# class\nsnippet class\nregex /^\\s*/clas{0,2}/\n	var ${1:class} = function(${20}) {\n		$40$0\n	};\n	\n	(function() {\n		${60:this.prop = ""}\n	}).call(${1:class}.prototype);\n	\n	exports.${1:class} = ${1:class};\n# \nsnippet for-\n	for (var ${1:i} = ${2:Things}.length; ${1:i}--; ) {\n		${0:${2:Things}[${1:i}];}\n	}\n# for (...) {...}\nsnippet for\n	for (var ${1:i} = 0; $1 < ${2:Things}.length; $1++) {\n		${3:$2[$1]}$0\n	}\n# for (...) {...} (Improved Native For-Loop)\nsnippet forr\n	for (var ${1:i} = ${2:Things}.length - 1; $1 >= 0; $1--) {\n		${3:$2[$1]}$0\n	}\n\n\n#modules\nsnippet def\n	ace.define(function(require, exports, module) {\n	"use strict";\n	var ${1/.*\\///} = require("${1}");\n	\n	$TM_SELECTED_TEXT\n	});\nsnippet req\nguard ^\\s*\n	var ${1/.*\\///} = require("${1}");\n	$0\nsnippet requ\nguard ^\\s*\n	var ${1/.*\\/(.)/\\u$1/} = require("${1}").${1/.*\\/(.)/\\u$1/};\n	$0\n',t.scope="javascript"}) | ||||
							
								
								
									
										1
									
								
								public/ace/snippets/markdown.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								public/ace/snippets/markdown.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| ace.define("ace/snippets/markdown",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='# Markdown\n\n# Includes octopress (http://octopress.org/) snippets\n\nsnippet [\n	[${1:text}](http://${2:address} "${3:title}")\nsnippet [*\n	[${1:link}](${2:`@*`} "${3:title}")${4}\n\nsnippet [:\n	[${1:id}]: http://${2:url} "${3:title}"\nsnippet [:*\n	[${1:id}]: ${2:`@*`} "${3:title}"\n\nsnippet \nsnippet ${4}\n\nsnippet ![:\n	![${1:id}]: ${2:url} "${3:title}"\nsnippet ![:*\n	![${1:id}]: ${2:`@*`} "${3:title}"\n\nsnippet ===\nregex /^/=+/=*//\n	${PREV_LINE/./=/g}\n	\n	${0}\nsnippet ---\nregex /^/-+/-*//\n	${PREV_LINE/./-/g}\n	\n	${0}\nsnippet blockquote\n	{% blockquote %}\n	${1:quote}\n	{% endblockquote %}\n\nsnippet blockquote-author\n	{% blockquote ${1:author}, ${2:title} %}\n	${3:quote}\n	{% endblockquote %}\n\nsnippet blockquote-link\n	{% blockquote ${1:author} ${2:URL} ${3:link_text} %}\n	${4:quote}\n	{% endblockquote %}\n\nsnippet bt-codeblock-short\n	```\n	${1:code_snippet}\n	```\n\nsnippet bt-codeblock-full\n	``` ${1:language} ${2:title} ${3:URL} ${4:link_text}\n	${5:code_snippet}\n	```\n\nsnippet codeblock-short\n	{% codeblock %}\n	${1:code_snippet}\n	{% endcodeblock %}\n\nsnippet codeblock-full\n	{% codeblock ${1:title} lang:${2:language} ${3:URL} ${4:link_text} %}\n	${5:code_snippet}\n	{% endcodeblock %}\n\nsnippet gist-full\n	{% gist ${1:gist_id} ${2:filename} %}\n\nsnippet gist-short\n	{% gist ${1:gist_id} %}\n\nsnippet img\n	{% img ${1:class} ${2:URL} ${3:width} ${4:height} ${5:title_text} ${6:alt_text} %}\n\nsnippet youtube\n	{% youtube ${1:video_id} %}\n\n# The quote should appear only once in the text. It is inherently part of it.\n# See http://octopress.org/docs/plugins/pullquote/ for more info.\n\nsnippet pullquote\n	{% pullquote %}\n	${1:text} {" ${2:quote} "} ${3:text}\n	{% endpullquote %}\n',t.scope="markdown"}) | ||||
							
								
								
									
										1
									
								
								public/ace/snippets/text.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								public/ace/snippets/text.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| ace.define("ace/snippets/text",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="text"}) | ||||
							
								
								
									
										1
									
								
								public/ace/snippets/yaml.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								public/ace/snippets/yaml.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| ace.define("ace/snippets/yaml",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="yaml"}) | ||||
							
								
								
									
										1
									
								
								public/ace/theme-chrome.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								public/ace/theme-chrome.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| ace.define("ace/theme/chrome",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-chrome",t.cssText='.ace-chrome .ace_gutter {background: #ebebeb;color: #333;overflow : hidden;}.ace-chrome .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-chrome {background-color: #FFFFFF;color: black;}.ace-chrome .ace_cursor {color: black;}.ace-chrome .ace_invisible {color: rgb(191, 191, 191);}.ace-chrome .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-chrome .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-chrome .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-chrome .ace_invalid {background-color: rgb(153, 0, 0);color: white;}.ace-chrome .ace_fold {}.ace-chrome .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-chrome .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-chrome .ace_support.ace_type,.ace-chrome .ace_support.ace_class.ace-chrome .ace_support.ace_other {color: rgb(109, 121, 222);}.ace-chrome .ace_variable.ace_parameter {font-style:italic;color:#FD971F;}.ace-chrome .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-chrome .ace_comment {color: #236e24;}.ace-chrome .ace_comment.ace_doc {color: #236e24;}.ace-chrome .ace_comment.ace_doc.ace_tag {color: #236e24;}.ace-chrome .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-chrome .ace_variable {color: rgb(49, 132, 149);}.ace-chrome .ace_xml-pe {color: rgb(104, 104, 91);}.ace-chrome .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-chrome .ace_heading {color: rgb(12, 7, 255);}.ace-chrome .ace_list {color:rgb(185, 6, 144);}.ace-chrome .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-chrome .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-chrome .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-chrome .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-chrome .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-chrome .ace_gutter-active-line {background-color : #dcdcdc;}.ace-chrome .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-chrome .ace_storage,.ace-chrome .ace_keyword,.ace-chrome .ace_meta.ace_tag {color: rgb(147, 15, 128);}.ace-chrome .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-chrome .ace_string {color: #1A1AA6;}.ace-chrome .ace_entity.ace_other.ace_attribute-name {color: #994409;}.ace-chrome .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) | ||||
							
								
								
									
										1
									
								
								public/ace/theme-crimson_editor.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								public/ace/theme-crimson_editor.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| ace.define("ace/theme/crimson_editor",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssText='.ace-crimson-editor .ace_gutter {background: #ebebeb;color: #333;overflow : hidden;}.ace-crimson-editor .ace_gutter-layer {width: 100%;text-align: right;}.ace-crimson-editor .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-crimson-editor {background-color: #FFFFFF;color: rgb(64, 64, 64);}.ace-crimson-editor .ace_cursor {color: black;}.ace-crimson-editor .ace_invisible {color: rgb(191, 191, 191);}.ace-crimson-editor .ace_identifier {color: black;}.ace-crimson-editor .ace_keyword {color: blue;}.ace-crimson-editor .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-crimson-editor .ace_constant.ace_language {color: rgb(255, 156, 0);}.ace-crimson-editor .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-crimson-editor .ace_invalid {text-decoration: line-through;color: rgb(224, 0, 0);}.ace-crimson-editor .ace_fold {}.ace-crimson-editor .ace_support.ace_function {color: rgb(192, 0, 0);}.ace-crimson-editor .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-crimson-editor .ace_support.ace_type,.ace-crimson-editor .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-crimson-editor .ace_keyword.ace_operator {color: rgb(49, 132, 149);}.ace-crimson-editor .ace_string {color: rgb(128, 0, 128);}.ace-crimson-editor .ace_comment {color: rgb(76, 136, 107);}.ace-crimson-editor .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-crimson-editor .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-crimson-editor .ace_constant.ace_numeric {color: rgb(0, 0, 64);}.ace-crimson-editor .ace_variable {color: rgb(0, 64, 128);}.ace-crimson-editor .ace_xml-pe {color: rgb(104, 104, 91);}.ace-crimson-editor .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-crimson-editor .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-crimson-editor .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-crimson-editor .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-crimson-editor .ace_marker-layer .ace_active-line {background: rgb(232, 242, 254);}.ace-crimson-editor .ace_gutter-active-line {background-color : #dcdcdc;}.ace-crimson-editor .ace_meta.ace_tag {color:rgb(28, 2, 255);}.ace-crimson-editor .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-crimson-editor .ace_string.ace_regex {color: rgb(192, 0, 192);}.ace-crimson-editor .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}',t.cssClass="ace-crimson-editor";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) | ||||
							
								
								
									
										1
									
								
								public/ace/theme-solarized_light.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								public/ace/theme-solarized_light.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| ace.define("ace/theme/solarized_light",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-solarized-light",t.cssText=".ace-solarized-light .ace_gutter {background: #fbf1d3;color: #333}.ace-solarized-light .ace_print-margin {width: 1px;background: #e8e8e8}.ace-solarized-light {background-color: #FDF6E3;color: #586E75}.ace-solarized-light .ace_cursor {color: #000000}.ace-solarized-light .ace_marker-layer .ace_selection {background: rgba(7, 54, 67, 0.09)}.ace-solarized-light.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #FDF6E3;border-radius: 2px}.ace-solarized-light .ace_marker-layer .ace_step {background: rgb(255, 255, 0)}.ace-solarized-light .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(147, 161, 161, 0.50)}.ace-solarized-light .ace_marker-layer .ace_active-line {background: #EEE8D5}.ace-solarized-light .ace_gutter-active-line {background-color : #EDE5C1}.ace-solarized-light .ace_marker-layer .ace_selected-word {border: 1px solid #073642}.ace-solarized-light .ace_invisible {color: rgba(147, 161, 161, 0.50)}.ace-solarized-light .ace_keyword,.ace-solarized-light .ace_meta,.ace-solarized-light .ace_support.ace_class,.ace-solarized-light .ace_support.ace_type {color: #859900}.ace-solarized-light .ace_constant.ace_character,.ace-solarized-light .ace_constant.ace_other {color: #CB4B16}.ace-solarized-light .ace_constant.ace_language {color: #B58900}.ace-solarized-light .ace_constant.ace_numeric {color: #D33682}.ace-solarized-light .ace_fold {background-color: #268BD2;border-color: #586E75}.ace-solarized-light .ace_entity.ace_name.ace_function,.ace-solarized-light .ace_entity.ace_name.ace_tag,.ace-solarized-light .ace_support.ace_function,.ace-solarized-light .ace_variable,.ace-solarized-light .ace_variable.ace_language {color: #268BD2}.ace-solarized-light .ace_storage {color: #073642}.ace-solarized-light .ace_string {color: #2AA198}.ace-solarized-light .ace_string.ace_regexp {color: #D30102}.ace-solarized-light .ace_comment,.ace-solarized-light .ace_entity.ace_other.ace_attribute-name {color: #93A1A1}.ace-solarized-light .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYHjy8NJ/AAjgA5fzQUmBAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) | ||||
							
								
								
									
										1
									
								
								public/ace/theme-tomorrow.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								public/ace/theme-tomorrow.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| ace.define("ace/theme/tomorrow",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-tomorrow",t.cssText=".ace-tomorrow .ace_gutter {background: #f6f6f6;color: #4D4D4C}.ace-tomorrow .ace_print-margin {width: 1px;background: #f6f6f6}.ace-tomorrow {background-color: #FFFFFF;color: #4D4D4C}.ace-tomorrow .ace_cursor {color: #AEAFAD}.ace-tomorrow .ace_marker-layer .ace_selection {background: #D6D6D6}.ace-tomorrow.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #FFFFFF;border-radius: 2px}.ace-tomorrow .ace_marker-layer .ace_step {background: rgb(255, 255, 0)}.ace-tomorrow .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #D1D1D1}.ace-tomorrow .ace_marker-layer .ace_active-line {background: #EFEFEF}.ace-tomorrow .ace_gutter-active-line {background-color : #dcdcdc}.ace-tomorrow .ace_marker-layer .ace_selected-word {border: 1px solid #D6D6D6}.ace-tomorrow .ace_invisible {color: #D1D1D1}.ace-tomorrow .ace_keyword,.ace-tomorrow .ace_meta,.ace-tomorrow .ace_storage,.ace-tomorrow .ace_storage.ace_type,.ace-tomorrow .ace_support.ace_type {color: #8959A8}.ace-tomorrow .ace_keyword.ace_operator {color: #3E999F}.ace-tomorrow .ace_constant.ace_character,.ace-tomorrow .ace_constant.ace_language,.ace-tomorrow .ace_constant.ace_numeric,.ace-tomorrow .ace_keyword.ace_other.ace_unit,.ace-tomorrow .ace_support.ace_constant,.ace-tomorrow .ace_variable.ace_parameter {color: #F5871F}.ace-tomorrow .ace_constant.ace_other {color: #666969}.ace-tomorrow .ace_invalid {color: #FFFFFF;background-color: #C82829}.ace-tomorrow .ace_invalid.ace_deprecated {color: #FFFFFF;background-color: #8959A8}.ace-tomorrow .ace_fold {background-color: #4271AE;border-color: #4D4D4C}.ace-tomorrow .ace_entity.ace_name.ace_function,.ace-tomorrow .ace_support.ace_function,.ace-tomorrow .ace_variable {color: #4271AE}.ace-tomorrow .ace_support.ace_class,.ace-tomorrow .ace_support.ace_type {color: #C99E00}.ace-tomorrow .ace_heading,.ace-tomorrow .ace_markup.ace_heading,.ace-tomorrow .ace_string {color: #718C00}.ace-tomorrow .ace_entity.ace_name.ace_tag,.ace-tomorrow .ace_entity.ace_other.ace_attribute-name,.ace-tomorrow .ace_meta.ace_tag,.ace-tomorrow .ace_string.ace_regexp,.ace-tomorrow .ace_variable {color: #C82829}.ace-tomorrow .ace_comment {color: #8E908C}.ace-tomorrow .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bdu3f/BwAlfgctduB85QAAAABJRU5ErkJggg==) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}) | ||||
							
								
								
									
										1
									
								
								public/ace/worker-html.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								public/ace/worker-html.js
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								public/ace/worker-javascript.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								public/ace/worker-javascript.js
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								public/ace/worker-json.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								public/ace/worker-json.js
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -6,7 +6,7 @@ | ||||
| <meta name="mobile-web-app-capable" content="yes"> | ||||
|  | ||||
| <!-- | ||||
|   Copyright 2013, 2014 IBM Corp. | ||||
|   Copyright 2013, 2015 IBM Corp. | ||||
|  | ||||
|   Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|   you may not use this file except in compliance with the License. | ||||
| @@ -246,6 +246,8 @@ | ||||
| <script src="jquery/js/jquery.ui.touch-punch.min.js"></script> | ||||
| <script src="marked/marked.min.js"></script> | ||||
| <script src="orion/built-editor.min.js"></script> | ||||
| <script src="ace/ace.js"></script> | ||||
| <script src="ace/ext-language_tools.js"></script> | ||||
| <script src="d3.v3.min.js"></script> | ||||
| <script src="red/main.js"></script> | ||||
| <script src="red/settings.js"></script> | ||||
|   | ||||
| @@ -369,6 +369,8 @@ var RED = (function() { | ||||
|             document.title = "Node-RED : "+window.location.hostname; | ||||
|         } | ||||
|          | ||||
|         ace.require("ace/ext/language_tools"); | ||||
|  | ||||
|         RED.settings.init(loadEditor); | ||||
|     }); | ||||
|  | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| /** | ||||
|  * Copyright 2013, 2014 IBM Corp. | ||||
|  * Copyright 2013, 2015 IBM Corp. | ||||
|  * | ||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|  * you may not use this file except in compliance with the License. | ||||
| @@ -805,6 +805,29 @@ RED.editor = (function() { | ||||
|         editConfig: showEditConfigNodeDialog, | ||||
|         editSubflow: showEditSubflowDialog, | ||||
|         validateNode: validateNode, | ||||
|         updateNodeProperties: updateNodeProperties // TODO: only exposed for edit-undo | ||||
|         updateNodeProperties: updateNodeProperties, // TODO: only exposed for edit-undo | ||||
|          | ||||
|         createEditor: function(options) { | ||||
|             var editor = ace.edit(options.id); | ||||
|             editor.setTheme("ace/theme/tomorrow"); | ||||
|             if (options.mode) { | ||||
|                 editor.getSession().setMode(options.mode); | ||||
|             } | ||||
|             if (options.foldStyle) { | ||||
|                 editor.getSession().setFoldStyle(options.foldStyle); | ||||
|             } else { | ||||
|                 editor.getSession().setFoldStyle('markbeginend'); | ||||
|             } | ||||
|             if (options.options) { | ||||
|                 editor.setOptions(options.options); | ||||
|             } else { | ||||
|                 editor.setOptions({ | ||||
|                     enableBasicAutocompletion:true, | ||||
|                     enableSnippets:true | ||||
|                 }); | ||||
|             } | ||||
|             editor.$blockScrolling = Infinity; | ||||
|             return editor; | ||||
|         } | ||||
|     } | ||||
| })(); | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| /** | ||||
|  * Copyright 2013 IBM Corp. | ||||
|  * Copyright 2013, 2015 IBM Corp. | ||||
|  * | ||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|  * you may not use this file except in compliance with the License. | ||||
| @@ -72,6 +72,19 @@ RED.library = (function() { | ||||
|         var selectedLibraryItem = null; | ||||
|         var libraryEditor = null; | ||||
|          | ||||
|         // Orion editor has set/getText | ||||
|         // ACE editor has set/getValue | ||||
|         // normalise to set/getValue | ||||
|         if (options.editor.setText) { | ||||
|             // Orion doesn't like having pos passed in, so proxy the call to drop it | ||||
|             options.editor.setValue = function(text,pos) { | ||||
|                 options.editor.setText.call(options.editor,text); | ||||
|             } | ||||
|         } | ||||
|         if (options.editor.getText) { | ||||
|             options.editor.getValue = options.editor.getText; | ||||
|         } | ||||
|          | ||||
|         function buildFileListItem(item) { | ||||
|             var li = document.createElement("li"); | ||||
|             li.onmouseover = function(e) { $(this).addClass("list-hover"); }; | ||||
| @@ -119,7 +132,7 @@ RED.library = (function() { | ||||
|                            $(this).addClass("list-selected"); | ||||
|                            $.get("library/"+options.url+root+item.fn, function(data) { | ||||
|                                    selectedLibraryItem = item; | ||||
|                                    libraryEditor.setText(data); | ||||
|                                    libraryEditor.setValue(data,-1); | ||||
|                            }); | ||||
|                        } | ||||
|                    })(); | ||||
| @@ -144,7 +157,7 @@ RED.library = (function() { | ||||
|             $("#node-select-library").children().remove(); | ||||
|             var bc = $("#node-dialog-library-breadcrumbs"); | ||||
|             bc.children().first().nextAll().remove(); | ||||
|             libraryEditor.setText(''); | ||||
|             libraryEditor.setValue('',-1); | ||||
|              | ||||
|             $.getJSON("library/"+options.url,function(data) { | ||||
|                 $("#node-select-library").append(buildFileList("/",data)); | ||||
| @@ -205,14 +218,18 @@ RED.library = (function() { | ||||
|             e.preventDefault(); | ||||
|         }); | ||||
|      | ||||
|         require(["orion/editor/edit"], function(edit) { | ||||
|             libraryEditor = edit({ | ||||
|                 parent:document.getElementById('node-select-library-text'), | ||||
|                 lang:"js", | ||||
|                 readonly: true | ||||
|             }); | ||||
|         libraryEditor = ace.edit('node-select-library-text'); | ||||
|         libraryEditor.setTheme("ace/theme/tomorrow"); | ||||
|         if (options.mode) { | ||||
|             libraryEditor.getSession().setMode(options.mode); | ||||
|         } | ||||
|         libraryEditor.setOptions({ | ||||
|             readOnly: true, | ||||
|             highlightActiveLine: false, | ||||
|             highlightGutterLine: false | ||||
|         }); | ||||
|      | ||||
|         libraryEditor.renderer.$cursorLayer.element.style.opacity=0; | ||||
|         libraryEditor.$blockScrolling = Infinity; | ||||
|          | ||||
|         $( "#node-dialog-library-lookup" ).dialog({ | ||||
|             title: options.type+" library", | ||||
| @@ -229,7 +246,7 @@ RED.library = (function() { | ||||
|                                 var field = options.fields[i]; | ||||
|                                 $("#node-input-"+field).val(selectedLibraryItem[field]); | ||||
|                             } | ||||
|                             options.editor.setText(libraryEditor.getText()); | ||||
|                             options.editor.setValue(libraryEditor.getValue(),-1); | ||||
|                         } | ||||
|                         $( this ).dialog( "close" ); | ||||
|                     } | ||||
| @@ -304,7 +321,7 @@ RED.library = (function() { | ||||
|                 } | ||||
|             } | ||||
|              | ||||
|             data.text = options.editor.getText(); | ||||
|             data.text = options.editor.getValue(); | ||||
|             $.ajax({ | ||||
|                 url:"library/"+options.url+'/'+fullpath, | ||||
|                 type: "POST", | ||||
|   | ||||
| @@ -965,6 +965,7 @@ div.node-info { | ||||
|     border:1px solid #ccc; | ||||
|     border-radius:5px; | ||||
|     overflow: hidden; | ||||
|     font-size: 16px !important; | ||||
| } | ||||
| #workspace-tabs { | ||||
|     margin-right: 28px; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user