Use static object for float message handlers
This commit is contained in:
parent
7d15213916
commit
bf382652a7
@ -63,41 +63,11 @@ class DisplayFloat extends Display {
|
||||
}
|
||||
|
||||
onMessage(e) {
|
||||
const handlers = {
|
||||
termsShow: ({definitions, options, context}) => {
|
||||
this.termsShow(definitions, options, context);
|
||||
},
|
||||
|
||||
kanjiShow: ({definitions, options, context}) => {
|
||||
this.kanjiShow(definitions, options, context);
|
||||
},
|
||||
|
||||
clearAutoPlayTimer: () => {
|
||||
this.clearAutoPlayTimer();
|
||||
},
|
||||
|
||||
orphaned: () => {
|
||||
this.onOrphaned();
|
||||
},
|
||||
|
||||
setOptions: (options) => {
|
||||
const css = options.general.customPopupCss;
|
||||
if (css) {
|
||||
this.setStyle(css);
|
||||
}
|
||||
},
|
||||
|
||||
popupNestedInitialize: ({id, depth, parentFrameId, url}) => {
|
||||
this.optionsContext.depth = depth;
|
||||
this.optionsContext.url = url;
|
||||
popupNestedInitialize(id, depth, parentFrameId, url);
|
||||
}
|
||||
};
|
||||
|
||||
const {action, params} = e.data;
|
||||
const handlers = DisplayFloat.messageHandlers;
|
||||
if (handlers.hasOwnProperty(action)) {
|
||||
const handler = handlers[action];
|
||||
if (handler) {
|
||||
handler(params);
|
||||
handler(this, params);
|
||||
}
|
||||
}
|
||||
|
||||
@ -151,4 +121,35 @@ DisplayFloat.onKeyDownHandlers = {
|
||||
}
|
||||
};
|
||||
|
||||
DisplayFloat.messageHandlers = {
|
||||
termsShow: (self, {definitions, options, context}) => {
|
||||
self.termsShow(definitions, options, context);
|
||||
},
|
||||
|
||||
kanjiShow: (self, {definitions, options, context}) => {
|
||||
self.kanjiShow(definitions, options, context);
|
||||
},
|
||||
|
||||
clearAutoPlayTimer: (self) => {
|
||||
self.clearAutoPlayTimer();
|
||||
},
|
||||
|
||||
orphaned: (self) => {
|
||||
self.onOrphaned();
|
||||
},
|
||||
|
||||
setOptions: (self, options) => {
|
||||
const css = options.general.customPopupCss;
|
||||
if (css) {
|
||||
self.setStyle(css);
|
||||
}
|
||||
},
|
||||
|
||||
popupNestedInitialize: (self, {id, depth, parentFrameId, url}) => {
|
||||
self.optionsContext.depth = depth;
|
||||
self.optionsContext.url = url;
|
||||
popupNestedInitialize(id, depth, parentFrameId, url);
|
||||
}
|
||||
};
|
||||
|
||||
window.yomichan_display = new DisplayFloat();
|
||||
|
Loading…
Reference in New Issue
Block a user