(function($){
var version_num = ACFFA.version;
$(document).on( 'change', '.field_type-select select, .field_type select, .acf-field-select select', function() {
if ( $(this).val() == 'font-awesome' ) {
var font_awesome_form;
if ( 5 == version_num ) {
// ACF 5
font_awesome_form = $(this).closest( '.acf-field-object-font-awesome' );
} else {
// ACF 4
font_awesome_form = $(this).closest( '.field_form' );
}
setTimeout(function() {
var font_awesome_select = $( 'select.fontawesome', font_awesome_form );
update_preview( font_awesome_select, $( font_awesome_select ).val(), version_num );
if ( $('.select2-container', font_awesome_form).length === 0 ) {
font_awesome_select.select2({
width : '100%',
dropdownCssClass : 'fa-select2-drop'
});
} else {
$('.select2-container', font_awesome_form).remove();
font_awesome_select.select2({
width : '100%',
dropdownCssClass : 'fa-select2-drop'
});
}
}, 1000);
}
});
if ( 5 == version_num ) {
acf.add_filter('select2_args', function( args, $select, settings, $field ){
if ( $field.data('setting') == 'font-awesome' ) {
args.dropdownCssClass = 'fa-select2-drop';
}
// return
return args;
});
}
$(document).ready(function($) {
elements = $( 'select.fontawesome' );
if ( 4 == version_num ) {
$( elements ).select2({
width : '100%',
dropdownCssClass : 'fa-select2-drop'
});
}
$.each( elements , function( index, el ) {
update_preview( el, $(el).val(), version_num );
});
});
$(document).on( 'select2-selecting select2:selecting', 'select.fontawesome', function( object ) {
update_preview( this, object.val, version_num );
});
$(document).on( 'select2-highlight select2:highlight', 'select.fontawesome', function( object ) {
update_preview( this, object.val, version_num );
});
$(document).on( 'select2-close select2:close', 'select.fontawesome', function( object ) {
update_preview( this, $(this).val(), version_num );
});
function update_preview( element, selected, version ) {
if ( version == 4 ) {
$( '.fa-live-preview', $(element).parent() ).html( '' );
} else {
var sibling = $(element).closest('tr').siblings('tr[data-name="fa_live_preview"]');
$( 'td.acf-input', sibling ).html( '' );
}
}
})(jQuery);