diff options
author | TechSneeze <dave@techsneeze.com> | 2022-01-16 10:07:03 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-16 10:07:03 +0300 |
commit | 749dfb1d6294268fc7a683a6577478bab60f8847 (patch) | |
tree | a090295a8354faf63c3401d431425c9274103aed | |
parent | 287a3638e88cb8116b475bcd8553b77f1a1ccfc6 (diff) | |
parent | d0a966cdd1fbdd5d124b82ebee26aacef7323ca2 (diff) |
Merge pull request #77 from mwander/xmlreport
catch null typeerrors
-rw-r--r-- | dmarcts-report-viewer.js | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/dmarcts-report-viewer.js b/dmarcts-report-viewer.js index 6c1d52e..0187f9c 100644 --- a/dmarcts-report-viewer.js +++ b/dmarcts-report-viewer.js @@ -677,7 +677,10 @@ function highlight(element) { if ( xml_data_open == 1 && xml_data_highlight == 1 ) { element.classList.add('highlight'); - document.getElementById(other_element(element.id)).classList.add('highlight') + var el = document.getElementById(other_element(element.id)); + if ( el ) { + el.classList.add('highlight'); + } } } @@ -685,7 +688,10 @@ function unhighlight(element) { if ( xml_data_open == 1 && xml_data_highlight == 1 ) { element.classList.remove("highlight"); - document.getElementById(other_element(element.id)).classList.remove('highlight') + var el = document.getElementById(other_element(element.id)); + if ( el ) { + el.classList.remove('highlight'); + } } } @@ -695,16 +701,22 @@ function pin(element) { if ( element.className.indexOf('pinned') != -1 ){ // Unpins element element.classList.remove('pinned'); - document.getElementById(other_element(element.id)).classList.remove('pinned'); + var el = document.getElementById(other_element(element.id)); + if ( el ) { + el.classList.remove('pinned'); + } } else { // Pins element unpin_all(); element.classList.add('pinned'); - document.getElementById(other_element(element.id)).classList.add('pinned'); - if ( element.id.indexOf('record') == 0 ) { - document.getElementById(other_element(element.id)).scrollIntoView({ behavior: 'smooth', block: 'center' }); - } else { - document.getElementById(other_element(element.id)).scrollIntoView({ behavior: 'smooth', block: 'start' }); + var el = document.getElementById(other_element(element.id)); + if ( el ) { + el.classList.add('pinned'); + } + var el = document.getElementById(other_element(element.id)); + if ( el ) { + var scrollBlock = element.id.indexOf('record') == 0 ? 'center' : 'start'; + el.scrollIntoView({ behavior: 'smooth', block: 'center' }); } } } |