You are here

class Target in Linkit 8.4

Target attribute.

Plugin annotation


@Attribute(
  id = "target",
  label = @Translation("Target"),
  html_name = "target"
)

Hierarchy

Expanded class hierarchy of Target

1 string reference to 'Target'
Target::buildFormElement in src/Plugin/Linkit/Attribute/Target.php
The form element structure for this attribute to be used in the dialog.

File

src/Plugin/Linkit/Attribute/Target.php, line 22
Contains \Drupal\linkit\Plugin\Linkit\Attribute\Target.

Namespace

Drupal\linkit\Plugin\Linkit\Attribute
View source
class Target extends ConfigurableAttributeBase {
  const SELECT_LIST = 'select_list';
  const SIMPLE_CHECKBOX = 'simple_checkbox';

  /**
   * {@inheritdoc}
   */
  public function buildFormElement($default_value) {
    switch ($this->configuration['widget_type']) {
      case self::SELECT_LIST:
        return [
          '#type' => 'select',
          '#title' => t('Target'),
          '#options' => [
            '' => '',
            '_blank' => t('New window (_blank)'),
            '_top' => t('Top window (_top)'),
            '_self' => t('Same window (_self)'),
            '_parent' => t('Parent window (_parent)'),
          ],
          '#default_value' => $default_value,
        ];
      case self::SIMPLE_CHECKBOX:
        return [
          '#type' => 'checkbox',
          '#title' => t('Open in new window'),
          '#default_value' => $default_value,
          '#return_value' => '_blank',
        ];
    }
    return [];
  }

  /**
   * {@inheritdoc}
   */
  public function defaultConfiguration() {
    return parent::defaultConfiguration() + [
      'widget_type' => self::SIMPLE_CHECKBOX,
    ];
  }

  /**
   * {@inheritdoc}
   */
  public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
    $form['widget_type'] = [
      '#type' => 'radios',
      '#title' => $this
        ->t('Widget type'),
      '#default_value' => $this->configuration['widget_type'],
      '#options' => [
        self::SELECT_LIST => $this
          ->t('Selectlist with predefined targets.'),
        self::SIMPLE_CHECKBOX => $this
          ->t('Simple checkbox to allow links to be opened in a new browser window or tab.'),
      ],
    ];
    return $form;
  }

  /**
   * {@inheritdoc}
   */
  public function validateConfigurationForm(array &$form, FormStateInterface $form_state) {
  }

  /**
   * {@inheritdoc}
   */
  public function submitConfigurationForm(array &$form, FormStateInterface $form_state) {
    $this->configuration['widget_type'] = $form_state
      ->getValue('widget_type');
  }

}

Members

Namesort descending Modifiers Type Description Overrides
AttributeBase::$weight protected property The weight of the attribute compared to others in an attribute collection.
AttributeBase::calculateDependencies public function Calculates dependencies for the configured plugin. Overrides DependentPluginInterface::calculateDependencies
AttributeBase::getConfiguration public function Gets this plugin's configuration. Overrides ConfigurablePluginInterface::getConfiguration
AttributeBase::getDescription public function Returns the attribute description. Overrides AttributeInterface::getDescription
AttributeBase::getHtmlName public function Returns the attribute html name. This is the name of the attribute that will be inserted in the <code>&lt;a&gt;</code> tag. Overrides AttributeInterface::getHtmlName
AttributeBase::getLabel public function Returns the attribute label. Overrides AttributeInterface::getLabel
AttributeBase::getWeight public function Returns the weight of the attribute. Overrides AttributeInterface::getWeight
AttributeBase::setConfiguration public function Sets the configuration for this plugin instance. Overrides ConfigurablePluginInterface::setConfiguration
AttributeBase::setWeight public function Sets the weight for this attribute. Overrides AttributeInterface::setWeight
AttributeBase::__construct public function Constructs a \Drupal\Component\Plugin\PluginBase object. Overrides PluginBase::__construct
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
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.
Target::buildConfigurationForm public function Form constructor. Overrides PluginFormInterface::buildConfigurationForm
Target::buildFormElement public function The form element structure for this attribute to be used in the dialog. Overrides AttributeInterface::buildFormElement
Target::defaultConfiguration public function Gets default configuration for this plugin. Overrides AttributeBase::defaultConfiguration
Target::SELECT_LIST constant
Target::SIMPLE_CHECKBOX constant
Target::submitConfigurationForm public function Form submission handler. Overrides PluginFormInterface::submitConfigurationForm
Target::validateConfigurationForm public function Form validation handler. Overrides PluginFormInterface::validateConfigurationForm