databoxdex
Version:
125 lines (104 loc) • 6.25 kB
JavaScript
var m = require("mithril")
module.exports = {
view: function() {
var recordTemplate = function(ind){
return [
m("div",{ class:"col-md-7 "},[
m("div",{class:"panel panel-warning"},[
m("div",{class:"panel-heading"},["Record Structure"]),
m("table",{class:"table header-generator"},[
m("thead",[
m("tr",[
m("th",["Name"]),
m("th",["Type"]),
m("th",["Length"]),
m("th",[""])
])
]),
records[ind].recordData.map(function(obj,index){
return [
m("tr",[
m("td",[ m("input",{class:"form-control",type:"text",length:20,value: obj.name, oninput: m.withAttr("value", function(value) {obj.name = value}) })]),
m("td",[ m("input",{class:"form-control",type:"text",length:10,value: obj.type, oninput: m.withAttr("value", function(value) {obj.type = value}) })]),
m("td",[ m("input",{class:"form-control",type:"number",length:5,value: obj.length, oninput: m.withAttr("value", function(value) {obj.length = value}) })]),
m("td",[ m("button",{class:"btn btn-danger",record:ind,field:index,onclick:removeField},["REMOVE"]) ]),
])
]
}),
m("tr",[]),
m("tr",[
m("td",[ m("input",{class:"form-control",type:"text",placeholder:"Field Name",length:20,oninput: m.withAttr("value", function(value) {records[ind].generatorData.data.name = value}), value: records[ind].generatorData.data.name}) ]),
m("td",[ m("input",{class:"form-control",type:"text",placeholder:"Type",length:10,value:"c",oninput: m.withAttr("value", function(value) {records[ind].generatorData.data.type = value}), value: records[ind].generatorData.data.type}) ]),
m("td",[ m("input",{class:"form-control",type:"number",placeholder:"Length",length:5,oninput: m.withAttr("value", function(value) {records[ind].generatorData.data.length = value}), value: records[ind].generatorData.data.length}) ]),
m("td",[ m("button",{class:"btn btn-primary",record:ind,onclick:appendField},["ADD"]) ])
]),
])
])
]),
m("div",{class:"col-md-3"},[
m("div",{class:"panel panel-warning"},[
m("div",{class:"panel-heading"},["Record Identifier"]),
m("table",{class:"table header-generator"},[
m("thead",[
m("tr",[
m("th",["Value"]),
m("th",[""]),
m("th",[""])
])
]),
records[ind].recordDataID.map(function(obj,index){
return [
m("tr",[
// m("td",[ m("input",{class:"form-control",type:"text",value: obj.name, oninput: m.withAttr("value", function(value) {obj.name = value}) })]),
m("td",[ m("input",{class:"form-control",type:"text",value: obj.value, oninput: m.withAttr("value", function(value) {obj.value = value}) })]),
m("td",[ m("button",{class:"btn btn-primary",record:ind,field:index,onclick:removeIDField},["REMOVE"]) ]),
])
]
}),
m("tr",[
// m("td",[ m("input",{class:"form-control",type:"text",placeholder:"Field name",oninput: m.withAttr("value", function(value) { records[ind].generatorData.dataID.name = value}), value: records[ind].generatorData.dataID.name}) ]),
m("td",[ m("input",{class:"form-control",type:"text",placeholder:"Field value",oninput: m.withAttr("value", function(value) {records[ind].generatorData.dataID.value = value}), value: records[ind].generatorData.dataID.value}) ]),
m("td",[ m("button",{class:"btn btn-primary",record:ind,onclick:appendIDField},["ADD"]) ])
])
])
])
]),
m("div",{ class:"col-md-2 "},[
// m("div",{class:"panel panel-default"},[
// m("div",{class:"panel-heading"},["Actions"]),
m("button",{class:"btn btn-info btn-block",record:ind,onclick:generateABAP},["Export ABAP"]),
function() {
if (ind!=0) {
return m("button",{class:"btn btn-danger btn-block", index:ind,onclick:m.withAttr("index",removeRecord)},["Remove"])
}
}(),
function() {
if ((ind+1)==records.length) {
return [m("button",{class:"btn btn-success btn-block", onclick: appendNewRecord},["Add new record"])];
}
}()
// ])
])
]}
return [
m("div",{class:"row", id:"record_"},[
m("div",{class:"col-md-12"},[
m("div",{class:"panel panel-default panel-main"},[
m("div",{class:"panel-heading panel-pad"},["Records"]),
records.map(function(obj,index){
return recordTemplate(index);
}),
])
]),
// m("div",{class:"col-md-12"},[
// m("div",{class:"panel panel-sub-new"},[
// m("div",{class:"col-md-2 col-md-offset-5"},[
// m("button",{class:"btn btn-success btn-block", onclick: appendNewRecord},["Add new record"]),
// ]),
// m("br")
// ])
// ])
])
];
}
}