/home/shalekuihb/www/wp-content/themes/bridge/framework/admin/assets/js/qode-tax-custom-fields.js
(function($){
$(document).ready(function () {
qode_tax_media_upload('.qode-tax-media-add.button');
qode_tax_media_remove('.qode-tax-media-remove.button');
qodeInitTaxColorpicker();
qodefInitSelectChange();
qodefInitTermIconSelectChange();
qodefSelect2();
});
// Thanks: http://stackoverflow.com/questions/15281995/wordpress-create-category-ajax-response
//remove all thumbs after edit/save taxonomy
$(document).ajaxComplete(function(event, xhr, settings) {
if (settings.data) {
var queryStringArr = settings.data.split('&');
if ($.inArray('action=add-tag', queryStringArr) !== -1) {
var xml = xhr.responseXML;
$response = $(xml).find('term_id').text();
if ($response != "") {
// Clear the thumb image
$('.qode-tax-image-wrapper').html('');
$('.qode-taxonomy-color-field').val('');
$('.qode-taxonomy-color-field').parents('.wp-picker-container').find('.wp-color-result').removeAttr('style');
}
}
}
});
function qode_tax_media_upload(button_class) {
var _custom_media = true,
_orig_send_attachment = wp.media.editor.send.attachment;
$('body').on('click', button_class, function(e) {
var $this = $(this);
var parent = $this.closest('.form-field');
_custom_media = true;
wp.media.editor.send.attachment = function(props, attachment){
if ( _custom_media ) {
if (attachment.sizes.thumbnail !== undefined){
attachment_url = attachment.sizes.thumbnail.url;
} else {
attachment_url = attachment.sizes.full.url;
}
parent.find('.qode-tax-custom-media-url').val(attachment.id);
parent.find('.qode-tax-image-wrapper').html('<img class="custom_media_image" src="" style="margin:0;padding:0;max-height:100px;float:none;" />');
parent.find('.qode-tax-image-wrapper .custom_media_image').attr('src',attachment_url).css('display','block');
} else {
return _orig_send_attachment.apply( button_class, [props, attachment] );
}
}
wp.media.editor.open(button_class);
return false;
});
}
function qode_tax_media_remove(button_class) {
$('body').on('click', button_class,function(){
var $this = $(this);
var parent = $this.closest('.form-field');
var image = parent.find('.qode-tax-custom-media-url');
var editTax = $this.parents('#edittag');
var addTag = $this.parents('#addtag');
var wpNonce;
/** Make sure the user didn't hit the button by accident and they really mean to delete the image **/
if( image.val() !== '' && confirm( 'Are you sure you want to delete this file?' ) ) {
if(editTax.length){
wpNonce = editTax.find('#_wpnonce').val();
} else if(addTag.length) {
wpNonce = addTag.find('#_wpnonce_add-tag').val();
}
var result = $.ajax({
url: '/wp-admin/admin-ajax.php',
type: 'GET',
data: {
action: 'bridge_qode_tax_del_image',
term_id: $this.data('termid'),
taxonomy: $this.data('taxonomy'),
field_name: image.attr('name'),
delete_tax_nonce: wpNonce
},
dataType: 'text'
});
result.success( function( data ) {
$('#qode-uploaded-image').remove();
});
result.fail( function( jqXHR, textStatus ) {
console.log( "Request failed: " + textStatus );
});
image.val('');
parent.find('.qode-tax-image-wrapper').html('<img class="custom_media_image" src="" style="margin:0;padding:0;max-height:100px;float:none;" />');
}
});
}
function qodeInitTaxColorpicker() {
if ($('.qode-taxonomy-color-field').length) {
$('.qode-taxonomy-color-field').wpColorPicker({
change: function (event, ui) {
$('.qodef-input-change').addClass('yes');
}
});
}
}
function qodefInitSelectChange() {
var selectBox = $('select.dependence');
selectBox.each(function() {
initialHide($(this), this);
});
selectBox.on('change', function (e) {
initialHide($(this), this);
});
function initialHide(selectField, selectObject) {
var valueSelected = selectObject.value.replace(/ /g, '');
$(selectField.data('hide-'+valueSelected)).closest('.form-field').fadeOut();
$(selectField.data('show-'+valueSelected)).closest('.form-field').fadeIn();
}
}
function qodefSelect2() {
var holder = $('select.qodef-select2');
if (holder.length) {
holder.select2({
allowClear: true
});
}
}
function qodefInitTermIconSelectChange() {
$(document).on('change', 'select.dependence', function (e) {
var valueSelected = this.value.replace(/ /g, '');
$('.form-field.qode-icon-collection-holder').fadeOut();
$('.form-field[data-icon-collection="' + valueSelected + '"]').fadeIn();
});
}
})(jQuery);