This commit is contained in:
Alex Yatskov 2016-05-21 22:59:29 -07:00
parent f65e9f2570
commit 997947caed
5 changed files with 23 additions and 23 deletions

View File

@ -156,6 +156,10 @@ class Yomichan {
this.ankiInvoke('modelNames', {}, null, callback); this.ankiInvoke('modelNames', {}, null, callback);
} }
api_getModelFieldNames({callback}) {
this.ankiInvoke('modelFieldNames', {}, null, callback);
}
api_getOptions({callback}) { api_getOptions({callback}) {
callback(this.options); callback(this.options);
} }

View File

@ -100,7 +100,7 @@
<th>Value</th> <th>Value</th>
</tr> </tr>
</thead> </thead>
<tbody id="ankiVocabFields"> <tbody class="ankiFields">
</tbody> </tbody>
</table> </table>
</div> </div>
@ -126,7 +126,7 @@
<th>Value</th> <th>Value</th>
</tr> </tr>
</thead> </thead>
<tbody id="ankiKanjiFields"> <tbody class="ankiFields">
</tbody> </tbody>
</table> </table>
</div> </div>

View File

@ -17,10 +17,6 @@
*/ */
//
// Background APIs
//
function bgSendMessage(action, params, callback) { function bgSendMessage(action, params, callback) {
chrome.runtime.sendMessage({action, params}, callback); chrome.runtime.sendMessage({action, params}, callback);
} }

View File

@ -104,6 +104,7 @@ class Client {
} else { } else {
const sequence = ++this.sequence; const sequence = ++this.sequence;
range.setLength(length); range.setLength(length);
bgRenderText( bgRenderText(
{defs: definitions, root: this.fgRoot, options: this.options, sequence: sequence}, {defs: definitions, root: this.fgRoot, options: this.options, sequence: sequence},
'term-list.html', 'term-list.html',

View File

@ -42,8 +42,13 @@ function onDomContentLoaded() {
} }
function onMessage(e) { function onMessage(e) {
const {action, params} = e.data, handlers = { const {action, params} = e.data, method = window['api_' + action];
setActionState: ({index, state, sequence}) => { if (typeof(method) === 'function') {
method(params);
}
}
function api_setActionState({index, state, sequence}) {
for (const mode in state) { for (const mode in state) {
const matches = document.querySelectorAll(`.action-link[data-sequence="${sequence}"][data-index="${index}"][data-mode="${mode}"]`); const matches = document.querySelectorAll(`.action-link[data-sequence="${sequence}"][data-index="${index}"][data-mode="${mode}"]`);
if (matches.length === 0) { if (matches.length === 0) {
@ -58,12 +63,6 @@ function onMessage(e) {
} }
} }
} }
};
if (handlers.hasOwnProperty(action)) {
handlers[action](params);
}
}
document.addEventListener('DOMContentLoaded', onDomContentLoaded, false); document.addEventListener('DOMContentLoaded', onDomContentLoaded, false);
window.addEventListener('message', onMessage); window.addEventListener('message', onMessage);