diff options
author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2020-12-31 14:21:50 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-31 14:21:50 -0500 |
commit | 889240311b4072021f3742345bc87118c5b3a3e1 (patch) | |
tree | 1fdf2b476092569549e2dbd0c88c5b45aea13a70 /ext/mixed | |
parent | 1b4ba1fb006a6e6dda7f19c797b204c43900df4a (diff) |
Improve tag scanning behaviour (#1189)
* Update include/exclude selectors for Display._definitionTextScanner
* Fix missing condition
Diffstat (limited to 'ext/mixed')
-rw-r--r-- | ext/mixed/display-templates.html | 4 | ||||
-rw-r--r-- | ext/mixed/js/display.js | 8 | ||||
-rw-r--r-- | ext/mixed/js/text-scanner.js | 6 |
3 files changed, 9 insertions, 9 deletions
diff --git a/ext/mixed/display-templates.html b/ext/mixed/display-templates.html index 4c202448..95432ad2 100644 --- a/ext/mixed/display-templates.html +++ b/ext/mixed/display-templates.html @@ -39,8 +39,8 @@ </div></template> <template id="term-definition-item-template"><li class="term-definition-item"><div class="term-definition-tag-list tag-list"></div><div class="term-definition-disambiguation-list"></div><ul class="term-glossary-list"></ul></li></template> <template id="term-definition-disambiguation-template"><span class="term-definition-disambiguation"></span></template> -<template id="term-glossary-item-template"><li class="term-glossary-item"><span class="term-glossary-separator"> </span><span class="term-glossary"></span></li></template> -<template id="term-glossary-item-image-template"><li class="term-glossary-item" data-has-image="true"><span class="term-glossary-separator"> </span><span class="term-glossary"><a class="term-glossary-image-link" target="_blank" rel="noreferrer noopener"><span class="term-glossary-image-container"><span class="term-glossary-image-aspect-ratio-sizer"></span><img class="term-glossary-image" alt="" /><span class="term-glossary-image-container-overlay"></span></span><span class="term-glossary-image-link-text">Image</span></a> <span class="term-glossary-image-description"></span></span></li></template> +<template id="term-glossary-item-template"><li class="term-glossary-item click-scannable"><span class="term-glossary-separator"> </span><span class="term-glossary"></span></li></template> +<template id="term-glossary-item-image-template"><li class="term-glossary-item click-scannable" data-has-image="true"><span class="term-glossary-separator"> </span><span class="term-glossary"><a class="term-glossary-image-link" target="_blank" rel="noreferrer noopener"><span class="term-glossary-image-container"><span class="term-glossary-image-aspect-ratio-sizer"></span><img class="term-glossary-image" alt="" /><span class="term-glossary-image-container-overlay"></span></span><span class="term-glossary-image-link-text">Image</span></a> <span class="term-glossary-image-description"></span></span></li></template> <template id="term-reason-template"><span class="term-reason"></span><span class="term-reason-separator"> </span></template> <!-- Pitch accent templates --> diff --git a/ext/mixed/js/display.js b/ext/mixed/js/display.js index c0d84dce..3817559d 100644 --- a/ext/mixed/js/display.js +++ b/ext/mixed/js/display.js @@ -845,6 +845,7 @@ class Display extends EventDispatcher { _showTagNotification(content) { if (this._tagNotification === null) { const node = this._displayGenerator.createEmptyFooterNotification(); + node.classList.add('click-scannable'); this._tagNotification = new DisplayNotification(this._tagNotificationContainer, node); } @@ -1792,8 +1793,8 @@ class Display extends EventDispatcher { searchOnClick: true, searchOnClickOnly: true }); - const excludeSelectors = ['.scan-disable', '.scan-disable *']; - this._definitionTextScanner.excludeSelector = excludeSelectors.join(','); + this._definitionTextScanner.includeSelector = '.click-scannable,.click-scannable *'; + this._definitionTextScanner.excludeSelector = '.scan-disable,.scan-disable *'; this._definitionTextScanner.prepare(); this._definitionTextScanner.on('searched', this._onDefinitionTextScannerSearched.bind(this)); } @@ -1825,9 +1826,6 @@ class Display extends EventDispatcher { preventMiddleMouse: false }); - const includeSelector = '.term-glossary-item,.term-glossary-item *,.tag,.tag *'; - this._definitionTextScanner.includeSelector = includeSelector; - this._definitionTextScanner.setEnabled(true); } diff --git a/ext/mixed/js/text-scanner.js b/ext/mixed/js/text-scanner.js index f0903370..daea6a6c 100644 --- a/ext/mixed/js/text-scanner.js +++ b/ext/mixed/js/text-scanner.js @@ -198,8 +198,10 @@ class TextScanner extends EventDispatcher { clonedTextSource.setEndOffset(length, layoutAwareScan); - if (this._excludeSelector !== null) { - this._constrainTextSource(clonedTextSource, this._includeSelector, this._excludeSelector, layoutAwareScan); + const includeSelector = this._includeSelector; + const excludeSelector = this._excludeSelector; + if (includeSelector !== null || excludeSelector !== null) { + this._constrainTextSource(clonedTextSource, includeSelector, excludeSelector, layoutAwareScan); } return clonedTextSource.text(); |