aboutsummaryrefslogtreecommitdiff
path: root/ext/js
Commit message (Collapse)AuthorAge
* Optimize AnkiConnect.findNoteIds (#2190)toasted-nutbread2022-08-20
| | | | | | | * Use for loop rather than map * Add _getNoteQuery * Optimize findNoteIds to reduce repeat queries
* Fix invalid default values for popupTheme and popupOuterTheme (#2180)toasted-nutbread2022-08-20
| | | | | * Fix invalid default values for popupTheme and popupOuterTheme * Options update
* CSS zoom handling (#2178)toasted-nutbread2022-08-20
| | | | | * Refactor * Handle CSS zoom when scanning
* Audio download timeout (#2187)toasted-nutbread2022-08-20
| | | | | | | | | | | | | | | | | | | | | | | * Add support for an idle timeout when downloading audio * Update eslint rules * Pass idleTimeout to the downloader from DisplayAnki * Add anki.downloadTimeout setting * Update tests * Assign _audioDownloadIdleTimeout using settings * Show info about cancelled downloads * Handle Firefox bug * Improve audio errors * Refactor * Move functions to RequestBuilder
* Fix TextSourceElement.getRects (#2177)toasted-nutbread2022-08-20
|
* Add new structured content styling options (#2203)Stephen Kraus2022-08-14
| | | | | | | | | Allow for arbitrary string assignment to the font-size property. https://developer.mozilla.org/en-US/docs/Web/CSS/font-size Add support for the text-align property. https://developer.mozilla.org/en-US/docs/Web/CSS/text-align Co-authored-by: stephenmk <stephenmk@users.noreply.github.com>
* Do not change selection if user selected text manually (#2186)oakkitten2022-07-01
| | | | | | | | | | | | | | * Do not change selection if user selected text manually * Remove capture argument for selectionchange listener It is not applicable * Make a note of user selection when Yomichan is enabled User might have some text selected on a page prior to enabling Yomichan via the toolbar icon; let it stay intact. * Extract selection change by user listener into a method
* TextScanner refactor (#2174)toasted-nutbread2022-06-05
| | | | | * Refactor input conversion, add additional validation * Simplify input data structure
* Settings modal updates (#2173)toasted-nutbread2022-06-03
| | | | | | | | | | | * Move the "Add" button into the footer * Scroll to the bottom when adding * Move the Audio Sources add button * Simplify, remove the (?) link * Move "Add" button to footer
* Touch and pen input updates (#2172)toasted-nutbread2022-06-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Remove unnecessary return * Move touch start input filtering * Refactor * Add scanOnTouchPress * Add preventPenScrolling * Rename scanOnPenPress to scanOnPenMove * Rename scanOnPenRelease to scanOnPenReleaseHover * Simplify * Refactor _searchAtFromPen early exit * Merge _penPointerPressed and _penPointerReleased into a single variable * Add more options * Simplify pen pointer coordinates * Implement scanOnPenPress and scanOnPenRelease * Implement scanOnTouchRelease * Fix tests * Don't search on touch cancel * Cancel touch if the touch action is used for scrolling or other gestures * Fix incorrect scroll prevention options being used * Organize options * Fix typos
* Collapsible dictionary updates (#2170)toasted-nutbread2022-05-30
| | | | | | | | | | | * Add "force collapsed" and "force expanded" options * Simplify "any" check * Update style * Add help modal for collapsible dictionaries * Disable wrapping
* Add support for Anki API key (#2169)toasted-nutbread2022-05-30
| | | | | | | | | | | | | * Update material.css to support password fields * Support password * Add "apiKey" setting * Use apiKey * Update options if API key changes * Update tests
* Rename anki.js to anki-connect.js to more accurately reflect class name (#2167)toasted-nutbread2022-05-29
|
* Add support for guiEditNote to view notes (#2143)toasted-nutbread2022-05-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add AnkiConnect.guiEditNote * Update _onApiNoteView to first try guiEditNote * Add setting * Update noteView API * Use setting * Return which mode was used * Update DisplayGenerator * Handle errors in DisplayAnki * Update docs * Add isErrorUnsupportedAction function * Add an allowFallback option to noteView * Disambiguate * Simplify now that preferredMode isn't used * Update settings info * Implement test buttons * Update styles * Update status visibility * Wrap layout * Update description * Update date
* Sort using number of definitions (#2166)toasted-nutbread2022-05-29
|
* Sort using frequency dictionary before using dictionary priority (#2165)toasted-nutbread2022-05-29
|
* Update referenceUrl to include fragment (#2164)toasted-nutbread2022-05-29
|
* Add an issues page with information about some errors (#2163)toasted-nutbread2022-05-28
|
* HTML page script refactoring (#2162)toasted-nutbread2022-05-28
| | | | | | | * Move some common functionality * Move setupEnvironmentInfo into ExtensionContentController * Move background/environment.js to extension/environment.js
* Audio request errors (#2161)toasted-nutbread2022-05-28
| | | | | | | | | | | | | | | | | | | | | * Generalize _onBeforeSendHeadersAddListener * Simplify filter assignment * Use requestId rather than done * Properly support Firefox addListener without arguments * Add details to fetchAnonymous errors * Refactor * Enable support for no header modifications * Update MV3 support for error details * Expose errors in downloadTermAudio * Throw an error if audio download fails due to potential permissions reasons
* Use \f rather than \x0C for whitespace form feed (#2158)toasted-nutbread2022-05-22
|
* Add apiReflect and apiExists to AnkiConnect (#2150)toasted-nutbread2022-05-22
|
* Simplify assignment of _contentType = 'clear' (#2154)toasted-nutbread2022-05-21
|
* Anki findNotes (#2152)toasted-nutbread2022-05-21
| | | | | * Add findNotes API * Add api.findAnkiNotes
* Display notification updates (#2149)toasted-nutbread2022-05-20
| | | | | | | | | | | * Expose container and node on DisplayNotification * Add Display.createNotification * Rename methods * Rename fields * Remove double newline
* ESlint JSdoc (#2148)toasted-nutbread2022-05-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Install eslint-plugin-jsdoc * Initial rules setup * Update lists * Use @returns rather than @return * Remove error throwing code which is never executed * Fix issues relating to @throws * General error fixes * Update Display type documentation * Various doc fixes * Fix invalid tuple syntax * Doc updates * Remove unused * Doc updates * Enable jsdoc/require-returns * Update rules * Update remaining rules
* Add mode documentation about the types used by Translator (#2147)toasted-nutbread2022-05-19
|
* DOMTextScanner updates (#2146)toasted-nutbread2022-05-18
| | | | | | | | | | | * JSDoc updates * Move function * Simplify * Refactor return type * Refactor getElementSeekInfo return type
* CssStyleApplier updates (#2145)toasted-nutbread2022-05-18
| | | | | | | | | * Update internal structure of _styleData * Rename parameter * Rename * Add docs
* Fix this._horizontalTextPositionBelow being assigned incorrectly (#2144)toasted-nutbread2022-05-18
|
* Update _getNodeNoteIds to return integer IDs (#2142)toasted-nutbread2022-05-16
|
* Popup positioning improvements (#2135)toasted-nutbread2022-05-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Rename elementRect to sourceRect * Add getRects function to TextSourceElement and TextSourceRange * Add jsdocs * Remove unnecessary valid parameter * Remove default parameter * Make optionsContext optional * Remove unnecessary checks * Update sourceRect to use left/right rather than x/y * Update the return type of Popup*.getFrameRect * Rename some unrelated rect vars for disambiguation * Disambiguate between Popup.Rect and Popup.ValidRect * Move sourceRect destructuring * Pass multiple source rects * Simplify * Change Rect to use right/bottom rather than width/height * Update how popup offset is applied * Simplify frame offset * Remove _applyFrameOffset * Use right/bottom rather than width/height * Simplify some positioning settings * Update parameter names for clarity * Fix typos * Refactor data type for _getPosition* functions * Support using multiple source rects * Combine _getPosition functions * Refactor * Expose after dataset value * Consistently use this's property * Add jsdoc
* Ignore DOMExceptions thrown by assigning an invalid dataset property (#2133)toasted-nutbread2022-05-14
|
* Regex optimizations (#2132)toasted-nutbread2022-05-14
| | | | | | | * Remove regex construction for SimpleDOMParser.getElementsByClassName * Remove regex construction for CssStyleApplier._getRulesForClass * Rename, add jsdoc for clarity
* Structured content auto language (#2131)toasted-nutbread2022-05-14
| | | | | | | | | | | | | | | | | | | | | | * Pass JapaneseUtil instance to StructuredContentGenerator * Move body of createStructuredContent to an internal function * Create _createStructuredContentGenericElement * Wrap structured content in a <span> * Change _createStructuredContent to _appendStructuredContent * Add public appendStructuredContent function * Add missing return * Remove unused _createDocumentFragment * Automatically assign lang=ja for content with Japanese characters without an explicit language * Add test
* Add new structured content features: lists and the HTML `lang` attribute (#2129)Stephen Kraus2022-05-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add support for structured content lists and `list-style-type` style A full list of supported style types is documented here: https://developer.mozilla.org/en-US/docs/Web/CSS/list-style-type There's nothing in this code preventing a term bank from assigning, for example, a `list-style-type` style to a `div` element, but it doesn't seem like browsers will complain about things like that. * Add support for `lang` attribute in structured content Support added for the following node types: "ruby", "rt", "rp", "table", "thead", "tbody", "tfoot", "tr", "td", "th", "span", "div", "ol", "ul", "li", "a" I couldn't get it to work for the alt-hover text on "img" tags. Tests are included in the file "test/data/dictionaries/valid-dictionary/term_bank_1.json" * Add styles for structured content lists * Add override rules for new structured-content list styles see: https://github.com/FooSoft/yomichan/pull/2129 Co-authored-by: stephenmk <stephenmk@users.noreply.github.com>
* Hide popup on cursor exit (#2109)toasted-nutbread2022-04-03
| | | | | | | | | * Update phrasing * Add new options * Add settings * Implement
* Update Popup to not store the full options object (#2106)toasted-nutbread2022-04-03
|
* Theme updates (#2105)toasted-nutbread2022-04-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Change siteColor to siteTheme * Fix potential null exception * Simplify * Update display theme assignment * Add a data-browser-theme attribute * Add "browser" option for theme * Create ThemeController * Add theme-controller.js to relevant pages * Use ThemeController * Simplify * Fix 'light' being used instead of 'default' * Update the settings values to more accurately reflect their usage * Change default site theme in display.js * Remove async * Restore async for consistency
* Text scanner event capture (#2101)toasted-nutbread2022-04-02
| | | | | * Add capture parameter to event listeners * Enable capture
* Workaround for Google Docs canvas rendering updates (#2096)toasted-nutbread2022-04-02
|
* Structured content links (#2089)toasted-nutbread2022-03-17
| | | | | | | | | | | | | | | | | * Update CSS to JSON converter to generalize the remove-property comment * Fix navigation not being updated when _clearContent is run * Add structured content schema for link tags * Add test links * Add external-link icon * Pass Display instance to DisplayContentManager * Update structured content generation * Update link styles
* AnkiTemplateRendererContentManager (#2088)toasted-nutbread2022-03-14
| | | | | | | | | * Make function private * Update comments * Refactor the content manager that is provided to StructuredContentGenerator in AnkiTemplateRenderer * Update function to not be async, for API parity
* Rename MediaLoader to DisplayContentManager (#2087)toasted-nutbread2022-03-14
|
* Update ClipboardReader.getImage implementation (#2085)toasted-nutbread2022-03-13
|
* Improve Anki storeMediaFile (#2084)toasted-nutbread2022-03-13
| | | | | * Use the return value of storeMediaFile * Update documentation
* Add additional Anki card marker aliases (#2083)toasted-nutbread2022-03-13
|
* Add support for logging Anki errors on the settings page (#2073)toasted-nutbread2022-02-20
|
* Update anki card frequency (#2065)toasted-nutbread2022-02-05
| | | | | * Prefer to use displayValue for Anki card frequency values * Update test data
* Update copyright date (#2062)toasted-nutbread2022-02-02
| | | | | | | * Update eslint settings * Update 2021 files * Update other files