mirror of
https://github.com/vale981/grapher
synced 2025-03-06 18:11:39 -05:00
25 lines
894 B
JavaScript
25 lines
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);
|
||
|
}
|