From ccfb9043504a76643a438f3c721094e3f3cfe381 Mon Sep 17 00:00:00 2001 From: Andrey Girnik Date: Sun, 4 Aug 2019 16:47:06 +0700 Subject: [PATCH] Modify group upload files --- src/assets/source/js/uploadmanager.js | 163 +++++++++++++------------- src/views/managers/_fileBlock.php | 2 +- 2 files changed, 85 insertions(+), 80 deletions(-) diff --git a/src/assets/source/js/uploadmanager.js b/src/assets/source/js/uploadmanager.js index 4f4d6ea..8eacc51 100644 --- a/src/assets/source/js/uploadmanager.js +++ b/src/assets/source/js/uploadmanager.js @@ -39,87 +39,12 @@ $(document).ready(function() { workspace.html(oldHtml + newHtml); }); - /** - * Single upload file. - */ window.workspace.on("click", '[role="upload-file"]', function(e) { e.preventDefault(); - var fileNumber = $(this).attr('data-file-number'), - fileBlock = $(this).parents('[role="file-block"]'), - progressBlock = fileBlock.find('[role="progress-block"]'), - buttonBlockUpload = fileBlock.find('[role="button-block-upload"]'), - buttonBlockDelete = fileBlock.find('[role="button-block-delete"]'), - url = window.uploadManagerContainer.attr('data-send-url'), - fileAttributeName = window.uploadManagerContainer.attr('data-file-attribute-name'), - subDir = window.fileManagerModalContainer.attr("data-sub-dir"), - owner = window.fileManagerModalContainer.attr("data-owner"), - ownerId = window.fileManagerModalContainer.attr("data-owner-id"), - ownerAttribute = window.fileManagerModalContainer.attr("data-owner-attribute"), - neededFileType = window.fileManagerModalContainer.attr("data-needed-file-type"), - file = window.preparedFiles[fileNumber], - fileType = file.type, - params = { - _csrf: window.yii.getCsrfToken(), - title: fileBlock.find('[role="file-title"]').val(), - description: fileBlock.find('[role="file-description"]').val() - }, - paramsFiles = {}; - paramsFiles[fileAttributeName] = file; - params.files = paramsFiles; - - if (fileType.split('/')[0] == 'image') { - params.alt = fileBlock.find('[role="file-alt"]').val(); - } + var fileNumber = $(this).attr('data-file-number'); - if (subDir && subDir != '') { - params.subDir = subDir; - } - - if (owner && owner != '') { - params.owner = owner; - } - - if (ownerId && ownerId != '') { - params.ownerId = ownerId; - } - - if (ownerAttribute && ownerAttribute != '') { - params.ownerAttribute = ownerAttribute; - } - - if (neededFileType && neededFileType != '') { - params.neededFileType = neededFileType; - } - - AJAX(url, 'POST', params, true, function () { - setAjaxLoader(progressBlock, 1000); - - }, function(data) { - - if (data.meta.status == 'success') { - clearContainer(progressBlock); - clearContainer(buttonBlockUpload); - buttonBlockDelete.css('display', 'block'); - - if (data.data.files && data.data.files[0]) { - fileBlock.find('[role="delete-file-button"]').attr('data-file-id', data.data.files[0].id); - } - - $(fileBlock.find('[role="file-title"]')).attr('disabled', 'disabled'); - $(fileBlock.find('[role="file-description"]')).attr('disabled', 'disabled'); - - if (fileType.split('/')[0] == 'image') { - $(fileBlock.find('[role="file-alt"]')).attr('disabled', 'disabled'); - } - - } else { - showPopup(progressBlock, data.data.errors, true, 0); - } - - }, function(data, xhr) { - showPopup(progressBlock, data.message, true, 0); - }); + upload_file(fileNumber); }); /** @@ -129,7 +54,7 @@ $(document).ready(function() { e.preventDefault(); var fileNumber = $(this).attr('data-file-number'), - fileBlock = $(this).parents('[role="file-block"]'), + fileBlock = $(this).parents('[role="file-block-'+fileNumber+'"]'), progressBlock = fileBlock.find('[role="progress-block"]'), url = window.uploadManagerContainer.attr('data-delete-url'), params = { @@ -160,7 +85,7 @@ $(document).ready(function() { e.preventDefault(); var fileNumber = $(this).attr('data-file-number'), - fileBlock = $(this).parents('[role="file-block"]'); + fileBlock = $(this).parents('[role="file-block-'+fileNumber+'"]'); delete window.preparedFiles[fileNumber]; @@ -241,4 +166,84 @@ $(document).ready(function() { return (kbSize/1024).toFixed(2) + ' MB'; } } + + /** + * Single upload file. + */ + function upload_file(fileNumber) { + var fileBlock = $('[role="file-block-'+fileNumber+'"]'), + progressBlock = fileBlock.find('[role="progress-block"]'), + buttonBlockUpload = fileBlock.find('[role="button-block-upload"]'), + buttonBlockDelete = fileBlock.find('[role="button-block-delete"]'), + url = window.uploadManagerContainer.attr('data-send-url'), + fileAttributeName = window.uploadManagerContainer.attr('data-file-attribute-name'), + subDir = window.fileManagerModalContainer.attr("data-sub-dir"), + owner = window.fileManagerModalContainer.attr("data-owner"), + ownerId = window.fileManagerModalContainer.attr("data-owner-id"), + ownerAttribute = window.fileManagerModalContainer.attr("data-owner-attribute"), + neededFileType = window.fileManagerModalContainer.attr("data-needed-file-type"), + file = window.preparedFiles[fileNumber], + fileType = file.type, + params = { + _csrf: window.yii.getCsrfToken(), + title: fileBlock.find('[role="file-title"]').val(), + description: fileBlock.find('[role="file-description"]').val() + }, + paramsFiles = {}; + paramsFiles[fileAttributeName] = file; + params.files = paramsFiles; + + if (fileType.split('/')[0] == 'image') { + params.alt = fileBlock.find('[role="file-alt"]').val(); + } + + if (subDir && subDir != '') { + params.subDir = subDir; + } + + if (owner && owner != '') { + params.owner = owner; + } + + if (ownerId && ownerId != '') { + params.ownerId = ownerId; + } + + if (ownerAttribute && ownerAttribute != '') { + params.ownerAttribute = ownerAttribute; + } + + if (neededFileType && neededFileType != '') { + params.neededFileType = neededFileType; + } + + AJAX(url, 'POST', params, true, function () { + setAjaxLoader(progressBlock, 1000); + + }, function(data) { + + if (data.meta.status == 'success') { + clearContainer(progressBlock); + clearContainer(buttonBlockUpload); + buttonBlockDelete.css('display', 'block'); + + if (data.data.files && data.data.files[0]) { + fileBlock.find('[role="delete-file-button"]').attr('data-file-id', data.data.files[0].id); + } + + $(fileBlock.find('[role="file-title"]')).attr('disabled', 'disabled'); + $(fileBlock.find('[role="file-description"]')).attr('disabled', 'disabled'); + + if (fileType.split('/')[0] == 'image') { + $(fileBlock.find('[role="file-alt"]')).attr('disabled', 'disabled'); + } + + } else { + showPopup(progressBlock, data.data.errors, true, 0); + } + + }, function(data, xhr) { + showPopup(progressBlock, data.message, true, 0); + }); + } }); diff --git a/src/views/managers/_fileBlock.php b/src/views/managers/_fileBlock.php index 1df5e66..0930f06 100644 --- a/src/views/managers/_fileBlock.php +++ b/src/views/managers/_fileBlock.php @@ -3,7 +3,7 @@ use Itstructure\MFUploader\Module; ?> - +