Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F82231502
unique-entry.pipe.ts
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Tue, Sep 10, 07:23
Size
1 KB
Mime Type
text/x-java
Expires
Thu, Sep 12, 07:23 (1 d, 23 h)
Engine
blob
Format
Raw Data
Handle
20648076
Attached To
rNIETZSCHEBETAAPP Nietzsche-Beta-App
unique-entry.pipe.ts
View Options
import { Pipe, PipeTransform } from '@angular/core';
import { DataMapping, Link, QueryDataMapping } from './models';
@Pipe({
name: 'uniqueEntry'
})
export class UniqueEntryPipe implements PipeTransform {
transform(dataMapping: DataMapping): DataMapping {
let queryDataMappings: QueryDataMapping[] = [];
let keys = new Set(dataMapping.queryDataMappings.map(queryDataMapping =>queryDataMapping.variable))
keys.forEach(key =>{
let items = dataMapping.queryDataMappings.filter(queryDataMapping =>queryDataMapping.variable == key)
if (items.length == 1 || items[0].links.length == 0){
queryDataMappings.push(items[0])
} else {
let newItem = items[0];
for (var i = 1; i < items.length; i++){
if (newItem.links.filter(link =>link.value == items[i].links[0].value).length == 0){
newItem.links.push(items[i].links[0])
}
}
queryDataMappings.push(newItem);
}
})
dataMapping.queryDataMappings = queryDataMappings;
return dataMapping;
}
}
Event Timeline
Log In to Comment