1
0
mirror of https://tt-rss.org/git/tt-rss.git synced 2024-06-27 12:05:06 +02:00
ttrss/lib/dijit/popup.js

2 lines
5.0 KiB
JavaScript
Raw Normal View History

2012-08-14 16:59:10 +02:00
//>>built
define("dijit/popup",["dojo/_base/array","dojo/aspect","dojo/_base/declare","dojo/dom","dojo/dom-attr","dojo/dom-construct","dojo/dom-geometry","dojo/dom-style","dojo/has","dojo/keys","dojo/_base/lang","dojo/on","./place","./BackgroundIframe","./Viewport","./main","dojo/touch"],function(_1,_2,_3,_4,_5,_6,_7,_8,_9,_a,_b,on,_c,_d,_e,_f){function _10(){if(this._popupWrapper){_6.destroy(this._popupWrapper);delete this._popupWrapper;}};var _11=_3(null,{_stack:[],_beginZIndex:1000,_idGen:1,_repositionAll:function(){if(this._firstAroundNode){var _12=this._firstAroundPosition,_13=_7.position(this._firstAroundNode,true),dx=_13.x-_12.x,dy=_13.y-_12.y;if(dx||dy){this._firstAroundPosition=_13;for(var i=0;i<this._stack.length;i++){var _14=this._stack[i].wrapper.style;_14.top=(parseFloat(_14.top)+dy)+"px";if(_14.right=="auto"){_14.left=(parseFloat(_14.left)+dx)+"px";}else{_14.right=(parseFloat(_14.right)-dx)+"px";}}}this._aroundMoveListener=setTimeout(_b.hitch(this,"_repositionAll"),dx||dy?10:50);}},_createWrapper:function(_15){var _16=_15._popupWrapper,_17=_15.domNode;if(!_16){_16=_6.create("div",{"class":"dijitPopup",style:{display:"none"},role:"region","aria-label":_15["aria-label"]||_15.label||_15.name||_15.id},_15.ownerDocumentBody);_16.appendChild(_17);var s=_17.style;s.display="";s.visibility="";s.position="";s.top="0px";_15._popupWrapper=_16;_2.after(_15,"destroy",_10,true);if("ontouchend" in document){on(_16,"touchend",function(evt){if(!/^(input|button|textarea)$/i.test(evt.target.tagName)){evt.preventDefault();}});}_16.dojoClick=true;}return _16;},moveOffScreen:function(_18){var _19=this._createWrapper(_18);var ltr=_7.isBodyLtr(_18.ownerDocument),_1a={visibility:"hidden",top:"-9999px",display:""};_1a[ltr?"left":"right"]="-9999px";_1a[ltr?"right":"left"]="auto";_8.set(_19,_1a);return _19;},hide:function(_1b){var _1c=this._createWrapper(_1b);_8.set(_1c,{display:"none",height:"auto",overflowY:"visible",border:""});var _1d=_1b.domNode;if("_originalStyle" in _1d){_1d.style.cssText=_1d._originalStyle;}},getTopPopup:function(){var _1e=this._stack;for(var pi=_1e.length-1;pi>0&&_1e[pi].parent===_1e[pi-1].widget;pi--){}return _1e[pi];},open:function(_1f){var _20=this._stack,_21=_1f.popup,_22=_21.domNode,_23=_1f.orient||["below","below-alt","above","above-alt"],ltr=_1f.parent?_1f.parent.isLeftToRight():_7.isBodyLtr(_21.ownerDocument),_24=_1f.around,id=(_1f.around&&_1f.around.id)?(_1f.around.id+"_dropdown"):("popup_"+this._idGen++);while(_20.length&&(!_1f.parent||!_4.isDescendant(_1f.parent.domNode,_20[_20.length-1].widget.domNode))){this.close(_20[_20.length-1].widget);}var _25=this.moveOffScreen(_21);if(_21.startup&&!_21._started){_21.startup();}var _26,_27=_7.position(_22);if("maxHeight" in _1f&&_1f.maxHeight!=-1){_26=_1f.maxHeight||Infinity;}else{var _28=_e.getEffectiveBox(this.ownerDocument),_29=_24?_7.position(_24,false):{y:_1f.y-(_1f.padding||0),h:(_1f.padding||0)*2};_26=Math.floor(Math.max(_29.y,_28.h-(_29.y+_29.h)));}if(_27.h>_26){var cs=_8.getComputedStyle(_22),_2a=cs.borderLeftWidth+" "+cs.borderLeftStyle+" "+cs.borderLeftColor;_8.set(_25,{overflowY:"scroll",height:_26+"px",border:_2a});_22._originalStyle=_22.style.cssText;_22.style.border="none";}_5.set(_25,{id:id,style:{zIndex:this._beginZIndex+_20.length},"class":"dijitPopup "+(_21.baseClass||_21["class"]||"").split(" ")[0]+"Popup",dijitPopupParent:_1f.parent?_1f.parent.id:""});if(_20.length==0&&_24){this._firstAroundNode=_24;this._firstAroundPosition=_7.position(_24,true);this._aroundMoveListener=setTimeout(_b.hitch(this,"_repositionAll"),50);}if(_9("config-bgIframe")&&!_21.bgIframe){_21.bgIframe=new _d(_25);}var _2b=_21.orient?_b.hitch(_21,"orient"):null,_2c=_24?_c.around(_25,_24,_23,ltr,_2b):_c.at(_25,_1f,_23=="R"?["TR","BR","TL","BL"]:["TL","BL","TR","BR"],_1f.padding,_2b);_25.style.visibility="visible";_22.style.visibility="visible";var _2d=[];_2d.push(on(_25,"keydown",_b.hitch(this,function(evt){if(evt.keyCode==_a.ESCAPE&&_1f.onCancel){evt.stopPropagation();evt.preventDefault();_1f.onCancel();}else{if(evt.keyCode==_a.TAB){evt.stopPropagation();evt.preventDefault();v