blob: 7da268ee3e691ec24ae0b7e4dbd407331e1362a1 [file] [log] [blame]
dojo.require("dojo.widget.*");
dojo.require("dojo.widget.HtmlWidget");
dojo.require("dojo.widget.RichText");
dojo.provide("dojo.widget.TreeEditor");
dojo.widget.defineWidget("dojo.widget.TreeEditor",dojo.widget.HtmlWidget,{singleLineMode:false,saveOnBlur:true,sync:false,selectOnOpen:true,controller:null,node:null,richTextParams:{styleSheets:"src/widget/templates/TreeEditor.css"},getContents:function(){
return this.richText.getEditorContent();
},open:function(_1){
if(!this.richText){
this.richText=dojo.widget.createWidget("RichText",this.richTextParams,_1.labelNode);
dojo.event.connect("around",this.richText,"onKeyDown",this,"richText_onKeyDown");
dojo.event.connect(this.richText,"onBlur",this,"richText_onBlur");
var _2=this;
dojo.event.connect(this.richText,"onLoad",function(){
if(_2.selectOnOpen){
_2.richText.execCommand("selectall");
}
});
}else{
this.richText.open(_1.labelNode);
}
this.node=_1;
},close:function(_3){
this.richText.close(_3);
this.node=null;
},isClosed:function(){
return !this.richText||this.richText.isClosed;
},execCommand:function(){
this.richText.execCommand.apply(this.richText,arguments);
},richText_onKeyDown:function(_4){
var e=_4.args[0];
if((!e)&&(this.object)){
e=dojo.event.browser.fixEvent(this.editor.window.event);
}
switch(e.keyCode){
case e.KEY_ESCAPE:
this.finish(false);
dojo.event.browser.stopEvent(e);
break;
case e.KEY_ENTER:
if(e.ctrlKey&&!this.singleLineMode){
this.execCommand("inserthtml","<br/>");
}else{
this.finish(true);
}
dojo.event.browser.stopEvent(e);
break;
default:
return _4.proceed();
}
},richText_onBlur:function(){
this.finish(this.saveOnBlur);
},finish:function(_6){
return this.controller.editLabelFinish(_6,this.sync);
}});