Панель управления сверстанная и с встроенным jQuery.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

267 lines
7.7 KiB

/* ------------------------------------------------------------------------------
*
* # Plupload multiple file uploader
*
* Specific JS code additions for uploader_plupload.html page
*
* Version: 1.0
* Latest update: Aug 1, 2015
*
* ---------------------------------------------------------------------------- */
$(function() {
// Setup all runtimes
$(".file-uploader").pluploadQueue({
runtimes: 'html5, html4, Flash, Silverlight',
url: 'assets/demo_data/uploader/plupload.json',
chunk_size: '300Kb',
unique_names: true,
filters: {
max_file_size: '300Kb',
mime_types: [{
title: "Image files",
extensions: "jpg,gif,png"
}]
},
resize: {
width: 320,
height: 240,
quality: 90
}
});
// Setup flash version
$(".flash-uploader").pluploadQueue({
// General settings
runtimes: 'flash',
url: 'assets/demo_data/uploader/plupload.json',
chunk_size: '300Kb',
unique_names: true,
filters: {
max_file_size: '300Kb',
mime_types: [{
title: "Image files",
extensions: "jpg,gif,png"
}]
},
// Resize images on clientside if we can
resize: {
width: 320,
height: 240,
quality: 90
},
// Flash settings
flash_swf_url: 'assets/js/plugins/uploaders/plupload/files/Moxie.swf'
});
// Setup html5 version
$(".html5-uploader").pluploadQueue({
// General settings
runtimes: 'html5',
url: 'assets/demo_data/uploader/plupload.json',
chunk_size: '300Kb',
unique_names: true,
filters: {
max_file_size: '300Kb',
mime_types: [{
title: "Image files",
extensions: "jpg,gif,png"
}]
},
// Resize images on clientside if we can
resize: {
width: 320,
height: 240,
quality: 90
}
});
// Setup html4 version
$(".html4-uploader").pluploadQueue({
runtimes: 'html4',
url: 'assets/demo_data/uploader/plupload.json',
unique_names: true,
filters: {
max_file_size: '300Kb',
mime_types: [{
title: "Image files",
extensions: "jpg,gif,png"
}]
}
});
// Events
$(".uploader-events").pluploadQueue({
// General settings
runtimes: 'html5,flash,silverlight,html4',
url: 'assets/demo_data/uploader/plupload.json',
chunk_size: '300Kb',
unique_names: true,
// Resize images on client-side if we can
resize: {
width: 320,
height: 240,
quality: 90
},
// Filters
filters: {
max_file_size: '300Kb',
mime_types: [{
title: "Image files",
extensions: "jpg,gif,png"
}]
},
// Flash settings
flash_swf_url: '/plupload/js/Moxie.swf',
// Silverlight settings
silverlight_xap_url: '/plupload/js/Moxie.xap',
// PreInit events, bound before any internal events
preinit: {
Init: function(up, info) {
log('[Init]', 'Info:', info, 'Features:', up.features);
},
UploadFile: function(up, file) {
log('[UploadFile]', file);
}
},
// Post init events, bound after the internal events
init: {
Browse: function(up) {
log('[Browse]'); // Called when file picker is clicked
},
Refresh: function(up) {
log('[Refresh]'); // Called when the position or dimensions of the picker change
},
StateChanged: function(up) {
log('[StateChanged]', up.state == plupload.STARTED ? "STARTED": "STOPPED"); // Called when the state of the queue is changed
},
QueueChanged: function(up) {
log('[QueueChanged]'); // Called when queue is changed by adding or removing files
},
OptionChanged: function(up, name, value, oldValue) {
log('[OptionChanged]', 'Option Name: ', name, 'Value: ', value, 'Old Value: ', oldValue); // Called when one of the configuration options is changed
},
BeforeUpload: function(up, file) {
log('[BeforeUpload]', 'File: ', file); // Called right before the upload for a given file starts, can be used to cancel it if required
},
UploadProgress: function(up, file) {
log('[UploadProgress]', 'File:', file, "Total:", up.total); // Called while file is being uploaded
},
FileFiltered: function(up, file) {
log('[FileFiltered]', 'File:', file); // Called when file successfully files all the filters
},
FilesAdded: function(up, files) {
log('[FilesAdded]'); // Called when files are added to queue
plupload.each(files, function(file) {
log(' File:', file);
});
},
FilesRemoved: function(up, files) {
log('[FilesRemoved]'); // Called when files are removed from queue
plupload.each(files, function(file) {
log(' File:', file);
});
},
FileUploaded: function(up, file, info) {
log('[FileUploaded] File:', file, "Info:", info); // Called when file has finished uploading
},
ChunkUploaded: function(up, file, info) {
log('[ChunkUploaded] File:', file, "Info:", info); // Called when file chunk has finished uploading
},
UploadComplete: function(up, files) {
log('[UploadComplete]'); // Called when all files are either uploaded or failed
},
Destroy: function(up) {
log('[Destroy] '); // Called when uploader is destroyed
},
Error: function(up, args) {
log('[Error] ', args); // Called when error occurs
}
}
});
// Write log
function log() {
var str = "";
plupload.each(arguments, function(arg) {
var row = "";
if (typeof(arg) != "string") {
plupload.each(arg, function(value, key) {
// Convert items in File objects to human readable form
if (arg instanceof plupload.File) {
// Convert status to human readable
switch (value) {
case plupload.QUEUED:
value = 'QUEUED';
break;
case plupload.UPLOADING:
value = 'UPLOADING';
break;
case plupload.FAILED:
value = 'FAILED';
break;
case plupload.DONE:
value = 'DONE';
break;
}
}
if (typeof(value) != "function") {
row += (row ? ', ': '') + key + '=' + value;
}
});
str += row + " ";
}
else {
str += arg + " ";
}
});
var log = $('#log');
log.append(str + "<br>");
log.scrollTop(log[0].scrollHeight);
}
});