diff options
| author | Arpit Chakladar <54011232+arpitchakladar@users.noreply.github.com> | 2023-03-27 21:38:43 +0530 |
|---|---|---|
| committer | Arpit Chakladar <54011232+arpitchakladar@users.noreply.github.com> | 2023-03-27 21:38:43 +0530 |
| commit | d178caee5c93ad9ed91dbd082b0f0b5a9b0507aa (patch) | |
| tree | ccfdf4c6992a86955c80780de0518a2fea10ac39 /src/shared/modify-dom.ts | |
| parent | 5955bd821303cffa35263c41286339fb28e7536b (diff) | |
| download | banglar-bhumi-utils-d178caee5c93ad9ed91dbd082b0f0b5a9b0507aa.tar.gz banglar-bhumi-utils-d178caee5c93ad9ed91dbd082b0f0b5a9b0507aa.zip | |
Refactoring code.
Only using hashes for output file names.
Using singleton pattern to store the callbacks for observeDOM, and only one MutationObserver.
Diffstat (limited to 'src/shared/modify-dom.ts')
| -rw-r--r-- | src/shared/modify-dom.ts | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/shared/modify-dom.ts b/src/shared/modify-dom.ts index b3baffb..337c879 100644 --- a/src/shared/modify-dom.ts +++ b/src/shared/modify-dom.ts @@ -14,12 +14,16 @@ export const modifyDOM = (modificationRules: (DOMModificaitonRule | null)[]) => for (let i = 0; i < modificationRules.length; i++) { if (modificationRules[i]) { const element = document.querySelector(modificationRules[i]![0]) as HTMLElement | null; + if (element) { - const attributes = modificationRules[i]![1] as DOMReplacements; + const attributes = modificationRules[i]![1]; + if (attributes.innerHTML) { element.innerHTML = attributes.innerHTML as string; } + delete attributes.innerHTML; + for (const attribute in attributes) { if (attributes[attribute] === null) { element.removeAttribute(attribute); @@ -27,8 +31,10 @@ export const modifyDOM = (modificationRules: (DOMModificaitonRule | null)[]) => element.setAttribute(attribute, attributes[attribute] as string); } } + modificationRules[i] = null; count++; + if (count >= modificationRules.length) { return true; } |
