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
f0fc4bfee6
Send message updates ( #864 )
...
* Use _sendMessageTab
* Move _sendMessageAllTabs next to _sendMessageTab
* Rename function
* Add and use _sendMessageTabIgnoreResponse
* Add and use _sendMessageIgnoreResponse
* Always include params
* Update function consistency
2020-09-26 13:47:09 -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
079307899f
Media utility refactor ( #859 )
...
* Move loadImageBase64 into DictionaryImporter
* Convert mediaUtility to a class
* Add getFileExtensionFromImageMediaType to MediaUtility
* Use MediaUtility instead of _getImageExtensionFromMediaType
* Use MediaUtility in ClipboardReader to validate images before reading
2020-09-26 13:42:31 -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
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
d395a2a6bf
ClipboardReader class ( #854 )
...
* Create ClipboardReader class
* Use ClipboardReader in Backend
* Update ClipboardMonitor to use ClipboardReader
* Replace _onApiClipboardImageGet call
* Assign clipboard reader browser
2020-09-20 15:10:57 -04:00
toasted-nutbread
edda4778ac
Delete old scanning options during update ( #851 )
2020-09-20 11:30:38 -04:00
toasted-nutbread
07c95c56ba
Fix _addFieldTemplatesBeforeEnd not being await'd ( #850 )
2020-09-20 00:35:56 -04:00
toasted-nutbread
7a8b7eb488
Fix typeof comparing against a string ( #849 )
2020-09-19 22:19:31 -04:00
toasted-nutbread
c868950385
Organize background script grouping/order ( #847 )
2020-09-19 21:37:47 -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
1078ab99b7
Fix settings sanitization resulting in invalid data for the schema ( #843 )
2020-09-19 17:15:34 -04:00
toasted-nutbread
2ff4f83072
Modal refactor ( #842 )
...
* Add Modal class
* Use Modal class
2020-09-19 17:14:51 -04:00
toasted-nutbread
613c7ebf69
Remove border/margin/padding/pointerEvents from iframe ( #841 )
2020-09-19 17:13:34 -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
613252e320
Remove unused handlebars script ( #833 )
2020-09-15 20:07:44 -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
8d28477562
Fix default options missing profiles ( #829 )
...
* Add minItems requirement for profiles array
* Use minItems/maxItems for default value construction
2020-09-13 19:59:02 -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
8b033a1650
Profile controller refactor ( #825 )
...
* Add refresh function
* Create new ProfileController class
2020-09-13 18:42:37 -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
b180ebc3bc
Settings upgrade and schema fixes ( #823 )
...
* Add missing defaults
* Always include touch input during upgrade
2020-09-13 13:16:56 -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
efd0de6bc0
Add workaround for Firefox bug not detecting pen input type correctly ( #820 )
2020-09-13 11:28:13 -04:00
toasted-nutbread
c98aa9ad47
More scanning options ( #815 )
...
* Reorganize options
* Add advanced options
* Add a setting transform 'setRelativeAttribute'
* Add advanced options to HTML/CSS
2020-09-12 13:20:02 -04:00
toasted-nutbread
41db9ec89b
Use a grid layout for scanning inputs ( #814 )
2020-09-12 11:22:17 -04:00
toasted-nutbread
a5845df123
Add support for pointer event input detection ( #810 )
2020-09-11 16:57:57 -04:00
toasted-nutbread
6afbda8dfe
Settings scanning refactor ( #809 )
...
* Move option for scanning.touchInputEnabled, make advanced
* Rename
2020-09-11 16:14:32 -04:00
toasted-nutbread
0c2f0aa4eb
Fix adding new scanning inputs not working ( #808 )
2020-09-11 16:03:46 -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
18634dca1a
Fix scanning inputs upgrade using the wrong format ( #805 )
2020-09-11 00:29:38 -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
3dd4822ab3
Anki note media injection move ( #801 )
...
* Move anki note media injection functionality into Backend
* Add marker/mode checks
* Remove media injection from AnkiNoteBuilder
2020-09-10 15:04:54 -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
17ebe6a754
Create abstraction class for parsing DOM ( #798 )
2020-09-10 11:30:01 -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
8408bee90a
Settings controller file renaming ( #794 )
...
* Rename SettingsBackup to BackupController
* Rename files to more closely match classes
* Improve organization of script imports
2020-09-09 17:37:58 -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
acb7ad32f3
Anki media injection move ( #793 )
...
* Update AnkiNoteBuilder to not store a reference to an AniConnect instance
* Use more consistent details format
* Organize options assignment
* Move media injection
* Inject images before injecting audio
* Make functions private
* Make static functions private
2020-09-09 16:57:35 -04:00
toasted-nutbread
c0a6849f98
Use common function for data URL mediatype/data extraction ( #792 )
2020-09-09 13:10:51 -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