toasted-nutbread
f2ad94e54f
Text scanning options propagation ( #1020 )
...
* 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
2020-11-12 20:32:46 -05:00
toasted-nutbread
219dfb4917
Add a core deepEqual function ( #1018 )
...
* Add a core deepEqual function
* Add tests
2020-11-09 21:47:25 -05:00
toasted-nutbread
eb8069a494
Options context updates ( #1017 )
...
* Update event order
* Update inputs
* Add type and cause to input info
* Update input info args
* Simplify arguments
* Update argument name
* Change order
2020-11-08 22:55:43 -05:00
toasted-nutbread
8edb478d0a
Update keyboard/mouse modifiers to return an array rather than a set ( #1015 )
2020-11-08 22:19:54 -05:00
toasted-nutbread
6232e3efc2
Optimize Anki duplicate checks ( #1013 )
...
* Move/rename functions
* Prevent overlapping calls to check addable definitions
2020-11-08 16:48:15 -05:00
toasted-nutbread
16321a1f8c
Add duplicate check option ( #1012 )
...
* Add anki.checkForDuplicates option
* Use checkForDuplicates for button display
* Add property to card creation
2020-11-08 16:25:07 -05:00
toasted-nutbread
4e30409410
Add api.isAnkiConnected ( #1011 )
2020-11-08 15:53:06 -05:00
toasted-nutbread
6081e3bef0
Make query parser mode select in the base HTML ( #1009 )
2020-11-08 13:25:07 -05:00
toasted-nutbread
948605a1fe
Update query parser to properly display multi-line content ( #1007 )
2020-11-08 12:43:41 -05:00
toasted-nutbread
12e6e37785
Query parser generator refactor ( #1006 )
...
* Simplify select generation
* Refactor text generation
* Change optional argument
* Remove query-parser-templates.html
* Simplify prepare
* Simplify preview
2020-11-08 12:35:32 -05:00
toasted-nutbread
8cf10d685d
Search and display style updates ( #1005 )
...
* Use same selectors
* Use consistent stylesheet declaration
* Fix query parser not being cleared
* Set property upon load
* Don't focus for Enter key press
* Update search page styles
* Update indent and nodes
* Support dark style
* Add missing var
2020-11-08 12:34:23 -05:00
toasted-nutbread
be952a1857
Disable the audio button when no sources are enabled ( #1003 )
2020-11-07 12:03:10 -05:00
toasted-nutbread
255c8b724e
Pitch accents preview ( #987 )
...
* Add public preparePitchAccents function to DisplayGenerator
* Add pitch accents preview HTML, CSS, and JS
2020-11-03 22:30:20 -05:00
toasted-nutbread
a8ff38eec3
Fix display issues ( #984 )
...
* Remove unused function
* Update expresionMulti detection
* Simplify kanji early escape
* Simplify frequency/pitch data creation
* Update implementation of _buildTermMeta
* Update how pitch accents sources are collected
* Remove old _buildTermMeta
2020-11-01 21:24:35 -05:00
toasted-nutbread
8ffae565c6
Add popup size icon ( #981 )
2020-11-01 14:15:00 -05:00
toasted-nutbread
bcf06105d6
Add checkbox images ( #973 )
2020-10-31 13:38:55 -04:00
toasted-nutbread
25cedc8c52
Add exclamation point image ( #966 )
2020-10-27 21:21:58 -04:00
toasted-nutbread
6422845bbb
Add radio button images ( #951 )
2020-10-20 23:07:13 -04:00
toasted-nutbread
6f980d8f2b
Text source range refactor ( #949 )
...
* Rename functions for better clarity
* Remove unused properties
* Add getNodesInRange function
* Improve ignore nodes check
* Use private fields
2020-10-20 20:54:26 -04:00
toasted-nutbread
74feeb228f
Add kebab-menu icon ( #928 )
2020-10-17 21:31:53 -04:00
toasted-nutbread
642c434829
SelectorObserver ( #927 )
...
* Create new SelectorObserver class
* Update DOMDataBinder to use SelectorObserver
* Update names to be more clear
* Remove attributeOldValue parameter, clarify attributes parameter
* Add documentation
2020-10-17 16:33:11 -04:00
toasted-nutbread
4ca6101273
Improve convertKatakanaToHiragana and convertHiraganaToKatakana ( #916 )
2020-10-13 21:48:21 -04:00
toasted-nutbread
a8601ec95c
Add spinner.svg ( #911 )
2020-10-11 13:38:14 -04:00
toasted-nutbread
41ead7a90a
Add additional transforms ( #899 )
2020-10-08 17:38:18 -04:00
toasted-nutbread
cb1902eadd
Template handler update ( #896 )
...
* Rename TemplateHandler to HtmlTemplateCollection
* Rename _templateHandler to _templates
* Allow creation from both string and element
* Simplify setup of templates, don't throw errors on invalid ID
2020-10-07 20:47:44 -04:00
toasted-nutbread
54810510fa
Fix primary audio source ( #886 )
...
* Add abstraction: _getDefinitionPrimaryExpressionAndReading
* Reuse existing definitions in a sequence
* Revert change to related definition source/rawSource/sourceTerm
* Update _getDefinitionPrimaryExpressionAndReading to return best match
2020-10-04 22:04:44 -04:00
toasted-nutbread
6b6ee76550
Move searchTerms/searchKanji to front of object definitions ( #873 )
2020-09-27 11:53:07 -04:00
toasted-nutbread
cdd649ea3d
Add scan on touch move and prevent touch scroll options ( #871 )
...
* Add scanOnTouchMove/preventTouchScrolling scanning input options
* Add settings controls
* Support scanOnTouchMove in TextScanner
* Support preventTouchScrolling in TextScanner
2020-09-27 11:46:37 -04:00
toasted-nutbread
73dd578821
Add middle mouse prevention option ( #868 )
...
* Add preventMiddleMouse option to TextScanner
* Add preventMiddleMouse options
* Add options
* Apply preventMiddleMouse options
2020-09-26 19:24:21 -04:00
toasted-nutbread
9c7b9d6660
Fix page type never being detected as search page correctly ( #867 )
2020-09-26 18:47:58 -04:00
toasted-nutbread
c1b5976394
Scanning mouse button fixes ( #866 )
...
* Move mouse0 blocking during mousemove into options
* Update primary button detection
2020-09-26 17:51:52 -04:00
toasted-nutbread
cab5daa22e
Add clipboard-text Anki field ( #863 )
...
* Add clipboard-text anki field
* Add markers
* Update clipboard injection
2020-09-26 13:45:48 -04:00
toasted-nutbread
5df78c6f3a
Add icons ( #860 )
...
* Add hamburger menu icon
* Add material down/right arrows
2020-09-26 13:43:47 -04:00
toasted-nutbread
0b51488f1f
Audio system refactor ( #858 )
...
* Refactor AudioUriBuilder
* Add downloadAudio function
* Refactor AudioSystem
* Update API usage
* Rename file
* Update scripts
* Add prepare calls
2020-09-26 13:41:26 -04:00
toasted-nutbread
c8b738ddf7
Remove unused toIterable function ( #857 )
2020-09-22 22:59:07 -04:00
toasted-nutbread
7d78e8737f
Cache map improvements ( #856 )
...
* Update CacheMap API; get=>getOrCreate; add get; add set; add has
* Update tests
* Add more tests
2020-09-22 20:09:12 -04:00
toasted-nutbread
4293f73153
Remove window from performance object access ( #845 )
2020-09-19 18:41:13 -04:00
toasted-nutbread
a2e6de84af
Dictionary delete improvements ( #844 )
...
* Change where clearDatabaseCaches occurs
* Move dictionary deletion into the settings page
* Remove api.deleteDictionary
2020-09-19 17:17:33 -04:00
toasted-nutbread
2ff4f83072
Modal refactor ( #842 )
...
* Add Modal class
* Use Modal class
2020-09-19 17:14:51 -04:00
toasted-nutbread
2f4adbab2c
Handlebars sandbox ( #612 )
...
* Set up template renderer proxy
* Use proxy
* Remove unused handlebars script tags
* Update manifest
2020-09-18 21:16:39 -04:00
toasted-nutbread
79ef6e151e
Cleanup unused utils ( #832 )
...
* Remove api.optionsSave
* Remove getOptionsMutable and getOptionsFullMutable
* Remove util.js
* Remove yomichanBackend
2020-09-15 19:48:58 -04:00
toasted-nutbread
f997f01742
Dictionary controller refactor ( #831 )
...
* Create new DictionaryController
* Update input disabling when modifying the database
2020-09-15 19:35:44 -04:00
toasted-nutbread
5ec5d0c91c
Database change event ( #826 )
...
* Add api.triggerDatabaseUpdated and yomichan.on('databaseUpdated')
* Update databaseUpdated event usage
2020-09-13 18:43:44 -04:00
toasted-nutbread
d7c3c87d99
Mouse button modifier update ( #824 )
...
* Ensure buttons is positive before adding to set
* Break early when there are no flags remaining
2020-09-13 13:43:38 -04:00
toasted-nutbread
621aa354e7
Add scan dictionary type filters ( #822 )
...
* 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
2020-09-13 13:25:03 -04:00
toasted-nutbread
a12c4a1dd7
Add workaround for Firefox bug not detecting pen input type correctly ( #821 )
2020-09-13 11:58:07 -04:00
toasted-nutbread
5b49cf4398
Pointer events support ( #819 )
...
* Add option pointerEventsEnabled
* Add _pointerEventsEnabled option to TextScanner
* Add additional options
* Mouse pointer events
* Touch pointer events
* Pen pointer events
2020-09-13 11:33:10 -04:00
toasted-nutbread
fcb8806717
Fix location of _enabled assignment ( #818 )
2020-09-12 19:42:09 -04:00
toasted-nutbread
9f1753a565
Update TextScanner.setEnabled to not reset state if unnecessary ( #817 )
2020-09-12 19:36:51 -04:00
toasted-nutbread
568775c6dc
Text scanner cause update ( #813 )
...
* Rename _searchAtFromMouse to _searchAtFromMouseMove
* Rename cause 'mouse' to 'mouseMove' for clarity
2020-09-11 22:46:41 -04:00
toasted-nutbread
e56674e4ee
Text scanner refactoring ( #812 )
...
* Add functions _onPrimaryTouchStart and _onPrimaryTouchEnd
* Add "type" to input details
2020-09-11 20:24:51 -04:00
toasted-nutbread
6e7b9fcf99
Clear state when refreshing enabled state ( #811 )
2020-09-11 18:44:53 -04:00
toasted-nutbread
f168efb69c
OptionsUtil refactor / options default values ( #807 )
...
* Replace _readFile with _fetchAsset for consistency with Backend
* Fix error messages
* Make OptionsUtil non-static
* Update how default options are assigned
* Add createValidatingProxy
* Add validate, update _onApiSetAllSettings
* Remove unused api.optionsSchemaGet
* Remove Backend._optionsSchema
* Update OptionsUtil to create its own JsonSchemaValidator
* Rename Backend._optionsSchemaValidator
* Make getDefault non-async
2020-09-11 14:15:08 -04:00
toasted-nutbread
a1729eb9ae
Input type filters ( #806 )
...
* 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
2020-09-11 14:13:52 -04:00
toasted-nutbread
a531618c48
Use Anki classes directly in Display ( #804 )
...
* Add _getTemplates function
* Add template renderer to display pages
* Add AnkiNoteBuilder to Display
* Update AnkiTemplatesController to directly use TemplateRenderer
* Remove old APIs
2020-09-10 18:03:46 -04:00
toasted-nutbread
9ce682272c
Add api.injectAnkiNoteMedia ( #803 )
2020-09-10 16:18:36 -04:00
toasted-nutbread
892f7ed3b8
Anki note api functions ( #802 )
...
* Assign duplicateScope to a variable
* Add api.addAnkiNote
* Add api.getAnkiNoteInfo, update returned data format
2020-09-10 16:05:17 -04:00
toasted-nutbread
52b0feb255
Move TextToSpeechAudio to a separate file ( #800 )
2020-09-10 12:06:56 -04:00
toasted-nutbread
35abd517b9
AudioUriBuilder simplification ( #799 )
...
* Rename variables to disambiguate
* Update handler argument convention
* Update getUri argument convention
* Change _getAudioUri argument convention
* Change getDefinitionAudio argument convention
* Add api.getDefinitionAudio definition
2020-09-10 11:57:38 -04:00
toasted-nutbread
58e5ddfde0
Generalize AnkiNoteBuilder to not use audioSystem directly ( #796 )
2020-09-09 21:07:18 -04:00
toasted-nutbread
5d2261acb9
Update the AnkiController class to use an instance of AnkiConnect directly ( #795 )
...
* Update AnkiController to use AnkiConnect instance directly
* Remove unused
2020-09-09 17:46:34 -04:00
toasted-nutbread
0d00f7e1cf
Scanning input generalization ( #789 )
...
* 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
2020-09-09 16:59:03 -04:00
toasted-nutbread
e3a7678769
Anki screenshot refactor ( #791 )
...
* Use more consistent style for injectScreenshot
* Move screenshot generation into AnkiNoteBuilder/Backend
* Get optionsContext before await
2020-09-09 12:54:59 -04:00
toasted-nutbread
b687870a55
Delay hide option ( #774 )
...
* 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
2020-09-08 19:40:15 -04:00
toasted-nutbread
46af4c9da4
Text scanner fixes and refactoring ( #788 )
...
* Fix incorrect argument being passed
* Clear causeCurrent
* Change cause string to a more general input object
2020-09-08 19:23:32 -04:00
toasted-nutbread
c1b16cebe7
Refactor how TextScanner's public search() function is used ( #787 )
2020-09-08 18:52:23 -04:00
toasted-nutbread
36fc5abae5
Modifier key refactor ( #784 )
...
* Add functions for getting keyboard key information
* Use os + DocumentUtil to get modifier key names
* Remove keyboard modifier info from environment info
2020-09-08 10:53:41 -04:00
toasted-nutbread
0a5e832dfd
Mouse inputs ( #783 )
...
* Add mouse icon
* Add _updateModifiers
* Add support for mouse button modifiers
* Improve names of mouse inputs
* Improve mouse input sorting
* Rename getModifierKeyStrings to getModifierInputStrings
* Refactor keyboard/mouse inputs into KeyboardMouseInputField
2020-09-07 20:12:43 -04:00
toasted-nutbread
115afb63b9
Add api.clipboardGetImage ( #778 )
...
* Rename clipboardPasteTarget to just target
* Remove else block
* Add helper functions
* Defer assignment of clipboard paste target
* Add api.clipboardGetImage
2020-09-06 14:38:03 -04:00
toasted-nutbread
b28241dbf2
Fix error handling for screenshot captures ( #777 )
2020-09-06 14:36:43 -04:00
toasted-nutbread
44f38c4dea
Popup window ( #773 )
...
* Add option usePopupWindow
* Add PopupWindow class
* Add support for creating PopupWindow
2020-09-05 22:03:35 -04:00
toasted-nutbread
55770934f8
Fix touch input always being disabled ( #772 )
2020-09-05 21:44:05 -04:00
toasted-nutbread
2f8408ffcc
Text scanner refactor ( #771 )
...
* 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
2020-09-05 21:43:19 -04:00
toasted-nutbread
cf35b9338f
Fix cross frame comm issues ( #765 )
...
* Send ack before sending error response
* Fix error response not being JSON'ified
* Use _sendResult
2020-09-04 17:59:38 -04:00
toasted-nutbread
8d53474945
Add api.isTabSearchPopup ( #763 )
...
* Add api.isTabSearchPopup
* Fix missing asyncs
2020-09-04 17:57:51 -04:00
toasted-nutbread
21fc0a80f2
Defer assignment of marker ( #762 )
2020-09-04 17:57:05 -04:00
toasted-nutbread
3efd4a1a94
Fix log context not being in the correct format ( #761 )
2020-09-04 17:56:20 -04:00
toasted-nutbread
d8f488e28c
Settings dictionary import refactor ( #759 )
...
* Fix .purge not re-opening the database after deletion failure
* Create DictionaryImportController
* Remove backend dictionary import
2020-09-04 17:54:34 -04:00
toasted-nutbread
bbfe5f81cb
Fix sessionStorage not being supported when cookies are disabled ( #756 )
...
* Fix sessionStorage not being supported when cookies are disabled
* Update comment
2020-08-24 18:26:04 -04:00
toasted-nutbread
773e28aa3c
Fix screenshot popup hide ( #753 )
...
* Refactor Popup.setVisibleOverride
* Use event to observe visibility changes
* Add setAllVisibleOverride/clearAllVisibleOverride
* Add setAllVisibleOverride/clearAllVisibleOverride cross frame handlers
* Update how visibility is changed
* Wait for next frame to ensure visibility has been updated
2020-08-23 15:18:41 -04:00
toasted-nutbread
934355dd09
Add promiseAnimationFrame function ( #752 )
2020-08-23 12:43:53 -04:00
toasted-nutbread
1ab853a4d5
Display owner frame ( #751 )
...
* Move ownerFrameId definition to Display
* Rename _invoke to _invokeOwner
2020-08-23 11:15:23 -04:00
toasted-nutbread
a96e1c20a7
Dynamic property ( #749 )
...
* Add DynamicProperty class
* Add tests for DynamicProperty
2020-08-22 17:50:56 -04:00
toasted-nutbread
f0c974d319
Move generateId to core.js ( #748 )
2020-08-22 15:49:24 -04:00
toasted-nutbread
9fa0f2a56a
Move findTerms and findKanji functions into TextScanner ( #747 )
2020-08-22 14:40:44 -04:00
toasted-nutbread
e9c540a0b9
Fix error during pitch accent info generation for kanji data ( #744 )
2020-08-22 13:10:50 -04:00
toasted-nutbread
c26c4ae0cb
Frontend initialization refactor ( #737 )
...
* Fix incorrect popup depth reassignment
* Rename variable
* Rename property
* Use explicit parameter values
* Refactor setupNestedPopups
* Refactor frontend initialization
2020-08-16 16:16:18 -04:00
toasted-nutbread
2a86d66092
DOM + DocumentUtil merge ( #727 )
...
* Add DOM functions to DocumentUtil
* Use DocumentUtil instead of DOM
* Remove DOM
* Move document-util.js into mixed
2020-08-09 21:07:11 -04:00
toasted-nutbread
6da02c6eee
document.js refactor ( #719 )
...
* 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
2020-08-09 13:27:21 -04:00
toasted-nutbread
e87cc5c37d
Query parser text scanner options refactor ( #717 )
...
* Add _setSelectedParser helper
* Update TextScanner internal options representation
* Update QueryParser internal options representation
2020-08-09 13:19:42 -04:00
toasted-nutbread
d856e4caac
CacheMap ( #715 )
...
* Create CacheMap class
* Add test
2020-08-09 13:15:56 -04:00
toasted-nutbread
8ee717cdf7
Persistent display mode ( #714 )
...
* Simplify calls using chrome.tabs.sendMessage and getMessageResponseResult
* Rename message handlers
* Move onMessage handler into Display
* Assign search popup mode which persists across refreshes
* Update clipboard monitor on the search page
* Remove mode param
2020-08-09 13:11:41 -04:00
toasted-nutbread
b253cdc92e
Fix extension unload cases ( #712 )
...
* Add _invokeSafe function to silently ignore extension unload errors
* Remove "Api" from function names
* Add invokeSafe to Popup
* Don't redundantly set content type to 'unloaded'
2020-08-02 21:51:51 -04:00
toasted-nutbread
1184320e3e
Button and image scanning ( #705 )
...
* Update TextSourceElement.equals check to match TextSourceRange.equals
* Force full query to be visible when scanning buttons or images with more text
* Update style of query parser
2020-08-02 18:59:35 -04:00
toasted-nutbread
bdcdf9b1f5
Strip request origin ( #710 )
...
* Add web request permissions
* Create fetch wrapper that anonymizes the request
* Fix Firefox not supporting 'extraHeaders' option
2020-08-02 18:58:19 -04:00
toasted-nutbread
a37ca1d378
Fix _setContentTermsOrKanjiUpdateAdderButtons not working ( #709 )
...
this._setContentToken was cleared, so comparison exited.
There is not really a good reason to clear this object.
2020-08-02 16:58:15 -04:00
toasted-nutbread
b1b33f8beb
Fix fetch requests ( #708 )
...
* Revert audio fetching functionality to use XMLHttpRequest
* Replace requestJson
* Replace requestJson
* Replace requestJson
* Replace requestJson and requestText
* Fix tests
* Include support for vulgar word searches
* Remove request.js
2020-08-02 13:30:55 -04:00
toasted-nutbread
a562a11498
Display try catch refactor ( #704 )
...
* Remove try-catch from _termLookup
Already handled by _onTermLookup
* Move try-catch out of _onTermLookup and into _onGlossaryMouseUp
2020-08-01 16:33:21 -04:00
toasted-nutbread
1e839cd230
More display refactoring ( #697 )
...
* Remove some unnecessary _setQuery calls
* Add support for forcing the query parser to be visible or hidden
* Move _setEventListenersActive calls
* Remove URL for kanji links
* Refactor _setContentTermsOrKanji
* Move search query text assignment into Display
* Move title updates into Display
* Move popup close calls
* Prevent infinite loop of extension unload events
2020-08-01 16:22:00 -04:00
toasted-nutbread
736d3c892e
Dictionary data utility class ( #698 )
...
* Create utility class for helping format dictionary data
* Change format
2020-07-30 20:45:52 -04:00