]>
git.wh0rd.org - tt-rss.git/blob - lib/dijit/_editor/plugins/FullScreen.js
458dbf8b73498c36434132eb96699773779ccb0d
2 define("dijit/_editor/plugins/FullScreen",["dojo/aspect","dojo/_base/declare","dojo/dom-class","dojo/dom-geometry","dojo/dom-style","dojo/_base/event","dojo/i18n","dojo/keys","dojo/_base/lang","dojo/on","dojo/sniff","dojo/_base/window","dojo/window","../../focus","../_Plugin","../../form/ToggleButton","../../registry","dojo/i18n!../nls/commands"],function(_1
,_2
,_3
,_4
,_5
,_6
,_7
,_8
,_9
,on
,_a
,_b
,_c
,_d
,_e
,_f
,_10
){var _11
=_2("dijit._editor.plugins.FullScreen",_e
,{zIndex
:500,_origState
:null,_origiFrameState
:null,_resizeHandle
:null,isFullscreen
:false,toggle:function(){this.button
.set("checked",!this.button
.get("checked"));},_initButton:function(){var _12
=_7
.getLocalization("dijit._editor","commands"),_13
=this.editor
;this.button
=new _f({label
:_12
["fullScreen"],ownerDocument
:_13
.ownerDocument
,dir
:_13
.dir
,lang
:_13
.lang
,showLabel
:false,iconClass
:this.iconClassPrefix
+" "+this.iconClassPrefix
+"FullScreen",tabIndex
:"-1",onChange
:_9
.hitch(this,"_setFullScreen")});},setEditor:function(_14
){this.editor
=_14
;this._initButton();this.editor
.addKeyHandler(_8
.F11
,true,true,_9
.hitch(this,function(e
){this.toggle();_6
.stop(e
);setTimeout(_9
.hitch(this,function(){this.editor
.focus();}),250);return true;}));this.connect(this.editor
.domNode
,"onkeydown","_containFocus");},_containFocus:function(e
){if(this.isFullscreen
){var ed
=this.editor
;if(!ed
.isTabIndent
&&ed
._fullscreen_oldOnKeyDown
&&e
.keyCode
===_8
.TAB
){var f
=_d
.curNode
;var avn
=this._getAltViewNode();if(f
==ed
.iframe
||(avn
&&f
===avn
)){setTimeout(_9
.hitch(this,function(){ed
.toolbar
.focus();}),10);}else{if(avn
&&_5
.get(ed
.iframe
,"display")==="none"){setTimeout(_9
.hitch(this,function(){_d
.focus(avn
);}),10);}else{setTimeout(_9
.hitch(this,function(){ed
.focus();}),10);}}_6
.stop(e
);}else{if(ed
._fullscreen_oldOnKeyDown
){ed
._fullscreen_oldOnKeyDown(e
);}}}},_resizeEditor:function(){var vp
=_c
.getBox(this.editor
.ownerDocument
);_4
.setMarginBox(this.editor
.domNode
,{w
:vp
.w
,h
:vp
.h
});var _15
=this.editor
.getHeaderHeight();var _16
=this.editor
.getFooterHeight();var _17
=_4
.getPadBorderExtents(this.editor
.domNode
);var _18
=_4
.getPadBorderExtents(this.editor
.iframe
.parentNode
);var _19
=_4
.getMarginExtents(this.editor
.iframe
.parentNode
);var _1a
=vp
.h
-(_15
+_17
.h
+_16
);_4
.setMarginBox(this.editor
.iframe
.parentNode
,{h
:_1a
,w
:vp
.w
});_4
.setMarginBox(this.editor
.iframe
,{h
:_1a
-(_18
.h
+_19
.h
)});},_getAltViewNode:function(){},_setFullScreen:function(_1b
){var ed
=this.editor
;var _1c
=ed
.ownerDocumentBody
;var _1d
=ed
.domNode
.parentNode
;var vp
=_c
.getBox(ed
.ownerDocument
);this.isFullscreen
=_1b
;if(_1b
){while(_1d
&&_1d
!==_1c
){_3
.add(_1d
,"dijitForceStatic");_1d
=_1d
.parentNode
;}this._editorResizeHolder
=this.editor
.resize
;ed
.resize=function(){};ed
._fullscreen_oldOnKeyDown
=ed
.onKeyDown
;ed
.onKeyDown
=_9
.hitch(this,this._containFocus
);this._origState
={};this._origiFrameState
={};var _1e
=ed
.domNode
,_1f
=_1e
&&_1e
.style
||{};this._origState
={width
:_1f
.width
||"",height
:_1f
.height
||"",top
:_5
.get(_1e
,"top")||"",left
:_5
.get(_1e
,"left")||"",position
:_5
.get(_1e
,"position")||"static",marginBox
:_4
.getMarginBox(ed
.domNode
)};var _20
=ed
.iframe
,_21
=_20
&&_20
.style
||{};var bc
=_5
.get(ed
.iframe
,"backgroundColor");this._origiFrameState
={backgroundColor
:bc
||"transparent",width
:_21
.width
||"auto",height
:_21
.height
||"auto",zIndex
:_21
.zIndex
||""};_5
.set(ed
.domNode
,{position
:"absolute",top
:"0px",left
:"0px",zIndex
:this.zIndex
,width
:vp
.w
+"px",height
:vp
.h
+"px"});_5
.set(ed
.iframe
,{height
:"100%",width
:"100%",zIndex
:this.zIndex
,backgroundColor
:bc
!=="transparent"&&bc
!=="rgba(0, 0, 0, 0)"?bc
:"white"});_5
.set(ed
.iframe
.parentNode
,{height
:"95%",width
:"100%"});if(_1c
.style
&&_1c
.style
.overflow
){this._oldOverflow
=_5
.get(_1c
,"overflow");}else{this._oldOverflow
="";}if(_a("ie")&&!_a("quirks")){if(_1c
.parentNode
&&_1c
.parentNode
.style
&&_1c
.parentNode
.style
.overflow
){this._oldBodyParentOverflow
=_1c
.parentNode
.style
.overflow
;}else{try{this._oldBodyParentOverflow
=_5
.get(_1c
.parentNode
,"overflow");}catch(e
){this._oldBodyParentOverflow
="scroll";}}_5
.set(_1c
.parentNode
,"overflow","hidden");}_5
.set(_1c
,"overflow","hidden");var _22=function(){var vp
=_c
.getBox(ed
.ownerDocument
);if("_prevW" in this&&"_prevH" in this){if(vp
.w
===this._prevW
&&vp
.h
===this._prevH
){return;}}else{this._prevW
=vp
.w
;this._prevH
=vp
.h
;}if(this._resizer
){clearTimeout(this._resizer
);delete this._resizer
;}this._resizer
=setTimeout(_9
.hitch(this,function(){delete this._resizer
;this._resizeEditor();}),10);};this._resizeHandle
=on(window
,"resize",_9
.hitch(this,_22
));this._resizeHandle2
=_1
.after(ed
,"onResize",_9
.hitch(this,function(){if(this._resizer
){clearTimeout(this._resizer
);delete this._resizer
;}this._resizer
=setTimeout(_9
.hitch(this,function(){delete this._resizer
;this._resizeEditor();}),10);}));this._resizeEditor();var dn
=this.editor
.toolbar
.domNode
;setTimeout(function(){_c
.scrollIntoView(dn
);},250);}else{if(this._resizeHandle
){this._resizeHandle
.remove();this._resizeHandle
=null;}if(this._resizeHandle2
){this._resizeHandle2
.remove();this._resizeHandle2
=null;}if(this._rst
){clearTimeout(this._rst
);this._rst
=null;}while(_1d
&&_1d
!==_1c
){_3
.remove(_1d
,"dijitForceStatic");_1d
=_1d
.parentNode
;}if(this._editorResizeHolder
){this.editor
.resize
=this._editorResizeHolder
;}if(!this._origState
&&!this._origiFrameState
){return;}if(ed
._fullscreen_oldOnKeyDown
){ed
.onKeyDown
=ed
._fullscreen_oldOnKeyDown
;delete ed
._fullscreen_oldOnKeyDown
;}var _23
=this;setTimeout(function(){var mb
=_23
._origState
.marginBox
;var oh
=_23
._origState
.height
;if(_a("ie")&&!_a("quirks")){_1c
.parentNode
.style
.overflow
=_23
._oldBodyParentOverflow
;delete _23
._oldBodyParentOverflow
;}_5
.set(_1c
,"overflow",_23
._oldOverflow
);delete _23
._oldOverflow
;_5
.set(ed
.domNode
,_23
._origState
);_5
.set(ed
.iframe
.parentNode
,{height
:"",width
:""});_5
.set(ed
.iframe
,_23
._origiFrameState
);delete _23
._origState
;delete _23
._origiFrameState
;var _24
=_10
.getEnclosingWidget(ed
.domNode
.parentNode
);if(_24
&&_24
.resize
){_24
.resize();}else{if(!oh
||oh
.indexOf("%")<0){setTimeout(_9
.hitch(this,function(){ed
.resize({h
:mb
.h
});}),0);}}_c
.scrollIntoView(_23
.editor
.toolbar
.domNode
);},100);}},updateState:function(){this.button
.set("disabled",this.get("disabled"));},destroy:function(){if(this._resizeHandle
){this._resizeHandle
.remove();this._resizeHandle
=null;}if(this._resizeHandle2
){this._resizeHandle2
.remove();this._resizeHandle2
=null;}if(this._resizer
){clearTimeout(this._resizer
);this._resizer
=null;}this.inherited(arguments
);}});_e
.registry
["fullScreen"]=_e
.registry
["fullscreen"]=function(_25
){return new _11({zIndex
:("zIndex" in _25
)?_25
.zIndex
:500});};return _11
;});