From 8ee76bf44bd81c865dd65e36845b3e7971a59c65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Cort=C3=AAs?= Date: Sat, 23 Jan 2021 22:16:25 +0000 Subject: [PATCH] clean: Refactor function to toggle file contents --- src/ui/js/diff2html-ui-base.ts | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/src/ui/js/diff2html-ui-base.ts b/src/ui/js/diff2html-ui-base.ts index 37853b9..b3f7730 100644 --- a/src/ui/js/diff2html-ui-base.ts +++ b/src/ui/js/diff2html-ui-base.ts @@ -113,24 +113,23 @@ export class Diff2HtmlUI { fileContentToggle(): void { this.targetElement.querySelectorAll('.d2h-file-collapse').forEach(fileContentToggleBtn => { - const toggle: (e: Event) => void = e => { - if (fileContentToggleBtn === e.target) return; - - const fileContentLineByLine: HTMLElement | null | undefined = fileContentToggleBtn + const toggleFileContents: (selector: string) => void = selector => { + const fileContents: HTMLElement | null | undefined = fileContentToggleBtn .closest('.d2h-file-wrapper') - ?.querySelector('.d2h-file-diff'); - const fileContentSideBySide: HTMLElement | null | undefined = fileContentToggleBtn - .closest('.d2h-file-wrapper') - ?.querySelector('.d2h-files-diff'); + ?.querySelector(selector); - if (fileContentLineByLine !== null && fileContentLineByLine !== undefined) - fileContentLineByLine.style.display = fileContentLineByLine.style.display === 'none' ? '' : 'none'; - - if (fileContentSideBySide !== null && fileContentSideBySide !== undefined) - fileContentSideBySide.style.display = fileContentSideBySide.style.display === 'none' ? '' : 'none'; + if (fileContents !== null && fileContents !== undefined) + fileContents.style.display = fileContents.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)); }); }