You are here

class SearchApiEntityField in Search API 8

Displays entity field data.

Plugin annotation

@ViewsField("search_api_field");

Hierarchy

Expanded class hierarchy of SearchApiEntityField

1 file declares its use of SearchApiEntityField
EntityFieldRenderer.php in src/Plugin/views/EntityFieldRenderer.php

File

src/Plugin/views/field/SearchApiEntityField.php, line 23

Namespace

Drupal\search_api\Plugin\views\field
View source
class SearchApiEntityField extends EntityField {
  use SearchApiFieldTrait {
    preRender as traitPreRender;
  }

  /**
   * The parent path of this property.
   *
   * NULL for properties of a result item.
   *
   * @var string|null
   */
  protected $parentPath;

  /**
   * Fallback handler for this field, if Field API rendering should not be used.
   *
   * @var \Drupal\views\Plugin\views\field\FieldHandlerInterface
   */
  protected $fallbackHandler;

  /**
   * {@inheritdoc}
   */
  public function init(ViewExecutable $view, DisplayPluginBase $display, array &$options = NULL) {

    // Prepare our fallback handler.
    $fallback_handler_id = $this->definition['fallback_handler'] ?? 'search_api';
    $this->fallbackHandler = Views::handlerManager('field')
      ->getHandler($options, $fallback_handler_id);
    $options += [
      'fallback_options' => [],
    ];
    $fallback_options = $options['fallback_options'] + $options;
    $this->fallbackHandler
      ->init($view, $display, $fallback_options);
    parent::init($view, $display, $options);
  }

  /**
   * {@inheritdoc}
   */
  public function query($use_groupby = FALSE) {

    // If we're not using Field API field rendering, just use the query()
    // implementation of the fallback handler.
    if (!$this->options['field_rendering']) {
      $this->fallbackHandler
        ->query();
      return;
    }

    // If we do use Field API rendering, we need the entity object for the
    // parent property.
    $parent_path = $this
      ->getParentPath();
    $property_path = $parent_path ? "{$parent_path}:_object" : '_object';
    $combined_property_path = Utility::createCombinedId($this
      ->getDatasourceId(), $property_path);
    $this
      ->addRetrievedProperty($combined_property_path);
  }

  /**
   * Retrieves the property path of the parent property.
   *
   * @return string|null
   *   The property path of the parent property.
   */
  public function getParentPath() {
    if (!isset($this->parentPath)) {
      $combined_property_path = $this
        ->getCombinedPropertyPath();
      list(, $property_path) = Utility::splitCombinedId($combined_property_path);
      list($this->parentPath) = Utility::splitPropertyPath($property_path);
    }
    return $this->parentPath;
  }

  /**
   * {@inheritdoc}
   */
  public function defineOptions() {
    $options = parent::defineOptions();

    // Gather the fallback handler's options, but exclude those just inherited
    // from the field plugin base (since they would otherwise be duplicated).
    // To find out which options should be excluded, we take the $options keys
    // from the parent and remove the keys that come directly from the parent.
    $fallback_options = [];
    $fallback_define_options = [
      $this->fallbackHandler,
      'defineOptions',
    ];
    if (is_callable($fallback_define_options)) {
      $fallback_options = call_user_func($fallback_define_options);
      $parent_keys = $this
        ->getParentOptionKeys();
      $remove_from_fallback = array_diff_key($options, array_flip($parent_keys));
      $fallback_options = array_diff_key($fallback_options, $remove_from_fallback);
    }
    $options['field_rendering'] = [
      'default' => TRUE,
    ];
    $options['fallback_handler'] = [
      'default' => $this->fallbackHandler
        ->getPluginId(),
    ];
    $options['fallback_options'] = [
      'contains' => $fallback_options,
    ];
    return $options;
  }

  /**
   * Retrieves the keys of the options defined by our direct parent.
   *
   * That is, this will exclude all options defined by
   * \Drupal\views\Plugin\views\field\FieldPluginBase, and only include those
   * defined by \Drupal\views\Plugin\views\field\EntityField.
   *
   * @param bool $form_only
   *   (optional) If TRUE, return those fields that will be displayed as the
   *   top-most elements in the config form. Otherwise, return all options
   *   defined by the direct parent handler.
   *
   * @return string[]
   *   The keys of options directly defined by our parent class or, if
   *   $form_only was passed, those that would be displayed in its config form.
   */
  protected function getParentOptionKeys($form_only = FALSE) {
    $options = [
      'click_sort_column',
      'type',
      'field_api_classes',
      'settings',
    ];
    if ($form_only) {
      $options[] = 'multiple_field_settings';
      return $options;
    }
    $options = array_merge($options, [
      'group_column',
      'group_columns',
      'group_rows',
      'delta_limit',
      'delta_offset',
      'delta_reversed',
      'delta_first_last',
      'multi_type',
      'separator',
    ]);
    return $options;
  }

