toasted-nutbread
ea7b8621c3
Update layout to have better sizing properties ( #1040 )
2020-11-16 20:41:12 -05:00
toasted-nutbread
37ea7e2c9a
Add support for dark theme scrollbar colors ( #1038 )
2020-11-15 14:39:37 -05:00
toasted-nutbread
e4f28b31ce
Move "Enable native popups" option and make advanced ( #1037 )
2020-11-15 14:16:11 -05:00
toasted-nutbread
d66a5e3b87
Fix settings resetting not initializing dictionary settings properly ( #1036 )
2020-11-15 14:14:52 -05:00
toasted-nutbread
2e3169f68c
Popup navigation style updates ( #1035 )
...
* Add close function to Display
* Add new sidebar with navigation and close buttons
* Set up new navigation functionality
* Remove old navigation
2020-11-15 14:12:48 -05:00
toasted-nutbread
37af524015
Add cross icon ( #1034 )
2020-11-15 12:10:33 -05:00
toasted-nutbread
c387898902
Display fixes ( #1033 )
...
* Fix an entry not always being focused
* Fix typo
* Fix copy action not working on Firefox
2020-11-14 21:47:43 -05:00
toasted-nutbread
4b1c7b1e26
Display layout updates ( #1032 )
...
* Fix display scroll not always using the right position
* Update display layout and scroll method
* Fix border size
2020-11-14 18:12:06 -05:00
toasted-nutbread
34c6d4210a
Scroll refactor ( #1031 )
...
* Use private members
* Reorganize
2020-11-14 17:24:30 -05:00
toasted-nutbread
af16643f35
Display styles update ( #1030 )
...
* Make section comments into single line comments
* Update :before/:after to be ::before/::after
* Organize and compact CSS
* Remove obsolete style
* Add padding var
* Use calc and var for layout units and common values
* Update search page styles
2020-11-14 15:23:20 -05:00
toasted-nutbread
50a1fbfb9f
Display updates ( #1029 )
...
* Simplify expression creation
* Add attribute indicating whether the reading is the same or not
* Update kanji debug info
* Remove some unnecessary null checks
* Simplify iterable check
* Update float and search HTML to be more consistent
2020-11-14 13:42:50 -05:00
toasted-nutbread
112f08a13e
Fix term details not using the expanded tags ( #1028 )
2020-11-14 12:09:14 -05:00
toasted-nutbread
3ee385b319
Fix some word wrapping issues on the first line of definitions ( #1027 )
2020-11-13 21:11:29 -05:00
toasted-nutbread
d0f364bad8
Fix _areSame check not using correct array count property ( #1026 )
2020-11-13 20:53:41 -05:00
toasted-nutbread
d62d353958
Fix options not being propagated fully after being updated ( #1025 )
2020-11-13 19:51:51 -05:00
toasted-nutbread
3edc35691b
Display updates ( #1024 )
...
* Update display generation to use new format assumptions
* Simplify how debug information is presented
2020-11-13 19:48:22 -05:00
toasted-nutbread
20f3d09aa4
Clear cached definition when rendering a template ( #1022 )
2020-11-12 20:35:11 -05:00
toasted-nutbread
ec021964b7
Compact tags refactor ( #1021 )
...
* Update translator to flag redundant tags instead of remove
* Update how compact tags are shown in the popup
* Pass compactTags option to note builder
* Update options templates
* Add options upgrade
* Add options upgrade test
2020-11-12 20:34:11 -05:00
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
3a23f081d1
Frontend options override refactor ( #1016 )
...
* Update how options context overriding works
* Make function private
2020-11-08 22:49:40 -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
681065e554
Remove unused functions from backend.js ( #1014 )
2020-11-08 17:06:44 -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
0cbc6523e6
Remove unused default selected ( #1010 )
2020-11-08 14:24:39 -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
8dc961a61f
Merge QueryPaserGenerator into QueryParser ( #1008 )
2020-11-08 12:50:16 -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
db9ec4c449
Fix search tab opening having some errors ( #1004 )
2020-11-07 22:43:14 -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
f4325b7db9
Fix byte count labels ( #998 )
...
* Add 'TB' label
* Prevent overflow
* Fix storage information on the old settings page
2020-11-07 09:58:46 -05:00
toasted-nutbread
9c6ff387a0
Popup preview update ( #994 )
...
* Add options.global.showPopupPreview option
* Add preview visibility control using a checkbox
* Add attribute on page load
* Disable animation until page is loaded
2020-11-06 22:14:00 -05:00
toasted-nutbread
b62c48822e
Use <strong> styling for list keys ( #991 )
2020-11-05 22:44:35 -05:00
toasted-nutbread
3216a9e263
Settings controller changes ( #990 )
...
* Make allowSecondarySearchesCheckbox optional
* Move getDictionaryInfo into SettingsController
2020-11-05 18:45:57 -05:00
toasted-nutbread
5b9d709d40
Conjugation marker ( #988 )
...
* Add {conjugation} marker
* Add info
* Add upgrade
* Update test
2020-11-04 20:39:23 -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
838175f06b
Update version
2020-11-01 21:36:41 -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
0c1e4d2255
Update version
2020-10-31 19:30:21 -04:00
toasted-nutbread
215ef627f1
Duplicate scope options ( #955 )
...
* Add deck-root duplicate scope option
* Implement support for deck-root scope
2020-10-31 19:03:45 -04:00
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
toasted-nutbread
d5865db457
Popup API refactor ( #732 )
...
* Simplify how parent/child are set
* Remove unused public frameId property
* Change use of getFrame
* Simplify parent access
* Use property for the container
* Remove isProxy
* Public function API parity
* Public property API parity
2020-08-15 17:27:03 -04:00
toasted-nutbread
d582c7a0f8
JSON schema refactor ( #731 )
...
* Remove JsonSchema.clone
* Move createProxy function
* Group public properties first
* Create private version of getPropertySchema
* Mark functions as private
* Use non-static getValidValueOrDefault
* Mark private
* Make public validate function not take an info parameter
* Remove JsonSchema
* Add isValid function
* Use isValid for some tests
* Fix incorrect type
2020-08-15 17:23:09 -04:00
toasted-nutbread
d8649f40d5
JSON-schema-based profile conditions ( #730 )
...
* Add ProfileConditions class
* Add URL to VM
* Add new ProfileConditions tests
2020-08-15 17:22:23 -04:00
toasted-nutbread
587822c16e
More JSON schema improvements ( #729 )
...
* Add support for constant values
* Add contains check for arrays
* Add tests
* Simplify getValidValueOrDefault testing
2020-08-11 19:21:26 -04:00
toasted-nutbread
abfa0362dd
Remove leftover handlebars.js imports ( #728 )
2020-08-09 21:18:36 -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
9f8f83508e
Merge dictionary.js functions into Translator class ( #726 )
...
* Move dictFieldSplit
* Copy dictionary.js definitions into translator.js
* Convert to member functions
* Refactor names
* Remove dictionary.js
* Rename
2020-08-09 21:04:09 -04:00
toasted-nutbread
f502dd4f21
Search refactoring ( #725 )
...
* Rename node fields to disambiguate
* Change order
2020-08-09 21:03:11 -04:00
toasted-nutbread
486d44f719
Json schema improvements ( #722 )
...
* Add support for regex pattern testing
* Add tests
* Separate JsonSchemaProxyHandler statics into JsonSchemaValidator
* Use this instead of JsonSchemaValidator
* Make JsonSchemaValidator non-static
* Use cache map for regex
2020-08-09 14:18:59 -04:00
toasted-nutbread
fbe575c577
Fix a stray error printed due to not catching ( #723 )
2020-08-09 14:14:56 -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
480e0e15e3
Translator refactor ( #720 )
...
* Move simple find sort into translator.js
* Remove unused
* Use direct reference to database
* Make field private
* Remove statics
* Convert functions to private
* Organize by public/private
2020-08-09 13:21:14 -04:00
toasted-nutbread
427cf99b9f
Remove unused dependencies on context.html ( #718 )
2020-08-09 13:20:48 -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
b3eb2cb1ef
Fix overlapping version checks ( #716 )
2020-08-09 13:17:15 -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
04d47bf8a9
Build system changes ( #721 )
...
* Refactor manifest.json
* Change end-of-line convention for built plain-text files
* Ignore builds directory
* Mark the "dev" directory as using the node environment
* Create build script
* Register build scripts
* Remove old build script
* Fix 64x64 icon
* Add test to ensure manifest data is updated properly
2020-08-09 13:09:06 -04:00
14efd8a824
Update verison to 20.8.3.0
2020-08-03 17:01:40 -07: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
a81d69d6c1
Add support for history navigation using mouse buttons in the popup window ( #707 )
2020-08-02 19:00:36 -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
838fd211c6
Pitch accent Anki field templates ( #701 )
...
* Template helper updates
* Add pitch data to exported field formatting data
* Reuse note data
* Add no-op
* Set up pitch accent templates
* Refactor version update functions
* Implement upgrade process for new Anki templates
* Consistency
* Update README and anki.js to have matching markers
2020-08-01 16:23:33 -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
b52074b3f0
Options util ( #700 )
...
* Move options functions into a class
* Rename and privatize
* Organize by public/private
* Refactor to use async function
* Simplify update function signature
* Add comment for update
* Rename
* Copy _applyUpdates into _legacyProfileUpdateUpdateVersion
* Organize
* Move profile options updates
* Refactor update details
* Add async support
* Formatting
2020-08-01 11:46:35 -04:00
toasted-nutbread
f1e7288c11
Additional template renderer helpers ( #699 )
...
* Add spread function
* Add generic operator evaluation function
* Add variable get/set/scope functions
* Add isMoraPitchHigh function
2020-07-31 16:17:58 -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
toasted-nutbread
6e0b25c5d6
Standardize hotkey action naming convention ( #696 )
2020-07-26 20:25:15 -04:00
toasted-nutbread
313476aa92
Query parser fix ( #695 )
...
* Standardize setContent calls
* Rename _queryText to _fullQuery
* Move query parser into Display and update float.html
* Generalize params
* Add "full" parameter to maintain the original full query
2020-07-26 19:29:12 -04:00
toasted-nutbread
0512258c8e
Display scroll refactor ( #694 )
...
* Cache navigation header
* Create _focusEntry
* Update scroll restoration
* Require explicit entry focus index
2020-07-26 18:49:38 -04:00
toasted-nutbread
104650627d
Merge redundant toggle handling code ( #693 )
2020-07-26 16:53:24 -04:00
toasted-nutbread
fca0004597
Don't assign mode as a search parameter ( #692 )
2020-07-26 16:52:45 -04:00
toasted-nutbread
208217198e
Display history refactor ( #691 )
...
* Create DisplayHistory
* Change arguments for _setContentTermsOrKanji
* Set up history-driven content updates
* Use new history only
* Load definitions if missing
* Refactor definitions getting
* Add support for wildcards
* Move definitions setup
* Add events
* Allow state change even if there is no history state
* Update search page to use history
* Fix history overwriting
* Fix search page not seeing state chang events during prepare
* Update state if necessary
* Don't reassign query text if the same
* Remove DisplayContext
* Initialize with real history state
* Track URL
* Update DisplayHistory to support pseudo-history
* Configure history settings on search page
* Fix state
* Use full URL
* Change data format of setContent
* Rename details to content
* Update event arguments
* Fix animation
* Remove old state changes
* Clear content properly
* Remove set/clear content overrides
* Fix setting up event listeners for content clear
* Make clearContent private
* Make focus opt-in
* Validate source
* Add unloaded type
* Generalize content params
* Update how extension unload content is assigned
* Restore query blurring
2020-07-26 16:51:54 -04:00
toasted-nutbread
e153971cd4
Add eachUpTo function ( #690 )
2020-07-26 16:50:56 -04:00
toasted-nutbread
2ed2b22d49
Fix search popup mode ( #687 )
...
* Fix missing mode on search popup
* Remove mode update
2020-07-25 13:23:51 -04:00
toasted-nutbread
4a43b41f79
Set content refactor ( #686 )
...
* Simplify invoke
* Pass isTerms instead of type
* Update DisplaySearch.setContent to pass argument array
* Simplify argument object structure for setContent
* Move focus and disableHistory level
* Always include focus and disableHistory options
* Change disableHistory to history
* Pass source text to setContent
* Use consistent argument/object field order
* Remove unused previous field
* Combine logic for forward/back navigation
2020-07-25 09:58:06 -04:00
toasted-nutbread
64ddb4d901
Display fixes and refactoring ( #685 )
...
* Fix scroll target override sometimes using undefined value
* Clear event listeners in clearContent()
* Remove unused arguments
* Remove unused disableScroll
* Destructure definitions and context
* Merge _setContentTerms and _setContentKanji
* Move history tracking
* Destructure context
* Rename context to noteContext for clarity
* Destructure before passing args
* Move window focus
* Update scroll defaults
2020-07-24 21:12:13 -04:00
toasted-nutbread
e493cbc998
Simplify Popup.showContent API to use only two details arguments ( #684 )
2020-07-24 17:34:53 -04:00
toasted-nutbread
3754c92041
Query parser refactor ( #683 )
...
* Rename files to better match class name
* Don't pass setContent to QueryParser; use a generic event instead
2020-07-24 16:03:11 -04:00
toasted-nutbread
99f5655e53
Update DisplaySearch.setContent/clearContent to close popups ( #682 )
2020-07-24 14:54:54 -04:00
toasted-nutbread
d7aaab685e
Dev dependencies updates ( #679 )
...
* Update eslint to 7.5.0
* Update eslint-plugin-no-unsanitized to 3.1.2
* Update fake-indexeddb to 3.1.1
* Rename DictionaryImporter.import to .importDictionary
Conflicts with o-unsanitized/method
2020-07-19 22:05:37 -04:00
toasted-nutbread
e12f59f87d
Force targetTabId to be null if not a number ( #678 )
2020-07-19 12:26:57 -04:00
toasted-nutbread
71b97c2019
Display refactoring ( #674 )
...
* Move setupNestedPopups to Display
* Move auto-play timer and delay into Display
* Move some message handler definitions into Display
* Move default optionsContext definition
2020-07-18 23:47:02 -04:00
toasted-nutbread
27e05f8001
Reusable backend popup window ( #673 )
...
* Update _updateSearchQuery to return the promise
* Update how the clipboard search popup is opened
* Create an API function to open the search popup
* Skip animation on popup creation
* Add API function
2020-07-18 20:30:10 -04:00
toasted-nutbread
d7f78c23b5
Script ready state change ( #672 )
...
* Update how backend/frontend ready states are awaited and signaled
* Log errors on the search page
* Update action name
2020-07-18 17:11:38 -04:00
toasted-nutbread
e696dc84a8
Refactor context-main.js ( #671 )
2020-07-18 16:45:57 -04:00
toasted-nutbread
c6c0126394
Content script ready checks ( #670 )
...
* Move ready checkout of Display
* Add function to wait until if a tab's content script is ready
2020-07-18 14:18:10 -04:00
toasted-nutbread
ffc0b6588e
Fix incorrect URL being used ( #669 )
2020-07-18 14:17:30 -04:00
toasted-nutbread
a13a68990e
Port name details ( #667 )
...
* Use a stringified JSON details object for extension port names
* Fix incorrect frame ID check
* Add support for connecting to different tabs
* Add function for invoking on a different tab
2020-07-18 14:16:35 -04:00
toasted-nutbread
dac33e6961
Extension unload indication fix ( #662 )
...
* Remove unused function
* Rename field
* Change extensionUnloaded trigger function
* Update how extension unloaded content is shown
* Ignore certain errors caused by extension unload
* Add _showExtensionUnloaded function
* Wrap internals of updateOptions
* Suppress errors caued by extension unload
* Make the frontend trigger the popup's extensionUnloaded event
2020-07-18 14:15:36 -04:00
toasted-nutbread
f9c76efea0
Fix Anki CORS requests ( #666 )
2020-07-17 14:27:57 -04:00
toasted-nutbread
fc31e6fab5
Fix incorrect field name ( #665 )
2020-07-14 21:58:53 -04:00
toasted-nutbread
161888d9a3
Remove backend options context ( #661 )
...
* Add support for getting the current profile
* Explicitly use current options
2020-07-11 15:20:51 -04:00
toasted-nutbread
ec42a7e4d6
Message handler refactor ( #660 )
...
* Refactor searchQueryUpdate action
* Use standard message handler style
* Use name "promiseOrResult" for consistency
* Use standard message handler convention for Yomichan message handlers
* Use common message handler invoker
2020-07-11 15:20:00 -04:00
toasted-nutbread
8389cd8ba2
Popup crossFrame communication ( #658 )
...
* Add support for dynamic message handlers
* Pass messages using crossFrame.invoke instead of contentWindow.postMessage
* Set up async handlers
* Simplify configure call and response
2020-07-10 22:13:59 -04:00
toasted-nutbread
964f011409
Various updates to FrameOffsetForwarder ( #657 )
...
* Remove bindings
* Fast exit if same window
* Simplify selector
* Rename functions, reuse _getFrameOffsetParent
* Update message style
* Send reply message to a specific frame
2020-07-10 22:13:11 -04:00
toasted-nutbread
59c224d99d
Add support for async vs non-async ( #656 )
2020-07-10 22:12:14 -04:00
toasted-nutbread
f76a6ff1e3
Refactor hotkey definitions to be more generic ( #655 )
2020-07-08 20:02:20 -04:00
toasted-nutbread
6f49f426b5
Generalized frame connections ( #654 )
...
* Create FrameClient and FrameEndpoint
* Use new Frame* classes for Popup=>frame connection
* Update api.sendMessageToFrame and api.broadcastTab to include the sender's frameId
* Update FrameClient to store the frame's frameId
2020-07-08 19:58:06 -04:00
toasted-nutbread
295ffa6e54
Refactor DisplayFloat=>Frontend message passing ( #652 )
...
* Change getOrCreatePopup arguments to be an object
* Add ownerFrameId to popup and DisplayFloat
* Refactor DisplayFloat host action invocation
* Use CrossFrameAPI instead of window.postMessage
* Update popup closing functionality on the search page
2020-07-08 19:50:13 -04:00
toasted-nutbread
8f48a23a45
Display class refactoring ( #650 )
...
* Organize by public/private
* Don't access super class's private members
* Make _autoPlayAudioTimer private
* Refactor constructors
* Make functions private
* Organize by public/private
* Organize window message handlers
* Make fields private
* Refactor DisplaySearch constructor
* Make functions private
* Organize by public/private
2020-07-03 15:58:29 -04:00
toasted-nutbread
e30bab3324
Refactor text source map ( #649 )
...
* Use a null check instead of array check
* Convert statisc to non-private
* Use public source
* Add public function for getting the mapping
2020-07-03 15:57:17 -04:00
toasted-nutbread
a07a8dfff6
Extension unload detection ( #647 )
...
* Update how extension unload is detected
* Remove event handlers and use yomichan.isExtensionUnloaded instead
* Update terminology
2020-07-03 12:20:22 -04:00
toasted-nutbread
ce634325ce
Add up arrow icon ( #648 )
2020-07-03 12:02:59 -04:00
toasted-nutbread
e36bc8771f
Display refactor ( #643 )
...
* Remove statics
* Move orphan detection and error handling to Display
* Add clearContent function
* Add/use public get/set functions for optionsContext
* Add public getOptions
* Move interactive assignment
* Mark fields as private
* Mark functions as private
* Change stray getter into a function
2020-07-03 12:02:21 -04:00
toasted-nutbread
6ede83f293
Move private function definitions inside of IIFE ( #641 )
2020-07-03 12:00:13 -04:00
toasted-nutbread
562cfd7470
Make PopupProxy._frameOffsetExpireTimeout non-static ( #640 )
2020-07-03 11:58:52 -04:00
toasted-nutbread
d776125ead
Refactor timer privates ( #639 )
...
* Make Timer.current public
* Make _indentString non-static
2020-07-03 11:58:12 -04:00
toasted-nutbread
897d85d1ac
Util refactor and fix ( #638 )
...
* Remove unused functions
* Fix clone function not being visible on the window object
2020-07-03 11:57:15 -04:00
toasted-nutbread
c13160d784
Page exit prevention refactor ( #637 )
...
* Add page exit prevention functionality to SettingsController
* Update dictionary controller to use new page exit prevention system
* Remove page-exit-prevention.js
2020-07-03 11:56:26 -04:00
toasted-nutbread
1d02013642
Make JsonSchemaProxyHandler.unconstrainedSchema public and non-configurable ( #636 )
2020-07-03 11:55:39 -04:00
toasted-nutbread
0279d00274
Don't use/assign popup private fields without using "this" ( #635 )
2020-07-03 11:54:51 -04:00
toasted-nutbread
af4dc49074
Fix chrome.runtime.manifest failing when extension is reloaded ( #646 )
2020-07-01 21:06:25 -04:00
toasted-nutbread
bc6d855f3d
Fix incorrect handlebars execution context in helpers ( #645 )
2020-06-29 19:02:35 -04:00
toasted-nutbread
a16a8f53e6
Rename GenericDatabase to Database ( #634 )
2020-06-28 17:29:16 -04:00
toasted-nutbread
441c23bf3b
Rename Database to DictionaryDatabase ( #633 )
2020-06-28 17:24:06 -04:00
toasted-nutbread
7590055d4e
Merge BackendEventHandler into Backend class ( #632 )
...
* Merge BackendEventHandler into Backend class
* Remove unused public functions
2020-06-28 17:22:44 -04:00
toasted-nutbread
5183fb575f
Backend refactor ( #631 )
...
* Mark fields as private
* Remove static
* Make functions private
* Create onCommand handler
* Group event handlers
* Move functions
* Merge _onOptionsUpdated and _applyOptions
* Rename event handler
* Move event handlers
* Remove _getOptionsSchema
* Move private functions
2020-06-28 14:59:01 -04:00
toasted-nutbread
f2345b7d1c
Use deferPromise ( #630 )
...
* Use deferPromise
* Move definition
* Implement promiseTimeout using deferPromise
2020-06-28 14:39:43 -04:00
toasted-nutbread
7b5dd5c310
Update browser compatibility and Edge detection ( #629 )
2020-06-28 12:40:02 -04:00
toasted-nutbread
cdf191336a
Clone function ( #624 )
...
* Add clone function
* Replace utilIsolate with clone
* Replace JsonSchema.isolate with clone function
* Include core.js for tests which use json-schema.js
* Update visisted set
2020-06-28 12:38:34 -04:00
toasted-nutbread
5bf805755a
Yomichan object separation ( #627 )
...
* Move "yomichan" object setup to a separate file
* Update script imports
* Align message handlers
* Rename Yomichan.prepare to Yomichan.ready
* Add new prepare function
* Improve isExtensionUrl
2020-06-28 11:26:43 -04:00
toasted-nutbread
51981f0c4e
Add deferPromise function ( #626 )
2020-06-28 11:23:51 -04:00
0a6c08d0f5
Version 20.6.27.0
2020-06-27 19:02:52 -07:00
toasted-nutbread
22d70c9e22
Add lock icon ( #628 )
2020-06-26 17:22:29 -04:00
toasted-nutbread
6ee50b3c95
Make PopupFactory.prepare non-async ( #625 )
2020-06-25 18:32:29 -04:00
toasted-nutbread
3e68af8666
Shadow DOM container for popup iframes ( #623 )
...
* Add support for injecting stylesheets into a custom parent node
* Add api.getStylesheetContent
* Add support for injecting a CSS file's content
* Add usePopupShadowDom option
* Use a per-parentNode cache
* Add support for using a shadow DOM wrapper around popup iframes
* Ignore the popup container instead of the frame
2020-06-24 21:46:13 -04:00
toasted-nutbread
96932119f8
Remove window. from visualViewport, use local variable instead ( #621 )
2020-06-22 19:27:40 -04:00
toasted-nutbread
65c41975a6
Secure popup frame url changes ( #622 )
...
* Throw error if options is not ready
* Remove id
* Change unsecurePopupFrameUrl to useSecurePopupFrameUrl
2020-06-22 19:26:59 -04:00
toasted-nutbread
f2991fb9ee
Frontend initialization refactor ( #610 )
...
* 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
2020-06-21 16:14:05 -04:00
toasted-nutbread
244ab31bb2
Generic database ( #600 )
...
* Update test
* Rename db to _db
* Create GenericDatabase class
* Catch prepare error
* Allow database to be purged even if it was not open
* Remove unused functions
* Change static functions to non-static
* Delete and count using the media object store
* Update tests
2020-06-21 16:12:56 -04:00
toasted-nutbread
e23504613f
Use DOMTextScanner ( #536 )
...
* 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
2020-06-21 16:07:51 -04:00
toasted-nutbread
4ebee3e17c
Context popup update ( #594 )
...
* Add link to the help button
* Update context.html to not use bootstrap
Styles moved into a separate file
Update icons
* Update terminology to correspond to new icons
2020-06-21 15:57:18 -04:00
toasted-nutbread
0c69e54fde
Optimize anki note field generation ( #611 )
2020-06-21 15:54:34 -04:00
toasted-nutbread
3db7b3a925
Add option to use the unsecure frame URL ( #618 )
2020-06-21 15:52:43 -04:00
toasted-nutbread
9e28db6ef7
Safely handle volume values that are out of range ( #617 )
2020-06-21 15:51:36 -04:00
toasted-nutbread
713bf29377
Handle stack overflow caused by wanakana.toKana ( #615 )
2020-06-21 15:50:50 -04:00
toasted-nutbread
6562d0c1e5
Template renderer class ( #574 )
...
* Convert handlebars.js to a class
* Move/rename function
* Update helper registration
* Rename helper functions
* Limit cache size
* Make render() async
* Rename and move
2020-06-15 20:11:54 -04:00
toasted-nutbread
b4a617cac3
Ignore getZoom errors ( #604 )
2020-06-14 15:14:47 -04:00
toasted-nutbread
b612bd8b8d
PopupProxy refactor ( #609 )
...
* Remove setDisabled member; replace with an event
* Pass frameOffsetForwarder directly to PopupProxy
* Replace .start with .prepare
* Make onMessage private
* Make message safer and handle unexpected inputs
2020-06-14 14:06:52 -04:00
toasted-nutbread
8d1a276a83
Remove debug log ( #603 )
2020-06-13 10:42:59 -04:00
toasted-nutbread
8a7ff6a18c
Replace XMLHttpRequest ( #562 )
...
* Replace XMLHttpRequest with fetch
* Implement fetch placeholder for tests
2020-06-13 10:23:04 -04:00
toasted-nutbread
5cba421201
Update the badge icon if the backend experiences an error ( #602 )
2020-06-13 10:20:12 -04:00
toasted-nutbread
8bc15e60b5
Detect language tags starting with "ja_" ( #596 )
2020-06-13 10:18:44 -04:00
toasted-nutbread
a84f188b73
Handle cases where platform info is not available ( #597 )
...
* Handle cases where platform info is not available
* Safely return the correct os property
2020-06-10 20:58:46 -04:00
toasted-nutbread
839e306cac
Immediate backend event handlers ( #555 )
...
* Add function to await until prepare is completed
* Create BackendEventHandler to synchronously set up event handling
2020-06-07 21:50:14 -04:00
toasted-nutbread
9767b76553
Use cross frame API ( #553 )
...
* Use new CrossFrameAPI for popup proxy communication
* Remove use of old cross-frame communication classes
* Remove use of old cross-frame communication files
* Make the crossFrame object a member of the api object
2020-06-07 21:40:11 -04:00
siikamiika
b614aca3dd
fix css class name ( #591 )
...
Broken in 90af55d4c84f545635f238178b30748a0e8093ee
2020-06-07 00:08:46 +03:00
siikamiika
0384e2afef
scale background icon when page is zoomed ( #592 )
2020-06-07 00:08:20 +03:00
toasted-nutbread
2c58b1c109
Limit action port message size ( #587 )
...
* Add onDisconnect handler
* Update how error is posted
* Update action ports to send long messages in fragments
* Remove ack timer
* Move message destructuring into try block
2020-05-31 18:17:12 -04:00
toasted-nutbread
cfd3a1ec3a
Update AudioController to not use mutable options references ( #585 )
2020-05-30 21:54:38 -04:00
toasted-nutbread
db209c9116
Generic settings controller merge ( #584 )
...
* Update how optionsContext is assigned to targets
* Add getSettings and modifySettings
* Merge DOMSettingsBinder into GenericSettingController
* Remove old DOMSettingsBinder
2020-05-30 21:53:36 -04:00
toasted-nutbread
ce7f9dd09a
Update how assignment of general.enableClipboardPopups works ( #583 )
2020-05-30 16:24:51 -04:00
toasted-nutbread
976a200ffc
Backup update ( #582 )
...
* Add function to assign all settings
* Update how settings backups are restored
* Remove page reload
* Update profile index after importing
2020-05-30 16:23:56 -04:00
toasted-nutbread
c8810bc929
Update AnkiController ( #581 )
...
* Update how fields are populated
* Update how fields are modified after a model change
* Update how _onFieldsChanged assigns fields
* Update how spinner is hidden
* Remove jQuery usage
* Use non-jQuery events
2020-05-30 16:22:51 -04:00
toasted-nutbread
ad8df26b6b
Update AnkiTemplatesController ( #580 )
...
* Use this._defaultFieldTemplates
* Don't use mutable options
* Remove some use of jQuery
2020-05-30 16:22:05 -04:00
toasted-nutbread
395a0f4096
Update GenericSettingController to use DOMSettingsBinder ( #578 )
2020-05-30 16:20:31 -04:00
toasted-nutbread
f228078613
SettingsController API update ( #579 )
...
* Include optionsContext as part of optionsChanged event
* Add get/modify functions
2020-05-30 11:24:34 -04:00
toasted-nutbread
789da0206b
Organize settings/main.js ( #577 )
2020-05-30 09:50:33 -04:00
toasted-nutbread
63a3e56367
Use SettingsController ( #576 )
...
* Use settingsController internally in settings/main.js
* Replace modifyingProfileChange with SettingsController.optionsContextChanged
* Update ClipboardPopupsController to use SettingsController
* Store reference to checkbox
* Use this._settingsController for everything
* Change where current profile is initially assigned from
* Remove some unnecessary async calls
* Move setup calls
* Update AnkiTemplatesController to use SettingsController
* Cache default field templates
* Update AnkiController to use SettingsController
* Update AudioController to use SettingsController
* Update SettingsBackup to use SettingsController
* Update DictionaryController to use SettingsController
* Update GenericSettingController to use SettingsController
* Update ProfileController to use SettingsController
* Remove unused
* Remove unused
* Replace some uses of api.options* functions
* Fix missing awaits
* Fix invalid function
2020-05-30 09:33:13 -04:00
toasted-nutbread
1a5a37c9e4
Fix frontend being null if messages are received early ( #575 )
2020-05-30 09:31:46 -04:00
toasted-nutbread
18f376358c
Generic settings controller + clipboard popups controller ( #573 )
...
* Create GenericSettingController
* Create ClipboardPopupsController
2020-05-29 20:33:40 -04:00
toasted-nutbread
df040b104a
Popup preview frame refactor ( #572 )
...
* Use private variables
* Use private methods
* Update overrides
* Make prepare called in the entry point function
* Change format of handlers
* Change where _apiOptionsGetOld is assigned
* Rename class
2020-05-29 20:29:19 -04:00
toasted-nutbread
9624566d2a
Convert popup-preview.js to a class ( #571 )
...
* Convert popup-preview.js to a class
* Don't invoke 'prepare'
2020-05-29 20:28:12 -04:00
toasted-nutbread
418e8a57bf
Convert dictionaries.js and storage.js to classes ( #570 )
...
* Convert dictionaries.js to a class
* Remove storage spinner
* Convert storage.js to a class
* Move dataset assignments into main.js
2020-05-29 20:25:22 -04:00
toasted-nutbread
c62f980f37
Audio controller ( #569 )
...
* Convert audio.js into a class
* Move audio-ui.js classes into audio.js
* Rename fields
* Merge classes
* Remove audio-ui.js
2020-05-29 19:56:38 -04:00
toasted-nutbread
5f9889fd26
Anki settings controllers ( #567 )
...
* Convert anki-templates.js to a class
* Convert anki.js to a class
2020-05-29 19:52:51 -04:00
toasted-nutbread
fde0072118
Change profile.js into a class ( #566 )
...
* Update how settings profile is stored and accessed
* Convert profiles.js into a class
* Rename members of ProfileController
2020-05-29 19:47:18 -04:00
toasted-nutbread
8537c8f386
Create class to abstract access, mutation, and events for settings ( #565 )
2020-05-29 19:45:54 -04:00
toasted-nutbread
37f0396f1c
DOM binder fixes ( #564 )
...
* Fix incorrect updateValue function
* Add source
2020-05-29 19:44:53 -04:00
toasted-nutbread
9d40955fc8
Update legal.html to include full licenses ( #563 )
2020-05-24 22:10:50 -04:00
toasted-nutbread
6dd6af05e1
Update background global object usage ( #556 )
...
* Omit global window object for scripts used on the background page
* Validate document exists before using
* Remove dom.js from background.html
2020-05-24 14:01:21 -04:00
toasted-nutbread
3c4c82dcfc
Ensure single popup factory ( #554 )
...
* Add createPopupFactory
* Ensure only a single PopupFactory is generated
2020-05-24 14:00:32 -04:00
toasted-nutbread
13f57cccba
Settings backup refactor ( #551 )
...
* Update backup.js to be a class
* Move utilReadFileArrayBuffer
2020-05-24 13:56:46 -04:00
toasted-nutbread
66e1185686
Settings binder ( #542 )
...
* Fix _modifySetting being async
* Return values for modifySettings's set and splice actions
* Add apiGetSettings
* Create a class which can accumulate tasks to run in bulk
* Create a class which binds input elements to customizable sources
* Create class which binds input elements to settings
* Add support for value transforms
* Remove redundant ObjectPropertyAccessor.getPathArray
* Fix not using correct types for input.min/max/step
* Fix wrong condition
* Use api object
2020-05-24 13:50:34 -04:00
toasted-nutbread
c800444a0d
Ensure the return value of promiseTimeout always has .resolve and .reject ( #550 )
2020-05-24 13:39:50 -04:00
toasted-nutbread
3089bb7908
Settings refactor ( #541 )
...
* Remove debug info
* Trigger onOptionsUpdated instead of formWrite when profile changes
* Update how Anki field changes are observed
* Update how general.enableClipboardPopups setting is changed
* Change where ankiTemplatesUpdateValue occurs
* Change where onDictionaryOptionsChanged occurs
* Remove unused global declarations
* Remove stray data attribute
2020-05-24 13:38:48 -04:00
toasted-nutbread
a595a0a481
Add icons ( #540 )
...
* Add icons
* Update icons
2020-05-24 13:37:49 -04:00
toasted-nutbread
4d2e5b93f4
Style adjustments ( #537 )
...
* Remove newlines for term-definition-item-template
* Update how action button icons are styled
* Fix spacing
* Group text colors together
* Correct image styles
* Fix missing </span>
2020-05-24 13:37:23 -04:00
toasted-nutbread
c61a87b152
API refactor ( #532 )
...
* Convert api.js into a class instance
* Use new api.* functions
* Fix missing binds
* Group functions with progress callbacks together
* Change style
* Fix API override not working
2020-05-24 13:30:40 -04:00
toasted-nutbread
83a577fa56
Add missing spreads ( #552 )
2020-05-23 14:18:02 -04:00
toasted-nutbread
694120b8a5
Cross frame communication ( #531 )
...
* Set up new cross-frame port connector
* Create classes for cross-frame API invocation with replies
* Remove event listeners on disconnect
2020-05-23 13:34:55 -04:00
toasted-nutbread
9a657214ad
Add support for additional types of event listeners ( #522 )
...
* Add support for additional types of event listeners
* Fixes
2020-05-23 13:19:31 -04:00
d0dcff765f
Version bump to 20.5.22.0
2020-05-22 17:41:33 -07:00
siikamiika
39df44eca4
Fix "tags" template ( #539 )
...
* fix tag templates for merge and group modes
* update version upgrade
* adjust upgrade replacement order
2020-05-22 20:03:34 -04:00
toasted-nutbread
dd673f0b26
Dynamic loader load style ( #521 )
...
* Remove unnecessary load of /fg/css/client.css
* Replace dynamicLoader.loadStyles with dynamicLoader.loadStyle
* Replace Popup._injectStylesheet with dynamicLoader.loadStyle
* Remove unused global
2020-05-19 20:33:06 -04:00
toasted-nutbread
dd6c3015c4
Use both shadowRoot and openOrClosedShadowRoot ( #534 )
2020-05-10 14:10:02 -04:00
toasted-nutbread
c38cd70e91
Load frame content using contentDocument.location.href instead of src attribute ( #529 )
2020-05-10 14:08:18 -04:00
toasted-nutbread
9742d5662b
Use CSS variables for themes ( #528 )
...
* Update formatting
* Merge default tag color with category-less tags
* Use CSS variables for colors
* Add dark theme colors
* Move color variables into display.css
* Remove old stylesheets
* Update headings
* Bump minimum Firefox version to support CSS var()
* Revert popular kanji text color
2020-05-10 14:07:25 -04:00
toasted-nutbread
5752b23a8e
Text source refactor ( #527 )
...
* Update TextSourceElement API to have parity with TextSourceRange
* Make fields private
* Update equality check
* Fix "this.element" being used instead of just "element"
2020-05-10 14:06:25 -04:00
toasted-nutbread
6eafdac362
Fix setStartOffset not appending ( #526 )
2020-05-09 21:09:23 -04:00
toasted-nutbread
bdbe680f5c
Omit the sound tag if it's empty ( #525 )
2020-05-09 12:29:41 -04:00
toasted-nutbread
9900291b07
Fix not awaiting the AudioSystem.arrayBufferDigest promise ( #524 )
2020-05-09 12:28:48 -04:00
toasted-nutbread
69c783f861
Frontend/popup proxy message refactoring ( #520 )
...
* Use direct message handler functions
* Remove unused targetPopupId
* Make target a member of FrontendApiSender
* Rename frameId to parentFrameId for clarity
* Remove _parentFrameId
* Rename _parentId to _parentPopupId for clarity
2020-05-09 12:27:56 -04:00
siikamiika
d6a3825a38
Modifier key platform names ( #519 )
...
* wip
* add environment class
* use Environment class
* use Environment for scanning modifier options
* remove Environment in favor of API
* await promise
* use modifier symbols on macOS
* fix key separator issues
* if else to switch
* simplify variable names
2020-05-09 18:36:00 +03:00
toasted-nutbread
48cf646973
Popup refactor ( #518 )
...
* Add default
* Convert function to non-static
* Remove static for private functions
* Replace .call
* Move functions with side effects into a synchronous prepare function
* Rename variables with "container" to "frame" in _initializeFrame
* Rename variables with "container" to "frame"
* Rename getContainer to getFrame
* Rename getContainerRect to getFrameRect
* Organize and simplify
* Fix incorrect change of "popup" => "this"
* Move initial _updateVisibility into prepare()
2020-05-08 19:10:06 -04:00
toasted-nutbread
3949db26d7
Text scanner refactor ( #517 )
...
* 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
2020-05-08 19:05:50 -04:00
toasted-nutbread
b936c3e4b1
Popup proxy host refactor ( #516 )
...
* Rename PopupProxyHost to PopupFactory
* Update FrontendApiReceiver to support non-async handlers
* Make some functions non-async
* Make setCustomCss non-async
* Make setContentScale non-async
* Remove static
* Rename variables
* Pass frameId into PopupFactory's constructor
* Change FrontendApiReceiver source from popup-proxy-host to popup-factor
* Rename _invokeHostApi to _invoke
* Rename PopupProxy.getHostUrl to getUrl
2020-05-08 19:04:53 -04:00
toasted-nutbread
b972f8cbf6
Text scanner refactor ( #515 )
...
* 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
2020-05-07 19:45:08 -04:00
toasted-nutbread
33bd9682ea
Query parser refactor ( #514 )
...
* Make functions private
* Make fields private
* Organize
2020-05-07 19:41:27 -04:00
toasted-nutbread
edb86d9ec3
Organize frontend functions ( #513 )
2020-05-07 19:38:09 -04:00
toasted-nutbread
caca9869c4
Add contentScript parameter to backend message handlers ( #512 )
...
* Add contentScript parameter to message handlers
* Remove _validatePrivilegedMessageSender calls from handler functions
* Reformat handlers
2020-05-07 19:37:25 -04:00
toasted-nutbread
f361139d74
Japanese util refactor ( #510 )
...
* Convert mixed japanese.js to utility class
* Copy functions from bg/js/japanese.js into mixed/js/japanese.js
* Remove bg/js/japanese.js
* Make wanakana dependency optional
* Update tests
2020-05-06 19:37:36 -04:00
toasted-nutbread
4eeb879fb8
Remove search query parser inheritance ( #509 )
...
* Remove getMouseEventListeners override
* Use this._options instead of this.options
* Make QueryParser use composition instead of inheritance for TextScanner
* Remove repeat call to document.querySelector('#query-parser-content')
2020-05-06 19:36:42 -04:00
toasted-nutbread
38d6f58fac
Frontend refactor ( #508 )
...
* Use this.popup instead of this.frontend.popup
* Rename Frontend.popup to _popup
* Make Frontend functions private
* Clean up Frontend constructor
2020-05-06 19:35:36 -04:00
toasted-nutbread
d6ae322961
Text scanning update ( #507 )
...
* Fix unity test missing a parameter
* Update docSentenceExtract to not rescan content
2020-05-06 19:34:32 -04:00
toasted-nutbread
f7df6254d6
Dom text scanner fixes ( #505 )
...
* Fix test case
* Add test-dom-text-scanner
* Ensure that DOMTextScanner._node never becomes null
* Add remainder
2020-05-06 19:33:17 -04:00
toasted-nutbread
bb2d9501af
Add apiModifySettings ( #501 )
...
* Update getProfile/getProfileFromContext to store this.options in a variable
* Add useSchema parameter to options getter functions
* Add apiModifySettings
* Use apiModifySettings instead of apiOptionsSet
* Remove apiOptionsSet
* Fix incorrect deleteCount check
* Require explicit scope for options
* Throw on invalid scope
2020-05-06 19:32:28 -04:00
toasted-nutbread
021ccb5ac3
Move util database modification functions ( #499 )
...
* Update onProgress callback to handle multiple arguments
* Add apiImportDictionaryArchive
* Add apiDeleteDictionary
* Make onProgress the last argument for consistency
* Remove deprecated util functions
* Fix issue with missing progress args
* Remove function calls which modify the database from Translator
* Update tests
* Fix errors not being serialized correctly in _createActionListenerPort
2020-05-06 19:28:26 -04:00
toasted-nutbread
501281e887
Popup init update ( #497 )
...
* Add API function to send a message to a specific frameId in a tab
* Update _windowMessageHandlers to support additional info per handler
* Remove message token
* Add new authorization check
* Set up new initialization handler
* Update initialization
* Remove message token
* Replace 'prepare' with 'configure'
* Create new prepare function
* Change configure guard
* Log errors in onMessage
* Improve popup initialize function
* Clear secret/token in _resetFrame
* Remove backend message token
* Clear src and srcdoc attributes before loading
* Don't treat about:blank unloads as load events
2020-05-06 19:27:21 -04:00
toasted-nutbread
ac2f743b76
Remove invalid file name characters from Anki media files ( #496 )
...
* Replace invalid file name characters
* Replace "filename" with "fileName"
2020-05-06 19:25:56 -04:00
siikamiika
a88501ff10
Text selection fixes ( #511 )
...
* select matched text in Frontend.findKanji
* blur search query input when setting content
2020-05-07 01:49:42 +03:00
siikamiika
253dcf8b38
Fix modifier key condition data ( #506 )
...
* save transformed data for modifier key conditions
* validate transformed input
* fix regression
* undo rename
* refactor transformInput handling
* don't overwrite value with null
2020-05-06 19:44:56 +03:00
siikamiika
a1f8f0d1de
support meta as scanning modifier ( #502 )
2020-05-05 00:14:21 +03:00
siikamiika
7d7ff165ce
Extract textSource text inside TextScanner ( #500 )
...
* extract text inside TextScanner
* clone textSource before text extraction
2020-05-05 00:13:43 +03:00
siikamiika
77b744e675
Modifier key profile condition ( #487 )
...
* 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
2020-05-03 04:39:24 +03:00
toasted-nutbread
acfdaa4f48
Fix incorrect static call ( #498 )
2020-05-02 17:24:05 -04:00
toasted-nutbread
d4ae9aa501
DOMTextScanner ( #458 )
...
* Create new class for scanning text in a document
* Update test styles
* Add tests
2020-05-02 13:05:43 -04:00
toasted-nutbread
d581bffa15
Style fixes ( #494 )
...
* Place multi-line expression parentheses on the correct line
* Add function-paren-newline eslint rule
* Add some additional eslint rules
2020-05-02 13:04:17 -04:00
toasted-nutbread
c4ea9321dc
Validate document nodes before use ( #493 )
...
* Validate document.body before use in loadScripts
This also fixes an issue where reject wasn't being passed to loadScriptSentinel.
* Validate document nodes before use in _getSiteColor
* Validate document.body before use in _getViewport
* Validate document.body before use in setContentScale
* Validate document.body before use in docImposterCreate
2020-05-02 13:00:46 -04:00
toasted-nutbread
51032d1eca
Catch WrongDocumentError thrown by compareBoundaryPoints ( #491 )
...
* Catch WrongDocumentError thrown by compareBoundaryPoints
* Filter error based on name
2020-05-02 12:59:59 -04:00
toasted-nutbread
efa7a5ecc3
Remove and unload the popup frame if an unexpected load occurs ( #490 )
...
* Remove and unload the popup frame if an unexpected load occurs
* Remove unused fields
* Only update _injectPromiseComplete if the promise is the most recent one
* Remove redundant this._injectPromise !== null check
2020-05-02 12:59:13 -04:00
toasted-nutbread
8a368aaddc
Don't parent the popup frame to elements which cause unload ( #488 )
2020-05-02 12:58:24 -04:00
toasted-nutbread
401fe9f8d0
Object property accessor API update ( #485 )
...
* Simplify function names
* Add delete and swap functions
* Remove custom setter
Not currently part of the expected use cases.
* Add documentation
* Update tests
* Add delete test functions
* Update tests to use fresh objects
* Add swap test functions
* Add empty tests
* Disable delete on arrays
2020-05-02 12:57:42 -04:00
toasted-nutbread
5a61c311ad
Api invoke with progress ( #483 )
...
* Create an internal API function to open a port
* Create system for running actions over a special port
* Don't assign in expression
2020-05-02 12:57:13 -04:00
toasted-nutbread
6c341a13d8
Refactor frontend API classes ( #482 )
...
* Mark functions as private
* Remove constructor side effects
* Use safer handler invocation
* Mark functions as private
* Mark fields as private
* Update BackendApiForwarder public API
2020-05-02 12:50:44 -04:00
toasted-nutbread
cae6b657ab
Anki audio download ( #477 )
...
* Update how audio is added to Anki cards
* Upgrade Anki templates
* Update comments
2020-05-02 12:50:16 -04:00
toasted-nutbread
08ada6844a
Remove Frontend inheritance ( #486 )
...
* 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
2020-05-02 12:47:15 -04:00
Allan Wirth
ce861ce079
Add helpful link for markers in settings.html ( #489 )
2020-05-01 16:59:19 -04:00
toasted-nutbread
0956634d61
Add duplicateScope: 'deck' option ( #476 )
...
* Add duplicateScope: 'deck' option
* Add option to control duplicate scope
* Use duplicateScope for findNoteIds
* Update location of quotes
2020-04-27 18:10:59 -04:00
toasted-nutbread
48c7010f4e
Frontend refactor (part 1) ( #484 )
...
* 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
2020-04-27 18:10:37 -04:00
toasted-nutbread
887d769786
Use dynamicLoader for main ( #481 )
...
* Update style of search-main and float-main to have better parity
* Use dynamicLoader to inject scripts and CSS
2020-04-26 16:56:34 -04:00
toasted-nutbread
4e0fc76fe1
Add Yomichan icon SVG ( #478 )
...
* Create Yomichan icon SVG and 32x32 PNG
* Update icons
* Add 32x32 icon definition to HTML pages
2020-04-26 16:56:14 -04:00
toasted-nutbread
5b96559df8
Error logging refactoring ( #454 )
...
* 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
2020-04-26 16:55:25 -04:00
siikamiika
ca033a87a0
Update Popup and DisplayFloat optionsContext from Frontend ( #464 )
...
* set optionsContext from Frontend
* update Popup+Display options on Frontend change
* remove popup setOptions
* only update DisplayFloat options from Frontend
* fix optionsContext usage
* fix preview frame arguments
* keep Frontend URL up to date
* cache url
* fix preview frame
* trigger modifyingProfileChange in correct places
* remove async from function not using await
* refactor optionsContext in Frontend
2020-04-26 22:33:50 +03:00
toasted-nutbread
a49e4ccc4e
Merge pull request #472 from toasted-nutbread/fix-pitch-accent-high-calculation
...
Fix high pitch calculation
2020-04-23 18:27:11 -04:00
toasted-nutbread
6b0f1f268b
Merge pull request #467 from toasted-nutbread/dynamic-loader
...
Create dynamic script/CSS loader utility
2020-04-23 18:26:48 -04:00
toasted-nutbread
9216d1862f
Merge pull request #463 from toasted-nutbread/explicit-entry-point
...
Explicit entry points
2020-04-23 18:26:34 -04:00
siikamiika
6cd86e203a
fix custom anki templates
2020-04-23 19:58:31 +03:00
toasted-nutbread
d8276a9d5d
Use IIFE for entry points
2020-04-22 21:42:20 -04:00
toasted-nutbread
2f931e5585
Fix high pitch calculation
2020-04-22 21:04:18 -04:00
toasted-nutbread
749b747728
Remove sentinel script node after load
2020-04-22 17:48:42 -04:00
toasted-nutbread
d05a5f3c46
Create dynamic script/CSS loader utility
2020-04-21 21:16:26 -04:00
toasted-nutbread
d106c638ed
Move popup-nested content into float-main
2020-04-21 18:38:55 -04:00
toasted-nutbread
c43dac19a4
Use wanakana object directly
2020-04-20 22:23:07 -04:00
toasted-nutbread
9ca906ef90
Create float-main.js
2020-04-19 14:29:43 -04:00
toasted-nutbread
7c578f7582
Create popup-preview-frame-main.js
2020-04-19 14:29:43 -04:00
toasted-nutbread
4d3d5d9ccb
Rename search-frontend.js to search-main.js
...
Also move DisplaySearch creation into the main() function.
2020-04-19 14:29:41 -04:00
toasted-nutbread
3edaf319da
Rename context.js to context-main.js
2020-04-19 14:27:15 -04:00
toasted-nutbread
3c8eb9eee0
Create background-main.js
2020-04-19 14:26:44 -04:00
toasted-nutbread
6c93d1984f
Change frontend-initialize.js to content-script-main.js
2020-04-19 14:26:20 -04:00
toasted-nutbread
ba68616d80
Change some more variables using 'source' instead of 'content'
2020-04-19 10:57:23 -04:00
toasted-nutbread
a7e7d546c7
Add documentation
2020-04-19 10:24:59 -04:00
toasted-nutbread
0e80c0d5d0
Rename loadImage to loadImageBase64 for clarity
2020-04-19 10:24:43 -04:00
toasted-nutbread
16893b52b1
Make getFileNameExtension properly handle directory separators
2020-04-19 10:18:31 -04:00
toasted-nutbread
7faaf4e457
Use 'content' instead of 'source' to contain media file data
2020-04-19 10:16:59 -04:00
toasted-nutbread
07e5e5c15b
Show small image preview on [Image] link hover/focus
2020-04-18 21:33:14 -04:00
toasted-nutbread
c75a0d4e70
Fix space being inside the <a> and thus being underlined
2020-04-18 21:33:14 -04:00
toasted-nutbread
ac603d54a3
Add support for displaying images
2020-04-18 21:32:35 -04:00
toasted-nutbread
fd6ea0e404
Add API for getting media data
2020-04-18 21:32:35 -04:00
toasted-nutbread
8106f4744b
Add support for importing and storing media files
2020-04-18 21:31:09 -04:00
toasted-nutbread
51d756eefc
Fix _prepareError check
2020-04-18 21:15:15 -04:00
toasted-nutbread
4638985b16
Remove unused global
2020-04-18 21:12:54 -04:00
toasted-nutbread
66ef730119
Update style, use isObject
2020-04-18 21:12:54 -04:00
toasted-nutbread
dee7d924a8
Show error status for prepare() errors
2020-04-18 21:12:54 -04:00
toasted-nutbread
5c5c70326d
Add a delay before showing the loading state
...
Intended to prevent flickering when startup is quick
2020-04-18 21:12:54 -04:00
toasted-nutbread
c9704b5c5e
Update when/how badge state is changed
2020-04-18 21:12:54 -04:00
toasted-nutbread
6498556ec7
Update isPrepared to be consistent with DisplaySearch's isPrepared
2020-04-18 21:11:15 -04:00
toasted-nutbread
03d77cc3a6
Merge pull request #442 from toasted-nutbread/audio-system-refactoring
...
Audio system refactoring
2020-04-18 21:10:48 -04:00
siikamiika
d66ca93ce4
cache invalidation
2020-04-18 23:28:00 +03:00
siikamiika
a81c33b60a
simplify element source lazy load
2020-04-18 23:28:00 +03:00
siikamiika
691b739849
cache closed shadow dom content windows
2020-04-18 23:28:00 +03:00
siikamiika
66354f1f9e
lazy load element sources
2020-04-18 23:28:00 +03:00
siikamiika
bb3ad78e37
optimize source frame finding
2020-04-18 23:28:00 +03:00
siikamiika
350a113996
use getFullscreenElement to check fullscreen
2020-04-18 23:28:00 +03:00
siikamiika
b786e2da19
move open shadow root iframe finder to a function
2020-04-18 23:28:00 +03:00
siikamiika
85706c421b
show popup inside iframe for closed shadow dom
2020-04-18 23:28:00 +03:00
siikamiika
fbaf50def1
support iframes inside open shadow dom
2020-04-18 23:28:00 +03:00
siikamiika
4fdc300b61
disable root frame popup when iframe is fullscreen
2020-04-18 23:28:00 +03:00
toasted-nutbread
320852f2d0
Fix overlapping audio.play calls due to await
2020-04-18 14:23:34 -04:00
toasted-nutbread
fcbfde506a
Await and handle errors from audio.play()
2020-04-18 14:23:34 -04:00
toasted-nutbread
9fe7b9ad29
Remove unused global
2020-04-18 14:23:34 -04:00
toasted-nutbread
92790763d1
Update style
2020-04-18 14:23:34 -04:00
toasted-nutbread
5c2dff345e
Fix button title text not updating correctly in merge mode
2020-04-18 14:23:34 -04:00
toasted-nutbread
7eb7c88394
Return index of the source instead of the source value
2020-04-18 14:23:34 -04:00
toasted-nutbread
f50aee1021
Only return the cached value if it uses a valid source
2020-04-18 14:23:34 -04:00
toasted-nutbread
e1ebfb02f7
Disable cache on the backend and fix a bug with the cache key
2020-04-18 14:23:34 -04:00
toasted-nutbread
823c026533
Remove de/structuring from public API
2020-04-18 14:23:34 -04:00
toasted-nutbread
7fc3882607
Update the parameters passed to various audio-related functions
2020-04-18 14:23:34 -04:00
toasted-nutbread
5b3d7fadc3
Merge pull request #453 from toasted-nutbread/reuse-anki-instance
...
Reuse AnkiConnect instance
2020-04-18 14:14:52 -04:00
toasted-nutbread
9297eb45ae
Merge pull request #450 from toasted-nutbread/frequency-readings
...
Add support for filtering frequency metadata based on readings
2020-04-18 14:14:30 -04:00
toasted-nutbread
106172e2c1
Merge pull request #447 from toasted-nutbread/util-conversions
...
Util conversions
2020-04-18 14:12:41 -04:00
9e7750125c
Version bump
2020-04-18 11:04:27 -07:00
toasted-nutbread
06e95b8747
Remove unused global
2020-04-17 22:16:08 -04:00
toasted-nutbread
018913d03f
Use isObject
2020-04-17 19:25:07 -04:00
siikamiika
8c16a6e580
Merge pull request #456 from siikamiika/parse-text-refactor
...
Parse text refactor
2020-04-17 01:32:01 +03:00
siikamiika
e6053eefa5
Merge pull request #439 from siikamiika/popup-live-toggle
...
Popup live toggle
2020-04-17 01:31:25 +03:00
siikamiika
619df42aed
simplify to enable constant usage
2020-04-14 21:25:02 +03:00
siikamiika
3fa8b8e186
prevent infinite loop if source length is 0
2020-04-14 21:21:52 +03:00
siikamiika
a02cf28c57
break after switch default
2020-04-14 21:13:46 +03:00
siikamiika
b6f7f8c026
fix _canEnable being used before setting options
2020-04-14 20:59:42 +03:00
siikamiika
950f50ef94
don't focus tab when changing settings
2020-04-14 20:35:52 +03:00
toasted-nutbread
bf971be15b
Merge pull request #444 from toasted-nutbread/unused-globals
...
Check for unused globals as part of CI
2020-04-13 18:55:19 -04:00
siikamiika
6cc87ec975
remove "fragment" from jp.convertReading variables
2020-04-13 22:59:56 +03:00
siikamiika
f93dc85710
assume and propagate strings for text parsing
2020-04-13 22:55:33 +03:00
siikamiika
25bc86c3ce
force empty mecab output properties to strings
2020-04-13 22:14:23 +03:00
siikamiika
c613321a73
move QueryParser.parseText to Backend
2020-04-13 14:53:24 +03:00
toasted-nutbread
ebfc7ca945
Pass anki reference to AnkiNoteBuilder constructor
2020-04-12 12:46:32 -04:00
toasted-nutbread
37c374fb63
Rename _ankiInvoke to _invoke to remove redundancy
2020-04-12 12:44:33 -04:00
toasted-nutbread
3c335e68cd
Throw errors in returned by invocation
2020-04-12 12:43:32 -04:00
toasted-nutbread
cc5e429422
Remove AnkiNull and redundant comment
2020-04-12 12:38:52 -04:00
toasted-nutbread
4c2ca82a29
Use single instance of AnkiConnect
2020-04-12 12:38:33 -04:00
toasted-nutbread
c41c7252ae
Add enabled checks
2020-04-12 12:37:13 -04:00
toasted-nutbread
ade1b705d2
Mark internals as private
2020-04-12 12:20:02 -04:00
siikamiika
362ac84e6c
prevent spawning multiple FrameOffsetForwarders
2020-04-12 19:17:50 +03:00
siikamiika
e627ab2537
fix optionsContext URL for root popup
2020-04-12 19:11:18 +03:00
toasted-nutbread
7f3e272839
Merge pull request #449 from toasted-nutbread/orphan-fix
...
Fix default value of _orphaned
2020-04-12 11:43:07 -04:00
toasted-nutbread
778d49f86b
Merge pull request #443 from toasted-nutbread/fix-get-selection
...
Fix getSelection not working in QueryParser
2020-04-12 11:42:56 -04:00
toasted-nutbread
649adb13d8
Merge pull request #440 from toasted-nutbread/collapse-emphatic-sequences
...
Add support for collapsing emphatic character sequences
2020-04-12 11:42:46 -04:00
toasted-nutbread
ceb12ac415
Add support for filtering frequency metadata based on readings
2020-04-11 23:20:36 -04:00
toasted-nutbread
bf4c1aef6a
Fix default value of _orphaned
2020-04-11 22:27:31 -04:00
toasted-nutbread
c2bf474d1f
Update example
2020-04-11 19:00:01 -04:00
toasted-nutbread
70f0b8b0cd
Fix 'full' mode not being a superset of 'true' mode
2020-04-11 18:58:14 -04:00
toasted-nutbread
f88d4b02e4
Use window.getSelection instead of document.getSelection
2020-04-11 15:56:08 -04:00
toasted-nutbread
90392ac9d6
Add support for collapsing the Katakana-Hiragana Prolonged Sound Mark
2020-04-11 15:43:12 -04:00
toasted-nutbread
cdd817a0e1
Move and rename utilStringHashCode
...
options.js is the only place it's used.
2020-04-11 15:25:21 -04:00
toasted-nutbread
51e17b35e3
Convert some util* functions into api* functions
2020-04-11 15:25:19 -04:00
toasted-nutbread
3c48290cd8
Add isExtensionUrl utility function to yomichan object
2020-04-11 15:17:25 -04:00
siikamiika
e6078ce8f6
remove redundant call guard
2020-04-11 21:04:30 +03:00
siikamiika
ba97e72c8b
fix ignoreElements in QueryParser
2020-04-11 21:04:30 +03:00
siikamiika
5c3641eadb
simplify frontend disable override
2020-04-11 21:04:30 +03:00
siikamiika
d93e3e1a67
use setters instead of EventDispatcher
2020-04-11 21:04:30 +03:00
siikamiika
275f455e73
fix preview frame error
2020-04-11 21:04:30 +03:00
siikamiika
565e3a8c6a
change iframe popup live
2020-04-11 21:04:30 +03:00
siikamiika
b9035854b2
cache created popups
2020-04-11 21:03:22 +03:00
siikamiika
7dd2610ce8
extract different popup creation functions
2020-04-11 21:03:22 +03:00
siikamiika
92109bb5d2
allow disabling scan on search page live
2020-04-11 21:01:27 +03:00
siikamiika
1df59d57b5
limit popup depth live
2020-04-11 21:01:27 +03:00
siikamiika
61a96e327a
prevent injecting frontend multiple times
2020-04-11 21:01:27 +03:00
siikamiika
9adbc80a70
listen to optionsUpdated in popup-nested.js
2020-04-11 21:01:27 +03:00
siikamiika
8c9389e07d
listen to optionsUpdated in search-frontend.js
2020-04-11 21:01:27 +03:00
toasted-nutbread
82f8397000
Merge pull request #438 from toasted-nutbread/display-generator-refactoring
...
Display generator refactoring
2020-04-11 11:37:03 -04:00
toasted-nutbread
a864cf094f
Merge pull request #437 from toasted-nutbread/backend-api-handler-changes
...
Backend api handler changes
2020-04-11 11:32:52 -04:00
toasted-nutbread
a296c758b9
apiBroadcast => apiBroadcastTab
2020-04-10 20:00:18 -04:00
toasted-nutbread
d164fc6f62
Remove unused globals
2020-04-10 18:45:23 -04:00
toasted-nutbread
2c5bf0ed6b
Fix getSelection not working in QueryParser
2020-04-10 17:11:41 -04:00
4e5029f7ec
Update license author field to broader to explicitly reflect that
...
Yomichan is an ongoing community project. It really does take a village,
and everyone who contributes code owns a part of it :)
2020-04-10 11:10:21 -07:00
281023095a
Version bump
2020-04-10 09:36:34 -07:00
toasted-nutbread
0b7791c103
Fix source map for characters collapsed at the start of a string
2020-04-10 12:25:24 -04:00
toasted-nutbread
42a2917bf7
Add support for collapsing emphatic character sequences
2020-04-10 11:56:18 -04:00
toasted-nutbread
025b1f398b
Simplify access to details fields in createTermEntry
2020-04-09 22:40:25 -04:00
toasted-nutbread
06183ec124
Update how termTags is passed to _createTermExpression
2020-04-09 22:40:25 -04:00
toasted-nutbread
bb37b74288
Rename "only" to "disambiguation" to match naming convention used for pitch accents
2020-04-09 22:40:25 -04:00
toasted-nutbread
6788bb31d2
Update _appendMultiple to not use a fallback
2020-04-09 22:40:25 -04:00
toasted-nutbread
f9bdf2c66f
Organize
2020-04-09 22:40:25 -04:00
toasted-nutbread
9bbe35da68
Mark functions as private
2020-04-09 22:40:25 -04:00
toasted-nutbread
d7e4ff067e
Remove statics
2020-04-09 22:40:25 -04:00
toasted-nutbread
75c5c7aabc
Remove data-multi assignments
2020-04-09 22:40:25 -04:00
toasted-nutbread
99f58b49f6
Use data-expression-multi instead of data-multi
2020-04-09 22:40:22 -04:00
toasted-nutbread
c88ec43ad1
Fix yomichanCoreReady waiting for a response
2020-04-07 19:59:10 -04:00
toasted-nutbread
a2b66dc6cc
Rename apiForward to apiBroadcast
2020-04-07 19:51:39 -04:00
toasted-nutbread
96566b8581
Update forward to be synchronous and ignore the reply
2020-04-07 19:49:54 -04:00
toasted-nutbread
038e43d19d
Update some API handlers to be synchronous
2020-04-07 19:47:46 -04:00
toasted-nutbread
82462edce0
Add support for API handlers to be optionally asynchronous
2020-04-07 19:41:02 -04:00
toasted-nutbread
f177e3699a
Merge pull request #434 from toasted-nutbread/error-fixes
...
Error fixes
2020-04-07 19:28:07 -04:00
toasted-nutbread
ac1ecb35ee
Merge pull request #433 from toasted-nutbread/extra-dictionary-information
...
Extra dictionary information
2020-04-07 19:27:58 -04:00
toasted-nutbread
a6773e0240
Fix field name
2020-04-07 19:04:47 -04:00
toasted-nutbread
8a419dfa67
Pass AudioSystem instance to AnkiNoteBuilder constructor
2020-04-07 19:04:47 -04:00
toasted-nutbread
716ab99fc0
Remove inconsistent/unused return value
2020-04-07 19:04:47 -04:00
toasted-nutbread
97b7b521dd
Create _containsMarker to reduce redundant code
2020-04-07 19:04:47 -04:00
toasted-nutbread
a49e061545
Move _dateToString into a new function
2020-04-07 19:04:47 -04:00
toasted-nutbread
efcdff72a3
Move media injection functions into AnkiNoteBuilder
2020-04-07 19:04:47 -04:00
toasted-nutbread
29cf8d2f79
Fix not awaiting this._getNoteContext
2020-04-06 18:55:45 -04:00
toasted-nutbread
696897f6fa
Add support for getting the document title
2020-04-06 18:55:36 -04:00
toasted-nutbread
199b926f23
Add overridable getDocumentTitle
2020-04-06 18:20:04 -04:00
toasted-nutbread
1d7c86ded0
Add document-title tag to settings options
2020-04-06 18:20:04 -04:00
toasted-nutbread
4011a091b6
Add support for {document-title}
2020-04-06 18:20:04 -04:00
toasted-nutbread
059db280bb
Add custom context object for note creation
2020-04-06 18:20:04 -04:00
toasted-nutbread
8b07a23de9
Rename context to details
2020-04-06 18:20:04 -04:00
toasted-nutbread
9dfe531dfd
Use logError instead of console.log
2020-04-05 18:27:53 -04:00
toasted-nutbread
7449ffd4dc
Fix error reporting during dictionary import
2020-04-05 18:26:38 -04:00
toasted-nutbread
dd9d50bfc1
Update settings page to display additional information
2020-04-05 14:46:45 -04:00
toasted-nutbread
1b97629cd8
Store new dictionary data
2020-04-05 14:46:45 -04:00
toasted-nutbread
cd831d88cc
Update schema to include additional fields
2020-04-05 14:46:45 -04:00
siikamiika
22a97d916f
fix NOT (a OR B) to NOT (a AND b)
2020-04-05 20:42:23 +03:00
siikamiika
5596a8f6f7
strict object property type check
2020-04-05 20:03:45 +03:00
siikamiika
aea7c590d1
refactor _updateFrameOffset
2020-04-05 20:03:45 +03:00
siikamiika
abd056e563
reduce code duplication
2020-04-05 20:03:45 +03:00
siikamiika
31a326fe63
add option for iframe popups
2020-04-05 20:03:42 +03:00
siikamiika
0d76cef434
give a name to a timeout
2020-04-05 19:57:37 +03:00
siikamiika
e4fc53480f
move broadcastRootPopupInformation to Frontend
2020-04-05 19:57:37 +03:00
siikamiika
867902523f
simplify promise
2020-04-05 19:57:37 +03:00
siikamiika
123e725049
use duck typing for event listener
2020-04-05 19:57:37 +03:00
siikamiika
067c26982e
setTimeout refactoring
2020-04-05 19:57:37 +03:00
siikamiika
559033f0a6
default to [0, 0] when sourceFrame is not found
2020-04-05 19:57:37 +03:00
siikamiika
c171503d77
use getTemporaryListenerResult in other places
2020-04-05 19:57:37 +03:00
siikamiika
7928c5d713
error handling
2020-04-05 19:57:37 +03:00
siikamiika
9f9ea1d5fb
throttle frame offset getting
2020-04-05 19:57:37 +03:00
siikamiika
fa65ab3512
refactor getTemporaryListenerResult timeout
2020-04-05 19:57:37 +03:00
siikamiika
d88635cbb2
temporary listener abstraction
2020-04-05 19:57:37 +03:00
siikamiika
9fe1e38afb
refactor
2020-04-05 19:57:37 +03:00
siikamiika
d20ece9f07
move frame offset forwarding code to a class
2020-04-05 19:57:37 +03:00
siikamiika
09151a1a86
simplify popup proxy prepare
2020-04-05 19:57:37 +03:00
siikamiika
b996d0b1e0
fix and simplify
2020-04-05 19:57:37 +03:00
siikamiika
4814db8df1
adjust iframe popup position to root page
2020-04-05 19:57:37 +03:00
siikamiika
b6c4914b79
simplify popup prepare
2020-04-05 19:57:37 +03:00
siikamiika
6806e7055f
show iframe popups in root frame
2020-04-05 19:57:37 +03:00
toasted-nutbread
3684a479c5
Merge pull request #424 from toasted-nutbread/dictionary-importer
...
Dictionary importer
2020-04-05 12:52:07 -04:00
toasted-nutbread
058f626efd
Merge pull request #423 from toasted-nutbread/text-source-map
...
Text source map
2020-04-05 12:51:56 -04:00
toasted-nutbread
9052ab8ebd
Move dictionary import functionality into a new class
2020-03-30 20:51:20 -04:00
toasted-nutbread
02f7763f00
Add importDictionary function to Backend
2020-03-30 20:45:36 -04:00
toasted-nutbread
c193a703cc
Move database creation into Backend
2020-03-30 20:39:04 -04:00
toasted-nutbread
8095d9138c
Add isPrepared
2020-03-30 20:28:44 -04:00
toasted-nutbread
1a8bbf32d5
Make dictionaryExists public
2020-03-30 20:28:41 -04:00
toasted-nutbread
a6fedae9c7
Update bulkAdd implementation
2020-03-30 20:19:39 -04:00
toasted-nutbread
938b696468
Hide reading disambiguation if the downstep notation is visible
2020-03-29 11:27:35 -04:00
toasted-nutbread
1f84280ea0
Include readings in disambiguations
2020-03-29 11:27:13 -04:00
toasted-nutbread
a7da4416d7
Change names
2020-03-29 11:19:43 -04:00
toasted-nutbread
ae84d13757
Create simplified source map class
2020-03-28 18:17:00 -04:00
toasted-nutbread
aa2a0c09f4
Update how pitch accent expressions are disambiguated
2020-03-28 14:52:44 -04:00
toasted-nutbread
a339bf69d3
Move set functions into core.js
2020-03-28 14:50:10 -04:00
toasted-nutbread
2c4983da46
Update styles
2020-03-28 12:31:41 -04:00
toasted-nutbread
431473d55c
Fix layering issue
2020-03-28 12:01:55 -04:00
toasted-nutbread
0d80fcdf86
Move Japanese utility functions out of display-generator.js
2020-03-28 10:47:02 -04:00
toasted-nutbread
cbc7e2646d
Add options
2020-03-28 10:25:57 -04:00
toasted-nutbread
803a464fb9
Add support for accent graph
2020-03-28 10:25:57 -04:00
toasted-nutbread
97a520cc15
Add support for displaying pitch accents
2020-03-28 10:25:57 -04:00
toasted-nutbread
2d7214ce60
Add metadata for unique expression count
2020-03-28 10:25:57 -04:00
toasted-nutbread
047efaa3db
Add support for returning pitch data from the database
2020-03-28 10:25:57 -04:00
toasted-nutbread
9e8a22b08a
Add support for different sections for term content
2020-03-28 10:25:57 -04:00
toasted-nutbread
168bd72d0a
Update _appendMultiple to support general iterables
2020-03-28 10:25:57 -04:00
toasted-nutbread
93f7278586
Update dictionary schema to support pitch accent data
2020-03-28 10:25:11 -04:00
toasted-nutbread
a0c4ce779d
Merge pull request #413 from toasted-nutbread/japanese-utility
...
Convert Japanese utilities to a module-like style
2020-03-27 22:53:45 -04:00
siikamiika
b616bac66e
remove targetPopupId 'all'
...
Make unset targetPopupId mean the same thing instead
2020-03-21 22:13:07 +02:00
siikamiika
17934cce4b
use random ID as popup ID
2020-03-21 22:13:07 +02:00
siikamiika
2c4fd648db
remove stubs
2020-03-21 22:13:07 +02:00
siikamiika
46c6ad98f3
use dependency injection in QueryParser
...
Also fix an issue with settings update triggering a lookup on unprepared
QueryParser.
2020-03-21 22:13:07 +02:00
siikamiika
962c2a381f
apply all options on profile change
2020-03-21 22:13:07 +02:00
toasted-nutbread
70284c62ee
Replace DisplayGenerator._isCharacterKanji with jp.isCodePointKanji
2020-03-21 13:22:14 -04:00
toasted-nutbread
77a2cc60e9
Move basic string/character testing functions into a mixed/js/japanese.js
2020-03-21 13:18:34 -04:00
toasted-nutbread
a50b76fd21
Remove unnecessary sourceMapping population in convertAlphabeticToKana
2020-03-15 22:24:30 -04:00
toasted-nutbread
248a18dd72
Fix case issue
2020-03-15 22:24:30 -04:00
toasted-nutbread
264820f208
Add more unicode code point ranges
2020-03-15 22:24:30 -04:00
toasted-nutbread
0f15cca2df
Convert Japanese utilities to a module-like style
2020-03-15 22:24:30 -04:00
toasted-nutbread
7c5b64f9a4
Merge pull request #406 from toasted-nutbread/object-property-accessor
...
Object property accessor
2020-03-15 22:23:32 -04:00
toasted-nutbread
4b699a6b46
Change integer state IDs to strings
2020-03-15 12:26:38 -04:00
98afe7adae
Bump version
2020-03-14 13:12:08 -07:00
toasted-nutbread
174a942e07
Fix misuse of getPathString
2020-03-14 13:51:06 -04:00
toasted-nutbread
6865fc0b52
Add ObjectPropertyAccessor
2020-03-14 13:50:36 -04:00
toasted-nutbread
64fc0349a1
Update global declarations
2020-03-10 22:40:35 -04:00
toasted-nutbread
f7bbcb6df4
Merge pull request #408 from toasted-nutbread/use-code-point
...
Replace charCodeAt and fromCharCode with codePointAt and fromCodePoint
2020-03-10 19:24:24 -04:00
toasted-nutbread
36c55f0b17
Merge pull request #401 from toasted-nutbread/audio-refactor
...
Audio refactor
2020-03-10 19:20:34 -04:00
toasted-nutbread
72219ba353
Replace charCodeAt and fromCharCode with codePointAt and fromCodePoint
2020-03-09 21:58:06 -04:00
toasted-nutbread
0cbf427ab5
Update argument order
2020-03-09 21:00:57 -04:00
siikamiika
7541517d80
Merge pull request #405 from siikamiika/fix-popup-depth-search-page
...
start popup depth from 1 on search page
2020-03-09 12:16:01 +02:00
siikamiika
2ca88b9b9f
strict check if popup depth has been set
2020-03-09 11:56:06 +02:00
siikamiika
0112dbab33
fix searchQueryUpdate
2020-03-09 04:06:31 +02:00
siikamiika
e2bf22831a
start popup depth from 1 on search page
2020-03-09 02:10:28 +02:00
toasted-nutbread
9cd4a52b9e
Rename audio.js to audio-uri-builder.js
2020-03-07 21:57:26 -05:00
toasted-nutbread
aad4ab5ecc
Rename audio functions using "url" to use "uri"
2020-03-07 21:57:26 -05:00
toasted-nutbread
391f3dd29a
Update how audio URIs are built
2020-03-07 21:57:26 -05:00
toasted-nutbread
21d194d145
Make _audioInject internal to Backend
2020-03-07 21:56:15 -05:00
toasted-nutbread
426c1534e7
Remove marker restrictions
2020-03-07 21:51:56 -05:00
toasted-nutbread
79eb4bdc16
Remove bg/js/api.js
2020-03-07 21:49:04 -05:00
toasted-nutbread
8f9b6534c6
Move stringReplaceAsync
...
It is only used in AnkiNoteBuilder and it was originally created
for this purpose.
2020-03-07 21:47:48 -05:00
toasted-nutbread
7ac1c843a9
Use dependency injection for apiTemplateRender
2020-03-07 21:47:48 -05:00
toasted-nutbread
69cce49b0d
Move Anki note generation functionality into a new class
2020-03-07 21:46:59 -05:00
toasted-nutbread
dceaa85309
Rename audio.js to audio-system.js
2020-03-07 21:43:51 -05:00
toasted-nutbread
6adf2cf63f
Rename function
2020-03-07 21:43:51 -05:00
toasted-nutbread
a8eb50d96f
Use dependency injection for getAudioUri implementation
2020-03-07 21:43:51 -05:00
toasted-nutbread
75eac153d6
Remove old APIs
2020-03-07 21:42:19 -05:00
toasted-nutbread
d8e2e69ca5
Use AudioSystem on the audio settings page
2020-03-07 21:42:18 -05:00
toasted-nutbread
cadcd72fad
Use AudioSystem in Backend
2020-03-07 21:42:18 -05:00
toasted-nutbread
e048a1efce
Use AudioSystem in Display
2020-03-07 21:42:18 -05:00
toasted-nutbread
110e561eae
Create new AudioSystem class
2020-03-07 21:42:18 -05:00
toasted-nutbread
b8eb5e6016
Merge pull request #397 from toasted-nutbread/clipboard-monitor-refactor2
...
Clipboard monitor refactor
2020-03-07 21:41:45 -05:00
siikamiika
4b0dfa92aa
Merge pull request #393 from siikamiika/reconnect-frontend-api-sender
...
reconnect FrontendApiSender after disconnecting
2020-03-08 00:50:24 +02:00
toasted-nutbread
eea9dc68b9
Fix runtime.lastError error on startup in Firefox
2020-03-07 17:41:57 -05:00
toasted-nutbread
ba64f34df1
Mark fields as private
2020-03-07 10:48:56 -05:00
toasted-nutbread
93aa275d82
Use explicit dependency injection for ClipboardMonitor
2020-03-07 10:47:30 -05:00
toasted-nutbread
7822230b7f
Use events for ClipboardMonitor
2020-03-07 10:41:31 -05:00
siikamiika
24d9001b14
fix options object location
2020-03-07 14:27:44 +02:00
siikamiika
387e93dbbc
use docSentenceExtract in QueryParser
2020-03-07 14:20:08 +02:00
siikamiika
9fef0751f3
replace spread with destructuring
2020-03-07 04:11:18 +02:00
siikamiika
86be737508
fix popup containsPoint offset
2020-03-07 03:52:36 +02:00
siikamiika
8b76761744
reconnect FrontendApiSender after disconnecting
2020-03-07 00:32:45 +02:00
siikamiika
de8d9e6bf1
fix return type
2020-03-04 05:28:22 +02:00
siikamiika
9ceb663f29
add missing runtime message for backendPrepared
2020-03-03 00:05:01 +02:00
siikamiika
e6347a94e7
prepare Backend for browser_action
2020-03-02 23:26:55 +02:00
siikamiika
a05a05c4f4
fix content script entry point Yomichan prepare
...
Covers Popup stuff in addition to Frontend
2020-03-02 12:01:53 +02:00
siikamiika
56b2f2c853
trigger yomichanCoreReady only when preparing
2020-03-02 11:31:09 +02:00
siikamiika
e0edb30efd
fix Backend prepare issues in settings
2020-03-02 11:18:09 +02:00
siikamiika
bd48d2f919
fix Yomichan core message issues
2020-03-02 10:35:46 +02:00
siikamiika
967e99b7f6
ensure Backend prepare in other places
2020-03-02 04:51:45 +02:00
siikamiika
e6e5f23cf8
fix API calls when Backend isn't ready yet
2020-03-02 00:39:15 +02:00
siikamiika
2abf46b6fa
simplify backend prepare
2020-03-01 23:06:37 +02:00
toasted-nutbread
46fee07d36
Fix audio buttons not being hidden properly
2020-03-01 14:51:39 -05:00
siikamiika
b3994acbac
Merge pull request #384 from siikamiika/fix-non-primary-dictionary-format
...
compatibility transform non-primary definitions
2020-03-01 21:43:36 +02:00
toasted-nutbread
a4b0a556d4
Merge pull request #380 from toasted-nutbread/anki-templates-file
...
Load default Anki field templates from a file
2020-03-01 14:41:48 -05:00
siikamiika
9af8f999f4
compatibility transform non-primary definitions
2020-03-01 21:26:45 +02:00
siikamiika
314c567a47
fix hotkeys in popup
2020-03-01 19:02:43 +02:00
toasted-nutbread
a46a84ee15
Increase z-index for navigation-header
2020-03-01 11:31:19 -05:00
toasted-nutbread
52d8d658a2
Fix empty keys definitions and add Shift/Alt checks
2020-02-29 10:00:28 -05:00
toasted-nutbread
8e29da0c6b
Load default Anki field templates from a file
2020-02-27 20:33:13 -05:00
toasted-nutbread
fdfc2d33bb
Simplify event to use bind
2020-02-26 21:19:22 -05:00
toasted-nutbread
2d109c3e56
Use functions directly rather than wrapping in () => {} when args are same
2020-02-26 21:17:01 -05:00
toasted-nutbread
8bc1a40914
Use .bind instead of () => {}
2020-02-26 21:01:40 -05:00
toasted-nutbread
fc08cd74fe
Use .bind instead of () => {}
2020-02-26 20:35:37 -05:00
toasted-nutbread
78dc501d02
Move event handler definitions
2020-02-26 20:07:14 -05:00
toasted-nutbread
03ba1b633e
Move event handler definitions
2020-02-26 20:03:21 -05:00
toasted-nutbread
d08ac02c6a
Move event handler definitions
2020-02-26 19:52:12 -05:00
toasted-nutbread
d17af2cbab
Move event handler definitions
2020-02-26 19:48:53 -05:00
toasted-nutbread
359eabb26e
Move event handler definitions
2020-02-26 19:48:30 -05:00
toasted-nutbread
13874e962b
Refactor DisplaySearch.onKeyDownIgnoreKeys
2020-02-26 19:34:25 -05:00
toasted-nutbread
8d5d034516
Move event handler definitions
2020-02-26 19:22:32 -05:00
toasted-nutbread
007789ffa0
Organize, remove unnecessary null checks
2020-02-26 19:08:35 -05:00
toasted-nutbread
0c1b250b4f
Move event handler function bodies
2020-02-26 19:04:21 -05:00
toasted-nutbread
fa385aafa4
Fix noteUsesScreenshot not checking mode
2020-02-25 22:24:22 -05:00
toasted-nutbread
0b5a26e64a
Update dictEnabledSet and dictConfigured to use for of
2020-02-25 22:15:49 -05:00
toasted-nutbread
b391704f3d
Use for of
2020-02-25 22:13:06 -05:00
toasted-nutbread
7b97138ad1
Changed type returned by apiTextParseMecab to avoid using for in
2020-02-25 22:13:03 -05:00
toasted-nutbread
6bd714fec0
Use Map to avoid using for in
2020-02-25 22:12:00 -05:00
toasted-nutbread
798517cdf1
Use for of
2020-02-25 22:11:58 -05:00
toasted-nutbread
2e0b3a6ccc
Refactor dictNoteFormat
2020-02-25 20:38:18 -05:00
toasted-nutbread
3795af6cb5
Use Object.entries rather than for in
2020-02-25 19:54:59 -05:00
toasted-nutbread
13a94d06ea
Update styles
2020-02-25 19:38:52 -05:00
siikamiika
a0d5d9a821
fix opening options in new tab
2020-02-26 01:54:40 +02:00
706c3edcff
version bump
2020-02-24 21:30:37 -08:00
siikamiika
ffad78f7d4
temporarily disable navigation header mouse wheel
...
Unblock release #355 , #376
2020-02-24 08:57:48 +02:00
toasted-nutbread
15f79bc78b
Fix popupScalingFactor being limited to integer values
2020-02-23 21:12:43 -05:00
toasted-nutbread
d6454bc999
Remove unused
2020-02-23 16:21:52 -05:00
toasted-nutbread
a0b2e11c10
Use TemplateHandler for DisplayGenerator
2020-02-23 16:18:13 -05:00
toasted-nutbread
0c4aa2eeb9
Fix trailing newlines not actually generating a new line in the imposter
...
This was causing vertical scroll offset issues
2020-02-23 13:04:55 -05:00
toasted-nutbread
7697643966
Reject with a consistent error
2020-02-23 11:59:57 -05:00
toasted-nutbread
5a5c18371c
Use textContent instead of innerText
2020-02-23 11:58:17 -05:00
toasted-nutbread
53220af68e
Don't use innerHTML
2020-02-23 11:49:52 -05:00
toasted-nutbread
c0d91bffc4
Add no-shadow
2020-02-22 14:53:02 -05:00
toasted-nutbread
0c8f567e6d
Fix indentation
2020-02-22 14:52:09 -05:00
toasted-nutbread
56567903a5
Fix unnamed functions
2020-02-22 14:52:09 -05:00
toasted-nutbread
c3e7280365
Simplify ternary
2020-02-22 14:52:09 -05:00
toasted-nutbread
aa76113e75
Fix block padding
2020-02-22 14:52:09 -05:00
toasted-nutbread
6d75637ace
Fix brace style issues
2020-02-22 14:52:08 -05:00
toasted-nutbread
1944f7a215
Fix indent
2020-02-22 14:52:08 -05:00
toasted-nutbread
54bb702b84
Updates for PR feedback
2020-02-22 14:43:06 -05:00
toasted-nutbread
f143632f28
Simplify only assignment
2020-02-22 14:43:06 -05:00
toasted-nutbread
19fb7dacb4
Assign result properties to variables to reduce number of lookups
2020-02-22 14:43:06 -05:00
toasted-nutbread
69b5007842
Reduce number of redundant Map.get calls in dictTermsMergeByGloss
2020-02-22 14:43:06 -05:00
toasted-nutbread
45c685d00a
Add variables for expression and reading
2020-02-22 14:43:06 -05:00
toasted-nutbread
50a171bc75
Simplify update of mergedIndices
2020-02-22 14:43:06 -05:00
toasted-nutbread
89af73b61b
Use Map
2020-02-22 14:43:06 -05:00
toasted-nutbread
5e8b408a23
Change secondarySearchTitles to secondarySearchDictionaries
2020-02-22 14:43:06 -05:00
toasted-nutbread
b6718dc4a4
Use findTerms instead of findTermsInternal
2020-02-22 14:43:06 -05:00
toasted-nutbread
1c828d205c
Remove unused dictRowsSort
2020-02-22 14:43:06 -05:00
toasted-nutbread
cc2e21cd86
Use Map for dictEnabledSet
2020-02-22 14:43:05 -05:00
toasted-nutbread
b0c566417f
Replace getIndexOfTouch with getTouch
2020-02-22 14:37:10 -05:00
toasted-nutbread
7afc23427e
Use URLSearchParams
2020-02-22 14:37:10 -05:00
toasted-nutbread
163211ade3
Use Map
2020-02-22 14:37:10 -05:00
toasted-nutbread
a4bdffbd9d
Use Map
2020-02-22 14:37:10 -05:00
toasted-nutbread
5587116bae
Simplify spread
2020-02-22 14:37:10 -05:00
toasted-nutbread
bc94970a46
Use Map
2020-02-22 14:37:10 -05:00
toasted-nutbread
cae8ed2767
Use Array.isArray instead of hasOwn
2020-02-22 14:37:10 -05:00
toasted-nutbread
1f62dfa572
Use Set
2020-02-22 14:37:10 -05:00
toasted-nutbread
886278b19d
Use Set
2020-02-22 14:36:07 -05:00
toasted-nutbread
452eec8a88
Use Map
2020-02-22 14:36:07 -05:00
toasted-nutbread
77a3dadd0b
Make schema errors have more information
2020-02-22 13:25:28 -05:00
toasted-nutbread
d76ab91f83
Update validate function name in close
2020-02-22 12:45:50 -05:00
toasted-nutbread
86d0fb6643
Require format to be 1, 2, or 3
2020-02-22 12:09:34 -05:00
toasted-nutbread
62d4f68412
Define old tagMeta format in index file
2020-02-22 12:09:34 -05:00
toasted-nutbread
086fefc921
Validate data before importing
2020-02-22 12:09:34 -05:00
toasted-nutbread
d620f40448
Remove old dictionary import functions
2020-02-22 12:09:34 -05:00
toasted-nutbread
177bca4865
Create new dictionary import function
2020-02-22 12:09:33 -05:00
toasted-nutbread
212e5428e8
Mark private functions in database.js
2020-02-22 12:09:33 -05:00
toasted-nutbread
a8b1e40a1e
Close to prevent hangs
2020-02-19 19:59:24 -05:00
toasted-nutbread
0f46e3a093
Use a token to ensure that messages are coming from Yomichan
2020-02-17 11:02:21 -05:00
toasted-nutbread
aee16c4431
Check origin on window messages
2020-02-16 23:41:17 -05:00
toasted-nutbread
ae4ee9ddee
Fix error handling on style injection
2020-02-16 21:49:28 -05:00
toasted-nutbread
e173a71ba6
Fix CSS injection on about:blank pages
2020-02-16 21:46:13 -05:00
toasted-nutbread
3d27e80ae6
Delay CSS injection until a popup is created
2020-02-16 21:46:13 -05:00
toasted-nutbread
9fd6ee382d
Create more generic function for injecting stylesheets
2020-02-16 21:46:13 -05:00
toasted-nutbread
d3aefdc4e3
Override setCustomOuterCss instead of Popup.injectOuterStylesheet
2020-02-16 21:45:30 -05:00
toasted-nutbread
b6a50e234c
Change parameter name
2020-02-16 21:44:45 -05:00
toasted-nutbread
2c3f510010
Allow apiInjectStylesheet to inject a URL
2020-02-16 21:43:35 -05:00
toasted-nutbread
1c6ed1d286
Set URL before adding to the document
2020-02-16 21:41:31 -05:00
toasted-nutbread
c6efa65626
Fix missing argument
2020-02-16 19:09:33 -05:00
toasted-nutbread
dcd243c9e9
Update how popups are created
2020-02-16 18:59:08 -05:00
toasted-nutbread
5d3c13ee98
Tweak how fullscreen changes are observed
2020-02-16 18:52:04 -05:00
toasted-nutbread
070ae70f7c
Create EventListenerCollection class
2020-02-16 18:47:57 -05:00
toasted-nutbread
36605f74c3
Undo "Obscure the iframe's URL from the host page"
...
There are some additional issues which cause the frame to be reset to
about:blank on certain occasions which must be fixed before this can be
used.
2020-02-16 18:47:46 -05:00
toasted-nutbread
cc989f4411
Add "match_about_blank": true to manifest
2020-02-16 14:22:19 -05:00
toasted-nutbread
6df5220e02
Prevent multiple prepare calls
2020-02-16 12:23:40 -05:00