mirror of
https://github.com/go-gitea/gitea
synced 2025-12-06 21:08:25 +00:00
A big step towards enabling strict mode in Typescript. There was definitely a good share of potential bugs while refactoring this. When in doubt, I opted to keep the potentially broken behaviour. Notably, the `DOMEvent` type is gone, it was broken and we're better of with type assertions on `e.target`. --------- Signed-off-by: silverwind <me@silverwind.io> Signed-off-by: wxiaoguang <wxiaoguang@gmail.com> Co-authored-by: delvh <dev.lh@web.de> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
27 lines
985 B
TypeScript
27 lines
985 B
TypeScript
import {createTippy} from '../modules/tippy.ts';
|
|
import {toggleElem} from '../utils/dom.ts';
|
|
import {registerGlobalEventFunc, registerGlobalInitFunc} from '../modules/observer.ts';
|
|
|
|
export function initRepoEllipsisButton() {
|
|
registerGlobalEventFunc('click', 'onRepoEllipsisButtonClick', async (el: HTMLInputElement, e: Event) => {
|
|
e.preventDefault();
|
|
const expanded = el.getAttribute('aria-expanded') === 'true';
|
|
toggleElem(el.parentElement!.querySelector('.commit-body')!);
|
|
el.setAttribute('aria-expanded', String(!expanded));
|
|
});
|
|
}
|
|
|
|
export function initCommitStatuses() {
|
|
registerGlobalInitFunc('initCommitStatuses', (el: HTMLElement) => {
|
|
const nextEl = el.nextElementSibling!;
|
|
if (!nextEl.matches('.tippy-target')) throw new Error('Expected next element to be a tippy target');
|
|
createTippy(el, {
|
|
content: nextEl,
|
|
placement: 'bottom-start',
|
|
interactive: true,
|
|
role: 'dialog',
|
|
theme: 'box-with-header',
|
|
});
|
|
});
|
|
}
|