  /**
   * {@inheritdoc}
   */
  public function buildOptionsForm(&$form, FormStateInterface $form_state) {
    $form['field_rendering'] = [
      '#type' => 'checkbox',
      '#title' => $this
        ->t('Use entity field rendering'),
      '#description' => $this
        ->t("If checked, Drupal's built-in field rendering mechanism will be used for rendering this field's values, which requires the entity to be loaded. If unchecked, a type-specific, entity-independent rendering mechanism will be used."),
      '#default_value' => $this->options['field_rendering'],
    ];

    // Wrap the (immediate) parent options in their own field set, to clean up
    // the UI when (un)checking the above checkbox.
    $form['parent_options'] = [
      '#type' => 'fieldset',
      '#title' => $this
        ->t('Render settings'),
      '#states' => [
        'visible' => [
          ':input[name="options[field_rendering]"]' => [
            'checked' => TRUE,
          ],
        ],
      ],
    ];

    // Include the parent options form and move all fields that were added by
    // our direct parent (\Drupal\views\Plugin\views\field\Field) to the
    // "parent_options" fieldset.
    parent::buildOptionsForm($form, $form_state);
    $parent_keys = $this
      ->getParentOptionKeys(TRUE);
    foreach ($parent_keys as $key) {
      if (!empty($form[$key])) {
        $form[$key]['#fieldset'] = 'parent_options';
      }
    }

    // The Core boolean formatter hard-codes the field name to "field_boolean".
    // This breaks the parent class's call of rewriteStatesSelector() for fixing
    // "#states". We therefore apply that behavior again here.
    if (!empty($form['settings'])) {
      FormHelper::rewriteStatesSelector($form['settings'], "fields[field_boolean][settings_edit_form]", 'options');
    }

    // Get the options form for the fallback handler.
    $fallback_form = [];
    $this->fallbackHandler
      ->buildOptionsForm($fallback_form, $form_state);

    // Remove all fields from FieldPluginBase from the fallback form, but leave
    // those in that were only added by our immediate parent,
    // \Drupal\views\Plugin\views\field\Field. (For example, the "type" option
    // is especially prone to conflicts here.) The others come from the plugin
    // base classes and will be identical, so it would be confusing to include
    // them twice.
    $parent_keys[] = '#pre_render';
    $remove_from_fallback = array_diff_key($form, array_flip($parent_keys));
    $fallback_form = array_diff_key($fallback_form, $remove_from_fallback);

    // Fix the "#states" selectors in the fallback form, and put an additional
    // "#states" directive on it to only be visible for the corresponding
    // "field_rendering" setting.
    if ($fallback_form) {
      FormHelper::rewriteStatesSelector($fallback_form, '"options[', '"options[fallback_options][');
      $form['fallback_options'] = $fallback_form;
      $form['fallback_options']['#type'] = 'fieldset';
      $form['fallback_options']['#title'] = $this
        ->t('Render settings');
      $form['fallback_options']['#states']['visible'][':input[name="options[field_rendering]"]'] = [
        'checked' => FALSE,
      ];
    }
  }

  /**
   * {@inheritdoc}
   */
  public function preRender(&$values) {
    if ($this->options['field_rendering']) {
      $this
        ->traitPreRender($values);
      parent::preRender($values);
    }
    else {
      $this->fallbackHandler
        ->preRender($values);
    }
  }

  /**
   * {@inheritdoc}
   */
  public function render(ResultRow $values) {
    if (!$this->options['field_rendering']) {
      return $this->fallbackHandler
        ->render($values);
    }
    return parent::render($values);
  }

  /**
   * {@inheritdoc}
   */
  public function render_item($count, $item) {
    if (!$this->options['field_rendering']) {
      if ($this->fallbackHandler instanceof MultiItemsFieldHandlerInterface) {
        return $this->fallbackHandler
          ->render_item($count, $item);
      }
      return '';
    }
    return parent::render_item($count, $item);
  }

