Commit Graph

2478 Commits

Author SHA1 Message Date
toasted-nutbread
caca9869c4
Add contentScript parameter to backend message handlers (#512)
* Add contentScript parameter to message handlers

* Remove _validatePrivilegedMessageSender calls from handler functions

* Reformat handlers
2020-05-07 19:37:25 -04:00
toasted-nutbread
f361139d74
Japanese util refactor (#510)
* Convert mixed japanese.js to utility class

* Copy functions from bg/js/japanese.js into mixed/js/japanese.js

* Remove bg/js/japanese.js

* Make wanakana dependency optional

* Update tests
2020-05-06 19:37:36 -04:00
toasted-nutbread
4eeb879fb8
Remove search query parser inheritance (#509)
* Remove getMouseEventListeners override

* Use this._options instead of this.options

* Make QueryParser use composition instead of inheritance for TextScanner

* Remove repeat call to document.querySelector('#query-parser-content')
2020-05-06 19:36:42 -04:00
toasted-nutbread
38d6f58fac
Frontend refactor (#508)
* Use this.popup instead of this.frontend.popup

* Rename Frontend.popup to _popup

* Make Frontend functions private

* Clean up Frontend constructor
2020-05-06 19:35:36 -04:00
toasted-nutbread
d6ae322961
Text scanning update (#507)
* Fix unity test missing a parameter

* Update docSentenceExtract to not rescan content
2020-05-06 19:34:32 -04:00
toasted-nutbread
f7df6254d6
Dom text scanner fixes (#505)
* Fix test case

* Add test-dom-text-scanner

* Ensure that DOMTextScanner._node never becomes null

* Add remainder
2020-05-06 19:33:17 -04:00
toasted-nutbread
bb2d9501af
Add apiModifySettings (#501)
* Update getProfile/getProfileFromContext to store this.options in a variable

* Add useSchema parameter to options getter functions

* Add apiModifySettings

* Use apiModifySettings instead of apiOptionsSet

* Remove apiOptionsSet

* Fix incorrect deleteCount check

* Require explicit scope for options

* Throw on invalid scope
2020-05-06 19:32:28 -04:00
toasted-nutbread
021ccb5ac3
Move util database modification functions (#499)
* Update onProgress callback to handle multiple arguments

* Add apiImportDictionaryArchive

* Add apiDeleteDictionary

* Make onProgress the last argument for consistency

* Remove deprecated util functions

* Fix issue with missing progress args

* Remove function calls which modify the database from Translator

* Update tests

* Fix errors not being serialized correctly in _createActionListenerPort
2020-05-06 19:28:26 -04:00
toasted-nutbread
501281e887
Popup init update (#497)
* Add API function to send a message to a specific frameId in a tab

* Update _windowMessageHandlers to support additional info per handler

* Remove message token

* Add new authorization check

* Set up new initialization handler

* Update initialization

* Remove message token

* Replace 'prepare' with 'configure'

* Create new prepare function

* Change configure guard

* Log errors in onMessage

* Improve popup initialize function

* Clear secret/token in _resetFrame

* Remove backend message token

* Clear src and srcdoc attributes before loading

* Don't treat about:blank unloads as load events
2020-05-06 19:27:21 -04:00
toasted-nutbread
ac2f743b76
Remove invalid file name characters from Anki media files (#496)
* Replace invalid file name characters

* Replace "filename" with "fileName"
2020-05-06 19:25:56 -04:00
siikamiika
a88501ff10
Text selection fixes (#511)
* select matched text in Frontend.findKanji

* blur search query input when setting content
2020-05-07 01:49:42 +03:00
siikamiika
253dcf8b38
Fix modifier key condition data (#506)
* save transformed data for modifier key conditions

* validate transformed input

* fix regression

* undo rename

* refactor transformInput handling

* don't overwrite value with null
2020-05-06 19:44:56 +03:00
siikamiika
a1f8f0d1de
support meta as scanning modifier (#502) 2020-05-05 00:14:21 +03:00
siikamiika
7d7ff165ce
Extract textSource text inside TextScanner (#500)
* extract text inside TextScanner

* clone textSource before text extraction
2020-05-05 00:13:43 +03:00
siikamiika
77b744e675
Modifier key profile condition (#487)
* update Frontend options on modifier change

* add modifier key profile condition

* use select element for modifier condition value

* support "is" and "is not" modifier key conditions

* use plural

* remove dead null check

it's never null in that function

* pass element on rather than assigning to this

* rename event

* remove Firefox OS key to Meta detection

* hide Meta from dropdown on Firefox

* move input type
2020-05-03 04:39:24 +03:00
toasted-nutbread
acfdaa4f48
Fix incorrect static call (#498) 2020-05-02 17:24:05 -04:00
toasted-nutbread
d4ae9aa501
DOMTextScanner (#458)
* Create new class for scanning text in a document

* Update test styles

* Add tests
2020-05-02 13:05:43 -04:00
toasted-nutbread
d581bffa15
Style fixes (#494)
* Place multi-line expression parentheses on the correct line

* Add function-paren-newline eslint rule

* Add some additional eslint rules
2020-05-02 13:04:17 -04:00
toasted-nutbread
c4ea9321dc
Validate document nodes before use (#493)
* Validate document.body before use in loadScripts

This also fixes an issue where reject wasn't being passed to loadScriptSentinel.

* Validate document nodes before use in _getSiteColor

* Validate document.body before use in _getViewport

* Validate document.body before use in setContentScale

* Validate document.body before use in docImposterCreate
2020-05-02 13:00:46 -04:00
toasted-nutbread
51032d1eca
Catch WrongDocumentError thrown by compareBoundaryPoints (#491)
* Catch WrongDocumentError thrown by compareBoundaryPoints

* Filter error based on name
2020-05-02 12:59:59 -04:00
toasted-nutbread
efa7a5ecc3
Remove and unload the popup frame if an unexpected load occurs (#490)
* Remove and unload the popup frame if an unexpected load occurs

* Remove unused fields

* Only update _injectPromiseComplete if the promise is the most recent one

* Remove redundant this._injectPromise !== null check
2020-05-02 12:59:13 -04:00
toasted-nutbread
8a368aaddc
Don't parent the popup frame to elements which cause unload (#488) 2020-05-02 12:58:24 -04:00
toasted-nutbread
401fe9f8d0
Object property accessor API update (#485)
* Simplify function names

* Add delete and swap functions

* Remove custom setter

Not currently part of the expected use cases.

* Add documentation

* Update tests

* Add delete test functions

* Update tests to use fresh objects

* Add swap test functions

* Add empty tests

* Disable delete on arrays
2020-05-02 12:57:42 -04:00
toasted-nutbread
5a61c311ad
Api invoke with progress (#483)
* Create an internal API function to open a port

* Create system for running actions over a special port

* Don't assign in expression
2020-05-02 12:57:13 -04:00
toasted-nutbread
6c341a13d8
Refactor frontend API classes (#482)
* Mark functions as private

* Remove constructor side effects

* Use safer handler invocation

* Mark functions as private

* Mark fields as private

* Update BackendApiForwarder public API
2020-05-02 12:50:44 -04:00
toasted-nutbread
cae6b657ab
Anki audio download (#477)
* Update how audio is added to Anki cards

* Upgrade Anki templates

* Update comments
2020-05-02 12:50:16 -04:00
toasted-nutbread
08ada6844a
Remove Frontend inheritance (#486)
* Make Frontend use composition instead of inheritance for TextScanner

* Use push instead of concat

* Update setOptions and setEnabled APIs

* Update how onWindowMessage event listener is added/removed

* Rename options to _options

* Use bind instead of arrow function

* Fix selection being cleared due to settings changes
2020-05-02 12:47:15 -04:00
Allan Wirth
ce861ce079
Add helpful link for markers in settings.html (#489) 2020-05-01 16:59:19 -04:00
toasted-nutbread
0956634d61
Add duplicateScope: 'deck' option (#476)
* Add duplicateScope: 'deck' option

* Add option to control duplicate scope

* Use duplicateScope for findNoteIds

* Update location of quotes
2020-04-27 18:10:59 -04:00
toasted-nutbread
48c7010f4e
Frontend refactor (part 1) (#484)
* Remove _getVisualViewportScale

* Use super's mouse event listener definitions

* Remove redundant override

* Remove getTouchEventListeners override

* Rename Display.onSearchClear to onEscape

* Change onSearchClear to clearSelection and use an event

* Update how text is marked for selection and deselection

* Replace onError with yomichan.logError

* Update setEnabled to refresh all event listeners
2020-04-27 18:10:37 -04:00
toasted-nutbread
887d769786
Use dynamicLoader for main (#481)
* Update style of search-main and float-main to have better parity

* Use dynamicLoader to inject scripts and CSS
2020-04-26 16:56:34 -04:00
toasted-nutbread
4e0fc76fe1
Add Yomichan icon SVG (#478)
* Create Yomichan icon SVG and 32x32 PNG

* Update icons

* Add 32x32 icon definition to HTML pages
2020-04-26 16:56:14 -04:00
toasted-nutbread
5b96559df8
Error logging refactoring (#454)
* Create new logging methods on yomichan object

* Use new yomichan.logError instead of global logError

* Remove old logError

* Handle unhandledrejection events

* Add addEventListener stub

* Update log function

* Update error conversion to support more types

* Add log event

* Add API log function

* Log errors to the backend

* Make error/warning logs update the badge

* Clear log error indicator on extension button click

* Log correct URL on the background page

* Fix incorrect error conversion

* Remove unhandledrejection handling

Firefox doesn't support it properly.

* Remove unused argument type from log function

* Improve function name

* Change console.warn to yomichan.logWarning

* Move log forwarding initialization into main scripts
2020-04-26 16:55:25 -04:00
siikamiika
ca033a87a0
Update Popup and DisplayFloat optionsContext from Frontend (#464)
* set optionsContext from Frontend

* update Popup+Display options on Frontend change

* remove popup setOptions

* only update DisplayFloat options from Frontend

* fix optionsContext usage

* fix preview frame arguments

* keep Frontend URL up to date

* cache url

* fix preview frame

* trigger modifyingProfileChange in correct places

* remove async from function not using await

* refactor optionsContext in Frontend
2020-04-26 22:33:50 +03:00
toasted-nutbread
a49e4ccc4e
Merge pull request #472 from toasted-nutbread/fix-pitch-accent-high-calculation
Fix high pitch calculation
2020-04-23 18:27:11 -04:00
toasted-nutbread
6b0f1f268b
Merge pull request #467 from toasted-nutbread/dynamic-loader
Create dynamic script/CSS loader utility
2020-04-23 18:26:48 -04:00
toasted-nutbread
9216d1862f
Merge pull request #463 from toasted-nutbread/explicit-entry-point
Explicit entry points
2020-04-23 18:26:34 -04:00
siikamiika
6cd86e203a fix custom anki templates 2020-04-23 19:58:31 +03:00
toasted-nutbread
d8276a9d5d Use IIFE for entry points 2020-04-22 21:42:20 -04:00
toasted-nutbread
2f931e5585 Fix high pitch calculation 2020-04-22 21:04:18 -04:00
toasted-nutbread
749b747728 Remove sentinel script node after load 2020-04-22 17:48:42 -04:00
toasted-nutbread
d05a5f3c46 Create dynamic script/CSS loader utility 2020-04-21 21:16:26 -04:00
toasted-nutbread
d106c638ed Move popup-nested content into float-main 2020-04-21 18:38:55 -04:00
toasted-nutbread
c43dac19a4 Use wanakana object directly 2020-04-20 22:23:07 -04:00
toasted-nutbread
9ca906ef90 Create float-main.js 2020-04-19 14:29:43 -04:00
toasted-nutbread
7c578f7582 Create popup-preview-frame-main.js 2020-04-19 14:29:43 -04:00
toasted-nutbread
4d3d5d9ccb Rename search-frontend.js to search-main.js
Also move DisplaySearch creation into the main() function.
2020-04-19 14:29:41 -04:00
toasted-nutbread
3edaf319da Rename context.js to context-main.js 2020-04-19 14:27:15 -04:00
toasted-nutbread
3c8eb9eee0 Create background-main.js 2020-04-19 14:26:44 -04:00
toasted-nutbread
6c93d1984f Change frontend-initialize.js to content-script-main.js 2020-04-19 14:26:20 -04:00
toasted-nutbread
ba68616d80 Change some more variables using 'source' instead of 'content' 2020-04-19 10:57:23 -04:00
toasted-nutbread
a7e7d546c7 Add documentation 2020-04-19 10:24:59 -04:00
toasted-nutbread
0e80c0d5d0 Rename loadImage to loadImageBase64 for clarity 2020-04-19 10:24:43 -04:00
toasted-nutbread
16893b52b1 Make getFileNameExtension properly handle directory separators 2020-04-19 10:18:31 -04:00
toasted-nutbread
7faaf4e457 Use 'content' instead of 'source' to contain media file data 2020-04-19 10:16:59 -04:00
toasted-nutbread
07e5e5c15b Show small image preview on [Image] link hover/focus 2020-04-18 21:33:14 -04:00
toasted-nutbread
c75a0d4e70 Fix space being inside the <a> and thus being underlined 2020-04-18 21:33:14 -04:00
toasted-nutbread
ac603d54a3 Add support for displaying images 2020-04-18 21:32:35 -04:00
toasted-nutbread
fd6ea0e404 Add API for getting media data 2020-04-18 21:32:35 -04:00
toasted-nutbread
8106f4744b Add support for importing and storing media files 2020-04-18 21:31:09 -04:00
toasted-nutbread
51d756eefc Fix _prepareError check 2020-04-18 21:15:15 -04:00
toasted-nutbread
4638985b16 Remove unused global 2020-04-18 21:12:54 -04:00
toasted-nutbread
66ef730119 Update style, use isObject 2020-04-18 21:12:54 -04:00
toasted-nutbread
dee7d924a8 Show error status for prepare() errors 2020-04-18 21:12:54 -04:00
toasted-nutbread
5c5c70326d Add a delay before showing the loading state
Intended to prevent flickering when startup is quick
2020-04-18 21:12:54 -04:00
toasted-nutbread
c9704b5c5e Update when/how badge state is changed 2020-04-18 21:12:54 -04:00
toasted-nutbread
6498556ec7 Update isPrepared to be consistent with DisplaySearch's isPrepared 2020-04-18 21:11:15 -04:00
toasted-nutbread
03d77cc3a6
Merge pull request #442 from toasted-nutbread/audio-system-refactoring
Audio system refactoring
2020-04-18 21:10:48 -04:00
siikamiika
d66ca93ce4 cache invalidation 2020-04-18 23:28:00 +03:00
siikamiika
a81c33b60a simplify element source lazy load 2020-04-18 23:28:00 +03:00
siikamiika
691b739849 cache closed shadow dom content windows 2020-04-18 23:28:00 +03:00
siikamiika
66354f1f9e lazy load element sources 2020-04-18 23:28:00 +03:00
siikamiika
bb3ad78e37 optimize source frame finding 2020-04-18 23:28:00 +03:00
siikamiika
350a113996 use getFullscreenElement to check fullscreen 2020-04-18 23:28:00 +03:00
siikamiika
b786e2da19 move open shadow root iframe finder to a function 2020-04-18 23:28:00 +03:00
siikamiika
85706c421b show popup inside iframe for closed shadow dom 2020-04-18 23:28:00 +03:00
siikamiika
fbaf50def1 support iframes inside open shadow dom 2020-04-18 23:28:00 +03:00
siikamiika
4fdc300b61 disable root frame popup when iframe is fullscreen 2020-04-18 23:28:00 +03:00
toasted-nutbread
320852f2d0 Fix overlapping audio.play calls due to await 2020-04-18 14:23:34 -04:00
toasted-nutbread
fcbfde506a Await and handle errors from audio.play() 2020-04-18 14:23:34 -04:00
toasted-nutbread
9fe7b9ad29 Remove unused global 2020-04-18 14:23:34 -04:00
toasted-nutbread
92790763d1 Update style 2020-04-18 14:23:34 -04:00
toasted-nutbread
5c2dff345e Fix button title text not updating correctly in merge mode 2020-04-18 14:23:34 -04:00
toasted-nutbread
7eb7c88394 Return index of the source instead of the source value 2020-04-18 14:23:34 -04:00
toasted-nutbread
f50aee1021 Only return the cached value if it uses a valid source 2020-04-18 14:23:34 -04:00
toasted-nutbread
e1ebfb02f7 Disable cache on the backend and fix a bug with the cache key 2020-04-18 14:23:34 -04:00
toasted-nutbread
823c026533 Remove de/structuring from public API 2020-04-18 14:23:34 -04:00
toasted-nutbread
7fc3882607 Update the parameters passed to various audio-related functions 2020-04-18 14:23:34 -04:00
toasted-nutbread
5b3d7fadc3
Merge pull request #453 from toasted-nutbread/reuse-anki-instance
Reuse AnkiConnect instance
2020-04-18 14:14:52 -04:00
toasted-nutbread
9297eb45ae
Merge pull request #450 from toasted-nutbread/frequency-readings
Add support for filtering frequency metadata based on readings
2020-04-18 14:14:30 -04:00
toasted-nutbread
106172e2c1
Merge pull request #447 from toasted-nutbread/util-conversions
Util conversions
2020-04-18 14:12:41 -04:00
9e7750125c Version bump 2020-04-18 11:04:27 -07:00
toasted-nutbread
06e95b8747 Remove unused global 2020-04-17 22:16:08 -04:00
toasted-nutbread
018913d03f Use isObject 2020-04-17 19:25:07 -04:00
siikamiika
8c16a6e580
Merge pull request #456 from siikamiika/parse-text-refactor
Parse text refactor
2020-04-17 01:32:01 +03:00
siikamiika
e6053eefa5
Merge pull request #439 from siikamiika/popup-live-toggle
Popup live toggle
2020-04-17 01:31:25 +03:00
siikamiika
619df42aed simplify to enable constant usage 2020-04-14 21:25:02 +03:00
siikamiika
3fa8b8e186 prevent infinite loop if source length is 0 2020-04-14 21:21:52 +03:00
siikamiika
a02cf28c57 break after switch default 2020-04-14 21:13:46 +03:00
siikamiika
b6f7f8c026 fix _canEnable being used before setting options 2020-04-14 20:59:42 +03:00
siikamiika
950f50ef94 don't focus tab when changing settings 2020-04-14 20:35:52 +03:00
toasted-nutbread
bf971be15b
Merge pull request #444 from toasted-nutbread/unused-globals
Check for unused globals as part of CI
2020-04-13 18:55:19 -04:00
siikamiika
6cc87ec975 remove "fragment" from jp.convertReading variables 2020-04-13 22:59:56 +03:00
siikamiika
f93dc85710 assume and propagate strings for text parsing 2020-04-13 22:55:33 +03:00
siikamiika
25bc86c3ce force empty mecab output properties to strings 2020-04-13 22:14:23 +03:00
siikamiika
c613321a73 move QueryParser.parseText to Backend 2020-04-13 14:53:24 +03:00
toasted-nutbread
ebfc7ca945 Pass anki reference to AnkiNoteBuilder constructor 2020-04-12 12:46:32 -04:00
toasted-nutbread
37c374fb63 Rename _ankiInvoke to _invoke to remove redundancy 2020-04-12 12:44:33 -04:00
toasted-nutbread
3c335e68cd Throw errors in returned by invocation 2020-04-12 12:43:32 -04:00
toasted-nutbread
cc5e429422 Remove AnkiNull and redundant comment 2020-04-12 12:38:52 -04:00
toasted-nutbread
4c2ca82a29 Use single instance of AnkiConnect 2020-04-12 12:38:33 -04:00
toasted-nutbread
c41c7252ae Add enabled checks 2020-04-12 12:37:13 -04:00
toasted-nutbread
ade1b705d2 Mark internals as private 2020-04-12 12:20:02 -04:00
siikamiika
362ac84e6c prevent spawning multiple FrameOffsetForwarders 2020-04-12 19:17:50 +03:00
siikamiika
e627ab2537 fix optionsContext URL for root popup 2020-04-12 19:11:18 +03:00
toasted-nutbread
7f3e272839
Merge pull request #449 from toasted-nutbread/orphan-fix
Fix default value of _orphaned
2020-04-12 11:43:07 -04:00
toasted-nutbread
778d49f86b
Merge pull request #443 from toasted-nutbread/fix-get-selection
Fix getSelection not working in QueryParser
2020-04-12 11:42:56 -04:00
toasted-nutbread
649adb13d8
Merge pull request #440 from toasted-nutbread/collapse-emphatic-sequences
Add support for collapsing emphatic character sequences
2020-04-12 11:42:46 -04:00
toasted-nutbread
ceb12ac415 Add support for filtering frequency metadata based on readings 2020-04-11 23:20:36 -04:00
toasted-nutbread
bf4c1aef6a Fix default value of _orphaned 2020-04-11 22:27:31 -04:00
toasted-nutbread
c2bf474d1f Update example 2020-04-11 19:00:01 -04:00
toasted-nutbread
70f0b8b0cd Fix 'full' mode not being a superset of 'true' mode 2020-04-11 18:58:14 -04:00
toasted-nutbread
f88d4b02e4 Use window.getSelection instead of document.getSelection 2020-04-11 15:56:08 -04:00
toasted-nutbread
90392ac9d6 Add support for collapsing the Katakana-Hiragana Prolonged Sound Mark 2020-04-11 15:43:12 -04:00
toasted-nutbread
cdd817a0e1 Move and rename utilStringHashCode
options.js is the only place it's used.
2020-04-11 15:25:21 -04:00
toasted-nutbread
51e17b35e3 Convert some util* functions into api* functions 2020-04-11 15:25:19 -04:00
toasted-nutbread
3c48290cd8 Add isExtensionUrl utility function to yomichan object 2020-04-11 15:17:25 -04:00
siikamiika
e6078ce8f6 remove redundant call guard 2020-04-11 21:04:30 +03:00
siikamiika
ba97e72c8b fix ignoreElements in QueryParser 2020-04-11 21:04:30 +03:00
siikamiika
5c3641eadb simplify frontend disable override 2020-04-11 21:04:30 +03:00
siikamiika
d93e3e1a67 use setters instead of EventDispatcher 2020-04-11 21:04:30 +03:00
siikamiika
275f455e73 fix preview frame error 2020-04-11 21:04:30 +03:00
siikamiika
565e3a8c6a change iframe popup live 2020-04-11 21:04:30 +03:00
siikamiika
b9035854b2 cache created popups 2020-04-11 21:03:22 +03:00
siikamiika
7dd2610ce8 extract different popup creation functions 2020-04-11 21:03:22 +03:00
siikamiika
92109bb5d2 allow disabling scan on search page live 2020-04-11 21:01:27 +03:00
siikamiika
1df59d57b5 limit popup depth live 2020-04-11 21:01:27 +03:00
siikamiika
61a96e327a prevent injecting frontend multiple times 2020-04-11 21:01:27 +03:00
siikamiika
9adbc80a70 listen to optionsUpdated in popup-nested.js 2020-04-11 21:01:27 +03:00
siikamiika
8c9389e07d listen to optionsUpdated in search-frontend.js 2020-04-11 21:01:27 +03:00
toasted-nutbread
82f8397000
Merge pull request #438 from toasted-nutbread/display-generator-refactoring
Display generator refactoring
2020-04-11 11:37:03 -04:00
toasted-nutbread
a864cf094f
Merge pull request #437 from toasted-nutbread/backend-api-handler-changes
Backend api handler changes
2020-04-11 11:32:52 -04:00
toasted-nutbread
a296c758b9 apiBroadcast => apiBroadcastTab 2020-04-10 20:00:18 -04:00
toasted-nutbread
d164fc6f62 Remove unused globals 2020-04-10 18:45:23 -04:00
toasted-nutbread
2c5bf0ed6b Fix getSelection not working in QueryParser 2020-04-10 17:11:41 -04:00
4e5029f7ec Update license author field to broader to explicitly reflect that
Yomichan is an ongoing community project. It really does take a village,
and everyone who contributes code owns a part of it :)
2020-04-10 11:10:21 -07:00
281023095a Version bump 2020-04-10 09:36:34 -07:00
toasted-nutbread
0b7791c103 Fix source map for characters collapsed at the start of a string 2020-04-10 12:25:24 -04:00
toasted-nutbread
42a2917bf7 Add support for collapsing emphatic character sequences 2020-04-10 11:56:18 -04:00
toasted-nutbread
025b1f398b Simplify access to details fields in createTermEntry 2020-04-09 22:40:25 -04:00
toasted-nutbread
06183ec124 Update how termTags is passed to _createTermExpression 2020-04-09 22:40:25 -04:00
toasted-nutbread
bb37b74288 Rename "only" to "disambiguation" to match naming convention used for pitch accents 2020-04-09 22:40:25 -04:00
toasted-nutbread
6788bb31d2 Update _appendMultiple to not use a fallback 2020-04-09 22:40:25 -04:00
toasted-nutbread
f9bdf2c66f Organize 2020-04-09 22:40:25 -04:00
toasted-nutbread
9bbe35da68 Mark functions as private 2020-04-09 22:40:25 -04:00
toasted-nutbread
d7e4ff067e Remove statics 2020-04-09 22:40:25 -04:00
toasted-nutbread
75c5c7aabc Remove data-multi assignments 2020-04-09 22:40:25 -04:00
toasted-nutbread
99f58b49f6 Use data-expression-multi instead of data-multi 2020-04-09 22:40:22 -04:00
toasted-nutbread
c88ec43ad1 Fix yomichanCoreReady waiting for a response 2020-04-07 19:59:10 -04:00
toasted-nutbread
a2b66dc6cc Rename apiForward to apiBroadcast 2020-04-07 19:51:39 -04:00
toasted-nutbread
96566b8581 Update forward to be synchronous and ignore the reply 2020-04-07 19:49:54 -04:00
toasted-nutbread
038e43d19d Update some API handlers to be synchronous 2020-04-07 19:47:46 -04:00
toasted-nutbread
82462edce0 Add support for API handlers to be optionally asynchronous 2020-04-07 19:41:02 -04:00
toasted-nutbread
f177e3699a
Merge pull request #434 from toasted-nutbread/error-fixes
Error fixes
2020-04-07 19:28:07 -04:00
toasted-nutbread
ac1ecb35ee
Merge pull request #433 from toasted-nutbread/extra-dictionary-information
Extra dictionary information
2020-04-07 19:27:58 -04:00
toasted-nutbread
a6773e0240 Fix field name 2020-04-07 19:04:47 -04:00
toasted-nutbread
8a419dfa67 Pass AudioSystem instance to AnkiNoteBuilder constructor 2020-04-07 19:04:47 -04:00
toasted-nutbread
716ab99fc0 Remove inconsistent/unused return value 2020-04-07 19:04:47 -04:00
toasted-nutbread
97b7b521dd Create _containsMarker to reduce redundant code 2020-04-07 19:04:47 -04:00
toasted-nutbread
a49e061545 Move _dateToString into a new function 2020-04-07 19:04:47 -04:00
toasted-nutbread
efcdff72a3 Move media injection functions into AnkiNoteBuilder 2020-04-07 19:04:47 -04:00
toasted-nutbread
29cf8d2f79 Fix not awaiting this._getNoteContext 2020-04-06 18:55:45 -04:00
toasted-nutbread
696897f6fa Add support for getting the document title 2020-04-06 18:55:36 -04:00
toasted-nutbread
199b926f23 Add overridable getDocumentTitle 2020-04-06 18:20:04 -04:00
toasted-nutbread
1d7c86ded0 Add document-title tag to settings options 2020-04-06 18:20:04 -04:00
toasted-nutbread
4011a091b6 Add support for {document-title} 2020-04-06 18:20:04 -04:00
toasted-nutbread
059db280bb Add custom context object for note creation 2020-04-06 18:20:04 -04:00
toasted-nutbread
8b07a23de9 Rename context to details 2020-04-06 18:20:04 -04:00
toasted-nutbread
9dfe531dfd Use logError instead of console.log 2020-04-05 18:27:53 -04:00
toasted-nutbread
7449ffd4dc Fix error reporting during dictionary import 2020-04-05 18:26:38 -04:00
toasted-nutbread
dd9d50bfc1 Update settings page to display additional information 2020-04-05 14:46:45 -04:00
toasted-nutbread
1b97629cd8 Store new dictionary data 2020-04-05 14:46:45 -04:00
toasted-nutbread
cd831d88cc Update schema to include additional fields 2020-04-05 14:46:45 -04:00
siikamiika
22a97d916f fix NOT (a OR B) to NOT (a AND b) 2020-04-05 20:42:23 +03:00
siikamiika
5596a8f6f7 strict object property type check 2020-04-05 20:03:45 +03:00
siikamiika
aea7c590d1 refactor _updateFrameOffset 2020-04-05 20:03:45 +03:00
siikamiika
abd056e563 reduce code duplication 2020-04-05 20:03:45 +03:00
siikamiika
31a326fe63 add option for iframe popups 2020-04-05 20:03:42 +03:00
siikamiika
0d76cef434 give a name to a timeout 2020-04-05 19:57:37 +03:00
siikamiika
e4fc53480f move broadcastRootPopupInformation to Frontend 2020-04-05 19:57:37 +03:00
siikamiika
867902523f simplify promise 2020-04-05 19:57:37 +03:00
siikamiika
123e725049 use duck typing for event listener 2020-04-05 19:57:37 +03:00
siikamiika
067c26982e setTimeout refactoring 2020-04-05 19:57:37 +03:00
siikamiika
559033f0a6 default to [0, 0] when sourceFrame is not found 2020-04-05 19:57:37 +03:00
siikamiika
c171503d77 use getTemporaryListenerResult in other places 2020-04-05 19:57:37 +03:00
siikamiika
7928c5d713 error handling 2020-04-05 19:57:37 +03:00
siikamiika
9f9ea1d5fb throttle frame offset getting 2020-04-05 19:57:37 +03:00
siikamiika
fa65ab3512 refactor getTemporaryListenerResult timeout 2020-04-05 19:57:37 +03:00
siikamiika
d88635cbb2 temporary listener abstraction 2020-04-05 19:57:37 +03:00
siikamiika
9fe1e38afb refactor 2020-04-05 19:57:37 +03:00
siikamiika
d20ece9f07 move frame offset forwarding code to a class 2020-04-05 19:57:37 +03:00
siikamiika
09151a1a86 simplify popup proxy prepare 2020-04-05 19:57:37 +03:00
siikamiika
b996d0b1e0 fix and simplify 2020-04-05 19:57:37 +03:00
siikamiika
4814db8df1 adjust iframe popup position to root page 2020-04-05 19:57:37 +03:00
siikamiika
b6c4914b79 simplify popup prepare 2020-04-05 19:57:37 +03:00
siikamiika
6806e7055f show iframe popups in root frame 2020-04-05 19:57:37 +03:00
toasted-nutbread
3684a479c5
Merge pull request #424 from toasted-nutbread/dictionary-importer
Dictionary importer
2020-04-05 12:52:07 -04:00
toasted-nutbread
058f626efd
Merge pull request #423 from toasted-nutbread/text-source-map
Text source map
2020-04-05 12:51:56 -04:00
toasted-nutbread
9052ab8ebd Move dictionary import functionality into a new class 2020-03-30 20:51:20 -04:00
toasted-nutbread
02f7763f00 Add importDictionary function to Backend 2020-03-30 20:45:36 -04:00
toasted-nutbread
c193a703cc Move database creation into Backend 2020-03-30 20:39:04 -04:00
toasted-nutbread
8095d9138c Add isPrepared 2020-03-30 20:28:44 -04:00
toasted-nutbread
1a8bbf32d5 Make dictionaryExists public 2020-03-30 20:28:41 -04:00
toasted-nutbread
a6fedae9c7 Update bulkAdd implementation 2020-03-30 20:19:39 -04:00
toasted-nutbread
938b696468 Hide reading disambiguation if the downstep notation is visible 2020-03-29 11:27:35 -04:00
toasted-nutbread
1f84280ea0 Include readings in disambiguations 2020-03-29 11:27:13 -04:00
toasted-nutbread
a7da4416d7 Change names 2020-03-29 11:19:43 -04:00
toasted-nutbread
ae84d13757 Create simplified source map class 2020-03-28 18:17:00 -04:00
toasted-nutbread
aa2a0c09f4 Update how pitch accent expressions are disambiguated 2020-03-28 14:52:44 -04:00
toasted-nutbread
a339bf69d3 Move set functions into core.js 2020-03-28 14:50:10 -04:00
toasted-nutbread
2c4983da46 Update styles 2020-03-28 12:31:41 -04:00
toasted-nutbread
431473d55c Fix layering issue 2020-03-28 12:01:55 -04:00
toasted-nutbread
0d80fcdf86 Move Japanese utility functions out of display-generator.js 2020-03-28 10:47:02 -04:00
toasted-nutbread
cbc7e2646d Add options 2020-03-28 10:25:57 -04:00
toasted-nutbread
803a464fb9 Add support for accent graph 2020-03-28 10:25:57 -04:00
toasted-nutbread
97a520cc15 Add support for displaying pitch accents 2020-03-28 10:25:57 -04:00
toasted-nutbread
2d7214ce60 Add metadata for unique expression count 2020-03-28 10:25:57 -04:00
toasted-nutbread
047efaa3db Add support for returning pitch data from the database 2020-03-28 10:25:57 -04:00
toasted-nutbread
9e8a22b08a Add support for different sections for term content 2020-03-28 10:25:57 -04:00
toasted-nutbread
168bd72d0a Update _appendMultiple to support general iterables 2020-03-28 10:25:57 -04:00
toasted-nutbread
93f7278586 Update dictionary schema to support pitch accent data 2020-03-28 10:25:11 -04:00
toasted-nutbread
a0c4ce779d
Merge pull request #413 from toasted-nutbread/japanese-utility
Convert Japanese utilities to a module-like style
2020-03-27 22:53:45 -04:00
siikamiika
b616bac66e remove targetPopupId 'all'
Make unset targetPopupId mean the same thing instead
2020-03-21 22:13:07 +02:00
siikamiika
17934cce4b use random ID as popup ID 2020-03-21 22:13:07 +02:00
siikamiika
2c4fd648db remove stubs 2020-03-21 22:13:07 +02:00
siikamiika
46c6ad98f3 use dependency injection in QueryParser
Also fix an issue with settings update triggering a lookup on unprepared
QueryParser.
2020-03-21 22:13:07 +02:00
siikamiika
962c2a381f apply all options on profile change 2020-03-21 22:13:07 +02:00
toasted-nutbread
70284c62ee Replace DisplayGenerator._isCharacterKanji with jp.isCodePointKanji 2020-03-21 13:22:14 -04:00
toasted-nutbread
77a2cc60e9 Move basic string/character testing functions into a mixed/js/japanese.js 2020-03-21 13:18:34 -04:00
toasted-nutbread
a50b76fd21 Remove unnecessary sourceMapping population in convertAlphabeticToKana 2020-03-15 22:24:30 -04:00
toasted-nutbread
248a18dd72 Fix case issue 2020-03-15 22:24:30 -04:00
toasted-nutbread
264820f208 Add more unicode code point ranges 2020-03-15 22:24:30 -04:00
toasted-nutbread
0f15cca2df Convert Japanese utilities to a module-like style 2020-03-15 22:24:30 -04:00
toasted-nutbread
7c5b64f9a4
Merge pull request #406 from toasted-nutbread/object-property-accessor
Object property accessor
2020-03-15 22:23:32 -04:00
toasted-nutbread
4b699a6b46 Change integer state IDs to strings 2020-03-15 12:26:38 -04:00
98afe7adae Bump version 2020-03-14 13:12:08 -07:00
toasted-nutbread
174a942e07 Fix misuse of getPathString 2020-03-14 13:51:06 -04:00
toasted-nutbread
6865fc0b52 Add ObjectPropertyAccessor 2020-03-14 13:50:36 -04:00
toasted-nutbread
64fc0349a1 Update global declarations 2020-03-10 22:40:35 -04:00
toasted-nutbread
f7bbcb6df4
Merge pull request #408 from toasted-nutbread/use-code-point
Replace charCodeAt and fromCharCode with codePointAt and fromCodePoint
2020-03-10 19:24:24 -04:00
toasted-nutbread
36c55f0b17
Merge pull request #401 from toasted-nutbread/audio-refactor
Audio refactor
2020-03-10 19:20:34 -04:00
toasted-nutbread
72219ba353 Replace charCodeAt and fromCharCode with codePointAt and fromCodePoint 2020-03-09 21:58:06 -04:00
toasted-nutbread
0cbf427ab5 Update argument order 2020-03-09 21:00:57 -04:00
siikamiika
7541517d80
Merge pull request #405 from siikamiika/fix-popup-depth-search-page
start popup depth from 1 on search page
2020-03-09 12:16:01 +02:00
siikamiika
2ca88b9b9f strict check if popup depth has been set 2020-03-09 11:56:06 +02:00
siikamiika
0112dbab33 fix searchQueryUpdate 2020-03-09 04:06:31 +02:00
siikamiika
e2bf22831a start popup depth from 1 on search page 2020-03-09 02:10:28 +02:00
toasted-nutbread
9cd4a52b9e Rename audio.js to audio-uri-builder.js 2020-03-07 21:57:26 -05:00
toasted-nutbread
aad4ab5ecc Rename audio functions using "url" to use "uri" 2020-03-07 21:57:26 -05:00
toasted-nutbread
391f3dd29a Update how audio URIs are built 2020-03-07 21:57:26 -05:00
toasted-nutbread
21d194d145 Make _audioInject internal to Backend 2020-03-07 21:56:15 -05:00
toasted-nutbread
426c1534e7 Remove marker restrictions 2020-03-07 21:51:56 -05:00
toasted-nutbread
79eb4bdc16 Remove bg/js/api.js 2020-03-07 21:49:04 -05:00
toasted-nutbread
8f9b6534c6 Move stringReplaceAsync
It is only used in AnkiNoteBuilder and it was originally created
for this purpose.
2020-03-07 21:47:48 -05:00
toasted-nutbread
7ac1c843a9 Use dependency injection for apiTemplateRender 2020-03-07 21:47:48 -05:00
toasted-nutbread
69cce49b0d Move Anki note generation functionality into a new class 2020-03-07 21:46:59 -05:00
toasted-nutbread
dceaa85309 Rename audio.js to audio-system.js 2020-03-07 21:43:51 -05:00
toasted-nutbread
6adf2cf63f Rename function 2020-03-07 21:43:51 -05:00
toasted-nutbread
a8eb50d96f Use dependency injection for getAudioUri implementation 2020-03-07 21:43:51 -05:00
toasted-nutbread
75eac153d6 Remove old APIs 2020-03-07 21:42:19 -05:00
toasted-nutbread
d8e2e69ca5 Use AudioSystem on the audio settings page 2020-03-07 21:42:18 -05:00
toasted-nutbread
cadcd72fad Use AudioSystem in Backend 2020-03-07 21:42:18 -05:00
toasted-nutbread
e048a1efce Use AudioSystem in Display 2020-03-07 21:42:18 -05:00
toasted-nutbread
110e561eae Create new AudioSystem class 2020-03-07 21:42:18 -05:00
toasted-nutbread
b8eb5e6016
Merge pull request #397 from toasted-nutbread/clipboard-monitor-refactor2
Clipboard monitor refactor
2020-03-07 21:41:45 -05:00
siikamiika
4b0dfa92aa
Merge pull request #393 from siikamiika/reconnect-frontend-api-sender
reconnect FrontendApiSender after disconnecting
2020-03-08 00:50:24 +02:00
toasted-nutbread
eea9dc68b9 Fix runtime.lastError error on startup in Firefox 2020-03-07 17:41:57 -05:00
toasted-nutbread
ba64f34df1 Mark fields as private 2020-03-07 10:48:56 -05:00
toasted-nutbread
93aa275d82 Use explicit dependency injection for ClipboardMonitor 2020-03-07 10:47:30 -05:00
toasted-nutbread
7822230b7f Use events for ClipboardMonitor 2020-03-07 10:41:31 -05:00
siikamiika
24d9001b14 fix options object location 2020-03-07 14:27:44 +02:00
siikamiika
387e93dbbc use docSentenceExtract in QueryParser 2020-03-07 14:20:08 +02:00
siikamiika
9fef0751f3 replace spread with destructuring 2020-03-07 04:11:18 +02:00
siikamiika
86be737508 fix popup containsPoint offset 2020-03-07 03:52:36 +02:00
siikamiika
8b76761744 reconnect FrontendApiSender after disconnecting 2020-03-07 00:32:45 +02:00
siikamiika
de8d9e6bf1 fix return type 2020-03-04 05:28:22 +02:00
siikamiika
9ceb663f29 add missing runtime message for backendPrepared 2020-03-03 00:05:01 +02:00
siikamiika
e6347a94e7 prepare Backend for browser_action 2020-03-02 23:26:55 +02:00
siikamiika
a05a05c4f4 fix content script entry point Yomichan prepare
Covers Popup stuff in addition to Frontend
2020-03-02 12:01:53 +02:00
siikamiika
56b2f2c853 trigger yomichanCoreReady only when preparing 2020-03-02 11:31:09 +02:00
siikamiika
e0edb30efd fix Backend prepare issues in settings 2020-03-02 11:18:09 +02:00
siikamiika
bd48d2f919 fix Yomichan core message issues 2020-03-02 10:35:46 +02:00
siikamiika
967e99b7f6 ensure Backend prepare in other places 2020-03-02 04:51:45 +02:00
siikamiika
e6e5f23cf8 fix API calls when Backend isn't ready yet 2020-03-02 00:39:15 +02:00
siikamiika
2abf46b6fa simplify backend prepare 2020-03-01 23:06:37 +02:00
toasted-nutbread
46fee07d36 Fix audio buttons not being hidden properly 2020-03-01 14:51:39 -05:00
siikamiika
b3994acbac
Merge pull request #384 from siikamiika/fix-non-primary-dictionary-format
compatibility transform non-primary definitions
2020-03-01 21:43:36 +02:00
toasted-nutbread
a4b0a556d4
Merge pull request #380 from toasted-nutbread/anki-templates-file
Load default Anki field templates from a file
2020-03-01 14:41:48 -05:00
siikamiika
9af8f999f4 compatibility transform non-primary definitions 2020-03-01 21:26:45 +02:00
siikamiika
314c567a47 fix hotkeys in popup 2020-03-01 19:02:43 +02:00