summaryrefslogtreecommitdiff
path: root/ext/mixed/js/text-scanner.js
Commit message (Collapse)AuthorAge
* Refactor sentence parsing (#1215)toasted-nutbread2021-01-09
| | | | | | | | | | | | | * Rename sentenceExtent with sentenceScanExtent * Update TextScanner.setOptions * Change function argument order * Rename quote map variables * Fix edge case quote handling * Update terminator maps to support character inclusion
* Update copyright year (#1194)toasted-nutbread2021-01-01
| | | | | * Update copyright year * Remove redundant Author info
* Improve tag scanning behaviour (#1189)toasted-nutbread2020-12-31
| | | | | * Update include/exclude selectors for Display._definitionTextScanner * Fix missing condition
* Text scanner improvements (#1056)toasted-nutbread2020-11-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Text scanning options propagation (#1020)toasted-nutbread2020-11-12
| | | | | | | | | | | | | | | | | * Update Display.setOptionsContext to update options * Update how options context is updated in Popup * Omit optionsContext for some _showPopupContent calls * Remove extension unload * Disable modifier keys in frontend's options context * Update how text scanner passes modifiers to options context * Update how options context is passed to display * Update how display uses options context
* Options context updates (#1017)toasted-nutbread2020-11-08
| | | | | | | | | | | | | | | * Update event order * Update inputs * Add type and cause to input info * Update input info args * Simplify arguments * Update argument name * Change order
* Update keyboard/mouse modifiers to return an array rather than a set (#1015)toasted-nutbread2020-11-08
|
* Text source range refactor (#949)toasted-nutbread2020-10-20
| | | | | | | | | | | * Rename functions for better clarity * Remove unused properties * Add getNodesInRange function * Improve ignore nodes check * Use private fields
* Move searchTerms/searchKanji to front of object definitions (#873)toasted-nutbread2020-09-27
|
* Add scan on touch move and prevent touch scroll options (#871)toasted-nutbread2020-09-27
| | | | | | | | | * Add scanOnTouchMove/preventTouchScrolling scanning input options * Add settings controls * Support scanOnTouchMove in TextScanner * Support preventTouchScrolling in TextScanner
* Add middle mouse prevention option (#868)toasted-nutbread2020-09-26
| | | | | | | | | * Add preventMiddleMouse option to TextScanner * Add preventMiddleMouse options * Add options * Apply preventMiddleMouse options
* Scanning mouse button fixes (#866)toasted-nutbread2020-09-26
| | | | | * Move mouse0 blocking during mousemove into options * Update primary button detection
* Add scan dictionary type filters (#822)toasted-nutbread2020-09-13
| | | | | | | | | | | | | | | * Add options for searchTerms and searchKanji * Add settings HTML * Add options to TextScanner * Update _search/_findDefinitions to include searchTerms/searchKanji args * Update _searchAtFromMouseMove args * Change argument structure for _searchAt * Use scanning options for searchTerms and searchKanji
* Add workaround for Firefox bug not detecting pen input type correctly (#821)toasted-nutbread2020-09-13
|
* Pointer events support (#819)toasted-nutbread2020-09-13
| | | | | | | | | | | | | * Add option pointerEventsEnabled * Add _pointerEventsEnabled option to TextScanner * Add additional options * Mouse pointer events * Touch pointer events * Pen pointer events
* Fix location of _enabled assignment (#818)toasted-nutbread2020-09-12
|
* Update TextScanner.setEnabled to not reset state if unnecessary (#817)toasted-nutbread2020-09-12
|
* Text scanner cause update (#813)toasted-nutbread2020-09-11
| | | | | * Rename _searchAtFromMouse to _searchAtFromMouseMove * Rename cause 'mouse' to 'mouseMove' for clarity
* Text scanner refactoring (#812)toasted-nutbread2020-09-11
| | | | | * Add functions _onPrimaryTouchStart and _onPrimaryTouchEnd * Add "type" to input details
* Clear state when refreshing enabled state (#811)toasted-nutbread2020-09-11
|
* Input type filters (#806)toasted-nutbread2020-09-11
| | | | | | | | | | | | | * Add options for scanning input types * Move buttons in layout, refactor CSS * Add options for input types * Use input type filters * Add _getMatchingInputGroupFromEvent * Use input filters for touch events
* Scanning input generalization (#789)toasted-nutbread2020-09-09
| | | | | | | | | | | | | | | | | | | | | | | | | * Add inputs to options.scanning * Update CSS for mouse buttons * Update list counters * Set up HTML/CSS * Add input controller * Use new inputs * Include mouse buttons * Update how button inputs are detected * Add index/empty fields to the input details object * Update none check for scanning modifier * Remove old settings * Remove unused global
* Delay hide option (#774)toasted-nutbread2020-09-08
| | | | | | | | | | | * Add hideDelay option * Add _clearSelection * Use hideDelay * Prevent repeated delayed selection clears * Fix popup hide timer being cleared when the cursor is moved into the frame
* Text scanner fixes and refactoring (#788)toasted-nutbread2020-09-08
| | | | | | | * Fix incorrect argument being passed * Clear causeCurrent * Change cause string to a more general input object
* Refactor how TextScanner's public search() function is used (#787)toasted-nutbread2020-09-08
|
* Fix touch input always being disabled (#772)toasted-nutbread2020-09-05
|
* Text scanner refactor (#771)toasted-nutbread2020-09-05
| | | | | | | | | | | | | | | | | * Create searchAt wrappers * Add optional support for searching on the click event * Update QueryParser to use TextScanner's searchOnClick functionality * Move/rename searchAt * Move pendingLookup checks * Add 'searched' event to TextScanner * Use common searched event for Frontend and QueryParser * Move functions, make private
* Move findTerms and findKanji functions into TextScanner (#747)toasted-nutbread2020-08-22
|
* DOM + DocumentUtil merge (#727)toasted-nutbread2020-08-09
| | | | | | | | | * Add DOM functions to DocumentUtil * Use DocumentUtil instead of DOM * Remove DOM * Move document-util.js into mixed
* document.js refactor (#719)toasted-nutbread2020-08-09
| | | | | | | | | | | | | | | | | | | * Refactor document.js into a class * Move public functions first * Rename private functions * Rename * Rename argument * Use instance of DocumentUtil * Update tests * Refactor * Rename (test-)document.js to (test-)document-util.js
* Query parser text scanner options refactor (#717)toasted-nutbread2020-08-09
| | | | | | | * Add _setSelectedParser helper * Update TextScanner internal options representation * Update QueryParser internal options representation
* Frontend initialization refactor (#610)toasted-nutbread2020-06-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Create member functions for ignoreElements and ignorePoint * Create addFullscreenChangeEventListener utility * Move popup creation management into Frontend * Move getUrl implementation * Remove old setup * Remove try/catch block * Error wrap * Add prepare call to TextScanner * Update depth when popup changes * Refactor how Frontend gets PopupFactory and frameId * Update popup preview to work * Update popup preview frame to use the frontend's popup * Update how nested popups are set up * Error wrap * Update how popups are set up on the search page * Error wrap * Error unwrap * Add missing prepare * Remove use of frontendInitializationData * Catch and log errors
* Use DOMTextScanner (#536)toasted-nutbread2020-06-21
| | | | | | | | | | | | | | | | | * Use DOMTextScanner instead of TextSourceRange.seek* * Move getNodesInRange to dom.js * Move anyNodeMatchesSelector to dom.js * Remove unused functions * Update tests * Add layoutAwareScan option * Use layoutAwareScan for source and sentence scanning * Remove unused IGNORE_TEXT_PATTERN
* Text scanner refactor (#517)toasted-nutbread2020-05-08
| | | | | | | | | | | | | | | * Fix return type * Pass search function as a constructor argument * Pass constructor as a details object For consistency with other complex constructors and improved semantics. * Convert _ignorePoints to a single optional function * Organize functions * Rename ignorePoints to ignorePoint
* Text scanner refactor (#515)toasted-nutbread2020-05-07
| | | | | | | | | | | * Mark functions as private * Mark fields as private * Add getter/setters for publicly used fields * Replace public static functions with private non-static functions * Update comment
* support meta as scanning modifier (#502)siikamiika2020-05-05
|
* Extract textSource text inside TextScanner (#500)siikamiika2020-05-05
| | | | | * extract text inside TextScanner * clone textSource before text extraction
* Modifier key profile condition (#487)siikamiika2020-05-03
| | | | | | | | | | | | | | | | | | | | | | | | | * update Frontend options on modifier change * add modifier key profile condition * use select element for modifier condition value * support "is" and "is not" modifier key conditions * use plural * remove dead null check it's never null in that function * pass element on rather than assigning to this * rename event * remove Firefox OS key to Meta detection * hide Meta from dropdown on Firefox * move input type
* Remove Frontend inheritance (#486)toasted-nutbread2020-05-02
| | | | | | | | | | | | | | | * Make Frontend use composition instead of inheritance for TextScanner * Use push instead of concat * Update setOptions and setEnabled APIs * Update how onWindowMessage event listener is added/removed * Rename options to _options * Use bind instead of arrow function * Fix selection being cleared due to settings changes
* Frontend refactor (part 1) (#484)toasted-nutbread2020-04-27
| | | | | | | | | | | | | | | | | | | * Remove _getVisualViewportScale * Use super's mouse event listener definitions * Remove redundant override * Remove getTouchEventListeners override * Rename Display.onSearchClear to onEscape * Change onSearchClear to clearSelection and use an event * Update how text is marked for selection and deselection * Replace onError with yomichan.logError * Update setEnabled to refresh all event listeners
* Error logging refactoring (#454)toasted-nutbread2020-04-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Create new logging methods on yomichan object * Use new yomichan.logError instead of global logError * Remove old logError * Handle unhandledrejection events * Add addEventListener stub * Update log function * Update error conversion to support more types * Add log event * Add API log function * Log errors to the backend * Make error/warning logs update the badge * Clear log error indicator on extension button click * Log correct URL on the background page * Fix incorrect error conversion * Remove unhandledrejection handling Firefox doesn't support it properly. * Remove unused argument type from log function * Improve function name * Change console.warn to yomichan.logWarning * Move log forwarding initialization into main scripts
* Merge pull request #439 from siikamiika/popup-live-togglesiikamiika2020-04-17
|\ | | | | Popup live toggle
| * simplify frontend disable overridesiikamiika2020-04-11
| |
| * change iframe popup livesiikamiika2020-04-11
| |
| * limit popup depth livesiikamiika2020-04-11
| |
* | Merge pull request #443 from toasted-nutbread/fix-get-selectiontoasted-nutbread2020-04-12
|\ \ | |/ |/| Fix getSelection not working in QueryParser
| * Fix getSelection not working in QueryParsertoasted-nutbread2020-04-10
| |
* | Update license author field to broader to explicitly reflect thatAlex Yatskov2020-04-10
|/ | | | | Yomichan is an ongoing community project. It really does take a village, and everyone who contributes code owns a part of it :)
* apply all options on profile changesiikamiika2020-03-21
|
* Update global declarationstoasted-nutbread2020-03-10
|