UNPKG

databoxdex

Version:

167 lines (127 loc) 4.31 kB
var m = require("mithril") var root = document.body var rawDatabox = ''; var headerTitle = { view: function() { return m("div", [ m("h3", { class: "title" }, "DataBoxDéx") ]) } } records = [ { generatorData : { data: { name: '', type: 'c', length: '' }, dataID: { name: '', value: '' } }, recordData: [], recordDataID: [] } ]; generatorData = { data: { name: '', type: 'c', length: '' }, dataID: { name: '', value: '' } } // The header fields creator mainFunctions = require("./components/_main.js") helperfunctions = require("./components/_helpers.js") dataGenerator = require("./components/_data.js") databoxRawData = ''; databoxParsedData = 'Import a Data Box!'; databoxArrayData = []; databoxData = ''; loadDataboxFile = function(fileInput) { var file = fileInput.srcElement.files[0]; var reader = new FileReader(); reader.onload = function(e) { databoxRawData = reader.result; databoxData = databoxRawData.split('\n'); refreshData(); } reader.readAsText(file); } var main = { view: function() { var activeTab = function(route) { var tabClasses = "tab-pane fade"; if ((m.route.get()==route)||(route=='parsed'&&m.route.get()==route)) { return tabClasses+" active in"; } else { return tabClasses; } } var currentRoute = m.route.get() return m("div", {class:"container documents", config: databoxConvert },[ m(headerTitle), m(dataGenerator), m("div",{class:"row"},[ m("div",{class:"col-md-2"},[ m("div",{class:"panel panel-default"},[ m("div",{class:"panel-heading"},["Databox"]), m("div",{class:"panel-databox"},[ m("input",{class:"form-control",type:"file",onchange:loadDataboxFile},[]), function() { if (databoxRawData=='') { return false; } return [ m("br"), m("button",{class:"btn btn-danger btn-block", onclick:refreshData},["Parse"]), m("button",{class:"btn btn-info btn-block", onclick:importJSON},["Import JSON"]), m("button",{class:"btn btn-success btn-block", onclick:exportJSON},["Export JSON"]) ] }() ]) ]) ]), m("div",{class:"col-md-10"},[ function() { if (databoxRawData=='') { return false; } return [ m("div",{class:"panel panel-default"},[ m("div",{class:"tabbable tabs-left clearfix"},[ m("ul",{id:"myTab1",class:"nav nav-tabs"},[ m("li",{class:function(){ if ((currentRoute=="/original")) { return "active"; } }() },[ m("a[href='#!/original']", {config: m.route, "data-toggle":"tab"},["Original File"]) ]), m("li",{class:function(){ if ((currentRoute=="/parsed")||(currentRoute=='/home')) { return "active"; } }()},[ m("a[href='#!/parsed']", {config: m.route, "data-toggle":"tab"},["Parsed File"]) ]), ]), m("div",{id:"myTabContent",class:"tab-content"},[ m("div",{class:activeTab("/original"),id:"original"},[ m("pre",{id:"dataBoxDisplayArea"},[databoxRawData]) ]), m("div",{class:activeTab("/parsed"),id:"parsed"},[ m("pre",{},[ labelData() ]) ]) ]) ]) ]) ]; }() ]) ]) ]) } } m.route.mode = "hash"; m.route(root, "/home", { "/home": main, "/original": main, "/parsed": main });