"use strict"; // Class definition var KTUppy = function () { const Tus = Uppy.Tus; const ProgressBar = Uppy.ProgressBar; const StatusBar = Uppy.StatusBar; const FileInput = Uppy.FileInput; const Informer = Uppy.Informer; // to get uppy companions working, please refer to the official documentation here: https://uppy.io/docs/companion/ const Dashboard = Uppy.Dashboard; const Dropbox = Uppy.Dropbox; const GoogleDrive = Uppy.GoogleDrive; const Instagram = Uppy.Instagram; const Webcam = Uppy.Webcam; // Private functions var initUppy1 = function(){ var id = '#kt_uppy_1'; var options = { proudlyDisplayPoweredByUppy: false, target: id, inline: true, replaceTargetContent: true, showProgressDetails: true, note: 'No filetype restrictions.', height: 470, metaFields: [ { id: 'name', name: 'Name', placeholder: 'file name' }, { id: 'caption', name: 'Caption', placeholder: 'describe what the image is about' } ], browserBackButtonClose: true } var uppyDashboard = Uppy.Core({ autoProceed: true, restrictions: { maxFileSize: 1000000, // 1mb maxNumberOfFiles: 5, minNumberOfFiles: 1 } }); uppyDashboard.use(Dashboard, options); uppyDashboard.use(Tus, { endpoint: 'https://master.tus.io/files/' }); uppyDashboard.use(GoogleDrive, { target: Dashboard, companionUrl: 'https://companion.uppy.io' }); uppyDashboard.use(Dropbox, { target: Dashboard, companionUrl: 'https://companion.uppy.io' }); uppyDashboard.use(Instagram, { target: Dashboard, companionUrl: 'https://companion.uppy.io' }); uppyDashboard.use(Webcam, { target: Dashboard }); } var initUppy2 = function(){ var id = '#kt_uppy_2'; var options = { proudlyDisplayPoweredByUppy: false, target: id, inline: true, replaceTargetContent: true, showProgressDetails: true, note: 'Images and video only, 2–3 files, up to 1 MB', height: 470, metaFields: [ { id: 'name', name: 'Name', placeholder: 'file name' }, { id: 'caption', name: 'Caption', placeholder: 'describe what the image is about' } ], browserBackButtonClose: true } var uppyDashboard = Uppy.Core({ autoProceed: true, restrictions: { maxFileSize: 1000000, // 1mb maxNumberOfFiles: 5, minNumberOfFiles: 1, allowedFileTypes: ['image/*', 'video/*'] } }); uppyDashboard.use(Dashboard, options); uppyDashboard.use(Tus, { endpoint: 'https://master.tus.io/files/' }); } var initUppy3 = function(){ var id = '#kt_uppy_3'; var uppyDrag = Uppy.Core({ autoProceed: true, restrictions: { maxFileSize: 1000000, // 1mb maxNumberOfFiles: 5, minNumberOfFiles: 1, allowedFileTypes: ['image/*', 'video/*'] } }); uppyDrag.use(Uppy.DragDrop, { target: id + ' .uppy-drag' }); uppyDrag.use(ProgressBar, { target: id + ' .uppy-progress', hideUploadButton: false, hideAfterFinish: false }); uppyDrag.use(Informer, { target: id + ' .uppy-informer' }); uppyDrag.use(Tus, { endpoint: 'https://master.tus.io/files/' }); uppyDrag.on('complete', function(file) { var imagePreview = ""; $.each(file.successful, function(index, value){ var imageType = /image/; var thumbnail = ""; if (imageType.test(value.type)){ thumbnail = '
'; } var sizeLabel = "bytes"; var filesize = value.size; if (filesize > 1024){ filesize = filesize / 1024; sizeLabel = "kb"; if(filesize > 1024){ filesize = filesize / 1024; sizeLabel = "MB"; } } imagePreview += '
'+thumbnail+' '+value.name+' ('+ Math.round(filesize, 2) +' '+sizeLabel+')
'; }); $(id + ' .uppy-thumbnails').append(imagePreview); }); $(document).on('click', id + ' .uppy-thumbnails .uppy-remove-thumbnail', function(){ var imageId = $(this).attr('data-id'); uppyDrag.removeFile(imageId); $(id + ' .uppy-thumbnail-container[data-id="'+imageId+'"').remove(); }); } var initUppy4 = function(){ var id = '#kt_uppy_4'; var uppyDrag = Uppy.Core({ autoProceed: false, restrictions: { maxFileSize: 1000000, // 1mb maxNumberOfFiles: 5, minNumberOfFiles: 1 } }); uppyDrag.use(Uppy.DragDrop, { target: id + ' .uppy-drag' }); uppyDrag.use(ProgressBar, { target: id + ' .uppy-progress' }); uppyDrag.use(Informer, { target: id + ' .uppy-informer' }); uppyDrag.use(Tus, { endpoint: 'https://master.tus.io/files/' }); uppyDrag.on('complete', function(file) { var imagePreview = ""; $.each(file.successful, function(index, value){ var imageType = /image/; var thumbnail = ""; if (imageType.test(value.type)){ thumbnail = '
'; } var sizeLabel = "bytes"; var filesize = value.size; if (filesize > 1024){ filesize = filesize / 1024; sizeLabel = "kb"; if(filesize > 1024){ filesize = filesize / 1024; sizeLabel = "MB"; } } imagePreview += '
'+thumbnail+' '+value.name+' ('+ Math.round(filesize, 2) +' '+sizeLabel+')
'; }); $(id + ' .uppy-thumbnails').append(imagePreview); }); var uploadBtn = $(id + ' .uppy-btn'); uploadBtn.click(function () { uppyDrag.upload(); }); $(document).on('click', id + ' .uppy-thumbnails .uppy-remove-thumbnail', function(){ var imageId = $(this).attr('data-id'); uppyDrag.removeFile(imageId); $(id + ' .uppy-thumbnail-container[data-id="'+imageId+'"').remove(); }); } var initUppy5 = function(){ // Uppy variables // For more info refer: https://uppy.io/ var elemId = 'kt_uppy_5'; var id = '#' + elemId; var $statusBar = $(id + ' .uppy-status'); var $uploadedList = $(id + ' .uppy-list'); var timeout; var uppyMin = Uppy.Core({ debug: true, autoProceed: true, showProgressDetails: true, restrictions: { maxFileSize: 1000000, // 1mb maxNumberOfFiles: 5, minNumberOfFiles: 1 } }); uppyMin.use(FileInput, { target: id + ' .uppy-wrapper', pretty: false }); uppyMin.use(Informer, { target: id + ' .uppy-informer' }); // demo file upload server uppyMin.use(Tus, { endpoint: 'https://master.tus.io/files/' }); uppyMin.use(StatusBar, { target: id + ' .uppy-status', hideUploadButton: true, hideAfterFinish: false }); $(id + ' .uppy-FileInput-input').addClass('uppy-input-control').attr('id', elemId + '_input_control'); $(id + ' .uppy-FileInput-container').append(''); var $fileLabel = $(id + ' .uppy-input-label'); uppyMin.on('upload', function(data) { $fileLabel.text("Uploading..."); $statusBar.addClass('uppy-status-ongoing'); $statusBar.removeClass('uppy-status-hidden'); clearTimeout( timeout ); }); uppyMin.on('complete', function(file) { $.each(file.successful, function(index, value){ var sizeLabel = "bytes"; var filesize = value.size; if (filesize > 1024){ filesize = filesize / 1024; sizeLabel = "kb"; if(filesize > 1024){ filesize = filesize / 1024; sizeLabel = "MB"; } } var uploadListHtml = '
'+value.name+' ('+ Math.round(filesize, 2) +' '+sizeLabel+')
'; $uploadedList.append(uploadListHtml); }); $fileLabel.text("Add more files"); $statusBar.addClass('uppy-status-hidden'); $statusBar.removeClass('uppy-status-ongoing'); }); $(document).on('click', id + ' .uppy-list .uppy-list-remove', function(){ var itemId = $(this).attr('data-id'); uppyMin.removeFile(itemId); $(id + ' .uppy-list-item[data-id="'+itemId+'"').remove(); }); } var initUppy6 = function(){ var id = '#kt_uppy_6'; var options = { proudlyDisplayPoweredByUppy: false, target: id + ' .uppy-dashboard', inline: false, replaceTargetContent: true, showProgressDetails: true, note: 'No filetype restrictions.', height: 470, metaFields: [ { id: 'name', name: 'Name', placeholder: 'file name' }, { id: 'caption', name: 'Caption', placeholder: 'describe what the image is about' } ], browserBackButtonClose: true, trigger: id + ' .uppy-btn' } var uppyDashboard = Uppy.Core({ autoProceed: true, restrictions: { maxFileSize: 1000000, // 1mb maxNumberOfFiles: 5, minNumberOfFiles: 1 } }); uppyDashboard.use(Dashboard, options); uppyDashboard.use(Tus, { endpoint: 'https://master.tus.io/files/' }); uppyDashboard.use(GoogleDrive, { target: Dashboard, companionUrl: 'https://companion.uppy.io' }); uppyDashboard.use(Dropbox, { target: Dashboard, companionUrl: 'https://companion.uppy.io' }); uppyDashboard.use(Instagram, { target: Dashboard, companionUrl: 'https://companion.uppy.io' }); uppyDashboard.use(Webcam, { target: Dashboard }); } return { // public functions init: function() { initUppy1(); initUppy2(); initUppy3(); initUppy4(); initUppy5(); initUppy6(); setTimeout(function() { swal.fire({ "title": "Notice", "html": "Uppy demos uses https://master.tus.io/files/ URL for resumable upload examples and your uploaded files will be temporarely stored in tus.io servers.", "type": "info", "buttonsStyling": false, "confirmButtonClass": "btn btn-primary", "confirmButtonText": "Ok, I understand", "onClose": function(e) { console.log('on close event fired!'); } }); }, 2000); } }; }(); KTUtil.ready(function() { KTUppy.init(); });