summaryrefslogtreecommitdiff
path: root/ext/js/display
Commit message (Collapse)AuthorAge
* Modernize codebaseDarius Jahandarie2023-11-04
| | | | | | - Use ES modules - Remove vendored libs and build them from npm using esbuild - Switch from JSZip to zip.js
* fix: chromium clipboard accessjbukl2023-10-20
| | | | on chromium, backend calls to clipboardGet are forwarded to an offscreen script
* fixed eslint, changed header to only use 2 spaces, added missing headers to testAustin Siew2023-03-22
|
* Updated LICENSE to full license, added Yomitan 2023 to all license headersAustin Siew2023-03-21
|
* DocumentUtil static (#2232)toasted-nutbread2022-09-24
| | | | | | | | | | | | | | | * Make all methods static The two non-static methods are kept for temporary compatibility * Use this instead of class name now that functions are static * Update test * Don't instantiate DocumentUtil * Remove temporary non-static methods * Remove unused global declaration
* Exclude documentElement from zoom calculation (#2227)toasted-nutbread2022-09-20
| | | | | | | | | | | | | | | * Exclude documentElement from zoom calculation * Add an option * Refactor zoom coordinate conversion functions * Convert zoom coordinates for text sources * Rename variable * Convert rect coordinate spaces * Handle shadow DOM
* ArrayBufferUtil (#2215)toasted-nutbread2022-08-20
| | | | | | | * Rename StringUtil to ArrayBufferUtil * Update docs * Rename file string-util.js to array-buffer-util.js
* Profile index fixes (#2207)toasted-nutbread2022-08-20
| | | | | | | | | * Update settings controller to consistently initialize * Allow profile index to be reset if an error occurs * Update message handler to be async * Fix error when deleting the current profile
* 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
* 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>
* 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 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
* Add an issues page with information about some errors (#2163)toasted-nutbread2022-05-28
|
* Simplify assignment of _contentType = 'clear' (#2154)toasted-nutbread2022-05-21
|
* 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
* 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
|
* 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>
* 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
* 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 copyright date (#2062)toasted-nutbread2022-02-02
| | | | | | | * Update eslint settings * Update 2021 files * Update other files
* Scanning wildcards (#2042)toasted-nutbread2021-12-18
| | | | | | | | | * Add scanning.matchTypePrefix option * Update TextScanner to use matchTypePrefix option * Add setting * Update warning
* matchType/deinflect distinction (#2040)toasted-nutbread2021-12-17
| | | | | | | * Pass a "deinflect" option to findTerms * Update Translator to use deinflect option * Fix test input options
* Dictionary database term source info (#2039)toasted-nutbread2021-12-17
| | | | | | | | | | | | | | | | | | | * Update DictionaryDatabase._findMultiBulk's createResult callback signature * Simplify _splitField use * Update sequence * Expose new fields 'matchType' and 'matchSource' as part of term data * Expose matchType and matchSource as part of TermSource * Update sourceTermExactMatchCount calculation * Update test data * Expose matchType and matchSource info in HTML attributes * Add primaryMatchTypes attribute
* Replace 'wildcard' parameter with 'matchType' (#2038)toasted-nutbread2021-12-17
|
* Fix source name not being used (#2036)toasted-nutbread2021-12-14
|
* Action handler name disambiguation (#2018)toasted-nutbread2021-11-21
| | | | | | | | | | | | | | | | | | | * Disambiguate PopupFactory action handlers * Update HotkeyHandler action names * Disambiguate Frontend action handlers * Disambiguate Display action handlers * Disambiguate PopupPreviewFrame action handlers * Disambiguate Yomichan action handlers * Disambiguate Frontend action handlers * Disambiguate Display action handlers * Disambiguate SearchDisplayController action handlers
* Fix search page not being cleared properly (#2005)toasted-nutbread2021-11-13
|
* Don't stop audio playback when hiding a popup (#1995)toasted-nutbread2021-10-21
|
* Display menu button (#1992)toasted-nutbread2021-10-17
| | | | | * Implement new menu which includes a debug log option * Update wording
* Display button updates (#1991)toasted-nutbread2021-10-17
| | | | | * Update display buttons * Remove use of _addMultipleEventListeners
* String frequency support (#1989)toasted-nutbread2021-10-14
| | | | | | | | | | | | | | | | | | | | | | | | | * Restore support for string frequency values * Add support for {value, displayValue} frequencies * Update test data * Improve number parsing of string frequencies * Improve reading detection * Expose a displayValue property for frequency information * Update docs * Expose displayValue to Anki note data * Fix translator * Update display generation * Update test data * Update counts
* Fix query being set to null when an empty search page is opened (#1988)toasted-nutbread2021-10-14
|
* Search query back button (#1981)toasted-nutbread2021-10-09
| | | | | * Always allow history to go back/forward when using browser history * Add a back button which is visible when using the query parser
* Display refactoring (#1978)toasted-nutbread2021-10-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Refactor _setContentTermsOrKanji * Update query assignment * Simplify * Remove redundant _updateQueryParser * Reorder query assignment * Remove isTerms, replace with isKanji * Simplify defaults * Refactor events * Update DisplayAnki to use events * Simplify * Update DisplayAudio to use events * Simplify * Move audio hotkeys * Add frameVisibilityChange event * Fix name * Add logDictionaryEntryData event * Move clearAutoPlayTimer handler * Fix call * Externalize DisplayAnki and DisplayAudio from Display * Simplify clear
* Hotkey dictionary navigation fix (#1970)toasted-nutbread2021-09-30
| | | | | | | * Add getRect function to ScrollElement * Update _focusEntry to take a definition index * Update behaviour of (next|previous)EntryDifferentDictionary
* Search query offset value (#1968)toasted-nutbread2021-09-27
| | | | | | | | | | | * Add type property to TextSource* classes * Use type property rather than instanceof * Expose a sentence offset value * Use offset added to URL * Improve fallback sentence for Anki note context
* Remove display query post process (#1967)toasted-nutbread2021-09-26
| | | | | * Remove search query post-processing * Remove _rawQuery, as it is redundant with _query
* Add data-is-primary attribute to headwords (#1946)toasted-nutbread2021-09-11
|
* Structured content data (#1930)toasted-nutbread2021-09-04
| | | | | | | | | | | * Add support for structured-content data attributes * Assign dataset properties * Don't remove data-sc attributes * Use helper functions * Update test data
* Fix repeated note IDs shown on the "View Note" button (#1927)toasted-nutbread2021-09-03
|
* Add support for structured content margins (#1920)toasted-nutbread2021-08-31
|
* Fix empty sentence on some search page URLs (#1919)toasted-nutbread2021-08-31
|
* Fix history replacement issue (#1917)toasted-nutbread2021-08-30
| | | | | * Remove unused "history" field of event details * Change setContent history parameter to historyMode