HEX
Server: Apache
System: Linux web5.visualcom.es 4.18.0-477.21.1.lve.1.el8.x86_64 #1 SMP Tue Sep 5 23:08:35 UTC 2023 x86_64
User: ensaco.es (10019)
PHP: 8.3.32
Disabled: opcache_get_status
Upload Files
File: /var/www/vhosts/ensaco.es/httpdocs/wp-content/plugins/woo-product-bundle/assets/js/blocks.js
const woosbCheckoutFilters = window.wc.blocksCheckout.registerCheckoutFilters;

const woosbCartItemClass = (defaultValue, extensions, args) => {
    const isCartContext = args?.context === 'cart' || args?.context === 'summary';

    if (!isCartContext) {
        return defaultValue;
    }

    if (args?.cartItem?.woosb_bundles) {
        defaultValue += ' woosb-bundles';
    }

    if (args?.cartItem?.woosb_bundled) {
        defaultValue += ' woosb-bundled';
    }

    if (args?.cartItem?.woosb_hide_bundled) {
        defaultValue += ' woosb-hide-bundled';
    }

    if (args?.cartItem?.woosb_fixed_price) {
        defaultValue += ' woosb-fixed-price';
    }

    return defaultValue;
};

const woosbShowRemoveItemLink = (defaultValue, extensions, args) => {
    const isCartContext = args?.context === 'cart';

    if (!isCartContext) {
        return defaultValue;
    }

    if (args?.cartItem?.woosb_bundled) {
        return false;
    }

    return defaultValue;
};

const woosbCartItemPrice = (defaultValue, extensions, args, validation) => {
    const isCartContext = args?.context === 'cart' || args?.context === 'summary';

    if (!isCartContext) {
        return defaultValue;
    }

    if (args?.cartItem?.woosb_bundles && args?.cartItem?.woosb_price) {
        return woosb_format_price(args?.cartItem?.woosb_price * args?.cartItem?.quantity).replace(/<[^>]*>?/gm, '') + '<price/>';
    }

    return '<price/>';
};

const woosbSubtotalPriceFormat = (defaultValue, extensions, args, validation) => {
    const isCartContext = args?.context === 'cart' || args?.context === 'summary';

    if (!isCartContext) {
        return defaultValue;
    }

    if (args?.cartItem?.woosb_bundles && args?.cartItem?.woosb_price) {
        return woosb_format_price(args?.cartItem?.woosb_price).replace(/<[^>]*>?/gm, '') + '<price/>';
    }

    return '<price/>';
};

const woosbItemName = (defaultValue, extensions, args) => {
    const isCartContext = args?.context === 'cart';

    if (!isCartContext) {
        return defaultValue;
    }

    // Append edit link after the product name when woosb_edit_url is available
    if (args?.cartItem?.woosb_edit_url) {
        const label = extensions?.['woosb-blocks']?.edit_label || 'Edit';

        return defaultValue + ' <a class="woosb-cart-item-edit" href="' + args.cartItem.woosb_edit_url + '">' + label + '</a>';
    }

    return defaultValue;
};

woosbCheckoutFilters('woosb-blocks', {
    cartItemClass: woosbCartItemClass,
    showRemoveItemLink: woosbShowRemoveItemLink,
    cartItemPrice: woosbCartItemPrice,
    subtotalPriceFormat: woosbSubtotalPriceFormat,
    itemName: woosbItemName,
});

// https://github.com/woocommerce/woocommerce-blocks/blob/trunk/docs/third-party-developers/extensibility/checkout-block/available-filters/cart-line-items.md