mirror of
https://github.com/vale981/grapher
synced 2025-03-06 10:01:40 -05:00
25 lines
No EOL
894 B
JavaScript
25 lines
No EOL
894 B
JavaScript
import createSearchFilters from './createSearchFilters';
|
|
import sift from 'sift';
|
|
|
|
export default (childCollectionNode) => {
|
|
const parent = childCollectionNode.parent;
|
|
|
|
const strategy = childCollectionNode.linker.strategy;
|
|
const isVirtual = childCollectionNode.linker.isVirtual();
|
|
const fieldStorage = (isVirtual)
|
|
? childCollectionNode.linker.linkConfig.relatedLinker.linkStorageField
|
|
: childCollectionNode.linker.linkStorageField;
|
|
|
|
_.each(parent.results, result => {
|
|
result[childCollectionNode.linkName] = assembleData(childCollectionNode, result, {
|
|
fieldStorage, strategy, isVirtual
|
|
})
|
|
})
|
|
}
|
|
|
|
function assembleData(childCollectionNode, result, {fieldStorage, strategy, isVirtual}) {
|
|
|
|
const filters = createSearchFilters(result, fieldStorage, strategy, isVirtual);
|
|
|
|
return sift(filters, childCollectionNode.results);
|
|
} |