diff options
Diffstat (limited to 'ext/js/display')
-rw-r--r-- | ext/js/display/search-display-controller.js | 8 | ||||
-rw-r--r-- | ext/js/display/search-persistent-state-controller.js | 5 |
2 files changed, 11 insertions, 2 deletions
diff --git a/ext/js/display/search-display-controller.js b/ext/js/display/search-display-controller.js index 69c59ab3..95f8b6c1 100644 --- a/ext/js/display/search-display-controller.js +++ b/ext/js/display/search-display-controller.js @@ -50,6 +50,8 @@ class SearchDisplayController { async prepare() { await this._display.updateOptions(); + this._searchPersistentStateController.on('modeChange', this._onModeChange.bind(this)); + chrome.runtime.onMessage.addListener(this._onMessage.bind(this)); yomichan.on('optionsUpdated', this._onOptionsUpdated.bind(this)); @@ -65,6 +67,8 @@ class SearchDisplayController { ['updateSearchQuery', {async: false, handler: this._onExternalSearchUpdate.bind(this)}] ]); + this._updateClipboardMonitorEnabled(); + this._display.autoPlayAudioDelay = 0; this._display.queryParserVisible = true; this._display.setHistorySettings({useBrowserHistory: true}); @@ -217,6 +221,10 @@ class SearchDisplayController { this._setClipboardMonitorEnabled(enabled); } + _onModeChange() { + this._updateClipboardMonitorEnabled(); + } + _setWanakanaEnabled(enabled) { if (this._queryInputEventsSetup && this._wanakanaEnabled === enabled) { return; } diff --git a/ext/js/display/search-persistent-state-controller.js b/ext/js/display/search-persistent-state-controller.js index 56beebc7..28546af8 100644 --- a/ext/js/display/search-persistent-state-controller.js +++ b/ext/js/display/search-persistent-state-controller.js @@ -15,8 +15,9 @@ * along with this program. If not, see <https://www.gnu.org/licenses/>. */ -class SearchPersistentStateController { +class SearchPersistentStateController extends EventDispatcher { constructor() { + super(); this._mode = null; } @@ -59,6 +60,6 @@ class SearchPersistentStateController { } this._mode = mode; document.documentElement.dataset.searchMode = (mode !== null ? mode : ''); - this._updateClipboardMonitorEnabled(); + this.trigger('modeChange', {mode}); } } |