Untitled
unknown
plain_text
2 years ago
12 kB
19
No Index
add_action('wp_head', function(){
?>
<script>
jQuery(document).ready(function(){
setTimeout(function(){
jQuery('body').off('click', '.b2bking_offer_download');
jQuery('body').on('click','.b2bking_offer_download', function(){
var buttondownload = jQuery(this);
var initialclicktime = Date.now();
// replace icon with loader
jQuery('<img class="b2bking_loader_icon_button" src="'+b2bking_display_settings.loadertransparenturl+'">').insertBefore(jQuery(this).find('.b2bking_myaccount_individual_offer_bottom_line_button_icon'));
jQuery(this).find('.b2bking_myaccount_individual_offer_bottom_line_button_icon').css('display','none');
var logoimg = b2bking_display_settings.offers_logo;
var offernr = jQuery(this).parent().parent().parent().find('#b2bking_offer_id').val();
// if images are lazy-loaded, replace
let logodatasrc = jQuery('#b2bking_img_logo').attr('data-src');
if (logodatasrc !== undefined && logodatasrc !== ''){
jQuery('#b2bking_img_logo').attr('src', logodatasrc);
}
jQuery('.b2bking_hidden_img').each(function(i){
let logodatasrcth = jQuery(this).attr('data-src');
if (logodatasrcth !== undefined && logodatasrcth !== ''){
jQuery(this).attr('src', logodatasrcth);
}
});
var imgToExport = document.getElementById('b2bking_img_logo');
var canvas = document.createElement('canvas');
canvas.width = imgToExport.width;
canvas.height = imgToExport.height;
canvas.getContext('2d').drawImage(imgToExport, 0, 0);
var dataURL = canvas.toDataURL("image/png");
// get all thumbnails
var thumbnails = [];
var thumbnr = 0;
if (parseInt(b2bking_display_settings.offers_images_setting) === 1){
// get field;
let field = jQuery(this).parent().parent().parent().find('.b2bking_offers_thumbnails_str').val();
let itemsArray = field.split('|');
// foreach condition, add condition, add new item
itemsArray.forEach(function(item){
if (item !== 'no'){
var idimg = 'b2bking_img_logo'+thumbnr+offernr;
var imgToExport = document.getElementById(idimg);
var canvas = document.createElement('canvas');
canvas.width = imgToExport.width;
canvas.height = imgToExport.height;
canvas.getContext('2d').drawImage(imgToExport, 0, 0);
let datau = canvas.toDataURL("image/png");
thumbnr++;
thumbnails.push(datau);
} else {
thumbnails.push('no');
}
});
}
thumbnr = 0;
var customtext = jQuery(this).parent().parent().parent().find('.b2bking_myaccount_individual_offer_custom_text').text();
customtext = customtext.replace('\t','').trim();
var customtextvendor = jQuery(this).parent().parent().parent().find('.b2bking_myaccount_individual_offer_custom_text_vendor').text();
customtextvendor = customtextvendor.replace('\t','').trim();
var customtexttitle = b2bking_display_settings.offer_custom_text;
if (customtext.length === 0 && customtextvendor.length === 0){
customtexttitle = '';
}
var bodyarray = [];
bodyarray.push([{ text: b2bking_display_settings.item_name, style: 'tableHeader', margin: [7, 7, 7, 7] }, { text: b2bking_display_settings.item_quantity, style: 'tableHeader', margin: [7, 7, 7, 7] }, { text: b2bking_display_settings.unit_price, style: 'tableHeader', margin: [7, 7, 7, 7] }, { text: b2bking_display_settings.item_subtotal, style: 'tableHeader', margin: [7, 7, 7, 7] }]);
// get values
jQuery(this).parent().parent().parent().find('.b2bking_myaccount_individual_offer_element_line').each(function(i){
let tempvalues = [];
if (parseInt(b2bking_display_settings.offers_images_setting) === 1){
if (thumbnails[thumbnr] !== 'no'){
// add name + images
tempvalues.push([{ text: jQuery(this).find('.b2bking_myaccount_individual_offer_element_line_item_name').first().text(), margin: [7, 7, 7, 7] },{
image: thumbnails[thumbnr],
width: 40,
margin: [15, 5, 5, 5]
}]);
} else {
// add name only
tempvalues.push({ text: jQuery(this).find('.b2bking_myaccount_individual_offer_element_line_item_name').first().text(), margin: [7, 7, 7, 7] });
}
thumbnr++;
} else {
// add name only
tempvalues.push({ text: jQuery(this).find('.b2bking_myaccount_individual_offer_element_line_item_name').first().text(), margin: [7, 7, 7, 7] });
}
tempvalues.push({ text: jQuery(this).find('.b2bking_myaccount_individual_offer_element_line_item:nth-child(2)').text(), margin: [7, 7, 7, 7] });
tempvalues.push({ text: jQuery(this).find('.b2bking_myaccount_individual_offer_element_line_item:nth-child(3)').text(), margin: [7, 7, 7, 7] });
tempvalues.push({ text: jQuery(this).find('.b2bking_myaccount_individual_offer_element_line_item:nth-child(4)').text(), margin: [7, 7, 7, 7] });
bodyarray.push(tempvalues);
});
bodyarray.push(['','',{ text: b2bking_display_settings.offer_total+': ', margin: [7, 7, 7, 7], bold: true },{ text: jQuery(this).parent().parent().parent().find('.b2bking_myaccount_individual_offer_bottom_line_total strong').text(), margin: [7, 7, 7, 7], bold: true }]);
let imgobj = {
image: dataURL,
width: parseInt(b2bking_display_settings.offerlogowidth),
margin: [0, parseInt(b2bking_display_settings.offerlogotopmargin), 0, 30]
};
var contentarray =[
{ text: b2bking_display_settings.offer_details, fontSize: 14, bold: true, margin: [0, 20, 0, 20] },
{
style: 'tableExample',
table: {
headerRows: 1,
widths: ['*', '*', '*', '*'],
body: bodyarray,
},
layout: 'lightHorizontalLines'
},
{ text: b2bking_display_settings.offer_go_to, link: b2bking_display_settings.offers_endpoint_link, decoration: 'underline', fontSize: 13, bold: true, margin: [0, 20, 40, 8], alignment:'right' },
{ text: customtexttitle, fontSize: 14, bold: true, margin: [0, 50, 0, 8] },
{ text: customtextvendor, fontSize: 12, bold: false, margin: [0, 8, 0, 8] },
{ text: customtext, fontSize: 12, bold: false, margin: [0, 8, 0, 8] },
];
var mention_offer_requester = b2bking_display_settings.mention_offer_requester;
var custom_content_after_logo_left_1 = b2bking_display_settings.custom_content_after_logo_left_1;
var custom_content_after_logo_left_2 = b2bking_display_settings.custom_content_after_logo_left_2;
var custom_content_after_logo_center_1 = b2bking_display_settings.custom_content_after_logo_center_1;
var custom_content_after_logo_center_2 = b2bking_display_settings.custom_content_after_logo_center_2;
if (custom_content_after_logo_left_1.length !== 0){
let custom_content = { text: custom_content_after_logo_left_1, fontSize: 12, bold: true, margin: [0, 0, 0, 20], alignment:'left' };
contentarray.unshift(custom_content);
}
if (mention_offer_requester.length !== 0){
let custom_content = { text: mention_offer_requester + jQuery(this).data('customer'), fontSize: 14, bold: true, margin: [0, 12, 0, 12], alignment:'left' };
contentarray.unshift(custom_content);
}
if (custom_content_after_logo_left_2.length !== 0){
let custom_content = { text: custom_content_after_logo_left_2, fontSize: 12, bold: true, margin: [0, 12, 0, 12], alignment:'left' };
contentarray.unshift(custom_content);
}
if (custom_content_after_logo_center_1.length !== 0){
let custom_content = { text: custom_content_after_logo_center_1, fontSize: 12, bold: true, margin: [0, 0, 0, 20], alignment:'center' };
contentarray.unshift(custom_content);
}
if (custom_content_after_logo_center_2.length !== 0){
let custom_content = { text: custom_content_after_logo_center_2, fontSize: 12, bold: true, margin: [0, 12, 0, 12], alignment:'center' };
contentarray.unshift(custom_content);
}
if (logoimg.length !== 0){
contentarray.unshift(imgobj);
}
var custom_content_center_1 = b2bking_display_settings.custom_content_center_1;
var custom_content_center_2 = b2bking_display_settings.custom_content_center_2;
var custom_content_left_1 = b2bking_display_settings.custom_content_left_1;
var custom_content_left_2 = b2bking_display_settings.custom_content_left_2;
if (custom_content_center_1.length !== 0){
let custom_content = { text: custom_content_center_1, fontSize: 12, bold: true, margin: [0, 0, 0, 20], alignment:'center' };
contentarray.unshift(custom_content);
}
if (custom_content_center_2.length !== 0){
let custom_content = { text: custom_content_center_2, fontSize: 12, bold: true, margin: [0, 12, 0, 12], alignment:'center' };
contentarray.unshift(custom_content);
}
if (custom_content_left_1.length !== 0){
let custom_content = { text: custom_content_left_1, fontSize: 12, bold: true, margin: [0, 0, 0, 20], alignment:'left' };
contentarray.unshift(custom_content);
}
if (custom_content_left_2.length !== 0){
let custom_content = { text: custom_content_left_2, fontSize: 12, bold: true, margin: [0, 12, 0, 12], alignment:'left' };
contentarray.unshift(custom_content);
}
var docDefinition = {
content: contentarray
};
if(b2bking_display_settings.pdf_download_lang === 'thai'){
pdfMake.fonts = {
THSarabunNew: {
normal: 'THSarabunNew.ttf',
bold: 'THSarabunNew-Bold.ttf',
italics: 'THSarabunNew-Italic.ttf',
bolditalics: 'THSarabunNew-BoldItalic.ttf'
}
};
docDefinition = {
content: contentarray,
defaultStyle: {
font: 'THSarabunNew'
}
}
}
if(b2bking_display_settings.pdf_download_lang === 'japanese'){
pdfMake.fonts = {
Noto: {
normal: 'Noto.ttf',
bold: 'Noto.ttf',
italics: 'Noto.ttf',
bolditalics: 'Noto.ttf'
}
};
docDefinition = {
content: contentarray,
defaultStyle: {
font: 'Noto'
}
}
}
if(b2bking_display_settings.pdf_download_font !== 'standard'){
pdfMake.fonts = {
Customfont: {
normal: b2bking_display_settings.pdf_download_font,
bold: b2bking_display_settings.pdf_download_font,
italics: b2bking_display_settings.pdf_download_font,
bolditalics: b2bking_display_settings.pdf_download_font
}
};
docDefinition = {
content: contentarray,
defaultStyle: {
font: 'Customfont'
}
}
}
pdfMake.createPdf(docDefinition).download(b2bking_display_settings.offer_file_name + '.pdf', function() {
// set a minimum of 600ms show time for the loader icon
var finaltime = Date.now();
var differenceTime = finaltime-initialclicktime;
var leftToPass = 600-differenceTime;
if (leftToPass < 1){
leftToPass = 1; // should not be negative
}
setTimeout(function(){
// replace loader with icon
jQuery(buttondownload).html('<svg class="b2bking_myaccount_individual_offer_bottom_line_button_icon" xmlns="http://www.w3.org/2000/svg" width="21" height="19" fill="none" viewBox="0 0 23 23" style="display: block;"><path fill="#fff" d="M11.5 1.438a10.063 10.063 0 1 0 0 20.125 10.063 10.063 0 0 0 0-20.125Zm-1.438 14.08L6.47 11.924l1.143-1.143 2.45 2.451 5.326-5.326 1.148 1.14-6.474 6.472Z"></path></svg> PDF');
jQuery(buttondownload).find('.b2bking_loader_icon_button').css('display','none');
}, leftToPass);
});
});
}, 50);
});
</script>
<?php
});
Editor is loading...
Leave a Comment