src/myams/resources/js/ext/tinymce/dev/classes/dom/BookmarkManager.min.js
changeset 5 c9c69b13d884
parent 0 f05d7aea098a
equal deleted inserted replaced
4:440e5d8fae8f 5:c9c69b13d884
     1 define("tinymce/dom/BookmarkManager",["tinymce/Env","tinymce/util/Tools"],function(a,c){function b(d){var e=d.dom;this.getBookmark=function(p,r){var g,j,i,m,h,n,l="&#xFEFF;",s;function f(u,v){var t=0;c.each(e.select(u),function(x,w){if(x==v){t=w}});return t}function q(t){function u(z){var v,y,x,w=z?"start":"end";v=t[w+"Container"];y=t[w+"Offset"];if(v.nodeType==1&&v.nodeName=="TR"){x=v.childNodes;v=x[Math.min(z?y:y-1,x.length-1)];if(v){y=z?0:v.childNodes.length;t["set"+(z?"Start":"End")](v,y)}}}u(true);u();return t}function k(){var u=d.getRng(true),t=e.getRoot(),v={};function w(z,E){var y=z[E?"startContainer":"endContainer"],D=z[E?"startOffset":"endOffset"],x=[],A,C,B=0;if(y.nodeType==3){if(r){for(A=y.previousSibling;A&&A.nodeType==3;A=A.previousSibling){D+=A.nodeValue.length}}x.push(D)}else{C=y.childNodes;if(D>=C.length&&C.length){B=1;D=Math.max(0,C.length-1)}x.push(e.nodeIndex(C[D],r)+B)}for(;y&&y!=t;y=y.parentNode){x.push(e.nodeIndex(y,r))}return x}v.start=w(u,true);if(!d.isCollapsed()){v.end=w(u)}return v}if(p==2){n=d.getNode();h=n?n.nodeName:null;if(h=="IMG"){return{name:h,index:f(h,n)}}if(d.tridentSel){return d.tridentSel.getBookmark(p)}return k()}if(p){return{rng:d.getRng()}}g=d.getRng();i=e.uniqueId();m=d.isCollapsed();s="overflow:hidden;line-height:0px";if(g.duplicate||g.item){if(!g.item){j=g.duplicate();try{g.collapse();g.pasteHTML('<span data-mce-type="bookmark" id="'+i+'_start" style="'+s+'">'+l+"</span>");if(!m){j.collapse(false);g.moveToElementText(j.parentElement());if(g.compareEndPoints("StartToEnd",j)===0){j.move("character",-1)}j.pasteHTML('<span data-mce-type="bookmark" id="'+i+'_end" style="'+s+'">'+l+"</span>")}}catch(o){return null}}else{n=g.item(0);h=n.nodeName;return{name:h,index:f(h,n)}}}else{n=d.getNode();h=n.nodeName;if(h=="IMG"){return{name:h,index:f(h,n)}}j=q(g.cloneRange());if(!m){j.collapse(false);j.insertNode(e.create("span",{"data-mce-type":"bookmark",id:i+"_end",style:s},l))}g=q(g);g.collapse(true);g.insertNode(e.create("span",{"data-mce-type":"bookmark",id:i+"_start",style:s},l))}d.moveToBookmark({id:i,keep:1});return{id:i}};this.moveToBookmark=function(k){var f,n,h,o,l,m;function g(u){var p=k[u?"start":"end"],r,s,t,q;if(p){t=p[0];for(s=n,r=p.length-1;r>=1;r--){q=s.childNodes;if(p[r]>q.length-1){return}s=q[p[r]]}if(s.nodeType===3){t=Math.min(p[0],s.nodeValue.length)}if(s.nodeType===1){t=Math.min(p[0],s.childNodes.length)}if(u){f.setStart(s,t)}else{f.setEnd(s,t)}}return true}function i(v){var q=e.get(k.id+"_"+v),u,p,s,t,r=k.keep;if(q){u=q.parentNode;if(v=="start"){if(!r){p=e.nodeIndex(q)}else{u=q.firstChild;p=1}h=o=u;l=m=p}else{if(!r){p=e.nodeIndex(q)}else{u=q.firstChild;p=1}o=u;m=p}if(!r){t=q.previousSibling;s=q.nextSibling;c.each(c.grep(q.childNodes),function(w){if(w.nodeType==3){w.nodeValue=w.nodeValue.replace(/\uFEFF/g,"")}});while((q=e.get(k.id+"_"+v))){e.remove(q,1)}if(t&&s&&t.nodeType==s.nodeType&&t.nodeType==3&&!a.opera){p=t.nodeValue.length;t.appendData(s.nodeValue);e.remove(s);if(v=="start"){h=o=t;l=m=p}else{o=t;m=p}}}}}function j(p){if(e.isBlock(p)&&!p.innerHTML&&!a.ie){p.innerHTML='<br data-mce-bogus="1" />'}return p}if(k){if(k.start){f=e.createRng();n=e.getRoot();if(d.tridentSel){return d.tridentSel.moveToBookmark(k)}if(g(true)&&g()){d.setRng(f)}}else{if(k.id){i("start");i("end");if(h){f=e.createRng();f.setStart(j(h),l);f.setEnd(j(o),m);d.setRng(f)}}else{if(k.name){d.select(e.select(k.name)[k.index])}else{if(k.rng){d.setRng(k.rng)}}}}}}}b.isBookmarkNode=function(d){return d&&d.tagName==="SPAN"&&d.getAttribute("data-mce-type")==="bookmark"};return b});
     1 define("tinymce/dom/BookmarkManager",["tinymce/Env","tinymce/util/Tools"],(function(e,t){function n(n){var o=n.dom;this.getBookmark=function(e,r){var a,i,d,s,l,c,u,m="&#xFEFF;";function p(e,n){var r=0;return t.each(o.select(e),(function(e,t){e==n&&(r=t)})),r}function g(e){function t(t){var n,o,r,a=t?"start":"end";n=e[a+"Container"],o=e[a+"Offset"],1==n.nodeType&&"TR"==n.nodeName&&(n=(r=n.childNodes)[Math.min(t?o:o-1,r.length-1)])&&(o=t?0:n.childNodes.length,e["set"+(t?"Start":"End")](n,o))}return t(!0),t(),e}if(2==e)return"IMG"==(l=(c=n.getNode())?c.nodeName:null)?{name:l,index:p(l,c)}:n.tridentSel?n.tridentSel.getBookmark(e):function(){var e=n.getRng(!0),t=o.getRoot(),a={};function i(e,n){var a,i,d=e[n?"startContainer":"endContainer"],s=e[n?"startOffset":"endOffset"],l=[],c=0;if(3==d.nodeType){if(r)for(a=d.previousSibling;a&&3==a.nodeType;a=a.previousSibling)s+=a.nodeValue.length;l.push(s)}else s>=(i=d.childNodes).length&&i.length&&(c=1,s=Math.max(0,i.length-1)),l.push(o.nodeIndex(i[s],r)+c);for(;d&&d!=t;d=d.parentNode)l.push(o.nodeIndex(d,r));return l}return a.start=i(e,!0),n.isCollapsed()||(a.end=i(e)),a}();if(e)return{rng:n.getRng()};if(a=n.getRng(),d=o.uniqueId(),s=n.isCollapsed(),u="overflow:hidden;line-height:0px",a.duplicate||a.item){if(a.item)return{name:l=(c=a.item(0)).nodeName,index:p(l,c)};i=a.duplicate();try{a.collapse(),a.pasteHTML('<span data-mce-type="bookmark" id="'+d+'_start" style="'+u+'">'+m+"</span>"),s||(i.collapse(!1),a.moveToElementText(i.parentElement()),0===a.compareEndPoints("StartToEnd",i)&&i.move("character",-1),i.pasteHTML('<span data-mce-type="bookmark" id="'+d+'_end" style="'+u+'">'+m+"</span>"))}catch(e){return null}}else{if("IMG"==(l=(c=n.getNode()).nodeName))return{name:l,index:p(l,c)};i=g(a.cloneRange()),s||(i.collapse(!1),i.insertNode(o.create("span",{"data-mce-type":"bookmark",id:d+"_end",style:u},m))),(a=g(a)).collapse(!0),a.insertNode(o.create("span",{"data-mce-type":"bookmark",id:d+"_start",style:u},m))}return n.moveToBookmark({id:d,keep:1}),{id:d}},this.moveToBookmark=function(r){var a,i,d,s,l,c;function u(e){var t,n,o,d,s=r[e?"start":"end"];if(s){for(o=s[0],n=i,t=s.length-1;t>=1;t--){if(d=n.childNodes,s[t]>d.length-1)return;n=d[s[t]]}3===n.nodeType&&(o=Math.min(s[0],n.nodeValue.length)),1===n.nodeType&&(o=Math.min(s[0],n.childNodes.length)),e?a.setStart(n,o):a.setEnd(n,o)}return!0}function m(n){var a,i,u,m,p=o.get(r.id+"_"+n),g=r.keep;if(p&&(a=p.parentNode,"start"==n?(g?(a=p.firstChild,i=1):i=o.nodeIndex(p),d=s=a,l=c=i):(g?(a=p.firstChild,i=1):i=o.nodeIndex(p),s=a,c=i),!g)){for(m=p.previousSibling,u=p.nextSibling,t.each(t.grep(p.childNodes),(function(e){3==e.nodeType&&(e.nodeValue=e.nodeValue.replace(/\uFEFF/g,""))}));p=o.get(r.id+"_"+n);)o.remove(p,1);m&&u&&m.nodeType==u.nodeType&&3==m.nodeType&&!e.opera&&(i=m.nodeValue.length,m.appendData(u.nodeValue),o.remove(u),"start"==n?(d=s=m,l=c=i):(s=m,c=i))}}function p(t){return!o.isBlock(t)||t.innerHTML||e.ie||(t.innerHTML='<br data-mce-bogus="1" />'),t}if(r)if(r.start){if(a=o.createRng(),i=o.getRoot(),n.tridentSel)return n.tridentSel.moveToBookmark(r);u(!0)&&u()&&n.setRng(a)}else r.id?(m("start"),m("end"),d&&((a=o.createRng()).setStart(p(d),l),a.setEnd(p(s),c),n.setRng(a))):r.name?n.select(o.select(r.name)[r.index]):r.rng&&n.setRng(r.rng)}}return n.isBookmarkNode=function(e){return e&&"SPAN"===e.tagName&&"bookmark"===e.getAttribute("data-mce-type")},n}));