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
toasted-nutbread
a4b0a556d4
Merge pull request #380 from toasted-nutbread/anki-templates-file
...
Load default Anki field templates from a file
2020-03-01 14:41:48 -05:00
siikamiika
9af8f999f4
compatibility transform non-primary definitions
2020-03-01 21:26:45 +02:00
siikamiika
314c567a47
fix hotkeys in popup
2020-03-01 19:02:43 +02:00
toasted-nutbread
a46a84ee15
Increase z-index for navigation-header
2020-03-01 11:31:19 -05:00
toasted-nutbread
52d8d658a2
Fix empty keys definitions and add Shift/Alt checks
2020-02-29 10:00:28 -05:00
toasted-nutbread
8e29da0c6b
Load default Anki field templates from a file
2020-02-27 20:33:13 -05:00
toasted-nutbread
fdfc2d33bb
Simplify event to use bind
2020-02-26 21:19:22 -05:00
toasted-nutbread
2d109c3e56
Use functions directly rather than wrapping in () => {} when args are same
2020-02-26 21:17:01 -05:00
toasted-nutbread
8bc1a40914
Use .bind instead of () => {}
2020-02-26 21:01:40 -05:00
toasted-nutbread
fc08cd74fe
Use .bind instead of () => {}
2020-02-26 20:35:37 -05:00
toasted-nutbread
78dc501d02
Move event handler definitions
2020-02-26 20:07:14 -05:00
toasted-nutbread
03ba1b633e
Move event handler definitions
2020-02-26 20:03:21 -05:00
toasted-nutbread
d08ac02c6a
Move event handler definitions
2020-02-26 19:52:12 -05:00
toasted-nutbread
d17af2cbab
Move event handler definitions
2020-02-26 19:48:53 -05:00
toasted-nutbread
359eabb26e
Move event handler definitions
2020-02-26 19:48:30 -05:00
toasted-nutbread
13874e962b
Refactor DisplaySearch.onKeyDownIgnoreKeys
2020-02-26 19:34:25 -05:00
toasted-nutbread
8d5d034516
Move event handler definitions
2020-02-26 19:22:32 -05:00
toasted-nutbread
007789ffa0
Organize, remove unnecessary null checks
2020-02-26 19:08:35 -05:00
toasted-nutbread
0c1b250b4f
Move event handler function bodies
2020-02-26 19:04:21 -05:00
toasted-nutbread
fa385aafa4
Fix noteUsesScreenshot not checking mode
2020-02-25 22:24:22 -05:00
toasted-nutbread
0b5a26e64a
Update dictEnabledSet and dictConfigured to use for of
2020-02-25 22:15:49 -05:00
toasted-nutbread
b391704f3d
Use for of
2020-02-25 22:13:06 -05:00
toasted-nutbread
7b97138ad1
Changed type returned by apiTextParseMecab to avoid using for in
2020-02-25 22:13:03 -05:00
toasted-nutbread
6bd714fec0
Use Map to avoid using for in
2020-02-25 22:12:00 -05:00
toasted-nutbread
798517cdf1
Use for of
2020-02-25 22:11:58 -05:00
toasted-nutbread
2e0b3a6ccc
Refactor dictNoteFormat
2020-02-25 20:38:18 -05:00
toasted-nutbread
3795af6cb5
Use Object.entries rather than for in
2020-02-25 19:54:59 -05:00
toasted-nutbread
13a94d06ea
Update styles
2020-02-25 19:38:52 -05:00
siikamiika
a0d5d9a821
fix opening options in new tab
2020-02-26 01:54:40 +02:00
706c3edcff
version bump
2020-02-24 21:30:37 -08:00
siikamiika
ffad78f7d4
temporarily disable navigation header mouse wheel
...
Unblock release #355 , #376
2020-02-24 08:57:48 +02:00
toasted-nutbread
15f79bc78b
Fix popupScalingFactor being limited to integer values
2020-02-23 21:12:43 -05:00
toasted-nutbread
d6454bc999
Remove unused
2020-02-23 16:21:52 -05:00
toasted-nutbread
a0b2e11c10
Use TemplateHandler for DisplayGenerator
2020-02-23 16:18:13 -05:00
toasted-nutbread
0c4aa2eeb9
Fix trailing newlines not actually generating a new line in the imposter
...
This was causing vertical scroll offset issues
2020-02-23 13:04:55 -05:00
toasted-nutbread
7697643966
Reject with a consistent error
2020-02-23 11:59:57 -05:00
toasted-nutbread
5a5c18371c
Use textContent instead of innerText
2020-02-23 11:58:17 -05:00
toasted-nutbread
53220af68e
Don't use innerHTML
2020-02-23 11:49:52 -05:00
toasted-nutbread
c0d91bffc4
Add no-shadow
2020-02-22 14:53:02 -05:00
toasted-nutbread
0c8f567e6d
Fix indentation
2020-02-22 14:52:09 -05:00
toasted-nutbread
56567903a5
Fix unnamed functions
2020-02-22 14:52:09 -05:00
toasted-nutbread
c3e7280365
Simplify ternary
2020-02-22 14:52:09 -05:00
toasted-nutbread
aa76113e75
Fix block padding
2020-02-22 14:52:09 -05:00
toasted-nutbread
6d75637ace
Fix brace style issues
2020-02-22 14:52:08 -05:00
toasted-nutbread
1944f7a215
Fix indent
2020-02-22 14:52:08 -05:00
toasted-nutbread
54bb702b84
Updates for PR feedback
2020-02-22 14:43:06 -05:00
toasted-nutbread
f143632f28
Simplify only assignment
2020-02-22 14:43:06 -05:00
toasted-nutbread
19fb7dacb4
Assign result properties to variables to reduce number of lookups
2020-02-22 14:43:06 -05:00
toasted-nutbread
69b5007842
Reduce number of redundant Map.get calls in dictTermsMergeByGloss
2020-02-22 14:43:06 -05:00
toasted-nutbread
45c685d00a
Add variables for expression and reading
2020-02-22 14:43:06 -05:00
toasted-nutbread
50a171bc75
Simplify update of mergedIndices
2020-02-22 14:43:06 -05:00
toasted-nutbread
89af73b61b
Use Map
2020-02-22 14:43:06 -05:00
toasted-nutbread
5e8b408a23
Change secondarySearchTitles to secondarySearchDictionaries
2020-02-22 14:43:06 -05:00
toasted-nutbread
b6718dc4a4
Use findTerms instead of findTermsInternal
2020-02-22 14:43:06 -05:00
toasted-nutbread
1c828d205c
Remove unused dictRowsSort
2020-02-22 14:43:06 -05:00
toasted-nutbread
cc2e21cd86
Use Map for dictEnabledSet
2020-02-22 14:43:05 -05:00
toasted-nutbread
b0c566417f
Replace getIndexOfTouch with getTouch
2020-02-22 14:37:10 -05:00
toasted-nutbread
7afc23427e
Use URLSearchParams
2020-02-22 14:37:10 -05:00
toasted-nutbread
163211ade3
Use Map
2020-02-22 14:37:10 -05:00
toasted-nutbread
a4bdffbd9d
Use Map
2020-02-22 14:37:10 -05:00
toasted-nutbread
5587116bae
Simplify spread
2020-02-22 14:37:10 -05:00
toasted-nutbread
bc94970a46
Use Map
2020-02-22 14:37:10 -05:00
toasted-nutbread
cae8ed2767
Use Array.isArray instead of hasOwn
2020-02-22 14:37:10 -05:00
toasted-nutbread
1f62dfa572
Use Set
2020-02-22 14:37:10 -05:00
toasted-nutbread
886278b19d
Use Set
2020-02-22 14:36:07 -05:00
toasted-nutbread
452eec8a88
Use Map
2020-02-22 14:36:07 -05:00
toasted-nutbread
77a3dadd0b
Make schema errors have more information
2020-02-22 13:25:28 -05:00
toasted-nutbread
d76ab91f83
Update validate function name in close
2020-02-22 12:45:50 -05:00
toasted-nutbread
86d0fb6643
Require format to be 1, 2, or 3
2020-02-22 12:09:34 -05:00
toasted-nutbread
62d4f68412
Define old tagMeta format in index file
2020-02-22 12:09:34 -05:00
toasted-nutbread
086fefc921
Validate data before importing
2020-02-22 12:09:34 -05:00
toasted-nutbread
d620f40448
Remove old dictionary import functions
2020-02-22 12:09:34 -05:00
toasted-nutbread
177bca4865
Create new dictionary import function
2020-02-22 12:09:33 -05:00
toasted-nutbread
212e5428e8
Mark private functions in database.js
2020-02-22 12:09:33 -05:00
toasted-nutbread
a8b1e40a1e
Close to prevent hangs
2020-02-19 19:59:24 -05:00
toasted-nutbread
0f46e3a093
Use a token to ensure that messages are coming from Yomichan
2020-02-17 11:02:21 -05:00
toasted-nutbread
aee16c4431
Check origin on window messages
2020-02-16 23:41:17 -05:00
toasted-nutbread
ae4ee9ddee
Fix error handling on style injection
2020-02-16 21:49:28 -05:00
toasted-nutbread
e173a71ba6
Fix CSS injection on about:blank pages
2020-02-16 21:46:13 -05:00
toasted-nutbread
3d27e80ae6
Delay CSS injection until a popup is created
2020-02-16 21:46:13 -05:00
toasted-nutbread
9fd6ee382d
Create more generic function for injecting stylesheets
2020-02-16 21:46:13 -05:00
toasted-nutbread
d3aefdc4e3
Override setCustomOuterCss instead of Popup.injectOuterStylesheet
2020-02-16 21:45:30 -05:00
toasted-nutbread
b6a50e234c
Change parameter name
2020-02-16 21:44:45 -05:00
toasted-nutbread
2c3f510010
Allow apiInjectStylesheet to inject a URL
2020-02-16 21:43:35 -05:00
toasted-nutbread
1c6ed1d286
Set URL before adding to the document
2020-02-16 21:41:31 -05:00
toasted-nutbread
c6efa65626
Fix missing argument
2020-02-16 19:09:33 -05:00
toasted-nutbread
dcd243c9e9
Update how popups are created
2020-02-16 18:59:08 -05:00
toasted-nutbread
5d3c13ee98
Tweak how fullscreen changes are observed
2020-02-16 18:52:04 -05:00
toasted-nutbread
070ae70f7c
Create EventListenerCollection class
2020-02-16 18:47:57 -05:00
toasted-nutbread
36605f74c3
Undo "Obscure the iframe's URL from the host page"
...
There are some additional issues which cause the frame to be reset to
about:blank on certain occasions which must be fixed before this can be
used.
2020-02-16 18:47:46 -05:00
toasted-nutbread
cc989f4411
Add "match_about_blank": true to manifest
2020-02-16 14:22:19 -05:00
toasted-nutbread
6df5220e02
Prevent multiple prepare calls
2020-02-16 12:23:40 -05:00
toasted-nutbread
b5d32c73e6
Simplify process to wait for iframe prepare completion
2020-02-16 12:23:20 -05:00
toasted-nutbread
42f1c2463c
Move generateId function
2020-02-16 12:00:56 -05:00
toasted-nutbread
912d59d3df
Obscure the iframe's URL from the host page
2020-02-15 22:39:09 -05:00
toasted-nutbread
10ec165f14
Check type of other for equals functions
...
Fixes #361
2020-02-15 20:52:21 -05:00
toasted-nutbread
217bd36abc
Use consistent timeout for both setContentTerms and setContentKanji
2020-02-15 20:36:46 -05:00
toasted-nutbread
c5cbf99e89
Use promiseTimeout instead of delay
2020-02-15 20:35:51 -05:00
toasted-nutbread
496d2599ea
Move error handling for apiDefinitionsAddable
2020-02-15 20:33:20 -05:00
toasted-nutbread
faf15c08aa
Rename optionsUpdate event to optionsUpdated
...
Past tense better indicates that the options were changed, but no data
is being included as part of the event. It is also more consistent with
the other event names the yomichan object currently provides.
2020-02-14 22:34:44 -05:00
toasted-nutbread
89cb98e4d1
Add global apiForward
2020-02-14 21:50:17 -05:00
toasted-nutbread
853faaf48c
Merge pull request #358 from toasted-nutbread/general-refactoring
...
General refactoring
2020-02-14 21:25:25 -05:00
toasted-nutbread
4dd4926672
Remove unused apiGetDisplayTemplatesHtml and apiGetQueryParserTemplatesHtml
2020-02-14 20:51:10 -05:00
toasted-nutbread
61c6a753ce
Add apiTemplateRender back to mixed api.js
2020-02-14 20:11:40 -05:00
siikamiika
548c67ef1c
remove extra setContentToken check from Display
2020-02-14 23:17:21 +02:00
siikamiika
c09a3ded1d
Merge pull request #357 from siikamiika/simplify-display-prepare
...
Simplify display prepare
2020-02-14 11:00:36 +02:00
toasted-nutbread
6194f9f585
Comma
2020-02-13 20:50:31 -05:00
toasted-nutbread
483f7401b7
Validate bounds of Display.definitions before using
2020-02-13 20:50:31 -05:00
toasted-nutbread
db1da33321
Use Array.from in toIterable
2020-02-13 20:50:31 -05:00
toasted-nutbread
75fbb1565c
Use Map for audioGetFromSources's cache parameter
2020-02-13 20:50:30 -05:00
toasted-nutbread
0e6b75438a
Use Map for Translator.tagCache
2020-02-13 20:50:30 -05:00
toasted-nutbread
e3c871bc00
Remove unused handlebarsRenderStatic
2020-02-13 20:50:30 -05:00
siikamiika
810a7e7d92
use sendMessage to notify about initialization
2020-02-14 02:33:54 +02:00
siikamiika
e645296b1b
fix Map set in Translator.buildTermFrequencies
2020-02-14 01:12:28 +02:00
siikamiika
d7e1ef01d8
use Promise.all to await dependencies
2020-02-13 16:26:45 +02:00
siikamiika
38a6433a46
remove isInjected checks from Popup
2020-02-13 15:04:10 +02:00
siikamiika
8abab28c4d
remove isPrepared check
2020-02-13 14:36:32 +02:00
siikamiika
c0225f1f84
notify popup about initialization
2020-02-13 13:18:54 +02:00
siikamiika
df37acd17f
rename display initialize methods to prepare
2020-02-13 01:59:26 +02:00
siikamiika
93eaee9765
simplify DisplayGenerator initialization
2020-02-13 01:43:01 +02:00
toasted-nutbread
c8e7a1543e
Remove unused
2020-02-11 22:25:48 -05:00
toasted-nutbread
e2ac478cb7
Define more globals
2020-02-11 22:22:16 -05:00
toasted-nutbread
ab9d2b38e0
Remove redundant declaration
2020-02-11 22:22:16 -05:00
toasted-nutbread
4629fb3639
Change no-undef from off to error
2020-02-11 22:22:16 -05:00
toasted-nutbread
65dfb855fb
Fix undefined id
2020-02-11 22:21:55 -05:00
toasted-nutbread
9c5ad3ea67
Merge pull request #346 from toasted-nutbread/dictionary-schemas
...
Dictionary schemas
2020-02-11 21:21:37 -05:00
siikamiika
9ffd0cb441
Merge pull request #350 from siikamiika/query-parser-html-templates
...
query parser html templates
2020-02-11 11:07:05 +02:00
toasted-nutbread
17181eb97e
Improve style of some tags
2020-02-10 21:38:11 -05:00
toasted-nutbread
bbb74d0a48
Assign _isInitialized
2020-02-10 20:38:20 -05:00
siikamiika
9c98c631af
fix async issues
2020-02-10 22:09:23 +02:00
siikamiika
4f1ed14f07
simplify TemplateHandler
2020-02-10 21:56:48 +02:00
siikamiika
b7f347ff4f
remove newline from template
2020-02-10 21:19:18 +02:00
siikamiika
6c63a17d66
query parser html templates
2020-02-10 21:19:18 +02:00
siikamiika
14b9f4a827
preserve search page mode on manual search
2020-02-10 01:31:47 +02:00
siikamiika
460d306f60
update popup search with chrome.tabs.sendMessage
2020-02-10 01:16:06 +02:00
siikamiika
89729d8c20
reuse existing popup window
2020-02-10 00:39:05 +02:00
siikamiika
56f1f8384d
use parseUrl in Backend
2020-02-10 00:09:29 +02:00
siikamiika
4508efb9a6
stop clipboard monitor before starting it again
2020-02-09 22:41:20 +02:00
siikamiika
d4e74a0572
fix existing tab focus
2020-02-09 22:16:52 +02:00
siikamiika
21bad6c6e3
simplify setQuery kana conversion
2020-02-09 21:51:33 +02:00
siikamiika
4e59c2d556
hide native popup option for firefox mobile
2020-02-09 21:51:33 +02:00
siikamiika
1797edc7d8
check chrome.windows support before using
2020-02-09 21:51:33 +02:00
siikamiika
9fbd47e4ea
rename sameTab --> existingOrNewTab
2020-02-09 21:51:33 +02:00
siikamiika
722a2a4bce
disable internal clipboard monitor in native popup
2020-02-09 21:51:33 +02:00
siikamiika
8a295c4bb0
fix constant usage from wrong scope
2020-02-09 21:51:33 +02:00
siikamiika
c16c38638b
hide search input in native popups
2020-02-09 21:51:33 +02:00
siikamiika
8d56d6ffcb
handle closing already closed popup
2020-02-09 21:51:33 +02:00
siikamiika
d7f0369281
use Promise
2020-02-09 21:51:33 +02:00
siikamiika
91682dd633
add permission check to formRead
2020-02-09 21:51:33 +02:00
siikamiika
90a5d79570
use ClipboardMonitor in Backend
2020-02-09 21:51:33 +02:00
siikamiika
c685fd0e5f
extract ClipboardMonitor from DisplaySearch
2020-02-09 21:51:33 +02:00
siikamiika
37a922adc0
fix settings page checkbox
2020-02-09 21:51:33 +02:00
siikamiika
222f869c84
fix search page hotkey
2020-02-09 21:51:33 +02:00
siikamiika
939ad42dac
add global clipboard monitor that spawns popups
...
TODO: refactor the search page clipboard monitor and popup clipboard
monitor to use a common ClipboardMonitor class
2020-02-09 21:51:33 +02:00
siikamiika
f29abfc511
use correct optionsContext
2020-02-09 21:51:33 +02:00
siikamiika
679e42c21c
move apiClipboardGet Firefox handling to Backend
2020-02-09 21:51:33 +02:00
siikamiika
ddc7c71e4f
add support for native popup windows
2020-02-09 21:51:33 +02:00
toasted-nutbread
d5708de4ee
Fix undefined reject
2020-02-08 20:49:01 -05:00
toasted-nutbread
f85f92c665
Remove trailing comma
2020-02-08 20:48:47 -05:00
toasted-nutbread
165959ef06
Move japanese.js into bg
2020-02-08 20:45:30 -05:00
toasted-nutbread
4b17e79cb8
Add schemas for dictionary data
2020-02-08 12:28:46 -05:00
toasted-nutbread
4e2b317d54
Merge pull request #345 from toasted-nutbread/json-schema-improvements
...
JSON schema improvements
2020-02-08 12:28:06 -05:00
siikamiika
8eac191c97
prevent unwanted wheel events on history bar
2020-02-05 14:19:48 +02:00
toasted-nutbread
e8701cb950
Hide anki-invalid-response-error when there is no error
2020-02-02 14:53:32 -05:00
toasted-nutbread
3c28c7dd7c
Fix init
2020-02-02 11:22:22 -05:00
toasted-nutbread
fff1e67a5e
Improve schema path when using getPropertySchema
2020-02-02 11:18:13 -05:00
toasted-nutbread
b1fc9c024a
Update how property schemas are returned
2020-02-02 11:13:26 -05:00
toasted-nutbread
ea808024d7
Fix missing else
2020-02-02 11:04:38 -05:00
toasted-nutbread
3bef380e3b
Add improved error information when validation fails
2020-02-02 10:51:48 -05:00
toasted-nutbread
fca5c75151
Fix ifSchema
2020-02-02 10:35:41 -05:00
toasted-nutbread
7c9fe2c6cf
Fix conditional logic
2020-02-02 10:17:16 -05:00
toasted-nutbread
964db74108
Update schema validation to throw errors
2020-02-02 10:12:01 -05:00
toasted-nutbread
36e641e001
getSchemaOrValueType return null
2020-02-02 10:12:01 -05:00
toasted-nutbread
0171d86b28
Fix maxLength check
2020-02-02 10:12:01 -05:00
toasted-nutbread
52b623b5cd
Improve getPropertySchema's type detection
2020-02-02 10:12:01 -05:00
toasted-nutbread
31dbeab67c
Add validate on JsonSchema
2020-02-02 10:12:01 -05:00
toasted-nutbread
980a1ddf74
Improve support for array schemas
2020-02-02 10:12:01 -05:00
toasted-nutbread
a844698f15
Return unconstrained schema when additionalProperties is true/undefined
2020-02-02 10:12:01 -05:00
toasted-nutbread
203216986e
Add support for conditionals
2020-02-02 10:12:01 -05:00
toasted-nutbread
6595715f7c
Add support for allOf, anyOf, oneOf, and not
2020-02-02 10:12:01 -05:00
toasted-nutbread
0b474751b5
Add simplified isObject test
2020-02-02 10:12:01 -05:00
toasted-nutbread
f23e0c9c95
Validate Deinflector.ruleTypes
2020-02-02 10:09:19 -05:00
siikamiika
b8326138a3
add scannable tags for expression and reading
2020-02-02 13:57:30 +02:00
siikamiika
24690ceb7c
fix glossary item selector
2020-02-02 13:44:08 +02:00
toasted-nutbread
d5c0155a82
Update main dictionary value when changing modifying profile
2020-02-01 21:00:43 -05:00
toasted-nutbread
8eaa0334ac
Remove option for dictionaries that aren't installed after changing values
2020-02-01 21:00:43 -05:00
toasted-nutbread
55047def9d
Separate the functionality of updateMainDictionarySelect
...
One function now updates the options, and another handles updating the value.
The options are no longer mutated due to updating this <select>'s available options.
2020-02-01 21:00:43 -05:00
toasted-nutbread
748cd27ad0
Remove argument from onDictionaryOptionsChanged
2020-02-01 21:00:43 -05:00
toasted-nutbread
566012f228
Use await
2020-02-01 21:00:43 -05:00
toasted-nutbread
5541aae201
Assign valid score during construction
2020-02-01 21:00:27 -05:00
toasted-nutbread
daf0385448
Add declaration
2020-02-01 21:00:27 -05:00
toasted-nutbread
6b9116ee49
Fix term tags not always being displayed
2020-02-01 21:00:27 -05:00
toasted-nutbread
1d9332cb69
Simplify getSequencedDefinitions and dictTermsMergeBySequence
2020-02-01 21:00:27 -05:00
toasted-nutbread
09a1214f49
More fixes for Firefox
2020-02-01 21:00:07 -05:00
toasted-nutbread
0762f13a6d
Workaround Firefox text selection bug
2020-02-01 21:00:07 -05:00
toasted-nutbread
db247a2837
Fix double clicking reason and glossary text
2020-02-01 21:00:07 -05:00
toasted-nutbread
dd700af0be
Fix tag double click
2020-02-01 21:00:07 -05:00
siikamiika
05bb4aef71
partially revert be77544d77ba1f07955d76ebba1ab36286f0e52f
2020-01-28 02:34:05 +02:00
siikamiika
02e0e24153
change jpod101 kana check to detect katakana
2020-01-27 23:28:01 +02:00
siikamiika
dd019ecf68
fix audio index in resultOutputMode = 'merge'
2020-01-27 23:24:34 +02:00
toasted-nutbread
2dbb24ea04
Improve error messages when Interface server is invalid
2020-01-26 21:01:19 -05:00
0cf1cf3aa0
Version bump
2020-01-26 11:27:31 -08:00
toasted-nutbread
1f3ff6fad0
Fix equals function on TextSourceRange when imposter elements are used
2020-01-26 10:31:17 -05:00
toasted-nutbread
54a48a7a9b
Ensure textSource is cleaned up if it isn't used
2020-01-26 10:31:17 -05:00
siikamiika
e70638e8ea
fix term spacing value display in settings
2020-01-26 00:56:52 +02:00
siikamiika
d2430783fd
fix scanning parser
2020-01-26 00:46:23 +02:00
siikamiika
7a2dbb6f73
add default value for termSpacing
2020-01-25 18:29:52 +02:00
toasted-nutbread
a5fc79a754
Create buildKanjiMeta for parity with buildTermMeta
2020-01-24 22:27:25 -05:00
toasted-nutbread
8233119eb7
Update how frequency data is set up
2020-01-24 22:24:05 -05:00
toasted-nutbread
ee41e0e42e
Rename buildTermFrequencies to buildTermMeta
2020-01-24 22:23:25 -05:00
toasted-nutbread
00bbcff8a2
Fix findTermMetaBulk and findKanjiMetaBulk not returning expression/character
2020-01-24 22:22:40 -05:00
toasted-nutbread
d7ce829107
Use Map for Mecab.listeners
2020-01-24 22:02:53 -05:00
toasted-nutbread
632765a3b5
Change termsUniqueMap to use a real map
2020-01-24 21:57:01 -05:00
toasted-nutbread
c75d04ccb7
Change uniqueDeinflectionsMap to use a real Map
2020-01-24 21:51:58 -05:00
siikamiika
7357eaf07a
Merge pull request #330 from siikamiika/query-parser-helper-disabling
...
Query parser helper disabling
2020-01-25 03:29:55 +02:00
toasted-nutbread
be645c2c98
Add support for dashes
2020-01-24 20:15:25 -05:00
toasted-nutbread
46e3d72641
Move where 'a' character offset is applied
2020-01-24 20:15:25 -05:00
toasted-nutbread
0c3b7d0fbc
Add description of translation options
2020-01-24 20:15:25 -05:00
toasted-nutbread
67759b7aa3
Add convertHiraganaToKatakana option
2020-01-24 20:15:25 -05:00
toasted-nutbread
538d83c5a6
Reorganized variants to better reflect usage order
2020-01-24 20:15:25 -05:00
toasted-nutbread
317bf35bc0
Replace and remove old character/string testing functions
2020-01-24 20:15:25 -05:00
toasted-nutbread
1fa8a59626
Create new character/string testing functions
2020-01-24 20:15:25 -05:00
toasted-nutbread
9b509d50a9
Add character range definitions
2020-01-24 20:15:25 -05:00
toasted-nutbread
3c17388ff8
Update constant naming convention
2020-01-24 20:15:25 -05:00
toasted-nutbread
9c5f1d4e59
Update options schema
2020-01-24 20:15:25 -05:00
toasted-nutbread
b5015264f2
Include half width and full width characters as Japanese characters
2020-01-24 20:15:25 -05:00
toasted-nutbread
86d96a9036
Update detection of Japanese characters
2020-01-24 20:15:25 -05:00
toasted-nutbread
be2e6e0d93
Optimize jpIsKanji and jpIsKana
2020-01-24 20:15:25 -05:00
toasted-nutbread
fb6e56b3b7
Remove redundant alphanumeric parameter from findTermsInternal
2020-01-24 20:15:25 -05:00
toasted-nutbread
73cc64fb5c
Implement new translation options
2020-01-24 20:15:25 -05:00
toasted-nutbread
4415a71ae2
Add translation options
2020-01-24 20:15:25 -05:00
toasted-nutbread
9ae87f186a
Update how deinflections are generated
2020-01-24 20:15:25 -05:00
siikamiika
fa4004437d
query parser: add toggle for term spacing
2020-01-25 02:57:57 +02:00
siikamiika
aa5a044dad
query parser: add reading mode 'none'
2020-01-25 02:56:14 +02:00
toasted-nutbread
04727a8cd7
Fix viewport issues when popupScaleRelativeToVisualViewport is disabled
2020-01-22 20:38:21 -05:00
toasted-nutbread
2f994a7e5d
Fix font size issue with action-button
2020-01-22 20:38:21 -05:00
toasted-nutbread
8e15c20311
Remove window.onscroll handler since it causes a warning
2020-01-22 20:38:21 -05:00
toasted-nutbread
5afad35c4e
Fix _onApiGetZoom when chrome.tabs.getZoom is not available
2020-01-22 20:38:21 -05:00
toasted-nutbread
74d9b0e857
Update full-width popup to stay on screen
2020-01-22 20:38:21 -05:00
toasted-nutbread
d59f2022b9
Allow viewport to be used for constraining popup position
2020-01-22 20:38:21 -05:00
toasted-nutbread
21dbb19565
Update popup position on scroll
2020-01-22 20:38:21 -05:00
toasted-nutbread
e73e4c032c
Implement scale relative to visual viewport
2020-01-22 20:38:21 -05:00
toasted-nutbread
5d366b722f
Add option for changing poup scale relative to visual viewport
2020-01-22 20:38:21 -05:00
toasted-nutbread
48d93f3fa5
Fix default value for popupScaleRelativeToPageZoom
2020-01-22 20:38:21 -05:00
toasted-nutbread
14c1f379ec
Update options schema
2020-01-22 20:38:21 -05:00
toasted-nutbread
4d85a36091
Fix popup size changing when zooming
2020-01-22 20:38:21 -05:00
toasted-nutbread
351598a182
Add settings to control popup content scale
2020-01-22 20:38:21 -05:00
toasted-nutbread
e740965d4f
Scale popup based on current page zoom factor
2020-01-22 20:38:21 -05:00
toasted-nutbread
22afab2f47
Remove _isInitialized
2020-01-22 20:38:21 -05:00
toasted-nutbread
e51fd8ea71
Add _isInjectedAndLoaded property
2020-01-22 20:38:21 -05:00
toasted-nutbread
f725549330
Remove redundant window resize handler
2020-01-22 20:38:21 -05:00
toasted-nutbread
14e48cf854
Create single function for how the frontend shows popup content
2020-01-22 20:38:21 -05:00
toasted-nutbread
8ef57936d7
Add functionality for getting and observing zoom factor
2020-01-22 20:38:21 -05:00
toasted-nutbread
f662137481
Move body font settings to root
2020-01-22 20:38:21 -05:00
toasted-nutbread
26ea278c29
Improve debug logging
2020-01-21 19:08:56 -05:00
siikamiika
1fd568ab8e
fix term reason selector
2020-01-19 03:04:45 +02:00
toasted-nutbread
d8b0d5267b
Catch exception on range.setStart
...
Fixes #328
2020-01-17 20:47:51 -05:00
toasted-nutbread
4c3321612b
Add space to end of term list
2020-01-16 22:39:26 -05:00
toasted-nutbread
c8fd33ecf4
Remove redundant definition
2020-01-16 22:39:26 -05:00
toasted-nutbread
9abfd7acde
Always show actions when there is only a single term result
2020-01-16 22:39:26 -05:00
toasted-nutbread
6c344b2740
Fix incorrect selector
2020-01-16 22:39:26 -05:00
toasted-nutbread
f969b5b8a9
Update popup scan ignore selectors
2020-01-16 22:39:26 -05:00
toasted-nutbread
62da7ec5cc
Update expression-scan-toggle to term-expression-text
2020-01-16 22:39:26 -05:00
toasted-nutbread
d4296a34cc
Fix scroll position when header is visible
2020-01-16 22:39:26 -05:00
toasted-nutbread
0b1bee8c00
Fix invalid variables
2020-01-16 22:39:26 -05:00
toasted-nutbread
dccc60562a
Update navigation header style on search page
2020-01-16 22:39:26 -05:00
toasted-nutbread
7686e56c00
Move display templates into a single file
2020-01-16 22:39:26 -05:00
toasted-nutbread
d512c111f6
Update how content display is changed
2020-01-16 22:39:26 -05:00
toasted-nutbread
97f7df3302
Don't use document fragment
2020-01-16 22:39:26 -05:00
toasted-nutbread
7a6f85879e
Update content assignment to use unique token
2020-01-16 22:39:26 -05:00
toasted-nutbread
dbbcfa5739
Only use Display.setContent
2020-01-16 22:39:26 -05:00
toasted-nutbread
c53947a94a
Only instantiate the first child
2020-01-16 22:39:26 -05:00
toasted-nutbread
6c58cbcf51
Remove kanji.html and terms.html
2020-01-16 22:39:26 -05:00
toasted-nutbread
24832be636
Update how spinner visibility is controlled
2020-01-16 22:39:26 -05:00
toasted-nutbread
a50e2fb0f1
Fix furigana segmentation
2020-01-16 22:39:26 -05:00
toasted-nutbread
56ee7f8df4
Update display content generation to use HTML templates
2020-01-16 22:39:26 -05:00
siikamiika
8292be92d8
use TextScanner in QueryParser
2020-01-16 23:22:38 +02:00
9b4ec5a094
Version bump
2020-01-12 19:32:48 -08:00
toasted-nutbread
fe5e05f8aa
Fix incorrect result ordering
2020-01-12 21:31:04 -05:00
f1f6a21732
Remove leading zeroes from version number to make Mozilla happy.
2020-01-11 18:19:45 -08:00
174b923665
New version for a new year
2020-01-04 11:53:05 -08:00
toasted-nutbread
0d7ccf25b8
Update license info URL
2020-01-01 12:00:31 -05:00
toasted-nutbread
899ef167d1
Update copyright
2020-01-01 12:00:00 -05:00
toasted-nutbread
bbace4c93b
Fix schema defaults not applying to arrays
2019-12-29 18:57:29 -05:00
toasted-nutbread
e2a4a46e60
Implement settings reset
2019-12-29 12:33:28 -05:00
toasted-nutbread
f17b55239e
Implement settings import
2019-12-29 12:33:28 -05:00
toasted-nutbread
5045a9a3a0
Implement settings export
2019-12-29 12:33:28 -05:00
toasted-nutbread
d2da4f7e62
Add apiOptionsSchemaGet
2019-12-29 12:33:15 -05:00
toasted-nutbread
50e0fbbb66
Use schema to validate options
2019-12-29 12:33:15 -05:00
toasted-nutbread
b770944b12
Create proxy system for json schema validation
2019-12-29 12:33:15 -05:00
toasted-nutbread
277e13f22f
Add schema file for options
2019-12-29 12:33:15 -05:00
toasted-nutbread
ca2aca19c5
Upgrade default fieldTemplates to null
2019-12-29 12:33:03 -05:00
toasted-nutbread
d2ae7364bb
Update anki-templates.js to control the value of fieldTemplates
...
Also assigns a value of null when using the default value
2019-12-29 12:33:03 -05:00
toasted-nutbread
3033fea31e
Treat null templates as the default value
2019-12-29 12:33:03 -05:00
toasted-nutbread
024f969bfd
Update comment on getClipboardText
2019-12-22 20:35:26 -05:00
toasted-nutbread
dec7f6cabb
Add comment describing what token is used for
2019-12-22 20:35:26 -05:00
toasted-nutbread
8b89e99eff
Remove contenteditable="true" from textarea
2019-12-22 20:35:26 -05:00
toasted-nutbread
11b94d5a82
Make apiClipboardGet use plaintext
...
Also clear the value before returning
2019-12-22 20:35:26 -05:00
toasted-nutbread
bf93d9f5f9
Improve performance of DisplaySearch's clipboard monitor
2019-12-22 20:35:26 -05:00
toasted-nutbread
362e317a5d
Change FrontendApiSender.callbacks to be a map
2019-12-21 14:30:13 -05:00
toasted-nutbread
a2175f2c29
Move PopupProxyHost initialization
2019-12-21 13:27:32 -05:00
toasted-nutbread
7ae0584077
Update initialization
2019-12-21 13:19:31 -05:00
toasted-nutbread
35216332bf
Replace window.yomichan_backend with window.yomichanBackend
2019-12-20 23:21:29 -05:00
toasted-nutbread
f8365b8092
Replace window.yomichan_search with DisplaySearch.instance
2019-12-20 23:20:56 -05:00
toasted-nutbread
b2cc694d95
Replace window.yomichan_display with DisplayFloat.instance
2019-12-20 23:20:42 -05:00
toasted-nutbread
8c236cca44
Remove unused yomichan_frontend
2019-12-20 23:20:22 -05:00
toasted-nutbread
7b9731e616
Fix apiOptionsGet being used on the background page
2019-12-20 22:54:28 -05:00
toasted-nutbread
ec8b805e8f
Fix missing API functions being used on the background page
2019-12-20 22:46:20 -05:00
toasted-nutbread
d7bf128333
Update handlebars cache
2019-12-20 21:51:34 -05:00
toasted-nutbread
2519f99f54
Update how orphan state is observed
2019-12-20 13:44:33 -05:00
toasted-nutbread
2a95f1420f
Move optionsUpdate message handler into Yomichan class
2019-12-20 13:36:54 -05:00
toasted-nutbread
e14bd75a4f
Change how getUrl message is handled
2019-12-20 13:15:26 -05:00
toasted-nutbread
cab2a39981
Simplify options passed to docRangeFromPoint
2019-12-17 20:56:32 -05:00
toasted-nutbread
4b5138b96e
Override pointer-events with important
2019-12-17 20:54:57 -05:00
toasted-nutbread
ff1f256ffa
Only return unique elements from docElementsFromPoint
...
This fixes #294
2019-12-17 20:53:12 -05:00
toasted-nutbread
9557d8048b
Fix undefined reference
2019-12-16 19:54:41 -05:00
toasted-nutbread
68a0293867
Make PopupProxy functions async enabled status match Popup
2019-12-16 19:54:41 -05:00
toasted-nutbread
d6c64643b1
Don't return promises for frontend message handlers
2019-12-16 19:54:41 -05:00
toasted-nutbread
0fb2357ec7
isVisibleAsync => isVisible
2019-12-16 19:54:41 -05:00
toasted-nutbread
29734ea6e9
isVisible => isVisibleSync
2019-12-16 19:54:41 -05:00
toasted-nutbread
72ab6f1f45
Remove unused child getter
2019-12-16 19:54:41 -05:00
toasted-nutbread
801df8000f
Mark private members
2019-12-16 19:54:41 -05:00
toasted-nutbread
7c68490d2e
Add setParent to popup
2019-12-16 19:54:41 -05:00
toasted-nutbread
30e13354b3
Add Popup.isProxy
2019-12-16 19:54:41 -05:00
toasted-nutbread
289a1849c4
Add _createPopupInternal to return both popup and new ID
2019-12-16 19:54:41 -05:00
toasted-nutbread
41fadfd0a9
Add setChildrenSupported to popup
2019-12-16 19:54:41 -05:00
toasted-nutbread
7140a19100
Remove unused property assignment
2019-12-16 19:54:41 -05:00
toasted-nutbread
c4719cb7f4
Add getContainer to popup
2019-12-16 19:54:41 -05:00
toasted-nutbread
4ba93b0770
Add getContainerRect to popup
2019-12-16 19:54:41 -05:00
toasted-nutbread
37da5fef59
Move container definition
2019-12-16 19:54:41 -05:00
toasted-nutbread
c3ea952844
Mark private functions
2019-12-16 19:54:41 -05:00
toasted-nutbread
44bde5c676
Reorganize popup-only public functions
2019-12-16 19:54:41 -05:00
toasted-nutbread
4014bbab42
Reorganize popup public functions to match popup proxy
2019-12-16 19:54:41 -05:00
toasted-nutbread
8164ccfbfc
Group poup static functions together
2019-12-16 19:54:41 -05:00
toasted-nutbread
fab0d70358
Move popup public properties
2019-12-16 19:54:41 -05:00
toasted-nutbread
2c3a145866
Mark private members
2019-12-16 19:54:41 -05:00
toasted-nutbread
8a127e07f3
Mark private message handlers
2019-12-16 19:54:41 -05:00
toasted-nutbread
525a3a50d1
Mark private functions
2019-12-16 19:54:41 -05:00
toasted-nutbread
2c8c6866ef
jsonRectToDOMRect => convertJsonRectToDOMRect
...
Also make static
2019-12-16 19:54:41 -05:00
toasted-nutbread
3f8cc83c25
Group nested message handlers together
2019-12-16 19:54:41 -05:00
toasted-nutbread
88ac8f4ead
Update PopupProxyHost.popups to use a Map
2019-12-16 19:54:41 -05:00
toasted-nutbread
8efbf9bd0d
Flag members as private
2019-12-16 19:54:41 -05:00
toasted-nutbread
bf02eb2ea1
Mark PopupProxy internal functions as private
2019-12-16 19:54:41 -05:00
toasted-nutbread
db7e179626
Clear files after getting the value
2019-12-15 15:51:30 -05:00
toasted-nutbread
8c9416d70d
Move conditions-ui into settings folder
2019-12-14 12:08:07 -05:00
toasted-nutbread
0bbba8fcc7
Isolate values returned across window contexts
2019-12-14 11:12:39 -05:00
toasted-nutbread
ddaf44ba7b
Isolate functions passed across window contexts
2019-12-14 11:12:39 -05:00
toasted-nutbread
87ece13647
Isolate arguments passed across window contexts
2019-12-14 11:12:39 -05:00
toasted-nutbread
300282e3b4
Read file in the current window context before passing to backend
2019-12-14 11:12:39 -05:00
toasted-nutbread
e417a3fda3
Fix incorrect function
2019-12-13 23:11:56 -05:00
toasted-nutbread
69556533e1
Fix command handling
2019-12-13 23:11:56 -05:00
toasted-nutbread
b1f72905cf
Add functions for modifying mutable options
2019-12-13 23:11:56 -05:00
toasted-nutbread
17277a6450
Remove getOptionsArray
2019-12-13 23:11:56 -05:00
toasted-nutbread
ce51fe7eca
Use a single api.js
2019-12-13 23:11:56 -05:00
toasted-nutbread
11b300ab76
Move apiClipboardGet implementation into Backend
2019-12-13 23:11:56 -05:00
toasted-nutbread
2fef2bf5a8
Move apiGetEnvironmentInfo implementation into Backend
2019-12-13 23:11:56 -05:00
toasted-nutbread
f786713466
Move apiInjectStylesheet implementation into Backend
2019-12-13 23:11:56 -05:00
toasted-nutbread
01a3432627
Move apiFrameInformationGet implementation into Backend
2019-12-13 23:11:56 -05:00
toasted-nutbread
daff44a010
Move apiForward implementation into Backend
2019-12-13 23:11:56 -05:00
toasted-nutbread
d8b21606ba
Move apiScreenshotGet implementation into Backend
2019-12-13 23:11:56 -05:00
toasted-nutbread
1202ad261e
Move apiAudioGetUrl implementation into Backend
2019-12-13 23:11:56 -05:00
toasted-nutbread
f63220b6c5
Move apiCommandExec implementation into Backend
2019-12-13 23:11:56 -05:00
toasted-nutbread
f07207c9bf
Move apiTemplateRender implementation into Backend
2019-12-13 23:11:56 -05:00
toasted-nutbread
5a74350552
Move apiNoteView implementation into Backend
2019-12-13 23:11:56 -05:00
toasted-nutbread
233ed4d0fb
Move apiDefinitionsAddable implementation into Backend
2019-12-13 23:11:56 -05:00
toasted-nutbread
c9cd29889d
Move apiDefinitionAdd implementation into Backend
2019-12-13 23:11:56 -05:00
toasted-nutbread
7091c8c5c0
Move apiTextParseMecab implementation into Backend
2019-12-13 23:11:56 -05:00
toasted-nutbread
ddad034aa6
Move apiTextParse implementation into Backend
2019-12-13 23:11:56 -05:00
toasted-nutbread
73ce2fe3d3
Move apiTermsFind implementation into Backend
2019-12-13 23:11:56 -05:00
toasted-nutbread
5cceba15e2
Move apiKanjiFind implementation into Backend
2019-12-13 23:11:56 -05:00
toasted-nutbread
8dff73679e
Move apiOptionsSave implementation into Backend
2019-12-13 23:11:56 -05:00
toasted-nutbread
6a1cfbaad6
Move apiOptionsSet implementation into Backend
2019-12-13 23:11:56 -05:00
toasted-nutbread
d6fe5c3e46
Move apiOptionsGetFull implementation into Backend
2019-12-13 23:11:56 -05:00
toasted-nutbread
4922d3433d
Move apiOptionsGet implementation into Backend
2019-12-13 23:11:56 -05:00
toasted-nutbread
832405c74a
Mark functions as private
2019-12-13 23:11:56 -05:00
toasted-nutbread
7addf5a2dd
Add API calls for optionsGetFull and optionsSave
2019-12-13 23:11:56 -05:00
toasted-nutbread
4177b63726
Remove redundant getUrl handlers
2019-12-13 23:11:56 -05:00
toasted-nutbread
573f83b65a
Update frontend API receiver handlers
2019-12-13 23:11:56 -05:00
toasted-nutbread
b7144ed879
Update display float key handlers
2019-12-13 23:11:56 -05:00
toasted-nutbread
a9c4ce724c
Update display key handlers
2019-12-13 23:11:56 -05:00
toasted-nutbread
7837e9f0e3
Update popup preview frame message handlers
2019-12-13 23:11:56 -05:00
toasted-nutbread
5588643988
Update float message handlers
2019-12-13 23:11:56 -05:00
toasted-nutbread
a2263e5729
Update display message handlers
2019-12-13 23:11:56 -05:00
toasted-nutbread
863e36e829
Update frontend message handlers
2019-12-13 23:11:56 -05:00
toasted-nutbread
e2c5c16da6
Update backend message handlers
2019-12-13 23:11:56 -05:00
toasted-nutbread
f287d68624
Add showContentCompleted for improved semantic clarity
2019-12-11 21:31:21 -05:00
toasted-nutbread
99867ebdd8
Fix text source issue
2019-12-11 21:27:42 -05:00
toasted-nutbread
7446c99f98
Fix Text-to-speech voice dropdown being reset
2019-12-11 21:15:51 -05:00
toasted-nutbread
47feb95842
Add timer class for debugging
2019-12-10 19:40:40 -05:00
siikamiika
2a19d8c59f
remove one more /fg/js/util.js
2019-12-09 19:43:35 +02:00
toasted-nutbread
2dad7f888b
Update how errors are reported when importing a dictionary
2019-12-08 16:01:29 -05:00
toasted-nutbread
0156869a3d
Optimize utilIsolate
2019-12-08 16:01:29 -05:00
toasted-nutbread
dbd9a54149
Use string.split instead of Array.from
2019-12-08 16:01:29 -05:00
toasted-nutbread
bb334acab6
Use substring instead of slice
2019-12-08 16:01:29 -05:00
toasted-nutbread
8ca44d722c
Prevent scripts from being injected multiple times
2019-12-08 16:01:29 -05:00
siikamiika
3c749f8705
hide inactive history buttons instead of fading
2019-12-08 22:59:36 +02:00
siikamiika
f23771d923
move term navigation to top right
2019-12-08 12:00:24 +02:00
siikamiika
b8fddd96c8
fix popup preview
...
resolves #302
2019-12-08 11:10:19 +02:00
toasted-nutbread
b862035fbc
Show info about whether a dictionary supports wildcard searches
2019-12-07 14:34:35 -05:00
toasted-nutbread
1a0a345ae7
Make reverse reading/expressions optional during database import
2019-12-07 14:34:35 -05:00
toasted-nutbread
1659340898
Add support for prefix wildcards
2019-12-07 14:34:35 -05:00
toasted-nutbread
7401408c39
Update input number attributes
2019-12-07 14:01:55 -05:00
toasted-nutbread
20679255b0
Add class for dispatching custom events
2019-12-07 13:59:47 -05:00
siikamiika
e99c8c40a1
navigate history with wheel only over buttons
2019-12-07 17:41:14 +02:00
siikamiika
df06251cb0
Merge pull request #299 from siikamiika/frontend-extract-text-scanner
...
Extract text scanner from Frontend
2019-12-07 15:20:28 +02:00
siikamiika
f6d0503604
simplify with inheritance
2019-12-06 21:39:29 +02:00
siikamiika
d1950bc5f1
use substring over slice for strings
2019-12-06 14:58:42 +02:00
siikamiika
a5a6351cce
revert search page title on empty query
2019-12-06 14:56:36 +02:00
toasted-nutbread
b418760a52
Simplify audio settings UI
2019-12-05 22:36:59 -05:00
63f3e94bb1
version bump
2019-12-05 18:24:54 -08:00
siikamiika
14c5857dfe
set title text on search page
2019-12-06 00:40:41 +02:00
siikamiika
595636c40b
move text selection to TextScanner
2019-12-05 22:48:05 +02:00
siikamiika
1bdef2e7c3
fix query parser
2019-12-05 22:19:40 +02:00
siikamiika
e5be42d3de
scan decoupling
2019-12-05 22:12:43 +02:00
siikamiika
02a34bb4bc
initial text scanner extract
2019-12-05 03:58:35 +02:00
siikamiika
248b0f15eb
remove references to /fg/js/util.js
...
It doesn't exist
2019-12-04 23:20:03 +02:00
siikamiika
d8935b6aa9
fix serialization errors on Chrome
2019-12-04 21:49:51 +02:00
3975aabf4d
version bump
2019-12-03 18:29:44 -08:00
Alex Yatskov
a24146538c
Merge pull request #291 from toasted-nutbread/cloze-fixes
...
Cloze fixes
2019-12-03 14:19:33 -08:00
toasted-nutbread
774db569eb
Simplify ankiGetFieldMarkersHtml
2019-12-02 22:19:55 -05:00
toasted-nutbread
5339381c30
Update how anki data is updated
2019-12-02 22:17:45 -05:00
toasted-nutbread
f89806e05d
Simplify how anki errors are shown
2019-12-01 22:26:23 -05:00
toasted-nutbread
093fa3a437
Group public/private functions together
2019-12-01 22:21:10 -05:00
toasted-nutbread
4f7fa8474d
Mark functions as private
2019-12-01 22:19:45 -05:00
toasted-nutbread
b4cdbf0263
Update how anki settings are updated
2019-12-01 22:16:58 -05:00
toasted-nutbread
3e1b080cd3
Simplify how anki templates are reset
2019-12-01 21:08:46 -05:00
toasted-nutbread
767a480a84
Organize main settings script
2019-12-01 17:02:01 -05:00
toasted-nutbread
a4de2d425a
Move popup preview settings into new script
2019-12-01 17:02:01 -05:00
toasted-nutbread
65e9d47743
Move storage settings into new script
2019-12-01 17:02:01 -05:00
toasted-nutbread
69ba665a4f
Move anki template settings into new script
2019-12-01 17:02:01 -05:00
toasted-nutbread
67990f4cb9
Move anki settings into new script
2019-12-01 16:19:15 -05:00
toasted-nutbread
3a517f0574
Move audio settings into new script
2019-12-01 16:19:15 -05:00
toasted-nutbread
ae94f84ffd
Move settings scripts
2019-12-01 16:19:12 -05:00
toasted-nutbread
a7e4901f72
Move PageExitPrevention to its own file
2019-12-01 15:19:21 -05:00
siikamiika
403b86675d
fix entry scroll index 0 bug
...
Introduced in 4e7d08ff2c
because the
range-limited index value isn't kept in the same scope.
2019-12-01 15:03:37 +02:00
siikamiika
a40f3b1c9f
add missing disableHistory
2019-12-01 06:32:17 +02:00
siikamiika
abe70e3b8c
always update current position on term lookup
2019-12-01 06:08:05 +02:00
siikamiika
5929018fac
move Display context to a new class
2019-12-01 05:38:23 +02:00
siikamiika
be23ad7213
remove dead code
2019-11-30 04:59:36 +02:00
siikamiika
ff9510356e
rewrite history as a doubly linked list
2019-11-30 04:49:37 +02:00
siikamiika
e3d96eb67d
fix yomichan menu on Firefox Android
2019-11-29 02:58:17 +02:00
siikamiika
8a94d186c3
fix context type inconsistencies
2019-11-29 01:36:14 +02:00
siikamiika
71a117c267
clear Display history on search page lookup
2019-11-28 23:52:15 +02:00
siikamiika
1dd88763de
clear Display history on new lookup
2019-11-28 18:24:24 +02:00
siikamiika
1f2734863f
Display history navigation buttons fixed position
2019-11-28 18:06:24 +02:00
siikamiika
2e04f752a5
fix clicking on query parser
2019-11-28 16:08:19 +02:00
siikamiika
f1ecb4cd39
correct X scroll direction for history navigation
2019-11-28 15:54:55 +02:00
siikamiika
86ff831600
preventDefault correctly
2019-11-28 15:24:00 +02:00
siikamiika
beea89a421
store popped context history in Display
2019-11-28 15:20:18 +02:00
siikamiika
4e7d08ff2c
set current entry even when disableScroll is true
2019-11-28 13:22:47 +02:00
siikamiika
e37ffb6cf5
fix scroll issues in Display.entryScrollIntoView
...
- Save scroll context before scrolling to top
- Explicit null check for scroll param to handle scrolling to y=0
correctly
2019-11-28 12:38:25 +02:00
toasted-nutbread
5a1046bc90
Update arrow-parens to always
2019-11-26 22:06:27 -05:00
toasted-nutbread
63a775ebca
Add missing semicolon
2019-11-26 22:06:27 -05:00
toasted-nutbread
df9e697fca
Remove trailing commas
2019-11-26 22:06:27 -05:00
toasted-nutbread
acb70f126c
Update unused arguments
2019-11-26 22:06:27 -05:00
toasted-nutbread
ef833d2bea
Use const rather than let where possible
2019-11-26 22:06:27 -05:00
toasted-nutbread
527595f79b
Remove unnecessary escapes from regex literals
2019-11-26 22:06:27 -05:00
toasted-nutbread
1daed12290
Comment empty blocks
2019-11-26 22:06:27 -05:00
toasted-nutbread
943350a1f6
Use single quotes
2019-11-26 22:06:27 -05:00
toasted-nutbread
0aed27b66d
Replace hasOwnProperty with simplified hasOwn function
2019-11-26 22:06:27 -05:00
toasted-nutbread
4110a848f5
Move additional utility functions to DOM
2019-11-26 18:59:52 -05:00
toasted-nutbread
96aad50340
Create DOM utility file
2019-11-26 18:59:52 -05:00
siikamiika
c2ff25b0ec
use fallback for ambiguous furigana
...
fixes #281 , fixes #94
2019-11-27 01:20:04 +02:00
toasted-nutbread
50604b25e6
Organize core.js
2019-11-26 17:38:05 -05:00
toasted-nutbread
099847729c
utilIsObject => isObject, move to core.js
2019-11-26 17:33:09 -05:00
toasted-nutbread
7e94fca7c7
Rename extension.js to core.js to better reflect its use
2019-11-26 17:29:52 -05:00
toasted-nutbread
a14b820a19
Move utilInvoke into api.js, rename to _apiInvoke
2019-11-26 17:23:55 -05:00
toasted-nutbread
d71bd056e8
Use consistent event handler notation
2019-11-26 17:18:17 -05:00
toasted-nutbread
7f9a73135d
Remove utilAsync
2019-11-26 17:18:17 -05:00
toasted-nutbread
0ebf676305
Update WanaKana to v4.0.2
...
Resolves #290
2019-11-26 12:46:41 -05:00
toasted-nutbread
3a7ef6c560
Simplify clozeBuild
2019-11-26 12:35:17 -05:00
toasted-nutbread
afddec66eb
Update cloze.body to use original sentence text
2019-11-26 12:35:17 -05:00
toasted-nutbread
befee9ceca
Pass kanji character to clozeBuild
2019-11-26 12:35:17 -05:00
toasted-nutbread
cb9f9b585a
Update how source terms are navigated
2019-11-26 12:31:20 -05:00
toasted-nutbread
c7cb1b3d9e
Require context for setContentTerms and setContentKanji
2019-11-26 12:31:17 -05:00
toasted-nutbread
cfa16ce675
Include sentence in context on search page
2019-11-26 11:34:06 -05:00
siikamiika
3423ed7d67
Merge pull request #279 from siikamiika/query-parser-1
...
Search page query parser
2019-11-26 18:31:35 +02:00
toasted-nutbread
820beb7c93
Fix incorrect opacity check
2019-11-25 21:04:34 -05:00
toasted-nutbread
9dc03f6d47
Remove wanakana reference from float.html
2019-11-25 13:34:56 -05:00
toasted-nutbread
91c54e1853
Remove JQuery from the context popup window
2019-11-24 11:46:29 -05:00
toasted-nutbread
10b33dbd20
Optimize toggle on the context popup window
...
Remove bootstrap-toggle dependency
2019-11-24 11:42:27 -05:00
toasted-nutbread
cf18e3b42e
Replace string.substr and string.slice with string.substring
...
Improves semantic clarity, and it's recommended to not use substr.
2019-11-24 11:02:52 -05:00
toasted-nutbread
eef05f6a64
Add accept type for dictionary import
2019-11-24 10:47:07 -05:00
siikamiika
89c6ef54b0
always return a promise from Mecab.invoke
2019-11-24 02:34:16 +02:00
siikamiika
43fad608fb
remove popup from background page
...
Not supported on all browsers
2019-11-23 19:25:11 +02:00
siikamiika
7bf2c8048d
add mecab version check
2019-11-23 19:18:29 +02:00
siikamiika
2577d4054e
fix scanning parser
2019-11-23 18:08:22 +02:00
siikamiika
cc8221c6ea
add reading modes
2019-11-23 17:50:46 +02:00
siikamiika
f625321650
refactor selected parser refreshing
2019-11-23 17:50:46 +02:00
siikamiika
933fd77957
remove async
2019-11-23 17:50:46 +02:00
siikamiika
707b039927
store local copy of selected parser
...
Options don't update early enough even after awaiting
2019-11-23 17:50:46 +02:00
siikamiika
0d6e0edc31
remove height hack and use overflow-y: scroll
2019-11-23 17:50:46 +02:00
siikamiika
f6f19dc9de
typo
2019-11-23 17:50:46 +02:00
siikamiika
9dff658640
add parser selection
2019-11-23 17:50:46 +02:00
siikamiika
84f30113e4
give names to complex slices
2019-11-23 17:50:46 +02:00
siikamiika
b02a30a2fd
explicit checks in while and if
2019-11-23 17:50:46 +02:00
siikamiika
1f2eee449e
mecab refactoring and bugfix
2019-11-23 17:50:46 +02:00
siikamiika
f97877a209
promise improvements
2019-11-23 17:50:46 +02:00
siikamiika
b336ab3a9a
use const
2019-11-23 17:49:25 +02:00
siikamiika
8d9a635d5c
remove dead code
2019-11-23 17:48:03 +02:00
siikamiika
c1d24208d3
start mecab only after enabling the setting
2019-11-23 17:45:44 +02:00
siikamiika
955e131f96
add parser selection options
2019-11-23 17:45:44 +02:00
siikamiika
1700318988
remove unneeded feature
...
Unidic actually has a field for the base form of the input
2019-11-23 17:45:44 +02:00
siikamiika
1bf48d24ef
change mecab path
...
https://github.com/siikamiika/yomichan-mecab-installer
2019-11-23 17:45:44 +02:00
siikamiika
515345ba0a
remove code duplication
2019-11-23 17:45:44 +02:00
siikamiika
b0c924d4bd
fix mecab variable
2019-11-23 17:45:44 +02:00
siikamiika
bc66f254ea
click & text selection improvements on search page
2019-11-23 17:45:44 +02:00
siikamiika
c78ca36f3d
switch to mousemove events in query parser
2019-11-23 17:45:44 +02:00
siikamiika
8825c481b5
respect text selection option in query parser
2019-11-23 17:45:44 +02:00
siikamiika
5a3e8c819c
optimize mouseover scanning in query parser
2019-11-23 17:45:44 +02:00
siikamiika
41020289ab
add mecab support
2019-11-23 17:45:44 +02:00
siikamiika
3881457e4e
use handlebars templates for query parser
2019-11-23 17:45:44 +02:00
siikamiika
e6a1b78164
use correct source text
2019-11-23 17:44:31 +02:00
siikamiika
408aa73cce
fix default params for term clicking
2019-11-23 17:43:30 +02:00
siikamiika
627e16d44b
improve text preview
2019-11-23 17:43:30 +02:00
siikamiika
530b95895b
remove unused css
2019-11-23 17:40:52 +02:00
siikamiika
d19f447b80
fix stem length checking
...
Starting from the end and stopping at first match doesn't guarantee
correctness. Starting from the beginning does.
2019-11-23 17:40:52 +02:00
siikamiika
c35a05cd62
add kana to text
2019-11-23 17:40:52 +02:00
toasted-nutbread
b4c6fa2d37
Improve usability of domain profile condition
2019-11-23 10:28:37 -05:00
siikamiika
f63e8e4be0
add simple query parser
2019-11-23 16:56:10 +02:00
toasted-nutbread
baf0325f62
Fix missing details
2019-11-18 21:55:06 -05:00
Alex Yatskov
b1659522b3
Merge pull request #274 from toasted-nutbread/lookup-wildcards
...
Lookup wildcards
2019-11-13 18:51:50 -08:00
siikamiika
7d9d45ae10
close popups on search page when query changes
2019-11-13 21:19:01 +02:00
siikamiika
29c38b06b2
only paste Japanese text from clipboard
2019-11-13 13:51:47 +02:00
toasted-nutbread
db4a303365
Fix dictionary settings not using the current profile
2019-11-12 20:13:25 -05:00
toasted-nutbread
72e7a42c8d
Fix settings not being saved correctly
2019-11-12 20:01:55 -05:00
toasted-nutbread
7333873244
Add support for wildcards
2019-11-10 14:02:43 -05:00
toasted-nutbread
3a225c3f91
Add details field to apiTermsFind
2019-11-10 14:02:43 -05:00
toasted-nutbread
7093d8f06e
Simplify how definition count is limited
2019-11-10 14:02:43 -05:00
toasted-nutbread
58c0997999
Give findKanji the same API as findTerms
2019-11-10 14:02:43 -05:00
toasted-nutbread
af1662acad
Update how apiTermsFind works
2019-11-10 14:02:43 -05:00
toasted-nutbread
ae10bb7096
Simplify dictTermsSort
2019-11-10 14:02:43 -05:00
toasted-nutbread
fe82913991
Rename function
2019-11-10 14:02:43 -05:00
toasted-nutbread
a9ab774a3f
Move function
2019-11-10 14:02:43 -05:00
toasted-nutbread
d9b4404075
Create functions for the cases of isMouseButton
...
jshint was showing a warning that there was no break statement
after the first case, which there doesn't need to be.
The most straightforward way to fix this without using the unclear
// jshint ignore:line
is to just have two functions.
This change also updates invocations of isMouseButton to use
the exact case function, as this will remove the need to check
the case of mosueEvent.type. This was done because onMouseMove
is invoked at a high frequency.
2019-11-10 14:00:44 -05:00
toasted-nutbread
dad685dba4
Fix overwriting const value
2019-11-10 13:56:06 -05:00
toasted-nutbread
d6cdd693c8
Fix several warnings about name conflicts
2019-11-10 13:55:37 -05:00
toasted-nutbread
157e6f7c75
Optimize DisplaySearch.onKeyDown
2019-11-10 13:40:48 -05:00
toasted-nutbread
120f97be26
Refactor apiOptionsSet
2019-11-10 13:36:35 -05:00
toasted-nutbread
aa92855b37
Fixes for Edge
2019-11-10 13:01:39 -05:00
toasted-nutbread
75883ed885
Remove dexie
2019-11-10 13:01:39 -05:00
toasted-nutbread
e48bfb8f1a
Use native indexedDB pointer
2019-11-10 13:01:39 -05:00
toasted-nutbread
183ec6b381
Use native IndexedDB to delete the database
2019-11-10 13:01:39 -05:00
toasted-nutbread
3a1e3392ed
Use native IndexedDB to create database and object stores
2019-11-10 13:01:39 -05:00
toasted-nutbread
6c023789d9
Use native IndexedDB for bulkAdd operations
2019-11-10 13:01:39 -05:00
toasted-nutbread
750439ebf0
Use native IndexedDB for database additions
2019-11-10 13:01:39 -05:00
toasted-nutbread
6f53030469
Use for of loop instead of forEach
2019-11-10 12:25:28 -05:00
sabs
fd17a0fccd
Remove Download check when resolving Audio data
...
There is a bug (seemingly unreported) in Yomichan where an Anki card
will not contain any audio if the JapanesePod101 audio source trumps
a secondary audio source (e.g. JapanesePod101-alternate) where
the jpod101 source can't find the word requested.
For example, そして has an audio entry in the alternate source but not
the standard source.
(Alternatively, there may be a bug in the jpod101 audioUrlBuilder,
because I've only noticed this problem with hiragana-only expressions.
JPod101 may not host those on the same url scheme any more. I'm not
sure how to fix that, though, and the bug I'm addressing here does
still persist).
The reason this happens is that audioGetFromUrl uses downloaded audio
to effectively check for a 404 (by examining the audio duration), but
that check doesn't happen when an Anki card is being created (i.e.
"download" is set, which I've changed to "willDownload" here).
This change removes that check, but retains the will-download intent
information to prevent attempts to download tts data, which AnkiConnect
cannot do. I've also added a short explanation as to why the download
check happens where it does.
I think the unused audio object will get garbage collected since it's
not referenced again, but I've explicitly unset it as well.
2019-11-09 20:58:09 -05:00
toasted-nutbread
3e864c44c3
Fixes for Edge
2019-11-09 20:52:16 -05:00
siikamiika
4ac4128388
search page checkbox styling
...
Change checkboxes to color-inverting icons
2019-11-10 03:15:55 +02:00
toasted-nutbread
184cc4cf28
Allow templates to be tested on the settings page
2019-11-09 16:34:39 -05:00
toasted-nutbread
085881d342
Use HTML templates for anki fields
2019-11-09 14:31:13 -05:00
siikamiika
40c8268fd6
always disable scanning IME checkbox label
2019-11-09 13:01:21 +02:00
siikamiika
cf0bb0a9e2
enable custom CSS on search page
2019-11-09 12:43:22 +02:00
siikamiika
177fad56b5
use scan toggling for stroke order diagram too
2019-11-09 12:28:12 +02:00
siikamiika
25af532ab7
enable expression scan toggling on search page
2019-11-09 12:27:09 +02:00
toasted-nutbread
b59a5b8cdb
Add support for some regex functions in handlebars templates
2019-11-08 22:57:20 -05:00
toasted-nutbread
4d7940e8e4
Optimize dictFieldFormat
2019-11-08 22:25:03 -05:00
toasted-nutbread
fa963722a7
Fix seekForward and seekBackward not handling length=0 case correctly
2019-11-08 19:24:33 -05:00
toasted-nutbread
b059609670
Add outdated warning
2019-11-07 20:30:55 -05:00
toasted-nutbread
cad0648cbe
Remove unused function
2019-11-07 20:30:55 -05:00
toasted-nutbread
f7700789fe
Update dictionary order based on priority
2019-11-07 20:30:55 -05:00
toasted-nutbread
fcb922400a
Prevent page exit while database operations are in progress
2019-11-07 20:30:55 -05:00
toasted-nutbread
e5dcb41824
Add support for importing multiple dictionaries at once
2019-11-07 20:30:55 -05:00
toasted-nutbread
e091c7ebe2
Add support for deleting individual dictionaries
2019-11-07 20:30:55 -05:00
toasted-nutbread
e355b83914
Update how nodes are hidden
2019-11-07 20:30:55 -05:00
toasted-nutbread
3d78d5400d
Add button and confirmation dialog for database purge
2019-11-07 20:30:55 -05:00
toasted-nutbread
2ab871e7ee
Update how dictionaries are displayed on the settings page
2019-11-07 20:30:55 -05:00
toasted-nutbread
79069d5908
Add functions for getting dictionary information
2019-11-07 20:30:55 -05:00
toasted-nutbread
44638b7ceb
Simplify how option visibility is changed
2019-11-07 20:30:55 -05:00
91c01e0a7e
Update version
2019-11-05 19:03:23 -08:00
toasted-nutbread
a85ec440d6
Fix overlapping popup timers
2019-11-05 19:48:08 -05:00
siikamiika
83460bcdad
refactoring and optimization
2019-11-04 02:15:33 +02:00
siikamiika
f4a987912a
prevent accidental lookup on glossary text select
2019-11-03 18:56:22 +02:00
toasted-nutbread
75ff05148d
Fix autoHideResults not working
2019-11-03 11:06:31 -05:00
toasted-nutbread
7de24dd355
Add favicons
2019-11-02 10:10:03 -04:00
toasted-nutbread
bcffe80a1e
Group similar functions together
2019-10-28 17:03:42 -04:00
toasted-nutbread
6d85dae68d
Fix some issues with the context menu
2019-10-28 17:03:42 -04:00
toasted-nutbread
d2644c0776
Style update
2019-10-28 17:03:42 -04:00
toasted-nutbread
c365101ec2
Reset preventions earlier
2019-10-28 17:03:42 -04:00
toasted-nutbread
e542f38110
Check pendingLookup earlier
2019-10-28 17:03:42 -04:00
toasted-nutbread
9703e123bf
Remove setPrimaryTouch
2019-10-28 17:03:42 -04:00
toasted-nutbread
80eb357527
Simplify touch event implementation
2019-10-28 17:03:42 -04:00
toasted-nutbread
131dc8397d
Make selectionContainsPoint static
2019-10-28 17:03:42 -04:00
toasted-nutbread
a648e05091
Improve naming
2019-10-28 17:03:42 -04:00
toasted-nutbread
9178636613
Remove setters
2019-10-28 17:03:42 -04:00
toasted-nutbread
c74c466c36
Remove unused variable
2019-10-28 17:03:42 -04:00
toasted-nutbread
f2dec4ca20
Remove searchFromTouch
2019-10-28 17:03:42 -04:00
toasted-nutbread
8c5240d7a6
Simplify how touch events use onAfterSearch
2019-10-28 17:03:42 -04:00
toasted-nutbread
e91bcf5f55
Rename textSourceLast to textSourceCurrent
2019-10-28 17:03:42 -04:00
toasted-nutbread
be27781c15
Update how definitions are searched for
2019-10-28 17:03:42 -04:00
toasted-nutbread
f927f806ba
Move check
2019-10-28 17:03:42 -04:00
toasted-nutbread
1f0a434e96
Remove unused vars
2019-10-28 17:03:42 -04:00
toasted-nutbread
dcb6f68826
Don't pass null textSource into searchSource
2019-10-28 17:03:42 -04:00
toasted-nutbread
185963899b
Use promiseTimeout
2019-10-28 17:03:42 -04:00
toasted-nutbread
d608657495
Move onError catch into searchAt
2019-10-28 17:03:42 -04:00
toasted-nutbread
1039536cfb
Create promise version of setTimeout
2019-10-28 17:03:42 -04:00
siikamiika
f6d3f739a8
improve search page checkbox usability
...
Disable text selection and make the entire area clickable, including
whitespace
2019-10-28 01:13:05 +02:00
siikamiika
a31ee0a0e9
refactoring
2019-10-28 00:09:36 +02:00
siikamiika
d62d04f806
fix wanakana toggle on empty input
2019-10-27 23:52:16 +02:00
siikamiika
68179607b3
use apiOptionsGet to modify the correct profile
2019-10-27 23:34:50 +02:00
siikamiika
9641747ba1
Revert "modify correct profile apiOptionsSet"
...
This reverts commit 51c35c9f30
.
2019-10-27 23:02:41 +02:00
siikamiika
51c35c9f30
modify correct profile apiOptionsSet
2019-10-27 22:43:20 +02:00
siikamiika
70418202cf
make search page checkbox options persist
2019-10-27 20:11:23 +02:00
siikamiika
48776145d6
add workaround to Chrome clipboard.readText
...
For some reason this doesn't work on Firefox, so keep using the new API
for Firefox
2019-10-27 15:46:27 +02:00
siikamiika
d3f51690f8
make clipboardRead an optional permission
2019-10-27 01:51:18 +03:00
siikamiika
7ee87265cd
refactor and tune wanakana toggling
2019-10-27 01:26:17 +03:00
siikamiika
01ffb052e6
simplify search history state handling
2019-10-26 19:32:41 +03:00
siikamiika
bbbd23c842
add button to enable/disable wanakana IME
2019-10-26 19:12:13 +03:00
siikamiika
303205dc12
keep url query in history
2019-10-26 18:42:57 +03:00
siikamiika
704864b7b2
add clipboard monitor to search page
...
Related to issue #262 about APIs
2019-10-26 18:15:28 +03:00
siikamiika
bebd70b4e2
remember search history
2019-10-26 16:39:43 +03:00
siikamiika
50769feea7
ignore more keys on search page
2019-10-26 15:15:12 +03:00
siikamiika
9132814ccf
focus and scroll to input only when it's needed
2019-10-26 14:30:36 +03:00
siikamiika
fe8eb76928
tweak ignored keys on search page
2019-10-26 03:39:08 +03:00
siikamiika
3a70346eb3
fix various unwanted focus issues on search page
...
Don't focus input if a modifier or specific keys are pressed
2019-10-26 03:26:24 +03:00
siikamiika
a716a52cab
make non-hotkey keys focus input on search page
...
The issue was that scanning on search page introduced a way to lose
focus of the query input, and the new feature that the search page
hotkey focuses an existing search page instead of opening a new one made
it more obvious.
Now every key that isn't a hotkey focuses the query input, and typing
text into the box scrolls it into view in case it wasn't there when
searching.
There is an accessibility issue that this can cause, because now tab
also focuses the query input before it focuses the next element. I
didn't implement a workaround for that because it would have been more
complicated than this simple fix.
Fixes #263
2019-10-26 01:26:56 +03:00
Danny
aeac7bf2a8
Proper spacing for Anki in {furigana-plain}
...
This should fix #264
Note it does not address broken segmentation, just representation
within Anki itself to work properly.
2019-10-23 07:46:43 -04:00
toasted-nutbread
7a3315d75d
Use chrome.runtime.getURL instead of chrome.extension.getURL
2019-10-22 20:23:03 -04:00
d32fd1381b
increment version for testing
2019-10-20 11:22:50 -07:00
Alex Yatskov
d8f9c2e1d4
Merge pull request #261 from toasted-nutbread/search-button-reuse-tab
...
Reuse open search tab when clicking search button
2019-10-20 11:06:23 -07:00
Alex Yatskov
6592323855
Merge pull request #259 from toasted-nutbread/database-optimizations2
...
Database optimizations part 2
2019-10-20 11:04:17 -07:00
toasted-nutbread
362a1ed9e4
Catch exception thrown on Edge
2019-10-20 10:58:22 -04:00
toasted-nutbread
d7dc8ac9cd
Add tooltip about middle click behaviour
2019-10-20 10:30:44 -04:00
toasted-nutbread
ce92591b63
Fix window focus not always working
2019-10-19 22:55:32 -04:00
toasted-nutbread
7abc7fd0e7
Use links instead of buttons on context page
2019-10-19 22:54:58 -04:00
toasted-nutbread
205498ef3b
Validate chrome.windows exists before usage
2019-10-19 22:45:29 -04:00
toasted-nutbread
ffb6ff9325
Allow multiple options pages to be opened on middle click
2019-10-19 22:34:47 -04:00
toasted-nutbread
d9ae34821c
Add support for middle clicks opening new tabs on the context buttons
2019-10-19 22:30:16 -04:00
toasted-nutbread
dbec4bffda
Make the search button reuse an open search tab if it exists
2019-10-19 22:28:23 -04:00
Alex Yatskov
03c72e9429
Merge pull request #256 from toasted-nutbread/unlimited-storage
...
Add unlimited storage permission
2019-10-19 12:01:54 -07:00
toasted-nutbread
eea95eb130
Simplify score to term frequency conversion
2019-10-19 14:18:57 -04:00
toasted-nutbread
96e4bf1735
Use native IndexedDB APIs for findTagForTitle
2019-10-19 13:41:18 -04:00
toasted-nutbread
610c2b9cca
Move tagCache out of Database and into Translator
2019-10-19 13:32:05 -04:00
toasted-nutbread
6f5fa6771b
Remove unused database functions
2019-10-19 12:44:23 -04:00
toasted-nutbread
97de7883a3
Update getMergedSecondarySearchResults to use findTermsExactBulk
2019-10-19 12:42:26 -04:00
toasted-nutbread
4446cbeabb
Create getMergedSecondarySearchResults
2019-10-19 12:28:33 -04:00
toasted-nutbread
96f37fd9dc
Create function for body of findTermsMerged's sequencedDefinitions loop
2019-10-19 12:16:38 -04:00
toasted-nutbread
a08cbebeb3
Use findTermsBySequenceBulk instead of findTermsBySequence
2019-10-19 11:34:12 -04:00
toasted-nutbread
a25167df73
Use findKanjiBulk and findKanjiMetaBulk in Translator.findKanji
2019-10-19 10:39:08 -04:00
toasted-nutbread
d212d0aba1
Add additional database bulk methods
2019-10-19 10:19:12 -04:00
toasted-nutbread
9364a7cb4e
Create function for creating kanji data and meta
2019-10-18 23:16:33 -04:00
toasted-nutbread
6743b785c9
Remove temp createResult
2019-10-18 23:09:00 -04:00
toasted-nutbread
31ae00d0d3
Add missing validate calls
2019-10-18 23:04:06 -04:00
toasted-nutbread
127a728675
Remove unused functions
2019-10-18 21:58:28 -04:00
toasted-nutbread
a5d7de8e97
Add correction to offset of imposter rect
...
Necessary when dealing with CSS transforms
2019-10-17 19:30:54 -04:00
toasted-nutbread
8f918c63dc
Reposition popup on window resize rather than clear the search
...
Fixes #107
2019-10-17 18:40:43 -04:00
toasted-nutbread
598cd32946
Update *show* APIs to unified showContent and setContent
2019-10-17 18:40:43 -04:00
toasted-nutbread
779b4af590
Change -teoru endings to be godan verbs
2019-10-16 19:11:45 -04:00
siikamiika
5b98f3ea6e
add missing return to fix vertical text mode
2019-10-16 23:49:40 +03:00
toasted-nutbread
16521fec93
Assign first popup on the search page as a depth of 1
2019-10-15 20:23:25 -04:00
toasted-nutbread
173a474d5b
Add unlimited storage permission
2019-10-15 19:41:39 -04:00
toasted-nutbread
099909287f
Show warning messages if persistant storage fails
...
Only Firefox seems to support persistent storage properly.
2019-10-15 19:22:30 -04:00
toasted-nutbread
4443ad370e
Catch error when trying to persist storage
...
This happens on Firefox Mobile
2019-10-13 18:41:16 -04:00
toasted-nutbread
693ffebbf7
Make the Options link the first link
...
Better reflects importance in a top-down list.
2019-10-13 18:38:17 -04:00
toasted-nutbread
437fe4e62e
Move anki warnings under anki-general
2019-10-13 18:30:44 -04:00
toasted-nutbread
d42a07dc0b
Improve layout of context.html on Firefox Mobile
2019-10-13 18:23:59 -04:00
toasted-nutbread
ba27ea2c9d
Center align context popup window buttons
2019-10-13 17:40:51 -04:00
toasted-nutbread
17e2f825f4
Add warning message for Mac users about App Nap
2019-10-13 17:32:28 -04:00
toasted-nutbread
cb236a7430
Add apiGetEnvironmentInfo function
2019-10-13 17:20:55 -04:00
toasted-nutbread
c92fc11fcd
Fix getElementWritingMode returning deprecated values on Edge
2019-10-13 16:44:13 -04:00
toasted-nutbread
4f8c84d524
Fix Japanese voice ordering on Firefox for Android
2019-10-13 16:30:31 -04:00
toasted-nutbread
f8e666b70c
Fix backend handling errors incorrectly
2019-10-13 16:08:15 -04:00
siikamiika
f3ab7673f9
add css class for dictionary name
...
Can be used for dictionary specific styling
2019-10-13 21:50:29 +03:00
toasted-nutbread
7bae3824e7
Add support for text-to-speech playback
2019-10-13 12:21:19 -04:00
toasted-nutbread
69b28571bd
audioBuildUrl => audioGetUrl and simplify
2019-10-13 12:20:56 -04:00
toasted-nutbread
54d4c65854
Rename audioGetFromSources's createAudioObject argument to download
2019-10-13 12:20:56 -04:00
toasted-nutbread
21a2730cde
Add option for text-to-speech
2019-10-13 12:20:56 -04:00
toasted-nutbread
1b96e69ea2
Placeholder and improve consistency of stylesheet rule priorities
2019-10-13 12:12:52 -04:00
toasted-nutbread
b34ff7ebe9
Change #yomichan-float to .yomichan-float
...
Since there can be more than one popup, using a class makes more sense than an ID.
2019-10-13 12:12:52 -04:00
toasted-nutbread
42d67249c9
Update the popup preview to show live updates to outer CSS changes
2019-10-13 12:12:52 -04:00
toasted-nutbread
c9158a37b5
Allow outer popup stylesheets to be injected
2019-10-13 12:12:51 -04:00
toasted-nutbread
3272948284
Adds setting for controlling the outer style of the popup
2019-10-13 12:12:51 -04:00
toasted-nutbread
118f200500
Simplified how the auto theme works
2019-10-13 12:12:51 -04:00
toasted-nutbread
57db18c31b
Leave default stylesheet enabled by default
2019-10-12 19:00:24 -04:00
toasted-nutbread
b086fca69f
Add separate theme option for outer popup style
2019-10-12 19:00:24 -04:00
toasted-nutbread
1da60aae2d
Update live preview custom CSS on input event
2019-10-12 19:00:24 -04:00
toasted-nutbread
883226b045
Update how custom CSS is applied
2019-10-12 19:00:24 -04:00
toasted-nutbread
c90bc75eb8
Create themes
2019-10-12 19:00:24 -04:00
toasted-nutbread
ceaeeb32dd
Remove bootstrap styles from float.html
2019-10-12 19:00:21 -04:00
toasted-nutbread
696ea80e06
Add option for popup theme
2019-10-12 15:44:35 -04:00
toasted-nutbread
be7fa57d5c
Add support for a popup preview
2019-10-12 15:44:32 -04:00
toasted-nutbread
537d2ef532
Remove Display.dependencies
2019-10-12 15:31:29 -04:00
toasted-nutbread
6da7683552
Don't pass options around for calls to termsShow, kanjiShow, etc.
2019-10-12 15:31:29 -04:00
toasted-nutbread
a5b208fb89
Check if objects are properly initialized before showing content
2019-10-12 15:31:29 -04:00
toasted-nutbread
8a1637f6b3
Remove .show popup proxy API since it's not used
2019-10-12 15:31:29 -04:00
toasted-nutbread
194615ef21
Make popups store options
2019-10-12 15:31:29 -04:00
toasted-nutbread
3e249e19ac
Update Display initialization process
2019-10-12 15:31:29 -04:00
toasted-nutbread
89a8494208
Add function for (de)activating event listeners in Display
2019-10-12 11:25:24 -04:00
toasted-nutbread
cc72514ce6
Frontend updates
2019-10-11 23:24:51 -04:00
toasted-nutbread
a6903d68a4
Revert default audio source behaviour
...
This more closely matches the upgrade process
2019-10-11 23:24:51 -04:00
toasted-nutbread
70bceb5b56
Improve display of storage stats
2019-10-11 19:48:43 -04:00
toasted-nutbread
6014fe5344
Add support for persistent storage
2019-10-11 19:44:13 -04:00
toasted-nutbread
2bfc7e3972
Fix order of {screenshot} tag
2019-10-11 19:44:13 -04:00
55b2c1d8f5
version bump
2019-10-10 19:49:05 -07:00
toasted-nutbread
6208d6c93b
Add UI for editing audio playback sources
2019-10-10 21:36:09 -04:00
toasted-nutbread
1dc8bf77ca
Add input setting for custom audio source
2019-10-10 21:30:38 -04:00
toasted-nutbread
27c8430915
Implement custom audio source
2019-10-10 21:30:38 -04:00
toasted-nutbread
50252ec627
Update title with info about what the audio source was
2019-10-10 21:30:38 -04:00
toasted-nutbread
1d516b3b24
Implement audio fallbacks
2019-10-10 21:30:38 -04:00
toasted-nutbread
8ae1da4277
Update audio options format
2019-10-10 21:30:35 -04:00
toasted-nutbread
22b218d172
Pass optionsContext to audioBuildUrl handlers
2019-10-09 22:03:56 -04:00
toasted-nutbread
8be0ddeb26
Create region for audio options
2019-10-09 22:02:25 -04:00
toasted-nutbread
60a80418d7
Update how audio URLs are constructed
2019-10-09 21:54:58 -04:00
toasted-nutbread
7ce54864f3
Show the viewer button for anki notes which already exist
2019-10-09 20:31:09 -04:00
toasted-nutbread
97f5b7139f
Add findNoteIds to AnkiConnect
2019-10-09 20:27:05 -04:00
toasted-nutbread
c5d6b9452d
Create utility function for logging errors
2019-10-08 22:38:05 -04:00
toasted-nutbread
6a6e200ef9
Update rejections to use Error
2019-10-08 21:44:25 -04:00
toasted-nutbread
88de427184
Throw Error instead of string
2019-10-08 21:32:08 -04:00
toasted-nutbread
bf5d301685
Only use foreground api.js/util.js
2019-10-08 20:01:03 -04:00
toasted-nutbread
1074c33f20
Add support for query parameter in URL on search page
2019-10-08 20:01:03 -04:00
toasted-nutbread
9d488e1916
Validate that key is a string
...
On Chrome, when clicking an autocomplete dropdown menu option, a keydown event is generated which is not of type KeyboardEvent.
2019-10-08 19:32:44 -04:00
toasted-nutbread
176f6a248b
Fix findTermMetaBulk trying to use undefined row.id
2019-10-07 22:34:40 -04:00
Alex Yatskov
7ccdb9134c
Merge pull request #243 from toasted-nutbread/svg-icons
...
SVG icons
2019-10-06 21:11:54 -07:00
toasted-nutbread
205c7d88d0
Remove PNG icons
2019-10-06 21:28:43 -04:00
toasted-nutbread
7c826fdd0b
Switch from using PNGs to SVGs
2019-10-06 21:28:43 -04:00
toasted-nutbread
69b9cac8af
Create SVG icons
2019-10-06 21:28:42 -04:00
c3926c67ad
version bump
2019-10-06 09:07:22 -07:00
Alex Yatskov
14a5e3ce20
Merge pull request #238 from toasted-nutbread/deinflector-optimization
...
Deinflector optimization
2019-10-05 19:49:54 -07:00
Alex Yatskov
4df8662ea9
Merge pull request #234 from toasted-nutbread/remove-frontend-event-listeners
...
Remove event listeners when scanning is disabled
2019-10-05 19:48:46 -07:00
toasted-nutbread
113cc725c1
Make the window.onresize handler not change focus
2019-10-05 22:11:05 -04:00
toasted-nutbread
cd6d4e7ee1
Update how popup visibility works
2019-10-05 21:59:37 -04:00