X-Git-Url: http://aleph1.co.uk/gitweb/?a=blobdiff_plain;f=web%2Fmodules%2Fcontrib%2Fdropzonejs%2Fmodules%2Feb_widget%2Fjs%2Fdropzonejs_eb_widget.ief_edit.js;fp=web%2Fmodules%2Fcontrib%2Fdropzonejs%2Fmodules%2Feb_widget%2Fjs%2Fdropzonejs_eb_widget.ief_edit.js;h=7ae974b6448698d2e2e5fbe38bb4198203176078;hb=a2bd1bf0c2c1f1a17d188f4dc0726a45494cefae;hp=0000000000000000000000000000000000000000;hpb=57c063afa3f66b07c4bbddc2d6129a96d90f0aad;p=yaffs-website diff --git a/web/modules/contrib/dropzonejs/modules/eb_widget/js/dropzonejs_eb_widget.ief_edit.js b/web/modules/contrib/dropzonejs/modules/eb_widget/js/dropzonejs_eb_widget.ief_edit.js new file mode 100644 index 000000000..7ae974b64 --- /dev/null +++ b/web/modules/contrib/dropzonejs/modules/eb_widget/js/dropzonejs_eb_widget.ief_edit.js @@ -0,0 +1,46 @@ +/** + * @file + * dropzonejs_eb_widget.ief_edit.js + * + * Bundles various dropzone eb widget behaviours. + */ + +(function ($, Drupal, drupalSettings) { + 'use strict'; + + Drupal.behaviors.dropzonejsPostIntegrationEbWidgetEditJs = { + attach: function (context) { + if (typeof drupalSettings.dropzonejs.instances !== 'undefined') { + _.each(drupalSettings.dropzonejs.instances, function (item) { + var $form = $(item.instance.element).parents('form'); + + if ($form.hasClass('dropzonejs-disable-submit')) { + var $submit = $form.find('.is-entity-browser-submit'); + $submit.prop('disabled', false); + + var autoSubmitDropzone = function () { + var $form = this; + + // Trigger generation of IEF form only, when there are new + // accepted files and there are no rejected files. + if (item.instance.getAcceptedFiles().length > 0 && item.instance.getRejectedFiles().length === 0) { + $('#edit-edit', $form).trigger('mousedown'); + + item.instance.removeAllFiles(); + } + }.bind($form); + + item.instance.on('queuecomplete', function () { + autoSubmitDropzone(); + }); + + item.instance.on('removedfile', function () { + autoSubmitDropzone(); + }); + } + }); + } + } + }; + +}(jQuery, Drupal, drupalSettings));