function EditorMediaDialog::submitForm
Same name in other branches
- 9 core/modules/media/src/Form/EditorMediaDialog.php \Drupal\media\Form\EditorMediaDialog::submitForm()
- 10 core/modules/media/src/Form/EditorMediaDialog.php \Drupal\media\Form\EditorMediaDialog::submitForm()
Overrides FormInterface::submitForm
File
-
core/
modules/ media/ src/ Form/ EditorMediaDialog.php, line 230
Class
- EditorMediaDialog
- Provides a media embed dialog for text editors.
Namespace
Drupal\media\FormCode
public function submitForm(array &$form, FormStateInterface $form_state) {
$response = new AjaxResponse();
// When the `alt` attribute is set to two double quotes, transform it to the
// empty string: two double quotes signify "empty alt attribute". See above.
if (trim($form_state->getValue([
'attributes',
'alt',
], '')) === '""') {
$form_state->setValue([
'attributes',
'alt',
], '""');
}
// The `alt` attribute is optional: if it isn't set, the default value
// simply will not be overridden. It's important to set it to FALSE
// instead of unsetting the value. This way we explicitly inform
// the client side about the new value.
if ($form_state->hasValue([
'attributes',
'alt',
]) && trim($form_state->getValue([
'attributes',
'alt',
])) === '') {
$form_state->setValue([
'attributes',
'alt',
], FALSE);
}
// If the selected view mode matches the default on the filter, remove the
// attribute.
if (!empty($form_state->get('filter_default_view_mode')) && $form_state->getValue([
'attributes',
'data-view-mode',
]) === $form_state->get('filter_default_view_mode')) {
$form_state->setValue([
'attributes',
'data-view-mode',
], FALSE);
}
if ($form_state->getErrors()) {
unset($form['#prefix'], $form['#suffix']);
$form['status_messages'] = [
'#type' => 'status_messages',
'#weight' => -10,
];
$response->addCommand(new HtmlCommand('#editor-media-dialog-form', $form));
}
else {
// Only send back the relevant values.
$values = [
'hasCaption' => $form_state->getValue('hasCaption'),
'attributes' => $form_state->getValue('attributes'),
];
$response->addCommand(new EditorDialogSave($values));
$response->addCommand(new CloseModalDialogCommand());
}
return $response;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.