  /**
   * {@inheritdoc}
   */
  protected function getEntityFieldRenderer() {
    if (!isset($this->entityFieldRenderer)) {

      // This can be invoked during field handler initialization in which case
      // view fields are not set yet.
      foreach ($this->view->field ?? [] as $field) {

        // An entity field renderer can handle only a single relationship.
        if (($field->entityFieldRenderer ?? NULL) instanceof EntityFieldRenderer && $field->entityFieldRenderer
          ->compatibleWithField($this)) {
          $this->entityFieldRenderer = $field->entityFieldRenderer;
          break;
        }
      }
      if (!isset($this->entityFieldRenderer)) {
        $entity_type = $this->entityTypeManager
          ->getDefinition($this
          ->getEntityType());
        $this->entityFieldRenderer = new EntityFieldRenderer($this->view, $this->relationship, $this->languageManager, $entity_type, $this->entityTypeManager, $this->entityRepository);
        $this->entityFieldRenderer
          ->setDatasourceId($this
          ->getDatasourceId())
          ->setParentPath($this
          ->getParentPath());
      }
    }
    return $this->entityFieldRenderer;
  }

  /**
   * {@inheritdoc}
   */
  public function getItems(ResultRow $values) {
    if (!$this->options['field_rendering']) {
      if ($this->fallbackHandler instanceof MultiItemsFieldHandlerInterface) {
        return $this->fallbackHandler
          ->getItems($values);
      }
      return [];
    }
    if ($values->search_api_datasource != $this
      ->getDatasourceId()) {
      return [];
    }
    $parent_path = $this
      ->getParentPath();
    $combined_parent_path = $this
      ->createCombinedPropertyPath($this
      ->getDatasourceId(), $parent_path);
    if (empty($values->_relationship_objects[$combined_parent_path])) {
      return [];
    }
    $build = [];
    foreach (array_keys($values->_relationship_objects[$combined_parent_path]) as $i) {
      $this->valueIndex = $i;
      $build[] = parent::getItems($values);
    }
    return $build ? call_user_func_array('array_merge', $build) : [];
  }

