diff --git a/static/js/proxyMapper.js b/static/js/proxyMapper.js index 20db2dc..57ddc3e 100644 --- a/static/js/proxyMapper.js +++ b/static/js/proxyMapper.js @@ -20,7 +20,7 @@ this.result.dates = []; - this.mappingDate = {}; + this.mappingI2 = {}; this.perform_mapping(); return this.result; }; @@ -36,7 +36,7 @@ this.c_labels(this.data, this.mapping.labels); // probe and fetch all labels } if (this.mapping.labels.length > 0 && this.mapping.values.length > 0) { - this.c_values(this.data, this.mapping.labels); // fetch values and overwrite default values + this.c_values(this.data, this.mapping.values); // fetch values and overwrite default values for (var k in this.result) { this.result[k] = this.result[k].filter(function(n){ return n != undefined }); } @@ -48,8 +48,10 @@ var matchingFun = function (intermediate, instructions, additionalData) { let index = instructions; let val = intermediate[index]; - that.mappingDate[val] = that.result['dates'].length; - that.result['dates'].push(val); + if (that.mappingI2[val] === undefined) { + that.mappingI2[val] = that.result['dates'].length; + that.result['dates'].push(val); + } }; this.iter(intermediate, instructions, matchingFun, {}); }, @@ -58,14 +60,26 @@ var that = this; var matchingFun = function (intermediate, instructions, additionalData) { let index = instructions; - let label = intermediate[index]; - let val = []; - for (var i=0; i 0) { + curI = this.fetch_value(node, sub_instructions); + } else { + console.log('Should never happend'); + } + additionalData[i_type] = curI; } this.iter(node, instructions.slice(1), matchingFun, additionalData); } } else if (this.isObject(intermediate)) { for (var k in intermediate) { - if (flag_register_date) { - let curDate = this.fetch_value(node, additionalData.mapping.dateFromNode); - additionalData.curDate = curDate; - } var node = intermediate[k]; + if (flag_register_i) { + let sub_instructions = additionalData.mapping.index[i_type] + let curI; + if (sub_instructions.length > 0) { + curI = this.fetch_value(node, sub_instructions); + } else { + curI = k; + } + additionalData[i_type] = curI; + } this.iter(node, instructions.slice(1), matchingFun, additionalData); } } diff --git a/static/js/treeFromJson.js b/static/js/treeFromJson.js index 9c74145..4fb23d4 100644 --- a/static/js/treeFromJson.js +++ b/static/js/treeFromJson.js @@ -411,7 +411,7 @@ tbody.append(row2); this.mappingDomTable.append(thead); this.mappingDomTable.append(tbody); - this.fillValueDomInput = $(''); + this.fillValueDomInput = $(''); var configDiv = $('
') .append($('')) .append(this.fillValueDomInput); @@ -482,40 +482,53 @@ interaction: false }; - var adjusted_instructions = $.extend(true, {}, this.instructions); - var res=[]; - var l = adjusted_instructions.labels; - var v = adjusted_instructions.values; - for (var i=0; i