diff options
Diffstat (limited to 'ext/fg')
-rw-r--r-- | ext/fg/js/api.js | 4 | ||||
-rw-r--r-- | ext/fg/js/client.js | 1 | ||||
-rw-r--r-- | ext/fg/js/frame.js | 33 |
3 files changed, 17 insertions, 21 deletions
diff --git a/ext/fg/js/api.js b/ext/fg/js/api.js index 462eafd1..ecd8dd36 100644 --- a/ext/fg/js/api.js +++ b/ext/fg/js/api.js @@ -17,10 +17,6 @@ */ -// -// Background APIs -// - function bgSendMessage(action, params, callback) { chrome.runtime.sendMessage({action, params}, callback); } diff --git a/ext/fg/js/client.js b/ext/fg/js/client.js index bb25c4e4..932cd10f 100644 --- a/ext/fg/js/client.js +++ b/ext/fg/js/client.js @@ -104,6 +104,7 @@ class Client { } else { const sequence = ++this.sequence; range.setLength(length); + bgRenderText( {defs: definitions, root: this.fgRoot, options: this.options, sequence: sequence}, 'term-list.html', diff --git a/ext/fg/js/frame.js b/ext/fg/js/frame.js index 66d3a054..a61bb9ee 100644 --- a/ext/fg/js/frame.js +++ b/ext/fg/js/frame.js @@ -42,26 +42,25 @@ function onDomContentLoaded() { } function onMessage(e) { - const {action, params} = e.data, handlers = { - setActionState: ({index, state, sequence}) => { - for (const mode in state) { - const matches = document.querySelectorAll(`.action-link[data-sequence="${sequence}"][data-index="${index}"][data-mode="${mode}"]`); - if (matches.length === 0) { - return; - } + const {action, params} = e.data, method = window['api_' + action]; + if (typeof(method) === 'function') { + method(params); + } +} - const classes = matches[0].classList; - if (state[mode]) { - classes.remove('disabled'); - } else { - classes.add('disabled'); - } - } +function api_setActionState({index, state, sequence}) { + for (const mode in state) { + const matches = document.querySelectorAll(`.action-link[data-sequence="${sequence}"][data-index="${index}"][data-mode="${mode}"]`); + if (matches.length === 0) { + return; } - }; - if (handlers.hasOwnProperty(action)) { - handlers[action](params); + const classes = matches[0].classList; + if (state[mode]) { + classes.remove('disabled'); + } else { + classes.add('disabled'); + } } } |