summaryrefslogtreecommitdiff
path: root/ext/js/display/display.js
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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* Replace 'wildcard' parameter with 'matchType' (#2038)toasted-nutbread2021-12-17
|
* 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
|
* 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
* 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
* Fix history replacement issue (#1917)toasted-nutbread2021-08-30
| | | | | * Remove unused "history" field of event details * Change setContent history parameter to historyMode
* Fix auto-play not working on the search page (#1882)toasted-nutbread2021-08-10
|
* Improve audio auto play cancellation (#1873)toasted-nutbread2021-08-02
| | | | | * Cancel automatic audio playback when hiding the popup * Don't play audio if the popup is hidden
* Rename CSS class names "pitch-accent" to "pronunciation" (#1850)toasted-nutbread2021-07-25
| | | | | | | | | | | | | * pitch-accents => pronunciations * Update dataset property names * pitch-accent-dictionary => pronunciation-dictionary * Update styles * Update template name * Update attributes
* Anki text furigana parsing and {sentence-furigana} marker (#1814)toasted-nutbread2021-07-09
| | | | | | | | | | | | | * Add support for textFurigana media * Add readingMode parameter * Implement readingMode * Add {sentence-furigana} marker * Fallback to sentence if furigana isn't available * Update test data
* Text parse updates (#1811)toasted-nutbread2021-07-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Expose more settings to QueryParser * Rename textParse to parseText * Refactor * Convert reading inside QueryParser rather than Backend * Remove use of readingMode from backend * Rename * Update parseText args * Simplify * Update results * Move use of optionsContext * Run mecab and internal parser in parallel * Added "dictionary-reading" reading mode * Update romaji conversion case
* Refactor DisplayAnki.setupEntriesComplete params and implementation (#1794)toasted-nutbread2021-07-04
|
* Update the note context object generation process to ensure consistency (#1792)toasted-nutbread2021-07-03
|
* DisplayAnki (#1791)toasted-nutbread2021-07-03
| | | | | | | | | | | * Remove anki functionality from display * Rename function * Display API updates * Use DisplayAnki * TODO
* Refactor createNote (#1789)toasted-nutbread2021-07-03
| | | | | * Update createNote to return a wrapper object * Update how createNote creates errors
* Make Display.authenticateMessageData private (#1780)toasted-nutbread2021-06-29
|
* Fix missing error logging when logging debug info (#1758)toasted-nutbread2021-06-26
|
* Improve what info is logged when debugging a definition (#1756)toasted-nutbread2021-06-26
|
* Structured content updates (#1733)toasted-nutbread2021-06-06
| | | | | | | | | | | | | | | | | | | | | * Add support for imageRendering * Make crisp-edges appearance on Firefox more similar to Chrome * Refactor * Add background option * Move data-image-rendering attribute * Restructure * Organize * Add support for appearance * Update test dictionary * Update tests
* Refactor display audio options (#1717)toasted-nutbread2021-05-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Update how options are updated and stored in DisplayAudio * Add source list * Improve menus for custom json * Clear cache after options update * Move function * Update public API * Simplify playing audio from a specific source * Simplify audio list * Refactor audio source usage * Refactoring * Refactor argument names * Fix incorrect source usage * Remove unused * Remove return value * Simplify details * Simplify Anki card audio details * Update the data that is passed to AudioDownloader * Simplify schema handling * Remove unnecessary details
* Refactor json audio source (#1711)toasted-nutbread2021-05-26
| | | | | | | | | * Move sources to the end of audio options object * Add custom-json audio source type * Add support for downloading custom-json * Remove customSourceType
* Selection clear improvements (#1690)toasted-nutbread2021-05-19
| | | | | | | | | * Update selection clear process * Clean up old clearSelection API * Update clear order * Add clear event handling
* Expose search query to anki template renderer (#1686)toasted-nutbread2021-05-17
| | | | | | | | | | | * Expose query and fullQuery to Anki context * Add {search-query} marker * Update test data * Update tests * Wrap search query in multiLine
* Popup action search (#1678)toasted-nutbread2021-05-15
| | | | | | | | | * Set up search page in the action popup * Fix a style causing incorrect overflow * Fix error when trying to take a screenshot * Fix popup size on Firefox
* Display fixes (#1648)toasted-nutbread2021-05-01
| | | | | | | * Fix incorrect tabId/frameId being used * Only enable nested popups if the tabId is valid * Remove unused APIs
* Show any custom tags on words that have anki cards created (#1628)soriac2021-04-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Proof-of-concept for showing card tags (#1626) * Resolved most PR comments: - Added a snackbar notification when clicking tag button - Replaced magnifying glass icon with new tag icon - Button now contains a span w/icon, to use text color - Removed unnecessary attributes from button - Backend now returns full noteInfos object - Frontend now handles filtering tags * Add options to show/hide tag button & filter tags * Do not show tags button if, after filtering, we have zero tags. * Change tags option to enums, optimize tags intersection check & fix code style. * Update options-util.js to include new tag options. * Fix wording on new tag setting. * Add CSS to remove hidden buttons from the display layout. * getAnkiNoteInfo extra parameter for additional info. * Add new tag option to tests. * Remove unnecessary changes related to anki tags option. * Code style fixes.
* More terminology updates (#1600)toasted-nutbread2021-04-08
| | | | | | | | | | | | | | | | | | | * Update terminology * Update display * Rename expression-list to headword-list * Rename expression-current-indicator * Rename expression classes * Update dictionary entry container * Rename glossary => gloss * Rename heading * Rename gloss classes to gloss-content