diff options
| author | Alex Yatskov <alex@foosoft.net> | 2016-05-05 18:55:43 -0700 | 
|---|---|---|
| committer | Alex Yatskov <alex@foosoft.net> | 2016-05-05 18:55:43 -0700 | 
| commit | dd4b2f73656d652bc56be784a27e7378ab969ac6 (patch) | |
| tree | 63cc332ab1b455edc80d510fca6a4f5780d1e28c | |
| parent | e74386faa4b5a987c41140df5b28de8dce06f401 (diff) | |
Cleanup
| -rw-r--r-- | ext/bg/js/yomichan.js | 32 | ||||
| -rw-r--r-- | ext/fg/js/api.js | 4 | ||||
| -rw-r--r-- | ext/fg/js/client.js | 29 | ||||
| -rw-r--r-- | ext/fg/js/frame.js | 12 | 
4 files changed, 40 insertions, 37 deletions
| diff --git a/ext/bg/js/yomichan.js b/ext/bg/js/yomichan.js index bc0f3a87..887bab2e 100644 --- a/ext/bg/js/yomichan.js +++ b/ext/bg/js/yomichan.js @@ -36,45 +36,45 @@ class Yomichan {          this.translator = new Translator();          this.xhr        = null; -        this.updateState('disabled'); +        this.setState('disabled');          loadOptions((opts) => { -            this.updateOptions(opts); +            this.setOptions(opts);              chrome.runtime.onMessage.addListener(this.onMessage.bind(this));              chrome.browserAction.onClicked.addListener(this.onBrowserAction.bind(this));              if (this.options.loadOnStartup) { -                this.updateState('loading'); +                this.setState('loading');              }          });      }      onMessage(request, sender, callback) { -        const {action, data} = request, handlers = { -            findKanji:  ({text}) => this.findKanji(text, callback), -            findTerm:   ({text}) => this.findTerm(text, callback), +        const {action, params} = request, handlers = { +            findKanji:  ({text}) => this.actionFindKanji(text, callback), +            findTerm:   ({text}) => this.actionFindTerm(text, callback),              getOptions: () => callback(this.options),              getState:   () => callback(this.state),              renderText: ({data, template}) => callback(Handlebars.templates[template](data))          }; -        handlers[action].call(this, data); +        handlers[action].call(this, params);          return true;      }      onBrowserAction(tab) {          switch (this.state) {              case 'disabled': -                this.updateState('loading'); +                this.setState('loading');                  break;              case 'enabled': -                this.updateState('disabled'); +                this.setState('disabled');                  break;          }      } -    updateState(state) { +    setState(state) {          if (this.state === state) {              return;          } @@ -90,19 +90,19 @@ class Yomichan {                  break;              case 'loading':                  chrome.browserAction.setBadgeText({text: '...'}); -                this.translator.loadData(() => this.updateState('enabled')); +                this.translator.loadData(() => this.setState('enabled'));                  break;          }          Yomichan.notifyChange('state', this.state);      } -    updateOptions(options) { +    setOptions(options) {          this.options = options;          Yomichan.notifyChange('options', this.options);      } -    findTerm(text, callback) { +    actionFindTerm(text, callback) {          const results = this.translator.findTerm(text);          this.callAnkiApi('canAddNotes', results.results, (definitions) => {              if (definitions !== null) { @@ -113,7 +113,7 @@ class Yomichan {          });      } -    findKanji(text, callback) { +    actionFindKanji(text, callback) {          const results = this.translator.findKanji(text);          this.callAnkiApi('cannAddNotes', results.results, (definitions) => {              if (definitions !== null) { @@ -124,7 +124,7 @@ class Yomichan {          });      } -    callAnkiApi(action, data, callback) { +    callAnkiApi(action, params, callback) {          if (!this.options.enableAnkiConnect) {              callback(null);              return; @@ -144,7 +144,7 @@ class Yomichan {          this.xhr.open('POST', 'http://127.0.0.1:8888');          this.xhr.withCredentials = true;          this.xhr.setRequestHeader('Content-Type', 'text/json'); -        this.xhr.send(JSON.stringify({action: action, data: data})); +        this.xhr.send(JSON.stringify({action: action, params: params}));      }      static notifyChange(name, value) { diff --git a/ext/fg/js/api.js b/ext/fg/js/api.js index c65b1702..97c14640 100644 --- a/ext/fg/js/api.js +++ b/ext/fg/js/api.js @@ -17,8 +17,8 @@   */ -function sendMessage(action, data, callback) { -    chrome.runtime.sendMessage({action: action, data: data}, callback); +function sendMessage(action, params, callback) { +    chrome.runtime.sendMessage({action: action, params: params}, callback);  }  function findTerm(text, callback) { diff --git a/ext/fg/js/client.js b/ext/fg/js/client.js index a60bc7ff..12b04066 100644 --- a/ext/fg/js/client.js +++ b/ext/fg/js/client.js @@ -80,17 +80,13 @@ class Client {      }      onFrameMessage(e) { -        const callback = (data) => { -            e.source.postMessage(data, e.origin); -        }; - -        const {action, data} = e.data, handlers = { -            addNote:      ({mode, index}) => this.addNote(mode, index, callback), -            displayKanji: this.displayKanji +        const {action, params} = e.data, handlers = { +            addNote:      ({mode, index}) => this.actionAddNote(mode, index, (data) => e.source.postMessage(data, e.origin)), +            displayKanji: this.actionDisplayKanji          };          if (handlers.hasOwnProperty(action)) { -            handlers[action].call(this, data); +            handlers[action].call(this, params);          }      } @@ -123,12 +119,17 @@ class Client {          });      } -    addNote(mode, index, callback) { -        callback({action: 'disableAction', data: {mode: mode, index: index}}); -        // this.callAnkiApi('addNote', {mode: mode, definition: this.results[index]}); +    actionAddNote(mode, index, callback) { +        callback({ +            action: 'disableAction', +            params: { +                mode: mode, +                index: index +            } +        });      } -    displayKanji(kanji) { +    actionDisplayKanji(kanji) {          findKanji(kanji, (results) => {              renderText(                  {defs: results, root: this.fgRoot, options: this.options}, @@ -172,7 +173,7 @@ class Client {          this.options = opts;      } -    callAnkiApi(action, data, callback) { +    callAnkiApi(action, params, callback) {          if (!this.options.enableAnkiConnect) {              callback(null);              return; @@ -192,7 +193,7 @@ class Client {          this.xhr.open('POST', 'http://127.0.0.1:8888');          this.xhr.withCredentials = true;          this.xhr.setRequestHeader('Content-Type', 'text/json'); -        this.xhr.send(JSON.stringify({action: action, data: data})); +        this.xhr.send(JSON.stringify({action: action, params: params}));      }  } diff --git a/ext/fg/js/frame.js b/ext/fg/js/frame.js index 4d126b94..80fa099a 100644 --- a/ext/fg/js/frame.js +++ b/ext/fg/js/frame.js @@ -21,7 +21,7 @@ function registerKanjiLinks() {      for (const link of [].slice.call(document.getElementsByClassName('kanji-link'))) {          link.addEventListener('click', (e) => {              e.preventDefault(); -            window.parent.postMessage({action: 'displayKanji', data: e.target.innerHTML}, '*'); +            window.parent.postMessage({action: 'displayKanji', params: e.target.innerHTML}, '*');          });      }  } @@ -31,7 +31,7 @@ function registerActionLinks() {          link.addEventListener('click', (e) => {              e.preventDefault();              const ds = e.currentTarget.dataset; -            window.parent.postMessage({action: 'addNote', data: {index: ds.index, mode: ds.mode}}, '*'); +            window.parent.postMessage({action: 'addNote', params: {index: ds.index, mode: ds.mode}}, '*');          });      }  } @@ -42,14 +42,16 @@ function onDomContentLoaded() {  }  function onMessage(e) { -    const {action, data} = e.data, handlers = { -        'disableAction': ({mode, index}) => { +    const {action, params} = e.data, handlers = { +        disableAction: ({mode, index}) => {              const matches = document.querySelectorAll(`.action-link[data-index="${index}"][data-mode="${mode}"]`);              matches[0].classList.add('disabled');          }      }; -    handlers[action](data); +    if (handlers.hasOwnProperty(action)) { +        handlers[action](params); +    }  }  document.addEventListener('DOMContentLoaded', onDomContentLoaded, false); |