function initEditor(){ // todo ?? move template creation to separate files var templates = [ { text:"DEM simulation node", title: 'Insert prediction viewer', className: 'jsoneditor-type-object', field: 'voxel', value: { name:"prediction", size:5, E:20000, area:10.0 } }, { text: 'MNIST', title: 'Insert a MNIST dataset', className: 'jsoneditor-type-object', field: 'cnn', value: { name:"MNIST", imageSize:"(28,28)", numDatasets:65000, numTraining:55000, numTest:65000-55000, parent: 'CNN', classes: 'input', outputNeigh:-1 //0:x+1,1:x-1,2:y+1,3:y-1,4:z+1,5:z-1, } }, { text:"conv2d", title: 'Insert a 3d convolutionsl layer', className: 'jsoneditor-type-object', field: 'cnn', value: { name:"conv2d_Conv2D1", inputShape:"(batch,28,28,1)", kernelSize:5, filters:8, strides:1, activation: 'relu', kernelInitializer: 'varianceScaling', outputShape:"(batch,24,24,8)", numParams:208, Trainable:true, parent: 'CNN', classes: 'layers', outputNeigh:-1 //0:x+1,1:x-1,2:y+1,3:y-1,4:z+1,5:z-1, } }, { text:"testImage", title: 'Insert a test Image', className: 'jsoneditor-type-object', field: 'cnn', value: { name:"testImage", imageSize:"(1,28,28)", parent: 'CNN', classes: 'viz', outputNeigh:-1 //0:x+1,1:x-1,2:y+1,3:y-1,4:z+1,5:z-1, } }, { text:"max_pooling2d", title: 'Insert a 2d max pooling layer', className: 'jsoneditor-type-object', field: 'cnn', value: { name:"max_pooling2d_MaxPooling2D1", inputShape:"(batch,24,24,8)", poolSize:"[2,2]", strides:"[2,2]", outputShape:"(batch,12,12,8)", numParams:0, Trainable:true, parent: 'CNN', classes: 'layers', outputNeigh:-1 //0:x+1,1:x-1,2:y+1,3:y-1,4:z+1,5:z-1, } }, { text:"flatten", title: 'flattern layer', className: 'jsoneditor-type-object', field: 'cnn', value: { name:"flatten_Flatten1", inputShape:"(batch,4,4,16)", outputShape:"(batch,256)", numParams:0, Trainable:true, parent: 'CNN', classes: 'layers', outputNeigh:-1 //0:x+1,1:x-1,2:y+1,3:y-1,4:z+1,5:z-1, } }, { text:"dense", title: 'Insert a fully connected layer', className: 'jsoneditor-type-object', field: 'cnn', value: { name:"dense_Dense1", inputShape:"(batch,256)", kernelInitializer: 'varianceScaling', activation: 'softmax', outputShape:"(batch,10)", numParams:2570, Trainable:true, parent: 'CNN', classes: 'layers', outputNeigh:-1 //0:x+1,1:x-1,2:y+1,3:y-1,4:z+1,5:z-1, } }, { text:"loss_categoricalCrossentropy", title: 'Insert a categoricalCrossentropy loss layer', className: 'jsoneditor-type-object', field: 'cnn', value: { name:"loss_categoricalCrossentropy", metrics: ['accuracy'], parent: 'CNN', classes: 'loss', outputNeigh:-1 //0:x+1,1:x-1,2:y+1,3:y-1,4:z+1,5:z-1, } }, { text:"prediction", title: 'Insert prediction viewer', className: 'jsoneditor-type-object', field: 'cnn', value: { name:"prediction", parent: 'CNN', classes: 'output', outputNeigh:-1 //0:x+1,1:x-1,2:y+1,3:y-1,4:z+1,5:z-1, } } ]; var schema = { "title": "Example Schema", "type": "array", "items": { "type": "object", "properties": { "firstName": { "type": "string" }, "lastName": { "type": "string" }, "gender": { "enum": ["male", "female"] }, "age": { "description": "Age in years", "type": "integer", "minimum": 0 }, "job": { "$ref": "job" } }, "required": ["firstName", "lastName"] } }; var job = { "title": "Job description", "type": "object", "properties": { "company": { "type": "string" }, "role": { "type": "string" } } }; // create the editor var container = document.getElementById('jsoneditor'); var options = { // schema: schema, // schemaRefs: {"job": job}, templates: templates, onChangeText: function (jsonString) { // console.log(jsonString); // const json = editor.get(); var json=JSON.parse(jsonString); if(json.ur10Setup === undefined){ GLOBALS.updateNode(json); }else{ integratedSetup=json; //todo remove from here } } }; GLOBALS.editor = new JSONEditor(container, options); document.addEventListener('selectNode', function (e) { GLOBALS.editor.set(GLOBALS.selectedjson); }, false); document.addEventListener('selectEdge', function (e) { GLOBALS.editor.set(GLOBALS.selectedjson); }, false); // get json //set info // document.getElementById('getJSON').onclick = function () { // var json = GLOBALS.editor.get(); // // alert(JSON.stringify(json, null, 2)); // GLOBALS.updateNode(json); // }; // GLOBALS.editor.on('onChangeJson',function() { // console.log("hiii"); // }); // GLOBALS.editor.onChangeJson= function(json){ // // console.log(json); // console.log("hiii"); // }; // GLOBALS.document.addEventListener('onChangeJson', function (e) { // console.log("hissssii"); // }, false); }