DataObjects/Core_locking.php
[Pman.Core] / Pman.Gnumeric.js
index 4aeea6b..c5ef588 100644 (file)
@@ -58,7 +58,7 @@ Pman.Gnumeric = function (cfg)
             * Fires when source document has been loaded
             * @param {Pman.Gnumerci} this
             */
-           "load" : true
+           'load' : true
     }); 
     
     Roo.util.Observable.call(this,cfg);
@@ -532,7 +532,7 @@ Roo.extend(Pman.Gnumeric, Roo.util.Observable, {
         //Roo.log( cs.r+ ',' + cs.c + ' = '+ v);
         // need to generate clell if it doe
         if (typeof(this.grid[cs.r]) == 'undefined') {
-            Roo.log('no row:' + cell);
+            //Roo.log('no row:' + cell);
             this.grid[cs.r] = []; // create a row..
             //return;
         }
@@ -712,26 +712,37 @@ Roo.extend(Pman.Gnumeric, Roo.util.Observable, {
     {
         // read the first row.
         var tds = Roo.get(table).select('tr').item(0).select('td');
-        var nc = 0;
-        tds.each(function(td) {
-            var cs = td.dom.getAttribute('colspan');
-            cs = cs ? cs * 1 : 1;
-            nc += cs;
+        var maxnc = 0;
+        
+        Roo.get(table).select('tr').each(function(trs) {
+            var nc = 0;
+           
+            trs.select('td').each(function(td) {
+                var cs = td.dom.getAttribute('colspan');
+                cs = cs ? cs * 1 : 1;
+                nc += cs;
+            });
+            maxnc = Math.max(nc, maxnc);
         });
+        
         var tr = document.createElement('tr');
         table.appendChild(tr);
-        var ar = {}
-        for (i =0; i < nc; i++) {
+        var ar = {};
+        for (i =0; i < maxnc; i++) {
             ar[i] = document.createElement('td');
             tr.appendChild(ar[i]);
         }
         // find the left.
-        var ret = { cols : nc, pos : {} };
-        for (i =0; i < nc; i++) {
+        var ret = { cols : maxnc, pos : {} };
+        for (i =0; i < maxnc; i++) {
             ret.pos[ Roo.get(ar[i]).getLeft()] =i;
         }
         ret.near = function(p) {
             // which one is nearest..
+            
+            if (this.pos[p]) {
+                return this.pos[p];
+            }
             var prox = 100000;
             var match = 0;
             for(var i in this.pos) {
@@ -1080,7 +1091,7 @@ Roo.extend(Pman.Gnumeric, Roo.util.Observable, {
         // start adding them all together..
         
         if (sb) {
-            st.appendChild(sb)
+            st.appendChild(sb);
         }
         
         
@@ -1139,7 +1150,7 @@ Roo.extend(Pman.Gnumeric, Roo.util.Observable, {
         // step 1 - work out how many columns it will span..
         // lets hope the spreadsheet is big enought..
         var colwidth = 0;
-        var endcol=col
+        var endcol=col;
         for ( endcol=col;endcol <100; endcol++) {
             if (!this.colInfo[endcol]) {
                 this.colInfo[endcol] = 100; // eak fudge
@@ -1203,7 +1214,7 @@ Roo.extend(Pman.Gnumeric, Roo.util.Observable, {
        //     return;
         //}
         
-        cell.textContent = this.RCtoCell(row1,col1) + ':' + this.RCtoCell(row2,col2)
+        cell.textContent = this.RCtoCell(row1,col1) + ':' + this.RCtoCell(row2,col2);
         
         //var merges = this.gnumeric.getElementsByTagNameNS('*','MergedRegions');
         var merges = this.sheet.getElementsByTagNameNS('*','MergedRegions');
@@ -1213,7 +1224,7 @@ Roo.extend(Pman.Gnumeric, Roo.util.Observable, {
             this.sheet.insertBefore(merges,sl);
         } else {
             merges = merges[0];
-           }
+        }
         merges.appendChild(cell);
     
     },
@@ -1276,7 +1287,7 @@ Roo.extend(Pman.Gnumeric, Roo.util.Observable, {
             sheetnames = this.doc.getElementsByTagNameNS('*','Sheet');
             sheetnames[0].parentNode.appendChild(sheetnames[sheetnames.length-1].cloneNode(true));
             var sn = this.doc.getElementsByTagNameNS('*','Sheet')[sheet];
-            var cls = sn.getElementsByTagNameNS('*','Cells')[0]
+            var cls = sn.getElementsByTagNameNS('*','Cells')[0];
             while (cls.childNodes.length) {
                 cls.removeChild(cls.firstChild);
             }
@@ -1388,6 +1399,7 @@ Roo.extend(Pman.Gnumeric, Roo.util.Observable, {
         var ser = new XMLSerializer();
         var x = new Pman.Download({
             method: 'POST',
+            timeout : 120000, // quite a long wait.. 2 minutes.
             params : {
                xml : ser.serializeToString(this.doc),
                format : 'xls', //xml