control-freak-ide/Code/client/build/xnode/xace/views/ACEEditor.js
plastic-hub-dev-node-saturn 538369cff7 latest
2021-05-12 18:35:18 +02:00

19 lines
8.2 KiB
JavaScript

//>>built
define("xace/views/ACEEditor","dcl/dcl dojo/has dojo/dom-construct xide/utils xide/types xide/widgets/TemplatedWidgetBase xace/views/_Split xaction/DefaultActions xace/views/_AceMultiDocs".split(" "),function(e,r,t,h,m,k,n,u,l){var p={};k=e([k],{resizeToParent:!0,templateString:'\x3cdiv attachTo\x3d"aceNode" style\x3d"width: 100%;height: 100%" class\x3d""\x3e\x3c/div\x3e'});l=e(l,{declaredClass:"xace/views/EditorInterface",editorSession:null,_lastValue:null,enableMultiDocuments:function(){this.addFileCompleter().addDocument("asdf.js",
"var xxxTop \x3d 2*3;")},loadScript:function(a,b,c){b=document.createElement("script");b.type="application/javascript";b.src=a;b.onload=function(){c&&c()};document.body.appendChild(b)},setMode:function(a,b,c){if((b=b||this.ctx||window.sctx)&&b.getResourceManager()){var d=this;if(p[a])d.set("mode",a),c&&c(a);else{var f=null;(f=b.getResourceManager().getVariable(m.RESOURCE_VARIABLES.ACE))?f=f+"/mode-"+a+".js":(b=b.getResourceManager().getVariable(m.RESOURCE_VARIABLES.APP_URL),r("debug"),f=b+"/xfile/ext/ace//mode-"+
a+".js");this.loadScript(f,null,function(){p[a]=!0;d.set("mode",a);c&&c(a)})}}else console.error("have no resource manager!")},get:function(a){if("value"===a){var b=this.getEditor();return(b=b?b.session:null)?b.getValue():null}return this.inherited(arguments)},set:function(a,b){var c=this,d=this.getEditor(),f=this.editorSession;if("iconClass"===a){var g=this._parent;g&&g.icon&&this._parent.icon(b)}if(d&&f)if(g=d.container,"item"==a&&(f.setUseWorker(!1),c.getContent(b,function(a){var d=c._getMode(b.path);
c.set("value",a);c.setMode(d);f.setUseWorker(c.options.useWorker)})),"value"==a&&b)f.setValue(b);else if("theme"==a)"string"==typeof b&&(b="ace/theme/"+b),d.setTheme(b),this.split&&this.split.setTheme(b);else if("mode"==a)try{ace.require(["ace/mode/"+b],function(a){a&&a.Mode&&c.split.$editors.forEach(function(b){b.session.setMode(new a.Mode)})})}catch(w){console.error("ace mode failed : "+b)}else"readOnly"==a?d.setReadOnly(b):"tabSize"==a?f.setTabSize(b):"softTabs"==a?f.setUseSoftTabs(b):"wordWrap"==
a?f.setUseWrapMode(b):"printMargin"==a?d.renderer.setPrintMarginColumn(b):"showPrintMargin"==a?d.setShowPrintMargin(b):"highlightActiveLine"==a?d.setHighlightActiveLine(b):"fontSize"==a?$(g).css(a,b):"showIntentGuides"==a?d.setDisplayIndentGuides(b):"elasticTabstops"==a?d.setOption("useElasticTabstops",b):"useIncrementalSearch"==a?d.setOption("useIncrementalSearch",b):"showGutter"==a&&d.renderer.setShowGutter(b);return this.inherited("set",arguments)},_getMode:function(a){a=a||this.fileName;var b=
"javascript";if(a){b=h.getFileExtension(a)||"js";if("js"===b||"xblox"===b)b="javascript";if("h"===b||"cpp"===b)b="c_cpp";if("html"===b||"cfhtml"===b||"dhtml"===b)b="html";"cp"===b&&(b="xml");"md"===b&&(b="markdown");"hbs"===b&&(b="handlebars")}return b},setOptions:function(a){this.options=a;var b=this;_.each(a,function(a,c){b.set(c,a)});var c=this.getEditor();c&&a.aceOptions&&(c.setOptions(a.aceOptions),c.session.setUseWorker(a.useWorker),c.setOptions({enableBasicAutocompletion:!0,enableSnippets:!0,
enableLiveAutocompletion:!0}),this.setMode(a.mode));return this.options},getOptions:function(){return this.options},onContentChange:function(a){this._parent&&this._parent.set&&this._parent.set("changed",a!==this.lastSavedContent)},onDidChange:function(){var a=this.get("value");this._lastValue!==a&&(this._lastValue=a,this._emit("change",a),this.onContentChange(a))},getDefaultOptions:function(a,b){var c=this;return h.mixin({region:"center",style:"margin: 0; padding: 0; position:relative;overflow: auto;height:inherit;width:inherit;text-align:left;",
readOnly:!1,tabSize:2,wordWrap:!1,showPrintMargin:!1,highlightActiveLine:!0,fontSize:16,showGutter:!0,showLineNumbers:!0,useWorker:!0,showInvisibles:!1,displayIndentGuides:!0,useSoftTabs:!0,fileName:"none",mode:"javascript",value:a||this.value||"No value",theme:"idle_fingers",splits:1,useElasticTabstops:!1,animatedScroll:!1,highlightActive:!0,aceOptions:{enableBasicAutocompletion:!0,enableSnippets:!0,enableLiveAutocompletion:!0},onLoad:function(a){a.$blockScrolling=Infinity},onDidChange:function(){var a=
c.get("value");if(a!==c.lastSavedContent)c.onContentChange(a)},onPrefsChanged:function(){c.setPreferences&&c.setPreferences()}},b)},getEditor:function(a){if(this.split)return null==a?this.split.getCurrentEditor():this.split.getEditor(null!=a?a:0);if(this.editor)return this.editor},resize:function(a,b,c){a=this.options||{};this.onResize&&this.onResize();return this.debounce("resize",function(){var a=this.getEditor(),b=this.split||this.editor;if(a&&this.aceNode&&a.container)return a&&h.resizeTo(a.container,
this.aceNode,!0,!0),b?b.resize():null;this.resize_debounced.cancel();this.resize_debounced=null}.bind(this),a.resizeDelay||300,null)},getAce:function(){return this.getEditor()},addBasicCommands:function(a){a=a||this.getEditor();var b=this,c=ace.require("ace/ext/whitespace");this._whiteSpaceExt=c;a.commands.addCommands(c.commands);a.commands.addCommands([{name:"gotoline",bindKey:{win:"Ctrl-L",mac:"Command-L"},exec:function(a,b){if("object"==typeof b){var c=this.name+" "+a.getCursorPosition().row;a.cmdLine.setValue(c,
1);a.cmdLine.focus()}else b=parseInt(b,10),isNaN(b)||a.gotoLine(b)},readOnly:!0},{name:"snippet",bindKey:{win:"Alt-C",mac:"Command-Alt-C"},exec:function(a,b){if("object"==typeof b)a.cmdLine.setValue("snippet ",1),a.cmdLine.focus();else{var c=snippetManager.getSnippetByName(b,a);c&&snippetManager.insertSnippet(a,c.content)}},readOnly:!0},{name:"increaseFontSize",bindKey:"Ctrl-+",exec:function(a){a.setFontSize(a.getFontSize()+1);b.onAfterAction()}},{name:"decreaseFontSize",bindKey:"Ctrl+-",exec:function(a){a.setFontSize(a.getFontSize()-
1);b.onAfterAction()}},{name:"resetFontSize",bindKey:"Ctrl+0",exec:function(a){a.setFontSize(12);b.onAfterAction()}}])},onEditorCreated:function(a,b){var c=this;a.getSelectedText=function(){return c.editorSession.getTextRange(this.getSelectionRange())};a.on("change",function(){c.onDidChange(arguments)});this.addBasicCommands(a);a.setFontSize(b.fontSize);a.$blockScrolling=Infinity;this._whiteSpaceExt&&this._whiteSpaceExt.detectIndentation(a.session)},destroy:function(){var a=this.getEditor();a&&a.destroy();
(a=this.resize_debounced)&&a.cancel()},getOptionsMixed:function(a){var b=this.getPreferences?this.getPreferences():{},c=this.getDefaultOptions(this.value,a||this.options);h.mixin(c,a);h.mixin(c,b);c.mode=this._getMode(c.fileName);return c},createEditor:function(a,b){this.set("iconClass",this.iconClassNormal);if(this.editor||this.split)return this.editor||this.split;var c=this.getPreferences?this.getPreferences():{},d=this.getDefaultOptions(b);h.mixin(d,a);h.mixin(d,c);d.mode=this._getMode(d.fileName);
c=d.targetNode||t.create("div");$(c).css({padding:"0",margin:"0",height:"100%",width:"100%"});this.aceNode.appendChild(c);var f=ace.require("ace/config"),g=null,e=null;ace.require("ace/ext/language_tools");try{this.split=g=new (n.getSplitter())(c,null,1),this._aceConfig=f,f.init(),this.editor=e=g.getEditor(0),this.editorSession=this.editor.getSession(),b&&this.editorSession.setValue(b),g&&g.setSplits(d.splits)}catch(v){logError(v,"error creating editor")}this.setOptions(d);this.onEditorCreated(e,
d);return e},addAutoCompleter:function(a){ace.require("ace/ext/language_tools").addCompleter({getCompletions:function(b,c,d,f,e){0===f.length?e(null,[]):a?e(null,a.map(function(a){return{name:a.value,value:a.word,meta:a.meta}})):e(null,[])}})}});var q=e(null,{declaredClass:"xace/views/ACE",onLoaded:function(){this.set("iconClass",this.iconClassNormal)},getKeyTarget:function(){return this.aceNode},startup:function(){this.aceNode.id=h.createUUID();if(this.permissions){var a=u.getDefaultActions(this.permissions,
this,this),a=a.concat(this.getEditorActions(this.permissions));this.addActions(a)}this.iconClassNormal=""+this.iconClass;this.set("iconClass","fa-spinner fa-spin");var b=this,c=this.options||{};if(this.item||null!=this.value)null!=this.value?(this.lastSavedContent=""+this.value,b.createEditor(b.options||null,this.value)):this.getContent(this.item,function(a){b.lastSavedContent=a;b.createEditor(b.options||c,a)},function(a){b.createEditor(b.options||null,"");logError(a,"error loading content from file")})}});
e=e([k,q,l],{});e.EditorImplementation=l;e.Editor=q;e.Container=k;e.Splitter=n;return e});
//# sourceMappingURL=ACEEditor.js.map