diff options
author | Elizabeth (Lizzy) Hunt <elizabeth.hunt@simponic.xyz> | 2023-04-22 23:42:19 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-22 23:42:19 -0600 |
commit | 560ca09223284abc7f8ab4840adfbc2cbc73177a (patch) | |
tree | d32908c77bda0787fcf2f4a72cbe47f797c6c494 /static/js/main.js | |
parent | 21a0f4df60c29c5babc3635d2b69d6eb965ee334 (diff) | |
download | tabloid-fake-closure-560ca09223284abc7f8ab4840adfbc2cbc73177a.tar.gz tabloid-fake-closure-560ca09223284abc7f8ab4840adfbc2cbc73177a.zip |
Closure (#1)
* Add 'closures' and sample programs, lodash too
* Remove prettier garbage
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"> |