Commit Graph

3418 Commits

Author SHA1 Message Date
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
aa6a547da7
Add CSS variable to control tag height (#1495) 2021-03-06 15:08:21 -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
e28a89e580
Add workaround for a frequency disambiguation layout issue on Firefox (#1489) 2021-03-05 23:48:38 -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
14717b7579
Fix missing required options (#1482) 2021-03-02 22:51:06 -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
488dc486f1 Update version 2021-02-28 18:28:50 -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
toasted-nutbread
8f057c63fe
Improve text parser (#1469)
* Merge ungrouped characters

* Update iteration

* Fix incorrect code point handling

* Simplify text

* Specify language

* Update how parsed status is represented
2021-02-28 16:38:01 -05:00
toasted-nutbread
ec1a8380b5
Fix a poorly handled edge case of the scanning parser (#1468) 2021-02-28 15:44:57 -05:00
toasted-nutbread
1dfcd3e435
Fix missing details causing frequency tags to not be clickable (#1467) 2021-02-28 14:44:44 -05:00
toasted-nutbread
704db45e29
Remove the now-unused hotkey forwarding functionality (#1466) 2021-02-28 14:29:43 -05:00
toasted-nutbread
75d7e5dc32
Fix and improve some CSS vars (#1465) 2021-02-28 14:23:51 -05:00
toasted-nutbread
4806414f95
Text source element scanning improvements (#1464)
* Add api.textHasJapaneseCharacters

* Add support for empty query

* Add support for showing the query parser for TextSourceElement
with content that does not start with Japanese text
2021-02-28 14:18:18 -05:00
toasted-nutbread
6f76645f4c
Use a Set instead of an array (#1463) 2021-02-28 13:33:33 -05:00
toasted-nutbread
445f87ebdb
Get categorization of pitch accents (#1462) 2021-02-28 13:26:34 -05:00
toasted-nutbread
fce2c51709
Add support for scanning the selected value of <select> elements (#1461) 2021-02-28 13:26:23 -05:00
toasted-nutbread
f2d2ba0d25
Add ge deinflect rule (#1458)
* Add -ge rule

* Add tests
2021-02-27 23:26:47 -05:00
toasted-nutbread
990d3611cd
Update color of name tag to not overlap with frequency tag color (#1457) 2021-02-27 23:19:16 -05:00
toasted-nutbread
0decabd768
Improve definition ordering (#1456)
* Update dictionary priority

* Replace dictionaryPriority with dictionaryOrder

* Update tests
2021-02-27 23:11:41 -05:00
toasted-nutbread
e4a4e5f85f
Improve term meta ordering (#1455)
* Update implementation of _buildTermMeta

* Remove old implementation

* Expose dictionaryPriority on frequencies and pitch accents

* Update how meta data is generated; add index

* Update order

* Update names

* Expose expressionIndex as part of pitch/frequency data

* Implement meta sorting

* Update test data
2021-02-27 22:27:00 -05:00
toasted-nutbread
7d6915ec3b
Misc display style updates (#1454)
* Remove unused style

* Update inflection separator
2021-02-27 17:58:28 -05:00
toasted-nutbread
c7caea7203
Improve expression variables (#1453)
* Improve how colors are used for expressions

* Add more color definitions
2021-02-27 17:29:59 -05:00
toasted-nutbread
c4b2e83cb4
Organize display styles (#1452)
* Improve grouping for inflection and expression styles

* kanji-link => expression-kanji-link

* Remove unnecessary entry-header2 and entry-header3

* Move tag list into header for consistency with term definitions

* Move styles

* Add clear
2021-02-27 16:54:15 -05:00
toasted-nutbread
8d3436fca3
Refactor display styles (#1451)
* term-expression => expression

* term-pitch-accent => pitch-accent

* term-reason => inflection, term-reasons => inflection-list

* term-details => expression-list-details

* term-glossary => glossary

* Update tag list classes

* term-definition => definition
2021-02-27 16:32:44 -05:00
toasted-nutbread
c64a8eac1e
Change "Raw term" to "Plain term" (#1450) 2021-02-27 15:29:34 -05:00
toasted-nutbread
2a5aa53411
Refactor expression vars (#1449)
* Group expression styles

* Rename var

* Update var name and style

* Group --kanji* vars

* Rename var

* Rename vars
2021-02-27 15:28:40 -05:00
toasted-nutbread
1a7c264165
Add standalone reading (#1448)
* Add option

* Update display

* Hide redundant readings

* Improve label and description
2021-02-27 14:04:52 -05:00
toasted-nutbread
9e7a76a1f1
Improve dictionary priority (#1447)
* Refactor _sortDefinitions

* Remove use of useDictionaryPriority
2021-02-26 23:55:32 -05:00
toasted-nutbread
0bf0620c35
Improve kana segmentation (#1446)
* Improve edge case furigana distribution for mixed hiragana/katakana

* Update/add tests
2021-02-26 23:23:16 -05:00
toasted-nutbread
b994414b14
Improve Anki card type selection (#1445)
* Update separator line styles

* Add tabs

* Add support for radio select

* Remove old select

* Move out of scroll region

* Fix missing line
2021-02-26 18:15:04 -05:00
toasted-nutbread
782b945905
Header lint (#1444)
* Add eslint-plugin-header

* Add rule for header format

* Add missing header

* Fix header issues
2021-02-25 20:21:05 -05:00
toasted-nutbread
b2f225a0d6
Fix wait for frontend not working properly (#1443) 2021-02-25 19:04:41 -05:00
toasted-nutbread
5197b6cb9a
Disambiguation style strings (#1442)
* Add strings section

* Add disambiguation prefix/suffix strings

* Add separator strings

* Add padding definition
2021-02-25 18:48:42 -05:00
toasted-nutbread
ec495bd7b2
Improve frequency display (#1438)
* Add frequencyDisplayMode option

* Update tests

* Add setting

* Update frequency display styles

* Improve wrapping
2021-02-25 17:48:39 -05:00
toasted-nutbread
6bda81b422
Improve note addability (#1440)
* Add valid field

* Add isNoteDataValid function

* Update _areDefinitionsAddableForcedValue to return proper valid values

* Refactor isAnkiConnected check

* Force canAdd to false if not valid
2021-02-24 22:23:40 -05:00
toasted-nutbread
ae92e0b378
AnkiUtil (#1439)
* Add AnkiUtil

* Update AnkiConnect to use AnkiUtil

* Use AnkiUtil in AnkiNoteBuilder

* Replace containsAnyMarker with AnkiUtil.stringContainsAnyFieldMarker

* Add AnkiUtil.getFieldMarkers

* Add fieldsObjectContainsMarker to AnkiUtil

* Remove unused global

* Remove unused parameter: enabled

* Add cloneFieldMarkerPattern
2021-02-24 21:54:58 -05:00
toasted-nutbread
0a76de1b44
Update tag styles (#1437) 2021-02-23 18:42:04 -05:00
toasted-nutbread
28585e6ec6
Fix user select all handling (#1436)
* Update how style restoration is performed

* Refactor

* Add workaround for Firefox issue with user-select: all

* Add infinite loop prevention
2021-02-23 17:43:52 -05:00
toasted-nutbread
7abb8a6056
Update tag display styles (#1433) 2021-02-21 17:47:46 -05:00
toasted-nutbread
e8d22b883b
Fix missing spacing after frequency disambiguation (#1432) 2021-02-21 16:54:32 -05:00
toasted-nutbread
b778974938
Improve tag styles (#1431)
* Update tag styles

* Refactor _createTag

* Update padding
2021-02-21 13:57:28 -05:00
toasted-nutbread
75d0d333d8
Improve some values based on the font-size (#1430) 2021-02-21 11:34:55 -05:00
toasted-nutbread
1e4545107d
Rename context.css to action-popup.css (#1428) 2021-02-21 00:22:21 -05:00
toasted-nutbread
ae1f7ad9fe
Improve button styles (#1427)
* Update variable names

* Update standard button styles

* Update styles

* Update button styles

* Update styles

* Add current styles

* Update button styles

* Update styles

* Update outline item styles

* Update styles

* Update styles

* Update notification button styles

* Update button styles
2021-02-21 00:18:43 -05:00
toasted-nutbread
ad0f8bfe39
Focus visible styles (#1426)
* Add focus-visible styles

* Add focus-visible styles

* Add focus-visible styles

* Add focus-visible styles

* Add focus-visible styles
2021-02-20 20:56:20 -05:00
toasted-nutbread
7315ecdd1a
Refactor styles (#1425)
* Replace :not(:disabled) styles

* Use var for style

* Update active styles

* Update disabled styles for <input> elements

* Update button disabled styles

* Add focus styles to checkbox

* Update style name
2021-02-20 17:09:58 -05:00
toasted-nutbread
b9e92a2528
Improve key press to focus the search query input (#1424) 2021-02-19 21:20:58 -05:00
toasted-nutbread
1e927dd66e
Fix translation regex replacements (#1423)
* Fix regex replacements having issues at the start of scanned text

* Fix test cases

* Add tests
2021-02-19 18:39:43 -05:00
toasted-nutbread
6a6d7ba84e
Fix wanakana.unbind throwing an error (#1422) 2021-02-19 18:39:36 -05:00
toasted-nutbread
19d0d5b512
Fix useSettingsV2 option (for real this time) (#1421) 2021-02-19 18:39:28 -05:00
toasted-nutbread
98ac73260e
Remove section headings (#1413) 2021-02-16 21:25:21 -05:00
toasted-nutbread
53d02ca3d3
Fix search tags in split and grouped display modes (#1412) 2021-02-16 21:19:52 -05:00
toasted-nutbread
6fc5eb2ae1
Fix copy hotkey not working (#1411) 2021-02-16 21:19:43 -05:00
toasted-nutbread
3a86601c88
Improve primary audio assignment when audio isn't available (#1407) 2021-02-15 21:46:55 -05:00
toasted-nutbread
55f5182ca9
Audio popup menu primary card audio selection (#1406)
* Add card icon to audio menu items

* Update cache data format

* Create _getCacheItem

* Add _playAudioFromSource function

* Implement default card audio info

* Specify exact audio to download when an override is assigned

* Abstract using _getMenuItemSourceInfo

* Update downloadability check

* Update the main audio menu buttons to also assign the default source
2021-02-15 21:34:10 -05:00
toasted-nutbread
f2a387237b
Update audio downloading to support specifying an exact array index (#1405) 2021-02-15 20:47:35 -05:00
toasted-nutbread
7027d537a9
Display audio menu refactor (#1404)
* Update display and generation of the audio menu

* Wrap menu items in a div to allow for horizontal layout groupings
2021-02-15 14:31:16 -05:00
toasted-nutbread
74a9c7499c
Update html files and scripts (#1403)
* Add <!-- Scripts --> heading for consistency

* Update indentation of background.html to be more consistent

* Update script grouping
2021-02-15 12:50:21 -05:00
toasted-nutbread
4be066ac8a
Use consistent number of newlines at the start of files (#1402) 2021-02-15 12:43:24 -05:00
toasted-nutbread
750bb67b4a
Move settings2.css to settings.css (#1400) 2021-02-15 10:48:57 -05:00
toasted-nutbread
65bca5ce72
Move settings.css to settings-old.css (#1399) 2021-02-15 10:46:32 -05:00
toasted-nutbread
67aa66c1a0
Disable user-select on preview iframe (#1398) 2021-02-15 10:43:38 -05:00
toasted-nutbread
450912c109
Move js/settings (#1397)
* Move js/settings to js/pages/settings

* Fix script ordering
2021-02-14 23:10:01 -05:00
toasted-nutbread
d6332d2bc7
Test html script ordering (#1396)
* Simplify getAllFiles

* Add test to validate script order

* Update script include order

* Update content script order

* Update sw.js and corresponding lint

* Update manifest
2021-02-14 20:25:41 -05:00
toasted-nutbread
48b59375eb
Cleanup yomichan api (#1394)
* Move invokeMessageHandler to core.js

* Move getMessageResponseResult to backghend.js

* Replace getTemporaryListenerResult
2021-02-14 18:18:02 -05:00
toasted-nutbread
9279ced686
Log refactoring (#1393)
* Create Logger class and log instance

* Replace yomichan.logWarning with log.warn

* Replace yomichan.logError with log.error

* Replace yomichan.log with log.log

* Update the Yomichan class to use the global log object

* Update lint rules
2021-02-14 17:52:01 -05:00
toasted-nutbread
286534e648
Move api to yomichan object (#1392)
* Move cross frame API from API to Yomichan

* Add API instance to Yomichan

* Move api global to yomichan.api

* Pass yomichan to API

* Remove IIFE
2021-02-14 15:53:35 -05:00
toasted-nutbread
efe8140f10
Api prepare refactor (#1391)
* Refactor API preparation

* Run yomichan.prepare manually in the entry point function
2021-02-14 15:19:31 -05:00
toasted-nutbread
94201ed44a
Rename window scroll (#1390)
* Rename WindowScroll to ScrollElement

* Rename window-scroll.js to scroll-element.js

* Update global order
2021-02-14 11:36:44 -05:00
toasted-nutbread
5268c5d1bc
Util rename (#1389)
* Rename MediaUtility to MediaUtil for consistency

* Update variable names

* Rename media-utility.js to media-util.js

* Rename ProfileConditions to ProfileConditionsUtil

* Rename variables

* Move profile-conditions.js to profile-conditions-util.js

* Rename test-profile-conditions.js to test-profile-conditions-util.js
2021-02-14 11:32:30 -05:00
toasted-nutbread
e419a418f6
Move bg/js (#1387)
* Move bg/js/anki.js to js/comm/anki.js

* Move bg/js/mecab.js to js/comm/mecab.js

* Move bg/js/search-main.js to js/display/search-main.js

* Move bg/js/template-patcher.js to js/templates/template-patcher.js

* Move bg/js/template-renderer-frame-api.js to js/templates/template-renderer-frame-api.js

* Move bg/js/template-renderer-frame-main.js to js/templates/template-renderer-frame-main.js

* Move bg/js/template-renderer-proxy.js to js/templates/template-renderer-proxy.js

* Move bg/js/template-renderer.js to js/templates/template-renderer.js

* Move bg/js/media-utility.js to js/media/media-utility.js

* Move bg/js/native-simple-dom-parser.js to js/dom/native-simple-dom-parser.js

* Move bg/js/simple-dom-parser.js to js/dom/simple-dom-parser.js

* Move bg/js/audio-downloader.js to js/media/audio-downloader.js

* Move bg/js/deinflector.js to js/language/deinflector.js

* Move bg/js/backend.js to js/background/backend.js

* Move bg/js/translator.js to js/language/translator.js

* Move bg/js/search-display-controller.js to js/display/search-display-controller.js

* Move bg/js/request-builder.js to js/background/request-builder.js

* Move bg/js/text-source-map.js to js/general/text-source-map.js

* Move bg/js/clipboard-reader.js to js/comm/clipboard-reader.js

* Move bg/js/clipboard-monitor.js to js/comm/clipboard-monitor.js

* Move bg/js/query-parser.js to js/display/query-parser.js

* Move bg/js/profile-conditions.js to js/background/profile-conditions.js

* Move bg/js/dictionary-database.js to js/language/dictionary-database.js

* Move bg/js/dictionary-importer.js to js/language/dictionary-importer.js

* Move bg/js/anki-note-builder.js to js/data/anki-note-builder.js

* Move bg/js/anki-note-data.js to js/data/anki-note-data.js

* Move bg/js/database.js to js/data/database.js

* Move bg/js/json-schema.js to js/data/json-schema.js

* Move bg/js/options.js to js/data/options-util.js

* Move bg/js/background-main.js to js/background/background-main.js

* Move bg/js/permissions-util.js to js/data/permissions-util.js

* Move bg/js/context-main.js to js/pages/action-popup-main.js

* Move bg/js/generic-page-main.js to js/pages/generic-page-main.js

* Move bg/js/info-main.js to js/pages/info-main.js

* Move bg/js/permissions-main.js to js/pages/permissions-main.js

* Move bg/js/welcome-main.js to js/pages/welcome-main.js
2021-02-14 11:19:54 -05:00
toasted-nutbread
43d1457ebf
Move bg/js/settings(2) (#1385)
* Move bg/js/settings/ to js/settings/

* Move bg/js/settings2/ to js/settings/
2021-02-13 23:20:22 -05:00
toasted-nutbread
7a74c3c31e
Move fg/js (#1384)
* Move fg/js/frame-ancestry-handler.js to js/comm/frame-ancestry-handler.js

* Move fg/js/frame-offset-forwarder.js to js/comm/frame-offset-forwarder.js

* Move fg/js/dom-text-scanner.js to js/dom/dom-text-scanner.js

* Move fg/js/text-source-element.js to js/dom/text-source-element.js

* Move fg/js/text-source-range.js to js/dom/text-source-range.js

* Move fg/js/float-main.js to js/display/popup-main.js

* Move fg/js/content-script-main.js to js/app/content-script-main.js

* Move fg/js/frontend.js to js/app/frontend.js

* Move fg/js/popup-factory.js to js/app/popup-factory.js

* Move fg/js/popup-proxy.js to js/app/popup-proxy.js

* Move fg/js/popup-window.js to js/app/popup-window.js

* Move fg/js/popup.js to js/app/popup.js
2021-02-13 23:13:53 -05:00
toasted-nutbread
6a271e067f
Move mixed/js (#1383)
* Move mixed/js/core.js to js/core.js

* Move mixed/js/yomichan.js to js/yomichan.js

* Move mixed/js/timer.js to js/debug/timer.js

* Move mixed/js/hotkey-handler.js to js/input/hotkey-handler.js

* Move mixed/js/hotkey-help-controller.js to js/input/hotkey-help-controller.js

* Move mixed/js/hotkey-util.js to js/input/hotkey-util.js

* Move mixed/js/audio-system.js to js/input/audio-system.js

* Move mixed/js/media-loader.js to js/input/media-loader.js

* Move mixed/js/text-to-speech-audio.js to js/input/text-to-speech-audio.js

* Move mixed/js/comm.js to js/comm/cross-frame-api.js

* Move mixed/js/api.js to js/comm/api.js

* Move mixed/js/frame-client.js to js/comm/frame-client.js

* Move mixed/js/frame-endpoint.js to js/comm/frame-endpoint.js

* Move mixed/js/display.js to js/display/display.js

* Move mixed/js/display-audio.js to js/display/display-audio.js

* Move mixed/js/display-generator.js to js/display/display-generator.js

* Move mixed/js/display-history.js to js/display/display-history.js

* Move mixed/js/display-notification.js to js/display/display-notification.js

* Move mixed/js/display-profile-selection.js to js/display/display-profile-selection.js

* Move mixed/js/japanese.js to js/language/japanese-util.js

* Move mixed/js/dictionary-data-util.js to js/language/dictionary-data-util.js

* Move mixed/js/document-focus-controller.js to js/dom/document-focus-controller.js

* Move mixed/js/document-util.js to js/dom/document-util.js

* Move mixed/js/dom-data-binder.js to js/dom/dom-data-binder.js

* Move mixed/js/html-template-collection.js to js/dom/html-template-collection.js

* Move mixed/js/panel-element.js to js/dom/panel-element.js

* Move mixed/js/popup-menu.js to js/dom/popup-menu.js

* Move mixed/js/selector-observer.js to js/dom/selector-observer.js

* Move mixed/js/scroll.js to js/dom/window-scroll.js

* Move mixed/js/text-scanner.js to js/language/text-scanner.js

* Move mixed/js/cache-map.js to js/general/cache-map.js

* Move mixed/js/object-property-accessor.js to js/general/object-property-accessor.js

* Move mixed/js/task-accumulator.js to js/general/task-accumulator.js

* Move mixed/js/environment.js to js/background/environment.js

* Move mixed/js/dynamic-loader.js to js/scripting/dynamic-loader.js

* Move mixed/js/dynamic-loader-sentinel.js to js/scripting/dynamic-loader-sentinel.js
2021-02-13 22:52:28 -05:00
toasted-nutbread
deed5027cd
Move mixed/lib/ to lib/ (#1382) 2021-02-13 21:28:47 -05:00
toasted-nutbread
e9358997c0
Move search mode (#1381)
* Move mode handling to SearchDisplayController

* Remove mode state info and handlers from Display
2021-02-13 18:52:54 -05:00
toasted-nutbread
00066e4eb5
Fix cross frame communication not exposing sourceTabId properly (#1379) 2021-02-13 12:13:05 -05:00
toasted-nutbread
edc22b98e3
Improve search page popup detection (#1378)
* Add _getAllTabs function

* Add _findTabs

* Use _findTabs instead of _findTab

* Remove _findTab

* Refactor tab check

* Add ability to search for a popup native window

* Fix dangling comma
2021-02-13 12:13:01 -05:00
toasted-nutbread
d5964ee4d4
Rename html files (#1377)
* Rename context.html to action-popup.html

* Rename float.html to popup.html
2021-02-12 23:23:26 -05:00
toasted-nutbread
daea80942c
Fix old settings page not being used properly (#1376) 2021-02-12 23:07:19 -05:00
toasted-nutbread
4053d9b2fa
Move html files (#1375)
* Move background.html to /

* Move context.html to /

* Move info.html to /

* Move legal.html to /

* Move permissions.html to /

* Move pitch-accents-preview.html to /

* Move popup-preview.html to /

* Move search.html to /

* Move settings.html to /

* Move settings2.html to /

* Move template-renderer.html to /

* Move welcome.html to /

* Move float.html to /

* Move display-templates.html to /
2021-02-12 23:03:15 -05:00
toasted-nutbread
4f13de2835
Move css files (#1374)
* Move bg/css/ to css/

* Move mixed/css/ to css/
2021-02-12 21:03:30 -05:00
toasted-nutbread
8454f52378
Move more data files (#1373)
* Move deinflect.json

* Move button.mp3

* Move fonts
2021-02-12 20:37:43 -05:00
toasted-nutbread
f70464e5f3
Add additional vz deinflection rule (#1367) 2021-02-12 20:29:23 -05:00
toasted-nutbread
98975d5923
Move images (#1372)
* Move mixed/img/ to images/

* Move bg/img/ to images/
2021-02-12 20:27:43 -05:00
toasted-nutbread
2b4af57bd7
Move data folder (#1371)
* Move handlebars template files

* Move schema files
2021-02-12 19:56:24 -05:00
toasted-nutbread
37f9161718
Update the warning on the old settings page (#1370) 2021-02-12 19:54:44 -05:00
toasted-nutbread
1c5e3e6d39
Search decouple (#1369)
* Update how query post-processing is implemented

* Update DisplaySearch to not subclass Display

* Update display construction

* Make display initialization consistent

* Remove unused

* Fix wanakana binding

* Use own frame/tab ID

* DisplaySearch => SearchDisplayController

* Fix globals
2021-02-11 22:57:38 -05:00
toasted-nutbread
94db6c69fa
Permissions button in browser action popup (#1368)
* Add key icon

* Update context icon styles

* Add permissions links

* Show warning badge if permissions are insufficient for certain settings

* Create PermissionsUtil

* Use PermissionsUtil in Backend

* Update SettingsController to use PermissionsUtil

* Update AnkiController to use getRequiredPermissionsForAnkiFieldValue

* Show the permissions buttons/links on the context page when necessary

* Update MV3 compatibility
2021-02-11 18:55:09 -05:00
toasted-nutbread
07cd006127
Add support for multiple types of audio (#1366) 2021-02-10 19:18:28 -05:00
toasted-nutbread
673952e825
Fix window popup screenshot (#1365)
* Pass tabId to the screenshot functionality

* Make setVisibleOverride async

* Fix argument order

* Fix incorrect windowId

* Remove unused argument
2021-02-09 23:14:29 -05:00
toasted-nutbread
166451b8f7
Improve popup window ownership (#1364)
* Update frameInformationGet to also return the tab ID

* Add tabId to Frontend

* Pass tabId/frameId to Display

* Pass ownership information using setContent

* Remove ownerFrameId for Popup classes

* Use frameId instead of ownerFrameId for screenshotting

* Use contentOrigin instead of owner

* Update _invokeContentOrigin implementation
2021-02-09 22:56:04 -05:00
toasted-nutbread
0f5fb804d0
Mecab test (#1361)
* Update Mecab API

* Add testMecab API function

* Add a test button for the Mecab component
2021-02-08 19:40:49 -05:00
toasted-nutbread
0ed24347ee
Fix settings permissions issues (#1360)
* Add missing warning indicator for the MeCab option

* Fix error handling of permissions requests
2021-02-08 19:37:36 -05:00
toasted-nutbread
0d031ab785
Improve context page display on mobile (#1359) 2021-02-08 17:53:22 -05:00
toasted-nutbread
e386599872
Fix changing the parser not immediately updating (#1358) 2021-02-08 17:53:17 -05:00
toasted-nutbread
69e8addb47
Mecab refactor (#1357)
* Use private variables

* Use local variables

* Remove onError

* Use private functions

* Move results parsing

* Set up disconnect observation

* Add _clearPort

* Update API

* Rename

* Fix iterator

* Update parseText invocation

* Update parseText format

* Reorganize

* Update implementation and docs

* Fix some port setup issues
2021-02-08 17:53:12 -05:00
toasted-nutbread
7b28c2c532
Auto-fill Anki card fields when possible (#1355) 2021-02-08 17:53:07 -05:00
toasted-nutbread
bb8a521dff
Remove unused api functions (#1354)
* Remove screenshotGet

* Remove downloadDefinitionAudio

* Remove clipboardGetImage
2021-02-08 17:53:02 -05:00
toasted-nutbread
73e91b3b62
Refactor FrameOffsetForwarder (#1353)
* Add getChildFrameElement to FrameAncestryHandler

* Add isRootFrame

* Initialize _frameOffset to [0, 0]

* Update FrameOffsetForwarder implementation

* Update documentation
2021-02-08 17:52:56 -05:00
toasted-nutbread
3e5b30ff76
Fix overflow scrollbar appearing sometimes (#1350) 2021-02-08 17:52:51 -05:00
toasted-nutbread
4b6703114c
Improve dictionaries not enabled badges (#1349)
* Improve badges on the settings page

* Add badges on the context page
2021-02-08 17:52:46 -05:00
toasted-nutbread
849e4fabe1
Native messaging optional permission (#1348)
* Refactor PermissionsToggleController to not require a setting

* Update nativeMessaging to be optional on Chrome

* Update parsing.enableMecabParser setting to request permissions

* Update permissions page to use PermissionsToggleController

* Update permissions documentation

* Disable toggle for permissions which are not optional
2021-02-08 17:52:41 -05:00
toasted-nutbread
008809e0e7
Enforce language (#1344)
* Assign text content and a language

* Remove _appendMultilineText

* Assign lang for createTextNode content

* Add language attributes to HTML pages
2021-02-08 17:52:35 -05:00
toasted-nutbread
c6315cdb8c
え deinflection (#1343)
* Add -e deinflections

* Add tests

* Add more rules for double え
2021-02-08 17:52:30 -05:00
toasted-nutbread
ace6e92d55
Update chrome://extensions/shortcuts URLs to be clickable (#1342) 2021-02-08 17:52:25 -05:00
toasted-nutbread
9f5cbaac5a
Frame ancestry handler refactor (#1352)
* Validate source window before handling messages

* Add unregisterHandler to CrossFrameAPI

* Refactor the process FrameAncestryHandler uses to get ancestor frame IDs

* Store a mapping of child frame information

* Update getFrameAncestryInfo to only run once
2021-02-06 16:19:55 -05:00
toasted-nutbread
356e7f5274
Add FrameAncestryHandler (#1351) 2021-02-06 14:32:21 -05:00
toasted-nutbread
8f97ca0aac
Permissions toggle controller (#1347)
* Move file, rename class

* Expose required permissions in an attribute

* Update selector

* Update attribute

* Fix global declaration order
2021-02-04 22:17:42 -05:00
toasted-nutbread
47f16862d0
Fix incorrect clipboard setting target (#1346) 2021-02-04 21:12:32 -05:00
toasted-nutbread
6c9f4a2be9 Update version 2021-01-31 16:18:54 -05:00
toasted-nutbread
6218b0d8f7
Fix the settings page trying to create a popup window (#1341) 2021-01-31 16:18:17 -05:00
toasted-nutbread
b0b201fc6a
Update default settings page to the v2 page (#1339) 2021-01-31 11:58:57 -05:00
toasted-nutbread
08a87bd007
Settings permissions info display (#1338)
* Add getAllPermissions function

* Add permissionsChanged event

* Update ClipboardPopupsController to show permissions validation info

* Add invalid indicator

* Display invalid indicator when permissions are not valid

* Fix border color transition not being necessary on input-suffix-button
2021-01-31 11:55:11 -05:00
toasted-nutbread
9e83faa02c
Html lint (#1336)
* Move style rules

* Fix non-unique IDs

* Remove erroneous ids

* Add title

* Fix invalid closing tag

* Install html-validate

* Add .htmlvalidate.json

* Update HTML and styles

* Add test-lint-html

* Update test files

* Update test-lint-html/css commands to have more explicit targets
2021-01-30 20:44:54 -05:00
toasted-nutbread
60c38ab83c
Modal refactor (#1335)
* Rename modal-container to modal

* Update how modal IDs are handled

* Fix invalid modal check

* Update modal IDs
2021-01-30 19:47:16 -05:00
toasted-nutbread
828c4b11c1
Permissions requesting fixes (#1334)
* Fix permissions requests not occurring during user interaction

* Update toggle after changing permissions

* Update functions

* Update clipboard requests
2021-01-30 15:05:08 -05:00
toasted-nutbread
a802666d8d
Update error handling for navigator.clipboard (#1333) 2021-01-30 15:03:19 -05:00
toasted-nutbread
7177694419
Fix the alt key opening the menu in KBM input fields on Firefox (#1332) 2021-01-30 14:15:27 -05:00
toasted-nutbread
0ba1427775
Fix null not being handled properly in _findTab result (#1331) 2021-01-30 14:06:43 -05:00
toasted-nutbread
d0b8b605db
Add note errors (#1329)
* Update _addAnkiNote to track errors

* Change comparison

* Update anki note adding to show errors

* Fix template

* Show errors when Anki card creation behaves unexpectedly

* Update some errors related to anki media injection

* Update addAnkiNote error handling

* Improve Anki errors

* Simplify error messages related to template rendering
2021-01-30 12:33:29 -05:00
toasted-nutbread
af6e9a8153
Fix CSP error when reading images from the clipboard using the paste command (#1328) 2021-01-30 11:15:11 -05:00
toasted-nutbread
588d8a681a
Display notification style updates (#1327)
* Add scrollbar-inverse styles

* Update notification styles to support better overflowing
2021-01-29 22:12:24 -05:00
toasted-nutbread
04cf4ec8d5
Settings and welcome page improvements (#1326)
* Update wording to be less repetitive

* Remove the shadow theme option from the welcome page, to avoid confusion

* Update input sizes

* Update select text to not clip the triangle icon

* Update wording

* Update descriptions

* Remove "popup" to not exclude the search page
2021-01-29 19:10:57 -05:00
toasted-nutbread
c7c5bab1a9
Fix incorrect function (#1325) 2021-01-28 21:38:13 -05:00
toasted-nutbread
a81787c55b
Remove the dictionary tag from the definitionTags (#1324)
* Remove dictionary tag from term definitionTags and kanji tags

* Update test data

* Update templates

* Update tests

* Update information
2021-01-28 21:33:30 -05:00
toasted-nutbread
e610a62ceb
Refactor anki field templates (#1323)
* Update glossary and glossary-single

* Define patch

* Create TemplatePatcher

* Add test
2021-01-28 21:17:10 -05:00
toasted-nutbread
ed0c0c20c0
Native keyboard shortcuts settings (#1322)
* Fix style issue

* Add ExtensionKeyboardShortcutController

* Move descriptions

* Add separator line
2021-01-27 19:34:14 -05:00
toasted-nutbread
97bb05147e
Don't trigger a change event for the initial content of the clipboard (#1321) 2021-01-26 20:12:04 -05:00
toasted-nutbread
77b7bdb4ce
Update translation options to be advanced only (#1320) 2021-01-26 20:00:34 -05:00
toasted-nutbread
898498c8a3
Clipboard settings organization (#1319)
* Create clipboard icon

* Move clipboard options

* Update clipboard options

* Update labels

* Add info

* Update all clipboard settings to request permissions
2021-01-26 19:58:58 -05:00
toasted-nutbread
8d292363d4
Update clipboard options organization (#1318)
* Update options organization

* Update general.enableClipboardPopups to clipboard.enableBackgroundMonitor

* Update general.enableClipboardMonitor to clipboard.enableSearchPageMonitor

* Update general.maximumClipboardSearchLength to clipboard.maximumSearchLength

* Update general.autoSearchClipboardContent to clipboard.autoSearchContent
2021-01-26 18:30:01 -05:00
toasted-nutbread
d11cd7b28f
Fix missing options for _onDisplayOptionsUpdated invocation (#1317) 2021-01-26 18:24:56 -05:00
toasted-nutbread
43c9a5eb6a
Fix search box resizing (#1316)
* Don't resize the search box unless it's necessary

* Allow search box to shrink under certain circumstances
2021-01-25 22:19:44 -05:00
toasted-nutbread
34fed22ccb
Fix clipboard monitor not persisting (#1315)
* Add optionsUpdated event to Display

* Update this._clipboardMonitorEnabled

* Update settings to ensure no unexpected behaviour
2021-01-25 22:18:31 -05:00
toasted-nutbread
981f73b562
Clipboard lookup skip option (#1314)
* Add autoSearchClipboardContent option

* Hide header if there is any search text

* Add setting for autoSearchClipboardContent

* Add support for autoSearchClipboardContent
2021-01-25 22:05:06 -05:00
toasted-nutbread
ea1d40f94b
Defer load of iframe on the settings page (#1313) 2021-01-25 19:21:02 -05:00
toasted-nutbread
5215c6b8b4
Update comm message errors to include what the action was (#1312) 2021-01-25 18:44:49 -05:00
toasted-nutbread
5232b945a7
Update Basic Usage section of the readme (#1307)
* Update the Basic Usage section of the readme

* Update wording on welcome page to match readme
2021-01-24 22:33:59 -05:00
toasted-nutbread
bab6c6fba9
Update badges (#1309)
* Update badge indications to be based off current profile

* Update warning badge to display when no dictionaries are enabled

* Show how many dictionaries are enabled
2021-01-24 22:32:29 -05:00
toasted-nutbread
a0657e1bab
Various firefox fixes (#1306)
* Fix for chrome.commands not being present on Firefox's embedded float.html

* Fix _getSearchContext mishandling _optionsContextOverride
2021-01-24 14:20:17 -05:00
toasted-nutbread
7b41f3b7b2
Replace "Disabled" with "None", for better terminology consistency (#1304) 2021-01-23 22:51:15 -05:00
toasted-nutbread
ebfef0c748
Multiple custom audio sources (#1303)
* Fix label

* Fix icon size being flexible

* Add schema

* Add customSourceType option

* Update settings

* Pass customSourceType to the audio downloader

* Implement custom audio JSON mode
2021-01-23 22:46:00 -05:00
toasted-nutbread
ef577b8875
Audio button menu (#1302)
* Fix popup menus not stoping events

* Ensure non-stale use of buttons

* Enable popup menus on the popup/search pages

* Add audio menu
2021-01-23 21:13:01 -05:00
toasted-nutbread
9fbdb9757b
Update popup menu structure (#1301)
* Wrap menu items in popup-menu-body

* Use bodyNode instead of node

* Update selector

* Update _setPosition to not use items
2021-01-23 21:07:45 -05:00
toasted-nutbread
85c039850c
Audio play button status badge (#1300)
* Add plus-thick.svg

* Add success-color variable

* Fix icon display

* Add badge

* Add missing audioResolved

* Update audio badge

* Expose attribute
2021-01-23 20:24:52 -05:00
toasted-nutbread
643afcddd2
Update text-color-light definitions to be more consistent (#1299) 2021-01-23 16:24:05 -05:00
toasted-nutbread
8a6ecc7297
Remove unused settings2 CSS (#1298) 2021-01-23 16:07:50 -05:00
toasted-nutbread
9587202d5a
Fix menu items not being hidden properly (#1297) 2021-01-23 15:21:56 -05:00
toasted-nutbread
323c2e8bf3
Add missing audio field (#1296) 2021-01-23 15:11:10 -05:00
toasted-nutbread
ca3f9c3648
Update icons (#1295)
* Update icons

* Simplify sidebar-button-icon styles
2021-01-23 13:48:54 -05:00
toasted-nutbread
a24f3f5347
Material style updates (#1294)
* Add more icons

* Update menu stylings
2021-01-23 13:01:19 -05:00
toasted-nutbread
e999db0f10
More display audio refactoring (#1293)
* Add _getExpressionAndReading utility

* Add _getExpressionReadingKey utility

* Add _getAudioOptions

* Separate some logic into _createAudioFromInfoList

* Update cache data format so that it can be accessed synchronously

* Allow sources to be manually specified

* Add options to enable playback of a specific entry of a source
2021-01-23 11:18:45 -05:00
toasted-nutbread
349d9a3611
Update display audio cache (#1292)
* Use a standard map

* Wrap function

* Improve cache to support multiple different source arrays

For the same reading/expression

* Rename variable

* Use null instead of an error
2021-01-23 00:31:23 -05:00
toasted-nutbread
7fbfef513d
Display audio update (#1291)
* Move createExpressionAudio to DisplayAudio

* Move createAudioFromInfo to DisplayAudio

* Update TextToSpeechAudio
2021-01-22 22:10:27 -05:00
toasted-nutbread
a51a591c40
Update audio validity checks to be based on the source (#1290) 2021-01-22 21:09:43 -05:00
toasted-nutbread
55df9dc7cd
Fix numpad enter functioning differently than enter on the search page (#1289) 2021-01-22 20:46:48 -05:00
toasted-nutbread
cf57c4e38d
Simplify CacheMap (#1287)
* Simplify CacheMap, removing support for array path keys

* Update keys

* Update JsonSchemaValidator

* Update AudioSystem
2021-01-21 22:49:54 -05:00
toasted-nutbread
0bc5a4a971
Update data-menu-position to be space separated instead of comma separated (#1286) 2021-01-21 19:57:43 -05:00
toasted-nutbread
ad0002d4d8
Fix TextSourceElement.getNodesInRange not including the element (#1284) 2021-01-20 21:35:09 -05:00
toasted-nutbread
6c81a10e05
Move menu styles into material.css (#1283) 2021-01-20 21:21:39 -05:00
toasted-nutbread
ebb9f15cf9
Fix search page type (#1282) 2021-01-20 21:20:54 -05:00
toasted-nutbread
974aef4d2e
Fix missing script on the old setting page (#1281) 2021-01-20 20:16:54 -05:00
toasted-nutbread
d668b653a6
Move popup-menu.js (#1280) 2021-01-20 20:15:41 -05:00
toasted-nutbread
26cf226777
Fix missing include on the welcome page (#1279) 2021-01-19 22:53:13 -05:00
toasted-nutbread
67a6abfac7
Update descriptions for configuring browser keyboard shortcuts (#1278) 2021-01-19 22:52:01 -05:00
toasted-nutbread
ccf28ed055
Menu refactor (#1277)
* Rename menuOpened event to menuOpen

* Rename menuClosed event to menuClose

* Rename close event

* Assign _isClosed

* Reuse event detail

* Expose PopupMenu.openMenus

* Rename and expose properties

* Add cancelable argument to close

* Update menuOpen detail

* Update menuClose detail
2021-01-19 20:52:57 -05:00
toasted-nutbread
3c51bf2a0b
Fix DisplayGenerator not working on pitch-accents-preview.html (#1276) 2021-01-19 20:48:10 -05:00
toasted-nutbread
21fce9f3d9
Audio system refactoring (#1275)
* Simplify details

* Simplify audio creation

* Return an array of sources instead of a single item

* Use sourceIndex instead of index

* Rename APIs

* Return more info about the source

* Return source instead of sourceIndex
2021-01-18 22:01:08 -05:00
toasted-nutbread
85c723b85f
Backend options update (#1274)
* Update how _onCommandToggleTextScanning changes settings

* Make getFullOptions/getOptions private

* Remove unused isPrepared
2021-01-18 17:25:49 -05:00
toasted-nutbread
cbc5ab5696
Hotkey help controller (#1272)
* Create HotkeyHelpController

* Expose getAllTemplates

* Update hotkeys on the context page

* Update hotkeys on the display pages

* Fix display issue where a hotkey used to be defined but no longer is
2021-01-18 15:23:49 -05:00
toasted-nutbread
0420a29d77
Command refactor (#1271)
* Change selectors

* Change openHelpPage to openInfoPage
2021-01-18 14:22:48 -05:00
toasted-nutbread
b0f0ecd7df
Hotkey util (#1270)
* Create HotkeyUtil

* Create tests

* Use HotkeyUtil

* Fix issues
2021-01-18 13:52:07 -05:00
toasted-nutbread
25568637fe
Display audio (#1269)
* Update display definition/definition node handling

* Separate display audio controls into a separate class
2021-01-18 00:16:40 -05:00
toasted-nutbread
887150e012
Audio system improvements (#1268)
* Simplify API

* Move fallback audio
2021-01-17 23:05:15 -05:00
toasted-nutbread
d21de9df00
Update copyHostSelection to be popup-only (#1267) 2021-01-17 19:35:01 -05:00
toasted-nutbread
c875ca728f
Add support for frontend hotkeys; add scanSelectedText action (#1266)
* Add support for frontend hotkeys; add scanSelectedText action

* Remove unused global

* Remove duplicate hotkey handler script
2021-01-17 19:28:42 -05:00
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
a39eede04b
If scopes are now empty but weren't previously, add all valid scopes (#1259) 2021-01-16 22:37:58 -05:00
toasted-nutbread
86e4e53372
Update keyboard shortcut controller (#1258)
* Change attribute

* Update hidden style

* Hide scope checkboxes when they are not supported for that action
2021-01-16 22:31:30 -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
5c57015a79
TextSource* API update (#1255)
* Add collapse function to TextSource*

* Add isConnected getter to TextSource*
2021-01-16 21:50:50 -05:00
toasted-nutbread
d89f23261c
Update default settings page (#1254)
* Update settings v2 to be the default for existing users

* Update information on the old settings page

* Update information on the new settings page

* Update tests
2021-01-16 16:55:40 -05:00
toasted-nutbread
bd89c92c37
Clarify Anki card type dropdown (#1253) 2021-01-16 16:24:06 -05:00
toasted-nutbread
b560019af4
Shorten options upgrade list (#1252) 2021-01-16 15:35:21 -05:00
toasted-nutbread
b234294540
Stroke count marker (#1251)
* Add stroke-count definition

* Update options

* Update documentation

* Add helper
2021-01-16 15:29:42 -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
f7c3b0010c
Update extension shortcuts (#1246)
* Update commands

* Add command to open the popup window
2021-01-16 11:33:34 -05:00
toasted-nutbread
8766744aa4
Popup window options (#1245)
* Add popupWindow options

* Add toBoolean converter

* Add settings

* Use new options

* Add test link

* Fix window state not working

* Make the window section advanced only
2021-01-16 10:22:24 -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
9f202313c7
Fix note context on settings page (#1241) 2021-01-15 17:30:43 -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
d9f5d21d15
Fix profile conditions issues (#1239)
* Add an event for when the number of profile conditions changes

* Update count

* Fix stale data being used

* Add "Remove group" option
2021-01-14 22:01:01 -05:00
toasted-nutbread
29b6c98e9f
Clarify some settings descriptions (#1238)
* Clarify the meaning of the 'None' option; rename to 'No key'

* Clarify Auto-hide search popup

* Clarify Scan delay

* Move Support inputs for devices with touch screens; make advanced
2021-01-14 21:33:41 -05:00
toasted-nutbread
a97fbcde83
Add reset input to profile condition (#1237)
* Add _setType and _setOperator

* Add reset value menu option
2021-01-14 21:18:22 -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
39741bf1d2
Convert getDefaultOptions to a utility function (#1235) 2021-01-14 19:14:29 -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
33aeae4110
Search key handling refactor (#1233)
* Move super invocation

* Move active element check

* Simplify key handling

* Remove unused
2021-01-14 18:30:16 -05:00
toasted-nutbread
351d9b2e8e
Update KeyboardMouseInputField (#1232)
* Assign missing type

* Update KeyboardMouseInputField to use an array instead of a string

* Use "modifiers" instead of "value" or "inputs"

* Simplify

* Add support for using keys

* Use bool args instead of a string
2021-01-14 17:54:09 -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
25080ac82e
Change popupActionBarLocation to top (#1222) 2021-01-10 16:49:40 -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
b1ce650aa7
Fix typo (#1218) 2021-01-10 14:47:22 -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
11e9eb2295
Add links to settings v2 headings (#1212) 2021-01-09 16:39:30 -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
3760b22a25
Fix AnkiCardController using stale data (#1204) 2021-01-06 18:16:51 -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
d50d7a4a3a
Update permissions pages with info about MV3 permissions (#1200) 2021-01-03 15:29:29 -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
eda8534e19
Group templates near their relevant modal definitions (#1198) 2021-01-02 20:30:11 -05:00
toasted-nutbread
41f6de3e3a
Simplify collapseEmphaticOptions options (#1196) 2021-01-01 23:16:44 -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
41e8f056cc Update version 2020-12-31 17:42:37 -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
1b4ba1fb00
Simplify glossary layout setting (#1188)
* Add conditionalConvert transform

* Convert glossaryLayoutMode option to a toggle
2020-12-31 13:38:51 -05:00
toasted-nutbread
1ac4e979e4
Improve settings transforms (#1187) 2020-12-31 13:10:23 -05:00
toasted-nutbread
6c46afedf7
Fix incorrect body height on pitch accents preview page (#1186) 2020-12-31 11:16:50 -05:00
toasted-nutbread
32f233acfd
Fix display notification close button style (#1185) 2020-12-30 23:00:52 -05:00
toasted-nutbread
4650f0b542
Translator frequency data improvements (#1184)
* Specify if a frequency has a specific reading

* Make frequency data creation more standardized

* Update test data
2020-12-30 15:12:08 -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
9f2da58bfd
Simplify CSS rule (#1182) 2020-12-30 13:35:25 -05:00
toasted-nutbread
a8454568b1
Improve wrapping layout for small resolutions (#1181) 2020-12-30 13:32:41 -05:00
toasted-nutbread
973dfc581a
Improve location of Anki error message (#1180) 2020-12-30 12:39:33 -05:00
toasted-nutbread
4d76356c2b
Add section heading comments (#1179) 2020-12-30 11:42:10 -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
a23c94fb02
Fix modals not being hidden by default on the welcome page (#1174) 2020-12-29 14:29:24 -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
5c970fc404
Remove top link code (#1172) 2020-12-28 23:06:53 -05:00
toasted-nutbread
524c0b2b20
Improve element hiding (#1171)
* Use multi-line definition for transition

* Update how PopupElement visibility is controlled
2020-12-28 23:00:03 -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
49be22210d
Remove "Top" link from settings v2 page (#1169) 2020-12-28 22:55:42 -05:00
toasted-nutbread
7536f1df25
Change global.useSettingsV2 default value to true (#1168) 2020-12-28 22:54:12 -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
c03340c4aa
Change popupCurrentIndicatorMode default to triangle (#1161) 2020-12-22 18:22:14 -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
bb902c76e8
Move scanning options higher up (#1159) 2020-12-22 17:14:47 -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
b083e9f08f
Fix missing data-setting target for scanning.enablePopupSearch (#1156) 2020-12-21 19:22:05 -05:00
toasted-nutbread
8203f11e89
Improve settings item button styles (#1155)
* Improve styles for settings-item-button

* Add hover/active styles to settings-item-button

* Use consistent phrasing for setting buttons and include ellipsis
2020-12-21 19:21:03 -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
abc017545c
Update the popup preview to always be visible on the settings v2 page (#1151) 2020-12-20 22:16:38 -05:00
toasted-nutbread
abfe066d7e
Fix description of scanning.autoHideResults setting (#1150) 2020-12-20 22:09:16 -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
8747a29f9f
Settings v2 headings improvements (#1148)
* Improve spacing on h2

* Add icons to headings

* Clarify font-size
2020-12-20 16:03:07 -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
4f6309842f
Dictionary display updates (#1146)
* Display dictionary-list as flex

* Move styles

* Move enabled toggle

* Update details

* Disable sorting based on priority

* Update styles

* Update title color when disabled

* Update display style of secondary search dictionaries
2020-12-20 13:59:30 -05:00
toasted-nutbread
7dd06e1a64
Indicate if first Anki card field is invalid (#1145)
* Add AnkiNoteBuilder.containsAnyMarker

* Flag first field as invalid when there is no marker
2020-12-20 12:20:29 -05:00
toasted-nutbread
113e3b68b8
Improve styles for invalid inputs (#1143) 2020-12-20 11:27:05 -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
af9b4d2b93
Update termTags for termGrouped mode to include all definition tags (#1138)
* Update termTags for termGrouped mode to include all definition tags

* Update tests
2020-12-19 16:47:32 -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
2fa9b91515
Add support for using declarativeNetRequest (#1127) 2020-12-18 17:18:00 -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
9beb659b17
Manifest version CSS rules (#1126)
* Add CSS rules for hiding content based on manifest version

* Organize other rules
2020-12-18 17:00:34 -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
5d8ac70395
Display an indication when Anki field order/existence doesn't match (#1119) 2020-12-18 12:05:33 -05:00
toasted-nutbread
c728448a4d
Maximum clipboard search length (#1118)
* Add maximumClipboardSearchLength an option

* Add setting

* Add limits

* Update tests
2020-12-18 11:24:43 -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
c3e772fadc
Include permissions info in backup files (#1116) 2020-12-16 22:26:19 -05:00
toasted-nutbread
26dd0270d9
Create function to create a new DOM parser (#1114) 2020-12-14 23:05:04 -05:00
toasted-nutbread
7926821c48
Rename SimpleDOMParser to NativeSimpleDOMParser (#1113) 2020-12-14 22:56:38 -05:00
toasted-nutbread
e29c752793
Simplify URL normalization (#1112) 2020-12-14 22:39:03 -05:00
toasted-nutbread
96e68be0fa
Refactor tab creation to improve errors (#1110) 2020-12-13 16:09:11 -05:00
toasted-nutbread
05e213674c
Update content-security-policy to be more explicit (#1109) 2020-12-13 13:56:45 -05:00
toasted-nutbread
dabe5fa899
Update info (#1108)
* Show language

* Show extension manifest name + version
2020-12-13 12:46:36 -05:00
toasted-nutbread
14b9e0621b
Updated welcome page (#1107)
* Make storage controller optional

* Make more elements optional

* Update styles

* Create new welcome page

* Update URL for welcome guide

* Remove old guide

* Fix unused global
2020-12-13 12:32:43 -05:00
toasted-nutbread
5d2edda753
Fix storage stats update error during dictionary deletion (#1106) 2020-12-13 11:29:32 -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
92cfd31c0f
Fix global declarations check (#1101)
* Fix getSubstringCount not properly checking word boundaries

* Remove unused global declarations
2020-12-12 14:47:17 -05:00
toasted-nutbread
cb0699ecd4
Add initialization script for generic internal pages (#1099) 2020-12-12 12:38:21 -05:00
toasted-nutbread
e9027457ab
Add permissions page and documentation (#1098) 2020-12-12 12:35:56 -05:00
toasted-nutbread
ddb71af6bd
Add zuru deinflections (#1091)
* Update deinflector rule types

* Add deinflection rules for zuru verbs

* Add tests
2020-12-12 10:17:25 -05:00
toasted-nutbread
8192fdd63c
Update style of legal.html to match settings v2 (#1092) 2020-12-10 17:53:26 -05:00
toasted-nutbread
df9436bc3e
Add classic suru deinflections (#1089)
* Add classic suru deinflections

* Add tests
2020-12-08 22:39:06 -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
2be81cbb77
Update/test deinflector (#1087)
* Update formatting

* Add missing rule for progressive/perfect

* Add adnomial -ki rule

* Update rules for irregular verbs

* Organize rules by rulesOut

For the most part, the order is:
  adj-i => v1 => v5 => vs => vk => other

* Add tests
2020-12-08 20:29:42 -05:00
toasted-nutbread
2910685a96
Database test updates (#1086)
* Remove unused

* Create DatabaseVM

* Update sequences in test dictionary

* Update documentation

* Add second valid testing dictionary

* Set up translator tests

* Write expected data
2020-12-08 20:27:36 -05:00
toasted-nutbread
0dc170e70b Update version 2020-12-06 21:19:13 -05:00
toasted-nutbread
35fbc76df4
Settings v2 testing setup (#1084)
* Add option for using settings v2

* Add options/info about settings v2

* Use settings v2 URL when applicable

* Update tests
2020-12-06 21:17:05 -05:00
toasted-nutbread
88b8191ac2
Settings page v2 (#606)
* Initial setup of settings page v2

* Add security options

* Add layout-aware scanning option

* Fix style

* Set up simple setting bindings

* Convert colors to variables

* Refactor, remove unused

* Set up variables for some size values

* Mark expandable entries with a pointer cursor

* Add scroll top link

* Update sidebar styles

* Update icon button styles

* Fix padding when settings are wrapped

* Update shadow styles

* Use animation timings

* Add support for being able to open the sidebar on small-screen/mobile devices

* Update styles and preview sidebar

* Add ability to expand the preview sidebar

* Scroll to initial target only after advanced setting is set

* Fix rebase issues

* Update z-index of modal

* Use Modal for testing

* Set up modal controller

* Update button styles

* Update modal design

* Update styling of multi-part inputs

* Fix button styles

* Create SettingsDisplayController

* Update scanning inputs

* Use nested option

* Update animation timings

* Update modals to be display:none when not open

* Update included scripts

* Move modal link/input control to SettingsDisplayController

* Simplify event handlers

* Add audio sources options modal

* Allow certain nodes to be selected on click

* Implement top link

* Add environment-specific display styles

* Implement storage info

* Update modal controller

* Remove TODO

* Remove unnecessary <br>

* Add primary dictionary option under result grouping option

* Simplify transform

* Update styles for short inputs

* Add toggleable status footer

* Update modal styles

* Fix more-toggle elements sometimes affecting wrong targets

* Add selector-observer.js reference

* Add support for dynamically-generated more-toggle elements

* Rename result grouping modes and add descriptions

* Update icon button style

* Add a no-more-only class

* Use absolute URLs

* Add kebab-menu icon button

* Update text styles

* Add disabled styles

* Update toggle styles to support default pointer when disabled

* Update modal.js reference

* Disable box shadow for disabled buttons

* Add support for menus, use menus for audio source removal

* Disable pointer events when a modal is closing

* Update the escape key to close menus before closing modals

* Add support for dictionary modals

* Remove debug log

* Remove redundant spinner

* Update nested option visibility

* Add support for import/export/reset

* Update URL

* Reorganize

* Add comments

* Fix toggle highlight not working

* Add radio style

* Fix dictionary separator line

* Add mouse icon

* Add support for an icon button container with input height

* Update profile selects

* Add support for editing profiles and profile conditions

* Enable overflow scrolling for popup menus

* Add support for input suffix buttons

* Style updates

* Implement Anki card controls

* Improve dictionary information

* Punctuation

* Add support for Anki card templates

* Add support for using the tab key

* Add support for custom CSS modal

* Add support for simple scanning inputs

* Simplify

* Don't exit modals/menus when pressing escape while an input is focused

* Add checkbox styles

* Set up advanced scanning inpugs

* Reorganize

* Add outer theme option

* Add controller for nested popups

* Update scannings inputs

* Set up settings for touch/pen inputs

* Add modal for input prevention

* Update label styles

* Options updates

* Update duplicate scope options

* Only show quality when format is JPEG

* Add auto-scaling options

* Update navigation options

* Rearrange options

* Fix icon

* Add group for popup-size

* Update styles for inputs

* Update description

* Update appearance of checkboxes, toggles, and radios

* Add more advanced popup options

* Add debug option

* Add pitch accent display options

* Update input fields

* Add conjugation

* Update guide link

* Update and simplify primary/secondary dictionaries

* Update link

* Un-nest a setting

* Update wordings

* Use consistent styling for lists

* Fix custom CSS modal fade affecting the layout

* Fix z-index of the top link

* Disable word wrap on some text

* Disable highlight color

* Update FAB positioning and sizing

* Update button spacing

* Remove preview frame controller code

* Remove welcome.html

* Update seconds units

* Use all appearance styles

* Add option for anki.checkForDuplicates

* Rearrange options

* Fix redundant margin assignment

* Move scanning.enableOnSearchPage option such that it is not nested

* Organize/update options
2020-12-06 20:37:19 -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
ae9a20e0de
Json schema improvements (#1078)
* Test multipleOf

* Refactor defaulting

* Use default if invalid for non-object/array properties

* Add tests
2020-11-30 18:56:28 -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
a8cd03cbec
Fix outer CSS being incorrectly injected (#1075) 2020-11-29 12:00:41 -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
496af0b5f2
Fix incorrect frequency field being used (#1059) 2020-11-24 11:55:25 -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
73cb2c763c
Update indentation (#1047) 2020-11-20 22:57:14 -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
1216926fbd
Hide profile button if only one profile exists (#1045) 2020-11-19 18:49:30 -05:00
toasted-nutbread
e5255a03e6
Context popup improvements (#1039)
* Refactor context-main.js

* Simplify tags

* Use flex layout

* Use image masks for icons, update styles

* Remove old classes

* Add profile button

* Add support for profile selection

* Add title

* Swap the options and search link order

* Fix title
2020-11-19 18:37:02 -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
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