2 if (typeof exports
== "object" && typeof module
== "object") // CommonJS
3 mod(require("../../lib/codemirror"));
4 else if (typeof define
== "function" && define
.amd
) // AMD
5 define(["../../lib/codemirror"], mod
);
6 else // Plain browser env
8 })(function(CodeMirror
) {
11 CodeMirror
.defineOption("fullScreen", false, function(cm
, val
, old
) {
12 if (old
== CodeMirror
.Init
) old
= false;
13 if (!old
== !val
) return;
14 if (val
) setFullscreen(cm
);
18 function setFullscreen(cm
) {
19 var wrap
= cm
.getWrapperElement();
20 cm
.state
.fullScreenRestore
= {scrollTop
: window
.pageYOffset
, scrollLeft
: window
.pageXOffset
,
21 width
: wrap
.style
.width
, height
: wrap
.style
.height
};
22 wrap
.style
.width
= "";
23 wrap
.style
.height
= "auto";
24 wrap
.className
+= " CodeMirror-fullscreen";
25 document
.documentElement
.style
.overflow
= "hidden";
29 function setNormal(cm
) {
30 var wrap
= cm
.getWrapperElement();
31 wrap
.className
= wrap
.className
.replace(/\s*CodeMirror-fullscreen\b/, "");
32 document
.documentElement
.style
.overflow
= "";
33 var info
= cm
.state
.fullScreenRestore
;
34 wrap
.style
.width
= info
.width
; wrap
.style
.height
= info
.height
;
35 window
.scrollTo(info
.scrollLeft
, info
.scrollTop
);