(function($){
$(document).ready(function(){
$('body').on('click', '.media-input', function(e) {
media_input_btn = $(this);
e.preventDefault();
var image = wp.media({
title: wcag_l10n.add_images,
multiple: true
}).open()
.on('select', function(e){
var uploaded_image = image.state().get('selection');
images_json = media_input_btn.prev().val();
images_json = (images_json == '') ? "[" : images_json;
uploaded_image.map( function( attachment ) {
attachment = attachment.toJSON();
if(images_json == '['){
images_json += '{"id":"'+attachment.id+'","url":"'+attachment.url+'","title":"'+attachment.title+'","alt":"'+attachment.alt+'"}';
}else{
images_json = images_json.replace(']','');
images_json += ',{"id":"'+attachment.id+'","url":"'+attachment.url+'","title":"'+attachment.title+'","alt":"'+attachment.alt+'"}';
}
html = '';
html+= '';
html+= '
';
html+= ''+ wcag_l10n.delete_image +'';
media_input_btn.next().append('
'+html+'
');
}).join();
images_json += "]";
media_input_btn.prev().val(images_json);
});
});
$('body').on('click', '.remove-image', function(){
id = $(this).parent().find('.image-link').attr('id');
image_id = id.replace('image_link','');
image_widget_container = $(this).closest('.image_widget_container');
$(this).parent().remove();
update_json_images(image_widget_container)
update_images_links(image_widget_container);
});
$('body').on('input click', '.image-link', function(){
update_images_links($(this).closest('.image_widget_container'));
});
function update_images_links(image_widget_container){
links_json = "{";
images_links = image_widget_container.find('.image-link');
images_links.each(function(){
links_json += links_json!="{" ? ',' : '';
links_json += '"'+$(this).attr('id')+'":"'+$(this).val()+'"';
});
links_json += "}";
links_json = (links_json == '{}') ? '' : links_json;
image_widget_container.find('.image-links').val(links_json);
}
function update_json_images(image_widget_container){
images_json = image_widget_container.find('.images-json').val();
begin = images_json.indexOf('{"id":"'+image_id+'"');
end = images_json.indexOf('}',images_json.indexOf('{"id":"'+image_id+'"')) + 1;
json_row = images_json.substring(begin, end);
images_json = images_json.replace(json_row, '');
images_json = images_json.replace(',,',',');
images_json = images_json.replace('[,','[');
images_json = images_json.replace(',]',']');
images_json = (images_json.length < 5) ? '': images_json;
image_widget_container.find('.images-json').val(images_json);
}
});
})(jQuery);