{"version":3,"sources":["./src/app/formiobuilder/components/custom-builder-components/commercial-line-item/commercial-line-item.component.ts","./src/app/formiobuilder/components/custom-builder-components/commercial-line-item/commercial-line-item.component.html","./src/app/formiobuilder/components/custom-builder-components/custom-forms.formio.ts","./src/app/formiobuilder/components/custom-builder-components/custom-forms.module.ts","./src/app/formiobuilder/components/custom-builder-components/heartland-tokenizer/heartland-tokenizer.component.ts","./src/app/formiobuilder/components/custom-builder-components/heartland-tokenizer/heartland-tokenizer.component.html","./src/app/formiobuilder/components/custom-builder-components/payment-forms/heartland-payment/heartland-payment.component.ts","./src/app/formiobuilder/components/custom-builder-components/payment-forms/heartland-payment/heartland-payment.component.html","./src/app/formiobuilder/components/custom-builder-components/product-field/product-field.component.ts","./src/app/formiobuilder/components/custom-builder-components/product-field/product-field.component.html","./src/app/formiobuilder/components/custom-builder-components/recaptcha/recaptcha-v3/recaptcha-v3.component.ts","./src/app/formiobuilder/components/custom-builder-components/recaptcha/recaptcha-v3/recaptcha-v3.component.html","./src/app/formiobuilder/components/custom-builder-components/safe-html.pipe.ts","./src/app/formiobuilder/components/custom-builder-components/single-product-field/single-product-field.component.ts","./src/app/formiobuilder/components/custom-builder-components/single-product-field/single-product-field.component.html","./src/app/formiobuilder/components/custom-builder-components/terms-condition/terms-condition.component.ts","./src/app/formiobuilder/components/custom-builder-components/terms-condition/terms-condition.component.html","./src/app/formiobuilder/models/recurring.model.ts"],"names":["i0","RecaptchaV3Component","constructor","document","elementRef","formObserverService","apiKeyService","router","EventEmitter","recaptcha","RecaptchaModel","ngOnInit","url","indexOf","type","castProperty","captchaType","executeImportantAction","SiteKey","setRecaptchaResponse","valid","configError","hcaptchaToken","undefined","self","hcaptcha","execute","hcaptchaWidgetId","async","then","response","key","handlehcaptchaToken","catch","err","console","error","grecaptcha","window","ready","action","token","handleRecaptchaToken","log","e","validateRecaptcha","Id","subscribe","res","apiKeyId","ngAfterViewInit","isEmbed","renderhCaptcha","renderReCaptcha","afterScriptAdded","params","width","height","s","createElement","pubLoadRecaptchaById","src","__this","onload","nativeElement","appendChild","pubLoadAll","apiKeys","find","IsDefault","querySelector","addEventListener","bind","getElementById","innerHTML","setTimeout","render","sitekey","callback","embed","Child","DOCUMENT","selectors","inputs","value","disabled","outputs","valueChange","decls","vars","consts","template","ctx"],"mappings":"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","file":"default-src_app_formiobuilder_components_custom-builder-components_custom-forms_formio_ts-src-eabad5.a2865451d0449f231857.js","sourcesContent":["import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n AfterViewInit,\r\n} from '@angular/core';\r\nimport { FormioUtils } from 'angular-formio';\r\nimport { AutoUnsubscribe } from 'ngx-auto-unsubscribe-decorator';\r\nimport { Subscription } from 'rxjs';\r\nimport { FormObserverService } from 'src/app/formiobuilder/services/form-observer.service';\r\n\r\n@Component({\r\n selector: 'app-commercial-line-item',\r\n templateUrl: './commercial-line-item.component.html',\r\n styleUrls: ['./commercial-line-item.component.scss'],\r\n})\r\nexport class CommercialLineItemComponent implements AfterViewInit {\r\n @Input() value: object;\r\n @Output() valueChange = new EventEmitter();\r\n @Input() name: string;\r\n\r\n data: any;\r\n isLoading: boolean = true;\r\n\r\n @AutoUnsubscribe()\r\n private castFormData$: Subscription;\r\n\r\n constructor(private formObserverService: FormObserverService) {}\r\n\r\n ngAfterViewInit(): void {\r\n this.name = this.name.replace('data[', '').replace(']', '');\r\n let result = [];\r\n this.castFormData$ = this.formObserverService.castFormData.subscribe(\r\n (formData: any) => {\r\n result = FormioUtils.searchComponents(formData, {\r\n type: 'commercialLineItem',\r\n key: this.name,\r\n });\r\n }\r\n );\r\n\r\n setTimeout(() => {\r\n if (result.length) {\r\n this.data = {\r\n Description: result[0]?.productDescription,\r\n Label: result[0]?.productName,\r\n Amount: result[0]?.amount,\r\n Dynamic: result[0]?.dynamic,\r\n TotalAmount: result[0]?.amount * result[0]?.quantity,\r\n Quantity: result[0]?.quantity,\r\n TaxValueType: result[0]?.taxType === 'USD' ? 'taxAmount' : 'taxRate',\r\n TaxAmount: result[0]?.taxType === 'USD' ? result[0]?.taxValue : null,\r\n TaxRate:\r\n result[0]?.taxType === 'PERCENT' ? result[0]?.taxValue : null,\r\n TaxType: result[0]?.taxIndicator,\r\n ProductCode: result[0]?.purchaseId,\r\n ItemCommodityCode: result[0]?.commodityCode,\r\n UnitOfMeasure: result[0]?.unitOfMeasure,\r\n DiscountType:\r\n result[0]?.discount === 'USD' ? 'discountAmount' : 'discountRate',\r\n DiscountAmount:\r\n result[0]?.discount === 'USD' ? result[0]?.discountValue : null,\r\n DiscountRate:\r\n result[0]?.discount === 'PERCENT' ? result[0]?.discountValue : null,\r\n TaxTreatment: result[0]?.taxTreatment,\r\n HideLabel: result[0]?.hideLabel,\r\n HideQuantity: result[0]?.hideQuantity,\r\n HideDescription: result[0]?.hideDescription,\r\n };\r\n this.updateValue(this.data);\r\n this.isLoading = false;\r\n }\r\n }, 300);\r\n }\r\n\r\n updateData() {\r\n this.updateValue({\r\n ...this.data,\r\n TotalAmount: this.data.Quantity * this.data.Amount,\r\n });\r\n }\r\n\r\n updateValue(payload: object) {\r\n this.value = payload; // Should be updated first\r\n this.valueChange.emit(payload); // Should be called after this.value update\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n $\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Injector } from '@angular/core';\r\nimport {\r\n FormioCustomComponentInfo,\r\n registerCustomFormioComponent,\r\n} from 'angular-formio';\r\nimport { HeartlandPaymentComponent } from './payment-forms/heartland-payment/heartland-payment.component';\r\nimport { RecaptchaV3Component } from './recaptcha/recaptcha-v3/recaptcha-v3.component';\r\nimport { ProductFieldComponent } from './product-field/product-field.component';\r\nimport { TermsConditionComponent } from './terms-condition/terms-condition.component';\r\nimport { SingleProductFieldComponent } from './single-product-field/single-product-field.component';\r\nimport { HeartlandTokenizerComponent } from 'src/app/formiobuilder/components/custom-builder-components/heartland-tokenizer/heartland-tokenizer.component';\r\nimport { CommercialLineItemComponent } from 'src/app/formiobuilder/components/custom-builder-components/commercial-line-item/commercial-line-item.component';\r\n\r\nconst HEARTLAND_PAYMENT_COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'heartlandpayment',\r\n selector: 'heartland-payment',\r\n title: 'Payment System',\r\n group: 'customComponents',\r\n icon: 'credit-card',\r\n};\r\n\r\nconst HEARTLAND_PAYMENT_TOKENIZER_COMPONENT_OPTIONS: FormioCustomComponentInfo =\r\n {\r\n type: 'heartlandpaymenttokenizer',\r\n selector: 'heartland-payment-tokenizer',\r\n title: 'Heartland Tokenizer',\r\n group: 'customComponents',\r\n icon: 'credit-card',\r\n };\r\n\r\nconst RECAPTCHA_V3_COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'recaptcha-v3',\r\n selector: 'recaptcha-v3',\r\n title: 'Captcha',\r\n group: 'advanced',\r\n icon: 'refresh',\r\n};\r\n\r\nconst SUBSCRIPTION_PARENT_COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'subscriptionPlans',\r\n selector: 'subscription-plans',\r\n title: 'Subscription Form',\r\n group: 'customComponents',\r\n icon: 'credit-card',\r\n schema: {\r\n label: 'subscriptionPlans',\r\n hideLabel: true,\r\n key: 'subscriptionPlans',\r\n customClass: 'subscription-plan-label',\r\n },\r\n};\r\n\r\nconst PRODUCT_FIELD_COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'productfield',\r\n selector: 'product-field',\r\n title: 'Multiple Product',\r\n group: 'customComponents',\r\n icon: 'fas fa-tags',\r\n schema: {\r\n label: 'productfield',\r\n hideLabel: true,\r\n key: 'productfield',\r\n },\r\n};\r\n\r\nconst SINGLE_PRODUCT_FIELD_COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'singleproduct',\r\n selector: 'single-product',\r\n title: 'Single Product',\r\n group: 'customComponents',\r\n icon: 'fas fa-tags',\r\n schema: {\r\n //label:'singleproduct',\r\n hideLabel: true,\r\n key: 'singleproduct',\r\n },\r\n};\r\n\r\nconst TERMS_CONDITION_COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'termscondition',\r\n selector: 'terms-condition',\r\n title: 'Terms and Condition',\r\n group: 'customComponents',\r\n icon: 'check-circle',\r\n schema: {\r\n label: 'termscondition',\r\n hideLabel: true,\r\n key: 'termscondition',\r\n },\r\n};\r\n\r\nconst COMMERCIAL_LINE_ITEM: FormioCustomComponentInfo = {\r\n type: 'commercialLineItem',\r\n selector: 'commercial-line-item',\r\n title: 'Level II / Level III Item',\r\n group: 'customComponents',\r\n icon: 'fa fa-shopping-cart',\r\n};\r\n\r\nexport function registerCustomForms(injector: Injector) {\r\n registerCustomFormioComponent(\r\n SINGLE_PRODUCT_FIELD_COMPONENT_OPTIONS,\r\n SingleProductFieldComponent,\r\n injector\r\n );\r\n registerCustomFormioComponent(\r\n PRODUCT_FIELD_COMPONENT_OPTIONS,\r\n ProductFieldComponent,\r\n injector\r\n );\r\n registerCustomFormioComponent(\r\n TERMS_CONDITION_COMPONENT_OPTIONS,\r\n TermsConditionComponent,\r\n injector\r\n );\r\n registerCustomFormioComponent(\r\n HEARTLAND_PAYMENT_COMPONENT_OPTIONS,\r\n HeartlandPaymentComponent,\r\n injector\r\n );\r\n\r\n registerCustomFormioComponent(\r\n HEARTLAND_PAYMENT_TOKENIZER_COMPONENT_OPTIONS,\r\n HeartlandTokenizerComponent,\r\n injector\r\n );\r\n registerCustomFormioComponent(\r\n RECAPTCHA_V3_COMPONENT_OPTIONS,\r\n RecaptchaV3Component,\r\n injector\r\n );\r\n registerCustomFormioComponent(\r\n COMMERCIAL_LINE_ITEM,\r\n CommercialLineItemComponent,\r\n injector\r\n );\r\n\r\n // if (!customElements.get('subscription-plans')) {\r\n // registerCustomFormioComponent(\r\n // SUBSCRIPTION_PARENT_COMPONENT_OPTIONS,\r\n // SubscriptionParentComponent,\r\n // injector\r\n // );\r\n // }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule, CurrencyPipe, DatePipe } from '@angular/common';\r\nimport { HeartlandPaymentComponent } from './payment-forms/heartland-payment/heartland-payment.component';\r\nimport { RecaptchaV3Component } from './recaptcha/recaptcha-v3/recaptcha-v3.component';\r\nimport { ProductFieldComponent } from './product-field/product-field.component';\r\nimport { TermsConditionComponent } from './terms-condition/terms-condition.component';\r\nimport { SingleProductFieldComponent } from './single-product-field/single-product-field.component';\r\nimport { HeartlandTokenizerComponent } from 'src/app/formiobuilder/components/custom-builder-components/heartland-tokenizer/heartland-tokenizer.component';\r\nimport { CommercialLineItemComponent } from 'src/app/formiobuilder/components/custom-builder-components/commercial-line-item/commercial-line-item.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { FormioModule } from 'angular-formio';\r\nimport { SafeHtmlPipe } from 'src/app/formiobuilder/components/custom-builder-components/safe-html.pipe';\r\n\r\n@NgModule({\r\n declarations: [\r\n HeartlandTokenizerComponent,\r\n CommercialLineItemComponent,\r\n ProductFieldComponent,\r\n TermsConditionComponent,\r\n SingleProductFieldComponent,\r\n RecaptchaV3Component,\r\n HeartlandPaymentComponent,\r\n SafeHtmlPipe,\r\n ],\r\n providers: [DatePipe, CurrencyPipe, SafeHtmlPipe],\r\n imports: [CommonModule, FormioModule, FormsModule],\r\n})\r\nexport class CustomFormsModule {}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AutoUnsubscribe } from 'ngx-auto-unsubscribe-decorator';\r\nimport { Subscription } from 'rxjs';\r\nimport { embedPaymentCss } from 'src/app/formiobuilder/models/globalpayments.model';\r\nimport { FormObserverService } from 'src/app/formiobuilder/services/form-observer.service';\r\nimport { HeartlandObserverService } from 'src/app/formiobuilder/services/heartland-observer.service';\r\nimport { LocationSwitchService } from 'src/app/shared/services/location-switch.service';\r\n\r\ndeclare var GlobalPayments: any;\r\n@Component({\r\n selector: 'app-heartland-tokenizer',\r\n templateUrl: './heartland-tokenizer.component.html',\r\n styleUrls: ['./heartland-tokenizer.component.scss'],\r\n})\r\nexport class HeartlandTokenizerComponent implements OnInit {\r\n locationId: number;\r\n cardForm: any;\r\n isFormValid: boolean = false;\r\n isEmbed: boolean = true;\r\n\r\n // Location based configuration\r\n isCCEnabled: boolean = false;\r\n publicAPIKey: string;\r\n locationData: any;\r\n\r\n @AutoUnsubscribe()\r\n private castFormvalidation$: Subscription;\r\n constructor(\r\n private formObserverService: FormObserverService,\r\n private router: Router,\r\n private heartlandObserverService: HeartlandObserverService,\r\n private locationSwitchService: LocationSwitchService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n if (this.router.url.indexOf('portal/') !== -1) {\r\n this.isEmbed = false;\r\n }\r\n\r\n // Get the location ID defined in the Property\r\n let locationIdValue = this.formObserverService.castProperty(\r\n 'fieldset',\r\n 'customOptions.locationId',\r\n 'registration'\r\n );\r\n\r\n if (typeof locationIdValue === 'number') {\r\n this.locationId = locationIdValue;\r\n }\r\n\r\n this.castFormvalidation$ =\r\n this.formObserverService.castFormvalidation.subscribe(\r\n (isFormValid: boolean) => {\r\n this.isFormValid = isFormValid;\r\n this.toggleSubmitButton();\r\n }\r\n );\r\n\r\n this.init();\r\n }\r\n\r\n private init(): void {\r\n const locationId: number = this.locationId || 1; // get MAIN if nothing is thrown\r\n this.locationSwitchService.locations.subscribe((list) => {\r\n if (list.length) {\r\n this.locationData = list.find((locationData) => {\r\n return locationData.Id === locationId;\r\n });\r\n\r\n this.publicAPIKey = this.locationData.API_Key;\r\n this.isCCEnabled = this.locationData.CCEnabled;\r\n\r\n GlobalPayments.configure({\r\n publicApiKey: this.publicAPIKey,\r\n });\r\n\r\n this.renderPaymentForm();\r\n }\r\n });\r\n }\r\n\r\n private renderPaymentForm() {\r\n let self = this;\r\n\r\n if (!this.isEmbed) {\r\n return;\r\n }\r\n\r\n if (this.cardForm) {\r\n this.cardForm.dispose();\r\n }\r\n\r\n // Create Form\r\n this.cardForm = GlobalPayments.ui.form({\r\n fields: {\r\n 'card-holder-name': {\r\n placeholder: 'Jane Smith',\r\n target: '#credit-card-card-holder',\r\n },\r\n 'card-number': {\r\n placeholder: '•••• •••• •••• ••••',\r\n target: '#credit-card-card-number',\r\n },\r\n 'card-expiration': {\r\n placeholder: 'MM / YYYY',\r\n target: '#credit-card-card-expiration',\r\n },\r\n 'card-cvv': {\r\n placeholder: '•••',\r\n target: '#credit-card-card-cvv',\r\n },\r\n submit: {\r\n value: 'Process Payment',\r\n target: '#credit-card-submit',\r\n },\r\n },\r\n styles: embedPaymentCss(),\r\n });\r\n\r\n this.cardForm.on('submit', 'click', () => {\r\n // Trigger FormIO submission\r\n const formioBtn = document.querySelector(\"[name='data[submit]']\");\r\n // @ts-ignore\r\n formioBtn.click();\r\n // On tokenization successful\r\n this.cardForm.on('card-number', 'token-success', (res: any) => {\r\n let tokenData: Object = {\r\n locationData: this.locationData,\r\n token: res.paymentReference,\r\n lastFour: res.details.cardLast4,\r\n cardBIN: res.details.cardBin,\r\n cardType: res.details.cardType,\r\n expMonth: res.details.expiryMonth,\r\n expYear: res.details.expiryYear,\r\n };\r\n\r\n self.heartlandObserverService.updateTokenData(tokenData);\r\n });\r\n\r\n // On tokenization Failed\r\n this.cardForm.on('card-number', 'token-error', (res: any) => {\r\n self.heartlandObserverService.updateTokenData({\r\n error: true,\r\n error_message: res.reasons[0].message,\r\n });\r\n });\r\n // resize the parent iframe when form is already rendered\r\n setTimeout(function () {\r\n if ((window as any).embed) {\r\n new (window as any).embed.Child({});\r\n }\r\n }, 1500);\r\n });\r\n }\r\n\r\n private toggleSubmitButton() {\r\n let formioBtn = document.querySelector(\"[name='data[submit]']\");\r\n let globalPaymentBtn = document.getElementById('credit-card-submit');\r\n let globalPaymentFakeBtn = document.getElementById(\r\n 'credit-card-submit-mask'\r\n );\r\n\r\n // @ts-ignore\r\n const isFormNotValid = formioBtn.disabled;\r\n\r\n this.isFormValid = !isFormNotValid;\r\n\r\n // @ts-ignore\r\n formioBtn.style.display = 'none';\r\n\r\n if (isFormNotValid) {\r\n // If form is not valid, we display the fake button\r\n globalPaymentBtn.style.visibility = 'hidden';\r\n globalPaymentFakeBtn.style.display = '';\r\n } else {\r\n // display the iFrame Button\r\n globalPaymentBtn.style.visibility = 'visible';\r\n globalPaymentFakeBtn.style.display = 'none';\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n

\r\n Credit card is not activated in you location. Please contact your\r\n administrator\r\n

\r\n
\r\n
\r\n","import {\r\n Component,\r\n Input,\r\n EventEmitter,\r\n Output,\r\n NgZone,\r\n ViewChild,\r\n TemplateRef,\r\n} from '@angular/core';\r\nimport { FormioCustomComponent } from 'angular-formio';\r\nimport { HeartlandObserverService } from '../../../../services/heartland-observer.service';\r\nimport { FormObserverService } from '../../../../services/form-observer.service';\r\nimport { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Router } from '@angular/router';\r\nimport { ACHPayment } from '../../../../../shared/models/invoice/ach-payment.model';\r\nimport { Settings } from '../../../../../shared/models/settings/settings.model';\r\nimport { embedPaymentCss } from '../../../../models/globalpayments.model';\r\nimport { AchTcComponent } from '../../../../../shared/components/payment/ach-payment/ach-tc/ach-tc.component';\r\nimport {\r\n AccountType,\r\n CheckType,\r\n} from '../../../../../shared/models/invoice/payment.model';\r\nimport { LocationSwitchService } from '../../../../../shared/services/location-switch.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { AutoUnsubscribe } from 'ngx-auto-unsubscribe-decorator';\r\nimport { GooglePayButtonComponent } from '../../../../../shared/components/google-pay-button/google-pay-button.component';\r\nimport { TermsconditionpolicyService } from 'src/app/shared/services/termsconditionpolicy.service';\r\n\r\ndeclare var GlobalPayments: any;\r\n@Component({\r\n selector: 'app-heartland-payment',\r\n templateUrl: './heartland-payment.component.html',\r\n styleUrls: ['./heartland-payment.component.scss'],\r\n})\r\nexport class HeartlandPaymentComponent\r\n implements FormioCustomComponent\r\n{\r\n @ViewChild(GooglePayButtonComponent, { static: false })\r\n googlePayButtonComponent: GooglePayButtonComponent;\r\n\r\n @ViewChild('container', { static: false }) tcpTemplate: TemplateRef;\r\n\r\n @Input() source: string = '';\r\n @Input() locationId: any;\r\n @Input() paymentType: string;\r\n @Input() paymentTypes: any; // new version with multiple selection of payment methods\r\n @Input() value: object;\r\n @Input() disabled: boolean;\r\n @Input() moduleType: string = null;\r\n\r\n @Output() valueChange = new EventEmitter();\r\n @Output() tokenData = new EventEmitter();\r\n\r\n amount: number;\r\n invoiceNumber: string;\r\n hps: any;\r\n publicAPIKey: string;\r\n locationData: any;\r\n saveCard: boolean = false;\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n phone: string;\r\n regEx: any =\r\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n\r\n displayType: string;\r\n isACHEnabled: boolean = false;\r\n isCCEnabled: boolean = false;\r\n isGooglePayEnabled: boolean = false;\r\n isApplePayEnabled: boolean = false;\r\n isThirdPartyEnabled: boolean = false;\r\n // isRequireTermsPolicy: boolean = false;\r\n isShowRememberCard: boolean = false;\r\n agreedToTerms: boolean = false;\r\n isCheckingAccount: boolean = true;\r\n merchantName: string = '';\r\n contactNumber: string = '';\r\n\r\n achPaymentModel: ACHPayment = new ACHPayment();\r\n paymentFormInfo: Object;\r\n isEmbed: boolean = true;\r\n\r\n isRecurringForm: boolean = false;\r\n cardForm: any;\r\n isFormValid: boolean = false;\r\n\r\n hasCommercialItem: boolean = false;\r\n\r\n // Third Party T&C\r\n currentModal: NgbModalRef;\r\n tcpTitle: string;\r\n tcpContent: string;\r\n policyContent: string;\r\n termsAndConditionContent: string;\r\n\r\n activeThirdParties: string[] = [];\r\n activePaymentMethodsCounter: number = 0;\r\n\r\n @AutoUnsubscribe()\r\n private castamount$: Subscription;\r\n @AutoUnsubscribe()\r\n private castIsRecurringForm$: Subscription;\r\n @AutoUnsubscribe()\r\n private castBusinessData$: Subscription;\r\n @AutoUnsubscribe()\r\n private castFormvalidation$: Subscription;\r\n @AutoUnsubscribe()\r\n private castHasCommercialItem$: Subscription;\r\n\r\n constructor(\r\n private locationSwitchService: LocationSwitchService,\r\n private heartlandObserverService: HeartlandObserverService,\r\n private formObserverService: FormObserverService,\r\n private modalService: NgbModal,\r\n private _ngZone: NgZone,\r\n private router: Router,\r\n private tcpService: TermsconditionpolicyService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n if (this.router.url.indexOf('portal/') !== -1) {\r\n this.isEmbed = false;\r\n }\r\n\r\n if (this.moduleType == 'subscriptionModule') {\r\n this.saveCard = true;\r\n } else {\r\n let saveCardDefaultValue = this.formObserverService.castProperty(\r\n 'heartlandpayment',\r\n 'customOptions.saveCardDefault'\r\n );\r\n if (typeof saveCardDefaultValue === 'boolean') {\r\n this.saveCard = saveCardDefaultValue;\r\n }\r\n\r\n let showSaveCard = this.formObserverService.castProperty(\r\n 'heartlandpayment',\r\n 'customOptions.enableSaveCard'\r\n );\r\n if (typeof showSaveCard === 'boolean') {\r\n this.isShowRememberCard = showSaveCard;\r\n }\r\n }\r\n\r\n // Get the location ID defined in the Property\r\n let locationIdValue = this.formObserverService.castProperty(\r\n 'heartlandpayment',\r\n 'customOptions.locationId'\r\n );\r\n if (typeof locationIdValue === 'number') {\r\n this.locationId = locationIdValue;\r\n }\r\n\r\n // new version\r\n let displayTypeOptions = this.formObserverService.castProperty(\r\n 'heartlandpayment',\r\n 'customOptions.paymentTypes'\r\n );\r\n if (typeof displayTypeOptions === 'object') {\r\n this.paymentTypes = displayTypeOptions;\r\n }\r\n\r\n let requireTermsPolicy = this.formObserverService.castProperty(\r\n 'heartlandpayment',\r\n 'customOptions.requireTermsPolicy'\r\n );\r\n // if (typeof requireTermsPolicy === 'boolean') {\r\n // this.isRequireTermsPolicy = requireTermsPolicy;\r\n // }\r\n this.getThirdPartyTermsPolicy();\r\n\r\n setTimeout(() => {\r\n this.initPaymentForm();\r\n }, 2000);\r\n }\r\n\r\n initializeObservables() {\r\n this.castamount$ = this.heartlandObserverService.castamount.subscribe(\r\n (amount) => {\r\n this.amount = amount;\r\n this.googlePayButtonComponent?.setAmount(amount);\r\n }\r\n );\r\n\r\n let hasRecurringForm: boolean = false;\r\n let hasL2L3Fields: boolean = false;\r\n\r\n this.castIsRecurringForm$ =\r\n this.formObserverService.castIsRecurringForm.subscribe((isActive) => {\r\n hasRecurringForm = isActive;\r\n this.isRecurringForm = isActive;\r\n });\r\n\r\n this.castHasCommercialItem$ =\r\n this.formObserverService.castHasCommercialItem.subscribe((isActive) => {\r\n hasL2L3Fields = isActive;\r\n this.hasCommercialItem = isActive;\r\n });\r\n\r\n this.castBusinessData$ =\r\n this.formObserverService.castBusinessData.subscribe(\r\n (businessData: Settings) => {\r\n this.merchantName = businessData.BusinessName;\r\n this.contactNumber = businessData.ContactNumber;\r\n }\r\n );\r\n\r\n this.castFormvalidation$ =\r\n this.formObserverService.castFormvalidation.subscribe(\r\n (isFormValid: boolean) => {\r\n this.isFormValid = isFormValid;\r\n this.toggleSubmitButton();\r\n }\r\n );\r\n\r\n if (!this.saveCard) this.saveCard = hasRecurringForm || hasL2L3Fields;\r\n }\r\n\r\n processGooglePayResponse(response: Object) {\r\n const formioBtn: any = document.querySelector(\"[name='data[submit]']\");\r\n // @ts-ignore\r\n formioBtn.click();\r\n this.paymentFormInfo = {\r\n tokenization: response,\r\n paymentType: 'google_pay',\r\n amount: this.amount,\r\n locationData: this.locationData,\r\n };\r\n\r\n // this.updateValue(this.paymentFormInfo)\r\n this.heartlandObserverService.updatePaymentFormInfo(this.paymentFormInfo);\r\n }\r\n\r\n onACHPaymentSubmission() {\r\n // ACH Validation and submission\r\n let warning: boolean = false;\r\n let warning_message: string = '';\r\n let error: boolean = false;\r\n let error_message: string = '';\r\n\r\n let paymentFormData: any = {\r\n amount: this.amount,\r\n locationData: this.locationData,\r\n customerData: {\r\n saveCard: this.saveCard,\r\n firstName: this.firstName,\r\n lastName: this.lastName,\r\n email: this.email,\r\n phone: this.phone,\r\n },\r\n };\r\n\r\n // Validations for Customer Creation\r\n // this.isRequireTermsPolicy && \r\n if (!this.agreedToTerms) {\r\n error = true;\r\n error_message = 'Please Agree to ACH Payment Terms and Conditions..';\r\n }\r\n\r\n if (this.saveCard) {\r\n if (!this.email || !this.regEx.test(this.email.toLowerCase())) {\r\n error = true;\r\n error_message = 'Email is not valid.';\r\n }\r\n } else {\r\n if (this.email && !this.regEx.test(this.email.toLowerCase())) {\r\n error = true;\r\n error_message = 'Email is not valid.';\r\n }\r\n }\r\n if (!this.saveCard && !this.email) {\r\n warning = true;\r\n warning_message =\r\n \"You have not provided an email address. You won't be able to receive payment receipts. Proceed anyway?\";\r\n }\r\n\r\n if (!this.firstName || !this.lastName) {\r\n error = true;\r\n error_message = 'Check Holder name is required.';\r\n }\r\n if (\r\n this.achPaymentModel.AccountType == 0 &&\r\n this.achPaymentModel.CheckType == undefined\r\n ) {\r\n error = true;\r\n error_message = 'Check type is required.';\r\n }\r\n if (this.achPaymentModel.AccountType == undefined) {\r\n error = true;\r\n error_message = 'Account type is required.';\r\n }\r\n\r\n if (!this.achPaymentModel.RoutingNumber) {\r\n error = true;\r\n error_message = 'Routing number is required.';\r\n }\r\n\r\n if (!this.achPaymentModel.AccountNumber) {\r\n error = true;\r\n error_message = 'Account number is required.';\r\n }\r\n\r\n if (!this.amount) {\r\n error = true;\r\n error_message = 'Please enter an Amount.';\r\n }\r\n\r\n if (!this.isACHEnabled) {\r\n error = true;\r\n error_message =\r\n 'ACH is not available at the moment, please contact your Merchant administrator.';\r\n }\r\n\r\n this.achPaymentModel.CheckHolderName = this.firstName + ' ' + this.lastName;\r\n this.paymentFormInfo = {\r\n ...this.paymentFormInfo,\r\n paymentType: this.displayType,\r\n achModel: this.achPaymentModel,\r\n agreedToTerms: this.agreedToTerms,\r\n amountToBePaid: this.amount,\r\n paymentFormData: paymentFormData,\r\n warning: warning,\r\n warning_message: warning_message,\r\n error: error,\r\n error_message: error_message,\r\n };\r\n // this.updateValue(this.paymentFormInfo)\r\n this.heartlandObserverService.updatePaymentFormInfo(this.paymentFormInfo);\r\n }\r\n\r\n updateValue(payload: object) {\r\n this.value = payload; // Should be updated first\r\n this.valueChange.emit(payload); // Should be called after this.value update\r\n }\r\n\r\n togglePaymentDisplay(type: string) {\r\n this.agreedToTerms = false;\r\n\r\n const tempDisplayType = this.displayType;\r\n this.displayType = type;\r\n this.toggleSubmitButton();\r\n this.updateValue({ paymentType: this.displayType });\r\n\r\n this._ngZone.run(() => {\r\n if (type === 'credit_card' && tempDisplayType !== 'credit_card') {\r\n setTimeout(() => {\r\n this.renderPaymentForm();\r\n });\r\n } else {\r\n setTimeout(function () {\r\n if ((window as any).embed) {\r\n new (window as any).embed.Child({});\r\n }\r\n }, 1500);\r\n }\r\n });\r\n }\r\n\r\n renderPaymentForm() {\r\n let self = this;\r\n\r\n if (!this.isEmbed) {\r\n return;\r\n }\r\n\r\n if (this.cardForm) {\r\n this.cardForm.dispose();\r\n }\r\n\r\n // Create Form\r\n this.cardForm = GlobalPayments.ui.form({\r\n fields: {\r\n 'card-holder-name': {\r\n placeholder: 'Jane Smith',\r\n target: '#credit-card-card-holder',\r\n },\r\n 'card-number': {\r\n placeholder: '•••• •••• •••• ••••',\r\n target: '#credit-card-card-number',\r\n },\r\n 'card-expiration': {\r\n placeholder: 'MM / YYYY',\r\n target: '#credit-card-card-expiration',\r\n },\r\n 'card-cvv': {\r\n placeholder: '•••',\r\n target: '#credit-card-card-cvv',\r\n },\r\n submit: {\r\n value: 'Process Payment',\r\n target: '#credit-card-submit',\r\n },\r\n },\r\n styles: embedPaymentCss(),\r\n });\r\n\r\n // On Submit button click\r\n this.cardForm.on('submit', 'click', () => {\r\n // Trigger FormIO submission\r\n const formioBtn = document.querySelector(\"[name='data[submit]']\");\r\n // @ts-ignore\r\n formioBtn.click();\r\n\r\n // Just preset the initial value to prevent validation error in embed component\r\n this.heartlandObserverService.updatePaymentFormInfo({\r\n amount: this.amount,\r\n paymentType: this.displayType,\r\n customerData: {\r\n saveCard: this.saveCard,\r\n firstName: this.firstName,\r\n lastName: this.lastName,\r\n email: this.email,\r\n phone: this.phone,\r\n },\r\n });\r\n\r\n if (!self.amount) {\r\n self.heartlandObserverService.updateTokenData({\r\n error: true,\r\n error_message: 'Amount is invalid',\r\n });\r\n return;\r\n }\r\n\r\n if (!self.firstName || !self.lastName) {\r\n self.heartlandObserverService.updateTokenData({\r\n error: true,\r\n error_message: 'Card holder name is required.',\r\n });\r\n return;\r\n }\r\n\r\n // Validations for Customer Creation\r\n if (self.saveCard) {\r\n if (!self.email || !self.regEx.test(self.email.toLowerCase())) {\r\n self.heartlandObserverService.updateTokenData({\r\n error: true,\r\n error_message: 'Email is not valid',\r\n });\r\n return;\r\n }\r\n } else {\r\n if (self.email && !self.regEx.test(self.email.toLowerCase())) {\r\n self.heartlandObserverService.updateTokenData({\r\n error: true,\r\n error_message: 'Email is not valid',\r\n });\r\n }\r\n }\r\n });\r\n\r\n // On tokenization successful\r\n this.cardForm.on('card-number', 'token-success', function (res) {\r\n let tokenData: any = {\r\n ...{\r\n token: res.paymentReference,\r\n lastFour: res.details.cardLast4,\r\n cardBIN: res.details.cardBin,\r\n cardType: res.details.cardType,\r\n expMonth: res.details.expiryMonth,\r\n expYear: res.details.expiryYear,\r\n },\r\n amount: self.amount,\r\n locationData: self.locationData,\r\n customerData: {\r\n saveCard: self.saveCard,\r\n firstName: self.firstName,\r\n lastName: self.lastName,\r\n email: self.email,\r\n phone: self.phone,\r\n },\r\n };\r\n self.heartlandObserverService.updateTokenData(tokenData);\r\n self.heartlandObserverService.updateAmountData(self.amount);\r\n\r\n if (!self.saveCard && !self.email) {\r\n tokenData = {\r\n ...tokenData,\r\n error: true,\r\n error_message: 'E-mail address is not valid.',\r\n };\r\n }\r\n\r\n self.heartlandObserverService.updateTokenData(tokenData);\r\n });\r\n\r\n // On tokenization Failed\r\n this.cardForm.on('card-number', 'token-error', function (res) {\r\n self.heartlandObserverService.updateTokenData({\r\n error: true,\r\n error_message: res.reasons[0].message,\r\n });\r\n });\r\n\r\n // resize the parent iframe when form is already rendered\r\n setTimeout(function () {\r\n if ((window as any).embed) {\r\n new (window as any).embed.Child({});\r\n }\r\n }, 1500);\r\n }\r\n\r\n initPaymentForm() {\r\n const location: any = this.locationId || 1; // get MAIN if nothing is thrown\r\n this.locationSwitchService.locations.subscribe((list) => {\r\n list.map((locationData) => {\r\n if (locationData.Id === location) {\r\n this.locationData = locationData;\r\n this.publicAPIKey = locationData.API_Key;\r\n this.isACHEnabled = locationData.ACHEnabled && this.paymentTypes.ach;\r\n this.isCCEnabled =\r\n locationData.CCEnabled && this.paymentTypes.credit_card;\r\n this.isGooglePayEnabled =\r\n locationData.GooglePayEnabled && this.paymentTypes.google_pay;\r\n this.isApplePayEnabled =\r\n locationData.ApplePayEnabled && this.paymentTypes.apple_pay;\r\n\r\n if (this.isGooglePayEnabled || this.isApplePayEnabled) {\r\n this.isThirdPartyEnabled = true;\r\n this.paymentType = 'third_party';\r\n this.activePaymentMethodsCounter++;\r\n\r\n if (this.isGooglePayEnabled)\r\n this.activeThirdParties.push('Google Pay');\r\n if (this.isApplePayEnabled)\r\n this.activeThirdParties.push('Apple Pay');\r\n }\r\n\r\n if (this.isACHEnabled) {\r\n document\r\n .querySelector(\"[name='data[submit]']\")\r\n .addEventListener(\r\n 'click',\r\n this.onACHPaymentSubmission.bind(this)\r\n );\r\n this.paymentType = 'ach';\r\n this.activePaymentMethodsCounter++;\r\n }\r\n\r\n if (this.isCCEnabled) {\r\n GlobalPayments.configure({\r\n publicApiKey: this.publicAPIKey,\r\n });\r\n\r\n this.paymentType = 'credit_card';\r\n this.activePaymentMethodsCounter++;\r\n this.renderPaymentForm();\r\n }\r\n\r\n if (this.activePaymentMethodsCounter > 1) {\r\n this.displayType = undefined;\r\n } else {\r\n this.displayType = this.paymentType;\r\n this.updateValue({ paymentType: this.displayType });\r\n }\r\n\r\n this.initializeObservables();\r\n\r\n return true;\r\n }\r\n });\r\n });\r\n }\r\n\r\n toggleSubmitButton() {\r\n let formioBtn: HTMLElement = document.querySelector(\r\n \"[name='data[submit]']\"\r\n );\r\n let globalPaymentBtn: HTMLElement =\r\n document.getElementById('credit-card-submit');\r\n let globalPaymentFakeBtn: HTMLElement = document.getElementById(\r\n 'credit-card-submit-mask'\r\n );\r\n let buttonsContainer: HTMLElement = document.getElementById(\r\n 'formioCounterPartBtnsContainer'\r\n );\r\n\r\n // @ts-ignore\r\n buttonsContainer?.className = formioBtn.parentNode?.className;\r\n\r\n // @ts-ignore\r\n const isFormNotValid = formioBtn.disabled;\r\n this.isFormValid = !isFormNotValid;\r\n\r\n if (this.displayType === undefined || this.displayType === 'third_party') {\r\n // @ts-ignore\r\n formioBtn.style.display = 'none';\r\n // @ts-ignore\r\n globalPaymentFakeBtn.style.display = 'none';\r\n // @ts-ignore\r\n globalPaymentBtn.style.visibility = 'hidden';\r\n } else {\r\n if (this.displayType === 'credit_card' && this.isCCEnabled) {\r\n // @ts-ignore\r\n formioBtn.style.display = 'none';\r\n\r\n if (isFormNotValid) {\r\n // If form is not valid, we display the fake button\r\n globalPaymentBtn.style.visibility = 'hidden';\r\n globalPaymentFakeBtn.style.display = '';\r\n // @ts-ignore\r\n globalPaymentFakeBtn?.className = formioBtn?.className;\r\n } else {\r\n // display the iFrame Button\r\n // @ts-ignore\r\n globalPaymentBtn?.className = formioBtn?.className\r\n ?.replace('btn', '')\r\n ?.replace('btn-mid', '')\r\n ?.replace('btn-primary', '');\r\n globalPaymentBtn.style.visibility = 'visible';\r\n globalPaymentFakeBtn.style.display = 'none';\r\n }\r\n } else {\r\n // @ts-ignore\r\n formioBtn?.style.display = '';\r\n if (globalPaymentBtn && globalPaymentFakeBtn) {\r\n globalPaymentBtn.style.visibility = 'hidden';\r\n globalPaymentFakeBtn.style.display = 'none';\r\n }\r\n }\r\n }\r\n }\r\n\r\n onMobileNumberKeyup(event) {\r\n let formattedMobileNumber = event;\r\n\r\n if (event != '') {\r\n if (event.length > 2) {\r\n if (event.indexOf('(') < 0) {\r\n formattedMobileNumber = '(' + event[0] + event[1] + event[2] + ')';\r\n }\r\n if (event.length == 8) {\r\n formattedMobileNumber =\r\n formattedMobileNumber.slice(0, 5) +\r\n ' ' +\r\n formattedMobileNumber[5] +\r\n formattedMobileNumber[6] +\r\n formattedMobileNumber[7] +\r\n '-';\r\n }\r\n this.phone = formattedMobileNumber;\r\n } else {\r\n this.phone = event;\r\n }\r\n }\r\n }\r\n\r\n openTermsAndCondition() {\r\n let achTerms = this.modalService.open(AchTcComponent, { size: 'lg' });\r\n achTerms.componentInstance.merchantName = this.merchantName;\r\n achTerms.componentInstance.contactNumber = this.contactNumber;\r\n }\r\n\r\n accountTypeChanged(event: any) {\r\n this.achPaymentModel.AccountType =\r\n event.target.value === '0' ? AccountType.CHECKING : AccountType.SAVINGS;\r\n this.isCheckingAccount = event.target.value === '0';\r\n }\r\n\r\n checkTypeChanged(event: any) {\r\n const chktype = event.target.value;\r\n if (chktype === '0') {\r\n this.achPaymentModel.CheckType = CheckType.PERSONAL;\r\n } else if (chktype === '1') {\r\n this.achPaymentModel.CheckType = CheckType.BUSINESS;\r\n } else if (chktype === '2') {\r\n this.achPaymentModel.CheckType = CheckType.PAYROLL;\r\n } else {\r\n this.achPaymentModel.CheckType = null;\r\n }\r\n }\r\n\r\n // Third Party Functions\r\n private getThirdPartyTermsPolicy() {\r\n this.tcpService.getTerms().subscribe((res: any) => {\r\n if (res) {\r\n let term = res.filter((item) => {\r\n return item.Type === 1 && item.IsDefault;\r\n })[0];\r\n\r\n let policy = res.filter((item) => {\r\n return item.Type === 2 && item.IsDefault;\r\n })[0];\r\n\r\n if (term) {\r\n this.termsAndConditionContent = term.Content;\r\n }\r\n\r\n if (policy) {\r\n this.policyContent = policy.Content;\r\n }\r\n }\r\n });\r\n }\r\n\r\n openThirdPartyTermsAndCondition() {\r\n this.tcpTitle = 'Terms and Conditions';\r\n this.tcpContent = this.termsAndConditionContent;\r\n this.currentModal = this.modalService.open(this.tcpTemplate, {\r\n size: 'lg',\r\n });\r\n }\r\n\r\n openThirdPartyPolicy() {\r\n this.tcpTitle = 'Policy';\r\n this.tcpContent = this.policyContent;\r\n this.currentModal = this.modalService.open(this.tcpTemplate, {\r\n size: 'lg',\r\n });\r\n }\r\n\r\n closeCurrentDialog() {\r\n this.currentModal.close();\r\n }\r\n}\r\n","
\r\n 1\"\r\n >\r\n
\r\n \r\n Pay via Card\r\n \r\n
\r\n
\r\n \r\n Pay via ACH\r\n \r\n
\r\n
\r\n \r\n Pay via {{ activeThirdParties.join(\"/\") }}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n I have read and agree to the\r\n Terms and Conditions. Information will be used as described here and in the\r\n Privacy Policy.\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Pay via Card\r\n \r\n
\r\n
\r\n \r\n Pay via ACH\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n = 48 && event.charCode <= 57\"\r\n />\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n = 48 && event.charCode <= 57\"\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n\r\n\r\n \r\n
\r\n

{{ tcpTitle }}

\r\n \r\n ×\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { FormObserverService } from '../../../services/form-observer.service';\r\nimport { FormioCustomComponent } from 'angular-formio';\r\nimport { Subscription } from 'rxjs';\r\nimport { AutoUnsubscribe } from 'ngx-auto-unsubscribe-decorator';\r\n\r\n@Component({\r\n selector: 'app-product-field',\r\n templateUrl: './product-field.component.html',\r\n styleUrls: ['./product-field.component.scss'],\r\n})\r\nexport class ProductFieldComponent\r\n implements FormioCustomComponent, OnInit\r\n{\r\n disabled: boolean;\r\n @Input() value: object;\r\n @Output() valueChange = new EventEmitter();\r\n @Input() myLabel: string;\r\n @Input() name: string;\r\n\r\n productlist: any = [];\r\n selectedproductlist: any = [];\r\n selectedProductNames: any[];\r\n selectedProducts: any[];\r\n locationNames: string;\r\n productNames: string;\r\n ProductIds: any[];\r\n products: any[];\r\n productCount: number;\r\n totalselectedproduct: number;\r\n grandtotal: number;\r\n productFieldLabel: string = '';\r\n\r\n @AutoUnsubscribe()\r\n private castproductlists$: Subscription;\r\n @AutoUnsubscribe()\r\n private castselectedproductlists$: Subscription;\r\n @AutoUnsubscribe()\r\n private casttotalselectedproduct$: Subscription;\r\n\r\n constructor(private productFieldObserverService: FormObserverService) {\r\n this.selectedProducts = [];\r\n this.selectedProductNames = [];\r\n this.productNames = '';\r\n this.productlist = [];\r\n this.selectedproductlist = [];\r\n this.totalselectedproduct = 0;\r\n this.grandtotal = 0;\r\n }\r\n\r\n ngOnInit() {\r\n this.name = this.name.replace('data[', '').replace(']', '');\r\n\r\n this.castproductlists$ =\r\n this.productFieldObserverService.castproductlists.subscribe(\r\n (productlist) => {\r\n // this.productlist = productlist;\r\n }\r\n );\r\n\r\n this.castselectedproductlists$ =\r\n this.productFieldObserverService.castselectedproductlists.subscribe(\r\n (selectedproductlist) => {\r\n this.selectedproductlist = selectedproductlist;\r\n }\r\n );\r\n\r\n this.casttotalselectedproduct$ =\r\n this.productFieldObserverService.casttotalselectedproduct.subscribe(\r\n (totalselectedproduct) => {\r\n this.totalselectedproduct = totalselectedproduct;\r\n }\r\n );\r\n\r\n // let productList = this.productFieldObserverService.castProperty('productfield', 'data.values', this.name);\r\n let component = this.productFieldObserverService.searchComponent(\r\n 'productfield',\r\n this.name\r\n );\r\n this.productlist = component.data && component.data.values;\r\n this.productFieldLabel = component.data && component.data.label;\r\n\r\n this.productFieldObserverService.updateProductLists(this.productlist);\r\n this.productFieldObserverService.updateProductFieldLabel(\r\n this.productFieldLabel\r\n );\r\n }\r\n\r\n updateValue(payload: object) {\r\n this.value = payload; // Should be updated first\r\n this.valueChange.emit(payload); // Should be called after this.value update\r\n }\r\n\r\n toggleProduct(e: any, product: any) {\r\n let checkbox = e.target;\r\n product.newkey =\r\n product.key + ' - $' + parseFloat(product.price).toFixed(2);\r\n\r\n if (checkbox.checked) {\r\n this.selectedProducts.push({\r\n value: product.value,\r\n key: product.key,\r\n price: product.price,\r\n });\r\n this.selectedProductNames.push(product.newkey);\r\n this.grandtotal += parseFloat(product.price);\r\n } else {\r\n this.selectedProducts = this.selectedProducts.filter((item) => {\r\n return item.key !== product.key;\r\n });\r\n\r\n this.selectedProductNames = this.selectedProductNames.filter((item) => {\r\n return item !== product.newkey;\r\n });\r\n\r\n this.grandtotal -= parseFloat(product.price);\r\n }\r\n\r\n this.constructproductNames(this.selectedProductNames);\r\n this.updateValue({\r\n label: this.productFieldLabel,\r\n amount: this.grandtotal,\r\n selectedProducts: this.selectedProducts,\r\n });\r\n }\r\n\r\n constructproductNames(selectedProductNames?: any) {\r\n let hasPreviousSelection = this.ProductIds && this.ProductIds.length > 0;\r\n let selectedProducts = hasPreviousSelection\r\n ? this.products\r\n .filter((item) => {\r\n return this.ProductIds.some((product) => {\r\n return product === item.key;\r\n });\r\n })\r\n .map((result) => {\r\n return result.key;\r\n })\r\n : [];\r\n\r\n if (selectedProductNames && selectedProductNames.length > 0) {\r\n selectedProducts = selectedProductNames;\r\n }\r\n\r\n // this.productNames =\r\n // selectedProducts.length > 2\r\n // ? selectedProducts.slice(0, 2).join(', ') + ' + '\r\n // : selectedProducts.join(', ');\r\n\r\n this.productNames =\r\n selectedProducts.length < 1\r\n ? selectedProducts.slice(0, 2).join('\\r\\n') + ' + '\r\n : selectedProducts.join('\\r\\n');\r\n this.productNames = selectedProducts.length === 0 ? '' : this.productNames; // clear if length is zero\r\n\r\n this.productCount = selectedProducts.length;\r\n }\r\n}\r\n","
\r\n
    \r\n
  • \r\n \r\n {{\r\n productFieldLabel ? productFieldLabel : \"Select Product\"\r\n }}\r\n
    \r\n 0\">Selected Item: {{ productCount }}\r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n {{ item.key }} - {{ item.price | currency }}\r\n \r\n \r\n
\r\n \r\n \r\n\r\n\r\n
\r\n {{ productNames }}\r\n
","import {\r\n Component,\r\n EventEmitter,\r\n Inject,\r\n Input,\r\n Output,\r\n AfterViewInit,\r\n ElementRef,\r\n} from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { FormioCustomComponent } from 'angular-formio';\r\nimport { FormObserverService } from '../../../../services/form-observer.service';\r\nimport { RecaptchaService } from '../../../../services/recaptcha.service';\r\nimport { RecaptchaModel } from '../../../../models/recaptcha.model';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-recaptcha-v3',\r\n templateUrl: './recaptcha-v3.component.html',\r\n styleUrls: ['./recaptcha-v3.component.scss'],\r\n})\r\n\r\n//TODO: Will be using a generic class name such as Captcha to handle the hcaptcha as well\r\nexport class RecaptchaV3Component\r\n implements FormioCustomComponent, AfterViewInit\r\n{\r\n @Input() value: object;\r\n @Output() valueChange = new EventEmitter();\r\n @Input() disabled: boolean;\r\n\r\n recaptcha: RecaptchaModel;\r\n isEmbed: boolean = true;\r\n apiKeyId: string;\r\n captchaKey: string;\r\n captchaType: string;\r\n hcaptcha: any;\r\n hcaptchaWidgetId: any;\r\n hcaptchaToken: string;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document,\r\n private elementRef: ElementRef,\r\n private formObserverService: FormObserverService,\r\n private apiKeyService: RecaptchaService,\r\n private router: Router\r\n ) {\r\n this.recaptcha = new RecaptchaModel();\r\n }\r\n\r\n ngOnInit() {\r\n if (this.router.url.indexOf('portal/') !== -1) {\r\n return;\r\n }\r\n\r\n let type: string = this.formObserverService.castProperty(\r\n 'recaptcha-v3',\r\n 'customOptions.captchaType'\r\n );\r\n\r\n this.captchaType = type || 'reCaptcha';\r\n }\r\n\r\n public executeImportantAction(): void {\r\n if (!this.recaptcha.SiteKey) {\r\n this.formObserverService.setRecaptchaResponse({\r\n valid: true,\r\n configError: true,\r\n });\r\n return;\r\n }\r\n\r\n if (this.captchaType === 'hCaptcha') {\r\n if (this.hcaptchaToken === undefined) {\r\n const self = this;\r\n this.hcaptcha\r\n .execute(this.hcaptchaWidgetId, { async: true })\r\n .then(({ response, key }) => {\r\n self.handlehcaptchaToken(response);\r\n self.hcaptchaToken = response;\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n self.formObserverService.setRecaptchaResponse({ valid: false });\r\n });\r\n }\r\n } else {\r\n const grecaptcha = (window as any).grecaptcha;\r\n const self = this;\r\n\r\n grecaptcha.ready(function () {\r\n try {\r\n grecaptcha\r\n .execute(self.recaptcha.SiteKey, { action: 'form_submit' })\r\n .then(\r\n function (token) {\r\n self.handleRecaptchaToken(token);\r\n },\r\n (err) => {\r\n console.log(err);\r\n self.formObserverService.setRecaptchaResponse({ valid: false });\r\n }\r\n );\r\n } catch (e) {\r\n console.log(e);\r\n self.formObserverService.setRecaptchaResponse({ valid: false });\r\n }\r\n });\r\n }\r\n }\r\n\r\n handleRecaptchaToken(token): void {\r\n // API CALL\r\n this.apiKeyService.validateRecaptcha(this.recaptcha.Id, token).subscribe(\r\n (res) => {\r\n this.formObserverService.setRecaptchaResponse({\r\n valid: res,\r\n token: token,\r\n });\r\n },\r\n (error: any) => {\r\n this.formObserverService.setRecaptchaResponse({\r\n valid: false,\r\n token: token,\r\n });\r\n }\r\n );\r\n }\r\n\r\n handlehcaptchaToken(token): void {\r\n this.formObserverService.setRecaptchaResponse({\r\n apiKeyId: this.recaptcha.Id,\r\n token: token,\r\n });\r\n }\r\n\r\n // Added added the Google recaptcha via