8 <?=
$block->getFormHtml() ?>
14 "Magento_Ui/js/modal/alert",
15 "jquery/file-uploader",
16 "Magento_Theme/js/sortable",
18 ],
function ($, mageTemplate, alert) {
20 $(
'#js_files_uploader').fileupload({
22 replaceFileInput:
false,
23 sequentialUploads:
true,
24 url:
'<?= /* @escapeNotVerified */ $block->getJsUploadUrl() ?>',
31 add:
function (e, data) {
32 var progressTmpl = mageTemplate(
'#js-file-uploader-template'),
36 $.each(data.files,
function (index, file) {
37 fileSize = typeof file.size ==
"undefined" ?
38 $.mage.__(
'We could not detect a size.') :
39 byteConvert(file.size);
41 data.fileId = Math.random().toString(36).substr(2, 9);
51 $(tmpl).appendTo(
'#js-file-uploader');
54 var uploadButton = $(
'#js_uploader_button');
55 uploadButton.removeAttr(
'disabled');
57 uploadButton.click(
function () {
58 $(
'#messages').html(
'');
59 $(
this).attr(
'disabled',
'disabled');
70 done:
function (e, data) {
71 $(
'#no-js-files-found').
remove();
73 var progressSelector =
'#' + data.fileId +
' .progressbar-container .progressbar';
74 $(progressSelector).css(
'width',
'100%');
78 if (!data.result.error) {
79 $(progressSelector).removeClass(
'upload-progress').addClass(
'upload-success');
81 $(
'#' + data.fileId).delay(2000).fadeOut(2000);
82 $(
'body').trigger(
'refreshJsList', {
83 jsList: data.result.files
86 $(progressSelector).removeClass(
'upload-progress').addClass(
'upload-failure');
89 $(
'.ui-sortable').sortable(
'initButtons');
97 progress:
function (e, data) {
98 var progress = parseInt(data.loaded / data.total * 100, 10);
99 var progressSelector =
'#' + data.fileId +
' .progressbar-container .progressbar';
100 $(progressSelector).css(
'width', progress +
'%');
108 fail:
function (e, data) {
109 var progressSelector =
'#' + data.fileId +
' .progressbar-container .progressbar';
110 $(progressSelector).removeClass(
'upload-progress').addClass(
'upload-failure');
114 content: $.mage.__(
"We don't recognize this file extension.")
119 $(
'#js_files_uploader').click(
function () {
121 $(
'#js-file-uploader').html(
'');
122 $(
'#js_uploader_button').unbind(
'click');