{"version":3,"file":"7655.12742ea40955aea396cd.js","mappings":"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","sources":["webpack://shipley-du-lib/./common/js/legacy/custPortal/cw/cw.widget.payment.js","webpack://shipley-du-lib/./node_modules/moment/locale/ sync ^\\.\\/.*$","webpack://shipley-du-lib/./common/js/du/appEnum/AlertSeverity.ts","webpack://shipley-du-lib/./common/js/du/components/form/checkbox.vue?be2d","webpack://shipley-du-lib/./common/js/du/components/form/checkbox.vue","webpack://shipley-du-lib/./common/js/du/components/form/checkbox.vue?f028","webpack://shipley-du-lib/./common/js/du/interfaces/utility/IClickableAlertMessage.ts","webpack://shipley-du-lib/./common/js/du/components/utility/alert.vue?8475","webpack://shipley-du-lib/./common/js/du/components/utility/alert.vue?5e44","webpack://shipley-du-lib/./common/js/du/components/utility/alert.vue","webpack://shipley-du-lib/./common/js/du/components/utility/pdfViewer.vue?5d6e","webpack://shipley-du-lib/./common/js/du/components/utility/pdfViewer.vue?9576","webpack://shipley-du-lib/./common/js/du/components/utility/pdfViewer.vue"],"sourcesContent":["import moment from \"moment\";\r\n//import '../lib/bootstrap-datetimepicker/bootstrap-datetime-4.7.14';\r\nimport * as BootstrapDialog from \"bootstrap3-dialog\";\r\n\r\nimport { createNonRoutedApp } from \"@du/AppStartup\";\r\nimport pdfViewer from \"@components/utility/pdfViewer\";\r\n\r\nconst isMobile = $(window).width() <= 579;\r\n\r\n(function (cw, $) {\r\n \"use strict\";\r\n $.extend(true, cw, {\r\n widget: {\r\n payment: {\r\n S1CcTransactionResponse: {\r\n Unknown: 0,\r\n Success: 1,\r\n TransactionProcessedButNotApproved: 2,\r\n NoResponseFromCreditCardProcessorWhileAddingCard: 3,\r\n AddingCardToInvalidAccount: 4,\r\n CouldNotDetermineCustomerPaymentId: 5,\r\n CouldParseProcessorAddPaymentMethodResponse: 6,\r\n SuccessButCouldNotReportTransactionToRemoteSystem: 7,\r\n PaymentAmountRequired: 8,\r\n CouldNotDetermineCustomerUser: 9,\r\n CreditCardNumberOrExpirationDateMissing: 10,\r\n CreditCardDidNotPassLuhnCheck: 11,\r\n CreditCardInvalidExpiration: 12,\r\n CreditCardInvalidCvv2: 13,\r\n CreditCardInvalidZipCode: 14,\r\n CreditCardInvalidCardholderName: 15,\r\n CreditCardSystemError: 16,\r\n },\r\n EftPaymentResponse: {\r\n Unknown: 0,\r\n Success: 1,\r\n UnableToVerifyBankAccount: 2,\r\n EftPaymentSubmitFail: 3,\r\n EftProfileSaveFail: 4,\r\n OnetimeEftProfileSaveFail: 5,\r\n },\r\n CustomerBudgetEligibility: null,\r\n modalRef: null,\r\n init: function (\r\n s1AccountId,\r\n authToken,\r\n selectedBillingAccountObj,\r\n successCallback,\r\n budgetEligibility\r\n ) {\r\n var self = this;\r\n cw.loadingIndicator.start();\r\n cw.webservices.getJson(\r\n \"S1AccountManager/get-account-balances-and-payment-methods\",\r\n {\r\n S1AccountId: s1AccountId,\r\n AuthToken: authToken,\r\n },\r\n function (balanceObj) {\r\n if (balanceObj) {\r\n if (balanceObj.AccountBalances && balanceObj.AccountBalances.length > 0) {\r\n balanceObj.AccountBalances.forEach(function (x) {\r\n x.obj = JSON.stringify(x);\r\n if (parseFloat(x.BudgetBalance)) {\r\n x.BudgetBalanceFormatted = \"$\" + x.BudgetBalance.formatMoney(2);\r\n x.NonBudgetBalanceFormatted = \"$\" + x.NonBudgetCoveredBalance.formatMoney(2);\r\n }\r\n });\r\n } else if (balanceObj.AccountBalances && balanceObj.AccountBalances.length === 1) {\r\n balanceObj.BalanceDueFormatted = balanceObj.AccountBalances[0].BalanceFormatted;\r\n }\r\n\r\n balanceObj.ExpirationYears = cw.utility.getCreditCardExpirationYears();\r\n balanceObj.hasCCOnFile = false;\r\n balanceObj.DraftDays = self.getDraftDays();\r\n\r\n var mData = {\r\n balanceObj: balanceObj,\r\n s1AccountId: s1AccountId,\r\n authToken: authToken,\r\n selectedRemoteAccount: null,\r\n successCallback: successCallback,\r\n division: null,\r\n };\r\n\r\n balanceObj.EftConfigs.forEach(function (x) {\r\n x.EftSelectionId = x.EftConfigId > 0 ? x.EftConfigId : x.CargasEftConfigId;\r\n });\r\n\r\n mData.balanceObj.hasAccountSelection = false;\r\n\r\n //this code is duplicated below (in open modal's shownCallback) when there are multiple accounts to choose from (selectedBillingAccountObj is empty and there are multiple accts)\r\n if (mData.balanceObj.AccountBalances.length === 1) {\r\n mData.selectedRemoteAccount = mData.balanceObj.AccountBalances[0];\r\n mData.division = mData.balanceObj.AccountBalances[0].Division;\r\n mData.balanceObj.hasAccountSelection = true;\r\n mData.balanceObj.balanceFormatted = mData.selectedRemoteAccount.BalanceFormatted;\r\n mData.balanceObj.payNowFormatted = mData.selectedRemoteAccount.PayNowFormatted;\r\n mData.balanceObj.payNowBalance = mData.selectedRemoteAccount.PayNowBalance;\r\n mData.balanceObj.nonBudgetBalanceFormatted =\r\n mData.selectedRemoteAccount.NonBudgetBalanceFormatted;\r\n } else if (\r\n selectedBillingAccountObj &&\r\n mData.balanceObj.AccountBalances.some(function (x) {\r\n return (\r\n x.RemoteSystemId === selectedBillingAccountObj.RemoteSystemId &&\r\n x.RemoteSystemAccountId === selectedBillingAccountObj.RemoteSystemAccountId &&\r\n x.RemoteSystemAccountNumber === selectedBillingAccountObj.RemoteSystemAccountNumber\r\n );\r\n })\r\n ) {\r\n mData.selectedRemoteAccount = mData.balanceObj.AccountBalances.filterSingle(function (x) {\r\n return (\r\n x.RemoteSystemId === selectedBillingAccountObj.RemoteSystemId &&\r\n x.RemoteSystemAccountId === selectedBillingAccountObj.RemoteSystemAccountId &&\r\n x.RemoteSystemAccountNumber === selectedBillingAccountObj.RemoteSystemAccountNumber\r\n );\r\n });\r\n mData.balanceObj.hasAccountSelection = true;\r\n mData.balanceObj.balanceFormatted = mData.selectedRemoteAccount.BalanceFormatted;\r\n mData.balanceObj.payNowFormatted = mData.selectedRemoteAccount.PayNowFormatted;\r\n mData.balanceObj.payNowBalance = mData.selectedRemoteAccount.PayNowBalance;\r\n mData.balanceObj.nonBudgetBalanceFormatted =\r\n mData.selectedRemoteAccount.NonBudgetBalanceFormatted;\r\n }\r\n\r\n if (budgetEligibility && budgetEligibility.IsEligible) {\r\n self.CustomerBudgetEligibility = budgetEligibility;\r\n mData.balanceObj.BudgetPaymentPreview = self.CustomerBudgetEligibility;\r\n }\r\n\r\n if (mData.balanceObj.hasAccountSelection) {\r\n mData.balanceObj.numPendingPayments = mData.selectedRemoteAccount.PendingPayments\r\n ? mData.selectedRemoteAccount.PendingPayments.length\r\n : null;\r\n mData.balanceObj.pendingPaymentsTotal = 0;\r\n\r\n if (\r\n mData.selectedRemoteAccount.PendingPayments &&\r\n mData.selectedRemoteAccount.PendingPayments.length > 0\r\n ) {\r\n mData.selectedRemoteAccount.PendingPayments.forEach(function (pp) {\r\n mData.balanceObj.pendingPaymentsTotal += pp.PaymentAmount;\r\n });\r\n\r\n mData.balanceObj.pendingPaymentsTotalFormatted =\r\n \"$\" + mData.balanceObj.pendingPaymentsTotal.formatMoney(2);\r\n }\r\n\r\n self.getPaymentSubmittalOptions(\r\n mData.s1AccountId,\r\n mData.selectedRemoteAccount,\r\n mData.authToken,\r\n function (paymentSubmitOpts) {\r\n var totalInvoiceAmount = 0;\r\n mData.balanceObj.CreditCardProfiles = paymentSubmitOpts.CreditCardPaymentProfiles;\r\n if (\r\n mData.balanceObj.CreditCardProfiles &&\r\n mData.balanceObj.CreditCardProfiles.length > 0\r\n ) {\r\n mData.balanceObj.hasCCOnFile = mData.balanceObj.CreditCardProfiles.some(function (c) {\r\n return (\r\n c.PaymentProfile &&\r\n c.PaymentProfile.PaymentProfiles &&\r\n c.PaymentProfile.PaymentProfiles.length > 0\r\n );\r\n });\r\n }\r\n if (\r\n [cw.appEnum.S1RemoteSystem.As400, cw.appEnum.S1RemoteSystem.Cargas].includes(\r\n mData.selectedRemoteAccount.RemoteSystemId\r\n )\r\n ) {\r\n mData.balanceObj.OpenInvoices = paymentSubmitOpts.OpenInvoices.map(function (i) {\r\n i.InvoiceId =\r\n i.InvoiceId && i.InvoiceId > 0 ? i.InvoiceId : i.DocumentTypeDescription;\r\n i.InvoiceDateFormatted = moment(i.InvoiceDate).format(\"l\");\r\n i.AmountDueFormatted = \"$\" + i.AmountDue.formatMoney(2);\r\n i.InvoiceTotalFormatted = \"$\" + i.InvoiceTotal.formatMoney(2);\r\n i.IsBudgetPayment = false;\r\n totalInvoiceAmount += i.AmountDue;\r\n\r\n if (i.DocumentTypeDescription === \"Budget Payment\") {\r\n i.IsBudgetPayment = true;\r\n }\r\n return i;\r\n });\r\n mData.balanceObj.BudgetPayments = paymentSubmitOpts.OpenInvoices.filterSingle(\r\n function (i) {\r\n if (i.DocumentTypeDescription === \"Budget Payment\") {\r\n i.BudgetPaymentFormatted = \"$\" + i.AmountDue.formatMoney(2);\r\n i.BudgetPaymentTotalFormatted = \"$\" + i.InvoiceTotal.formatMoney(2);\r\n return i;\r\n }\r\n }\r\n );\r\n\r\n var ccAmtRemaining =\r\n parseFloat(mData.balanceObj.payNowBalance).toFixed(2) -\r\n parseFloat(totalInvoiceAmount).toFixed(2);\r\n if (parseInt(ccAmtRemaining).toFixed(2) > 0) {\r\n mData.balanceObj.nonBudgetAndInvoiceBalance = \"$\" + ccAmtRemaining.formatMoney(2);\r\n }\r\n } else {\r\n mData.balanceObj.OpenInvoices = [];\r\n }\r\n\r\n self.renderTemplate(mData, function (renderedTemplate) {\r\n self.openModal(renderedTemplate, mData, authToken);\r\n });\r\n }\r\n );\r\n\r\n return;\r\n } else {\r\n self.renderTemplate(mData, function (renderedTemplate) {\r\n self.openModal(renderedTemplate, mData, authToken);\r\n });\r\n return;\r\n }\r\n }\r\n }\r\n );\r\n },\r\n openModal: function (renderedTemplate, modalData, authToken) {\r\n var self = cw.widget.payment;\r\n self.modalRef = cw.modal.Open({\r\n data: modalData,\r\n title: !modalData.balanceObj.hasAccountSelection\r\n ? \"Select account to apply payment towards\"\r\n : \"Make a Payment\",\r\n modalBody: $(renderedTemplate),\r\n buttons: [\r\n {\r\n label: '<i class=\"fa fa-times\"></i> Cancel',\r\n cssClass: \"btn-white btn-xs-block\",\r\n action: function (dialogRef) {\r\n dialogRef.close();\r\n },\r\n },\r\n {\r\n label: 'Make Payment <i class=\"fa fa-arrow-right\"></i>',\r\n cssClass:\r\n \"btn-primary btn-xs-block make-payment disabled \" +\r\n (!modalData.balanceObj.hasAccountSelection ? \"hidden\" : \"\"),\r\n action: self.handleSubmit,\r\n },\r\n ],\r\n onShownCallback: function (mr) {\r\n if (mr.$modalBody.find(\".pending-payment-indicator\").length > 0) {\r\n mr.$modalFooter\r\n .find(\".bootstrap-dialog-footer-buttons\")\r\n .prepend(\r\n '<div class=\"pull-left fs-xs-12 pt15 pb15 pending-payments-indicator-wrapper\"><i class=\"fa fa-regular fa-clock shipley-blue\" title=\"Account has pending payments\" aria-hidden=\"true\"></i> Accounts with pending/processing payments</div>'\r\n );\r\n } else if (!mr.$modalBody.find(\".payment-type-select-pane\").hasClass(\"hidden\")) {\r\n mr.$modalFooter.find(\".pending-payments-indicator-wrapper\").remove();\r\n mr.$modalFooter\r\n .find(\".bootstrap-dialog-footer-buttons\")\r\n .prepend(\r\n '<div class=\"pull-left fs-xs-12 pt15 pb15\"><i class=\"fa fa-star shipley-blue required\" title=\"Required Field\" aria-hidden=\"true\"></i> Required Fields</div>'\r\n );\r\n }\r\n\r\n // Desktop view or mobile view for Make A Payment Modal with no Account Selection Modal\r\n var $mobileTable = $(\".mobile-table\");\r\n var $deskTable = $(\".desk-table\");\r\n if (isMobile) {\r\n $mobileTable.removeClass(\"hidden\");\r\n $deskTable.addClass(\"hidden\");\r\n } else {\r\n $mobileTable.addClass(\"hidden\");\r\n $deskTable.removeClass(\"hidden\");\r\n }\r\n\r\n var $makePaymentBtn = mr.$modalFooter.find(\".make-payment\");\r\n var $paymentConfigure = mr.$modalBody.find(\".payment-configure\");\r\n var $newCCform = mr.$modalBody.find(\".new-credit-card-form\");\r\n var $existingCcWrapper = mr.$modalBody.find(\".existing-cc-wrapper\");\r\n\r\n var selAcct = mr.getData(\"selectedRemoteAccount\");\r\n\r\n if (selAcct && selAcct.RemoteSystemId === cw.appEnum.S1RemoteSystem.Nexant) {\r\n mr.$modalBody.find(\".eft-config-select\").addClass(\"hidden\");\r\n mr.$modalBody.find(\"#cc-config\").prop(\"checked\", true);\r\n mr.$modalBody.find(\".cc-configure\").removeClass(\"hidden\");\r\n }\r\n\r\n mr.$modalBody.find('[data-toggle=\"tooltip\"]').tooltip({ trigger: \"hover click\" });\r\n\r\n // #region rebind upon selecting billing account\r\n mr.$modalBody.on(\"click\", \".select-acct\", function (e) {\r\n e.preventDefault();\r\n var $this = $(this);\r\n var selectedAccount = $this.data(\"account\");\r\n cw.loadingIndicator.start();\r\n\r\n self.getPaymentSubmittalOptions(\r\n mr.getData(\"s1AccountId\"),\r\n selectedAccount,\r\n mr.getData(\"authToken\"),\r\n function (paymentSubmitOpts) {\r\n var modalData = {\r\n s1AccountId: mr.getData(\"s1AccountId\"),\r\n balanceObj: mr.getData(\"balanceObj\"),\r\n authToken: mr.getData(\"authToken\"),\r\n selectedRemoteAccount: selectedAccount,\r\n successCallback: mr.getData(\"successCallback\"),\r\n };\r\n\r\n var totalInvoiceAmount = 0;\r\n\r\n if (\r\n [cw.appEnum.S1RemoteSystem.As400, cw.appEnum.S1RemoteSystem.Cargas].includes(\r\n selectedAccount.RemoteSystemId\r\n )\r\n ) {\r\n modalData.balanceObj.OpenInvoices = paymentSubmitOpts.OpenInvoices.map(function (i) {\r\n i.InvoiceId =\r\n i.InvoiceId && i.InvoiceId > 0 ? i.InvoiceId : i.DocumentTypeDescription;\r\n i.InvoiceDateFormatted = moment(i.InvoiceDate).format(\"l\");\r\n i.AmountDueFormatted = \"$\" + i.AmountDue.formatMoney(2);\r\n i.InvoiceTotalFormatted = \"$\" + i.InvoiceTotal.formatMoney(2);\r\n totalInvoiceAmount += i.AmountDue;\r\n return i;\r\n });\r\n modalData.balanceObj.BudgetPayments = paymentSubmitOpts.OpenInvoices.filterSingle(\r\n function (i) {\r\n if (i.DocumentTypeDescription === \"Budget Payment\") {\r\n i.BudgetPaymentFormatted = \"$\" + i.AmountDue.formatMoney(2);\r\n i.BudgetPaymentTotalFormatted = \"$\" + i.InvoiceTotal.formatMoney(2);\r\n return i;\r\n }\r\n }\r\n );\r\n } else {\r\n modalData.balanceObj.OpenInvoices = [];\r\n }\r\n\r\n var ccAmtRemaining =\r\n parseFloat(modalData.balanceObj.payNowBalance).toFixed(2) -\r\n parseFloat(totalInvoiceAmount).toFixed(2);\r\n if (parseInt(ccAmtRemaining).toFixed(2) > 0) {\r\n modalData.balanceObj.nonBudgetAndInvoiceBalance = \"$\" + ccAmtRemaining.formatMoney(2);\r\n }\r\n\r\n modalData.balanceObj.CreditCardProfiles = paymentSubmitOpts.CreditCardPaymentProfiles;\r\n\r\n if (\r\n modalData.balanceObj.CreditCardProfiles &&\r\n modalData.balanceObj.CreditCardProfiles.length > 0\r\n ) {\r\n modalData.balanceObj.hasCCOnFile = modalData.balanceObj.CreditCardProfiles.some(\r\n function (c) {\r\n return (\r\n c.PaymentProfile &&\r\n c.PaymentProfile.PaymentProfiles &&\r\n c.PaymentProfile.PaymentProfiles.length > 0\r\n );\r\n }\r\n );\r\n }\r\n modalData.balanceObj.hasAccountSelection = true;\r\n modalData.balanceObj.balanceFormatted = modalData.selectedRemoteAccount.BalanceFormatted;\r\n modalData.balanceObj.payNowFormatted = modalData.selectedRemoteAccount.PayNowFormatted;\r\n modalData.balanceObj.payNowBalance = modalData.selectedRemoteAccount.PayNowBalance;\r\n\r\n if (\r\n modalData.balanceObj.AccountBalances &&\r\n modalData.balanceObj.AccountBalances.length > 0\r\n ) {\r\n modalData.balanceObj.AccountBalances.forEach(function (x) {\r\n x.obj = JSON.stringify(x);\r\n if (parseFloat(x.BudgetBalance)) {\r\n x.BudgetBalanceFormatted = \"$\" + x.BudgetBalance.formatMoney(2);\r\n x.NonBudgetBalanceFormatted = \"$\" + x.NonBudgetCoveredBalance.formatMoney(2);\r\n }\r\n });\r\n } else if (\r\n modalData.balanceObj.AccountBalances &&\r\n modalData.balanceObj.AccountBalances.length === 1\r\n ) {\r\n modalData.balanceObj.BalanceDueFormatted =\r\n modalData.balanceObj.AccountBalances[0].BalanceFormatted;\r\n }\r\n\r\n if (selectedAccount.RemoteSystemId === cw.appEnum.S1RemoteSystem.Nexant) {\r\n // we need only EFT Configs found in S1 for Nexant\r\n modalData.balanceObj.EftConfigs = modalData.balanceObj.EftConfigs.filter(function (x) {\r\n return (\r\n x.EftConfigId > 0 ||\r\n x.RemoteSystemAccountNumber === selectedAccount.RemoteSystemAccountNumber\r\n );\r\n });\r\n } else if (selectedAccount.RemoteSystemId === cw.appEnum.S1RemoteSystem.Cargas) {\r\n // we need only EFT Configs in S1 or our own accounts EFT's\r\n modalData.balanceObj.EftConfigs = modalData.balanceObj.EftConfigs.filter(function (x) {\r\n return (\r\n x.RemoteSystemAccountNumber === selectedAccount.RemoteSystemAccountNumber ||\r\n x.EftConfigId > 0\r\n );\r\n });\r\n }\r\n\r\n modalData.balanceObj.numPendingPayments = modalData.selectedRemoteAccount.PendingPayments\r\n ? modalData.selectedRemoteAccount.PendingPayments.length\r\n : null;\r\n modalData.balanceObj.pendingPaymentsTotal = 0;\r\n\r\n if (\r\n modalData.selectedRemoteAccount.PendingPayments &&\r\n modalData.selectedRemoteAccount.PendingPayments.length > 0\r\n ) {\r\n modalData.selectedRemoteAccount.PendingPayments.forEach(function (pp) {\r\n modalData.balanceObj.pendingPaymentsTotal += pp.PaymentAmount;\r\n });\r\n\r\n modalData.balanceObj.pendingPaymentsTotalFormatted =\r\n \"$\" + modalData.balanceObj.pendingPaymentsTotal.formatMoney(2);\r\n }\r\n\r\n modalData.balanceObj.ExpirationYears = cw.utility.getCreditCardExpirationYears();\r\n modalData.balanceObj.hasCCOnFile = false;\r\n if (\r\n modalData.balanceObj.CreditCardProfiles &&\r\n modalData.balanceObj.CreditCardProfiles.length > 0\r\n ) {\r\n modalData.balanceObj.hasCCOnFile = modalData.balanceObj.CreditCardProfiles.some(\r\n function (c) {\r\n return (\r\n c.PaymentProfile &&\r\n c.PaymentProfile.PaymentProfiles &&\r\n c.PaymentProfile.PaymentProfiles.length > 0\r\n );\r\n }\r\n );\r\n }\r\n modalData.balanceObj.DraftDays = self.getDraftDays();\r\n\r\n if (self.CustomerBudgetEligibility && self.CustomerBudgetEligibility.IsEligible) {\r\n self.CustomerBudgetEligibility = cw.pages.budgetManager.getBudgetBalanceByCustomer(\r\n selectedAccount.RemoteSystemAccountNumber,\r\n self.CustomerBudgetEligibility.ServiceLocations,\r\n modalData.balanceObj.payNowBalance,\r\n self.CustomerBudgetEligibility\r\n );\r\n modalData.balanceObj.BudgetPaymentPreview = self.CustomerBudgetEligibility;\r\n }\r\n\r\n self.renderTemplate(modalData, function (renderedTemplate) {\r\n mr.$modalBody.find(\".make-a-payment-wrapper\").replaceWith(renderedTemplate);\r\n\r\n if (mr.$modalBody.find(\".required-indicator-wrapper\").length < 1) {\r\n mr.$modalFooter.find(\".pending-payments-indicator-wrapper\").remove();\r\n mr.$modalFooter\r\n .find(\".bootstrap-dialog-footer-buttons\")\r\n .prepend(\r\n '<div class=\"pull-left fs-xs-12 pt15 pb15 required-indicator-wrapper\"><i class=\"fa fa-star shipley-blue required\" title=\"Required Field\" aria-hidden=\"true\"></i> Required Fields</div>'\r\n );\r\n }\r\n\r\n //nexant doesn't currently support a direct EFT payment, so its hidden here\r\n if ($this.data(\"account\").RemoteSystemId === cw.appEnum.S1RemoteSystem.Nexant) {\r\n mr.$modalBody.find(\".eft-config-select\").addClass(\"hidden\");\r\n mr.$modalBody.find(\"#cc-config\").prop(\"checked\", true);\r\n mr.$modalBody.find(\".cc-configure\").removeClass(\"hidden\");\r\n }\r\n\r\n mr.$modalBody.find('[data-toggle=\"tooltip\"]').tooltip({ trigger: \"hover click\" });\r\n\r\n var $balanceDueDisplay = mr.$modalBody.find(\".balance-due\");\r\n var $payNowDueDisplay = mr.$modalBody.find(\".pay-now-due\");\r\n var $acctPane = mr.$modalBody.find(\".account-select-pane\");\r\n var $paymentTypePane = mr.$modalBody.find(\".payment-type-select-pane\");\r\n $paymentConfigure = mr.$modalBody.find(\".payment-configure\");\r\n $newCCform = mr.$modalBody.find(\".new-credit-card-form\");\r\n $existingCcWrapper = mr.$modalBody.find(\".existing-cc-wrapper\");\r\n\r\n $balanceDueDisplay.html($this.data(\"account\").BalanceFormatted);\r\n $payNowDueDisplay.html($this.data(\"account\").PayNowFormatted);\r\n $acctPane.addClass(\"hidden\");\r\n $paymentTypePane.removeClass(\"hidden\");\r\n mr.setTitle(\"Select Payment Method\");\r\n mr.setData(\"selectedRemoteAccount\", $this.data(\"account\"));\r\n $makePaymentBtn.removeClass(\"hidden\");\r\n\r\n //re-init this for subsequent loads\r\n /*\r\n\t\t\t\t\t\t\t\t\t\t\t\tmr.$modalBody.find('.datepicker-wrapper').datetimepicker({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tformat: 'MM/DD/YYYY',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdaysOfWeekDisabled: [0, 6],\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tminDate: moment().add(1, 'day').startOf('day'),\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tmaxDate: cw.widget.payment.addWeekDaysToPicker(new Date(), 12)\r\n\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t*/\r\n // Controls whether its desktop view or mobile view for Make A Payment Modal After Account Selection\r\n\r\n if (isMobile) {\r\n mr.$modalBody.find(\"table.mobile-table\").removeClass(\"hidden\");\r\n mr.$modalBody.find(\"table.desk-table\").addClass(\"hidden\");\r\n } else {\r\n mr.$modalBody.find(\"table.mobile-table\").addClass(\"hidden\");\r\n mr.$modalBody.find(\"table.desk-table\").removeClass(\"hidden\");\r\n }\r\n cw.loadingIndicator.stop();\r\n });\r\n }\r\n );\r\n });\r\n\r\n // #endregion rebind upon selecting billing account\r\n\r\n var payThis = function ($this) {\r\n var amount = $this.data(\"amt\").toString().replace(\"$\", \"\").replace(\",\", \"\");\r\n if ($.isNumeric(amount)) {\r\n mr.$modalBody\r\n .find('input[data-invoice-id=\"' + $this.data(\"id\") + '\"]')\r\n .val(parseFloat(amount).toFixed(2));\r\n }\r\n\r\n var valObj = self.validateModal(mr);\r\n if (valObj.errs.length > 0) {\r\n $makePaymentBtn.addClass(\"disabled\");\r\n } else {\r\n $makePaymentBtn.removeClass(\"disabled\");\r\n }\r\n };\r\n\r\n mr.$modalBody.on(\"click\", \".pay-all\", function (e) {\r\n mr.$modalBody.find(\".pay-this\").each(function () {\r\n payThis($(this));\r\n });\r\n });\r\n\r\n mr.$modalBody.on(\"click\", \".pay-this\", function (e) {\r\n payThis($(this));\r\n });\r\n\r\n mr.$modalBody.on(\"change dp.change keyup\", \"input, select, .datepicker-wrapper\", function (e) {\r\n var $this = $(this);\r\n if ($this.data(\"amt\")) {\r\n mr.$modalBody\r\n .find('input[data-invoice-id=\"' + $this.data(\"id\") + '\"]')\r\n .val($this.data(\"amt\").toString().replace(\"$\", \"\").replace(\",\", \"\"));\r\n }\r\n\r\n var valObj = self.validateModal(mr);\r\n if (valObj.errs.length > 0) {\r\n $makePaymentBtn.addClass(\"disabled\");\r\n } else {\r\n $makePaymentBtn.removeClass(\"disabled\");\r\n }\r\n });\r\n\r\n var balObj = mr.getData(\"balanceObj\");\r\n var accountBal = balObj.AccountBalances;\r\n var onBudget = accountBal.some(function (c) {\r\n return c.OnBudget;\r\n });\r\n\r\n mr.$modalBody.on(\"click\", \".budget-signup\", function (e) {\r\n e.preventDefault();\r\n cw.loadingIndicator.start();\r\n cw.pages.budgetManager.budgetEnroll({\r\n CustomerBudgetResponse: self.CustomerBudgetEligibility,\r\n ServiceLocations: Array.isArray(self.CustomerBudgetEligibility.ServiceLocations)\r\n ? self.CustomerBudgetEligibility.ServiceLocations\r\n : [self.CustomerBudgetEligibility.ServiceLocations],\r\n AccountBalances: accountBal,\r\n S1AccountId: mr.getData(\"s1AccountId\"),\r\n successCallback: function () {\r\n var successCallback = mr.getData(\"successCallback\");\r\n if (typeof successCallback === \"function\") {\r\n mr.close();\r\n successCallback();\r\n }\r\n },\r\n });\r\n });\r\n\r\n mr.$modalBody.on(\"change\", '[name=\"payment-option\"]', function (e) {\r\n var $this = $(this);\r\n\r\n $paymentConfigure.addClass(\"hidden\");\r\n $this\r\n .closest(\".payment-config-option-wrapper\")\r\n .find(\".payment-configure\")\r\n .removeClass(\"hidden\");\r\n });\r\n\r\n mr.$modalBody.on(\"click\", \".add-new-eft\", function (e) {\r\n e.preventDefault();\r\n mr.$modalBody.find(\".existing-eft-options\").addClass(\"hidden\");\r\n mr.$modalBody.find(\".add-new-eft\").addClass(\"hidden\");\r\n mr.$modalBody.find(\".new-eft-form\").removeClass(\"hidden\");\r\n\r\n //remove draft date datepicker from modal if Cargas Account\r\n if (selAcct && selAcct.RemoteSystemId === cw.appEnum.S1RemoteSystem.Cargas) {\r\n mr.$modalBody.find(\".draft-date-wrapper\").addClass(\"hidden\");\r\n } else {\r\n mr.$modalBody.find(\".draft-date-wrapper\").removeClass(\"hidden\");\r\n }\r\n });\r\n\r\n mr.$modalBody.on(\"click\", \".use-existing-eft\", function (e) {\r\n e.preventDefault();\r\n mr.$modalBody.find(\".new-eft-form\").addClass(\"hidden\");\r\n mr.$modalBody.find(\".existing-eft-options\").removeClass(\"hidden\");\r\n mr.$modalBody.find(\".add-new-eft\").removeClass(\"hidden\");\r\n });\r\n\r\n mr.$modalBody.on(\"click\", \".add-new-cc\", function (e) {\r\n e.preventDefault();\r\n mr.$modalBody.find(\".add-new-cc\").addClass(\"hidden\");\r\n $existingCcWrapper.addClass(\"hidden\");\r\n $newCCform.removeClass(\"hidden\");\r\n });\r\n\r\n mr.$modalBody.on(\"click\", \".back-to-existing-cc\", function (e) {\r\n e.preventDefault();\r\n $newCCform.addClass(\"hidden\");\r\n $existingCcWrapper.removeClass(\"hidden\");\r\n mr.$modalBody.find(\".add-new-cc\").removeClass(\"hidden\");\r\n });\r\n\r\n /* the html around this was commented out\r\n\t\t\t\t\t\t\tmr.$modalBody.find('.datepicker-wrapper').datetimepicker({\r\n\t\t\t\t\t\t\t\tformat: 'MM/DD/YYYY',\r\n\t\t\t\t\t\t\t\tdaysOfWeekDisabled: [0, 6],\r\n\t\t\t\t\t\t\t\tminDate: moment().add(1, 'day').startOf('day'),\r\n\t\t\t\t\t\t\t\tmaxDate: cw.widget.payment.addWeekDaysToPicker(new Date(), 12)\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\r\n\t\r\n\t\t\t\t\t\t\tmr.$modalBody.on('focus', '.datepicker-wrapper input', function (e) {\r\n\t\t\t\t\t\t\t\t$(this).closest('div').data(\"DateTimePicker\").show();\r\n\t\t\t\t\t\t\t});\r\n\t\r\n\t\t\t\t\t\t\tmr.$modalBody.on(\"dp.change\", '.datepicker-wrapper', function (e) {\r\n\t\t\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\t\t\tvar $this = $(this);\r\n\t\t\t\t\t\t\t\tself.validateModal(mr);\r\n\t\t\t\t\t\t\t\t//\tcw.pages.application.setRequiredStarState($this.find('input'), $this.data('DateTimePicker').date() !== null ? true : false);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t*/\r\n\r\n mr.$modalBody.on(\"click\", \".view-invoice\", function (e) {\r\n e.preventDefault();\r\n var $this = $(this);\r\n cw.modal.Open({\r\n data: { docId: $this.data(\"invoiceDocumentId\") },\r\n title: \"Invoice #\" + $this.data(\"invoiceId\"),\r\n modalBody: $('<div id=\"pdf-target\"></div>'),\r\n size: BootstrapDialog.SIZE_WIDE,\r\n successCallback: function (modalRef) {\r\n modalRef.close();\r\n },\r\n onShownCallback: function (modalRef) {\r\n var doc = modalRef.getData(\"docId\");\r\n\r\n createNonRoutedApp(pdfViewer, {\r\n pdfUrl: \"/gen-asset/document-viewer/\" + doc + (authToken ? \"?a=\" + authToken : \"\"),\r\n allowDownload: true,\r\n onPdfLoaded() {\r\n cw.loadingIndicator.stop();\r\n },\r\n }).mount(\"#pdf-target\");\r\n\r\n cw.loadingIndicator.stop();\r\n },\r\n });\r\n });\r\n\r\n cw.loadingIndicator.stop();\r\n },\r\n });\r\n },\r\n\r\n checkForAmexCard: function (cardNumber) {\r\n var cardno = /^(?:3[47][0-9]{13})$/;\r\n if (cardNumber.match(cardno)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n },\r\n\r\n recalcTotalPayment: function (mr) {\r\n // In mobile grab the correct classes from mobile table\r\n if (isMobile) {\r\n var $paymentTotal = mr.$modalBody.find(\".payment-amount-mobile\");\r\n var $budgetAmt = mr.$modalBody.find(\".budget-pay-amount-mobile\");\r\n var $eftBudgetAmt = mr.$modalBody.find(\".eft-budget-pay-amount-mobile\");\r\n var $invoiceAmounts = mr.$modalBody.find(\".invoice-pay-amount-mobile\");\r\n var $additionalPayAmt = mr.$modalBody.find(\".additional-pay-amount-mobile\");\r\n } else {\r\n var $paymentTotal = mr.$modalBody.find(\".payment-amount\");\r\n var $budgetAmt = mr.$modalBody.find(\".budget-pay-amount\");\r\n var $eftBudgetAmt = mr.$modalBody.find(\".eft-budget-pay-amount\");\r\n var $invoiceAmounts = mr.$modalBody.find(\".invoice-pay-amount\");\r\n var $additionalPayAmt = mr.$modalBody.find(\".additional-pay-amount\");\r\n }\r\n var total = 0;\r\n var hasError = false;\r\n var hasBudget = false;\r\n var paymentOpts = [];\r\n var paymentOpt = [];\r\n if (\r\n $invoiceAmounts.length > 0 ||\r\n $additionalPayAmt.length > 0 ||\r\n $budgetAmt.length > 0 ||\r\n $eftBudgetAmt.length > 0\r\n ) {\r\n $invoiceAmounts.each(function () {\r\n var $me = $(this);\r\n var $parent = $me.closest(\"td\");\r\n var myVal = $.trim($me.val());\r\n\r\n if (myVal !== \"\") {\r\n //if value of input is greater than the balance, throw error\r\n var amtDue = $me.data(\"amountDueId\");\r\n\r\n if (myVal > amtDue) {\r\n $parent.addClass(\"has-error\");\r\n hasError = true;\r\n } else {\r\n if ($.isNumeric(myVal) && parseFloat(myVal) > 0) {\r\n $parent.removeClass(\"has-error\");\r\n paymentOpt = {\r\n InvoiceId:\r\n $.isNumeric($me.data(\"invoiceId\")) && $me.data(\"invoiceId\") > 0\r\n ? $me.data(\"invoiceId\")\r\n : null,\r\n PaymentAmount: parseFloat(myVal),\r\n BudgetPayment: hasBudget,\r\n RemoteSystemId: $me.data(\"remoteSystemId\"),\r\n RemoteSystemAccountNumber: $me.data(\"remoteSystemAccountNumber\"),\r\n RemoteSystemAccountId: $me.data(\"remoteSystemAccountId\"),\r\n };\r\n total += parseFloat(paymentOpt.PaymentAmount);\r\n paymentOpts.push(paymentOpt);\r\n } else if ($.isNumeric(myVal) && parseFloat(myVal) === 0) {\r\n $parent.removeClass(\"has-error\");\r\n } else {\r\n $parent.addClass(\"has-error\");\r\n hasError = true;\r\n }\r\n }\r\n } else {\r\n $parent.removeClass(\"has-error\");\r\n }\r\n });\r\n\r\n $budgetAmt.each(function () {\r\n var $bMe = $(this);\r\n var bVal = $.trim($bMe.val());\r\n if (parseFloat(bVal)) {\r\n hasBudget = true;\r\n }\r\n });\r\n\r\n $eftBudgetAmt.each(function () {\r\n var eVal = $.trim($(this).val());\r\n if (parseFloat(eVal)) {\r\n hasBudget = true;\r\n }\r\n });\r\n\r\n if ($additionalPayAmt) {\r\n var val = $.trim($additionalPayAmt.val());\r\n if (val !== \"\") {\r\n if ($.isNumeric(val) && parseFloat(val) > 0) {\r\n paymentOpt = {\r\n InvoiceId: null,\r\n PaymentAmount: parseFloat(val),\r\n BudgetPayment: false,\r\n RemoteSystemId: $additionalPayAmt.data(\"remoteSystemId\"),\r\n RemoteSystemAccountNumber: $additionalPayAmt.data(\"remoteSystemAccountNumber\"),\r\n RemoteSystemAccountId: $additionalPayAmt.data(\"remoteSystemAccountId\"),\r\n };\r\n total += parseFloat(paymentOpt.PaymentAmount);\r\n paymentOpts.push(paymentOpt);\r\n } else {\r\n hasError = true;\r\n }\r\n }\r\n }\r\n if ($budgetAmt) {\r\n var budVal = $.trim($budgetAmt.val());\r\n\r\n if (budVal !== \"\") {\r\n if ($.isNumeric(budVal) && parseFloat(budVal) > 0) {\r\n paymentOpt = {\r\n InvoiceId: null,\r\n PaymentAmount: parseFloat(budVal),\r\n BudgetPayment: hasBudget,\r\n RemoteSystemId: $additionalPayAmt.data(\"remoteSystemId\"),\r\n RemoteSystemAccountNumber: $additionalPayAmt.data(\"remoteSystemAccountNumber\"),\r\n RemoteSystemAccountId: $additionalPayAmt.data(\"remoteSystemAccountId\"),\r\n };\r\n total += parseFloat(paymentOpt.PaymentAmount);\r\n paymentOpts.push(paymentOpt);\r\n } else {\r\n hasError = true;\r\n }\r\n }\r\n }\r\n if ($eftBudgetAmt) {\r\n var eftBudVal = $.trim($eftBudgetAmt.val());\r\n\r\n if (eftBudVal !== \"\") {\r\n if ($.isNumeric(eftBudVal) && parseFloat(eftBudVal) > 0) {\r\n paymentOpt = {\r\n InvoiceId: null,\r\n PaymentAmount: parseFloat(eftBudVal),\r\n BudgetPayment: hasBudget,\r\n RemoteSystemId: $additionalPayAmt.data(\"remoteSystemId\"),\r\n RemoteSystemAccountNumber: $additionalPayAmt.data(\"remoteSystemAccountNumber\"),\r\n RemoteSystemAccountId: $additionalPayAmt.data(\"remoteSystemAccountId\"),\r\n };\r\n total += parseFloat(paymentOpt.PaymentAmount);\r\n paymentOpts.push(paymentOpt);\r\n } else {\r\n hasError = true;\r\n }\r\n }\r\n }\r\n\r\n if (!hasError) {\r\n $paymentTotal.val(total.formatMoney(2));\r\n mr.$modalBody.find(\".payment-amount-display\").html(\"$\" + total.formatMoney(2));\r\n mr.setData(\"paymentDetails\", paymentOpts);\r\n } else {\r\n $paymentTotal.val(\"--\");\r\n mr.$modalBody.find(\".payment-amount-display\").html(\"--\");\r\n mr.setData(\"paymentDetails\", null);\r\n }\r\n }\r\n\r\n return {\r\n hasError: hasError,\r\n paymentOptions: paymentOpts,\r\n };\r\n },\r\n renderTemplate: function (dataObj, successCallback) {\r\n cw.templating.GetRenderedTemplateHTML(\r\n \"MakePayment.html\",\r\n cw.appEnum.TemplateType.CwWidget,\r\n dataObj.balanceObj,\r\n function (renderedTmpl) {\r\n successCallback(renderedTmpl);\r\n }\r\n );\r\n },\r\n getPaymentSubmittalOptions: function (s1AccountId, remoteSystemAccount, authToken, successCallback) {\r\n cw.loadingIndicator.start();\r\n cw.webservices.getJson(\r\n \"S1AccountManager/get-payment-submittal-options\",\r\n {\r\n S1AccountId: s1AccountId,\r\n AuthToken: authToken,\r\n AccountMapping: remoteSystemAccount,\r\n },\r\n function (paymentSubmittalOpts) {\r\n successCallback(paymentSubmittalOpts);\r\n cw.loadingIndicator.stop();\r\n }\r\n );\r\n },\r\n handleSubmit: function (mr) {\r\n var self = cw.widget.payment;\r\n self.modalRef = mr; //save this here so that the authorized.net 'callback' can have access to it\r\n var $errPnl = mr.$modalBody.find(\".err-panel\");\r\n cw.alert.ClearAlert($errPnl);\r\n var valObj = self.validateModal(mr);\r\n var remoteAccount = mr.getData(\"selectedRemoteAccount\");\r\n\r\n if (valObj.errs.length === 0) {\r\n //success very nice\r\n\r\n cw.loadingIndicator.start();\r\n //get mode we are in...\r\n if (mr.$modalBody.find('[name=\"payment-option\"][value=\"credit-card\"]:checked').length > 0) {\r\n //credit card mode\r\n\r\n if (mr.$modalBody.find(\".new-credit-card-form\").hasClass(\"hidden\")) {\r\n //existing card\r\n cw.webservices.getJson(\r\n \"S1AccountManager/process-cc-payment-with-existing-card\",\r\n {\r\n S1AccountId: mr.getData(\"s1AccountId\"),\r\n RemoteAccount: remoteAccount,\r\n PaymentProfileId: valObj.ccObj.paymentProfileId,\r\n PaymentAmount: valObj.paymentAmount,\r\n PaymentAuthToken: mr.getData(\"authToken\"),\r\n PaymentDetails: valObj.PaymentDetails,\r\n Division: mr.getData(\"division\") ?? remoteAccount.Division,\r\n },\r\n function (resp) {\r\n if (resp.WasSuccess) {\r\n cw.modal.Alert({\r\n title: \"Payment successful\",\r\n text:\r\n \"Thank you! Your payment has been successfully processed. Please allow 24-48 hours for it to reflect on your account. Your Payment Confirmation ID is:\" +\r\n resp.PaymentId,\r\n });\r\n var cb = self.modalRef.getData(\"successCallback\");\r\n\r\n if (typeof cb === \"function\") {\r\n cb();\r\n }\r\n self.modalRef.close();\r\n cw.loadingIndicator.stop();\r\n } else {\r\n cw.modal.Alert(self.getCCErr(resp));\r\n cw.loadingIndicator.stop();\r\n }\r\n }\r\n );\r\n } else {\r\n //new CC\r\n cw.webservices.getJson(\r\n \"S1AccountManager/get-cc-payment-token\",\r\n {\r\n S1AccountId: mr.getData(\"s1AccountId\"),\r\n RemoteAccount: mr.getData(\"selectedRemoteAccount\"),\r\n PaymentAuthToken: mr.getData(\"authToken\"),\r\n Division: mr.getData(\"division\"),\r\n },\r\n function (tokenObj) {\r\n if (tokenObj) {\r\n var secureData = {},\r\n authData = {},\r\n cardData = {};\r\n cardData.cardNumber = valObj.ccObj.ccNum;\r\n cardData.month = valObj.ccObj.ccMonth;\r\n cardData.year = valObj.ccObj.ccYear;\r\n cardData.zip = valObj.ccObj.billZip;\r\n cardData.fullName = valObj.ccObj.cardHolderName;\r\n cardData.cardCode = valObj.ccObj.cvv2;\r\n secureData.cardData = cardData;\r\n authData.clientKey = tokenObj.PublicClientKey;\r\n authData.apiLoginID = tokenObj.ApiLoginId;\r\n secureData.authData = authData;\r\n window.accountHandleAuthnetResponse = self.getAcceptJsNewCcResp;\r\n Accept.dispatchData(secureData, \"accountHandleAuthnetResponse\");\r\n }\r\n }\r\n );\r\n }\r\n } else if (mr.$modalBody.find('input[name=\"payment-option\"][value=\"eft\"]:checked').length > 0) {\r\n //eft mode\r\n\r\n var eftCallbackFunc = function (resp) {\r\n var msg = \"\";\r\n if (resp.EftPaymentResponse) {\r\n switch (resp.EftPaymentResponse) {\r\n case self.EftPaymentResponse.Success:\r\n msg =\r\n \"Your EFT payment has been submitted. Please allow 24-48 hours for your account to reflect these changes. Your Payment Confirmation ID is: \" +\r\n resp.EftPaymentConfirmationNum;\r\n break;\r\n case self.EftPaymentResponse.UnableToVerifyBankAccount:\r\n msg =\r\n \"We were unable to verify your bank account information. Please verify information and try again.\";\r\n break;\r\n case self.EftPaymentResponse.EftPaymentSubmitFail:\r\n msg =\r\n \"There was an error submitting your EFT payment. Please contact customer support for more information.\";\r\n break;\r\n case self.EftPaymentResponse.OnetimeEftProfileSaveFail:\r\n case self.EftPaymentResponse.EftProfileSaveFail:\r\n msg +=\r\n \"There was an error saving your bank account to the backend system. Please verify inforamtion any try again.\";\r\n break;\r\n default:\r\n msg = \"An error occurred submitting your EFT payment\";\r\n break;\r\n }\r\n var successCb = mr.getData(\"successCallback\");\r\n\r\n if (typeof successCb === \"function\") {\r\n successCb();\r\n }\r\n } else {\r\n msg = \"An error occurred submitting your EFT payment\";\r\n }\r\n\r\n cw.modal.Alert({\r\n title: \"EFT Payment\",\r\n text: msg,\r\n });\r\n\r\n if (resp.EftPaymentResponse === self.EftPaymentResponse.Success) {\r\n mr.close();\r\n }\r\n\r\n cw.loadingIndicator.stop();\r\n };\r\n\r\n if (mr.$modalBody.find(\".new-eft-form\").hasClass(\"hidden\")) {\r\n //existing EFT\r\n cw.webservices.getJson(\r\n \"S1AccountManager/make-eft-payment-with-existing-eft-config\",\r\n {\r\n S1AccountId: mr.getData(\"s1AccountId\"),\r\n RemoteAccount: mr.getData(\"selectedRemoteAccount\"),\r\n PaymentAmount: valObj.paymentAmount.formatMoney(2),\r\n EftConfigId: valObj.eftObj.eftConfigObjId,\r\n PaymentAuthToken: mr.getData(\"authToken\"),\r\n PaymentDate: valObj.eftObj.draftDate,\r\n PaymentDetails: mr.getData(\"paymentDetails\"),\r\n CustomerBankAccountId: valObj.eftObj.customerBankId,\r\n },\r\n eftCallbackFunc\r\n );\r\n } else {\r\n // new eft\r\n\r\n cw.webservices.getJson(\r\n \"S1AccountManager/make-eft-payment-with-new-eft-config\",\r\n {\r\n S1AccountId: mr.getData(\"s1AccountId\"),\r\n RemoteAccount: mr.getData(\"selectedRemoteAccount\"),\r\n PaymentAmount: valObj.paymentAmount.formatMoney(2),\r\n EftConfigNickName: valObj.eftObj.nickname,\r\n BankName: valObj.eftObj.bankName,\r\n RoutingNumber: valObj.eftObj.routingNbr,\r\n AccountNumber: valObj.eftObj.acctNbr,\r\n AccountType: valObj.eftObj.acctType,\r\n SaveForLater: valObj.eftObj.saveForLater,\r\n PaymentAuthToken: mr.getData(\"authToken\"),\r\n PaymentDate: valObj.eftObj.draftDate,\r\n PaymentDetails: mr.getData(\"paymentDetails\"),\r\n },\r\n eftCallbackFunc\r\n );\r\n }\r\n }\r\n } else {\r\n cw.alert.Alert(valObj.errs, $errPnl);\r\n }\r\n },\r\n getDraftDays: function () {\r\n var rtn = [];\r\n for (var i = 0; i <= 31; i++) {\r\n rtn.push(i);\r\n }\r\n return rtn;\r\n },\r\n getAcceptJsNewCcResp: function (authNetResp) {\r\n var self = cw.widget.payment;\r\n var $errPnl = self.modalRef.$modalBody.find(\".pnl-err\");\r\n var remoteAccount = self.modalRef.getData(\"selectedRemoteAccount\");\r\n //authorized are clowns and insist this is a window object cause their code sucks and don't know what a callback/promise are\r\n cw.alert.ClearAlert($errPnl);\r\n var $payAmount = self.modalRef.$modalBody.find(\".payment-amount\").val().replace(\",\", \"\");\r\n // In mobile $payAmount grabs the mobile table class for CC payment\r\n if (isMobile) {\r\n $payAmount = self.modalRef.$modalBody.find(\".payment-amount-mobile\").val().replace(\",\", \"\");\r\n }\r\n cw.webservices.getJson(\r\n \"S1AccountManager/process-auth-net-accept-js-response-and-charge-card\",\r\n {\r\n AuthorizedAcceptJsResponse: JSON.stringify(authNetResp),\r\n S1AccountId: self.modalRef.getData(\"s1AccountId\"),\r\n RemoteAccount: remoteAccount,\r\n PaymentAmount: parseFloat($payAmount),\r\n SaveForLater: self.modalRef.$modalBody.find(\"#save-cc-acct:checked\").length > 0,\r\n PaymentAuthToken: self.modalRef.getData(\"authToken\"),\r\n PaymentDetails: self.modalRef.getData(\"paymentDetails\"),\r\n Division: self.modalRef.getData(\"division\") ?? remoteAccount.Division,\r\n },\r\n function (resp) {\r\n if (resp.WasSuccess) {\r\n cw.modal.Alert({\r\n title: \"Payment successful\",\r\n text:\r\n \"Thank you! Your payment has been successfully processed. Please allow 24-48 hours for it to reflect on your account. Your Payment Confirmation ID is :\" +\r\n resp.PaymentId,\r\n });\r\n var cb = self.modalRef.getData(\"successCallback\");\r\n\r\n if (typeof cb === \"function\") {\r\n cb();\r\n }\r\n self.modalRef.close();\r\n cw.loadingIndicator.stop();\r\n } else {\r\n cw.modal.Alert(self.getCCErr(resp));\r\n cw.loadingIndicator.stop();\r\n }\r\n }\r\n );\r\n },\r\n getCCErr: function (resp) {\r\n var msg = { title: \"Error\" };\r\n var ccResp = cw.widget.payment.S1CcTransactionResponse;\r\n\r\n switch (resp.TransactionResponse) {\r\n case ccResp.TransactionProcessedButNotApproved:\r\n msg.text = \"Transaction was not approved\";\r\n break;\r\n case ccResp.NoResponseFromCreditCardProcessorWhileAddingCard:\r\n msg.text = \"No response from credit card processor\";\r\n break;\r\n case ccResp.AddingCardToInvalidAccount:\r\n msg.text = \"Invalid billing account selected\";\r\n break;\r\n case ccResp.CouldNotDetermineCustomerPaymentId:\r\n msg.text = \"Could not determine credit card payment id\";\r\n break;\r\n case ccResp.CouldParseProcessorAddPaymentMethodResponse:\r\n msg.text = \"Could not process credit card processor response\";\r\n break;\r\n case ccResp.SuccessButCouldNotReportTransactionToRemoteSystem:\r\n msg.text =\r\n \"Credit card was successfully charged however payment could not be applied to billing system\";\r\n break;\r\n case ccResp.PaymentAmountRequired:\r\n msg.text = \"Missing payment amount\";\r\n break;\r\n case ccResp.CouldNotDetermineCustomerUser:\r\n msg.text = \"Could not determine customer account\";\r\n break;\r\n case ccResp.CreditCardNumberOrExpirationDateMissing:\r\n msg.text = \"Credit card number or expiration date missing\";\r\n break;\r\n case ccResp.CreditCardDidNotPassLuhnCheck:\r\n msg.text = \"Credit card number invalid\";\r\n break;\r\n case ccResp.CreditCardInvalidExpiration:\r\n msg.text = \"Invalid expiration date (must be in the future)\";\r\n break;\r\n case ccResp.CreditCardInvalidCvv2:\r\n msg.text = \"Invalid card cvv code\";\r\n break;\r\n case ccResp.CreditCardInvalidZipCode:\r\n msg.text = \"Invalid card billing zip code\";\r\n break;\r\n case ccResp.CreditCardInvalidCardholderName:\r\n msg.text = \"Invalid card cardholder name\";\r\n break;\r\n case ccResp.CreditCardSystemError:\r\n msg.text = \"Unknown system error\";\r\n break;\r\n default:\r\n msg = { title: \"Unknown Error\", text: \"An unknown error occurred\" };\r\n }\r\n\r\n return msg;\r\n },\r\n\r\n addWeekDaysToPicker: function (date, days) {\r\n var dayCounter = 1;\r\n date.setDate(date.getDate());\r\n if (days > 0) {\r\n while (dayCounter < days) {\r\n date.setDate(date.getDate() + 1);\r\n var check = date.getDay();\r\n if (check === 0 || check === 6) {\r\n // Nothing\r\n } else {\r\n dayCounter++;\r\n }\r\n }\r\n }\r\n return date;\r\n },\r\n\r\n validateModal: function (mr) {\r\n var self = this;\r\n var rtnObj = {};\r\n var errs = [];\r\n\r\n var paymentOpts = self.recalcTotalPayment(mr);\r\n var selAcct = mr.getData(\"selectedRemoteAccount\");\r\n var $paymentAmount = mr.$modalBody.find(\".payment-amount\");\r\n // In mobile $payAmount grabs the mobile table classes for validation\r\n if (isMobile) {\r\n $paymentAmount = mr.$modalBody.find(\".payment-amount-mobile\");\r\n }\r\n\r\n var paymentAmount = $paymentAmount.val();\r\n rtnObj.PaymentDetails = paymentOpts.paymentOptions;\r\n\r\n if (paymentAmount.includes(\",\")) {\r\n paymentAmount = paymentAmount.replace(/\\,/g, \"\");\r\n }\r\n\r\n mr.$modalBody.find(\".accepted-credit-cards\").tooltip(\"destroy\");\r\n\r\n if (!paymentAmount || paymentAmount === \"\") {\r\n errs.push({ text: \"Payment amount is required\", $el: $paymentAmount });\r\n cw.pages.application.setRequiredStarState($paymentAmount, false);\r\n } else if (paymentOpts.hasError) {\r\n errs.push({ text: \"Invoice payment amount is invalid\", $el: $paymentAmount });\r\n cw.pages.application.setRequiredStarState($paymentAmount, false);\r\n } else if (paymentAmount && !$.isNumeric(paymentAmount)) {\r\n errs.push({ text: \"Payment amount is invalid\", $el: $paymentAmount });\r\n cw.pages.application.setRequiredStarState($paymentAmount, false);\r\n } else if ($.isNumeric(paymentAmount) && parseFloat(paymentAmount) <= 0) {\r\n errs.push({ text: \"Payment amount should be greater than $0.00\", $el: $paymentAmount });\r\n cw.pages.application.setRequiredStarState($paymentAmount, false);\r\n } else {\r\n cw.pages.application.setRequiredStarState($paymentAmount, true);\r\n rtnObj.paymentAmount = parseFloat(paymentAmount);\r\n }\r\n\r\n //determine if any of the payments are Budget Payments\r\n\r\n if (mr.$modalBody.find('[name=\"payment-option\"]:checked').length < 1) {\r\n errs.push({ text: \"Payment Type (bank or credit card) is required\" });\r\n } else {\r\n if (mr.$modalBody.find('[name=\"payment-option\"]:checked').val() === \"credit-card\") {\r\n if (!mr.$modalBody.find(\".new-credit-card-form\").hasClass(\"hidden\")) {\r\n //new credit card form\r\n\r\n var $ccNum = mr.$modalBody.find(\".credit-card-number\");\r\n var ccNum = $ccNum.val().replace(/[^0-9]+/gi, \"\");\r\n var ccNumAmex = self.checkForAmexCard(ccNum);\r\n\r\n var $cardHolderName = mr.$modalBody.find(\".credit-card-cardholder-name\");\r\n var cardHolderName = $.trim($cardHolderName.val());\r\n\r\n var $ccMonth = mr.$modalBody.find(\".cc-exp-month\");\r\n var ccMonth = $ccMonth.val();\r\n\r\n var $ccYear = mr.$modalBody.find(\".cc-exp-year\");\r\n var ccYear = $ccYear.val();\r\n\r\n var $cvv2 = mr.$modalBody.find(\".credit-card-cvv\");\r\n var cvv2 = $.trim($cvv2.val());\r\n\r\n var $billZip = mr.$modalBody.find(\".credit-card-billing-zip\");\r\n var billZip = $.trim($billZip.val());\r\n\r\n var ccObj = {\r\n ccNum: ccNum,\r\n cardHolderName: cardHolderName,\r\n ccMonth: ccMonth,\r\n ccYear: ccYear,\r\n cvv2: cvv2,\r\n billZip: billZip,\r\n saveForLater: mr.$modalBody.find(\"#save-cc-acct:checked\").length > 0,\r\n };\r\n\r\n if (!ccNum) {\r\n errs.push({ text: \"Credit Card Number is required\", $el: $ccNum });\r\n cw.pages.application.setRequiredStarState($ccNum, false);\r\n } else if (!ccNum.luhnCheck()) {\r\n errs.push({ text: \"Credit Card Number appears invalid\", $el: this.$ccNum });\r\n cw.pages.application.setRequiredStarState($ccNum, false);\r\n } else if (ccNumAmex) {\r\n var amexCcToolTip = mr.$modalBody.find(\".accepted-credit-cards\");\r\n var initializeToolTip = amexCcToolTip.tooltip({\r\n trigger: \"manual\",\r\n placement: \"right\",\r\n html: true,\r\n title: \"Unfortunately, we do not accept American Express Credit Cards\",\r\n });\r\n initializeToolTip.tooltip(\"show\");\r\n errs.push({\r\n text: \"American Express credit cards are not currently accepted\",\r\n $el: this.$ccNum,\r\n });\r\n } else {\r\n cw.pages.application.setRequiredStarState($ccNum, true);\r\n mr.$modalBody.find(\".accepted-credit-cards\").tooltip(\"destroy\");\r\n }\r\n\r\n if (!cardHolderName) {\r\n errs.push({ text: \"Card Holder's Name is required\", $el: $cardHolderName });\r\n cw.pages.application.setRequiredStarState($cardHolderName, false);\r\n } else {\r\n cw.pages.application.setRequiredStarState($cardHolderName, true);\r\n }\r\n\r\n var badMonth = false;\r\n if (!ccMonth) {\r\n errs.push({ text: \"Credit Card Expiration month is required\", $el: $ccMonth });\r\n badMonth = true;\r\n } else if (!$.isNumeric(ccMonth) || parseInt(ccMonth) > 12 || parseInt(ccMonth) < 1) {\r\n errs.push({ text: \"Credit Card Expiration month appears invalid\", $el: $ccMonth });\r\n badMonth = true;\r\n }\r\n\r\n var badYear = false;\r\n if (!ccYear) {\r\n errs.push({ text: \"Credit Card Expiration year is required\", $el: $ccYear });\r\n badYear = true;\r\n } else if (!$.isNumeric(ccYear) || parseInt(ccYear) < moment().year()) {\r\n errs.push({ text: \"Credit Card Expiration year appears invalid\", $el: $ccYear });\r\n badYear = true;\r\n }\r\n\r\n if (!badMonth || !badYear) {\r\n var ccExpMoment = moment(parseInt(ccMonth) + \"/1/\" + parseInt(ccYear), \"M/D/YYYY\").endOf(\r\n \"month\"\r\n );\r\n\r\n if (ccExpMoment.isBefore(moment().endOf(\"day\"))) {\r\n errs.push({ text: \"Credit Card Expiration year appears expired\", $el: $ccYear });\r\n cw.pages.application.setRequiredStarState($ccYear, false);\r\n } else {\r\n cw.pages.application.setRequiredStarState($ccYear, true);\r\n }\r\n } else {\r\n cw.pages.application.setRequiredStarState($ccYear, true);\r\n }\r\n\r\n if (cvv2 === \"\") {\r\n errs.push({ text: \"Credit card security/cvv code required\", $el: $cvv2 });\r\n cw.pages.application.setRequiredStarState($cvv2, false);\r\n } else if (!$.isNumeric(cvv2) || cvv2.length < 3 || cvv2.length > 4) {\r\n errs.push({ text: \"Credit card security/cvv code appears invalid\", $el: $cvv2 });\r\n cw.pages.application.setRequiredStarState($cvv2, false);\r\n } else {\r\n cw.pages.application.setRequiredStarState($cvv2, true);\r\n }\r\n\r\n if (billZip === \"\") {\r\n errs.push({ text: \"Credit card billing zip is required\", $el: $billZip });\r\n cw.pages.application.setRequiredStarState($billZip, false);\r\n } else if (!billZip.match(/[0-9]{5}/)) {\r\n errs.push({ text: \"Credit card billing zip appears invalid\", $el: $billZip });\r\n cw.pages.application.setRequiredStarState($billZip, false);\r\n } else {\r\n cw.pages.application.setRequiredStarState($billZip, true);\r\n }\r\n\r\n if (errs.length === 0) {\r\n rtnObj.ccObj = ccObj;\r\n }\r\n } else {\r\n //existing credit card\r\n if (mr.$modalBody.find('input[name=\"cc-selection\"]:checked').length <= 0) {\r\n errs.push({ text: \"A credit card selection is required\" });\r\n } else {\r\n rtnObj.ccObj = {\r\n paymentProfileId: mr.$modalBody.find('input[name=\"cc-selection\"]:checked').val(),\r\n };\r\n }\r\n }\r\n } else if (mr.$modalBody.find('[name=\"payment-option\"]:checked').val() === \"eft\") {\r\n if (mr.$modalBody.find(\".new-eft-form\").hasClass(\"hidden\")) {\r\n //existing eft\r\n\r\n if (mr.$modalBody.find('input[name=\"eft-selection\"]:checked').length <= 0) {\r\n errs.push({ text: \"An EFT account selection is required\" });\r\n } else {\r\n rtnObj.eftObj = {\r\n eftConfigObjId: parseInt(\r\n mr.$modalBody.find('input[name=\"eft-selection\"]:checked').data(\"accountId\")\r\n ),\r\n customerBankId: parseInt(\r\n mr.$modalBody.find('input[name=\"eft-selection\"]:checked').data(\"customerBankId\")\r\n ),\r\n };\r\n }\r\n } else {\r\n //new eft\r\n\r\n if (mr.$modalBody.find('input[name=\"eft-account-type\"]:checked').length <= 0) {\r\n errs.push({ text: \"A bank account type selection is required\" });\r\n cw.pages.application.setRequiredStarState(mr.$modalBody.find(\"#eft-checking\"), false);\r\n } else {\r\n cw.pages.application.setRequiredStarState(mr.$modalBody.find(\"#eft-checking\"), true);\r\n }\r\n\r\n var $bankName = mr.$modalBody.find(\".eft-bank-name\");\r\n var bankName = $.trim($bankName.val());\r\n if (bankName === \"\") {\r\n errs.push({ text: \"Bank name is required\", $el: $bankName });\r\n cw.pages.application.setRequiredStarState($bankName, false);\r\n } else {\r\n cw.pages.application.setRequiredStarState($bankName, true);\r\n }\r\n\r\n var $routingNbr = mr.$modalBody.find(\".eft-bank-routing-number\");\r\n var routingNbr = $.trim($routingNbr.val()).replace(/[^0-9]+/g, \"\");\r\n if (routingNbr === \"\") {\r\n errs.push({\r\n text: \"Bank routing number is required\",\r\n $el: $routingNbr,\r\n });\r\n cw.pages.application.setRequiredStarState($routingNbr, false);\r\n } else if (routingNbr.length !== 9) {\r\n errs.push({ text: \"Bank routing number should be 9 digits\", $el: $routingNbr });\r\n cw.pages.application.setRequiredStarState($routingNbr, false);\r\n } else {\r\n var n = 0;\r\n for (var i = 0; i < routingNbr.length; i += 3) {\r\n n +=\r\n parseInt(routingNbr.charAt(i), 10) * 3 +\r\n parseInt(routingNbr.charAt(i + 1), 10) * 7 +\r\n parseInt(routingNbr.charAt(i + 2), 10);\r\n }\r\n\r\n // If the resulting sum is an even multiple of ten (but not zero),\r\n // the aba routing number is good.\r\n\r\n if (n !== 0 && n % 10 === 0) {\r\n cw.pages.application.setRequiredStarState($routingNbr, true);\r\n } else {\r\n errs.push({ text: \"Bank routing number looks invalid\", $el: $routingNbr });\r\n cw.pages.application.setRequiredStarState($routingNbr, false);\r\n }\r\n }\r\n\r\n var $acctNbr = mr.$modalBody.find(\".eft-bank-account-number\");\r\n var acctNbr = $.trim($acctNbr.val());\r\n if (acctNbr === \"\") {\r\n errs.push({ text: \"Bank account number is required\", $el: $acctNbr });\r\n cw.pages.application.setRequiredStarState($acctNbr, false);\r\n } else {\r\n cw.pages.application.setRequiredStarState($acctNbr, true);\r\n }\r\n\r\n /*\r\n\t\t\t\t\t\t\t\tvar $paymentDateWrapper = mr.$modalBody.find('.datepicker-wrapper');\r\n\t\t\t\t\t\t\t\tvar $paymentDate = $paymentDateWrapper.find('input');\r\n\r\n\t\t\t\t\t\t\t\tif (selAcct && selAcct.RemoteSystemId !== cw.appEnum.S1RemoteSystem.Cargas) {\r\n\t\t\t\t\t\t\t\t\tif ($paymentDate.val()) {\r\n\t\t\t\t\t\t\t\t\t\tvar paymentDate = $paymentDateWrapper.data('DateTimePicker').date();\r\n\t\t\t\t\t\t\t\t\t\tif (paymentDate.isValid()) {\r\n\t\t\t\t\t\t\t\t\t\t\tcw.pages.application.setRequiredStarState($paymentDate, true);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\terrs.push({ text: 'Please select a valid date to draft account', $el: $paymentDate });\r\n\t\t\t\t\t\t\t\t\t\tcw.pages.application.setRequiredStarState($paymentDate, false);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t*/\r\n\r\n if (errs.length === 0) {\r\n rtnObj.eftObj = {\r\n bankName: bankName,\r\n acctType: mr.$modalBody.find('input[name=\"eft-account-type\"]:checked').val(),\r\n routingNbr: routingNbr,\r\n acctNbr: acctNbr,\r\n saveForLater: mr.$modalBody.find(\"#save-eft-acct:checked\").length > 0,\r\n nickname: $.trim(mr.$modalBody.find(\".eft-account-nickname\").val()),\r\n //draftDate: moment($paymentDate).format(\"YYYYMMDD\")\r\n draftDate: moment().format(\"YYYYMMDD\"),\r\n };\r\n }\r\n }\r\n }\r\n }\r\n\r\n rtnObj.errs = errs;\r\n return rtnObj;\r\n },\r\n },\r\n },\r\n });\r\n})((window.cw = window.cw || {}), jQuery);\r\n","var map = {\n\t\"./af\": 25177,\n\t\"./af.js\": 25177,\n\t\"./ar\": 61509,\n\t\"./ar-dz\": 41488,\n\t\"./ar-dz.js\": 41488,\n\t\"./ar-kw\": 58676,\n\t\"./ar-kw.js\": 58676,\n\t\"./ar-ly\": 42353,\n\t\"./ar-ly.js\": 42353,\n\t\"./ar-ma\": 24496,\n\t\"./ar-ma.js\": 24496,\n\t\"./ar-ps\": 6947,\n\t\"./ar-ps.js\": 6947,\n\t\"./ar-sa\": 82682,\n\t\"./ar-sa.js\": 82682,\n\t\"./ar-tn\": 89756,\n\t\"./ar-tn.js\": 89756,\n\t\"./ar.js\": 61509,\n\t\"./az\": 95533,\n\t\"./az.js\": 95533,\n\t\"./be\": 28959,\n\t\"./be.js\": 28959,\n\t\"./bg\": 47777,\n\t\"./bg.js\": 47777,\n\t\"./bm\": 54903,\n\t\"./bm.js\": 54903,\n\t\"./bn\": 61290,\n\t\"./bn-bd\": 17357,\n\t\"./bn-bd.js\": 17357,\n\t\"./bn.js\": 61290,\n\t\"./bo\": 31545,\n\t\"./bo.js\": 31545,\n\t\"./br\": 11470,\n\t\"./br.js\": 11470,\n\t\"./bs\": 66810,\n\t\"./bs.js\": 66810,\n\t\"./ca\": 7306,\n\t\"./ca.js\": 7306,\n\t\"./cs\": 56464,\n\t\"./cs.js\": 56464,\n\t\"./cv\": 73635,\n\t\"./cv.js\": 73635,\n\t\"./cy\": 64226,\n\t\"./cy.js\": 64226,\n\t\"./da\": 93601,\n\t\"./da.js\": 93601,\n\t\"./de\": 77853,\n\t\"./de-at\": 26111,\n\t\"./de-at.js\": 26111,\n\t\"./de-ch\": 54697,\n\t\"./de-ch.js\": 54697,\n\t\"./de.js\": 77853,\n\t\"./dv\": 60708,\n\t\"./dv.js\": 60708,\n\t\"./el\": 54691,\n\t\"./el.js\": 54691,\n\t\"./en-au\": 53872,\n\t\"./en-au.js\": 53872,\n\t\"./en-ca\": 28298,\n\t\"./en-ca.js\": 28298,\n\t\"./en-gb\": 56195,\n\t\"./en-gb.js\": 56195,\n\t\"./en-ie\": 66584,\n\t\"./en-ie.js\": 66584,\n\t\"./en-il\": 65543,\n\t\"./en-il.js\": 65543,\n\t\"./en-in\": 9033,\n\t\"./en-in.js\": 9033,\n\t\"./en-nz\": 79402,\n\t\"./en-nz.js\": 79402,\n\t\"./en-sg\": 43004,\n\t\"./en-sg.js\": 43004,\n\t\"./eo\": 32934,\n\t\"./eo.js\": 32934,\n\t\"./es\": 97650,\n\t\"./es-do\": 20838,\n\t\"./es-do.js\": 20838,\n\t\"./es-mx\": 17730,\n\t\"./es-mx.js\": 17730,\n\t\"./es-us\": 56575,\n\t\"./es-us.js\": 56575,\n\t\"./es.js\": 97650,\n\t\"./et\": 3035,\n\t\"./et.js\": 3035,\n\t\"./eu\": 3508,\n\t\"./eu.js\": 3508,\n\t\"./fa\": 119,\n\t\"./fa.js\": 119,\n\t\"./fi\": 90527,\n\t\"./fi.js\": 90527,\n\t\"./fil\": 95995,\n\t\"./fil.js\": 95995,\n\t\"./fo\": 52477,\n\t\"./fo.js\": 52477,\n\t\"./fr\": 85498,\n\t\"./fr-ca\": 26435,\n\t\"./fr-ca.js\": 26435,\n\t\"./fr-ch\": 37892,\n\t\"./fr-ch.js\": 37892,\n\t\"./fr.js\": 85498,\n\t\"./fy\": 37071,\n\t\"./fy.js\": 37071,\n\t\"./ga\": 41734,\n\t\"./ga.js\": 41734,\n\t\"./gd\": 70217,\n\t\"./gd.js\": 70217,\n\t\"./gl\": 77329,\n\t\"./gl.js\": 77329,\n\t\"./gom-deva\": 32124,\n\t\"./gom-deva.js\": 32124,\n\t\"./gom-latn\": 93383,\n\t\"./gom-latn.js\": 93383,\n\t\"./gu\": 95050,\n\t\"./gu.js\": 95050,\n\t\"./he\": 11713,\n\t\"./he.js\": 11713,\n\t\"./hi\": 43861,\n\t\"./hi.js\": 43861,\n\t\"./hr\": 26308,\n\t\"./hr.js\": 26308,\n\t\"./hu\": 90609,\n\t\"./hu.js\": 90609,\n\t\"./hy-am\": 17160,\n\t\"./hy-am.js\": 17160,\n\t\"./id\": 74063,\n\t\"./id.js\": 74063,\n\t\"./is\": 89374,\n\t\"./is.js\": 89374,\n\t\"./it\": 88383,\n\t\"./it-ch\": 21827,\n\t\"./it-ch.js\": 21827,\n\t\"./it.js\": 88383,\n\t\"./ja\": 23827,\n\t\"./ja.js\": 23827,\n\t\"./jv\": 89722,\n\t\"./jv.js\": 89722,\n\t\"./ka\": 41794,\n\t\"./ka.js\": 41794,\n\t\"./kk\": 27088,\n\t\"./kk.js\": 27088,\n\t\"./km\": 96870,\n\t\"./km.js\": 96870,\n\t\"./kn\": 84451,\n\t\"./kn.js\": 84451,\n\t\"./ko\": 63164,\n\t\"./ko.js\": 63164,\n\t\"./ku\": 98174,\n\t\"./ku-kmr\": 6181,\n\t\"./ku-kmr.js\": 6181,\n\t\"./ku.js\": 98174,\n\t\"./ky\": 78474,\n\t\"./ky.js\": 78474,\n\t\"./lb\": 79680,\n\t\"./lb.js\": 79680,\n\t\"./lo\": 15867,\n\t\"./lo.js\": 15867,\n\t\"./lt\": 45766,\n\t\"./lt.js\": 45766,\n\t\"./lv\": 69532,\n\t\"./lv.js\": 69532,\n\t\"./me\": 58076,\n\t\"./me.js\": 58076,\n\t\"./mi\": 41848,\n\t\"./mi.js\": 41848,\n\t\"./mk\": 30306,\n\t\"./mk.js\": 30306,\n\t\"./ml\": 73739,\n\t\"./ml.js\": 73739,\n\t\"./mn\": 99053,\n\t\"./mn.js\": 99053,\n\t\"./mr\": 86169,\n\t\"./mr.js\": 86169,\n\t\"./ms\": 73386,\n\t\"./ms-my\": 92297,\n\t\"./ms-my.js\": 92297,\n\t\"./ms.js\": 73386,\n\t\"./mt\": 77075,\n\t\"./mt.js\": 77075,\n\t\"./my\": 72264,\n\t\"./my.js\": 72264,\n\t\"./nb\": 22274,\n\t\"./nb.js\": 22274,\n\t\"./ne\": 8235,\n\t\"./ne.js\": 8235,\n\t\"./nl\": 92572,\n\t\"./nl-be\": 43784,\n\t\"./nl-be.js\": 43784,\n\t\"./nl.js\": 92572,\n\t\"./nn\": 54566,\n\t\"./nn.js\": 54566,\n\t\"./oc-lnc\": 69330,\n\t\"./oc-lnc.js\": 69330,\n\t\"./pa-in\": 29849,\n\t\"./pa-in.js\": 29849,\n\t\"./pl\": 94418,\n\t\"./pl.js\": 94418,\n\t\"./pt\": 79834,\n\t\"./pt-br\": 48303,\n\t\"./pt-br.js\": 48303,\n\t\"./pt.js\": 79834,\n\t\"./ro\": 24457,\n\t\"./ro.js\": 24457,\n\t\"./ru\": 82271,\n\t\"./ru.js\": 82271,\n\t\"./sd\": 1221,\n\t\"./sd.js\": 1221,\n\t\"./se\": 33478,\n\t\"./se.js\": 33478,\n\t\"./si\": 17538,\n\t\"./si.js\": 17538,\n\t\"./sk\": 5784,\n\t\"./sk.js\": 5784,\n\t\"./sl\": 46637,\n\t\"./sl.js\": 46637,\n\t\"./sq\": 86794,\n\t\"./sq.js\": 86794,\n\t\"./sr\": 45719,\n\t\"./sr-cyrl\": 3322,\n\t\"./sr-cyrl.js\": 3322,\n\t\"./sr.js\": 45719,\n\t\"./ss\": 56000,\n\t\"./ss.js\": 56000,\n\t\"./sv\": 41011,\n\t\"./sv.js\": 41011,\n\t\"./sw\": 40748,\n\t\"./sw.js\": 40748,\n\t\"./ta\": 11025,\n\t\"./ta.js\": 11025,\n\t\"./te\": 11885,\n\t\"./te.js\": 11885,\n\t\"./tet\": 28861,\n\t\"./tet.js\": 28861,\n\t\"./tg\": 86571,\n\t\"./tg.js\": 86571,\n\t\"./th\": 55802,\n\t\"./th.js\": 55802,\n\t\"./tk\": 59527,\n\t\"./tk.js\": 59527,\n\t\"./tl-ph\": 29231,\n\t\"./tl-ph.js\": 29231,\n\t\"./tlh\": 31052,\n\t\"./tlh.js\": 31052,\n\t\"./tr\": 85096,\n\t\"./tr.js\": 85096,\n\t\"./tzl\": 79846,\n\t\"./tzl.js\": 79846,\n\t\"./tzm\": 81765,\n\t\"./tzm-latn\": 97711,\n\t\"./tzm-latn.js\": 97711,\n\t\"./tzm.js\": 81765,\n\t\"./ug-cn\": 48414,\n\t\"./ug-cn.js\": 48414,\n\t\"./uk\": 16618,\n\t\"./uk.js\": 16618,\n\t\"./ur\": 57777,\n\t\"./ur.js\": 57777,\n\t\"./uz\": 57609,\n\t\"./uz-latn\": 72475,\n\t\"./uz-latn.js\": 72475,\n\t\"./uz.js\": 57609,\n\t\"./vi\": 21135,\n\t\"./vi.js\": 21135,\n\t\"./x-pseudo\": 64051,\n\t\"./x-pseudo.js\": 64051,\n\t\"./yo\": 82218,\n\t\"./yo.js\": 82218,\n\t\"./zh-cn\": 52648,\n\t\"./zh-cn.js\": 52648,\n\t\"./zh-hk\": 1632,\n\t\"./zh-hk.js\": 1632,\n\t\"./zh-mo\": 31541,\n\t\"./zh-mo.js\": 31541,\n\t\"./zh-tw\": 50304,\n\t\"./zh-tw.js\": 50304\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 35358;","export enum AlertSeverity {\r\n Info = \"alert-info\",\r\n Warning = \"alert-warning\",\r\n Error = \"alert-error\",\r\n Success = \"alert-success\",\r\n}\r\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, renderSlot as _renderSlot, normalizeStyle as _normalizeStyle, createVNode as _createVNode, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = [\"for\"]\nconst _hoisted_2 = [\"id\", \"checked\", \"readonly\", \"disabled\"]\nconst _hoisted_3 = [\"innerHTML\"]\nconst _hoisted_4 = {\n key: 0,\n class: \"pl5\"\n}\nconst _hoisted_5 = [\"innerHTML\"]\n\nimport { computed, ref, watch, StyleValue } from \"vue\";\r\nimport Icon from \"@compUtility/icon.vue\";\r\nimport { trueFalseString, boxBool } from \"@utility/boolUtils\";\r\nimport { genComponentId } from \"@components/componentHelpers\";\r\n\r\ninterface Props {\r\n checked?: trueFalseString;\r\n disabled?: trueFalseString;\r\n readonly?: trueFalseString;\r\n label?: string;\r\n hover?: trueFalseString;\r\n variant?: \"small\" | \"normal\";\r\n inputClass?: string | string[];\r\n alignLabel?: \"start\" | \"center\" | \"end\";\r\n loading?: trueFalseString;\r\n loadingText?: string;\r\n labelClass?: string;\r\n labelStyle?: StyleValue;\r\n}\r\n\r\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'checkbox',\n props: {\n checked: { type: [Boolean, String], default: false },\n disabled: { type: [Boolean, String], default: false },\n readonly: { type: [Boolean, String], default: false },\n label: { default: \" \" },\n hover: { type: [Boolean, String] },\n variant: { default: \"normal\" },\n inputClass: { default: \"\" },\n alignLabel: { default: \"start\" },\n loading: { type: [Boolean, String], default: false },\n loadingText: {},\n labelClass: { default: undefined },\n labelStyle: { type: [Boolean, null, String, Object, Array], default: undefined }\n },\n emits: [\"checked\", \"unchecked\", \"updated\", \"input\"],\n setup(__props: any, { emit: __emit }) {\n\r\nconst props = __props;\r\n\r\nconst emit = __emit;\r\n\r\nconst componentId = genComponentId(\"cbx\");\r\nconst isChecked = ref<boolean>(boxBool(props.checked));\r\n\r\nconst lblClasses = computed<string[]>(() => {\r\n const labels = [\"s1-cbx-label\"];\r\n if (boxBool(props.disabled)) {\r\n labels.push(\"s1-cbx-label-disabled\");\r\n }\r\n if ([\" \", \"\"].indexOf(props.label?.trim() ?? \" \") >= 0) {\r\n labels.push(\"lbl-no-txt\");\r\n }\r\n if (props.labelClass) {\r\n labels.push(props.labelClass);\r\n }\r\n return labels;\r\n});\r\n\r\nconst checkVal = function (newVal: Event) {\r\n if (newVal != null && newVal.target && newVal.target instanceof HTMLInputElement) {\r\n const target = newVal.target;\r\n isChecked.value = boxBool(target.checked);\r\n }\r\n};\r\n\r\nwatch(\r\n () => props.checked,\r\n (newVal) => {\r\n isChecked.value = boxBool(newVal);\r\n }\r\n);\r\n\r\nwatch(isChecked, (newVal) => {\r\n if (newVal) {\r\n emit(\"checked\");\r\n } else {\r\n emit(\"unchecked\");\r\n }\r\n\r\n emit(\"updated\", newVal);\r\n emit(\"input\", newVal);\r\n});\r\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass(['s1-cbx', props.variant !== 'normal' ? props.variant : ''])\n }, [\n _createElementVNode(\"label\", {\n class: _normalizeClass(lblClasses.value),\n for: _unref(componentId),\n style: _normalizeStyle(props.labelStyle)\n }, [\n _createElementVNode(\"input\", {\n type: \"checkbox\",\n id: _unref(componentId),\n checked: isChecked.value,\n readonly: _ctx.readonly,\n disabled: _unref(boxBool)(props.disabled),\n class: _normalizeClass(_ctx.inputClass),\n onChange: checkVal\n }, null, 42, _hoisted_2),\n _renderSlot(_ctx.$slots, \"default\", {}, () => [\n _createElementVNode(\"span\", {\n class: _normalizeClass(`s1-cbx-lbl-${props.alignLabel}`),\n innerHTML: _ctx.label\n }, null, 10, _hoisted_3)\n ])\n ], 14, _hoisted_1),\n (_ctx.loading)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4, [\n _createVNode(Icon, {\n animate: \"spin\",\n icon: \"fa-spinner\"\n }),\n _cache[0] || (_cache[0] = _createTextVNode(\" \")),\n _createElementVNode(\"small\", null, [\n _createElementVNode(\"span\", { innerHTML: _ctx.loadingText }, null, 8, _hoisted_5)\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ], 2))\n}\n}\n\n})","<template>\r\n <div :class=\"['s1-cbx', props.variant !== 'normal' ? props.variant : '']\">\r\n <label\r\n :class=\"lblClasses\"\r\n :for=\"componentId\"\r\n :style=\"props.labelStyle\"\r\n >\r\n <input\r\n type=\"checkbox\"\r\n :id=\"componentId\"\r\n :checked=\"isChecked\"\r\n :readonly=\"readonly\"\r\n :disabled=\"boxBool(props.disabled)\"\r\n :class=\"inputClass\"\r\n @change=\"checkVal\"\r\n />\r\n <slot\r\n ><span\r\n :class=\"`s1-cbx-lbl-${props.alignLabel}`\"\r\n v-html=\"label\"\r\n /></slot>\r\n </label>\r\n <span\r\n v-if=\"loading\"\r\n class=\"pl5\"\r\n ><Icon\r\n animate=\"spin\"\r\n icon=\"fa-spinner\" /> <small><span v-html=\"loadingText\"> </span></small\r\n ></span>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { computed, ref, watch, StyleValue } from \"vue\";\r\nimport Icon from \"@compUtility/icon.vue\";\r\nimport { trueFalseString, boxBool } from \"@utility/boolUtils\";\r\nimport { genComponentId } from \"@components/componentHelpers\";\r\n\r\ninterface Props {\r\n checked?: trueFalseString;\r\n disabled?: trueFalseString;\r\n readonly?: trueFalseString;\r\n label?: string;\r\n hover?: trueFalseString;\r\n variant?: \"small\" | \"normal\";\r\n inputClass?: string | string[];\r\n alignLabel?: \"start\" | \"center\" | \"end\";\r\n loading?: trueFalseString;\r\n loadingText?: string;\r\n labelClass?: string;\r\n labelStyle?: StyleValue;\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n checked: false,\r\n disabled: false,\r\n readonly: false,\r\n label: \" \",\r\n variant: \"normal\",\r\n inputClass: \"\",\r\n alignLabel: \"start\",\r\n loading: false,\r\n labelClass: undefined,\r\n labelStyle: undefined,\r\n});\r\n\r\nconst emit = defineEmits<{\r\n (e: \"checked\"): void;\r\n (e: \"unchecked\"): void;\r\n (e: \"updated\", val: boolean): void;\r\n (e: \"input\", val: boolean): void;\r\n}>();\r\n\r\nconst componentId = genComponentId(\"cbx\");\r\nconst isChecked = ref<boolean>(boxBool(props.checked));\r\n\r\nconst lblClasses = computed<string[]>(() => {\r\n const labels = [\"s1-cbx-label\"];\r\n if (boxBool(props.disabled)) {\r\n labels.push(\"s1-cbx-label-disabled\");\r\n }\r\n if ([\" \", \"\"].indexOf(props.label?.trim() ?? \" \") >= 0) {\r\n labels.push(\"lbl-no-txt\");\r\n }\r\n if (props.labelClass) {\r\n labels.push(props.labelClass);\r\n }\r\n return labels;\r\n});\r\n\r\nconst checkVal = function (newVal: Event) {\r\n if (newVal != null && newVal.target && newVal.target instanceof HTMLInputElement) {\r\n const target = newVal.target;\r\n isChecked.value = boxBool(target.checked);\r\n }\r\n};\r\n\r\nwatch(\r\n () => props.checked,\r\n (newVal) => {\r\n isChecked.value = boxBool(newVal);\r\n }\r\n);\r\n\r\nwatch(isChecked, (newVal) => {\r\n if (newVal) {\r\n emit(\"checked\");\r\n } else {\r\n emit(\"unchecked\");\r\n }\r\n\r\n emit(\"updated\", newVal);\r\n emit(\"input\", newVal);\r\n});\r\n</script>\r\n<style lang=\"less\" scoped>\r\n@import \"@css/constants.less\";\r\n.s1-cbx-label {\r\n font-size: 2rem;\r\n display: grid;\r\n grid-template-columns: 1em auto;\r\n gap: 0.5em;\r\n}\r\n\r\n.lbl-no-txt {\r\n gap: 0;\r\n margin-bottom: 0;\r\n}\r\n\r\n.s1-cbx-label span {\r\n font-size: 1.33rem;\r\n}\r\n\r\n.s1-cbx-label + .s1-cbx-label {\r\n margin-top: 1em;\r\n}\r\n\r\n.s1-cbx-label-disabled {\r\n color: var(--form-control-disabled);\r\n cursor: not-allowed;\r\n}\r\n\r\n.s1-cbx input {\r\n /* Remove most all native input styles */\r\n appearance: none;\r\n /* For iOS < 15 */\r\n background-color: @white;\r\n /* Not removed via appearance */\r\n margin: 0;\r\n\r\n font: inherit;\r\n color: var(--form-control-border);\r\n width: 1.15em;\r\n height: 1.15em;\r\n border: 0.075em solid var(--form-control-border);\r\n border-radius: 0;\r\n transform: translateY(-0.075em);\r\n padding-right: 0 !important;\r\n display: grid !important;\r\n place-content: center;\r\n}\r\n\r\n.s1-cbx input::before {\r\n content: \"\";\r\n width: 0.65em;\r\n height: 0.65em;\r\n clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); //this looks like a checkmark\r\n transform: scale(0);\r\n transform-origin: bottom left;\r\n transition: 120ms transform ease-in-out;\r\n box-shadow: inset 1em 1em var(--form-control-color);\r\n background-color: @white;\r\n}\r\n\r\n.s1-cbx input:checked {\r\n background-color: var(--secondary-cta-color);\r\n}\r\n\r\n.s1-cbx-label-disabled input:checked {\r\n background-color: var(--form-control-disabled);\r\n color: @white;\r\n}\r\n\r\n.s1-cbx-label-disabled input::before {\r\n box-shadow: inset 1em 1em @white;\r\n}\r\n\r\n.s1-cbx input:checked::before {\r\n transform: scale(1);\r\n}\r\n\r\n.s1-cbx input:focus {\r\n outline: ~\"max(2px, 0.15em) solid currentColor\";\r\n outline-offset: ~\"max(2px, 0.15em)\";\r\n}\r\n\r\n.s1-cbx input:disabled {\r\n --form-control-color: var(--form-control-disabled);\r\n color: var(--form-control-disabled);\r\n cursor: not-allowed;\r\n}\r\n\r\n/* Variant overrides */\r\n.s1-cbx.small .s1-cbx-label {\r\n font-size: 1.75rem;\r\n gap: 0.25em;\r\n grid-template-columns: 0.75em auto;\r\n}\r\n\r\n.s1-cbx.small input {\r\n width: 0.75em !important;\r\n height: 0.75em !important;\r\n}\r\n\r\n.s1-cbx.small input::before {\r\n width: 0.45em;\r\n height: 0.45em;\r\n}\r\n\r\n.s1-cbx.small .s1-cbx-label span {\r\n font-size: 0.9rem;\r\n line-height: 1.2em;\r\n}\r\n/* End Variants */\r\n\r\n.s1-cbx-lbl-start {\r\n align-self: flex-start;\r\n}\r\n.s1-cbx-lbl-center {\r\n align-self: center;\r\n}\r\n.s1-cbx-lbl-end {\r\n align-self: flex-end;\r\n}\r\n</style>\r\n","import script from \"./checkbox.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./checkbox.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./checkbox.vue?vue&type=style&index=0&id=61d0d658&lang=less&scoped=true\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-61d0d658\"]])\n\nexport default __exports__","export default interface IClickableAlertMessage {\r\n text: string;\r\n clickCallback?: (string) => void;\r\n}\r\n\r\nexport const isIClickableAlertMessage = (\r\n msg?: string | IClickableAlertMessage | (string | IClickableAlertMessage)[]\r\n): msg is IClickableAlertMessage => msg !== undefined && msg !== null && msg.hasOwnProperty(\"text\");\r\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, withModifiers as _withModifiers, renderList as _renderList, Fragment as _Fragment, createElementVNode as _createElementVNode, renderSlot as _renderSlot } from \"vue\"\n\nconst _hoisted_1 = [\"id\"]\nconst _hoisted_2 = [\"id\"]\nconst _hoisted_3 = { key: 2 }\nconst _hoisted_4 = [\"innerHTML\"]\nconst _hoisted_5 = [\"innerHTML\"]\nconst _hoisted_6 = { key: 3 }\nconst _hoisted_7 = [\"innerHTML\", \"onClick\"]\nconst _hoisted_8 = [\"innerHTML\"]\n\nimport { computed, ref, watch, useSlots } from \"vue\";\r\nimport Icon from \"./icon.vue\";\r\nimport { AlertSeverity } from \"@appEnum/AlertSeverity\";\r\nimport { scrollTop, scrollToLocation } from \"@utility/domUtils\";\r\nimport { boxBool, trueFalseString } from \"@utility/boolUtils\";\r\nimport { genComponentId } from \"@components/componentHelpers\";\r\nimport IClickableAlertMessage, { isIClickableAlertMessage } from \"@interfaces/utility/IClickableAlertMessage\";\r\nimport { isNullOrWhiteSpace } from \"@utility/stringUtils\";\r\n\r\ninterface Props {\r\n message?: string | IClickableAlertMessage | (string | IClickableAlertMessage)[];\r\n alertIcon?: string;\r\n alertSeverity?: AlertSeverity;\r\n dismissible?: trueFalseString;\r\n dismissAfter?: number;\r\n iconClass?: string;\r\n iconWrapperClass?: string;\r\n cssAlerting?: trueFalseString;\r\n AlertCss?: string | string[];\r\n scrollOnError?: trueFalseString;\r\n scrollLocation?: \"top\" | \"id\";\r\n dismissIcon?: string;\r\n}\r\n\r\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'alert',\n props: {\n message: { default: undefined },\n alertIcon: { default: \"fa-exclamation-triangle\" },\n alertSeverity: { default: AlertSeverity.Warning },\n dismissible: { type: [Boolean, String], default: false },\n dismissAfter: { default: 0 },\n iconClass: { default: \"\" },\n iconWrapperClass: { default: \"\" },\n cssAlerting: { type: [Boolean, String], default: false },\n AlertCss: {},\n scrollOnError: { type: [Boolean, String], default: false },\n scrollLocation: { default: \"top\" },\n dismissIcon: { default: \"fa-times\" }\n },\n setup(__props: any) {\n\r\nconst props = __props;\r\n\r\nconst $slots = useSlots();\r\n\r\nconst dismissed = ref<boolean>(false);\r\nconst dismissible = ref<boolean>(boxBool(props.dismissible));\r\nconst alertTarget: string = genComponentId(\"s1-alert\");\r\n\r\nconst isSingleMessage = computed<boolean>(\r\n () => props.message !== undefined && (!Array.isArray(props.message) || props.message.length === 1)\r\n);\r\nconst singleMessage = computed<string | IClickableAlertMessage | undefined>(() => {\r\n if (isSingleMessage.value && Array.isArray(props.message)) {\r\n return props.message[0];\r\n }\r\n return props.message as string | IClickableAlertMessage | undefined;\r\n});\r\n\r\nconst showAlert = computed<boolean>(\r\n () =>\r\n ($slots.message ? ($slots.message?.() ?? []).length > 0 : false) || //[Message] Slot has value or [Message] Props have value\r\n (!Array.isArray(props.message) && props.message !== undefined && typeof props.message === \"object\") ||\r\n (typeof props.message === \"string\" && !isNullOrWhiteSpace(props.message)) ||\r\n (Array.isArray(props.message) && props.message.length > 0 && !dismissed.value && !$slots.message)\r\n);\r\n\r\nif (props.dismissAfter > 0) {\r\n dismissible.value = true;\r\n setTimeout(() => {\r\n const alert = document.getElementById(\"alert-close\");\r\n alert?.click();\r\n }, props.dismissAfter);\r\n}\r\nconst scrollOnError = () => {\r\n switch (props.scrollLocation) {\r\n case \"top\":\r\n scrollTop();\r\n break;\r\n case \"id\":\r\n scrollToLocation(alertTarget);\r\n break;\r\n }\r\n};\r\n\r\nif (boxBool(props.scrollOnError)) {\r\n scrollOnError();\r\n}\r\n\r\nwatch(\r\n () => props.scrollOnError,\r\n (nv) => {\r\n if (boxBool(nv)) {\r\n scrollOnError();\r\n }\r\n }\r\n);\r\n\nreturn (_ctx: any,_cache: any) => {\n return (showAlert.value)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: _normalizeClass([\"err-pnl error-wrapper alert flex align-items-center\", _ctx.alertSeverity]),\n id: _unref(alertTarget)\n }, [\n (dismissible.value)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n \"aria-hidden\": \"true\",\n \"data-dismiss\": \"alert\",\n class: _normalizeClass([\"close\", () => (props.dismissAfter > 0 ? 'hidden' : '')]),\n id: `${_unref(alertTarget)}-alert-close`,\n type: \"button\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => {\r\n _ctx.$emit('dismissed');\r\n dismissed.value = true;\r\n })\n }, [\n _createVNode(Icon, {\n icon: props.dismissIcon\n }, null, 8, [\"icon\"])\n ], 10, _hoisted_2))\n : _createCommentVNode(\"\", true),\n (_ctx.alertIcon)\n ? (_openBlock(), _createBlock(Icon, {\n key: 1,\n class: _normalizeClass([\"pr10 pl10 fs-xs-32\", _ctx.iconClass]),\n icon: _ctx.alertIcon,\n \"icon-wrapper-class\": _ctx.iconWrapperClass\n }, null, 8, [\"class\", \"icon\", \"icon-wrapper-class\"]))\n : _createCommentVNode(\"\", true),\n (isSingleMessage.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (!_unref(isIClickableAlertMessage)(singleMessage.value) || singleMessage.value.clickCallback === undefined)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n innerHTML: \r\n singleMessage.value !== undefined && _unref(isIClickableAlertMessage)(singleMessage.value)\r\n ? singleMessage.value.text\r\n : singleMessage.value ?? ''\r\n \n }, null, 8, _hoisted_4))\n : (_unref(isIClickableAlertMessage)(singleMessage.value) && singleMessage.value.clickCallback)\n ? (_openBlock(), _createElementBlock(\"a\", {\n key: 1,\n href: \"#\",\n innerHTML: singleMessage.value.text,\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (singleMessage.value.clickCallback(singleMessage.value.text)), [\"prevent\"]))\n }, null, 8, _hoisted_5))\n : _createCommentVNode(\"\", true)\n ]))\n : (Array.isArray(_ctx.message) && _ctx.message.length > 1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createElementVNode(\"ul\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.message, (m) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: _unref(isIClickableAlertMessage)(m) ? m.text : m\n }, [\n (_unref(isIClickableAlertMessage)(m) && m.clickCallback)\n ? (_openBlock(), _createElementBlock(\"a\", {\n key: 0,\n href: \"#\",\n innerHTML: m.text,\n onClick: _withModifiers(($event: any) => (m.clickCallback(m.text)), [\"prevent\"])\n }, null, 8, _hoisted_7))\n : (_openBlock(), _createElementBlock(\"span\", {\n key: 1,\n innerHTML: _unref(isIClickableAlertMessage)(m) ? m.text : m\n }, null, 8, _hoisted_8))\n ]))\n }), 128))\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _renderSlot(_ctx.$slots, \"message\")\n ], 10, _hoisted_1))\n : _createCommentVNode(\"\", true)\n}\n}\n\n})","import script from \"./alert.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./alert.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./alert.vue?vue&type=style&index=0&id=45150bfd&lang=less\"\n\nconst __exports__ = script;\n\nexport default __exports__","<template>\r\n <div\r\n v-if=\"showAlert\"\r\n class=\"err-pnl error-wrapper alert flex align-items-center\"\r\n :class=\"alertSeverity\"\r\n :id=\"alertTarget\"\r\n >\r\n <button\r\n v-if=\"dismissible\"\r\n aria-hidden=\"true\"\r\n data-dismiss=\"alert\"\r\n class=\"close\"\r\n :class=\"() => (props.dismissAfter > 0 ? 'hidden' : '')\"\r\n :id=\"`${alertTarget}-alert-close`\"\r\n type=\"button\"\r\n @click=\"\r\n $emit('dismissed');\r\n dismissed = true;\r\n \"\r\n >\r\n <Icon :icon=\"props.dismissIcon\" />\r\n </button>\r\n <Icon\r\n v-if=\"alertIcon\"\r\n class=\"pr10 pl10 fs-xs-32\"\r\n :class=\"iconClass\"\r\n :icon=\"alertIcon\"\r\n :icon-wrapper-class=\"iconWrapperClass\"\r\n />\r\n <div v-if=\"isSingleMessage\">\r\n <span\r\n v-if=\"!isIClickableAlertMessage(singleMessage) || singleMessage.clickCallback === undefined\"\r\n v-html=\"\r\n singleMessage !== undefined && isIClickableAlertMessage(singleMessage)\r\n ? singleMessage.text\r\n : singleMessage ?? ''\r\n \"\r\n />\r\n <a\r\n v-else-if=\"isIClickableAlertMessage(singleMessage) && singleMessage.clickCallback\"\r\n href=\"#\"\r\n v-html=\"singleMessage.text\"\r\n @click.prevent=\"singleMessage.clickCallback(singleMessage.text)\"\r\n />\r\n </div>\r\n <div v-else-if=\"Array.isArray(message) && message.length > 1\">\r\n <ul>\r\n <li\r\n v-for=\"m in message\"\r\n :key=\"isIClickableAlertMessage(m) ? m.text : m\"\r\n >\r\n <a\r\n v-if=\"isIClickableAlertMessage(m) && m.clickCallback\"\r\n href=\"#\"\r\n v-html=\"m.text\"\r\n @click.prevent=\"m.clickCallback(m.text)\"\r\n />\r\n <span\r\n v-else\r\n v-html=\"isIClickableAlertMessage(m) ? m.text : m\"\r\n />\r\n </li>\r\n </ul>\r\n </div>\r\n <slot name=\"message\"></slot>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { computed, ref, watch, useSlots } from \"vue\";\r\nimport Icon from \"./icon.vue\";\r\nimport { AlertSeverity } from \"@appEnum/AlertSeverity\";\r\nimport { scrollTop, scrollToLocation } from \"@utility/domUtils\";\r\nimport { boxBool, trueFalseString } from \"@utility/boolUtils\";\r\nimport { genComponentId } from \"@components/componentHelpers\";\r\nimport IClickableAlertMessage, { isIClickableAlertMessage } from \"@interfaces/utility/IClickableAlertMessage\";\r\nimport { isNullOrWhiteSpace } from \"@utility/stringUtils\";\r\n\r\ninterface Props {\r\n message?: string | IClickableAlertMessage | (string | IClickableAlertMessage)[];\r\n alertIcon?: string;\r\n alertSeverity?: AlertSeverity;\r\n dismissible?: trueFalseString;\r\n dismissAfter?: number;\r\n iconClass?: string;\r\n iconWrapperClass?: string;\r\n cssAlerting?: trueFalseString;\r\n AlertCss?: string | string[];\r\n scrollOnError?: trueFalseString;\r\n scrollLocation?: \"top\" | \"id\";\r\n dismissIcon?: string;\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n message: undefined,\r\n alertIcon: \"fa-exclamation-triangle\",\r\n alertSeverity: AlertSeverity.Warning,\r\n dismissible: false,\r\n dismissAfter: 0,\r\n iconClass: \"\",\r\n iconWrapperClass: \"\",\r\n cssAlerting: false,\r\n scrollOnError: false,\r\n scrollLocation: \"top\",\r\n dismissIcon: \"fa-times\",\r\n});\r\n\r\nconst $slots = useSlots();\r\n\r\nconst dismissed = ref<boolean>(false);\r\nconst dismissible = ref<boolean>(boxBool(props.dismissible));\r\nconst alertTarget: string = genComponentId(\"s1-alert\");\r\n\r\nconst isSingleMessage = computed<boolean>(\r\n () => props.message !== undefined && (!Array.isArray(props.message) || props.message.length === 1)\r\n);\r\nconst singleMessage = computed<string | IClickableAlertMessage | undefined>(() => {\r\n if (isSingleMessage.value && Array.isArray(props.message)) {\r\n return props.message[0];\r\n }\r\n return props.message as string | IClickableAlertMessage | undefined;\r\n});\r\n\r\nconst showAlert = computed<boolean>(\r\n () =>\r\n ($slots.message ? ($slots.message?.() ?? []).length > 0 : false) || //[Message] Slot has value or [Message] Props have value\r\n (!Array.isArray(props.message) && props.message !== undefined && typeof props.message === \"object\") ||\r\n (typeof props.message === \"string\" && !isNullOrWhiteSpace(props.message)) ||\r\n (Array.isArray(props.message) && props.message.length > 0 && !dismissed.value && !$slots.message)\r\n);\r\n\r\nif (props.dismissAfter > 0) {\r\n dismissible.value = true;\r\n setTimeout(() => {\r\n const alert = document.getElementById(\"alert-close\");\r\n alert?.click();\r\n }, props.dismissAfter);\r\n}\r\nconst scrollOnError = () => {\r\n switch (props.scrollLocation) {\r\n case \"top\":\r\n scrollTop();\r\n break;\r\n case \"id\":\r\n scrollToLocation(alertTarget);\r\n break;\r\n }\r\n};\r\n\r\nif (boxBool(props.scrollOnError)) {\r\n scrollOnError();\r\n}\r\n\r\nwatch(\r\n () => props.scrollOnError,\r\n (nv) => {\r\n if (boxBool(nv)) {\r\n scrollOnError();\r\n }\r\n }\r\n);\r\n</script>\r\n<style lang=\"less\">\r\n@import \"@css/utilityClasses/boxUtils.less\";\r\n@import \"@css/utilityClasses/fontUtils.less\";\r\n@import \"@css/utilityClasses/flexUtils.less\";\r\n</style>\r\n","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, withModifiers as _withModifiers, toDisplayString as _toDisplayString } from \"vue\"\n\nconst _hoisted_1 = { class: \"pdf-viewer-root\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"flex full-width align-items-center page-tools-wrapper\",\n style: {\"justify-content\":\"space-between\"}\n}\nconst _hoisted_3 = { class: \"flex\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"ml10\"\n}\nconst _hoisted_5 = {\n key: 1,\n class: \"ml10\"\n}\nconst _hoisted_6 = [\"href\"]\nconst _hoisted_7 = { class: \"flex align-items-center\" }\nconst _hoisted_8 = { class: \"btn-group ml10\" }\nconst _hoisted_9 = { class: \"ml10\" }\nconst _hoisted_10 = [\"disabled\"]\nconst _hoisted_11 = { class: \"pr10 pl10\" }\nconst _hoisted_12 = [\"disabled\"]\nconst _hoisted_13 = { class: \"row mt10\" }\nconst _hoisted_14 = {\n key: 0,\n class: \"col-xs-12 text-center\"\n}\nconst _hoisted_15 = [\"width\", \"height\"]\nconst _hoisted_16 = {\n key: 1,\n class: \"col-xs-12\"\n}\n\nimport { ref, watch, onMounted } from \"vue\";\r\nimport * as pdfJsLib from \"pdfjs-dist\";\r\nimport icon from \"./icon.vue\";\r\nimport alert from \"./alert.vue\";\r\nimport checkbox from \"../form/checkbox.vue\";\r\nimport { createGuid } from \"../../utility/utility\";\r\nimport { PDFDocumentProxy } from \"pdfjs-dist/types/display/api\";\r\n\r\ninterface Props {\r\n pdfUrl: string;\r\n allowDownload?: boolean;\r\n startPageNumber?: number;\r\n showSelectCheckbox?: boolean;\r\n selected?: boolean;\r\n selectCheckboxText?: string;\r\n}\r\n\r\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'pdfViewer',\n props: {\n pdfUrl: { default: \"\" },\n allowDownload: { type: Boolean, default: false },\n startPageNumber: { default: 1 },\n showSelectCheckbox: { type: Boolean, default: false },\n selected: { type: Boolean, default: false },\n selectCheckboxText: { default: \"\" }\n },\n emits: [\r\n \"pdf-loaded\",\r\n \"pdf-load-failed\",\r\n \"pdf-doc-downloaded\",\r\n \"navigated-to-pagenumber\",\r\n \"pdf-selected\",\r\n \"pdf-unselected\",\r\n \"pdf-selection-change\",\r\n \"mounted\",\r\n],\n setup(__props: any, { emit: __emit }) {\n\r\npdfJsLib.GlobalWorkerOptions.workerSrc = new URL(\r\n \"pdfjs-dist/build/pdf.worker.js\",\r\n import.meta.url\r\n).toString();\r\n\r\nconst props = __props;\r\n\r\nconst emit = __emit;\r\n\r\nconst componentId = `du-pdf-viewer-${createGuid()}`;\r\nconst downloadUrl = (): string => {\r\n if (props.pdfUrl !== null && props.pdfUrl.trim() !== \"\") {\r\n const forceDownload = props.pdfUrl.indexOf(\"?\") > -1 ? \"&fdl=1\" : \"?fdl=1\";\r\n return `${props.pdfUrl}${forceDownload}`;\r\n }\r\n\r\n return \"\";\r\n};\r\n\r\nconst totalPages = ref<number | null>(null);\r\nconst currentPage = ref<number>(props.startPageNumber);\r\nconst canvasHeight = ref<number | null>(792);\r\nconst canvasWidth = ref<number | null>(612);\r\nlet pdfDoc: PDFDocumentProxy | null = null;\r\nconst loadFailed = ref(false);\r\nconst pageRendering = ref<Boolean>(false);\r\nconst scale = ref<number>(1.0);\r\nconst pageNumPending = ref<number | null>(null);\r\n\r\nconst loadPdf = () => {\r\n const canvasEl = document.getElementById(componentId) as HTMLCanvasElement;\r\n if (canvasEl) {\r\n if (canvasEl.height && canvasEl.width) {\r\n canvasHeight.value = canvasEl.height;\r\n canvasWidth.value = canvasEl.width;\r\n }\r\n\r\n const loadingTask = pdfJsLib.getDocument(props.pdfUrl);\r\n loadingTask.promise\r\n .then((pdf) => {\r\n totalPages.value = pdf.numPages;\r\n pdfDoc = pdf;\r\n emit(\"pdf-loaded\");\r\n renderPage(currentPage.value);\r\n })\r\n .catch(() => {\r\n loadFailed.value = true;\r\n emit(\"pdf-load-failed\");\r\n });\r\n }\r\n};\r\n\r\nonMounted(() => {\r\n loadPdf();\r\n emit(\"mounted\");\r\n});\r\n\r\nconst pdfSelectionChange = function (selected: boolean): void {\r\n emit(\"pdf-selection-change\", selected);\r\n};\r\n\r\nconst renderPage = (pageNum: number): void => {\r\n pageRendering.value = true;\r\n pageNumPending.value = pageNum;\r\n if (pdfDoc && pageNum > 0 && pageNum <= (totalPages.value ?? 1)) {\r\n pdfDoc.getPage(pageNum).then((page) => {\r\n var viewport = page.getViewport({ scale: scale.value });\r\n const canvasEl = document.getElementById(componentId) as HTMLCanvasElement;\r\n if (canvasEl !== null) {\r\n const canvasCtx = canvasEl.getContext(\"2d\");\r\n if (canvasCtx != null) {\r\n canvasEl.height = viewport.height;\r\n canvasEl.width = viewport.width;\r\n currentPage.value = pageNum;\r\n\r\n // Render PDF page into canvas context\r\n var renderTask = page.render({\r\n canvasContext: canvasCtx,\r\n viewport: viewport,\r\n });\r\n\r\n // Wait for rendering to finish\r\n renderTask.promise.then(() => {\r\n pageRendering.value = false;\r\n if (pageNumPending.value !== null && pageNumPending.value !== pageNum) {\r\n renderPage(pageNumPending.value);\r\n pageNumPending.value = null;\r\n } else {\r\n emit(\"navigated-to-pagenumber\", pageNum);\r\n }\r\n });\r\n }\r\n }\r\n });\r\n }\r\n};\r\n\r\nconst movePage = (currentPageOffset: number): void => {\r\n renderPage(currentPage.value + currentPageOffset);\r\n};\r\n\r\nconst pageDisplay = (): string => {\r\n return totalPages.value != null ? `${currentPage.value} of ${totalPages.value}` : \"\";\r\n};\r\n\r\nconst showPageTools = (): boolean => {\r\n return totalPages.value !== null && totalPages.value > 0;\r\n};\r\n\r\nconst zoom = (zoomPercent: number): void => {\r\n if (zoomPercent !== 0) {\r\n scale.value = scale.value + zoomPercent;\r\n renderPage(currentPage.value);\r\n }\r\n};\r\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (showPageTools())\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_ctx.showSelectCheckbox)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createVNode(checkbox, {\n checked: _ctx.selected,\n label: _ctx.selectCheckboxText,\n onUpdated: pdfSelectionChange\n }, null, 8, [\"checked\", \"label\"])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.allowDownload && downloadUrl() !== '')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"a\", {\n href: downloadUrl(),\n title: \"Download document\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (emit('pdf-doc-downloaded'))),\n target: \"_blank\"\n }, [\n _createVNode(icon, { icon: \"fa-download\" }),\n _cache[5] || (_cache[5] = _createTextVNode(\"Download \"))\n ], 8, _hoisted_6)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"a\", {\n href: \"#\",\n class: \"btn btn-white btn-xs\",\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (zoom(0.1)), [\"prevent\"]))\n }, [\n _createVNode(icon, { icon: \"fa-search-plus\" })\n ]),\n _createElementVNode(\"a\", {\n href: \"#\",\n class: \"btn btn-white btn-xs\",\n onClick: _cache[2] || (_cache[2] = _withModifiers(($event: any) => (zoom(-0.1)), [\"prevent\"]))\n }, [\n _createVNode(icon, { icon: \"fa-search-minus\" })\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _cache[6] || (_cache[6] = _createTextVNode(\" Page: \")),\n _createElementVNode(\"a\", {\n href: \"#\",\n class: \"pdf-preview-prev\",\n onClick: _cache[3] || (_cache[3] = _withModifiers(($event: any) => (movePage(-1)), [\"prevent\"])),\n disabled: currentPage.value === 1 ? true : null\n }, [\n _createVNode(icon, { icon: \"fa-backward\" })\n ], 8, _hoisted_10),\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(pageDisplay()), 1),\n _createElementVNode(\"a\", {\n href: \"#\",\n class: \"pdf-preview-next\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (movePage(1)), [\"prevent\"])),\n disabled: currentPage.value === totalPages.value ? true : null\n }, [\n _createVNode(icon, { icon: \"fa-forward\" })\n ], 8, _hoisted_12)\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_13, [\n (!loadFailed.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, [\n _createElementVNode(\"canvas\", {\n class: \"pdf-preview-canvas\",\n id: componentId,\n width: canvasWidth.value,\n height: canvasHeight.value,\n style: {\"background\":\"#fff\"}\n }, null, 8, _hoisted_15)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_16, [\n _createVNode(alert, { message: \"Could not get document.\" })\n ]))\n ])\n ]))\n}\n}\n\n})","import script from \"./pdfViewer.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./pdfViewer.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./pdfViewer.vue?vue&type=style&index=0&id=43db1d9e&lang=less\"\n\nconst __exports__ = script;\n\nexport default __exports__","<template>\r\n <div class=\"pdf-viewer-root\">\r\n <div\r\n v-if=\"showPageTools()\"\r\n class=\"flex full-width align-items-center page-tools-wrapper\"\r\n style=\"justify-content: space-between\"\r\n >\r\n <div class=\"flex\">\r\n <div\r\n v-if=\"showSelectCheckbox\"\r\n class=\"ml10\"\r\n >\r\n <checkbox\r\n :checked=\"selected\"\r\n :label=\"selectCheckboxText\"\r\n @updated=\"pdfSelectionChange\"\r\n />\r\n </div>\r\n <div\r\n v-if=\"allowDownload && downloadUrl() !== ''\"\r\n class=\"ml10\"\r\n >\r\n <a\r\n :href=\"downloadUrl()\"\r\n title=\"Download document\"\r\n v-on:click=\"emit('pdf-doc-downloaded')\"\r\n target=\"_blank\"\r\n >\r\n <icon icon=\"fa-download\" />Download\r\n </a>\r\n </div>\r\n </div>\r\n <div class=\"flex align-items-center\">\r\n <div class=\"btn-group ml10\">\r\n <a\r\n href=\"#\"\r\n class=\"btn btn-white btn-xs\"\r\n v-on:click.prevent=\"zoom(0.1)\"\r\n >\r\n <icon icon=\"fa-search-plus\" />\r\n </a>\r\n <a\r\n href=\"#\"\r\n class=\"btn btn-white btn-xs\"\r\n v-on:click.prevent=\"zoom(-0.1)\"\r\n >\r\n <icon icon=\"fa-search-minus\" />\r\n </a>\r\n </div>\r\n <div class=\"ml10\">\r\n Page:\r\n <a\r\n href=\"#\"\r\n class=\"pdf-preview-prev\"\r\n v-on:click.prevent=\"movePage(-1)\"\r\n :disabled=\"currentPage === 1 ? true : null\"\r\n >\r\n <icon icon=\"fa-backward\" />\r\n </a>\r\n <span class=\"pr10 pl10\">{{ pageDisplay() }}</span>\r\n <a\r\n href=\"#\"\r\n class=\"pdf-preview-next\"\r\n v-on:click.prevent=\"movePage(1)\"\r\n :disabled=\"currentPage === totalPages ? true : null\"\r\n >\r\n <icon icon=\"fa-forward\" />\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row mt10\">\r\n <div\r\n v-if=\"!loadFailed\"\r\n class=\"col-xs-12 text-center\"\r\n >\r\n <canvas\r\n class=\"pdf-preview-canvas\"\r\n :id=\"componentId\"\r\n :width=\"canvasWidth\"\r\n :height=\"canvasHeight\"\r\n style=\"background: #fff\"\r\n ></canvas>\r\n </div>\r\n <div\r\n v-else\r\n class=\"col-xs-12\"\r\n >\r\n <alert message=\"Could not get document.\" />\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { ref, watch, onMounted } from \"vue\";\r\nimport * as pdfJsLib from \"pdfjs-dist\";\r\nimport icon from \"./icon.vue\";\r\nimport alert from \"./alert.vue\";\r\nimport checkbox from \"../form/checkbox.vue\";\r\nimport { createGuid } from \"../../utility/utility\";\r\nimport { PDFDocumentProxy } from \"pdfjs-dist/types/display/api\";\r\n\r\npdfJsLib.GlobalWorkerOptions.workerSrc = new URL(\r\n \"pdfjs-dist/build/pdf.worker.js\",\r\n import.meta.url\r\n).toString();\r\n\r\ninterface Props {\r\n pdfUrl: string;\r\n allowDownload?: boolean;\r\n startPageNumber?: number;\r\n showSelectCheckbox?: boolean;\r\n selected?: boolean;\r\n selectCheckboxText?: string;\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n pdfUrl: \"\",\r\n allowDownload: false,\r\n startPageNumber: 1,\r\n showSelectCheckbox: false,\r\n selected: false,\r\n selectCheckboxText: \"\",\r\n});\r\n\r\nconst emit = defineEmits([\r\n \"pdf-loaded\",\r\n \"pdf-load-failed\",\r\n \"pdf-doc-downloaded\",\r\n \"navigated-to-pagenumber\",\r\n \"pdf-selected\",\r\n \"pdf-unselected\",\r\n \"pdf-selection-change\",\r\n \"mounted\",\r\n]);\r\n\r\nconst componentId = `du-pdf-viewer-${createGuid()}`;\r\nconst downloadUrl = (): string => {\r\n if (props.pdfUrl !== null && props.pdfUrl.trim() !== \"\") {\r\n const forceDownload = props.pdfUrl.indexOf(\"?\") > -1 ? \"&fdl=1\" : \"?fdl=1\";\r\n return `${props.pdfUrl}${forceDownload}`;\r\n }\r\n\r\n return \"\";\r\n};\r\n\r\nconst totalPages = ref<number | null>(null);\r\nconst currentPage = ref<number>(props.startPageNumber);\r\nconst canvasHeight = ref<number | null>(792);\r\nconst canvasWidth = ref<number | null>(612);\r\nlet pdfDoc: PDFDocumentProxy | null = null;\r\nconst loadFailed = ref(false);\r\nconst pageRendering = ref<Boolean>(false);\r\nconst scale = ref<number>(1.0);\r\nconst pageNumPending = ref<number | null>(null);\r\n\r\nconst loadPdf = () => {\r\n const canvasEl = document.getElementById(componentId) as HTMLCanvasElement;\r\n if (canvasEl) {\r\n if (canvasEl.height && canvasEl.width) {\r\n canvasHeight.value = canvasEl.height;\r\n canvasWidth.value = canvasEl.width;\r\n }\r\n\r\n const loadingTask = pdfJsLib.getDocument(props.pdfUrl);\r\n loadingTask.promise\r\n .then((pdf) => {\r\n totalPages.value = pdf.numPages;\r\n pdfDoc = pdf;\r\n emit(\"pdf-loaded\");\r\n renderPage(currentPage.value);\r\n })\r\n .catch(() => {\r\n loadFailed.value = true;\r\n emit(\"pdf-load-failed\");\r\n });\r\n }\r\n};\r\n\r\nonMounted(() => {\r\n loadPdf();\r\n emit(\"mounted\");\r\n});\r\n\r\nconst pdfSelectionChange = function (selected: boolean): void {\r\n emit(\"pdf-selection-change\", selected);\r\n};\r\n\r\nconst renderPage = (pageNum: number): void => {\r\n pageRendering.value = true;\r\n pageNumPending.value = pageNum;\r\n if (pdfDoc && pageNum > 0 && pageNum <= (totalPages.value ?? 1)) {\r\n pdfDoc.getPage(pageNum).then((page) => {\r\n var viewport = page.getViewport({ scale: scale.value });\r\n const canvasEl = document.getElementById(componentId) as HTMLCanvasElement;\r\n if (canvasEl !== null) {\r\n const canvasCtx = canvasEl.getContext(\"2d\");\r\n if (canvasCtx != null) {\r\n canvasEl.height = viewport.height;\r\n canvasEl.width = viewport.width;\r\n currentPage.value = pageNum;\r\n\r\n // Render PDF page into canvas context\r\n var renderTask = page.render({\r\n canvasContext: canvasCtx,\r\n viewport: viewport,\r\n });\r\n\r\n // Wait for rendering to finish\r\n renderTask.promise.then(() => {\r\n pageRendering.value = false;\r\n if (pageNumPending.value !== null && pageNumPending.value !== pageNum) {\r\n renderPage(pageNumPending.value);\r\n pageNumPending.value = null;\r\n } else {\r\n emit(\"navigated-to-pagenumber\", pageNum);\r\n }\r\n });\r\n }\r\n }\r\n });\r\n }\r\n};\r\n\r\nconst movePage = (currentPageOffset: number): void => {\r\n renderPage(currentPage.value + currentPageOffset);\r\n};\r\n\r\nconst pageDisplay = (): string => {\r\n return totalPages.value != null ? `${currentPage.value} of ${totalPages.value}` : \"\";\r\n};\r\n\r\nconst showPageTools = (): boolean => {\r\n return totalPages.value !== null && totalPages.value > 0;\r\n};\r\n\r\nconst zoom = (zoomPercent: number): void => {\r\n if (zoomPercent !== 0) {\r\n scale.value = scale.value + zoomPercent;\r\n renderPage(currentPage.value);\r\n }\r\n};\r\n</script>\r\n<style lang=\"less\">\r\n@import \"@css/utilityClasses/boxUtils.less\";\r\n@import \"@css/utilityClasses/flexUtils.less\";\r\n</style>\r\n"],"names":["isMobile","$","window","width","cw","extend","widget","payment","S1CcTransactionResponse","Unknown","Success","TransactionProcessedButNotApproved","NoResponseFromCreditCardProcessorWhileAddingCard","AddingCardToInvalidAccount","CouldNotDetermineCustomerPaymentId","CouldParseProcessorAddPaymentMethodResponse","SuccessButCouldNotReportTransactionToRemoteSystem","PaymentAmountRequired","CouldNotDetermineCustomerUser","CreditCardNumberOrExpirationDateMissing","CreditCardDidNotPassLuhnCheck","CreditCardInvalidExpiration","CreditCardInvalidCvv2","CreditCardInvalidZipCode","CreditCardInvalidCardholderName","CreditCardSystemError","EftPaymentResponse","UnableToVerifyBankAccount","EftPaymentSubmitFail","EftProfileSaveFail","OnetimeEftProfileSaveFail","CustomerBudgetEligibility","modalRef","init","s1AccountId","authToken","selectedBillingAccountObj","successCallback","budgetEligibility","self","this","loadingIndicator","start","webservices","getJson","S1AccountId","AuthToken","balanceObj","AccountBalances","length","forEach","x","obj","JSON","stringify","parseFloat","BudgetBalance","BudgetBalanceFormatted","formatMoney","NonBudgetBalanceFormatted","NonBudgetCoveredBalance","BalanceDueFormatted","BalanceFormatted","ExpirationYears","utility","getCreditCardExpirationYears","hasCCOnFile","DraftDays","getDraftDays","mData","selectedRemoteAccount","division","EftConfigs","EftSelectionId","EftConfigId","CargasEftConfigId","hasAccountSelection","Division","balanceFormatted","payNowFormatted","PayNowFormatted","payNowBalance","PayNowBalance","nonBudgetBalanceFormatted","some","RemoteSystemId","RemoteSystemAccountId","RemoteSystemAccountNumber","filterSingle","IsEligible","BudgetPaymentPreview","numPendingPayments","PendingPayments","pendingPaymentsTotal","pp","PaymentAmount","pendingPaymentsTotalFormatted","getPaymentSubmittalOptions","paymentSubmitOpts","totalInvoiceAmount","CreditCardProfiles","CreditCardPaymentProfiles","c","PaymentProfile","PaymentProfiles","appEnum","S1RemoteSystem","As400","Cargas","includes","OpenInvoices","map","i","InvoiceId","DocumentTypeDescription","InvoiceDateFormatted","InvoiceDate","format","AmountDueFormatted","AmountDue","InvoiceTotalFormatted","InvoiceTotal","IsBudgetPayment","BudgetPayments","BudgetPaymentFormatted","BudgetPaymentTotalFormatted","ccAmtRemaining","toFixed","parseInt","nonBudgetAndInvoiceBalance","renderTemplate","renderedTemplate","openModal","modalData","modal","Open","data","title","modalBody","buttons","label","cssClass","action","dialogRef","close","handleSubmit","onShownCallback","mr","$modalBody","find","$modalFooter","prepend","hasClass","remove","$mobileTable","$deskTable","removeClass","addClass","$makePaymentBtn","$paymentConfigure","$newCCform","$existingCcWrapper","selAcct","getData","Nexant","prop","tooltip","trigger","on","e","preventDefault","$this","selectedAccount","filter","pages","budgetManager","getBudgetBalanceByCustomer","ServiceLocations","replaceWith","$balanceDueDisplay","$payNowDueDisplay","$acctPane","$paymentTypePane","html","setTitle","setData","stop","payThis","amount","toString","replace","isNumeric","val","validateModal","errs","each","accountBal","OnBudget","budgetEnroll","CustomerBudgetResponse","Array","isArray","closest","docId","size","doc","pdfUrl","allowDownload","onPdfLoaded","mount","checkForAmexCard","cardNumber","match","recalcTotalPayment","$paymentTotal","$budgetAmt","$eftBudgetAmt","$invoiceAmounts","$additionalPayAmt","total","hasError","hasBudget","paymentOpts","paymentOpt","$me","$parent","myVal","trim","BudgetPayment","push","$bMe","bVal","eVal","budVal","eftBudVal","paymentOptions","dataObj","templating","GetRenderedTemplateHTML","TemplateType","CwWidget","renderedTmpl","remoteSystemAccount","AccountMapping","paymentSubmittalOpts","$errPnl","alert","ClearAlert","valObj","remoteAccount","RemoteAccount","PaymentProfileId","ccObj","paymentProfileId","paymentAmount","PaymentAuthToken","PaymentDetails","resp","WasSuccess","Alert","text","PaymentId","cb","getCCErr","tokenObj","secureData","authData","cardData","ccNum","month","ccMonth","year","ccYear","zip","billZip","fullName","cardHolderName","cardCode","cvv2","clientKey","PublicClientKey","apiLoginID","ApiLoginId","accountHandleAuthnetResponse","getAcceptJsNewCcResp","Accept","dispatchData","eftCallbackFunc","msg","EftPaymentConfirmationNum","successCb","eftObj","eftConfigObjId","PaymentDate","draftDate","CustomerBankAccountId","customerBankId","EftConfigNickName","nickname","BankName","bankName","RoutingNumber","routingNbr","AccountNumber","acctNbr","AccountType","acctType","SaveForLater","saveForLater","rtn","authNetResp","$payAmount","AuthorizedAcceptJsResponse","ccResp","TransactionResponse","addWeekDaysToPicker","date","days","dayCounter","setDate","getDate","check","getDay","rtnObj","$paymentAmount","$el","application","setRequiredStarState","$ccNum","ccNumAmex","$cardHolderName","$ccMonth","$ccYear","$cvv2","$billZip","luhnCheck","placement","badMonth","badYear","endOf","isBefore","$bankName","$routingNbr","n","charAt","$acctNbr","jQuery","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","Error","code","keys","Object","resolve","module","exports","AlertSeverity","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","key","class","_hoisted_5","__name","props","checked","type","Boolean","String","default","disabled","readonly","hover","variant","inputClass","alignLabel","loading","loadingText","labelClass","undefined","labelStyle","emits","setup","__props","emit","__emit","componentId","isChecked","lblClasses","labels","indexOf","checkVal","newVal","target","HTMLInputElement","value","_ctx","_cache","for","style","onChange","$slots","innerHTML","animate","icon","isIClickableAlertMessage","hasOwnProperty","_hoisted_6","_hoisted_7","_hoisted_8","message","alertIcon","alertSeverity","Warning","dismissible","dismissAfter","iconClass","iconWrapperClass","cssAlerting","AlertCss","scrollOnError","scrollLocation","dismissIcon","dismissed","alertTarget","isSingleMessage","singleMessage","showAlert","setTimeout","document","getElementById","click","nv","onClick","$event","$emit","clickCallback","href","m","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","startPageNumber","showSelectCheckbox","selected","selectCheckboxText","pdf","workerSrc","URL","downloadUrl","forceDownload","totalPages","currentPage","canvasHeight","canvasWidth","pdfDoc","loadFailed","pageRendering","scale","pageNumPending","canvasEl","height","promise","then","numPages","renderPage","catch","loadPdf","pdfSelectionChange","pageNum","getPage","page","viewport","getViewport","canvasCtx","getContext","render","canvasContext","movePage","currentPageOffset","zoom","zoomPercent","onUpdated"],"sourceRoot":""}