class CdnJsdelivrVersion in Express 8
The "cdn_jsdelivr_version" theme setting.
Plugin annotation
@BootstrapSetting(
cdn_provider = "jsdelivr",
id = "cdn_jsdelivr_version",
type = "select",
weight = -1,
title = @Translation("Version"),
description = @Translation("Choose the Bootstrap version from jsdelivr"),
defaultValue = @BootstrapConstant("Drupal\bootstrap\Bootstrap::FRAMEWORK_VERSION"),
groups = {
"advanced" = @Translation("Advanced"),
"cdn" = @Translation("CDN (Content Delivery Network)"),
"jsdelivr" = false,
},
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\bootstrap\Plugin\PluginBase
- class \Drupal\bootstrap\Plugin\Setting\SettingBase implements SettingInterface
- class \Drupal\bootstrap\Plugin\Setting\Advanced\Cdn\CdnProvider
- class \Drupal\bootstrap\Plugin\Setting\Advanced\Cdn\CdnJsdelivrVersion
- class \Drupal\bootstrap\Plugin\Setting\Advanced\Cdn\CdnProvider
- class \Drupal\bootstrap\Plugin\Setting\SettingBase implements SettingInterface
- class \Drupal\bootstrap\Plugin\PluginBase
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of CdnJsdelivrVersion
File
- themes/
contrib/ bootstrap/ src/ Plugin/ Setting/ Advanced/ Cdn/ CdnJsdelivrVersion.php, line 37 - Contains \Drupal\bootstrap\Plugin\Setting\Advanced\Cdn\CdnJsdelivrVersion.
Namespace
Drupal\bootstrap\Plugin\Setting\Advanced\CdnView source
class CdnJsdelivrVersion extends CdnProvider {
/**
* {@inheritdoc}
*/
public function alterFormElement(Element $form, FormStateInterface $form_state, $form_id = NULL) {
$plugin_id = Html::cleanCssIdentifier($this->provider
->getPluginId());
$setting = $this
->getSettingElement($form, $form_state);
$setting
->setProperty('options', $this->provider
->getVersions());
$setting
->setProperty('ajax', [
'callback' => [
get_class($this),
'ajaxCallback',
],
'wrapper' => 'cdn-provider-' . $plugin_id,
]);
if (!$this->provider
->hasError() && !$this->provider
->isImported()) {
$setting
->setProperty('description', t('These versions are automatically populated by the @provider API upon cache clear and newer versions may appear over time. It is highly recommended the version that the site was built with stays at that version. Until a newer version has been properly tested for updatability by the site maintainer, you should not arbitrarily "update" just because there is a newer version. This can cause many inconsistencies and undesired effects with an existing site.', [
'@provider' => $this->provider
->getLabel(),
]));
}
}
/**
* AJAX callback for reloading CDN provider elements.
*
* @param array $form
* Nested array of form elements that comprise the form.
* @param \Drupal\Core\Form\FormStateInterface $form_state
* The current state of the form.
*/
public static function ajaxCallback(array $form, FormStateInterface $form_state) {
return $form['advanced']['cdn'][$form_state
->getValue('cdn_provider', Bootstrap::getTheme()
->getSetting('cdn_provider'))];
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
CdnJsdelivrVersion:: |
public static | function |
AJAX callback for reloading CDN provider elements. Overrides CdnProvider:: |
|
CdnJsdelivrVersion:: |
public | function |
The alter method to store the code. Overrides CdnProvider:: |
|
CdnProvider:: |
protected | property | The current provider. | |
CdnProvider:: |
protected | property | The current provider manager instance. | |
CdnProvider:: |
private | function | Creates the necessary containers for each provider. | |
CdnProvider:: |
public | function |
The cache tags associated with this object. Overrides SettingBase:: |
|
CdnProvider:: |
private | function | Imports data for a provider that was manually uploaded in theme settings. | |
CdnProvider:: |
public | function |
Constructs a \Drupal\Component\Plugin\PluginBase object. Overrides PluginBase:: |
|
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:: |
protected | property | The currently set theme object. | |
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. | |
SettingBase:: |
public | function |
The alter method to store the code. Overrides FormInterface:: |
|
SettingBase:: |
public | function |
Determines whether a theme setting should added to drupalSettings. Overrides SettingInterface:: |
25 |
SettingBase:: |
public | function |
Retrieves the setting's default value. Overrides SettingInterface:: |
|
SettingBase:: |
public | function |
Overrides SettingInterface:: |
|
SettingBase:: |
public | function | Retrieves all the form properties from the setting definition. | |
SettingBase:: |
public | function |
Overrides SettingInterface:: |
|
SettingBase:: |
public | function |
Retrieves the group form element the setting belongs to. Overrides SettingInterface:: |
|
SettingBase:: |
public | function |
Retrieves the setting's groups. Overrides SettingInterface:: |
|
SettingBase:: |
public | function |
Retrieves the settings options, if set. Overrides SettingInterface:: |
|
SettingBase:: |
public | function |
Retrieves the form element for the setting. Overrides SettingInterface:: |
|
SettingBase:: |
public | function |
Retrieves the setting's human-readable title. Overrides SettingInterface:: |
|
SettingBase:: |
public static | function |
Form submission handler. Overrides FormInterface:: |
|
SettingBase:: |
public static | function |
Form submission handler. Overrides FormInterface:: |
1 |
SettingBase:: |
public static | function |
Form validation handler. Overrides FormInterface:: |
|
SettingBase:: |
public static | function |
Form validation handler. Overrides FormInterface:: |
|
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. |