From 068b1eef71ed1167e7e39effa00cda7deb9251f2 Mon Sep 17 00:00:00 2001 From: toasted-nutbread Date: Mon, 23 Nov 2020 20:31:48 -0500 Subject: Text scanner improvements (#1056) * Only ignore nodes on non-web pages * Fix issue where options might not be assigned on nested frontends * Refactor default TextScanner options * Add option to enable search only on click * Simplify restore state assignment * Update options context passing * Fix empty title * Use TextScanner to scan content inside of Display * Rename ignoreNodes to excludeSelector(s) * Fix options update incorrectly triggering a re-search * Fix copy throwing an error on the search page * Replace _onSearchQueryUpdated with _search * Use include selector instead of exclude selector --- ext/fg/js/frontend.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'ext/fg/js') diff --git a/ext/fg/js/frontend.js b/ext/fg/js/frontend.js index 6ae3b06d..49c8a91c 100644 --- a/ext/fg/js/frontend.js +++ b/ext/fg/js/frontend.js @@ -322,11 +322,13 @@ class Frontend { }); this._updateTextScannerEnabled(); - const ignoreNodes = ['.scan-disable', '.scan-disable *']; - if (!this._options.scanning.enableOnPopupExpressions) { - ignoreNodes.push('.source-text', '.source-text *'); + if (this._pageType !== 'web') { + const excludeSelectors = ['.scan-disable', '.scan-disable *']; + if (!scanningOptions.enableOnPopupExpressions) { + excludeSelectors.push('.source-text', '.source-text *'); + } + this._textScanner.excludeSelector = excludeSelectors.join(','); } - this._textScanner.ignoreNodes = ignoreNodes.join(','); this._updateContentScale(); @@ -527,7 +529,7 @@ class Frontend { } _updateTextScannerEnabled() { - const enabled = (this._options.general.enable && !this._disabledOverride); + const enabled = (this._options !== null && this._options.general.enable && !this._disabledOverride); this._textScanner.setEnabled(enabled); } -- cgit v1.2.3