first commit
This commit is contained in:
108
jquery/controls.js
vendored
Normal file
108
jquery/controls.js
vendored
Normal file
@ -0,0 +1,108 @@
|
||||
$(function(){
|
||||
/*
|
||||
* For the sake keeping the code clean and the examples simple this file
|
||||
* contains only the plugin configuration & callbacks.
|
||||
*
|
||||
* UI functions ui_* can be located in:
|
||||
* - assets/demo/uploader/js/ui-main.js
|
||||
* - assets/demo/uploader/js/ui-multiple.js
|
||||
* - assets/demo/uploader/js/ui-single.js
|
||||
*/
|
||||
$('#drag-and-drop-zone').dmUploader({ //
|
||||
url: '/demo/java-script/upload',
|
||||
maxFileSize: 3000000, // 3 Megs max
|
||||
auto: false,
|
||||
queue: false,
|
||||
onDragEnter: function(){
|
||||
// Happens when dragging something over the DnD area
|
||||
this.addClass('active');
|
||||
},
|
||||
onDragLeave: function(){
|
||||
// Happens when dragging something OUT of the DnD area
|
||||
this.removeClass('active');
|
||||
},
|
||||
onInit: function(){
|
||||
// Plugin is ready to use
|
||||
ui_add_log('Penguin initialized :)', 'info');
|
||||
},
|
||||
onComplete: function(){
|
||||
// All files in the queue are processed (success or error)
|
||||
ui_add_log('All pending tranfers finished');
|
||||
},
|
||||
onNewFile: function(id, file){
|
||||
// When a new file is added using the file selector or the DnD area
|
||||
ui_add_log('New file added #' + id);
|
||||
ui_multi_add_file(id, file);
|
||||
},
|
||||
onBeforeUpload: function(id){
|
||||
// about tho start uploading a file
|
||||
ui_add_log('Starting the upload of #' + id);
|
||||
ui_multi_update_file_status(id, 'uploading', 'Uploading...');
|
||||
ui_multi_update_file_progress(id, 0, '', true);
|
||||
ui_multi_update_file_controls(id, false, true); // change control buttons status
|
||||
},
|
||||
onUploadProgress: function(id, percent){
|
||||
// Updating file progress
|
||||
ui_multi_update_file_progress(id, percent);
|
||||
},
|
||||
onUploadSuccess: function(id, data){
|
||||
// A file was successfully uploaded
|
||||
ui_add_log('Server Response for file #' + id + ': ' + JSON.stringify(data));
|
||||
ui_add_log('Upload of file #' + id + ' COMPLETED', 'success');
|
||||
ui_multi_update_file_status(id, 'success', 'Upload Complete');
|
||||
ui_multi_update_file_progress(id, 100, 'success', false);
|
||||
ui_multi_update_file_controls(id, false, false); // change control buttons status
|
||||
},
|
||||
onUploadCanceled: function(id) {
|
||||
// Happens when a file is directly canceled by the user.
|
||||
ui_multi_update_file_status(id, 'warning', 'Canceled by User');
|
||||
ui_multi_update_file_progress(id, 0, 'warning', false);
|
||||
ui_multi_update_file_controls(id, true, false);
|
||||
},
|
||||
onUploadError: function(id, xhr, status, message){
|
||||
// Happens when an upload error happens
|
||||
ui_multi_update_file_status(id, 'danger', message);
|
||||
ui_multi_update_file_progress(id, 0, 'danger', false);
|
||||
ui_multi_update_file_controls(id, true, false, true); // change control buttons status
|
||||
},
|
||||
onFallbackMode: function(){
|
||||
// When the browser doesn't support this plugin :(
|
||||
ui_add_log('Plugin cant be used here, running Fallback callback', 'danger');
|
||||
},
|
||||
onFileSizeError: function(file){
|
||||
ui_add_log('File \'' + file.name + '\' cannot be added: size excess limit', 'danger');
|
||||
}
|
||||
});
|
||||
|
||||
/*
|
||||
Global controls
|
||||
*/
|
||||
$('#btnApiStart').on('click', function(evt){
|
||||
evt.preventDefault();
|
||||
|
||||
$('#drag-and-drop-zone').dmUploader('start');
|
||||
});
|
||||
|
||||
$('#btnApiCancel').on('click', function(evt){
|
||||
evt.preventDefault();
|
||||
|
||||
$('#drag-and-drop-zone').dmUploader('cancel');
|
||||
});
|
||||
|
||||
/*
|
||||
Each File element action
|
||||
*/
|
||||
$('#files').on('click', 'button.start', function(evt){
|
||||
evt.preventDefault();
|
||||
|
||||
var id = $(this).closest('li.media').data('file-id');
|
||||
$('#drag-and-drop-zone').dmUploader('start', id);
|
||||
});
|
||||
|
||||
$('#files').on('click', 'button.cancel', function(evt){
|
||||
evt.preventDefault();
|
||||
|
||||
var id = $(this).closest('li.media').data('file-id');
|
||||
$('#drag-and-drop-zone').dmUploader('cancel', id);
|
||||
});
|
||||
});
|
Reference in New Issue
Block a user