toasted-nutbread
3c4c82dcfc
Ensure single popup factory ( #554 )
...
* Add createPopupFactory
* Ensure only a single PopupFactory is generated
2020-05-24 14:00:32 -04:00
toasted-nutbread
13f57cccba
Settings backup refactor ( #551 )
...
* Update backup.js to be a class
* Move utilReadFileArrayBuffer
2020-05-24 13:56:46 -04:00
toasted-nutbread
66e1185686
Settings binder ( #542 )
...
* Fix _modifySetting being async
* Return values for modifySettings's set and splice actions
* Add apiGetSettings
* Create a class which can accumulate tasks to run in bulk
* Create a class which binds input elements to customizable sources
* Create class which binds input elements to settings
* Add support for value transforms
* Remove redundant ObjectPropertyAccessor.getPathArray
* Fix not using correct types for input.min/max/step
* Fix wrong condition
* Use api object
2020-05-24 13:50:34 -04:00
toasted-nutbread
c800444a0d
Ensure the return value of promiseTimeout always has .resolve and .reject ( #550 )
2020-05-24 13:39:50 -04:00
toasted-nutbread
3089bb7908
Settings refactor ( #541 )
...
* Remove debug info
* Trigger onOptionsUpdated instead of formWrite when profile changes
* Update how Anki field changes are observed
* Update how general.enableClipboardPopups setting is changed
* Change where ankiTemplatesUpdateValue occurs
* Change where onDictionaryOptionsChanged occurs
* Remove unused global declarations
* Remove stray data attribute
2020-05-24 13:38:48 -04:00
toasted-nutbread
a595a0a481
Add icons ( #540 )
...
* Add icons
* Update icons
2020-05-24 13:37:49 -04:00
toasted-nutbread
4d2e5b93f4
Style adjustments ( #537 )
...
* Remove newlines for term-definition-item-template
* Update how action button icons are styled
* Fix spacing
* Group text colors together
* Correct image styles
* Fix missing </span>
2020-05-24 13:37:23 -04:00
toasted-nutbread
c61a87b152
API refactor ( #532 )
...
* Convert api.js into a class instance
* Use new api.* functions
* Fix missing binds
* Group functions with progress callbacks together
* Change style
* Fix API override not working
2020-05-24 13:30:40 -04:00
toasted-nutbread
83a577fa56
Add missing spreads ( #552 )
2020-05-23 14:18:02 -04:00
toasted-nutbread
694120b8a5
Cross frame communication ( #531 )
...
* Set up new cross-frame port connector
* Create classes for cross-frame API invocation with replies
* Remove event listeners on disconnect
2020-05-23 13:34:55 -04:00
toasted-nutbread
9a657214ad
Add support for additional types of event listeners ( #522 )
...
* Add support for additional types of event listeners
* Fixes
2020-05-23 13:19:31 -04:00
d0dcff765f
Version bump to 20.5.22.0
2020-05-22 17:41:33 -07:00
siikamiika
39df44eca4
Fix "tags" template ( #539 )
...
* fix tag templates for merge and group modes
* update version upgrade
* adjust upgrade replacement order
2020-05-22 20:03:34 -04:00
toasted-nutbread
dd673f0b26
Dynamic loader load style ( #521 )
...
* Remove unnecessary load of /fg/css/client.css
* Replace dynamicLoader.loadStyles with dynamicLoader.loadStyle
* Replace Popup._injectStylesheet with dynamicLoader.loadStyle
* Remove unused global
2020-05-19 20:33:06 -04:00
toasted-nutbread
dd6c3015c4
Use both shadowRoot and openOrClosedShadowRoot ( #534 )
2020-05-10 14:10:02 -04:00
toasted-nutbread
c38cd70e91
Load frame content using contentDocument.location.href instead of src attribute ( #529 )
2020-05-10 14:08:18 -04:00
toasted-nutbread
9742d5662b
Use CSS variables for themes ( #528 )
...
* Update formatting
* Merge default tag color with category-less tags
* Use CSS variables for colors
* Add dark theme colors
* Move color variables into display.css
* Remove old stylesheets
* Update headings
* Bump minimum Firefox version to support CSS var()
* Revert popular kanji text color
2020-05-10 14:07:25 -04:00
toasted-nutbread
5752b23a8e
Text source refactor ( #527 )
...
* Update TextSourceElement API to have parity with TextSourceRange
* Make fields private
* Update equality check
* Fix "this.element" being used instead of just "element"
2020-05-10 14:06:25 -04:00
toasted-nutbread
6eafdac362
Fix setStartOffset not appending ( #526 )
2020-05-09 21:09:23 -04:00
toasted-nutbread
bdbe680f5c
Omit the sound tag if it's empty ( #525 )
2020-05-09 12:29:41 -04:00
toasted-nutbread
9900291b07
Fix not awaiting the AudioSystem.arrayBufferDigest promise ( #524 )
2020-05-09 12:28:48 -04:00
toasted-nutbread
69c783f861
Frontend/popup proxy message refactoring ( #520 )
...
* Use direct message handler functions
* Remove unused targetPopupId
* Make target a member of FrontendApiSender
* Rename frameId to parentFrameId for clarity
* Remove _parentFrameId
* Rename _parentId to _parentPopupId for clarity
2020-05-09 12:27:56 -04:00
siikamiika
d6a3825a38
Modifier key platform names ( #519 )
...
* wip
* add environment class
* use Environment class
* use Environment for scanning modifier options
* remove Environment in favor of API
* await promise
* use modifier symbols on macOS
* fix key separator issues
* if else to switch
* simplify variable names
2020-05-09 18:36:00 +03:00
toasted-nutbread
48cf646973
Popup refactor ( #518 )
...
* Add default
* Convert function to non-static
* Remove static for private functions
* Replace .call
* Move functions with side effects into a synchronous prepare function
* Rename variables with "container" to "frame" in _initializeFrame
* Rename variables with "container" to "frame"
* Rename getContainer to getFrame
* Rename getContainerRect to getFrameRect
* Organize and simplify
* Fix incorrect change of "popup" => "this"
* Move initial _updateVisibility into prepare()
2020-05-08 19:10:06 -04:00
toasted-nutbread
3949db26d7
Text scanner refactor ( #517 )
...
* Fix return type
* Pass search function as a constructor argument
* Pass constructor as a details object
For consistency with other complex constructors and improved semantics.
* Convert _ignorePoints to a single optional function
* Organize functions
* Rename ignorePoints to ignorePoint
2020-05-08 19:05:50 -04:00
toasted-nutbread
b936c3e4b1
Popup proxy host refactor ( #516 )
...
* Rename PopupProxyHost to PopupFactory
* Update FrontendApiReceiver to support non-async handlers
* Make some functions non-async
* Make setCustomCss non-async
* Make setContentScale non-async
* Remove static
* Rename variables
* Pass frameId into PopupFactory's constructor
* Change FrontendApiReceiver source from popup-proxy-host to popup-factor
* Rename _invokeHostApi to _invoke
* Rename PopupProxy.getHostUrl to getUrl
2020-05-08 19:04:53 -04:00
toasted-nutbread
b972f8cbf6
Text scanner refactor ( #515 )
...
* Mark functions as private
* Mark fields as private
* Add getter/setters for publicly used fields
* Replace public static functions with private non-static functions
* Update comment
2020-05-07 19:45:08 -04:00
toasted-nutbread
33bd9682ea
Query parser refactor ( #514 )
...
* Make functions private
* Make fields private
* Organize
2020-05-07 19:41:27 -04:00
toasted-nutbread
edb86d9ec3
Organize frontend functions ( #513 )
2020-05-07 19:38:09 -04:00
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