From f073736852cf18bed789cc1150d8dc6d371174c9 Mon Sep 17 00:00:00 2001 From: Arpit Chakladar <54011232+arpitchakladar@users.noreply.github.com> Date: Sat, 13 May 2023 15:09:17 +0530 Subject: Adding footer to the bottom of the mutation application declaration pdf. --- src/rules/block-scripts.json | 2 +- src/scripts.json | 4 +- src/scripts/functionality/mutation-application.ts | 47 +++++++++++++++++++++++ src/scripts/optimize.ts | 11 ------ 4 files changed, 49 insertions(+), 15 deletions(-) create mode 100644 src/scripts/functionality/mutation-application.ts delete mode 100644 src/scripts/optimize.ts (limited to 'src') diff --git a/src/rules/block-scripts.json b/src/rules/block-scripts.json index 0e7606b..c0f6c02 100644 --- a/src/rules/block-scripts.json +++ b/src/rules/block-scripts.json @@ -4,6 +4,6 @@ "type": "block" }, "condition": { - "regexFilter": "^https:\/\/banglarbhumi.gov.in\/BanglarBhumi\/js\/(jquery-1.12.4|jquery.nivo.slider|bootstrap-dropdownhover).js$" + "regexFilter": "^https:\/\/banglarbhumi.gov.in\/BanglarBhumi\/js\/(jquery-1.12.4|bootstrap-dropdownhover).js$" } } diff --git a/src/scripts.json b/src/scripts.json index 75228c4..7586176 100644 --- a/src/scripts.json +++ b/src/scripts.json @@ -1,7 +1,4 @@ { - "before": { - "optimize.ts": "*" - }, "injected-before": { "stop-blocking.ts": "*" }, @@ -9,6 +6,7 @@ "login.ts": "*", "otps/grievance-application.ts": "GrievAppViewAction.action", "otps/mutation-application.ts": "MuteApplication.action", + "functionality/mutation-application.ts": "MuteApplication.action", "functionality/view-khatian/index.ts": "KnowYourProperty.action" }, "loaded": { diff --git a/src/scripts/functionality/mutation-application.ts b/src/scripts/functionality/mutation-application.ts new file mode 100644 index 0000000..3283089 --- /dev/null +++ b/src/scripts/functionality/mutation-application.ts @@ -0,0 +1,47 @@ +import { PDFDocument } from "pdf-lib"; +import { observeDOM } from "@/shared/observe-dom"; + +const sanghaFacilitationCentreBannerUrl = chrome.runtime.getURL("/assets/sangha-facilitation-centre-banner.jpg"); + +document.addEventListener("DOMContentLoaded", () => { + observeDOM(() => { + const formElement = document.querySelector("#form_MutationApplication > div > div:nth-child(14) > div.col-sm-2.btreset > form"); + const submitButtonElement = document.getElementById("btnDeclareForm"); + if (formElement && submitButtonElement) { + formElement.removeAttribute("action"); + submitButtonElement.addEventListener("click", e => { + e.preventDefault(); + + (async () => { + const pdfDoc = await PDFDocument.load(await fetch("/BanglarBhumi/MutationDeclarationForm.action", { + method: "post", + credentials: "same-origin", + headers: { + "Content-Type": "application/x-www-form-urlencoded" + }, + body: "hdnAppNo=" + }).then(res => res.arrayBuffer())); + const pages = pdfDoc.getPages(); + const lastPage = pages[pages.length - 1]; + const { width, height } = lastPage.getSize(); + const bannerImage = await pdfDoc.embedJpg(await fetch(sanghaFacilitationCentreBannerUrl).then(res => res.arrayBuffer())); + lastPage.drawImage(bannerImage, { + x: 0, + y: 0, + width: width, + height: width * (bannerImage.height / bannerImage.width), + }); + + const link = document.createElement("a"); + link.href = window.URL.createObjectURL(new Blob([new Uint8Array(await pdfDoc.save())], {type: "application/pdf"})); + link.download = "Declaration.pdf"; + link.click(); + })(); + }); + + return true; + } else { + return false; + } + }); +}); diff --git a/src/scripts/optimize.ts b/src/scripts/optimize.ts deleted file mode 100644 index 336a6ca..0000000 --- a/src/scripts/optimize.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { modifyDOM } from "@/shared/modify-dom"; - -modifyDOM([ - [ - "head > script:nth-child(36)", - { - src: null, - innerHTML: "$.prototype.nivoSlider = () => {};" - } - ] -]); -- cgit v1.2.3