jQuery(function($) { var shop_id = '13'; var translations_array = '{"button_text":{"__default":"Pobierz PDF","pl_PL":"Pobierz kart\u0119 PDF"}}'; var position = 'top'; var selector = ''; var is_style = '1'; var width = 'unset'; var height = 'unset'; var font = '14px'; var align = 'center'; var margin_top = 'unset'; var margin_left = 'unset'; var margin_right = 'unset'; var margin_bottom = 'unset'; var padding_top = 'unset'; var padding_left = 'unset'; var padding_right = 'unset'; var padding_bottom = 'unset'; var background = 'rgba(0, 0, 0, 0)'; var color = 'rgb(0, 0, 0)'; var is_border = '0'; var border_width = '1px'; var border_color = 'rgb(0, 0, 0)'; translations_array = JSON.parse(translations_array); function getTranslation(var_name,current_lang=Shop.lang.name){ if(!(current_lang in translations_array[var_name])){ translation = translations_array[var_name]['__default']; }else{ translation = translations_array[var_name][current_lang]; } return translation; } $(document).ready(function(){ let link = "https://mxapp2.maxserver.pl/appKartaProduktuPDF/get_pdf.php"; let get = '?id='+shop_id+'&pid='+Shop.pageId+'&lang='+Shop.lang.name+'&curr='+Shop.values.currency; let button = $('
'); button.append(''+getTranslation('button_text')+''); if(position == 'top'){ button.insertBefore($('.form-basket fieldset').first()); } else if(position == 'bottom'){ button.insertAfter($('.form-basket fieldset').last()); } else if(position == 'container'){ button.appendTo(selector); } if(is_style == 1){ button.css('width','100%'); if(align == 'left'){ button.css('text-align','left'); } else if(align == 'center'){ button.css('text-align','center'); } else if(align == 'right'){ button.css('text-align','right'); } button.find('a').css({ display: 'inline-block', width: width, height: height, 'font-size': font, 'margin-top': margin_top, 'margin-left': margin_left, 'margin-right': margin_right, 'margin-bottom': margin_bottom, 'padding-top': padding_top, 'padding-left': padding_left, 'padding-right': padding_right, 'padding-bottom': padding_bottom, background: background, color: color, 'text-align': 'center', }); button.find('span').css({ display: 'inline-block', 'vertical-align': 'middle', }); if(is_border == 1){ button.find('a').css('border',border_width+' solid '+border_color); } let style = ""; style += ' '; $(style).appendTo(button); } button.find('a').click(function(){ let wait = $('').appendTo(button); let counter = 0; function APIloader () { counter++; if (!window.frontAPI && counter <= 10) { setTimeout(APIloader, 100); } else { let options = ''; let getPDF = function getPDF () { let request = new XMLHttpRequest(); request.open('POST', link+get+options, true); request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); request.responseType = 'blob'; request.onload = function() { if(request.status === 200) { let filename = $('#box_productfull .name').text().trim()+'.pdf'; let blob = new Blob([request.response], { type: 'application/pdf' }); let link = document.createElement('a'); link.href = window.URL.createObjectURL(blob); link.download = filename; document.body.appendChild(link); link.click(); document.body.removeChild(link); } wait.remove(); }; request.send(); }; if (!window.frontAPI) { getPDF(); } else { frontAPI.getProduct(function(product){ if(product.options_configuration && product.options_configuration.length > 0){ options = '&options='; for(let item of product.options_configuration){ if(item.type == 'select' || item.type == 'radio' || item.type == 'checkbox'){ options += '
'; options += item.name+': '; let temp = []; for(let item2 of item.values){ temp.push(item2.name); } options += temp.join(', '); options += '
'; } } } options = encodeURI(options); getPDF(); },{id: Shop.pageId}); } } } APIloader(); }); }); });