Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
# Lab 9 - Starter
# Lab 9 - Starter

### Group: Pramesh Jalath and Damaris Flores
24 changes: 8 additions & 16 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,13 @@
width: 122px;
}
</style>
<script src="https://cdn.trackjs.com/agent/v3/latest/t.js"></script>
<script>
window.TrackJS && TrackJS.install({
token: "784948e0c69141c9958b9b68d879bb8d"
// for more configuration options, see https://docs.trackjs.com
});
</script>
</head>

<body>
Expand Down Expand Up @@ -87,22 +94,7 @@
</section>
</main>

<script>
let form = document.querySelector('form');
form.addEventListener('submit', e => {
e.preventDefault();
let output = document.querySelector('output');
let firstNum = document.querySelector('#first-num').value;
let secondNum = document.querySelector('#second-num').value;
let operator = document.querySelector('#operator').value;
output.innerHTML = eval(`${firstNum} ${operator} ${secondNum}`);
});

let errorBtns = Array.from(document.querySelectorAll('#error-btns > button'));

// Start your code here
// You may move this JS to another file if you wish
</script>
<script src="script.js"></script>
</body>

</html>
126 changes: 126 additions & 0 deletions script.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
let form = document.querySelector('form');
form.addEventListener('submit', e => {
try{
e.preventDefault();
let output = document.querySelector('output');
let firstNum = document.querySelector('#first-num').value;
let secondNum = document.querySelector('#second-num').value;
let operator = document.querySelector('#operator').value;
output.innerHTML = eval(`${firstNum} ${operator} ${secondNum}`);

}
catch(err){
throw new ValidationError("Invalid input.");
}});

let errorBtns = Array.from(document.querySelectorAll('#error-btns > button'));

class ValidationError extends Error{
constructor(message){
super(message);
this.name = "Validation Error.";
}
}


// Start your code here
// You may move this JS to another file if you wish

//Step 2
//console log demo


//Step 2
//console log demo
errorBtns[0].addEventListener("click", () => {
console.log("Console Log Button");
})
//console error demo
errorBtns[1].addEventListener("click", () => {
console.error("Console Error Button");
})
//console count demo
errorBtns[2].addEventListener("click", () => {
console.count("Console count button: ");
})
//console warn demo
errorBtns[3].addEventListener("click", () => {
console.log("Console Warn Demo");
console.warn("Displaying warning message");
})
//console assert demo
errorBtns[4].addEventListener("click", () => {
console.log("Console Assert Demo");
console.assert(4 < 2, "Assertion Failed: 4 is greater than 2");
})
//console clear demo
errorBtns[5].addEventListener("click", () => {
console.log("Console Clear Demo");
console.clear();
})
//console dir demo
errorBtns[6].addEventListener("click", () => {
console.log("Console Dir Demo");
console.dir(document.head);
})
//console dirxml demo
errorBtns[7].addEventListener("click", () => {
console.log("Console Dirxml Demo");
console.dirxml(document.head);
})
//console group demo
errorBtns[8].addEventListener("click", () => {
console.log("Console Group Demo");
console.log("Outside the group");
console.group();
console.log("Inside the group");
})
//console group end demo
errorBtns[9].addEventListener("click", () => {
console.groupEnd();
})
//console table demo
errorBtns[10].addEventListener("click", () => {
console.log("Console Table Demo");
console.table(["Dog, Cat, Bunny, Fox"]);
})
//console timer demo
errorBtns[11].addEventListener("click", () => {
console.log("Console Timer Start Demo");
console.time("Timer");
})
//console timer log demo
errorBtns[12].addEventListener("click", () => {
console.log("Console Timer End Demo");
console.timeEnd("Timer");
})
//console trace demo
errorBtns[13].addEventListener("click", () => {
function first(){
second();
}
function second() {
console.trace("Called from");
}
first();
})
//Step 3: Try, Catch and Finally
errorBtns[14].addEventListener('click', function() {
try{
const output = document.querySelector('output');
output.innerHTML = '<!--';
}
catch(error){
console.error("Caught the following error: ", error);
}
finally{
console.log("Finally execute this block");
}
});

//Step 5: Global Error Handler
errorBtns[14].addEventListener("click", () => {
//custom function as shown in demo
throw new Error(boom());
});
TrackJS.track("Testing TrackJS!");