Commit Graph

760 Commits

Author SHA1 Message Date
toasted-nutbread
de5d3ec3ad
Remove _onMessage (#1265) 2021-01-17 18:43:16 -05:00
toasted-nutbread
04d53e5642
Optimize hotkey registration (#1264) 2021-01-17 17:05:06 -05:00
toasted-nutbread
14b4aee07d
Hotkey forwarding support (#1263)
* Add support for allowing HotkeyHandler to forward hotkeys

* Update hotkey registration

* Pass HotkeyHandler instance into Display* constructor

* Implement hotkey forwarding
2021-01-17 16:55:45 -05:00
toasted-nutbread
be590004fe
Text scanner improvements (#1261)
* Add support for allowing TextScanner.search to force focus

* Simplify query parser searched event forwarding

* Defer fallback creation

* Simplify event listeners

* Change type to pointerType

* Change cause to eventType

* Change empty to passive; make .search function passive

* Remove unused input index
2021-01-17 11:43:05 -05:00
toasted-nutbread
5d9d96996e
Optimize hotkey handler to not hook any events if cannot do anything (#1260) 2021-01-16 23:07:21 -05:00
toasted-nutbread
30ce81b36c
Update TextScanner.search to return the event details object (#1257) 2021-01-16 21:53:52 -05:00
toasted-nutbread
0cbbe48694
Add check to ignore hotkey registrations with null key (#1256) 2021-01-16 21:52:32 -05:00
toasted-nutbread
0ac3577119
Refactor hotkey handling (#1250)
* Create HotkeyHandler

* Update Display to use HotkeyHandler
2021-01-16 14:54:35 -05:00
toasted-nutbread
dc4d659184
Update hotkey issues (#1244)
* Scroll to the bottom when adding inputs

* Skip if empty action
2021-01-15 21:19:22 -05:00
toasted-nutbread
1c5e53a7ac
Add hotkeys to change dictionary (#1243)
* Add nextEntryDifferentDictionary and previousEntryDifferentDictionary hotkeys

* Update settings
2021-01-15 21:11:09 -05:00
toasted-nutbread
0a1664ba29
Separate close hotkey (#1242)
* Add focusSearchBox hotkey

* Update close hotkey action

* Update hotkeys
2021-01-15 20:19:56 -05:00
toasted-nutbread
1dcfbf6ba6
Support suspending new anki cards (#1240)
* Add new option: anki.suspendNewCards

* Update Anki APIs

* Suspend card based on options

* Add setting

* Disable wrap for toggle property
2021-01-14 22:42:11 -05:00
toasted-nutbread
84d3af0f8d
Hotkeys (#1236)
* Set up hotkey inputs

* Improve key display

* Add setInput

* Add KeyboardShortcutController

* Update how display handles hotkeys
2021-01-14 20:56:18 -05:00
toasted-nutbread
c1e4741f22
Use code instead of key (#1234)
* Update KeyboardMouseInputField to use .code instead of .key

* Update Display to use .code instead of .key

* Remove unused function
2021-01-14 19:08:05 -05:00
toasted-nutbread
5ae3acf6ff
Anki note data abstraction (#1228)
* Create AnkiNoteData

* Create AnkiNoteDataDefinitionProxyHandler

* Update media injection

* Create AnkiNoteDataDefinitionSecondaryProperties

* Update note context format

* Expose url and cloze on definition

* Simplify for understandability

* Remove unused _createNoteData

* Update public object

* Remove trims on sentence, since it should already be trimmed

* Fix unused global
2021-01-12 22:47:07 -05:00
toasted-nutbread
b7c9fa1057
Refactor note document title (#1227)
* Pass url into setContent

* Update where url is checked from

* Add documentTitle to state information

* Update how _getNoteContext gets the document title

* Update how url is fetched for options context

* Pass document title in to 'searched' event
2021-01-12 18:04:26 -05:00
toasted-nutbread
983e2c7936
Refactor text scanner options context generation (#1225)
* Refactor how options context is created and updated

* Udpate TextScanner/QueryParser to use getSearchContext instead of getOptionsContext
2021-01-11 23:13:35 -05:00
toasted-nutbread
5e87a490f7
Refactor display anki functions (#1224)
* Refactor note adding/viewing functions

* Move _addDefinition

* Update where anki field templates are assigned

* Update _createNote to not include options/templates arguments

* Simplify getAnkiNoteInfo to not require duplicateScope
2021-01-11 18:37:07 -05:00
toasted-nutbread
4ed9493645
Refactor anki note building (#1223)
* Move TemplateRendererProxy creation into AnkiNoteBuilder

* Simplify _stringReplaceAsync

* Organize note generation

* Rename API

* Make the template rendering function more generic
2021-01-10 19:28:50 -05:00
toasted-nutbread
7f07b905ab
Update how navigation sidebar visibility is controlled (#1221) 2021-01-10 16:48:31 -05:00
toasted-nutbread
1614335bb0
Fix profile panel not being able to be closed due to hidden sidebar (#1220) 2021-01-10 16:06:00 -05:00
toasted-nutbread
f6a38f40dc
Customizable sentence parsing (#1217)
* Add new sentenceParsing options

* Update TextScanner.setOptions

* Assign terminator/quote maps

* Pass sentence parsing info to extractSentence

* Simplify setting

* Add setting for enableTerminationCharacters

* Create new settings for sentence termination characters
2021-01-10 14:43:06 -05:00
toasted-nutbread
083da93142
Refactor sentence parsing (#1215)
* Rename sentenceExtent with sentenceScanExtent

* Update TextScanner.setOptions

* Change function argument order

* Rename quote map variables

* Fix edge case quote handling

* Update terminator maps to support character inclusion
2021-01-09 23:10:55 -05:00
toasted-nutbread
da1e1e5c5b
Sentence parsing options (#1214)
* Rename options.anki.sentenceExt to options.sentenceParsing.scanExtent

* Create sentence parsing icon

* Create new sentence parsing section
2021-01-09 21:25:04 -05:00
toasted-nutbread
d698911bc9
Refactor sentence scanning (#1213)
* Update tests

* Update extractSentence implementation

* Remove old extractSentence implementation

* Optimize maps/sets
2021-01-09 19:02:51 -05:00
toasted-nutbread
67d21d4988
Use ruby tag for frequency disambiguation (#1211) 2021-01-09 16:07:47 -05:00
toasted-nutbread
5b58a9aeef
Update term tags display and fix a layout issue (#1208)
* Fix layout issue with term expression display

* Update display of term tags

* Update tag notification to include disambiguation information
2021-01-09 16:02:03 -05:00
toasted-nutbread
06d23f59d8
Improve frequency display (#1209)
* Disable old frequencies

* Update layout

* Implement new frequency display

* Update count info
2021-01-09 10:41:17 -05:00
toasted-nutbread
b20622b2c8
Core refactor (#1207)
* Copy set intersection functions

* Remove unused functions

* Simplify url check

* Remove parseUrl

* Simplify stringReverse

* Remove hasOwn due to infrequent use

* Rename errorToJson/jsonToError to de/serializeError

For clarity on intended use.

* Fix time argument on timeout

* Add missing return value

* Throw an error for unexpected argument values

* Add documentation comments
2021-01-07 21:36:20 -05:00
toasted-nutbread
7d706df66b
Update DictionaryDataUtil to be able to be used in a sandbox frame (#1206) 2021-01-07 20:24:22 -05:00
toasted-nutbread
8c92c1cbc2
Refactor anki note generation (#1202)
* Create _injectAnkiNoteMedia function

* Remove unused code path

* Simplify modeOptions
2021-01-03 19:40:12 -05:00
toasted-nutbread
63971776a5
CSS lint (#1201)
* Use single quotes instead of double

* Install stylelint

* Set up config

* Update package/tests

* Fix lint issues

* Update CSS rules
2021-01-03 15:30:38 -05:00
toasted-nutbread
8e304b83c6
Translator regex replacements (#1199)
* Add support for regex replacements during the translation process

* Allow assignment of textReplacements

* Rename

* Set up test data

* Write expected data

* Set up options

* Prevent infinite loop if regex matches empty string

* Implement setting controller

* Add support for testing pattern replacements
2021-01-03 12:12:55 -05:00
toasted-nutbread
a02891e52c
Update copyright year (#1194)
* Update copyright year

* Remove redundant Author info
2021-01-01 14:50:41 -05:00
toasted-nutbread
f808e6acde
Improve contrast of dark theme tag text color (#1192) 2020-12-31 17:26:10 -05:00
toasted-nutbread
369e4e40f4
Fix kanji selection area being on top of tags (#1191) 2020-12-31 15:07:45 -05:00
toasted-nutbread
155b2b27f6
Fix some issues with the display layout (#1190) 2020-12-31 14:58:48 -05:00
toasted-nutbread
889240311b
Improve tag scanning behaviour (#1189)
* Update include/exclude selectors for Display._definitionTextScanner

* Fix missing condition
2020-12-31 14:21:50 -05:00
toasted-nutbread
32f233acfd
Fix display notification close button style (#1185) 2020-12-30 23:00:52 -05:00
toasted-nutbread
0f3b9ec7fc
Fix overlay panel animations for different action bar locations (#1183) 2020-12-30 13:49:48 -05:00
toasted-nutbread
ad90bad057
Display profile panel (#1178)
* Expose Display.displayGenerator

* Update search when assigning options context

* Don't clear selection unless the popup changes

* Merge search styles

* Create panel for changing the profile
2020-12-29 23:38:44 -05:00
toasted-nutbread
ae36cccc36
Fix button styles for action bar buttons (#1177)
* Fix button styles for action bar buttons

* Fix button colors
2020-12-29 22:22:56 -05:00
toasted-nutbread
38709e2191
Fix various issues with some styles (#1176) 2020-12-29 21:52:04 -05:00
toasted-nutbread
773d67e75a
Split material css (#1175)
* Separate material styles into a separate file

* Improve action button styles

* Rename --font-size-default to --font-size

* Remove px units

* Remove some material vars

* Fix some variable names

* Define variables

* Remove --shadow-vertical

* Revert name change

* Move var

* Rename var

* Update vars

* Remove redundant vars

* Update search styles

* Update styles

* Update colors

* Update variable names

* Include material.css on float.html page
2020-12-29 21:33:57 -05:00
toasted-nutbread
2cd429fdfd
Rename PopupElement to PanelElement; split classes into separate files (#1173) 2020-12-29 00:06:51 -05:00
toasted-nutbread
cb8015faed
Improve crispness of icons used on settings v2 page (#1170) 2020-12-28 22:57:17 -05:00
toasted-nutbread
b6038c87b6
Improve document focus control (#1167)
* Improve styles for #content-scroll-focus

* Create new class to manage and control document focus

* Use new focus class

* Add a check to prevent redundant .blur calls
2020-12-28 17:41:59 -05:00
toasted-nutbread
d0adf2ca15
Add window settings (#1160)
* Add window icon

* Move some options to a new "Window" section
2020-12-22 18:18:30 -05:00
toasted-nutbread
a354becd51
Furigana distribution improvements (#1157)
* Improve furigana when reading kana is not an exact match

* Simplify group structure

* Return consistent type

* Add more tests

* Remove redundant isAmbiguous assignment

* Simplify group usage

* Add helper function

* Optimize returned arrays

* Use variable

* Remove s(p)lice calls

* Reduce number of convertKatakanaToHiragana calls

* Optimize text length access

* Optimize reading substring

* Move segmentize to a separate function

* Use var

* Use _createFuriganaSegment

* Optimize distributeFuriganaInflected
2020-12-22 11:02:19 -05:00
toasted-nutbread
18043babeb
Improve query parser scanning (#1154)
* Improve how the search page updates after settings have changed

* Always update the history on the first scan of the query parser
2020-12-21 19:19:59 -05:00
toasted-nutbread
9dd2a9c98e
Fix Display._definitionTextScanner not ignoring certain elements (#1153) 2020-12-21 19:18:39 -05:00
toasted-nutbread
3ef1b9ebb2
Settings v2 modal size toggle (#1149)
* Add collapse/expand icons

* Update header layout

* Allow size animation

* Add styles for modal header buttons

* Support action buttons

* Update modals to support size changing
2020-12-20 19:59:39 -05:00
toasted-nutbread
f5ae0f1f3d
Settings v2 icon improvements (#1147)
* Update navigation icons

* Improve outline layout, fixing badge indicators

* Change attribute value

* Update icon buttons

* Update settings page
2020-12-20 15:43:10 -05:00
toasted-nutbread
6d7eefa9df
Fix triangle indicator for kanji (#1141) 2020-12-19 20:16:45 -05:00
toasted-nutbread
443d6d1956
Popup action bar options (#1140)
* Add options for action bar visibility and location

* Add settings

* Update styles

* Expose properties

* Update styles

* Update tests
2020-12-19 20:07:55 -05:00
toasted-nutbread
8454431cdb
Improve the accent color for the dark theme (#1139) 2020-12-19 18:51:44 -05:00
toasted-nutbread
bef8612665
Focus the current entry earlier in the generation process (#1137) 2020-12-19 16:00:47 -05:00
toasted-nutbread
d42b95a9c0
Disable indicator transitions when not in use (#1136) 2020-12-19 15:57:20 -05:00
toasted-nutbread
1b1b24ab35
Entry indicator update (#1134)
* Move entry current indicator rules

* Simplify rules

* Add popupCurrentIndicatorMode option

* Add option to settings page

* Expose popupCurrentIndicatorMode

* Restore asterisk current indicator

* Implement dot

* Update action button vars

* Fix tests

* Add none option

* Add triangle option
2020-12-19 15:42:44 -05:00
toasted-nutbread
dcb75cce1e
Fix invalid CSS :not selector causing frequency tags to display twice (#1135) 2020-12-19 14:52:41 -05:00
toasted-nutbread
5021ed9f83
Fix incorrect naming of --entry-current-indicator variable (#1133) 2020-12-19 10:58:02 -05:00
toasted-nutbread
16cea2e2bb
Fixed terms being colored when not using merged mode (#1132) 2020-12-19 10:54:50 -05:00
toasted-nutbread
05d4049f16
DOMParser replacement (#561)
* Add script to build library files

* Add built parse5 library

* Add new SimpleDOMParser which uses parse5

* Update license info

* Update MV3 build to use the new SimpleDOMParser

* Update file exclusions

* Hide/clarify license info for MV2 builds
2020-12-18 17:06:30 -05:00
toasted-nutbread
51223abfa6
Set up initial manifest v3 support (#605) 2020-12-18 15:54:05 -05:00
toasted-nutbread
194359f4ec
Simplify _getUrl function (#1121) 2020-12-18 13:35:20 -05:00
toasted-nutbread
f28fe33cae
Change the resizer color when the window is being resized (#1120) 2020-12-18 12:06:39 -05:00
toasted-nutbread
bf34905012
Improve display tags (#1117)
* Update tag style

* Add styles/HTML for notifications

* Add DisplayNotification class

* Add support for tag notifications

* Simplify notification content
2020-12-18 09:43:54 -05:00
toasted-nutbread
48b8041800
Fix incorrect page type condition causing incorrect document title (#1105) 2020-12-13 10:33:47 -05:00
toasted-nutbread
5948229176
Add info page (#1102)
* Add api.getAnkiConnectVersion

* Enable basic functionality when certain features/elements aren't present

* Add info page

* Update information links

* Update info link on the settings v2 page
2020-12-12 14:57:24 -05:00
toasted-nutbread
125c296eed
Support frame resize on firefox (#1088)
* Add popup functions for getting/setting the frame size

* Add frontend functions for getting/setting popup frame size

* Expose display mode attribute on display HTML

* Disable resizer on iframe

* Add custom frame resizer handle

* Add support for custom frame resizer
2020-12-08 20:31:02 -05:00
toasted-nutbread
f89f9d777f
Use expression as reading if reading is blank (#1083) 2020-12-05 21:30:51 -05:00
toasted-nutbread
cd19be8954
Fix disambiguation text color (#1082) 2020-12-05 21:17:42 -05:00
toasted-nutbread
0fc8578dee
Fix pitch accent info gathering using new data format (#1081) 2020-12-05 21:16:24 -05:00
toasted-nutbread
95b225462a
Fix frequency tags (#1080)
* Rename term-frequency to tag-frequency

* Move tag styles

* Expand

* Use separate templates for terms vs kanji
2020-12-05 17:45:45 -05:00
toasted-nutbread
ff6ebdab88
Update compact layout (#1077) 2020-11-29 19:45:47 -05:00
toasted-nutbread
34451ebf71
JapaneseUtil normalization (#1076)
* Use JapaneseUtil as a class which is manually instantiated

* Use alias function for toKana
2020-11-29 13:09:02 -05:00
toasted-nutbread
008ffdb6bf
Frequencies marker (#1074)
* Update japanese.js tests

* Simplify fallback/early exit

* Add overloads to furigana and furiganaPlain handlebars helper functions

* Expose unique expression/reading arrays (and subsequently counts)

* Add {frequencies} marker
2020-11-28 14:30:50 -05:00
toasted-nutbread
94d63f4f87
Display style updates (#1072)
* Add variables for tag styles

* Add variable for compact list separator

* Improve compactness of pitch accents

* Improve kanji link styles

* Improve coloring for lists

* Move styles

* Update styles for lists

* Move conditional styles

* Simplify definitions

* Remove unused styles

* Cleanup

* Use strings for dataset properties

* Don't always collapse pitch accents
2020-11-27 15:22:06 -05:00
toasted-nutbread
8449322e1c
Fix kanji note creation (#1069)
* Fix kanji note creation

* Move try/catch for consistency

* Move audio normalization
2020-11-26 22:53:58 -05:00
toasted-nutbread
3f7c76dbc7
Yomichan popup styles refactor (#1067)
* Rename classes yomichan-float to yomichan-popup

* Use attributes instead of classes

* Refactor

* Update popup outer scaling

* Update outer theme usage

* Move client.css to popup-outer.css in /mixed
2020-11-26 14:13:53 -05:00
toasted-nutbread
92e9f69c80
Popup style updates (#1066)
* Replace compactGlossaries option with new glossaryLayoutMode option

* Update attributes

* Update attributes

* Update color definitions

* Fix default theme scrollbar
2020-11-25 23:22:05 -05:00
toasted-nutbread
c6c4631817
Display button improvements (#1065)
* Use hidden and disabled properties instead of custom classes

* Enable transitions on buttons
2020-11-25 12:39:09 -05:00
toasted-nutbread
f7d1d2deb5
Add plus-circle icons (#1064) 2020-11-25 11:56:57 -05:00
toasted-nutbread
8677fb5579
Display style updates (#1062)
* Change condition for scrollbar theme

* Fix expression colors

* Update colors
2020-11-24 19:56:42 -05:00
toasted-nutbread
02d9f7c736
Improve html templates (#1061)
* Add template pre-processing

* Remove whitespace

* Add labels

* Reuse tag template for search tags

* Add space
2020-11-24 19:06:29 -05:00
toasted-nutbread
0b00de3c0f
Frequency display improvements (#1060)
* Hide redundant frequencies

* Add dataset counters for unique expressions/readings

* Update frequency display to include disambiguations
2020-11-24 11:56:40 -05:00
toasted-nutbread
de299c64ae
Display updates (#1057)
* Fix history assignment on the search page

* Use clear instead of assigned

* Simplify definitions assignment

* Organize

* Fix query not being cleared

* Fix media loading

* Fix potential issue with options not being assigned

* Catch error when frameId is null, causing infinite loop

* Fix frontend construction parameters
2020-11-24 11:54:08 -05:00
toasted-nutbread
068b1eef71
Text scanner improvements (#1056)
* Only ignore nodes on non-web pages

* Fix issue where options might not be assigned on nested frontends

* Refactor default TextScanner options

* Add option to enable search only on click

* Simplify restore state assignment

* Update options context passing

* Fix empty title

* Use TextScanner to scan content inside of Display

* Rename ignoreNodes to excludeSelector(s)

* Fix options update incorrectly triggering a re-search

* Fix copy throwing an error on the search page

* Replace _onSearchQueryUpdated with _search

* Use include selector instead of exclude selector
2020-11-23 20:31:48 -05:00
toasted-nutbread
12e5cec99c
Display updates (#1055)
* Fix title assignment

* Add event listeners as entries are being added

* Focus entry when clicked
2020-11-23 17:43:17 -05:00
toasted-nutbread
01ff7436ee
Popup setup refactoring (#1054)
* Pass childrenSupported as a parameter to Frontend/Popup constructors

* Remove setChildrenSupported

* Use event listener instead of function override

* Update options order

* Expand options and use object for clarity

* Fix childrenSupported not being fully propagated
2020-11-23 15:23:47 -05:00
toasted-nutbread
2971f262f9
Merge float into display (#1053)
* Update audio play delay

* Move frame endpoint to Display

* Move _invokeOwner and close implementation

* Move browser info assignment

* Move window message handler setup

* Move copy implementation

* Move document title function

* Move extension unload handler

* Move close handler

* Move history event handlers

* Remove DisplayFloat

* Remove unused

* Organize

* Move event listeners into prepare
2020-11-22 15:29:51 -05:00
toasted-nutbread
7234cce4ae
Refactor nested popup/frontend setup (#1052) 2020-11-22 11:19:21 -05:00
toasted-nutbread
7b6a4c4e36
More display updates (#1050)
* Use grid for layout

* Add data-count attribute

* Fix scroll issues during focus

* Add index to entries

* Simplify audio playback
2020-11-21 21:17:39 -05:00
toasted-nutbread
af33fff6fb
Fix cloze not using the raw source (#1049) 2020-11-21 11:31:11 -05:00
toasted-nutbread
181ade93d6
Display scroll fixes (#1046)
* Update focus when internal focus is changed

* Update scroll layout
2020-11-20 22:42:49 -05:00
toasted-nutbread
b0a5650625
Update selection indicator (#1044)
* Add new current indicator

* Remove old indicator
2020-11-19 18:34:41 -05:00
toasted-nutbread
1588f6210c
Display and query parser layout (#1043)
* Update query parser text assignment

* Update how padding is used

* Hide query parser container by default
2020-11-18 20:15:30 -05:00
toasted-nutbread
e9075e24e1
Update progress indicator styles (#1042) 2020-11-18 20:06:02 -05:00
toasted-nutbread
a48ac37815
Use an overridable property to control progress indicator visibility (#1041) 2020-11-17 19:40:19 -05:00
toasted-nutbread
ea7b8621c3
Update layout to have better sizing properties (#1040) 2020-11-16 20:41:12 -05:00