
META-INF.resources.bower_components.rangy.rangy-selectionsaverestore.min.js Maven / Gradle / Ivy
(function(b,a){if(typeof define=="function"&&define.amd){define(["./rangy-core"],b)}else{if(typeof module!="undefined"&&typeof exports=="object"){module.exports=b(require("rangy"))}else{b(a.rangy)}}})(function(a){a.createModule("SaveRestore",["WrappedRange"],function(k,c){var q=k.dom;var o=q.removeNode;var e=k.Selection.isDirectionBackward;var l="\ufeff";function h(u,t){return(t||document).getElementById(u)}function m(v,t){var w="selectionBoundary_"+(+new Date())+"_"+(""+Math.random()).slice(2);var u;var y=q.getDocument(v.startContainer);var x=v.cloneRange();x.collapse(t);u=y.createElement("span");u.id=w;u.style.lineHeight="0";u.style.display="none";u.className="rangySelectionBoundary";u.appendChild(y.createTextNode(l));x.insertNode(u);return u}function f(x,v,w,t){var u=h(w,x);if(u){v[t?"setStartBefore":"setEndBefore"](u);o(u)}else{c.warn("Marker element has been removed. Cannot restore selection.")}}function s(u,t){return t.compareBoundaryPoints(u.START_TO_START,u)}function p(t,x){var v,u,w=k.DomRange.getRangeDocument(t),z=t.toString();var y=e(x);if(t.collapsed){u=m(t,false);return{document:w,markerId:u.id,collapsed:true}}else{u=m(t,false);v=m(t,true);return{document:w,startMarkerId:v.id,endMarkerId:u.id,collapsed:false,backward:y,toString:function(){return"original text: '"+z+"', new text: '"+t.toString()+"'"}}}}function b(x,w){var y=x.document;if(typeof w=="undefined"){w=true}var v=k.createRange(y);if(x.collapsed){var u=h(x.markerId,y);if(u){u.style.display="inline";var t=u.previousSibling;if(t&&t.nodeType==3){o(u);v.collapseToPoint(t,t.length)}else{v.collapseBefore(u);o(u)}}else{c.warn("Marker element has been removed. Cannot restore selection.")}}else{f(y,v,x.startMarkerId,true);f(y,v,x.endMarkerId,false)}if(w){v.normalizeBoundaries()}return v}function d(u,z){var x=[],v,y;var A=e(z);u=u.slice(0);u.sort(s);for(var w=0,t=u.length;w=0;--w){v=u[w];y=k.DomRange.getRangeDocument(v);if(v.collapsed){v.collapseAfter(h(x[w].markerId,y))}else{v.setEndBefore(h(x[w].endMarkerId,y));v.setStartAfter(h(x[w].startMarkerId,y))}}return x}function n(w){if(!k.isSelectionValid(w)){c.warn("Cannot save selection. This usually happens when the selection is collapsed and the selection document has lost focus.");return null}var v=k.getSelection(w);var t=v.getAllRanges();var x=(t.length==1&&v.isBackward());var u=d(t,x);if(x){v.setSingleRange(t[0],x)}else{v.setRanges(t)}return{win:w,rangeInfos:u,restored:false}}function i(w){var t=[];var u=w.length;for(var v=u-1;v>=0;v--){t[v]=b(w[v],true)}return t}function g(t,w){if(!t.restored){var x=t.rangeInfos;var y=k.getSelection(t.win);var u=i(x),v=x.length;if(v==1&&w&&k.features.selectionHasExtend&&x[0].backward){y.removeAllRanges();y.addRange(u[0],true)}else{y.setRanges(u)}t.restored=true}}function r(v,u){var t=h(u,v);if(t){o(t)}}function j(u){var x=u.rangeInfos;for(var w=0,t=x.length,v;w
© 2015 - 2025 Weber Informatics LLC | Privacy Policy