public function loadIndicators()

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
        );
      }
    }
  }