  /**
   * {@inheritdoc}
   */
  public function renderItems($items) {
    if (!$this->options['field_rendering']) {
      if ($this->fallbackHandler instanceof MultiItemsFieldHandlerInterface) {
        return $this->fallbackHandler
          ->renderItems($items);
      }
      return '';
    }
    return parent::renderItems($items);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
DependencySerializationTrait::$_entityStorages protected property An array of entity type IDs keyed by the property name of their storages.
DependencySerializationTrait::$_serviceIds protected property An array of service IDs keyed by property name used for serialization.
DependencySerializationTrait::__sleep public function 1
DependencySerializationTrait::__wakeup public function 2
DependencyTrait::$dependencies protected property The object's dependencies.
DependencyTrait::addDependencies protected function Adds multiple dependencies.
DependencyTrait::addDependency protected function Adds a dependency.
DeprecatedServicePropertyTrait::__get public function Allows to access deprecated/removed properties.
EntityField::$base_table public property A shortcut for $view->base_table.
EntityField::$deprecatedProperties protected property
EntityField::$entityFieldRenderer protected property Static cache for ::getEntityFieldRenderer().
EntityField::$entityRepository protected property The entity repository service.
EntityField::$fieldTypePluginManager protected property The field type plugin manager.
EntityField::$formatterOptions protected property An array of formatter options.
EntityField::$formatterPluginManager protected property The field formatter plugin manager.
EntityField::$items public property An array to store field renderable arrays for use by renderItems().
EntityField::$languageManager protected property The language manager.
EntityField::$limit_values public property Does the rendered fields get limited.
EntityField::$multiple public property Does the field supports multiple field values.
EntityField::$renderer protected property The renderer. Overrides FieldPluginBase::$renderer
EntityField::access public function Check whether given user has access to this handler. Overrides HandlerBase::access
EntityField::addSelfTokens protected function Add any special tokens this field might use for itself. Overrides FieldPluginBase::addSelfTokens
EntityField::add_field_table public function Determine if the field table should be added to the query.
EntityField::buildGroupByForm public function Extend the groupby form with group columns. Overrides HandlerBase::buildGroupByForm
EntityField::calculateDependencies public function Calculates dependencies for the configured plugin. Overrides HandlerBase::calculateDependencies
EntityField::create public static function Creates an instance of the plugin. Overrides PluginBase::create
EntityField::createEntityForGroupBy protected function Creates a fake entity with grouped field values.
EntityField::documentSelfTokens protected function Document any special tokens this field might use for itself. Overrides FieldPluginBase::documentSelfTokens
EntityField::getCacheContexts public function The cache contexts associated with this object. Overrides CacheableDependencyInterface::getCacheContexts
EntityField::getCacheMaxAge public function The maximum age for which this object may be cached. Overrides CacheableDependencyInterface::getCacheMaxAge
EntityField::getCacheTags public function The cache tags associated with this object. Overrides CacheableDependencyInterface::getCacheTags
EntityField::getFieldStorageDefinition protected function Gets the field storage definition. Overrides FieldAPIHandlerTrait::getFieldStorageDefinition
EntityField::getFormatterInstance protected function Returns the field formatter instance.
EntityField::getTableMapping protected function Gets the table mapping for the entity type of the field.
EntityField::multiple_options_form public function Provide options for multiple value fields.
EntityField::onDependencyRemoval public function Allows a plugin to define whether it should be removed. Overrides DependentWithRemovalPluginInterface::onDependencyRemoval
EntityField::prepareItemsByDelta protected function Adapts the $items according to the delta configuration.
EntityField::submitFormCalculateOptions public function Calculates options stored on the handler Overrides HandlerBase::submitFormCalculateOptions
EntityField::submitGroupByForm public function Perform any necessary changes to the form values prior to storage. There is no need for this function to actually store the data. Overrides HandlerBase::submitGroupByForm
EntityField::__construct public function Constructs a \Drupal\field\Plugin\views\field\Field object. Overrides HandlerBase::__construct 1
FieldAPIHandlerTrait::$entityFieldManager protected property The entity field manager.
FieldAPIHandlerTrait::$fieldDefinition protected property The field definition.
FieldAPIHandlerTrait::$fieldStorageDefinition protected property The field storage definition.
FieldAPIHandlerTrait::getEntityFieldManager protected function Returns the entity field manager.
FieldAPIHandlerTrait::getEntityManager Deprecated protected function Returns the entity manager.
FieldAPIHandlerTrait::getFieldDefinition protected function Gets the field definition.
FieldPluginBase::$additional_fields public property Stores additional fields which get added to the query.
FieldPluginBase::$aliases public property
FieldPluginBase::$field_alias public property
FieldPluginBase::$lastRenderIndex protected property Keeps track of the last render index.
FieldPluginBase::$linkGenerator protected property The link generator.
FieldPluginBase::$original_value public property The field value prior to any rewriting.
FieldPluginBase::addAdditionalFields protected function Add 'additional' fields to the query.
FieldPluginBase::adminLabel public function Return a string representing this handler's name in the UI. Overrides HandlerBase::adminLabel
FieldPluginBase::adminSummary public function Provide extra data to the administration form Overrides HandlerBase::adminSummary
FieldPluginBase::advancedRender public function Renders a field using advanced settings. Overrides FieldHandlerInterface::advancedRender
FieldPluginBase::allowAdvancedRender protected function Determine if this field can allow advanced rendering.
FieldPluginBase::elementClasses public function Returns the class of the field. Overrides FieldHandlerInterface::elementClasses
FieldPluginBase::elementLabelClasses public function Returns the class of the field's label. Overrides FieldHandlerInterface::elementLabelClasses
FieldPluginBase::elementLabelType public function Returns an HTML element for the label based upon the field's element type. Overrides FieldHandlerInterface::elementLabelType
FieldPluginBase::elementType public function Returns an HTML element based upon the field's element type. Overrides FieldHandlerInterface::elementType 1
FieldPluginBase::elementWrapperClasses public function Returns the class of the field's wrapper. Overrides FieldHandlerInterface::elementWrapperClasses
FieldPluginBase::elementWrapperType public function Returns an HTML element for the wrapper based upon the field's element type. Overrides FieldHandlerInterface::elementWrapperType
FieldPluginBase::getElements public function Provides a list of elements valid for field HTML. Overrides FieldHandlerInterface::getElements
FieldPluginBase::getFieldTokenPlaceholder protected function Returns a token placeholder for the current field.
FieldPluginBase::getPreviousFieldLabels protected function Returns all field labels of fields before this field.
FieldPluginBase::getRenderTokens public function Gets the 'render' tokens to use for advanced rendering. Overrides FieldHandlerInterface::getRenderTokens
FieldPluginBase::getTokenValuesRecursive protected function Recursive function to add replacements for nested query string parameters.
FieldPluginBase::isValueEmpty public function Checks if a field value is empty. Overrides FieldHandlerInterface::isValueEmpty
FieldPluginBase::label public function Gets this field's label. Overrides FieldHandlerInterface::label
FieldPluginBase::linkGenerator protected function Gets the link generator.
FieldPluginBase::postRender public function Runs after every field has been rendered. Overrides FieldHandlerInterface::postRender
FieldPluginBase::renderAltered protected function Render this field as user-defined altered text.
FieldPluginBase::renderAsLink protected function Render this field as a link, with the info from a fieldset set by the user.
FieldPluginBase::renderText public function Performs an advanced text render for the item. Overrides FieldHandlerInterface::renderText
FieldPluginBase::renderTrimText protected function Trims the field down to the specified length.
FieldPluginBase::RENDER_TEXT_PHASE_COMPLETELY constant Indicator of the renderText() method for rendering the whole element. (if no render_item() method is available).
FieldPluginBase::RENDER_TEXT_PHASE_EMPTY constant Indicator of the renderText() method for rendering the empty text.
FieldPluginBase::RENDER_TEXT_PHASE_SINGLE_ITEM constant Indicator of the renderText() method for rendering a single item. (If no render_item() is present).
FieldPluginBase::submitOptionsForm public function Performs some cleanup tasks on the options array before saving it. Overrides PluginBase::submitOptionsForm 1
FieldPluginBase::theme public function Passes values to drupal_render() using $this->themeFunctions() as #theme. Overrides FieldHandlerInterface::theme
FieldPluginBase::themeFunctions public function Provide a full list of possible theme templates used by this style. Overrides PluginBase::themeFunctions
FieldPluginBase::tokenizeValue public function Replaces a value with tokens from the last field. Overrides FieldHandlerInterface::tokenizeValue
FieldPluginBase::trimText public static function Trims the field down to the specified length.
FieldPluginBase::useStringGroupBy public function Determines if this field will be available as an option to group the result by in the style settings. Overrides FieldHandlerInterface::useStringGroupBy
HandlerBase::$field public property With field you can override the realField if the real field is not set.
HandlerBase::$moduleHandler protected property The module handler. 3
HandlerBase::$query public property Where the $query object will reside: 7
HandlerBase::$realField public property The actual field in the database table, maybe different on other kind of query plugins/special handlers.
HandlerBase::$relationship public property The relationship used for this field.
HandlerBase::$table public property The table this handler is attached to.
HandlerBase::$tableAlias public property The alias of the table of this handler which is used in the query.
HandlerBase::$viewsData protected property The views data service.
HandlerBase::acceptExposedInput public function Take input from exposed handlers and assign to this handler, if necessary. 1
HandlerBase::breakString public static function Breaks x,y,z and x+y+z into an array. Overrides ViewsHandlerInterface::breakString
HandlerBase::broken public function Determines if the handler is considered 'broken', meaning it's a placeholder used when a handler can't be found. Overrides ViewsHandlerInterface::broken
HandlerBase::buildExposedForm public function Render our chunk of the exposed handler form when selecting 1
HandlerBase::buildExposeForm public function Form for exposed handler options. 2
HandlerBase::buildExtraOptionsForm public function Provide a form for setting options. 1
HandlerBase::canExpose public function Determine if a handler can be exposed. 2
HandlerBase::caseTransform protected function Transform a string by a certain method.
HandlerBase::defaultExposeOptions public function Set new exposed option defaults when exposed setting is flipped on. 2
HandlerBase::defineExtraOptions public function Provide defaults for the handler.
HandlerBase::displayExposedForm public function Displays the Expose form.
HandlerBase::exposedInfo public function Get information about the exposed form for the form renderer. 1
HandlerBase::getDateField public function Creates cross-database SQL dates. 2
HandlerBase::getDateFormat public function Creates cross-database SQL date formatting. 2
HandlerBase::getField public function Shortcut to get a handler's raw field value. Overrides ViewsHandlerInterface::getField
HandlerBase::getJoin public function Get the join object that should be used for this handler. Overrides ViewsHandlerInterface::getJoin
HandlerBase::getModuleHandler protected function Gets the module handler.
HandlerBase::getTableJoin public static function Fetches a handler to join one table to a primary table from the data cache. Overrides ViewsHandlerInterface::getTableJoin
HandlerBase::getViewsData protected function Gets views data service.
HandlerBase::hasExtraOptions public function If a handler has 'extra options' it will get a little settings widget and another form called extra_options. 1
HandlerBase::isAGroup public function Returns TRUE if the exposed filter works like a grouped filter. 1
HandlerBase::isExposed public function Determine if this item is 'exposed', meaning it provides form elements to let users modify the view.
HandlerBase::multipleExposedInput public function Define if the exposed input has to be submitted multiple times. This is TRUE when exposed filters grouped are using checkboxes as widgets. 1
HandlerBase::placeholder protected function Provides a unique placeholders for handlers.
HandlerBase::postExecute public function Run after the view is executed, before the result is cached. Overrides ViewsHandlerInterface::postExecute
HandlerBase::preQuery public function Run before the view is built. Overrides ViewsHandlerInterface::preQuery 2
HandlerBase::setModuleHandler public function Sets the module handler.
HandlerBase::setRelationship public function Called just prior to query(), this lets a handler set up any relationship it needs. Overrides ViewsHandlerInterface::setRelationship
HandlerBase::setViewsData public function
HandlerBase::showExposeButton public function Shortcut to display the expose/hide button. 2
HandlerBase::showExposeForm public function Shortcut to display the exposed options form. Overrides ViewsHandlerInterface::showExposeForm
HandlerBase::storeExposedInput public function If set to remember exposed input in the session, store it there. 1
HandlerBase::submitExposed public function Submit the exposed handler form
HandlerBase::submitExposeForm public function Perform any necessary changes to the form exposes prior to storage. There is no need for this function to actually store the data.
HandlerBase::submitExtraOptionsForm public function Perform any necessary changes to the form values prior to storage. There is no need for this function to actually store the data.
HandlerBase::submitTemporaryForm public function A submit handler that is used for storing temporary items when using multi-step changes, such as ajax requests.
HandlerBase::usesGroupBy public function Provides the handler some groupby. 13
HandlerBase::validate public function Validate that the plugin is correct and can be saved. Overrides PluginBase::validate 2
HandlerBase::validateExposed public function Validate the exposed handler form 4
HandlerBase::validateExposeForm public function Validate the options form. 1
HandlerBase::validateExtraOptionsForm public function Validate the options form.
LoggerTrait::$logger protected property The logging channel to use.
LoggerTrait::getLogger public function Retrieves the logger.
LoggerTrait::logException protected function Logs an exception.
LoggerTrait::setLogger public function Sets the logger.
MessengerTrait::$messenger protected property The messenger. 29
MessengerTrait::messenger public function Gets the messenger. 29
MessengerTrait::setMessenger public function Sets the messenger.
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::$definition public property Plugins's definition
PluginBase::$displayHandler public property The display object this plugin is for.
PluginBase::$options public property Options for this plugin will be held here.
PluginBase::$pluginDefinition protected property The plugin implementation definition. 1
PluginBase::$pluginId protected property The plugin_id.
PluginBase::$usesOptions protected property Denotes whether the plugin has an additional options form. 8
PluginBase::$view public property The top object of a view. 1
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
PluginBase::destroy public function Clears a plugin. Overrides ViewsPluginInterface::destroy 2
PluginBase::doFilterByDefinedOptions protected function Do the work to filter out stored options depending on the defined options.
PluginBase::filterByDefinedOptions public function Filter out stored options depending on the defined options. Overrides ViewsPluginInterface::filterByDefinedOptions
PluginBase::getAvailableGlobalTokens public function Returns an array of available token replacements. Overrides ViewsPluginInterface::getAvailableGlobalTokens
PluginBase::getBaseId public function Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface::getBaseId
PluginBase::getDerivativeId public function Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface::getDerivativeId
PluginBase::getPluginDefinition public function Gets the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition 3
PluginBase::getPluginId public function Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId
PluginBase::getProvider public function Returns the plugin provider. Overrides ViewsPluginInterface::getProvider
PluginBase::globalTokenForm public function Adds elements for available core tokens to a form. Overrides ViewsPluginInterface::globalTokenForm
PluginBase::globalTokenReplace public function Returns a string with any core tokens replaced. Overrides ViewsPluginInterface::globalTokenReplace
PluginBase::INCLUDE_ENTITY constant Include entity row languages when listing languages.
PluginBase::INCLUDE_NEGOTIATED constant Include negotiated languages when listing languages.
PluginBase::isConfigurable public function Determines if the plugin is configurable.
PluginBase::listLanguages protected function Makes an array of languages, optionally including special languages.
PluginBase::pluginTitle public function Return the human readable name of the display. Overrides ViewsPluginInterface::pluginTitle
PluginBase::preRenderAddFieldsetMarkup public static function Moves form elements into fieldsets for presentation purposes. Overrides ViewsPluginInterface::preRenderAddFieldsetMarkup
PluginBase::preRenderFlattenData public static function Flattens the structure of form elements. Overrides ViewsPluginInterface::preRenderFlattenData
PluginBase::queryLanguageSubstitutions public static function Returns substitutions for Views queries for languages.
PluginBase::setOptionDefaults protected function Fills up the options of the plugin with defaults.
PluginBase::summaryTitle public function Returns the summary of the settings in the display. Overrides ViewsPluginInterface::summaryTitle 6
PluginBase::trustedCallbacks public static function Lists the trusted callbacks provided by the implementing class. Overrides TrustedCallbackInterface::trustedCallbacks 6
PluginBase::unpackOptions public function Unpack options over our existing defaults, drilling down into arrays so that defaults don't get totally blown away. Overrides ViewsPluginInterface::unpackOptions
PluginBase::usesOptions public function Returns the usesOptions property. Overrides ViewsPluginInterface::usesOptions 8
PluginBase::validateOptionsForm public function Validate the options form. Overrides ViewsPluginInterface::validateOptionsForm 15
PluginBase::viewsTokenReplace protected function Replaces Views' tokens in a given string. The resulting string will be sanitized with Xss::filterAdmin. 1
PluginBase::VIEWS_QUERY_LANGUAGE_SITE_DEFAULT constant Query string to indicate the site default language.
PluginDependencyTrait::calculatePluginDependencies protected function Calculates and adds dependencies of a specific plugin instance. 1
PluginDependencyTrait::getPluginDependencies protected function Calculates and returns dependencies of a specific plugin instance.
PluginDependencyTrait::moduleHandler protected function Wraps the module handler. 1
PluginDependencyTrait::themeHandler protected function Wraps the theme handler. 1
SearchApiEntityField::$fallbackHandler protected property Fallback handler for this field, if Field API rendering should not be used.
SearchApiEntityField::$parentPath protected property The parent path of this property.
SearchApiEntityField::buildOptionsForm public function Provide a form to edit options for this plugin. Overrides SearchApiFieldTrait::buildOptionsForm
SearchApiEntityField::defineOptions public function Defines the options used by this plugin. Overrides SearchApiFieldTrait::defineOptions
SearchApiEntityField::getEntityFieldRenderer protected function Returns the entity field renderer. Overrides EntityField::getEntityFieldRenderer
SearchApiEntityField::getItems public function Gets an array of items for the field. Overrides SearchApiFieldTrait::getItems
SearchApiEntityField::getParentOptionKeys protected function Retrieves the keys of the options defined by our direct parent.
SearchApiEntityField::getParentPath public function Retrieves the property path of the parent property.
SearchApiEntityField::init public function Initialize the plugin. Overrides EntityField::init
SearchApiEntityField::preRender public function Runs before any fields are rendered. Overrides EntityField::preRender
SearchApiEntityField::query public function Add anything to the query that we might need to. Overrides SearchApiFieldTrait::query
SearchApiEntityField::render public function Renders the field. Overrides FieldPluginBase::render
SearchApiEntityField::renderItems public function Renders all items in this field together. Overrides SearchApiFieldTrait::renderItems
SearchApiEntityField::render_item public function Renders a single item of a row. Overrides SearchApiFieldTrait::render_item
SearchApiFieldTrait::$accessAccount protected property The account to use for access checks for this search.
SearchApiFieldTrait::$combinedPropertyPath protected property The combined property path of this field.
SearchApiFieldTrait::$datasourceId protected property The datasource ID of this field, if any.
SearchApiFieldTrait::$entityTypeManager protected property The entity type manager.
SearchApiFieldTrait::$fieldsHelper protected property The fields helper.
SearchApiFieldTrait::$overriddenValues protected property Contains overridden values to be returned on the next getValue() call.
SearchApiFieldTrait::$propertyReplacements protected property Array of replacement property paths to use when getting field values.
SearchApiFieldTrait::$retrievedProperties protected property Contains the properties needed by this field handler.
SearchApiFieldTrait::$skipAccessChecks protected property Associative array keyed by property paths for which to skip access checks.
SearchApiFieldTrait::$typedDataManager protected property The typed data manager.
SearchApiFieldTrait::$valueIndex protected property Index in the current row's field values that is currently displayed.
SearchApiFieldTrait::addRetrievedProperty protected function Adds a property to be retrieved.
SearchApiFieldTrait::checkEntityAccess protected function Checks whether the searching user has access to the given value.
SearchApiFieldTrait::checkHighlighting protected function Replaces extracted property values with highlighted field values.
SearchApiFieldTrait::clickSort public function Adds an ORDER BY clause to the query for click sort columns.
SearchApiFieldTrait::clickSortable public function Determines if this field is click sortable.
SearchApiFieldTrait::combineHighlightedValues protected function Combines raw field values with highlighted ones to get a complete set.
SearchApiFieldTrait::createCombinedPropertyPath protected function Creates a combined property path.
SearchApiFieldTrait::expandRequiredProperties protected function Expands the properties to retrieve for this field.
SearchApiFieldTrait::extractProcessorProperty protected function Extracts a processor-based property from an item.
SearchApiFieldTrait::extractPropertyValues protected function Places extracted property values and objects into the result row.
SearchApiFieldTrait::getCombinedPropertyPath public function Retrieves the combined property path of this field.
SearchApiFieldTrait::getDatasourceId public function Retrieves the ID of the datasource to which this field belongs.
SearchApiFieldTrait::getEntity public function Gets the entity matching the current row and relationship. 1
SearchApiFieldTrait::getEntityTypeManager public function Retrieves the entity type manager.
SearchApiFieldTrait::getFieldsHelper public function Retrieves the fields helper.
SearchApiFieldTrait::getItemUrl protected function Retrieves an alter options array for linking the given value to its item.
SearchApiFieldTrait::getRenderer abstract protected function Returns the Render API renderer.
SearchApiFieldTrait::getTypedDataManager public function Retrieves the typed data manager.
SearchApiFieldTrait::getValue public function Retrieves the value that's supposed to be rendered.
SearchApiFieldTrait::getValuesToExtract protected function Determines and prepares the property values that need to be extracted.
SearchApiFieldTrait::isActiveForRow protected function Determines whether this field is active for the given row. 1
SearchApiFieldTrait::isMultiple public function Determines whether this field can have multiple values.
SearchApiFieldTrait::preLoadResultItems protected function Pre-loads the result objects, where necessary.
SearchApiFieldTrait::preRender public function Runs before any fields are rendered. Aliased as: traitPreRender 1
SearchApiFieldTrait::sanitizeValue public function Sanitizes the value for output.
SearchApiFieldTrait::setEntityTypeManager public function Sets the entity type manager.
SearchApiFieldTrait::setFieldsHelper public function Sets the fields helper.
SearchApiFieldTrait::setTypedDataManager public function Sets the typed data manager.
SearchApiHandlerTrait::ensureMyTable public function Overrides the Views handlers' ensureMyTable() method.
SearchApiHandlerTrait::getEntityType public function Determines the entity type used by this handler. 1
SearchApiHandlerTrait::getIndex protected function Returns the active search index.
SearchApiHandlerTrait::getQuery public function Retrieves the query plugin.
StringTranslationTrait::$stringTranslation protected property The string translation service. 1
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.
TrustedCallbackInterface::THROW_EXCEPTION constant Untrusted callbacks throw exceptions.
TrustedCallbackInterface::TRIGGER_SILENCED_DEPRECATION constant Untrusted callbacks trigger silenced E_USER_DEPRECATION errors.
TrustedCallbackInterface::TRIGGER_WARNING constant Untrusted callbacks trigger E_USER_WARNING errors.