1const _plan_label={FR:"FREE",ST:"STARTER",PF:"PRO",UL:"ULTIMA",ULx2:"ULTIMA X@"},_plan_popup={config:{scan_limit_near:{upgrade_modal_left_img:"/assets/images/popup/upgrade_image_2.png",header:"Your Dynamic QR codes limit is ending, upgrade your plan today to unlock more features!"},scan_limit_reached:{upgrade_modal_left_img:"/assets/images/popup/upgrade_image_5.png",header:"Your Dynamic QR codes limit is over, upgrade your plan today to unlock more features!"},code_limit_near:{upgrade_modal_left_img:"/assets/images/popup/upgrade_image_1.png",header:"Your Dynamic QR codes limit is ending, upgrade your plan today to unlock more features!"},code_limit_reached:{upgrade_modal_left_img:"/assets/images/popup/upgrade_image_4.png",header:"Your Dynamic QR codes limit is over, upgrade your plan today to unlock more features!"},upgrade_statistics:{upgrade_modal_left_img:"/assets/images/popup/upgrade_image_3.png",header:"Get advanced QR code Statistics, upgrade your plan today to unlock more features!"},dbc_code_limit_near:{upgrade_modal_left_img:"/assets/images/popup/upgrade_image_1.png",header:"You have exhausted your Digital Business Card limit. This card will be paused. Please upgrade your plan to activate more cards."}},showModal:function(modal_type="scan_limit_near"){document.getElementById("upgrade_custom_modal")==null&&$("body").append(` <div class="modal cstm_modal fade upgrade_custom_modal cst_modal" id="upgrade_custom_modal"> 2 <div class="modal-dialog modal-dialog-centered"> 3 <div class="modal-content"> 4 <!-- Modal body --> 5 <div class="modal-body text-center"> 6 <div class="close_btn" data-dismiss="modal">×</div> 7 <div class="row justify-content-end"> 8 9 <div class="col-7 order-md-2"> 10 <div class="cstm_form_content upgrade_box_wrapper"> 11 <h3 class="upgrade_popup_title">Your Dynamic QR codes limit is ending, upgrade your plan today to unlock more features! </h3> 12 <div class="row equal"> 13 <div class="col p-2"> 14 <div class="upgrade_box wd_card_3 p-4"> 15 Your Plan<br/> 16 <strong class="current_user_plan">FREE</strong> 17 </div> 18 </div> 19 <div class="col p-2"> 20 <div class="upgrade_box plan_info_text wd_card_2 p-4"> 21 22 </div> 23 </div> 24 </div> 25 <div class="row mt-4"> 26 <div class="col p-2"> 27 <a href="/pricing" class="btn btn-primary btn-dark py-2 btn-block">Upgrade Now</a> 28 </div> 29 </div> 30 </div> 31 </div> 32 <div class="col-5 mt-4 cstm_modal_left_img order-md-1 text-center"> 33 <img class="img-fluid upgrade_modal_left_img" src="/assets/images/popup/upgrade_image_1.png"/> 34 </div> 35 </div> 36 </div> 37 </div> 38 </div> 39 </div>`),$("#upgrade_custom_modal .upgrade_modal_left_img").attr("src",_plan_popup.config[modal_type].upgrade_modal_left_img),$("#upgrade_custom_modal .upgrade_popup_title").text(_plan_popup.config[modal_type].header),$("#upgrade_custom_modal .current_user_plan").text(extractDataFromArray(__plan_info,[extractDataFromArray(user_info,["plan_info","plan"],"FR"),"LABEL"])),$("#upgrade_custom_modal .plan_info_text").html(_plan_popup.getPlanStats(modal_type.split("_")[0])),$("#upgrade_custom_modal").modal("show")},getPlanStats:function(type){switch(type){case"scan":return"Usage Alert<br/><strong>"+extractDataFromArray(user_info,["scan_count",new Date().getMonth()+1+""+new Date().getFullYear()],0)+"/"+extractDataFromArray(__plan_info,[user_info.plan_info.plan,"MAX_SCAN"],10)+"</strong><br/>QR scans are used";case"code":return"Usage Alert<br/><strong>"+extractDataFromArray(user_info,["active_dynamic_codes"],0)+"/"+extractDataFromArray(__plan_info,[user_info.plan_info.plan,"DYNAMIC_QR"],10)+"</strong><br/>QR codes are used";case"statistics":return value;case"dbc":return"Usage Alert<br/><strong>"+user_info.active_dbc_qr_codes+"/"+getMaxAllowedDBCCodeCount("digital-business-cards")+"</strong><br/>QR codes are used"}},checkPlanStatus:function(){if(typeof user_info!="undefined"){typeof __plan_info=="undefined"&&(__plan_info={});const max_scans=extractDataFromArray(__plan_info,[extractDataFromArray(user_info,["plan_info","plan"],"FR"),"MAX_SCAN"],1e3),max_dynamic_codes=extractDataFromArray(__plan_info,[extractDataFromArray(user_info,["plan_info","plan"],"FR"),"DYNAMIC_QR"],10);var max_dbc_qr_codes=getMaxAllowedDBCCodeCount("digital-business-cards");let pathName=location.pathname;pathName!="/qr-code-solutions"&&typeof __savedQrCodeParams!="undefined"&&extractDataFromArray(__savedQrCodeParams,["id"],"")=="new"&&(user_info.active_dynamic_codes==max_dynamic_codes&&max_dynamic_codes!=-1?_plan_popup.showModal("code_limit_reached"):user_info.active_dynamic_codes>=max_dynamic_codes*.8&&max_dynamic_codes!=-1?_plan_popup.showModal("code_limit_near"):extractDataFromArray(user_info,["scan_count",new Date().getMonth()+1+""+new Date().getFullYear()],0)==max_scans&&max_scans!=-1?_plan_popup.showModal("code_limit_reached"):extractDataFromArray(user_info,["scan_count",new Date().getMonth()+1+""+new Date().getFullYear()],0)>=max_scans*.8&&max_scans!=-1?_plan_popup.showModal("code_limit_near"):user_info.active_dbc_qr_codes>=max_dbc_qr_codes&&max_dbc_qr_codes!=-1&&(pathName.includes("digital-business-cards")||pathName.includes("qr-code-solutions"))&&parseInt(extractDataFromArray(user_info,["dbc_as_dynamic_limit"],0))==0&&_plan_popup.showModal("dbc_code_limit_near"))}}},_successPopup={init:function(){document.getElementById("success_code_popup")==null&&$("body").append(` <div class="modal fade" id="success_code_popup"> 40 <div class="modal-dialog modal-dialog-centered"> 41 <div class="modal-content"> 42 <div class="modal-header"> 43 <h5 class="modal-title d-block w-100" id="exampleModalLabel">Success</h5> 44 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
45 <span aria-hidden="true">Ã</span> 46 </button> 47 </div> 48 <!-- Modal body --> 49 <div class="modal-body"> 50 <div class="row justify-content-center"> 51 <span class="text-success">Your QR Code saved successfully!</span> 52 </div> 53 </div> 54 <div class="modal-footer d-flex justify-content-between"> 55 <button type="button" class="btn btn-outline-secondary " data-dismiss="modal">Close</button> 56 <a href="/user/dashboard" class="btn btn-primary">Go to Dashboard</a> 57 </div> 58 </div> 59 </div> 60 </div>`)},showModal:function(){_successPopup.init(),$("#success_code_popup").modal("show")}},_checkOutPopup={_choosen:null,callback:null,gateway:"stripe",auto_renewal:!0,_from_saved_cards:!1,init:function(api=0){document.getElementById("checkout_popup")==null&&($("body").append(` <div class="modal fade" id="checkout_popup"> 61 <div class="modal-dialog modal-lg modal-dialog-centered"> 62 <div class="modal-content"> 63 <div class="modal-header"> 64 <h5 class="text-center modal-title d-block w-100" id="exampleModalLabel">Please verify the purchase details to proceed for the payment</h5> 65 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 66 <span aria-hidden="true">Ã</span> 67 </button> 68 </div> 69 <!-- Modal body --> 70 <div class="modal-body p-5"> 71 <div class="row pb-4"> 72 <div class="col-md-4"> 73 <span class="">Package Name</span> 74 <h4 class="font-weight-semibold mt-2" id="ch_plan_label">PRO</h4> 75 </div> 76 <div class="col-md-8"> 77 <div class="row"> 78 <div class="col-md-7"> 79 <span class="font-12">Payment Plan</span> 80 <select id="ch_plan_dropdown" class="form-control mt-2" `+(_checkOutPopup.disable_select?"disabled":"")+`> 81 <option>For a year</option> 82 </select> 83 </div> 84 <div class="col-md-5 text-right "> 85 <span class="font-12">Amount `+(_checkOutPopup.gateway=="razorpay"?"(Including GST)":"")+`</span> 86 <h4 class="font-weight-semibold mt-3 ch_total_amount">$9.99</h4> 87 </div> 88 </div> 89 </div> 90 </div> 91 92 <div class="row border-top pt-4"> 93 <div class="col-md-4"> 94 95 </div> 96 <div class="col-md-8"> 97 <div class="row pb-4 border-bottom" id="checkout_popup_auto_renew
97al_wrapper"> 98 <div class="col-md-8"> 99 <div class="font-weight-semibold font-14 mb-2">Auto Renewal</div> 100 <div class="text-muted">Automatically charge the card to renew subscription</div> 101 </div> 102 <div class="col-md-4 p-2 pr-3 text-right"> 103 <label class="switch"> 104 <input type="checkbox" id="auto_renewal" checked> 105 <span class="slider round"></span> 106 </label> 107 </div> 108 </div> 109 <div class="row total_wrapper"> 110 <div class="col-md-6"> 111 <span class="font-weight-semibold ch_total_text">Total</span> 112 </div> 113 <div class="col-md-6"> 114 <h4 class="font-weight-semibold mt-2 ch_total_amount">$9.99</h4> 115 </div> 116 </div> 117 </div> 118 </div> 119 </div> 120 <div class="modal-footer border-0 d-flex justify-content-end modal-footer pb-5 pr-5"> 121 <button type="button" class="btn btn-primary" id="ch_proceed_btn">Proceed for Payment</button> 122 </div> 123 124 </div> 125 </div> 126 </div>`),$("#ch_proceed_btn").on("click",function(e){if($("#checkout_popup").modal("hide"),extractDataFromArray(user_info,["force_bank_transfer"],!1)){_checkOutPopup.showBankTransferPopup();return}_checkOutPopup.callback(_checkOutPopup.plan,_checkOutPopup.period,$("#auto_renewal").prop("checked")?1:0)})),$("#ch_plan_label").text(api?"API":extractDataFromArray(__plan_info,[_checkOutPopup.plan,"LABEL"])),$("#ch_plan_dropdown").html(""),$("#ch_plan_dropdown").append('<option value="MONTHLY" '+(_checkOutPopup.period=="MONTHLY"?"selected":"")+">For a Month</option>"),$("#ch_plan_dropdown").append('<option value="YEARLY" '+(_checkOutPopup.period=="YEARLY"?"selected":"")+">For a Year (30% Saving)</option>
126"),$("#ch_plan_dropdown").off("change").on("change",function(e){_checkOutPopup.period=e.target.value,_checkOutPopup.updatePlanPrice()}),_checkOutPopup.updatePlanPrice()},showBankTransferPopup:function(){let currency=_checkOutPopup.gateway=="razorpay"?"INR ":"USD ",gateway=_checkOutPopup.gateway.toUpperCase(),period=_checkOutPopup.period,price=__plan_info[_checkOutPopup.plan].PRICE.STRIPE[_checkOutPopup.period],label=__plan_info[_checkOutPopup.plan].LABEL,total_price=__plan_info[_checkOutPopup.plan].PRICE[gateway][_checkOutPopup.period]*(period=="MONTHLY"?1:12);total_price=parseFloat(total_price.toFixed(2));let stripe=currency=="US$";Swal.fire({width:550,html:` 127 <div class="font-22 p-3 font-weight-semibold border-bottom">Payment Instructions for Account Upgrade</div> 128 <div class="text-left p-4" style="line-height:1.8;color: var(--secondary);"> 129 <div> 130 Due to security reasons, we currently only accept payments via bank transfer from your account. <br>Please complete the bank wire transfer for the amount specified below and email the proof of payment to <br> <a href="[email protected]">[email protected]</a><br>Once we receive your proof of payment, your account will be upgraded. 131 </div> 132 <div class="pt-3"> 133 <div class="font-weight text-dark font-18 mb-2">Amount</div> 134 <div class="d-flex justify-content-between mb-2"> 135 <div><span class=" text-dark">(`+label+`)</span>Plan charges</div> 136 <div class="text-right"> 137 <div class="text-dark">`+currency+total_price+`</div> 138 `+(period=="MONTHLY"?"":"<div class='font-12'>("+currency+price+" x 12 months)</div>")+` 139 140 </div> 141 </div> 142 `+(stripe?` <div class="d-flex justify-content-between mb-2"> 143 <div>Bank Processing Fees</div> 144 <div class="text-dark">US$25</div> 145 </div>`:"")+` 146 147 <div class="d-flex justify-content-between font-18 mb-4"> 148 <div class="font-weight-semibold">Total</div> 149 <div class="font-weight-semibold text-dark">`+currency+(total_price+(stripe?25:0))+" "+(stripe?"":'<span class="font-14 text-secondary" style=" font-weight: normal; ">(Including GST)</span>')+`</div> 150 </div> 151 </div> 152 <div class="d-flex justify-content-between"> 153 <button class="btn btn-secondary" id="btn_cancel_transfer" onclick="Swal.close()">Cancel</button> 154 <a class="btn btn-primary" target="_blank" href="https://help.qrcodechimp.com/article/313-bank-transfer-details">View Bank Transfer Details »</a> 155 </div> 156 </div>`,customClass:{popup:"swal_popup_with_no_padding",content:"swal_popup_with_no_padding",close:"swal_popup_close"},showConfirmButton:!1,onOpen:()=>{$("#")}})},updatePlanPrice:function(){let price=extractDataFromArray(__plan_info,[_checkOutPopup.plan,"PRICE",_checkOutPopup.gateway.toUpperCase(),_checkOutPopup.period]),currency="$";if(_checkOutPopup.gateway=="razorpay"&&(currency="â¹"),_checkOutPopup.period=="MONTHLY")$("#checkout_popup .ch_total_amount").text(currency+price);else{let yearlyPrice=(price*12).toFixed(2);$("#checkout_popup .ch_total_amount").html(currency+yearlyPrice+'<br/><span style="font-size:12px;font-weight:normal;" class="text-muted">('+currency+`${price} x 12 months)</span>`)}},showModal:function(plan,period,callback){if(_checkOutPopup.callback=callback,_checkOutPopup.plan=plan,_checkOutPopup.period=period,$(".mypricing_content[data-plan="+_checkOutPopup.plan+"]").length>0){const parent_container=$(".mypricing_content[data-plan="+_checkOutPopup.plan+"]");
156_checkOutPopup.plan_data=parent_container.find(".mypricing_price_tag .currency").data()}else _checkOutPopup.plan_data=_checkOutPopup._choosen.data();function initCheckout(){_checkOutPopup.init(),$("#checkout_popup_auto_renewal_wrapper").show(),$("#checkout_popup_auto_renewal_wrapper #auto_renewal").prop("checked",!0),_checkOutPopup.gateway=="razorpay"&&(_checkOutPopup.auto_renewal=!1,$("#checkout_popup_auto_renewal_wrapper").hide(),$("#checkout_popup_auto_renewal_wrapper #auto_renewal").prop("checked",!1)),$("#checkout_popup").modal("show"),$("#custom_dbc_plan").hasClass("show")&&$("#custom_dbc_plan").modal("hide")}let showGatewayPopup=!1;__ipSrc?extractDataFromArray(user_info,["plan_info","gateway"],"")=="RAZORPAY"&&(showGatewayPopup=!0):extractDataFromArray(user_info,["plan_info","gateway"],"")=="RAZORPAY"?_checkOutPopup.gateway="razorpay":showGatewayPopup=!0,showGatewayPopup?_checkOutPopup.showPaymentGateway(()=>{_checkOutPopup.gateway=="razorpay"?_checkOutPopup/this.showEditBillingInfoPopup(()=>{initCheckout()}):initCheckout()}):initCheckout()},showEditBillingInfoPopup:callback=>{let country_dropdown_html="";const user_country=extractDataFromArray(user_info,["billing_info","country"],extractDataFromArray(user_info,["ip","country"])),user_state=extractDataFromArray(user_info,["billing_info","state"],extractDataFromArray(user_info,["ip","state"]));Object.keys(countryCodeToName).forEach(code=>{country_dropdown_html+='<option value="'+code+'" '+(user_country==code?"selected":"")+">"+countryCodeToName[code]+"</option>"});let state_dropdown_html="";user_country=="IN"&&(state_dropdown_html='<option value="">Select state</option>',IndianStateNames.forEach(state=>{state_dropdown_html+='<option value="'+state+'" '+(user_state==state?"selected":"")+">"+state+"</option>"})),$(".stripe_billing_address").html(),Swal.fire({width:600,title:"Billing Details",html:` 157 <div class="text-left"> 158 <div class="font-16 font-weight-semibold mb-2">Business Name</div> 159 <div class="font-14"> 160 <input type="text" class="form-control" name="name" value="`+extractDataFromArray(user_info,["billing_info","name"],user_info.fname+(empty(user_info.lname)?"":" "+user_info.lname))+`" errormsg="Name is incomplete."> 161 </div> 162 </div> 163 `+BillingInfo.getBillingInfosForm(0,1,state_dropdown_html),showCancelButton:!0,reverseButtons:!0,confirmButtonText:"Save",willOpen:()=>{BillingInfo.inputValidations(),BillingInfo.listeners(),$("#swal2-content input[name=name]").on("input",function(e){e.target.value==""?showInputInvalid("#swal2-content input[name=name]"):hideInputInvalid("#swal2-content input[name=name]")})},preConfirm:()=>{let billing_info=BillingInfo.getFormData();return billing_info?(billing_info.name=$("#swal2-content input[name=name]").val(),empty(billing_info.name)?(showInputInvalid("#swal2-content input[name=name]"),!1):billing_info):!1}}).then(result=>{result.isConfirmed&&$.post("//"+__api_domain+"/user/services/api",{cmd:"updateBillingData",formData:JSON.stringify({billing_info:result.value}),user_id:getUrlParameterByName("user_id")},function(response){empty(response.data)||callback()})}),$("select[name=country]").select2(),$("select[name=state]").select2()},showPaymentGateway:function(callback){Swal.fire({title:"Confirm Your Country",text:"Please confirm your registered business location to continue:",showCancelButton:!0,cancelButtonText:"Outside India",confirmButtonText:"In India",reverseButtons:!0,allowOutsideClick:!1,customClass:{confirmButton:"pricing_gateway_btn"}}).then(result=>{result.isConfirmed?(_checkOutPopup.gateway="razorpay",callback()):Swal.fire({title:"Confirm Your Country",text:"We've detected that your current location is in India. Are you certain that your registered business location is outside of India?",showCancelButton:!0,cancelButtonText:"No",confirmButtonText:"Yes",reverseButtons:!0,allowOutsideClick:!1}).then(result2=>{result2.isConfirmed?_checkOutPopup.gateway="stripe":_checkOutPopup.gateway="razorpay",callback()})})}
163,showModalForAPI:function(plan,period,callback){_checkOutPopup.callback=callback,_checkOutPopup.plan=plan,_checkOutPopup.period=period,_checkOutPopup.plan_data={month:9.99,year:6.99,plan:"API"},_checkOutPopup.init(1),$("#checkout_popup").modal("show"),$("#custom_dbc_plan").modal("hide")}},_designEditConfirmPopup={init:function(){document.getElementById("design_edit_confirm_popup")==null&&($("body").append(` <div class="modal fade" id="design_edit_confirm_popup"> 164 <div class="modal-dialog modal-dialog-centered"> 165 <div class="modal-content"> 166 <div class="modal-header d-none"> 167 <h5 class="modal-title d-block w-100" id="exampleModalLabel">Success</h5> 168 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 169 <span aria-hidden="true">Ã</span> 170 </button> 171 </div> 172 <!-- Modal body --> 173 <div class="modal-body"> 174 <div class="row justify-content-center"> 175 <span class="py-4">Do you want to save the changes?</span> 176 </div> 177 </div> 178 <div class="modal-footer d-flex justify-content-between"> 179 <button type="button" class="btn btn-outline-secondary " data-dismiss="modal">Discard</button> 180 <button type="button" class="btn btn-primary" id="btn_design_edit_confirm">Save</button> 181 </div> 182 </div> 183 </div> 184 </div>`),$("#btn_design_edit_confirm").on("click",function(e){saveQROptions()}))},showModal:function(){_designEditConfirmPopup.init(),$("#design_edit_confirm_popup").modal("show")}},DownloadQRCode={_clickFrom:!1,show:function(){$("#desgin_qrcode_modal").modal("hide"),__savedQrCodeParams=typeof __savedQrCodeParams=="undefined"?{}:__savedQrCodeParams;const qr_id=extractDataFromArray(__savedQrCodeParams,["id"],"new");if(page=="dashboard"||page=="active-directory"||page=="qr-gifts"||page=="merchandise-wl"||page=="bulkUpload"||page=="folders"||page=="stats"||page=="folder-details"||!empty(qr_id)&&qr_id!="new"){DownloadQRCode.download();return}DownloadQRCode._clickFrom=!0,$(".submit_qr_code").click()},download:function(){let pageType=typeof selectedData!="undefined"&&!isEmpty(selectedData)?extractDataFromArray(selectedData,["page"],""):page;Swal.fire({width:"50rem",title:"Download QR Codes",html:`<div class="row mt-4"> 185 <div class="col-md-3"> 186 <div class="text-left">File format</div> 187 </div> 188 <div class="col-md-1">:</div> 189 <div class="col-md-8"> 190 <ul class="nav nav-pills dwld_file_type" > 191 <li class="nav-item"> 192 <a class="nav-link border active" href="#!" data-type="png">PNG</a> 193 </li> 194 <li class="nav-item"> 195 <a class="nav-link border " href="#!" data-type="pdf">PDF</a> 196 </li> 197 <li class="nav-item `+(extractDataFromArray(user_info,["svg_download"],!1)?"":"d-none")+`"> 198 <a class="nav-link border " href="#!" data-type="svgBasic">SVG <span style="font-size: 12px;">(Basic)</span></a> 199 </li> 200 <li class="nav-item `+(extractDataFromArray(user_info,["svg_download"],!1)?"":"d-none")+`"> 201 <a class="nav-link border " href="#!" data-type="svg">
201SVG <span style="font-size: 12px;">(Chrome Compatible Only)</span></a> 202 </li> 203 </ul> 204 </div> 205 </div> 206 <div class="row my-4 qr_svg_alert" style="display:none;"> 207 <div class="col-md-3"> 208 <div class="text-left"></div> 209 </div> 210 <div class="col-md-1"></div> 211 <div class="col-md-8 text-left text-danger font-16"> 212 <i class="icon-information mr-2 text-danger"></i><span id="qr_svg_alert_text">These SVGs will work only in Chrome browser, please print from Chrome. May not work in Illustrator and other image viewers.</span> 213 </div> 214 </div> 215 <div class="row my-4 qr_download_size"> 216 <div class="col-md-3"> 217 <div class="text-left">QR Size</div> 218 </div> 219 <div class="col-md-1">:</div> 220 <div class="col-md-8"> 221 <ul class="nav nav-pills border dwld_qr_size" style="width:fit-content"> 222 <li class="nav-item"> 223 <a class="nav-link" href="#!" data-file_size="256">256px</a> 224 </li> 225 <li class="nav-item border"> 226 <a class="nav-link" href="#!" data-file_size="512">512px</a> 227 </li> 228 <li class="nav-item border "> 229 <a class="nav-link active" href="#!" data-file_size="1024">1024px</a> 230 </li> 231 <li class="nav-item border"> 232 <a class="nav-link" href="#!" data-file_size="2048">2048px</a> 233 </li> 234 <li class="nav-item border"> 235 <a class="nav-link" href="#!" data-file_size="4096">4K</a> 236 </li> 237 <!-- li class="nav-item border"> 238 <a class="nav-link" href="#!" data-file_size="8192">8K</a> 239 </li --> 240 </ul> 241 </div> 242 </div> 243 <div class="row mb-2"> 244 <div class="col-md-4"></div> 245 <div class="col-md-8 div_extra_actions" > 246 <div class="d-flex custom-control custom-checkbox dwld_inc_name" style="width:200px;" > 247 <input type="checkbox" class="custom-control-input" id="dwld_inc_name_check"> 248 <label class="custom-control-label" for="dwld_inc_name_check">Add name below QR</label> 249 </div> 250 </div> 251 </div> 252 `+(isGS1QRCode(pageType)?`<div class="row mb-2"> 253 <div class="col-md-4"></div> 254 <div class="col-md-8 div_extra_actions"> 255 <div class="d-flex custom-control custom-checkbox"> 256 <input type="checkbox" class="custom-control-input" id="dwld_inc_barcode_check" `+($("#showBarcode").prop("checked")?"checked":"")+`> 257 <label class="custom-control-label" for="dwld_inc_barcode_check">Show 1D barcode with QR Code</label> 258 </div> 259 </div> 260 </div> 261 <div class="row mb-2"> 262 <div class="col-md-4"></div> 263 <div class="col-md-8 div_extra_actions"> 264 <div class="d-flex custom-control custom-checkbox"> 265 <input type="checkbox" class="custom-control-input" id="dwld_inc_value_check" `+($("#showGtin").prop("checked")?"checked":"")+`> 266 <label class="custom-control-label" for="dwld_inc_value_check">Show GTIN Value with QR Code</label> 267 </div> 268 </div> 269 </div>`:""),confirmButtonText:"Download",showCancelButton:!0,reverseButtons:!0,showCloseButton:!0,willOpen:function(){$(document).on("click",".dwld_file_type li",function(e){e.preventDefault(),$(".dwld_file_type li a").removeClass("active"),$(this).find("a").addClass("active");let dType=$(this).find("a").data("type");if(dType=="svgBasic"?$(".div_extra_actions").hide():$(".div_extra_actions").show(),dType=="svg"||dType=="svgBasic"){$(".qr_download_size").hide();let txt=dType=="svg"?"These SVGs are supported only in the Chrome browser. Please open and print them from Chrome, as they may not render correctly in Illustrator or other image viewers.":"These SVGs may not include name, stickers or background images, but they are compatible with most image viewers. Please download and test them before printing.";$("#qr_svg_alert_text").html(txt),$(".qr_svg_alert").show(),$(".dwld_inc_name").show()}else $(".qr_download_size").show(),$(".qr_svg_alert").hide(),$(".dwld_inc_name").show()}),$(document).on("click",".dwld_qr_size li",function(e){e.preventDefault(),$(".dwld_qr_size li a").removeClass("active"),$(this).find("a").addClass("active")}),$(document).on("change","#dwld_inc_barcode_check",function(e){e.target.checked||$("#dwld_inc_value_check").prop("checked",!1).trigger("change")}),$(document).on("change","#dwld_inc_value_check",function(e){e.target.checked&&$("#dwld_inc_barcode_check").prop("checked",!0).trigger("change")})}}).then(result=>{if(result.isConfirmed){var name="",gtinValue="";if(page=="dashboard")name=selectedData.name,gtinValue=extractDataFromArray(selectedData,["gtinValue"],"");else if(page=="folder-details"&&typeof __JsonPageData!="undefined"&&extractDataFromArray(__JsonPageData,["folder_data","folder_type"])=="qr"&&empty(selectedData.folder_name))name=selectedData.name,gtinValue=extractDataFromArray(selectedData,["gtinValue"],"");else if(page=="folder-details"&&typeof __JsonPageData!="undefined"&&extractDataFromArray(__JsonPageData,["folder_data","folder_type"])=="bulk"&&empty(selectedData.folder_name)){name=selectedData.name,BulkUploadHandler.file_size=parseInt($(".dwld_qr_size li a.active").data("file_size")),BulkUploadHandler.file_format=$(".dwld_file_type li a.active").data("type"),BulkUploadHandler.include_name=$("#dwld_inc_name_check").prop("checked"),BulkUploadHandler.downloadQRCodes();return}else if(page=="bulkUpload"||page=="active-directory"){if(name=selectedData.name,gtinValue=extractDataFromArray(selectedData,["gtinValue"],""),!getUrlParameterByName("id")){BulkUploadHandler.file_size=parseInt($(".dwld_qr_size li a.active").data("file_size")),BulkUploadHandler.file_format=$(".dwld_file_type li a.active").data("type"),BulkUploadHandler.include_name=$("#dwld_inc_name_check").prop("checked"),BulkUploadHandler.include_barcode=$("#dwld_inc_barcode_check").prop("checked"),BulkUploadHandler.include_gtin=$("#dwld_inc_value_check").prop("checked"),BulkUploadHandler.downloadQRCodes();return}}else if(page=="qr-gifts"||page=="merchandise-wl"){name=selectedData.name,QRCodesGiftsDataTable.downloadQRCodes(selectedData._id,selectedData.name,parseInt($(".dwld_qr_size li a.active").data("file_size")),$(".dwld_file_type li a.active").data("type"),$("#dwld_inc_name_check").prop("checked"));return}else if((page=="folders"||page=="folder-details")&&!empty(selectedData.folder_name)){name=selectedData.folder_name,BulkUploadHandler.file_size=parseInt($(".dwld_qr_size li a.active").data("file_size")),BulkUploadHandler.file_format=$(".dwld_file_type li a.active").data("type"),BulkUploadHandler.include_name=$("#dwld_inc_name_check").prop("checked"),BulkUploadHandler.downloadFolderQRCodes();return}else if(name=extractDataFromArray(__savedQrCodeParams,["template_name"],""),typeof GS1!="undefined")try{gtinValue=extractDataFromArray(GS1,["fields","01"],"")}catch(e){console.error(e)}downloadImage(parseInt($(".dwld_qr_size li a.active").data("file_size")),name,$(".dwld_file_type li a.active").data("type"),$("#dwld_inc_name_check").prop("checked"),gtinValue,$("#dwld_inc_barcode_check").prop("checked"),$("#dwld_inc_value_check").prop("checked"))}DownloadQRCode._clickFrom=!1,hideLoader()})}},BillingInfo={getCountryDropdown:function(country="",hideIndia=0){let options="",option_selected=!1;return Object.keys(countryCodeToName).forEach(country_code=>{let selected="";hideIndia&&country_code=="IN"||(country==country_code&&(option_selected=!0,selected="selected"),options+='<option value="'+country_code+'" '+selected+">"+countryCodeToName[country_code]+"</option>")}),options='<option value="" disabled '+(option_selected?"":"selected")+">Select a country</option>"+options,options},getBillingInfosForm:function(hideIndia=0,payment=0,state_dropdown_html=""){let user_info_local=typeof user_info=="undefined"?{}:user_info,line1=extractDataFromArray(user_info_local,["billing_info","line1"],extractDataFromArray(user_info_local,["billing_info","address"],"")),line2=extractDataFromArray(user_info_local,["billing_info","line2"],""),city=extractDataFromArray(user_info_local,["billing_info","city"],""),state=extractDataFromArray(user_info_local,["billing_info","state"],""),country=extractDataFromArray(user_info_local,["billing_info","country"],extractDataFromArray(user_info_local,["ip","country"],"")),postal_code=extractDataFromArray(user_info_local,["billing_info","postal_code"],""),gst_pin=extractDataFromArray(user_info_local,["billing_info","gst_pin"],""),vat_id=extractDataFromArray(user_info_local,["billing_info","vat_id"],"");return country=country=="UK"?"GB":country,payment=page=="pricing"||payment,payment=payment&&_checkOutPopup.gateway=="str
269ipe",_checkOutPopup.gateway=="razorpay"?country="IN":_checkOutPopup._from_saved_cards&&(country=country=="IN"?"":country,hideIndia=1),'<div class="billing_info_form row '+(payment?(_checkOutPopup._from_saved_cards?"":"mx-0")+" mt-4":"")+`"> 270 <div class="col-md-12 font-16 font-weight-semibold mb-2">Billing Address</div> 271 <div class="col-md-12 mb-2"> 272 <label>Country</label> 273 <select type="text" class="form-control select2" id="billing_info_country" value="`+country+'" placeholder="Country" errormsg="Country is empty." '+(_checkOutPopup.gateway=="razorpay"?"disabled":"")+`> 274 `+BillingInfo.getCountryDropdown(country,hideIndia)+` 275 </select> 276 </div> 277 <div class="col-md-12"> 278 <label>Street Address</label> 279 <input type="text" class="form-control" id="billing_info_line1" value="`+line1+`" placeholder="Line 1" errormsg="Address is empty."> 280 </div> 281 <div class="col-md-6"> 282 <label>City</label> 283 <input type="text" class="form-control" id="billing_info_city" value="`+city+`" placeholder="City"> 284 </div> 285 <div class="col-md-6"> 286 <label>State</label> 287 `+(empty(state_dropdown_html)?' <input type="text" class="form-control" id="billing_info_state" value="'+state+'" placeholder="State">':'<select type="text" class="form-control select2" id="billing_info_state" name="state" value="'+state+`" placeholder="State" errormsg="State is empty." > 288 `+state_dropdown_html+` 289 </select > `)+` 290 291 </div > 292 <div class="col-md-6"> 293 <label>Zip</label> 294 <input type="text" class="form-control" id="billing_info_postal_code" value="`+postal_code+`" placeholder="Zip" errormsg="Zipcode is empty."> 295 </div> 296 `+(payment?` <div class="col-md-6 " > 297 <label>Phone Number</label> 298 <input type="text" class="form-control" id="billing_info_phone" value="" placeholder="Phone" errormsg="Phone is empty."> 299 </div>`:"")+` 300 `+(payment?"":` 301 <div class="col-md-6 billing_info_gst_pin_wrapper" style = "`+(country!="IN"?"display:none;":"")+`" > 302 <label>GSTIN Number (for GST invoice)</label> 303 <input type="text" class="form-control" id="billing_info_gst_pin" value="`+gst_pin+`" placeholder="Optional"> 304 </div>`)+` 305 `+(payment?"":` 306 <div class="col-md-6 billing_info_tax_id_wrapper" style = "`+(country=="IN"?"display:none;":"")+`" > 307 <label>VAT/TAX ID</label> 308 <input type="text" class="form-control" id="billing_info_vat_id" value="`+vat_id+`" placeholder="Optional"> 309 </div>`)+` 310 </div > `},listeners:function(){$("#billing_info_country").off().on("change",function(e){e.target.value=="IN"?($(".billing_info_gst_pin_wrapper").show(),$(".billing_info_tax_id_wrapper").hide()):($(".billing_info_tax_id_wrapper").show(),$(".billing_info_gst_pin_wrapper").hide())}),$("#billing_info_country").select2()},inputValidations:function(){$(".billing_info_form input, .billing_info_form select").off("input change").on("input change",function(e){e.target.value.trim()==""?showInputInvalid("#"+e.target.id):hideInputInvalid("#"+e.target.id)})},getFormData:function(){let address={};return Array.from($(".billing_info_form input, .billing_info_form select")).forEac
310h(ele=>{ele.value.trim()==""&&ele.getAttribute("errormsg")?showInputInvalid("#"+ele.id):address[ele.id.replace("billing_info_","")]=ele.value.trim()}),address.hasOwnProperty("state")||(address.state=$("#billing_info_state").val()),$(".invalid-input-alert").length==0?address.country=$("#billing_info_country").val():address=!1,address}},getZapierUpdatePopUp={show:function(updatedForms){let popupContent=` 311 <div class="modal zapier-edit-popup show swal2-show" id="zapier_edit_popup"> 312 <div class="bg-light" style="max-width: 840px;"> 313 <div class="p-4"> 314 <div class="d-flex justify-content-around"> 315 <div class="zapier_logo" style="background-image: url('/images/exclamation_logo'); width:80px; height: 70px;"></div> 316 </div> 317 <div> 318 <h1><small style="font-weight: 400;">Verify Field Mapping for Zapier Integration</small></h1> 319 </div> 320 <div> 321 <p class="text-secondary" style="font-size: 20px;">Changes to form fields have been detected. Please edit the Zap, ensure the fields are correctly mapped. Otherwise, the Zapier integration may not function properly.</p> 322 <br><br><br> 323 <div> 324 <h5>Need help?</h5> 325 <label class="text-secondary">Refer to this FAQ: <span class="text-primary">How to verify field mapping for Zapier?</span></label> 326 </div> 327 </div> 328 <div class="mt-2"> 329 `;updatedForms.forEach(form=>{popupContent+=` 330 <div class="d-flex justify-content-between align-items-center mt-3"> 331 <h4>Form Name: <span class="text-secondary">${form.form_name}</span></h4> 332 <button class="btn btn-outline-primary edit_zapier_modal" type="submit" data-form_id="${form.form_id}">Edit Zap</button> 333 </div> 334 `}),popupContent+=` 335 </div> 336 <br> 337 <div class="d-flex justify-content-around mt-3 border-top"> 338 <button class="btn btn-primary w-25 close_edit_zap mt-3">Ok, got it!</button> 339 </div> 340 </div> 341 </div> 342 </div> 343 `,$("body").append(popupContent)},init:function(template_id){$.post("//"+__api_domain+"/user/services/api",{cmd:"checkZapierFormDataUpdateStatus",_id:template_id},function(res){res.data.status&&res.data.updated_forms.length>0&&getZapierUpdatePopUp.show(extractDataFromArray(res,["data","updated_forms"]))})}};window.addEventListener("load",function(event){page=="createTemplate"&&_plan_popup.checkPlanStatus()});function showInputInvalid(selector){if(!$(selector).next().hasClass("invalid-input-alert")&&$(selector).attr("errormsg")){let message=$(selector).attr("errormsg");$(selector).addClass("invalid-input"),$('<span class="invalid-input-alert">'+message+"</span>").insertAfter($(selector))}}function hideInputInvalid(selector){$(selector).removeClass("invalid-input"),$(selector).next().hasClass("invalid-input-alert")&&$(selector).next().remove()}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.