geno/wp-content/plugins/ti-woocommerce-wishlist/assets/js/blocks.js

44 lines
1.2 KiB
JavaScript
Raw Permalink Normal View History

2024-02-01 17:24:18 +05:30
// WooCommerce Blocks All Products
( function( wp ) {
if ( ! wp || ( 'undefined' == typeof ( wp.element ) ) || 'undefined' == typeof ( wp.i18n ) ) {
console.log( 'wp.element or wp.i18n not found - cannot load support for WooCommerce blocks' );
}
if ( 'undefined' == typeof ( window.React ) ) {
console.log( 'No react, so we can\'t continue adding support for TI WooCOmmerce Wishlist to blocks.' );
return;
}
var el = wp.element.createElement;
var __ = wp.i18n.__;
const TinvWLButton = ( props ) => {
if ( 'undefined' != typeof props.product.description && props.product.description.match( /tinvwl-loop-button-wrapper/ ) ) {
var btn = jQuery( '<div>' + props.product.description.replace( /<[\/]{0,1}(p)[^><]*>/ig, '' ) + '</div>' ).find( '.tinvwl-loop-button-wrapper' );
if ( jQuery( btn[0]).length ) {
return el( 'div', {
dangerouslySetInnerHTML: {
__html: jQuery( btn[0]).prop( 'outerHTML' )
}
});
}
}
return null;
}
;
const {registerBlockComponent} = wc.wcBlocksRegistry;
const mainBlock = 'woocommerce/all-products';
registerBlockComponent({
main: mainBlock,
blockName: 'tinvwl/add-to-wishlist',
component: TinvWLButton,
context: mainBlock
});
}
( window.wp ) );