toasted-nutbread
3dd4822ab3
Anki note media injection move ( #801 )
...
* Move anki note media injection functionality into Backend
* Add marker/mode checks
* Remove media injection from AnkiNoteBuilder
2020-09-10 15:04:54 -04:00
toasted-nutbread
52b0feb255
Move TextToSpeechAudio to a separate file ( #800 )
2020-09-10 12:06:56 -04:00
toasted-nutbread
35abd517b9
AudioUriBuilder simplification ( #799 )
...
* Rename variables to disambiguate
* Update handler argument convention
* Update getUri argument convention
* Change _getAudioUri argument convention
* Change getDefinitionAudio argument convention
* Add api.getDefinitionAudio definition
2020-09-10 11:57:38 -04:00
toasted-nutbread
17ebe6a754
Create abstraction class for parsing DOM ( #798 )
2020-09-10 11:30:01 -04:00
toasted-nutbread
58e5ddfde0
Generalize AnkiNoteBuilder to not use audioSystem directly ( #796 )
2020-09-09 21:07:18 -04:00
toasted-nutbread
5d2261acb9
Update the AnkiController class to use an instance of AnkiConnect directly ( #795 )
...
* Update AnkiController to use AnkiConnect instance directly
* Remove unused
2020-09-09 17:46:34 -04:00
toasted-nutbread
8408bee90a
Settings controller file renaming ( #794 )
...
* Rename SettingsBackup to BackupController
* Rename files to more closely match classes
* Improve organization of script imports
2020-09-09 17:37:58 -04:00
toasted-nutbread
0d00f7e1cf
Scanning input generalization ( #789 )
...
* Add inputs to options.scanning
* Update CSS for mouse buttons
* Update list counters
* Set up HTML/CSS
* Add input controller
* Use new inputs
* Include mouse buttons
* Update how button inputs are detected
* Add index/empty fields to the input details object
* Update none check for scanning modifier
* Remove old settings
* Remove unused global
2020-09-09 16:59:03 -04:00
toasted-nutbread
acb7ad32f3
Anki media injection move ( #793 )
...
* Update AnkiNoteBuilder to not store a reference to an AniConnect instance
* Use more consistent details format
* Organize options assignment
* Move media injection
* Inject images before injecting audio
* Make functions private
* Make static functions private
2020-09-09 16:57:35 -04:00
toasted-nutbread
c0a6849f98
Use common function for data URL mediatype/data extraction ( #792 )
2020-09-09 13:10:51 -04:00
toasted-nutbread
e3a7678769
Anki screenshot refactor ( #791 )
...
* Use more consistent style for injectScreenshot
* Move screenshot generation into AnkiNoteBuilder/Backend
* Get optionsContext before await
2020-09-09 12:54:59 -04:00
toasted-nutbread
2aa86cc5f8
Anki API refactor ( #790 )
...
* Add function guiBrowseNote
* Assign default server as null
* Use get/set properties for server/enabled
* Refactor option values
* Refactor createNote/Data functions to not use options format directly
* Use createNote for testing
* Add errors
2020-09-09 11:54:40 -04:00
toasted-nutbread
b687870a55
Delay hide option ( #774 )
...
* Add hideDelay option
* Add _clearSelection
* Use hideDelay
* Prevent repeated delayed selection clears
* Fix popup hide timer being cleared when the cursor is moved into the frame
2020-09-08 19:40:15 -04:00
toasted-nutbread
ab4dbacc4c
Move assignment of the operating system property ( #786 )
2020-09-08 19:36:15 -04:00
toasted-nutbread
46af4c9da4
Text scanner fixes and refactoring ( #788 )
...
* Fix incorrect argument being passed
* Clear causeCurrent
* Change cause string to a more general input object
2020-09-08 19:23:32 -04:00
toasted-nutbread
c1b16cebe7
Refactor how TextScanner's public search() function is used ( #787 )
2020-09-08 18:52:23 -04:00
toasted-nutbread
5af3c680e4
Fix modifier keys not being spread ( #785 )
2020-09-08 12:39:51 -04:00
toasted-nutbread
f7093b4c1a
Anki note clipboard marker ( #780 )
...
* Update fields reference
* Add support for adding clipboard images to anki notes
* Add handlebars templates
* Add markers
* Add markers to readme
2020-09-08 11:01:08 -04:00
toasted-nutbread
36fc5abae5
Modifier key refactor ( #784 )
...
* Add functions for getting keyboard key information
* Use os + DocumentUtil to get modifier key names
* Remove keyboard modifier info from environment info
2020-09-08 10:53:41 -04:00
toasted-nutbread
0a5e832dfd
Mouse inputs ( #783 )
...
* Add mouse icon
* Add _updateModifiers
* Add support for mouse button modifiers
* Improve names of mouse inputs
* Improve mouse input sorting
* Rename getModifierKeyStrings to getModifierInputStrings
* Refactor keyboard/mouse inputs into KeyboardMouseInputField
2020-09-07 20:12:43 -04:00
toasted-nutbread
59559fc560
Profile conditions fixes and improvements ( #782 )
...
* Fix operator changes
* Fix default value not changing during type change
* Fix incorrect display value being assigned
* Refactor _updateValueInput
2020-09-07 13:22:34 -04:00
toasted-nutbread
7a59ca2926
Update the functions for upgrading anki templates to be more reusable ( #779 )
2020-09-06 14:39:18 -04:00
toasted-nutbread
115afb63b9
Add api.clipboardGetImage ( #778 )
...
* Rename clipboardPasteTarget to just target
* Remove else block
* Add helper functions
* Defer assignment of clipboard paste target
* Add api.clipboardGetImage
2020-09-06 14:38:03 -04:00
toasted-nutbread
b28241dbf2
Fix error handling for screenshot captures ( #777 )
2020-09-06 14:36:43 -04:00
toasted-nutbread
44f38c4dea
Popup window ( #773 )
...
* Add option usePopupWindow
* Add PopupWindow class
* Add support for creating PopupWindow
2020-09-05 22:03:35 -04:00
toasted-nutbread
55770934f8
Fix touch input always being disabled ( #772 )
2020-09-05 21:44:05 -04:00
toasted-nutbread
2f8408ffcc
Text scanner refactor ( #771 )
...
* Create searchAt wrappers
* Add optional support for searching on the click event
* Update QueryParser to use TextScanner's searchOnClick functionality
* Move/rename searchAt
* Move pendingLookup checks
* Add 'searched' event to TextScanner
* Use common searched event for Frontend and QueryParser
* Move functions, make private
2020-09-05 21:43:19 -04:00
toasted-nutbread
dd8e32e7c4
Fix template renderer sandbox compatibility ( #770 )
...
* Use Object.prototype.hasOwnProperty.call instead of hasOwn
* Disable WebExtension and core.js APIs for template-renderer.js
2020-09-04 18:19:43 -04:00
toasted-nutbread
1cc9f4b1a4
Remove old conditions.js references ( #769 )
2020-09-04 18:12:33 -04:00
toasted-nutbread
d34f1eab02
Make fetchModifyHeaders private ( #767 )
2020-09-04 18:00:22 -04:00
toasted-nutbread
cf35b9338f
Fix cross frame comm issues ( #765 )
...
* Send ack before sending error response
* Fix error response not being JSON'ified
* Use _sendResult
2020-09-04 17:59:38 -04:00
toasted-nutbread
95bfe2d901
Popup proxy improvements ( #764 )
...
* Fix incorrect function invocations
* Ignore setVisibleOverride when it returns null
* Omit redundant async
* Change default return value
2020-09-04 17:58:43 -04:00
toasted-nutbread
8d53474945
Add api.isTabSearchPopup ( #763 )
...
* Add api.isTabSearchPopup
* Fix missing asyncs
2020-09-04 17:57:51 -04:00
toasted-nutbread
21fc0a80f2
Defer assignment of marker ( #762 )
2020-09-04 17:57:05 -04:00
toasted-nutbread
3efd4a1a94
Fix log context not being in the correct format ( #761 )
2020-09-04 17:56:20 -04:00
toasted-nutbread
4cd1676ddc
Handle error if _waitForFrontendReady fails when creating a popup proxy ( #760 )
2020-09-04 17:55:25 -04:00
toasted-nutbread
d8f488e28c
Settings dictionary import refactor ( #759 )
...
* Fix .purge not re-opening the database after deletion failure
* Create DictionaryImportController
* Remove backend dictionary import
2020-09-04 17:54:34 -04:00
toasted-nutbread
8cd5a2f75f
Profile conditions cleanup ( #768 )
...
* Remove conditions.js
* Rename profile-conditions2.js to profile-conditions.js
2020-09-04 17:53:29 -04:00
toasted-nutbread
e606a78b18
Fix version
2020-09-04 17:50:24 -04:00
toasted-nutbread
f3dd2270a5
Json schema profile conditions ( #758 )
...
* Add clearCache function
* Add upgrade
* Use schema-based profile condition validation
* Update profile conditions settings controller
* Remove unnecessary async
* Remove old
* Remove unused templates
2020-09-04 17:44:00 -04:00
toasted-nutbread
bbfe5f81cb
Fix sessionStorage not being supported when cookies are disabled ( #756 )
...
* Fix sessionStorage not being supported when cookies are disabled
* Update comment
2020-08-24 18:26:04 -04:00
f3f6ddd1fa
Verison bump to 20.8.23.0
2020-08-23 18:11:11 -07:00
toasted-nutbread
773e28aa3c
Fix screenshot popup hide ( #753 )
...
* Refactor Popup.setVisibleOverride
* Use event to observe visibility changes
* Add setAllVisibleOverride/clearAllVisibleOverride
* Add setAllVisibleOverride/clearAllVisibleOverride cross frame handlers
* Update how visibility is changed
* Wait for next frame to ensure visibility has been updated
2020-08-23 15:18:41 -04:00
toasted-nutbread
934355dd09
Add promiseAnimationFrame function ( #752 )
2020-08-23 12:43:53 -04:00
toasted-nutbread
1ab853a4d5
Display owner frame ( #751 )
...
* Move ownerFrameId definition to Display
* Rename _invoke to _invokeOwner
2020-08-23 11:15:23 -04:00
toasted-nutbread
a96e1c20a7
Dynamic property ( #749 )
...
* Add DynamicProperty class
* Add tests for DynamicProperty
2020-08-22 17:50:56 -04:00
toasted-nutbread
f0c974d319
Move generateId to core.js ( #748 )
2020-08-22 15:49:24 -04:00
toasted-nutbread
9fa0f2a56a
Move findTerms and findKanji functions into TextScanner ( #747 )
2020-08-22 14:40:44 -04:00
toasted-nutbread
bdb4c21a78
Make Popup extend EventDispatcher for parity with PopupProxy ( #746 )
2020-08-22 14:35:29 -04:00
toasted-nutbread
1dc35dd6f1
Popup factory proxy creation ( #745 )
...
* Change getOrCreatePopup to async
* Rename parentFrameId to frameId, expose frameId property
* Update how proxy popups are created
2020-08-22 14:33:41 -04:00
toasted-nutbread
e9c540a0b9
Fix error during pitch accent info generation for kanji data ( #744 )
2020-08-22 13:10:50 -04:00
toasted-nutbread
cc9481bd38
Revert "Add PopupVoid ( #734 )" ( #739 )
...
This reverts commit 90d6944290
.
2020-08-22 13:04:20 -04:00
toasted-nutbread
1f564b94cb
XMLDocument handling ( #738 )
...
* Add tests for SVGs
* Add more null checks for Frontend._popup
* Use null popup when on an XMLDocument
2020-08-22 13:03:35 -04:00
toasted-nutbread
c26c4ae0cb
Frontend initialization refactor ( #737 )
...
* Fix incorrect popup depth reassignment
* Rename variable
* Rename property
* Use explicit parameter values
* Refactor setupNestedPopups
* Refactor frontend initialization
2020-08-16 16:16:18 -04:00
toasted-nutbread
90d6944290
Add PopupVoid ( #734 )
2020-08-15 17:37:56 -04:00
toasted-nutbread
4d6851ec32
Refactor some frontend cross-frame communication ( #733 )
...
* Refactor iframe proxy setup
* Simplify document title acquisition
2020-08-15 17:36:42 -04:00
toasted-nutbread
d5865db457
Popup API refactor ( #732 )
...
* Simplify how parent/child are set
* Remove unused public frameId property
* Change use of getFrame
* Simplify parent access
* Use property for the container
* Remove isProxy
* Public function API parity
* Public property API parity
2020-08-15 17:27:03 -04:00
toasted-nutbread
d582c7a0f8
JSON schema refactor ( #731 )
...
* Remove JsonSchema.clone
* Move createProxy function
* Group public properties first
* Create private version of getPropertySchema
* Mark functions as private
* Use non-static getValidValueOrDefault
* Mark private
* Make public validate function not take an info parameter
* Remove JsonSchema
* Add isValid function
* Use isValid for some tests
* Fix incorrect type
2020-08-15 17:23:09 -04:00
toasted-nutbread
d8649f40d5
JSON-schema-based profile conditions ( #730 )
...
* Add ProfileConditions class
* Add URL to VM
* Add new ProfileConditions tests
2020-08-15 17:22:23 -04:00
toasted-nutbread
587822c16e
More JSON schema improvements ( #729 )
...
* Add support for constant values
* Add contains check for arrays
* Add tests
* Simplify getValidValueOrDefault testing
2020-08-11 19:21:26 -04:00
toasted-nutbread
abfa0362dd
Remove leftover handlebars.js imports ( #728 )
2020-08-09 21:18:36 -04:00
toasted-nutbread
2a86d66092
DOM + DocumentUtil merge ( #727 )
...
* Add DOM functions to DocumentUtil
* Use DocumentUtil instead of DOM
* Remove DOM
* Move document-util.js into mixed
2020-08-09 21:07:11 -04:00
toasted-nutbread
9f8f83508e
Merge dictionary.js functions into Translator class ( #726 )
...
* Move dictFieldSplit
* Copy dictionary.js definitions into translator.js
* Convert to member functions
* Refactor names
* Remove dictionary.js
* Rename
2020-08-09 21:04:09 -04:00
toasted-nutbread
f502dd4f21
Search refactoring ( #725 )
...
* Rename node fields to disambiguate
* Change order
2020-08-09 21:03:11 -04:00
toasted-nutbread
486d44f719
Json schema improvements ( #722 )
...
* Add support for regex pattern testing
* Add tests
* Separate JsonSchemaProxyHandler statics into JsonSchemaValidator
* Use this instead of JsonSchemaValidator
* Make JsonSchemaValidator non-static
* Use cache map for regex
2020-08-09 14:18:59 -04:00
toasted-nutbread
fbe575c577
Fix a stray error printed due to not catching ( #723 )
2020-08-09 14:14:56 -04:00
toasted-nutbread
6da02c6eee
document.js refactor ( #719 )
...
* Refactor document.js into a class
* Move public functions first
* Rename private functions
* Rename
* Rename argument
* Use instance of DocumentUtil
* Update tests
* Refactor
* Rename (test-)document.js to (test-)document-util.js
2020-08-09 13:27:21 -04:00
toasted-nutbread
480e0e15e3
Translator refactor ( #720 )
...
* Move simple find sort into translator.js
* Remove unused
* Use direct reference to database
* Make field private
* Remove statics
* Convert functions to private
* Organize by public/private
2020-08-09 13:21:14 -04:00
toasted-nutbread
427cf99b9f
Remove unused dependencies on context.html ( #718 )
2020-08-09 13:20:48 -04:00
toasted-nutbread
e87cc5c37d
Query parser text scanner options refactor ( #717 )
...
* Add _setSelectedParser helper
* Update TextScanner internal options representation
* Update QueryParser internal options representation
2020-08-09 13:19:42 -04:00
toasted-nutbread
b3eb2cb1ef
Fix overlapping version checks ( #716 )
2020-08-09 13:17:15 -04:00
toasted-nutbread
d856e4caac
CacheMap ( #715 )
...
* Create CacheMap class
* Add test
2020-08-09 13:15:56 -04:00
toasted-nutbread
8ee717cdf7
Persistent display mode ( #714 )
...
* Simplify calls using chrome.tabs.sendMessage and getMessageResponseResult
* Rename message handlers
* Move onMessage handler into Display
* Assign search popup mode which persists across refreshes
* Update clipboard monitor on the search page
* Remove mode param
2020-08-09 13:11:41 -04:00
toasted-nutbread
04d47bf8a9
Build system changes ( #721 )
...
* Refactor manifest.json
* Change end-of-line convention for built plain-text files
* Ignore builds directory
* Mark the "dev" directory as using the node environment
* Create build script
* Register build scripts
* Remove old build script
* Fix 64x64 icon
* Add test to ensure manifest data is updated properly
2020-08-09 13:09:06 -04:00
14efd8a824
Update verison to 20.8.3.0
2020-08-03 17:01:40 -07:00
toasted-nutbread
b253cdc92e
Fix extension unload cases ( #712 )
...
* Add _invokeSafe function to silently ignore extension unload errors
* Remove "Api" from function names
* Add invokeSafe to Popup
* Don't redundantly set content type to 'unloaded'
2020-08-02 21:51:51 -04:00
toasted-nutbread
a81d69d6c1
Add support for history navigation using mouse buttons in the popup window ( #707 )
2020-08-02 19:00:36 -04:00
toasted-nutbread
1184320e3e
Button and image scanning ( #705 )
...
* Update TextSourceElement.equals check to match TextSourceRange.equals
* Force full query to be visible when scanning buttons or images with more text
* Update style of query parser
2020-08-02 18:59:35 -04:00
toasted-nutbread
bdcdf9b1f5
Strip request origin ( #710 )
...
* Add web request permissions
* Create fetch wrapper that anonymizes the request
* Fix Firefox not supporting 'extraHeaders' option
2020-08-02 18:58:19 -04:00
toasted-nutbread
a37ca1d378
Fix _setContentTermsOrKanjiUpdateAdderButtons not working ( #709 )
...
this._setContentToken was cleared, so comparison exited.
There is not really a good reason to clear this object.
2020-08-02 16:58:15 -04:00
toasted-nutbread
b1b33f8beb
Fix fetch requests ( #708 )
...
* Revert audio fetching functionality to use XMLHttpRequest
* Replace requestJson
* Replace requestJson
* Replace requestJson
* Replace requestJson and requestText
* Fix tests
* Include support for vulgar word searches
* Remove request.js
2020-08-02 13:30:55 -04:00
toasted-nutbread
a562a11498
Display try catch refactor ( #704 )
...
* Remove try-catch from _termLookup
Already handled by _onTermLookup
* Move try-catch out of _onTermLookup and into _onGlossaryMouseUp
2020-08-01 16:33:21 -04:00
toasted-nutbread
838fd211c6
Pitch accent Anki field templates ( #701 )
...
* Template helper updates
* Add pitch data to exported field formatting data
* Reuse note data
* Add no-op
* Set up pitch accent templates
* Refactor version update functions
* Implement upgrade process for new Anki templates
* Consistency
* Update README and anki.js to have matching markers
2020-08-01 16:23:33 -04:00
toasted-nutbread
1e839cd230
More display refactoring ( #697 )
...
* Remove some unnecessary _setQuery calls
* Add support for forcing the query parser to be visible or hidden
* Move _setEventListenersActive calls
* Remove URL for kanji links
* Refactor _setContentTermsOrKanji
* Move search query text assignment into Display
* Move title updates into Display
* Move popup close calls
* Prevent infinite loop of extension unload events
2020-08-01 16:22:00 -04:00
toasted-nutbread
b52074b3f0
Options util ( #700 )
...
* Move options functions into a class
* Rename and privatize
* Organize by public/private
* Refactor to use async function
* Simplify update function signature
* Add comment for update
* Rename
* Copy _applyUpdates into _legacyProfileUpdateUpdateVersion
* Organize
* Move profile options updates
* Refactor update details
* Add async support
* Formatting
2020-08-01 11:46:35 -04:00
toasted-nutbread
f1e7288c11
Additional template renderer helpers ( #699 )
...
* Add spread function
* Add generic operator evaluation function
* Add variable get/set/scope functions
* Add isMoraPitchHigh function
2020-07-31 16:17:58 -04:00
toasted-nutbread
736d3c892e
Dictionary data utility class ( #698 )
...
* Create utility class for helping format dictionary data
* Change format
2020-07-30 20:45:52 -04:00
toasted-nutbread
6e0b25c5d6
Standardize hotkey action naming convention ( #696 )
2020-07-26 20:25:15 -04:00
toasted-nutbread
313476aa92
Query parser fix ( #695 )
...
* Standardize setContent calls
* Rename _queryText to _fullQuery
* Move query parser into Display and update float.html
* Generalize params
* Add "full" parameter to maintain the original full query
2020-07-26 19:29:12 -04:00
toasted-nutbread
0512258c8e
Display scroll refactor ( #694 )
...
* Cache navigation header
* Create _focusEntry
* Update scroll restoration
* Require explicit entry focus index
2020-07-26 18:49:38 -04:00
toasted-nutbread
104650627d
Merge redundant toggle handling code ( #693 )
2020-07-26 16:53:24 -04:00
toasted-nutbread
fca0004597
Don't assign mode as a search parameter ( #692 )
2020-07-26 16:52:45 -04:00
toasted-nutbread
208217198e
Display history refactor ( #691 )
...
* Create DisplayHistory
* Change arguments for _setContentTermsOrKanji
* Set up history-driven content updates
* Use new history only
* Load definitions if missing
* Refactor definitions getting
* Add support for wildcards
* Move definitions setup
* Add events
* Allow state change even if there is no history state
* Update search page to use history
* Fix history overwriting
* Fix search page not seeing state chang events during prepare
* Update state if necessary
* Don't reassign query text if the same
* Remove DisplayContext
* Initialize with real history state
* Track URL
* Update DisplayHistory to support pseudo-history
* Configure history settings on search page
* Fix state
* Use full URL
* Change data format of setContent
* Rename details to content
* Update event arguments
* Fix animation
* Remove old state changes
* Clear content properly
* Remove set/clear content overrides
* Fix setting up event listeners for content clear
* Make clearContent private
* Make focus opt-in
* Validate source
* Add unloaded type
* Generalize content params
* Update how extension unload content is assigned
* Restore query blurring
2020-07-26 16:51:54 -04:00
toasted-nutbread
e153971cd4
Add eachUpTo function ( #690 )
2020-07-26 16:50:56 -04:00
toasted-nutbread
2ed2b22d49
Fix search popup mode ( #687 )
...
* Fix missing mode on search popup
* Remove mode update
2020-07-25 13:23:51 -04:00
toasted-nutbread
4a43b41f79
Set content refactor ( #686 )
...
* Simplify invoke
* Pass isTerms instead of type
* Update DisplaySearch.setContent to pass argument array
* Simplify argument object structure for setContent
* Move focus and disableHistory level
* Always include focus and disableHistory options
* Change disableHistory to history
* Pass source text to setContent
* Use consistent argument/object field order
* Remove unused previous field
* Combine logic for forward/back navigation
2020-07-25 09:58:06 -04:00
toasted-nutbread
64ddb4d901
Display fixes and refactoring ( #685 )
...
* Fix scroll target override sometimes using undefined value
* Clear event listeners in clearContent()
* Remove unused arguments
* Remove unused disableScroll
* Destructure definitions and context
* Merge _setContentTerms and _setContentKanji
* Move history tracking
* Destructure context
* Rename context to noteContext for clarity
* Destructure before passing args
* Move window focus
* Update scroll defaults
2020-07-24 21:12:13 -04:00
toasted-nutbread
e493cbc998
Simplify Popup.showContent API to use only two details arguments ( #684 )
2020-07-24 17:34:53 -04:00
toasted-nutbread
3754c92041
Query parser refactor ( #683 )
...
* Rename files to better match class name
* Don't pass setContent to QueryParser; use a generic event instead
2020-07-24 16:03:11 -04:00
toasted-nutbread
99f5655e53
Update DisplaySearch.setContent/clearContent to close popups ( #682 )
2020-07-24 14:54:54 -04:00
toasted-nutbread
d7aaab685e
Dev dependencies updates ( #679 )
...
* Update eslint to 7.5.0
* Update eslint-plugin-no-unsanitized to 3.1.2
* Update fake-indexeddb to 3.1.1
* Rename DictionaryImporter.import to .importDictionary
Conflicts with o-unsanitized/method
2020-07-19 22:05:37 -04:00
toasted-nutbread
e12f59f87d
Force targetTabId to be null if not a number ( #678 )
2020-07-19 12:26:57 -04:00
toasted-nutbread
71b97c2019
Display refactoring ( #674 )
...
* Move setupNestedPopups to Display
* Move auto-play timer and delay into Display
* Move some message handler definitions into Display
* Move default optionsContext definition
2020-07-18 23:47:02 -04:00
toasted-nutbread
27e05f8001
Reusable backend popup window ( #673 )
...
* Update _updateSearchQuery to return the promise
* Update how the clipboard search popup is opened
* Create an API function to open the search popup
* Skip animation on popup creation
* Add API function
2020-07-18 20:30:10 -04:00
toasted-nutbread
d7f78c23b5
Script ready state change ( #672 )
...
* Update how backend/frontend ready states are awaited and signaled
* Log errors on the search page
* Update action name
2020-07-18 17:11:38 -04:00
toasted-nutbread
e696dc84a8
Refactor context-main.js ( #671 )
2020-07-18 16:45:57 -04:00
toasted-nutbread
c6c0126394
Content script ready checks ( #670 )
...
* Move ready checkout of Display
* Add function to wait until if a tab's content script is ready
2020-07-18 14:18:10 -04:00
toasted-nutbread
ffc0b6588e
Fix incorrect URL being used ( #669 )
2020-07-18 14:17:30 -04:00
toasted-nutbread
a13a68990e
Port name details ( #667 )
...
* Use a stringified JSON details object for extension port names
* Fix incorrect frame ID check
* Add support for connecting to different tabs
* Add function for invoking on a different tab
2020-07-18 14:16:35 -04:00
toasted-nutbread
dac33e6961
Extension unload indication fix ( #662 )
...
* Remove unused function
* Rename field
* Change extensionUnloaded trigger function
* Update how extension unloaded content is shown
* Ignore certain errors caused by extension unload
* Add _showExtensionUnloaded function
* Wrap internals of updateOptions
* Suppress errors caued by extension unload
* Make the frontend trigger the popup's extensionUnloaded event
2020-07-18 14:15:36 -04:00
toasted-nutbread
f9c76efea0
Fix Anki CORS requests ( #666 )
2020-07-17 14:27:57 -04:00
toasted-nutbread
fc31e6fab5
Fix incorrect field name ( #665 )
2020-07-14 21:58:53 -04:00
toasted-nutbread
161888d9a3
Remove backend options context ( #661 )
...
* Add support for getting the current profile
* Explicitly use current options
2020-07-11 15:20:51 -04:00
toasted-nutbread
ec42a7e4d6
Message handler refactor ( #660 )
...
* Refactor searchQueryUpdate action
* Use standard message handler style
* Use name "promiseOrResult" for consistency
* Use standard message handler convention for Yomichan message handlers
* Use common message handler invoker
2020-07-11 15:20:00 -04:00
toasted-nutbread
8389cd8ba2
Popup crossFrame communication ( #658 )
...
* Add support for dynamic message handlers
* Pass messages using crossFrame.invoke instead of contentWindow.postMessage
* Set up async handlers
* Simplify configure call and response
2020-07-10 22:13:59 -04:00
toasted-nutbread
964f011409
Various updates to FrameOffsetForwarder ( #657 )
...
* Remove bindings
* Fast exit if same window
* Simplify selector
* Rename functions, reuse _getFrameOffsetParent
* Update message style
* Send reply message to a specific frame
2020-07-10 22:13:11 -04:00
toasted-nutbread
59c224d99d
Add support for async vs non-async ( #656 )
2020-07-10 22:12:14 -04:00
toasted-nutbread
f76a6ff1e3
Refactor hotkey definitions to be more generic ( #655 )
2020-07-08 20:02:20 -04:00
toasted-nutbread
6f49f426b5
Generalized frame connections ( #654 )
...
* Create FrameClient and FrameEndpoint
* Use new Frame* classes for Popup=>frame connection
* Update api.sendMessageToFrame and api.broadcastTab to include the sender's frameId
* Update FrameClient to store the frame's frameId
2020-07-08 19:58:06 -04:00
toasted-nutbread
295ffa6e54
Refactor DisplayFloat=>Frontend message passing ( #652 )
...
* Change getOrCreatePopup arguments to be an object
* Add ownerFrameId to popup and DisplayFloat
* Refactor DisplayFloat host action invocation
* Use CrossFrameAPI instead of window.postMessage
* Update popup closing functionality on the search page
2020-07-08 19:50:13 -04:00
toasted-nutbread
8f48a23a45
Display class refactoring ( #650 )
...
* Organize by public/private
* Don't access super class's private members
* Make _autoPlayAudioTimer private
* Refactor constructors
* Make functions private
* Organize by public/private
* Organize window message handlers
* Make fields private
* Refactor DisplaySearch constructor
* Make functions private
* Organize by public/private
2020-07-03 15:58:29 -04:00
toasted-nutbread
e30bab3324
Refactor text source map ( #649 )
...
* Use a null check instead of array check
* Convert statisc to non-private
* Use public source
* Add public function for getting the mapping
2020-07-03 15:57:17 -04:00
toasted-nutbread
a07a8dfff6
Extension unload detection ( #647 )
...
* Update how extension unload is detected
* Remove event handlers and use yomichan.isExtensionUnloaded instead
* Update terminology
2020-07-03 12:20:22 -04:00
toasted-nutbread
ce634325ce
Add up arrow icon ( #648 )
2020-07-03 12:02:59 -04:00
toasted-nutbread
e36bc8771f
Display refactor ( #643 )
...
* Remove statics
* Move orphan detection and error handling to Display
* Add clearContent function
* Add/use public get/set functions for optionsContext
* Add public getOptions
* Move interactive assignment
* Mark fields as private
* Mark functions as private
* Change stray getter into a function
2020-07-03 12:02:21 -04:00
toasted-nutbread
6ede83f293
Move private function definitions inside of IIFE ( #641 )
2020-07-03 12:00:13 -04:00
toasted-nutbread
562cfd7470
Make PopupProxy._frameOffsetExpireTimeout non-static ( #640 )
2020-07-03 11:58:52 -04:00
toasted-nutbread
d776125ead
Refactor timer privates ( #639 )
...
* Make Timer.current public
* Make _indentString non-static
2020-07-03 11:58:12 -04:00
toasted-nutbread
897d85d1ac
Util refactor and fix ( #638 )
...
* Remove unused functions
* Fix clone function not being visible on the window object
2020-07-03 11:57:15 -04:00
toasted-nutbread
c13160d784
Page exit prevention refactor ( #637 )
...
* Add page exit prevention functionality to SettingsController
* Update dictionary controller to use new page exit prevention system
* Remove page-exit-prevention.js
2020-07-03 11:56:26 -04:00
toasted-nutbread
1d02013642
Make JsonSchemaProxyHandler.unconstrainedSchema public and non-configurable ( #636 )
2020-07-03 11:55:39 -04:00
toasted-nutbread
0279d00274
Don't use/assign popup private fields without using "this" ( #635 )
2020-07-03 11:54:51 -04:00
toasted-nutbread
af4dc49074
Fix chrome.runtime.manifest failing when extension is reloaded ( #646 )
2020-07-01 21:06:25 -04:00
toasted-nutbread
bc6d855f3d
Fix incorrect handlebars execution context in helpers ( #645 )
2020-06-29 19:02:35 -04:00
toasted-nutbread
a16a8f53e6
Rename GenericDatabase to Database ( #634 )
2020-06-28 17:29:16 -04:00
toasted-nutbread
441c23bf3b
Rename Database to DictionaryDatabase ( #633 )
2020-06-28 17:24:06 -04:00
toasted-nutbread
7590055d4e
Merge BackendEventHandler into Backend class ( #632 )
...
* Merge BackendEventHandler into Backend class
* Remove unused public functions
2020-06-28 17:22:44 -04:00
toasted-nutbread
5183fb575f
Backend refactor ( #631 )
...
* Mark fields as private
* Remove static
* Make functions private
* Create onCommand handler
* Group event handlers
* Move functions
* Merge _onOptionsUpdated and _applyOptions
* Rename event handler
* Move event handlers
* Remove _getOptionsSchema
* Move private functions
2020-06-28 14:59:01 -04:00
toasted-nutbread
f2345b7d1c
Use deferPromise ( #630 )
...
* Use deferPromise
* Move definition
* Implement promiseTimeout using deferPromise
2020-06-28 14:39:43 -04:00
toasted-nutbread
7b5dd5c310
Update browser compatibility and Edge detection ( #629 )
2020-06-28 12:40:02 -04:00
toasted-nutbread
cdf191336a
Clone function ( #624 )
...
* Add clone function
* Replace utilIsolate with clone
* Replace JsonSchema.isolate with clone function
* Include core.js for tests which use json-schema.js
* Update visisted set
2020-06-28 12:38:34 -04:00
toasted-nutbread
5bf805755a
Yomichan object separation ( #627 )
...
* Move "yomichan" object setup to a separate file
* Update script imports
* Align message handlers
* Rename Yomichan.prepare to Yomichan.ready
* Add new prepare function
* Improve isExtensionUrl
2020-06-28 11:26:43 -04:00
toasted-nutbread
51981f0c4e
Add deferPromise function ( #626 )
2020-06-28 11:23:51 -04:00
0a6c08d0f5
Version 20.6.27.0
2020-06-27 19:02:52 -07:00
toasted-nutbread
22d70c9e22
Add lock icon ( #628 )
2020-06-26 17:22:29 -04:00
toasted-nutbread
6ee50b3c95
Make PopupFactory.prepare non-async ( #625 )
2020-06-25 18:32:29 -04:00
toasted-nutbread
3e68af8666
Shadow DOM container for popup iframes ( #623 )
...
* Add support for injecting stylesheets into a custom parent node
* Add api.getStylesheetContent
* Add support for injecting a CSS file's content
* Add usePopupShadowDom option
* Use a per-parentNode cache
* Add support for using a shadow DOM wrapper around popup iframes
* Ignore the popup container instead of the frame
2020-06-24 21:46:13 -04:00
toasted-nutbread
96932119f8
Remove window. from visualViewport, use local variable instead ( #621 )
2020-06-22 19:27:40 -04:00
toasted-nutbread
65c41975a6
Secure popup frame url changes ( #622 )
...
* Throw error if options is not ready
* Remove id
* Change unsecurePopupFrameUrl to useSecurePopupFrameUrl
2020-06-22 19:26:59 -04:00
toasted-nutbread
f2991fb9ee
Frontend initialization refactor ( #610 )
...
* Create member functions for ignoreElements and ignorePoint
* Create addFullscreenChangeEventListener utility
* Move popup creation management into Frontend
* Move getUrl implementation
* Remove old setup
* Remove try/catch block
* Error wrap
* Add prepare call to TextScanner
* Update depth when popup changes
* Refactor how Frontend gets PopupFactory and frameId
* Update popup preview to work
* Update popup preview frame to use the frontend's popup
* Update how nested popups are set up
* Error wrap
* Update how popups are set up on the search page
* Error wrap
* Error unwrap
* Add missing prepare
* Remove use of frontendInitializationData
* Catch and log errors
2020-06-21 16:14:05 -04:00
toasted-nutbread
244ab31bb2
Generic database ( #600 )
...
* Update test
* Rename db to _db
* Create GenericDatabase class
* Catch prepare error
* Allow database to be purged even if it was not open
* Remove unused functions
* Change static functions to non-static
* Delete and count using the media object store
* Update tests
2020-06-21 16:12:56 -04:00
toasted-nutbread
e23504613f
Use DOMTextScanner ( #536 )
...
* Use DOMTextScanner instead of TextSourceRange.seek*
* Move getNodesInRange to dom.js
* Move anyNodeMatchesSelector to dom.js
* Remove unused functions
* Update tests
* Add layoutAwareScan option
* Use layoutAwareScan for source and sentence scanning
* Remove unused IGNORE_TEXT_PATTERN
2020-06-21 16:07:51 -04:00
toasted-nutbread
4ebee3e17c
Context popup update ( #594 )
...
* Add link to the help button
* Update context.html to not use bootstrap
Styles moved into a separate file
Update icons
* Update terminology to correspond to new icons
2020-06-21 15:57:18 -04:00
toasted-nutbread
0c69e54fde
Optimize anki note field generation ( #611 )
2020-06-21 15:54:34 -04:00
toasted-nutbread
3db7b3a925
Add option to use the unsecure frame URL ( #618 )
2020-06-21 15:52:43 -04:00
toasted-nutbread
9e28db6ef7
Safely handle volume values that are out of range ( #617 )
2020-06-21 15:51:36 -04:00
toasted-nutbread
713bf29377
Handle stack overflow caused by wanakana.toKana ( #615 )
2020-06-21 15:50:50 -04:00
toasted-nutbread
6562d0c1e5
Template renderer class ( #574 )
...
* Convert handlebars.js to a class
* Move/rename function
* Update helper registration
* Rename helper functions
* Limit cache size
* Make render() async
* Rename and move
2020-06-15 20:11:54 -04:00
toasted-nutbread
b4a617cac3
Ignore getZoom errors ( #604 )
2020-06-14 15:14:47 -04:00
toasted-nutbread
b612bd8b8d
PopupProxy refactor ( #609 )
...
* Remove setDisabled member; replace with an event
* Pass frameOffsetForwarder directly to PopupProxy
* Replace .start with .prepare
* Make onMessage private
* Make message safer and handle unexpected inputs
2020-06-14 14:06:52 -04:00
toasted-nutbread
8d1a276a83
Remove debug log ( #603 )
2020-06-13 10:42:59 -04:00
toasted-nutbread
8a7ff6a18c
Replace XMLHttpRequest ( #562 )
...
* Replace XMLHttpRequest with fetch
* Implement fetch placeholder for tests
2020-06-13 10:23:04 -04:00
toasted-nutbread
5cba421201
Update the badge icon if the backend experiences an error ( #602 )
2020-06-13 10:20:12 -04:00
toasted-nutbread
8bc15e60b5
Detect language tags starting with "ja_" ( #596 )
2020-06-13 10:18:44 -04:00
toasted-nutbread
a84f188b73
Handle cases where platform info is not available ( #597 )
...
* Handle cases where platform info is not available
* Safely return the correct os property
2020-06-10 20:58:46 -04:00
toasted-nutbread
839e306cac
Immediate backend event handlers ( #555 )
...
* Add function to await until prepare is completed
* Create BackendEventHandler to synchronously set up event handling
2020-06-07 21:50:14 -04:00
toasted-nutbread
9767b76553
Use cross frame API ( #553 )
...
* Use new CrossFrameAPI for popup proxy communication
* Remove use of old cross-frame communication classes
* Remove use of old cross-frame communication files
* Make the crossFrame object a member of the api object
2020-06-07 21:40:11 -04:00
siikamiika
b614aca3dd
fix css class name ( #591 )
...
Broken in 90af55d4c84f545635f238178b30748a0e8093ee
2020-06-07 00:08:46 +03:00
siikamiika
0384e2afef
scale background icon when page is zoomed ( #592 )
2020-06-07 00:08:20 +03:00
toasted-nutbread
2c58b1c109
Limit action port message size ( #587 )
...
* Add onDisconnect handler
* Update how error is posted
* Update action ports to send long messages in fragments
* Remove ack timer
* Move message destructuring into try block
2020-05-31 18:17:12 -04:00
toasted-nutbread
cfd3a1ec3a
Update AudioController to not use mutable options references ( #585 )
2020-05-30 21:54:38 -04:00
toasted-nutbread
db209c9116
Generic settings controller merge ( #584 )
...
* Update how optionsContext is assigned to targets
* Add getSettings and modifySettings
* Merge DOMSettingsBinder into GenericSettingController
* Remove old DOMSettingsBinder
2020-05-30 21:53:36 -04:00
toasted-nutbread
ce7f9dd09a
Update how assignment of general.enableClipboardPopups works ( #583 )
2020-05-30 16:24:51 -04:00
toasted-nutbread
976a200ffc
Backup update ( #582 )
...
* Add function to assign all settings
* Update how settings backups are restored
* Remove page reload
* Update profile index after importing
2020-05-30 16:23:56 -04:00
toasted-nutbread
c8810bc929
Update AnkiController ( #581 )
...
* Update how fields are populated
* Update how fields are modified after a model change
* Update how _onFieldsChanged assigns fields
* Update how spinner is hidden
* Remove jQuery usage
* Use non-jQuery events
2020-05-30 16:22:51 -04:00
toasted-nutbread
ad8df26b6b
Update AnkiTemplatesController ( #580 )
...
* Use this._defaultFieldTemplates
* Don't use mutable options
* Remove some use of jQuery
2020-05-30 16:22:05 -04:00
toasted-nutbread
395a0f4096
Update GenericSettingController to use DOMSettingsBinder ( #578 )
2020-05-30 16:20:31 -04:00
toasted-nutbread
f228078613
SettingsController API update ( #579 )
...
* Include optionsContext as part of optionsChanged event
* Add get/modify functions
2020-05-30 11:24:34 -04:00
toasted-nutbread
789da0206b
Organize settings/main.js ( #577 )
2020-05-30 09:50:33 -04:00
toasted-nutbread
63a3e56367
Use SettingsController ( #576 )
...
* Use settingsController internally in settings/main.js
* Replace modifyingProfileChange with SettingsController.optionsContextChanged
* Update ClipboardPopupsController to use SettingsController
* Store reference to checkbox
* Use this._settingsController for everything
* Change where current profile is initially assigned from
* Remove some unnecessary async calls
* Move setup calls
* Update AnkiTemplatesController to use SettingsController
* Cache default field templates
* Update AnkiController to use SettingsController
* Update AudioController to use SettingsController
* Update SettingsBackup to use SettingsController
* Update DictionaryController to use SettingsController
* Update GenericSettingController to use SettingsController
* Update ProfileController to use SettingsController
* Remove unused
* Remove unused
* Replace some uses of api.options* functions
* Fix missing awaits
* Fix invalid function
2020-05-30 09:33:13 -04:00
toasted-nutbread
1a5a37c9e4
Fix frontend being null if messages are received early ( #575 )
2020-05-30 09:31:46 -04:00
toasted-nutbread
18f376358c
Generic settings controller + clipboard popups controller ( #573 )
...
* Create GenericSettingController
* Create ClipboardPopupsController
2020-05-29 20:33:40 -04:00
toasted-nutbread
df040b104a
Popup preview frame refactor ( #572 )
...
* Use private variables
* Use private methods
* Update overrides
* Make prepare called in the entry point function
* Change format of handlers
* Change where _apiOptionsGetOld is assigned
* Rename class
2020-05-29 20:29:19 -04:00
toasted-nutbread
9624566d2a
Convert popup-preview.js to a class ( #571 )
...
* Convert popup-preview.js to a class
* Don't invoke 'prepare'
2020-05-29 20:28:12 -04:00
toasted-nutbread
418e8a57bf
Convert dictionaries.js and storage.js to classes ( #570 )
...
* Convert dictionaries.js to a class
* Remove storage spinner
* Convert storage.js to a class
* Move dataset assignments into main.js
2020-05-29 20:25:22 -04:00
toasted-nutbread
c62f980f37
Audio controller ( #569 )
...
* Convert audio.js into a class
* Move audio-ui.js classes into audio.js
* Rename fields
* Merge classes
* Remove audio-ui.js
2020-05-29 19:56:38 -04:00
toasted-nutbread
5f9889fd26
Anki settings controllers ( #567 )
...
* Convert anki-templates.js to a class
* Convert anki.js to a class
2020-05-29 19:52:51 -04:00
toasted-nutbread
fde0072118
Change profile.js into a class ( #566 )
...
* Update how settings profile is stored and accessed
* Convert profiles.js into a class
* Rename members of ProfileController
2020-05-29 19:47:18 -04:00
toasted-nutbread
8537c8f386
Create class to abstract access, mutation, and events for settings ( #565 )
2020-05-29 19:45:54 -04:00
toasted-nutbread
37f0396f1c
DOM binder fixes ( #564 )
...
* Fix incorrect updateValue function
* Add source
2020-05-29 19:44:53 -04:00
toasted-nutbread
9d40955fc8
Update legal.html to include full licenses ( #563 )
2020-05-24 22:10:50 -04:00
toasted-nutbread
6dd6af05e1
Update background global object usage ( #556 )
...
* Omit global window object for scripts used on the background page
* Validate document exists before using
* Remove dom.js from background.html
2020-05-24 14:01:21 -04:00
toasted-nutbread
3c4c82dcfc
Ensure single popup factory ( #554 )
...
* Add createPopupFactory
* Ensure only a single PopupFactory is generated
2020-05-24 14:00:32 -04:00
toasted-nutbread
13f57cccba
Settings backup refactor ( #551 )
...
* Update backup.js to be a class
* Move utilReadFileArrayBuffer
2020-05-24 13:56:46 -04:00
toasted-nutbread
66e1185686
Settings binder ( #542 )
...
* Fix _modifySetting being async
* Return values for modifySettings's set and splice actions
* Add apiGetSettings
* Create a class which can accumulate tasks to run in bulk
* Create a class which binds input elements to customizable sources
* Create class which binds input elements to settings
* Add support for value transforms
* Remove redundant ObjectPropertyAccessor.getPathArray
* Fix not using correct types for input.min/max/step
* Fix wrong condition
* Use api object
2020-05-24 13:50:34 -04:00
toasted-nutbread
c800444a0d
Ensure the return value of promiseTimeout always has .resolve and .reject ( #550 )
2020-05-24 13:39:50 -04:00
toasted-nutbread
3089bb7908
Settings refactor ( #541 )
...
* Remove debug info
* Trigger onOptionsUpdated instead of formWrite when profile changes
* Update how Anki field changes are observed
* Update how general.enableClipboardPopups setting is changed
* Change where ankiTemplatesUpdateValue occurs
* Change where onDictionaryOptionsChanged occurs
* Remove unused global declarations
* Remove stray data attribute
2020-05-24 13:38:48 -04:00
toasted-nutbread
a595a0a481
Add icons ( #540 )
...
* Add icons
* Update icons
2020-05-24 13:37:49 -04:00
toasted-nutbread
4d2e5b93f4
Style adjustments ( #537 )
...
* Remove newlines for term-definition-item-template
* Update how action button icons are styled
* Fix spacing
* Group text colors together
* Correct image styles
* Fix missing </span>
2020-05-24 13:37:23 -04:00
toasted-nutbread
c61a87b152
API refactor ( #532 )
...
* Convert api.js into a class instance
* Use new api.* functions
* Fix missing binds
* Group functions with progress callbacks together
* Change style
* Fix API override not working
2020-05-24 13:30:40 -04:00
toasted-nutbread
83a577fa56
Add missing spreads ( #552 )
2020-05-23 14:18:02 -04:00
toasted-nutbread
694120b8a5
Cross frame communication ( #531 )
...
* Set up new cross-frame port connector
* Create classes for cross-frame API invocation with replies
* Remove event listeners on disconnect
2020-05-23 13:34:55 -04:00
toasted-nutbread
9a657214ad
Add support for additional types of event listeners ( #522 )
...
* Add support for additional types of event listeners
* Fixes
2020-05-23 13:19:31 -04:00
d0dcff765f
Version bump to 20.5.22.0
2020-05-22 17:41:33 -07:00
siikamiika
39df44eca4
Fix "tags" template ( #539 )
...
* fix tag templates for merge and group modes
* update version upgrade
* adjust upgrade replacement order
2020-05-22 20:03:34 -04:00
toasted-nutbread
dd673f0b26
Dynamic loader load style ( #521 )
...
* Remove unnecessary load of /fg/css/client.css
* Replace dynamicLoader.loadStyles with dynamicLoader.loadStyle
* Replace Popup._injectStylesheet with dynamicLoader.loadStyle
* Remove unused global
2020-05-19 20:33:06 -04:00
toasted-nutbread
dd6c3015c4
Use both shadowRoot and openOrClosedShadowRoot ( #534 )
2020-05-10 14:10:02 -04:00
toasted-nutbread
c38cd70e91
Load frame content using contentDocument.location.href instead of src attribute ( #529 )
2020-05-10 14:08:18 -04:00
toasted-nutbread
9742d5662b
Use CSS variables for themes ( #528 )
...
* Update formatting
* Merge default tag color with category-less tags
* Use CSS variables for colors
* Add dark theme colors
* Move color variables into display.css
* Remove old stylesheets
* Update headings
* Bump minimum Firefox version to support CSS var()
* Revert popular kanji text color
2020-05-10 14:07:25 -04:00
toasted-nutbread
5752b23a8e
Text source refactor ( #527 )
...
* Update TextSourceElement API to have parity with TextSourceRange
* Make fields private
* Update equality check
* Fix "this.element" being used instead of just "element"
2020-05-10 14:06:25 -04:00
toasted-nutbread
6eafdac362
Fix setStartOffset not appending ( #526 )
2020-05-09 21:09:23 -04:00
toasted-nutbread
bdbe680f5c
Omit the sound tag if it's empty ( #525 )
2020-05-09 12:29:41 -04:00
toasted-nutbread
9900291b07
Fix not awaiting the AudioSystem.arrayBufferDigest promise ( #524 )
2020-05-09 12:28:48 -04:00
toasted-nutbread
69c783f861
Frontend/popup proxy message refactoring ( #520 )
...
* Use direct message handler functions
* Remove unused targetPopupId
* Make target a member of FrontendApiSender
* Rename frameId to parentFrameId for clarity
* Remove _parentFrameId
* Rename _parentId to _parentPopupId for clarity
2020-05-09 12:27:56 -04:00
siikamiika
d6a3825a38
Modifier key platform names ( #519 )
...
* wip
* add environment class
* use Environment class
* use Environment for scanning modifier options
* remove Environment in favor of API
* await promise
* use modifier symbols on macOS
* fix key separator issues
* if else to switch
* simplify variable names
2020-05-09 18:36:00 +03:00
toasted-nutbread
48cf646973
Popup refactor ( #518 )
...
* Add default
* Convert function to non-static
* Remove static for private functions
* Replace .call
* Move functions with side effects into a synchronous prepare function
* Rename variables with "container" to "frame" in _initializeFrame
* Rename variables with "container" to "frame"
* Rename getContainer to getFrame
* Rename getContainerRect to getFrameRect
* Organize and simplify
* Fix incorrect change of "popup" => "this"
* Move initial _updateVisibility into prepare()
2020-05-08 19:10:06 -04:00
toasted-nutbread
3949db26d7
Text scanner refactor ( #517 )
...
* Fix return type
* Pass search function as a constructor argument
* Pass constructor as a details object
For consistency with other complex constructors and improved semantics.
* Convert _ignorePoints to a single optional function
* Organize functions
* Rename ignorePoints to ignorePoint
2020-05-08 19:05:50 -04:00
toasted-nutbread
b936c3e4b1
Popup proxy host refactor ( #516 )
...
* Rename PopupProxyHost to PopupFactory
* Update FrontendApiReceiver to support non-async handlers
* Make some functions non-async
* Make setCustomCss non-async
* Make setContentScale non-async
* Remove static
* Rename variables
* Pass frameId into PopupFactory's constructor
* Change FrontendApiReceiver source from popup-proxy-host to popup-factor
* Rename _invokeHostApi to _invoke
* Rename PopupProxy.getHostUrl to getUrl
2020-05-08 19:04:53 -04:00
toasted-nutbread
b972f8cbf6
Text scanner refactor ( #515 )
...
* Mark functions as private
* Mark fields as private
* Add getter/setters for publicly used fields
* Replace public static functions with private non-static functions
* Update comment
2020-05-07 19:45:08 -04:00
toasted-nutbread
33bd9682ea
Query parser refactor ( #514 )
...
* Make functions private
* Make fields private
* Organize
2020-05-07 19:41:27 -04:00
toasted-nutbread
edb86d9ec3
Organize frontend functions ( #513 )
2020-05-07 19:38:09 -04:00
toasted-nutbread
caca9869c4
Add contentScript parameter to backend message handlers ( #512 )
...
* Add contentScript parameter to message handlers
* Remove _validatePrivilegedMessageSender calls from handler functions
* Reformat handlers
2020-05-07 19:37:25 -04:00
toasted-nutbread
f361139d74
Japanese util refactor ( #510 )
...
* Convert mixed japanese.js to utility class
* Copy functions from bg/js/japanese.js into mixed/js/japanese.js
* Remove bg/js/japanese.js
* Make wanakana dependency optional
* Update tests
2020-05-06 19:37:36 -04:00
toasted-nutbread
4eeb879fb8
Remove search query parser inheritance ( #509 )
...
* Remove getMouseEventListeners override
* Use this._options instead of this.options
* Make QueryParser use composition instead of inheritance for TextScanner
* Remove repeat call to document.querySelector('#query-parser-content')
2020-05-06 19:36:42 -04:00
toasted-nutbread
38d6f58fac
Frontend refactor ( #508 )
...
* Use this.popup instead of this.frontend.popup
* Rename Frontend.popup to _popup
* Make Frontend functions private
* Clean up Frontend constructor
2020-05-06 19:35:36 -04:00
toasted-nutbread
d6ae322961
Text scanning update ( #507 )
...
* Fix unity test missing a parameter
* Update docSentenceExtract to not rescan content
2020-05-06 19:34:32 -04:00
toasted-nutbread
f7df6254d6
Dom text scanner fixes ( #505 )
...
* Fix test case
* Add test-dom-text-scanner
* Ensure that DOMTextScanner._node never becomes null
* Add remainder
2020-05-06 19:33:17 -04:00
toasted-nutbread
bb2d9501af
Add apiModifySettings ( #501 )
...
* Update getProfile/getProfileFromContext to store this.options in a variable
* Add useSchema parameter to options getter functions
* Add apiModifySettings
* Use apiModifySettings instead of apiOptionsSet
* Remove apiOptionsSet
* Fix incorrect deleteCount check
* Require explicit scope for options
* Throw on invalid scope
2020-05-06 19:32:28 -04:00
toasted-nutbread
021ccb5ac3
Move util database modification functions ( #499 )
...
* Update onProgress callback to handle multiple arguments
* Add apiImportDictionaryArchive
* Add apiDeleteDictionary
* Make onProgress the last argument for consistency
* Remove deprecated util functions
* Fix issue with missing progress args
* Remove function calls which modify the database from Translator
* Update tests
* Fix errors not being serialized correctly in _createActionListenerPort
2020-05-06 19:28:26 -04:00
toasted-nutbread
501281e887
Popup init update ( #497 )
...
* Add API function to send a message to a specific frameId in a tab
* Update _windowMessageHandlers to support additional info per handler
* Remove message token
* Add new authorization check
* Set up new initialization handler
* Update initialization
* Remove message token
* Replace 'prepare' with 'configure'
* Create new prepare function
* Change configure guard
* Log errors in onMessage
* Improve popup initialize function
* Clear secret/token in _resetFrame
* Remove backend message token
* Clear src and srcdoc attributes before loading
* Don't treat about:blank unloads as load events
2020-05-06 19:27:21 -04:00
toasted-nutbread
ac2f743b76
Remove invalid file name characters from Anki media files ( #496 )
...
* Replace invalid file name characters
* Replace "filename" with "fileName"
2020-05-06 19:25:56 -04:00
siikamiika
a88501ff10
Text selection fixes ( #511 )
...
* select matched text in Frontend.findKanji
* blur search query input when setting content
2020-05-07 01:49:42 +03:00
siikamiika
253dcf8b38
Fix modifier key condition data ( #506 )
...
* save transformed data for modifier key conditions
* validate transformed input
* fix regression
* undo rename
* refactor transformInput handling
* don't overwrite value with null
2020-05-06 19:44:56 +03:00
siikamiika
a1f8f0d1de
support meta as scanning modifier ( #502 )
2020-05-05 00:14:21 +03:00
siikamiika
7d7ff165ce
Extract textSource text inside TextScanner ( #500 )
...
* extract text inside TextScanner
* clone textSource before text extraction
2020-05-05 00:13:43 +03:00
siikamiika
77b744e675
Modifier key profile condition ( #487 )
...
* update Frontend options on modifier change
* add modifier key profile condition
* use select element for modifier condition value
* support "is" and "is not" modifier key conditions
* use plural
* remove dead null check
it's never null in that function
* pass element on rather than assigning to this
* rename event
* remove Firefox OS key to Meta detection
* hide Meta from dropdown on Firefox
* move input type
2020-05-03 04:39:24 +03:00
toasted-nutbread
acfdaa4f48
Fix incorrect static call ( #498 )
2020-05-02 17:24:05 -04:00
toasted-nutbread
d4ae9aa501
DOMTextScanner ( #458 )
...
* Create new class for scanning text in a document
* Update test styles
* Add tests
2020-05-02 13:05:43 -04:00
toasted-nutbread
d581bffa15
Style fixes ( #494 )
...
* Place multi-line expression parentheses on the correct line
* Add function-paren-newline eslint rule
* Add some additional eslint rules
2020-05-02 13:04:17 -04:00
toasted-nutbread
c4ea9321dc
Validate document nodes before use ( #493 )
...
* Validate document.body before use in loadScripts
This also fixes an issue where reject wasn't being passed to loadScriptSentinel.
* Validate document nodes before use in _getSiteColor
* Validate document.body before use in _getViewport
* Validate document.body before use in setContentScale
* Validate document.body before use in docImposterCreate
2020-05-02 13:00:46 -04:00
toasted-nutbread
51032d1eca
Catch WrongDocumentError thrown by compareBoundaryPoints ( #491 )
...
* Catch WrongDocumentError thrown by compareBoundaryPoints
* Filter error based on name
2020-05-02 12:59:59 -04:00
toasted-nutbread
efa7a5ecc3
Remove and unload the popup frame if an unexpected load occurs ( #490 )
...
* Remove and unload the popup frame if an unexpected load occurs
* Remove unused fields
* Only update _injectPromiseComplete if the promise is the most recent one
* Remove redundant this._injectPromise !== null check
2020-05-02 12:59:13 -04:00
toasted-nutbread
8a368aaddc
Don't parent the popup frame to elements which cause unload ( #488 )
2020-05-02 12:58:24 -04:00
toasted-nutbread
401fe9f8d0
Object property accessor API update ( #485 )
...
* Simplify function names
* Add delete and swap functions
* Remove custom setter
Not currently part of the expected use cases.
* Add documentation
* Update tests
* Add delete test functions
* Update tests to use fresh objects
* Add swap test functions
* Add empty tests
* Disable delete on arrays
2020-05-02 12:57:42 -04:00
toasted-nutbread
5a61c311ad
Api invoke with progress ( #483 )
...
* Create an internal API function to open a port
* Create system for running actions over a special port
* Don't assign in expression
2020-05-02 12:57:13 -04:00
toasted-nutbread
6c341a13d8
Refactor frontend API classes ( #482 )
...
* Mark functions as private
* Remove constructor side effects
* Use safer handler invocation
* Mark functions as private
* Mark fields as private
* Update BackendApiForwarder public API
2020-05-02 12:50:44 -04:00
toasted-nutbread
cae6b657ab
Anki audio download ( #477 )
...
* Update how audio is added to Anki cards
* Upgrade Anki templates
* Update comments
2020-05-02 12:50:16 -04:00
toasted-nutbread
08ada6844a
Remove Frontend inheritance ( #486 )
...
* Make Frontend use composition instead of inheritance for TextScanner
* Use push instead of concat
* Update setOptions and setEnabled APIs
* Update how onWindowMessage event listener is added/removed
* Rename options to _options
* Use bind instead of arrow function
* Fix selection being cleared due to settings changes
2020-05-02 12:47:15 -04:00
Allan Wirth
ce861ce079
Add helpful link for markers in settings.html ( #489 )
2020-05-01 16:59:19 -04:00
toasted-nutbread
0956634d61
Add duplicateScope: 'deck' option ( #476 )
...
* Add duplicateScope: 'deck' option
* Add option to control duplicate scope
* Use duplicateScope for findNoteIds
* Update location of quotes
2020-04-27 18:10:59 -04:00
toasted-nutbread
48c7010f4e
Frontend refactor (part 1) ( #484 )
...
* Remove _getVisualViewportScale
* Use super's mouse event listener definitions
* Remove redundant override
* Remove getTouchEventListeners override
* Rename Display.onSearchClear to onEscape
* Change onSearchClear to clearSelection and use an event
* Update how text is marked for selection and deselection
* Replace onError with yomichan.logError
* Update setEnabled to refresh all event listeners
2020-04-27 18:10:37 -04:00
toasted-nutbread
887d769786
Use dynamicLoader for main ( #481 )
...
* Update style of search-main and float-main to have better parity
* Use dynamicLoader to inject scripts and CSS
2020-04-26 16:56:34 -04:00
toasted-nutbread
4e0fc76fe1
Add Yomichan icon SVG ( #478 )
...
* Create Yomichan icon SVG and 32x32 PNG
* Update icons
* Add 32x32 icon definition to HTML pages
2020-04-26 16:56:14 -04:00
toasted-nutbread
5b96559df8
Error logging refactoring ( #454 )
...
* Create new logging methods on yomichan object
* Use new yomichan.logError instead of global logError
* Remove old logError
* Handle unhandledrejection events
* Add addEventListener stub
* Update log function
* Update error conversion to support more types
* Add log event
* Add API log function
* Log errors to the backend
* Make error/warning logs update the badge
* Clear log error indicator on extension button click
* Log correct URL on the background page
* Fix incorrect error conversion
* Remove unhandledrejection handling
Firefox doesn't support it properly.
* Remove unused argument type from log function
* Improve function name
* Change console.warn to yomichan.logWarning
* Move log forwarding initialization into main scripts
2020-04-26 16:55:25 -04:00
siikamiika
ca033a87a0
Update Popup and DisplayFloat optionsContext from Frontend ( #464 )
...
* set optionsContext from Frontend
* update Popup+Display options on Frontend change
* remove popup setOptions
* only update DisplayFloat options from Frontend
* fix optionsContext usage
* fix preview frame arguments
* keep Frontend URL up to date
* cache url
* fix preview frame
* trigger modifyingProfileChange in correct places
* remove async from function not using await
* refactor optionsContext in Frontend
2020-04-26 22:33:50 +03:00
toasted-nutbread
a49e4ccc4e
Merge pull request #472 from toasted-nutbread/fix-pitch-accent-high-calculation
...
Fix high pitch calculation
2020-04-23 18:27:11 -04:00
toasted-nutbread
6b0f1f268b
Merge pull request #467 from toasted-nutbread/dynamic-loader
...
Create dynamic script/CSS loader utility
2020-04-23 18:26:48 -04:00
toasted-nutbread
9216d1862f
Merge pull request #463 from toasted-nutbread/explicit-entry-point
...
Explicit entry points
2020-04-23 18:26:34 -04:00
siikamiika
6cd86e203a
fix custom anki templates
2020-04-23 19:58:31 +03:00
toasted-nutbread
d8276a9d5d
Use IIFE for entry points
2020-04-22 21:42:20 -04:00
toasted-nutbread
2f931e5585
Fix high pitch calculation
2020-04-22 21:04:18 -04:00
toasted-nutbread
749b747728
Remove sentinel script node after load
2020-04-22 17:48:42 -04:00
toasted-nutbread
d05a5f3c46
Create dynamic script/CSS loader utility
2020-04-21 21:16:26 -04:00
toasted-nutbread
d106c638ed
Move popup-nested content into float-main
2020-04-21 18:38:55 -04:00
toasted-nutbread
c43dac19a4
Use wanakana object directly
2020-04-20 22:23:07 -04:00
toasted-nutbread
9ca906ef90
Create float-main.js
2020-04-19 14:29:43 -04:00
toasted-nutbread
7c578f7582
Create popup-preview-frame-main.js
2020-04-19 14:29:43 -04:00
toasted-nutbread
4d3d5d9ccb
Rename search-frontend.js to search-main.js
...
Also move DisplaySearch creation into the main() function.
2020-04-19 14:29:41 -04:00
toasted-nutbread
3edaf319da
Rename context.js to context-main.js
2020-04-19 14:27:15 -04:00
toasted-nutbread
3c8eb9eee0
Create background-main.js
2020-04-19 14:26:44 -04:00
toasted-nutbread
6c93d1984f
Change frontend-initialize.js to content-script-main.js
2020-04-19 14:26:20 -04:00
toasted-nutbread
ba68616d80
Change some more variables using 'source' instead of 'content'
2020-04-19 10:57:23 -04:00
toasted-nutbread
a7e7d546c7
Add documentation
2020-04-19 10:24:59 -04:00
toasted-nutbread
0e80c0d5d0
Rename loadImage to loadImageBase64 for clarity
2020-04-19 10:24:43 -04:00
toasted-nutbread
16893b52b1
Make getFileNameExtension properly handle directory separators
2020-04-19 10:18:31 -04:00
toasted-nutbread
7faaf4e457
Use 'content' instead of 'source' to contain media file data
2020-04-19 10:16:59 -04:00
toasted-nutbread
07e5e5c15b
Show small image preview on [Image] link hover/focus
2020-04-18 21:33:14 -04:00
toasted-nutbread
c75a0d4e70
Fix space being inside the <a> and thus being underlined
2020-04-18 21:33:14 -04:00
toasted-nutbread
ac603d54a3
Add support for displaying images
2020-04-18 21:32:35 -04:00
toasted-nutbread
fd6ea0e404
Add API for getting media data
2020-04-18 21:32:35 -04:00
toasted-nutbread
8106f4744b
Add support for importing and storing media files
2020-04-18 21:31:09 -04:00
toasted-nutbread
51d756eefc
Fix _prepareError check
2020-04-18 21:15:15 -04:00
toasted-nutbread
4638985b16
Remove unused global
2020-04-18 21:12:54 -04:00
toasted-nutbread
66ef730119
Update style, use isObject
2020-04-18 21:12:54 -04:00
toasted-nutbread
dee7d924a8
Show error status for prepare() errors
2020-04-18 21:12:54 -04:00
toasted-nutbread
5c5c70326d
Add a delay before showing the loading state
...
Intended to prevent flickering when startup is quick
2020-04-18 21:12:54 -04:00
toasted-nutbread
c9704b5c5e
Update when/how badge state is changed
2020-04-18 21:12:54 -04:00
toasted-nutbread
6498556ec7
Update isPrepared to be consistent with DisplaySearch's isPrepared
2020-04-18 21:11:15 -04:00
toasted-nutbread
03d77cc3a6
Merge pull request #442 from toasted-nutbread/audio-system-refactoring
...
Audio system refactoring
2020-04-18 21:10:48 -04:00
siikamiika
d66ca93ce4
cache invalidation
2020-04-18 23:28:00 +03:00
siikamiika
a81c33b60a
simplify element source lazy load
2020-04-18 23:28:00 +03:00
siikamiika
691b739849
cache closed shadow dom content windows
2020-04-18 23:28:00 +03:00
siikamiika
66354f1f9e
lazy load element sources
2020-04-18 23:28:00 +03:00
siikamiika
bb3ad78e37
optimize source frame finding
2020-04-18 23:28:00 +03:00
siikamiika
350a113996
use getFullscreenElement to check fullscreen
2020-04-18 23:28:00 +03:00
siikamiika
b786e2da19
move open shadow root iframe finder to a function
2020-04-18 23:28:00 +03:00
siikamiika
85706c421b
show popup inside iframe for closed shadow dom
2020-04-18 23:28:00 +03:00
siikamiika
fbaf50def1
support iframes inside open shadow dom
2020-04-18 23:28:00 +03:00
siikamiika
4fdc300b61
disable root frame popup when iframe is fullscreen
2020-04-18 23:28:00 +03:00
toasted-nutbread
320852f2d0
Fix overlapping audio.play calls due to await
2020-04-18 14:23:34 -04:00
toasted-nutbread
fcbfde506a
Await and handle errors from audio.play()
2020-04-18 14:23:34 -04:00
toasted-nutbread
9fe7b9ad29
Remove unused global
2020-04-18 14:23:34 -04:00
toasted-nutbread
92790763d1
Update style
2020-04-18 14:23:34 -04:00
toasted-nutbread
5c2dff345e
Fix button title text not updating correctly in merge mode
2020-04-18 14:23:34 -04:00
toasted-nutbread
7eb7c88394
Return index of the source instead of the source value
2020-04-18 14:23:34 -04:00
toasted-nutbread
f50aee1021
Only return the cached value if it uses a valid source
2020-04-18 14:23:34 -04:00
toasted-nutbread
e1ebfb02f7
Disable cache on the backend and fix a bug with the cache key
2020-04-18 14:23:34 -04:00
toasted-nutbread
823c026533
Remove de/structuring from public API
2020-04-18 14:23:34 -04:00
toasted-nutbread
7fc3882607
Update the parameters passed to various audio-related functions
2020-04-18 14:23:34 -04:00
toasted-nutbread
5b3d7fadc3
Merge pull request #453 from toasted-nutbread/reuse-anki-instance
...
Reuse AnkiConnect instance
2020-04-18 14:14:52 -04:00
toasted-nutbread
9297eb45ae
Merge pull request #450 from toasted-nutbread/frequency-readings
...
Add support for filtering frequency metadata based on readings
2020-04-18 14:14:30 -04:00
toasted-nutbread
106172e2c1
Merge pull request #447 from toasted-nutbread/util-conversions
...
Util conversions
2020-04-18 14:12:41 -04:00
9e7750125c
Version bump
2020-04-18 11:04:27 -07:00
toasted-nutbread
06e95b8747
Remove unused global
2020-04-17 22:16:08 -04:00
toasted-nutbread
018913d03f
Use isObject
2020-04-17 19:25:07 -04:00
siikamiika
8c16a6e580
Merge pull request #456 from siikamiika/parse-text-refactor
...
Parse text refactor
2020-04-17 01:32:01 +03:00
siikamiika
e6053eefa5
Merge pull request #439 from siikamiika/popup-live-toggle
...
Popup live toggle
2020-04-17 01:31:25 +03:00
siikamiika
619df42aed
simplify to enable constant usage
2020-04-14 21:25:02 +03:00
siikamiika
3fa8b8e186
prevent infinite loop if source length is 0
2020-04-14 21:21:52 +03:00
siikamiika
a02cf28c57
break after switch default
2020-04-14 21:13:46 +03:00
siikamiika
b6f7f8c026
fix _canEnable being used before setting options
2020-04-14 20:59:42 +03:00
siikamiika
950f50ef94
don't focus tab when changing settings
2020-04-14 20:35:52 +03:00
toasted-nutbread
bf971be15b
Merge pull request #444 from toasted-nutbread/unused-globals
...
Check for unused globals as part of CI
2020-04-13 18:55:19 -04:00
siikamiika
6cc87ec975
remove "fragment" from jp.convertReading variables
2020-04-13 22:59:56 +03:00
siikamiika
f93dc85710
assume and propagate strings for text parsing
2020-04-13 22:55:33 +03:00
siikamiika
25bc86c3ce
force empty mecab output properties to strings
2020-04-13 22:14:23 +03:00
siikamiika
c613321a73
move QueryParser.parseText to Backend
2020-04-13 14:53:24 +03:00
toasted-nutbread
ebfc7ca945
Pass anki reference to AnkiNoteBuilder constructor
2020-04-12 12:46:32 -04:00
toasted-nutbread
37c374fb63
Rename _ankiInvoke to _invoke to remove redundancy
2020-04-12 12:44:33 -04:00
toasted-nutbread
3c335e68cd
Throw errors in returned by invocation
2020-04-12 12:43:32 -04:00
toasted-nutbread
cc5e429422
Remove AnkiNull and redundant comment
2020-04-12 12:38:52 -04:00
toasted-nutbread
4c2ca82a29
Use single instance of AnkiConnect
2020-04-12 12:38:33 -04:00
toasted-nutbread
c41c7252ae
Add enabled checks
2020-04-12 12:37:13 -04:00
toasted-nutbread
ade1b705d2
Mark internals as private
2020-04-12 12:20:02 -04:00
siikamiika
362ac84e6c
prevent spawning multiple FrameOffsetForwarders
2020-04-12 19:17:50 +03:00
siikamiika
e627ab2537
fix optionsContext URL for root popup
2020-04-12 19:11:18 +03:00
toasted-nutbread
7f3e272839
Merge pull request #449 from toasted-nutbread/orphan-fix
...
Fix default value of _orphaned
2020-04-12 11:43:07 -04:00
toasted-nutbread
778d49f86b
Merge pull request #443 from toasted-nutbread/fix-get-selection
...
Fix getSelection not working in QueryParser
2020-04-12 11:42:56 -04:00
toasted-nutbread
649adb13d8
Merge pull request #440 from toasted-nutbread/collapse-emphatic-sequences
...
Add support for collapsing emphatic character sequences
2020-04-12 11:42:46 -04:00
toasted-nutbread
ceb12ac415
Add support for filtering frequency metadata based on readings
2020-04-11 23:20:36 -04:00
toasted-nutbread
bf4c1aef6a
Fix default value of _orphaned
2020-04-11 22:27:31 -04:00
toasted-nutbread
c2bf474d1f
Update example
2020-04-11 19:00:01 -04:00
toasted-nutbread
70f0b8b0cd
Fix 'full' mode not being a superset of 'true' mode
2020-04-11 18:58:14 -04:00
toasted-nutbread
f88d4b02e4
Use window.getSelection instead of document.getSelection
2020-04-11 15:56:08 -04:00
toasted-nutbread
90392ac9d6
Add support for collapsing the Katakana-Hiragana Prolonged Sound Mark
2020-04-11 15:43:12 -04:00
toasted-nutbread
cdd817a0e1
Move and rename utilStringHashCode
...
options.js is the only place it's used.
2020-04-11 15:25:21 -04:00
toasted-nutbread
51e17b35e3
Convert some util* functions into api* functions
2020-04-11 15:25:19 -04:00
toasted-nutbread
3c48290cd8
Add isExtensionUrl utility function to yomichan object
2020-04-11 15:17:25 -04:00
siikamiika
e6078ce8f6
remove redundant call guard
2020-04-11 21:04:30 +03:00
siikamiika
ba97e72c8b
fix ignoreElements in QueryParser
2020-04-11 21:04:30 +03:00
siikamiika
5c3641eadb
simplify frontend disable override
2020-04-11 21:04:30 +03:00
siikamiika
d93e3e1a67
use setters instead of EventDispatcher
2020-04-11 21:04:30 +03:00
siikamiika
275f455e73
fix preview frame error
2020-04-11 21:04:30 +03:00
siikamiika
565e3a8c6a
change iframe popup live
2020-04-11 21:04:30 +03:00
siikamiika
b9035854b2
cache created popups
2020-04-11 21:03:22 +03:00
siikamiika
7dd2610ce8
extract different popup creation functions
2020-04-11 21:03:22 +03:00
siikamiika
92109bb5d2
allow disabling scan on search page live
2020-04-11 21:01:27 +03:00
siikamiika
1df59d57b5
limit popup depth live
2020-04-11 21:01:27 +03:00
siikamiika
61a96e327a
prevent injecting frontend multiple times
2020-04-11 21:01:27 +03:00
siikamiika
9adbc80a70
listen to optionsUpdated in popup-nested.js
2020-04-11 21:01:27 +03:00
siikamiika
8c9389e07d
listen to optionsUpdated in search-frontend.js
2020-04-11 21:01:27 +03:00
toasted-nutbread
82f8397000
Merge pull request #438 from toasted-nutbread/display-generator-refactoring
...
Display generator refactoring
2020-04-11 11:37:03 -04:00
toasted-nutbread
a864cf094f
Merge pull request #437 from toasted-nutbread/backend-api-handler-changes
...
Backend api handler changes
2020-04-11 11:32:52 -04:00
toasted-nutbread
a296c758b9
apiBroadcast => apiBroadcastTab
2020-04-10 20:00:18 -04:00
toasted-nutbread
d164fc6f62
Remove unused globals
2020-04-10 18:45:23 -04:00
toasted-nutbread
2c5bf0ed6b
Fix getSelection not working in QueryParser
2020-04-10 17:11:41 -04:00
4e5029f7ec
Update license author field to broader to explicitly reflect that
...
Yomichan is an ongoing community project. It really does take a village,
and everyone who contributes code owns a part of it :)
2020-04-10 11:10:21 -07:00
281023095a
Version bump
2020-04-10 09:36:34 -07:00
toasted-nutbread
0b7791c103
Fix source map for characters collapsed at the start of a string
2020-04-10 12:25:24 -04:00
toasted-nutbread
42a2917bf7
Add support for collapsing emphatic character sequences
2020-04-10 11:56:18 -04:00
toasted-nutbread
025b1f398b
Simplify access to details fields in createTermEntry
2020-04-09 22:40:25 -04:00
toasted-nutbread
06183ec124
Update how termTags is passed to _createTermExpression
2020-04-09 22:40:25 -04:00
toasted-nutbread
bb37b74288
Rename "only" to "disambiguation" to match naming convention used for pitch accents
2020-04-09 22:40:25 -04:00
toasted-nutbread
6788bb31d2
Update _appendMultiple to not use a fallback
2020-04-09 22:40:25 -04:00
toasted-nutbread
f9bdf2c66f
Organize
2020-04-09 22:40:25 -04:00
toasted-nutbread
9bbe35da68
Mark functions as private
2020-04-09 22:40:25 -04:00
toasted-nutbread
d7e4ff067e
Remove statics
2020-04-09 22:40:25 -04:00
toasted-nutbread
75c5c7aabc
Remove data-multi assignments
2020-04-09 22:40:25 -04:00
toasted-nutbread
99f58b49f6
Use data-expression-multi instead of data-multi
2020-04-09 22:40:22 -04:00
toasted-nutbread
c88ec43ad1
Fix yomichanCoreReady waiting for a response
2020-04-07 19:59:10 -04:00
toasted-nutbread
a2b66dc6cc
Rename apiForward to apiBroadcast
2020-04-07 19:51:39 -04:00
toasted-nutbread
96566b8581
Update forward to be synchronous and ignore the reply
2020-04-07 19:49:54 -04:00
toasted-nutbread
038e43d19d
Update some API handlers to be synchronous
2020-04-07 19:47:46 -04:00
toasted-nutbread
82462edce0
Add support for API handlers to be optionally asynchronous
2020-04-07 19:41:02 -04:00
toasted-nutbread
f177e3699a
Merge pull request #434 from toasted-nutbread/error-fixes
...
Error fixes
2020-04-07 19:28:07 -04:00
toasted-nutbread
ac1ecb35ee
Merge pull request #433 from toasted-nutbread/extra-dictionary-information
...
Extra dictionary information
2020-04-07 19:27:58 -04:00
toasted-nutbread
a6773e0240
Fix field name
2020-04-07 19:04:47 -04:00
toasted-nutbread
8a419dfa67
Pass AudioSystem instance to AnkiNoteBuilder constructor
2020-04-07 19:04:47 -04:00
toasted-nutbread
716ab99fc0
Remove inconsistent/unused return value
2020-04-07 19:04:47 -04:00
toasted-nutbread
97b7b521dd
Create _containsMarker to reduce redundant code
2020-04-07 19:04:47 -04:00
toasted-nutbread
a49e061545
Move _dateToString into a new function
2020-04-07 19:04:47 -04:00
toasted-nutbread
efcdff72a3
Move media injection functions into AnkiNoteBuilder
2020-04-07 19:04:47 -04:00
toasted-nutbread
29cf8d2f79
Fix not awaiting this._getNoteContext
2020-04-06 18:55:45 -04:00
toasted-nutbread
696897f6fa
Add support for getting the document title
2020-04-06 18:55:36 -04:00
toasted-nutbread
199b926f23
Add overridable getDocumentTitle
2020-04-06 18:20:04 -04:00
toasted-nutbread
1d7c86ded0
Add document-title tag to settings options
2020-04-06 18:20:04 -04:00
toasted-nutbread
4011a091b6
Add support for {document-title}
2020-04-06 18:20:04 -04:00
toasted-nutbread
059db280bb
Add custom context object for note creation
2020-04-06 18:20:04 -04:00
toasted-nutbread
8b07a23de9
Rename context to details
2020-04-06 18:20:04 -04:00
toasted-nutbread
9dfe531dfd
Use logError instead of console.log
2020-04-05 18:27:53 -04:00
toasted-nutbread
7449ffd4dc
Fix error reporting during dictionary import
2020-04-05 18:26:38 -04:00
toasted-nutbread
dd9d50bfc1
Update settings page to display additional information
2020-04-05 14:46:45 -04:00
toasted-nutbread
1b97629cd8
Store new dictionary data
2020-04-05 14:46:45 -04:00
toasted-nutbread
cd831d88cc
Update schema to include additional fields
2020-04-05 14:46:45 -04:00
siikamiika
22a97d916f
fix NOT (a OR B) to NOT (a AND b)
2020-04-05 20:42:23 +03:00
siikamiika
5596a8f6f7
strict object property type check
2020-04-05 20:03:45 +03:00
siikamiika
aea7c590d1
refactor _updateFrameOffset
2020-04-05 20:03:45 +03:00
siikamiika
abd056e563
reduce code duplication
2020-04-05 20:03:45 +03:00
siikamiika
31a326fe63
add option for iframe popups
2020-04-05 20:03:42 +03:00
siikamiika
0d76cef434
give a name to a timeout
2020-04-05 19:57:37 +03:00
siikamiika
e4fc53480f
move broadcastRootPopupInformation to Frontend
2020-04-05 19:57:37 +03:00
siikamiika
867902523f
simplify promise
2020-04-05 19:57:37 +03:00
siikamiika
123e725049
use duck typing for event listener
2020-04-05 19:57:37 +03:00
siikamiika
067c26982e
setTimeout refactoring
2020-04-05 19:57:37 +03:00
siikamiika
559033f0a6
default to [0, 0] when sourceFrame is not found
2020-04-05 19:57:37 +03:00
siikamiika
c171503d77
use getTemporaryListenerResult in other places
2020-04-05 19:57:37 +03:00
siikamiika
7928c5d713
error handling
2020-04-05 19:57:37 +03:00
siikamiika
9f9ea1d5fb
throttle frame offset getting
2020-04-05 19:57:37 +03:00
siikamiika
fa65ab3512
refactor getTemporaryListenerResult timeout
2020-04-05 19:57:37 +03:00
siikamiika
d88635cbb2
temporary listener abstraction
2020-04-05 19:57:37 +03:00
siikamiika
9fe1e38afb
refactor
2020-04-05 19:57:37 +03:00
siikamiika
d20ece9f07
move frame offset forwarding code to a class
2020-04-05 19:57:37 +03:00
siikamiika
09151a1a86
simplify popup proxy prepare
2020-04-05 19:57:37 +03:00
siikamiika
b996d0b1e0
fix and simplify
2020-04-05 19:57:37 +03:00
siikamiika
4814db8df1
adjust iframe popup position to root page
2020-04-05 19:57:37 +03:00
siikamiika
b6c4914b79
simplify popup prepare
2020-04-05 19:57:37 +03:00
siikamiika
6806e7055f
show iframe popups in root frame
2020-04-05 19:57:37 +03:00
toasted-nutbread
3684a479c5
Merge pull request #424 from toasted-nutbread/dictionary-importer
...
Dictionary importer
2020-04-05 12:52:07 -04:00
toasted-nutbread
058f626efd
Merge pull request #423 from toasted-nutbread/text-source-map
...
Text source map
2020-04-05 12:51:56 -04:00
toasted-nutbread
9052ab8ebd
Move dictionary import functionality into a new class
2020-03-30 20:51:20 -04:00
toasted-nutbread
02f7763f00
Add importDictionary function to Backend
2020-03-30 20:45:36 -04:00
toasted-nutbread
c193a703cc
Move database creation into Backend
2020-03-30 20:39:04 -04:00
toasted-nutbread
8095d9138c
Add isPrepared
2020-03-30 20:28:44 -04:00
toasted-nutbread
1a8bbf32d5
Make dictionaryExists public
2020-03-30 20:28:41 -04:00
toasted-nutbread
a6fedae9c7
Update bulkAdd implementation
2020-03-30 20:19:39 -04:00
toasted-nutbread
938b696468
Hide reading disambiguation if the downstep notation is visible
2020-03-29 11:27:35 -04:00
toasted-nutbread
1f84280ea0
Include readings in disambiguations
2020-03-29 11:27:13 -04:00
toasted-nutbread
a7da4416d7
Change names
2020-03-29 11:19:43 -04:00
toasted-nutbread
ae84d13757
Create simplified source map class
2020-03-28 18:17:00 -04:00
toasted-nutbread
aa2a0c09f4
Update how pitch accent expressions are disambiguated
2020-03-28 14:52:44 -04:00
toasted-nutbread
a339bf69d3
Move set functions into core.js
2020-03-28 14:50:10 -04:00
toasted-nutbread
2c4983da46
Update styles
2020-03-28 12:31:41 -04:00
toasted-nutbread
431473d55c
Fix layering issue
2020-03-28 12:01:55 -04:00
toasted-nutbread
0d80fcdf86
Move Japanese utility functions out of display-generator.js
2020-03-28 10:47:02 -04:00
toasted-nutbread
cbc7e2646d
Add options
2020-03-28 10:25:57 -04:00
toasted-nutbread
803a464fb9
Add support for accent graph
2020-03-28 10:25:57 -04:00
toasted-nutbread
97a520cc15
Add support for displaying pitch accents
2020-03-28 10:25:57 -04:00
toasted-nutbread
2d7214ce60
Add metadata for unique expression count
2020-03-28 10:25:57 -04:00
toasted-nutbread
047efaa3db
Add support for returning pitch data from the database
2020-03-28 10:25:57 -04:00
toasted-nutbread
9e8a22b08a
Add support for different sections for term content
2020-03-28 10:25:57 -04:00
toasted-nutbread
168bd72d0a
Update _appendMultiple to support general iterables
2020-03-28 10:25:57 -04:00
toasted-nutbread
93f7278586
Update dictionary schema to support pitch accent data
2020-03-28 10:25:11 -04:00
toasted-nutbread
a0c4ce779d
Merge pull request #413 from toasted-nutbread/japanese-utility
...
Convert Japanese utilities to a module-like style
2020-03-27 22:53:45 -04:00
siikamiika
b616bac66e
remove targetPopupId 'all'
...
Make unset targetPopupId mean the same thing instead
2020-03-21 22:13:07 +02:00
siikamiika
17934cce4b
use random ID as popup ID
2020-03-21 22:13:07 +02:00
siikamiika
2c4fd648db
remove stubs
2020-03-21 22:13:07 +02:00
siikamiika
46c6ad98f3
use dependency injection in QueryParser
...
Also fix an issue with settings update triggering a lookup on unprepared
QueryParser.
2020-03-21 22:13:07 +02:00
siikamiika
962c2a381f
apply all options on profile change
2020-03-21 22:13:07 +02:00
toasted-nutbread
70284c62ee
Replace DisplayGenerator._isCharacterKanji with jp.isCodePointKanji
2020-03-21 13:22:14 -04:00
toasted-nutbread
77a2cc60e9
Move basic string/character testing functions into a mixed/js/japanese.js
2020-03-21 13:18:34 -04:00
toasted-nutbread
a50b76fd21
Remove unnecessary sourceMapping population in convertAlphabeticToKana
2020-03-15 22:24:30 -04:00
toasted-nutbread
248a18dd72
Fix case issue
2020-03-15 22:24:30 -04:00
toasted-nutbread
264820f208
Add more unicode code point ranges
2020-03-15 22:24:30 -04:00
toasted-nutbread
0f15cca2df
Convert Japanese utilities to a module-like style
2020-03-15 22:24:30 -04:00
toasted-nutbread
7c5b64f9a4
Merge pull request #406 from toasted-nutbread/object-property-accessor
...
Object property accessor
2020-03-15 22:23:32 -04:00
toasted-nutbread
4b699a6b46
Change integer state IDs to strings
2020-03-15 12:26:38 -04:00
98afe7adae
Bump version
2020-03-14 13:12:08 -07:00
toasted-nutbread
174a942e07
Fix misuse of getPathString
2020-03-14 13:51:06 -04:00
toasted-nutbread
6865fc0b52
Add ObjectPropertyAccessor
2020-03-14 13:50:36 -04:00
toasted-nutbread
64fc0349a1
Update global declarations
2020-03-10 22:40:35 -04:00
toasted-nutbread
f7bbcb6df4
Merge pull request #408 from toasted-nutbread/use-code-point
...
Replace charCodeAt and fromCharCode with codePointAt and fromCodePoint
2020-03-10 19:24:24 -04:00
toasted-nutbread
36c55f0b17
Merge pull request #401 from toasted-nutbread/audio-refactor
...
Audio refactor
2020-03-10 19:20:34 -04:00
toasted-nutbread
72219ba353
Replace charCodeAt and fromCharCode with codePointAt and fromCodePoint
2020-03-09 21:58:06 -04:00
toasted-nutbread
0cbf427ab5
Update argument order
2020-03-09 21:00:57 -04:00
siikamiika
7541517d80
Merge pull request #405 from siikamiika/fix-popup-depth-search-page
...
start popup depth from 1 on search page
2020-03-09 12:16:01 +02:00
siikamiika
2ca88b9b9f
strict check if popup depth has been set
2020-03-09 11:56:06 +02:00
siikamiika
0112dbab33
fix searchQueryUpdate
2020-03-09 04:06:31 +02:00
siikamiika
e2bf22831a
start popup depth from 1 on search page
2020-03-09 02:10:28 +02:00
toasted-nutbread
9cd4a52b9e
Rename audio.js to audio-uri-builder.js
2020-03-07 21:57:26 -05:00
toasted-nutbread
aad4ab5ecc
Rename audio functions using "url" to use "uri"
2020-03-07 21:57:26 -05:00
toasted-nutbread
391f3dd29a
Update how audio URIs are built
2020-03-07 21:57:26 -05:00
toasted-nutbread
21d194d145
Make _audioInject internal to Backend
2020-03-07 21:56:15 -05:00
toasted-nutbread
426c1534e7
Remove marker restrictions
2020-03-07 21:51:56 -05:00
toasted-nutbread
79eb4bdc16
Remove bg/js/api.js
2020-03-07 21:49:04 -05:00
toasted-nutbread
8f9b6534c6
Move stringReplaceAsync
...
It is only used in AnkiNoteBuilder and it was originally created
for this purpose.
2020-03-07 21:47:48 -05:00
toasted-nutbread
7ac1c843a9
Use dependency injection for apiTemplateRender
2020-03-07 21:47:48 -05:00
toasted-nutbread
69cce49b0d
Move Anki note generation functionality into a new class
2020-03-07 21:46:59 -05:00
toasted-nutbread
dceaa85309
Rename audio.js to audio-system.js
2020-03-07 21:43:51 -05:00
toasted-nutbread
6adf2cf63f
Rename function
2020-03-07 21:43:51 -05:00
toasted-nutbread
a8eb50d96f
Use dependency injection for getAudioUri implementation
2020-03-07 21:43:51 -05:00
toasted-nutbread
75eac153d6
Remove old APIs
2020-03-07 21:42:19 -05:00
toasted-nutbread
d8e2e69ca5
Use AudioSystem on the audio settings page
2020-03-07 21:42:18 -05:00
toasted-nutbread
cadcd72fad
Use AudioSystem in Backend
2020-03-07 21:42:18 -05:00
toasted-nutbread
e048a1efce
Use AudioSystem in Display
2020-03-07 21:42:18 -05:00
toasted-nutbread
110e561eae
Create new AudioSystem class
2020-03-07 21:42:18 -05:00
toasted-nutbread
b8eb5e6016
Merge pull request #397 from toasted-nutbread/clipboard-monitor-refactor2
...
Clipboard monitor refactor
2020-03-07 21:41:45 -05:00
siikamiika
4b0dfa92aa
Merge pull request #393 from siikamiika/reconnect-frontend-api-sender
...
reconnect FrontendApiSender after disconnecting
2020-03-08 00:50:24 +02:00
toasted-nutbread
eea9dc68b9
Fix runtime.lastError error on startup in Firefox
2020-03-07 17:41:57 -05:00
toasted-nutbread
ba64f34df1
Mark fields as private
2020-03-07 10:48:56 -05:00
toasted-nutbread
93aa275d82
Use explicit dependency injection for ClipboardMonitor
2020-03-07 10:47:30 -05:00
toasted-nutbread
7822230b7f
Use events for ClipboardMonitor
2020-03-07 10:41:31 -05:00
siikamiika
24d9001b14
fix options object location
2020-03-07 14:27:44 +02:00
siikamiika
387e93dbbc
use docSentenceExtract in QueryParser
2020-03-07 14:20:08 +02:00
siikamiika
9fef0751f3
replace spread with destructuring
2020-03-07 04:11:18 +02:00
siikamiika
86be737508
fix popup containsPoint offset
2020-03-07 03:52:36 +02:00
siikamiika
8b76761744
reconnect FrontendApiSender after disconnecting
2020-03-07 00:32:45 +02:00
siikamiika
de8d9e6bf1
fix return type
2020-03-04 05:28:22 +02:00
siikamiika
9ceb663f29
add missing runtime message for backendPrepared
2020-03-03 00:05:01 +02:00
siikamiika
e6347a94e7
prepare Backend for browser_action
2020-03-02 23:26:55 +02:00
siikamiika
a05a05c4f4
fix content script entry point Yomichan prepare
...
Covers Popup stuff in addition to Frontend
2020-03-02 12:01:53 +02:00
siikamiika
56b2f2c853
trigger yomichanCoreReady only when preparing
2020-03-02 11:31:09 +02:00
siikamiika
e0edb30efd
fix Backend prepare issues in settings
2020-03-02 11:18:09 +02:00
siikamiika
bd48d2f919
fix Yomichan core message issues
2020-03-02 10:35:46 +02:00
siikamiika
967e99b7f6
ensure Backend prepare in other places
2020-03-02 04:51:45 +02:00
siikamiika
e6e5f23cf8
fix API calls when Backend isn't ready yet
2020-03-02 00:39:15 +02:00
siikamiika
2abf46b6fa
simplify backend prepare
2020-03-01 23:06:37 +02:00
toasted-nutbread
46fee07d36
Fix audio buttons not being hidden properly
2020-03-01 14:51:39 -05:00
siikamiika
b3994acbac
Merge pull request #384 from siikamiika/fix-non-primary-dictionary-format
...
compatibility transform non-primary definitions
2020-03-01 21:43:36 +02:00
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