Commit Graph

3368 Commits

Author SHA1 Message Date
toasted-nutbread
ecc994a8bb
ScriptManager updates (#2022)
* Fix spacing

* Add more parameters to injectStylesheet

* Add more parameters to injectScript

* Update ScriptManager to support content script registration

* Add webNavigation as an optional permission
2021-11-23 16:16:13 -05:00
toasted-nutbread
cedf6b25c4
ScriptManager (#2021)
* Create ScriptManager class

* Use ScriptManager in Backend
2021-11-22 19:29:20 -05:00
toasted-nutbread
b0a0184334
Update sentence parsing settings (#2020)
* Update description

* Update descriptions of the parsing algorithms
2021-11-21 22:09:58 -05:00
toasted-nutbread
005f9658d9
Action handler name disambiguation (#2018)
* Disambiguate PopupFactory action handlers

* Update HotkeyHandler action names

* Disambiguate Frontend action handlers

* Disambiguate Display action handlers

* Disambiguate PopupPreviewFrame action handlers

* Disambiguate Yomichan action handlers

* Disambiguate Frontend action handlers

* Disambiguate Display action handlers

* Disambiguate SearchDisplayController action handlers
2021-11-21 15:54:58 -05:00
toasted-nutbread
06e70c1cd8
FrameOffsetForwarder fixes (#2017)
* Fix handling of null iframe rect

* Handle errors inside of getOffset
2021-11-21 15:08:39 -05:00
toasted-nutbread
36967b1839
General refactoring (#2016)
* Remove // Public comments

* Fix errors

* Remove source parameter from Popup*.setOptionsContext
2021-11-21 12:34:57 -05:00
toasted-nutbread
3c798ae36d
Refactor isExtensionUrl (#2015)
* Update isExtensionUrl to work even if the extension is unloaded

* Simplify
2021-11-21 12:27:29 -05:00
toasted-nutbread
70ac6c51f9
Don't clear the selection before the text scanner has been enabled (#2006) 2021-11-13 11:11:33 -05:00
toasted-nutbread
657292733d
Fix search page not being cleared properly (#2005) 2021-11-13 09:29:58 -05:00
toasted-nutbread
c1a51ae41f Update version 2021-10-31 21:47:00 -04:00
toasted-nutbread
2dc8394c72
JSDoc update (#1996)
* Update core.js docs to include types.

* Update docs
2021-10-31 21:45:57 -04:00
toasted-nutbread
f978819a33
Don't stop audio playback when hiding a popup (#1995) 2021-10-21 19:56:43 -04:00
toasted-nutbread
9ae38bd8e9
Display menu button (#1992)
* Implement new menu which includes a debug log option

* Update wording
2021-10-17 09:55:13 -04:00
toasted-nutbread
ca4ed0300b
Display button updates (#1991)
* Update display buttons

* Remove use of _addMultipleEventListeners
2021-10-17 00:15:43 -04:00
toasted-nutbread
75aabd983d
String frequency support (#1989)
* Restore support for string frequency values

* Add support for {value, displayValue} frequencies

* Update test data

* Improve number parsing of string frequencies

* Improve reading detection

* Expose a displayValue property for frequency information

* Update docs

* Expose displayValue to Anki note data

* Fix translator

* Update display generation

* Update test data

* Update counts
2021-10-14 21:26:53 -04:00
toasted-nutbread
11f7591a7f
Fix query being set to null when an empty search page is opened (#1988) 2021-10-14 21:16:40 -04:00
Shadowlauch
b3d38fce47
fix DOMRect for vertical position calculation (#1986) 2021-10-14 19:29:52 -04:00
toasted-nutbread
0a8992d215
Search query back button (#1981)
* Always allow history to go back/forward when using browser history

* Add a back button which is visible when using the query parser
2021-10-09 17:06:51 -04:00
toasted-nutbread
0e4b769390
Search CSS updates (#1979)
* Update styles

* Limit the height of the query parser
2021-10-09 14:32:56 -04:00
toasted-nutbread
e3986196e1
Disable background clipboard monitor, mecab, and anki if disabled (#1977) 2021-10-03 16:46:22 -04:00
toasted-nutbread
be8ef53e90
Display refactoring (#1978)
* Refactor _setContentTermsOrKanji

* Update query assignment

* Simplify

* Remove redundant _updateQueryParser

* Reorder query assignment

* Remove isTerms, replace with isKanji

* Simplify defaults

* Refactor events

* Update DisplayAnki to use events

* Simplify

* Update DisplayAudio to use events

* Simplify

* Move audio hotkeys

* Add frameVisibilityChange event

* Fix name

* Add logDictionaryEntryData event

* Move clearAutoPlayTimer handler

* Fix call

* Externalize DisplayAnki and DisplayAudio from Display

* Simplify clear
2021-10-03 16:46:15 -04:00
toasted-nutbread
d14268eb57 Update version 2021-09-30 21:13:12 -04:00
toasted-nutbread
52e4bc8e6a
Add disable-popup-preview option to the settings page (#1974) 2021-09-30 21:12:26 -04:00
toasted-nutbread
19eb990aeb
DOMRect update (#1973)
* Compare using left/top rather than x/y

* Simplify

* Update Popup*.getFrameRect to return a custom structure

* Don't use x/y on DOMRect
2021-09-30 21:05:34 -04:00
toasted-nutbread
6cf01555e7
Make accessibility settings non-advanced (#1972) 2021-09-30 19:41:26 -04:00
toasted-nutbread
55a7e7f9a8
Hotkey dictionary navigation fix (#1970)
* Add getRect function to ScrollElement

* Update _focusEntry to take a definition index

* Update behaviour of (next|previous)EntryDifferentDictionary
2021-09-30 19:31:45 -04:00
toasted-nutbread
b0f6c41f5d
Search query offset value (#1968)
* Add type property to TextSource* classes

* Use type property rather than instanceof

* Expose a sentence offset value

* Use offset added to URL

* Improve fallback sentence for Anki note context
2021-09-27 19:07:28 -04:00
toasted-nutbread
b784e5b11a
Katakana to hiragana conversion options (#1965)
* Refactor convertKatakanaToHiragana

* Add keepProlongedSoundMarks option

* Test keepProlongedSoundMarks option

* Refactor

* Add keepProlongedSoundMarks option to hiragana handlebars helper

* Update documentation
2021-09-27 18:19:53 -04:00
toasted-nutbread
729abbf561
Remove display query post process (#1967)
* Remove search query post-processing

* Remove _rawQuery, as it is redundant with _query
2021-09-26 22:14:52 -04:00
toasted-nutbread
ba267a545c
Rename dictionary import steps (#1966) 2021-09-26 20:08:16 -04:00
toasted-nutbread
247c929bba
Update document-start.js to only run for docs.google.com (#1964)
* Update document-start.js to only run for docs.google.com

* Update manifest
2021-09-26 18:23:57 -04:00
toasted-nutbread
c364714c81
Fix hotkey input field conflict (#1963)
* Move comment

* Add DocumentUtil.isInputElement

* Use DocumentUtil.isInputElement

* Fix simple hotkeys (shift or no modifier) preventing text field input

* Improve input detection

* Validate key is an input character before blocking hotkey

* Simplify

* Fix incorrect property
2021-09-26 18:14:00 -04:00
toasted-nutbread
d739ccd63f
Fix japanese codepoint range issues (#1960)
* Add CJK_COMPATIBILITY_IDEOGRAPHS_RANGE

* Rename CJK_UNIFIED_IDEOGRAPHS_RANGES => CJK_IDEOGRAPH_RANGES

* Simplify isKana check

* Update tests
2021-09-26 13:29:55 -04:00
toasted-nutbread
25fe3ba514
Revert term/reading string normalization due to undesirable changes (#1959) 2021-09-26 13:29:50 -04:00
toasted-nutbread
076170cc38
Fix regexMatch and regexReplace handlebars helper functions (#1958) 2021-09-26 12:15:00 -04:00
toasted-nutbread
6694a9d9c3
Enable frequency dictionaries to specify the frequency mode (#1944) 2021-09-26 11:08:25 -04:00
toasted-nutbread
c15683d206
Ensure frequency values are always numbers (#1943) 2021-09-26 11:08:21 -04:00
toasted-nutbread
9899727d7d
Frequency dictionary sort (#1938)
* Add sortDictionary/sortDictionaryOrder options

* Update options

* Add API.getTermFrequencies

* Add settings

* Implement frequency dictionary sorting

* Update test

* Update test data

* Fix handling of undefined rank-based frequencies
2021-09-26 11:08:16 -04:00
toasted-nutbread
88e71f8223
Add data-is-primary attribute to headwords (#1946) 2021-09-11 12:51:51 -04:00
toasted-nutbread
6661933d47
Display button updates (#1945)
* Use span rather than div for button badges

* Update action button icons

* Rename class

* Update current entry indicator
2021-09-10 20:48:03 -04:00
toasted-nutbread
dfddf3792e
Fix redundant secondary term lookups (#1942) 2021-09-09 23:29:41 -04:00
toasted-nutbread
7883d39496
Normalize terms and readings during import (#1941) 2021-09-09 23:25:24 -04:00
toasted-nutbread
069ca1a97b
Anki field templates suggestions (#1940)
* Remove unused

* Bold the suggested default field value
2021-09-08 20:12:26 -04:00
toasted-nutbread
6b566e0329
Rename _onDocumentStart => _onApiDocumentStart for consistency (#1939) 2021-09-08 14:49:00 -04:00
toasted-nutbread
ac12b50939
Dictionary import count details (#1935)
* Store count information when importing a dictionary

* Add importDate

* Update property ordering

* Update tests

* Update importDate
2021-09-07 11:12:58 -04:00
toasted-nutbread
c91831a817
Anki template regex helper updates (#1934)
* Update regexReplace and regexMatch to support content arguments

* Update documentation
2021-09-05 22:59:46 -04:00
toasted-nutbread
b988417031
Fix incorrect index being used for headword removal (#1933) 2021-09-05 21:07:23 -04:00
toasted-nutbread
97a80276f6
Database readwrite transaction updates (#1932)
* Add _readWriteTransaction helper

* Improve deleteDictionary order

* Make onProgress event optional

* Simplify progress rate parameter
2021-09-05 20:00:08 -04:00
toasted-nutbread
f68ad1f843
Structured content data (#1930)
* Add support for structured-content data attributes

* Assign dataset properties

* Don't remove data-sc attributes

* Use helper functions

* Update test data
2021-09-04 12:43:56 -04:00
toasted-nutbread
eb457caea9
Fix repeated note IDs shown on the "View Note" button (#1927) 2021-09-03 22:42:27 -04:00
toasted-nutbread
0331374241
Dictionary media import improvements (#1926)
* Add base64ToArrayBuffer to StringUtil

* Remove unnecessary media-util.js import

* Run async requirements in serial rather than parallel

* Update API.getMedia handler to convert ArrayBuffer content to base64

* Rename getImageResolution to getImageDetails

* Change parameter order of getImageDetails

* Pre-process and store media as an ArrayBuffer

* Remove MediaUtil.createBlobFromBase64Content

* Fix Anki media injection
2021-09-03 22:33:58 -04:00
toasted-nutbread
764d59df13 Update version 2021-08-31 21:49:57 -04:00
toasted-nutbread
1599ec1f15
Fix dictionary import total progress (#1921)
* Fix incorrect total count for final step of dictionary import

* Update tests to validate progress args
2021-08-31 21:42:18 -04:00
toasted-nutbread
02194fcb9f
Add support for structured content margins (#1920) 2021-08-31 21:08:30 -04:00
toasted-nutbread
ce1a862df4
Fix empty sentence on some search page URLs (#1919) 2021-08-31 20:45:29 -04:00
toasted-nutbread
3e7f3af63c
Fix history replacement issue (#1917)
* Remove unused "history" field of event details

* Change setContent history parameter to historyMode
2021-08-30 21:55:08 -04:00
toasted-nutbread
f565cc5a47
Improve accessibility of links without href (#1915) 2021-08-28 14:45:25 -04:00
toasted-nutbread
87fbb3c01c
Dictionary worker updates (#1914)
* Add support for running getDictionaryCounts via DictionaryWorker

* Run dictionary integrity checks on a separate thread

* Remove api.getDictionaryCounts
2021-08-28 14:30:50 -04:00
toasted-nutbread
74709296e5
Dictionary database worker refactoring (#1913)
* Rename DictionaryWorker => DictionaryWorkerHandler

* Rename var

* Rename file

* Simplify

* Rename DictionaryDatabaseModifier => DictionaryWorker

* Rename dictionary-database-modifier.js => dictionary-worker.js
2021-08-28 14:22:16 -04:00
toasted-nutbread
93f193c89e
Fix incorrect dictionary name ordering being used for counts (#1912) 2021-08-28 13:47:03 -04:00
toasted-nutbread
dfd52e1ecd
Hiragana & katakana helpers (#1908)
* Add hiragana and katakana template helpers

* Update documentation

* Fix documentation
2021-08-25 21:58:51 -04:00
toasted-nutbread
dd10dd601e
Replace ... with … (#1902) 2021-08-20 20:56:33 -04:00
toasted-nutbread
9bc708bb8d
Fix border radius on the outline-item style (#1901) 2021-08-20 18:20:56 -04:00
toasted-nutbread
e56734fc88
Input styles updates (#1900)
* Rename class

* Update styles

* Use input-group class

* Update styles

* Update input line height

* Update border styles

* Update styles

* Update line height

* Update styles

* Update line height

* Update line height

* Update outline item style
2021-08-20 18:13:56 -04:00
toasted-nutbread
b08bf103eb
Add connection icon (#1898) 2021-08-15 10:52:50 -04:00
toasted-nutbread
b6fc786f9a
Update dictionary importer progress event for step 6 to occur slightly earlier (#1897) 2021-08-14 18:16:30 -04:00
toasted-nutbread
4839503d54
Threaded dictionary delete (#1895)
* Generalize dictionary worker

* Add deleteDictionary functionality

* Update DictionaryController to use DictionaryDatabaseModifier

* Fix incorrect result handling
2021-08-14 12:41:58 -04:00
toasted-nutbread
3e350bd563
Dictionary worker refactor (#1894)
* Rename dictionary worker files

* Rename classes

* Rename file

* Rename class

* Generalize the _invoke method

* Rename 'import' to 'importDictionary'

* Improve DictionaryImporterMediaLoader usage

* Refactor message handler

* Generalize onProgress event
2021-08-14 11:46:26 -04:00
toasted-nutbread
cd78d56fee
Database improvements to data persistency (#1893)
* Fix function check

* Rename arguments of getAll, getAllKeys, and their private functions

* Simplify bulkAdd

* Simplify delete

* Simplify bulkDelete

* Remove persistData
2021-08-13 18:35:31 -04:00
toasted-nutbread
9facacfb23
Update CssStyleApplier.prepare to passively fail if it can't read the file (#1891) 2021-08-11 20:14:19 -04:00
toasted-nutbread
9e7e9da1c3
Update third-party libraries (#1886)
* Update third-party libraries

* Update README

* Update legal.html
2021-08-10 20:11:56 -04:00
toasted-nutbread
916189f402
Fix auto-play not working on the search page (#1882) 2021-08-10 19:23:05 -04:00
toasted-nutbread
69e448a955
Add support for manifest V3 script injection (#1878) 2021-08-07 17:17:53 -04:00
toasted-nutbread
2d5e6f8394
Fix data not being persisted after terminating Worker thread (#1877) 2021-08-07 15:25:00 -04:00
toasted-nutbread
5d4141a429
Google Docs accessibility (#1875)
* Add accessibility option for forcing Google Docs HTML-based rendering

* Update settings

* Send a documentStart message at document start

* Add accessibility script for Google Docs

* Set up accessibility

* Update tests
2021-08-07 12:40:51 -04:00
toasted-nutbread
ad31b70b67
Add accessibility icon (#1874) 2021-08-07 11:49:36 -04:00
toasted-nutbread
edb0aaf6b4
Improve audio auto play cancellation (#1873)
* Cancel automatic audio playback when hiding the popup

* Don't play audio if the popup is hidden
2021-08-02 19:25:10 -04:00
toasted-nutbread
b0df8045f6 Update version 2021-07-31 19:24:02 -04:00
toasted-nutbread
cd3f47a359
Dictionary import progress improvements (#1868)
* Update loop vars

* Update loop

* Improve progress reporting during the import process
2021-07-31 19:13:41 -04:00
toasted-nutbread
01c5c5c04b
Dictionary importer refactoring (#1867)
* Remove map of schemas

* Don't reuse dictionary importer instances

* Refactor

* Update how progress callback is used
2021-07-31 18:08:51 -04:00
toasted-nutbread
1d6e437fb2
Dictionary importer refactor (#1866)
* Move function implementations

* Use file() instead of files[]

* Move functionality into local functions

* Simplify

* Pass dictionary title to conversion functions

* Update how legacy tags are added
2021-07-31 16:53:38 -04:00
toasted-nutbread
8c4a50f68c
DictionaryImporterThreaded (#1865)
* Create new classes for importing dictionaries from a separate thread

* Use threaded importer

* Update worker tests
2021-07-31 14:46:09 -04:00
toasted-nutbread
11f210375e
DictionaryImporter improvements (#1862)
* Improve error message

* Simplify URL for JSON fetching
2021-07-31 14:00:19 -04:00
toasted-nutbread
454ffaad96
StringUtil (#1861)
* Add StringUtil class

* Use StringUtil
2021-07-31 13:04:16 -04:00
toasted-nutbread
00c5ae7983
DictionaryImporterMediaLoader (#1860)
* Rename param for consistency

* Move media loading functionality into DictionaryImporterMediaLoader

* Create test class for media loading

* Remove unnecessary Blob/Image/URL functionality
2021-07-31 12:30:31 -04:00
toasted-nutbread
2d57d69b9e
Improve dictionary importer (#1859)
* Optimize dictionary data parsing during import

* Use ArrayBuffer instead of string

* Add missing function for testing
2021-07-31 10:53:35 -04:00
toasted-nutbread
b99850ed54
Call URL.revokeObjectURL for created URLs (#1858)
* Call URL.revokeObjectURL for created URLs

* Refactor image usage
2021-07-29 21:16:55 -04:00
toasted-nutbread
a0fa67d57c
Update JsonSchema (#1856)
* Fix issues with validating properties

* Simplify multiple destructuring

* Add an optiona progress callback

* Add functions

* Add more functions
2021-07-28 20:31:36 -04:00
toasted-nutbread
b0596c8a3c
Rename pitchAccent in source code (#1852)
* Rename pitchAccentPosition to pitchAccentDownstepPosition

* Rename function

* Rename

* Rename

* pitches => pronunciations
2021-07-26 19:45:30 -04:00
toasted-nutbread
a9710b8acf
Rename CSS class names "pitch-accent" to "pronunciation" (#1850)
* pitch-accents => pronunciations

* Update dataset property names

* pitch-accent-dictionary => pronunciation-dictionary

* Update styles

* Update template name

* Update attributes
2021-07-25 18:16:07 -04:00
toasted-nutbread
3f73889874
Update de/serializeError functions to only serialize data if present (#1849) 2021-07-25 12:54:26 -04:00
toasted-nutbread
73f06a3fa0
Fix definition image aspect ratio issue (#1847)
* Fix incorrect aspect ratio

* Update test data
2021-07-22 18:11:46 -04:00
Thermospore
2d36714093
List vz rule identifier in term bank schema (#1843)
Also could you describe the purpose of the `iru` rule identifier further?
2021-07-19 18:42:12 -04:00
toasted-nutbread
2ee3e3a7a1
Update pronunciation anki templates (#1842)
* Update anki pronunciation templates

* Expose nasalPositions/devoicePositions

* Update templates to support nasal/devoice positions

* Update test data
2021-07-18 16:01:42 -04:00
toasted-nutbread
637d4a2087
Pronunciation template helper (#1840)
* Rename field

* Set up pronunication components

* Fix documentation

* Rename function

* Update test dependencies

* Fix constructor

* Log errors

* Add pronunciation helper

* Add styleApplier argument to _getHtml/_normalizeHtml

* Use getAttribute for 'class' to support namespaced elements (e.g. svg)

* Update format name

* Add optional tag

* Update docs
2021-07-18 13:43:11 -04:00
toasted-nutbread
10a9da4d31
Anki template renderer abstraction (#1839)
* Add AnkiTemplateRenderer abstraction

* Move Anki-specific template functionality into AnkiTemplateRenderer

* Add documentation comments
2021-07-18 11:20:03 -04:00
toasted-nutbread
e1230c7934
CSS JSON styles generalization (#1838)
* Rename files

* Generalize custom CSS generation and testing

* Add CSS JSON file for display pronunciation
2021-07-17 22:39:25 -04:00
toasted-nutbread
fafa746a63
Sandbox script folders (#1837)
* Move scripts

* Update paths

* Fix ordering

* Simplify eslint rules
2021-07-17 17:10:25 -04:00
toasted-nutbread
3e938f1a1f
Display pronunciation refactor (#1835)
* Simplify svg and container styles

* Rename pitch-accent-details to pitch-accent-graph-container

* Rename pitch-accent-graph* to pronunciation-graph*

* Remove unused template

* Omit quotes

* Rename pitch-accent-character to pronunciation-mora

* Simplify names

* Replace pronunciation-mora-inner with pronunciation-character

* Improve grouping of nasal characters

* Simplify character replacement

* Replace pseudo-elements with real elements

* Use an element rather than a fragment

* Rename functions

* Add wrapper

* Rename pitch-accent-characters to pronunciation-text-container

* Update test data

* Update downstep notation generation

* Rename pitch-accent-position to pronunciation-downstep-notation-container

* Space

* Wrap pronunciations in a container node

* Update preview

* Embed pitch accent styles directly
2021-07-17 14:44:36 -04:00
toasted-nutbread
a933cfdc07
Pronunciation nasal improvement (#1834)
* Organize

* Add utility to get diacritic information about a character

* Show mora without diacritic

* Add a hidden handakuten for copy-paste purposes
2021-07-17 12:20:11 -04:00