(function ($){
"use strict";
function unique(array){
return array.filter(function (value, index, self){
return self.indexOf(value)===index;
});
}
function isInArray(value, array){
return array.indexOf(value) > -1;
}
function wishlistCountUpdate(mult){
var wishlist_count=parseInt($('.wishlist-contents').html());
wishlist_count +=mult;
if(wishlist_count < 0){
wishlist_count=0;
}
$('.wishlist-contents').html(wishlist_count);
if(wishlist_count > 0){
$('.wishlist-contents').addClass('count');
}else{
$('.wishlist-contents').removeClass('count');
}}
function onWishlistComplete(target, title, subaction='add'){
setTimeout(function (){
if(subaction==='add'){
target.find('.wishlist-toggle').removeClass('loading').addClass('active').attr('title', title);
}else{
target.find('.wishlist-toggle').removeClass('loading').removeClass('active').attr('title', title);
}
target.find('.wishlist-title').html(title);
if(subaction==='add'){
wishlistCountUpdate(1);
}else{
wishlistCountUpdate(-1);
}}, 800);
}
function highlightWishlist(wishlist, title){
$('.wishlist-toggle').each(function (){
var $this=$(this);
if($(this).data('oecWlHighlighted')){
return;
}
$(this).data('oecWlHighlighted', 1);
var currentProduct=$this.data('product');
currentProduct=currentProduct.toString();
if(isInArray(currentProduct, wishlist)){
$this.addClass('active').attr('title', title);
if($this.prev('.wishlist-title').length){
$this.prev('.wishlist-title').html(title).attr('title', title);
}else{
$this.next('.wishlist-title').html(title).attr('title', title);
}}
});
}
var shopName=wishlist_opt.shopName + '-wishlist',
inWishlist=wishlist_opt.inWishlist,
removedFromWishlist=wishlist_opt.addToWishlist,
addedWishlist=wishlist_opt.addedWishlist,
wishlist=new Array,
ls=localStorage.getItem(shopName),
loggedIn=($('body').hasClass('logged-in')) ? true:false,
restUrl=wishlist_opt.restUrl,
userData='';
if(loggedIn){
$.ajax({
type: 'POST',
url: wishlist_opt.ajaxUrl,
data: {
'action': 'fetch_user_data',
'dataType': 'json'
},
success: function (data){
userData=JSON.parse(data);
if(typeof (userData['wishlist'])!='undefined'&&userData['wishlist']!=null&&userData['wishlist']!=""){
var userWishlist=userData['wishlist'];
userWishlist=userWishlist.split(',');
if(wishlist.length){
wishlist=wishlist.concat(userWishlist);
$.ajax({
type: 'POST',
url: wishlist_opt.ajaxPost,
data: {
action: 'user_wishlist_update',
user_id: userData['user_id'],
wishlist: wishlist.join(','),
}});
}else{
wishlist=userWishlist;
}
wishlist=unique(wishlist);
highlightWishlist(wishlist, inWishlist);
localStorage.removeItem(shopName);
}else{
if(typeof (ls)!='undefined'&&ls!=null){
ls=ls.split(',');
ls=unique(ls);
wishlist=ls;
}
$.ajax({
type: 'POST',
url: wishlist_opt.ajaxPost,
data: {
action: 'user_wishlist_update',
user_id: userData['user_id'],
wishlist: wishlist.join(','),
}}).done(function (response){
highlightWishlist(wishlist, inWishlist);
localStorage.removeItem(shopName);
});
}
$(document).trigger('load_wishlist_table');
},
error: function (){
console.log('No user data returned');
}});
}else{
if(typeof (ls)!='undefined'&&ls!=null){
if(ls.length){
ls=ls.split(',');
ls=unique(ls);
wishlist=ls;
}}
}
function wishlistToggleInit(){
$('.wishlist-toggle').each(function (){
var $this=$(this);
if($(this).data('oecWlInitialized')){
return;
}
$(this).data('oecWlInitialized', 1);
var currentProduct=$this.data('product');
currentProduct=currentProduct.toString();
if(!loggedIn&&isInArray(currentProduct, wishlist)){
$this.addClass('active').attr('title', inWishlist);
if($this.prev('.wishlist-title').length){
$this.prev('.wishlist-title').html(addedWishlist).attr('title', inWishlist);
}else{
$this.next('.wishlist-title').html(addedWishlist).attr('title', inWishlist);
}}
$(this).on('click', function (e){
if(!$this.hasClass('loading')){
e.preventDefault();
$this.addClass('loading');
let labelMessage=inWishlist;
let subaction='add';
if(!$this.hasClass('active')){
wishlist.push(currentProduct);
wishlist=unique(wishlist);
}else{
$this.removeClass('active');
for(var i=0; i < wishlist.length; i++){
if(wishlist[i]===currentProduct){
wishlist.splice(i, 1);
}}
labelMessage=removedFromWishlist;
subaction='remove';
}
if(loggedIn){
if(userData['user_id']){
$.ajax({
type: 'POST',
url: wishlist_opt.ajaxPost,
data: {
action: 'user_wishlist_update',
user_id: userData['user_id'],
wishlist: wishlist.join(','),
}}).done(function (response){
if($this.closest('.summary').length){
onWishlistComplete($this.closest('.summary'), labelMessage, subaction);
}else{
onWishlistComplete($this.closest('.product'), labelMessage, subaction);
}}).fail(function (data){
alert(wishlist_opt.error);
});
}}else{
localStorage.setItem(shopName, wishlist.toString());
if($this.closest('.summary').length){
onWishlistComplete($this.closest('.summary'), labelMessage, subaction);
}else{
onWishlistComplete($this.closest('.product'), labelMessage, subaction);
}}
}});
});
}
wishlistToggleInit();
$('.comp .wishlist-title,.entry-summary .wishlist-title').on('click', function (){
var $this=$(this);
if($this.html()!=inWishlist){
$this.addClass('loading');
$this.prev('.wishlist-toggle').trigger('click');
setTimeout(function (){
$this.removeClass('loading');
$this.html(inWishlist);
}, 600);
}else{
window.location.replace($this.prev('.wishlist-toggle').attr('href'));
}});
$(document).on('load_wishlist_table', function (e){
setTimeout(function (){
if(wishlist.length){
$('.wishlist-contents').html(wishlist.length);
if(wishlist.length){
$('.wishlist-contents').addClass('count');
}
if($('.wishlist-table').length){
restUrl +='?include=' + wishlist.join(',');
restUrl +='&per_page=' + wishlist.length;
$.ajax({
dataType: 'json',
url: restUrl
})
.done(function (response){
$('.wishlist-table').each(function (){
var $this=$(this);
$this.find('tr:not(.wishlist-table--header)').remove();
$.each(response, function (index, object){
$this.append(`<tr data-product="${object.id}">
<td><a class="wishlist-remove" href="#" title="${wishlist_opt.removeWishlist}"></a>${object.image}</td>
<td class="product-title">${object.title["rendered"]}</td><td>${object.price}</td>
<td class="stock-status">${object.stock}</td>
<td>${object.add_to_cart}</td>
</tr>`);
});
});
})
.fail(function (response){
alert(wishlist_opt.noWishlist);
})
.always(function (response){
$('.wishlist-table').each(function (){
$(this).removeClass('loading');
});
});
}}else{
if($('.wishlist-table').length){
$('.wishlist-table').each(function (){
$(this).addClass('no-results').append('<span class="no-results">' + wishlist_opt.noWishlist + '</span>').removeClass('loading');
});
}}
}, 1000);
});
$(document).on('click', '.wishlist-remove', function (e){
e.preventDefault();
if(confirm(wishlist_opt.confirm)){
var $this=$(this);
$this.closest('.wishlist-table').addClass('loading');
wishlist=[];
$this.closest('.wishlist-table').find('tr:not(.wishlist-table--header)').each(function (){
if($(this).data('product')!=$this.closest('tr').data('product')){
wishlist.push($(this).attr('data-product'));
}});
if(loggedIn){
if(userData['user_id']){
$.ajax({
type: 'POST',
url: wishlist_opt.ajaxPost,
data: {
action: 'user_wishlist_update',
user_id: userData['user_id'],
wishlist: wishlist.join(','),
}}).done(function (){
$this.closest('tr').remove();
if(wishlist.length==0){
$('.wishlist-table.loading').append('<li class="no-results">' + wishlist_opt.noWishlist + '</li>');
}
$('.wishlist-table.loading').removeClass('loading');
wishlistCountUpdate(-1);
}).fail(function (){
alert(wishlist_opt.error);
});
}}else{
localStorage.setItem(shopName, wishlist.toString());
setTimeout(function (){
$this.closest('tr').remove();
if(wishlist.length==0){
$('.wishlist-table.loading').append('<li class="no-results">' + wishlist_opt.noWishlist + '</li>');
}
$('.wishlist-table.loading').removeClass('loading');
wishlistCountUpdate(-1);
}, 500);
}}
});
$(document).on('maybe-init-oec-wishlist', function (e){
e.preventDefault();
highlightWishlist(wishlist, inWishlist);
wishlistToggleInit();
});
})(jQuery);
!function n(r,i,l){function a(t,e){if(!i[t]){if(!r[t]){var o="function"==typeof require&&require;if(!e&&o)return o(t,!0);if(s)return s(t,!0);throw(o=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",o}o=i[t]={exports:{}},r[t][0].call(o.exports,function(e){return a(r[t][1][e]||e)},o,o.exports,n,r,i,l)}return i[t].exports}for(var s="function"==typeof require&&require,e=0;e<l.length;e++)a(l[e]);return a}({1:[function(e,t,o){"use strict";var n=e("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(o,"__esModule",{value:!0}),o.fadeOutNav=o.fadeInNav=o.isSelectorValid=o.isElement=o.getSiblings=o.visible=o.offset=o.fadeToggle=o.fadeOut=o.fadeIn=o.slideToggle=o.slideUp=o.slideDown=o.wrap=void 0;var r=n(e("@babel/runtime/helpers/typeof"));o.wrap=function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:document.createElement("div");return e.nextSibling?e.parentNode.insertBefore(t,e.nextSibling):e.parentNode.appendChild(t),t.appendChild(e)};function i(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:300,o=window.getComputedStyle(e).display;"none"===o&&(o="block"),e.style.transitionProperty="height",e.style.transitionDuration="".concat(t,"ms"),e.style.opacity=0,e.style.display=o;var n=e.offsetHeight;e.style.height=0,e.style.opacity=1,e.style.overflow="hidden",setTimeout(function(){e.style.height="".concat(n,"px")},5),window.setTimeout(function(){e.style.removeProperty("height"),e.style.removeProperty("overflow"),e.style.removeProperty("transition-duration"),e.style.removeProperty("transition-property"),e.style.removeProperty("opacity")},t+50)}o.slideDown=i;function l(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:300;e.style.boxSizing="border-box",e.style.transitionProperty="height, margin",e.style.transitionDuration="".concat(t,"ms"),e.style.height="".concat(e.offsetHeight,"px"),e.style.marginTop=0,e.style.marginBottom=0,e.style.overflow="hidden",setTimeout(function(){e.style.height=0},5),window.setTimeout(function(){e.style.display="none",e.style.removeProperty("height"),e.style.removeProperty("margin-top"),e.style.removeProperty("margin-bottom"),e.style.removeProperty("overflow"),e.style.removeProperty("transition-duration"),e.style.removeProperty("transition-property")},t+50)}o.slideUp=l;o.slideToggle=function(e,t){("none"===window.getComputedStyle(e).display?i:l)(e,t)};function a(e){var t={duration:300,display:null,opacity:1,callback:null};Object.assign(t,1<arguments.length&&void 0!==arguments[1]?arguments[1]:{}),e.style.opacity=0,e.style.display=t.display||"block",setTimeout(function(){e.style.transition="".concat(t.duration,"ms opacity ease"),e.style.opacity=t.opacity},5),setTimeout(function(){e.style.removeProperty("transition"),t.callback&&t.callback()},t.duration+50)}o.fadeIn=a;function s(e){var t;"none"!==e.style.display&&(t={duration:300,display:null,opacity:0,callback:null},Object.assign(t,1<arguments.length&&void 0!==arguments[1]?arguments[1]:{}),e.style.opacity=1,e.style.display=t.display||"block",setTimeout(function(){e.style.transition="".concat(t.duration,"ms opacity ease"),e.style.opacity=t.opacity},5),setTimeout(function(){e.style.display="none",e.style.removeProperty("transition"),t.callback&&t.callback()},t.duration+50))}o.fadeOut=s;o.fadeToggle=function(e,t){("none"===window.getComputedStyle(e).display?a:s)(e,t)};o.offset=function(e){if(!e.getClientRects().length)return{top:0,left:0};var t=e.getBoundingClientRect(),e=e.ownerDocument.defaultView;return{top:t.top+e.pageYOffset,left:t.left+e.pageXOffset}};o.visible=function(e){return!!e&&!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)};o.getSiblings=function(e){var t=[];if(!e.parentNode)return t;for(var o=e.parentNode.firstChild;o;)1===o.nodeType&&o!==e&&t.push(o),o=o.nextSibling;return t};o.isElement=function(e){return"object"===("undefined"==typeof HTMLElement?"undefined":(0,r.default)(HTMLElement))?e instanceof HTMLElement:e&&"object"===(0,r.default)(e)&&null!==e&&1===e.nodeType&&"string"==typeof e.nodeName};var c,e=(c=document.createDocumentFragment(),function(e){try{c.querySelector(e)}catch(e){return!1}return!0});o.isSelectorValid=e;o.fadeInNav=function(e){var t={duration:300,visibility:"visible",opacity:1,callback:null};Object.assign(t,1<arguments.length&&void 0!==arguments[1]?arguments[1]:{}),e.style.opacity=0,e.style.visibility=t.visibility||"visible",setTimeout(function(){e.style.transition="".concat(t.duration,"ms opacity ease"),e.style.opacity=t.opacity},5)};o.fadeOutNav=function(e){var t;"hidden"!==e.style.visibility&&(t={duration:300,visibility:"hidden",opacity:0,callback:null},Object.assign(t,1<arguments.length&&void 0!==arguments[1]?arguments[1]:{}),e.style.opacity=1,e.style.visibility=t.visibility||"visible",setTimeout(function(){e.style.transition="".concat(t.duration,"ms opacity ease"),e.style.opacity=t.opacity},5),setTimeout(function(){e.style.visibility="hidden",e.style.removeProperty("transition"),t.callback&&t.callback()},t.duration+50))}},{"@babel/runtime/helpers/interopRequireDefault":10,"@babel/runtime/helpers/typeof":11}],2:[function(e,t,o){"use strict";var n=e("@babel/runtime/helpers/interopRequireDefault"),r=n(e("@babel/runtime/helpers/defineProperty")),i=n(e("@babel/runtime/helpers/classCallCheck")),l=n(e("@babel/runtime/helpers/classPrivateFieldSet")),a=n(e("@babel/runtime/helpers/classPrivateFieldGet")),s=n(e("delegate")),c=e("../../lib/utils");function u(t,e){var o,n=Object.keys(t);return Object.getOwnPropertySymbols&&(o=Object.getOwnPropertySymbols(t),e&&(o=o.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,o)),n}function p(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?u(Object(o),!0).forEach(function(e){(0,r.default)(t,e,o[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):u(Object(o)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))})}return t}var f=new WeakMap,d=new WeakMap,y=new WeakMap,m=new WeakMap,b=new WeakMap,h=new WeakMap,v=new WeakMap,g=new WeakMap,w=new WeakMap;new function e(){var o=this;(0,i.default)(this,e),f.set(this,{writable:!0,value:{body:document.body}}),d.set(this,{writable:!0,value:function(){(0,l.default)(o,f,p(p({},(0,a.default)(o,f)),{},{html:document.querySelector("html")}))}}),y.set(this,{writable:!0,value:function(){}}),m.set(this,{writable:!0,value:function(){(0,s.default)((0,a.default)(o,f).body,".oceanwp-mobile-menu-icon a.wcmenucart","click",(0,a.default)(o,h)),document.querySelectorAll(".oceanwp-cart-sidebar-overlay, .oceanwp-cart-close").forEach(function(e){e.addEventListener("click",(0,a.default)(o,v))}),window.addEventListener("resize",(0,a.default)(o,g));var e=document.querySelector(".wcmenucart-toggle-drop_down");e&&e.addEventListener("keydown",(0,a.default)(o,b))}}),b.set(this,{writable:!0,value:function(e){var t=document.querySelector(".wcmenucart-toggle-drop_down").querySelector(".wcmenucart"),o=document.querySelector(".owp-mini-cart"),n=o.querySelectorAll("a"),r=n[0],i=n[n.length-1],l=document.activeElement,a=9===e.keyCode,s=e.shiftKey;!s&&a&&t===l&&(n.length&&e.preventDefault(),(0,c.fadeInNav)(o,{callback:function(){}}),r&&r.focus()),s&&a&&r===l&&(t&&(e.preventDefault(),t.focus()),(0,c.fadeOutNav)(o,{callback:function(){}})),!s&&a&&i===l&&(0,c.fadeOutNav)(o,{callback:function(){}})}}),h.set(this,{writable:!0,value:function(e){e.preventDefault();var t=(0,a.default)(o,f).html.innerWidth;(0,a.default)(o,f).html.style.overflow="hidden";e=(0,a.default)(o,f).html.innerWidth;(0,a.default)(o,f).html.style.marginRight=e-t+"px",(0,a.default)(o,f).body.classList.add("show-cart-sidebar")}}),v.set(this,{writable:!0,value:function(e){e.preventDefault(),(0,a.default)(o,w).call(o),(0,a.default)(o,f).body.classList.remove("show-cart")}}),g.set(this,{writable:!0,value:function(e){(0,a.default)(o,w).call(o)}}),w.set(this,{writable:!0,value:function(){(((0,a.default)(o,f).html.style.overflow="",a.default)(o,f).html.style.marginRight="",a.default)(o,f).body.classList.remove("show-cart-sidebar")}}),(0,a.default)(this,f).body.classList.contains("woocommerce-cart")||(0,a.default)(this,f).body.classList.contains("woocommerce-checkout")||((0,a.default)(this,d).call(this),(0,a.default)(this,y).call(this),(0,a.default)(this,m).call(this))}},{"../../lib/utils":1,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/classPrivateFieldGet":7,"@babel/runtime/helpers/classPrivateFieldSet":8,"@babel/runtime/helpers/defineProperty":9,"@babel/runtime/helpers/interopRequireDefault":10,delegate:13}],3:[function(e,t,o){t.exports=function(e,t){return t.get?t.get.call(e):t.value},t.exports.default=t.exports,t.exports.__esModule=!0},{}],4:[function(e,t,o){t.exports=function(e,t,o){if(t.set)t.set.call(e,o);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=o}},t.exports.default=t.exports,t.exports.__esModule=!0},{}],5:[function(e,t,o){t.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},t.exports.default=t.exports,t.exports.__esModule=!0},{}],6:[function(e,t,o){t.exports=function(e,t,o){if(!t.has(e))throw new TypeError("attempted to "+o+" private field on non-instance");return t.get(e)},t.exports.default=t.exports,t.exports.__esModule=!0},{}],7:[function(e,t,o){var n=e("./classApplyDescriptorGet.js"),r=e("./classExtractFieldDescriptor.js");t.exports=function(e,t){return t=r(e,t,"get"),n(e,t)},t.exports.default=t.exports,t.exports.__esModule=!0},{"./classApplyDescriptorGet.js":3,"./classExtractFieldDescriptor.js":6}],8:[function(e,t,o){var n=e("./classApplyDescriptorSet.js"),r=e("./classExtractFieldDescriptor.js");t.exports=function(e,t,o){return t=r(e,t,"set"),n(e,t,o),o},t.exports.default=t.exports,t.exports.__esModule=!0},{"./classApplyDescriptorSet.js":4,"./classExtractFieldDescriptor.js":6}],9:[function(e,t,o){t.exports=function(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e},t.exports.default=t.exports,t.exports.__esModule=!0},{}],10:[function(e,t,o){t.exports=function(e){return e&&e.__esModule?e:{default:e}},t.exports.default=t.exports,t.exports.__esModule=!0},{}],11:[function(e,t,o){function n(e){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?t.exports=n=function(e){return typeof e}:t.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t.exports.default=t.exports,t.exports.__esModule=!0,n(e)}t.exports=n,t.exports.default=t.exports,t.exports.__esModule=!0},{}],12:[function(e,t,o){var n;"undefined"==typeof Element||Element.prototype.matches||((n=Element.prototype).matches=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector),t.exports=function(e,t){for(;e&&9!==e.nodeType;){if("function"==typeof e.matches&&e.matches(t))return e;e=e.parentNode}}},{}],13:[function(e,t,o){var l=e("./closest");function i(e,t,o,n,r){var i=function(t,o,e,n){return function(e){e.delegateTarget=l(e.target,o),e.delegateTarget&&n.call(t,e)}}.apply(this,arguments);return e.addEventListener(o,i,r),{destroy:function(){e.removeEventListener(o,i,r)}}}t.exports=function(e,t,o,n,r){return"function"==typeof e.addEventListener?i.apply(null,arguments):"function"==typeof o?i.bind(null,document).apply(null,arguments):("string"==typeof e&&(e=document.querySelectorAll(e)),Array.prototype.map.call(e,function(e){return i(e,t,o,n,r)}))}},{"./closest":12}]},{},[2]);