Skip to content

Commit

Permalink
Conflict Resolved
Browse files Browse the repository at this point in the history
  • Loading branch information
clj13001 committed Jan 28, 2017
1 parent 2fc2c1f commit 14ecf6c
Showing 1 changed file with 1 addition and 233 deletions.
234 changes: 1 addition & 233 deletions WebContent/html/javascript/shoppingCart.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
<<<<<<< HEAD
//here are all the hardcoded devices

var dev1 = {
Expand Down Expand Up @@ -240,236 +239,5 @@ function getRequestedItems(){
requested = JSON.parse(requested_str); //make into array
}
return requested; //return value is an array
=======
//here are all the hardcoded devices

var dev1 = {
id: 1,
name:"George",
description:"George is probably the coolest iPhone to exist. Ever. Point blank, period.",
hardware:"iPhone",
software:"apple",
};

var dev2 = {
id: 2,
name:"Greyson",
description:"Greyson is pretty cool.. I guess.",
hardware:"iPhone",
software:"apple",
};

var dev3 = {
id: 3,
name:"Linkin Park",
description:'&quotThe hardest part of ending is starting again.&quot',
hardware:"iPad",
software:"apple",
};

var dev4 = {
id: 4,
name:"Abercrombie",
description:"To all the people that hated me in high school, I have the prettiest clothes you all wear now!!",
hardware:"iPad",
software:"apple",
};

var dev5 = {
id: 5,
name:"Hulk",
description:"Go ahead and HULK SMASH! this awesome computer stick into your USB.",
hardware:"Computer Stick",
software:"intel",
};

var dev6 = {
id: 6,
name:"Captain America",
description:"&quotMake America Great Again.&quot Wait, thats someone else..",
hardware:"Computer Stick",
software:"intel",
};

var devices = [dev1, dev2, dev3, dev4, dev5, dev6]; //put them all into an array
var checked = new Array; //this is the array that will indicate whether a shopping cart item is checked off or not

//adding event listeners to all the options, such as ordering and deleting
document.getElementById('os').addEventListener('click',orderSelected);
document.getElementById('ds').addEventListener('click',deleteSelected);
document.getElementById('oa').addEventListener('click',orderAll);
document.getElementById('da').addEventListener('click',deleteAll);

show(); //on load, we want to show everything

function getCartItems(){
var cart = new Array; //initiate array for them
var cart_str = localStorage.getItem('cart'); //get them from local storage
if (cart_str !== null) { //if there is at least one object already we need to convert it from JSON to string
cart = JSON.parse(cart_str);
}
return cart; //return value is an array
}

/**
This function displays a list of devices that a user has currently in their shopping cart.
**/
function show(){
var cart = getCartItems(); //get all the cart items you want to show
var html = ''; //html string initially empty
var part1 = "nhpup.popup('";
var part2 = "');"
if(cart.length !== 0){ //only continue if there are cart items
html += '<p>Tickets have been generated below based on your desired selections.</p><br>'
for(var i = 0; i < cart.length; i++){ //iterate cart
var id = cart[i]; //this gets the id value from the cart
for(var j = 0; j < devices.length; j++){ //iterate device list
if(devices[j].id === id){ //match the id's "nhpup.popup(' ');"
html += '<div> <input class = "deviceCheckbox" type = "checkbox" id = "' + id + '"> </input><a class = "divlink" href = "#" onmouseover = "'+ part1 + 'Hardware type: ' + devices[j].hardware + '<br><br>' + devices[j].description + part2 + '"><div id = "ticket' + id +'" class = "ticket"><p class = "tickettext">' + devices[j].name + '</p></div></a></div>'; //create listing of all the devices
break; //break out of loop when we match
}
}
}
}
else{ //no point in doing all that computing if the list is empty
html += 'Shopping cart is empty.'; //so give a nice error message.
}

document.getElementById('shoppingContainer').innerHTML = html; //adds what we just generated to the webpage

var checkboxes = document.getElementsByClassName('deviceCheckbox'); //get all the checkboxes we just placed!
for(var i = 0; i < checkboxes.length; i++){ //iterate them
checkboxes[i].addEventListener('click',changeStatus); //when we click on a checkbox, it should add/remove the id from the selected array
}

var tickets = document.getElementsByClassName('ticket');
for(var i = 0; i < tickets.length; i++){
tickets[i].addEventListener('click',clickTicket);
}
}

/**
This allows a ticket click to do the same thing as clicking on the checkbox.
**/
function clickTicket(){
var checkboxes = document.getElementsByClassName('deviceCheckbox');
var id = this.getAttribute('id');
id = parseInt(id.replace(/[^0-9\.]/g,''),10);
if(document.getElementById(id).checked == true){
document.getElementById(id).checked = false;
for(var i = 0; i < checked.length; i++){ //iterate checked array
if(id == checked[i]) //find the right checkbox
checked.splice(i,1); //remove from the array
}
}
else{
document.getElementById(id).checked = true;
checked.push(id);
}
}

/**
When a checkbox is clicked, either a device needs to be checked or unchecked in the shopping cart. This function handles JUST that.
**/
function changeStatus(){
var id = this.getAttribute('id'); //get the checkbox's id
if(this.checked == true){ //we just checked it off
checked.push(id); //add item to the selected list
}
else{ //we just unchecked it
for(var i = 0; i < checked.length; i++){ //iterate checked array
if(id == checked[i]) //find the right checkbox
checked.splice(i,1); //remove from the array
}
}
}

/**
This function takes all the devices we selected and simulates an order on them.
**/
function orderSelected(){
var response = confirm("Are you sure you'd like to order the selected items?");
if(response == true){ //if they confirm
for(var i = 0; i < checked.length; i++){ //iterate all the checked off devices
var id = checked[i]; //get the id of each device
var requested = getRequestedItems(); //get the unavailable items
var cart = getCartItems(); //get the cart
requested.push(id); //add to unavailable list
for(var j = 0; j < cart.length; j++){ //iterate cart
if(cart[j] == id) //match id's
cart.splice(j,1); //remove from the cart
}
localStorage.setItem('requested', JSON.stringify(requested)); //update local storage
localStorage.setItem('cart', JSON.stringify(cart)); //update local storage
}
checked = new Array; //reset the checked off array
show(); //reload the container
}
}

/**
This function takes all the devices we selected and removes them from the shopping cart.
**/
function deleteSelected(){
var response = confirm("Are you sure you'd like to remove the selected items from the cart?");
if(response == true){ //if they confirm
for(var i = 0; i < checked.length; i++){ //iterate all the checked off devices
var id = checked[i]; //get the id of each device
var cart = getCartItems(); //get the cart
for(var j = 0; j < cart.length; j++){ //iterate cart
if(cart[j] == id){ //match ids
cart.splice(j,1); //remove from the cart
}
}
localStorage.setItem('cart', JSON.stringify(cart)); //update local storage
}
checked = new Array; //reset the checked array
show(); //reload the container
}
}

/**
This function takes all devices in the shopping cart and orders them.
**/
function orderAll(){
var response = confirm("Are you sure you'd like to order the selected items?");
if(response == true){ //if they confirm
var cart = getCartItems(); //get the cart
for(var i = 0; i < cart.length; i++){ //iterate the cart
var id = cart[i]; //get the id of each device
var requested = getRequestedItems(); //get the unavailable items
requested.push(id); //add to unavailable list
localStorage.setItem('requested', JSON.stringify(requested)); //update local storage
}
checked = new Array; //reset the checked off array
cart = new Array; //cart should now be empty, so reset also
localStorage.setItem('cart',JSON.stringify(cart)); //update local storage
show(); //reload container
}
}

/**
This function takes all devices in the shopping cart and deletes them.
**/
function deleteAll(){
var response = confirm("Are you sure you'd like to order the selected items?");
if(response == true){ //if they confirm
cart = new Array; //empty cart
localStorage.setItem('cart',JSON.stringify(cart)); //update local storage
checked = new Array; //reset the checked off array
show(); //reload container
}
}

/**
This function gets requested items from local storage.
**/
function getRequestedItems(){
var requested = new Array; //make new array
var requested_str = localStorage.getItem('requested'); //get the string from local storage
if(requested_str !== '' && requested_str !== null){ //as long as its not null
requested = JSON.parse(requested_str); //make into array
}
return requested; //return value is an array
>>>>>>> 39f4bed8802865d25cdd499e07d0269f6846eb9c
}
//here are all the hardcoded devices

0 comments on commit 14ecf6c

Please sign in to comment.