summaryrefslogtreecommitdiff
path: root/static/js/main.js
diff options
context:
space:
mode:
Diffstat (limited to 'static/js/main.js')
-rw-r--r--static/js/main.js73
1 files changed, 24 insertions, 49 deletions
diff --git a/static/js/main.js b/static/js/main.js
index e14b8a6..0f8f6c8 100644
--- a/static/js/main.js
+++ b/static/js/main.js
@@ -1,38 +1,4 @@
-const PROG_FACTORIAL = `YOU WON'T WANT TO MISS 'Hello, World!'
-
-DISCOVER HOW TO factorial WITH n
-RUMOR HAS IT
- WHAT IF n IS ACTUALLY 0
- SHOCKING DEVELOPMENT 1
- LIES!
- SHOCKING DEVELOPMENT
- n TIMES factorial OF n MINUS 1
-END OF STORY
-
-EXPERTS CLAIM result TO BE factorial OF 10
-YOU WON'T WANT TO MISS 'Result is'
-YOU WON'T WANT TO MISS result
-
-PLEASE LIKE AND SUBSCRIBE`;
-
-const PROG_FIBONACCI = `DISCOVER HOW TO fibonacci WITH a, b, n
-RUMOR HAS IT
- WHAT IF n SMALLER THAN 1
- SHOCKING DEVELOPMENT b
- LIES! RUMOR HAS IT
- YOU WON'T WANT TO MISS b
- SHOCKING DEVELOPMENT
- fibonacci OF b, a PLUS b, n MINUS 1
- END OF STORY
-END OF STORY
-
-EXPERTS CLAIM limit TO BE 10
-YOU WON'T WANT TO MISS 'First 10 Fibonacci numbers'
-EXPERTS CLAIM nothing TO BE fibonacci OF 0, 1, limit
-
-PLEASE LIKE AND SUBSCRIBE`;
-
-const PROG_DEFAULT = PROG_FIBONACCI;
+const PROG_DEFAULT = "Fibonacci";
const HEADLINES = [
`You Won't Believe What This Programming Language Can Do!`,
@@ -57,7 +23,7 @@ const {
class Editor extends Component {
init() {
- this.prog = PROG_DEFAULT;
+ this.prog = PROGRAMS[PROG_DEFAULT];
// script appends to it
this.output = '';
this.errors = '';
@@ -80,17 +46,14 @@ class Editor extends Component {
}
}
}
- this.setFactorial = () => {
- this.prog = PROG_FACTORIAL;
- this.output = this.errors = '';
- this.render();
- }
- this.setFibonacci= () => {
- this.prog = PROG_FIBONACCI;
- this.output = this.errors = '';
- this.render();
- }
}
+
+ setProgram(programName) {
+ this.prog = PROGRAMS[programName];
+ this.output = this.errors = "";
+ this.render();
+ }
+
eval() {
this.output = '';
this.errors = '';
@@ -116,11 +79,23 @@ class Editor extends Component {
return jdom`<div class="editor fixed block">
<div class="controls">
<button class="block"
- onclick=${this.setFibonacci}>Fibonacci <span class="desktop">sample</span></button>
+ onclick=${() =>
+ this.setProgram("Fibonacci")}>Fibonacci</button>
+ <button class="block"
+ onclick=${() =>
+ this.setProgram("Factorial")}>Factorial</button>
+ <button class="block"
+ onclick=${() =>
+ this.setProgram("Merge Sort")}>Merge Sort</button>
<button class="block"
- onclick=${this.setFactorial}>Factorial <span class="desktop">sample</span></button>
+ onclick=${() =>
+ this.setProgram(
+ "In-Order Traversal"
+ )}>In-Order Traversal</button>
<button class="accent block"
- onclick=${this.handleRun}>Run<span class="desktop"> this</span>!</button>
+ onclick=${
+ this.handleRun
+ }>Run<span class="desktop"> this</span>!</button>
</div>
<div class="code">
<div class="filler">