aboutsummaryrefslogtreecommitdiffstats
path: root/src/scripts/functionality/mutation-application.ts
diff options
context:
space:
mode:
authorArpit Chakladar <arpitchakladar+git@gmail.com>2026-07-13 20:49:57 +0530
committerArpit Chakladar <arpitchakladar+git@gmail.com>2026-07-13 20:49:57 +0530
commit6f6c263a072c9df4e826d8ebb2035c82a87be7e0 (patch)
treec8b944fe53b660d9d58b5559b10f4c73141e7559 /src/scripts/functionality/mutation-application.ts
parentbc4eb3606afbbc4b54fbb3b4ef81badd06cde525 (diff)
downloadbanglar-bhumi-utils-6f6c263a072c9df4e826d8ebb2035c82a87be7e0.tar.gz
banglar-bhumi-utils-6f6c263a072c9df4e826d8ebb2035c82a87be7e0.zip
refactor: organised the scripts into a more well defined structure
now all scripts that are common to all pages lie in src/scripts/common each page gets its own folder in src/pages and different parts of the page's configuration are separated in separated folders which are all finally imported in src/pages/*/index.ts
Diffstat (limited to 'src/scripts/functionality/mutation-application.ts')
-rw-r--r--src/scripts/functionality/mutation-application.ts60
1 files changed, 0 insertions, 60 deletions
diff --git a/src/scripts/functionality/mutation-application.ts b/src/scripts/functionality/mutation-application.ts
deleted file mode 100644
index 9503e00..0000000
--- a/src/scripts/functionality/mutation-application.ts
+++ /dev/null
@@ -1,60 +0,0 @@
-import { PDFDocument, StandardFonts } from "pdf-lib";
-import { observeDOM } from "@/shared/observe-dom";
-
-const sanghaFacilitationCentreBannerUrl = "$l{ /assets/sangha-facilitation-centre-banner.jpg }l$";
-
-/**
- * On the Mutation Application form, removes the form action (to prevent
- * the default server-side submit) and attaches a custom click handler
- * that fetches the declaration PDF, overlays a banner image and date
- * stamp on the last page, then triggers a download.
- */
-observeDOM(() => {
- const formElement = $("#form_MutationApplication > div > div:nth-child(14) > div.col-sm-2.btreset > form");
- const submitButtonElement = $("#btnDeclareForm");
- if (formElement.length > 0 && submitButtonElement.length > 0) {
- formElement.removeAttr("action");
- submitButtonElement.on("click", (submitButtonClickEvent) => {
- submitButtonClickEvent.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()));
- const bannerImageHeight = width * (bannerImage.height / bannerImage.width);
-
- lastPage.drawImage(bannerImage, {
- x: 0,
- y: 0,
- width: width,
- height: bannerImageHeight
- });
-
- lastPage.drawText(pdfDoc.getCreationDate()!.toLocaleString(), {
- x: 10,
- y: bannerImageHeight,
- size: 12,
- font: await pdfDoc.embedFont(StandardFonts.TimesRoman)
- });
-
- 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;
- }
-});