Files
kupshop/web/common/templates/block.fileUploader.tpl
2025-08-02 16:30:27 +02:00

149 lines
5.5 KiB
Smarty

<div class="cart-file-uploader">
{$pageType = $pageType|default:'cart'}
<div id="thumbnail-fine-uploader"></div>
{get_user_content type=$pageType assign='files'}
{if $files == false}
{$files = []}
{/if}
{if $files}
{* <div>Nahrané soubory</div>*}
<ul class="qq-upload-list">
{foreach $files as $uid => $file}
<li data-file-uid="{$uid}">
{* <div class="col-xs-4"><img src="{$file.src}" class="img-responsive"></div>*}
{$file.originalFilename}
<span class="qq-upload-delete" data-file-delete="{$uid}">{t}Smazat{/t}</span></li>
{/foreach}
</ul>
{/if}
</div>
<script>
wpj.onReady.push(function() {
$('[data-file-delete]').click(function() {
var uid = $(this).data('file-delete');
$(this).text('{t}Probíhá smazání...{/t}');
$.ajax({
method: 'GET',
url: '/_upload/{$pageType}/delete/' + uid,
}).done(function(result) {
var obj = jQuery.parseJSON(result);
if (obj.success == true) {
var $file = $(document).find('[data-file-uid="' + uid + '"]');
$file.detach();
}
});
});
});
</script>
<script>
wpj.onReady.push(function() {
var pageType = '{$pageType|default:"cart"}';
$('#thumbnail-fine-uploader').fineUploader({
pageType: pageType,
template: 'qq-simple-thumbnails-template',
{if $disableAutoUpload}
autoUpload: false,
{/if}
thumbnails: {
placeholders: {
waitingPath: '/admin/static/fineuploader/placeholders/waiting-generic.png',
notAvailablePath: '/admin/static/fineuploader/placeholders/not_available-generic.png',
},
},
request: {
endpoint: '/_upload/'+pageType+'/upload/',
},
deleteFile: {
enabled: true,
method: 'DELETE',
endpoint: '/_upload/'+pageType+'/delete',
},
blobProperties: {
name: 'filename',
},
scaling: {
sendOriginal: false,
includeExif: true,
//defaultType: 'image/png',
sizes: [
{
name: 'full',
maxSize: 2000,
},
],
},
validation: {
allowedExtensions: ['jpeg', 'jpg', 'gif', 'png', 'svg', 'pdf', 'doc', 'docx', 'xls', 'xlsx', 'csv', 'txt'],
{if $itemLimit > 0}
itemLimit: {$itemLimit},
{/if}
},
maxConnections: 1,
text: {
fileInputTitle: "{t}Nahrát soubory{/t}"
},
messages: {
tooManyItemsError: "{t escape=false}Nahrává se příliš mnoho souborů ({netItems}). Maximální počet nahraných souborů je {itemLimit}.{/t}"
},
}).on('allComplete', function(event, success, failed) {
//$('form').submit();
});
{if $required}
$('.qq-submit-btn').click(function(e) {
if ($('.qq-upload-list li').length === 0) {
e.preventDefault();
alert("{t}Před odesláním je nutné nahrát soubory{/t}");
}
});
{/if}
});
</script>
<input type="hidden" name="user_content" id="user_content" value="{$pageType}">
<script type="text/template" id="qq-simple-thumbnails-template">
<div class="qq-uploader-selector qq-uploader">
<div class="qq-upload-drop-area-selector qq-upload-drop-area" qq-hide-dropzone>
<div>
<span></span>{t}Přesuňte soubory sem{/t}
</div>
</div>
<div class="qq-upload-button-selector">
<p>
<strong><span class="fc icons_upload"></span>{t}Nahrát soubory{/t}</strong>
{t}podporované formáty jsou .jpg, .jpeg, .gif, .png, .svg, .docx, .xlsx, .csv, .txt a .pdf{/t}
</p>
</div>
<span class="qq-drop-processing-selector qq-drop-processing">
<span>{t}Zpracovávám soubory...{/t}</span>
<span class="qq-drop-processing-spinner-selector qq-drop-processing-spinner"></span>
</span>
<ul class="qq-upload-list-selector qq-upload-list">
<li>
<div class="qq-progress-bar-container-selector">
<div class="qq-progress-bar-selector qq-progress-bar"></div>
</div>
<span class="qq-upload-spinner-selector qq-upload-spinner"></span>
<div class="qq-thumb-img">
<img class="qq-thumbnail-selector" qq-max-size="100" qq-server-scale>
</div>
<span class="qq-edit-filename-icon-selector qq-edit-filename-icon"></span>
<span class="qq-upload-file-selector qq-upload-file"></span>
<input class="qq-edit-filename-selector qq-edit-filename" tabindex="0" type="text">
<span class="qq-upload-size-selector qq-upload-size"></span>
<a class="qq-upload-cancel-selector qq-upload-cancel" href="#">{t}Zrušit{/t}</a>
<a class="qq-upload-retry-selector qq-upload-retry" href="#">{t}Opakovat{/t}</a>
<a class="qq-upload-delete-selector qq-upload-delete" href="#">{t}Smazat{/t}</a>
<span class="qq-upload-status-text-selector qq-upload-status-text"></span>
</li>
</ul>
</div>
</script>