Commit Graph

2012 Commits

Author SHA1 Message Date
toasted-nutbread
5183fb575f
Backend refactor (#631)
* Mark fields as private

* Remove static

* Make functions private

* Create onCommand handler

* Group event handlers

* Move functions

* Merge _onOptionsUpdated and _applyOptions

* Rename event handler

* Move event handlers

* Remove _getOptionsSchema

* Move private functions
2020-06-28 14:59:01 -04:00
toasted-nutbread
f2345b7d1c
Use deferPromise (#630)
* Use deferPromise

* Move definition

* Implement promiseTimeout using deferPromise
2020-06-28 14:39:43 -04:00
toasted-nutbread
7b5dd5c310
Update browser compatibility and Edge detection (#629) 2020-06-28 12:40:02 -04:00
toasted-nutbread
cdf191336a
Clone function (#624)
* Add clone function

* Replace utilIsolate with clone

* Replace JsonSchema.isolate with clone function

* Include core.js for tests which use json-schema.js

* Update visisted set
2020-06-28 12:38:34 -04:00
toasted-nutbread
5bf805755a
Yomichan object separation (#627)
* Move "yomichan" object setup to a separate file

* Update script imports

* Align message handlers

* Rename Yomichan.prepare to Yomichan.ready

* Add new prepare function

* Improve isExtensionUrl
2020-06-28 11:26:43 -04:00
toasted-nutbread
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
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
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
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
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
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
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
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
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
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
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
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
bdbe680f5c
Omit the sound tag if it's empty (#525) 2020-05-09 12:29:41 -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
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
33bd9682ea
Query parser refactor (#514)
* Make functions private

* Make fields private

* Organize
2020-05-07 19:41:27 -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
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
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
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
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
c43dac19a4 Use wanakana object directly 2020-04-20 22:23:07 -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
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
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
9fe7b9ad29 Remove unused global 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
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
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
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
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
siikamiika
ba97e72c8b fix ignoreElements in QueryParser 2020-04-11 21:04:30 +03:00
siikamiika
92109bb5d2 allow disabling scan on search page 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
8c9389e07d listen to optionsUpdated in search-frontend.js 2020-04-11 21:01:27 +03: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
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
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
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
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
31a326fe63 add option for iframe popups 2020-04-05 20:03:42 +03:00
siikamiika
d20ece9f07 move frame offset forwarding code to a class 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
ae84d13757 Create simplified source map class 2020-03-28 18:17:00 -04:00
toasted-nutbread
a339bf69d3 Move set functions into core.js 2020-03-28 14:50:10 -04:00
toasted-nutbread
cbc7e2646d Add options 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
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
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
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
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
0112dbab33 fix searchQueryUpdate 2020-03-09 04:06:31 +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
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
b8eb5e6016
Merge pull request #397 from toasted-nutbread/clipboard-monitor-refactor2
Clipboard monitor refactor
2020-03-07 21:41:45 -05: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
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
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
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
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
78dc501d02 Move event handler definitions 2020-02-26 20:07:14 -05:00
toasted-nutbread
d17af2cbab Move event handler definitions 2020-02-26 19:48:53 -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
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
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
siikamiika
a0d5d9a821 fix opening options in new tab 2020-02-26 01:54:40 +02:00
toasted-nutbread
15f79bc78b Fix popupScalingFactor being limited to integer values 2020-02-23 21:12:43 -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
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
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
e173a71ba6 Fix CSS injection on about:blank pages 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
dcd243c9e9 Update how popups are created 2020-02-16 18:59:08 -05:00
toasted-nutbread
070ae70f7c Create EventListenerCollection class 2020-02-16 18:47:57 -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
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
siikamiika
c09a3ded1d
Merge pull request #357 from siikamiika/simplify-display-prepare
Simplify display prepare
2020-02-14 11:00:36 +02: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
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
df37acd17f rename display initialize methods to prepare 2020-02-13 01:59:26 +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
9c5ad3ea67
Merge pull request #346 from toasted-nutbread/dictionary-schemas
Dictionary schemas
2020-02-11 21:21:37 -05:00
siikamiika
9c98c631af fix async issues 2020-02-10 22:09:23 +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
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
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
1d9332cb69 Simplify getSequencedDefinitions and dictTermsMergeBySequence 2020-02-01 21:00:27 -05:00
siikamiika
02e0e24153 change jpod101 kana check to detect katakana 2020-01-27 23:28:01 +02:00
toasted-nutbread
2dbb24ea04 Improve error messages when Interface server is invalid 2020-01-26 21:01:19 -05:00
toasted-nutbread
1f3ff6fad0 Fix equals function on TextSourceRange when imposter elements are 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
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
9c5f1d4e59 Update options schema 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
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
5afad35c4e Fix _onApiGetZoom when chrome.tabs.getZoom is not available 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
351598a182 Add settings to control popup content scale 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
8ef57936d7 Add functionality for getting and observing zoom factor 2020-01-22 20:38:21 -05:00
toasted-nutbread
26ea278c29 Improve debug logging 2020-01-21 19:08:56 -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
0b1bee8c00 Fix invalid variables 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
dbbcfa5739 Only use Display.setContent 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
toasted-nutbread
fe5e05f8aa Fix incorrect result ordering 2020-01-12 21:31:04 -05: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
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
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
2a95f1420f Move optionsUpdate message handler into Yomichan class 2019-12-20 13:36:54 -05:00
toasted-nutbread
29734ea6e9 isVisible => isVisibleSync 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
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
7837e9f0e3 Update popup preview frame 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
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
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