Commit Graph

399 Commits

Author SHA1 Message Date
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
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
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
toasted-nutbread
4a2b824371
Display pronunciation separation (#1833)
* Create PronunciationGenerator

* Update DisplayGenerator

* Update templates

* Move pronunciation styles to a separate file

* Simplify pitch-accents-preview.html
2021-07-17 10:26:20 -04:00
toasted-nutbread
41fc76d6fd
Devoice and nasal pronunciation info (#1832)
* Update schema to support information about nasal and devoiced mora

* Expose nasalPositions and devoicePositions in dictionary entry data

* Expose nasalPositions, devoicePositions in grouped pitch info

* Update display generator

* Update test dictionary data

* Update test data
2021-07-15 22:39:33 -04:00
toasted-nutbread
25d74140ce
Multi view note (#1829)
* Add support for a menu to view multiple note IDs

* Show a + badge when there are multiple notes available

* Organize
2021-07-14 22:37:18 -04:00
toasted-nutbread
d058237ba7
Duplicate scope check all models (#1810)
* Add duplicateScopeCheckAllModels option to createNote

* Add duplicateScopeCheckAllModels option

* Add setting
2021-07-13 20:29:53 -04:00
toasted-nutbread
d5320c71a6
Throw an error when _getProfile doesn't have a matching profile (#1826) 2021-07-13 20:19:48 -04:00
toasted-nutbread
437b588411
Fix case where "ready" message is received before frame "load" event (#1822) 2021-07-10 21:37:37 -04:00
toasted-nutbread
d897fb553d
Improve error when card has missing content (#1818) 2021-07-09 20:26:20 -04:00
toasted-nutbread
7a1570885e
Simplify get media structure (#1817)
* Remove format argument of getMedia

* Implement escaping
2021-07-09 20:14:05 -04:00
toasted-nutbread
22f048e527
Update Anki field marker menu (#1816)
* Update anki field marker menu to have less vertical padding

* Update positioning of field marker menu
2021-07-09 18:21:29 -04:00
toasted-nutbread
d446484947
Remove old settings main.js (#1815) 2021-07-09 18:09:15 -04:00
toasted-nutbread
8c68fa4d94
Anki text furigana parsing and {sentence-furigana} marker (#1814)
* Add support for textFurigana media

* Add readingMode parameter

* Implement readingMode

* Add {sentence-furigana} marker

* Fallback to sentence if furigana isn't available

* Update test data
2021-07-09 17:48:27 -04:00
toasted-nutbread
0d16709547
JapaneseUtil updates (#1813)
* Rename test file

* Use shorthand

* Add support checking functions

* Remove convertReading from JapaneseUtil
2021-07-09 17:31:16 -04:00
toasted-nutbread
daa44a8389
Fix an issue with reordering dictionary settings (#1812) 2021-07-09 16:06:12 -04:00
toasted-nutbread
24ec22b2e1
Text parse updates (#1811)
* Expose more settings to QueryParser

* Rename textParse to parseText

* Refactor

* Convert reading inside QueryParser rather than Backend

* Remove use of readingMode from backend

* Rename

* Update parseText args

* Simplify

* Update results

* Move use of optionsContext

* Run mecab and internal parser in parallel

* Added "dictionary-reading" reading mode

* Update romaji conversion case
2021-07-09 16:05:57 -04:00
toasted-nutbread
315dc425e4
Anki card selected text (#1809)
* Add support for injecting the text selection into Anki cards

* Add selection-text

* Upgrade to add {selection-text}

* Update descriptions

* Update test data
2021-07-07 20:00:30 -04:00
toasted-nutbread
9935e154f1
Update options-util tests and comment (#1806) 2021-07-06 22:59:24 -04:00
toasted-nutbread
1088c17503
Add support for injecting dictionary media into Anki cards (#1805) 2021-07-06 22:00:18 -04:00
toasted-nutbread
8d1596cdf8
Fix incorrect resultOutputMode (#1804) 2021-07-06 21:49:57 -04:00
toasted-nutbread
df72c3927b
Fix function names (#1803) 2021-07-06 20:07:13 -04:00
toasted-nutbread
e88d63fc6d
Template renderer media updates (#1802)
* Add TemplateRendererMediaProvider to abstract media-related functionality

* Update representation of injected media

* Update templates

* Update upgrade file

* Update tests

* Update test data

* Force media to be an object

* Update test data
2021-07-06 19:43:53 -04:00
toasted-nutbread
e155132085
OptionsUtil and tests updates (#1801)
* Update OptionsUtil.update to support an optional targetVersion param

* Update Anki template updates to have an explicit target version
2021-07-05 23:24:06 -04:00
toasted-nutbread
54808d4a2d
Pass requirements to note generation (#1800)
* Update structure

* Pass requirements to _createNote

* Show an error for requirements that weren't fulfilled
2021-07-05 16:59:30 -04:00
toasted-nutbread
da13a2ebff
DisplayAnki note requirements (#1799)
* Update how errors are collected from _formatField

* Expose requirements
2021-07-05 15:08:11 -04:00
toasted-nutbread
0491de12d4
Store anki note details (#1798)
* Update error handling of _areDictionaryEntriesAddable

* Store note details

* Remove promise after use

* Rename function

* Clear stored details

* Rename function

* Rename function
2021-07-05 14:41:11 -04:00
toasted-nutbread
b8478857aa
Refactor DisplayAnki.setupEntriesComplete params and implementation (#1794) 2021-07-04 11:11:05 -04:00
toasted-nutbread
468c923277
Update the note context object generation process to ensure consistency (#1792) 2021-07-03 20:09:22 -04:00
toasted-nutbread
ea47cb8248
DisplayAnki (#1791)
* Remove anki functionality from display

* Rename function

* Display API updates

* Use DisplayAnki

* TODO
2021-07-03 19:32:11 -04:00
toasted-nutbread
82b7ebfa58
Remove uniqueness check for requirements (#1790) 2021-07-03 11:35:03 -04:00
toasted-nutbread
f7d177e6d0
Refactor createNote (#1789)
* Update createNote to return a wrapper object

* Update how createNote creates errors
2021-07-03 11:30:48 -04:00
toasted-nutbread
d7c934cae8
Fix simple glossary HTML not being escaped (#1788) 2021-07-03 10:46:51 -04:00
toasted-nutbread
ca97e38bd2
Anki support for structured-content (#1786)
* Update how glossary text is formatted

* Update structured content and image generation

* Pass root data to _createStructuredContentGenerator

* Implement media URLs

* Update documentation

* Update options util

* Apply styles to content

* Improve HTML normalization

* Update DatabaseVM.fetch function

* Update test

* Update test data
2021-07-02 22:46:38 -04:00
toasted-nutbread
a4715935cb
More CssStyleApplier updates (#1785)
* Update eslint rules for css-style-applier.js

* Don't use chrome.runtime.getURL

* Update CSP to allow inline styles
2021-07-02 22:12:02 -04:00
toasted-nutbread
56b2462f13
CssStyleApplier updates (#1784)
* Remove debug log

* Remove style attribute if empty

* Remove data-* attributes
2021-07-02 18:28:29 -04:00
toasted-nutbread
ace46503be
Make Display.authenticateMessageData private (#1780) 2021-06-29 22:17:14 -04:00
toasted-nutbread
1f1a958a71
Update CSS rules for images (#1777) 2021-06-28 22:12:17 -04:00
toasted-nutbread
9f3d267e24
Fix incorrect aspect ratio of structured-content images (#1776) 2021-06-28 21:46:54 -04:00
toasted-nutbread
1ba19adfe2
Add CssStyleApplier class (#1773) 2021-06-27 19:21:27 -04:00
toasted-nutbread
32d5fccc36
Template renderer init update (#1772)
* Update TemplateRendererFrameApi to post a 'ready' message

* Wait for 'ready' message rather than using 'load' event
2021-06-27 18:16:21 -04:00
toasted-nutbread
24ef820ba8
Update structured content CSS styles (#1770) 2021-06-27 15:01:35 -04:00
toasted-nutbread
6b8cd5e623
Template patcher updates (#1766)
* Don't append anything if the additions is empty

* Simplify update list
2021-06-26 23:55:06 -04:00
toasted-nutbread
8eb9c94f8a
Template renderer internal data update (#1764)
* Add cleanup callbacks

* Move requirements

* Add custom data
2021-06-26 17:43:07 -04:00
toasted-nutbread
f9167c8fdd
Template rendering updates (#1762)
* Remove unused function

* Update template rendering return value
2021-06-26 17:05:55 -04:00
toasted-nutbread
e5284988e2
Structured content generation updates (#1760)
* Simplify _createElement, fix misuse of classList

* Don't use templates to generate image content

* Omit templates
2021-06-26 15:49:23 -04:00
toasted-nutbread
f389b3c232
Fix missing error logging when logging debug info (#1758) 2021-06-26 15:27:33 -04:00
toasted-nutbread
8d1d428ed4
Move structured-content generation code into a separate file (#1757) 2021-06-26 14:40:37 -04:00
toasted-nutbread
435af3a485
Improve what info is logged when debugging a definition (#1756) 2021-06-26 14:10:18 -04:00
toasted-nutbread
845070b817
Translator sorting updates (#1755)
* Update when definition sorting takes place

* Update test data

* Change order of sorting
2021-06-26 12:37:38 -04:00
toasted-nutbread
6e0a367afc
Translator data format updates (#1754)
* Add {dictionaryIndex, dictionaryPriority} to definitions

* Add score to definitions

* Add id to definition

* Use definition id instead of ids array

* Remove ids array

* Update docs

* Update test data
2021-06-26 11:57:09 -04:00
toasted-nutbread
5756885fa9
Structured content updates (#1753)
* Update schema

* Update content generation

* Update styles

* Update test data

* Update style names
2021-06-25 17:24:29 -04:00
toasted-nutbread
cf70b3de64
Fix search input focus not working properly (#1752) 2021-06-25 16:49:47 -04:00
toasted-nutbread
ef4ea2271b
Fix handling of document.body as <frameset> (#1748) 2021-06-24 19:18:33 -04:00
toasted-nutbread
1878b118fb
Fix an incorrect return value of the EventDispatcher.off function (#1747) 2021-06-24 19:15:09 -04:00
toasted-nutbread
7ae964c830
Structured content updates (#1733)
* Add support for imageRendering

* Make crisp-edges appearance on Firefox more similar to Chrome

* Refactor

* Add background option

* Move data-image-rendering attribute

* Restructure

* Organize

* Add support for appearance

* Update test dictionary

* Update tests
2021-06-06 14:47:48 -04:00
toasted-nutbread
3a095b1f6c
Improve secondary definitions (#1731)
* Improve secondary search definitions

* Simplify
2021-06-05 23:17:13 -04:00
toasted-nutbread
d87515ec12
Translator id updates (#1730)
* Allow unsequenced definitions to be added to multiple groups

* Update translator data to store multiple IDs

* Update Anki note data

* Update test data

* Update docs
2021-06-05 22:27:58 -04:00
toasted-nutbread
057283245e
Add support for definitionless main dictionary (#1729) 2021-06-05 13:35:23 -04:00
toasted-nutbread
57fb496fbc
Simplify createAudio function (#1728) 2021-06-04 20:17:04 -04:00
toasted-nutbread
c7e6c37095
Fix _getMatchURL missing search and not sanitizing wildcards (#1727) 2021-06-03 19:52:00 -04:00
toasted-nutbread
5bf82a5b81
Primary audio fixes (#1719)
* Fix case when subIndex is not assigned

* Fix incorrect assignment of primary card audio

* Improve opacity style

* Improve styles for :focus-visible
2021-05-30 13:29:55 -04:00
toasted-nutbread
cca01e85a3
Improve multiple audio sources (#1718)
* Add url/voice options to audio sources

* Add help for TTS

* Remove old settings

* Update tests

* Update use of audio source URL

* Improve labels for sources with the same type
2021-05-30 12:41:19 -04:00
toasted-nutbread
efd35de67f
Refactor display audio options (#1717)
* Update how options are updated and stored in DisplayAudio

* Add source list

* Improve menus for custom json

* Clear cache after options update

* Move function

* Update public API

* Simplify playing audio from a specific source

* Simplify audio list

* Refactor audio source usage

* Refactoring

* Refactor argument names

* Fix incorrect source usage

* Remove unused

* Remove return value

* Simplify details

* Simplify Anki card audio details

* Update the data that is passed to AudioDownloader

* Simplify schema handling

* Remove unnecessary details
2021-05-30 12:15:07 -04:00
toasted-nutbread
0f0e80aadb
Refactor AudioController (#1715)
* Remove unused checks/code

* Refactor audio controller into AudioController and AudioSourceEntry
2021-05-27 22:16:34 -04:00
toasted-nutbread
52aa92208c
Fix set/deleteProperty not allowing array splicing (#1713)
* Fix set/deleteProperty not allowing array splicing

* Update tests
2021-05-26 21:08:24 -04:00
toasted-nutbread
8ed712512b
Add some help popups for custom audio sources (#1712) 2021-05-26 20:40:53 -04:00
toasted-nutbread
0232325f96
Refactor json audio source (#1711)
* Move sources to the end of audio options object

* Add custom-json audio source type

* Add support for downloading custom-json

* Remove customSourceType
2021-05-26 20:38:15 -04:00
toasted-nutbread
900bceda47
Fix json schema array properties (#1709)
* Fix proxy array properties being handled incorrectly

* Add tests to check array properties
2021-05-24 18:53:42 -04:00
toasted-nutbread
54e102f343
Json schema ref support (#1708)
* Add basic support for JSON schema $ref

* Add tests
2021-05-23 15:49:25 -04:00
toasted-nutbread
8e330d54d6
Fix popup preview disappearing after changing a setting (#1707) 2021-05-23 14:30:31 -04:00
toasted-nutbread
5188e49cd4
Clean up settings v1 code from PopupPreviewController (#1706)
* Clean up settings v1 code from PopupPreviewController

* Remove unused global
2021-05-23 13:36:43 -04:00
toasted-nutbread
24d43c123d
Fix incorrect selector causing invalid headword index to be used (#1705) 2021-05-23 13:20:38 -04:00
toasted-nutbread
41c0132c59
Improve support for sandboxed iframes (#1704)
* Add more tests

* Improve handling of errors from setupFrame

* Passively handle errors when contentDocument is null
2021-05-23 12:29:54 -04:00
toasted-nutbread
d182e55527
Rename internal JSON schema functions to match new return type (#1699) 2021-05-22 18:01:16 -04:00
toasted-nutbread
d7cf019b4a
Json schema improvements (#1698)
* Simplify schema multi-push/pop

* Reverse order of schema path

* Reverse order of value path

* Simplify schema path structure

* Rename for better clarity
2021-05-22 17:56:44 -04:00
toasted-nutbread
d16739a83a
Json schema validation improvements (#1697)
* Create new JsonSchema class

* Add proxy handler

* Update tests

* Update validation scripts

* Update backend

* Update audio downloader

* Update options util

* Update dictionary importer

* Update json schema file reference

* Remove old json-schema.js

* Rename new json-schema.js

* Update file names

* Rename class
2021-05-22 15:45:20 -04:00
toasted-nutbread
1096bbfa33
Update schema tests (#1693)
* Update helper functions

* Rename file

* Update deleteProperty

* Add some basic proxy tests
2021-05-22 14:01:32 -04:00
toasted-nutbread
be23acf499
Structured content image size units (#1692)
* Add support for sizeUnits on image content

* Update test data
2021-05-20 19:33:08 -04:00
toasted-nutbread
6184bcb812
Selection clear improvements (#1690)
* Update selection clear process

* Clean up old clearSelection API

* Update clear order

* Add clear event handling
2021-05-19 20:09:37 -04:00
toasted-nutbread
eddd028864
Add support for definitions with structured content (#1689)
* Add structured content to schema

* Add support for generating custom content

* Update importer

* Update test data

* Add verticalAlign property
2021-05-19 18:24:50 -04:00
toasted-nutbread
f3cf4d10c7
Dictionary image display refactoring (#1687)
* Generalize image definition generation

* Enable optional aspect ratio

* Move styles

* Update styles

* Add more options for collapsing images

* Add image options for collapsing

* Improve layout for images that are collapsed
2021-05-18 17:41:27 -04:00
toasted-nutbread
76276e78da
Expose search query to anki template renderer (#1686)
* Expose query and fullQuery to Anki context

* Add {search-query} marker

* Update test data

* Update tests

* Wrap search query in multiLine
2021-05-17 20:18:37 -04:00
toasted-nutbread
12451eaf61
Fix repeated dictionary image importing (#1685) 2021-05-16 20:11:32 -04:00
toasted-nutbread
76c29134b3
Revert "Add support for custom text type generation (#1683)" (#1684)
This reverts commit 39cabc4db6.
2021-05-16 19:52:08 -04:00
toasted-nutbread
39cabc4db6
Add support for custom text type generation (#1683) 2021-05-16 15:52:39 -04:00
toasted-nutbread
66d048832f
Sentence termination character mode (#1682)
* Change enableTerminationCharacters to terminationCharacterMode

* Update settings

* Update sentence extraction

* Update tests

* Add tests
2021-05-16 15:24:38 -04:00
toasted-nutbread
41ee167dfd
Add support for generic && and || operations for settings transforms (#1681) 2021-05-16 10:01:57 -04:00
toasted-nutbread
2c752fd89d
Popup action search (#1678)
* Set up search page in the action popup

* Fix a style causing incorrect overflow

* Fix error when trying to take a screenshot

* Fix popup size on Firefox
2021-05-15 16:30:33 -04:00
toasted-nutbread
bc6fb4e7d7
Fix incorrect _updateClipboardMonitorEnabled invocation (#1677) 2021-05-15 15:31:54 -04:00
toasted-nutbread
8442a8ba22
Add SearchPersistentStateController (#1676) 2021-05-15 15:11:42 -04:00
toasted-nutbread
de6db32aa6
Improve source term exact match count (#1674)
* Update sourceTermExactMatchCount to be based on headword count

* Update tests
2021-05-14 19:26:27 -04:00
toasted-nutbread
e7d349c3ec
Improve the behaviour of the "Move to..." action (#1667) 2021-05-11 18:11:10 -04:00
toasted-nutbread
7b14cb3ab0
Remove more legacy settings page selectors (#1659) 2021-05-10 18:16:01 -04:00
toasted-nutbread
376a28326b
Fix invalid node/selectors being used in the dictionary delete process (#1658) 2021-05-10 18:04:08 -04:00
toasted-nutbread
289bdc1622
Improve term grouping (#1653)
* Rename _addUniqueStrings to _addUniqueSimple

* Update definition merging to not depend the sequence number

* Improve naming

* Update AnkiNoteDataCreator

* Update docs

* Remove fields that no longer exist

* Update test data
2021-05-08 13:16:56 -04:00
toasted-nutbread
32f5544021
Add "Move to" menu option for moving dictionary options to a specific location (#1651)
* Add "Move to" option

* Fix IDs
2021-05-02 21:04:39 -04:00
toasted-nutbread
a8b602834f
Fix the "Prefix wildcard searches supported" toggle having incorrect state (#1650) 2021-05-02 10:15:47 -04:00
toasted-nutbread
46f60619d5
Display fixes (#1648)
* Fix incorrect tabId/frameId being used

* Only enable nested popups if the tabId is valid

* Remove unused APIs
2021-05-01 17:30:17 -04:00
toasted-nutbread
c514bbc4fb
Flags profile conditions (#1647)
* Generalize modifier keys

* Optimize bindings

* Add support for flags

* Add clipboard flag

* Update tests

* Add tests
2021-05-01 15:54:31 -04:00
toasted-nutbread
c433819c1b
Update search tags to always be displayed in a consistent manner (#1645) 2021-05-01 11:53:56 -04:00
toasted-nutbread
8ee470caa0
Remove the mouseover tags that are shown in merge mode (#1644) 2021-05-01 11:41:10 -04:00
toasted-nutbread
0b554c936a
Add support for reordering dictionary options (#1641) 2021-04-30 18:15:32 -04:00
toasted-nutbread
076e201225
Improve dictionary options (#1640)
* Update dictionary options layout

* Update extras

* Improve display when no dictionaries are installed

* Implement "All" toggle

* Move modal

* Update welcome page

* Remove resizer button

* Fix ordering

* Fix extra closing tag
2021-04-30 18:01:16 -04:00
toasted-nutbread
d77d8e44e0
Replace collapsable with collapsible (#1639) 2021-04-30 17:59:20 -04:00
soriac
ba3f7b3e96
Show any custom tags on words that have anki cards created (#1628)
* Proof-of-concept for showing card tags (#1626)

* Resolved most PR comments:
- Added a snackbar notification when clicking tag button
- Replaced magnifying glass icon with new tag icon
- Button now contains a span w/icon, to use text color
- Removed unnecessary attributes from button
- Backend now returns full noteInfos object
- Frontend now handles filtering tags

* Add options to show/hide tag button & filter tags

* Do not show tags button if, after filtering, we have zero tags.

* Change tags option to enums, optimize tags intersection check & fix code style.

* Update options-util.js to include new tag options.

* Fix wording on new tag setting.

* Add CSS to remove hidden buttons from the display layout.

* getAnkiNoteInfo extra parameter for additional info.

* Add new tag option to tests.

* Remove unnecessary changes related to anki tags option.

* Code style fixes.
2021-04-30 17:57:53 -04:00
toasted-nutbread
69a739f00a
Use childNodes instead of children (#1638) 2021-04-28 22:07:11 -04:00
toasted-nutbread
40b29cb0d3
Add pitch categories template helper (#1636)
* Move utility function

* Expose dictionary entry as a hidden property for internal use

* Add pitchCategories helper
2021-04-28 21:57:49 -04:00
toasted-nutbread
512391346b
Translator alphanumeric improvement (#1635)
* Simplify alphanumeric check

* Update option name for clarity
2021-04-28 21:17:05 -04:00
toasted-nutbread
763c6c76aa
Add scanTextAtCaret option (#1632) 2021-04-26 21:11:43 -04:00
toasted-nutbread
6f5ad490fb
Add support for restoring the selection after using scanSelectedText (#1631) 2021-04-26 21:05:46 -04:00
toasted-nutbread
38ed4dc5c7
Improve kifuku detection to not include suru nouns (#1621) 2021-04-26 20:00:03 -04:00
toasted-nutbread
f022febfe9
Fix incorrect return type causing an error (#1623) 2021-04-21 18:11:43 -04:00
toasted-nutbread
b40cfe0458
Translator refactoring for consistency (#1619)
* Remove unused argument

* Improve naming in _groupDictionaryEntriesByHeadword

More consistent with _getRelatedDictionaryEntries.
2021-04-18 18:15:58 -04:00
toasted-nutbread
03dd1dc6ff
Remove redundant dictionary entry sequence (#1618)
* Remove sequence/sequenceDictionary from dictionary entry objects

* Expose isPrimary on definitions

* Update sequence

* Update test data
2021-04-18 18:11:09 -04:00
toasted-nutbread
f9774b4ce9
Improve dictionary sequence info (#1617)
* Ensure negative sequence is always -1

* Expose sequence on definition objects

* Update how sequence is exposed for definitions

* Update test data

* Update TS docs
2021-04-18 18:08:02 -04:00
toasted-nutbread
609d4fe334
Replace furigana with reading (#1614)
* Use "reading" instead of "furigana" for reading distribution

* Update tests
2021-04-13 20:32:24 -04:00
toasted-nutbread
bbf47865ff
Improve AnkiController to indicate when the model/deck is invalid (#1611) 2021-04-12 20:20:14 -04:00
toasted-nutbread
20d60a2ba7
Initial safari compatibility (#1609)
* Update environment info to return the 'safari' browser

* Fix popup display on Safari

* Update environment assignment

* Add data-loading-stalled property when loading takes longer than expected

* Add notification when loading has stalled

* Allow getDictionaryInfo invocation on non-privileged contexts

* Update _validatePrivilegedMessageSender

* Don't listen to 'voiceschanged' event unless addEventListener is present

Also expose an event
2021-04-10 23:55:11 -04:00
toasted-nutbread
b23c4bff4b
Use consistent window size properties to improve popup positioning (#1607) 2021-04-09 18:17:02 -04:00
toasted-nutbread
51c9bef032
Add PermissionsOriginController (#1603) 2021-04-08 22:52:28 -04:00
toasted-nutbread
c73ee13086
More terminology updates (#1600)
* Update terminology

* Update display

* Rename expression-list to headword-list

* Rename expression-current-indicator

* Rename expression classes

* Update dictionary entry container

* Rename glossary => gloss

* Rename heading

* Rename gloss classes to gloss-content
2021-04-08 19:59:55 -04:00
toasted-nutbread
e444141511
Fix autofocus sometimes not working on the search page (#1597) 2021-04-07 19:07:42 -04:00
toasted-nutbread
e14b52ef84
Update dictionary entry terminology (#1592)
* Update terminology

* Update terminology in display.js

* Update terminology in display-audio.js

* Update terminology in text-scanner.js

* Update terminology in backend.js

* Update terminology in mecab.js

* Update terminology in audio-downloader.js

* Update terminology in translator-vm.js

* Update terminology in dictionary-data-util.js

* Update terminology in dictionary-database.js

* Update terminology in japanese-util.js

* Change/upgrade {expression} to {term}

* Update terminology in test-japanese.js

* Update terminology in test-database.js

* Update terminology in anki-templates-controller.js

* Update terminology in anki-note-builder.js

* Update terminology in backend.js

* Update terminology in text-scanner.js

* Update terminology in display.js

* Update terminology in display.js
2021-04-04 16:22:35 -04:00
toasted-nutbread
b8bedd5185
Improve term dictionary entry sequence (#1591)
* Improve sequence for merged entries and add sequenceDictionary

* Update docs

* Expose sequence in definitions

* Expose sequence in root definition

* Update test data
2021-04-03 15:41:44 -04:00
toasted-nutbread
8de1e9b3d8
Update logged data name to dictionaryEntry (#1590) 2021-04-03 15:23:55 -04:00
toasted-nutbread
4d5db960d2
Fix debug log of Anki note data using old format (#1589) 2021-04-03 15:18:52 -04:00
toasted-nutbread
0e26d9a667
Remove code for old settings page (#1588) 2021-04-03 13:32:53 -04:00
toasted-nutbread
a9fe2d03b2
Update dictionary settings structure (#1587)
* Update dictionary settings structure to use an array instead of an object

* Update ensureDictionarySettings implementation

* Remove some usage of ObjectPropertyAccessor
2021-04-03 13:02:49 -04:00
toasted-nutbread
dabda86259
Optimize template renderer (#1585)
* Add renderMulti

* Batch template rendering

* Update tests
2021-04-02 19:09:21 -04:00
toasted-nutbread
8179846e38
Refactor template rendering (#1583)
* Update _errorToJson to _serializeError

* Remove async

* Refactor render

* Simplify _getModifiedData

* Rename data => commonData

* Rename templates => template for consistency

* Improve errors check

* Update tests
2021-04-02 12:42:06 -04:00
toasted-nutbread
c66fe71ee0 Remove debug statements (#1582) 2021-04-01 19:17:53 -04:00
toasted-nutbread
5d7309ed54
Log Anki data (#1579)
* Remove unused modifierPost

* Add _getModifier

* Add _getModifiedData

* Add getModifiedData

* Add getRenderingData

* Update logging to also log anki note data

* Fix dangling comma
2021-03-31 20:07:11 -04:00
toasted-nutbread
da612bbdd7
Fix missing document title on the search page (#1578) 2021-03-31 19:58:33 -04:00
toasted-nutbread
f4af3f31ef
Make secondary dictionary option controllers more consistent (#1577) 2021-03-31 18:53:08 -04:00
toasted-nutbread
bdec71976a
Fix dictionary settings being missing after importing settings (#1576) 2021-03-31 18:32:17 -04:00
toasted-nutbread
bcbd413e57
Definition collapsing when overflowing (#1575)
* Add double-down-chevron.svg

* Add options

* Update dictionary importers

* Update settings

* Add support for collapsible definitions

* Improve case when there is a very small amount of overflow

* Fix incorrect enabled state of newly imported dictionaries
2021-03-31 18:17:28 -04:00
toasted-nutbread
cbcfdcacaf
Fix incorrect state assignment when unbinding wanakana (#1573) 2021-03-29 18:46:32 -04:00
toasted-nutbread
f58b4962f1
Remove repeated disambiguations (#1572) 2021-03-28 16:04:55 -04:00
toasted-nutbread
b4d6a5d3b4
Toggle option hotkey (#1571)
* Set up toggleOption hotkey action settings

* Update styles

* Disable spell check and autocomplete

* Add OptionToggleHotkeyHandler

* Improve auto-close behaviour
2021-03-28 14:04:20 -04:00
toasted-nutbread
98994d0b65
Add playAudioFromSource hotkey (#1570) 2021-03-28 11:27:37 -04:00
toasted-nutbread
8fe0e5fdf5
Add reset argument menu item (#1566) 2021-03-27 22:56:48 -04:00
toasted-nutbread
2098d2faae
Hotkey arguments (#1565)
* Update display

* Move scope definitions

* Update scopes button after changing action

* Don't show menu if empty

* Improve scope updating

* Update style

* Simplify

* Add argument to settings

* Update convertToNumber implementation

* Add support for arguments

* Pass argument to action handler

* Update hotkey action definitions

* Remove x3 options
2021-03-27 22:30:45 -04:00
toasted-nutbread
422f011fac
Update hotkey settings design (#1564)
* Update PopupMenu event prevention

* Use vars for button padding

* Add button-inner-label style

* Add input-button button

* Update display of scope selection

* Add hidden argument text input field

* Remove unnecessary calls

* Display a strike through the enabled button when no scopes are selected
2021-03-27 13:21:34 -04:00
toasted-nutbread
299720d799
Fix definitionDetails using expression instead of term (#1562) 2021-03-26 19:57:57 -04:00
toasted-nutbread
90f7d5ba07
Add part of speech info (#1561)
* Add part of speech info to headwords

* Expose parts of speech to Anki template rendering

* Expose parts of speech

* Update pitch accent categories

* Update docs

* Add part-of-speech

* Update options and tests

* Update markers

* Update test data
2021-03-26 19:50:54 -04:00
toasted-nutbread
482dd8c8d8
Display fixes (#1560)
* Fix _getDefinitionDetailsForNote

* Fix _getExpressionAndReading
2021-03-26 19:31:19 -04:00
toasted-nutbread
a14caaeab9
Add join and concat utility functions for template rendering (#1559) 2021-03-26 19:07:43 -04:00
toasted-nutbread
a756ce85c0
Remove debug log (#1558) 2021-03-25 22:42:24 -04:00
toasted-nutbread
4ddd3ec80c
Fix incorrect sorting (#1557)
* Sort by the maximum length of transformedText instead of deinflectedText

* Update docs

* Update tests
2021-03-25 21:40:27 -04:00
toasted-nutbread
6af0ee26b9
Fix tag disambiguation (#1556)
* Update display generator to use new data format for tag disambiguation

* Add separator for multiple disambiguations
2021-03-25 20:54:39 -04:00
toasted-nutbread
4be5c8fd9f
Refactor Translator and dictionary entry format (#1553)
* Update test data

* Move translator.js

* Create new version of Translator

* Update Backend

* Update DictionaryDataUtil

* Update DisplayGenerator

* Create AnkiNoteDataCreator

* Replace AnkiNoteData with AnkiNoteDataCreator

* Update tests

* Remove AnkiNoteData

* Update test data

* Remove translator-old.js

* Add TypeScript interface definitions for the new translator data format
2021-03-25 19:55:31 -04:00
toasted-nutbread
e7035dcff4
Enable audio menu shift click (#1555)
* Expose modifier keys

* Add updateMenuItems

* Don't close menu if shift key is held

* Add _createMenuItems

* Simplification

* Maintain a list of open popup menus

* Expose expression/reading

* Reuse existing items

* Update menu after a cache update

* Update menu position
2021-03-25 19:22:34 -04:00
toasted-nutbread
0e1845c7ed
Fix case where {tags} returns an error (#1549) 2021-03-23 20:43:38 -04:00
toasted-nutbread
28f97ba40b
Update display results style (#1536)
* Expose resultOutputMode

* Update display styles
2021-03-16 18:48:24 -04:00
toasted-nutbread
8ae78449f2
Fix furigana distribution when source/expression kana differs (#1532)
* Fix furigana distribution when source/expression kana differs

* Add an additional test
2021-03-15 23:02:38 -04:00
toasted-nutbread
9ad9961ca8
Fix error for kanji note data (#1530) 2021-03-15 20:50:18 -04:00
toasted-nutbread
9addd3f6d1
Fix search tab not focusing correctly (#1529) 2021-03-15 18:53:03 -04:00
toasted-nutbread
49b603c756
Remove old settings page (#1524)
* Remove old settings page

* Remove spinner.gif
2021-03-14 22:51:48 -04:00
toasted-nutbread
a52d86a39e
Dictionary database improvements (#1527)
* Update formatting

* Add _findMultiBulk

* Update implementation of findTermsBySequenceBulk

* Update tests

* Generalize query creation

* Remove _findGenericBulk

* Reduce function creation

* Add more bindings

* Simplify findTermsExactBulk implementation

* Update var names

* Update _findMultiBulk to support multiple index queries

* Update findTermsBulk

* Update getMedia implementation

* Pass data arg to getAll and findFirst to avoid having multiple closures
2021-03-14 22:51:20 -04:00
toasted-nutbread
07df1e0117
Fix dictionary image support (#1526)
* Fix content security policy for images

* Add createBlobFromBase64Content to MediaUtil

* Update MediaLoader to use MediaUtil

* Use blob URLs when importing dictionaries

* Update VM's URL to support createObjectURL and revokeObjectURL

* Fix test
2021-03-14 18:41:15 -04:00
toasted-nutbread
52a4d874ea
Make MediaUtil a static class (#1525) 2021-03-14 18:04:19 -04:00
toasted-nutbread
e1477adeec
Simplify _findFirstBulk (#1521) 2021-03-13 11:42:04 -05:00
toasted-nutbread
a00ed41838
Database API updates (#1520)
* Add Database.findFirst

* Add DictionaryDatabase.findTagMetaBulk
2021-03-13 11:25:10 -05:00
toasted-nutbread
638e5783ac
Fix sorting of non-top-level definitions (#1516) 2021-03-10 20:27:10 -05:00
toasted-nutbread
800ce9ed9e
Fix incorrect furigana distribution (#1514)
* Improve distributeFuriganaInflected implementation

* Update tests
2021-03-10 20:27:01 -05:00
toasted-nutbread
63de9273b3
Fix permissions changes not being supported on some browsers (#1513) 2021-03-10 20:26:57 -05:00
toasted-nutbread
b1f96a7ca7
Fix previousStyles being recreated for every transparent element (#1512) 2021-03-10 20:26:53 -05:00
toasted-nutbread
4f4990820e
Fix text selection during scanning (#1508)
* Move function

* Add _onSearchClick function

* Move _onSearchClick after event prevention

* Prevent search if selection is changed before a click occurs
2021-03-09 20:01:37 -05:00
toasted-nutbread
c6f4144fda
Clean up translator (#1505)
* Remove unused: _removeUsedDefinitions

* Remove unused: _scoreToTermFrequency

* Remove unused: _getTermTagsScoreSum

* Add RegexUtil

* Update Translator to use RegexUtil

* Update sw.js

* Update tests
2021-03-08 21:01:55 -05:00
toasted-nutbread
643dbfb12a
Refactor term frequency data (#1503)
* Add getTermFrequency

* Update DisplayGenerator to use getTermFrequency

* Remove termFrequency from Translator data

* Backwards compatibility

* Update tests
2021-03-07 20:38:40 -05:00
toasted-nutbread
19f6bf5a3a
Refactor furigana segment data (#1502)
* Remove redundant language assignment

* Segment furigana from DisplayGenerator

* Remove furiganaSegments from translator data

* Add backwards compatibility for furiganaSegments

* Update tests
2021-03-07 17:55:51 -05:00
toasted-nutbread
7793e14e57
Deinflector refactor (#1501)
* Make Deinflector._ruleTypes private

* Add createDeinflection helper

* Remove unnecessary field assignments from Deinflector

Move them to Translator instead
2021-03-07 14:07:26 -05:00
toasted-nutbread
92fe1571ae
Translator data format improvements (#1500)
* Update _createTermDetailsList usage and docs

* Update source of expression/reading/furiganaSegments
2021-03-07 12:18:44 -05:00
toasted-nutbread
49bf562690
Update audio downloader (#1499)
* Update _getInfoJpod101's empty reading check

* Use URLSearchParams instead of a string
2021-03-06 18:26:16 -05:00
toasted-nutbread
16217728af
Improve empty reading handling (#1497)
* Handle empty readings earlier in the definition creation process

* Remove empty reading check

* Remove special handling of empty readings
2021-03-06 15:53:45 -05:00
toasted-nutbread
a65742a884
Fix furigana distribution when reading starts with expression, but has remainder characters (#1496) 2021-03-06 15:49:07 -05:00
toasted-nutbread
01f74510f0
Separate display resizer (#1494)
* Make invokeContentOrigin public

* Move display resizer functionality into a new class: DisplayResizer

* Simplify field names

* Use parent frame instead of content origin

* Remove unused
2021-03-06 14:31:23 -05:00
toasted-nutbread
6e00b5d765
Fix multiline copying (#1493)
* Change order

* Update multiline text assignment
2021-03-06 13:41:38 -05:00
toasted-nutbread
4bc53d2348
Use dictionary priority later in the definition sorting algorithm (#1492) 2021-03-06 13:27:20 -05:00
toasted-nutbread
019c8cd4d7
Split dictionary order and index sorting (#1491)
* Refactor expression comparison

* Rename function

* Add dictionary index sorting

* Update test data
2021-03-06 13:04:50 -05:00
toasted-nutbread
2203202861
Fix missing meta when reading is empty (#1486) 2021-03-05 19:25:31 -05:00
toasted-nutbread
ca4d5a2ac1
Fix text being overwritten when generating the query parser content (#1483) 2021-03-03 18:06:12 -05:00
toasted-nutbread
65c20382d3
Add clickable web browser settings links (#1481) 2021-03-02 22:46:26 -05:00
toasted-nutbread
3fe825cf30
Request persistent storage on Firefox (#1480) 2021-03-02 22:27:53 -05:00
toasted-nutbread
b0bc7dc08f
Add a toggle for the persistent storage option on the permissions page (#1479) 2021-03-02 22:08:34 -05:00
toasted-nutbread
4208595293
Persistent storage controller (#1478)
* Add PersistentStorageController

* Update DictionaryController

* Update DictionaryImportController

* Update when storage stats are updated
2021-03-02 20:27:51 -05:00
toasted-nutbread
571b865ae5
Fix enter key causing duplicate text when typing using an IME (#1477) 2021-03-02 18:18:31 -05:00
toasted-nutbread
0e705292cc
Remove zero-width space (#1475) 2021-03-01 22:45:03 -05:00
toasted-nutbread
0dab38f0a6
Refactor translator merged mode (#1474)
* Remove sourceDefinitions

* Add id

* Remove related definitions from unsequencedDefinitions

* Add separate _addRelatedDefinitions function

* Add secondary definitions

* Update how secondary definitions are added

* Update expression/reading source

* Move _mergeByGlossary body

* Refactor _createTermDetailsListFromTermInfoMap

* Move _addUniqueTermInfos body

* Rename function

* Organize

* Simplify duplicate check

* Rename relatedDefinitionIds to definitionIds

* Refactor secondary definition adding

* Early exit

* Add matching unsequencedDefinitions to secondaryDefinitions

* Clean

* Fix incorrect condition

* Move _addSecondaryDefinitions call

* Add comments
2021-03-01 22:17:23 -05:00
toasted-nutbread
b477da97d4
Translator refactor (#1473)
* Refactor _groupTerms and add doc comment

* Update where expression/reading is acquired from

* Add doc comment

* Add isPrimary field

* Update test data

* Add definition which has "isPrimary": false definitions
2021-03-01 19:01:30 -05:00
toasted-nutbread
90da87f378
Add support for resizing the popup window using touch events (#1471) 2021-02-28 17:13:11 -05:00
toasted-nutbread
c192b4a4c1
Wrap host selection copy in a try-catch (#1470) 2021-02-28 16:51:48 -05:00