Untitled
unknown
plain_text
a year ago
12 kB
15
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