Reverted CM to version 0.63 with 2 patches:
[redakcja.git] / project / static / js / lib / codemirror / codemirror.js
index c8e5ddc..97e2657 100644 (file)
@@ -55,34 +55,20 @@ var CodeMirror = (function(){
 
   function wrapLineNumberDiv(place) {
     return function(node) {
-        
       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%";      
+      nums.style.height = "100%";
       if (nums.style.setExpression) {
         try {nums.style.setExpression("height", "this.previousSibling.offsetHeight + 'px'");}
         catch(e) {} // Seems to throw 'Not Implemented' on some IE8 versions
       }
       nums.style.top = "0px";
-      nums.style.overflow = "hidden";      
-
-      container.style.position = "absolute";
-      container.style.left = "0px";
-      container.style.right = "0px";
-      container.style.bottom = "0px";
-      container.style.top = "0px";
-
-      node.style.position = "absolute";
-      node.style.top = "0px";
-      node.style.right = "0px";
-      node.style.bottom = "0px";
-      node.style.left = "16px"
-
+      nums.style.overflow = "hidden";
       place(container);
-      container.appendChild(node);     
+      container.appendChild(node);
       container.appendChild(nums);
       scroller.className = "CodeMirror-line-numbers";
       nums.appendChild(scroller);
@@ -91,7 +77,7 @@ var CodeMirror = (function(){
 
   function applyLineNumbers(frame) {
     var win = frame.contentWindow, doc = win.document,
-        nums = frame.parentNode.nextSibling, scroller = nums.firstChild;
+        nums = frame.nextSibling, scroller = nums.firstChild;
 
     var nextNum = 1, barWidth = null;
     function sizeBar() {
@@ -106,7 +92,7 @@ var CodeMirror = (function(){
 
       if (nums.offsetWidth != barWidth) {
         barWidth = nums.offsetWidth;
-        // nums.style.left = "-" + (frame.parentNode.style.marginLeft = barWidth + "px");
+        nums.style.left = "-" + (frame.parentNode.style.marginLeft = barWidth + "px");
       }
     }
     function update() {
@@ -139,8 +125,8 @@ var CodeMirror = (function(){
     frame.frameBorder = 0;
     frame.src = "javascript:false;";
     frame.style.border = "0";
-    frame.style.width = "100%";
-    frame.style.height = "100%";
+    frame.style.width = options.width;
+    frame.style.height = options.height;
     // display: block occasionally suppresses some Firefox bugs, so we
     // always add it, redundant as it sounds.
     frame.style.display = "block";
@@ -149,40 +135,8 @@ var CodeMirror = (function(){
       var node = place;
       place = function(n){node.appendChild(n);};
     }
-
-    var iframe_container = document.createElement("DIV");
-    iframe_container.appendChild(frame);
-
-    var content_wrapper = document.createElement("DIV");
-    content_wrapper.appendChild(iframe_container);
-    content_wrapper.style.position = 'relative';
-    content_wrapper.className = 'CodeMirror-content-wrapper';
-    
-    iframe_container.style.position = 'absolute';
-    iframe_container.style.top = '0px';
-    iframe_container.style.right = '0px';
-    iframe_container.style.bottom = '0px';
-    iframe_container.style.left = '28px';
-    
-    if (options.lineNumbers) {
-       var nums = document.createElement("DIV"),
-          scroller = document.createElement("DIV");
-
-        nums.style.position = "absolute";
-        nums.style.height = "100%";
-
-        nums.style.top = "0px";
-        nums.style.left = "0px";
-        nums.style.overflow = "hidden";
-
-        scroller.className = "CodeMirror-line-numbers";
-        nums.appendChild(scroller);
-        content_wrapper.appendChild(nums);
-
-        iframe_container.style.right = nums.width;        
-    }   
-    
-    place(content_wrapper);
+    if (options.lineNumbers) place = wrapLineNumberDiv(place);
+    place(frame);
 
     // Link back to this object, so that the editor can fetch options
     // and add a reference to itself.