X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/96bc5f73483f3e907eebd60df638a9de0a9124f3..36f6233fd79390ad5af8a1532eac60a0ae57c825:/platforma/static/js/lib/codemirror/codemirror.js?ds=sidebyside diff --git a/platforma/static/js/lib/codemirror/codemirror.js b/platforma/static/js/lib/codemirror/codemirror.js index 97e2657b..8c62dab9 100644 --- a/platforma/static/js/lib/codemirror/codemirror.js +++ b/platforma/static/js/lib/codemirror/codemirror.js @@ -55,9 +55,9 @@ var CodeMirror = (function(){ function wrapLineNumberDiv(place) { return function(node) { - var container = document.createElement("DIV"), - nums = document.createElement("DIV"), - scroller = document.createElement("DIV"); + var container = document.createElement("div"), + nums = document.createElement("div"), + scroller = document.createElement("div"); container.style.position = "relative"; nums.style.position = "absolute"; nums.style.height = "100%"; @@ -79,36 +79,21 @@ var CodeMirror = (function(){ var win = frame.contentWindow, doc = win.document, nums = frame.nextSibling, scroller = nums.firstChild; - var nextNum = 1, barWidth = null; - function sizeBar() { - if (!frame.offsetWidth || !win.Editor) { - for (var cur = frame; cur.parentNode; cur = cur.parentNode) { - if (cur != document) { - clearInterval(sizeInterval); - return; - } - } - } + var nextNum = 1; - if (nums.offsetWidth != barWidth) { - barWidth = nums.offsetWidth; - nums.style.left = "-" + (frame.parentNode.style.marginLeft = barWidth + "px"); - } - } function update() { var diff = 20 + Math.max(doc.body.offsetHeight, frame.offsetHeight) - scroller.offsetHeight; for (var n = Math.ceil(diff / 10); n > 0; n--) { - var div = document.createElement("DIV"); + var div = document.createElement("div"); div.appendChild(document.createTextNode(nextNum++)); scroller.appendChild(div); } nums.scrollTop = doc.body.scrollTop || doc.documentElement.scrollTop || 0; } - sizeBar(); + update(); win.addEventHandler(win, "scroll", update); win.addEventHandler(win, "resize", update); - var sizeInterval = setInterval(sizeBar, 500); } function CodeMirror(place, options) { @@ -120,7 +105,7 @@ var CodeMirror = (function(){ this.options = options = options || {}; setDefaults(options, CodeMirrorConfig); - var frame = this.frame = document.createElement("IFRAME"); + var frame = this.frame = document.createElement("iframe"); if (options.iframeClass) frame.className = options.iframeClass; frame.frameBorder = 0; frame.src = "javascript:false;";