(function($){
'use strict';
$(document).ready(function (){
$(document).on('change', 'input[name="payment_method"]', function (){
$('body').trigger('update_checkout');
});
init_tooltip();
add_fee_data_in_seesion();
let previouslyChosenPaymentMethod='';
if(wp.data){
wp.data.subscribe(function (){
const chosenPaymentMethod =
wp.data.select(wc.wcBlocksData.PAYMENT_STORE_KEY).getActivePaymentMethod();
if(chosenPaymentMethod!==previouslyChosenPaymentMethod){
previouslyChosenPaymentMethod=chosenPaymentMethod;
add_fee_data_in_seesion();
}}, wc.wcBlocksData.PAYMENT_STORE_KEY);
}
updateFeeLabel();
const observer=new MutationObserver(updateFeeLabel);
observer.observe(document.body, { childList: true, subtree: true });
});
function init_tooltip(){
setTimeout(function(){
$('.wc-dsaefw-help-tip').each(function (){
return $(this).tipTip({
content: $(this).data('tip'),
keepAlive: true,
edgeOffset: 2 
});
});
}, 1000);
}
function add_fee_data_in_seesion(){
if(!window?.wc?.blocksCheckout){
return;
}
$('.wp-block-woocommerce-checkout').block({
message: null,
overlayCSS: {
background: '#fff',
opacity: 0.6
}});
const { select }=wp.data;
const { PAYMENT_STORE_KEY }=window.wc.wcBlocksData;
const chosenPaymentMethod=select(PAYMENT_STORE_KEY).getActivePaymentMethod();
wc.blocksCheckout.extensionCartUpdate({
namespace: 'dotstore-advance-extra-checkout-data',
data: {
isCheckout: dasefw_public_vars.is_checkout ? true:false,
payment_method: chosenPaymentMethod,
},
}).finally(()=> {
setTimeout(function(){
$(document.body).trigger('wc_fragment_refresh');
},300);
$('.wp-block-woocommerce-checkout').unblock();
});
return;
}
function updateFeeLabel(){
$.each(dasefw_public_vars.fee_tooltip_data, function(fee_slug, fee_html){
if($('.wc-block-components-totals-fees__'+fee_slug).length > 0){
var $valueElement=$('.wc-block-components-totals-fees__'+fee_slug).find('.wc-block-components-totals-item__value');
if($valueElement.length&&$('.dsaefw-help-tip-'+fee_slug).length===0){
var $tooltip=$('<span class="wc-dsaefw-help-tip wc-block-components-tooltip dsaefw-help-tip-' + fee_slug + '" data-tip="' + fee_html + '"></span>');
$valueElement.after($tooltip);
}}
});
init_tooltip();
}})(jQuery);