From 2f89a61100983fc4d3305e9dbb3668cea832af14 Mon Sep 17 00:00:00 2001 From: annahileta Date: Tue, 10 Oct 2023 12:27:18 +0300 Subject: [PATCH 1/2] added formula tabs --- pom.xml | 2 +- .../services/ResponsiveSigningService.java | 57 ++++++++++++++++++- 2 files changed, 55 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index b5050bfc..fadd49fa 100644 --- a/pom.xml +++ b/pom.xml @@ -26,7 +26,7 @@ 2.5.6 2.11.0 - 4.3.0 + 4.4.0 1.4.3 1.4.0 1.3.0 diff --git a/src/main/java/com/docusign/controller/eSignature/services/ResponsiveSigningService.java b/src/main/java/com/docusign/controller/eSignature/services/ResponsiveSigningService.java index a4ce9af6..50aa2dec 100644 --- a/src/main/java/com/docusign/controller/eSignature/services/ResponsiveSigningService.java +++ b/src/main/java/com/docusign/controller/eSignature/services/ResponsiveSigningService.java @@ -8,10 +8,20 @@ import com.docusign.esign.model.*; import java.io.IOException; +import java.util.Arrays; import java.util.Collections; public final class ResponsiveSigningService { // Step 2 start + private static final String TRUE = "true"; + private static final String FALSE = "false"; + private static final int L1_PRICE = 5; + private static final int L2_PRICE = 150; + private static final int ANCHOR_OFFSET_Y = 10; + private static final int ANCHOR_OFFSET_X = 20; + private static final String DEFAULT_FONT = "helvetica"; + private static final String DEFAULT_FONT_SIZE = "size11"; + private static final String ANCHOR_UNITS = "pixels"; private static final String HTML_DOCUMENT_FILE_NAME = "templates/order-form.ftl"; public static EnvelopeDefinition makeEnvelope( String signerEmail, @@ -22,9 +32,9 @@ public static EnvelopeDefinition makeEnvelope( WorkArguments args ) throws IOException { String htmlDoc = EnvelopeHelpers.createHtmlFromTemplateFile(HTML_DOCUMENT_FILE_NAME, "args", args); - htmlDoc = htmlDoc.replace("/sn1/", "") - .replace("/l1q/", " ") - .replace("/l2q/", " ");; + htmlDoc = htmlDoc + .replace("/l1q/", " ") + .replace("/l2q/", " ");; Signer signer = new Signer() .email(signerEmail) @@ -47,12 +57,53 @@ public static EnvelopeDefinition makeEnvelope( .name("Lorem Ipsum") .documentId("1") .htmlDefinition(new DocumentHtmlDefinition().source(htmlDoc)))); + signer.setTabs(createTabs()); envelope.setRecipients(EnvelopeHelpers.createRecipients(signer, cc)); envelope.setStatus(EnvelopeHelpers.ENVELOPE_STATUS_SENT); return envelope; } + private static Tabs createTabs() { + FormulaTab formulaForFirstNumber = createFormulaTab("/l1e/", "l1e", L1_PRICE, "l1q"); + FormulaTab formulaForSecondNumber = createFormulaTab("/l2e/", "l2e", L2_PRICE, "l2q"); + FormulaTab finalFormula = new FormulaTab() + .font(DEFAULT_FONT) + .bold(TRUE) + .fontSize("size12") + .anchorString("/l3t/") + .anchorYOffset("-8") + .anchorUnits(ANCHOR_UNITS) + .anchorXOffset("50") + .tabLabel("l3t") + .formula("[l1e] + [l2e]") + .roundDecimalPlaces("0") + .required(TRUE) + .locked(TRUE) + .disableAutoSize(FALSE); + + Tabs signerTabs = EnvelopeHelpers.createSingleSignerTab("/sn1/", ANCHOR_OFFSET_Y, ANCHOR_OFFSET_X); + signerTabs.formulaTabs(Arrays.asList(formulaForFirstNumber, formulaForSecondNumber, finalFormula)); + + return signerTabs; + } + + private static FormulaTab createFormulaTab(String anchor, String label, int price, String numerical) { + return new FormulaTab() + .font(DEFAULT_FONT) + .fontSize(DEFAULT_FONT_SIZE) + .anchorString(anchor) + .anchorYOffset("-8") + .anchorUnits(ANCHOR_UNITS) + .anchorXOffset("105") + .tabLabel(label) + .formula(String.format("[%s] * {%d}", numerical, price)) + .roundDecimalPlaces("0") + .required(TRUE) + .locked(TRUE) + .disableAutoSize(FALSE); + } + public static ViewUrl responsiveSigning( EnvelopesApi envelopesApi, String accountId, From 48fb7ae8feb755580522247d45fb23d39c1138a4 Mon Sep 17 00:00:00 2001 From: annahileta Date: Tue, 10 Oct 2023 12:48:57 +0300 Subject: [PATCH 2/2] modified tabs to support the same styles as Node --- .../eSignature/services/ResponsiveSigningService.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/docusign/controller/eSignature/services/ResponsiveSigningService.java b/src/main/java/com/docusign/controller/eSignature/services/ResponsiveSigningService.java index 50aa2dec..6e3fc0f5 100644 --- a/src/main/java/com/docusign/controller/eSignature/services/ResponsiveSigningService.java +++ b/src/main/java/com/docusign/controller/eSignature/services/ResponsiveSigningService.java @@ -70,11 +70,11 @@ private static Tabs createTabs() { FormulaTab finalFormula = new FormulaTab() .font(DEFAULT_FONT) .bold(TRUE) - .fontSize("size12") + .fontSize(DEFAULT_FONT_SIZE) .anchorString("/l3t/") .anchorYOffset("-8") .anchorUnits(ANCHOR_UNITS) - .anchorXOffset("50") + .anchorXOffset("105") .tabLabel("l3t") .formula("[l1e] + [l2e]") .roundDecimalPlaces("0")