mirror of
https://github.com/go-gitea/gitea.git
synced 2025-08-14 20:53:53 +09:00
Change function description comments to tsdoc style (#35185)
1. change function comments to the minimal [tsdoc](https://tsdoc.org/) style. This has the benefit of making editors show the doc string in tooltips when the function is hovered: <img width="521" height="110" alt="image" src="https://github.com/user-attachments/assets/b966f4f1-8239-433a-a456-5bd5c05d69ef" /> 2. disable eslint `multiline-comment-style` as it conflicts with tsdoc. --------- Signed-off-by: silverwind <me@silverwind.io>
This commit is contained in:
@ -71,7 +71,7 @@ export function queryElemSiblings<T extends Element>(el: Element, selector = '*'
|
||||
}), fn);
|
||||
}
|
||||
|
||||
// it works like jQuery.children: only the direct children are selected
|
||||
/** it works like jQuery.children: only the direct children are selected */
|
||||
export function queryElemChildren<T extends Element>(parent: Element | ParentNode, selector = '*', fn?: ElementsCallback<T>): ArrayLikeIterable<T> {
|
||||
if (isInFrontendUnitTest()) {
|
||||
// https://github.com/capricorn86/happy-dom/issues/1620 : ":scope" doesn't work
|
||||
@ -81,7 +81,7 @@ export function queryElemChildren<T extends Element>(parent: Element | ParentNod
|
||||
return applyElemsCallback<T>(parent.querySelectorAll(`:scope > ${selector}`), fn);
|
||||
}
|
||||
|
||||
// it works like parent.querySelectorAll: all descendants are selected
|
||||
/** it works like parent.querySelectorAll: all descendants are selected */
|
||||
// in the future, all "queryElems(document, ...)" should be refactored to use a more specific parent if the targets are not for page-level components.
|
||||
export function queryElems<T extends HTMLElement>(parent: Element | ParentNode, selector: string, fn?: ElementsCallback<T>): ArrayLikeIterable<T> {
|
||||
return applyElemsCallback<T>(parent.querySelectorAll(selector), fn);
|
||||
@ -95,8 +95,8 @@ export function onDomReady(cb: () => Promisable<void>) {
|
||||
}
|
||||
}
|
||||
|
||||
// checks whether an element is owned by the current document, and whether it is a document fragment or element node
|
||||
// if it is, it means it is a "normal" element managed by us, which can be modified safely.
|
||||
/** checks whether an element is owned by the current document, and whether it is a document fragment or element node
|
||||
* if it is, it means it is a "normal" element managed by us, which can be modified safely. */
|
||||
export function isDocumentFragmentOrElementNode(el: Node) {
|
||||
try {
|
||||
return el.ownerDocument === document && el.nodeType === Node.ELEMENT_NODE || el.nodeType === Node.DOCUMENT_FRAGMENT_NODE;
|
||||
@ -106,8 +106,8 @@ export function isDocumentFragmentOrElementNode(el: Node) {
|
||||
}
|
||||
}
|
||||
|
||||
// autosize a textarea to fit content. Based on
|
||||
// https://github.com/github/textarea-autosize
|
||||
/** autosize a textarea to fit content. */
|
||||
// Based on https://github.com/github/textarea-autosize
|
||||
// ---------------------------------------------------------------------
|
||||
// Copyright (c) 2018 GitHub, Inc.
|
||||
//
|
||||
@ -246,8 +246,8 @@ export function onInputDebounce(fn: () => Promisable<any>) {
|
||||
|
||||
type LoadableElement = HTMLEmbedElement | HTMLIFrameElement | HTMLImageElement | HTMLScriptElement | HTMLTrackElement;
|
||||
|
||||
// Set the `src` attribute on an element and returns a promise that resolves once the element
|
||||
// has loaded or errored.
|
||||
/** Set the `src` attribute on an element and returns a promise that resolves once the element
|
||||
* has loaded or errored. */
|
||||
export function loadElem(el: LoadableElement, src: string) {
|
||||
return new Promise((resolve) => {
|
||||
el.addEventListener('load', () => resolve(true), {once: true});
|
||||
@ -286,7 +286,7 @@ export function isElemVisible(el: HTMLElement): boolean {
|
||||
return !el.classList.contains('tw-hidden') && (el.offsetWidth || el.offsetHeight || el.getClientRects().length) && el.style.display !== 'none';
|
||||
}
|
||||
|
||||
// replace selected text in a textarea while preserving editor history, e.g. CTRL-Z works after this
|
||||
/** replace selected text in a textarea while preserving editor history, e.g. CTRL-Z works after this */
|
||||
export function replaceTextareaSelection(textarea: HTMLTextAreaElement, text: string) {
|
||||
const before = textarea.value.slice(0, textarea.selectionStart ?? undefined);
|
||||
const after = textarea.value.slice(textarea.selectionEnd ?? undefined);
|
||||
@ -368,7 +368,7 @@ export function addDelegatedEventListener<T extends HTMLElement, E extends Event
|
||||
}, options);
|
||||
}
|
||||
|
||||
// Returns whether a click event is a left-click without any modifiers held
|
||||
/** Returns whether a click event is a left-click without any modifiers held */
|
||||
export function isPlainClick(e: MouseEvent) {
|
||||
return e.button === 0 && !e.ctrlKey && !e.metaKey && !e.altKey && !e.shiftKey;
|
||||
}
|
||||
|
Reference in New Issue
Block a user