From: <jon...@us...> - 2010-03-05 17:47:33
|
Revision: 25937 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=25937&view=rev Author: jonnybradley Date: 2010-03-05 17:47:19 +0000 (Fri, 05 Mar 2010) Log Message: ----------- [MOD] Updates for jQuery.sheet continue... Modified Paths: -------------- third_party/jquery/jquery-tiki-readme.txt third_party/jquery/jquery.sheet/jquery.sheet.html third_party/jquery/jquery.sheet/jquery.sheet.js Removed Paths: ------------- third_party/jquery/jquery.sheet/pics/icons/readme.txt third_party/jquery/jquery.sheet/plugins/jquery.metadata.js Modified: third_party/jquery/jquery-tiki-readme.txt =================================================================== --- third_party/jquery/jquery-tiki-readme.txt 2010-03-05 17:38:10 UTC (rev 25936) +++ third_party/jquery/jquery-tiki-readme.txt 2010-03-05 17:47:19 UTC (rev 25937) @@ -9,6 +9,7 @@ Upgrade: cluetip from 1.0.6 to 1.0.7 + More for jQuery.sheet jonnybradley 4 march 2010 Modified: third_party/jquery/jquery.sheet/jquery.sheet.html =================================================================== --- third_party/jquery/jquery.sheet/jquery.sheet.html 2010-03-05 17:38:10 UTC (rev 25936) +++ third_party/jquery/jquery.sheet/jquery.sheet.html 2010-03-05 17:47:19 UTC (rev 25937) @@ -4,6 +4,7 @@ <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Expires" CONTENT="-1"> <title>jQuery.sheet</title> + <!--Required--> <link rel="stylesheet" type="text/css" href="jquery.sheet.css"></link> <link rel="stylesheet" type="text/css" href="theme/jquery-ui-1.8rc2.custom.css"></link> @@ -40,17 +41,7 @@ title: 'jQuery.sheet - The Web Based Spreadsheet', inlineMenu: jQuery('#mySheetTitle').html() }); - //This data is used for upload to weebly.com - //urlTheme: "http://jqueryui.com/themeroller/css/parseTheme.css.php?ffDefault=Lucida+Grande,+Lucida+Sans,+Arial,+sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=5px&bgColorHeader=5c9ccc&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=55&borderColorHeader=4297d7&fcHeader=ffffff&iconColorHeader=d8e7f3&bgColorContent=fcfdfd&bgTextureContent=06_inset_hard.png&bgImgOpacityContent=100&borderColorContent=a6c9e2&fcContent=222222&iconColorContent=469bdd&bgColorDefault=dfeffc&bgTextureDefault=02_glass.png&bgImgOpacityDefault=85&borderColorDefault=c5dbec&fcDefault=2e6e9e&iconColorDefault=6da8d5&bgColorHover=d0e5f5&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=79b7e7&fcHover=1d5987&iconColorHover=217bc0&bgColorActive=f5f8f9&bgTextureActive=06_inset_hard.png&bgImgOpacityActive=100&borderColorActive=79b7e7&fcActive=e17009&iconColorActive=f9bd01&bgColorHighlight=fbec88&bgTextureHighlight=01_flat.png&bgImgOpacityHighlight=55&borderColorHighlight=fad42e&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px", - //urlBaseCss: 'jquery.sheet.css', - //urlMenu: "menu.html", - //urlMenuJs: "mbmenu.min.js", - //urlMenuCss: "menu.css", - //urlMetaData: "jquery.metadata.js", - //urlScrollTo: "jquery.scrollto-min.js", - //urlScrollsync: 'scrollsync.js', - //urlJGCharts: 'jgcharts.pack.js', - $('#switcher').themeswitcher().css('position: absolute'); + $('#switcher').themeswitcher(); }); </script> </head> @@ -72,7 +63,7 @@ <tr> <td colspan="2"> <div id="jQuerySheet" style="height: 400px;"> - <table> + <table title="Spreeadsheet 1"> <tr> <td></td> <td></td> @@ -296,6 +287,454 @@ <td></td> </tr> </table> + <table title="Spreeadsheet 2"> + <tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr> + </table> + <table title="Spreeadsheet 3"> + <tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr><tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr> + </table> </div> </td> </tr> @@ -321,7 +760,7 @@ </span> <span class="toolbar-list"> <a href="#" onclick="jS.s.fnSave(); return false;" title="Save Sheet" class="toolbar qt-sheet"><img height="16" border="0" width="16" class="icon" alt="Save Sheet" src="pics/icons/disk.png"/></a> - <a href="#" onclick="jS.calc(jS.obj.tableBody()); return false;" title="Refresh Calculations" class="toolbar qt-sheet"><img height="16" border="0" width="16" class="icon" alt="Refresh Calculations" src="pics/icons/arrow_refresh.png"/></a> + <a href="#" onclick="jS.calc(jS.i); return false;" title="Refresh Calculations" class="toolbar qt-sheet"><img height="16" border="0" width="16" class="icon" alt="Refresh Calculations" src="pics/icons/arrow_refresh.png"/></a> <a href="#" onclick="jS.cellFind(); return false;" title="Find" class="toolbar qt-sheet"><img height="16" border="0" width="16" class="icon" alt="Find" src="pics/icons/find.png"/></a> </span> <span class="toolbar-list"> Modified: third_party/jquery/jquery.sheet/jquery.sheet.js =================================================================== --- third_party/jquery/jquery.sheet/jquery.sheet.js 2010-03-05 17:38:10 UTC (rev 25936) +++ third_party/jquery/jquery.sheet/jquery.sheet.js 2010-03-05 17:47:19 UTC (rev 25937) @@ -532,7 +532,7 @@ jS.evt.scrollBars(); - //jS.calc(obj); + jS.calc(jS.i); jS.s.fnAfter(); jS.addTab(); @@ -762,7 +762,7 @@ } if (recalc) { - jS.calc(jS.obj.sheet()); + jS.calc(jS.i); } if (bsheetClearActive != false) { @@ -790,11 +790,11 @@ jS.cellLast.td.html(jS.manageTextToHtml(v)); jS.sheetClearActive(); if (v.charAt(0) == '=') { - jS.calc(jS.obj.sheet()); + jS.calc(jS.i); } } else { //Even if the cell is blank, that doesn't mean it's not active jS.sheetClearActive(); - jS.calc(jS.obj.sheet()); + jS.calc(jS.i); } } jS.cellLast.td = jS.obj.sheet().find('td:first'); @@ -814,7 +814,7 @@ case key.LEFT: h--; break; case key.RIGHT: h++; break; } - jQuery(jS.getTd(jS.cellLast.row + v, jS.cellLast.col + h)).click(); + jQuery(jS.getTd(jS.i, jS.cellLast.row + v, jS.cellLast.col + h)).click(); return false; }, @@ -829,7 +829,7 @@ } else { jS.cellSetActiveMulti(e); } - return false; + //return false; }, cellOnClickLocked: function(e) { if (!isNaN(e.target.cellIndex)) { @@ -940,15 +940,13 @@ var o = { //cut down on recursion, grabe them once pane: jS.obj.pane(), barLeft: jS.obj.barLeftParent(), - barTop: jS.obj.barTopParent(), - boxModelCorrection: jS.attrH.boxModelCorrection() + barTop: jS.obj.barTopParent() }; jS.obj.pane().scroll(function() { - o.barTop.scrollLeft(o.pane.scrollLeft() + o.boxModelCorrection);//2 lines of beautiful jQuery js - o.barLeft.scrollTop(o.pane.scrollTop() + o.boxModelCorrection); + o.barTop.scrollLeft(o.pane.scrollLeft());//2 lines of beautiful jQuery js + o.barLeft.scrollTop(o.pane.scrollTop()); }); - jS.obj.pane().scroll(); }, barMouseDown: { select: function(o, e, selectFn, resizeFn) { @@ -1077,10 +1075,10 @@ switch(from) { case 'cell': obj = (obj ? obj : jS.obj.barLeft().find('div').eq(i)); - h = jS.attrH.height(jQuery(jS.getTd(i, 0)).parent().andSelf(), skipCorrection); + h = jS.attrH.height(jQuery(jS.getTd(jS.i, i, 0)).parent().andSelf(), skipCorrection); break; case 'bar': - obj = (obj ? obj : jQuery(jS.getTd(i, 0)).parent().andSelf()); + obj = (obj ? obj : jQuery(jS.getTd(jS.i, i, 0)).parent().andSelf()); h = jS.attrH.heightReverse(jS.obj.barLeft().find('div').eq(i), skipCorrection); break; } @@ -1099,7 +1097,7 @@ o = (o ? o : jS.obj.sheet()); o.find('tr').each(function(row) { jQuery(this).find('td').each(function(col) { - jQuery(this).attr('id', jS.getTdId(row, col)); + jQuery(this).attr('id', jS.getTdId(jS.i, row, col)); }); }); }, @@ -1452,10 +1450,10 @@ return false; }, context: {}, - calc: function(tableBody, fuel) { + calc: function(tableI, fuel) { jS.log('Calculation Started'); - if (tableBody && !jS.s.calcOff) { - cE.calc(new jS.tableCellProvider(tableBody.id + jS.i), jS.context, fuel); + if (!jS.s.calcOff) { + cE.calc(new jS.tableCellProvider(tableI), jS.context, fuel); jS.isSheetEdit = false; } jS.log('Calculation Ended'); @@ -1818,7 +1816,7 @@ } //Let's recalculate the sheet just in case jS.setTdIds(); - jS.calc(jS.obj.sheet()); + jS.calc(jS.i); }, importColumn: function(columnArray) { jS.controlFactory.addColumn(); @@ -1844,7 +1842,7 @@ } //Let's recalculate the sheet just in case jS.setTdIds(); - jS.calc(jS.obj.sheet()); + jS.calc(jS.i); }, importSheet: { json: function() { @@ -1964,12 +1962,12 @@ } }); - cur_column = cur_row = ''; + cur_column = cur_row = 0; }); x['metadata'] = { - "columns": max_column, - "rows": max_row + "columns": max_column + 1, + "rows": max_row + 1 }; return x; } @@ -2051,7 +2049,7 @@ o.endColumn = e.target.cellIndex; for (var i = o.startRow; i <= o.endRow; i++) { for (var j = o.startColumn; j <= o.endColumn; j++) { - var td = jS.getTd(i, j); + var td = jS.getTd(jS.i, i, j); jQuery(td) .addClass(jS.cl.uiCell) .addClass(jS.cl.uiCellHighlighted); @@ -2115,11 +2113,11 @@ var lastLabel = cE.columnLabelString(lastCellLoc[1]) + lastCellLoc[0]; return firstLabel + ":" + lastLabel; }, - getTdId: function(row, col) { - return 'table' + jS.i + '_cell_c' + col + '_r' + row; + getTdId: function(tableI, row, col) { + return 'table' + tableI + '_cell_c' + col + '_r' + row; }, - getTd: function(row, col) { - return document.getElementById(jS.getTdId(row, col)); + getTd: function(tableI, row, col) { + return document.getElementById(jS.getTdId(tableI, row, col)); }, getTdLocation: function(td) { var col = parseInt(td[0].cellIndex); @@ -2135,12 +2133,14 @@ var i = cE.columnLabelIndex(jQuery.trim(jQuery(o).text())); return parseInt(i) - 1; }, - tableCellProvider: function(tableBodyId) { - this.tableBodyId = tableBodyId; + tableCellProvider: function(tableI) { + this.tableBodyId = 'jSheet' + tableI; + this.tableI = tableI; this.cells = {}; }, - tableCell: function(tableBody, row, col) { - this.tableBodyId = tableBody.id; + tableCell: function(tableI, row, col) { + this.tableBodyId = 'jSheet' + tableI; + this.tableI = tableI; this.row = row; this.col = col; this.value = jS.EMPTY_VALUE; @@ -2178,46 +2178,26 @@ }; jS.tableCellProvider.prototype = { - getCellArrayRemoteValue: function(tableI, startCol, startRow, endCol, endRow) { - var res = []; - for (var i = startCol; i <= endCol; i++) { - for (var j = startRow; j <= endRow; j++) { - try { - res.push(document.getElementById('table' + (tableI - 1) + '_cell_c' + (i - 1) + '_r' + (j - 1)).innerHTML); - } catch (e) { - //res.push(e); - } - } - } - return res.join(","); - }, - getCellRemoteValue: function(tableI, row, col) { - try { - col = cE.columnLabelIndex(col); - return document.getElementById('table' + (tableI - 1) + '_cell_c' + (col - 1) + '_r' + (row - 1)).innerHTML; - } catch (e) { - return e; - } - }, - getCell: function(row, col, i) { + getCell: function(tableI, row, col) { if (typeof(col) == "string") { col = cE.columnLabelIndex(col); } - var key = row + "," + col; + var key = tableI + "," + row + "," + col; + jS.log(key); var cell = this.cells[key]; if (!cell) { - var tableBody = jS.obj.tableBody(); - if (tableBody) { - var td = jS.getTd(row - 1, col - 1); - if (td) { - cell = this.cells[key] = new jS.tableCell(tableBody, row, col); - } + //var tableBody = jS.obj.tableBody(); + //if (tableBody) { + var td = jS.getTd(tableI, row - 1, col - 1); + if (td) { + cell = this.cells[key] = new jS.tableCell(tableI, row, col); } + //} } return cell; }, getNumberOfColumns: function(row) { - var tableBody = jS.obj.tableBody(); + var tableBody = document.getElementById(this.tableBodyId); if (tableBody) { var tr = tableBody.rows[row]; if (tr) { @@ -2228,7 +2208,7 @@ }, toString: function() { result = ""; - jS.obj.sheet().find('tr').each(function() { + jQuery('#' + (this.tableBodyId) + ' tr').each(function() { result += this.innerHTML.replace(/\n/g, "") + "\n"; }); return result; @@ -2236,8 +2216,8 @@ }; jS.tableCell.prototype = { - getTd: function(i) { - return document.getElementById(jS.getTdId(this.row - 1, this.col - 1)); + getTd: function() { + return document.getElementById(jS.getTdId(this.tableI, this.row - 1, this.col - 1)); }, setValue: function(v, e) { this.error = e; @@ -2458,7 +2438,7 @@ //Note, form objects are experimental, they don't work always as expected LIST: function(v, noBlank) { - var cell = jQuery(jS.getTd(cE.calcState.row, cE.calcState.col - 1)); + /*var cell = jQuery(jS.getTd(cE.calcState.row, cE.calcState.col - 1)); var cellValues = cE.foldPrepare(v, arguments); var cellSelectedValue = cell.find('select').val(); var selectObj = jQuery('<select style="width: 100%;" onchange="jS.calc(jS.obj.sheet());" class="clickable">' + (!noBlank ? '<option value="empty">Select a value</option>' : '') + '</select>'); @@ -2473,7 +2453,7 @@ } } - return selectObj; + return selectObj;*/ }, INPUTVAL: function(v) { return jQuery(v).val(); @@ -2482,7 +2462,7 @@ return v.match("checked"); }, RADIO: function() { - var cellValues = cE.foldPrepare(v, arguments); + /*var cellValues = cE.foldPrepare(v, arguments); var cellSelectedValue = jQuery(cE.calcState.cell).find(':checked').val(); var radioContainer = jQuery('<div />'); var checked = ''; @@ -2494,10 +2474,10 @@ radioContainer.append('<input type="radio" ' + v + ' value="' + cellValues[i] + '" name="radioGroup' + jS.getTdId(cE.calcState.row, cE.calcState.col) + '" />Test'); } - return jQuery(radioContainer); + return jQuery(radioContainer);*/ }, CHECKBOX: function(v) { - var cell = jQuery(jS.getTd(cE.calcState.row, cE.calcState.col - 1)); + /*var cell = jQuery(jS.getTd(cE.calcState.row, cE.calcState.col - 1)); var cellValues = cE.foldPrepare(v, arguments); var checkbox = cell.find('input'); jS.log('Cell html' + cell.html()); @@ -2520,7 +2500,7 @@ selectObj.append('<option ' + v + ' value="' + cellValues[i] + '">' + cellValues[i] + '</option>'); } - return selectObj; + return selectObj;*/ }, CHART: { BAR: function(v, legend, axisLabels, w, h) { @@ -2563,7 +2543,7 @@ stack: [], calcMore: function(moreFuel) { cE.calcState.fuel = moreFuel; - return cE.calcLoop(cE.calcState); + return cE.calcLoop(); } }; return cE.calcState.calcMore(startFuel); @@ -2624,15 +2604,15 @@ return c.join(""); }, regEx: { - n: /[\$,\s]/g, - cell: /\$?([a-zA-Z]+)\$?([0-9]+)/g, //A1 - range: /\$?([a-zA-Z]+)\$?([0-9]+):\$?([a-zA-Z]+)\$?([0-9]+)/g, //A1:B4 - tableCell: /\$?(SHEET+)\$?([0-9]+):\$?([a-zA-Z]+)\$?([0-9]+)/g, //SHEET1:A1 - tableCellRange: /\$?(SHEET+)\$?([0-9]+):\$?([a-zA-Z]+)\$?([0-9]+):\$?([a-zA-Z]+)\$?([0-9]+)/g, //SHEET1:A1:B4 - amp: /&/g, - gt: /</g, - lt: />/g, - nbsp: / /g + n: /[\$,\s]/g, + cell: /\$?([a-zA-Z]+)\$?([0-9]+)/g, //A1 + range: /\$?([a-zA-Z]+)\$?([0-9]+):\$?([a-zA-Z]+)\$?([0-9]+)/g, //A1:B4 + remoteCell: /\$?(SHEET+)\$?([0-9]+):\$?([a-zA-Z]+)\$?([0-9]+)/g, //SHEET1:A1 + remoteCellRange: /\$?(SHEET+)\$?([0-9]+):\$?([a-zA-Z]+)\$?([0-9]+):\$?([a-zA-Z]+)\$?([0-9]+)/g, //SHEET1:A1:B4 + amp: /&/g, + gt: /</g, + lt: />/g, + nbsp: / /g }, str: { amp: '&', @@ -2649,14 +2629,14 @@ } //Cell References Range - Other Tables - formula = formula.replace(cE.regEx.tableCellRange, + formula = formula.replace(cE.regEx.remoteCellRange, function(ignored, TableStr, tableI, startColStr, startRowStr, endColStr, endRowStr) { - //var res = []; + var res = []; var startCol = cE.columnLabelIndex(startColStr); var startRow = parseInt(startRowStr); var endCol = cE.columnLabelIndex(endColStr); var endRow = parseInt(endRowStr); - /*if (ncols != null) { + if (ncols != null) { endCol = Math.min(endCol, ncols); } if (nrows != null) { @@ -2664,21 +2644,22 @@ } for (var r = startRow; r <= endRow; r++) { for (var c = startCol; c <= endCol; c++) { - res.push(cE.columnLabelString(c) + r); + res.push("SHEET" + (tableI) + ":" + cE.columnLabelString(c) + r); } - }*/ - return "[cE.calcState.cellProvider.getCellArrayRemoteValue((" + (tableI) + "), (" + (startCol) + "), (" + (startRow) + "), (" + (endCol) + "),(" + (endRow) + "))]"; + } + return "[" + res.join(",") + "]"; } ); //Cell References Fixed - Other Tables - formula = formula.replace(cE.regEx.tableCell, + formula = formula.replace(cE.regEx.remoteCell, function(ignored, tableStr, tableI, colStr, rowStr) { + tableI = parseInt(tableI) - 1; colStr = colStr.toUpperCase(); if (dependencies != null) { - dependencies[colStr + rowStr] = [parseInt(rowStr), cE.columnLabelIndex(colStr)]; + dependencies['SHEET' + (tableI) + ':' + colStr + rowStr] = [parseInt(rowStr), cE.columnLabelIndex(colStr), tableI]; } - return "(cE.calcState.cellProvider.getCellRemoteValue((" + (tableI) + "),(" + (rowStr) + "),\"" + colStr + "\"))"; + return "(cE.calcState.cellProvider.getCell((" + (tableI) + "),(" + (rowStr) + "),\"" + (colStr) + "\").getValue())"; } ); @@ -2710,9 +2691,9 @@ function(ignored, colStr, rowStr) { colStr = colStr.toUpperCase(); if (dependencies != null) { - dependencies[colStr + rowStr] = [parseInt(rowStr), cE.columnLabelIndex(colStr)]; + dependencies['SHEET' + jS.i + ':' + colStr + rowStr] = [parseInt(rowStr), cE.columnLabelIndex(colStr), jS.i]; } - return "(cE.calcState.cellProvider.getCell((" + (rowStr) + "),\"" + (colStr) + "\")).getValue()"; + return "(cE.calcState.cellProvider.getCell((" + jS.i + "),(" + (rowStr) + "),\"" + (colStr) + "\").getValue())"; } ); return formula; @@ -2745,13 +2726,13 @@ } else if (cE.calcState.cellProvider.formulaCells != null) { if (cE.calcState.cellProvider.formulaCells.length > 0) { var loc = cE.calcState.cellProvider.formulaCells.shift(); - cE.visitCell(loc[0], loc[1]); + cE.visitCell(jS.i, loc[0], loc[1]); } else { cE.calcState.done = true; return null; } } else { - if (cE.visitCell(cE.calcState.row, cE.calcState.col) == true) { + if (cE.visitCell(jS.i, cE.calcState.row, cE.calcState.col) == true) { cE.calcState.done = true; return null; } @@ -2771,8 +2752,8 @@ return cE.calcState.calcMore; } }, - visitCell: function(r, c) { // Returns true if done with all cells. - var cell = cE.calcState.cell = cE.calcState.cellProvider.getCell(r, c); + visitCell: function(tableI, r, c) { // Returns true if done with all cells. + var cell = cE.calcState.cellProvider.getCell(tableI, r, c); if (cell == null) { return true; } else { @@ -2809,7 +2790,8 @@ var dependencies = formulaFunc.dependencies; for (var k in dependencies) { if (dependencies[k] instanceof Array && - cE.checkCycles(dependencies[k][0], dependencies[k][1]) == true) { + (cE.checkCycles(dependencies[k][0], dependencies[k][1], dependencies[k][2]) == true) //same cell on same sheet + ) { cell.setValue(cE.ERROR + ': cycle detected'); cE.calcState.stack.pop(); return false; @@ -2817,7 +2799,7 @@ } for (var k in dependencies) { if (dependencies[k] instanceof Array) { - cE.calcState.stack.push(cE.makeCellVisit(dependencies[k][0], dependencies[k][1])); + cE.calcState.stack.push(cE.makeCellVisit(dependencies[k][2], dependencies[k][0], dependencies[k][1])); } } } @@ -2829,9 +2811,9 @@ return false; } }, - makeCellVisit: function(row, col) { + makeCellVisit: function(tableI, row, col) { var fn = function() { - return cE.visitCell(row, col); + return cE.visitCell(tableI, row, col); }; fn.row = row; fn.col = col; @@ -2862,13 +2844,15 @@ fn.col = col; return fn; }, - checkCycles: function(row, col) { + checkCycles: function(row, col, tableI) { for (var i = 0; i < cE.calcState.stack.length; i++) { var item = cE.calcState.stack[i]; if (item.row != null && item.col != null && item.row == row && - item.col == col) { + item.col == col && + tableI == jS.i + ) { return true; } } Deleted: third_party/jquery/jquery.sheet/pics/icons/readme.txt =================================================================== Deleted: third_party/jquery/jquery.sheet/plugins/jquery.metadata.js =================================================================== --- third_party/jquery/jquery.sheet/plugins/jquery.metadata.js 2010-03-05 17:38:10 UTC (rev 25936) +++ third_party/jquery/jquery.sheet/plugins/jquery.metadata.js 2010-03-05 17:47:19 UTC (rev 25937) @@ -1,122 +0,0 @@ -/* - * Metadata - jQuery plugin for parsing metadata from elements - * - * Copyright (c) 2006 John Resig, Yehuda Katz, J�örn Zaefferer, Paul McLanahan - * - * Dual licensed under the MIT and GPL licenses: - * http://www.opensource.org/licenses/mit-license.php - * http://www.gnu.org/licenses/gpl.html - * - * Revision: $Id$ - * - */ - -/** - * Sets the type of metadata to use. Metadata is encoded in JSON, and each property - * in the JSON will become a property of the element itself. - * - * There are three supported types of metadata storage: - * - * attr: Inside an attribute. The name parameter indicates *which* attribute. - * - * class: Inside the class attribute, wrapped in curly braces: { } - * - * elem: Inside a child element (e.g. a script tag). The - * name parameter indicates *which* element. - * - * The metadata for an element is loaded the first time the element is accessed via jQuery. - * - * As a result, you can define the metadata type, use $(expr) to load the metadata into the elements - * matched by expr, then redefine the metadata type and run another $(expr) for other elements. - * - * @name $.metadata.setType - * - * @example <p id="one" class="some_class {item_id: 1, item_label: 'Label'}">This is a p</p> - * @before $.metadata.setType("class") - * @after $("#one").metadata().item_id == 1; $("#one").metadata().item_label == "Label" - * @desc Reads metadata from the class attribute - * - * @example <p id="one" class="some_class" data="{item_id: 1, item_label: 'Label'}">This is a p</p> - * @before $.metadata.setType("attr", "data") - * @after $("#one").metadata().item_id == 1; $("#one").metadata().item_label == "Label" - * @desc Reads metadata from a "data" attribute - * - * @example <p id="one" class="some_class"><script>{item_id: 1, item_label: 'Label'}</script>This is a p</p> - * @before $.metadata.setType("elem", "script") - * @after $("#one").metadata().item_id == 1; $("#one").metadata().item_label == "Label" - * @desc Reads metadata from a nested script element - * - * @param String type The encoding type - * @param String name The name of the attribute to be used to get metadata (optional) - * @cat Plugins/Metadata - * @descr Sets the type of encoding to be used when loading metadata for the first time - * @type undefined - * @see metadata() - */ - -(function($) { - -$.extend({ - metadata : { - defaults : { - type: 'class', - name: 'metadata', - cre: /({.*})/, - single: 'metadata' - }, - setType: function( type, name ){ - this.defaults.type = type; - this.defaults.name = name; - }, - get: function( elem, opts ){ - var settings = $.extend({},this.defaults,opts); - // check for empty string in single property - if ( !settings.single.length ) settings.single = 'metadata'; - - var data = $.data(elem, settings.single); - // returned cached data if it already exists - if ( data ) return data; - - data = "{}"; - - if ( settings.type == "class" ) { - var m = settings.cre.exec( elem.className ); - if ( m ) - data = m[1]; - } else if ( settings.type == "elem" ) { - if( !elem.getElementsByTagName ) - return undefined; - var e = elem.getElementsByTagName(settings.name); - if ( e.length ) - data = $.trim(e[0].innerHTML); - } else if ( elem.getAttribute != undefined ) { - var attr = elem.getAttribute( settings.name ); - if ( attr ) - data = attr; - } - - if ( data.indexOf( '{' ) <0 ) - data = "{" + data + "}"; - - data = eval("(" + data + ")"); - - $.data( elem, settings.single, data ); - return data; - } - } -}); - -/** - * Returns the metadata object for the first member of the jQuery object. - * - * @name metadata - * @descr Returns element's metadata object - * @param Object opts An object contianing settings to override the defaults - * @type jQuery - * @cat Plugins/Metadata - */ -$.fn.metadata = function( opts ){ - return $.metadata.get( this[0], opts ); -}; - -})(jQuery); \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |