diff options
Diffstat (limited to 'static/js/main.js')
-rw-r--r-- | static/js/main.js | 73 |
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"> |