Harmony/main/static/deps/js/jquery-ajax.js

181 lines
8.6 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

// Когда html документ готов (прорисован)
$(document).ready(function () {
// берем в переменную элемент разметки с id jq-notification для оповещений от ajax
var successMessage = $("#jq-notification");
// // Ловим собыитие клика по кнопке добавить в корзину
// $(document).on("click", ".add-to-cart", function (e) {
// // Блокируем его базовое действие
// e.preventDefault();
// // Берем элемент счетчика в значке корзины и берем оттуда значение
// var goodsInCartCount = $("#goods-in-cart-count");
// var cartCount = parseInt(goodsInCartCount.text() || 0);
// // Получаем id товара из атрибута data-product-id
// var product_id = $(this).data("product-id");
// // Из атрибута href берем ссылку на контроллер django
// var add_to_cart_url = $(this).attr("href");
// // делаем post запрос через ajax не перезагружая страницу
// $.ajax({
// type: "POST",
// url: add_to_cart_url,
// data: {
// product_id: product_id,
// csrfmiddlewaretoken: $("[name=csrfmiddlewaretoken]").val(),
// },
// success: function (data) {
// // Сообщение
// successMessage.html(data.message);
// successMessage.fadeIn(400);
// // Через 7сек убираем сообщение
// setTimeout(function () {
// successMessage.fadeOut(400);
// }, 7000);
// // Увеличиваем количество товаров в корзине (отрисовка в шаблоне)
// cartCount++;
// goodsInCartCount.text(cartCount);
// // Меняем содержимое корзины на ответ от django (новый отрисованный фрагмент разметки корзины)
// var cartItemsContainer = $("#cart-items-container");
// cartItemsContainer.html(data.cart_items_html);
// },
// error: function (data) {
// console.log("Ошибка при добавлении товара в корзину");
// },
// });
// });
// // Ловим собыитие клика по кнопке удалить товар из корзины
// $(document).on("click", ".remove-from-cart", function (e) {
// // Блокируем его базовое действие
// e.preventDefault();
// // Берем элемент счетчика в значке корзины и берем оттуда значение
// var goodsInCartCount = $("#goods-in-cart-count");
// var cartCount = parseInt(goodsInCartCount.text() || 0);
// // Получаем id корзины из атрибута data-cart-id
// var cart_id = $(this).data("cart-id");
// // Из атрибута href берем ссылку на контроллер django
// var remove_from_cart = $(this).attr("href");
// // делаем post запрос через ajax не перезагружая страницу
// $.ajax({
// type: "POST",
// url: remove_from_cart,
// data: {
// cart_id: cart_id,
// csrfmiddlewaretoken: $("[name=csrfmiddlewaretoken]").val(),
// },
// success: function (data) {
// // Сообщение
// successMessage.html(data.message);
// successMessage.fadeIn(400);
// // Через 7сек убираем сообщение
// setTimeout(function () {
// successMessage.fadeOut(400);
// }, 7000);
// // Уменьшаем количество товаров в корзине (отрисовка)
// cartCount -= data.quantity_deleted;
// goodsInCartCount.text(cartCount);
// // Меняем содержимое корзины на ответ от django (новый отрисованный фрагмент разметки корзины)
// var cartItemsContainer = $("#cart-items-container");
// cartItemsContainer.html(data.cart_items_html);
// },
// error: function (data) {
// console.log("Ошибка при добавлении товара в корзину");
// },
// });
// });
// // Теперь + - количества товара
// // Обработчик события для уменьшения значения
// $(document).on("click", ".decrement", function () {
// // Берем ссылку на контроллер django из атрибута data-cart-change-url
// var url = $(this).data("cart-change-url");
// // Берем id корзины из атрибута data-cart-id
// var cartID = $(this).data("cart-id");
// // Ищем ближайшеий input с количеством
// var $input = $(this).closest('.input-group').find('.number');
// // Берем значение количества товара
// var currentValue = parseInt($input.val());
// // Если количества больше одного, то только тогда делаем -1
// if (currentValue > 1) {
// $input.val(currentValue - 1);
// // Запускаем функцию определенную ниже
// // с аргументами (id карты, новое количество, количество уменьшилось или прибавилось, url)
// updateCart(cartID, currentValue - 1, -1, url);
// }
// });
// // Обработчик события для увеличения значения
// $(document).on("click", ".increment", function () {
// // Берем ссылку на контроллер django из атрибута data-cart-change-url
// var url = $(this).data("cart-change-url");
// // Берем id корзины из атрибута data-cart-id
// var cartID = $(this).data("cart-id");
// // Ищем ближайшеий input с количеством
// var $input = $(this).closest('.input-group').find('.number');
// // Берем значение количества товара
// var currentValue = parseInt($input.val());
// $input.val(currentValue + 1);
// // Запускаем функцию определенную ниже
// // с аргументами (id карты, новое количество, количество уменьшилось или прибавилось, url)
// updateCart(cartID, currentValue + 1, 1, url);
// });
// function updateCart(cartID, quantity, change, url) {
// $.ajax({
// type: "POST",
// url: url,
// data: {
// cart_id: cartID,
// quantity: quantity,
// csrfmiddlewaretoken: $("[name=csrfmiddlewaretoken]").val(),
// },
// success: function (data) {
// // Сообщение
// successMessage.html(data.message);
// successMessage.fadeIn(400);
// // Через 7сек убираем сообщение
// setTimeout(function () {
// successMessage.fadeOut(400);
// }, 7000);
// // Изменяем количество товаров в корзине
// var goodsInCartCount = $("#goods-in-cart-count");
// var cartCount = parseInt(goodsInCartCount.text() || 0);
// cartCount += change;
// goodsInCartCount.text(cartCount);
// // Меняем содержимое корзины
// var cartItemsContainer = $("#cart-items-container");
// cartItemsContainer.html(data.cart_items_html);
// },
// error: function (data) {
// console.log("Ошибка при добавлении товара в корзину");
// },
// });
// }
});