1jQuery(document).ready(function ($) { 2 function to_top(top) { 3 $([document.documentElement, document.body]).animate({ 4 scrollTop: $(top).offset().top 5 }, 1000); 6 } 7 8 const qs = (function (a) { 9 if (a == '') return {}; 10 const b = {}; 11 for (let i = 0; i < a.length; ++i) { 12 const p = a[i].split('=', 2); 13 if (p.length == 1) b[p[0]] = ''; 14 else b[p[0]] = decodeURIComponent(p[1].replace(/\+/g, ' ')); 15 } 16 return b; 17 })(window.location.search.substr(1).split('&')); 18 19 $('.at-modal').on('click', function( e ) { 20 if ( e.currentTarget === e.target) { 21 reset_form(); 22 } 23 }); 24 25 $('.at-modal-close').on('click', function(){ 26 reset_form(); 27 }); 28 29 function reset_form() { 30 var inputs = $('.at-modal input'); 31 32 for ( var i = 0; i < inputs.length; i++ ) { 33 var inp = inputs[i]; 34 var input_type = inp.type; 35 36 if ( 'radio' === input_type ) { 37 inp.checked = false; 38 } 39 } 40 41 $('#directorist-allowances').html(''); 42 } 43 44 $('.listing_submit_btn').on('click', function () { 45 $('.atpp_required').css({display: "none"}); 46 var error_messege = '<span class="atpp_required atbdp_make_str_red"><i class="fa fa-exclamation-triangle"></i> You have crossed the limit!</span> '; 47 48 //Price 49 var pynPrice = $("input[name='price']"); 50 var price_limit = plan_validator.price_limit; 51 price_limit = parseFloat(price_limit); 52 if (pynPrice.length > 0) { 53 var price = pynPrice.val(); 54 price = parseFloat(price); 55 if (price > price_limit) { 56 pynPrice.after(error_messege); 57 to_top(pynPrice); 58 return false; 59 } 60 } 61 //tag 62 var tag = $("#at_biz_dir-tags").val(); 63 var tag_number = $(tag).length; 64 var tag_limit = parseInt(plan_validator.tag_limit); 65 if (tag_number > tag_limit) { 66 $("#atbdp_tags").append(error_messege); 67 to_top('#atbdp_tags'); 68 return false; 69 } 70 71 }); 72 73 74 //show plan allowance 75 $('#directorist-allowances').hide(); 76 $('body').on('change' , 'input[name="new_plan"]' , function(e){ 77 e.preventDefault(); 78 e.stopPropagation(); 79 var parent = $(this).closest('.atbd_modal-contents'); 80 parent.addClass('dwpp-loading'); 81 var data = { 82 'action': 'plan_allowances', 83 'plan_id': $(this).val(), 84 'post_id': $('#change_listing_id').val(), 85 }; 86 87 $('.atbd_modal_btn').addClass("directorist-pricing-disabled"); 88 $('.atbd_modal_btn').attr("disabled", "true"); 89 90 $.post(plan_validator.ajaxurl, data, function (response) { 91 if (response.html){ 92 $('#directorist-allowances').show(); 93 $('#directorist-allowances').html(response.html); 94 }else{ 95 $('#directorist-allowances').html(' '); 96 } 97 parent.removeClass('dwpp-loading'); 98 $('.dcl_pricing_plan_name').removeClass('dcl-loading'); 99 $('.atbd_modal_btn').removeClass("directorist-pricing-disabled"); 100 $('.atbd_modal_btn').removeAttr("disabled"); 101 }); 102 }); 103 104 $('body').on('click', '.atpp_change_plan', function () { 105 var listingID = $(this).attr('data-listing_id'); 106 var isRenewal = $(this).attr('data-is-renewal') === '1'; 107 $('#change_listing_id').val(listingID); 108 109 // Update modal labels based on context 110 if (isRenewal) { 111 $('#dwpp-plan-label').text(plan_validator.renew_title || 'Renew Plan'); 112 $('#dwpp-plan-submit-btn').text(plan_validator.renew_btn || 'Renew'); 113 } else { 114 $('#dwpp-plan-label').text(plan_validator.change_title || 'Change Pricing Plan'); 115 $('#dwpp-plan-submit-btn').text(plan_validator.change_btn || 'Change'); 116 } 117 118 var data = { 119 'action': 'dwpp_changing_plan', 120 'listingID': listingID, 121 }; 122 123 $.post(plan_validator.ajaxurl, data, function (response) { 124 if( response.template ){ 125 $(".dcl_pricing_plan").empty().append( response.template ); 126 } 127 }, 'json'); 128 129 }); 130 131 //changing plan 132 $('body').on('click', '.dwpp_change_plan', function () { 133 var listingID = $(this).attr('data-listing_id'); 134 $('#change_listing_id').val(listingID); 135 }); 136 137 $('.at-modal-close').on('click', function () { 138 $('#dwpp-change-plan-form').children('input').val(''); 139 $('#dcl-claim-submit-notification').html(''); 140 }); 141 142 $('#dwpp-change-plan-form').on('submit', function (e) { 143 e.preventDefault(); 144 if ( $( '.text-warning' ) ) 145 { 146 $('#dcl-claim-warning-notification').removeClass('text-warning').html(""); 147 } 148 149 var pricingPlans = $("input[name='new_plan']"); 150 var isAnyPlanSelected = false;
151 152 pricingPlans.each(function() { 153 if ($(this).prop('checked')) { 154 isAnyPlanSelected = true; 155 return false; // Exit the loop since we found a plan is selected 156 } 157 }); 158 159 if ( !isAnyPlanSelected ) 160 { 161 $('#dcl-claim-warning-notification').addClass('text-warning').html("Please select a plan to continue!"); 162 } 163 else 164 { 165 var active_elm = $( '.dpp-order-select-dropdown ul' ).find( '.active' ); 166 var data = { 167 'action': 'dwpp_submit_changing_plan', 168 'post_id': $('#change_listing_id').val(), 169 'plan_id' : $("input[name='new_plan']:checked").val(), 170 'order_id' : active_elm.length ? active_elm.attr('data-value') : '', 171 'listing_type' : $("input[name='listing_type']:checked").val(), 172 }; 173 $.post(plan_validator.ajaxurl, data, function (response) { 174 if(response.validation_error){ 175 $('#dcl-claim-warning-notification').addClass('text-warning').html(response.validation_error); 176 }else{ 177 178 if (response.take_payment === 'plan') { 179 window.location.href = response.checkout_url; 180 } else { 181 $('#dcl-claim-submit-notification').addClass('text-success').html(response.message); 182 location.reload(); 183 } 184 } 185 186 document.getElementById("dwpp-change-plan-form").reset(); 187 }, 'json'); 188 } 189 }); 190 191 //renewing listing 192 $('.atbdp_renew_with_plan').on('click', function () { 193 var listingID = $(this).attr('data-listing_id'); 194 $('#change_listing_id').val(listingID); 195 }); 196 197 dwpp_renew_plan_submitter = false; 198 $('#dwpp-renew-plan-form').on('submit', function (e) { 199 if (dwpp_renew_plan_submitter) return false; 200 dwpp_renew_plan_submitter = true; 201 // Check for errors 202 if (!e.isDefaultPrevented()) { 203 e.preventDefault(); 204 // Post via AJAX 205 var data = { 206 'action': 'dwpp_submit_changing_plan', 207 'post_id': $('#change_listing_id').val(), 208 'plan_id' : $("input[name='new_plan']:checked").val(), 209 'listing_type' : $("input[name='listing_type']:checked").val(), 210 }; 211 $.post(plan_validator.ajaxurl, data, function (response) { 212 if (response.take_payment === 'plan') { 213 window.location.href = response.checkout_url; 214 } else { 215 var successMsg = response.renew_info || response.message || ''; 216 $('#dcl-plan-renew-notification').addClass('text-success').html(successMsg); 217 location.reload(); 218 } 219 var errMsg = response.duplicate_msg || response.validation_error || ''; 220 if (errMsg) { 221 $('#dcl-claim-warning-notification').addClass('text-warning').html(errMsg); 222 } 223 dwpp_renew_plan_submitter = false; // Re-enable the submit event 224 }, 'json'); 225 } 226 }); 227 228 $( 'body' ).on( 'click', '.directorist_required_login', function( e ){ 229 e.preventDefault(); 230 let _this = $(this); 231 $('.dpp-email-warning').remove(); 232 _this.closest('.directorist-pricing__action').append('<span class="dpp-email-warning">' + plan_validator.login_alert + '</span>'); 233 return; 234 }); 235 236 let guestInput = '<div style="margin-bottom: 10px;" class="directorist-form-group directorist_plan_guest_email"><input type="email" name="guest_customer_email" class="directorist-form-element guest_customer_email" placeholder="'+ plan_validator.email_placeholder +'" required /></div>'; 237 $( 'body' ).on( 'click', '.directorist_required_email', function( e ){ 238 e.preventDefault(); 239 let _this = $(this); 240 $('.directorist_plan_guest_email').remove(); 241 $(this).closest('.directorist-pricing__action').before(guestInput); 242 return; 243 }); 244 245 $( 'body' ).on( 'keyup', '.guest_customer_email', function( e ){ 246 $('.directorist-pricing__action--btn').removeClass('directorist_required_email'); 247 }); 248 249 250 if( plan_validator.guest_customer ){ 251 $( 'body' ).on( 'click', '.directorist-pricing__action--btn', function( e ){ 252 253 if( ! $('.guest_customer_email').val() ) { 254 return; 255 } 256 257 e.preventDefault(); 258 let _this = $(this); 259 let email = $('.guest_customer_email').val(); 260 let plan = $(this).closest( 'div.directorist-pricing__action').find( 'input[name="fm_plans"]' ).val(); 261 let url = $(this).attr( 'href' ); 262 var form_data = new FormData(); 263 264 form_data.append('action', 'guest_customer'); 265 form_data.append('email', email); 266 form_data.append('plan_id', plan); 267 268 $.ajax({ 269 method: 'POST', 270 processData: false, 271 contentType: false, 272 url: plan_validator.ajaxurl, 273 data: form_data, 274 success: function (response) { 275 if( response.error ){ 276 _this.closest('.directorist-pricing__action').append('<span class="dpp-email-warning">' + response.error_msg + '</span>'); 277 }else{ 278 window.location.href = response.redirect_url; 279 } 280 $(_this).removeClass('directorist-pricing__action--btn-loading'); 281 }, 282 error: function (error) { 283 //console.log(error); 284 }, 285 complete: function () { 286 $('#directorist-type-preloader').hide(); 287 $(_this).removeClass('directorist-pricing__action--btn-loading'); 288 } 289 }); 290 }); 291 } 292 293 if( plan_validator.direct_purchase ){ 294 $( 'body' ).on( 'click', '.directorist-pricing__action--btn', function( e ){ 295 if( ! $('.guest_customer_email').val() ) { 296 return; 297 } 298 e.preventDefault(); 299 let _this = $(this); 300 301 let url = $(this).attr( 'href' ); 302 let is_active = $(this).attr( 'data-active_status' ); 303 let plan = $(this).closest( 'div.directorist-pricing__action').find( 'input[name="fm_plans"]' ).val(); 304 var form_data = new FormData(); 305 306 form_data.append('action', 'plan_direct_purchase'); 307 form_data.append('plan_id', plan); 308 309 $.ajax({ 310 method: 'POST', 311 processData: false, 312 contentType: false, 313 url: plan_validator.ajaxurl, 314 data: form_data, 315 success: function (response) { 316 317 window.location.href = is_active ? url : response.redirect_url; 318 319 $(_this).removeClass('directorist-pricing__action--btn-loading'); 320 }, 321 error: function (error) { 322 //console.log(error); 323 }, 324 complete: function () { 325 $('#directorist-type-preloader').hide(); 326 $(_this).removeClass('directorist-pricing__action--btn-loading'); 327 } 328 }); 329 }); 330 } 331 332 333 $('body').on('click','.dpp-order-select-dropdown ul li a', function(){ 334 $(this).parent('li').siblings().children().removeClass('active'); 335 $(this).addClass('active'); 336 var form_data = new FormData(); 337 var order_id = $( this ).attr('data-value'); 338 var general_label = $(this).closest('.dpp-order-select-dropdown').attr('data-general_label'); 339 var featured_label = $(this).closest('.dpp-order-select-dropdown').attr('data-featured_label'); 340 var label = $(this).closest('.dpp-order-select-dropdown').attr('data-label'); 341 var plan = $("input[name='new_plan']:checked").val(); 342 var plan_id = qs.plan ? qs.plan : plan; 343 form_data.append('action', 'select_active_order'); 344 form_data.append('order_id', order_id); 345 form_data.append('general_label', general_label); 346 form_data.append('featured_label', featured_label); 347 form_data.append('label', label); 348 form_data.append('plan_id', plan_id); 349 $('.atbd_modal_btn').addClass("directorist-pricing-disabled"); 350 $('.atbd_modal_btn').attr("disabled", "true"); 351 $.ajax({ 352 method: 'POST', 353 processData: false, 354 contentType: false, 355 url: plan_validator.ajaxurl, 356 data: form_data, 357 success: function (response) { 358 let content_area = $( '.dpp-order-select-wrapper' ); 359 $( '.directorist-listing-type' ).remove(); 360 $( content_area ).after( response ); 361 $('.dpp-selected-order-listing-type .atbdp_make_str_green, .dpp-selected-order-listing-type .atbdp_make_str_red').addClass('dpp-selected-order-listing-type--highlight'); 362 $('.atbd_modal_btn').removeClass("directorist-pricing-disabled"); 363 $('.atbd_modal_btn').removeAttr("disabled"); 364 setTimeout(() => { 365 $('.dpp-selected-order-listing-type .atbdp_make_str_green, .dpp-selected-order-listing-type .atbdp_make_str_red').removeClass('dpp-selected-order-listing-type--highlight'); 366 }, 2300); 367 }, 368 error: function (error) { 369 //console.log(error); 370 }, 371 }); 372 }); 373 374 375});
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.