1 2(function($) { 3 "use strict"; 4 var addonAjaxForm = { 5 init: function(){ 6 this.ajaxLogin(); 7 this.ajaxLostPassword(); 8 this.ajaxRegistration(); 9 this.ajaxChangePassword(); 10 this.ajaxChangeUserInfo(); 11 this.ajaxWishlist(); 12 this.ajaxLoadPackage(); 13 this.ajaxApplyPackage(); 14 this.popup(); 15 }, 16 17 ajaxLogin: function(){ 18 19 $('form#ajax-login-form').on('submit', function(e){ 20 var form = $(this); 21 var form_name = 'form#ajax-login-form'; 22 $(form_name).addClass('ajax-preload'); 23 $.ajax({ 24 type: 'POST', 25 dataType: 'json', 26 url: form_ajax_object.ajaxurl, 27 data: { 28 'action': 'ajaxlogin', 29 'username': $(form_name + ' #username').val(), 30 'password': $(form_name + ' #password').val(), 31 'security': form_ajax_object.security_nonce 32 }, 33 success: function(data){ 34 $('.form-status', form).show().html(data.message); 35 if (data.logged_in == true){ 36 document.location.href = form_ajax_object.redirecturl; 37 } 38 $(form_name).removeClass('ajax-preload'); 39 }, 40 error: function(data) { 41 $(form).removeClass('ajax-preload'); 42 } 43 }); 44 e.preventDefault(); 45 }); 46 }, 47 48 ajaxLostPassword: function(){ 49 50 $('form#lost-password-form').on('submit', function(e){ 51 var form = $(this); 52 var form_name = 'form#lost-password-form'; 53 $(form_name).addClass('ajax-preload'); 54 $.ajax({
55 type: 'POST', 56 dataType: 'json', 57 url: form_ajax_object.ajaxurl, 58 data: { 59 'action': 'tevily_lost_password', 60 'user_login': $('#forget_pwd_user_login').val(), 61 'security': form_ajax_object.security_nonce 62 }, 63 success: function(data){ 64 $('.form-status', form).show().html(data.message); 65 $(form_name).removeClass('ajax-preload'); 66 }, 67 error: function(data) { 68 $(form).removeClass('ajax-preload'); 69 } 70 }); 71 e.preventDefault(); 72 return false; 73 }); 74 75 }, 76 77 ajaxChangePassword: function(){ 78 79 $('form#change_password').on('submit', function(e){ 80 var form = $(this); 81 $(form).addClass('ajax-preload'); 82 $.ajax({ 83 type: 'POST', 84 dataType: 'json', 85 url: form_ajax_object.ajaxurl, 86 data: { 87 'action': 'tevily_change_password', 88 'old_password': $('#old_password').val(), 89 'new_password': $('#new_password').val(), 90 're_password': $('#re_password').val(), 91 'security': form_ajax_object.security_nonce 92 }, 93 success: function(data){ 94 $('.form-status', form).show().html(data.message); 95 $(form).removeClass('ajax-preload'); 96 }, 97 error: function(data) { 98 $(form).removeClass('ajax-preload'); 99 } 100 }); 101 e.preventDefault(); 102 $(form).removeClass('ajax-preload'); 103 return false; 104 }); 105 106 // Client side form validation 107 if($('#forgot_password').length){ 108 //$('#forgot_password').validate(); 109 } 110 }, 111 112 ajaxRegistration: function(){ 113 114 $('form#ajax-register-user').on('submit', function(e){ 115 116 var form = $(this); 117 var form_name = 'form#ajax-register-user'; 118 $(form).addClass('ajax-preload'); 119 120 var user_name = $('#register-username').val(); 121 var user_email = $('#register-useremail').val(); 122 var user_password = $('#register-userpassword').val(); 123 var re_user_password = $('#register-re-pwd').val(); 124 $.ajax({
125 type: 'POST', 126 dataType: 'json', 127 url: form_ajax_object.ajaxurl, 128 data: { 129 'action': "register_user_frontend", 130 'user_name': user_name, 131 'user_email': user_email, 132 'user_password': user_password, 133 're_user_password': re_user_password, 134 'security': form_ajax_object.security_nonce 135 }, 136 success: function(data){ 137 $(form).removeClass('ajax-preload'); 138 $('.form-status', form).show().html(data.message); 139 }, 140 error: function(data) { 141 $(form).removeClass('ajax-preload'); 142 } 143 }); 144 145 e.preventDefault(); 146 147 }); 148 }, 149 150 ajaxChangeUserInfo: function(){ 151 $('form.lt-change-profile-form').on('submit', function(e){ 152 e.preventDefault(); 153 var form = $(this); 154 $(form).addClass('loading'); 155 $.ajax({ 156 type:'POST', 157 dataType: 'json', 158 url: form_ajax_object.ajaxurl, 159 data: { 160 'action': "tevily_change_user_info", 161 'form_data': form.serialize(), 162 'security': form_ajax_object.security_nonce 163 }, 164 }).done(function(data) { 165 $('.form-status', form).show().html(data.message); 166 }); 167 }); 168 }, 169 170 ajaxWishlist: function(){ 171 172 // Add Wishlist 173 $(document).delegate('.ajax-wishlist-link.wishlist-add', 'click', function(e){ 174 $(this).addClass('ajax-preload'); 175 var link = $(this); 176 var post_id = $(this).data('post_id'); 177 $.ajax({
178 type: 'POST', 179 dataType: 'json', 180 url: form_ajax_object.ajaxurl, 181 data: { 182 'action': "tevily_wishlist", 183 'post_id': post_id, 184 'mode' : 'add', 185 'security': form_ajax_object.security_nonce 186 }, 187 success: function(data){ 188 link.removeClass('ajax-preload'); 189 link.removeClass('wishlist-add'); 190 link.addClass('wishlist-remove'); 191 if(!data.logged_in){ 192 $('#form-ajax-login-popup').modal('show'); 193 } 194 console.log(data.add_wishlist); 195 if(data.add_wishlist == 'added' ){ 196 link.addClass('wishlist-added'); 197 } 198 }, 199 error: function(data) { 200 console.log('error'); 201 } 202 }); 203 e.preventDefault(); 204 }); 205 206 207 // Remove Wishlist 208 $(document).delegate('.ajax-wishlist-link.wishlist-remove', 'click', function(e){ 209 $(this).addClass('ajax-preload'); 210 var link = $(this); 211 var post_id = $(this).data('post_id'); 212 $.ajax({
213 type: 'POST', 214 dataType: 'json', 215 url: form_ajax_object.ajaxurl, 216 data: { 217 'action': "tevily_wishlist", 218 'post_id': post_id, 219 'mode' : 'remove', 220 'security': form_ajax_object.security_nonce 221 }, 222 success: function(data){ 223 link.removeClass('ajax-preload'); 224 link.addClass('wishlist-add'); 225 link.removeClass('wishlist-remove'); 226 if(!data.logged_in){ 227 $('#form-ajax-login-popup').modal('show'); 228 } 229 console.log(data.remove_wishlist); 230 if(data.remove_wishlist == 'removed' ){ 231 link.removeClass('wishlist-added'); 232 } 233 }, 234 error: function(data) { 235 console.log('error'); 236 } 237 }); 238 239 e.preventDefault(); 240 }); 241 }, 242 243 ajaxLoadPackage: function(){ 244 $('.load-lt-package').on('click', function(e){ 245 $('#popup-ajax-package .ajax-package-form-content').html(''); 246 var listing_id = $(this).data('id'); 247 $.ajax({
248 type: 'POST', 249 dataType: 'json', 250 url: form_ajax_object.ajaxurl, 251 data: { 252 'action' : 'load_lt_package', 253 'listing_id' : listing_id, 254 'security' : form_ajax_object.security_nonce 255 }, 256 success: function(data){ 257 $('#popup-ajax-package .ajax-package-form-content').html(data.html); 258 } 259 }); 260 e.preventDefault(); 261 }); 262 }, 263 264 ajaxApplyPackage: function(){ 265 $('.ajax-package-form-content').delegate('.btn-apply-package', 'click', function(e){ 266 267 var listing_id = $(this).parents('.ajax-package-form-content').find('#listing-id-val').val(); 268 var package_id = $(this).parents('.ajax-package-form-content').find('input[name=lt_package_choose]:checked').val(); 269 var button = $(this); 270 271 $.ajax({ 272 type: 'POST', 273 dataType: 'json', 274 url: form_ajax_object.ajaxurl, 275 data: { 276 'action' : 'lt_apply_package', 277 'listing_id' : listing_id, 278 'package_id' : package_id, 279 'security' : form_ajax_object.security_nonce 280 }, 281 success: function(data){ 282 $(button).parents('.ajax-package-form-content').find('.notice-text').html(data.notice); 283 if(data._status == 'success'){ 284 location.reload(); 285 } 286 } 287 }); 288 289 e.preventDefault(); 290 }); 291 }, 292 293 popup: function(){ 294 $('a.lost-popup').on('click', function(){ 295 $('#form-ajax-login-popup').modal('hide'); 296 }); 297 298 $('a.login-popup').on('click', function(){ 299 $('#form-ajax-registration-popup').modal('hide'); 300 $('#form-ajax-lost-password-popup').modal('hide'); 301 }); 302 303 $('.modal').on("hidden.bs.modal", function (e) { 304 if ($('.modal:visible').length) { 305 $('body').addClass('modal-open'); 306 } 307 }); 308 } 309 310 } 311 312 $(document).ready(function(){ 313 addonAjaxForm.init(); 314 }) 315 316})(jQuery); 317
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.