aboutsummaryrefslogtreecommitdiffstats
path: root/src/scripts
diff options
context:
space:
mode:
authorArpit Chakladar <54011232+arpitchakladar@users.noreply.github.com>2023-05-13 15:09:17 +0530
committerArpit Chakladar <54011232+arpitchakladar@users.noreply.github.com>2023-05-13 15:09:17 +0530
commitf073736852cf18bed789cc1150d8dc6d371174c9 (patch)
tree08417cb53db37620b6da5447a72b6d0e5287990a /src/scripts
parent784b72486f692217365922b12c3f4f5db91c84a3 (diff)
downloadbanglar-bhumi-utils-f073736852cf18bed789cc1150d8dc6d371174c9.tar.gz
banglar-bhumi-utils-f073736852cf18bed789cc1150d8dc6d371174c9.zip
Adding footer to the bottom of the mutation application declaration pdf.
Diffstat (limited to 'src/scripts')
-rw-r--r--src/scripts/functionality/mutation-application.ts47
-rw-r--r--src/scripts/optimize.ts11
2 files changed, 47 insertions, 11 deletions
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 = () => {};"
- }
- ]
-]);