public function BackgroundMedia::getFields in Bootstrap Styles 1.0.x
File
- src/
Plugin/ BootstrapStyles/ Style/ BackgroundMedia.php, line 187
Class
- BackgroundMedia
- Class BackgroundMedia.
Namespace
Drupal\bootstrap_styles\Plugin\BootstrapStyles\StyleCode
public function getFields(array &$element, FormStateInterface $form_state) {
$triggering_element = $form_state
->getTriggeringElement();
$bundle = $triggering_element['#value'];
$wrapper_id = $triggering_element["#ajax"]["wrapper"];
$rendered_field = '';
$field_map = \Drupal::service('entity_field.manager')
->getFieldMap();
$media_field_map = $field_map['media'];
foreach ($media_field_map as $field_name => $field_info) {
if (in_array($bundle, $field_info['bundles']) && in_array($field_info['type'], [
'image',
'file',
]) && $field_name !== 'thumbnail') {
$rendered_field .= '<option value="' . $field_name . '">' . $field_name . '</option>';
}
}
$response = new AjaxResponse();
$response
->addCommand(new HtmlCommand('#' . $wrapper_id, $rendered_field));
return $response;
}