diff --git a/core/misc/ajax.js b/core/misc/ajax.js index b63bc03..be453e9 100644 --- a/core/misc/ajax.js +++ b/core/misc/ajax.js @@ -284,6 +284,8 @@ } }; + // element_settings.event = element_settings.event + '.drupalAjax'; + $.extend(this, defaults, element_settings); /** diff --git a/core/modules/file/file.js b/core/modules/file/file.js index 8ed377e..67ffb27 100644 --- a/core/modules/file/file.js +++ b/core/modules/file/file.js @@ -66,7 +66,7 @@ */ Drupal.behaviors.fileAutoUpload = { attach: function (context) { - $(context).find('input[type="file"]').once('auto-file-upload').on('change.autoFileUpload', Drupal.file.triggerUploadButton); + // $(context).find('input[type="file"]').once('auto-file-upload').on('change.autoFileUpload', Drupal.file.triggerUploadButton); }, detach: function (context, setting, trigger) { if (trigger === 'unload') { @@ -89,12 +89,12 @@ attach: function (context) { var $context = $(context); $context.find('.js-form-submit').on('mousedown', Drupal.file.disableFields); - $context.find('.js-form-managed-file .js-form-submit').on('mousedown', Drupal.file.progressBar); + $context.find('.js-form-managed-file .js-form-submit').on('mousedown', Drupal.file.triggerUploadButton); }, detach: function (context) { var $context = $(context); $context.find('.js-form-submit').off('mousedown', Drupal.file.disableFields); - $context.find('.js-form-managed-file .js-form-submit').off('mousedown', Drupal.file.progressBar); + $context.find('.js-form-managed-file .js-form-submit').off('mousedown', Drupal.file.triggerUploadButton); } }; @@ -170,7 +170,10 @@ * The event triggered. For example `change.autoFileUpload`. */ triggerUploadButton: function (event) { - $(event.target).closest('.js-form-managed-file').find('.js-form-submit').trigger('mousedown'); + Drupal.file.progressBar(event); + + $(event.target).closest('.js-form-managed-file').find('.js-form-submit') + .trigger('fileUpload'); }, /** @@ -220,7 +223,7 @@ * The event triggered, most likely a `mousedown` event. */ progressBar: function (event) { - var $clickedButton = $(this); + var $clickedButton = $(event.target).closest('.js-form-managed-file').find('.js-form-submit'); var $progressId = $clickedButton.closest('div.js-form-managed-file').find('input.file-progress'); if ($progressId.length) { var originalName = $progressId.attr('name'); diff --git a/core/modules/file/src/Element/ManagedFile.php b/core/modules/file/src/Element/ManagedFile.php index 0077716..79d0d84 100644 --- a/core/modules/file/src/Element/ManagedFile.php +++ b/core/modules/file/src/Element/ManagedFile.php @@ -204,6 +204,7 @@ public static function processManagedFile(&$element, FormStateInterface $form_st ], ], 'wrapper' => $ajax_wrapper_id, + 'event' => 'fileUpload', 'effect' => 'fade', 'progress' => [ 'type' => $element['#progress_indicator'], @@ -216,7 +217,7 @@ public static function processManagedFile(&$element, FormStateInterface $form_st '#name' => $parents_prefix . '_upload_button', '#type' => 'submit', '#value' => t('Upload'), - '#attributes' => ['class' => ['js-hide']], + // '#attributes' => ['class' => ['js-hide']], '#validate' => [], '#submit' => ['file_managed_file_submit'], '#limit_validation_errors' => [$element['#parents']],