first initial
This commit is contained in:
184
public/assets/js/demo1/pages/crud/file-upload/dropzonejs.js
Normal file
184
public/assets/js/demo1/pages/crud/file-upload/dropzonejs.js
Normal file
@@ -0,0 +1,184 @@
|
||||
"use strict";
|
||||
// Class definition
|
||||
|
||||
var KTDropzoneDemo = function () {
|
||||
// Private functions
|
||||
var demo1 = function () {
|
||||
// single file upload
|
||||
$('#kt_dropzone_1').dropzone({
|
||||
url: "https://keenthemes.com/scripts/void.php", // Set the url for your upload script location
|
||||
paramName: "file", // The name that will be used to transfer the file
|
||||
maxFiles: 1,
|
||||
maxFilesize: 5, // MB
|
||||
addRemoveLinks: true,
|
||||
accept: function(file, done) {
|
||||
if (file.name == "justinbieber.jpg") {
|
||||
done("Naha, you don't.");
|
||||
} else {
|
||||
done();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// multiple file upload
|
||||
$('#kt_dropzone_2').dropzone({
|
||||
url: "https://keenthemes.com/scripts/void.php", // Set the url for your upload script location
|
||||
paramName: "file", // The name that will be used to transfer the file
|
||||
maxFiles: 10,
|
||||
maxFilesize: 10, // MB
|
||||
addRemoveLinks: true,
|
||||
accept: function(file, done) {
|
||||
if (file.name == "justinbieber.jpg") {
|
||||
done("Naha, you don't.");
|
||||
} else {
|
||||
done();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// file type validation
|
||||
$('#kt_dropzone_3').dropzone({
|
||||
url: "https://keenthemes.com/scripts/void.php", // Set the url for your upload script location
|
||||
paramName: "file", // The name that will be used to transfer the file
|
||||
maxFiles: 10,
|
||||
maxFilesize: 10, // MB
|
||||
addRemoveLinks: true,
|
||||
acceptedFiles: "image/*,application/pdf,.psd",
|
||||
accept: function(file, done) {
|
||||
if (file.name == "justinbieber.jpg") {
|
||||
done("Naha, you don't.");
|
||||
} else {
|
||||
done();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
var demo2 = function () {
|
||||
// set the dropzone container id
|
||||
var id = '#kt_dropzone_4';
|
||||
|
||||
// set the preview element template
|
||||
var previewNode = $(id + " .dropzone-item");
|
||||
previewNode.id = "";
|
||||
var previewTemplate = previewNode.parent('.dropzone-items').html();
|
||||
previewNode.remove();
|
||||
|
||||
var myDropzone4 = new Dropzone(id, { // Make the whole body a dropzone
|
||||
url: "https://keenthemes.com/scripts/void.php", // Set the url for your upload script location
|
||||
parallelUploads: 20,
|
||||
previewTemplate: previewTemplate,
|
||||
maxFilesize: 1, // Max filesize in MB
|
||||
autoQueue: false, // Make sure the files aren't queued until manually added
|
||||
previewsContainer: id + " .dropzone-items", // Define the container to display the previews
|
||||
clickable: id + " .dropzone-select" // Define the element that should be used as click trigger to select files.
|
||||
});
|
||||
|
||||
myDropzone4.on("addedfile", function(file) {
|
||||
// Hookup the start button
|
||||
file.previewElement.querySelector(id + " .dropzone-start").onclick = function() { myDropzone4.enqueueFile(file); };
|
||||
$(document).find( id + ' .dropzone-item').css('display', '');
|
||||
$( id + " .dropzone-upload, " + id + " .dropzone-remove-all").css('display', 'inline-block');
|
||||
});
|
||||
|
||||
// Update the total progress bar
|
||||
myDropzone4.on("totaluploadprogress", function(progress) {
|
||||
$(this).find( id + " .progress-bar").css('width', progress + "%");
|
||||
});
|
||||
|
||||
myDropzone4.on("sending", function(file) {
|
||||
// Show the total progress bar when upload starts
|
||||
document.querySelector( id + " .progress-bar").style.opacity = "1";
|
||||
// And disable the start button
|
||||
file.previewElement.querySelector(id + " .dropzone-start").setAttribute("disabled", "disabled");
|
||||
});
|
||||
|
||||
// Hide the total progress bar when nothing's uploading anymore
|
||||
myDropzone4.on("complete", function(progress) {
|
||||
var thisProgressBar = id + " .dz-complete";
|
||||
setTimeout(function(){
|
||||
$( thisProgressBar + " .progress-bar, " + thisProgressBar + " .progress, " + thisProgressBar + " .dropzone-start").css('opacity', '0');
|
||||
}, 300)
|
||||
|
||||
});
|
||||
|
||||
// Setup the buttons for all transfers
|
||||
document.querySelector( id + " .dropzone-upload").onclick = function() {
|
||||
myDropzone4.enqueueFiles(myDropzone4.getFilesWithStatus(Dropzone.ADDED));
|
||||
};
|
||||
|
||||
// Setup the button for remove all files
|
||||
document.querySelector(id + " .dropzone-remove-all").onclick = function() {
|
||||
$( id + " .dropzone-upload, " + id + " .dropzone-remove-all").css('display', 'none');
|
||||
myDropzone4.removeAllFiles(true);
|
||||
};
|
||||
|
||||
// On all files completed upload
|
||||
myDropzone4.on("queuecomplete", function(progress){
|
||||
$( id + " .dropzone-upload").css('display', 'none');
|
||||
});
|
||||
|
||||
// On all files removed
|
||||
myDropzone4.on("removedfile", function(file){
|
||||
if(myDropzone4.files.length < 1){
|
||||
$( id + " .dropzone-upload, " + id + " .dropzone-remove-all").css('display', 'none');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
var demo3 = function () {
|
||||
// set the dropzone container id
|
||||
var id = '#kt_dropzone_5';
|
||||
|
||||
// set the preview element template
|
||||
var previewNode = $(id + " .dropzone-item");
|
||||
previewNode.id = "";
|
||||
var previewTemplate = previewNode.parent('.dropzone-items').html();
|
||||
previewNode.remove();
|
||||
|
||||
var myDropzone5 = new Dropzone(id, { // Make the whole body a dropzone
|
||||
url: "https://keenthemes.com/scripts/void.php", // Set the url for your upload script location
|
||||
parallelUploads: 20,
|
||||
maxFilesize: 1, // Max filesize in MB
|
||||
previewTemplate: previewTemplate,
|
||||
previewsContainer: id + " .dropzone-items", // Define the container to display the previews
|
||||
clickable: id + " .dropzone-select" // Define the element that should be used as click trigger to select files.
|
||||
});
|
||||
|
||||
myDropzone5.on("addedfile", function(file) {
|
||||
// Hookup the start button
|
||||
$(document).find( id + ' .dropzone-item').css('display', '');
|
||||
});
|
||||
|
||||
// Update the total progress bar
|
||||
myDropzone5.on("totaluploadprogress", function(progress) {
|
||||
document.querySelector( id + " .progress-bar").style.width = progress + "%";
|
||||
});
|
||||
|
||||
myDropzone5.on("sending", function(file) {
|
||||
// Show the total progress bar when upload starts
|
||||
document.querySelector( id + " .progress-bar").style.opacity = "1";
|
||||
});
|
||||
|
||||
// Hide the total progress bar when nothing's uploading anymore
|
||||
myDropzone5.on("complete", function(progress) {
|
||||
var thisProgressBar = id + " .dz-complete";
|
||||
setTimeout(function(){
|
||||
$( thisProgressBar + " .progress-bar, " + thisProgressBar + " .progress").css('opacity', '0');
|
||||
}, 300)
|
||||
});
|
||||
}
|
||||
|
||||
return {
|
||||
// public functions
|
||||
init: function() {
|
||||
demo1();
|
||||
demo2();
|
||||
demo3();
|
||||
}
|
||||
};
|
||||
}();
|
||||
|
||||
KTUtil.ready(function() {
|
||||
KTDropzoneDemo.init();
|
||||
});
|
||||
Reference in New Issue
Block a user