products.js
/**
* Lista de productos para el menu del restaurante
*/
const products = [
{
name: 'Hamburguesa simple',
price: 8000,
code: 'H100'
},
{
name: 'Hamburguesa especial',
price: 12000,
code: 'H200'
},
{
name: 'Papas fritas',
price: 3000,
code: 'P100'
},
{
name: 'Coca-Cola',
price: 3000,
code: 'C100'
}
];
scripts.js
// 1. mostrar el menú disponible ✔
// 2. permitir que el usuario pida elementos del menú ✔
// 3. mostrar el costo total que el usuario debe pagar ✔
// 4. cobrar al usuario ✔
// 5. reportar el monto total de ventas realizadas. ✔
// Client
const user = {
name: 'Stiven',
order: [],
totalPay: 0
};
// Restaurant, store sales made.
const restaurant = {
salesMade: 0
}
// Show products list in a nice way
const showMenu = () => {
let menu = 'CODE - PRODUCT NAME - PRICE';
for ( let product of products) {
let {code, name, price} = product;
menu += `\n${code} - ${name} - ${price}`;
}
return menu;
};
// Add a product to client order
const makeOrder = ( productCode ) => {
const found = products.find( product => product.code === productCode );
if ( !found ) return 'Product does not exist.'
user.order.push( found );
user.totalPay += found.price;
return user.order;
};
// Show client's total to pay
const showTotalPay = () => `Total to pay: ${user.totalPay}`;
const payOrder = ( payment ) => {
const pay = () => {
restaurant.salesMade += user.totalPay;
user.order = [];
user.totalPay = 0;
};
if ( payment < user.totalPay ) {
return `insufficient, ${user.totalPay - payment} dollars missing`
} else if ( payment === user.totalPay ) {
pay();
return 'Paid order'
} else {
const rtrn = payment - user.totalPay;
pay();
return `Paid order, your return is ${rtrn}`;
}
};
En la sección derecha encontrarán los
Me gusta estudiar con EDTEAM pero no comparto el halloween, y aparte las telarañas no me dejan ver los videos bien, me gustaria que pudiera ser cada persona que eligiera, muchas gracias.
Hola comunidad de EDteam, esta viendo si existe otra opción ademas de google maps js para tener en mi pagina web un mapa interactivo tipo uber o didi ya que seria de mucha ayuda para mi app o si es mejor comprar la key de google maps js. Espero su respuesta, sin más que decir que tengan todos una excelente tarde
Gracias por ayudarnos a construir este sueño y darle a miles de personas el poder de transformar sus vidas con educación de calidad. #EDteam5Años
Hola a todos, estoy tratando de descargar el repositorio y veo que el index.html no está completo, por favor podrían revisar esto? saludos y muchas gracias.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>WebSocket</title>
</head>
<body>
<button id="btnConnect">Conectar</button>
<button id="btnDisconnect">Desconetar</button>
<label for="txtMsg">Mensaje</label>
<input type="text" id="textMsg">
<button id="btnSend">Enviar</button>
<label for="chat"></label>
<div id="chat"></div>
<script src="js/websocket.js"></script>
</body>
</html>
let websocket = null
const setText = data => {
const msg = `<div>${data}</div>`
chat.insertAdjacentHTML('beforeend', msg)
}
btnConnect.addEventListener('click', e => {
//ws: si es http - wss: si es https
websocket = new WebSocket('ws://demos.kaazing.com/echo')
websocket.onopen = () => setText('Conectado')
websocket.onclose = () => setText('Desconectado')
websocket.onerror = e => setText(e)
websocket.onmessage = e => {
setText(e.data)
}
})
btnDisconnect.addEventListener('click', e => {
websocket.onclose()
})
btnSend.addEventListener('click', e => {
websocket.send(textMsg.value)
})
/* aquí código librería AJAX */
const showMarvel = async () => {
const hash = ''
const apikey = ''
const url = `https://gateway.marvel.com:443/v1/public/characters?ts=1&apikey=${apikey}&hash=${hash}&limit=20&nameStartsWith=iron%20man`
const r = {method: 'GET', url: url}
const response = await ajax(r)
switch (response.status) {
case 200:
console.log(JSON.parse(response.responseText))
draw(JSON.parse(response.responseText).data.results)
break
case 400:
setText('Error de cliente ' + response.status)
break
default:
setText('Error descocido ' + response.status)
}
}
const draw = data => {
const fragment = document.createDocumentFragment()
data.forEach(comic => {
const container = document.createElement('div')
const title = document.createElement('h2')
const image = document.createElement('img')
title.textContent = comic.name
image.src = `${comic.thumbnail.path}/portrait_incredible.${comic.thumbnail.extension}`
container.appendChild(title)
container.appendChild(title)
fragment.appendChild(container)
})
myContent.appendChild(fragment)
}
btn.addEventListener('click', e => {showMarvel()})
Alvaro, no se si ya lo has notado o alguien ya te lo comentó, pero, lo que yo he notado, al menos en mi editor (VSCode v.1.44.1) , que cuando utilizas el mismo nombre para el id y para la variable, no te muestra todas las opciones despues del punto.
Si declaro:
const padre = document.getElementById('parent') en lugar de const parent = document.getElementById('parent')
Y luego utilizo:
padre. El editor me muestra todas las opciones.