public function BlazyAdminBase::mediaSwitchForm in Blazy 8.2
Same name and namespace in other branches
- 8 src/Form/BlazyAdminBase.php \Drupal\blazy\Form\BlazyAdminBase::mediaSwitchForm()
- 7 src/Form/BlazyAdminBase.php \Drupal\blazy\Form\BlazyAdminBase::mediaSwitchForm()
Returns re-usable media switch form elements.
1 call to BlazyAdminBase::mediaSwitchForm()
- BlazyAdminFormatterBase::basicImageForm in src/
Form/ BlazyAdminFormatterBase.php - Defines re-usable basic form elements.
File
- src/
Form/ BlazyAdminBase.php, line 443
Class
- BlazyAdminBase
- A base for blazy admin integration to have re-usable methods in one place.
Namespace
Drupal\blazy\FormCode
public function mediaSwitchForm(array &$form, $definition = []) {
$settings = isset($definition['settings']) ? $definition['settings'] : [];
$lightboxes = $this->blazyManager
->getLightboxes();
$is_token = $this->blazyManager
->getModuleHandler()
->moduleExists('token');
if (isset($settings['media_switch'])) {
$form['media_switch'] = $this
->baseForm($definition)['media_switch'];
$form['media_switch']['#prefix'] = '<h3 class="form__title form__title--media-switch">' . $this
->t('Media switcher') . '</h3>';
if (empty($definition['no_ratio'])) {
$form['ratio'] = $this
->baseForm($definition)['ratio'];
}
}
// Optional lightbox integration.
if (!empty($lightboxes) && isset($settings['media_switch'])) {
$form['box_style'] = $this
->baseForm($definition)['box_style'];
if (!empty($definition['multimedia'])) {
$form['box_media_style'] = $this
->baseForm($definition)['box_media_style'];
}
if (!empty($definition['box_captions'])) {
$form['box_caption'] = [
'#type' => 'select',
'#title' => $this
->t('Lightbox caption'),
'#options' => $this
->getLightboxCaptionOptions(),
'#weight' => -95,
'#states' => $this
->getState(static::STATE_LIGHTBOX_ENABLED, $definition),
'#description' => $this
->t('Automatic will search for Alt text first, then Title text. Try selecting <strong>- None -</strong> first when changing if trouble with form states.'),
];
$form['box_caption_custom'] = [
'#title' => $this
->t('Lightbox custom caption'),
'#type' => 'textfield',
'#weight' => -94,
'#states' => $this
->getState(static::STATE_LIGHTBOX_CUSTOM, $definition),
'#description' => $this
->t('Multi-value rich text field will be mapped to each image by its delta.'),
];
if ($is_token) {
$types = isset($definition['entity_type']) ? [
$definition['entity_type'],
] : [];
$types = isset($definition['target_type']) ? array_merge($types, [
$definition['target_type'],
]) : $types;
$form['box_caption_custom']['#field_suffix'] = [
'#theme' => 'token_tree_link',
'#text' => $this
->t('Tokens'),
'#token_types' => $types,
];
}
}
}
$this->blazyManager
->getModuleHandler()
->alter('blazy_media_switch_form_element', $form, $definition);
}