Skip to content
Snippets Groups Projects

Fix/from uc2

Merged Baptiste Toulemonde requested to merge fix/fromUC2 into master
1 file
+ 24
17
Compare changes
  • Side-by-side
  • Inline
@@ -61,7 +61,9 @@ export class MappingComponent implements OnInit {
this.ids = this.dataSetService.ids;
this.ids
this.keys = [];
this.type == "Dataverse" ? this.getKeysFromMetadataDataverse(this.itemsdataset[0], '') : this.getKeysFromMetadataCustom(this.itemsdataset[0], '');
this.type == "Dataverse" ? this.getKeysFromMetadataDataverse(this.itemsdataset[0], '') : this.getKeysFromMetadataCustom(this.itemsdataset[0], '');
this.keys = Array.from(new Set(this.keys));
console.table(this.keys)
this.filteredOptions = of(this.keys);
}
@@ -71,6 +73,7 @@ export class MappingComponent implements OnInit {
let mappedMetadata: Map<number, string> = new Map()
for (let i = 0; i < this.selectedPaths.length; i++) {
if (this.selectedPaths[i]) {
let tab = this.selectedPaths[i].split(' : ');
this.type == "Dataverse" ? mappedMetadata.set(i, this.getValueDataverse(tab, item)) : mappedMetadata.set(i, this.getValueCustom(tab, item));
}
@@ -194,29 +197,29 @@ export class MappingComponent implements OnInit {
/* function to get recursively all the keys and values from the JSON object */
getKeysFromMetadataCustom(obj: Object, keyParent: string) {
Object.keys(obj).forEach(key => {
if (typeof obj[key] === 'object') {
if (Array.isArray(obj[key])) {
if (Array.isArray(obj[key])) {
obj[key].forEach(e => {
if (typeof e === 'object' && Array.isArray(e)) {
this.getKeysFromMetadataDataverse(e, keyParent + ' : ' + key );
if (typeof e === 'object') {
Object.keys(e).forEach(k => {
this.keys.push(keyParent + k);
})
this.getKeysFromMetadataCustom(e, keyParent + key + ' : ');
}
});
this.keys.push(keyParent + key )
this.getKeysFromMetadataCustom(obj[key], keyParent + key + ' : ');
} else {
if (keyParent) {
this.getKeysFromMetadataDataverse(obj[key], keyParent + ' : ' + key);
} else {
this.getKeysFromMetadataDataverse(obj[key], key);
}
this.keys.push(keyParent + key )
this.getKeysFromMetadataCustom(obj[key], keyParent + key + ' : ');
}
} else {
if (keyParent) {
this.keys.push(keyParent + ' : ' + key)
} else {
this.keys.push(key)
}
this.keys.push(keyParent + key );
}
});
}
@@ -269,14 +272,18 @@ export class MappingComponent implements OnInit {
if (Array.isArray(obj) && obj.some(e => typeof e === 'object')) {
let array = [];
obj.forEach(e => {
array.push(e[tab[i]]);
if (e[tab[i]]){
array.push(e[tab[i]]);
}
});
return array;
} else if (typeof obj === 'object' && Object.values(obj).every(e => Array.isArray(e))) {
let array = [];
for (let element in obj) {
obj[element].forEach(e => {
array.push(e[tab[i]]);
if (e[tab[i]]){
array.push(e[tab[i]]);
}
})
}
return array;
Loading