mirror of
https://gitlab.com/nekoya/web.git
synced 2024-11-26 16:26:30 +01:00
125 lines
No EOL
4.9 KiB
JavaScript
125 lines
No EOL
4.9 KiB
JavaScript
function add(product_id, price) {
|
|
var inputCount = document.getElementById(product_id);
|
|
inputCount.value++;
|
|
document.getElementById(product_id + '-price').innerHTML = 'Rp ' + price * inputCount.value;
|
|
addToBag(product_id);
|
|
}
|
|
|
|
function minus(product_id, price) {
|
|
var inputCount = document.getElementById(product_id);
|
|
if (inputCount.value > 0) {
|
|
inputCount.value--;
|
|
document.getElementById(product_id + '-price').innerHTML = 'Rp ' + price * inputCount.value;
|
|
removeFromBag(product_id);
|
|
}
|
|
}
|
|
|
|
function remove(product_id) {
|
|
var bag = JSON.parse(localStorage.getItem("bag"));
|
|
bag = bag.filter( x => {
|
|
if (x.product_id != product_id) {
|
|
return x;
|
|
}
|
|
location.reload();
|
|
});
|
|
localStorage.setItem("bag", JSON.stringify(bag));
|
|
}
|
|
|
|
function addToBag(product_id) {
|
|
if (localStorage.getItem("bag") === null) {
|
|
localStorage.setItem("bag", "[]");
|
|
}
|
|
var bag = JSON.parse(localStorage.getItem("bag"));
|
|
var filtered_bag = bag.filter( x => x.product_id == product_id);
|
|
if (filtered_bag.length === 0) {
|
|
bag.push({
|
|
product_id: product_id,
|
|
quantity: 1
|
|
});
|
|
} else {
|
|
filtered_bag[0].quantity++;
|
|
bag = bag.filter( x => {
|
|
if (x.product_id != product_id) {
|
|
return x;
|
|
}
|
|
});
|
|
bag.push(filtered_bag[0]);
|
|
}
|
|
localStorage.setItem("bag", JSON.stringify(bag));
|
|
}
|
|
|
|
function removeFromBag(product_id) {
|
|
if (localStorage.getItem("bag") === null) {
|
|
localStorage.setItem("bag", "[]");
|
|
} else {
|
|
var bag = JSON.parse(localStorage.getItem("bag"));
|
|
var filtered_bag = bag.filter( x => x.product_id == product_id);
|
|
if (filtered_bag.length > 0) {
|
|
filtered_bag[0].quantity--;
|
|
if (filtered_bag[0].quantity === 0) {
|
|
bag = bag.filter( x => {
|
|
if (x.product_id != product_id) {
|
|
return x;
|
|
}
|
|
location.reload();
|
|
});
|
|
} else {
|
|
bag = bag.filter( x => {
|
|
if (x.product_id != product_id) {
|
|
return x;
|
|
}
|
|
});
|
|
bag.push(filtered_bag[0]);
|
|
}
|
|
}
|
|
localStorage.setItem("bag", JSON.stringify(bag));
|
|
}
|
|
}
|
|
|
|
function view_bag() {
|
|
var bag = JSON.parse(localStorage.getItem("bag"));
|
|
var html = '';
|
|
|
|
for (var i = 0; i < bag.length; i++) {
|
|
jQuery.get('api/getProduct', { id: bag[i].product_id }, (data) => {
|
|
let current_bag = bag.filter( x => x.product_id == data[0].ID);
|
|
html += `
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<div class="row">
|
|
<div class="col-sm-7 col-md-6 col-lg-4">
|
|
<img alt="placeholder image" class="img-fluid lazyload" src="img/${data[0].IMAGE}"
|
|
width="180px" height="180px" />
|
|
</div>
|
|
<div class="col-sm-5 col-md-6 col-lg-8">
|
|
<h2>${data[0].TITLE}</h2>
|
|
<h4>Size : ${data[0].SIZE}</h4>
|
|
<h6>Qty</h6>
|
|
<div style="display: flex;">
|
|
<span class="input-group-btn">
|
|
<button type="button" class="btn btn-default btn-number" style="color: white;"
|
|
onclick="minus('${current_bag[0].product_id}', '${data[0].PRICE}')"><i class="far fa-minus-square"></i></button>
|
|
</span>
|
|
<input class="box" type="text" disabled="disabled" value="${current_bag[0].quantity}"
|
|
class="form-control input-number" id="${current_bag[0].product_id}" />
|
|
<span class="input-group-btn">
|
|
<button type="button" class="btn btn-default btn-number" style="color: white;"
|
|
onclick="add('${current_bag[0].product_id}', '${data[0].PRICE}')"><i class="far fa-plus-square"></i></button>
|
|
</span>
|
|
</div>
|
|
<br>
|
|
<p id="${current_bag[0].product_id}-price" class="price">Rp ${data[0].PRICE * current_bag[0].quantity}</p>
|
|
<a href="javascript:;" onclick='return remove("${current_bag[0].product_id}")' style="color:red;"><i class="far fa-trash-alt" color="red"></i> <u>Remove</u></a>
|
|
<br><br>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
`;
|
|
document.getElementById("view-bag").innerHTML = html;
|
|
});
|
|
}
|
|
document.getElementById("total-price").innerHTML = 'Rp -';
|
|
}
|
|
|
|
view_bag(); |