class ShowTextWhenEmptyProcessor in Facets 8
Provides a processor that shows a text when there are no results.
Plugin annotation
@SummaryProcessor(
  id = "show_text_when_empty",
  label = @Translation("Show a text when there are no results"),
  description = @Translation("Show a text when there are no results, otherwise it will hide the block."),
  default_enabled = TRUE,
  stages = {
    "build" = 10
  }
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait- class \Drupal\facets_summary\Processor\ProcessorPluginBase implements ProcessorInterface- class \Drupal\facets_summary\Plugin\facets_summary\processor\ShowTextWhenEmptyProcessor implements BuildProcessorInterface
 
 
- class \Drupal\facets_summary\Processor\ProcessorPluginBase implements ProcessorInterface
 
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of ShowTextWhenEmptyProcessor
1 file declares its use of ShowTextWhenEmptyProcessor
- ShowTextWhenEmptyProcessorTest.php in modules/facets_summary/ tests/ src/ Unit/ Plugin/ Processor/ ShowTextWhenEmptyProcessorTest.php 
File
- modules/facets_summary/ src/ Plugin/ facets_summary/ processor/ ShowTextWhenEmptyProcessor.php, line 23 
Namespace
Drupal\facets_summary\Plugin\facets_summary\processorView source
class ShowTextWhenEmptyProcessor extends ProcessorPluginBase implements BuildProcessorInterface {
  /**
   * {@inheritdoc}
   */
  public function build(FacetsSummaryInterface $facets_summary, array $build, array $facets) {
    $config = $this
      ->getConfiguration();
    $results_count = array_sum(array_map(function ($it) {
      /** @var \Drupal\facets\FacetInterface $it */
      return count($it
        ->getResults());
    }, $facets));
    // No items are found, so we should return the empty summary.
    if (!isset($build['#items']) || $results_count === 0) {
      return [
        '#theme' => 'facets_summary_empty',
        '#message' => [
          '#type' => 'processed_text',
          '#text' => $config['text']['value'],
          '#format' => $config['text']['format'],
        ],
      ];
    }
    // Return the actual items.
    return $build;
  }
  /**
   * {@inheritdoc}
   */
  public function buildConfigurationForm(array $form, FormStateInterface $form_state, FacetsSummaryInterface $facets_summary) {
    // By default, there should be no config form.
    $config = $this
      ->getConfiguration();
    $build['text'] = [
      '#type' => 'text_format',
      '#title' => $this
        ->t('Empty text'),
      '#format' => $config['text']['format'],
      '#editor' => TRUE,
      '#default_value' => $config['text']['value'],
    ];
    return $build;
  }
  /**
   * {@inheritdoc}
   */
  public function defaultConfiguration() {
    return [
      'text' => [
        'format' => 'plain_text',
        'value' => $this
          ->t('No results found.'),
      ],
    ];
  }
}Members
| Name   | Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| DependencySerializationTrait:: | protected | property | An array of entity type IDs keyed by the property name of their storages. | |
| DependencySerializationTrait:: | protected | property | An array of service IDs keyed by property name used for serialization. | |
| DependencySerializationTrait:: | public | function | 1 | |
| DependencySerializationTrait:: | public | function | 2 | |
| MessengerTrait:: | protected | property | The messenger. | 29 | 
| MessengerTrait:: | public | function | Gets the messenger. | 29 | 
| MessengerTrait:: | public | function | Sets the messenger. | |
| PluginBase:: | protected | property | Configuration information passed into the plugin. | 1 | 
| PluginBase:: | protected | property | The plugin implementation definition. | 1 | 
| PluginBase:: | protected | property | The plugin_id. | |
| PluginBase:: | constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
| PluginBase:: | public | function | Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: | |
| PluginBase:: | public | function | Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: | |
| PluginBase:: | public | function | Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: | 3 | 
| PluginBase:: | public | function | Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: | |
| PluginBase:: | public | function | Determines if the plugin is configurable. | |
| PluginBase:: | public | function | Constructs a \Drupal\Component\Plugin\PluginBase object. | 92 | 
| ProcessorInterface:: | constant | Processing stage: build. | ||
| ProcessorPluginBase:: | public | function | Calculates dependencies for the configured plugin. Overrides DependentPluginInterface:: | |
| ProcessorPluginBase:: | public | function | Gets this plugin's configuration. Overrides ConfigurableInterface:: | |
| ProcessorPluginBase:: | public | function | Returns the default weight for a specific processing stage. Overrides ProcessorInterface:: | |
| ProcessorPluginBase:: | public | function | Retrieves the processor description. Overrides ProcessorInterface:: | |
| ProcessorPluginBase:: | public | function | Determines whether this processor should be hidden from the user. Overrides ProcessorInterface:: | |
| ProcessorPluginBase:: | public | function | Determines whether this processor should always be enabled. Overrides ProcessorInterface:: | |
| ProcessorPluginBase:: | public | function | Sets the configuration for this plugin instance. Overrides ConfigurableInterface:: | |
| ProcessorPluginBase:: | public | function | Submits a configuration form for this processor. Overrides ProcessorInterface:: | |
| ProcessorPluginBase:: | public | function | Checks whether this processor implements a particular stage. Overrides ProcessorInterface:: | |
| ProcessorPluginBase:: | public | function | Validates a configuration form for this processor. Overrides ProcessorInterface:: | |
| ShowTextWhenEmptyProcessor:: | public | function | Alter the items in the summary before creating the renderable array. Overrides BuildProcessorInterface:: | |
| ShowTextWhenEmptyProcessor:: | public | function | Adds a configuration form for this processor. Overrides ProcessorPluginBase:: | |
| ShowTextWhenEmptyProcessor:: | public | function | Gets default configuration for this plugin. Overrides ProcessorPluginBase:: | |
| StringTranslationTrait:: | protected | property | The string translation service. | 1 | 
| StringTranslationTrait:: | protected | function | Formats a string containing a count of items. | |
| StringTranslationTrait:: | protected | function | Returns the number of plurals supported by a given language. | |
| StringTranslationTrait:: | protected | function | Gets the string translation service. | |
| StringTranslationTrait:: | public | function | Sets the string translation service to use. | 2 | 
| StringTranslationTrait:: | protected | function | Translates a string to the current language or to a given language. | 
