109 lines
2.5 KiB
JavaScript
109 lines
2.5 KiB
JavaScript
var printHTML = function(fname, node) {
|
|
var request = new XMLHttpRequest();
|
|
request.open('GET', fname, true);
|
|
request.onreadystatechange = function() {
|
|
if (request.readyState !== 4) {
|
|
return 0;
|
|
}
|
|
|
|
if (request.status === 200) {
|
|
node.innerHTML = request.responseText;
|
|
}
|
|
else {
|
|
console.log("printMarkdown status:", request.status);
|
|
return 1;
|
|
}
|
|
}
|
|
request.send();
|
|
}
|
|
|
|
|
|
var printMarkdown = function(fname, node) {
|
|
var request = new XMLHttpRequest();
|
|
request.open('GET', fname, true);
|
|
request.onreadystatechange = function() {
|
|
if (request.readyState !== 4) {
|
|
return 0;
|
|
}
|
|
|
|
if (request.status === 200) {
|
|
node.innerHTML = markdown.toHTML(request.responseText);
|
|
}
|
|
else {
|
|
console.log("printMarkdown status:", request.status);
|
|
return 1;
|
|
}
|
|
}
|
|
request.send();
|
|
}
|
|
|
|
var printCSV = function (fname, node) {
|
|
var request = new XMLHttpRequest();
|
|
request.open('GET', fname, true);
|
|
request.onreadystatechange = function() {
|
|
if (request.readyState !== 4) {
|
|
return 0;
|
|
}
|
|
|
|
if (request.status === 200) {
|
|
node.innerHTML = "";
|
|
var table = parseCSVToTable(request.responseText, ';');
|
|
table.id = "table";
|
|
table.className = "ui celled table";
|
|
node.appendChild(table);
|
|
var sorter = tsorter.create("table");
|
|
}
|
|
else {
|
|
console.log("printCSV status:", request.status);
|
|
return 1;
|
|
}
|
|
}
|
|
request.send();
|
|
}
|
|
|
|
var parseCSVToTable = function(csvText, delim) {
|
|
//split
|
|
var allLines = csvText.split(/\r\n|\n/);
|
|
|
|
//error fix
|
|
if (allLines[allLines.length -1] == '') {
|
|
allLines.pop();
|
|
}
|
|
|
|
//convert into an array of usable lines
|
|
var lines = [];
|
|
while(allLines.length) {
|
|
lines.push(allLines.shift().split(delim));
|
|
}
|
|
|
|
//finally, parse lines into a table
|
|
var table = document.createElement("table");
|
|
var tbody = table.createTBody(-1);
|
|
|
|
for (var i = 0; i < lines.length; i++) {
|
|
//insert th objects
|
|
if (i == 0) {
|
|
var thead = table.createTHead(-1);
|
|
var row = thead.insertRow(0);
|
|
for (var j = 0; j < lines[i].length; j++) {
|
|
var cell = document.createElement("TH");
|
|
cell.innerHTML = lines[i][j];
|
|
row.appendChild(cell);
|
|
}
|
|
}
|
|
|
|
//insert td objects
|
|
if (i != 0) {
|
|
var row = tbody.insertRow(-1);
|
|
for (var j = 0; j < lines[i].length; j++) {
|
|
var cell = row.insertCell(-1);
|
|
cell.appendChild(document.createTextNode(lines[i][j]));
|
|
}
|
|
}
|
|
}
|
|
|
|
//return the table element
|
|
return table;
|
|
}
|
|
|