Cleanup
This commit is contained in:
parent
9cb099e5f6
commit
22cbafb7b7
@ -112,7 +112,9 @@ class Client {
|
||||
(content) => {
|
||||
this.definitions = definitions;
|
||||
this.showPopup(range, content);
|
||||
canAddNotes(definitions, (states) => this.popup.sendMessage('setActionStates', states));
|
||||
canAddNotes(definitions, (states) => {
|
||||
states.forEach((state, index) => this.popup.sendMessage('setActionState', {index: index, state: state}));
|
||||
});
|
||||
}
|
||||
);
|
||||
}
|
||||
@ -120,7 +122,10 @@ class Client {
|
||||
}
|
||||
|
||||
actionAddNote(mode, index, callback) {
|
||||
const state = {};
|
||||
state[mode] = false;
|
||||
|
||||
this.popup.sendMessage('setActionState', {index: index, state: state});
|
||||
}
|
||||
|
||||
actionDisplayKanji(kanji) {
|
||||
|
@ -43,19 +43,18 @@ function onDomContentLoaded() {
|
||||
|
||||
function onMessage(e) {
|
||||
const {action, params} = e.data, handlers = {
|
||||
setActionStates: (states) => {
|
||||
for (let i = 0, count = states.length; i < count; ++i) {
|
||||
const state = states[i];
|
||||
for (const mode in state) {
|
||||
const matches = document.querySelectorAll(`.action-link[data-index="${i}"][data-mode="${mode}"]`);
|
||||
if (matches.length > 0) {
|
||||
const classes = matches[0].classList;
|
||||
if (state[mode]) {
|
||||
classes.remove('disabled');
|
||||
} else {
|
||||
classes.add('disabled');
|
||||
}
|
||||
}
|
||||
setActionState: ({index, state}) => {
|
||||
for (const mode in state) {
|
||||
const matches = document.querySelectorAll(`.action-link[data-index="${index}"][data-mode="${mode}"]`);
|
||||
if (matches.length === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
const classes = matches[0].classList;
|
||||
if (state[mode]) {
|
||||
classes.remove('disabled');
|
||||
} else {
|
||||
classes.add('disabled');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user