Last active
June 6, 2016 22:12
-
-
Save mgratch/b4a0eae812b9e1ba7f6bd9a26f51bf30 to your computer and use it in GitHub Desktop.
create thumbnail when uploading image with GF multi file JS depen includ `array('jquery','gform_gravityforms','plupload-all')`
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var count = 0; | |
var delete_buttons = []; | |
var dom = { | |
uploads: jQuery( "#gform_preview_2_1" ) | |
}; | |
(function($) { | |
function showImagePreview( file ) { | |
var target = "#"+file.id; | |
var item = $( "<li></li>" ).prependTo( target ); | |
var title = $(target).find("strong").html(); | |
//$(target).find("strong").remove(); | |
var image = $( new Image() ).appendTo( item ); | |
var pic_form = $( '<div class="image-meta-form"><label class="setting sr-only" data-setting="title">' + | |
'<span class="name">Title</span>' + | |
'</label>' + | |
'<input placeholder="title" name="title" type="text" value="'+title+'">' + | |
'<label class="setting sr-only" data-setting="description">' + | |
'<span class="name">Description</span>' + | |
'</label>' + | |
'<textarea placeholder="description" name="description"></textarea></div>' ).appendTo( target ); | |
var preloader = new mOxie.Image(); | |
preloader.onload = function() { | |
preloader.downsize( 128, 128 ); | |
image.prop( "src", preloader.getAsDataURL() ); | |
}; | |
preloader.load( file.getSource() ); | |
$(image).on("click", function(){ | |
$.each($(".ginput_preview"),function(){ | |
$(this).removeClass("active"); | |
}); | |
$(this).parents(".ginput_preview").addClass("active"); | |
}); | |
} | |
$(document).bind('gform_post_render', function(){ | |
function handlePluploadFilesAdded( uploader,files ) { | |
for ( var i = 0 ; i < files.length ; i++ ) { | |
if ($("#"+files[i].id).children('li').length == 0){ | |
console.log($("#"+files[i].id).children('li').length); | |
showImagePreview( files[ i ] ); | |
} | |
} | |
} | |
gfMultiFileUploader.uploaders.gform_multifile_upload_2_1.bind('UploadComplete', handlePluploadFilesAdded); | |
gfMultiFileUploader.uploaders.gform_multifile_upload_2_1.bind('UploadComplete',function() { | |
delete_buttons = $(".gform_delete"); | |
count = delete_buttons.length; | |
$("#input_2_2").val(count).change(); | |
$.each(delete_buttons, function() { | |
this.addEventListener("click", handler); | |
function handler(e){ | |
e.target.removeEventListener(e.type, arguments.callee); | |
count = $(".gform_delete").length; | |
$("#input_2_2").val(count).change(); | |
} | |
$(this).appendTo($(this).prev("li")); | |
$(this).parents('.ginput_preview').css('visibility','visible'); | |
}); | |
}); | |
var submit_button = $("#gform_submit_button_2"); | |
submit_button[0].addEventListener("click", handler); | |
function handler(e){ | |
e.target.removeEventListener(e.type, arguments.callee); | |
//e.preventDefault(); | |
var items = []; | |
var i = 0; | |
$.each($(".ginput_preview"), function(){ | |
var item = {}; | |
item.id = $(this).find("strong").html(); | |
item.title = $(this).find("input").val(); | |
item.desc = $(this).find("textarea").val(); | |
items[i] = item; | |
i++; | |
}); | |
$("#input_2_3").val(JSON.stringify(items)); | |
} | |
}); | |
})(jQuery); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment