toasted-nutbread
6f49f426b5
Generalized frame connections ( #654 )
...
* Create FrameClient and FrameEndpoint
* Use new Frame* classes for Popup=>frame connection
* Update api.sendMessageToFrame and api.broadcastTab to include the sender's frameId
* Update FrameClient to store the frame's frameId
2020-07-08 19:58:06 -04:00
toasted-nutbread
295ffa6e54
Refactor DisplayFloat=>Frontend message passing ( #652 )
...
* Change getOrCreatePopup arguments to be an object
* Add ownerFrameId to popup and DisplayFloat
* Refactor DisplayFloat host action invocation
* Use CrossFrameAPI instead of window.postMessage
* Update popup closing functionality on the search page
2020-07-08 19:50:13 -04:00
toasted-nutbread
8f48a23a45
Display class refactoring ( #650 )
...
* Organize by public/private
* Don't access super class's private members
* Make _autoPlayAudioTimer private
* Refactor constructors
* Make functions private
* Organize by public/private
* Organize window message handlers
* Make fields private
* Refactor DisplaySearch constructor
* Make functions private
* Organize by public/private
2020-07-03 15:58:29 -04:00
toasted-nutbread
e30bab3324
Refactor text source map ( #649 )
...
* Use a null check instead of array check
* Convert statisc to non-private
* Use public source
* Add public function for getting the mapping
2020-07-03 15:57:17 -04:00
toasted-nutbread
a07a8dfff6
Extension unload detection ( #647 )
...
* Update how extension unload is detected
* Remove event handlers and use yomichan.isExtensionUnloaded instead
* Update terminology
2020-07-03 12:20:22 -04:00
toasted-nutbread
ce634325ce
Add up arrow icon ( #648 )
2020-07-03 12:02:59 -04:00
toasted-nutbread
e36bc8771f
Display refactor ( #643 )
...
* Remove statics
* Move orphan detection and error handling to Display
* Add clearContent function
* Add/use public get/set functions for optionsContext
* Add public getOptions
* Move interactive assignment
* Mark fields as private
* Mark functions as private
* Change stray getter into a function
2020-07-03 12:02:21 -04:00
toasted-nutbread
6ede83f293
Move private function definitions inside of IIFE ( #641 )
2020-07-03 12:00:13 -04:00
toasted-nutbread
562cfd7470
Make PopupProxy._frameOffsetExpireTimeout non-static ( #640 )
2020-07-03 11:58:52 -04:00
toasted-nutbread
d776125ead
Refactor timer privates ( #639 )
...
* Make Timer.current public
* Make _indentString non-static
2020-07-03 11:58:12 -04:00
toasted-nutbread
897d85d1ac
Util refactor and fix ( #638 )
...
* Remove unused functions
* Fix clone function not being visible on the window object
2020-07-03 11:57:15 -04:00
toasted-nutbread
c13160d784
Page exit prevention refactor ( #637 )
...
* Add page exit prevention functionality to SettingsController
* Update dictionary controller to use new page exit prevention system
* Remove page-exit-prevention.js
2020-07-03 11:56:26 -04:00
toasted-nutbread
1d02013642
Make JsonSchemaProxyHandler.unconstrainedSchema public and non-configurable ( #636 )
2020-07-03 11:55:39 -04:00
toasted-nutbread
0279d00274
Don't use/assign popup private fields without using "this" ( #635 )
2020-07-03 11:54:51 -04:00
toasted-nutbread
af4dc49074
Fix chrome.runtime.manifest failing when extension is reloaded ( #646 )
2020-07-01 21:06:25 -04:00
toasted-nutbread
bc6d855f3d
Fix incorrect handlebars execution context in helpers ( #645 )
2020-06-29 19:02:35 -04:00
toasted-nutbread
a16a8f53e6
Rename GenericDatabase to Database ( #634 )
2020-06-28 17:29:16 -04:00
toasted-nutbread
441c23bf3b
Rename Database to DictionaryDatabase ( #633 )
2020-06-28 17:24:06 -04:00
toasted-nutbread
7590055d4e
Merge BackendEventHandler into Backend class ( #632 )
...
* Merge BackendEventHandler into Backend class
* Remove unused public functions
2020-06-28 17:22:44 -04:00
toasted-nutbread
5183fb575f
Backend refactor ( #631 )
...
* Mark fields as private
* Remove static
* Make functions private
* Create onCommand handler
* Group event handlers
* Move functions
* Merge _onOptionsUpdated and _applyOptions
* Rename event handler
* Move event handlers
* Remove _getOptionsSchema
* Move private functions
2020-06-28 14:59:01 -04:00
toasted-nutbread
f2345b7d1c
Use deferPromise ( #630 )
...
* Use deferPromise
* Move definition
* Implement promiseTimeout using deferPromise
2020-06-28 14:39:43 -04:00
toasted-nutbread
7b5dd5c310
Update browser compatibility and Edge detection ( #629 )
2020-06-28 12:40:02 -04:00
toasted-nutbread
cdf191336a
Clone function ( #624 )
...
* Add clone function
* Replace utilIsolate with clone
* Replace JsonSchema.isolate with clone function
* Include core.js for tests which use json-schema.js
* Update visisted set
2020-06-28 12:38:34 -04:00
toasted-nutbread
5bf805755a
Yomichan object separation ( #627 )
...
* Move "yomichan" object setup to a separate file
* Update script imports
* Align message handlers
* Rename Yomichan.prepare to Yomichan.ready
* Add new prepare function
* Improve isExtensionUrl
2020-06-28 11:26:43 -04:00
toasted-nutbread
51981f0c4e
Add deferPromise function ( #626 )
2020-06-28 11:23:51 -04:00
0a6c08d0f5
Version 20.6.27.0
2020-06-27 19:02:52 -07:00
toasted-nutbread
22d70c9e22
Add lock icon ( #628 )
2020-06-26 17:22:29 -04:00
toasted-nutbread
6ee50b3c95
Make PopupFactory.prepare non-async ( #625 )
2020-06-25 18:32:29 -04:00
toasted-nutbread
3e68af8666
Shadow DOM container for popup iframes ( #623 )
...
* Add support for injecting stylesheets into a custom parent node
* Add api.getStylesheetContent
* Add support for injecting a CSS file's content
* Add usePopupShadowDom option
* Use a per-parentNode cache
* Add support for using a shadow DOM wrapper around popup iframes
* Ignore the popup container instead of the frame
2020-06-24 21:46:13 -04:00
toasted-nutbread
96932119f8
Remove window. from visualViewport, use local variable instead ( #621 )
2020-06-22 19:27:40 -04:00
toasted-nutbread
65c41975a6
Secure popup frame url changes ( #622 )
...
* Throw error if options is not ready
* Remove id
* Change unsecurePopupFrameUrl to useSecurePopupFrameUrl
2020-06-22 19:26:59 -04:00
toasted-nutbread
f2991fb9ee
Frontend initialization refactor ( #610 )
...
* Create member functions for ignoreElements and ignorePoint
* Create addFullscreenChangeEventListener utility
* Move popup creation management into Frontend
* Move getUrl implementation
* Remove old setup
* Remove try/catch block
* Error wrap
* Add prepare call to TextScanner
* Update depth when popup changes
* Refactor how Frontend gets PopupFactory and frameId
* Update popup preview to work
* Update popup preview frame to use the frontend's popup
* Update how nested popups are set up
* Error wrap
* Update how popups are set up on the search page
* Error wrap
* Error unwrap
* Add missing prepare
* Remove use of frontendInitializationData
* Catch and log errors
2020-06-21 16:14:05 -04:00
toasted-nutbread
244ab31bb2
Generic database ( #600 )
...
* Update test
* Rename db to _db
* Create GenericDatabase class
* Catch prepare error
* Allow database to be purged even if it was not open
* Remove unused functions
* Change static functions to non-static
* Delete and count using the media object store
* Update tests
2020-06-21 16:12:56 -04:00
toasted-nutbread
e23504613f
Use DOMTextScanner ( #536 )
...
* Use DOMTextScanner instead of TextSourceRange.seek*
* Move getNodesInRange to dom.js
* Move anyNodeMatchesSelector to dom.js
* Remove unused functions
* Update tests
* Add layoutAwareScan option
* Use layoutAwareScan for source and sentence scanning
* Remove unused IGNORE_TEXT_PATTERN
2020-06-21 16:07:51 -04:00
toasted-nutbread
4ebee3e17c
Context popup update ( #594 )
...
* Add link to the help button
* Update context.html to not use bootstrap
Styles moved into a separate file
Update icons
* Update terminology to correspond to new icons
2020-06-21 15:57:18 -04:00
toasted-nutbread
0c69e54fde
Optimize anki note field generation ( #611 )
2020-06-21 15:54:34 -04:00
toasted-nutbread
3db7b3a925
Add option to use the unsecure frame URL ( #618 )
2020-06-21 15:52:43 -04:00
toasted-nutbread
9e28db6ef7
Safely handle volume values that are out of range ( #617 )
2020-06-21 15:51:36 -04:00
toasted-nutbread
713bf29377
Handle stack overflow caused by wanakana.toKana ( #615 )
2020-06-21 15:50:50 -04:00
toasted-nutbread
6562d0c1e5
Template renderer class ( #574 )
...
* Convert handlebars.js to a class
* Move/rename function
* Update helper registration
* Rename helper functions
* Limit cache size
* Make render() async
* Rename and move
2020-06-15 20:11:54 -04:00
toasted-nutbread
b4a617cac3
Ignore getZoom errors ( #604 )
2020-06-14 15:14:47 -04:00
toasted-nutbread
b612bd8b8d
PopupProxy refactor ( #609 )
...
* Remove setDisabled member; replace with an event
* Pass frameOffsetForwarder directly to PopupProxy
* Replace .start with .prepare
* Make onMessage private
* Make message safer and handle unexpected inputs
2020-06-14 14:06:52 -04:00
toasted-nutbread
8d1a276a83
Remove debug log ( #603 )
2020-06-13 10:42:59 -04:00
toasted-nutbread
8a7ff6a18c
Replace XMLHttpRequest ( #562 )
...
* Replace XMLHttpRequest with fetch
* Implement fetch placeholder for tests
2020-06-13 10:23:04 -04:00
toasted-nutbread
5cba421201
Update the badge icon if the backend experiences an error ( #602 )
2020-06-13 10:20:12 -04:00
toasted-nutbread
8bc15e60b5
Detect language tags starting with "ja_" ( #596 )
2020-06-13 10:18:44 -04:00
toasted-nutbread
a84f188b73
Handle cases where platform info is not available ( #597 )
...
* Handle cases where platform info is not available
* Safely return the correct os property
2020-06-10 20:58:46 -04:00
toasted-nutbread
839e306cac
Immediate backend event handlers ( #555 )
...
* Add function to await until prepare is completed
* Create BackendEventHandler to synchronously set up event handling
2020-06-07 21:50:14 -04:00
toasted-nutbread
9767b76553
Use cross frame API ( #553 )
...
* Use new CrossFrameAPI for popup proxy communication
* Remove use of old cross-frame communication classes
* Remove use of old cross-frame communication files
* Make the crossFrame object a member of the api object
2020-06-07 21:40:11 -04:00
siikamiika
b614aca3dd
fix css class name ( #591 )
...
Broken in 90af55d4c84f545635f238178b30748a0e8093ee
2020-06-07 00:08:46 +03:00
siikamiika
0384e2afef
scale background icon when page is zoomed ( #592 )
2020-06-07 00:08:20 +03:00
toasted-nutbread
2c58b1c109
Limit action port message size ( #587 )
...
* Add onDisconnect handler
* Update how error is posted
* Update action ports to send long messages in fragments
* Remove ack timer
* Move message destructuring into try block
2020-05-31 18:17:12 -04:00
toasted-nutbread
cfd3a1ec3a
Update AudioController to not use mutable options references ( #585 )
2020-05-30 21:54:38 -04:00
toasted-nutbread
db209c9116
Generic settings controller merge ( #584 )
...
* Update how optionsContext is assigned to targets
* Add getSettings and modifySettings
* Merge DOMSettingsBinder into GenericSettingController
* Remove old DOMSettingsBinder
2020-05-30 21:53:36 -04:00
toasted-nutbread
ce7f9dd09a
Update how assignment of general.enableClipboardPopups works ( #583 )
2020-05-30 16:24:51 -04:00
toasted-nutbread
976a200ffc
Backup update ( #582 )
...
* Add function to assign all settings
* Update how settings backups are restored
* Remove page reload
* Update profile index after importing
2020-05-30 16:23:56 -04:00
toasted-nutbread
c8810bc929
Update AnkiController ( #581 )
...
* Update how fields are populated
* Update how fields are modified after a model change
* Update how _onFieldsChanged assigns fields
* Update how spinner is hidden
* Remove jQuery usage
* Use non-jQuery events
2020-05-30 16:22:51 -04:00
toasted-nutbread
ad8df26b6b
Update AnkiTemplatesController ( #580 )
...
* Use this._defaultFieldTemplates
* Don't use mutable options
* Remove some use of jQuery
2020-05-30 16:22:05 -04:00
toasted-nutbread
395a0f4096
Update GenericSettingController to use DOMSettingsBinder ( #578 )
2020-05-30 16:20:31 -04:00
toasted-nutbread
f228078613
SettingsController API update ( #579 )
...
* Include optionsContext as part of optionsChanged event
* Add get/modify functions
2020-05-30 11:24:34 -04:00
toasted-nutbread
789da0206b
Organize settings/main.js ( #577 )
2020-05-30 09:50:33 -04:00
toasted-nutbread
63a3e56367
Use SettingsController ( #576 )
...
* Use settingsController internally in settings/main.js
* Replace modifyingProfileChange with SettingsController.optionsContextChanged
* Update ClipboardPopupsController to use SettingsController
* Store reference to checkbox
* Use this._settingsController for everything
* Change where current profile is initially assigned from
* Remove some unnecessary async calls
* Move setup calls
* Update AnkiTemplatesController to use SettingsController
* Cache default field templates
* Update AnkiController to use SettingsController
* Update AudioController to use SettingsController
* Update SettingsBackup to use SettingsController
* Update DictionaryController to use SettingsController
* Update GenericSettingController to use SettingsController
* Update ProfileController to use SettingsController
* Remove unused
* Remove unused
* Replace some uses of api.options* functions
* Fix missing awaits
* Fix invalid function
2020-05-30 09:33:13 -04:00
toasted-nutbread
1a5a37c9e4
Fix frontend being null if messages are received early ( #575 )
2020-05-30 09:31:46 -04:00
toasted-nutbread
18f376358c
Generic settings controller + clipboard popups controller ( #573 )
...
* Create GenericSettingController
* Create ClipboardPopupsController
2020-05-29 20:33:40 -04:00
toasted-nutbread
df040b104a
Popup preview frame refactor ( #572 )
...
* Use private variables
* Use private methods
* Update overrides
* Make prepare called in the entry point function
* Change format of handlers
* Change where _apiOptionsGetOld is assigned
* Rename class
2020-05-29 20:29:19 -04:00
toasted-nutbread
9624566d2a
Convert popup-preview.js to a class ( #571 )
...
* Convert popup-preview.js to a class
* Don't invoke 'prepare'
2020-05-29 20:28:12 -04:00
toasted-nutbread
418e8a57bf
Convert dictionaries.js and storage.js to classes ( #570 )
...
* Convert dictionaries.js to a class
* Remove storage spinner
* Convert storage.js to a class
* Move dataset assignments into main.js
2020-05-29 20:25:22 -04:00
toasted-nutbread
c62f980f37
Audio controller ( #569 )
...
* Convert audio.js into a class
* Move audio-ui.js classes into audio.js
* Rename fields
* Merge classes
* Remove audio-ui.js
2020-05-29 19:56:38 -04:00
toasted-nutbread
5f9889fd26
Anki settings controllers ( #567 )
...
* Convert anki-templates.js to a class
* Convert anki.js to a class
2020-05-29 19:52:51 -04:00
toasted-nutbread
fde0072118
Change profile.js into a class ( #566 )
...
* Update how settings profile is stored and accessed
* Convert profiles.js into a class
* Rename members of ProfileController
2020-05-29 19:47:18 -04:00
toasted-nutbread
8537c8f386
Create class to abstract access, mutation, and events for settings ( #565 )
2020-05-29 19:45:54 -04:00
toasted-nutbread
37f0396f1c
DOM binder fixes ( #564 )
...
* Fix incorrect updateValue function
* Add source
2020-05-29 19:44:53 -04:00
toasted-nutbread
9d40955fc8
Update legal.html to include full licenses ( #563 )
2020-05-24 22:10:50 -04:00
toasted-nutbread
6dd6af05e1
Update background global object usage ( #556 )
...
* Omit global window object for scripts used on the background page
* Validate document exists before using
* Remove dom.js from background.html
2020-05-24 14:01:21 -04:00
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
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