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);
}
api_getModelFieldNames({callback}) {
this.ankiInvoke('modelFieldNames', {}, null, callback);
}
api_getOptions({callback}) {
callback(this.options);
}

View File

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

View File

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

View File

@ -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',

View File

@ -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');
}
}
}