diff options
| author | Alex Yatskov <alex@foosoft.net> | 2017-03-04 18:24:57 -0800 | 
|---|---|---|
| committer | Alex Yatskov <alex@foosoft.net> | 2017-03-04 18:24:57 -0800 | 
| commit | 30999c13d32e7f111db16814dc2cbb0f30825861 (patch) | |
| tree | 3aa24f7045f10237aa744651844d18219d1890e6 /ext/fg/js | |
| parent | b039d300249087aee18c7e8565ae7447d2cf5b15 (diff) | |
wip
Diffstat (limited to 'ext/fg/js')
| -rw-r--r-- | ext/fg/js/display-frame.js | 40 | ||||
| -rw-r--r-- | ext/fg/js/driver.js | 12 | 
2 files changed, 30 insertions, 22 deletions
| diff --git a/ext/fg/js/display-frame.js b/ext/fg/js/display-frame.js index 16435a27..56b56861 100644 --- a/ext/fg/js/display-frame.js +++ b/ext/fg/js/display-frame.js @@ -41,31 +41,37 @@ window.displayFrame = new class extends Display {      handleError(error) {          if (window.orphaned) { -            this.api_showOrphaned(); +            this.showOrphaned();          } else {              errorShow(error);          }      } -    onMessage(e) { -        const {action, params} = e.originalEvent.data, method = this['api_' + action]; -        if (typeof(method) === 'function') { -            method.call(this, params); -        } +    showOrphaned() { +        $('#content').hide(); +        $('#orphan').show();      } -    api_showTermDefs({definitions, options, context}) { -        window.scrollTo(0, 0); -        super.showTermDefs(definitions, options, context); -    } +    onMessage(e) { +        const handlers = new class { +            api_showTermDefs({definitions, options, context}) { +                window.scrollTo(0, 0); +                this.showTermDefs(definitions, options, context); +            } -    api_showKanjiDefs({definitions, options, context}) { -        window.scrollTo(0, 0); -        super.showKanjiDefs(defintions, options, context); -    } +            api_showKanjiDefs({definitions, options, context}) { +                window.scrollTo(0, 0); +                this.showKanjiDefs(defintions, options, context); +            } -    api_showOrphaned() { -        $('#content').hide(); -        $('#orphan').show(); +            api_showOrphaned() { +                this.showOrphaned(); +            } +        }; + +        const {action, params} = e.originalEvent.data, method = handlers[`api_${action}`]; +        if (typeof(method) === 'function') { +            method.call(this, params); +        }      }  }; diff --git a/ext/fg/js/driver.js b/ext/fg/js/driver.js index 73ddd84f..2cbe3e08 100644 --- a/ext/fg/js/driver.js +++ b/ext/fg/js/driver.js @@ -102,7 +102,13 @@ class Driver {      }      onBgMessage({action, params}, sender, callback) { -        const method = this['api_' + action]; +        const handlers = new class { +            api_optionsSet(options) { +                this.options = options; +            } +        }; + +        const method = handlers[`api_${action}`];          if (typeof(method) === 'function') {              method.call(this, params);          } @@ -205,10 +211,6 @@ class Driver {              errorShow(error);          }      } - -    api_setOptions(options) { -        this.options = options; -    }  }  window.driver = new Driver(); |