JSFiddle - React, Tailwind, and code Playground
HTML
<div id='output'></div>
<script src="https://kripken.github.io/sql.js/js/sql.js"></script>
<script src="https://dl.dropboxusercontent.com/u/5257657/jszip.js"></script>
JavaScript
// This variable will receive instance of SQLite
var db = null;
var jsZip = new JSZip();
// method taken from your demo
function print(text) {
var element = document.getElementById('output');
element.innerHTML += "<br/>" + text;//.replace(/\n/g, '<br>');
}
// method taken from your demo
// only one modification : returns true when everything ok, and false when an exception has been triggered
function execute(commands) {
try {
print( "<b>" + commands + "</b>" );
var data = db.exec(commands.replace(/\n/g, '; '));
print(JSON.stringify(data, null, ' '));
return true;
} catch(e) {
print(e);
return false;
}
}
var xmlhttp = new XMLHttpRequest();
xmlhttp.responseType = "arraybuffer";
var requestUrl = "http://testing.indoo.rs/indoors/rest/buildings/108095766/mapfile?api_key=3ae55d0b-757b-4b81-980d-045502bd02cd";
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
print("Content loaded");
var response = xmlhttp.response;
var zipContent = jsZip.load(response);
var indoorDbFile = zipContent.files['indoors.db'];
var indoorDbUnpacked = indoorDbFile._data.getContent();
db = new SQL.Database(indoorDbUnpacked);
print("Database initialized");
print("Inserting fourth row into db");
db.run("INSERT INTO networklocation (x, y, network_id, floor_id) VALUES (?, ?, ?, ?);", [123, 123, 1, 1]);
print("db 'networklocation' table:");
var stmt = db.prepare("SELECT * FROM networklocation;");
while (stmt.step()) { //
var row = JSON.stringify(stmt.getAsObject());
print(row);
}
print("");
print("Exporting db");
var data = db.export();
db.close();
db = null;
print("Re-initializing db");
db = new SQL.Database(data);
print("db 'networklocation' table:");
stmt...