166 lines
4.0 KiB
JavaScript
166 lines
4.0 KiB
JavaScript
function cart_write(catn, amount = 1) {
|
|
$.ajax({
|
|
url: '/order/write',
|
|
type: 'post',
|
|
dataType: 'json',
|
|
data: {
|
|
'_csrf': yii.getCsrfToken(),
|
|
'supplies': [
|
|
catn,
|
|
amount
|
|
]
|
|
},
|
|
success: cart_success,
|
|
error: cart_error
|
|
});
|
|
|
|
return false;
|
|
}
|
|
|
|
function cart_delete() {
|
|
$.ajax({
|
|
url: '/order/delete',
|
|
type: 'post',
|
|
dataType: 'json',
|
|
data: {
|
|
'_csrf': yii.getCsrfToken()
|
|
},
|
|
success: cart_success,
|
|
error: cart_error
|
|
});
|
|
|
|
return false;
|
|
}
|
|
|
|
function cart_pay() {
|
|
$.ajax({
|
|
url: '/order/pay',
|
|
type: 'post',
|
|
dataType: 'json',
|
|
data: {
|
|
'_csrf': yii.getCsrfToken()
|
|
},
|
|
success: cart_success,
|
|
error: cart_error
|
|
});
|
|
|
|
return false;
|
|
}
|
|
|
|
function cart_list_checkbox(target) {
|
|
|
|
// Инициализация
|
|
let elements = document.getElementsByClassName('cart_list_target');
|
|
let reg = /^\w+_([^_]*)$/;
|
|
let catn = reg.exec(target.id)[1];
|
|
|
|
if (catn === 'all') {
|
|
if (target.checked === true) {
|
|
for ($i = 0; $i < elements.length; $i++) {
|
|
elements[$i].getElementsByTagName('input')[0].checked = true;
|
|
}
|
|
|
|
target.checked = true;
|
|
} else {
|
|
for ($i = 0; $i < elements.length; $i++) {
|
|
elements[$i].getElementsByTagName('input')[0].checked = false;
|
|
}
|
|
|
|
target.checked = false;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
}
|
|
|
|
function cart_list_delete(dropdown) {
|
|
// Инициализация
|
|
let elements = document.getElementsByClassName('cart_list_target');
|
|
let reg = /^\w+_([^_]*)$/;
|
|
let targets = [];
|
|
|
|
for ($i = 0; $i < elements.length; $i++) {
|
|
let checkbox = elements[$i].getElementsByTagName('input')[0];
|
|
|
|
if (checkbox.checked === true) {
|
|
targets.push(reg.exec(checkbox.id)[1]);
|
|
}
|
|
}
|
|
|
|
$.ajax({
|
|
url: '/order/delete',
|
|
type: 'post',
|
|
dataType: 'json',
|
|
data: {
|
|
'_csrf': yii.getCsrfToken(),
|
|
'targets': targets
|
|
},
|
|
success: cart_success,
|
|
error: cart_error
|
|
});
|
|
|
|
document.getElementById('cart_list_action').value = 'none';
|
|
|
|
// Подсчитывание стоимости
|
|
cart_cost_calculate();
|
|
|
|
return false;
|
|
}
|
|
|
|
function cart_cost_calculate() {
|
|
let elements = document.getElementsByClassName('cart_list_target');
|
|
let reg = /^([0-9]*)\s*\w*/;
|
|
let costs = 0;
|
|
|
|
for ($i = 0; $i < elements.length; $i++) {
|
|
let cost = elements[$i].getElementsByTagName('div')[5];
|
|
|
|
costs += +reg.exec(cost.innerText)[1];
|
|
}
|
|
|
|
document.getElementById('cart_cost').innerHTML = costs;
|
|
}
|
|
|
|
cart_cost_calculate();
|
|
|
|
function cart_success(data, status) {
|
|
// Обработка ответов от удавшихся запросов
|
|
|
|
// Основной блок
|
|
if (data.main !== undefined) {
|
|
main = document.getElementsByTagName('main')[0];
|
|
|
|
// Обновление документа
|
|
main.innerHTML = data.main;
|
|
|
|
// Реинициализация
|
|
reinitialization(main);
|
|
}
|
|
|
|
// CSRF-токен
|
|
if (data._csrf !== undefined) {
|
|
// Обновление документа
|
|
$('meta[name=csrf-token]').prop("content", data._csrf);
|
|
}
|
|
}
|
|
|
|
function cart_error(data, status) {
|
|
// Обработка ответов от неудавшихся запросов
|
|
|
|
// Основной блок
|
|
if (data.responseJSON.main !== undefined) {
|
|
main = document.getElementsByTagName('main')[0];
|
|
|
|
// Обновление окна результатов поиска
|
|
main.innerHTML = data.main;
|
|
|
|
// Реинициализация
|
|
reinitialization(main);
|
|
}
|
|
|
|
// CSRF-токен
|
|
if (data.responseJSON._csrf !== undefined) {
|
|
// Обновление документа
|
|
$('meta[name=csrf-token]').prop("content", data.responseJSON._csrf);
|
|
}
|
|
} |