(function (mod){ if (typeof exports == "object" && typeof module == "object") mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) define(["../../lib/codemirror"] , mod); else mod(CodeMirror); } )(function (CodeMirror){ "use strict"; CodeMirror.defineOption("fullScreen", false , function (cm, val, old){ if (old == CodeMirror.Init) old = false ; if (!old == !val) return ; if (val) setFullscreen(cm); else setNormal(cm); } ); function setFullscreen(cm){ var wrap = cm.getWrapperElement(); cm.state.fullScreenRestore = { scrollTop: window.pageYOffset, scrollLeft: window.pageXOffset, width: wrap.style.width, height: wrap.style.height} ; wrap.style.width = ""; wrap.style.height = "auto"; wrap.className += " CodeMirror-fullscreen"; document.documentElement.style.overflow = "hidden"; _AN_Call_refresh("refresh", cm); } function setNormal(cm){ var wrap = cm.getWrapperElement(); wrap.className = _AN_Call_replace("replace", wrap.className, /\s*CodeMirror-fullscreen\b/, ""); document.documentElement.style.overflow = ""; var info = cm.state.fullScreenRestore; wrap.style.width = info.width; wrap.style.height = info.height; window.scrollTo(info.scrollLeft, info.scrollTop); _AN_Call_refresh("refresh", cm); } } );