1'use strict'; 2 3(function ($) { 4 var $storage = true; 5 var added_ids = []; 6 var key = Cookies.get('woosw_key'); 7 8 try { 9 $storage = ('sessionStorage' in window && window.sessionStorage !== null); 10 window.sessionStorage.setItem('woosw', 'test'); 11 window.sessionStorage.removeItem('woosw'); 12 } catch (err) { 13 $storage = false; 14 } 15 16 $(function () { 17 if (key === null || key === undefined || key === '') { 18 key = woosw_get_key(); 19 Cookies.set('woosw_key', key, {expires: 7}); 20 } 21 22 // Load data for the first time 23 woosw_load_data(); 24 25 if ($('.woosw-custom-menu-item').length || woosw_vars.reload_count === 'yes') { 26 // reload the count 27 woosw_load_count(); 28 } 29 30 if ($('.woosw-list-ajax').length) { 31 // reload the list 32 woosw_load_list(); 33 } 34 35 if (woosw_vars.added_to_cart === 'yes' && woosw_vars.auto_remove === 'yes') { 36 setTimeout(function () { 37 woosw_load_count(); 38 woosw_get_data(); 39 }, 300); 40 } 41 42 if (woosw_vars.button_action === 'message') { 43 $.notiny.addTheme('woosw', { 44 notification_class: 'notiny-theme-woosw', 45 }); 46 } 47 }); 48 49 $(document).on('change', '.woosw-switcher-dropdown', function () { 50 window.location = $(this).val(); 51 }); 52 53 $(document).on('woosw_refresh_data', function () { 54 woosw_get_data(); 55 }); 56 57 $(document).on('woosw_refresh_count', function () { 58 woosw_load_count(); 59 }); 60 61 // woovr 62 $(document).on('woovr_selected', function (e, selected, variations) { 63 var id = selected.attr('data-id'); 64 var pid = selected.attr('data-pid'); 65 66 if (id > 0) { 67 $('.woosw-btn-' + pid).attr('data-id', id).removeClass('woosw-btn-added woosw-added'); 68 69 // refresh button 70 woosw_refresh_button_id(id); 71 } else { 72 $('.woosw-btn-' + pid).attr('data-id', pid).removeClass('woosw-btn-added woosw-added'); 73 74 // refresh button 75 woosw_refresh_button_id(pid); 76 } 77 }); 78 79 // found variation 80 $(document).on('found_variation', function (e, t) { 81 var product_id = $(e['target']).attr('data-product_id'); 82 83 // change id 84 $('.woosw-btn-' + product_id).attr('data-id', t.variation_id).removeClass('woosw-btn-added woosw-added'); 85 86 // refresh button 87 woosw_refresh_button_id(t.variation_id); 88 }); 89 90 // reset data 91 $(document).on('reset_data', function (e) { 92 var product_id = $(e['target']).attr('data-product_id'); 93 94 // change id 95 $('.woosw-btn-' + product_id).attr('data-id', product_id).removeClass('woosw-btn-added woosw-added'); 96 97 // refresh button 98 woosw_refresh_button_id(product_id); 99 }); 100 101 // auto remove 102 $(document.body).on('added_to_cart', function (e, fragments, cart_hash, $button) { 103 if (woosw_vars.auto_remove === 'yes') { 104 var product_id = parseInt($button.data('product_id')); 105 106 if ((product_id > 0) && $('.woosw-item-' + product_id).length) { 107 $('.woosw-item-' + product_id).remove(); 108 } 109 110 woosw_load_count(); 111 woosw_get_data(); 112 } 113 }); 114 115 // quick view 116 $(document).on('click touch', '#woosw_wishlist .woosq-link, #woosw_wishlist .woosq-btn', function (e) { 117 woosw_wishlist_hide(); 118 e.preventDefault(); 119 }); 120 121 // add to wishlist 122 $(document).on('click touch', '.woosw-btn', function (e) { 123 var $this = $(this); 124 var id = $this.attr('data-id'); 125 var pid = $this.attr('data-pid'); 126 var product_id = $this.attr('data-product_id'); 127 var product_name = $this.attr('data-product_name'); 128 var product_image = $this.attr('data-product_image'); 129 130 if (typeof pid !== typeof undefined && pid !== false) { 131 id = pid; 132 } 133 134 if (typeof product_id !== typeof undefined && product_id !== false) { 135 id = product_id; 136 } 137 138 if ($this.hasClass('woosw-added')) { 139 if (woosw_vars.button_action_added === 'remove') { 140 // remove from wishlist 141 var data = { 142 action: 'woosw_remove', product_id: id, key: key, nonce: woosw_vars.nonce, 143 }; 144 145 $this.addClass('woosw-adding').find('.woosw-btn-icon').removeClass(woosw_vars.button_normal_icon + ' ' + woosw_vars.button_added_icon).addClass(woosw_vars.button_loading_icon); 146 147 $.post(woosw_vars.wc_ajax_url.toString().replace('%%endpoint%%', 'woosw_remove'), data, function (response) { 148 $this.removeClass('woosw-adding').find('.woosw-btn-icon').removeClass(woosw_vars.button_loading_icon); 149 150 if (response.content != null) { 151 $('#woosw_wishlist').html(response.content).addClass('woosw-loaded'); 152 } 153 154 if (response.notice != null) { 155 woosw_notice(response.notice); 156 } 157 158 if (response.count != null) { 159 woosw_change_count(response.count); 160 } 161 162 if ($storage && response.data) { 163 sessionStorage.setItem('woosw_data_' + response.data.key, JSON.stringify(response.data)); 164 } 165 166 if (response.data.fragments) { 167 woosw_refresh_fragments(response.data.fragments); 168 } 169 170 if (response.data.ids) { 171 woosw_refresh_buttons(response.data.ids); 172 woosw_refresh_ids(response.data.ids); 173 } 174 175 $(document.body).trigger('woosw_remove', [product_id]); 176 }); 177 } else if (woosw_vars.button_action_added === 'page') { 178 // open wishlist page 179 window.location.href = woosw_vars.wishlist_url; 180 } else { 181 // open wishlist popup 182 if ($('#woosw_wishlist').hasClass('woosw-loaded')) { 183 woosw_wishlist_show(); 184 } else { 185 woosw_wishlist_load(); 186 } 187 } 188 } else { 189 // add product 190 var data = { 191 action: 'woosw_add', product_id: id, nonce: woosw_vars.nonce, 192 }; 193 194 $this.addClass('woosw-adding').find('.woosw-btn-icon').removeClass(woosw_vars.button_normal_icon + ' ' + woosw_vars.button_added_icon).addClass(woosw_vars.button_loading_icon); 195 196 $.post(woosw_vars.wc_ajax_url.toString().replace('%%endpoint%%', 'woosw_add'), data, function (response) { 197 $this.removeClass('woosw-adding').find('.woosw-btn-icon').removeClass(woosw_vars.button_loading_icon); 198 199 if (woosw_vars.button_action === 'list') { 200 if (response.content != null) { 201 $('#woosw_wishlist').html(response.content).addClass('woosw-loaded'); 202 } 203 204 if (response.notice != null) { 205 woosw_notice(response.notice.replace('{name}', '<strong>' + product_name + '</strong>')); 206 } 207 208 woosw_perfect_scrollbar(); 209 woosw_wishlist_show(); 210 } 211 212 if (woosw_vars.button_action === 'message') { 213 $('#woosw_wishlist').removeClass('woosw-loaded'); 214 215 $.notiny({ 216 theme: 'woosw', 217 position: woosw_vars.message_position, 218 image: product_image, 219 text: response.notice.replace('{name}', '<strong>' + product_name + '</strong>'),
220 }); 221 } 222 223 if (woosw_vars.button_action === 'no') { 224 // add to the wishlist solely 225 $('#woosw_wishlist').removeClass('woosw-loaded'); 226 } 227 228 if (response.count != null) { 229 woosw_change_count(response.count); 230 } 231 232 if (response.status === 1) { 233 woosw_refresh_button_id(id); 234 } 235 236 if ($storage && response.data) { 237 sessionStorage.setItem('woosw_data_' + response.data.key, JSON.stringify(response.data)); 238 } 239 240 if (response.data.fragments) { 241 woosw_refresh_fragments(response.data.fragments); 242 } 243 244 if (response.data.ids) { 245 woosw_refresh_buttons(response.data.ids); 246 woosw_refresh_ids(response.data.ids); 247 } 248 249 $(document.body).trigger('woosw_add', [id]); 250 }); 251 } 252 253 e.preventDefault(); 254 }); 255 256 // add product 257 $(document).on('click touch', '.woosw-item--add span', function (e) { 258 var $this = $(this); 259 var key = $this.closest('.woosw-items').data('key'); 260 var $this_item = $this.closest('.woosw-item'); 261 var product_id = $this_item.attr('data-id'); 262 var product_name = $this_item.attr('data-product_name'); 263 var data = { 264 action: 'woosw_add', product_id: product_id, key: key, nonce: woosw_vars.nonce, 265 }; 266 267 $this.addClass('woosw-item--adding'); 268 269 $.post(woosw_vars.wc_ajax_url.toString().replace('%%endpoint%%', 'woosw_add'), data, function (response) { 270 $this.addClass('woosw-item--adding'); 271 272 if (response.content != null) { 273 $('#woosw_wishlist').html(response.content).addClass('woosw-loaded'); 274 } 275 276 if (response.notice != null) { 277 woosw_notice(response.notice.replace('{name}', '<strong>' + product_name + '</strong>')); 278 } 279 280 if (response.count != null) { 281 woosw_change_count(response.count); 282 } 283 284 if ($storage && response.data) { 285 sessionStorage.setItem('woosw_data_' + response.data.key, JSON.stringify(response.data)); 286 } 287 288 if (response.data.fragments) { 289 woosw_refresh_fragments(response.data.fragments); 290 } 291 292 if (response.data.ids) { 293 woosw_refresh_buttons(response.data.ids); 294 woosw_refresh_ids(response.data.ids); 295 } 296 297 $(document.body).trigger('woosw_add', [product_id]); 298 299 // list shortcode 300 if ($this.closest('.woosw-list').length) { 301 location.reload(); 302 } 303 }); 304 305 e.preventDefault(); 306 }); 307 308 // remove product 309 $(document).on('click touch', '.woosw-item--remove span', function (e) { 310 var $this = $(this); 311 var key = $this.closest('.woosw-items').data('key'); 312 var $this_item = $this.closest('.woosw-item'); 313 var product_id = $this_item.attr('data-id'); 314 var data = { 315 action: 'woosw_remove', product_id: product_id, key: key, nonce: woosw_vars.nonce, 316 }; 317 318 $this.addClass('woosw-item--removing'); 319 320 $.post(woosw_vars.wc_ajax_url.toString().replace('%%endpoint%%', 'woosw_remove'), data, function (response) { 321 $this.removeClass('woosw-item--removing'); 322 $this_item.remove(); 323 324 if (response.content != null) { 325 $('#woosw_wishlist').html(response.content).addClass('woosw-loaded'); 326 } 327 328 if (response.notice != null) { 329 woosw_notice(response.notice); 330 } 331 332 if (response.count != null) { 333 woosw_change_count(response.count); 334 } 335 336 if ($storage && response.data) { 337 sessionStorage.setItem('woosw_data_' + response.data.key, JSON.stringify(response.data)); 338 } 339 340 if (response.data.fragments) { 341 woosw_refresh_fragments(response.data.fragments); 342 } 343 344 if (response.data.ids) { 345 woosw_refresh_buttons(response.data.ids); 346 woosw_refresh_ids(response.data.ids); 347 } 348 349 $(document.body).trigger('woosw_remove', [product_id]); 350 }); 351 352 e.preventDefault(); 353 }); 354 355 // empty wishlist 356 $(document).on('click touch', '.woosw-empty', function (e) { 357 var $this = $(this); 358 359 if (confirm(woosw_vars.empty_confirm)) { 360 woosw_popup_loading(); 361 362 var key = $this.data('key'); 363 var data = { 364 action: 'woosw_empty', key: key, nonce: woosw_vars.nonce, 365 }; 366 367 $.post(woosw_vars.wc_ajax_url.toString().replace('%%endpoint%%', 'woosw_empty'), data, function (response) { 368 if (response.content != null) { 369 $('#woosw_wishlist').html(response.content).addClass('woosw-loaded'); 370 } 371 372 if (response.notice != null) { 373 woosw_notice(response.notice); 374 } 375 376 if (response.count != null) { 377 woosw_change_count(response.count); 378 } 379 380 if ($storage && response.data) { 381 sessionStorage.setItem('woosw_data_' + response.data.key, JSON.stringify(response.data)); 382 } 383 384 if (response.data.fragments) { 385 woosw_refresh_fragments(response.data.fragments); 386 } 387 388 if (response.data.ids) { 389 woosw_refresh_buttons(response.data.ids); 390 woosw_refresh_ids(response.data.ids); 391 } 392 393 woosw_popup_loaded(); 394 395 $(document.body).trigger('woosw_empty', [key]); 396 }); 397 } 398 399 e.preventDefault(); 400 }); 401 402 // click on area 403 $(document).on('click touch', '.woosw-popup', function (e) { 404 var woosw_content = $('.woosw-popup-content'); 405 406 if (!$(e.target).closest(woosw_content).length) { 407 woosw_wishlist_hide(); 408 woosw_manage_hide(); 409 } 410 }); 411 412 // continue 413 $(document).on('click touch', '.woosw-continue', function (e) { 414 var url = $(this).attr('data-url'); 415 woosw_wishlist_hide(); 416 417 if (url !== '') { 418 window.location.href = url; 419 } 420 421 e.preventDefault(); 422 }); 423 424 // close 425 $(document).on('click touch', '#woosw_wishlist .woosw-popup-close', function (e) { 426 woosw_wishlist_hide(); 427 e.preventDefault(); 428 }); 429 430 // manage close 431 $(document).on('click touch', '#woosw_manage .woosw-popup-close', function (e) { 432 woosw_manage_hide(); 433 e.preventDefault(); 434 }); 435 436 // manage wishlists 437 $(document).on('click touch', '.woosw-manage', function (e) { 438 e.preventDefault(); 439 woosw_popup_loading(); 440 441 var data = { 442 action: 'woosw_manage_wishlists', nonce: woosw_vars.nonce, 443 }; 444 445 $.post(woosw_vars.wc_ajax_url.toString().replace('%%endpoint%%', 'woosw_manage_wishlists'), data, function (response) { 446 woosw_wishlist_hide(); 447 $('#woosw_manage').html(response); 448 woosw_manage_show(); 449 woosw_popup_loaded(); 450 }); 451 }); 452 453 // add wishlist 454 $(document).on('click touch', '#woosw_add_wishlist', function (e) { 455 e.preventDefault(); 456 woosw_popup_loading(); 457 458 var name = $('#woosw_wishlist_name').val(); 459 var data = { 460 action: 'woosw_add_wishlist', name: name, nonce: woosw_vars.nonce, 461 }; 462 463 $.post(woosw_vars.wc_ajax_url.toString().replace('%%endpoint%%', 'woosw_add_wishlist'), data, function (response) { 464 $('#woosw_manage').html(response); 465 $('#woosw_wishlist').removeClass('woosw-loaded'); 466 woosw_popup_loaded(); 467 }); 468 }); 469 470 // set default 471 $(document).on('click touch', '.woosw-set-default', function (e) { 472 e.preventDefault(); 473 woosw_popup_loading(); 474 475 var key = $(this).data('key'); 476 var data = { 477 action: 'woosw_set_default', key: key, nonce: woosw_vars.nonce, 478 }; 479 480 $.post(woosw_vars.wc_ajax_url.toString().replace('%%endpoint%%', 'woosw_set_default'), data, function (response) { 481 if (response.count != null) { 482 woosw_change_count(response.count); 483 } 484 485 if ((response.products != null) && response.products.length) {
486 response.products.forEach((product_id) => { 487 woosw_refresh_button_id(product_id); 488 }); 489 } 490 491 $('#woosw_manage').html(response.content); 492 493 if ($storage && response.data) { 494 sessionStorage.setItem('woosw_data_' + response.data.key, JSON.stringify(response.data)); 495 } 496 497 if (response.data.fragments) { 498 woosw_refresh_fragments(response.data.fragments); 499 } 500 501 if (response.data.ids) { 502 woosw_refresh_buttons(response.data.ids); 503 woosw_refresh_ids(response.data.ids); 504 } 505 506 $('#woosw_wishlist').removeClass('woosw-loaded'); 507 woosw_popup_loaded(); 508 }); 509 }); 510 511 // delete wishlist 512 $(document).on('click touch', '.woosw-delete-wishlist', function (e) { 513 e.preventDefault(); 514 515 if (confirm(woosw_vars.delete_confirm)) { 516 woosw_popup_loading(); 517 518 var key = $(this).data('key'); 519 var data = { 520 action: 'woosw_delete_wishlist', key: key, nonce: woosw_vars.nonce, 521 }; 522 523 $.post(woosw_vars.wc_ajax_url.toString().replace('%%endpoint%%', 'woosw_delete_wishlist'), data, function (response) { 524 $('#woosw_manage').html(response); 525 $('#woosw_wishlist').removeClass('woosw-loaded'); 526 woosw_popup_loaded(); 527 }); 528 } 529 }); 530 531 // view wishlist 532 $(document).on('click touch', '.woosw-view-wishlist', function (e) { 533 e.preventDefault(); 534 woosw_popup_loading(); 535 536 var key = $(this).data('key'); 537 var data = { 538 action: 'woosw_view_wishlist', key: key, nonce: woosw_vars.nonce, 539 }; 540 541 $.post(woosw_vars.wc_ajax_url.toString().replace('%%endpoint%%', 'woosw_view_wishlist'), data, function (response) { 542 woosw_manage_hide(); 543 $('#woosw_wishlist').removeClass('woosw-loaded').html(response); 544 woosw_wishlist_show(); 545 woosw_popup_loaded(); 546 }); 547 }); 548 549 // menu item 550 $(document).on('click touch', '.woosw-menu-item a, .woosw-menu a, .woosw-link.woosw-link-auto a', function (e) { 551 if (woosw_vars.menu_action === 'open_popup') { 552 e.preventDefault(); 553 554 if ($('#woosw_wishlist').hasClass('woosw-loaded')) { 555 woosw_wishlist_show(); 556 } else { 557 woosw_wishlist_load(); 558 } 559 } 560 }); 561 562 // link popup 563 $(document).on('click touch', '.woosw-link.woosw-link-popup a', function (e) { 564 e.preventDefault(); 565 566 if ($('#woosw_wishlist').hasClass('woosw-loaded')) { 567 woosw_wishlist_show(); 568 } else { 569 woosw_wishlist_load(); 570 } 571 }); 572 573 // account link 574 $(document).on('click touch', '.woocommerce-MyAccount-navigation-link--wishlist a', function (e) { 575 if (woosw_vars.page_myaccount === 'yes_popup') { 576 e.preventDefault(); 577 578 if ($('#woosw_wishlist').hasClass('woosw-loaded')) { 579 woosw_wishlist_show(); 580 } else { 581 woosw_wishlist_load(); 582 } 583 } 584 }); 585 586 // copy link 587 $(document).on('click touch', '#woosw_copy_url, #woosw_copy_btn', function (e) { 588 e.preventDefault(); 589 let $link = $('#woosw_copy_url'); 590 let link = $link.val(); 591 592 navigator.clipboard.writeText(link).then(function () { 593 alert(woosw_vars.copied_text + ' ' + link); 594 }, function () { 595 alert('Failure to copy!'); 596 }); 597 598 $link.select(); 599 }); 600 601 // add note 602 $(document).on('click touch', '.woosw-item--note', function () { 603 if ($(this).closest('.woosw-item').find('.woosw-item--note-add').length) { 604 $(this).closest('.woosw-item').find('.woosw-item--note-add').show(); 605 $(this).hide(); 606 } 607 }); 608 609 $(document).on('click touch', '.woosw_add_note', function (e) { 610 e.preventDefault(); 611 woosw_popup_loading(); 612 613 var $this = $(this); 614 var key = $this.closest('.woosw-items').data('key'); 615 var product_id = $this.closest('.woosw-item').attr('data-id'); 616 var note = $this.closest('.woosw-item').find('input[type="text"]').val(); 617 var data = { 618 action: 'woosw_add_note', 619 key: key, 620 product_id: product_id, 621 note: woosw_html_entities(note), 622 nonce: woosw_vars.nonce, 623 }; 624 625 $.post(woosw_vars.wc_ajax_url.toString().replace('%%endpoint%%', 'woosw_add_note'), data, function (response) { 626 $this.closest('.woosw-item').find('.woosw-item--note').html(response).show(); 627 $this.closest('.woosw-item').find('.woosw-item--note-add').hide(); 628 woosw_popup_loaded(); 629 }); 630 }); 631 632 // search/filter products 633 $(document).on('input', '.woosw-search-input', function () { 634 var keyword = $(this).val().toLowerCase().trim(); 635 var $items = $(this).closest('.woosw-popup-content').find('.woosw-items:not(.woosw-suggested-items) .woosw-item'); 636 637 if (keyword === '') { 638 $items.show(); 639 // show suggested section 640 $(this).closest('.woosw-popup-content').find('.woosw-suggested, .woosw-suggested-items').show(); 641 } else { 642 $items.each(function () { 643 var name = ($(this).attr('data-name') || '').toLowerCase(); 644 var note = ($(this).attr('data-note') || '').toLowerCase(); 645 646 if (name.indexOf(keyword) > -1 || note.indexOf(keyword) > -1) { 647 $(this).show(); 648 } else { 649 $(this).hide(); 650 } 651 }); 652 653 // hide suggested section when searching 654 $(this).closest('.woosw-popup-content').find('.woosw-suggested, .woosw-suggested-items').hide(); 655 } 656 }); 657 658 // clear search on popup close 659 $(document).on('click touch', '#woosw_wishlist .woosw-popup-close, .woosw-continue', function () { 660 $('.woosw-search-input').val('').trigger('input'); 661 }); 662 663 // resize 664 $(window).on('resize', function () { 665 woosw_fix_height(); 666 }); 667 668 function woosw_wishlist_load() { 669 var data = { 670 action: 'woosw_load', nonce: woosw_vars.nonce, 671 }; 672 673 $.post(woosw_vars.wc_ajax_url.toString().replace('%%endpoint%%', 'woosw_load'), data, function (response) { 674 if (response.content != null) { 675 $('#woosw_wishlist').html(response.content); 676 } 677 678 if (response.count != null) { 679 if ($('#woosw_wishlist .woosw-items:not(.woosw-suggested-items) .woosw-item').length && ($('#woosw_wishlist .woosw-items:not(.woosw-suggested-items) .woosw-item').length != response.count)) { 680 woosw_change_count($('#woosw_wishlist .woosw-items:not(.woosw-suggested-items) .woosw-item').length); 681 } else { 682 woosw_change_count(response.count); 683 } 684 } 685 686 if (response.notice != null) { 687 woosw_notice(response.notice); 688 } 689 690 $('#woosw_wishlist').addClass('woosw-loaded'); 691 692 woosw_perfect_scrollbar(); 693 woosw_wishlist_show(); 694 }); 695 } 696 697 function woosw_load_count() { 698 var data = { 699 action: 'woosw_load_count', nonce: woosw_vars.nonce, 700 }; 701 702 $.post(woosw_vars.wc_ajax_url.toString().replace('%%endpoint%%', 'woosw_load_count'), data, function (response) { 703 if (response.count != null) { 704 var count = response.count; 705 706 woosw_change_count(count); 707 $(document.body).trigger('woosw_load_count', [count]); 708 } 709 }); 710 } 711 712 function woosw_load_list() { 713 var data = { 714 action: 'woosw_load_list', nonce: woosw_vars.nonce, 715 }; 716 717 $.post(woosw_vars.wc_ajax_url.toString().replace('%%endpoint%%', 'woosw_load_list'), data, function (response) { 718 if (response.list != null) { 719 $('.woosw-list-ajax').replaceWith(response.list); 720 } 721 }); 722 } 723 724 function woosw_wishlist_show() { 725 $('#woosw_wishlist').addClass('woosw-show'); 726 woosw_fix_height(); 727 728 $(document.body).trigger('woosw_wishlist_show'); 729 } 730 731 function woosw_wishlist_hide() { 732 $('#woosw_wishlist').removeClass('woosw-show'); 733 $(document.body).trigger('woosw_wishlist_hide'); 734 } 735 736 function woosw_manage_show() { 737 $('#woosw_manage').addClass('woosw-show'); 738 $(document.body).trigger('woosw_manage_show'); 739 } 740 741 function woosw_manage_hide() { 742 $('#woosw_manage').removeClass('woosw-show'); 743 $(document.body).trigger('woosw_manage_hide'); 744 } 745 746 function woosw_popup_loading() { 747 $('.woosw-popup').addClass('woosw-loading'); 748 } 749 750 function woosw_popup_loaded() { 751 $('.woosw-popup').removeClass('woosw-loading'); 752 } 753 754 function woosw_change_count(count) { 755 $('#woosw_wishlist .woosw-count').html(count); 756 $('.woosw-link .woosw-link-inner').attr('data-count', count); 757 758 if (parseInt(count) > 0) { 759 $('.woosw-empty').show(); 760 } else { 761 $('.woosw-empty').hide(); 762 } 763 764 if ($('.woosw-menu-item .woosw-menu-item-inner').length) { 765 $('.woosw-menu-item .woosw-menu-item-inner').attr('data-count', count); 766 } else { 767 $('.woosw-menu-item a').html('<span class="woosw-menu-item-inner" data-count="' + count + '"><i class="woosw-icon"></i><span>' + woosw_vars.menu_text + '</span></span>'); 768 } 769 770 $(document.body).trigger('woosw_change_count', [count]); 771 } 772 773 function woosw_notice(notice) { 774 $('.woosw-notice').html(notice); 775 woosw_notice_show(); 776 setTimeout(function () { 777 woosw_notice_hide(); 778 }, 3000); 779 } 780 781 function woosw_notice_show() { 782 $('#woosw_wishlist .woosw-notice').addClass('woosw-notice-show'); 783 } 784 785 function woosw_notice_hide() { 786 $('#woosw_wishlist .woosw-notice').removeClass('woosw-notice-show'); 787 } 788 789 function woosw_perfect_scrollbar() { 790 if (woosw_vars.perfect_scrollbar === 'yes') { 791 jQuery('#woosw_wishlist .woosw-popup-content-mid').perfectScrollbar({theme: 'wpc'}); 792 } 793 } 794 795 function woosw_html_entities(str) { 796 return String(str).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"'); 797 } 798 799 function woosw_get_key() { 800 var result = []; 801 var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; 802 var charactersLength = characters.length; 803 804 for (var i = 0; i < 6; i++) { 805 result.push(characters.charAt(Math.floor(Math.random() * charactersLength))); 806 } 807 808 return result.join(''); 809 } 810 811 function woosw_fix_height() { 812 // fix for center only 813 jQuery('.woosw-popup-center .woosw-popup-content').height(2 * Math.floor(jQuery('.woosw-popup-center .woosw-popup-content').height() / 2) + 2); 814 } 815 816 function woosw_load_data() { 817 // don't use sessionStorage anymore 818 woosw_get_data(); 819 } 820 821 function woosw_get_data() { 822 var data = { 823 action: 'woosw_get_data', nonce: woosw_vars.nonce, 824 }; 825 826 $.post(woosw_vars.wc_ajax_url.toString().replace('%%endpoint%%', 'woosw_get_data'), data, function (response) { 827 if (response) { 828 if ($storage) { 829 sessionStorage.setItem('woosw_data_' + response.key, JSON.stringify(response)); 830 } 831 832 if (response.fragments) { 833 woosw_refresh_fragments(response.fragments); 834 } 835 836 if (response.ids) { 837 woosw_refresh_buttons(response.ids); 838 woosw_refresh_ids(response.ids); 839 } 840
841 if (response.key && (key === null || key === undefined || key === '' || key !== response.key)) { 842 Cookies.set('woosw_key', response.key, {expires: 7}); 843 } 844 845 $(document.body).trigger('woosw_data_refreshed', [response]); 846 } 847 }); 848 } 849 850 function woosw_refresh_fragments(fragments) { 851 $.each(fragments, function (key, value) { 852 $(key).replaceWith(value); 853 }); 854 855 $(document.body).trigger('woosw_fragments_refreshed', [fragments]); 856 } 857 858 function woosw_refresh_ids(ids) { 859 added_ids = ids; 860 } 861 862 function woosw_refresh_buttons(ids) { 863 $('.woosw-btn').removeClass('woosw-btn-added woosw-added'); 864 $('.woosw-btn:not(.woosw-btn-has-icon)').text(woosw_vars.button_text); 865 $('.woosw-btn.woosw-btn-has-icon').find('.woosw-btn-icon').removeClass(woosw_vars.button_added_icon).addClass(woosw_vars.button_normal_icon); 866 $('.woosw-btn.woosw-btn-has-icon').find('.woosw-btn-text').text(woosw_vars.button_text); 867 868 $.each(ids, function (key, value) { 869 $('.woosw-btn-' + key).addClass('woosw-btn-added woosw-added'); 870 $('.woosw-btn-' + key + ':not(.woosw-btn-has-icon)').text(woosw_vars.button_text_added); 871 $('.woosw-btn-has-icon.woosw-btn-' + key).find('.woosw-btn-icon').removeClass(woosw_vars.button_normal_icon).addClass(woosw_vars.button_added_icon); 872 $('.woosw-btn-has-icon.woosw-btn-' + key).find('.woosw-btn-text').text(woosw_vars.button_text_added); 873 874 if (value.parent !== undefined) { 875 $('.woosw-btn-' + value.parent).addClass('woosw-btn-added woosw-added'); 876 $('.woosw-btn-' + value.parent + ':not(.woosw-btn-has-icon)').text(woosw_vars.button_text_added); 877 $('.woosw-btn-has-icon.woosw-btn-' + value.parent).find('.woosw-btn-icon').removeClass(woosw_vars.button_normal_icon).addClass(woosw_vars.button_added_icon); 878 $('.woosw-btn-has-icon.woosw-btn-' + value.parent).find('.woosw-btn-text').text(woosw_vars.button_text_added); 879 } 880 }); 881 882 $(document.body).trigger('woosw_buttons_refreshed', [ids]); 883 } 884 885 function woosw_refresh_button_id(id) { 886 $('.woosw-btn[data-id="' + id + '"]').removeClass('woosw-btn-added woosw-added'); 887 $('.woosw-btn[data-id="' + id + '"]:not(.woosw-btn-has-icon)').text(woosw_vars.button_text); 888 $('.woosw-btn-has-icon.woosw-btn[data-id="' + id + '"]').find('.woosw-btn-icon').removeClass(woosw_vars.button_added_icon).addClass(woosw_vars.button_normal_icon); 889 $('.woosw-btn-has-icon.woosw-btn[data-id="' + id + '"]').find('.woosw-btn-text').text(woosw_vars.button_text); 890 891 $.each(added_ids, function (key) { 892 if (parseInt(key) === parseInt(id)) { 893 $('.woosw-btn[data-id="' + id + '"]').addClass('woosw-btn-added woosw-added'); 894 $('.woosw-btn[data-id="' + id + '"]:not(.woosw-btn-has-icon)').text(woosw_vars.button_text_added); 895 $('.woosw-btn-has-icon.woosw-btn[data-id="' + id + '"]').find('.woosw-btn-icon').removeClass(woosw_vars.button_normal_icon).addClass(woosw_vars.button_added_icon); 896 $('.woosw-btn-has-icon.woosw-btn[data-id="' + id + '"]').find('.woosw-btn-text').text(woosw_vars.button_text_added); 897 } 898 }); 899 900 $(document.body).trigger('woosw_refresh_button_id', [id, added_ids]); 901 } 902})(jQuery);
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.