summaryrefslogtreecommitdiff
path: root/ext/js/display
Commit message (Collapse)AuthorAge
* Add support for alt attribute on structured content images (#359)Stephen Kraus2023-12-23
| | | | | | | | | | | * Add support for alt attribute on structured content images * Add new `alt` property for structured content images * Update test script with new media file count --------- Co-authored-by: stephenmk <stephenmk@users.noreply.github.com>
* rename variables (#409)Cashew2023-12-20
| | | | | | | | | | | * rename variables * add comment to ambiguous variable * rename variables * add comments * rename functions
* JSON validation (#394)toasted-nutbread2023-12-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Set up JSON testing * Add schema validation * Use parseJson * Finish types * Disambiguate ext/json-schema from node dependency with the same name * Add support for specifying the jsconfig file * Don't expose types * Update types * Use dictionary map type * Fix types * Fix AJV warnings * Move types * Move anb rename file * Move common mocks * Simplify types
* Simplify message handlers (#396)toasted-nutbread2023-12-20
|
* Template type improvements (#380)toasted-nutbread2023-12-19
| | | | | | | * Default templates to unknown * Default typescript templates to unknown * More template type updates
* Remove TemplateRendererProxy mock (#388)toasted-nutbread2023-12-19
|
* IIFE updates (#384)toasted-nutbread2023-12-19
| | | | | | | * Remove most IIFEs * Move IIFEs into functions * Don't await background-main
* Remove dynamic-loader scripts, simplify script loading (#383)toasted-nutbread2023-12-19
|
* Update eslint spacing rules (#366)toasted-nutbread2023-12-17
| | | | | | | | | * Add space-infix-ops rule * Add no-multi-spaces --------- Co-authored-by: Darius Jahandarie <djahandarie@gmail.com>
* Safer query selector (#364)toasted-nutbread2023-12-17
| | | | | | | | | | | | | | | | | | | | | * Add querySelectorNotNull helper function * Use querySelectorNotNull * Updates * Update settings * Remove unused * Update * Update function calls * More updates * Update types * Remove obsolete code
* Change no-console to error, only for ext files (#352)toasted-nutbread2023-12-11
|
* Update library typestoasted-nutbread2023-11-27
|
* Revert "Use import map"toasted-nutbread2023-11-27
|
* Update timer types and suchtoasted-nutbread2023-11-27
|
* Use import maptoasted-nutbread2023-11-27
|
* Update typestoasted-nutbread2023-11-27
|
* Update typestoasted-nutbread2023-11-27
|
* Add extension error importstoasted-nutbread2023-11-27
|
* Add JSDoc type annotations to project (rebased)toasted-nutbread2023-11-27
|
* `yomichan` -> `yomitan`starxeras2023-11-10
|
* Fix hb import for media providerjbukl2023-11-09
|
* Switch to vitest for ESM support; other fixesDarius Jahandarie2023-11-08
|
* 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