Updates to 03-2025
|
|
@ -1,6 +1,6 @@
|
|||
h1, .h1 {
|
||||
|
||||
font-family: 'Pacifico', cursive;
|
||||
font-family: 'Raleway', 'Open Sans', Arial, Helvetica, sans-serif;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
|
|
@ -21,7 +21,7 @@ h2 {
|
|||
|
||||
h3.h3 {
|
||||
|
||||
font-family: 'Pacifico', cursive;
|
||||
font-family: 'Raleway', 'Open Sans', Arial, Helvetica, sans-serif;
|
||||
font-size: 1.6em;
|
||||
color:#b5c49b;
|
||||
margin-bottom: 25px;
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 110 KiB After Width: | Height: | Size: 137 KiB |
|
Before Width: | Height: | Size: 124 KiB After Width: | Height: | Size: 121 KiB |
|
|
@ -52,7 +52,7 @@
|
|||
|
||||
.pointer {
|
||||
color: #9b59b6;
|
||||
font-family: 'Pacifico', cursive;
|
||||
font-family: 'Open Sans', Arial, Helvetica, sans-serif;
|
||||
font-size: 30px;
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 9 KiB After Width: | Height: | Size: 17 KiB |
201
public/js/iq-abo-cart.js
Normal file
|
|
@ -0,0 +1,201 @@
|
|||
|
||||
var IqAboCart = {
|
||||
form: "#homeparty-order-form",
|
||||
btn_modal_add: '.add-product-basket',
|
||||
btn_add: '.add-from-basket',
|
||||
btn_remove: '.remove-from-basket',
|
||||
table_input: '.table-input-event-onchange',
|
||||
oTable: null,
|
||||
cart_holder: '#insert_show_products_order_',
|
||||
cart_holders: '.insert_show_products_order',
|
||||
modal: '#modals-load-content',
|
||||
remove_item_cart: '.remove_item_form_cart',
|
||||
insert_show_total_order: '#insert_show_total_order',
|
||||
insert_show_bonus: '#insert_show_bonus',
|
||||
insert_show_bonus_host: '#insert_show_bonus_host',
|
||||
select_delivery_option: '.select_delivery_option',
|
||||
/*
|
||||
comp_holder: '#holder_html_view_comp_product',
|
||||
is_for: null,
|
||||
url: null,
|
||||
btn_clear: '#clear-products-basket',
|
||||
|
||||
cart_input: '.cart-input-event-onchange',
|
||||
remove_item: '.remove_item_form_cart',
|
||||
shipping_state: '#change_shipping_state',
|
||||
comp_products: 'switchers-comp-product',
|
||||
count_comp_products: 'count_comp_products',
|
||||
shipping_is_for: 'shipping_is_for',*/
|
||||
|
||||
_log: function ($msg){
|
||||
console.log($msg);
|
||||
},
|
||||
init: function () {
|
||||
var _self = this;
|
||||
_self.url = $(_self.form).attr('action');
|
||||
|
||||
|
||||
$(_self.cart_holders).each(function (key, obj){
|
||||
_self.reInit($(obj));
|
||||
|
||||
});
|
||||
//_self.showInit();
|
||||
|
||||
/*$(_self.shipping_state).on('change', function(){
|
||||
_self.update_shipping_state($(this));
|
||||
});*/
|
||||
return _self;
|
||||
},
|
||||
setDatabase: function (oTable){
|
||||
var _self = this;
|
||||
_self.oTable = oTable;
|
||||
},
|
||||
reInitModal: function (){
|
||||
var _self = this;
|
||||
$(_self.oTable).find(_self.btn_modal_add).on('click', function(){
|
||||
_self.add_product_modal($(this))
|
||||
});
|
||||
},
|
||||
add_product_modal: function (_obj){
|
||||
var _self = this;
|
||||
_self.performRequest({
|
||||
product_id: _obj.data('product-id'),
|
||||
homeparty_id: $(_self.oTable).data('homeparty-id'),
|
||||
homeparty_user_id: $(_self.oTable).data('homeparty-user-id'),
|
||||
qty: 1,
|
||||
action: 'addProduct'
|
||||
}).done(_self.refreshView);
|
||||
|
||||
},
|
||||
reInit: function (obj){
|
||||
var _self = this;
|
||||
var _obj = obj;
|
||||
obj.find(_self.btn_add).off('click').on('click', function(){
|
||||
_self.add_product($(this), _obj)
|
||||
});
|
||||
obj.find(_self.btn_remove).off('click').on('click', function(){
|
||||
_self.remove_product($(this), _obj)
|
||||
});
|
||||
obj.find(_self.table_input).off('change').on('change', function(){
|
||||
_self.update_input_table($(this), _obj);
|
||||
});
|
||||
|
||||
obj.find(_self.remove_item_cart).off('click').on('click', function(){
|
||||
_self.remove_from_cart($(this), _obj);
|
||||
});
|
||||
|
||||
obj.find(_self.select_delivery_option).off('change').on('change', function(){
|
||||
_self.update_delivery_option($(this), _obj);
|
||||
});
|
||||
},
|
||||
|
||||
add_product: function (_obj, _holder){
|
||||
var _self = this;
|
||||
var input = _holder.find('input[name="product_qty_'+_obj.data('order-item-id')+'"]');
|
||||
var qty = parseInt(input.val()) + 1;
|
||||
qty = _self.checkNumber(qty);
|
||||
input.val(qty);
|
||||
_self.update_cart(_holder, _obj, qty);
|
||||
},
|
||||
remove_product: function (_obj, _holder){
|
||||
var _self = this;
|
||||
var input = _holder.find('input[name="product_qty_'+_obj.data('order-item-id')+'"]');
|
||||
var qty = parseInt(input.val()) - 1;
|
||||
qty = _self.checkNumber(qty);
|
||||
input.val(qty);
|
||||
_self.update_cart(_holder, _obj, qty);
|
||||
},
|
||||
update_input_table: function (_obj, _holder){
|
||||
var _self = this;
|
||||
var qty = parseInt(_obj.val());
|
||||
qty = _self.checkNumber(qty);
|
||||
_obj.val(qty);
|
||||
_self.update_cart(_holder, _obj, qty);
|
||||
},
|
||||
update_cart: function (_holder, _obj, qty){
|
||||
var _self = this;
|
||||
_self.performRequest({
|
||||
product_id: _obj.data('product-id'),
|
||||
order_item_id: _obj.data('order-item-id'),
|
||||
homeparty_id: _holder.data('homeparty-id'),
|
||||
homeparty_user_id: _holder.data('homeparty-user-id'),
|
||||
qty: qty,
|
||||
action: 'updateCart'
|
||||
}).done(_self.refreshView);
|
||||
},
|
||||
remove_from_cart: function (_obj, _holder){
|
||||
var _self = this;
|
||||
_self.performRequest({
|
||||
product_id: _obj.data('product-id'),
|
||||
order_item_id: _obj.data('order-item-id'),
|
||||
homeparty_id: _holder.data('homeparty-id'),
|
||||
homeparty_user_id: _holder.data('homeparty-user-id'),
|
||||
action: 'removeFromCart'
|
||||
}).done(_self.refreshView);
|
||||
},
|
||||
update_delivery_option: function (_obj, _holder){
|
||||
var _self = this;
|
||||
_self.performRequest({
|
||||
delivery: _obj.val(),
|
||||
homeparty_id: _holder.data('homeparty-id'),
|
||||
homeparty_user_id: _holder.data('homeparty-user-id'),
|
||||
action: 'updateDeliveryOption'
|
||||
}).done(_self.refreshView);
|
||||
},
|
||||
|
||||
refreshView: function (data) {
|
||||
var _self = IqHomepartyCart;
|
||||
var obj = $(_self.cart_holder+data.data.homeparty_user_id)
|
||||
obj.html(data.html_user_cart);
|
||||
$(_self.insert_show_total_order).html(data.html_total);
|
||||
$(_self.insert_show_bonus).html(data.html_bonus);
|
||||
$(_self.insert_show_bonus_host).html(data.html_host_bonus);
|
||||
$(_self.modal).modal('hide');
|
||||
_self.reInit(obj);
|
||||
//$(_self.comp_holder).html(data.html_comp);
|
||||
// var input = $(_self.table).find('input[name="product_qty_'+data.data.product_id+'"]');
|
||||
// input.val(data.data.qty);
|
||||
// _self.showInit();
|
||||
},
|
||||
performRequest : function(data) {
|
||||
var _self = this;
|
||||
var url = _self.url,
|
||||
contentType = 'application/x-www-form-urlencoded; charset=UTF-8';
|
||||
|
||||
console.log(data);
|
||||
console.log(url);
|
||||
|
||||
return $.ajax({
|
||||
url: url,
|
||||
data: data,
|
||||
type: "POST",
|
||||
dataType: "json",
|
||||
cache: false,
|
||||
contentType: contentType,
|
||||
encode: true,
|
||||
headers: {
|
||||
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
|
||||
}
|
||||
})
|
||||
.done(function (data) {
|
||||
console.log('performRequest');
|
||||
console.log(data);
|
||||
|
||||
}).fail(function (jqXHR, textStatus, errorThrown) {
|
||||
console.log(jqXHR);
|
||||
console.log(jqXHR.responseText);
|
||||
console.log(textStatus);
|
||||
console.log(errorThrown);
|
||||
console.log("Sorry, there was a problem!");
|
||||
});
|
||||
},
|
||||
checkNumber : function(number){
|
||||
if(number < 1 || isNaN(number)){
|
||||
return 1;
|
||||
}
|
||||
if(number >= 999){
|
||||
return 999;
|
||||
}
|
||||
return number;
|
||||
}
|
||||
};
|
||||
181
public/js/iq-modal-cart.js
Normal file
|
|
@ -0,0 +1,181 @@
|
|||
|
||||
var IqModalCart = {
|
||||
form: "#cart-order-form",
|
||||
btn_modal_add: '.add-product-basket',
|
||||
btn_add: '.add-from-basket',
|
||||
btn_remove: '.remove-from-basket',
|
||||
table_input: '.table-input-event-onchange',
|
||||
oTable: null,
|
||||
cart_holder: '#insert_show_products_order',
|
||||
is_for: null,
|
||||
modal: '#modals-load-content',
|
||||
remove_item_cart: '.remove_item_form_cart',
|
||||
insert_show_total_order: '#insert_show_total_order',
|
||||
input_is_for: 'is_for',
|
||||
comp_holder: '#holder_html_view_comp_product',
|
||||
comp_products: 'switchers-comp-product',
|
||||
count_comp_products: 'count_comp_products',
|
||||
|
||||
_log: function ($msg){
|
||||
console.log($msg);
|
||||
},
|
||||
init: function () {
|
||||
var _self = this;
|
||||
_self.url = $(_self.form).attr('action');
|
||||
_self.is_for = $('input[name="'+_self.input_is_for+'"]').val();
|
||||
_self.reInitCart($(_self.cart_holder));
|
||||
return _self;
|
||||
},
|
||||
setDatabase: function (oTable){
|
||||
var _self = this;
|
||||
_self.oTable = oTable;
|
||||
},
|
||||
reInitModal: function (){
|
||||
var _self = this;
|
||||
$(_self.oTable).find(_self.btn_modal_add).on('click', function(){
|
||||
_self.add_product_modal($(this))
|
||||
});
|
||||
},
|
||||
add_product_modal: function (_obj){
|
||||
var _self = this;
|
||||
_self.performRequest({
|
||||
product_id: _obj.data('product-id'),
|
||||
qty: 1,
|
||||
action: 'addProduct'
|
||||
}).done(_self.refreshView);
|
||||
|
||||
},
|
||||
reInitCart: function (obj){
|
||||
var _self = this;
|
||||
var _obj = obj;
|
||||
obj.find(_self.btn_add).off('click').on('click', function(){
|
||||
_self.add_product($(this), _obj)
|
||||
});
|
||||
obj.find(_self.btn_remove).off('click').on('click', function(){
|
||||
_self.remove_product($(this), _obj)
|
||||
});
|
||||
obj.find(_self.table_input).off('change').on('change', function(){
|
||||
_self.update_input_table($(this), _obj);
|
||||
});
|
||||
obj.find(_self.remove_item_cart).off('click').on('click', function(event){
|
||||
event.preventDefault()
|
||||
_self.remove_from_cart($(this), _obj);
|
||||
});
|
||||
if(_self.is_for === 'me' || _self.is_for === 'abo-me'){
|
||||
$('input[name^="'+_self.comp_products+'"]').on('change', function(){
|
||||
_self.update_comp_product($(this));
|
||||
});
|
||||
}
|
||||
},
|
||||
update_comp_product: function (_obj){
|
||||
var _self = this;
|
||||
_self.performRequest({
|
||||
comp_product_id: _obj.val(),
|
||||
comp_num: _obj.data('comp_num'),
|
||||
count_comp_products: $('input[name="'+_self.count_comp_products+'"]').val(),
|
||||
action: 'updateCompProduct'})
|
||||
.done(_self.refreshView);
|
||||
},
|
||||
add_product: function (_obj, _holder){
|
||||
var _self = this;
|
||||
var input = _holder.find('input[name="product_qty_'+_obj.data('order-item-id')+'"]');
|
||||
var qty = parseInt(input.val()) + 1;
|
||||
qty = _self.checkNumber(qty);
|
||||
input.val(qty);
|
||||
_self.update_cart(_holder, _obj, qty);
|
||||
},
|
||||
remove_product: function (_obj, _holder){
|
||||
var _self = this;
|
||||
var input = _holder.find('input[name="product_qty_'+_obj.data('order-item-id')+'"]');
|
||||
var qty = parseInt(input.val()) - 1;
|
||||
qty = _self.checkNumber(qty);
|
||||
input.val(qty);
|
||||
_self.update_cart(_holder, _obj, qty);
|
||||
},
|
||||
update_input_table: function (_obj, _holder){
|
||||
var _self = this;
|
||||
var qty = parseInt(_obj.val());
|
||||
qty = _self.checkNumber(qty);
|
||||
_obj.val(qty);
|
||||
_self.update_cart(_holder, _obj, qty);
|
||||
},
|
||||
update_cart: function (_holder, _obj, qty){
|
||||
var _self = this;
|
||||
_self.performRequest({
|
||||
product_id: _obj.data('product-id'),
|
||||
order_item_id: _obj.data('order-item-id'),
|
||||
cart_order_id: _holder.data('cart-order-id'),
|
||||
qty: qty,
|
||||
action: 'updateCart'
|
||||
}).done(_self.refreshView);
|
||||
},
|
||||
remove_from_cart: function (_obj, _holder){
|
||||
var _self = this;
|
||||
_self.performRequest({
|
||||
product_id: _obj.data('product-id'),
|
||||
order_item_id: _obj.data('order-item-id'),
|
||||
cart_order_id: _holder.data('cart-order-id'),
|
||||
action: 'removeFromCart'
|
||||
}).done(_self.refreshView);
|
||||
},
|
||||
|
||||
refreshView: function (data) {
|
||||
var _self = IqModalCart;
|
||||
var obj = $(_self.cart_holder)
|
||||
obj.html(data.html_cart);
|
||||
$(_self.insert_show_total_order).html(data.html_total);
|
||||
$(_self.modal).modal('hide');
|
||||
if($(_self.comp_holder)){
|
||||
$(_self.comp_holder).html(data.html_comp);
|
||||
}
|
||||
if($('#value-amount')){
|
||||
$('#value-amount').html(data.amount);
|
||||
}
|
||||
_self.reInitCart(obj);
|
||||
|
||||
// var input = $(_self.table).find('input[name="product_qty_'+data.data.product_id+'"]');
|
||||
// input.val(data.data.qty);
|
||||
// _self.showInit();
|
||||
},
|
||||
performRequest : function(data) {
|
||||
var _self = this;
|
||||
var url = _self.url,
|
||||
contentType = 'application/x-www-form-urlencoded; charset=UTF-8';
|
||||
|
||||
console.log(data);
|
||||
console.log(url);
|
||||
|
||||
return $.ajax({
|
||||
url: url,
|
||||
data: data,
|
||||
type: "POST",
|
||||
dataType: "json",
|
||||
cache: false,
|
||||
contentType: contentType,
|
||||
encode: true,
|
||||
headers: {
|
||||
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
|
||||
}
|
||||
})
|
||||
.done(function (data) {
|
||||
console.log('performRequest');
|
||||
console.log(data);
|
||||
|
||||
}).fail(function (jqXHR, textStatus, errorThrown) {
|
||||
console.log(jqXHR);
|
||||
console.log(jqXHR.responseText);
|
||||
console.log(textStatus);
|
||||
console.log(errorThrown);
|
||||
console.log("Sorry, there was a problem!");
|
||||
});
|
||||
},
|
||||
checkNumber : function(number){
|
||||
if(number < 1 || isNaN(number)){
|
||||
return 1;
|
||||
}
|
||||
if(number >= 999){
|
||||
return 999;
|
||||
}
|
||||
return number;
|
||||
}
|
||||
};
|
||||