Untitled
unknown
plain_text
3 years ago
18 kB
9
Indexable
(function () {
try {
/* main variables */
var debug = 0;
var variation_name = "";
var $;
/* all Pure helper functions */
function waitForElement(selector, trigger, delayInterval, delayTimeout) {
var interval = setInterval(function () {
if (
document &&
document.querySelector(selector) &&
document.querySelectorAll(selector).length > 0
) {
clearInterval(interval);
trigger();
}
}, delayInterval);
setTimeout(function () {
clearInterval(interval);
}, delayTimeout);
}
function live(selector, event, callback, context) {
// helper for enabling IE 8 event bindings
function addEvent(el, type, handler) {
if (el.attachEvent) el.attachEvent("on" + type, handler);
else el.addEventListener(type, handler);
}
// matches polyfill
this &&
this.Element &&
(function(ElementPrototype) {
ElementPrototype.matches =
ElementPrototype.matches ||
ElementPrototype.matchesSelector ||
ElementPrototype.webkitMatchesSelector ||
ElementPrototype.msMatchesSelector ||
function(selector) {
var node = this,
nodes = (node.parentNode || node.document).querySelectorAll(selector),
i = -1;
while (nodes[++i] && nodes[i] != node);
return !!nodes[i];
};
})(Element.prototype);
// live binding helper using matchesSelector
function live(selector, event, callback, context) {
addEvent(context || document, event, function(e) {
var found,
el = e.target || e.srcElement;
while (el && el.matches && el !== context && !(found = el.matches(selector))) el = el.parentElement;
if (found) callback.call(el, e);
});
}
live(selector, event, callback, context);
}
/* Variation functions */
/* Variation Init */
function init() {
/* start your code here */
var featured = document.querySelector('.category-featured');
if(featured){
document.querySelector('.category-landing .row .sidebar').insertAdjacentElement('beforebegin', featured);
document.querySelector('.category-featured .product-tile .name').insertAdjacentHTML('beforebegin','<div class="eg_featured-title">TRENDING NOW</div>');
document.querySelector('.product-tile .data-price').nextSibling.textContent = '';
document.querySelector('.product-tile .data-price').insertAdjacentHTML('afterend','<p class="eg_quantity">Quantity</p>');
var getPrice = document.querySelector('.product-tile .bottle-price-bar .price').innerHTML.replace('.00','')
document.querySelector('.product-tile .data-price').insertAdjacentHTML('afterend','<p class="eg_price"> <span class="eg_from">From </span><span class="eg_total">'+getPrice+'</span> <span class="eg_dozen">/ Dozen</span></p>');
var url = document.querySelector('.category-featured .product-tile a').getAttribute('href');
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var fetchDetails = document.createElement('div');
fetchDetails.innerHTML = this.responseText;
var firstParagraph = fetchDetails.querySelector('.product-detail .product-detail-intro-copy .inner > p').innerHTML.split('<br>')[0];
if(firstParagraph){
document.querySelector('.category-featured .product-tile .name').insertAdjacentHTML('afterend','<p class="eg_description">'+firstParagraph+'</p>');
}
}
};
xhttp.open("GET",url, true);
xhttp.send();
if(window.screen.width < 768){
var imgContainer = document.querySelector('.category-landing .category-featured .product-tile.thin .top .image-container');
document.querySelector('.category-featured .product-tile.thin .right').insertAdjacentElement('afterbegin',imgContainer)
var productName = document.querySelector('.category-featured .product-tile .name');
document.querySelector('.category-featured .product-tile .right').insertAdjacentElement('afterbegin',productName);
document.querySelector('.category-featured .product-tile .right').insertAdjacentHTML('afterbegin','<div class="eg_featured-title">FEATURED ITEM</div>');
}
}
if(window.screen.width < 1024){
// moved summary in mobile
var summary = document.querySelector('.refine .summary');
if(summary){
document.querySelector('.refine .refine-filters').insertAdjacentElement('afterend',summary)
}
}else{
// sort by moved
var sortBy = document.querySelector('.spSelect-container');
document.querySelector('.refine .filter-list').insertAdjacentElement('beforeend',sortBy);
document.querySelector('.spSelect-container .spSelect-label .spSelect-label-text').innerHTML = 'Sort by';
document.querySelectorAll('.filter-list ul ul').forEach(function(e){
var items = e.querySelectorAll('li').length;
var columnCalc = Math.ceil(items/5);
if(items > 5){
if( e.parentElement.getAttribute('data-category') == 'variety'){
e.classList.add('eg_collapse');
document.querySelector('.filter-list .category[data-category="variety"] ul').insertAdjacentHTML('beforeend','<p class="eg_more">See '+(items - 5)+' more options</p>')
document.querySelector('.filter-list .category[data-category="variety"] ul').insertAdjacentHTML('beforeend','<p class="eg_less">See less options</p>')
if(columnCalc > 5){
columnCalc = 5;
e.style.gridTemplateColumns = 'repeat('+columnCalc+', 1fr)';
}else{
e.style.gridTemplateColumns = 'repeat('+columnCalc+', 1fr)';
}
}
if( e.parentElement.getAttribute('data-category') == 'region'){
e.classList.add('eg_collapse');
document.querySelector('.filter-list .category[data-category="region"] ul').insertAdjacentHTML('beforeend','<p class="eg_more">See '+(items - 5)+' more options</p>')
document.querySelector('.filter-list .category[data-category="region"] ul').insertAdjacentHTML('beforeend','<p class="eg_less">See less options</p>')
if(columnCalc > 4){
columnCalc = 4;
e.style.gridTemplateColumns = 'repeat('+columnCalc+', 1fr)';
}else{
e.style.gridTemplateColumns = 'repeat('+columnCalc+', 1fr)';
}
}
if( e.parentElement.getAttribute('data-category') == 'producer'){
e.classList.add('eg_collapse');
document.querySelector('.filter-list .category[data-category="producer"] ul').insertAdjacentHTML('beforeend','<p class="eg_more">See '+(items - 5)+' more options</p>')
document.querySelector('.filter-list .category[data-category="producer"] ul').insertAdjacentHTML('beforeend','<p class="eg_less">See less options</p>')
if(columnCalc > 3){
columnCalc = 3;
e.style.gridTemplateColumns = 'repeat('+columnCalc+', 1fr)';
}else{
e.style.gridTemplateColumns = 'repeat('+columnCalc+', 1fr)';
}
}
if( e.parentElement.getAttribute('data-category') == 'vintage'){
e.classList.add('eg_collapse');
document.querySelector('.filter-list .category[data-category="vintage"] ul').insertAdjacentHTML('beforeend','<p class="eg_more">See '+(items - 5)+' more options</p>')
document.querySelector('.filter-list .category[data-category="vintage"] ul').insertAdjacentHTML('beforeend','<p class="eg_less">See less options</p>')
if(columnCalc > 3){
columnCalc = 3;
e.style.gridTemplateColumns = 'repeat('+columnCalc+', 1fr)';
}else{
e.style.gridTemplateColumns = 'repeat('+columnCalc+', 1fr)';
}
}
}
})
document.addEventListener('click',function(e){
var getClass = e.target.parentElement.classList;
if(e.target.classList.contains('eg_more') || e.target.classList.contains('eg_less')){
return false;
}else{
document.querySelectorAll('.category.expanded').forEach(function(el){
if(el.classList != getClass){
el.querySelector('.category-label').click();
}
})
}
})
var interval = setInterval(function(){
if(document.querySelectorAll('.category.expanded').length > 0){
document.querySelectorAll('.category.expanded').forEach(function(el){
el.querySelector('.category-label').click();
})
}
},100)
setTimeout(function(){
clearInterval(interval)
},5000);
}
live('.eg_more','click',function(){
this.parentElement.classList.add('eg_expand');
})
live('.eg_less','click',function(){
this.parentElement.classList.remove('eg_expand');
})
}
/* Initialise variation */
waitForElement(".spSelect-container .spSelect-label .spSelect-label-text", init, 100, 25000);
} catch (e) {
if (debug) console.log(e, "error in Test" + variation_name);
}
})();
html body .category-landing .category-featured{
padding: 30px;
border: 1px solid #eaeaea;
}
html body .category-featured > h2{
display: none;
}
html body .category-featured .product-tile .name{
font-size: 16px;
font-weight: 700;
}
html body .eg_featured-title {
font-weight: 700;
color: #830c2c;
margin-bottom: 10px;
font-size: 18px;
}
html body .category-landing .category-featured .product-tile .add-to-cart button{
background-color: #830c2c;
border-color: #830c2c;
font-size: 16px;
font-weight: 500;
height: 50px;
padding: 0 30px;
}
html body .product-tile .add-to-cart .form-row .submit-col{
width: max-content !important;
}
html body .product-tile .add-to-cart .form-row .form-col{
width: 22% !important;
}
html body .product-tile .add-to-cart .form-row .form-col input{
height: 50px;
text-align: center;
font-size: 18px;
}
html body .product-tile .eg_quantity {
font-size: 16px;
}
html body .product-tile .eg_price {
font-size: 20px;
display: flex;
align-items: center;
gap: 8px;
margin: 0;
flex-wrap: wrap;
}
html body .product-tile .eg_price span.eg_total {
font-weight: 700;
font-size: 32px;
}
html body .product-tile .add-to-cart{
margin: 0;
}
html body .filter-list .filter-item .box + span{
display: none;
}
html body .refine .summary{
color: #000;
padding: 0;
background-color: transparent;
display: flex;
}
html body .refine .summary .summary-items{
display: flex;
gap: 8px;
}
html body .refine .summary .summary-items .item{
position: relative;
width: max-content;
padding: 5px 30px 5px 10px;
background: #f3e7ea;
border-radius: 5px;
border: 1px solid #d0c6c9;
margin: 0;
font-size: 16px !important;
font-weight: 400;
}
html body .refine .summary .summary-items .item a{
color: #b81237 !important;
position: absolute !important;
left: calc(100% - 22px) !important;
font-size: 20px !important;
}
html body .refine .summary .heading{
display: none;
}
html body .refine .summary .actions a{
color: #b81237 !important;
text-decoration: underline;
font-weight: 500;
text-transform: inherit;
font-size: 16px !important;
}
html body .filter-list .filter-item.active .box{
background: #830c2c;
border: none;
border-radius: 3px;
}
html body .filter-list .filter-item.active .box .icon{
color: #fff;
}
@media screen and (min-width: 768px){
html body .category-landing .category-featured .product-tile{
display: flex;
}
html body .category-featured .product-tile .left{
width: 100% !important;
}
html body .category-featured .product-tile .right{
width: max-content !important;
}
}
@media screen and (min-width: 1024px){
html body .category-landing .row .sidebar,
html body .category-landing .row .content{
width: 100% !important;
}
html body .refine .refine-filters{
display: flex !important;
flex-direction: column-reverse;
}
html body .filter-list > ul {
display: flex;
justify-content: space-between;
width: 75%;
float: left;
}
html body .filter-list .spSelect-container{
width: 22%;
float: right;
}
html body .filter-list .spSelect-container .spSelect-label{
border: none;
box-shadow: none;
text-align: right;
background-color: transparent !important;
}
html body .filter-list .spSelect-container .spSelect-label .spSelect-label-text{
font-size: 18px;
color: #830c2c;
font-weight: 600;
}
html body .filter-list .spSelect-container .spSelect-label .spIconSelect div{
font-size: 24px;
}
html body .filter-list li.category .icon,
html body .filter-list li.filter-parent .icon{
width: max-content;
}
html body .filter-list li.category .expander{
left: calc(100% - 42px);
top: 4px;
pointer-events: none;
}
html body .refine .filter-list{
margin-top: 40px;
border-bottom: 1px solid #eaeaea;
}
html body .filter-list ul ul{
position: absolute;
z-index: 999;
background: #fff;
border: 1px solid #f2f2f2;
width: max-content;
padding: 0 15px 15px !important;
}
html body .filter-list .category.expanded ul{
display: grid !important;
}
html body .filter-list .category ul.eg_collapse li{
padding-right: 200px;
}
html body .filter-list .category ul.eg_expand li,
html body .filter-list .category ul li{
padding-right: 15px;
}
html body .filter-list .category ul.eg_collapse{
max-width: 220px;
overflow: hidden;
padding-bottom: 40px !important;
}
html body .filter-list .category ul.eg_expand{
max-width: 999em;
transition: max-width 1s ease-in-out;
}
html body .filter-list .category ul li {
padding-right: 15px;
}
html body .filter-list .category-label,
html body .filter-list .filter-item{
border-bottom: none;
}
html body .filter-list .category-label{
padding-right: 30px !important;
}
html body .filter-list .filter-item{
font-size: 14px;
font-weight: 400;
padding-bottom: 0;
width: max-content;
min-width: 144px;
}
html body .filter-list .filter-item .box{
top: calc(100% - 10px);
}
html body .category-landing .category-featured .product-tile.thin .top{
padding-left: 160px;
padding-right: 60px;
}
html body .category-landing .product-list .product-tile-updated{
width: 33% !important;
}
html body .category-landing .row .content > section,
html body .category-landing .row .content .search-details{
display: none;
}
html body .filter-list .category ul .eg_more {
position: absolute;
bottom: 0;
left: 15px;
color: #830c2c;
font-weight: 500;
text-decoration: underline;
cursor: pointer;
}
html body .filter-list .category ul.eg_expand .eg_more{
display: none;
}
html body .filter-list .category ul .eg_less{
color: #830c2c;
font-weight: 500;
text-decoration: underline;
cursor: pointer;
display: none;
position: absolute;
bottom: 0;
right: 55px;
}
html body .filter-list .category ul.eg_expand .eg_less{
display: block !important;
}
}
@media screen and (max-width: 1300px){
html body .filter-list .filter-item{
max-width: 170px;
}
}
@media screen and (max-width: 1023px){
html body .category-landing .row .content > section{
padding-top: 0;
}
html body .category-landing .search-details .heading{
display: none;
}
html body .refine .dd-button{
background-color: transparent;
text-align: left;
font-weight: 700;
border-bottom: 1px solid #f2f2f2;
}
html body .refine a.refine-dd{
color: #000;
}
html body .refine a.refine-dd .icon{
color: #830c2c;
}
html body .filter-list li.category .expander,
html body .filter-list li.filter-parent .expander{
right: 14px;
}
html body .category-landing .category-featured{
margin-bottom: 20px;
}
html body .filter-list .filter-item{
max-width: 100%;
}
html body .filter-list ul ul{
padding-left: 0;
}
}
@media screen and (max-width: 767px){
html body .category-landing .category-featured{
padding: 8px;
}
html body .category-landing .category-featured .product-tile .top,
html body .category-landing .category-featured .eg_description{
display: none;
}
html body .category-landing .category-featured .product-tile .right{
padding-left: 140px;
padding-top: 0;
min-height: 130px;
position: relative;
}
html body .product-tile .eg_price{
line-height: 28px;
gap: 0;
margin: 6px 0;
font-size: 16px;
}
html body .product-tile .eg_price span.eg_total,
html body .product-tile .eg_price span.eg_from{
margin-right: 5px;
}
html body .product-tile .eg_price span.eg_total{
font-size: 28px;
}
html body .product-tile .add-to-cart .form-row .submit-col{
width: 100% !important;
}
html body .product-tile .add-to-cart .form-row{
display: flex;
}
html body .category-landing .category-featured .product-tile .add-to-cart button{
padding: 0 !important;
}
html body .product-tile .add-to-cart .form-row .form-col{
width: 80px !important;
}
}Editor is loading...