You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

138 lines
4.0 KiB

import $ from 'jquery';
import {api} from './api';
var selectedWeekdays = {};
$(document).ready(function () {
let body = $('body'),
popup = $('.popup.visible.open');
body.on('click', '[data-popup]', function(e){
e.preventDefault();
e.stopPropagation();
let data = $(this).data('popup');
popup = $(data);
showPopup();
let is_extend = false;
if(data === '.js-popup-buy') {
console.log('reset selected');
$('[data-day]').prop('checked', false);
if ($(this).text() === 'продлить') {
//data-purchased
//restore purchased selection
console.log('restore purchased');
$('[data-purchased]').each(function(){
$('[data-day='+$(this).data('purchased')+']').prop('checked', true);
});
is_extend = true;
}
}
if($(this).data('day')) {
let day = $(this).data('day');
$('[data-day='+day+']').prop('checked', true);
}
if(!is_extend && !$(this).data('day')) {
console.log('check all');
$('[data-day]').each(function(){
$(this).prop('checked', true);
});
}
$('[data-day]').trigger('change');
});
$('.js-popup-close').on('click', function(e){
e.preventDefault();
hidePopup();
});
body.on('click', '.js-outer', function(){
if (popup !== undefined) {
hidePopup();
}
});
$('.js-popup-wrap').on('click', function(e){
e.stopPropagation();
});
$(document).keyup(function(e){
if (e.keyCode === 27) hidePopup();
});
function showPopup(){
body.addClass('no-scroll');
popup.addClass('open');
setTimeout(function(){
popup.addClass('visible');
}, 100);
}
function hidePopup(){
body.removeClass('no-scroll');
popup.removeClass('visible');
setTimeout(function(){
popup.removeClass('open');
}, 300);
if($('#password-reset__sent').is(':visible')) {
window.location.reload();
}
}
$(document).on('change', '[data-day]', function(){
console.log('on change data-day');
var weekday = $(this).data('day');
var price = $(this).data('price');
if($(this).is(':checked')) {
// console.log('checked');
selectedWeekdays[weekday] = {price:price};
} else {
// console.log('not checked');
delete selectedWeekdays[weekday];
}
updateCart();
});
function updateCart(){
var $orderPrice = $('.order_price_text');
var days = ['', 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'];
var weekdays = [], daysText = [], price = 0;
for(var i in selectedWeekdays) {
price += parseInt(selectedWeekdays[i].price);
weekdays.push(i);
daysText.push(days[i]);
}
if(weekdays.length){
api.getPaymentAmount({ user: window.STORE.user.id, weekdays: weekdays })
.then((response) => {
var text = '';
if(response.data.price != response.data.amount) {
text = '<del>'+response.data.price+'</del> '+response.data.amount+'р.';
} else {
text = response.data.amount+'p.';
}
$orderPrice.html(text);
});
}
else {
$orderPrice.html('0p.');
}
$('.order__days').html((daysText.length) ? daysText.join(', '):'Ничего не выбрано');
var link = $('.but_btn_popup').data('link');
link = link+'?'+decodeURIComponent($.param({weekdays: weekdays}, true));
$('.but_btn_popup').attr('href', link);
}
updateCart();
});