Convert frontend code to typescript (#31559)
None of the frontend js/ts files was touched besides these two commands
(edit: no longer true, I touched one file in
61105d0618
because of a deprecation that was not showing before the rename).
`tsc` currently reports 778 errors, so I have disabled it in CI as
planned.
Everything appears to work fine.
This commit is contained in:
parent
5115c278ff
commit
5791a73e75
168 changed files with 562 additions and 386 deletions
27
web_src/js/features/repo-unicode-escape.ts
Normal file
27
web_src/js/features/repo-unicode-escape.ts
Normal file
|
@ -0,0 +1,27 @@
|
|||
import {hideElem, queryElemSiblings, showElem, toggleElem} from '../utils/dom.ts';
|
||||
|
||||
export function initUnicodeEscapeButton() {
|
||||
document.addEventListener('click', (e) => {
|
||||
const btn = e.target.closest('.escape-button, .unescape-button, .toggle-escape-button');
|
||||
if (!btn) return;
|
||||
|
||||
e.preventDefault();
|
||||
|
||||
const fileContent = btn.closest('.file-content, .non-diff-file-content');
|
||||
const fileView = fileContent?.querySelectorAll('.file-code, .file-view');
|
||||
if (btn.matches('.escape-button')) {
|
||||
for (const el of fileView) el.classList.add('unicode-escaped');
|
||||
hideElem(btn);
|
||||
showElem(queryElemSiblings(btn, '.unescape-button'));
|
||||
} else if (btn.matches('.unescape-button')) {
|
||||
for (const el of fileView) el.classList.remove('unicode-escaped');
|
||||
hideElem(btn);
|
||||
showElem(queryElemSiblings(btn, '.escape-button'));
|
||||
} else if (btn.matches('.toggle-escape-button')) {
|
||||
const isEscaped = fileView[0]?.classList.contains('unicode-escaped');
|
||||
for (const el of fileView) el.classList.toggle('unicode-escaped', !isEscaped);
|
||||
toggleElem(fileContent.querySelectorAll('.unescape-button'), !isEscaped);
|
||||
toggleElem(fileContent.querySelectorAll('.escape-button'), isEscaped);
|
||||
}
|
||||
});
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue