comparison analysis/analysis.js @ 1264:055d020099ea

Fixed analysis.js table and latex generators.
author Nicholas Jillings <n.g.r.jillings@se14.qmul.ac.uk>
date Mon, 21 Mar 2016 16:07:57 +0000
parents 83b439322229
children 5946b03fffe5
comparison
equal deleted inserted replaced
1263:ea5e6e480866 1264:055d020099ea
201 this.print.addEventListener("click",this); 201 this.print.addEventListener("click",this);
202 this.root.appendChild(this.downloadDOM); 202 this.root.appendChild(this.downloadDOM);
203 this.buildTable = function() { 203 this.buildTable = function() {
204 var table = document.createElement("table"); 204 var table = document.createElement("table");
205 table.border = "1"; 205 table.border = "1";
206 for (var rowIndex=0; rowIndex<this.data.If.length; rowIndex++) { 206 var numRows = this.data.getNumberOfRows();
207 var row = document.createElement("tr"); 207 var numColumns = this.data.getNumberOfColumns();
208 table.appendChild(row); 208 for (var columnIndex=0; columnIndex<numColumns; columnIndex++)
209 var rowTitle = document.createElement("td"); 209 {
210 rowTitle.textContent = this.data.If[rowIndex].label; 210 var table_row = document.createElement('tr');
211 row.appendChild(rowTitle); 211 table.appendChild(table_row);
212 for (var cIndex=0; cIndex<this.data.cc.length; cIndex++) { 212 var row_title = document.createElement('td');
213 var column = document.createElement("td"); 213 table_row.appendChild(row_title);
214 column.textContent = this.data.cc[cIndex][rowIndex].tf; 214 row_title.textContent = this.data.getColumnLabel(columnIndex);
215 row.appendChild(column); 215 for (var rowIndex=0; rowIndex<numRows; rowIndex++)
216 {
217 var row_entry = document.createElement('td');
218 table_row.appendChild(row_entry);
219 var entry = this.data.getValue(rowIndex,columnIndex);
220 if (isFinite(Number(entry)))
221 {
222 entry = String(Number(entry).toFixed(4));
223 }
224 row_entry.textContent = entry;
216 } 225 }
217 } 226 }
218 this.tableDOM.appendChild(table); 227 this.tableDOM.appendChild(table);
219 }; 228 };
220 this.writeLatex = function() { 229 this.writeLatex = function() {
230 var numRows = this.data.getNumberOfRows();
231 var numColumns = this.data.getNumberOfColumns();
221 var root = document.createElement("div"); 232 var root = document.createElement("div");
222 root.className = "code"; 233 root.className = "code";
223 var holder = document.createElement("pre"); 234 var holder = document.createElement("pre");
224 // Table start 235 // Table start
225 var start = document.createElement("p"); 236 var start = document.createElement("p");
226 start.textContent = "\\" + "begin{tabular}{|l|"; 237 start.textContent = "\\" + "begin{tabular}{|l|";
227 holder.appendChild(start); 238 holder.appendChild(start);
228 for (var i=0; i<this.data.cc.length; i++) { 239 for (var i=0; i<numRows; i++) {
229 start.textContent = start.textContent+"c|"; 240 start.textContent = start.textContent+"c|";
230 } 241 }
231 start.textContent = start.textContent.concat("}"); 242 start.textContent = start.textContent.concat("}");
232 // Now write the rows: 243 // Now write the rows:
233 for (var rIndex=0; rIndex<this.data.If.length; rIndex++) { 244 for (var rIndex=0; rIndex<numColumns; rIndex++) {
234 var row = document.createElement("p"); 245 var row = document.createElement("p");
235 row.textContent = this.data.If[rIndex].label.concat(" & "); 246 row.textContent = this.data.getColumnLabel(rIndex).concat(" & ");
236 for (var cIndex=0; cIndex<this.data.cc.length; cIndex++) { 247 for (var cIndex=0; cIndex<numRows; cIndex++) {
237 row.textContent = row.textContent.concat(this.data.cc[cIndex][rIndex].tf); 248 var entry = this.data.getValue(cIndex,rIndex);
238 if (cIndex < this.data.cc.length-1) { 249 if (isFinite(Number(entry)))
250 {
251 entry = String(Number(entry).toFixed(4));
252 }
253 row.textContent = row.textContent.concat(entry);
254 if (cIndex < numRows-1) {
239 row.textContent = row.textContent.concat(" & "); 255 row.textContent = row.textContent.concat(" & ");
240 } 256 }
241 } 257 }
242 holder.appendChild(row); 258 holder.appendChild(row);
243 } 259 }