in modules/quanthub_indicator/src/Plugin/search_api/processor/QuanthubIndicatorProcessor.php [357:391]
public function loadIndicators($items) {
$datasets_indicators_data = [];
// Find all datasets from indicator search items.
foreach ($items as $item) {
$entity = $item->getOriginalObject()->getValue();
if ($entity->getType() == 'indicator') {
$indicator_dimension_id = $entity->field_indicator_parameter->getString();
$dataset_urn = $entity
->field_dataset
->first()
->get('entity')
->getTarget()
->getValue()
->field_quanthub_urn
->getString();
if ($item->getExtraData('indicator_id')) {
$datasets_indicators_data[$dataset_urn][] = $item->getExtraData('indicator_id');
$indicator_dimension_ids[$dataset_urn] = $indicator_dimension_id;
}
}
}
if ($datasets_indicators_data) {
foreach ($datasets_indicators_data as $datasets_urn => $dataset_indicators) {
$this->loadedIndicators[$datasets_urn] = $this->sdmxClient->datasetIndicators(
$datasets_urn,
$indicator_dimension_ids[$dataset_urn],
$dataset_indicators
);
}
}
}