Files
torebki-fabiola.pl/wp-content/plugins/ean-for-woocommerce/includes/js/alg-wc-ean-variations.js
2026-03-05 13:07:40 +01:00

81 lines
1.5 KiB
JavaScript

/**
* EAN for WooCommerce - Variations
*
* @version 4.4.0
* @since 1.0.0
*
* @author Algoritmika Ltd
*/
jQuery( document ).ready( function() {
var variations_form = jQuery( alg_wc_ean_variations_obj.variations_form );
if ( jQuery( 'body' ).hasClass( 'single-product' ) && variations_form.length > 0 ) { // is single variable product page
var ean = variations_form.closest( alg_wc_ean_variations_obj.variations_form_closest ).find( '.ean' );
if ( ean.length > 0 ) { // do ean
var ean_reset = ean.text();
var ean_parent = ean.parent();
alg_wc_ean_maybe_hide();
alg_wc_ean_variations();
}
}
/**
* alg_wc_ean_variations
*
* @version 1.3.0
* @since 1.0.0
*/
function alg_wc_ean_variations() {
variations_form.on( 'found_variation', function( event, variation ) {
if ( variation.ean ) {
alg_wc_ean_show( variation );
} else {
alg_wc_ean_reset();
}
} );
variations_form.on( 'reset_data', alg_wc_ean_reset );
}
/**
* alg_wc_ean_show
*
* @version 1.3.0
* @since 1.0.0
*/
function alg_wc_ean_show( variation ) {
if ( variation.ean ) {
ean.text( variation.ean );
ean_parent.show();
}
}
/**
* alg_wc_ean_reset
*
* @version 1.3.0
* @since 1.0.0
*/
function alg_wc_ean_reset() {
if ( ean_reset !== ean.text() ) {
ean.text( ean_reset );
}
alg_wc_ean_maybe_hide();
}
/**
* alg_wc_ean_maybe_hide
*
* @version 1.3.0
* @since 1.0.0
*
* @todo [later] `do_hide`
*/
function alg_wc_ean_maybe_hide() {
if ( '' == ean_reset ) {
ean_parent.hide();
}
}
} );