clean: Refactor function to toggle file contents

This commit is contained in:
Rafael Cortês 2021-01-23 22:16:25 +00:00
parent 316803df77
commit 8ee76bf44b
No known key found for this signature in database
GPG key ID: DB9A2ED429896D26

View file

@ -113,24 +113,23 @@ export class Diff2HtmlUI {
fileContentToggle(): void { fileContentToggle(): void {
this.targetElement.querySelectorAll('.d2h-file-collapse').forEach(fileContentToggleBtn => { this.targetElement.querySelectorAll('.d2h-file-collapse').forEach(fileContentToggleBtn => {
const toggle: (e: Event) => void = e => { const toggleFileContents: (selector: string) => void = selector => {
if (fileContentToggleBtn === e.target) return; const fileContents: HTMLElement | null | undefined = fileContentToggleBtn
const fileContentLineByLine: HTMLElement | null | undefined = fileContentToggleBtn
.closest('.d2h-file-wrapper') .closest('.d2h-file-wrapper')
?.querySelector('.d2h-file-diff'); ?.querySelector(selector);
const fileContentSideBySide: HTMLElement | null | undefined = fileContentToggleBtn
.closest('.d2h-file-wrapper')
?.querySelector('.d2h-files-diff');
if (fileContentLineByLine !== null && fileContentLineByLine !== undefined) if (fileContents !== null && fileContents !== undefined)
fileContentLineByLine.style.display = fileContentLineByLine.style.display === 'none' ? '' : 'none'; fileContents.style.display = fileContents.style.display === 'none' ? '' : 'none';
if (fileContentSideBySide !== null && fileContentSideBySide !== undefined)
fileContentSideBySide.style.display = fileContentSideBySide.style.display === 'none' ? '' : 'none';
}; };
fileContentToggleBtn.addEventListener('click', e => toggle(e)); const toggleHandler: (e: Event) => void = e => {
if (fileContentToggleBtn === e.target) return;
toggleFileContents('.d2h-file-diff');
toggleFileContents('.d2h-files-diff');
};
fileContentToggleBtn.addEventListener('click', e => toggleHandler(e));
}); });
} }