var WPML_Media_Selector = WPML_Media_Selector || {};
jQuery(function ($) {
"use strict";
var dashboardTable = $('#icl-tm-translation-dashboard');
dashboardTable.find('tbody :checkbox').on('change', showMediaSelector);
function showMediaSelector() {
var hasMedia = $(this).closest('tr').data('has-media');
if (hasMedia) {
var checkbox = $(this);
var postSelected = checkbox.prop('checked');
var currentRow = $(this).closest('tr');
var postId = currentRow.attr('id').replace(/^row_/, '');
var mediaSelectorRow = $('#js-wpml-media-selector-' + postId);
}
if (postSelected) {
if (mediaSelectorRow.length) {
mediaSelectorRow.show();
} else {
loadMediaSelectorContent(currentRow, postId, checkbox);
}
} else if ( mediaSelectorRow ) {
mediaSelectorRow.find('label :checkbox').prop('checked', false);
mediaSelectorRow.hide();
}
}
function loadMediaSelectorContent(currentRow, postId, checkbox) {
var mediaSelectorContainer = {};
var rowWidth = currentRow.find('td:visible').length;
var data = {
action: "wpml_media_load_image_selector",
post_id: postId,
languages: getTargetLanguages()
};
var mediaSelectorRow = $(
'
|
' +
'' +
' | ' +
'
'
);
mediaSelectorRow.insertAfter(currentRow);
var postType = currentRow.data('post-type');
var preLoader = $('#wpml-media-selector-preloader').html().replace(/%POST_TYPE%/, postType);
mediaSelectorContainer = $('#js-wpml-media-selector-' + postId).find('td');
mediaSelectorContainer.html(preLoader);
checkbox.prop('disabled', true);
$.ajax({
url: ajaxurl,
type: "POST",
dataType: "json",
data: data,
success: function (response) {
if (response.success && response.data.media_files_count) {
mediaSelectorContainer.find('.wpml-media-selector-wrapper-inner').html(response.data.html);
} else {
mediaSelectorRow.remove();
}
checkbox.prop('disabled', false);
}
});
}
function getTargetLanguages() {
var languages = [];
$(':radio[name^="tr_action"][value="1"]:checked', '#icl_tm_languages').each(function () {
languages.push($(this).attr('name').replace(/^tr_action\[/, '').replace(/\]$/, ''));
});
return languages;
}
$('#wpml-media-basket-notice').on('click', hideBasketNotice);
function hideBasketNotice() {
$.ajax({
url: ajaxurl,
type: "POST",
dataType: "json",
data: {action: 'dismiss_media_basket_notice'},
success: function (response) {
if (response.data.status) {
$('#wpml-media-basket-notice').fadeOut();
}
}
});
}
$('body').on('click', '.js-wpml-media-selector-toggle', toogleMediaList);
function toogleMediaList(event) {
event.preventDefault();
$(this).toggleClass('collapsed');
$('.wpml-media-selector-wrapper').toggle();
$.ajax({
url: ajaxurl,
type: "POST",
dataType: "json",
data: {action: 'wpml_media_toogle_show_media_selector'}
});
return false;
}
});