toasted-nutbread
94620f4f22
Trigger event on property change ( #979 )
...
* Add _triggerScanInputsChanged function
* Trigger event when inputs are changed
2020-10-31 17:13:24 -04:00
toasted-nutbread
11c5dbac64
Add an 'other' option for when there is no matching main scanning input ( #978 )
2020-10-31 17:03:22 -04:00
toasted-nutbread
f78e243853
Update counts when an input entry is removed ( #977 )
2020-10-31 16:38:48 -04:00
toasted-nutbread
164c7b4375
Fix addition/removal of middle mouse button input not always working ( #976 )
2020-10-31 16:33:48 -04:00
toasted-nutbread
21cae0e38e
Scan inputs controller refactor ( #975 )
...
* Add public function to clear inputs
* Return the promise
* Pass input options directly
* Assign showAdvanced
* Add more menu options
2020-10-31 16:26:01 -04:00
toasted-nutbread
ab98caf842
Scanning inputs refactor ( #974 )
...
* Add support for count nodes
* Add support for menu button
2020-10-31 13:40:10 -04:00
toasted-nutbread
bcf06105d6
Add checkbox images ( #973 )
2020-10-31 13:38:55 -04:00
toasted-nutbread
54768ca6e4
Update PopupPreviewController to support settings v2 ( #972 )
2020-10-30 22:21:56 -04:00
toasted-nutbread
f5d6573bec
Add supoprt for modal dimmer element ( #971 )
2020-10-30 22:20:50 -04:00
toasted-nutbread
327d7b1f26
Anki templates refactor ( #970 )
...
* Support menus with multiple sources
* Update anki templates controller
2020-10-30 17:41:52 -04:00
toasted-nutbread
cb76848df9
Fix profile creation not working on settings v1 ( #968 )
2020-10-28 20:47:20 -04:00
toasted-nutbread
890de095db
Fix modals not closing properly when the outside is clicked ( #967 )
2020-10-28 20:45:50 -04:00
toasted-nutbread
25cedc8c52
Add exclamation point image ( #966 )
2020-10-27 21:21:58 -04:00
toasted-nutbread
ba59327354
Dictionary controllers update ( #965 )
...
* Make purge notification optional
* Support multiple warning nodes
* Add support for optional count info
2020-10-27 21:20:26 -04:00
toasted-nutbread
9e57509e25
Json schema default value improvement ( #964 )
...
* Ensure value has property before using its value
* Add tests
2020-10-27 19:40:19 -04:00
toasted-nutbread
75734de7eb
Option schema default value info ( #963 )
...
* Add traversal info to getValidValueOrDefault
* Move private function
2020-10-27 19:27:27 -04:00
toasted-nutbread
dfdefc15d3
Options fixes ( #962 )
...
* Fix default options not having the correct versions
* Move schema validation
* Remove legacy version number
* Add tests for OptionsUtil.getDefault()
* Remove unused getValidValueOrDefault
2020-10-27 19:26:30 -04:00
toasted-nutbread
45627bd6e6
Fix class name ( #961 )
2020-10-27 19:24:17 -04:00
toasted-nutbread
502ca9c96e
Remove limits for popup horizontal/vertical offsets ( #960 )
2020-10-27 19:23:03 -04:00
toasted-nutbread
9048890bf6
Remove error type from error message ( #958 )
2020-10-26 21:54:18 -04:00
toasted-nutbread
28330d0e30
Anki controller refactor ( #957 )
...
* Add _setFieldMarker helper function
* Add support for persistent nodes
* Add support for menus
2020-10-25 22:51:28 -04:00
toasted-nutbread
92c083ee9f
Sort deck and model names in Anki card settings ( #956 )
2020-10-25 19:04:59 -04:00
toasted-nutbread
defd7402cf
Anki controller refactor ( #954 )
...
* Simplify data transform for anki.enable setting
* Refactor AnkiController
* Implement marker link clicking
* Request permissions for clipboard
2020-10-25 13:34:42 -04:00
toasted-nutbread
9e9bd0dcf6
Profile controller refactor ( #953 )
...
* Udpate selectors
* Optional remove button
* Add menu
* Refactor ProfileController
* Fix selector
2020-10-24 16:01:13 -04:00
toasted-nutbread
4188adae28
Rename index to profileIndex for clarity ( #952 )
2020-10-23 21:37:22 -04:00
toasted-nutbread
6422845bbb
Add radio button images ( #951 )
2020-10-20 23:07:13 -04:00
toasted-nutbread
fcf63d71f5
Profile controller refactor ( #950 )
...
* Add additional fields for consistency
* Fix copy confirm not working correctly
* Update IDs
2020-10-20 22:15:11 -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
9bda0a9eb4
Popup preview fixes ( #948 )
...
* Select just the text node and not its container
* Make background color transparent by default
2020-10-20 20:53:18 -04:00
toasted-nutbread
ecbac2c5ea
Popup preview improvements ( #947 )
...
* Move CSS
* Update indent
* Refactor HTML/CSS
* Add support for editing the source text
* Add WanaKana binding for input
* Rename file
2020-10-20 19:08:17 -04:00
toasted-nutbread
23230b8a7c
Backup controller refactor ( #946 )
...
* Update IDs
* Change how default fieldTemplates is assigned
* Ensure no missing fields
* Fix error display during import
2020-10-19 20:05:45 -04:00
toasted-nutbread
91b4feb934
Make dictionary spinner optional ( #945 )
2020-10-19 17:25:15 -04:00
toasted-nutbread
69e5ea6138
Popup menu updates ( #942 )
...
* Expose isClosed property
* Add popupMenu to detail
* Return true if closed, false otherwise
* Add closed event to PopupMenu
2020-10-18 19:48:44 -04:00
toasted-nutbread
9fa2ebddc8
Dictionary controller updates ( #941 )
...
* Rename action
* Store more state information
* Conditional checks for details toggle links
* Add support for hiding/showing details via menu
2020-10-18 19:35:09 -04:00
toasted-nutbread
ce17a47b5e
Change progress reporting to support settings v2 ( #940 )
2020-10-18 18:28:14 -04:00
toasted-nutbread
8bf42fa69e
Dictionary controller updates ( #939 )
...
* Check if element exists
* Add delete function
* Add support for deleting via popup menu
* Update how count visibility is updated
* Update dictionary deletion progress updates
* Update storage stats after dictionary deletion
2020-10-18 18:26:44 -04:00
toasted-nutbread
3e3c080a43
Status footer ( #938 )
...
* Add event for popup element close completion
* Add StatusFooter class
2020-10-18 18:22:36 -04:00
toasted-nutbread
a920445883
Fix focused element of popup menus ( #937 )
2020-10-18 18:21:10 -04:00
toasted-nutbread
988ea8f70a
Update audio controller for menus ( #936 )
...
* Make event non-async
* Only add event listener if the button exists
* Add support for menu for removal
2020-10-18 13:18:57 -04:00
toasted-nutbread
3ab63f4f55
Fix missing close cause ( #935 )
2020-10-18 13:00:49 -04:00
toasted-nutbread
82e203dd76
Popup menu updates ( #934 )
...
* Store a reference to the menu
* Allow close cancellation
* Add open event
2020-10-18 12:58:07 -04:00
toasted-nutbread
faf130f420
Add PopupMenu class ( #933 )
2020-10-18 12:49:51 -04:00
toasted-nutbread
054fe02808
Fix new Modal's base calss ( #932 )
2020-10-18 09:54:29 -04:00
toasted-nutbread
d35d1fd44a
Generalize modal, move to popup-elements.js ( #931 )
2020-10-18 09:39:55 -04:00
toasted-nutbread
6f1bdf0c66
Modal split ( #930 )
...
* Move jQuery-based modal into a separate class
* Remove jQuery conditions for default modal
2020-10-18 09:27:32 -04:00
toasted-nutbread
a4550627af
Add a refresh function to GenericSettingsController ( #929 )
2020-10-17 21:38:29 -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
e5ef3fe9c2
Remove debug log ( #924 )
2020-10-15 18:10:29 -04:00
toasted-nutbread
e6a1bcc0f5
Ensure settings exist for all installed dictionaries ( #922 )
2020-10-14 19:38:50 -04:00
toasted-nutbread
51904761ce
Add simple scan input UI ( #921 )
...
* Add simple scan input UI
* Create helper function
* Add controller for old scanning input UI
* Add refresh functions
* Add abstraction function
* Fix incomplete middle mouse support detection
* Make scanning inputs update eachother
* Fix global declaration order
2020-10-14 19:37:46 -04:00
toasted-nutbread
429e3a5b74
Fix "modifier" field being required despite being deleted ( #920 )
2020-10-14 19:36:27 -04:00
toasted-nutbread
a72c3d7719
Fix template updates for multiple declarations ( #918 )
...
* Update pattern to be multi-match
* Remove unnecessary async
2020-10-14 19:35:13 -04:00
toasted-nutbread
4ca6101273
Improve convertKatakanaToHiragana and convertHiraganaToKatakana ( #916 )
2020-10-13 21:48:21 -04:00
toasted-nutbread
3e9db71120
Add a default audio option ( #913 )
2020-10-11 22:20:07 -04:00
toasted-nutbread
5b5b45b88e
Dictionary controller refactor ( #912 )
...
* Support multiple main dictionary selects
* Update progress container
* Change class name
* Simplify dictionary info
* Update outdated node visibility
* Simplify node usage
* Simplify title
* Update classes
* Update IDs/classes
* Remove details container visibility assignment
* Use a template for dictionary details
* Fix progress bar visibility
* Fix incorrect property
* Rename dict-details to dictionary-details
* Remove unused classes
* Update class names for dictionary templates
* Rename templates
* More id renaming
* Remove unused id
* Rename more IDs
2020-10-11 17:31:58 -04:00
toasted-nutbread
a8601ec95c
Add spinner.svg ( #911 )
2020-10-11 13:38:14 -04:00
toasted-nutbread
9da08c7fe6
Generic settings improvements ( #909 )
...
* Add helper function _getElementRelativeToAncestor
* Move helper functions
* Add setVisibility transform
* Add support for data-transform attribute shorthand
* Add support for using the document element as the ancestor
2020-10-10 23:17:51 -04:00
toasted-nutbread
25c590e54b
Add modal controller class ( #908 )
...
* Add ModalController
* Use modalController instead of new Modal
2020-10-10 20:58:38 -04:00
toasted-nutbread
0244d07ea9
Storage controller refactor ( #907 )
...
* Use array for use/quota nodes
* Use classes instead of ids
2020-10-10 17:37:16 -04:00
toasted-nutbread
19e0346484
Further generalize storage controller by supporting lists of nodes ( #906 )
2020-10-10 17:31:09 -04:00
toasted-nutbread
199dd7d763
Storage controller refactor ( #905 )
...
* Use hidden instead of storage-hidden class
* Refactor storage events
* Make ID more generic
* Update how persistent storage is activated
* Add null checks
* Update HTML/ID
* Disallow disabling persistent storage
* Refactoring
* Update more IDs
* Disable multiple simultaneous stats updates
* Store node references
* Move undefined assignment
2020-10-10 16:54:52 -04:00
toasted-nutbread
3174f3c657
Update audio controller ( #904 )
...
* Remove redundant assignment of select value
* Update TTS preparation
* Don't hide options
* Improve voice sorting
* Update event handler
* Apply options to all selects targeting audio.textToSpeechVoice
* Update selector
* Use IDs
* Move test text to a hidden text input
2020-10-10 12:11:33 -04:00
toasted-nutbread
6799b87cc6
Make animation optional for Modal.setVisible ( #903 )
2020-10-10 10:47:02 -04:00
toasted-nutbread
591253d783
Add support for allowing modals to be display:none when not open ( #902 )
2020-10-10 10:12:53 -04:00
toasted-nutbread
1ae8fb4bfa
Modal updates 2 ( #901 )
...
* Fix incorrect visible value
* Focus element when visibility is set
* Add isVisible function
2020-10-08 22:44:55 -04:00
toasted-nutbread
bedcad6ab2
Update the Modal class to support non-jQuery modals ( #900 )
2020-10-08 22:31:58 -04:00
toasted-nutbread
41ead7a90a
Add additional transforms ( #899 )
2020-10-08 17:38:18 -04:00
toasted-nutbread
05e51a950e
Settings templates refactor ( #897 )
...
* Add template instantiation API to SettingsController
* Use SettingsController.instantiateTemplate
2020-10-07 21:23:42 -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
bbb534eff5
Split source.js into two files ( #894 )
2020-10-07 18:31:28 -04:00
toasted-nutbread
1a91935dd7
Fix dictionary settings not being deleted when deleting a single dictionary ( #893 )
2020-10-06 23:00:00 -04:00
toasted-nutbread
2f96218e33
Fix search page being focused when changing settings ( #892 )
2020-10-06 21:21:54 -04:00
toasted-nutbread
cee64f91eb
Fix data inconsistencies ( #891 )
...
* Simplify variable name
* Add dictionaryNames array
* Update how the dictionary field is assigned
* Use "dictionary" instead of "title" for consistency
* Remove redundant dictionary name
* Use _expandTags to create pitch accent tags
2020-10-06 20:28:49 -04:00
toasted-nutbread
69f94f8cb8
Update merged definitions to have consistent structure ( #890 )
...
* Update comment about definitions type
* Add conversion to ensure consistent data structure
2020-10-06 19:31:53 -04:00
toasted-nutbread
7ce87c51b4
Don't add duplicate definitions ( #889 )
2020-10-05 22:50:10 -04:00
toasted-nutbread
0cfaa1a5a8
Dictionary definition structure fixes ( #888 )
...
* Restore support for tags without metadata
* Fix missing spread
2020-10-05 21:10:52 -04:00
toasted-nutbread
8c8c27001e
Fix incorrect definitions array being used for compatibility merged definitions ( #887 )
2020-10-04 22:21:16 -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
2d3cf89b49
Fix doc comments for translation options ( #885 )
2020-10-04 19:36:21 -04:00
toasted-nutbread
c604a406f0
Translator organization ( #884 )
...
* Group reduction functions together
* Group simple helpers
* Add label comments
* Move core _findTerms functions to top
* Move _getSecondarySearchDictionaryMap and _getDictionaryPriority
* Move tag helpers
* Move _getTextOptionEntryVariants
* Move functions up
* Move functions up
* Update label comments
2020-10-04 19:33:22 -04:00
toasted-nutbread
8b8806484e
Add check to verify expressions are strings ( #883 )
2020-10-04 19:04:21 -04:00
toasted-nutbread
f904b3e11a
Add sourceTermExactMatchCount to prioritize exact expression matches ( #882 )
2020-10-04 18:54:03 -04:00
toasted-nutbread
561e36e88d
Translator definition source term (and other info) ( #881 )
...
* Add sourceTerm field to 'term' and 'termGrouped' definitions
* Fix comparison of expressions which are always the same
* Rename/restructure term info map
* Add source term
* Add sourceTerm to expressions array
* Reuse furiganaSegments
* Add helper function _createExpressionDetailsListFromTermInfoMap
* Add expressions array to termMergedByGlossary
* Add expressions to definition types 'term' and 'termGrouped'
* Rename expressionDetails* to termDetails*
* Correct the source/rawSource/sourceTerm for related sequenced definitions
* Simplify structure of sequencedDefinitions
* Remove TODO
2020-10-04 18:10:10 -04:00
toasted-nutbread
7e31dcca39
Move deinflection reasons setup to backend ( #880 )
...
* Move deinflection reasons setup to backend
* Remove async
2020-10-04 13:09:04 -04:00
toasted-nutbread
2bd82353e4
Translator options refactor ( #879 )
...
* Refactor internal options for findTerms to not use the settings object
* Move findTerms/findKanji options creation
* Deconstruct used options values to variables before any await calls
* Rename findTermsOptions to just options
* Add documentation comments
* Add type information about definitions
2020-10-04 12:54:55 -04:00
toasted-nutbread
86c64ac4c2
Translator refactoring ( #878 )
...
* Add helper function _getSecondarySearchDictionaryMap
* Use spreads instead of concat
* Create helper function for assigning disambiguation info
* Add _getTermTagsScoreSum helper
* Rename variables
* Move assignment of definition details
* Convert databaseDefinitions to standard definitions
* Move creation of definitions
* Always pass definitionsByGlossary directly to _mergeByGlossary
* Refactor how used definitions are tracked
* Change _mergeByGlossary parameters
* Simplify _mergeByGlossary
* Generate definition structure at the end of the function
* Add reusable function to clone a tag
* Restructure merged sub-definition creation
* Move setup of totalExpressionSet/totalReadingSet
* Track all definitions with matching glossary
* Move creation of definitionTags
* Update score calculation for multiple definitions
* Disambiguate function name
* Rename variables
* Add helper function _createMergedGlossaryTermDefinition
* Remove rarely used check for secondary search results
Unclear what the purpose was since it was almost never used
* Update data structure
* Rename function/variable
* Add helper functions _createMergedTermDefinition
* Assign expressionDetails to variable
* Add rawSource to grouped definitions
* Use shared function for creating unused definition entries
* Add helper function _createMapKey
* Refactor _createExpressionDetails
* Change argument order
* Add _getTagNamesWithCategory helper
* Optimize _compressDefinitionTags
* Add _createGroupedTermDefinition helper
* Add type information
* Use consistent order for term definition fields, add comments for omitted fields
* Remove unused index field
* Add helper function _createKanjiDefinition
* Update types
* Add frequencies/pitches arrays
* Update terms array setup
* Simplify for loop
* Remove redundant property assignment
* Simplify how deinflections with no definitions are ignored
* Ensure duplicates are removed
* Rename variable
* Add comments about duplicate data
* Refactor variable/parameter names
* Move functions
* Rename functions
* Rename variable
* Add dictionaryPriority field
* Simplify priority comparison
* Rename argument
* Optimize comparison function when dictionary priority is not needed
* Add length check
* Remove unused parameter
* Rename variables/parameters
* Rename dictionaries to enabledDictionaryMap
* Store compactTags/mainDictionary options to variables
* Refactor _getSearchableText
2020-10-04 11:12:15 -04:00
toasted-nutbread
ef333b6d72
Dictionary data structure improvements ( #877 )
...
* Simplify object structure of deinflections
* Modify existing array when removing duplicates
* Update _sortDefinitions to not return a value
* Use explicit argument value
* Use a Collator for string comparisons
* Simplify order comparison
* Improve tag creation and sanitization
* Switch .map to a for loop, skip null meta
* Add _createKanjiStat
* Move _sortDefinitions definition
* Fix kanji stat sorting
* Remove return value from _sortTags
* Add _sortKanji
* Add fast exits for sorting
* Add _sortDefinitionsByIndex
* Combine sort function
* Improve creation of kanji definition data
* Use "databaseDefinitions" instead of "definitions" to disambiguate
* Simplify
* Simplify further
* Simplify max length calculation
* More destructuring
* Use databaseDefinitions variable name
* Move _mergeBySequence body into _getSequencedDefinitions
* Use databaseDefinitions field name
* Move maxLength calculation
* Use shared _createTermDefinitionFromDatabaseDefinition
* Simplify map
* Move definition sorts for better consistency and less redundancy
* Move _createExpression function
* Update setup of sequenced definitions
* Simplify for loop
2020-10-02 17:59:14 -04:00
50f2385aaf
Release 20.9.28.0
2020-09-28 21:21:35 -07:00
toasted-nutbread
6b6ee76550
Move searchTerms/searchKanji to front of object definitions ( #873 )
2020-09-27 11:53:07 -04:00
toasted-nutbread
3b6e3193ae
Fix data-setting attributes not being updated on index change ( #872 )
2020-09-27 11:47:56 -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
f18c28e519
Fix displayDetails not being properly null checked ( #865 )
2020-09-26 13:48:06 -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
5df78c6f3a
Add icons ( #860 )
...
* Add hamburger menu icon
* Add material down/right arrows
2020-09-26 13:43:47 -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
22932e02cb
Browser manifest updates ( #840 )
...
* Remove options_page
* Remove applications entry
* Update default content_security_policy
* Add browser-specific build variants
* Update default manifest
* Increase Firefox min version to 57
2020-09-26 13:40:09 -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
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
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
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
ad8e9fe8e2
Add missing null check ( #836 )
2020-09-17 20:22:29 -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
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
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
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
efd0de6bc0
Add workaround for Firefox bug not detecting pen input type correctly ( #820 )
2020-09-13 11:28:13 -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
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
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
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
toasted-nutbread
2aa86cc5f8
Anki API refactor ( #790 )
...
* Add function guiBrowseNote
* Assign default server as null
* Use get/set properties for server/enabled
* Refactor option values
* Refactor createNote/Data functions to not use options format directly
* Use createNote for testing
* Add errors
2020-09-09 11:54:40 -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
ab4dbacc4c
Move assignment of the operating system property ( #786 )
2020-09-08 19:36: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
5af3c680e4
Fix modifier keys not being spread ( #785 )
2020-09-08 12:39:51 -04:00
toasted-nutbread
f7093b4c1a
Anki note clipboard marker ( #780 )
...
* Update fields reference
* Add support for adding clipboard images to anki notes
* Add handlebars templates
* Add markers
* Add markers to readme
2020-09-08 11:01:08 -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
59559fc560
Profile conditions fixes and improvements ( #782 )
...
* Fix operator changes
* Fix default value not changing during type change
* Fix incorrect display value being assigned
* Refactor _updateValueInput
2020-09-07 13:22:34 -04:00
toasted-nutbread
7a59ca2926
Update the functions for upgrading anki templates to be more reusable ( #779 )
2020-09-06 14:39:18 -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
dd8e32e7c4
Fix template renderer sandbox compatibility ( #770 )
...
* Use Object.prototype.hasOwnProperty.call instead of hasOwn
* Disable WebExtension and core.js APIs for template-renderer.js
2020-09-04 18:19:43 -04:00
toasted-nutbread
1cc9f4b1a4
Remove old conditions.js references ( #769 )
2020-09-04 18:12:33 -04:00
toasted-nutbread
d34f1eab02
Make fetchModifyHeaders private ( #767 )
2020-09-04 18:00:22 -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
95bfe2d901
Popup proxy improvements ( #764 )
...
* Fix incorrect function invocations
* Ignore setVisibleOverride when it returns null
* Omit redundant async
* Change default return value
2020-09-04 17:58:43 -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
4cd1676ddc
Handle error if _waitForFrontendReady fails when creating a popup proxy ( #760 )
2020-09-04 17:55:25 -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
8cd5a2f75f
Profile conditions cleanup ( #768 )
...
* Remove conditions.js
* Rename profile-conditions2.js to profile-conditions.js
2020-09-04 17:53:29 -04:00
toasted-nutbread
e606a78b18
Fix version
2020-09-04 17:50:24 -04:00
toasted-nutbread
f3dd2270a5
Json schema profile conditions ( #758 )
...
* Add clearCache function
* Add upgrade
* Use schema-based profile condition validation
* Update profile conditions settings controller
* Remove unnecessary async
* Remove old
* Remove unused templates
2020-09-04 17:44:00 -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
f3f6ddd1fa
Verison bump to 20.8.23.0
2020-08-23 18:11:11 -07: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
bdb4c21a78
Make Popup extend EventDispatcher for parity with PopupProxy ( #746 )
2020-08-22 14:35:29 -04:00
toasted-nutbread
1dc35dd6f1
Popup factory proxy creation ( #745 )
...
* Change getOrCreatePopup to async
* Rename parentFrameId to frameId, expose frameId property
* Update how proxy popups are created
2020-08-22 14:33:41 -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
cc9481bd38
Revert "Add PopupVoid ( #734 )" ( #739 )
...
This reverts commit 90d6944290
.
2020-08-22 13:04:20 -04:00
toasted-nutbread
1f564b94cb
XMLDocument handling ( #738 )
...
* Add tests for SVGs
* Add more null checks for Frontend._popup
* Use null popup when on an XMLDocument
2020-08-22 13:03:35 -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
90d6944290
Add PopupVoid ( #734 )
2020-08-15 17:37:56 -04:00
toasted-nutbread
4d6851ec32
Refactor some frontend cross-frame communication ( #733 )
...
* Refactor iframe proxy setup
* Simplify document title acquisition
2020-08-15 17:36:42 -04:00