7ae974b6448698d2e2e5fbe38bb4198203176078
[yaffs-website] / web / modules / contrib / dropzonejs / modules / eb_widget / js / dropzonejs_eb_widget.ief_edit.js
1 /**
2  * @file
3  * dropzonejs_eb_widget.ief_edit.js
4  *
5  * Bundles various dropzone eb widget behaviours.
6  */
7
8 (function ($, Drupal, drupalSettings) {
9   'use strict';
10
11   Drupal.behaviors.dropzonejsPostIntegrationEbWidgetEditJs = {
12     attach: function (context) {
13       if (typeof drupalSettings.dropzonejs.instances !== 'undefined') {
14         _.each(drupalSettings.dropzonejs.instances, function (item) {
15           var $form = $(item.instance.element).parents('form');
16
17           if ($form.hasClass('dropzonejs-disable-submit')) {
18             var $submit = $form.find('.is-entity-browser-submit');
19             $submit.prop('disabled', false);
20
21             var autoSubmitDropzone = function () {
22               var $form = this;
23
24               // Trigger generation of IEF form only, when there are new
25               // accepted files and there are no rejected files.
26               if (item.instance.getAcceptedFiles().length > 0 && item.instance.getRejectedFiles().length === 0) {
27                 $('#edit-edit', $form).trigger('mousedown');
28
29                 item.instance.removeAllFiles();
30               }
31             }.bind($form);
32
33             item.instance.on('queuecomplete', function () {
34               autoSubmitDropzone();
35             });
36
37             item.instance.on('removedfile', function () {
38               autoSubmitDropzone();
39             });
40           }
41         });
42       }
43     }
44   };
45
46 }(jQuery, Drupal, drupalSettings));