Skip to content
Snippets Groups Projects

Issue #3246687: Prevents other submit handlers from working, such as media entity file replace

Merged Issue #3246687: Prevents other submit handlers from working, such as media entity file replace
All threads resolved!
All threads resolved!
+ 3
9
@@ -132,10 +132,8 @@ function media_library_edit_form_alter(&$form, FormStateInterface $form_state, $
// Remove delete.
$form['actions']['delete']['#access'] = FALSE;
// Modify the save action to make sure the dialog closes.
$form['actions']['submit']['#submit'] = [];
$form['actions']['submit']['#ajax'] = [
'callback' => '_media_library_edit_media_edit_save',
'callback' => '_media_library_edit_media_edit_update',
'event' => 'click',
'disable-refocus' => TRUE,
];
@@ -145,16 +143,12 @@ function media_library_edit_form_alter(&$form, FormStateInterface $form_state, $
/**
* Callback for ajax media form above.
*/
function _media_library_edit_media_edit_save(array &$form, FormStateInterface $form_state) {
function _media_library_edit_media_edit_update(array &$form, FormStateInterface $form_state) {
$response = new AjaxResponse();
$media_form = $form_state->getFormObject();
if (!$form_state->hasAnyErrors()) {
// Run the (inherited) media save callbacks.
$media_form->submitForm($form, $form_state);
$media = $media_form->getEntity();
$media->save();
$response->addCommand(new CloseDialogCommand('.media-library-edit__modal'));
$render_array = \Drupal::entityTypeManager()->getViewBuilder('media')->view($media, 'media_library');
$render_array = \Drupal::entityTypeManager()->getViewBuilder('media')->view($media_form->getEntity(), 'media_library');
$html = \Drupal::service('renderer')->render($render_array);
$response->addCommand(new ReplaceCommand('.selected-media', $html));
}
Loading