You are here

abstract class DsFieldTemplateBase in Display Suite 8.2

Same name and namespace in other branches
  1. 8.4 src/Plugin/DsFieldTemplate/DsFieldTemplateBase.php \Drupal\ds\Plugin\DsFieldTemplate\DsFieldTemplateBase
  2. 8.3 src/Plugin/DsFieldTemplate/DsFieldTemplateBase.php \Drupal\ds\Plugin\DsFieldTemplate\DsFieldTemplateBase

Base class for all the ds plugins.

Hierarchy

Expanded class hierarchy of DsFieldTemplateBase

1 file declares its use of DsFieldTemplateBase
TestLayout.php in tests/modules/ds_test/src/Plugin/DsFieldTemplate/TestLayout.php

File

src/Plugin/DsFieldTemplate/DsFieldTemplateBase.php, line 12

Namespace

Drupal\ds\Plugin\DsFieldTemplate
View source
abstract class DsFieldTemplateBase extends PluginBase implements DsFieldTemplateInterface {

  /**
   * The entity used for token replacement.
   *
   * @var EntityInterface
   */
  protected $entity = NULL;

  /**
   * Constructs a Display Suite field plugin.
   */
  public function __construct($configuration, $plugin_id, $plugin_definition) {
    parent::__construct($configuration, $plugin_id, $plugin_definition);
    $this->configuration += $this
      ->defaultConfiguration();
  }

  /**
   * {@inheritdoc}
   */
  public function getEntity() {
    return $this->entity;
  }

  /**
   * {@inheritdoc}
   */
  public function setEntity(EntityInterface $entity) {
    $this->entity = $entity;
  }

  /**
   * {@inheritdoc}
   */
  public function alterForm(&$form) {
    $config = $this
      ->getConfiguration();
    $form['lb'] = array(
      '#type' => 'textfield',
      '#title' => $this
        ->t('Label'),
      '#size' => '10',
      '#default_value' => $config['lb'],
    );
    $form['lb-col'] = array(
      '#type' => 'checkbox',
      '#title' => $this
        ->t('Show label colon'),
      '#default_value' => $config['lb-col'],
      '#attributes' => array(
        'class' => array(
          'colon-checkbox',
        ),
      ),
    );
    $field_classes = Ds::getClasses('field');
    if (!empty($field_classes)) {
      $form['classes'] = array(
        '#type' => 'select',
        '#multiple' => TRUE,
        '#options' => $field_classes,
        '#title' => $this
          ->t('Choose additional CSS classes for the field'),
        '#default_value' => $config['classes'],
        '#prefix' => '<div class="field-classes">',
        '#suffix' => '</div>',
      );
    }
    else {
      $form['classes'] = array(
        '#type' => 'value',
        '#value' => array(),
      );
    }
  }

  /**
   * {@inheritdoc}
   */
  public function massageRenderValues(&$field_settings, $values) {
    if (!empty($values['lb'])) {
      $field_settings['lb'] = $values['lb'];
    }
    if (!empty($values['lb-col'])) {
      $field_settings['lb-col'] = TRUE;
    }
    if (isset($values['classes'])) {
      $field_settings['classes'] = $values['classes'];
    }
  }

  /**
   * {@inheritdoc}
   */
  public function getThemeFunction() {
    return $this->pluginDefinition['theme'];
  }

  /**
   * {@inheritdoc}
   */
  public function defaultConfiguration() {
    $config = array();
    $config['lb'] = '';
    $config['lb-col'] = \Drupal::config('ds.settings')
      ->get('ft-show-colon');
    $config['classes'] = array();
    return $config;
  }

  /**
   * {@inheritdoc}
   */
  public function getConfiguration() {
    return $this->configuration;
  }

  /**
   * {@inheritdoc}
   */
  public function setConfiguration(array $configuration) {
    $this->configuration = $configuration + $this->configuration;
  }

}

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
DsFieldTemplateBase::$entity protected property The entity used for token replacement.
DsFieldTemplateBase::alterForm public function Lets you add you add additional form element for your layout. Overrides DsFieldTemplateInterface::alterForm 2
DsFieldTemplateBase::defaultConfiguration public function Creates default configuration for the layout. Overrides DsFieldTemplateInterface::defaultConfiguration 2
DsFieldTemplateBase::getConfiguration public function Get the selected configuration. Overrides DsFieldTemplateInterface::getConfiguration
DsFieldTemplateBase::getEntity public function Gets the entity this layout belongs too. Overrides DsFieldTemplateInterface::getEntity
DsFieldTemplateBase::getThemeFunction public function Gets the chosen theme function. Overrides DsFieldTemplateInterface::getThemeFunction
DsFieldTemplateBase::massageRenderValues public function Massages the values before they get rendered. Overrides DsFieldTemplateInterface::massageRenderValues 2
DsFieldTemplateBase::setConfiguration public function Set the configuration for this layout. Overrides DsFieldTemplateInterface::setConfiguration
DsFieldTemplateBase::setEntity public function Sets the entity this layout belong too. Overrides DsFieldTemplateInterface::setEntity
DsFieldTemplateBase::__construct public function Constructs a Display Suite field plugin. Overrides PluginBase::__construct
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::$pluginDefinition protected property The plugin implementation definition. 1
PluginBase::$pluginId protected property The plugin_id.
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
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::isConfigurable public function Determines if the plugin is configurable.
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.