//>>built define("dijit/_editor/range",["dojo/_base/array","dojo/_base/declare","dojo/_base/lang","dojo/_base/window",".."],function(_1,_2,_3,_4,_5){ _5.range={}; _5.range.getIndex=function(_6,_7){ var _8=[],_9=[]; var _a=_6; var _b,n; while(_6!=_7){ var i=0; _b=_6.parentNode; while((n=_b.childNodes[i++])){ if(n===_6){ --i; break; } } _8.unshift(i); _9.unshift(i-_b.childNodes.length); _6=_b; } if(_8.length>0&&_a.nodeType==3){ n=_a.previousSibling; while(n&&n.nodeType==3){ _8[_8.length-1]--; n=n.previousSibling; } n=_a.nextSibling; while(n&&n.nodeType==3){ _9[_9.length-1]++; n=n.nextSibling; } } return {o:_8,r:_9}; }; _5.range.getNode=function(_c,_d){ if(!_3.isArray(_c)||_c.length==0){ return _d; } var _e=_d; _1.every(_c,function(i){ if(i>=0&&i<_e.childNodes.length){ _e=_e.childNodes[i]; }else{ _e=null; return false; } return true; }); return _e; }; _5.range.getCommonAncestor=function(n1,n2,_f){ _f=_f||n1.ownerDocument.body; var _10=function(n){ var as=[]; while(n){ as.unshift(n); if(n!==_f){ n=n.parentNode; }else{ break; } } return as; }; var _11=_10(n1); var _12=_10(n2); var m=Math.min(_11.length,_12.length); var com=_11[0]; for(var i=1;i0){ _1.every(_3c.childNodes,function(_40,i){ var _41; if(_40.nodeType!=3){ _3a.moveToElementText(_40); if(_3a.compareEndPoints(_3b,_39)>0){ if(_3f&&_3f.nodeType==3){ _3d=_3f; _41=true; }else{ _3d=_3c; _3e=i; return false; } }else{ if(i==_3c.childNodes.length-1){ _3d=_3c; _3e=_3c.childNodes.length; return false; } } }else{ if(i==_3c.childNodes.length-1){ _3d=_40; _41=true; } } if(_41&&_3d){ var _42=_5.range.adjacentNoneTextNode(_3d)[0]; if(_42){ _3d=_42.nextSibling; }else{ _3d=_3c.firstChild; } var _43=_5.range.adjacentNoneTextNode(_3d); _42=_43[0]; var _44=_43[1]; if(_42){ _3a.moveToElementText(_42); _3a.collapse(false); }else{ _3a.moveToElementText(_3c); } _3a.setEndPoint(_3b,_39); _3e=_3a.text.length-_44; return false; } _3f=_40; return true; }); }else{ _3d=_3c; _3e=0; } if(!end&&_3d.nodeType==1&&_3e==_3d.childNodes.length){ var _45=_3d.nextSibling; if(_45&&_45.nodeType==3){ _3d=_45; _3e=0; } } return [_3d,_3e]; },setEndPoint:function(_46,_47,_48){ var _49=_46.duplicate(),_4a,len; if(_47.nodeType!=3){ if(_48>0){ _4a=_47.childNodes[_48-1]; if(_4a){ if(_4a.nodeType==3){ _47=_4a; _48=_4a.length; }else{ if(_4a.nextSibling&&_4a.nextSibling.nodeType==3){ _47=_4a.nextSibling; _48=0; }else{ _49.moveToElementText(_4a.nextSibling?_4a:_47); var _4b=_4a.parentNode; var _4c=_4b.insertBefore(_4a.ownerDocument.createTextNode(" "),_4a.nextSibling); _49.collapse(false); _4b.removeChild(_4c); } } } }else{ _49.moveToElementText(_47); _49.collapse(true); } } if(_47.nodeType==3){ var _4d=_5.range.adjacentNoneTextNode(_47); var _4e=_4d[0]; len=_4d[1]; if(_4e){ _49.moveToElementText(_4e); _49.collapse(false); if(_4e.contentEditable!="inherit"){ len++; } }else{ _49.moveToElementText(_47.parentNode); _49.collapse(true); } _48+=len; if(_48>0){ if(_49.move("character",_48)!=_48){ console.error("Error when moving!"); } } } return _49; },decomposeTextRange:function(_4f){ var _50=_5.range.ie.getEndPoint(_4f); var _51=_50[0],_52=_50[1]; var _53=_50[0],_54=_50[1]; if(_4f.htmlText.length){ if(_4f.htmlText==_4f.text){ _54=_52+_4f.text.length; }else{ _50=_5.range.ie.getEndPoint(_4f,true); _53=_50[0],_54=_50[1]; } } return [_51,_52,_53,_54]; },setRange:function(_55,_56,_57,_58,_59,_5a){ var _5b=_5.range.ie.setEndPoint(_55,_56,_57); _55.setEndPoint("StartToStart",_5b); if(!_5a){ var end=_5.range.ie.setEndPoint(_55,_58,_59); } _55.setEndPoint("EndToEnd",end||_5b); return _55; }}; _2("dijit.range.W3CRange",null,{constructor:function(){ if(arguments.length>0){ this.setStart(arguments[0][0],arguments[0][1]); this.setEnd(arguments[0][2],arguments[0][3]); }else{ this.commonAncestorContainer=null; this.startContainer=null; this.startOffset=0; this.endContainer=null; this.endOffset=0; this.collapsed=true; } },_updateInternal:function(){ if(this.startContainer!==this.endContainer){ this.commonAncestorContainer=_5.range.getCommonAncestor(this.startContainer,this.endContainer); }else{ this.commonAncestorContainer=this.startContainer; } this.collapsed=(this.startContainer===this.endContainer)&&(this.startOffset==this.endOffset); },setStart:function(_5c,_5d){ _5d=parseInt(_5d); if(this.startContainer===_5c&&this.startOffset==_5d){ return; } delete this._cachedBookmark; this.startContainer=_5c; this.startOffset=_5d; if(!this.endContainer){ this.setEnd(_5c,_5d); }else{ this._updateInternal(); } },setEnd:function(_5e,_5f){ _5f=parseInt(_5f); if(this.endContainer===_5e&&this.endOffset==_5f){ return; } delete this._cachedBookmark; this.endContainer=_5e; this.endOffset=_5f; if(!this.startContainer){ this.setStart(_5e,_5f); }else{ this._updateInternal(); } },setStartAfter:function(_60,_61){ this._setPoint("setStart",_60,_61,1); },setStartBefore:function(_62,_63){ this._setPoint("setStart",_62,_63,0); },setEndAfter:function(_64,_65){ this._setPoint("setEnd",_64,_65,1); },setEndBefore:function(_66,_67){ this._setPoint("setEnd",_66,_67,0); },_setPoint:function(_68,_69,_6a,ext){ var _6b=_5.range.getIndex(_69,_69.parentNode).o; this[_68](_69.parentNode,_6b.pop()+ext); },_getIERange:function(){ var r=(this._body||this.endContainer.ownerDocument.body).createTextRange(); _5.range.ie.setRange(r,this.startContainer,this.startOffset,this.endContainer,this.endOffset,this.collapsed); return r; },getBookmark:function(){ this._getIERange(); return this._cachedBookmark; },_select:function(){ var r=this._getIERange(); r.select(); },deleteContents:function(){ var s=this.startContainer,r=this._getIERange(); if(s.nodeType===3&&!this.startOffset){ this.setStartBefore(s); } r.pasteHTML(""); this.endContainer=this.startContainer; this.endOffset=this.startOffset; this.collapsed=true; },cloneRange:function(){ var r=new _5.range.W3CRange([this.startContainer,this.startOffset,this.endContainer,this.endOffset]); r._body=this._body; return r; },detach:function(){ this._body=null; this.commonAncestorContainer=null; this.startContainer=null; this.startOffset=0; this.endContainer=null; this.endOffset=0; this.collapsed=true; }}); } return _5.range; });