diff --git a/assets/modules/dbs.js b/assets/modules/dbs.js index 545c7c7..903a27b 100644 --- a/assets/modules/dbs.js +++ b/assets/modules/dbs.js @@ -15,6 +15,7 @@ module.exports = { data:[], loaded_dbs:0, data_byid:[], + data_strct:{}, load: function(callback) { // load all dbs, when all loaded call main app callback function for (var i = 0; i < this.langs.length; i++) { @@ -73,6 +74,39 @@ module.exports = { } } // console.log('this.data_byid', this.data_byid); + this.parseStrct(callback); + }, + parseStrct: function(callback){ + + var id, item, obj, links_match, link, tid; + for (id in this.data_byid[this.langs[0].lc]) { + item = this.data_byid[this.langs[0].lc][id]; + // console.log(item); + obj = { + 'to':[], + 'from':[], + }; + // get links + links_match = item.text.match(/\[[^\]]+\]\([^\)]+\)/g); + // console.log(links_match); + if(links_match){ + for(link of links_match){ + // console.log(link); + tid = link.match(/\((.+)\)/)[1]; + obj.to.push(tid); + // add id to "from" links in target + if(typeof this.data_strct[tid] !== 'undefined'){ + this.data_strct[tid].from.push(id); + }else{ + console.log('!! warning : '+tid+' target id does not exists'); + } + } + } + // console.log(this.links); + this.data_strct[id] = obj; + } + // console.log('data_strct',this.data_strct); + callback(); } }