{"version":3,"file":"main.js","mappings":"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","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/core/core.module.ts","./src/app/core/services/app-config.service.ts","./src/app/core/services/constants.service.ts","./src/app/core/services/helper.service.ts","./src/app/core/services/local-storage.service.ts","./src/app/core/services/logger.service.ts","./src/app/core/services/script.service.ts","./src/app/core/validators/text-validators.ts","./src/app/data/data.module.ts","./src/app/data/services/appeal-code.service.ts","./src/app/data/services/country.service.ts","./src/app/data/services/designation.service.ts","./src/app/data/services/donation.service.ts","./src/app/data/services/donor.service.ts","./src/app/data/services/gift.service.ts","./src/app/data/services/payroll-deduction.service.ts","./src/app/data/services/recaptcha.service.ts","./src/app/data/services/search.service.ts","./src/app/data/services/sso-user.service.ts","./src/app/data/services/unified-checkout.service.ts","./src/app/features/acknowledgee/acknowledgee.component.ts","./src/app/features/acknowledgee/acknowledgee.component.html","./src/app/features/address/address.component.ts","./src/app/features/address/address.component.html","./src/app/features/appeal-code/appeal-code.component.ts","./src/app/features/appeal-code/appeal-code.component.html","./src/app/features/confirmation/confirmation.component.ts","./src/app/features/confirmation/confirmation.component.html","./src/app/features/direct-link/direct-link.component.ts","./src/app/features/direct-link/direct-link.component.html","./src/app/features/features.module.ts","./src/app/features/footer/footer.component.ts","./src/app/features/footer/footer.component.html","./src/app/features/fund-description/fund-description.component.ts","./src/app/features/fund-description/fund-description.component.html","./src/app/features/fund-search/fund-search.component.ts","./src/app/features/fund-search/fund-search.component.html","./src/app/features/gift-add-referral/gift-add-referral.component.ts","./src/app/features/gift-add-referral/gift-add-referral.component.html","./src/app/features/gift-add/gift-add.component.ts","./src/app/features/gift-add/gift-add.component.html","./src/app/features/gift-amount/gift-amount.component.ts","./src/app/features/gift-amount/gift-amount.component.html","./src/app/features/gift-edit/gift-edit.component.ts","./src/app/features/gift-edit/gift-edit.component.html","./src/app/features/gift-list/gift-list.component.ts","./src/app/features/gift-list/gift-list.component.html","./src/app/features/gift-review/gift-review.component.ts","./src/app/features/gift-review/gift-review.component.html","./src/app/features/link-generator/link-generator.component.ts","./src/app/features/link-generator/link-generator.component.html","./src/app/features/matching-gift/matching-gift-search/matching-gift-search.component.ts","./src/app/features/matching-gift/matching-gift-search/matching-gift-search.component.html","./src/app/features/matching-gift/matching-gift.component.ts","./src/app/features/matching-gift/matching-gift.component.html","./src/app/features/payroll-deduction/payroll-deduction.component.ts","./src/app/features/payroll-deduction/payroll-deduction.component.html","./src/app/features/recurrence/recurrence.component.ts","./src/app/features/recurrence/recurrence.component.html","./src/app/features/select-gift-type/select-gift-type.component.ts","./src/app/features/select-gift-type/select-gift-type.component.html","./src/app/features/select-payment-type/select-payment-type.component.ts","./src/app/features/select-payment-type/select-payment-type.component.html","./src/app/features/tribute/tribute.component.ts","./src/app/features/tribute/tribute.component.html","./src/app/features/unified-checkout/unified-checkout.component.ts","./src/app/features/unified-checkout/unified-checkout.component.html","./src/app/features/your-info/your-info.component.ts","./src/app/features/your-info/your-info.component.html","./src/app/interfaces/blackbaud-donation/bb-acknowledgee.ts","./src/app/interfaces/donor.ts","./src/app/interfaces/enums/gift-type.enum.ts","./src/app/interfaces/enums/payment-type.enum.ts","./src/app/interfaces/enums/recurrence-type.enum.ts","./src/app/interfaces/interfaces.module.ts","./src/app/interfaces/state.ts","./src/app/shared/components/validation-failure/validation-failure.component.ts","./src/app/shared/interfaces/control-error.ts","./src/app/shared/shared.module.ts","./src/environments/environment.prod.ts","./src/main.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from \"@angular/router\";\nimport { YourInfoComponent } from \"@features/your-info/your-info.component\";\nimport { GiftReviewComponent } from \"@features//gift-review/gift-review.component\";\nimport { GiftAddComponent } from \"@features/gift-add/gift-add.component\";\nimport { ConfirmationComponent } from \"@features/confirmation/confirmation.component\";\nimport { PayrollDeductionComponent } from \"@features/payroll-deduction/payroll-deduction.component\";\nimport { MatchingGiftComponent } from \"@features/matching-gift/matching-gift.component\";\nimport { GiftAddReferralComponent } from \"@features/gift-add-referral/gift-add-referral.component\";\nimport { GiftEditComponent } from \"@features//gift-edit/gift-edit.component\";\nimport { LinkGeneratorComponent } from \"@features/link-generator/link-generator.component\";\n\nconst routes: Routes = [\n { path: \"confirmation/:t\", component: ConfirmationComponent },\n { path: \"confirmation\", component: ConfirmationComponent },\n { path: \"payrollsubmitted\", component: ConfirmationComponent },\n { path: 'payrollconfirmation', component: PayrollDeductionComponent },\n { path: 'review', component: GiftReviewComponent },\n { path: 'your-info', component: YourInfoComponent },\n { path: \"edit-gift/:id\", component: GiftEditComponent },\n { path: \"add-gift/:appealId\", component: GiftAddComponent },\n { path: \"add-gift\", component: GiftAddComponent },\n { path: \"gift-referral/:id/:appealId\", component: GiftAddReferralComponent },\n { path: \"gift-referral/:id\", component: GiftAddReferralComponent },\n { path: \"matching-gift\", component: MatchingGiftComponent },\n { path: \"link-generator\", component: LinkGeneratorComponent },\n { path: '', component: GiftReviewComponent },\n { path: '**', component: GiftReviewComponent }\n ];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, {})],\n exports: [RouterModule]\n})\n\nexport class AppRoutingModule {\n}\n","import { Component, OnInit, HostListener, ElementRef } from '@angular/core';\nimport { NgxSpinnerService } from \"ngx-spinner\";\n\nimport { HelperService } from \"@core/services/helper.service\";\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styles: [],\n standalone: false\n})\nexport class AppComponent {\n title = 'app';\n showToTop: boolean = false;\n stickToFooter: boolean = false;\n topPosToStartShowing = 100;\n\n bottom: number;\n\n constructor(private spinnerService: NgxSpinnerService) { }\n\n @HostListener(\"window:scroll\")\n checkScroll() {\n const scrollPosition = window.pageYOffset;\n const footerTop = document.getElementById(\"footer\").offsetTop;\n\n this.showToTop = (scrollPosition >= this.topPosToStartShowing);\n this.stickToFooter = (scrollPosition + window.innerHeight >= footerTop);\n\n if (this.stickToFooter) {\n this.bottom = scrollPosition + window.innerHeight - footerTop;\n } else {\n this.bottom = 0;\n }\n\n }\n\n goToTop(): void {HelperService.goToTop();}\n\n ngOnInit(): void {\n // this.openSnackbar();\n }\n\n}\n","\n\n
\n \n \n

Loading

\n
\n \n
\n\n\n\n","\nimport { NgModule, APP_INITIALIZER } from '@angular/core';\n\nimport { TitleCasePipe } from \"@angular/common\";\nimport { AppComponent } from './app.component';\nimport { SharedModule } from \"@shared/shared.module\";\n\nimport {NgxMaskDirective, provideNgxMask} from \"ngx-mask\";\nimport { NgxSpinnerModule } from \"ngx-spinner\";\nimport { LoggerModule, NgxLoggerLevel } from \"ngx-logger\";\n\nimport { AppConfigService } from \"@core/services/app-config.service\";\nimport {DataModule} from \"@app/data/data.module\";\nimport { InterfacesModule } from '@interfaces/interfaces.module';\nimport {FeaturesModule} from \"@app/features/features.module\";\nimport {CoreModule} from \"@app/core/core.module\";\nimport {NgxCaptchaModule} from \"ngx-captcha\";\n\nexport function appConfigFactory(provider: AppConfigService) {\n return () => provider.loadSettings();\n}\n@\nNgModule({\n declarations: [\n AppComponent,\n\n ],\n imports: [\n\n NgxSpinnerModule,\n LoggerModule.forRoot({level: NgxLoggerLevel.TRACE}),\n SharedModule,\n DataModule,\n CoreModule,\n InterfacesModule,\n FeaturesModule,\n NgxMaskDirective,\n NgxCaptchaModule\n\n ],\n providers: [\n [TitleCasePipe],\n {\n provide: APP_INITIALIZER,\n useFactory: appConfigFactory,\n deps: [AppConfigService],\n multi: true\n },\n provideNgxMask()\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule\n ]\n})\nexport class CoreModule { }\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { IAppConfig } from \"@core/interfaces/app-config\";\nimport { Observable, throwError } from 'rxjs';\nimport { catchError, tap } from 'rxjs/operators';\nimport { environment } from \"../../../environments/environment\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AppConfigService {\n config!: IAppConfig;\n constructor(private readonly httpClient: HttpClient) { }\n\n loadSettings(): Observable {\n let jsonFile: string;\n const configFileName = environment.name === 'dev' ? \"config.dev.json\" : \"config.deploy.json\";\n\n // HACK: find a cleaner way to do this rather than a relative path\n jsonFile = `../bundles/assets/config/${configFileName}`;\n\n return this.httpClient.get(jsonFile)\n .pipe(tap(data => {this.config = data;}),\n catchError(err => this.handleError(err)));\n\n }\n\n\n private handleError(err: HttpErrorResponse) {\n let errorMessage = '';\n\n if (err.error instanceof ErrorEvent) {\n errorMessage = `An error occurred: ${err.error.message}`;\n } else {\n errorMessage = `Server returned code: ${err.status}, error message is: ${err.message}`;\n }\n return throwError(errorMessage);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { State } from '@interfaces/state';\nimport { HttpHeaders } from \"@angular/common/http\";\nimport {AppConfigService} from \"@core/services/app-config.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ConstantsService {\n\n constructor(private readonly appConfigService: AppConfigService) { }\n\n static readonly httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n })\n };\n\n /**\n * GiftType Options\n */\n static readonly espiGiftTypeNewGift: string = \"2c89009e-4f48-48b8-9643-513ae330df17\";\n static readonly espiGiftTypePledge: string = \"988c5423-50a5-4b51-b78a-4f048f907a4d\";\n static readonly espiGiftTypeRecurring: string = \"ddff24b5-fa15-430c-8910-11cecd325c8b\";\n\n /**\n * Attribute Codes\n */\n static readonly espiGiftInstructionsAttributeCode: string = \"39048B32-ECBE-45FE-B56F-436BA0C3D962\";\n static readonly espiGiftTypeAttributeCode: string = \"6EBD0189-7718-4EE0-91D4-39DF28167B47\";\n static readonly espiRecurringAttributeCode: string = \"5FDA9BAF-06D3-44B2-B2D3-0FF797C4A8D1\";\n\n\n /**\n * Error messages\n */\n static readonly noGiftsInCart: string = \"No gifts found\";\n static readonly maxLengthMessage: string = \"Max length\";\n static readonly invalidCharactersMessage: string = \"Invalid characters\";\n\n /**\n * Browser functionality\n */\n static readonly isIe = /msie\\s|trident\\//i.test(window.navigator.userAgent);\n\n /**\n * Page Title Prefix\n */\n static readonly pageTitle = \"Give to UC San Diego | \";\n\n /**\n * Postal Code Value for no postal code\n */\n static readonly noPostalCodeVal = \"Do Not Use\";\n\n /**\n * State Value for no State/Province\n */\n static readonly noStateObj = new State(\"00000000-0000-0000-0000-000000000000\", \"No State\", \"XX\", \"\");\n\n static readonly unitedStatesGuid: string = \"70fa9361-547e-4c98-a3cf-f655d36f8ecf\";\n\n /**\n * Tribute text values\n */\n static readonly inHonorText = \"in honor of\";\n static readonly inMemoryText = \"in memory of\";\n\n /**\n * Field character limits\n */\n static readonly attributeTextLength: number = 255;\n static readonly cityCharacterLimit: number = 50;\n static readonly addressLinesCharacterLimit: number = 60;\n\n static readonly firstNameCharacterLimit: number = 30;\n static readonly lastNameCharacterLimit: number = 60;\n\n /**\n * Alert messages\n */\n static readonly processingErrorMessage: string = \"An error occurred processing your request. Please contact Gift Processing at 858-246-1090 to continue your donation.\";\n\n static readonly defaultSpinnerOptions: Object = {\n type: \"ball-atom\",\n size: \"medium\",\n bdColor: \"rgba(51, 51, 51, 0.8)\",\n color: \"white\",\n fullScreen: true\n };\n\n /*\n * Local Storage Keys\n * */\n // HACK: This is set from the config, but it is being accessed before the config is loaded so a default value is set\n localExpirySeconds: number = this.appConfigService.config.localStorage.expirySeconds;\n static readonly localExpiryKey: string = \"expiry\";\n static readonly localPaymentTypeKey: string = \"paymentType\";\n static readonly localGiftTypeKey: string = \"giftType\";\n static readonly localRecurrenceKey: string = \"recurrence\";\n static readonly localDonationIdKey: string = \"donationId\";\n static readonly localCommentsKey: string = \"comments\";\n static readonly localIsAnonymousKey: string = \"isAnonymous\";\n static readonly localTributeKey: string = \"tribute\";\n static readonly localAcknowledgeeKey: string = \"acknowledgee\";\n static readonly localDonorKey: string = \"donor\";\n static readonly localIsCorporateKey: string = \"isCorporate\";\n static readonly localGiftsKey: string = \"gifts\";\n static readonly localCountriesKey: string = \"countries\";\n static readonly localCountryKey: string = \"country\";\n\n /**\n * ReCaptcha Configs\n * */\n recaptchaSiteKey: string = this.appConfigService.config.recaptcha.siteKey;\n recaptchaThreshold: number = this.appConfigService.config.recaptcha.threshold;\n\n}\n","import { Injectable } from '@angular/core';\nimport { ValidationErrors, UntypedFormGroup } from '@angular/forms';\nimport { TitleCasePipe } from \"@angular/common\";\n\nimport { ControlError } from \"@shared/interfaces/control-error\";\nimport { LoggerService } from \"@core/services/logger.service\";\n@Injectable({\n providedIn: 'root'\n})\nexport class HelperService {\n\n constructor(private readonly titleCase: TitleCasePipe,\n private readonly logger: LoggerService) {\n }\n\n getFormValidationErrors(form: UntypedFormGroup): ControlError[] {\n this.logger.debug('helper.service.getFormValidationErrors');\n let errors: ControlError[] = [];\n\n Object.keys(form.controls).forEach(key => {\n const controlErrors: ValidationErrors = form.get(key).errors;\n\n if (controlErrors) {\n Object.keys(controlErrors).forEach(keyError => {\n this.logger.trace(\"helper.service.getFormValidationErrors | Control\", key);\n this.logger.trace(\"helper.service.getFormValidationErrors | Error key: \", keyError);\n this.logger.trace(\"helper.service.getFormValidationErrors | Error value: \", controlErrors[keyError]);\n let errorVal: string;\n switch (keyError) {\n case \"min\": {\n errorVal = controlErrors[keyError].min;\n break;\n }\n case \"maxlength\": {\n // If it is a max length error, retrieve the max length and add it to the error message\n this.logger.debug(`helper.service.getFormValidationErrors | Max length error`);\n let maxLengthError = controlErrors[keyError];\n let maxLength = maxLengthError[\"requiredLength\"];\n this.logger.trace(`helper.service.getFormValidationErrors | Max length: ${maxLength}`);\n this.logger.trace(`helper.service.getFormValidationErrors | Actual length: ${maxLengthError[\"actualLength\"]}`);\n errorVal = `Max Length is ${maxLength}`;\n break;\n }\n default: {\n errorVal = controlErrors[keyError];\n }\n }\n errors.push(new ControlError(this.titleCase.transform(key), keyError, errorVal));\n });\n }\n });\n\n return errors;\n\n }\n\n /** Scrolls to the top of the page */\n static goToTop(): void {\n window.scroll({ top: 0, left: 0, behavior: \"smooth\" });\n }\n\n\n}\n","import { Injectable } from '@angular/core';\nimport {LoggerService} from \"@core/services/logger.service\";\nimport {ConstantsService} from \"@core/services/constants.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LocalStorageService {\n\n constructor(private readonly logger: LoggerService,\n private readonly constants: ConstantsService) { }\n\n // Get a value from local storage\n getItem(key: string): T {\n this.logger.trace(`localStorage.getItem(${key})`);\n\n // Check expiry before getting value\n this.checkExpiry();\n\n const value = localStorage.getItem(key);\n this.logger.trace(`localStorage.getItem | Value: ${value}`);\n if (!value || value === 'undefined'){\n return undefined\n } else {\n const result = JSON.parse(value) as T;\n this.logger.trace(`localStorage.getItem | Result: `, result);\n return result;\n }\n\n }\n\n // Set a value in local storage\n setItem(key: string, value: T): void {\n this.logger.trace(`localStorage.setItem | Key: ${key} | Value: ${JSON.stringify(value)}`);\n\n if (!value) {\n this.logger.trace(`localStorage.setItem | Value is null. Setting to null.`);\n localStorage.setItem(key, null);\n }\n\n localStorage.setItem(key, JSON.stringify(value));\n\n // check total local storage size\n this.logger.trace(`localStorage size: ${JSON.stringify(localStorage).length / 1024 * 2} KB`);\n\n }\n\n // Remove a value from local storage\n removeItem(key: string): void {\n this.logger.trace(`localStorage.removeItem | Key: ${key}`);\n localStorage.removeItem(key);\n }\n\n // Clear all values from local storage\n clear(): void {\n this.logger.trace(`localStorage.clear()`);\n localStorage.clear();\n }\n\n checkExpiry(): void {\n // Check if an expiry value is set\n const expiryString = localStorage.getItem(ConstantsService.localExpiryKey);\n this.logger.trace(`local-storage.service.checkExpiry | Expiry: ${expiryString}`)\n if (expiryString){\n const expiry = new Date(expiryString);\n\n if (expiry) {\n // Check if the expiry date has passed\n const now = new Date(Date.now());\n this.logger.trace(`local-storage.service.checkExpiry | Expiry: ${expiry} | Now: ${now}`)\n if (expiry < now) {\n this.logger.trace(`local-storage.service.checkExpiry | Expiry has passed. Clear all values.`);\n // Clear all values\n this.clear();\n }\n }\n\n }\n // Set expiry\n let expiryDate = new Date();\n const expirySeconds = this.constants.localExpirySeconds;\n this.logger.trace(`local-storage.service.checkExpiry | Expiry Seconds: ${expirySeconds}`)\n expiryDate = new Date(expiryDate.getTime() + (expirySeconds * 1000));\n\n this.setItem(ConstantsService.localExpiryKey, expiryDate.toLocaleString());\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { NGXLogger, NgxLoggerLevel } from \"ngx-logger\";\nimport { AppConfigService } from \"@core/services/app-config.service\";\nimport { IAppConfig } from \"@core/interfaces/app-config\";\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LoggerService {\n\n private apiUrl: string;\n private isSet: boolean = false;\n\n constructor(private logger: NGXLogger,\n private appConfigService: AppConfigService) {\n this.updateLoggerSettings(this.appConfigService.config)\n }\n\n private updateLoggerSettings(settings: IAppConfig) {\n\n const localLogLevel = NgxLoggerLevel[settings.logging.localLogLevel];\n const serverLogLevel = NgxLoggerLevel[settings.logging.serverLogLevel];\n this.apiUrl = settings.logging.logServerUrl;\n\n // Ger current config and check it against settings before updating\n let config = this.logger.getConfigSnapshot();\n if (config.serverLogLevel !== serverLogLevel ||\n config.level !== localLogLevel ||\n config.serverLoggingUrl !== this.apiUrl) {\n\n this.logger.info(\"logger.service.updateLoggerSettings | Update Logger settings\");\n this.logger.updateConfig({\n level: localLogLevel,\n serverLogLevel: serverLogLevel,\n serverLoggingUrl: this.apiUrl\n });\n\n this.isSet = true;\n\n this.logger.info(`logger.service.updateLoggerSettings | Local Log Level: ${localLogLevel}`);\n this.logger.info(`logger.service.updateLoggerSettings | Server Log Level: ${serverLogLevel}`);\n this.logger.info(`logger.service.updateLoggerSettings | Log API: ${this.apiUrl}`);\n } else {\n this.logger.info(\"logger.service.updateLoggerSettings | No changes to logger detected\");\n }\n\n }\n\n public async loggerReady(): Promise {\n try {\n this.logger.info(`logger.service.loggerReady | Logger Ready: ${this.isSet}`);\n // If the logger is not setup yet attempt to set it up now\n if (!this.isSet) {\n this.updateLoggerSettings(this.appConfigService.config);\n this.logger.info(`logger.service.loggerReady | Logger Ready: ${this.isSet}`);\n }\n return this.isSet;\n } catch (error) {\n this.logger.error(`logger.service.loggerReady | Error in Logger Ready: ${error}`);\n throw error;\n }\n }\n\n /**\n * Creates a string out of message to be logged and a stringified object\n * @param msg Message to be logged\n */\n private getMessage(msg: string, obj?: any): string {\n // HACK: Find a way to include object even if null/undefined if it is actually passed vs just not passed\n return `${msg} ${(obj) ? JSON.stringify(obj): \"\"}`;\n }\n\n trace(msg: string, obj?: any): void {\n this.logger.trace(this.getMessage(msg, obj));\n }\n debug(msg: string, obj?: any): void {\n this.logger.debug(this.getMessage(msg, obj));\n }\n\n\n info(msg: string, obj?: any): void {\n this.logger.info(this.getMessage(msg, obj));\n }\n\n error(msg: string, obj?: any): void {\n this.logger.error(this.getMessage(msg, obj));\n }\n\n fatal(msg: string, obj?: any): void {\n this.logger.fatal(this.getMessage(msg, obj));\n }\n\n\n}\n","import {Inject, Injectable, Renderer2} from '@angular/core';\nimport {DOCUMENT} from \"@angular/common\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ScriptService {\n\n constructor(\n @Inject(DOCUMENT) private document: Document\n ) { }\n\n loadScript(renderer: Renderer2, src: string): HTMLScriptElement {\n const script = renderer.createElement('script');\n script.type = 'text/javascript';\n script.src = src;\n renderer.appendChild(this.document.body, script);\n return script;\n }\n}\n","import {AbstractControl, ValidatorFn} from \"@angular/forms\";\n\nexport class TextValidators {\n\n /** Checks for special characters and returns invalidCharacters error if any are found\n * \"-\" and ' are allowed\n *\n * @example\n * firstName = new FormControl('', [TextValidators.exludeSpecialCharacters()]);\n *\n * */\n static exludeSpecialCharacters(): ValidatorFn {\n return (control: AbstractControl): {invalidCharacters: \"Field contains invalid characters\"} | null => {\n if (!control.value){\n return null;\n }\n\n const regex = new RegExp(/^[a-zA-Z0-9-' ]+$/);\n const valid = regex.test(control.value);\n return valid ? null : { invalidCharacters: \"Field contains invalid characters\" };\n };\n }\n\n /** Checks for special characters using custom provided regex and returns invalidCharacters error if any are found\n *\n * @param regex Regular expression of valid characters\n * @example\n * const regex = new RegExp(/^[a-zA-Z0-9-' ]+$/);\n * firstName = new FormControl('', [TextValidators.exludeCustomSpecialCharacters(regex)]);\n *\n * */\n static exludeCustomSpecialCharacters(regex: RegExp): ValidatorFn {\n return (control: AbstractControl): {invalidCharacters: \"Field contains invalid characters\"} | null => {\n if (!control.value){\n return null;\n }\n const valid = regex.test(control.value);\n return valid ? null : {invalidCharacters: \"Field contains invalid characters\"};\n };\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule\n ]\n})\nexport class DataModule { }\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { throwError } from 'rxjs';\nimport { catchError, tap } from 'rxjs/operators';\nimport { AppConfigService } from \"@core/services/app-config.service\"\nimport { LoggerService } from \"@core/services/logger.service\"\nimport { IAppealCode } from \"@interfaces/appeal-code\";\nimport {ConstantsService} from \"@core/services/constants.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AppealCodeService {\n constructor(private readonly http: HttpClient,\n private readonly appConfigService: AppConfigService,\n private readonly logger: LoggerService) { }\n\n private apiUrl: string = this.appConfigService.config.webApi.url + \"/appealcode\";\n\n\n /**\n * Retrieve appeal codes from web api\n */\n async getAppealCodes(): Promise {\n this.logger.debug('appeal-code.service.getAppealCodes');\n\n return this.http.get(this.apiUrl, ConstantsService.httpOptions).pipe(tap(data => {\n this.logger.trace('appeal-code.service.getAppealCodes | data: ', data);\n }), catchError(err => this.handleError(err))).toPromise();\n }\n\n private handleError(err: HttpErrorResponse) {\n let errorMessage = '';\n\n if (err.error instanceof ErrorEvent) {\n errorMessage = `An error occurred: ${err.error.message}`;\n } else {\n errorMessage = `Server returned code: ${err.status}, error message is: ${err.message}`;\n }\n\n this.logger.error(\"Http error: \", err);\n this.logger.error(errorMessage);\n\n return throwError(err);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { throwError } from 'rxjs';\nimport { catchError, tap } from 'rxjs/operators';\nimport { AppConfigService } from \"@core/services/app-config.service\";\nimport { LoggerService } from \"@core/services/logger.service\";\nimport { ICountry} from \"@interfaces/country\";\nimport { ICountryViewModel } from \"@interfaces/country-view-model\";\nimport {ConstantsService} from \"@core/services/constants.service\";\nimport {LocalStorageService} from \"@core/services/local-storage.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CountryService {\n constructor(private readonly http: HttpClient,\n private readonly appConfigService: AppConfigService,\n private readonly localStorage: LocalStorageService,\n private readonly logger: LoggerService) { }\n\n private countryApiUrl: string = this.appConfigService.config.webApi.url;\n\n /**\n * Get a list of countries from API\n */\n async getCountries(): Promise {\n this.logger.debug('country.service.getCountries');\n\n const countries = this.localStorage.getItem(ConstantsService.localCountriesKey);\n\n if (countries){\n this.logger.trace(`country.service | returning countries from local storage`)\n return countries;\n }\n\n return this.http.get(`${this.countryApiUrl}/country`)\n .pipe(tap(data => {\n this.logger.trace(\"countries.service | countries: \", data);\n this.localStorage.setItem(ConstantsService.localCountriesKey, data);\n }),\n catchError(err => this.handleError(err))\n ).toPromise();\n }\n\n /**\n * Retrieve a country view model containing a list of states, address\n * captions, and has state/zip information\n * @param id\n */\n async getCountry(id: string): Promise {\n this.logger.debug('country.service.getCountry | id: ', id);\n\n const country = this.localStorage.getItem(ConstantsService.localCountryKey);\n\n if (country?.country?.id === id){\n this.logger.trace(`country.service | returning country from local storage`)\n return country;\n }\n\n return this.http.get(`${this.countryApiUrl}/country/${id}`).pipe(tap(data => {\n this.logger.trace(`country.service.getCountry | data: `, data)\n this.localStorage.setItem(ConstantsService.localCountryKey, data);\n }), catchError(err => this.handleError(err))).toPromise();\n }\n\n\n private handleError(err: HttpErrorResponse) {\n let errorMessage = '';\n\n if (err.error instanceof ErrorEvent) {\n errorMessage = `An error occurred: ${err.error.message}`;\n } else {\n errorMessage = `Server returned code: ${err.status}, error message is: ${err.message}`;\n }\n\n this.logger.error(`HttpError`, err);\n return throwError(errorMessage);\n }\n\n}\n\n\n\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { AppConfigService } from \"@core/services/app-config.service\";\nimport { IDesignation } from \"@interfaces/designation\";\nimport { LoggerService } from \"@core/services/logger.service\";\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DesignationService {\n\n constructor(private readonly http: HttpClient,\n private readonly appConfigService: AppConfigService,\n private readonly logger: LoggerService) { }\n\n private designationApiUrl: string = this.appConfigService.config.webApi.url + \"/designation\";\n\n async getDesignation(id: string): Promise {\n this.logger.debug('designation.service.getDesignation | id: ', id);\n\n const options = { params: new HttpParams().set(\"id\", id) };\n return this.http.get(this.designationApiUrl, options).toPromise();\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport {BehaviorSubject} from 'rxjs';\nimport { tap } from 'rxjs/operators';\n\nimport { AppConfigService } from \"@core/services/app-config.service\";\nimport { ITribute } from \"@interfaces/tribute\";\nimport { IDonation, } from \"@interfaces/donation\";\nimport { IGift } from \"@interfaces/gift\";\nimport { GiftService } from \"@data/services/gift.service\";\nimport { GiftType } from \"@interfaces/enums/gift-type.enum\";\nimport { PaymentType } from \"@interfaces/enums/payment-type.enum\";\nimport { IBbRecurrence } from \"@interfaces/blackbaud-donation/bb-recurrence\";\nimport { RecurrenceType } from \"@interfaces/enums/recurrence-type.enum\"\nimport { Acknowledgee } from \"@interfaces/blackbaud-donation/bb-acknowledgee\";\nimport { ISsoUser } from \"@interfaces/sso-user\";\n\nimport { ConstantsService } from \"@core/services/constants.service\";\n\nimport { LoggerService } from \"@core/services/logger.service\";\nimport {LocalStorageService} from \"@core/services/local-storage.service\";\nimport {DonorService} from \"@data/services/donor.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DonationService {\n\n constructor(private httpClient: HttpClient,\n private readonly appConfigService: AppConfigService,\n private readonly giftService: GiftService,\n private readonly logger: LoggerService,\n private readonly localStorage: LocalStorageService,\n private readonly donorService: DonorService) { }\n\n private httpOptions: { headers: HttpHeaders } = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': 'Bearer ' + this.appConfigService.config.webApi.token\n })\n };\n\n token: string = this.appConfigService.config.webApi.token;\n\n private apiUrl: string = this.appConfigService.config.webApi.url;\n\n private _ssoUser: ISsoUser;\n get ssoUser(): ISsoUser {\n return this._ssoUser;\n }\n set ssoUser(value: ISsoUser) {\n this._ssoUser = value;\n }\n\n /** DO NOT read from tribute directly in html template. Subscribe to tribute$ subject and use a local variable */\n get tribute(): ITribute {\n return this.localStorage.getItem(ConstantsService.localTributeKey);\n }\n set tribute(value: ITribute) {\n this.localStorage.setItem(ConstantsService.localTributeKey, value);\n this.tribute$.next(value);\n }\n tribute$ = new BehaviorSubject(this.tribute);\n\n /** DO NOT read from giftType directly in html template. Subscribe to giftType$ subject and use a local variable */\n get giftType(): GiftType {\n return this.localStorage.getItem(ConstantsService.localGiftTypeKey);\n }\n set giftType(value: GiftType) {\n this.localStorage.setItem(ConstantsService.localGiftTypeKey, value);\n this.giftType$.next(value);\n }\n // add behavior subject to track changes to gift type\n giftType$ = new BehaviorSubject(this.giftType);\n\n\n /** DO NOT read from paymentType directly in html template. Subscribe to paymentType$ subject and use a local variable */\n get paymentType(): PaymentType {\n return this.localStorage.getItem(ConstantsService.localPaymentTypeKey);\n }\n set paymentType(value: PaymentType) {\n this.localStorage.setItem(ConstantsService.localPaymentTypeKey, value);\n this.paymentType$.next(value);\n }\n paymentType$ = new BehaviorSubject(this.paymentType);\n\n get recurrence(): IBbRecurrence {\n return this.localStorage.getItem(ConstantsService.localRecurrenceKey);\n }\n set recurrence(value: IBbRecurrence) {\n if (value?.startDate) {\n const startDate = new Date(value.startDate);\n value.dayOfMonth = startDate.getDate();\n }\n this.localStorage.setItem(ConstantsService.localRecurrenceKey, value);\n }\n\n /** DO NOT read from comments directly in html template. Subscribe to comments$ subject and use a local variable */\n get comments(): string {\n return this.localStorage.getItem(ConstantsService.localCommentsKey);\n }\n set comments(value: string) {\n this.localStorage.setItem(ConstantsService.localCommentsKey, value);\n this.comments$.next(value);\n }\n comments$ = new BehaviorSubject(this.comments);\n\n /** DO NOT read directly from acknowledgee in html template */\n get acknowledgee(): Acknowledgee {\n return this.localStorage.getItem(ConstantsService.localAcknowledgeeKey);\n }\n set acknowledgee(value: Acknowledgee) {\n this.localStorage.setItem(ConstantsService.localAcknowledgeeKey, value);\n }\n\n get donationId(): string {\n return this.localStorage.getItem(ConstantsService.localDonationIdKey);\n }\n set donationId(value: string) {\n this.localStorage.setItem(ConstantsService.localDonationIdKey, value);\n }\n\n processorTransactionId: string;\n\n /**\n * Create a non BBPS donation and sent to web api to commit to CRM\n * If we have an existing donation id, the api will update the existing record\n */\n async createOnlineGivingDonation(): Promise {\n this.logger.debug(`donation.service.createOnlineGivingDonation`);\n\n let donation = await this.generateBaseDonationObject();\n\n this.logger.trace(`donation.service.createOnlineGivingDonation | donation`, donation)\n\n // Add existing donation id\n donation.id = this.donationId;\n\n donation.donor = this.donorService.donor;\n\n // Get payment method\n donation.gift.paymentMethod = this.paymentType;\n\n if (donation.gift.designations.length === 0) {\n throw new Error(ConstantsService.noGiftsInCart);\n }\n\n this.logger.debug(\"donation.service.createOnlineGivingDonation | final donation: \", donation);\n\n this.logger.debug(`donation.service.createOnlineGivingDonation | apiUrl: ${this.apiUrl}`);\n\n const result = this.httpClient.post(this.apiUrl + \"/Donation\", donation, this.httpOptions).toPromise();\n\n this.logger.trace(`donation.service.createOnlineGivingDonation | result: `, result);\n\n return result;\n\n }\n\n /**\n * Complete a non BBPS donation and save processor transaction id\n */\n async completeOnlineGivingDonation(id: string, processorTransactionId: string): Promise {\n this.logger.debug(`donation.service.completeOnlineGivingDonation | id: ${id} | processorTransactionId: ${processorTransactionId}`);\n\n const url = `${this.apiUrl}/donation/completedonation/${id}/${processorTransactionId}`;\n const result = this.httpClient.post(url, \"\", this.httpOptions).toPromise();\n\n this.logger.trace(`donation.service.completeOnlineGivingDonation | result: `, result);\n\n return result;\n }\n\n /**\n * In the event of a failed transaction update the donation transaction status and failure data\n * @param id Id of failed transaction\n * @param failureData Processor response or error\n * @param processorTransactionId Processor transaction id\n */\n async updateOnlineGivingDonationWithFailure(id: string, failureData: string, processorTransactionId: string): Promise {\n this.logger.debug(`donation.service.updateOnlineGivingDonationWithFailure | id: ${id} | failureData: ${failureData} | processorTransactionId: ${processorTransactionId}`);\n\n const url = `${this.apiUrl}/donation/donationFailed`;\n\n let payload: any = {\n id: id,\n failureData: failureData,\n processorTransactionId: processorTransactionId\n };\n\n const result = this.httpClient.post(url, payload, this.httpOptions).toPromise();\n\n this.logger.trace(`donation.service.updateOnlineGivingDonationWithFailure | result: `, result);\n\n return result;\n }\n\n /**\n * Retrieve a donation stored in the Online Giving Donation Transactions (non BBPS donation)\n * @param id Donation ID\n */\n async getOnlineGivingDonation(id: string): Promise {\n this.logger.debug(`donation.service.getOnlineGivingDonation | id: ${id}`);\n\n const url = `${this.apiUrl}/donation/${id}`;\n\n return this.httpClient.get(url, this.httpOptions)\n .pipe(tap(data => this.logger.debug(\"donation.service.getOnlineGivingDonation | result: \", data)))\n .toPromise();\n\n }\n\n /**\n * Send an acknowledgement to the user\n * @param donation\n */\n async sendAcknowledgementWithDonation(donation: IDonation): Promise {\n this.logger.debug('donation.service.sendAcknowledgementWithDonation');\n this.logger.trace('donation.service.sendAcknowledgementWithDonation | donation: ', donation);\n\n const url: string = `${this.apiUrl}/Acknowledgement`;\n return this.httpClient.post(url, donation, this.httpOptions)\n .pipe(tap(data => this.logger.trace('donation.service.sendAcknowledgementWithDonation | result: ', data)))\n .toPromise();\n\n }\n\n /** Generate a donation object and call sendAcknowledgementWithDonation --*/\n async sendAcknowledgement(): Promise {\n this.logger.debug('donation.service.sendAcknowledgement');\n let donation = await this.generateBaseDonationObject();\n donation.donor = this.donorService.donor;\n this.logger.trace('donation.service.sendAcknowledgement | donation: ', donation);\n const result = this.sendAcknowledgementWithDonation(donation);\n this.logger.trace('donation.service.sendAcknowledgement | result: ', result);\n return result;\n }\n\n async generateBaseDonationObject(): Promise {\n this.logger.debug('donation.service.generateBaseDonationObject');\n let gifts: IGift[];\n let appealId: string;\n\n await this.giftService.getGifts().then().then(\n data => {\n this.logger.trace('donation.service.generateBaseDonationObject | gifts: ', data);\n gifts = data;\n });\n\n this.logger.debug('donation.service.generateBaseDonationObject | create designations');\n\n let designations = [];\n gifts.forEach(g => {\n designations.push({\n \"id\": g.designation.id,\n \"amount\": g.amount\n });\n // If there is an appeal id on the gift, capture it\n // There is only one appeal id per donation, so we'll take whatever one we find here\n if (g.appealId) {\n appealId = g.appealId;\n }\n this.logger.debug(\"donation.service.generateBaseDonationObject | appealId: \", appealId);\n });\n\n // Create donation object from Donor and gifts\n\n let donation: IDonation = {\n // Donor: donor,\n origin: {\n pageId: 624,\n appealId: appealId\n },\n gift: {\n isCorporate: this.donorService.isCorporate,\n isAnonymous: this.donorService.isAnonymous,\n paymentMethod: 0, // Credit Card\n designations: designations,\n attributes: [\n {\n attributeId: ConstantsService.espiGiftTypeAttributeCode, // ESPI Gift Type\n value: this.getGiftTypeId(this.giftType),\n },\n {\n attributeId: ConstantsService.espiRecurringAttributeCode, // Recurring\n value: (this.giftType === GiftType.Recurring) ? \"true\" : \"false\"\n }\n ],\n },\n\n };\n\n // Only add Recurrence object if one exists\n if (this.recurrence) {\n const recurrence = this.recurrence;\n\n this.logger.trace('donation.service | recurrence: ', recurrence);\n\n // Recreate the date object\n const startDate = new Date(recurrence.startDate);\n\n recurrence.startDate = startDate;\n this.recurrence.startDate = startDate;\n\n donation.gift.recurrence = recurrence;\n // If it is an annual gift set the month field\n this.logger.trace('donation.service | recurrence: ', recurrence);\n const frequency = Number(this.recurrence.frequency) as RecurrenceType;\n if (frequency === RecurrenceType.Annually) {\n donation.gift.recurrence.month = startDate.getMonth() + 1; // getMonth is 0 based\n }\n }\n\n let giftInstructions: string = \"\";\n\n // Add tribute if one was set and it is not a recurring gift\n if (this.tribute && !this.recurrence) {\n let tribute = this.tribute;\n\n this.logger.trace(`donation.service.generateBaseDonationObject | tribute: `, tribute);\n\n tribute.tributeDefinition.description = `${this.tribute.tributeDefinition.type} ${this.tribute.tributeDefinition.firstName} ${this.tribute.tributeDefinition.lastName}`\n\n this.tribute = tribute;\n donation.gift.tribute = tribute;\n\n this.logger.trace(`donation.service.generateBaseDonationObject | tribute: `, donation.gift.tribute);\n\n // Add acknowledgee if one was set\n if (this.acknowledgee?.firstName) {\n // HACK: Creating a new acknowledgee since the one returned from local storage is not a true object and we can't call methods on it\n // Method is just title casing some fields. should we just handle that here instead?\n const acknowledgee = new Acknowledgee(this.acknowledgee);\n this.logger.trace(\"donation.service.generateBaseDonationObject | acknowledgee \", acknowledgee.getBbAcknowledgee());\n donation.gift.tribute.acknowledgee = acknowledgee.getBbAcknowledgee();\n\n giftInstructions = `Ack: ${this.acknowledgee.firstName} ${this.acknowledgee.lastName} ${this.acknowledgee.addressLines} ${this.acknowledgee.state.abbreviation} ${this.acknowledgee.postalCode.replace(ConstantsService.noPostalCodeVal, \"\")}`;\n\n }\n // Add note to special instruction for gift processing when there is a tribute\n if (!this.comments) {\n this.comments = `See Tribute`;\n } else if (!this.comments.includes(\"See Tribute\")) {\n this.comments = `See Tribute | ${this.comments}`;\n }\n }\n\n // Add comments as ESPI Gift Instructions attribute\n if (this.comments) {\n // Trim comments to field limit (255)\n donation.gift.comments = this.comments.substring(0, ConstantsService.attributeTextLength);\n this.logger.debug(`donation.service | comments: ${this.comments}`);\n\n this.logger.debug(`donation.service | trimmedComments: ${donation.gift.comments}`);\n\n giftInstructions += `Donation Message: ${this.comments}`;\n }\n\n this.logger.debug(`donation.service | giftInstructions: `, giftInstructions);\n\n\n if (giftInstructions) {\n // Trim gift instructions to field limit (255)\n giftInstructions = giftInstructions.substring(0, ConstantsService.attributeTextLength);\n this.logger.debug('donation.service | Trimmed gift instructions: ', giftInstructions);\n\n donation.gift.attributes.push({ attributeId: ConstantsService.espiGiftInstructionsAttributeCode, value: giftInstructions });\n }\n\n // Determine merchant account to use\n donation.merchantAccountId = this.getMerchantId(gifts);\n\n return donation;\n }\n\n /** Inspects the gifts and determines which merchant account to use */\n getMerchantId(gifts: IGift[]): string {\n this.logger.debug('donation.service.getMerchantId');\n this.logger.trace('donation.service.getMerchantId | gifts', gifts);\n\n const foundationMerchantId:string = \"ucsdfdn\";\n const regentsMerchantId: string = \"ucsdreg\";\n\n let result: string = \"\";\n\n let foundation: boolean = false;\n let regents: boolean = false;\n\n // Loop through list of gifts and check if account number starts with f or r. If null default to F\n gifts.forEach(g => {\n let category = g.designation.purposeCategory || \"Foundation\";\n this.logger.debug('donation.service.getMerchantId | category: ', category)\n\n switch (category) {\n case \"Regents\":\n regents = true;\n break;\n case \"Foundation\": // Intentional fallthrough to default\n default:\n foundation = true;\n break;\n }\n });\n\n this.logger.debug('donation.service.getMerchantId | foundation: ', foundation)\n this.logger.debug('donation.service.getMerchantId | regents: ', regents)\n\n // Determine which merchant account.\n // Regents if Regents and only regents. Otherwise Foundation\n if (foundation) {\n result = foundationMerchantId;\n } else if (regents) {\n result = regentsMerchantId;\n } else {\n // Default to foundation\n result = foundationMerchantId;\n }\n\n this.logger.trace('donation.service.getMerchantId | result: ', result);\n\n return result;\n }\n\n getGiftTypeId(giftType: GiftType): string {\n this.logger.debug(`donation.service.getGiftTypeId giftType: ${giftType}`);\n let result = \"\";\n if (giftType === GiftType.PledgePayment) {\n result = ConstantsService.espiGiftTypePledge;\n } else if (giftType === GiftType.Recurring) {\n result = ConstantsService.espiGiftTypeRecurring;\n } else {\n result = ConstantsService.espiGiftTypeNewGift;\n }\n this.logger.trace(`donation.service.getGiftTypeId result: ${result}`);\n return result;\n }\n\n}\n\n","import { Injectable } from '@angular/core';\nimport {LoggerService} from \"@core/services/logger.service\";\nimport {LocalStorageService} from \"@core/services/local-storage.service\";\nimport {Donor} from \"@interfaces/donor\";\nimport {ConstantsService} from \"@core/services/constants.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DonorService {\n\n constructor(private readonly logger: LoggerService,\n private readonly localStorage: LocalStorageService) { }\n\n\n get donor(): Donor {\n return this.localStorage.getItem(ConstantsService.localDonorKey);\n }\n set donor(value: Donor) {\n this.localStorage.setItem(ConstantsService.localDonorKey, value);\n }\n\n get isCorporate(): boolean {\n return this.localStorage.getItem(ConstantsService.localIsCorporateKey);\n }\n set isCorporate(value: boolean) {\n this.localStorage.setItem(ConstantsService.localIsCorporateKey, value);\n }\n\n get isAnonymous(): boolean {\n return this.localStorage.getItem(ConstantsService.localIsAnonymousKey);\n }\n set isAnonymous(value: boolean) {\n this.localStorage.setItem(ConstantsService.localIsAnonymousKey, value);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { IGift } from \"@interfaces/gift\";\nimport { LoggerService } from \"@core/services/logger.service\";\nimport {LocalStorageService} from \"@core/services/local-storage.service\";\nimport {ConstantsService} from \"@core/services/constants.service\";\nimport {BehaviorSubject} from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GiftService {\n\n constructor(private readonly localStorage: LocalStorageService,\n private readonly logger: LoggerService) { }\n\n\n /** DO NOT read from this directly in HTML template. Subscribe to subject and set a local variable */\n get gifts(): IGift[] {\n return this.localStorage.getItem(ConstantsService.localGiftsKey)\n }\n set gifts(value: IGift[]) {\n this.localStorage.setItem(ConstantsService.localGiftsKey, value);\n }\n gifts$ = new BehaviorSubject(this.gifts);\n\n /** DO NOT read from giftTotal directly in html. Subscribe to subject and set a local variable */\n giftTotal(){\n let gifts = this.gifts;\n if (gifts == null) {\n return 0;\n }\n let total = 0;\n gifts.forEach(g => {\n total += g.amount;\n });\n return total\n }\n giftTotal$ = new BehaviorSubject(this.giftTotal());\n\n async getGifts(): Promise {\n this.logger.debug(`gift.service.getGifts`)\n return Promise.resolve(this.gifts);\n }\n\n async getGift(id: number): Promise {\n this.logger.debug(`gift.service.getGift: ${id}`)\n return new Promise(resolve => {\n const gift = this.gifts.find(g => g.id == id);\n this.logger.trace(`gift: `, gift);\n resolve(gift);\n });\n }\n\n async addGift(gift: IGift): Promise {\n this.logger.debug(`gift.service.addGift:`, gift.designation);\n let gifts = this.gifts;\n if (gifts == null) {\n this.logger.debug(\"gift.service.addGift | No gifts found, creating new array\");\n gifts = [];\n }\n // Get the next id\n let maxId = 0;\n gifts.forEach(g => {\n if (g.id > maxId) {\n maxId = g.id;\n }\n });\n gift.id = maxId + 1;\n\n gifts.push(gift);\n\n this.gifts = gifts;\n\n this.giftTotal$.next(this.giftTotal());\n\n return Promise.resolve(gift.id);\n\n }\n\n deleteGift(id: number): Promise {\n this.logger.debug(`gift.service.deleteGift: ${id}`);\n let gifts = this.gifts;\n if (gifts == null) {\n this.logger.debug(\"gift.service.deleteGift | No gifts found, nothing to delete\");\n return Promise.resolve(0);\n }\n const index = gifts.findIndex(g => g.id == id);\n if (index >= 0) {\n gifts.splice(index, 1);\n }\n this.gifts = gifts;\n\n this.giftTotal$.next(this.giftTotal());\n\n return Promise.resolve(id);\n\n }\n\n async editGift(gift: IGift): Promise {\n this.logger.debug(`gift.service.editGift: ${gift.id}`);\n let gifts = this.gifts;\n if (gifts == null) {\n this.logger.debug(\"gift.service.editGift | No gifts found, nothing to edit\");\n return Promise.resolve(0);\n }\n const index = gifts.findIndex(g => g.id == gift.id);\n if (index >= 0) {\n gifts[index] = gift;\n }\n this.gifts = gifts;\n\n this.giftTotal$.next(this.giftTotal());\n\n return Promise.resolve(gift.id);\n\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { tap } from 'rxjs/operators';\nimport { AppConfigService } from \"@core/services/app-config.service\";\n\nimport { LoggerService } from \"@core/services/logger.service\";\nimport {ConstantsService} from \"@core/services/constants.service\";\nimport {IGift} from \"@interfaces/gift\";\nimport {ISsoUser} from \"@interfaces/sso-user\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PayrollDeductionService {\n\n constructor(private readonly http: HttpClient,\n private readonly appConfigService: AppConfigService,\n private readonly logger: LoggerService) { }\n\n private apiUrl = this.appConfigService.config.webApi.url + \"/payrolldeduction\";\n\n async addPayrollDeduction(payrollCycle: string, gifts: IGift[], ssoUser: ISsoUser): Promise {\n this.logger.debug(`payroll-deduction.service.addPayrollDeduction | payrollCycle: ${payrollCycle} | gifts: ${gifts} | ssoUser: ${JSON.stringify(ssoUser)}`);\n\n const payrollDeduction = {\n payrollCycle: payrollCycle,\n gifts: gifts,\n ssoUser: ssoUser\n };\n\n this.logger.trace(\"payroll-deduction.service.addPayrollDeduction | payrollDeduction: \", payrollDeduction);\n\n return this.http.post(this.apiUrl, payrollDeduction, ConstantsService.httpOptions).pipe(\n tap(data => this.logger.trace(`payroll-deduction.service | results: `, data))).toPromise();\n\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport {LoggerService} from \"@core/services/logger.service\";\nimport { HttpClient, HttpErrorResponse, HttpParams } from \"@angular/common/http\";\nimport {IRecaptchaVerificationResponse} from \"@interfaces/recaptcha-verification-response\";\nimport {catchError, tap} from \"rxjs/operators\";\nimport {ConstantsService} from \"@core/services/constants.service\";\nimport {AppConfigService} from \"@core/services/app-config.service\";\nimport {throwError} from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RecaptchaService {\n\n constructor(private readonly logger: LoggerService,\n private readonly http: HttpClient,\n private appConfigService: AppConfigService,\n private readonly constants: ConstantsService) { }\n\n apiUrl: string = this.appConfigService.config.webApi.url + \"/recaptcha\";\n\n /**\n * Verify recaptcha token\n * @param token\n */\n async verifyRecaptcha(token: string): Promise {\n this.logger.debug(\"recaptcha.service.verifyRecaptcha\");\n this.logger.trace(`recaptcha.service.verifyRecaptcha | token: ${token}`);\n\n const url = `${this.apiUrl}/verify`;\n\n const payload = {\n token: token,\n siteKey: this.appConfigService.config.recaptcha.siteKey,\n // HACK: ngx-captcha does not support action on invisible recaptcha\n expectedAction: ''\n };\n\n this.logger.trace(`recaptcha.service.verifyRecaptcha | url: ${url}`);\n\n return this.http.post(url, payload, ConstantsService.httpOptions)\n .pipe(tap(data => {this.logger.trace('recaptcha.service.verifyRecaptcha | result: ', data)})\n , catchError(err => this.handleError(err)))\n .toPromise();\n }\n\n private handleError(err: HttpErrorResponse) {\n let errorMessage = '';\n\n if (err.error instanceof ErrorEvent) {\n errorMessage = `An error occurred: ${err.error.message}`;\n } else {\n errorMessage = `Server returned code: ${err.status}, error message is: ${err.message}`;\n }\n\n this.logger.error(`HttpError`, err);\n return throwError(errorMessage);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { AppConfigService } from \"@core/services/app-config.service\";\nimport { IDesignation } from \"@interfaces/designation\";\nimport { LoggerService } from \"@core/services/logger.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SearchService {\n constructor(private readonly http: HttpClient,\n private readonly appConfigService: AppConfigService,\n private readonly logger: LoggerService) { }\n\n private apiUrl: string = this.appConfigService.config.webApi.url + \"/fuzzysearch\";\n\n\n async fuzzySearch(searchStr: string): Promise {\n this.logger.debug('search.service.fuzzySearch | searchStr: ', searchStr);\n\n const options = { params: new HttpParams().set('id', searchStr) };\n\n return this.http.get(this.apiUrl, options).toPromise();\n\n }\n\n}\n","import { Injectable } from '@angular/core';\n\nimport { HttpClient } from \"@angular/common/http\";\n\nimport { AppConfigService } from \"@core/services/app-config.service\";\nimport { ISsoUser } from \"@interfaces/sso-user\";\nimport {LoggerService} from \"@core/services/logger.service\";\nimport {tap} from \"rxjs/operators\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SsoUserService {\n\n constructor(private readonly http: HttpClient,\n private readonly logger: LoggerService,\n private readonly appConfigService: AppConfigService) { }\n\n private apiUrl: string = this.appConfigService.config.webApi.url + \"/ssouser\";\n\n\n /**\n * Retrieve SSO User from API and return\n */\n async getSsoUser(): Promise {\n this.logger.debug('sso-user.service.getSsoUser');\n\n return this.http.get(this.apiUrl)\n .pipe(tap(data => {this.logger.trace('sso-user.service.getSsoUser | data: ', data)}))\n .toPromise();\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport {AppConfigService} from \"@core/services/app-config.service\";\nimport {LoggerService} from \"@core/services/logger.service\";\nimport {tap} from \"rxjs/operators\";\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\nimport {IAuthorizationResponse} from \"@interfaces/unified-checkout/authorization-response\";\nimport {Donor} from \"@interfaces/donor\";\nimport {IBbRecurrence} from \"@interfaces/blackbaud-donation/bb-recurrence\";\nimport {ICaptureContextResponse} from \"@interfaces/unified-checkout/capture-context-response\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UnifiedCheckoutService {\n\n constructor(private readonly logger: LoggerService,\n private readonly appConfigService: AppConfigService,\n private readonly http: HttpClient) { }\n\n apiUrl: string = this.appConfigService.config.webApi.url + \"/unifiedcheckout\";\n token: string = this.appConfigService.config.webApi.token;\n\n private httpOptions: { headers: HttpHeaders } = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': 'Bearer ' + this.appConfigService.config.webApi.token\n })\n };\n\n // Get capture context\n async getCaptureContext(merchantId: string,\n amount: string,\n streetAddress: string,\n city: string,\n state: string,\n country: string,\n postalCode: string,\n firstName: string,\n lastName: string,\n email: string,\n phone: string): Promise {\n\n this.logger.debug(`unifiedCheckoutService.getCaptureContext(${merchantId}, ${amount}, ${streetAddress}, ${city}, ${state}, ${country}, ${postalCode}, ${firstName}, ${lastName}, ${email}, ${phone}`);\n\n const payload = {\n merchantId: merchantId,\n amount: amount,\n streetAddress: streetAddress,\n city: city,\n state: state,\n country: country,\n postalCode: postalCode,\n firstName: firstName,\n lastName: lastName,\n email: email,\n phone: phone\n }\n\n this.logger.trace(`unifiedCheckoutService.getCaptureContext | httpOptions:`, this.httpOptions);\n\n return this.http.post(this.apiUrl + '/capturecontext', payload, this.httpOptions)\n .pipe(tap(data => this.logger.trace('unified-checkout.service.getCaptureContext | result: ', data)))\n .toPromise();\n\n }\n\n // Authorize Payment\n async authorizePayment(transientToken: string,\n merchantId: string,\n streetAddress: string,\n city: string,\n state: string,\n country: string,\n postalCode: string,\n firstName: string,\n lastName: string,\n email: string,\n phone: string): Promise {\n this.logger.debug(`unifiedCheckoutService.authorizePayment | transientToken: ${transientToken} | merchantId: ${merchantId} | streetAddress: ${streetAddress} | city: ${city} | state: ${state} | country: ${country} | postalCode: ${postalCode} | firstName: ${firstName} | lastName: ${lastName} | email: ${email} | phone: ${phone}`);\n\n const payload = {\n transientToken: transientToken,\n merchantId: merchantId,\n streetAddress: streetAddress,\n city: city,\n state: state,\n country: country,\n postalCode: postalCode,\n firstName: firstName,\n lastName: lastName,\n email: email,\n phone: phone\n }\n\n return this.http.post(this.apiUrl + '/authorizepayment', payload, this.httpOptions)\n .pipe(tap(data => this.logger.trace('unified-checkout.service.authorizePayment | data: ', data)))\n .toPromise();\n\n }\n\n // Create Customer Token\n async createToken(transientToken: string,\n merchantId: string,\n streetAddress: string,\n city: string,\n state: string,\n country: string,\n postalCode: string,\n firstName: string,\n lastName: string,\n email: string,\n phone: string): Promise {\n this.logger.debug(`unifiedCheckoutService.createToken | transientToken: ${transientToken} | merchantId: ${merchantId} | streetAddress: ${streetAddress} | city: ${city} | state: ${state} | country: ${country} | postalCode: ${postalCode} | firstName: ${firstName} | lastName: ${lastName} | email: ${email} | phone: ${phone}` );\n\n const payload = {\n merchantId: merchantId,\n transientToken: transientToken,\n streetAddress: streetAddress,\n city: city,\n state: state,\n country: country,\n postalCode: postalCode,\n firstName: firstName,\n lastName: lastName,\n email: email,\n phone: phone\n }\n\n return this.http.post(this.apiUrl + '/createToken', payload, this.httpOptions)\n .pipe(tap(data => this.logger.trace(\"unified-checkout.service.createToken | result:\", data)))\n .toPromise();\n\n\n }\n\n // Create Plan\n async createPlan(donor: Donor, amount: string, recurrence: IBbRecurrence, merchantId: string): Promise {\n this.logger.debug(`unified-checkout.service.createPlan | donor: ${JSON.stringify(donor)} | amount: ${amount} | recurrence: ${JSON.stringify(recurrence)} | merchantId: ${merchantId}`);\n\n const payload = {\n donor: donor,\n amount: amount,\n recurrence: recurrence,\n merchantId: merchantId\n }\n\n return this.http.post(this.apiUrl + '/createPlan', payload, this.httpOptions)\n .pipe(tap(data => this.logger.debug(\"unified-checkout.service.createPlan | result:\", data)))\n .toPromise();\n\n }\n\n // Create Subscription\n async createSubscription(customerToken: string, planId: string, donor: Donor, recurrence: IBbRecurrence, merchantId: string): Promise {\n this.logger.debug(`unifiedCheckoutService.createSubscription | customerToken: ${customerToken} | planId: ${planId} | donor: ${JSON.stringify(donor)} | recurrence: ${JSON.stringify(recurrence)} | merchantId: ${merchantId}`);\n\n const payload = {\n customerToken: customerToken,\n planId: planId,\n donor: donor,\n recurrence: recurrence,\n merchantId: merchantId\n }\n\n return this.http.post(this.apiUrl + '/createSubscription', payload, this.httpOptions)\n .pipe(tap(data => this.logger.debug(\"unified-checkout.service.createSubscription | result:\", data)))\n .toPromise();\n\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { UntypedFormGroup, UntypedFormBuilder, Validators } from \"@angular/forms\";\n\nimport { DonationService } from \"@data/services/donation.service\";\nimport { Acknowledgee } from \"@interfaces/blackbaud-donation/bb-acknowledgee\";\n\nimport { LoggerService } from \"@core/services/logger.service\";\nimport { ConstantsService } from \"@core/services/constants.service\";\nimport { TextValidators } from '@core/validators/text-validators';\n\n@Component({\n selector: 'app-acknowledgee',\n templateUrl: './acknowledgee.component.html',\n styleUrls: ['./acknowledgee.component.css'],\n providers: [LoggerService],\n standalone: false\n})\nexport class AcknowledgeeComponent implements OnInit {\n\n constructor(public readonly donationService: DonationService,\n private formBuilder: UntypedFormBuilder,\n private logger: LoggerService) {\n this.logger.debug(\"acknowledgee.component.constructor\");\n }\n\n isAcknowledgee: boolean = false;\n\n acknowledgeeForm: UntypedFormGroup;\n\n showAddress: boolean = false;\n\n public constants = ConstantsService;\n\n // Form fields\n get firstName() { return this.acknowledgeeForm.get(\"firstName\"); }\n get lastName() { return this.acknowledgeeForm.get(\"lastName\"); }\n\n\n\n /**\n * Watch for updates to the acknowledgee checkbox\n * @param event checkbox event\n */\n onIsAcknowledgeeChanged(event) {\n this.logger.debug('acknowledgee.component.onIsAcknowledgeeChanged | checked: ', event.checked);\n if (event.checked) {\n this.logger.debug(\"acknowledgee.component.onIsAcknowledgeeChanged | Acknowledgee: \", this.donationService.acknowledgee);\n this.showAddress = true;\n // Enable validators\n this.firstName.setValidators([Validators.required, Validators.maxLength(ConstantsService.firstNameCharacterLimit), TextValidators.exludeSpecialCharacters()]);\n this.lastName.setValidators([Validators.required, Validators.maxLength(ConstantsService.lastNameCharacterLimit), TextValidators.exludeSpecialCharacters()]);\n this.acknowledgeeForm.get(\"country\").setValidators([Validators.required]);\n this.acknowledgeeForm.get(\"addressLines\").setValidators([Validators.required, Validators.maxLength(ConstantsService.addressLinesCharacterLimit)]);\n this.acknowledgeeForm.get(\"city\").setValidators([Validators.required, Validators.maxLength(ConstantsService.cityCharacterLimit), TextValidators.exludeSpecialCharacters()]);\n this.acknowledgeeForm.get(\"state\").setValidators([Validators.required]);\n this.acknowledgeeForm.get(\"postalCode\").setValidators([Validators.required]);\n } else {\n // Disable validators\n this.logger.debug(\"acknowledgee.component.onIsAcknowledgeeChanged | Disabling validators\");\n this.acknowledgeeForm.get(\"firstName\").setValidators(null);\n this.acknowledgeeForm.get(\"lastName\").setValidators(null);\n this.acknowledgeeForm.get(\"country\").setValidators(null);\n this.acknowledgeeForm.get(\"addressLines\").setValidators(null);\n this.acknowledgeeForm.get(\"city\").setValidators(null);\n this.acknowledgeeForm.get(\"state\").setValidators(null);\n this.acknowledgeeForm.get(\"postalCode\").setValidators(null);\n // Clear object\n this.donationService.acknowledgee = null;\n // Clear form\n this.acknowledgeeForm.reset();\n }\n }\n\n /**\n * Save values from form into donation service acknowledgee\n * @param acknowledgee Data that is going to be used to persist\n * to the donation service\n */\n private saveAcknowledgee(acknowledgee: Acknowledgee): void {\n this.logger.debug('acknowledgee.component.saveAcknowledgee | acknowledgee: ', acknowledgee);\n this.donationService.acknowledgee = acknowledgee;\n }\n\n /** Retrieve acknowledgee information from donation service */\n private getAcknowledgee(): void {\n this.logger.debug('acknowledgee.component.getAcknowledgee');\n this.acknowledgeeForm.setValue(this.donationService.acknowledgee);\n this.showAddress = true;\n }\n\n /** Watch for form changes and update the donation acknowledgee object */\n private onFormChanges(): void {\n this.logger.debug('acknowledgee.component.onFormChanges');\n this.acknowledgeeForm.valueChanges.subscribe(val => {\n this.logger.debug(\"acknowledgee.component.onFormChanges | Form values changed: \", val);\n // Call constructor to create an object of type Acknowledgee\n const acknowledgee = new Acknowledgee(val);\n // Save\n this.saveAcknowledgee(acknowledgee);\n });\n }\n\n ngOnInit() {\n this.logger.debug('acknowledgee.component.ngOnInit');\n this.acknowledgeeForm = this.formBuilder.group({\n firstName: [],\n lastName: [],\n country: [],\n addressLines: [],\n apt: [],\n city: [],\n state: [],\n postalCode: []\n });\n\n this.logger.debug(\"acknowledgee.component.ngOnInit | Acknowledgee: \", this.donationService.acknowledgee);\n if (this.donationService.acknowledgee?.firstName) {\n this.isAcknowledgee = true;\n\n // Load acknowledgee info from donation service\n this.getAcknowledgee();\n }\n\n this.onFormChanges();\n }\n}\n","
\n \n Would you like UC San Diego Advancement to notify someone of your gift?\n \n
\n\n
\n
\n
\n
\n \n First Name\n \n First name is required\n {{ constants.maxLengthMessage }} is {{ constants.firstNameCharacterLimit }} characters\n {{constants.invalidCharactersMessage}}\n \n
\n
\n \n Last Name\n \n Last name is required\n {{ constants.maxLengthMessage }} is {{ constants.lastNameCharacterLimit }} characters\n {{constants.invalidCharactersMessage}}\n \n
\n
\n\n \n \n
\n\n
\n","import { Component, OnInit, Input, ViewChild, EventEmitter, Output } from '@angular/core';\nimport { UntypedFormGroup, UntypedFormControl } from \"@angular/forms\";\nimport { ReplaySubject } from \"rxjs\";\nimport { take } from \"rxjs/operators\";\nimport { MatSelect } from '@angular/material/select';\nimport { NgxSpinnerService } from \"ngx-spinner\";\n\nimport { IState } from \"@interfaces/state\"\nimport { ICountry } from \"@interfaces/country\";\nimport { LoggerService } from \"@core/services/logger.service\";\nimport { CountryService } from \"@data/services/country.service\";\nimport { ICountryViewModel } from \"@interfaces/country-view-model\";\n\nimport swal from \"sweetalert2\";\nimport { ConstantsService } from \"@core/services/constants.service\";\n\n@Component({\n selector: 'app-address',\n templateUrl: './address.component.html',\n styleUrls: ['./address.component.css'],\n providers: [LoggerService],\n standalone: false\n})\nexport class AddressComponent implements OnInit {\n\n @Input() form: UntypedFormGroup;\n @Output() stateChanged = new EventEmitter();\n @Output() addressCaptionChanged = new EventEmitter();\n\n errorMessage: string;\n\n states: IState[];\n countries: ICountry[];\n\n filteredCountries: ReplaySubject = new ReplaySubject(1);\n filteredStates: ReplaySubject = new ReplaySubject(1);\n\n countryCtrl: UntypedFormControl = new UntypedFormControl();\n countryFilterCtrl: UntypedFormControl = new UntypedFormControl();\n stateCtrl: UntypedFormControl = new UntypedFormControl();\n stateFilterCtrl: UntypedFormControl = new UntypedFormControl();\n\n @ViewChild(\"selectCountry\", { static: true }) selectCountry: MatSelect;\n @ViewChild(\"selectState\", { static: true }) selectState: MatSelect;\n\n zipPlaceholder: string;\n addressLinesPlaceholder: string;\n cityPlaceholder: string;\n statePlaceholder: string;\n showPostalCode: boolean = true;\n showAddressCaption: boolean = true;\n showState: boolean = true;\n\n public constants = ConstantsService;\n\n constructor(private countryService: CountryService,\n private spinnerService: NgxSpinnerService,\n private logger: LoggerService) {\n this.logger.debug(\"address.component.constructor\");\n }\n\n // Form field getters for error handling\n get city() { return this.form.get(\"city\"); }\n get addressLines() { return this.form.get(\"addressLines\"); }\n get postalCode() { return this.form.get(\"postalCode\"); }\n get country() { return this.form.get(\"country\"); }\n get state() { return this.form.get(\"state\"); }\n\n /**\n * Filter list of countries based on value entered in the search field\n */\n private filterCountries() {\n this.logger.debug('address.component.filterCountries');\n if (!this.countries) {\n return;\n }\n // Get the value from the search field\n let search = this.countryFilterCtrl.value;\n if (!search) {\n this.filteredCountries.next(this.countries.slice());\n return;\n } else {\n search = search.toLowerCase();\n }\n // Filter the countries\n this.filteredCountries.next(\n this.countries.filter(country => country.description.toLowerCase().includes(search))\n );\n }\n\n /**\n * Filter states based on the value entered in the search field\n */\n private filterStates() {\n this.logger.debug('address.component.filterStates');\n if (!this.states) {\n return;\n }\n // Get the value from the search field\n let search = this.stateFilterCtrl.value;\n this.logger.debug(\"Filter: \", search);\n if (!search) {\n this.filteredStates.next(this.states.slice());\n return;\n } else {\n search = search.toLowerCase();\n }\n // Filter the countries\n this.filteredStates.next(\n this.states.filter(state => state.description.toLowerCase().includes(search))\n );\n }\n\n /**\n * Watch for updates to the country select list and update the state list, labels, and form\n */\n private onCountryChanges(): void {\n this.logger.debug('address.component.onCountryChanges');\n this.countryCtrl.valueChanges.subscribe(\n countryControlData => {\n this.spinnerService.show(undefined, ConstantsService.defaultSpinnerOptions);\n\n this.logger.debug(\"address.component.onCountryChanges | Country updated: \", countryControlData);\n // If the updated value is different than the current value update and reset state list\n if (countryControlData !== this.country.value) {\n this.form.patchValue({ country: countryControlData });\n\n // Retrieve Country Detail\n this.countryService.getCountry(countryControlData.id).then(\n countryViewModel => {\n this.logger.trace(\"address.component.onCountryChanges | CountryViewModel: \", countryViewModel);\n this.states = countryViewModel.states;\n this.logger.trace(\"address.component.onCountryChanges | this.states: \", this.states);\n this.logger.trace(\"address.component.onCountryChanges | States length: \", this.states.length);\n this.filteredStates.next(this.states.slice());\n\n if (this.states.length > 0) {\n // Clear any existing selection on state select when a country has state list, if a country has no state, we don't reset it as the value is set by logic for countries with no state\n this.stateCtrl.reset();\n }\n\n // Update captions\n this.updateAddressCaptions(countryViewModel);\n\n // Handle showing of states and postal codes\n this.updateShowStatePostalCode(countryViewModel);\n\n this.spinnerService.hide();\n }, error => {\n this.spinnerService.hide();\n swal.fire({\n title: \"An Error Occurred\",\n text: ConstantsService.processingErrorMessage,\n icon: \"error\",\n buttonsStyling: false,\n customClass: {\n confirmButton: 'btn btn-swal-confirm-button'\n }\n });\n this.logger.fatal(\"address.component.onCountryChanges | An error occurred while calling the Country api\", error);\n });\n } else {\n this.spinnerService.hide();\n }\n });\n }\n\n /**\n * Watch for changes to the state selection and update the form.\n * Also check if Armed Forces and emit boolean\n */\n private onStateChanges(): void {\n this.logger.debug('address.component.onStateChanges');\n this.stateCtrl.valueChanges.subscribe(\n data => {\n this.logger.debug(\"address.component.onCountryChanges | State updated: \", data);\n this.form.patchValue({ state: data });\n // Notify parent if state selected was Armed Forces\n if (data) {\n const armedForces = (data as IState).description.includes(\"Armed Forces\");\n this.stateChanged.emit(armedForces);\n }\n });\n }\n\n ngOnInit() {\n this.logger.debug('address.component.ngOnInit');\n this.logger.trace(\"State: \", this.form.get(\"state\").value);\n let countryId: string;\n\n this.spinnerService.show(undefined, ConstantsService.defaultSpinnerOptions);\n\n // Populate countries and filtered countries from api\n this.countryService.getCountries().then(\n countries => {\n this.countries = countries;\n this.filteredCountries.next(this.countries.slice());\n // Subscribe to value changes of filter and run filter method\n this.countryFilterCtrl.valueChanges\n .pipe().subscribe(\n () => {\n this.filterCountries();\n });\n // If there is not a value in form set default value to UNITED STATES\n this.logger.trace(\"address.component.ngOnInit | Country: \", this.country.value);\n if (!this.country.value) {\n this.countryCtrl.setValue(this.countries.find(c => c.id === ConstantsService.unitedStatesGuid));\n countryId = ConstantsService.unitedStatesGuid;\n } else {\n this.countryCtrl.setValue(this.country.value);\n countryId = this.country.value.id;\n }\n\n // Retrieve Country Detail\n this.countryService.getCountry(countryId).then(\n countryViewModel => {\n // Populate state drop down\n this.states = countryViewModel.states;\n this.filteredStates.next(this.states.slice());\n // Subscribe to value changes of filter and run filter method\n this.stateFilterCtrl.valueChanges\n .pipe().subscribe(\n () => {\n this.filterStates();\n });\n\n // If there is not a value in form set default value to California\n if (!this.state.value && countryId === ConstantsService.unitedStatesGuid) {\n this.stateCtrl.setValue(this.states.find(s => s.description === \"California\"));\n }\n else if (this.state.value !== ConstantsService.noStateObj) {\n this.logger.debug(\"address.component.ngOnInit | The form \\\"state\\\" value: \", this.state.value);\n // Retrieve state from this list populating control and set the control to its value\n this.stateCtrl.setValue(this.states.find(s => s.id === (this.state.value).id));\n }\n\n // Update captions\n this.updateAddressCaptions(countryViewModel);\n\n // Handle showing of states and postal codes\n this.updateShowStatePostalCode(countryViewModel);\n }, error => {\n this.spinnerService.hide();\n swal.fire({\n title: \"An Error Occurred\",\n text: ConstantsService.processingErrorMessage,\n icon: \"error\",\n buttonsStyling: false,\n customClass: {\n confirmButton: 'btn btn-swal-confirm-button'\n }\n });\n this.logger.fatal(\"address.component.ngOnInit | An error occurred while calling the States api\", error);\n });\n }, error => {\n this.spinnerService.hide();\n swal.fire({\n title: \"An Error Occurred\",\n text: ConstantsService.processingErrorMessage,\n icon: \"error\",\n buttonsStyling: false,\n customClass: {\n confirmButton: 'btn btn-swal-confirm-button'\n }\n });\n this.logger.fatal(\"address.component.ngOnInit | An error occurred while calling the Countries api\", error);\n });\n\n // Subscribe to country list changes\n this.onCountryChanges();\n\n // Subscribe to state list changes\n this.onStateChanges();\n }\n\n ngAfterViewInit() {\n this.logger.debug('address.component.ngAfterViewInit');\n this.filteredCountries\n .pipe(take(1)).subscribe(() => {\n // Setting the compareWith property to a comparison function\n // triggers initializing the selection according to the initial value of\n // the form control. This needs to be done after the filteredEntities are loaded initially\n // and after the mat-option elements are available\n if (this.selectCountry)\n this.selectCountry.compareWith = (a: ICountry, b: ICountry) => a.id === b.id;\n });\n\n this.filteredStates\n .pipe(take(1)).subscribe(() => {\n // Setting the compareWith property to a comparison function\n // triggers initializing the selection according to the initial value of\n // the form control. This needs to be done after the filteredEntities are loaded initially\n // and after the mat-option elements are available\n if (this.selectState)\n this.selectState.compareWith = (a: IState, b: IState) => a.id === (b ? b.id : \"\");\n });\n }\n\n /**\n * Handles updating the address captions of the form based on the country provided\n * @param countryViewModel\n */\n updateAddressCaptions(countryViewModel: ICountryViewModel): void {\n this.logger.debug(`address.component.updateAddressCaptions | countryViewModel: `, countryViewModel);\n // Update address captions\n this.logger.debug(\"Address captions: \", countryViewModel.addressCaption);\n // Update placeholders of address, state, and zip\n this.zipPlaceholder = countryViewModel.addressCaption.PostCode;\n this.addressLinesPlaceholder = countryViewModel.addressCaption.AddressLines;\n this.cityPlaceholder = countryViewModel.addressCaption.City;\n this.statePlaceholder = countryViewModel.addressCaption.State;\n\n // Show or hide Zip Code field base on Address Caption\n if (countryViewModel) {\n const noPostalCode = countryViewModel.addressCaption.PostCode.includes(ConstantsService.noPostalCodeVal);\n this.showAddressCaption = (!noPostalCode);\n this.logger.trace(\"address.component.updateAddressCaptions | showAddressCaptions: \", this.showAddressCaption);\n }\n }\n\n /**\n * Handles updating the visibility of the state and postal code\n * fields of the form based on the country provided\n * @param countryViewModel\n */\n updateShowStatePostalCode(countryViewModel: ICountryViewModel): void {\n this.logger.debug(`address.component.updateShowStatePostalCode | countryViewModel: `, countryViewModel);\n // Handle no state and no postal code logic\n this.showState = countryViewModel.hasStates;\n this.showPostalCode = countryViewModel.hasZip;\n\n this.logger.debug(\"address.component.updateShowStatePostalCode | ShowState: \", this.showState);\n\n if (!this.showState) {\n this.state.setValue(ConstantsService.noStateObj);\n this.logger.debug(\"address.component.updateShowStatePostalCode | state value: \", this.state.value);\n }\n\n if (!this.showPostalCode || !this.showAddressCaption) {\n this.postalCode.setValue(`${ConstantsService.noPostalCodeVal}`);\n this.logger.debug(\"address.component.updateShowStatePostalCode | postalCode value: \", this.postalCode.value);\n }\n else if (this.showPostalCode && this.form.get(\"postalCode\").value == `${ConstantsService.noPostalCodeVal}`) {\n // Reset the Postal Code value to blank when country changed that from no zip code exists for country to one that has a zip code\n this.logger.debug(\"Reset the zip code to empty from \\\"Do not use\\\" when country changed to one that has a postal code.\");\n this.postalCode.setValue(\"\");\n }\n }\n}\n","
\n
\n
\n \n Country\n \n \n \n {{country.description}}\n \n \n \n
\n
\n\n
\n
\n \n {{ addressLinesPlaceholder }}\n \n {{ addressLinesPlaceholder }} is required\n {{ constants.maxLengthMessage }} is {{ constants.addressLinesCharacterLimit }} characters\n \n\n
\n
\n\n
\n
\n \n {{ cityPlaceholder }}\n \n City is required\n {{ constants.maxLengthMessage }} is {{ constants.cityCharacterLimit }} characters\n {{constants.invalidCharactersMessage}}\n \n
\n\n
\n \n {{ statePlaceholder }}\n \n \n \n {{state.description}}\n \n \n \n
\n
\n\n
\n
\n \n {{ zipPlaceholder }}\n \n {{ zipPlaceholder }} is required\n \n
\n
\n
\n","import { Component, OnInit, EventEmitter, Output, Input } from '@angular/core';\nimport { LoggerService } from \"@core/services/logger.service\";\nimport { IAppealCode } from \"@interfaces/appeal-code\";\nimport { AppealCodeService } from \"@data/services/appeal-code.service\";\n\n@Component({\n selector: 'app-appeal-code',\n templateUrl: './appeal-code.component.html',\n styleUrls: ['./appeal-code.component.css'],\n providers: [LoggerService],\n standalone: false\n})\nexport class AppealCodeComponent implements OnInit {\n @Input() appealCodeOnly: boolean;\n @Output() appealCodeSelectionChanged = new EventEmitter();\n\n hasAppealCode: boolean = false;\n appealCodes: IAppealCode[];\n selectedAppealCode: IAppealCode;\n\n constructor(private appealService: AppealCodeService,\n private logger: LoggerService) { }\n\n /**\n * Retrieve appeal codes from CRM\n */\n getAppealCodes(): void {\n this.logger.debug(`appeal-code.component.getAppealCodes`);\n this.appealService.getAppealCodes().then(\n data => {\n this.logger.debug(\"Appeal codes: \", data);\n this.appealCodes = data;\n });\n }\n\n onAppealCodeChange(result: IAppealCode): void {\n this.logger.debug(`appeal-code.component.onAppealCodeChange | result: `, result);\n this.appealCodeSelectionChanged.emit(result);\n this.selectedAppealCode = result;\n }\n\n /**\n * If has appeal is changed, clear the selected appeal so that it does not get included in the link\n * @param event - Checkbox\n */\n onHasAppealCodeChanged(event) {\n this.logger.debug(`appeal-code.component.onHasAppealCodeChanged | event: ${event}`);\n if (!event.checked) {\n this.onAppealCodeChange(null);\n }\n }\n\n ngOnInit() {\n this.logger.debug('appeal-code.component.ngOnInit');\n this.getAppealCodes();\n this.logger.debug('appeal-code.component | appeal code only: ', this.appealCodeOnly);\n }\n\n}\n","
\n \n {{ appealCodeOnly ? 'Appeal Code ONLY' : 'Include Appeal Code' }}\n \n
\n\n
\n
\n \n \n
\n \n
\n
\n \n\n \n
\n","import { Component, OnInit } from '@angular/core';\nimport { DonationService } from \"@data/services/donation.service\";\nimport { ActivatedRoute, Router, NavigationStart, Event as NavigationEvent } from \"@angular/router\";\nimport { filter } from \"rxjs/operators\";\n\nimport { GiftService } from \"@data/services/gift.service\";\nimport { IGift } from \"@interfaces/gift\";\nimport { IDonor, Donor } from \"@interfaces/donor\";\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport { LoggerService } from \"@core/services/logger.service\";\nimport { ConstantsService } from \"@core/services/constants.service\";\nimport { Title } from '@angular/platform-browser';\nimport { LocalStorageService } from \"@core/services/local-storage.service\";\nimport { DonorService } from \"@data/services/donor.service\";\n\n@Component({\n selector: 'app-confirmation',\n templateUrl: './confirmation.component.html',\n styleUrls: ['./confirmation.component.css'],\n providers: [LoggerService],\n standalone: false\n})\nexport class ConfirmationComponent implements OnInit {\n\n constructor(public readonly donationService: DonationService,\n private readonly route: ActivatedRoute,\n private readonly giftService: GiftService,\n private readonly spinnerService: NgxSpinnerService,\n private readonly donorService: DonorService,\n private readonly router: Router,\n private readonly logger: LoggerService,\n private readonly localStorage: LocalStorageService,\n private readonly titleService: Title\n ) {\n this.titleService.setTitle(`${ConstantsService.pageTitle} Complete`);\n this.logger.debug(`confirmation.component.constructor`);\n router.events.pipe(\n filter((event: NavigationEvent) => event instanceof NavigationStart)\n ).subscribe((event: NavigationStart) => {\n this.logger.debug(`confirmation.component.router.events.subscribe | event: ${event}`);\n if (event.restoredState) {\n this.logger.debug(\"Restoring navigation id: \", event.restoredState.navigationId);\n // Navigate back to the review page rather than to the prior page (checkout or sso)\n router.navigateByUrl(\"/review\");\n }\n });\n }\n\n pageTitle: string = \"Confirmation\";\n loadingMsg: string = \"Please wait while your confirmation loads...\";\n errorMessage: string;\n showConfirmation: boolean = false;\n gifts: IGift[];\n firstName: string;\n\n ngOnInit() {\n this.logger.debug(`confirmation.component.ngOnInit`);\n // Gifts\n this.logger.debug(\"Retrieving gifts...\");\n this.gifts = this.giftService.gifts;\n this.logger.trace(\"Gifts: \", this.gifts);\n\n const param = this.route.snapshot.paramMap.get(\"t\");\n this.logger.debug(\"t: \", param);\n\n // Get first name from either SSO user or Donor\n if (this.donationService.ssoUser) {\n this.logger.debug(\"Sso user found\");\n const ssoUser = this.donationService.ssoUser;\n this.logger.debug(\"ssoUser: \", ssoUser);\n this.firstName = ssoUser.firstName;\n\n // Create donor from sso user\n let donor: IDonor = {\n FirstName: ssoUser.firstName,\n lastName: ssoUser.lastName,\n organizationName: \"\",\n emailAddress: ssoUser.email,\n phone: ssoUser.workPhone,\n address: {\n country: { id: \"\", description: \"\", abbreviation: \"\" },\n state: { id: \"\", description: \"\", abbreviation: \"\", iso31662: \"\" },\n city: \"\",\n addressLines: \"\",\n postalCode: \"\"\n }\n };\n this.logger.trace(\"Donor: \", donor);\n this.donorService.donor = new Donor(donor);\n\n // Send acknowledgement\n this.donationService.sendAcknowledgement();\n\n this.localStorage.clear();\n\n this.showConfirmation = true;\n this.spinnerService.hide();\n this.logger.info(\"Payment complete\");\n\n } else {\n // Otherwise, process unified checkout transaction\n const donor = this.donorService.donor;\n this.logger.trace(\"Donor: \", donor);\n this.firstName = donor.FirstName;\n\n this.showConfirmation = true;\n this.spinnerService.hide().then(() => {});\n\n // Retrieve donation information to send acknowledgement\n this.logger.debug(\"Retrieving donation...\");\n this.donationService.getOnlineGivingDonation(this.donationService.donationId)\n .then(donationData => {\n this.logger.debug(\"Donation: \", donationData);\n\n // Send acknowledgement\n this.donationService.sendAcknowledgementWithDonation(donationData).then(() => {\n this.logger.debug(\"Acknowledgement sent\");\n });\n\n // Get the cs transaction id from the response\n // const csTransactionId = this.donationService.processorTransactionId;\n // this.logger.debug(\"CS Transaction Id: \", csTransactionId);\n\n // Clear local storage\n this.localStorage.clear();\n\n });\n }\n }\n}\n","\n
\n
\n
\n

Thanks, {{ firstName }}!

\n
\n\n
\n {{ loadingMsg }}\n
\n\n
\n
\n
\n
\n Thank you for your gift! Your generous contribution helps UC San Diego unleash a diverse community of doers: those who imagine unexpected answers that can transform humanity for the better.\n
\n\n
1\" class=\"font-weight-bold pt-3\">\n Your gift will be supporting:\n
    \n
  • \n {{ gift.designation.publicName }}\n
  • \n
\n
\n\n
\n

Your official gift receipt will be delivered soon to the email address you provided when you made your gift. Should you have any questions about your electronic receipt, or need to modify or cancel a recurring gift, please email onlinegift@ucsd.edu.

\n
\n\n

\n Check whether an employer is a participating company and view its specific matching gift forms, guidelines, and instructions by using the search box below.\n

\n\n
\n \n
\n\n
\n
\n
\n
\n
\n\n\n","import { Component, OnInit, Input } from '@angular/core';\nimport { LoggerService } from \"@core/services/logger.service\";\nimport { IDesignation } from \"@interfaces/designation\";\nimport { IAppealCode } from \"@interfaces/appeal-code\";\n\n@Component({\n selector: 'app-direct-link',\n templateUrl: './direct-link.component.html',\n styleUrls: ['./direct-link.component.css'],\n providers: [LoggerService],\n standalone: false\n})\nexport class DirectLinkComponent implements OnInit {\n\n @Input() fund: IDesignation;\n @Input() appealCode: IAppealCode;\n\n constructor(private logger: LoggerService) {\n\n }\n\n /**\n * Copy the link text to the user's clipboard\n */\n copyClick(directLinkElement) {\n this.logger.debug(`direct-link.component.copyClick | directLinkElement: ${directLinkElement.value}`);\n\n this.logger.debug(\"LinkElement: \", directLinkElement.value);\n directLinkElement.select();\n document.execCommand('copy');\n directLinkElement.setSelectionRange(0, 0);\n\n }\n\n ngOnInit() {\n this.logger.debug(`direct-link.component.ngOnInit`);\n }\n\n}\n","\nDirect Link:\n\n \n\n
\n \n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {UnifiedCheckoutComponent} from \"@features/unified-checkout/unified-checkout.component\";\nimport {SharedModule} from \"@shared/shared.module\";\nimport {CoreModule} from \"@core/core.module\";\nimport {AddressComponent} from \"@features/address/address.component\";\nimport {PayrollDeductionComponent} from \"@features/payroll-deduction/payroll-deduction.component\";\nimport {MatchingGiftComponent} from \"@features/matching-gift/matching-gift.component\";\nimport {MatchingGiftSearchComponent} from \"@features/matching-gift/matching-gift-search/matching-gift-search.component\";\nimport {FooterComponent} from \"@features/footer/footer.component\";\nimport {YourInfoComponent} from \"@features/your-info/your-info.component\";\nimport {ConfirmationComponent} from \"@features/confirmation/confirmation.component\";\nimport {FundDescriptionComponent} from \"@features/fund-description/fund-description.component\";\nimport {FundSearchComponent} from \"@features/fund-search/fund-search.component\";\nimport {NgxMaskDirective, provideNgxMask} from \"ngx-mask\";\nimport {GiftAddReferralComponent} from \"@features/gift-add-referral/gift-add-referral.component\";\nimport {GiftEditComponent} from \"@features/gift-edit/gift-edit.component\";\nimport {GiftAmountComponent} from \"@features/gift-amount/gift-amount.component\";\nimport {DirectLinkComponent} from \"@features/direct-link/direct-link.component\";\nimport {AppealCodeComponent} from \"@features/appeal-code/appeal-code.component\";\nimport {LinkGeneratorComponent} from \"@features/link-generator/link-generator.component\";\nimport {GiftAddComponent} from \"@features/gift-add/gift-add.component\";\nimport {AcknowledgeeComponent} from \"@features/acknowledgee/acknowledgee.component\";\nimport {GiftListComponent} from \"@features/gift-list/gift-list.component\";\nimport {RecurrenceComponent} from \"@features/recurrence/recurrence.component\";\nimport {SelectGiftTypeComponent} from \"@features/select-gift-type/select-gift-type.component\";\nimport {SelectPaymentTypeComponent} from \"@features/select-payment-type/select-payment-type.component\";\nimport {TributeComponent} from \"@features/tribute/tribute.component\";\nimport {GiftReviewComponent} from \"@features/gift-review/gift-review.component\";\nimport {NgxCaptchaModule} from \"ngx-captcha\";\n\n\n@NgModule({\n declarations: [\n UnifiedCheckoutComponent,\n AddressComponent,\n PayrollDeductionComponent,\n MatchingGiftComponent,\n MatchingGiftSearchComponent,\n FooterComponent,\n YourInfoComponent,\n ConfirmationComponent,\n FundDescriptionComponent,\n FundSearchComponent,\n GiftAddReferralComponent,\n GiftAmountComponent,\n GiftEditComponent,\n DirectLinkComponent,\n AppealCodeComponent,\n LinkGeneratorComponent,\n GiftAddComponent,\n AcknowledgeeComponent,\n GiftReviewComponent,\n GiftListComponent,\n RecurrenceComponent,\n SelectGiftTypeComponent,\n SelectPaymentTypeComponent,\n TributeComponent\n ],\n imports: [\n CommonModule,\n SharedModule, // HACK: Move imports from shared to features once features are migrated\n CoreModule,\n NgxMaskDirective,\n NgxCaptchaModule\n\n ],\n exports: [\n FooterComponent\n ],\n providers: [\n provideNgxMask()\n ]\n})\nexport class FeaturesModule { }\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.css'],\n standalone: false\n})\nexport class FooterComponent {\n\n // Copyright year\n currentYear: number = new Date().getFullYear();\n\n}\n","\n
\n

\n ©{{currentYear }} Regents of the University of California. All rights reserved.\n

\n
\n","import { Component, OnInit, Input } from '@angular/core';\nimport { IDesignation } from \"@interfaces/designation\";\nimport { LoggerService } from \"@core/services/logger.service\";\nimport { IAppealCode } from \"@interfaces/appeal-code\";\n\n@Component({\n selector: 'app-fund-description',\n templateUrl: './fund-description.component.html',\n styleUrls: ['./fund-description.component.css'],\n providers: [LoggerService],\n standalone: false\n})\nexport class FundDescriptionComponent implements OnInit {\n\n @Input() fund: IDesignation;\n @Input() showLink: boolean = false;\n\n fundSelectionDescriptionPanelOpen: boolean = true;\n appealCode: IAppealCode;\n\n constructor(private logger: LoggerService) {\n this.logger.debug(\"fund-description.component.constructor\");\n }\n\n onAppealCodeChanged(result: IAppealCode) {\n this.appealCode = result;\n }\n\n /**\n * Copy the link text to the user's clipboard\n */\n copyClick(directLinkElement) {\n this.logger.debug(\"copyClick | LinkElement: \", directLinkElement.value);\n directLinkElement.select();\n document.execCommand('copy');\n directLinkElement.setSelectionRange(0, 0);\n }\n\n ngOnInit() {\n this.logger.debug(\"fund-description.component.ngOnInit\");\n }\n}\n","
\n \n \n \n Fund Details\n \n \n {{ (fund.purposeDescription.length > 29) ? (fund.purposeDescription | slice:0:26) + \"...\" : fund.purposeDescription }}\n \n \n {{ (fund.purposeDescription.length) > 255 ? (fund.purposeDescription | slice:255) + \"...\" : fund.purposeDescription }}\n
\n \n \n \n \n
\n
\n
\n","import { Component, OnInit, EventEmitter, Output, Input } from '@angular/core';\nimport swal from \"sweetalert2\";\n\nimport { IDesignation } from \"@interfaces/designation\";\nimport { SearchService } from \"@data/services/search.service\";\nimport { LoggerService } from \"@core/services/logger.service\";\n\n@Component({\n selector: 'app-fund-search',\n templateUrl: './fund-search.component.html',\n styleUrls: ['./fund-search.component.css'],\n providers: [LoggerService],\n standalone: false\n})\nexport class FundSearchComponent implements OnInit {\n @Input() showLink: boolean = false;\n @Input() searchFor: string = \"\";\n\n @Output() searchResultSelectionChanged = new EventEmitter();\n\n searchText: string = '';\n searchResults: IDesignation[];\n searching: boolean = false;\n noResults: boolean = false;\n selectedFund?: IDesignation = null;\n\n placeholderText = \"Enter keyword or fund number\";\n\n errorMessage: string;\n\n constructor(\n private searchService: SearchService,\n private logger: LoggerService) {}\n\n /**\n * Retrieve search results from API and set drop down with results\n * @param searchText Text to be searched calling fuzzy search on API\n */\n onSearch(searchText: string) {\n this.selectedFund = null;\n this.logger.debug(`fund-search.component.onSearch | searchText: ${searchText}`);\n this.searching = true;\n this.noResults = false;\n this.searchResults = null;\n\n if (searchText.length > 0) {\n this.logger.debug(`fund-search.component.onSearch | Search text: ${searchText}`);\n\n this.searchService.fuzzySearch(searchText).then(\n data => {\n this.searching = false;\n // Check for results\n if (data.length > 0) {\n this.searchResults = data;\n this.logger.trace(`fund-search.component.onSearch | Search results: `, data);\n\n // If only one result is returned automatically select it\n if (data.length === 1) {\n this.searchResultSelected(data[0]);\n }\n\n } else {\n this.noResults = true;\n }\n },\n error => {\n this.errorMessage = error;\n this.logger.error(`fund-search.component.onSearch | Error fetching search results: `, error);\n }\n );\n } else {\n this.logger.debug(`fund-search.component.onSearch | No results found`);\n swal.fire({\n title: \"No Results\",\n text: \"Please enter a word or phrase before searching\",\n icon: \"warning\",\n buttonsStyling: false,\n customClass: {\n confirmButton: 'btn btn-swal-confirm-button'\n }\n });\n\n this.searching = false;\n }\n }\n\n /**\n * Used to set values based on selection from search results\n * @param result\n */\n searchResultSelected(result: IDesignation) {\n if (result) {\n // Emit the selected designation for it to be picked up by parent\n this.searchResultSelectionChanged.emit(result);\n // Set description to be displayed\n this.selectedFund = result;\n this.logger.debug(`fund-search.component.searchResultSelected | Selected fund: `, result);\n } else {\n this.selectedFund = null;\n }\n }\n\n ngOnInit() {\n this.logger.debug(`fund-search.component.ngOnInit`);\n this.logger.debug(`fund-search.component.ngOnInit | searchFor: ${this.searchFor}`);\n\n // If a searchFor value is passed in, search for it\n if (this.searchFor) {\n this.searchText = this.searchFor;\n this.onSearch(this.searchFor);\n }\n }\n\n}\n","
\n
\n \n
\n \n
\n
\n
\n\n
\n
\n Searching...\n
\n
\n No Results Found...\n
Having trouble finding the fund you’re looking for? Try searching by a portion of the fund name, just the fund number, or contact us at (858) 534-1610 or giving@ucsd.edu for help.
\n
\n
\n
\n Please Select a Fund:\n
\n \n \n
\n
\n\n
\n \n \n
\n","import { Component, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute } from \"@angular/router\";\nimport { UntypedFormGroup, UntypedFormBuilder, Validators } from \"@angular/forms\";\n\nimport { IGift } from \"@interfaces/gift\";\nimport { GiftService } from \"@data/services/gift.service\";\nimport { IDesignation } from \"@interfaces/designation\";\nimport { DesignationService } from \"@data/services/designation.service\"\nimport { HelperService } from \"@core/services/helper.service\";\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport swal from \"sweetalert2\";\nimport { LoggerService } from \"@core/services/logger.service\";\n\n@Component({\n selector: 'app-gift-add-referral',\n templateUrl: './gift-add-referral.component.html',\n styleUrls: ['./gift-add-referral.component.css'],\n providers: [LoggerService],\n standalone: false\n})\nexport class GiftAddReferralComponent implements OnInit {\n\n constructor(private spinnerService: NgxSpinnerService,\n private giftService: GiftService,\n private designationService: DesignationService,\n private router: Router,\n private route: ActivatedRoute,\n private formBuilder: UntypedFormBuilder,\n private logger: LoggerService) { }\n\n pageTitle: string = \"You Have Selected The Following Fund:\";\n\n addForm: UntypedFormGroup;\n\n fund: IDesignation;\n amount: number;\n appealId: string;\n\n submitting: boolean = false;\n attempts: number = 0;\n\n errorMessage: string;\n\n\n /**\n * Capture amount change in child component and update local value\n * @param amount Amount emitted by amount component\n */\n onAmountChanged(amount: number): void {\n this.amount = amount;\n this.amountControl.setValue(amount);\n }\n\n /**\n * Attempt to build a Gift object and save it\n */\n onSubmit(): void {\n this.logger.debug(`gift-add-referral.component.onSubmit`)\n this.submitting = true;\n\n // Check if form is valid\n if (!this.addForm.valid) {\n // Stop submission if form is not valid and increment counter\n this.attempts++;\n this.logger.debug('gift-add-referral.component.onSubmit | Form is not valid')\n return;\n }\n\n // Build gift object\n let gift: IGift = { amount: this.amount, designation: this.fund, appealId: this.appealId };\n\n this.logger.trace('gift-add-referral.component.onSubmit | gift: ', gift)\n\n this.giftService.addGift(gift).then(\n data => {\n this.logger.trace('gift-add-referral.component.onSubmit | addGift response: ', data)\n swal.fire({\n title: \"Added!\",\n text: `Your gift for $${gift.amount} to ${this.fund.publicName} has been saved`,\n icon: \"success\",\n buttonsStyling: false,\n customClass: {\n confirmButton: 'btn btn-swal-confirm-button'\n }\n });\n this.router.navigateByUrl(\"/review\");\n HelperService.goToTop();\n },\n error => {\n this.errorMessage = error;\n this.logger.error(\"\", error);\n });\n\n }\n\n get amountControl() { return this.addForm.get(\"amount\"); }\n\n\n ngOnInit() {\n this.logger.debug(\"gift-add-referral.component.ngOnInit\")\n this.logger.loggerReady().then(\n data => {\n this.addForm = this.formBuilder.group({\n amount: [\"\", [Validators.required, Validators.min(1), Validators.max(99999)]]\n });\n\n\n // Get fund id from parameter\n const id = this.route.snapshot.paramMap.get(\"id\");\n\n // Try to get an appeal id if one exists\n this.appealId = this.route.snapshot.paramMap.get(\"appealId\");\n this.logger.debug(`gift-add-referral.component.ngOnInit | appealId: ${this.appealId}`)\n\n if (id) {\n // Load fund information\n this.designationService.getDesignation(id).then(\n data => {\n this.logger.trace('gift-add-referral.component.ngOnInit | getDesignation response: ', data)\n this.fund = data;\n\n // Stop spinner\n this.spinnerService.hide();\n });\n } else {\n // If there isn't a fund id in the parameter send them to the normal add gift page\n this.router.navigateByUrl(\"/add-gift\");\n }\n },\n err => {\n this.logger.error(\"\", err);\n });\n\n\n }\n\n}\n","
\n
\n
\n {{pageTitle}}\n
\n\n
\n\n
\n
\n
\n {{ fund.publicName }}\n
\n
\n
\n
\n {{ fund.purposeDescription }}\n
\n
\n
\n
\n {{ \"Fund Number: \" + fund.fundNumber }}\n
\n
\n
\n
\n
\n\n
\n
\n \n
\n\n
\n
A donation amount must be selected
\n
Donation must be between $1 and $99,999
\n
Donation must be between $1 and $99,999
\n
\n\n
= 3\">\n \n
\n
\n\n
\n \n
\n\n\n
\n\n\n","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\nimport { IGift } from \"@interfaces/gift\";\nimport { UntypedFormGroup, UntypedFormBuilder, Validators } from \"@angular/forms\";\nimport { Router, ActivatedRoute } from \"@angular/router\";\nimport { GiftService } from \"@data/services/gift.service\";\nimport { IDesignation } from \"@interfaces/designation\";\nimport { LoggerService } from \"@core/services/logger.service\";\nimport { HelperService } from \"@core/services/helper.service\";\nimport { ConstantsService } from \"@core/services/constants.service\";\nimport { Title } from '@angular/platform-browser';\n\nimport swal from 'sweetalert2';\n\nimport { NgxSpinnerService } from \"ngx-spinner\";\n\n@Component({\n selector: 'app-gift-add',\n templateUrl: './gift-add.component.html',\n styleUrls: ['./gift-add.component.css'],\n providers: [LoggerService],\n standalone: false\n})\nexport class GiftAddComponent implements OnInit {\n\n private amountTarget: ElementRef;\n\n @ViewChild(\"amountTarget\", { static: false }) set AmountTarget(value: ElementRef) {\n if (value) {\n this.amountTarget = value;\n }\n }\n\n pageTitle: string = \"Giving Details\";\n addForm: UntypedFormGroup;\n errorMessage: string;\n\n designationName: string;\n\n appealId: string;\n\n submitting: boolean = false;\n attempts: number = 0;\n\n constructor(private formBuilder: UntypedFormBuilder,\n private giftService: GiftService,\n private spinnerService: NgxSpinnerService,\n private router: Router,\n private route: ActivatedRoute,\n private logger: LoggerService,\n private titleService: Title) {\n this.titleService.setTitle(`${ConstantsService.pageTitle} Gift Details`);\n }\n\n /**\n * Attempt to add the gift to the cache\n */\n onSubmit() {\n this.logger.debug(`gift-add.component.onSubmit`);\n\n this.submitting = true;\n\n // Check if form is valid\n if (!this.addForm.valid) {\n // Stop submission if form is not valid and increment counter\n this.attempts++;\n this.logger.debug(`gift-add.component.onSubmit | Attempts: ${this.attempts}`);\n return;\n }\n\n let gift: IGift = { amount: +this.amount.value, appealId: this.appealId };\n let designation: IDesignation = this.addForm.get(\"fundId\").value;\n gift.designation = designation;\n\n this.logger.trace(`gift-add.component.onSubmit | Designation:`, designation);\n\n this.giftService.addGift(gift).then(\n data => {\n this.logger.debug(`gift-add.component.onSubmit | Gift added:`, data);\n swal.fire({\n title: \"Added!\",\n text: `Your gift for $${gift.amount} to ${this.designationName} has been saved`,\n icon: \"success\",\n buttonsStyling: false,\n customClass: {\n confirmButton: 'btn btn-swal-confirm-button'\n }\n });\n this.router.navigateByUrl(\"/review\");\n HelperService.goToTop();\n },\n error => {\n this.errorMessage = error;\n this.logger.error(`gift-add.component.onSubmit | Error adding gift:`, error);\n });\n }\n\n /*** Nested component event listeners ***/\n\n /**\n * Catch amount changed event emitted by child component and set local amount value\n * @param amount value sent out by child form\n */\n onAmountChanged(amount: number) {\n this.logger.debug(`gift-add.component.onAmountChanged | amount: ${amount}`);\n this.amount.setValue(amount);\n }\n\n /**\n * Catch fund selected by search results or fund selector\n * @param selectedFund\n */\n onFundSelected(selectedFund: IDesignation) {\n this.logger.debug(`gift-add.component.onFundSelected | Selected fund:`, selectedFund);\n this.fundId.patchValue(selectedFund);\n this.designationName = selectedFund.publicName;\n\n // Scroll to the Amount selector when a fund has been selected\n if (this.amountTarget) {\n this.amountTarget.nativeElement.scrollIntoView({ behavior: \"smooth\", block: \"start\", inline: \"nearest\" });\n }\n }\n\n get fundId() { return this.addForm.get(\"fundId\"); }\n get amount() { return this.addForm.get(\"amount\"); }\n\n ngOnInit() {\n this.logger.debug(`gift-add.component.ngOnInit`);\n\n this.spinnerService.hide();\n\n // Try to get an appeal id if one exists\n this.appealId = this.route.snapshot.paramMap.get(\"appealId\");\n this.logger.debug(`gift-add.component.ngOnInit | AppealId:`, this.appealId);\n\n // Create form\n this.addForm = this.formBuilder.group({\n amount: [\"\", [Validators.required, Validators.min(1), Validators.max(99999)]],\n fundId: [\"\", Validators.required]\n });\n }\n}\n","
\n
\n

Fund Search

\n
\n
\n
\n\n \n\n
\n
A Fund must be selected
\n
\n\n
\n
\n
\n\n
\n\n \n\n
\n
A donation amount must be selected
\n
Donation must be between $1 and $99,999
\n
Donation must be between $1 and $99,999
\n
\n\n
= 3\">\n \n
\n\n
\n \n
\n
\n\n\n
\n To explore more funds, please visit our giving site.\n
\n
\n\n
\n\n\n","import { Component, OnInit, EventEmitter, Output, Input } from '@angular/core';\nimport { LoggerService } from \"@core/services/logger.service\";\n\n@Component({\n selector: 'app-gift-amount',\n templateUrl: './gift-amount.component.html',\n styleUrls: ['./gift-amount.component.css'],\n providers: [LoggerService],\n standalone: false\n})\nexport class GiftAmountComponent implements OnInit {\n\n constructor(private readonly logger: LoggerService) {\n }\n\n @Output() amountChanged = new EventEmitter();\n @Input() amount: number;\n useOtherAmount: boolean = false;\n\n amountChange(amount: number) {\n this.logger.debug('gift-amount.component.amountChange | amount:', amount);\n this.amountChanged.emit(amount);\n this.amount = amount;\n }\n\n /**\n * Capture the amount selected on the form using the click event\n * @param event\n */\n onAmountOptionsClick(event) {\n this.logger.debug('gift-amount.component.onAmountOptionsClick | event:', event);\n\n let target = event.target || event.srcElement || event.currentTarget;\n\n if (target.children.length > 0) {\n const optionId = target.children[0].id;\n\n const optionAmount = optionId.substring(6);\n\n if (!isNaN(optionAmount)) {\n this.amount = +optionAmount;\n this.amountChanged.emit(+optionAmount);\n }\n this.useOtherAmount = optionId === \"optionOther\";\n }\n }\n\n /**\n * Capture changes to the other amount field\n * @param amount\n */\n onOtherAmountChanged(amount: number) {\n this.amountChanged.emit(+amount);\n }\n\n ngOnInit() {\n this.logger.debug('gift-amount.component.ngOnInit | amount:', this.amount);\n\n // If the amount is not one of the standard options use OtherAmount\n this.useOtherAmount = !([-1, 25, 50, 100, 250, 500, 1000, 2500, 5000].includes(this.amount));\n\n if (this.amount === -1) {\n this.amount = 0;\n }\n\n this.logger.debug('gift-amount.component.ngOnInit | amount:', this.amount);\n\n this.logger.trace('gift-amount.component.ngOnInit | useOtherAmount:', this.useOtherAmount);\n\n }\n\n}\n","
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n\n","import { Component, OnInit } from '@angular/core';\nimport { UntypedFormGroup, UntypedFormBuilder, Validators } from \"@angular/forms\";\nimport { Router, ActivatedRoute } from \"@angular/router\";\n\nimport swal from \"sweetalert2\";\nimport { NgxSpinnerService } from \"ngx-spinner\";\n\nimport { GiftService } from \"@data/services/gift.service\";\nimport { IGift } from \"@interfaces/gift\";\nimport { IDesignation } from \"@interfaces/designation\";\nimport { LoggerService } from \"@core/services/logger.service\";\nimport { HelperService } from \"@core/services/helper.service\";\nimport { ConstantsService } from \"@core/services/constants.service\";\nimport { Title } from '@angular/platform-browser';\n\n@Component({\n selector: 'app-gift-edit',\n templateUrl: './gift-edit.component.html',\n styleUrls: ['./gift-edit.component.css'],\n providers: [LoggerService],\n standalone: false\n})\nexport class GiftEditComponent implements OnInit {\n\n constructor(private formBuilder: UntypedFormBuilder,\n private giftService: GiftService,\n private router: Router,\n private route: ActivatedRoute,\n private logger: LoggerService,\n private spinnerService: NgxSpinnerService,\n private titleService: Title) {\n this.titleService.setTitle(`${ConstantsService.pageTitle} Gift Details`);\n }\n\n editForm: UntypedFormGroup;\n gift: IGift;\n errorMessage: string;\n designationName: string;\n amount: number;\n fundNumber: string;\n\n submitting: boolean = false;\n attempts: number = 0;\n\n\n\n /**\n * Cancel and return to the Review page\n */\n onCancel() {\n this.logger.debug(`gift-edit.component.onCancel`);\n this.router.navigateByUrl(\"/review\");\n HelperService.goToTop();\n }\n\n\n /**\n * Attempt to add the gift to the cache\n */\n onSubmit() {\n this.logger.debug(`gift-edit.component.onSubmit`);\n this.submitting = true;\n\n // Check if form is valid\n if (!this.editForm.valid) {\n // Stop submission if form is not valid and increment counter\n this.attempts++;\n this.logger.debug(`gift-edit.component.onSubmit | attempts: ${this.attempts}`);\n return;\n }\n\n let gift: IGift = { amount: +this.editForm.get(\"amount\").value, id: +this.editForm.get(\"giftId\").value };\n let designation: IDesignation = this.editForm.get(\"fundId\").value;\n gift.designation = designation;\n\n this.logger.trace(`gift-edit.component.onSubmit | designation: `, designation);\n\n this.giftService.editGift(gift).then(\n data => {\n this.logger.trace(`gift-edit.component.onSubmit | editGift response: `, data);\n swal.fire({\n title: \"Updated!\",\n text: `Your gift for $${gift.amount} to ${this.designationName} has been saved`,\n icon: \"success\",\n buttonsStyling: false,\n customClass: {\n confirmButton: 'btn btn-swal-confirm-button'\n }\n });\n this.router.navigateByUrl(\"/review\");\n HelperService.goToTop();\n });\n }\n\n /*** Nested component event listeners ***/\n\n /**\n * Catch amount changed event emitted by child component and set local amount value\n * @param amount value sent out by child form\n */\n onAmountChanged(amount: number) {\n this.logger.debug('gift-edit.component.onAmountChanged | amount:', amount);\n this.editForm.patchValue({ amount: amount });\n }\n\n /**\n * Catch fund selected by search results or fund selector\n * @param selectedFund\n */\n onFundSelected(selectedFund: IDesignation) {\n this.logger.trace('gift-edit.component.onFundSelected | selectedFund:', selectedFund);\n this.fundId.setValue(selectedFund);\n this.designationName = selectedFund.publicName;\n }\n\n ngOnInit() {\n this.logger.debug(\"gift-edit.component.ngOnInit\");\n\n // Create form\n this.editForm = this.formBuilder.group({\n giftId: [],\n amount: [\"\", [Validators.required, Validators.min(1), Validators.max(99999)]],\n fundId: [\"\", Validators.required]\n });\n\n // Check url for parameter and load gift/fund if there\n const id = this.route.snapshot.paramMap.get('id');\n this.logger.debug(`gift-edit.component.ngOnInit | id: ${id}`);\n if (id) {\n // Retrieve gift\n this.giftService.getGift(+id).then(\n data => {\n // Set fund number\n this.fundNumber = data.designation.userId;\n // Set form values\n this.setFormValues(data);\n this.logger.trace(`gift-edit.component.ngOnInit | gift: `, data);\n },\n error => this.errorMessage = error);\n }\n\n }\n\n /**\n * Populate form data with Gift or Designation data returned from api\n * @param gift IGift used to populate form data\n */\n async setFormValues(gift: IGift) {\n this.logger.trace(\"gift-edit.component.setFormValues | gift:\", gift);\n\n this.spinnerService.show(undefined, ConstantsService.defaultSpinnerOptions);\n\n // HACK: We're not going to hear back from the search to know whether or not it was successful\n // so we're just going to assume it was and move on\n\n this.spinnerService.hide();\n\n this.logger.debug(`gift-edit.component.setFormValues | Update form values`);\n\n this.editForm.patchValue({ giftId: gift.id });\n this.editForm.patchValue({ amount: gift.amount });\n this.amount = gift.amount;\n\n this.editForm.patchValue({ fundId: gift.designation });\n this.designationName = gift.designation.publicName;\n\n\n }\n\n get fundId() { return this.editForm.get(\"fundId\"); }\n get amountControl() { return this.editForm.get(\"amount\"); }\n\n}\n","
\n
\n
\n \n\n \n \n\n
\n
\n
\n\n \n\n
\n
A donation amount must be selected
\n
Donation must be between $1 and $99,999
\n
Donation must be between $1 and $99,999
\n
\n\n
= 3\">\n \n
\n\n
\n \n \n
\n
\n
\n\n\n\n
\n","import { Component, OnInit, Output, EventEmitter } from '@angular/core';\nimport { Router } from \"@angular/router\";\n\nimport swal from \"sweetalert2\";\nimport { NgxSpinnerService } from \"ngx-spinner\";\n\nimport { GiftService } from \"@data/services/gift.service\";\nimport { IGift } from \"@interfaces/gift\";\nimport { LoggerService } from \"@core/services/logger.service\";\nimport { HelperService } from \"@core/services/helper.service\";\n\n@Component({\n selector: 'app-gift-list',\n templateUrl: './gift-list.component.html',\n styleUrls: ['./gift-list.component.css'],\n standalone: false\n})\nexport class GiftListComponent implements OnInit {\n\n constructor(private readonly giftService: GiftService,\n private readonly router: Router,\n private readonly spinnerService: NgxSpinnerService,\n private readonly logger: LoggerService) {\n\n }\n\n\n @Output() totalChanged = new EventEmitter();\n\n pageTitle: string = 'You Have Selected The Following Gifts:';\n\n gifts: IGift[];\n total: number;\n errorMessage: string;\n\n\n /**\n * Route to Add Gift component\n */\n addGift(): void {\n this.logger.debug('gift-list.component.addGift');\n this.router.navigateByUrl(\"/add-gift\");\n HelperService.goToTop();\n }\n\n /**\n * Calls the deleteGift method on the gift service and attempts to delete the gift based on id provided\n * @param giftId Id of the gift that should be deleted\n */\n async onDeleteGift(giftId: number): Promise {\n this.logger.debug(`gift-list.component.onDeleteGift | giftId: ${giftId}`)\n const result = this.giftService.deleteGift(giftId);\n\n this.logger.trace(`gift-list.component.onDeleteGift | result: `, result);\n\n await swal.fire({\n title: \"Deleted\",\n text: \"\",\n icon: \"success\",\n buttonsStyling: false,\n customClass: {\n confirmButton: 'btn btn-swal-confirm-button'\n }\n });\n\n await this.getGifts();\n }\n\n\n /**\n * Navigate to Edit component based on id provided\n * @param giftId Id of the gift that should be edited\n */\n onEditGift(giftId: number): void {\n this.logger.debug(`gift-list.component.onEditGift | giftId: ${giftId}`);\n this.router.navigate([\"/edit-gift\", giftId]);\n HelperService.goToTop();\n }\n\n\n /**\n * Attempts to retrieve cached gifts. If no cached gifts exists it will route to the AddGift component\n */\n async getGifts(): Promise {\n const gifts = await this.giftService.getGifts().catch(err => {\n // HACK: Not sure if this is necessary since we're not making an api call anymore\n this.logger.error(`gift-list.component.getGifts`, err);\n });\n\n if (gifts && gifts.length >= 1) {\n this.logger.trace(`gift-list.component.getGifts | gifts: `, gifts);\n this.gifts = gifts;\n this.total = this.giftService.giftTotal();\n await this.spinnerService.hide();\n } else {\n await this.router.navigateByUrl(\"/add-gift\");\n }\n\n }\n\n /**\n * Cancel of delete\n */\n onCancel(event): void {\n this.logger.debug(`gift-list.component.onCancel | event: `, event);\n swal.fire({\n title: \"Cancelled\",\n text: \"\",\n icon: \"info\",\n buttonsStyling: false,\n customClass: {\n confirmButton: 'btn btn-swal-confirm-button'\n }\n });\n }\n\n ngOnInit() {\n this.logger.debug('gift-list.component.ngOnInit');\n this.getGifts();\n\n }\n}\n\n","
\n
\n {{pageTitle}}\n
\n
\n
\n
    \n
  • \n
    \n
    \n {{ gift.designation.publicName }}\n
    \n
    \n {{ gift.amount | currency: 'USD':'symbol':'1.0' }}\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n {{ gift.designation.purposeDescription }}\n
    \n
    \n
    \n
    \n {{ \"Fund Number: \" + gift.designation.fundNumber }}\n
    \n
    \n
  • \n
\n
\n
\n {{ \"Total: $\" + total }}\n
\n
\n
\n\n
\n
\n \n
\n
\n
\n
\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { Router } from \"@angular/router\";\nimport { HttpParams } from \"@angular/common/http\";\nimport { FormBuilder, Validators } from \"@angular/forms\";\n\nimport { DonationService } from \"@data/services/donation.service\"\nimport { GiftType } from \"@interfaces/enums/gift-type.enum\";\nimport { PaymentType } from \"@interfaces/enums/payment-type.enum\";\nimport { SelectPaymentTypeComponent } from \"@features/select-payment-type/select-payment-type.component\";\nimport { SelectGiftTypeComponent } from \"@features/select-gift-type/select-gift-type.component\";\nimport { TributeComponent } from '@features/tribute/tribute.component';\nimport { RecurrenceComponent } from \"@features//recurrence/recurrence.component\";\nimport { HelperService } from \"@core/services/helper.service\";\nimport { LoggerService } from \"@core/services/logger.service\";\nimport { Title } from '@angular/platform-browser';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport { ConstantsService } from \"@core/services/constants.service\";\nimport { IBbRecurrence } from \"@interfaces/blackbaud-donation/bb-recurrence\";\nimport {CountryService} from \"@data/services/country.service\";\nimport {GiftService} from \"@data/services/gift.service\";\n\n@Component({\n selector: 'app-gift-review',\n templateUrl: './gift-review.component.html',\n styleUrls: ['./gift-review.component.css'],\n standalone: false\n})\nexport class GiftReviewComponent implements OnInit {\n\n constructor(private readonly router: Router,\n public readonly donationService: DonationService,\n public readonly giftService: GiftService,\n private readonly spinnerService: NgxSpinnerService,\n private readonly logger: LoggerService,\n private readonly titleService: Title,\n private readonly countryService: CountryService,\n private readonly formBuilder: FormBuilder) {\n\n this.titleService.setTitle(`${ConstantsService.pageTitle} Review`);\n\n }\n\n giftType!: GiftType;\n GiftType = GiftType;\n PaymentType = PaymentType;\n\n total: number;\n displayGifts: boolean = false;\n\n constants = ConstantsService;\n\n giftReviewForm = this.formBuilder.group({\n specialInstructions: [\"\", Validators.maxLength(ConstantsService.attributeTextLength)]\n });\n\n get specialInstructions() { return this.giftReviewForm.get(\"specialInstructions\"); }\n\n @ViewChild(SelectPaymentTypeComponent, { static: true }) paymentTypeComponent: SelectPaymentTypeComponent;\n @ViewChild(SelectGiftTypeComponent, { static: true }) giftTypeComponent: SelectGiftTypeComponent;\n @ViewChild(TributeComponent) tributeComponent: TributeComponent;\n @ViewChild(RecurrenceComponent) recurrenceComponent: RecurrenceComponent;\n\n attempts: number = 0;\n\n /**\n * Route to Your Info component\n */\n yourInfoClick(): void {\n this.logger.debug(\"gift-review.component.yourInfoClick\")\n this.logger.debug(\"gift-review.component.yourInfoClick | location: \", window.location.host);\n\n // Update recurrence on donationService from child form\n // If gift type is not recurring clear\n if (this.donationService.giftType !== GiftType.Recurring) {\n this.donationService.recurrence = null;\n } else {\n // create a new recurrence object from the form fields\n const form = this.recurrenceComponent.form;\n const recurrence: IBbRecurrence = {\n startDate: form.get(\"startDate\").value,\n frequency: form.get(\"frequency\").value\n };\n this.logger.debug(\"gift-review.component.yourInfoClick | recurrence: \", recurrence);\n this.donationService.recurrence = recurrence;\n }\n\n // Update comments on donationService\n this.donationService.comments = this.specialInstructions.value;\n\n // Validate child forms\n this.paymentTypeComponent.submitting = true;\n this.giftTypeComponent.submitting = true;\n if (this.tributeComponent) {\n this.tributeComponent.submitting = true;\n }\n if (this.recurrenceComponent) {\n this.recurrenceComponent.submitting = true;\n }\n\n if (this.paymentTypeComponent.form.invalid || this.giftTypeComponent.form.invalid || this.giftReviewForm.invalid) {\n this.logger.debug(`gift-review.component.yourInfoClick | Form invalid. Attempts: ${this.attempts}`);\n this.attempts ++;\n return;\n }\n if (this.tributeComponent?.form?.invalid){\n this.logger.debug(`gift-review.component.yourInfoClick | Tribute form invalid. Attempts: ${this.attempts}`);\n this.attempts ++;\n return;\n }\n if (this.tributeComponent?.acknowledgeeComponent?.acknowledgeeForm?.invalid)\n {\n this.logger.debug(`gift-review.component.yourInfoClick | Acknowledgee form invalid. Attempts: ${this.attempts}`);\n this.attempts ++;\n return;\n }\n if (this.recurrenceComponent\n && ((!this.donationService.recurrence?.frequency && this.donationService.paymentType === PaymentType.UnifiedCheckout)\n || (this.recurrenceComponent?.form?.invalid))) {\n\n this.logger.debug(`gift-review.component.yourInfoClick | Recurrence form invalid. Attempts: ${this.attempts}`);\n this.attempts ++;\n return;\n }\n\n switch (this.donationService.paymentType) {\n case PaymentType.PayrollDeduction:\n\n let host: string = window.location.host;\n const localhost: boolean = host.includes(\"localhost\");\n let returnUrl: string = `/home/payrollconfirmation/`;\n\n // HACK: this requires an update if we change the virtual directory name. Update to retrieve virtual directory\n returnUrl = `${(localhost) ? \"http://\" : \"https://\"}${host}${(!localhost) ? \"/giving\" : \"\"}${returnUrl}`;\n\n this.logger.debug(\"ReturnUrl: \", returnUrl);\n\n window.location.href = `${returnUrl}`;\n\n break;\n case PaymentType.UnifiedCheckout:\n case PaymentType.Pledge:\n this.router.navigateByUrl(\"/your-info\");\n HelperService.goToTop();\n break;\n }\n\n }\n\n /**\n * Checks for query string parameters and attempts to parse them and route to component accordingly\n */\n parseParams(): void {\n this.logger.debug(\"gift-review.component.parseParams\");\n\n this.logger.loggerReady().then(\n data => {\n const fundIdParam = \"id\";\n const appealIdParam = \"appealId\";\n const url: string = window.location.href;\n\n this.logger.debug(`gift-review.component.parseParams | URL: ${url}`);\n\n let confirmationValue: string;\n let fundIdValue: string;\n let appealIdValue: string;\n\n // If there is a query string in the url attempt to parse for known params\n if (url.includes(\"?\")) {\n const httpParams = new HttpParams({ fromString: url.split(\"?\")[1] });\n\n // Attempt to get a fund id\n fundIdValue = httpParams.get(fundIdParam);\n\n this.logger.debug(`gift-review.component.parseParams | Fund Id: ${fundIdValue}`)\n\n if (fundIdValue) {\n this.displayGifts = false;\n this.router.navigate([\"/gift-referral/\", fundIdValue]);\n }\n\n // Try to get an appeal id and route to add-gift\n appealIdValue = httpParams.get(appealIdParam);\n this.logger.debug(`gift-review.component.parseParams | Appeal Id: ${appealIdValue}`)\n if (appealIdValue) {\n this.logger.debug(`gift-review.component.parseParams | Appeal id found. Route to add-gift with id`);\n this.displayGifts = false;\n this.router.navigate([\"/add-gift/\", appealIdValue]);\n }\n\n }\n\n // If it isn't a confirmation or referral display gifts\n this.displayGifts = true;\n\n });\n }\n\n ngOnInit(): void {\n this.logger.debug(\"gift-review.component.ngOnInit\");\n\n this.spinnerService.show(undefined, ConstantsService.defaultSpinnerOptions);\n\n // Prep countries. Not actually used in this component but makes loading of your-info form faster\n this.logger.debug(`gift-review.component.ngOnInit | Loading countries`)\n this.countryService.getCountries().then(countries => {\n this.logger.trace(`gift-review.component.ngOnInit | Countries: `, countries);\n // Load US\n this.countryService.getCountry(ConstantsService.unitedStatesGuid).then(country => {\n this.logger.trace(`gift-review.component.ngOnInit | Country: `, country);\n });\n });\n\n // Subscribe to donationService.giftType to update local variable\n this.donationService.giftType$.subscribe(giftType => {\n this.logger.debug(\"gift-review.component.giftType$.subscribe | giftType: \", giftType);\n this.giftType = giftType;\n });\n\n // Subscribe to gift total to update local variable\n this.giftService.giftTotal$.subscribe(total => {\n this.logger.debug(\"gift-review.component.giftTotal$.subscribe | total: \", total);\n this.total = total;\n });\n\n\n // Get comments and update form\n this.specialInstructions.setValue(this.donationService.comments);\n\n // Check for param values before loading page\n this.parseParams();\n\n }\n\n}\n","\n
\n\n \n\n \n\n \n\n \n \n\n \n\n
= 3 && !paymentTypeComponent.form.valid\">\n \n
\n\n
= 3 && !giftTypeComponent.form.valid\">\n \n
\n\n
= 3 && !tributeComponent.form.valid\">\n \n
\n\n
= 3 && tributeComponent.acknowledgeeComponent && !tributeComponent.acknowledgeeComponent.acknowledgeeForm.valid\">\n \n
\n
\n
\n \n Special Instructions (optional)\n \n {{ constants.maxLengthMessage }} is {{ constants.attributeTextLength }} characters\n \n
\n
\n\n\n
\n \n
\n
\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { UntypedFormGroup, UntypedFormBuilder, Validators } from \"@angular/forms\";\n\n\nimport { LoggerService } from \"@core/services/logger.service\";\nimport { IDesignation } from \"@interfaces/designation\";\nimport { NgxSpinnerService } from \"ngx-spinner\";\n\n@Component({\n selector: 'app-link-generator',\n templateUrl: './link-generator.component.html',\n styleUrls: ['./link-generator.component.css'],\n providers: [LoggerService],\n standalone: false\n})\nexport class LinkGeneratorComponent implements OnInit {\n\n constructor(private readonly formBuilder: UntypedFormBuilder,\n private readonly spinnerService: NgxSpinnerService,\n private readonly logger: LoggerService) {\n }\n\n addForm: UntypedFormGroup;\n errorMessage: string;\n\n designationName: string;\n\n\n /**\n * Catch fund selected by search results or fund selector\n * @param selectedFund\n */\n onFundSelected(selectedFund: IDesignation) {\n this.logger.debug(`link-generator.component.onFundSelected | selectedFund: `, selectedFund);\n this.fundId.patchValue(selectedFund);\n this.designationName = selectedFund.publicName;\n }\n\n get fundId() { return this.addForm.get(\"fundId\"); }\n\n ngOnInit() {\n this.logger.debug('link-generator.component.ngOnInit');\n\n this.spinnerService.hide();\n\n // Create form\n this.addForm = this.formBuilder.group({\n area: [],\n division: [],\n fundId: [\"\", Validators.required]\n });\n\n }\n\n}\n","
\n
\n

\n Select a fund to generate a direct link.\n

\n\n
\n
\n\n \n \n\n
\n
\n
\n\n
\n OR\n
\n\n \n \n\n

\n\n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-matching-gift-search',\n templateUrl: './matching-gift-search.component.html',\n styleUrls: ['./matching-gift-search.component.css'],\n standalone: false\n})\nexport class MatchingGiftSearchComponent implements OnInit {\n\n constructor() { }\n\n onLoad():void {\n\n }\n\n\n ngOnInit() {\n }\n\n}\n","\n
\n \n
\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-matching-gift',\n templateUrl: './matching-gift.component.html',\n styleUrls: ['./matching-gift.component.css'],\n standalone: false\n})\nexport class MatchingGiftComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","
\n
\n
\n

\n What's better than giving to initiatives you care about? Doubling or tripling the impact of your generosity with a matching gift!\n

\n

\n Matching gift programs can dramatically increase your charitable giving to the university at no additional cost to you. Many companies match donations made by their employees (and sometimes even retirees or employees' spouses). This support helps UC San Diego enhance the student experience, enrich our campus community, provide compassionate patient care, and propel research and innovation.\n

\n

\n Check if an employer is a participating company and view its specific matching gift forms, guidelines and instructions by using the search box below.\n

\n
\n
\n \n
\n
\n

\n If employer information is not available using this search tool, please contact the company to see if it has a matching gift program. If required to submit a hard copy of a matching gift form, please mail it to the following address:\n

\n

\n UC San Diego Gift Services\n
9500 Gilman Drive # 0940\n
La Jolla, CA 92093-0940\n

\n

\n If you have any questions, please visit the\n Gift Services FAQ\n or email matchinggifts@ucsd.edu.\n

\n
\n
\n
\n\n\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { NgForm } from \"@angular/forms\";\nimport { GiftService } from \"@data/services/gift.service\";\nimport { SsoUserService } from \"@data/services/sso-user.service\";\nimport swal from \"sweetalert2\";\n\nimport { Event as NavigationEvent } from \"@angular/router\";\nimport { Router, NavigationStart } from \"@angular/router\";\nimport { filter } from \"rxjs/operators\";\nimport { DonationService } from \"@data/services/donation.service\";\nimport { PayrollDeductionService } from \"@data/services/payroll-deduction.service\";\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport { ConstantsService } from \"@core/services/constants.service\";\nimport { LoggerService } from \"@core/services/logger.service\";\nimport { Title } from '@angular/platform-browser';\nimport {IGift} from \"@interfaces/gift\";\n\n\n@Component({\n selector: 'app-payroll-deduction',\n templateUrl: './payroll-deduction.component.html',\n styleUrls: ['./payroll-deduction.component.css'],\n providers: [LoggerService],\n standalone: false\n})\nexport class PayrollDeductionComponent implements OnInit {\n\n constructor(public readonly giftService: GiftService,\n private readonly ssoUserService: SsoUserService,\n public readonly donationService: DonationService,\n private readonly payrollDeductionService: PayrollDeductionService,\n private readonly router: Router,\n private readonly spinnerService: NgxSpinnerService,\n private readonly logger: LoggerService,\n private readonly titleService: Title) {\n\n this.titleService.setTitle(`${ConstantsService.pageTitle} Your Info`);\n router.events.pipe(\n filter(\n (event: NavigationEvent) => {\n return (event instanceof NavigationStart);\n }\n )\n )\n .subscribe(\n (event: NavigationStart) => {\n if (event.restoredState) {\n // Navigate back to the review page as back will not work with SSO\n router.navigateByUrl(\"/review\");\n }\n }\n );\n }\n\n readonly acknowledgementText: string = \"UC San Diego will contact me if there are any questions about my contribution. My payment will be reflected on my UC San Diego Payroll stub and will satisfy the Internal Revenue Service Regulations regarding charitable gifts.\";\n readonly payrollNotice: string = \"Please be aware that, at this time, payroll deductions are ongoing, recurring gifts. To make a one-time gift, please give online using your credit/debit card or give us a call directly at (858) 534-1610\";\n\n pageTitle: string = \"Payroll Deduction\";\n\n giftTotal: number = 0;\n gifts!: IGift[];\n isAcknowledged: boolean = false;\n payrollCycle: string;\n\n submitting: boolean = false;\n\n @ViewChild(\"f\", { static: true }) form: NgForm;\n\n attempts: number = 0;\n\n\n\n /** Validate form and submit to gift processing */\n submit(): void {\n this.logger.debug('payroll-deduction.component.submit');\n this.submitting = true;\n\n // Check for sso user\n if (!this.donationService.ssoUser || !this.donationService.ssoUser.employeeId) {\n swal.fire({\n title: \"An Error Occurred\",\n text: \"Your employee id could not be retrieved from single sign on. Please return to the previous page and try again, or contact Gift Processing to continue\",\n icon: \"error\",\n buttonsStyling: false,\n customClass: {\n confirmButton: 'btn btn-swal-confirm-button'\n }\n });\n return;\n }\n\n // Validate form\n if (this.form.invalid) {\n this.attempts++;\n return;\n }\n\n this.spinnerService.show(undefined, ConstantsService.defaultSpinnerOptions);\n\n this.payrollDeductionService.addPayrollDeduction(this.payrollCycle, this.giftService.gifts, this.donationService.ssoUser).then(\n data => {\n this.logger.trace('payroll-deduction.component.submit | addPayrollDeduction response: ', data);\n this.router.navigateByUrl(\"payrollsubmitted\");\n }, error => {\n this.spinnerService.hide();\n swal.fire({\n title: \"An Error Occurred\",\n text: ConstantsService.processingErrorMessage,\n icon: \"error\",\n buttonsStyling: false,\n customClass: {\n confirmButton: 'btn btn-swal-confirm-button'\n }\n });\n this.logger.fatal(\"An error occurred while attempting to add a Payroll Deduction\", error);\n });\n }\n\n getGifts(): void {\n this.logger.debug('payroll-deduction.component.getGifts');\n this.gifts = this.giftService.gifts;\n this.logger.trace('payroll-deduction.component.getGifts | gifts: ', this.gifts);\n this.giftTotal = this.giftService.giftTotal();\n }\n\n ngOnInit() {\n this.logger.debug('payroll-deduction.component.ngOnInit');\n this.ssoUserService.getSsoUser().then(\n data => {\n this.donationService.ssoUser = data;\n });\n\n this.getGifts();\n\n }\n}\n\n","
\n\n
About Your Gift
\n
\n \n
\n
\n
\n Acknowledgement: *\n
\n
\n {{ acknowledgementText }}\n
\n
\n I have read and understood the statement above\n
\n
\n \n
\n
\n \n \n
\n\n
\n
\n
Please acknowledge the statement above
\n
Please select a payroll cycle
\n
\n
\n \n
\n
\n {{ payrollNotice }}\n
\n
About You
\n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n\n
\n","import { Component, OnInit, Input, ViewChild } from '@angular/core';\nimport {FormBuilder, NgForm, Validators} from \"@angular/forms\";\n\nimport { GiftType } from \"@interfaces/enums/gift-type.enum\";\nimport { PaymentType } from \"@interfaces/enums/payment-type.enum\";\nimport { DonationService } from \"@data/services/donation.service\";\nimport { RecurrenceType } from \"@interfaces/enums/recurrence-type.enum\";\n\nimport { LoggerService } from \"@core/services/logger.service\";\n\n@Component({\n selector: 'app-recurrence',\n templateUrl: './recurrence.component.html',\n styleUrls: ['./recurrence.component.css'],\n providers: [LoggerService],\n standalone: false\n})\nexport class RecurrenceComponent implements OnInit {\n\n constructor(public readonly donationService: DonationService,\n private readonly logger: LoggerService,\n private readonly formBuilder: FormBuilder) { }\n\n @Input() total: number;\n\n _recurring: boolean;\n @Input()\n set recurring(value: boolean) {\n this.logger.debug(\"recurrence.component.setRecurring | value: \", value);\n this._recurring = value;\n if (!this._recurring) {\n // Clear form\n this.form.reset();\n this.form.clearValidators();\n this.donationService.recurrence = null;\n } else {\n if (!this.donationService.recurrence) {\n // Set default startDate\n this.startDate.setValue(new Date());\n // Add validators\n this.frequency.setValidators([Validators.required]);\n this.startDate.setValidators([Validators.required]);\n }\n }\n }\n get recurring(): boolean {\n return this._recurring;\n }\n\n readonly recurringInfo: string = 'Thank you for becoming a sustaining donor! Your gift will be charged to the credit/debit card you provide in the amount and frequency indicated above. You may change or cancel your sustaining gift at any time by contacting Gift Processing at onlinegift@ucsd.edu'\n readonly payrollDeductionInfo: string = \"The Payroll Deduction option is for qualified UC San Diego employees only. You will be prompted to use your Single Sign On for this payment option. If you are not eligible, please select Secure Checkout instead.\";\n // \"

New recurring gifts via credit card are not active at this time. Please email giving@ucsd.edu if you would like to be notified when this option is available.\";\n\n giftType!: GiftType;\n GiftType = GiftType;\n paymentType!: PaymentType;\n PaymentType = PaymentType;\n RecurrenceType = RecurrenceType;\n\n submitting: boolean = false;\n\n recurrenceOptions: string[];\n\n minDate: Date = new Date();\n\n form = this.formBuilder.group({\n frequency: [null, [Validators.required]],\n startDate: [null, [Validators.required]]\n });\n\n get frequency(): any { return this.form.get(\"frequency\"); }\n get startDate(): any { return this.form.get(\"startDate\"); }\n\n ngOnInit() {\n this.logger.debug(\"recurrence.component.ngOnInit\");\n\n // Get recurrence options from enum\n this.recurrenceOptions = Object.keys(this.RecurrenceType).filter(f => !isNaN(Number(f)));\n\n // Subscribe to donationService.GiftType changes and update local variable\n this.donationService.giftType$.subscribe(giftType => {\n this.logger.debug(\"recurrence.component.giftType$.subscribe | giftType: \", giftType);\n this.giftType = giftType;\n });\n\n // Subscribe to donationService.PaymentType changes and update local variable\n this.donationService.paymentType$.subscribe(paymentType => {\n this.logger.debug(\"recurrence.component.paymentType$.subscribe | paymentType: \", paymentType);\n this.paymentType = paymentType;\n // If payment type is payroll deduction remove validators\n if (this.paymentType === PaymentType.PayrollDeduction) {\n this.frequency.clearValidators();\n this.startDate.clearValidators();\n this.frequency.updateValueAndValidity();\n this.startDate.updateValueAndValidity();\n this.logger.debug(`recurrence.component.paymentType$.subscribe | formValid: ${this.form.valid}`)\n\n // Set frequency to monthly\n this.frequency.setValue(RecurrenceType.Monthly);\n\n } else {\n // Add validators\n this.frequency.setValidators([Validators.required]);\n this.startDate.setValidators([Validators.required]);\n this.frequency.updateValueAndValidity();\n this.startDate.updateValueAndValidity();\n this.logger.debug(`recurrence.component.paymentType$.subscribe | formValid: ${this.form.valid}`)\n\n // Clear frequency\n this.frequency.setValue(null);\n\n\n }\n });\n\n // Check for existing recurrence\n if (this.donationService.recurrence) {\n this.logger.debug(\"recurrence.component.ngOnInit | Existing recurrence: \", this.donationService.recurrence);\n\n // get values and populate form\n this.frequency.setValue(this.donationService.recurrence.frequency);\n this.startDate.setValue(this.donationService.recurrence.startDate);\n\n }\n\n }\n\n}\n","
\n \n {{\"Charge $\" + total + \" To My Account\"}}\n \n
\n
\n \n Frequency\n \n \n {{RecurrenceType[recurrenceOption]}}\n \n \n Frequency is required\n \n
\n\n
\n
\n \n Start Date\n \n \n \n \n
\n
\n
\n\n
\n \n
\n
\n
\n\n
\n\n\n\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { UntypedFormGroup, UntypedFormBuilder, Validators, NgForm } from \"@angular/forms\";\n\nimport { DonationService } from \"@data/services/donation.service\";\nimport { GiftType } from \"@interfaces/enums/gift-type.enum\";\nimport { LoggerService } from \"@core/services/logger.service\";\n\n\n@Component({\n selector: 'app-select-gift-type',\n templateUrl: './select-gift-type.component.html',\n styleUrls: ['./select-gift-type.component.css'],\n providers: [LoggerService],\n standalone: false\n})\nexport class SelectGiftTypeComponent implements OnInit {\n\n constructor(public readonly donationService: DonationService,\n private readonly formBuilder: UntypedFormBuilder,\n private readonly logger: LoggerService) { }\n\n GiftType = GiftType;\n\n form: UntypedFormGroup;\n\n submitting: boolean = false;\n\n get giftType() { return this.form.get(\"giftType\"); }\n\n ngOnInit() {\n this.logger.debug('select-gift-type.component.ngOnInit');\n this.form = this.formBuilder.group({\n giftType: [\"\", [Validators.required]]\n });\n\n // Get initial value\n this.giftType.setValue(this.donationService.giftType);\n\n // Watch for changes and update the donation object\n this.giftType.valueChanges.subscribe(value => {\n this.logger.debug(`select-gift-type.component.giftType.valueChanges | value: `, value);\n this.donationService.giftType = value;\n // If it is not a recurring then wipe out any recurring info\n if (value !== GiftType.Recurring) {\n this.logger.debug(`select-gift-type.component.giftType.valueChanges | Clearing recurrence`);\n this.donationService.recurrence = null;\n }\n });\n }\n\n}\n","
\n
\n Make This Gift\n
\n\n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n Please select a Gift Type\n
\n","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder , Validators} from \"@angular/forms\";\nimport { DonationService } from \"@data/services/donation.service\";\nimport { PaymentType } from \"@interfaces/enums/payment-type.enum\";\nimport { GiftType } from \"@interfaces/enums/gift-type.enum\";\nimport { LoggerService } from \"@core/services/logger.service\";\n\n@Component({\n selector: 'app-select-payment-type',\n templateUrl: './select-payment-type.component.html',\n styleUrls: ['./select-payment-type.component.css'],\n providers: [LoggerService],\n standalone: false\n})\nexport class SelectPaymentTypeComponent implements OnInit {\n\n constructor(public readonly donationService: DonationService,\n private readonly formBuilder: FormBuilder,\n private readonly logger: LoggerService) { }\n\n giftType!: GiftType;\n GiftType = GiftType;\n PaymentType = PaymentType;\n\n submitting: boolean = false;\n\n initialGiftTypeSet: boolean = false;\n\n form = this.formBuilder.group({\n paymentType: [-1, [Validators.required]]\n });\n\n get paymentType() { return this.form.get(\"paymentType\"); }\n\n ngOnInit() {\n this.logger.debug(`select-payment-type.component.ngOnInit | giftType: ${this.donationService.giftType} | paymentType: ${this.donationService.paymentType}`)\n\n // Get initial value\n if (this.donationService.paymentType){\n this.paymentType.setValue(this.donationService.paymentType);\n }\n\n // Watch for changes and update the donation object\n this.paymentType.valueChanges.subscribe(value => {\n this.logger.debug(`select-payment-type.component.paymentType.valueChanges | value: ${value}`);\n this.donationService.paymentType = value;\n });\n\n // Watch for changes on the gift type, so we can set the default payment type\n this.donationService.giftType$.subscribe(giftType => {\n this.logger.debug(`select-payment-type.component.giftType$.subscribe | giftType: ${giftType} | initialGiftTypeSet: ${this.initialGiftTypeSet}`)\n this.giftType = giftType;\n if (this.initialGiftTypeSet){\n if (giftType === GiftType.OneTime || giftType === GiftType.PledgePayment){\n this.paymentType.setValue(PaymentType.UnifiedCheckout);\n } else {\n this.paymentType.setValue(undefined);\n }\n } else {\n this.initialGiftTypeSet = true;\n }\n });\n }\n\n}\n","
\n Payment Type\n
\n\n
\n
\n
\n \n Secure Checkout\n \n \n
\n
\n
\n Please select a Payment Type\n
\n\n
\n\n","import {Component, OnDestroy, OnInit, ViewChild} from '@angular/core';\nimport {Validators, FormBuilder} from \"@angular/forms\";\nimport { Subscription } from 'rxjs';\nimport { DonationService } from \"@data/services/donation.service\";\nimport { AcknowledgeeComponent } from \"@features/acknowledgee/acknowledgee.component\";\nimport { ConstantsService } from \"@core/services/constants.service\";\n\nimport { LoggerService } from \"@core/services/logger.service\";\nimport { TextValidators } from '@core/validators/text-validators';\nimport {ITribute} from \"@interfaces/tribute\";\n\n@Component({\n selector: 'app-tribute',\n templateUrl: './tribute.component.html',\n styleUrls: ['./tribute.component.css'],\n providers: [LoggerService],\n standalone: false\n})\nexport class TributeComponent implements OnInit, OnDestroy {\n\n constructor(public readonly donationService: DonationService,\n private readonly formBuilder: FormBuilder,\n private readonly logger: LoggerService) { }\n\n inHonorOrMemory: boolean = false;\n\n tributeSubscription: Subscription;\n\n constants = ConstantsService;\n\n form = this.formBuilder.group({\n firstName: [],\n lastName: [],\n tributeType: []\n });\n\n @ViewChild(AcknowledgeeComponent) acknowledgeeComponent: AcknowledgeeComponent;\n\n submitting: boolean = false;\n\n /**\n * Capture change event of In Honor or Memory checkbox and create or destroy tribute on donation service\n * @param event\n */\n onInTributeChanged(event) {\n this.logger.debug('tribute.component.onInTributeChanged');\n\n if (event.checked) {\n this.inHonorOrMemory = true;\n if (!this.donationService.tribute) {\n this.donationService.tribute = {\n tributeDefinition: {\n firstName: \"\",\n lastName: \"\",\n type: \"\",\n description: \"\"\n }\n }\n }\n // Add validators\n this.logger.debug('tribute.component.onInTributeChanged | Add validators')\n this.firstName.setValidators([Validators.required, Validators.maxLength(ConstantsService.firstNameCharacterLimit), TextValidators.exludeSpecialCharacters()]);\n this.lastName.setValidators([Validators.required, Validators.maxLength(ConstantsService.lastNameCharacterLimit), TextValidators.exludeSpecialCharacters()]);\n this.tributeType.setValidators([Validators.required]);\n this.form.reset();\n this.logger.debug('tribute.component.onInTributeChanged | Subscribe to changes')\n this.watchChanges();\n } else {\n this.inHonorOrMemory = false;\n this.logger.debug('tribute.component.onInTributeChanged | Unsubscribe from changes to form')\n this.tributeSubscription.unsubscribe();\n this.donationService.tribute = null;\n // Remove validators\n this.logger.debug('tribute.component.onInTributeChanged | Remove validators');\n this.firstName.clearValidators();\n this.lastName.clearValidators();\n this.tributeType.clearValidators();\n this.firstName.updateValueAndValidity();\n this.lastName.updateValueAndValidity();\n this.tributeType.updateValueAndValidity();\n // Clear form values\n this.firstName.setValue(\"\");\n this.lastName.setValue(\"\");\n this.tributeType.setValue(\"\");\n }\n }\n\n // Getters for controls\n get firstName() { return this.form.get(\"firstName\"); }\n get lastName() { return this.form.get(\"lastName\"); }\n get tributeType() { return this.form.get(\"tributeType\"); }\n\n get inHonorOfText() { return ConstantsService.inHonorText; }\n get inMemoryOfText() { return ConstantsService.inMemoryText; }\n\n /** Watch for changes and update donation object */\n watchChanges(): void {\n this.logger.debug('tribute.component.watchChanges');\n this.tributeSubscription = this.form.valueChanges.subscribe(value => {\n if (!this.inHonorOrMemory) {\n return;\n }\n this.logger.debug(`tribute.component.watchChanges | value: ${JSON.stringify(value)}`);\n const tribute: ITribute = {\n tributeDefinition: {\n firstName: value.firstName,\n lastName: value.lastName,\n type: value.tributeType,\n description: \"\"\n }\n }\n this.logger.debug(`tribute.component.watchChanges | tribute: ${JSON.stringify(tribute)}`);\n this.donationService.tribute = tribute;\n });\n }\n\n ngOnInit() {\n this.logger.debug('tribute.component.ngOnInit');\n if (this.donationService.tribute) {\n this.inHonorOrMemory = true;\n // Get initial values\n this.firstName.setValue(this.donationService.tribute.tributeDefinition.firstName);\n this.lastName.setValue(this.donationService.tribute.tributeDefinition.lastName);\n this.tributeType.setValue(this.donationService.tribute.tributeDefinition.type);\n }\n\n this.watchChanges();\n\n }\n\n ngOnDestroy() {\n this.tributeSubscription.unsubscribe();\n }\n\n}\n","
\n \n \n I'd like to give this gift in memory or in honor of someone\n \n
\n\n
\n
\n
\n
\n \n \n
\n
\n
Please select either In Honor or In Memory
\n\n
\n
\n \n First Name\n \n First Name is required\n {{ constants.maxLengthMessage }} is {{ constants.firstNameCharacterLimit }} characters\n {{constants.invalidCharactersMessage}}\n \n\n
\n
\n \n Last Name\n \n Last Name is required\n {{ constants.maxLengthMessage }} is {{ constants.lastNameCharacterLimit }} characters\n {{constants.invalidCharactersMessage}}\n \n
\n
\n
\n\n \n\n
\n\n","import {Component, EventEmitter, OnInit, Output, Renderer2} from '@angular/core';\nimport {LoggerService} from \"@core/services/logger.service\";\nimport {DonationService} from \"@data/services/donation.service\";\nimport {UnifiedCheckoutService} from \"@data/services/unified-checkout.service\";\nimport {MatDialogRef} from \"@angular/material/dialog\";\nimport {NgxSpinnerService} from \"ngx-spinner\";\nimport {ConstantsService} from \"@core/services/constants.service\";\nimport {IAuthorizationResponse} from \"@interfaces/unified-checkout/authorization-response\";\nimport {GiftType} from \"@interfaces/enums/gift-type.enum\";\nimport Swal from \"sweetalert2\";\nimport {ICaptureContextResponse} from \"@interfaces/unified-checkout/capture-context-response\";\nimport {ScriptService} from \"@core/services/script.service\";\nimport {GiftService} from \"@data/services/gift.service\";\nimport {DonorService} from \"@data/services/donor.service\";\nimport {IBbRecurrence} from \"@interfaces/blackbaud-donation/bb-recurrence\";\nimport {RecurrenceType} from \"@interfaces/enums/recurrence-type.enum\";\n\n// Declare JavaScript function for Unified Checkout\ndeclare function Accept(cc: string): any;\n\n@Component({\n selector: 'app-unified-checkout',\n standalone: false,\n templateUrl: './unified-checkout.component.html',\n styleUrl: './unified-checkout.component.css'\n})\nexport class UnifiedCheckoutComponent implements OnInit {\n constructor(private readonly logger: LoggerService,\n private readonly giftService: GiftService,\n private readonly donationService: DonationService,\n private readonly donorService: DonorService,\n private readonly unifiedCheckoutService: UnifiedCheckoutService,\n private readonly spinnerService: NgxSpinnerService,\n private renderer: Renderer2,\n private readonly scriptService: ScriptService,\n private readonly dialogRef: MatDialogRef) { }\n\n\n @Output() onAuthorized: EventEmitter = new EventEmitter();\n\n paymentComplete: boolean = false;\n paymentCancelled: boolean = false;\n\n show: boolean = false;\n\n giftType!: GiftType;\n recurrence!: IBbRecurrence;\n giftTotal!: number;\n\n async ngOnInit() {\n this.logger.debug(\"unified-checkout.ngOnInit\");\n\n this.logger.trace(`unified-checkout.ngOnInit | donationId: ${this.donationService.donationId}`);\n\n // Add a loading spinner\n await this.spinnerService.show(undefined, ConstantsService.defaultSpinnerOptions);\n\n // Subscribe to gift type\n this.donationService.giftType$.subscribe(giftType => {\n this.logger.trace(`unified-checkout.ngOnInit | giftType: `, giftType);\n this.giftType = giftType;\n if (this.giftType === GiftType.Recurring) {\n this.logger.trace(`unified-checkout.ngOnInit | recurrence: `, this.donationService.recurrence);\n this.recurrence = this.donationService.recurrence;\n this.giftTotal = this.giftService.giftTotal();\n }\n });\n\n // Get donor info\n const donor = this.donorService.donor;\n this.logger.trace(`unified-checkout.ngOnInit | donor: `, donor);\n\n const merchantId = await this.getMerchantId();\n\n // Get capture context and load buttons\n const captureContextResponse = await this.unifiedCheckoutService.getCaptureContext(\n merchantId,\n this.giftService.giftTotal().toString(),\n donor.address.addressLines,\n donor.address.city,\n donor.address.state.iso31662,\n donor.address.country.isoCode,\n donor.address.postalCode,\n donor.FirstName,\n donor.lastName,\n donor.emailAddress,\n donor.phone\n ).catch(err => {\n this.logger.error(\"Error getting capture context: \", err);\n\n this.handleError(err);\n });\n\n if (!captureContextResponse) {\n this.logger.debug('unified-checkout.ngOnInit | No capture context found')\n return;\n }\n\n this.logger.trace(`unified-checkout.ngOnInit | captureContextResponse: `, captureContextResponse);\n\n // Set a timeout based on the capture context exp\n const millisecondsTillExp = this.getTimeToExpiration(captureContextResponse);\n\n // Set a timeout to close the dialog\n this.createSessionTimeout(millisecondsTillExp);\n\n // Load the Unified Checkout script\n const scriptElement = this.scriptService.loadScript(this.renderer, captureContextResponse.ctx[0].data.clientLibrary);\n this.logger.trace(`unified-checkout.ngOnInit | scriptElement: `, scriptElement);\n scriptElement.onload = async () => {\n this.logger.debug(\"unified-checkout.ngOnInit | script loaded\");\n await this.onScriptLoaded(captureContextResponse);\n };\n }\n\n onCancel() {\n this.logger.debug(\"unified-checkout.onCancel\");\n this.paymentCancelled = true;\n this.dialogRef.close();\n }\n\n getTimeToExpiration(captureContextResponse: ICaptureContextResponse){\n this.logger.debug(`unified-checkout.getTimeout | exp: `, captureContextResponse.exp);\n const now = new Date().getTime();\n const exp = captureContextResponse.exp * 1000;\n const diff = exp - now;\n this.logger.debug(`unified-checkout.getTimeout | now: ${now} | exp: ${exp} | diff: ${diff}`)\n\n return diff;\n }\n\n createSessionTimeout(millisecondsTillExp: any) {\n this.logger.debug(\"unified-checkout.createSessionTimeout\");\n setTimeout(() => {\n if (this.paymentComplete || this.paymentCancelled) {\n // If payment is complete or cancelled, do nothing\n this.logger.debug(\"unified-checkout.createSessionTimeout | Payment complete or cancelled\");\n return;\n }\n\n this.logger.debug(\"unified-checkout.createSessionTimeout | Session expired\");\n\n // Display a message to the user\n Swal.fire({\n title: 'Session Expired',\n text: \"Your session has expired. Please click 'Secure Checkout' to try again.\",\n icon: 'warning',\n buttonsStyling: false,\n customClass: {\n confirmButton: 'btn btn-swal-confirm-button'\n }\n }).then(() => {});\n this.onCancel();\n }, millisecondsTillExp);\n }\n\n async onScriptLoaded(captureContextResponse: ICaptureContextResponse): Promise {\n this.logger.debug(\"unified-checkout.onScriptLoaded\");\n\n const showArgs = {\n containers: {\n paymentSelection: \"#buttonPaymentListContainer\",\n paymentScreen: \"#embeddedPaymentContainer\"\n }\n };\n\n // Call Accept method in Unified Checkout js library that was loaded\n const accept = await Accept(captureContextResponse.transientTokenJwt);\n\n this.logger.trace('unified-checkout.onScriptLoaded | accept: ', accept);\n\n const up = await accept.unifiedPayments(false);\n\n this.logger.trace('unified-checkout.onScriptLoaded | unifiedPayments: ', up);\n\n this.show = true;\n\n await this.spinnerService.hide();\n const transientToken = await up.show(showArgs);\n\n this.logger.trace('unified-checkout.onScriptLoaded | transientToken: ', transientToken);\n\n await this.spinnerService.show(undefined, ConstantsService.defaultSpinnerOptions);\n\n try {\n // Single gift vs recurring\n let authResponse: IAuthorizationResponse;\n if (this.donationService.giftType === GiftType.Recurring) {\n authResponse = await this.processRecurringGift(transientToken);\n } else {\n authResponse = await this.processOneTimeGift(transientToken);\n }\n\n // Check for processor declined\n if (authResponse?.status !== 'AUTHORIZED') {\n // Flag the transaction as failed and add processor transaction id\n await this.donationService.updateOnlineGivingDonationWithFailure(this.donationService.donationId, authResponse.status, authResponse.id);\n\n Swal.fire({\n title: 'Payment Error',\n text: 'There was a problem processing your payment. Please try again, or contact Gift Processing at 858-246-1090 for assistance.',\n icon: 'error',\n buttonsStyling: false,\n customClass: {\n confirmButton: 'btn btn-swal-confirm-button'\n }\n }).then(() => {});\n this.spinnerService.hide().then(() => {});\n this.onCancel();\n return;\n }\n\n // Complete the donation\n this.donationService.completeOnlineGivingDonation(this.donationService.donationId, authResponse.id).then(() => {});\n\n this.onAuthorized.emit(authResponse);\n this.paymentComplete = true;\n\n } catch (err) {\n this.logger.error('unified-checkout.onScriptLoaded | Error: ', err);\n this.handleError(err);\n }\n\n }\n\n async processOneTimeGift(transientToken: string): Promise{\n this.logger.debug(\"unified-checkout.processOneTimeGift\");\n\n const merchantId = await this.getMerchantId();\n\n const donor = this.donorService.donor;\n\n const result = await this.unifiedCheckoutService.authorizePayment(transientToken,\n merchantId,\n donor.address.addressLines,\n donor.address.city,\n donor.address.state.iso31662,\n donor.address.country.isoCode,\n donor.address.postalCode,\n donor.FirstName,\n donor.lastName,\n donor.emailAddress,\n donor.phone);\n\n this.logger.trace(\"unified-checkout.processOneTimeGift | authorizePaymentResult: \", result);\n\n const id = result.id;\n this.logger.debug(\"unified-checkout.processOneTimeGift | id: \", id);\n\n return result;\n }\n\n async processRecurringGift(transientToken: string): Promise{\n this.logger.debug(\"unified-checkout.processRecurringGift\");\n\n const donor = this.donorService.donor;\n\n const result = await this.unifiedCheckoutService.createToken(transientToken,\n await this.getMerchantId(),\n donor.address.addressLines,\n donor.address.city,\n donor.address.state.iso31662,\n donor.address.country.isoCode,\n donor.address.postalCode,\n donor.FirstName,\n donor.lastName,\n donor.emailAddress,\n donor.phone\n );\n\n // Confirm that the token was authorized before we continue\n if (result.status !== 'AUTHORIZED') {\n this.logger.error(\"unified-checkout.processRecurringGift | Error creating customer token\");\n return result;\n }\n\n // If the token was authorized, get customer token from authResponse\n const customerToken = result?.id;\n\n // If successful create plan\n const planResponse =\n await this.unifiedCheckoutService.createPlan(this.donorService.donor, this.giftService.giftTotal().toString(), this.donationService.recurrence, await this.getMerchantId());\n\n // If successful create subscription\n const subscriptionResponse =\n await this.unifiedCheckoutService.createSubscription(customerToken, planResponse.id, this.donorService.donor, this.donationService.recurrence, await this.getMerchantId());\n\n this.logger.trace(\"unified-checkout.processRecurringGift | subscriptionResponse: \", subscriptionResponse);\n\n return result;\n }\n\n handleError(err: any){\n // Update donation with failure information\n this.donationService.updateOnlineGivingDonationWithFailure(this.donationService.donationId, err.message, \"\").then(() => {});\n\n this.spinnerService.hide().then(() => {});\n\n // Display an error message to the user\n Swal.fire({\n title: 'Error',\n text: 'An error occurred. Please try again, or contact Gift Processing at 858-246-1090 to continue your donation.',\n icon: 'error',\n buttonsStyling: false,\n customClass: {\n confirmButton: 'btn btn-swal-confirm-button'\n }\n }).then(() => {});\n // Close the dialog\n this.onCancel();\n }\n\n async getMerchantId(){\n this.logger.debug('unified-checkout.getMerchantId');\n // HACK: Better way of doing this?\n // Get Gifts\n const gifts = await this.giftService.getGifts();\n // Get merchant id\n const merchantId = this.donationService.getMerchantId(gifts);\n\n this.logger.debug('unified-checkout.getMerchantId | merchantId: ', merchantId);\n\n return merchantId;\n }\n\n protected readonly GiftType = GiftType;\n protected readonly RecurrenceType = RecurrenceType;\n}\n","\n
\n
\n
\n
\n
\n
\n
\n
\n

By continuing, you authorize the storage of this payment method for donations of ${{giftTotal}} {{RecurrenceType[recurrence.frequency]}} starting {{recurrence.startDate | date: \"shortDate\"}}

\n
\n
\n \n
\n
\n
\n","import {Component, OnInit, ViewChild} from '@angular/core';\nimport { UntypedFormGroup, UntypedFormBuilder, Validators } from \"@angular/forms\";\nimport { Router } from \"@angular/router\";\nimport { Title } from '@angular/platform-browser';\nimport { NgxSpinnerService } from \"ngx-spinner\";\n\nimport { Donor } from \"@interfaces/donor\";\nimport { HelperService } from \"@core/services/helper.service\";\nimport { DonationService } from \"@data/services/donation.service\";\nimport { PaymentType } from \"@interfaces/enums/payment-type.enum\";\nimport { LoggerService } from \"@core/services/logger.service\";\n\nimport { ConstantsService } from \"@core/services/constants.service\";\nimport { TextValidators } from '@core/validators/text-validators';\n\nimport { MatDialog, MatDialogConfig } from \"@angular/material/dialog\";\nimport { UnifiedCheckoutComponent } from \"@features/unified-checkout/unified-checkout.component\";\nimport { DonorService } from \"@data/services/donor.service\";\nimport Swal from \"sweetalert2\";\nimport {RecaptchaService} from \"@data/services/recaptcha.service\";\n\n@Component({\n selector: 'app-your-info',\n templateUrl: './your-info.component.html',\n styleUrls: ['./your-info.component.css'],\n providers: [LoggerService],\n standalone: false\n})\nexport class YourInfoComponent implements OnInit {\n constructor(private readonly formBuilder: UntypedFormBuilder,\n private readonly router: Router,\n public readonly donationService: DonationService,\n private readonly donorService: DonorService,\n private readonly logger: LoggerService,\n private readonly spinnerService: NgxSpinnerService,\n private readonly titleService: Title,\n private readonly recaptchaService: RecaptchaService,\n private readonly constants: ConstantsService,\n private readonly dialog: MatDialog) {\n this.titleService.setTitle(`${ConstantsService.pageTitle} Your Info`);\n }\n\n public ConstantsService = ConstantsService;\n\n captchaSiteKey: string = this.constants.recaptchaSiteKey;\n @ViewChild('captchaElement') captchaElement: any;\n enableCheckout: boolean = false;\n recaptchaFailed: boolean = false;\n\n pageTitle: string = \"About You\";\n yourInfoForm: UntypedFormGroup;\n addressForm: UntypedFormGroup;\n\n PaymentType = PaymentType;\n\n showAddress: boolean = false;\n showPostalCode: boolean = true;\n showState: boolean = true;\n\n errorMessage: string;\n isCorporate: boolean = false;\n\n armedForces: boolean = false;\n\n attempts: number = 0;\n\n readonly armedForcesMsg: string = 'Important: Unfortunately, the secure system we currently use to process credit card gifts is unable to accept billing addresses from American Armed Forces locations. We deeply regret this inconvenience and want to assure you that we are actively pursuing a solution with them. In the meantime, we thank you for your desire to make a gift to UC San Diego and would be happy to facilitate your gift over the phone at (858) 246-1090. You can also email us here with any questions. Thank you for your service to our country and your support of UC San Diego.';\n\n onReview() {\n this.logger.debug('your-info.component.onReview');\n this.saveDonorInfo();\n\n this.router.navigateByUrl(\"/review\");\n HelperService.goToTop();\n }\n\n onCorporateChange() {\n this.logger.debug('your-info.component.onCorporateChange');\n this.pageTitle = `About You ${(this.isCorporate) ? \"& Your Corporation\" : \"\"}`;\n\n // If corporate box is checked add required to organizationName\n if (this.isCorporate) {\n this.organizationName.setValidators([Validators.required, Validators.maxLength(ConstantsService.lastNameCharacterLimit)]);\n } else {\n this.organizationName.clearValidators();\n this.organizationName.updateValueAndValidity();\n this.organizationName.reset();\n }\n }\n\n async onSubmit() {\n this.logger.debug('your-info.component.onSubmit');\n // Check if form is valid before submitting\n if (this.yourInfoForm.invalid || this.addressForm.invalid) {\n this.attempts++;\n return;\n }\n\n // Check if recaptcha has been passed\n if (this.recaptchaFailed) {\n this.logger.debug(\"your-info.component.onSubmit | Recaptcha not passed\");\n await Swal.fire({\n title: \"Error\",\n text: \"ReCaptcha verification failed. Please contact Gift Processing at 858-246-1090 to continue your donation.\",\n icon: \"error\",\n buttonsStyling: false,\n customClass: {\n confirmButton: 'btn btn-swal-confirm-button'\n }\n });\n return;\n }\n\n this.logger.debug(\"your-info.component.onSubmit | Form valid: \", this.yourInfoForm.valid);\n\n try {\n await this.spinnerService.show(undefined, ConstantsService.defaultSpinnerOptions);\n\n await this.saveDonorInfo();\n\n const donationId = await this.donationService.createOnlineGivingDonation();\n\n this.logger.debug(\"your-info.component.onSubmit | Donation Id: \", donationId);\n this.donationService.donationId = donationId;\n\n // Open unified checkout dialog\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.height = \"950px\";\n dialogConfig.width = \"650px\";\n const dialogRef = this.dialog.open(UnifiedCheckoutComponent, dialogConfig);\n\n // Make sure that payment cancelled has been reset\n dialogRef.componentInstance.paymentCancelled = false;\n\n dialogRef.componentInstance.onAuthorized.subscribe( (response) => {\n this.logger.debug(`your-info.component.onSubmit | onAuthorized response: `, response);\n dialogRef.close();\n\n this.donationService.processorTransactionId = response.id;\n\n // Route to confirmation page\n this.router.navigateByUrl(\"/confirmation\");\n\n });\n } catch (err){\n this.logger.error(\"your-info.component.onSubmit | There was an error processing the donation: \", err.message);\n await this.spinnerService.hide();\n\n await Swal.fire({\n title: \"Error\",\n text: ConstantsService.processingErrorMessage,\n icon: \"error\",\n buttonsStyling: false,\n customClass: {\n confirmButton: 'btn btn-swal-confirm-button'\n }\n });\n }\n }\n\n async saveDonorInfo() {\n this.logger.debug('your-info.component.saveDonorInfo');\n this.yourInfoForm[\"controls\"].address.patchValue(this.addressForm.value);\n this.logger.trace(\"your-info.component.saveDonorInfo | Form values: \", this.yourInfoForm.value);\n this.donorService.donor = new Donor(this.yourInfoForm.value);\n this.donorService.isCorporate = this.isCorporate;\n this.donorService.isAnonymous = this.isAnonymous.value;\n }\n\n getDonorInfo() {\n this.logger.debug('your-info.component.getDonorInfo');\n let donor: Donor = this.donorService.donor;\n if (donor) {\n this.yourInfoForm.patchValue(donor);\n this.addressForm.setValue(donor.address);\n } else {\n this.logger.debug(\"your-info.component.getDonorInfo | No donor found\");\n }\n this.showAddress = true;\n }\n\n /**\n * Captures change event on address component and determines whether to allow payment or display message\n * @param armedForces boolean value of whether armed forces was selected\n */\n onStateChange(armedForces: boolean) {\n this.logger.debug('your-info.component.onStateChange | armedForces: ', armedForces);\n this.armedForces = armedForces;\n }\n\n // Form fields\n get emailAddress() { return this.yourInfoForm.get(\"emailAddress\"); }\n get isAnonymous() { return this.yourInfoForm.get(\"isAnonymous\"); }\n\n get organizationName() { return this.yourInfoForm.get(\"organizationName\"); }\n get firstName() { return this.yourInfoForm.get(\"FirstName\"); }\n get lastName() { return this.yourInfoForm.get(\"lastName\"); }\n get phone() { return this.yourInfoForm.get(\"phone\"); }\n\n\n ngOnInit() {\n this.logger.debug('your-info.component.ngOnInit');\n\n this.yourInfoForm = this.formBuilder.group({\n organizationName: [\"\", Validators.maxLength(ConstantsService.lastNameCharacterLimit)],\n FirstName: [\"\", [Validators.required, Validators.maxLength(ConstantsService.firstNameCharacterLimit), TextValidators.exludeSpecialCharacters()]],\n lastName: [\"\", [Validators.required, Validators.maxLength(ConstantsService.lastNameCharacterLimit), TextValidators.exludeSpecialCharacters()]],\n phone: [\"\", Validators.required],\n emailAddress: [\"\", [Validators.email, Validators.required]],\n isAnonymous: [],\n address: this.addressForm\n });\n\n this.addressForm = this.formBuilder.group({\n country: [\"\", Validators.required],\n addressLines: [\"\", [Validators.required, Validators.maxLength(ConstantsService.addressLinesCharacterLimit)]],\n city: [\"\", [Validators.required, Validators.maxLength(ConstantsService.cityCharacterLimit), TextValidators.exludeSpecialCharacters()]],\n state: [\"\", Validators.required],\n postalCode: [\"\", Validators.required]\n });\n\n this.getDonorInfo();\n\n this.isCorporate = this.donorService.isCorporate;\n this.isAnonymous.setValue(this.donorService.isAnonymous);\n }\n\n onCaptchaReady(): void {\n this.logger.debug('your-info.component.onCaptchaReady');\n // Start recaptcha verification\n this.logger.trace('your-info.component.onCaptchaReady | siteKey: ', this.captchaSiteKey);\n this.captchaElement.execute('secureCheckout');\n }\n onCaptchaLoad(): void {\n this.logger.debug('your-info.component.onCaptchaLoad');\n }\n onCaptchaError(event: any){\n this.logger.error('your-info.component.onError | event: ', event);\n this.recaptchaFailed = true;\n }\n async onCaptchaSuccess(event: any): Promise {\n this.logger.debug('your-info.component.onCaptchaSuccess | event: ', event);\n\n try {\n // reCAPTCHA is loaded. Verify token\n const response = await this.recaptchaService.verifyRecaptcha(event);\n this.logger.trace('your-info.component.onCaptchaSuccess | response: ', response);\n\n // Get score from verification and determine if checkout should be enabled\n const score = response.riskAnalysis.score;\n this.logger.debug('your-info.component.onCaptchaSuccess | score: ', score);\n\n if (score && score >= this.constants.recaptchaThreshold) {\n this.logger.debug('your-info.component.onCaptchaSuccess | Recaptcha verification passed');\n this.enableCheckout = true;\n } else {\n this.logger.fatal(`your-info.component.onCaptchaSuccess | Recaptcha verification failed | score: ${score}`);\n this.enableCheckout = true;\n this.recaptchaFailed = true;\n }\n } catch (err) {\n this.logger.error('your-info.component.onCaptchaSuccess | Error verifying recaptcha: ', err);\n this.enableCheckout = true;\n this.recaptchaFailed = true;\n }\n }\n}\n","
\n\n
\n

{{pageTitle}}

\n
\n
\n Donation being made on behalf of a company or organization\n
\n\n
\n\n
\n
\n \n Name of the Company to be Receipted\n \n Organization name is required if box is checked\n {{ ConstantsService.maxLengthMessage }} is {{ ConstantsService.lastNameCharacterLimit }} characters\n \n
\n
\n\n
\n
\n \n First Name\n \n First name is required\n {{ ConstantsService.maxLengthMessage }} is {{ ConstantsService.firstNameCharacterLimit }} characters\n {{ConstantsService.invalidCharactersMessage}}\n
\n
\n \n Last Name\n \n Last name is required\n {{ ConstantsService.maxLengthMessage }} is {{ ConstantsService.lastNameCharacterLimit }} characters\n {{ConstantsService.invalidCharactersMessage}}\n
\n
\n\n
\n
\n \n Phone Number\n \n Phone is required\n \n
\n
\n \n Email Address\n \n Not a valid email address\n \n
\n
\n\n \n \n\n
\n Make this gift anonymous\n
\n\n\n\n
= 3 && yourInfoForm.invalid\">\n \n
\n
= 3 && addressForm.invalid\">\n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n
\n\n
\n\n\n","import { IState } from \"@interfaces/state\"\nimport { ICountry } from \"@interfaces/country\";\nimport { TitleCasePipe } from \"@angular/common\";\n\nexport interface IBbAcknowledgee {\n firstName?: string;\n lastName?: string;\n country?: ICountry;\n addressLines?: string;\n city?: string;\n state?: IState;\n postalCode?: string;\n phone?: string;\n email?: string;\n}\n\n\nexport class Acknowledgee implements IBbAcknowledgee {\n firstName: string;\n lastName: string;\n country: ICountry;\n addressLines: string;\n city: string;\n state: IState;\n postalCode: string;\n phone: string;\n email: string;\n\n public constructor(init?: Partial) {\n Object.assign(this, init);\n }\n\n public getBbAcknowledgee(): Object {\n var result = {\n firstName: new TitleCasePipe().transform(this.firstName),\n lastName: new TitleCasePipe().transform(this.lastName),\n addressLines: new TitleCasePipe().transform(this.addressLines),\n city: new TitleCasePipe().transform(this.city),\n state: this.state.abbreviation,\n country: this.country.description,\n postalcode: this.postalCode,\n }\n return result;\n }\n\n}\n\n","import { Address } from \"@interfaces/address\";\n\nexport interface IDonor {\n FirstName: string;\n lastName: string;\n organizationName?: string;\n emailAddress?: string;\n phone?: string;\n address: Address;\n}\n\nexport class Donor implements IDonor {\n FirstName: string;\n lastName: string;\n organizationName: string;\n emailAddress: string;\n phone: string;\n address: Address;\n\n\n public constructor(init?: Partial) {\n Object.assign(this, init);\n }\n\n}\n\n\n","export enum GiftType {\n OneTime = 1,\n Recurring = 2,\n PledgePayment = 3\n}\n","export enum PaymentType {\n CreditCard = 0,\n Pledge = 1,\n PayrollDeduction = 2,\n PayPal = 3,\n UnifiedCheckout = 4\n}\n","export enum RecurrenceType {\n // Weekly = 1,\n Monthly = 2,\n Quarterly = 3,\n Annually = 4\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule\n ]\n})\nexport class InterfacesModule { }\n","export interface IState {\n id: string;\n description: string;\n abbreviation: string;\n iso31662: string;\n}\n\nexport class State implements IState {\n id: string;\n description: string;\n abbreviation: string;\n iso31662: string;\n\n /** Returns state abbreviation */\n public toString() {\n return this.abbreviation;\n }\n\n constructor(id: string, description: string, abbreviation: string, iso31662: string) {\n this.id = id;\n this.description = description;\n this.abbreviation = abbreviation;\n this.iso31662 = iso31662;\n }\n}\n","import { Component, OnInit, Input } from '@angular/core';\nimport { UntypedFormGroup, FormBuilder, Validators } from \"@angular/forms\";\n\nimport swal from \"sweetalert2\";\n\nimport { HelperService } from \"@core/services/helper.service\";\n\n@Component({\n selector: 'app-validation-failure',\n templateUrl: './validation-failure.component.html',\n styleUrls: ['./validation-failure.component.css'],\n standalone: false\n})\nexport class ValidationFailureComponent implements OnInit {\n\n @Input() form: UntypedFormGroup;\n\n errorMsg: string = 'If you believe you have reached this message in error, please contact Gift Processing for assistance - onlinegift@ucsd.edu';\n\n constructor(private helper: HelperService) { }\n\n ngOnInit() {\n\n // HACK: move this out of init so that it can be loaded more than once\n const errors = this.helper.getFormValidationErrors(this.form);\n const errorString = errors.join(\"
\");\n swal.fire({\n title: \"An Error Occurred\",\n html: `The data could not be saved due to the following issues:
${errorString}

${this.errorMsg}`,\n icon: \"error\",\n buttonsStyling: false,\n customClass: {\n confirmButton: 'btn btn-swal-confirm-button'\n }\n });\n }\n\n}\n","import { IError } from \"./error\";\n\n\nexport interface IControlError {\n controlName: string;\n error: IError;\n}\n\n\nexport class ControlError implements IControlError{\n controlName: string;\n error: IError;\n\n constructor(controlName: string, errorKey: string, errorValue: string) {\n this.controlName = controlName;\n this.error = { key: errorKey, value: errorValue };\n }\n\n public toString = (): string => {\n var result: string;\n switch (this.error.key) {\n case \"required\":\n {\n result = `${this.controlName} is a required field`;\n break;\n }\n case \"min\":\n {\n result = `${this.controlName} has a minimum value of ${this.error.value}`;\n break;\n }\n default:\n {\n result = `Field: ${this.controlName} | Error: ${this.error.key} | Message: ${this.error.value}`;\n }\n }\n return result;\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { AppRoutingModule } from \"../app-routing.module\";\nimport { BrowserModule } from '@angular/platform-browser';\nimport { NgSelectModule } from \"@ng-select/ng-select\";\nimport { SweetAlert2Module } from \"@sweetalert2/ngx-sweetalert2\";\n\nimport { provideHttpClient, withInterceptorsFromDi } from \"@angular/common/http\";\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\nimport { MatExpansionModule } from \"@angular/material/expansion\";\nimport { MatCheckboxModule } from \"@angular/material/checkbox\";\nimport { MatFormFieldModule } from \"@angular/material/form-field\"\nimport { MatSelectModule } from \"@angular/material/select\";\nimport { MatInputModule } from \"@angular/material/input\";\nimport { MatAutocompleteModule } from \"@angular/material/autocomplete\";\nimport { MatDatepickerModule } from \"@angular/material/datepicker\";\nimport { MatNativeDateModule, MatRippleModule } from \"@angular/material/core\";\nimport { NgxMatSelectSearchModule } from \"ngx-mat-select-search\";\n\nimport { ValidationFailureComponent } from '@shared/components/validation-failure/validation-failure.component';\nimport {MatDialogModule} from \"@angular/material/dialog\";\nimport {MatButton} from \"@angular/material/button\";\nimport {MatIcon} from \"@angular/material/icon\";\n\n\n@NgModule({ declarations: [\n ValidationFailureComponent\n ],\n exports: [\n FormsModule,\n CommonModule,\n BrowserModule,\n ReactiveFormsModule,\n NgSelectModule,\n BrowserAnimationsModule,\n MatExpansionModule,\n MatCheckboxModule,\n MatFormFieldModule,\n MatInputModule,\n MatSelectModule,\n MatAutocompleteModule,\n MatDatepickerModule,\n MatNativeDateModule,\n SweetAlert2Module,\n AppRoutingModule,\n NgxMatSelectSearchModule,\n MatRippleModule,\n MatDialogModule,\n MatButton,\n MatIcon,\n ValidationFailureComponent\n ], imports: [CommonModule,\n FormsModule,\n AppRoutingModule,\n BrowserModule,\n ReactiveFormsModule,\n NgSelectModule,\n SweetAlert2Module.forRoot(),\n BrowserAnimationsModule,\n MatExpansionModule,\n MatCheckboxModule,\n MatFormFieldModule,\n MatInputModule,\n MatSelectModule,\n MatAutocompleteModule,\n MatDatepickerModule,\n MatNativeDateModule,\n NgxMatSelectSearchModule,\n MatRippleModule,\n MatDialogModule,\n MatIcon,\n MatButton], providers: [provideHttpClient(withInterceptorsFromDi())] })\nexport class SharedModule {\n}\n","export const environment = {\n name: \"prod\",\n production: true\n};\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n // Disable console logs and errors for production\n window.console.log = () => { };\n window.console.error = () => { };\n\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.log(err));\n"],"names":["RouterModule","YourInfoComponent","GiftReviewComponent","GiftAddComponent","ConfirmationComponent","PayrollDeductionComponent","MatchingGiftComponent","GiftAddReferralComponent","GiftEditComponent","LinkGeneratorComponent","routes","path","component","AppRoutingModule","_","_2","_3","forRoot","imports","i1","exports","HelperService","i0","ɵɵelementStart","ɵɵlistener","AppComponent_button_6_Template_button_click_0_listener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","goToTop","ɵɵelement","ɵɵelementEnd","ɵɵproperty","ɵɵpureFunction0","_c0","ɵɵpureFunction1","_c1","bottom","AppComponent","constructor","spinnerService","title","showToTop","stickToFooter","topPosToStartShowing","checkScroll","scrollPosition","window","pageYOffset","footerTop","document","getElementById","offsetTop","innerHeight","ngOnInit","ɵɵdirectiveInject","NgxSpinnerService","selectors","hostBindings","AppComponent_HostBindings","rf","ctx","AppComponent_scroll_HostBindingHandler","ɵɵresolveWindow","ɵɵtext","ɵɵtemplate","AppComponent_button_6_Template","ɵɵadvance","APP_INITIALIZER","TitleCasePipe","SharedModule","NgxMaskDirective","provideNgxMask","NgxSpinnerModule","LoggerModule","NgxLoggerLevel","AppConfigService","DataModule","InterfacesModule","FeaturesModule","CoreModule","NgxCaptchaModule","appConfigFactory","provider","loadSettings","AppModule","bootstrap","provide","useFactory","deps","multi","level","TRACE","declarations","CommonModule","throwError","catchError","tap","environment","httpClient","jsonFile","configFileName","name","get","pipe","data","config","err","handleError","errorMessage","error","ErrorEvent","message","status","ɵɵinject","HttpClient","factory","ɵfac","providedIn","State","HttpHeaders","ConstantsService","appConfigService","localExpirySeconds","localStorage","expirySeconds","recaptchaSiteKey","recaptcha","siteKey","recaptchaThreshold","threshold","httpOptions","headers","espiGiftTypeNewGift","espiGiftTypePledge","_4","espiGiftTypeRecurring","_5","espiGiftInstructionsAttributeCode","_6","espiGiftTypeAttributeCode","_7","espiRecurringAttributeCode","_8","noGiftsInCart","_9","maxLengthMessage","_10","invalidCharactersMessage","_11","isIe","test","navigator","userAgent","_12","pageTitle","_13","noPostalCodeVal","_14","noStateObj","_15","unitedStatesGuid","_16","inHonorText","_17","inMemoryText","_18","attributeTextLength","_19","cityCharacterLimit","_20","addressLinesCharacterLimit","_21","firstNameCharacterLimit","_22","lastNameCharacterLimit","_23","processingErrorMessage","_24","defaultSpinnerOptions","type","size","bdColor","color","fullScreen","_25","localExpiryKey","_26","localPaymentTypeKey","_27","localGiftTypeKey","_28","localRecurrenceKey","_29","localDonationIdKey","_30","localCommentsKey","_31","localIsAnonymousKey","_32","localTributeKey","_33","localAcknowledgeeKey","_34","localDonorKey","_35","localIsCorporateKey","_36","localGiftsKey","_37","localCountriesKey","_38","localCountryKey","_39","_40","ControlError","titleCase","logger","getFormValidationErrors","form","debug","errors","Object","keys","controls","forEach","key","controlErrors","keyError","trace","errorVal","min","maxLengthError","maxLength","push","transform","scroll","top","left","behavior","i2","LoggerService","LocalStorageService","constants","getItem","checkExpiry","value","undefined","result","JSON","parse","setItem","stringify","length","removeItem","clear","expiryString","expiry","Date","now","expiryDate","getTime","toLocaleString","isSet","updateLoggerSettings","settings","localLogLevel","logging","serverLogLevel","apiUrl","logServerUrl","getConfigSnapshot","serverLoggingUrl","info","updateConfig","loggerReady","_this","_asyncToGenerator","getMessage","msg","obj","fatal","NGXLogger","DOCUMENT","ScriptService","loadScript","renderer","src","script","createElement","appendChild","body","TextValidators","exludeSpecialCharacters","control","regex","RegExp","valid","invalidCharacters","exludeCustomSpecialCharacters","AppealCodeService","http","webApi","url","getAppealCodes","toPromise","i3","CountryService","countryApiUrl","getCountries","countries","getCountry","id","_this2","country","i4","HttpParams","DesignationService","designationApiUrl","getDesignation","options","params","set","BehaviorSubject","GiftType","RecurrenceType","Acknowledgee","DonationService","giftService","donorService","token","tribute$","tribute","giftType$","giftType","paymentType$","paymentType","comments$","comments","ssoUser","_ssoUser","next","recurrence","startDate","dayOfMonth","getDate","acknowledgee","donationId","createOnlineGivingDonation","donation","generateBaseDonationObject","donor","gift","paymentMethod","designations","Error","post","completeOnlineGivingDonation","processorTransactionId","updateOnlineGivingDonationWithFailure","failureData","_this3","payload","getOnlineGivingDonation","_this4","sendAcknowledgementWithDonation","_this5","sendAcknowledgement","_this6","_this7","gifts","appealId","getGifts","then","g","designation","amount","origin","pageId","isCorporate","isAnonymous","attributes","attributeId","getGiftTypeId","Recurring","frequency","Number","Annually","month","getMonth","giftInstructions","tributeDefinition","description","firstName","lastName","getBbAcknowledgee","addressLines","state","abbreviation","postalCode","replace","includes","substring","merchantAccountId","getMerchantId","foundationMerchantId","regentsMerchantId","foundation","regents","category","purposeCategory","PledgePayment","GiftService","i5","i6","DonorService","gifts$","giftTotal$","giftTotal","total","Promise","resolve","getGift","find","addGift","maxId","deleteGift","index","findIndex","splice","editGift","PayrollDeductionService","addPayrollDeduction","payrollCycle","payrollDeduction","RecaptchaService","verifyRecaptcha","expectedAction","SearchService","fuzzySearch","searchStr","SsoUserService","getSsoUser","UnifiedCheckoutService","getCaptureContext","merchantId","streetAddress","city","email","phone","authorizePayment","transientToken","createToken","createPlan","createSubscription","customerToken","planId","Validators","ɵɵtextInterpolate2","ctx_r0","ɵɵtextInterpolate","acknowledgeeForm","AcknowledgeeComponent_div_3_mat_error_9_Template","AcknowledgeeComponent_div_3_mat_error_10_Template","AcknowledgeeComponent_div_3_mat_error_11_Template","AcknowledgeeComponent_div_3_mat_error_18_Template","AcknowledgeeComponent_div_3_mat_error_19_Template","AcknowledgeeComponent_div_3_mat_error_20_Template","AcknowledgeeComponent_div_3_app_address_21_Template","required","maxlength","hasError","showAddress","AcknowledgeeComponent","donationService","formBuilder","isAcknowledgee","onIsAcknowledgeeChanged","event","checked","setValidators","reset","saveAcknowledgee","getAcknowledgee","setValue","onFormChanges","valueChanges","subscribe","val","group","apt","UntypedFormBuilder","standalone","features","ɵɵProvidersFeature","decls","vars","consts","template","AcknowledgeeComponent_Template","AcknowledgeeComponent_Template_mat_checkbox_change_1_listener","$event","ɵɵtwoWayListener","AcknowledgeeComponent_Template_mat_checkbox_ngModelChange_1_listener","ɵɵtwoWayBindingSet","AcknowledgeeComponent_div_3_Template","ɵɵtwoWayProperty","EventEmitter","UntypedFormControl","ReplaySubject","take","swal","country_r1","ɵɵtextInterpolate1","addressLinesPlaceholder","state_r3","AddressComponent_div_28_mat_option_7_Template","statePlaceholder","stateCtrl","stateFilterCtrl","ɵɵpipeBind1","filteredStates","zipPlaceholder","AddressComponent_div_29_mat_error_6_Template","AddressComponent","countryService","stateChanged","addressCaptionChanged","filteredCountries","countryCtrl","countryFilterCtrl","showPostalCode","showAddressCaption","showState","filterCountries","search","slice","toLowerCase","filter","filterStates","states","onCountryChanges","countryControlData","show","patchValue","countryViewModel","updateAddressCaptions","updateShowStatePostalCode","hide","fire","text","icon","buttonsStyling","customClass","confirmButton","onStateChanges","armedForces","emit","countryId","c","s","ngAfterViewInit","selectCountry","compareWith","a","b","selectState","addressCaption","PostCode","AddressLines","cityPlaceholder","City","noPostalCode","hasStates","hasZip","viewQuery","AddressComponent_Query","AddressComponent_Template","AddressComponent_mat_option_9_Template","AddressComponent_mat_error_17_Template","AddressComponent_mat_error_18_Template","AddressComponent_mat_error_25_Template","AddressComponent_mat_error_26_Template","AddressComponent_mat_error_27_Template","AddressComponent_div_28_Template","AddressComponent_div_29_Template","AppealCodeComponent_div_3_Template_ng_select_change_2_listener","onAppealCodeChange","appealCodes","selectedAppealCode","AppealCodeComponent","appealService","appealCodeSelectionChanged","hasAppealCode","onHasAppealCodeChanged","appealCodeOnly","inputs","outputs","AppealCodeComponent_Template","AppealCodeComponent_Template_mat_checkbox_ngModelChange_1_listener","AppealCodeComponent_Template_mat_checkbox_change_1_listener","AppealCodeComponent_div_3_Template","AppealCodeComponent_div_4_Template","NavigationStart","Donor","loadingMsg","gift_r2","publicName","ConfirmationComponent_div_4_div_1_div_4_li_3_Template","ConfirmationComponent_div_4_div_1_div_4_Template","ConfirmationComponent_div_4_div_1_Template","route","router","titleService","showConfirmation","setTitle","events","restoredState","navigationId","navigateByUrl","param","snapshot","paramMap","FirstName","organizationName","emailAddress","workPhone","address","iso31662","donationData","ActivatedRoute","Router","i7","i8","Title","ConfirmationComponent_Template","ConfirmationComponent_div_2_Template","ConfirmationComponent_div_3_Template","ConfirmationComponent_div_4_Template","DirectLinkComponent","copyClick","directLinkElement","select","execCommand","setSelectionRange","fund","appealCode","DirectLinkComponent_Template","DirectLinkComponent_Template_button_click_6_listener","directLink_r2","ɵɵreference","ɵɵpropertyInterpolate2","UnifiedCheckoutComponent","MatchingGiftSearchComponent","FooterComponent","FundDescriptionComponent","FundSearchComponent","GiftAmountComponent","GiftListComponent","RecurrenceComponent","SelectGiftTypeComponent","SelectPaymentTypeComponent","TributeComponent","currentYear","getFullYear","FooterComponent_Template","purposeDescription","ɵɵpipeBind3","FundDescriptionComponent_div_0_div_9_Template_app_appeal_code_appealCodeSelectionChanged_1_listener","_r3","onAppealCodeChanged","FundDescriptionComponent_div_0_Template_mat_expansion_panel_opened_1_listener","fundSelectionDescriptionPanelOpen","FundDescriptionComponent_div_0_Template_mat_expansion_panel_closed_1_listener","FundDescriptionComponent_div_0_mat_panel_description_6_Template","FundDescriptionComponent_div_0_div_9_Template","ɵɵpipeBind2","showLink","FundDescriptionComponent_Template","FundDescriptionComponent_div_0_Template","FundSearchComponent_div_10_Template_ng_select_change_3_listener","ctx_r3","searchResultSelected","FundSearchComponent_div_10_Template_ng_select_ngModelChange_3_listener","selectedFund","searchResults","searchService","searchFor","searchResultSelectionChanged","searchText","searching","noResults","placeholderText","onSearch","FundSearchComponent_Template","FundSearchComponent_Template_input_ngModelChange_2_listener","FundSearchComponent_Template_input_keyup_enter_2_listener","designationSearch_r2","FundSearchComponent_Template_button_click_5_listener","FundSearchComponent_div_8_Template","FundSearchComponent_div_9_Template","FundSearchComponent_div_10_Template","FundSearchComponent_div_11_Template","fundNumber","GiftAddReferralComponent_div_6_div_3_div_1_Template","GiftAddReferralComponent_div_6_div_3_div_2_Template","GiftAddReferralComponent_div_6_div_3_div_3_Template","amountControl","max","addForm","GiftAddReferralComponent_div_6_Template_app_gift_amount_amountChanged_2_listener","_r2","onAmountChanged","GiftAddReferralComponent_div_6_div_3_Template","GiftAddReferralComponent_div_6_div_4_Template","invalid","dirty","touched","submitting","attempts","designationService","onSubmit","GiftAddReferralComponent_Template","GiftAddReferralComponent_div_5_Template","GiftAddReferralComponent_div_6_Template","GiftAddReferralComponent_Template_button_click_8_listener","GiftAddComponent_div_4_div_3_div_1_Template","fundId","GiftAddComponent_div_4_div_9_div_1_Template","GiftAddComponent_div_4_div_9_div_2_Template","GiftAddComponent_div_4_div_9_div_3_Template","GiftAddComponent_div_4_Template_form_ngSubmit_1_listener","GiftAddComponent_div_4_Template_form_keydown_enter_1_listener","preventDefault","GiftAddComponent_div_4_Template_app_fund_search_searchResultSelectionChanged_2_listener","onFundSelected","GiftAddComponent_div_4_div_3_Template","GiftAddComponent_div_4_Template_app_gift_amount_amountChanged_8_listener","GiftAddComponent_div_4_div_9_Template","GiftAddComponent_div_4_div_10_Template","AmountTarget","amountTarget","designationName","nativeElement","scrollIntoView","block","inline","GiftAddComponent_Query","GiftAddComponent_Template","GiftAddComponent_div_4_Template","GiftAmountComponent_div_25_Template_input_ngModelChange_5_listener","onOtherAmountChanged","amountChanged","useOtherAmount","amountChange","onAmountOptionsClick","target","srcElement","currentTarget","children","optionId","optionAmount","isNaN","GiftAmountComponent_Template","GiftAmountComponent_Template_div_click_0_listener","GiftAmountComponent_div_25_Template","GiftEditComponent_div_1_app_fund_search_3_Template_app_fund_search_searchResultSelectionChanged_0_listener","GiftEditComponent_div_1_app_gift_amount_6_Template_app_gift_amount_amountChanged_0_listener","_r4","GiftEditComponent_div_1_div_7_div_1_Template","GiftEditComponent_div_1_div_7_div_2_Template","GiftEditComponent_div_1_div_7_div_3_Template","editForm","GiftEditComponent_div_1_Template_form_ngSubmit_1_listener","GiftEditComponent_div_1_Template_form_keydown_enter_1_listener","GiftEditComponent_div_1_app_fund_search_3_Template","GiftEditComponent_div_1_app_gift_amount_6_Template","GiftEditComponent_div_1_div_7_Template","GiftEditComponent_div_1_div_8_Template","GiftEditComponent_div_1_Template_button_click_10_listener","onCancel","giftId","userId","setFormValues","GiftEditComponent_Template","GiftEditComponent_div_1_Template","GiftListComponent_div_4_li_2_Template_button_click_9_listener","$implicit","ctx_r2","onEditGift","GiftListComponent_div_4_li_2_Template_button_confirm_11_listener","onDeleteGift","GiftListComponent_div_4_li_2_Template_button_dismiss_11_listener","ɵɵpipeBind4","GiftListComponent_div_4_li_2_Template","totalChanged","navigate","catch","GiftListComponent_Template","GiftListComponent_div_4_Template","GiftListComponent_Template_button_click_7_listener","PaymentType","paymentTypeComponent","giftTypeComponent","tributeComponent","acknowledgeeComponent","displayGifts","giftReviewForm","specialInstructions","yourInfoClick","location","host","recurrenceComponent","UnifiedCheckout","PayrollDeduction","localhost","returnUrl","href","Pledge","parseParams","fundIdParam","appealIdParam","confirmationValue","fundIdValue","appealIdValue","httpParams","fromString","split","FormBuilder","GiftReviewComponent_Query","GiftReviewComponent_app_gift_list_1_Template","GiftReviewComponent_app_recurrence_4_Template","GiftReviewComponent_app_tribute_5_Template","GiftReviewComponent_div_6_Template","GiftReviewComponent_div_7_Template","GiftReviewComponent_div_8_Template","GiftReviewComponent_div_9_Template","GiftReviewComponent_mat_error_16_Template","GiftReviewComponent_Template_button_click_18_listener","LinkGeneratorComponent_div_4_Template_form_keydown_enter_1_listener","LinkGeneratorComponent_div_4_Template_app_fund_search_searchResultSelectionChanged_2_listener","area","division","LinkGeneratorComponent_Template","LinkGeneratorComponent_div_4_Template","onLoad","ɵɵtrustConstantResourceUrl","MatchingGiftSearchComponent_Template","MatchingGiftSearchComponent_Template_iframe_load_1_listener","MatchingGiftComponent_Template","PayrollDeductionComponent_div_26_div_1_Template","PayrollDeductionComponent_div_26_div_2_Template","acknowledged_r3","payrollCycleOptions_r4","fullName","ssoUserService","payrollDeductionService","acknowledgementText","payrollNotice","isAcknowledged","submit","employeeId","PayrollDeductionComponent_Query","PayrollDeductionComponent_Template","PayrollDeductionComponent_div_3_Template","PayrollDeductionComponent_Template_mat_checkbox_ngModelChange_11_listener","PayrollDeductionComponent_Template_input_ngModelChange_19_listener","PayrollDeductionComponent_Template_input_ngModelChange_23_listener","PayrollDeductionComponent_div_26_Template","PayrollDeductionComponent_div_36_Template","PayrollDeductionComponent_Template_button_click_38_listener","f_r5","recurrenceOption_r1","picker_r3","minDate","recurringInfo","ɵɵsanitizeHtml","payrollDeductionInfo","RecurrenceComponent_div_0_mat_option_9_Template","RecurrenceComponent_div_0_mat_error_10_Template","RecurrenceComponent_div_0_div_12_Template","RecurrenceComponent_div_0_div_13_Template","RecurrenceComponent_div_0_div_14_Template","recurrenceOptions","recurring","_recurring","clearValidators","f","updateValueAndValidity","Monthly","RecurrenceComponent_Template","RecurrenceComponent_div_0_Template","OneTime","SelectGiftTypeComponent_Template","SelectGiftTypeComponent_div_3_Template","SelectGiftTypeComponent_div_4_Template","SelectPaymentTypeComponent_div_2_label_6_Template","SelectPaymentTypeComponent_div_2_div_7_Template","initialGiftTypeSet","SelectPaymentTypeComponent_Template","SelectPaymentTypeComponent_div_2_Template","TributeComponent_div_3_div_10_Template","TributeComponent_div_3_mat_error_17_Template","TributeComponent_div_3_mat_error_18_Template","TributeComponent_div_3_mat_error_19_Template","TributeComponent_div_3_mat_error_25_Template","TributeComponent_div_3_mat_error_26_Template","TributeComponent_div_3_mat_error_27_Template","tributeType","inHonorOfText","inMemoryOfText","inHonorOrMemory","onInTributeChanged","watchChanges","tributeSubscription","unsubscribe","ngOnDestroy","TributeComponent_Query","TributeComponent_Template","TributeComponent_Template_mat_checkbox_ngModelChange_1_listener","TributeComponent_Template_mat_checkbox_change_1_listener","TributeComponent_div_3_Template","Swal","ɵɵtextInterpolate3","unifiedCheckoutService","scriptService","dialogRef","onAuthorized","paymentComplete","paymentCancelled","captureContextResponse","toString","isoCode","millisecondsTillExp","getTimeToExpiration","createSessionTimeout","scriptElement","clientLibrary","onload","onScriptLoaded","close","exp","diff","setTimeout","showArgs","containers","paymentSelection","paymentScreen","accept","Accept","transientTokenJwt","up","unifiedPayments","authResponse","processRecurringGift","processOneTimeGift","planResponse","subscriptionResponse","Renderer2","MatDialogRef","UnifiedCheckoutComponent_Template","UnifiedCheckoutComponent_div_6_Template","UnifiedCheckoutComponent_Template_button_click_8_listener","MatDialogConfig","YourInfoComponent_div_8_mat_error_6_Template","YourInfoComponent_div_8_mat_error_7_Template","YourInfoComponent_app_address_39_Template_app_address_stateChanged_0_listener","onStateChange","addressForm","yourInfoForm","enableCheckout","armedForcesMsg","recaptchaService","dialog","captchaSiteKey","recaptchaFailed","onReview","saveDonorInfo","onCorporateChange","dialogConfig","disableClose","autoFocus","height","width","open","componentInstance","response","getDonorInfo","onCaptchaReady","captchaElement","execute","onCaptchaLoad","onCaptchaError","onCaptchaSuccess","score","riskAnalysis","i9","i10","MatDialog","YourInfoComponent_Query","YourInfoComponent_Template","YourInfoComponent_Template_mat_checkbox_ngModelChange_5_listener","YourInfoComponent_Template_mat_checkbox_change_5_listener","YourInfoComponent_Template_form_ngSubmit_7_listener","YourInfoComponent_div_8_Template","YourInfoComponent_mat_error_15_Template","YourInfoComponent_mat_error_16_Template","YourInfoComponent_mat_error_17_Template","YourInfoComponent_mat_error_23_Template","YourInfoComponent_mat_error_24_Template","YourInfoComponent_mat_error_25_Template","YourInfoComponent_mat_error_32_Template","YourInfoComponent_mat_error_38_Template","YourInfoComponent_app_address_39_Template","YourInfoComponent_div_43_Template","YourInfoComponent_div_44_Template","YourInfoComponent_Template_button_click_46_listener","YourInfoComponent_button_49_Template","YourInfoComponent_Template_ngx_invisible_recaptcha_ready_51_listener","YourInfoComponent_Template_ngx_invisible_recaptcha_load_51_listener","YourInfoComponent_Template_ngx_invisible_recaptcha_error_51_listener","YourInfoComponent_Template_ngx_invisible_recaptcha_success_51_listener","YourInfoComponent_div_53_Template","init","assign","postalcode","ValidationFailureComponent","helper","errorMsg","errorString","join","html","ValidationFailureComponent_Template","styles","controlName","errorKey","errorValue","FormsModule","ReactiveFormsModule","BrowserModule","NgSelectModule","SweetAlert2Module","provideHttpClient","withInterceptorsFromDi","BrowserAnimationsModule","MatExpansionModule","MatCheckboxModule","MatFormFieldModule","MatSelectModule","MatInputModule","MatAutocompleteModule","MatDatepickerModule","MatNativeDateModule","MatRippleModule","NgxMatSelectSearchModule","MatDialogModule","MatButton","MatIcon","production","enableProdMode","console","log","__NgCli_bootstrap_1","platformBrowser","bootstrapModule"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}