mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-10 03:11:07 +00:00
1 line
114 KiB
JavaScript
1 line
114 KiB
JavaScript
![]() |
window.CodeMirror=function(){"use strict";function e(r,i){function fn(e){if(s.onDragEvent&&s.onDragEvent(pn,V(e)))return;K(e)}function hn(e){return e>=0&&e<_t.size}function dn(e){return q(_t,e)}function vn(e,t){Jt=!0;var n=t-e.height;for(var r=e;r;r=r.parent)r.height+=n}function mn(e,t){return e.styles||e.highlight(Mt,e.stateAfter=oi(R(e)),s.tabSize),e.getContent(s.tabSize,t,s.lineWrapping)}function gn(e){var t={line:0,ch:0};Hn(t,{line:_t.size-1,ch:dn(_t.size-1).text.length},St(e),t,t),zt=!0}function yn(e){var t=[];return _t.iter(0,_t.size,function(e){t.push(e.text)}),t.join(e||"\n")}function bn(e){A.scrollTop!=It&&(It=Ct.scrollTop=A.scrollTop,sr([]))}function wn(e){s.fixedGutter&&at.style.left!=Ct.scrollLeft+"px"&&(at.style.left=Ct.scrollLeft+"px"),Ct.scrollTop!=It&&(It=Ct.scrollTop,A.scrollTop!=It&&(A.scrollTop=It),sr([])),s.onScroll&&s.onScroll(pn)}function En(e){function u(t){g&&(Ct.draggable=!1),qt=!1,l(),c(),Math.abs(e.clientX-t.clientX)+Math.abs(e.clientY-t.clientY)<10&&($(t),dr(n.line,n.ch,!0),Zn())}function m(e){if(i=="single")cr(n,e);else if(i=="double"){var t=Er(e);pt(e,d)?cr(t.from,v):cr(d,t.to)}else i=="triple"&&(pt(e,d)?cr(v,mr({line:e.line,ch:0})):cr(d,mr({line:e.line+1,ch:0})))}function y(e){var t=Zr(e,!0);if(t&&!ht(t,a)){Pt||Dn(),a=t,m(t),zt=!1;var n=ir();if(t.line>=n.to||t.line<n.from)f=setTimeout(hi(function(){y(e)}),150)}}function b(e){clearTimeout(f);var t=Zr(e);t&&m(t),$(e),Zn(),zt=!0,w(),l()}lr(Y(e,"shiftKey"));for(var t=Q(e);t!=kt;t=t.parentNode)if(t.parentNode==Nt&&t!=yt)return;for(var t=Q(e);t!=kt;t=t.parentNode)if(t.parentNode==st)return s.onGutterClick&&s.onGutterClick(pn,wt(st.childNodes,t)+Gt,e),$(e);var n=Zr(e);switch(G(e)){case 3:h&&ti(e);return;case 2:n&&dr(n.line,n.ch,!0),setTimeout(Zn,20),$(e);return}if(!n){Q(e)==Ct&&$(e);return}Pt||Dn();var r=+(new Date),i="single";if(Ft&&Ft.time>r-400&&ht(Ft.pos,n))i="triple",$(e),setTimeout(Zn,20),Sr(n.line);else if(jt&&jt.time>r-400&&ht(jt.pos,n)){i="double",Ft={time:r,pos:n},$(e);var o=Er(n);cr(o.from,o.to)}else jt={time:r,pos:n};var a=n,f;if(s.dragDrop&&nt&&!s.readOnly&&!ht(Ht.from,Ht.to)&&!pt(n,Ht.from)&&!pt(Ht.to,n)&&i=="single"){g&&(Ct.draggable=!0);var l=Z(document,"mouseup",hi(u),!0),c=Z(Ct,"drop",hi(u),!0);qt=!0,Ct.dragDrop&&Ct.dragDrop();return}$(e),i=="single"&&dr(n.line,n.ch,!0);var d=Ht.from,v=Ht.to,w=Z(document,"mousemove",hi(function(e){clearTimeout(f),$(e),!p&&!G(e)?b(e):y(e)}),!0),l=Z(document,"mouseup",hi(b),!0)}function Sn(e){for(var t=Q(e);t!=kt;t=t.parentNode)if(t.parentNode==st)return $(e);$(e)}function xn(e){if(s.onDragEvent&&s.onDragEvent(pn,V(e)))return;$(e);var t=Zr(e,!0),n=e.dataTransfer.files;if(!t||s.readOnly)return;if(n&&n.length&&window.FileReader&&window.File){var r=n.length,i=Array(r),o=0,u=function(e,n){var s=new FileReader;s.onload=function(){i[n]=s.result,++o==r&&(t=mr(t),hi(function(){var e=zn(i.join(""),t,t);cr(t,e)})())},s.readAsText(e)};for(var a=0;a<r;++a)u(n[a],a)}else{if(qt&&!pt(t,Ht.from)&&!pt(Ht.to,t))return;try{var i=e.dataTransfer.getData("Text");i&&pi(function(){var e=Ht.from,n=Ht.to;cr(t,t),qt&&zn("",e,n),Wn(i),Zn()})}catch(e){}}}function Tn(e){var t=$n();e.dataTransfer.setData("Text",t),e.dataTransfer.setDragImage&&e.dataTransfer.setDragImage(vt("img"),0,0)}function Nn(e,t){if(typeof e=="string"){e=u[e];if(!e)return!1}var n=Bt;try{s.readOnly&&(Ut=!0),t&&(Bt=null),e(pn)}catch(r){if(r!=tt)throw r;return!1}finally{Bt=n,Ut=!1}return!0}function kn(e){function u(){o=!0}var t=f(s.keyMap),n=t.auto;clearTimeout(Cn),n&&!c(e)&&(Cn=setTimeout(function(){f(s.keyMap)==t&&(s.keyMap=n.call?n.call(null,pn):n)},50));var r=Tt[Y(e,"keyCode")],i=!1;if(r==null||e.altGraphKey)return!1;Y(e,"altKey")&&(r="Alt-"+r),Y(e,"ctrlKey")&&(r="Ctrl-"+r),Y(e,"metaKey")&&(r="Cmd-"+r);var o=!1;return Y(e,"shiftKey")?i=l("Shift-"+r,s.extraKeys,s.keyMap,function(e){return Nn(e,!0)},u)||l(r,s.extraKeys,s.keyMap,function(e){if(typeof e=="string"&&/^go[A-Z]/.test(e))return Nn(e)},u):i=l(r,s.extraKeys,s.keyMap,Nn,u),o&&(i=!1),i&&($(e),ni(),p&&(e.oldKeyCode=e.keyCode,e.keyCode=0)),i}function Ln(e,t){var n=l("'"+t+"'",s.extraKeys,s.keyMap,functi
|