Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //function constructor for the Donut Shops
- var DonutShop = function(location, minimum, maximum, average){
- this.locations = location;
- this.minimum = minimum;
- this.maximum = maximum;
- this.average = average;
- this.donutsHourlyTotal = [];
- this.donutsDailyTotal = [];
- this.randomCust = function(minimum, maximum){
- return Math.floor(Math.random() * (this.maximum - this.minimum) + this.minimum);
- };
- //calculates donuts per hour
- this.donutsHourly = function(){
- for(var i = 0; i < 11; i++){
- var hourly = Math.round(this.average * this.randomCust());
- this.donutsHourlyTotal.push(hourly);
- };
- };
- this.donutsHourly();
- //Use reduce to get daily totals
- this.donutsDaily = function(){
- var total = this.donutsHourlyTotal.reduce(function(total, number){
- return total + number;
- });
- this.donutsDailyTotal.push(total);
- //old way
- //var total = 0;
- //for(var i = 0; i < this.donutsHourlyTotal.length; i++)
- //total += this.donutsHourlyTotal[i];
- //this.donutsDailyTotal.push(total);
- };
- this.donutsDaily();
- };
- //renders each shop to the page.
- DonutShop.prototype.render = function(){
- var tr = document.createElement('tr');
- tr.id = this.locations;
- var tbody = document.getElementById('tBody');
- //function to render location to page
- function locations(location){
- var td = document.createElement('td');
- td.innerHTML = location;
- // console.log(location);
- tr.appendChild(td);
- };
- locations(this.locations);
- //function to render donuts per hour
- function hourlyDonuts(donutsHourlyTotal){
- for(var i = 0; i < donutsHourlyTotal.length; i++){
- var td = document.createElement('td');
- td.innerHTML = donutsHourlyTotal[i];
- tr.appendChild(td);
- }
- };
- hourlyDonuts(this.donutsHourlyTotal);
- //function to render daily totals
- function dailyDonuts(donutsDailyTotal){
- var td = document.createElement('td');
- td.innerHTML = donutsDailyTotal;
- tr.appendChild(td);
- tbody.appendChild(tr);
- };
- dailyDonuts(this.donutsDailyTotal);
- };
- // DonutShop.prototype.update = function(){
- // var update = document.getElementById(donutShopArr[i].locations);
- // for(var i = 0; )
- // }
- //use objects to store shop data.
- var downtown = new DonutShop('Downtown', 8, 43, 4.5);
- var ballard = new DonutShop('Ballard', 8, 58, 3.75);
- var capitolHill = new DonutShop('Capitol Hill', 4, 37, 2);
- var wedgewood = new DonutShop('Wedgewood', 2, 28, 1.25);
- var southLakeUnion = new DonutShop('South Lake Union', 9, 23, 6.33);
- //an array to hold the donut shops.
- var donutShopArr = [];
- donutShopArr.push(downtown);
- donutShopArr.push(ballard);
- donutShopArr.push(capitolHill);
- donutShopArr.push(wedgewood);
- donutShopArr.push(southLakeUnion);
- console.log(donutShopArr);
- downtown.render();
- ballard.render();
- capitolHill.render();
- wedgewood.render();
- southLakeUnion.render();
- //popuate a dropdown list
- function selectLocation(){
- var select = document.getElementById('update');
- for(var i = 0; i < donutShopArr.length; i++){
- var opt = donutShopArr[i].locations;
- var el = document.createElement('option');
- el.textContent = opt;
- el.value = opt;
- select.appendChild(el);
- }
- };
- selectLocation();
- function addOrUpdateLocation(event){
- event.preventDefault();
- //variables to store input from the submit form
- var shop = document.getElementById('shop').value;
- var minC = document.getElementById('minCPH').value;
- var maxC = document.getElementById('maxCPH').value;
- var avrg = document.getElementById('avrg').value;
- var update = document.getElementById('update').value;
- console.log(update);
- if (update !== 'blank') {
- for (var i = 0; i < donutShopArr.length; i++) {
- var updateTable = document.getElementById(donutShopArr[i].locations);
- console.log(updateTable);
- if(updateTable.hasChildNodes) {
- var children = updateTable.childNodes;
- for (var i = 1; i < 11; i++) {
- //children[i].value = this.donutsHourlyTotal[i];
- this.donutsHourly;
- this.donutsDaily;
- donutShopArr[i].minimum = minC;
- donutShopArr[i].maximum = maxC;
- donutShopArr[i].average = avrg;
- console.log(children[i]);
- console.log(this.donutsHourlyTotal);
- }
- children[12].value = this.donutsDailyTotal[i];
- }
- if (update === donutShopArr[i].locations) {
- //console.log(donutShopArr[0]);
- }
- //console.log(donutShopArr[i].maximum);
- }
- }
- else {
- var newShop = new DonutShop(shop, Number(minC), Number(maxC), Number(avrg));
- //console.log(avrg);
- donutShopArr.push(newShop);
- //renders a new shop to the page
- //newShop.donutsHourly();
- //newShop.donutsDaily();
- newShop.render();
- //renderChart();
- }
- //resets the input fields
- var newForm = document.getElementById('newForm');
- newForm.reset();
- };
- //event to submit a new location to the table
- var submitBtn = document.getElementById('submitButton');
- submitBtn.addEventListener('click', addOrUpdateLocation);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement