{"version":3,"file":"main.7bc47e396703afcf.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAA+C;AAC4B;AAET;AACnB;AACI;AACG;AACE;AACG;AACF;AACG;AACG;AACH;AACR;AACF;AACI;AACK;AACP;AACE;AACA;AACC;AACC;AACF;AACe;AACK;AAClB;AACI;AACA;AACR;AACuB;AACrB;AACV;AACc;AACJ;AACA;AACmE;AACT;AACkB;AAC9E;AACC;AACwC;AACF;AACS;AACZ;AACQ;AACuD;AACxD;AACwB;AACjC;AACwC;AACN;AACvD;AACmF;AACvB;AACU;AACnC;AACf;AACwC;AAClB;AAChB;AAC0D;AAC1D;AACyD;AAC5B;AACrB;AACqB;AACG;AACvB;AACN;AACsC;AAChD;AACN;AACc;AACN;AACtC;AACiB;AACP;AACU;AAChB;AACY;AACd;AACc;AACI;AACH;AACA;AACM;AACR;AACuB;AACT;AACc;AACZ;AACd;AAC0B;AACvC;AACgB;AACF;AACV;AACgB;AACG;AACN;AACF;AACc;AACV;AACP;AACd;AACiB;AACI;AACM;AACV;AACP;AACT;AACG;AACiB;AACf;AAC6B;AACV;AACJ;AACX;AAC+B;AACZ;AACR;AACL;AACuB;AAChB;AACA;AACV;AACT;AACM;AACkB;AACpB;AACc;AAC4G;AAChE;AACqB;;;;AAsRnI,MAAOuI,YAAY;EAAA,QAAAC,CAAA;qBAAZD,YAAY;EAAA;EAAA,QAAAE,EAAA;UAAZF;EAAY;EAAA,QAAAG,EAAA;eAxJZ,CACTxI,mEAAgB,EAChByE,0DAAS,EACTI,8DAAW,EACXH,2EAAiB,EACjBC,qEAAY,EACZC,8EAAkB,EAClB;MACE6D,OAAO,EAAEtH,mEAAY;MACrBuH,QAAQ,EAAEb,gEAAWA;KACtB,EACD;MACEY,OAAO,EAAE1H,uEAAiB;MAC1B2H,QAAQ,EAAEd,yEAAeA;KAC1B,EACD;MACEa,OAAO,EAAEhH,wEAAe;M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","sources":["./ClientApp/app/_core/_core.module.ts","./ClientApp/app/_core/components/address-block/address-block.component.ts","./ClientApp/app/_core/components/address-block/address-block.component.html","./ClientApp/app/_core/components/admin-navigation/admin-navigation.component.ts","./ClientApp/app/_core/components/admin-navigation/admin-navigation.component.html","./ClientApp/app/_core/components/auth-wrapper/auth-wrapper.component.ts","./ClientApp/app/_core/components/auth-wrapper/auth-wrapper.component.html","./ClientApp/app/_core/components/bank-info-alert/bank-info-alert.component.ts","./ClientApp/app/_core/components/chapter-address-match-parent-modal/chapter-address-match-parent-modal.component.ts","./ClientApp/app/_core/components/chapter-address-match-parent-modal/chapter-address-match-parent-modal.component.html","./ClientApp/app/_core/components/classification/classification.component.ts","./ClientApp/app/_core/components/classification/classification.component.html","./ClientApp/app/_core/components/confirm-npo-admin-modal/confirm-npo-admin-modal.component.ts","./ClientApp/app/_core/components/confirm-npo-admin-modal/confirm-npo-admin-modal.component.html","./ClientApp/app/_core/components/designation/designation.component.ts","./ClientApp/app/_core/components/designation/designation.component.html","./ClientApp/app/_core/components/email-communication-group/email-communication-group.component.ts","./ClientApp/app/_core/components/email-communication-group/email-communication-group.component.html","./ClientApp/app/_core/components/extended-search-details/extended-search-details.component.ts","./ClientApp/app/_core/components/extended-search-details/extended-search-details.component.html","./ClientApp/app/_core/components/list/list.component.ts","./ClientApp/app/_core/components/list/list.component.html","./ClientApp/app/_core/components/nonprofit-block-table-info-modal/nonprofit-block-table-info-modal.component.ts","./ClientApp/app/_core/components/nonprofit-block-table-info-modal/nonprofit-block-table-info-modal.component.html","./ClientApp/app/_core/components/nonprofit-irs-codes-modal/nonprofit-irs-codes-modal.component.ts","./ClientApp/app/_core/components/nonprofit-irs-codes-modal/nonprofit-irs-codes-modal.component.html","./ClientApp/app/_core/components/nonprofit-notification-modal/nonprofit-notification-modal.component.ts","./ClientApp/app/_core/components/nonprofit-search/nonprofit-search.component.ts","./ClientApp/app/_core/components/nonprofit-search/nonprofit-search.component.html","./ClientApp/app/_core/components/nonprofit-search/nonprofit-search.resources.ts","./ClientApp/app/_core/components/nonprofit-search/nonprofit-search.service.ts","./ClientApp/app/_core/components/nonprofit-search/nonprofit-search.state.ts","./ClientApp/app/_core/components/npo-address/npo-address.component.ts","./ClientApp/app/_core/components/npo-address/npo-address.component.html","./ClientApp/app/_core/components/npp-nonprofit-block-table/npp-nonprofit-block-table.component.ts","./ClientApp/app/_core/components/npp-nonprofit-block-table/npp-nonprofit-block-table.component.html","./ClientApp/app/_core/components/npp-npo-stats-block/npp-npo-stats-block.component.ts","./ClientApp/app/_core/components/npp-npo-stats-block/npp-npo-stats-block.component.html","./ClientApp/app/_core/components/payment-cards/payment-cards.component.ts","./ClientApp/app/_core/components/payment-cards/payment-cards.component.html","./ClientApp/app/_core/components/registration-authority-attr-modal/registration-authority-attr-modal.component.ts","./ClientApp/app/_core/components/registration-authority-attr-modal/registration-authority-attr-modal.component.html","./ClientApp/app/_core/components/release-notes/release-notes.component.ts","./ClientApp/app/_core/components/revocation-details-by-state-modal/revocation-details-by-state-modal.component.ts","./ClientApp/app/_core/components/revocation-details-by-state-modal/revocation-details-by-state-modal.component.html","./ClientApp/app/_core/components/search-npo-autocomplete/search-npo-autocomplete.component.ts","./ClientApp/app/_core/components/search-npo-autocomplete/search-npo-autocomplete.component.html","./ClientApp/app/_core/components/search-npo-merge/search-npo-merge.component.ts","./ClientApp/app/_core/components/search-npo-merge/search-npo-merge.component.html","./ClientApp/app/_core/components/show-chapter-nonprofits/show-chapter-nonprofits.component.ts","./ClientApp/app/_core/components/show-chapter-nonprofits/show-chapter-nonprofits.component.html","./ClientApp/app/_core/components/show-inactive-nonprofits/show-inactive-nonprofits.component.ts","./ClientApp/app/_core/components/show-inactive-nonprofits/show-inactive-nonprofits.component.html","./ClientApp/app/_core/components/transaction-fees/transaction-fees.component.ts","./ClientApp/app/_core/components/transaction-fees/transaction-fees.component.html","./ClientApp/app/_core/components/unauth-wrapper/unauth-wrapper.component.ts","./ClientApp/app/_core/components/vetting-application-stepper/vetting-application-stepper.component.ts","./ClientApp/app/_core/components/vetting-application-stepper/vetting-application-stepper.component.html","./ClientApp/app/_core/directives/if-nonprofit-role.directive.ts","./ClientApp/app/_core/directives/if-system-role.directive.ts","./ClientApp/app/_core/directives/unless-nonprofit-role.directive.ts","./ClientApp/app/_core/directives/unless-system-role.directive.ts","./ClientApp/app/_core/guards/auth.guard.ts","./ClientApp/app/_core/guards/persona.guard.ts","./ClientApp/app/_core/guards/release-notes.guard.ts","./ClientApp/app/_core/guards/route-to-search.guard.ts","./ClientApp/app/_core/guards/unauth.guard.ts","./ClientApp/app/_core/models/auth.model.ts","./ClientApp/app/_core/models/blackbaud-sso.model.ts","./ClientApp/app/_core/models/change-tracking.model.ts","./ClientApp/app/_core/models/claim.model.ts","./ClientApp/app/_core/models/communication.model.ts","./ClientApp/app/_core/models/disbursement-info.model.ts","./ClientApp/app/_core/models/donation.model.ts","./ClientApp/app/_core/models/finance.model.ts","./ClientApp/app/_core/models/nonprofit-asset.model.ts","./ClientApp/app/_core/models/nonprofit-irs-code.model.ts","./ClientApp/app/_core/models/npo.model.ts","./ClientApp/app/_core/models/payment.model.ts","./ClientApp/app/_core/models/reason.model.ts","./ClientApp/app/_core/models/release-notes.model.ts","./ClientApp/app/_core/models/reporting.model.ts","./ClientApp/app/_core/models/status.model.ts","./ClientApp/app/_core/models/volunteer-event.model.ts","./ClientApp/app/_core/models/yourcause-user.model.ts","./ClientApp/app/_core/pipes/active-vetting.pipe.ts","./ClientApp/app/_core/pipes/adapt-url.pipe.ts","./ClientApp/app/_core/pipes/address-object.pipe.ts","./ClientApp/app/_core/pipes/alert-page-id-map.pipe.ts","./ClientApp/app/_core/pipes/alternate-na-text.pipe.ts","./ClientApp/app/_core/pipes/asset-type-name.pipe.ts","./ClientApp/app/_core/pipes/calculate-days-ago.pipe.ts","./ClientApp/app/_core/pipes/carriage-to-br.pipe.ts","./ClientApp/app/_core/pipes/change-tracking-changed-by.pipe.ts","./ClientApp/app/_core/pipes/change-tracking-entity.pipe.ts","./ClientApp/app/_core/pipes/change-tracking-old-new-value.pipe.ts","./ClientApp/app/_core/pipes/charity-compare-status.pipe.ts","./ClientApp/app/_core/pipes/check-past-date.pipe.ts","./ClientApp/app/_core/pipes/efg-db-status-value.pipe.ts","./ClientApp/app/_core/pipes/eligible-for-giving-status-id.pipe.ts","./ClientApp/app/_core/pipes/email-icon.pipe.ts","./ClientApp/app/_core/pipes/external-systems.pipe.ts","./ClientApp/app/_core/pipes/genericize-status.pipe.ts","./ClientApp/app/_core/pipes/giact-code.pipe.ts","./ClientApp/app/_core/pipes/int-bank-field-length.pipe.ts","./ClientApp/app/_core/pipes/job-interval-frequency.pipe.ts","./ClientApp/app/_core/pipes/localize-bank-field.pipe.ts","./ClientApp/app/_core/pipes/localize-bank-help.pipe.ts","./ClientApp/app/_core/pipes/localize-with-namespace.pipe.ts","./ClientApp/app/_core/pipes/matched-donor-info.pipe.ts","./ClientApp/app/_core/pipes/merge-comparison.pipe.ts","./ClientApp/app/_core/pipes/note-type.pipe.ts","./ClientApp/app/_core/pipes/npo-comm-actions.pipe.ts","./ClientApp/app/_core/pipes/npo-inactive-message.pipe.ts","./ClientApp/app/_core/pipes/registration-auth-attrs.pipe.ts","./ClientApp/app/_core/pipes/sdg-localized-name.pipe.ts","./ClientApp/app/_core/pipes/shift-capacity.pipe.ts","./ClientApp/app/_core/pipes/show-if-yc.pipe.ts","./ClientApp/app/_core/pipes/status-icon.pipe.ts","./ClientApp/app/_core/pipes/string-comma-space.pipe.ts","./ClientApp/app/_core/pipes/user-roles.pipe.ts","./ClientApp/app/_core/pipes/vetting-organization-type.pipe.ts","./ClientApp/app/_core/pipes/vetting-request-status.pipe.ts","./ClientApp/app/_core/pipes/vetting-requested-by.pipe.ts","./ClientApp/app/_core/pipes/vetting-type.pipe.ts","./ClientApp/app/_core/pipes/volunteer-community-partners.pipe.ts","./ClientApp/app/_core/pipes/volunteer-event-action.pipe.ts","./ClientApp/app/_core/pipes/volunteer-event-date.pipe.ts","./ClientApp/app/_core/pipes/volunteer-event-status.pipe.ts","./ClientApp/app/_core/pipes/volunteer-participant-count.pipe.ts","./ClientApp/app/_core/pipes/volunteer-shift-dates.pipe.ts","./ClientApp/app/_core/resolvers/account-details.resolver.ts","./ClientApp/app/_core/resolvers/active-npo.resolver.ts","./ClientApp/app/_core/resolvers/locale.resolver.ts","./ClientApp/app/_core/resolvers/matchRequest.resolver.ts","./ClientApp/app/_core/resolvers/pending-disbursements.resolver.ts","./ClientApp/app/_core/resolvers/support-request-statuses.resolver.ts","./ClientApp/app/_core/resolvers/terms-of-service-links.resolver.ts","./ClientApp/app/_core/resolvers/tour.resolver.ts","./ClientApp/app/_core/resolvers/unset-active-npo.resolver.ts","./ClientApp/app/_core/resources/account.resources.ts","./ClientApp/app/_core/resources/auth.resources.ts","./ClientApp/app/_core/resources/classification.resources.ts","./ClientApp/app/_core/resources/finance.resources.ts","./ClientApp/app/_core/resources/persona.resources.ts","./ClientApp/app/_core/services/account.service.ts","./ClientApp/app/_core/services/app-shell.service.ts","./ClientApp/app/_core/services/assets/asset.resources.ts","./ClientApp/app/_core/services/auth.service.ts","./ClientApp/app/_core/services/banner.service.ts","./ClientApp/app/_core/services/bbid.service.ts","./ClientApp/app/_core/services/cache-buster.service.ts","./ClientApp/app/_core/services/classification.service.ts","./ClientApp/app/_core/services/deep-linking.service.ts","./ClientApp/app/_core/services/extract-filter-columns.service.ts","./ClientApp/app/_core/services/feature-flag/feature-flag.resources.ts","./ClientApp/app/_core/services/feature-flag/feature-flag.service.ts","./ClientApp/app/_core/services/feature-flag/feature-flag.state.ts","./ClientApp/app/_core/services/finance.service.ts","./ClientApp/app/_core/services/http-rest.service.ts","./ClientApp/app/_core/services/link.service.ts","./ClientApp/app/_core/services/nonprofit-admin.service.ts","./ClientApp/app/_core/services/persona.service.ts","./ClientApp/app/_core/services/persona.state.ts","./ClientApp/app/_core/services/session-keep-alive.service.ts","./ClientApp/app/_core/services/spinner.service.ts","./ClientApp/app/_core/services/terms-of-service.service.ts","./ClientApp/app/_core/services/token/token-adapter.service.ts","./ClientApp/app/_core/services/token/token-interceptor.service.ts","./ClientApp/app/_core/services/token/token-refresh.resources.ts","./ClientApp/app/_core/services/token/token-retrieval.resources.ts","./ClientApp/app/_core/services/token/token-storage.service.ts","./ClientApp/app/_core/services/token/token-timeout.service.ts","./ClientApp/app/_core/services/token/token.service.ts","./ClientApp/app/_core/services/tour-storage.service.ts","./ClientApp/app/_core/state/account.state.ts","./ClientApp/app/_core/state/app-shell.state.ts","./ClientApp/app/_core/state/auth.state.ts","./ClientApp/app/_core/state/banner.state.ts","./ClientApp/app/_core/state/classification.state.ts","./ClientApp/app/_core/state/finance.state.ts","./ClientApp/app/_core/state/footer.state.ts","./ClientApp/app/_core/state/spinner.state.ts","./ClientApp/app/_core/state/token.state.ts","./ClientApp/app/_core/typings/api/custom-alerts.typing.ts","./ClientApp/app/_core/typings/api/notes.typing.ts","./ClientApp/app/_core/typings/api/vetting-request.typing.ts","./ClientApp/app/_core/typings/bbid.typing.ts","./ClientApp/app/_core/typings/feature-flag.typing.ts","./ClientApp/app/_core/typings/persona.typing.ts","./ClientApp/app/_core/typings/token.typing.ts","./ClientApp/app/_core/typings/ui/giact-codes.typing.ts","./ClientApp/app/_core/typings/vetting-application.typing.ts","./ClientApp/app/app.component.ts","./ClientApp/app/app.routes.ts","./ClientApp/app/app.shared.module.ts","./ClientApp/app/asset-management/services/asset-management.resources.ts","./ClientApp/app/asset-management/services/asset-management.service.ts","./ClientApp/app/asset-management/services/asset-management.state.ts","./ClientApp/app/claim/services/claim.resources.ts","./ClientApp/app/claim/services/claim.service.ts","./ClientApp/app/claim/services/claim.state.ts","./ClientApp/app/custom-alerts/custom-alerts.resolver.ts","./ClientApp/app/custom-alerts/custom-alerts.resources.ts","./ClientApp/app/custom-alerts/custom-alerts.service.ts","./ClientApp/app/custom-alerts/custom-alerts.state.ts","./ClientApp/app/dashboard/dashboard.resources.ts","./ClientApp/app/dashboard/dashboard.service.ts","./ClientApp/app/dashboard/dashboard.state.ts","./ClientApp/app/environments/environment.ts","./ClientApp/app/give/check-fee-details-modal/check-fee-details-modal.component.ts","./ClientApp/app/give/check-fee-details-modal/check-fee-details-modal.component.html","./ClientApp/app/give/payment-companies-popover/payment-companies-popover.component.ts","./ClientApp/app/give/payment-companies-popover/payment-companies-popover.component.html","./ClientApp/app/home/resolvers/featured-partner-collateral.resolver.ts","./ClientApp/app/home/resolvers/my-workspace-finance.resolver.ts","./ClientApp/app/home/resolvers/notifications.resolver.ts","./ClientApp/app/home/services/featured-partner.resources.ts","./ClientApp/app/home/services/featured-partner.service.ts","./ClientApp/app/home/services/featured-partner.state.ts","./ClientApp/app/home/services/my-workspace-finance.resources.ts","./ClientApp/app/home/services/my-workspace-finance.service.ts","./ClientApp/app/home/services/my-workspace-finance.state.ts","./ClientApp/app/home/services/notifications.resources.ts","./ClientApp/app/home/services/notifications.service.ts","./ClientApp/app/home/services/notifications.state.ts","./ClientApp/app/location/countries.resolver.ts","./ClientApp/app/location/location.resources.ts","./ClientApp/app/location/location.service.ts","./ClientApp/app/location/location.state.ts","./ClientApp/app/login/terms-of-service-modal/terms-of-service-modal.component.ts","./ClientApp/app/login/terms-of-service-modal/terms-of-service-modal.component.html","./ClientApp/app/mailTo-modal/mailTo-modal.resources.ts","./ClientApp/app/mailTo-modal/mailTo-modal.service.ts","./ClientApp/app/my-account/resolvers/communication-preferences.resolver.ts","./ClientApp/app/my-account/services/communication.resources.ts","./ClientApp/app/my-account/services/communication.service.ts","./ClientApp/app/my-account/services/communication.state.ts","./ClientApp/app/my-nonprofits/my-nonprofits.resolver.ts","./ClientApp/app/my-nonprofits/my-nonprofits.resources.ts","./ClientApp/app/my-nonprofits/my-nonprofits.service.ts","./ClientApp/app/my-nonprofits/my-nonprofits.state.ts","./ClientApp/app/nonprofit/nonprofit.resources.ts","./ClientApp/app/nonprofit/nonprofit.service.ts","./ClientApp/app/nonprofit/nonprofit.state.ts","./ClientApp/app/nonprofits-research/public-nonprofit-search/public-nonprofit-search.component.ts","./ClientApp/app/nonprofits-research/public-nonprofit-search/public-nonprofit-search.component.html","./ClientApp/app/notes/notes.resources.ts","./ClientApp/app/notes/notes.service.ts","./ClientApp/app/notes/notes.state.ts","./ClientApp/app/persona/add-edit-persona-answer-custom-response-modal/add-edit-persona-answer-custom-response-modal.component.ts","./ClientApp/app/persona/add-edit-persona-answer-custom-response-modal/add-edit-persona-answer-custom-response-modal.component.html","./ClientApp/app/persona/add-edit-persona-answers-modal/add-edit-persona-answers-modal.component.ts","./ClientApp/app/persona/add-edit-persona-answers-modal/add-edit-persona-answers-modal.component.html","./ClientApp/app/persona/question-and-answers/question-and-answers.component.ts","./ClientApp/app/persona/question-and-answers/question-and-answers.component.html","./ClientApp/app/platform-admin/resolvers/feature-flag.resolver.ts","./ClientApp/app/platform-admin/services/release-notes.resources.ts","./ClientApp/app/platform-admin/services/release-notes.service.ts","./ClientApp/app/programs/program-types.resolver.ts","./ClientApp/app/programs/programs.resources.ts","./ClientApp/app/programs/programs.service.ts","./ClientApp/app/programs/programs.state.ts","./ClientApp/app/prospective-admins/resolvers/prospective-admin-optout-reasons.resolver.ts","./ClientApp/app/reasons/all-reasons.resolver.ts","./ClientApp/app/reasons/reason.pipe.ts","./ClientApp/app/reasons/reasons.resources.ts","./ClientApp/app/reasons/reasons.service.ts","./ClientApp/app/reasons/reasons.state.ts","./ClientApp/app/registration-authorities/registration-authorities-for-nonprofit-add.resolver.ts","./ClientApp/app/registration-authorities/registration-authorities.resources.ts","./ClientApp/app/registration-authorities/registration-authorities.service.ts","./ClientApp/app/registration-authorities/registration-authorities.state.ts","./ClientApp/app/reporting/reporting.state.ts","./ClientApp/app/reporting/services/reporting.resources.ts","./ClientApp/app/reporting/services/reporting.service.ts","./ClientApp/app/search/active-admin-modal/active-admin-modal.component.ts","./ClientApp/app/search/active-admin-modal/active-admin-modal.component.html","./ClientApp/app/statuses/all-statuses.resolver.ts","./ClientApp/app/statuses/status.pipe.ts","./ClientApp/app/statuses/status.resources.ts","./ClientApp/app/statuses/status.service.ts","./ClientApp/app/statuses/status.state.ts","./ClientApp/app/submitted-support-requests/services/submitted-support-requests.resources.ts","./ClientApp/app/submitted-support-requests/services/submitted-support-requests.service.ts","./ClientApp/app/submitted-support-requests/services/submitted-support-requests.state.ts","./ClientApp/app/support-request/services/support-request.resources.ts","./ClientApp/app/support-request/services/support-request.service.ts","./ClientApp/app/support-request/services/support-request.state.ts","./ClientApp/app/system-health-dashboard/system-health-dashboard-modal/system-health-dashboard-modal.component.ts","./ClientApp/app/system-health-dashboard/system-health-dashboard-modal/system-health-dashboard-modal.component.html","./ClientApp/app/system-health-dashboard/system-health-dashboard-page/system-health-dashboard-page.component.ts","./ClientApp/app/system-health-dashboard/system-health-dashboard-page/system-health-dashboard-page.component.html","./ClientApp/app/system-health-dashboard/system-health-dashboard.resources.ts","./ClientApp/app/system-health-dashboard/system-health-dashboard.service.ts","./ClientApp/app/vetting-review/vetting-application-date.pipe.ts","./ClientApp/app/volunteer/services/volunteer-event.resources.ts","./ClientApp/app/volunteer/services/volunteer-event.service.ts","./ClientApp/app/volunteer/services/volunteer-event.state.ts","./ClientApp/lib/Cache.ts","./ClientApp/lib/UrlStorage.ts","./ClientApp/main.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\r\nimport { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\nimport { YCCommonModule } from '@yourcause/common';\r\nimport { AlertModule } from '@yourcause/common/alert';\r\nimport { BannerModule } from '@yourcause/common/banner';\r\nimport { BlockUiModule } from '@yourcause/common/block-ui';\r\nimport { ButtonModule } from '@yourcause/common/buttons';\r\nimport { CheckboxModule } from '@yourcause/common/checkbox';\r\nimport { CoreFormsModule } from '@yourcause/common/core-forms';\r\nimport { CurrencyModule } from '@yourcause/common/currency';\r\nimport { DateModule } from '@yourcause/common/date';\r\nimport { DomModule } from '@yourcause/common/dom';\r\nimport { FilesModule } from '@yourcause/common/files';\r\nimport { HTTP_REST_SERVICE } from '@yourcause/common/http';\r\nimport { I18nModule } from '@yourcause/common/i18n';\r\nimport { IconsModule } from '@yourcause/common/icons';\r\nimport { InputModule } from '@yourcause/common/input';\r\nimport { LINK_SERVICE } from '@yourcause/common/links';\r\nimport { ModalsModule } from '@yourcause/common/modals';\r\nimport { PanelModule } from '@yourcause/common/panel';\r\nimport { RadioButtonsModule } from '@yourcause/common/radio-buttons';\r\nimport { RichTextEditorModule } from '@yourcause/common/rich-text-editor';\r\nimport { SelectModule } from '@yourcause/common/select';\r\nimport { SPINNER_SERVICE } from '@yourcause/common/spinner';\r\nimport { TextAreaModule } from '@yourcause/common/textarea';\r\nimport { TourModule } from '@yourcause/common/tour';\r\nimport { TypeaheadSelectModule } from '@yourcause/common/typeahead-select';\r\nimport { UtilsModule } from '@yourcause/common/utils';\r\nimport { NgChartsModule } from 'ng2-charts';\r\nimport { AccordionModule } from 'ngx-bootstrap/accordion';\r\nimport { PopoverModule } from 'ngx-bootstrap/popover';\r\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\r\nimport { PaymentCompaniesPopoverComponent } from '../give/payment-companies-popover/payment-companies-popover.component';\r\nimport { TermsOfServiceModalComponent } from '../login/terms-of-service-modal/terms-of-service-modal.component';\r\nimport { PublicNonprofitSearchComponent } from '../nonprofits-research/public-nonprofit-search/public-nonprofit-search.component';\r\nimport { ReasonPipe } from '../reasons/reason.pipe';\r\nimport { StatusPipe } from '../statuses/status.pipe';\r\nimport { VettingApplicationDatePipe } from '../vetting-review/vetting-application-date.pipe';\r\nimport { AddressBlockComponent } from './components/address-block/address-block.component';\r\nimport { AdminNavigationComponent } from './components/admin-navigation/admin-navigation.component';\r\nimport { AuthWrapperComponent } from './components/auth-wrapper/auth-wrapper.component';\r\nimport { BankInfoAlertComponent } from './components/bank-info-alert/bank-info-alert.component';\r\nimport { ChapterAddressMatchParentModalComponent } from './components/chapter-address-match-parent-modal/chapter-address-match-parent-modal.component';\r\nimport { ClassificationComponent } from './components/classification/classification.component';\r\nimport { ConfirmNpoAdminModalComponent } from './components/confirm-npo-admin-modal/confirm-npo-admin-modal.component';\r\nimport { DesignationComponent } from './components/designation/designation.component';\r\nimport { EmailCommunicationGroupComponent } from './components/email-communication-group/email-communication-group.component';\r\nimport { ExtendedSearchDetailsComponent } from './components/extended-search-details/extended-search-details.component';\r\nimport { ListComponent } from './components/list/list.component';\r\nimport { NppNonprofitBlockTableInfoModalComponent } from './components/nonprofit-block-table-info-modal/nonprofit-block-table-info-modal.component';\r\nimport { NonprofitIRSCodesModalComponent } from './components/nonprofit-irs-codes-modal/nonprofit-irs-codes-modal.component';\r\nimport { NonprofitNotificationModalComponent } from './components/nonprofit-notification-modal/nonprofit-notification-modal.component';\r\nimport { NonprofitSearchComponent } from './components/nonprofit-search/nonprofit-search.component';\r\nimport { NpoAddressComponent } from './components/npo-address/npo-address.component';\r\nimport { NppNonprofitBlockTableComponent } from './components/npp-nonprofit-block-table/npp-nonprofit-block-table.component';\r\nimport { NppNpoStatsBlockComponent } from './components/npp-npo-stats-block/npp-npo-stats-block.component';\r\nimport { PaymentCardsComponent } from './components/payment-cards/payment-cards.component';\r\nimport { RegistrationAuthorityAttrModalComponent } from './components/registration-authority-attr-modal/registration-authority-attr-modal.component';\r\nimport { ReleaseNotesComponent } from './components/release-notes/release-notes.component';\r\nimport { RevocationDetailsByStateModalComponent } from './components/revocation-details-by-state-modal/revocation-details-by-state-modal.component';\r\nimport { SearchNpoAutocompleteComponent } from './components/search-npo-autocomplete/search-npo-autocomplete.component';\r\nimport { SearchNpoMergeComponent } from './components/search-npo-merge/search-npo-merge.component';\r\nimport { ShowChapterNonprofitsComponent } from './components/show-chapter-nonprofits/show-chapter-nonprofits.component';\r\nimport { ShowInactiveNonprofitsComponent } from './components/show-inactive-nonprofits/show-inactive-nonprofits.component';\r\nimport { TransactionFeesComponent } from './components/transaction-fees/transaction-fees.component';\r\nimport { UnAuthWrapperComponent } from './components/unauth-wrapper/unauth-wrapper.component';\r\nimport { VettingApplicationStepperComponent } from './components/vetting-application-stepper/vetting-application-stepper.component';\r\nimport { IfNonprofitRoleDirective } from './directives/if-nonprofit-role.directive';\r\nimport { IfSystemRoleDirective } from './directives/if-system-role.directive';\r\nimport { UnlessNonprofitRoleDirective } from './directives/unless-nonprofit-role.directive';\r\nimport { UnlessSystemRoleDirective } from './directives/unless-system-role.directive';\r\nimport { AuthGuard } from './guards/auth.guard';\r\nimport { ReleaseNotesGuard } from './guards/release-notes.guard';\r\nimport { PersonaGuard } from '@core/guards/persona.guard';\r\nimport { RouteToSearchGuard } from './guards/route-to-search.guard';\r\nimport { UnauthGuard } from './guards/unauth.guard';\r\nimport { ActiveVettingPipe } from './pipes/active-vetting.pipe';\r\nimport { AdaptUrl } from './pipes/adapt-url.pipe';\r\nimport { AddressObjectPipe } from './pipes/address-object.pipe';\r\nimport { AlertPageIdMapPipe } from './pipes/alert-page-id-map.pipe';\r\nimport { AlternateNaText } from './pipes/alternate-na-text.pipe';\r\nimport { AssetTypeNamePipe } from './pipes/asset-type-name.pipe';\r\nimport { CalculateDaysAgoPipe } from './pipes/calculate-days-ago.pipe';\r\nimport { CarriageToBrPipe } from './pipes/carriage-to-br.pipe';\r\nimport { ChangeTrackingChangedByPipe } from './pipes/change-tracking-changed-by.pipe';\r\nimport { EntityPropertyDescPipe } from './pipes/change-tracking-entity.pipe';\r\nimport { ChangeTrackingOldNewValuePipe } from './pipes/change-tracking-old-new-value.pipe';\r\nimport { CharityCompareStatusPipe } from './pipes/charity-compare-status.pipe';\r\nimport { CheckPastDatePipe } from './pipes/check-past-date.pipe';\r\nimport { EligibleForGivingStatusIdPipe } from './pipes/eligible-for-giving-status-id.pipe';\r\nimport { EmailIcon } from './pipes/email-icon.pipe';\r\nimport { ExternalSystemsPipe } from './pipes/external-systems.pipe';\r\nimport { GenericizeStatus } from './pipes/genericize-status.pipe';\r\nimport { GiactCodePipe } from './pipes/giact-code.pipe';\r\nimport { IntBankFieldLength } from './pipes/int-bank-field-length.pipe';\r\nimport { JobIntervalFrequency } from './pipes/job-interval-frequency.pipe';\r\nimport { LocalizeBankField } from './pipes/localize-bank-field.pipe';\r\nimport { LocalizeBankHelp } from './pipes/localize-bank-help.pipe';\r\nimport { LocalizeWithNamespacePipe } from './pipes/localize-with-namespace.pipe';\r\nimport { MatchedDonorInfoPipe } from './pipes/matched-donor-info.pipe';\r\nimport { MergeComparison } from './pipes/merge-comparison.pipe';\r\nimport { NoteType } from './pipes/note-type.pipe';\r\nimport { NPOCommActionsPipe } from './pipes/npo-comm-actions.pipe';\r\nimport { NpoInactiveMessage } from './pipes/npo-inactive-message.pipe';\r\nimport { RegistrationAuthAttrs } from './pipes/registration-auth-attrs.pipe';\r\nimport { SdgLocalizedName } from './pipes/sdg-localized-name.pipe';\r\nimport { ShiftCapacity } from './pipes/shift-capacity.pipe';\r\nimport { ShowIfYc } from './pipes/show-if-yc.pipe';\r\nimport { StatusIcon } from './pipes/status-icon.pipe';\r\nimport { StringCommaSpacePipe } from './pipes/string-comma-space.pipe';\r\nimport { UserRolesPipe } from './pipes/user-roles.pipe';\r\nimport { VettingOrganizationTypePipe } from './pipes/vetting-organization-type.pipe';\r\nimport { VettingRequestStatus } from './pipes/vetting-request-status.pipe';\r\nimport { VettingRequestedBy } from './pipes/vetting-requested-by.pipe';\r\nimport { VettingTypePipe } from './pipes/vetting-type.pipe';\r\nimport { VolunteerCommunityPartnersPipe } from './pipes/volunteer-community-partners.pipe';\r\nimport { VolunteerEventActionPipe } from './pipes/volunteer-event-action.pipe';\r\nimport { VolunteerEventDate } from './pipes/volunteer-event-date.pipe';\r\nimport { EventStatus } from './pipes/volunteer-event-status.pipe';\r\nimport { VolunteerParticipantCountPipe } from './pipes/volunteer-participant-count.pipe';\r\nimport { VolunteerShiftDates } from './pipes/volunteer-shift-dates.pipe';\r\nimport { CacheBusterInterceptor } from './services/cache-buster.service';\r\nimport { HttpRestService } from './services/http-rest.service';\r\nimport { LinkService } from './services/link.service';\r\nimport { SpinnerService } from './services/spinner.service';\r\nimport { TokenInterceptor } from './services/token/token-interceptor.service';\r\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\r\nimport { EfgDbStatusValuePipe } from './pipes/efg-db-status-value.pipe';\r\nimport { AddEditPersonaAnswerCustomResponseModalComponent } from '../persona/add-edit-persona-answer-custom-response-modal/add-edit-persona-answer-custom-response-modal.component';\r\nimport { PersonaQuestionAndAnswersComponent } from '../persona/question-and-answers/question-and-answers.component';\r\nimport { AddEditPersonaAnswersModalComponent } from '../persona/add-edit-persona-answers-modal/add-edit-persona-answers-modal.component';\r\n\r\n@NgModule({\r\n imports: [\r\n TooltipModule,\r\n PopoverModule,\r\n AccordionModule,\r\n BsDropdownModule,\r\n I18nModule,\r\n CoreFormsModule,\r\n IconsModule,\r\n ButtonModule,\r\n TourModule,\r\n TypeaheadSelectModule,\r\n DateModule,\r\n TextAreaModule,\r\n RichTextEditorModule,\r\n RadioButtonsModule,\r\n CurrencyModule,\r\n BlockUiModule,\r\n InputModule,\r\n FilesModule,\r\n SelectModule,\r\n CheckboxModule,\r\n PanelModule,\r\n BannerModule,\r\n AlertModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n YCCommonModule,\r\n CommonModule,\r\n RouterModule,\r\n ModalsModule,\r\n DomModule,\r\n UtilsModule\r\n ],\r\n declarations: [\r\n AuthWrapperComponent,\r\n UnAuthWrapperComponent,\r\n IfSystemRoleDirective,\r\n IfNonprofitRoleDirective,\r\n UnlessNonprofitRoleDirective,\r\n UnlessSystemRoleDirective,\r\n TermsOfServiceModalComponent,\r\n AddressBlockComponent,\r\n BankInfoAlertComponent,\r\n NpoAddressComponent,\r\n PaymentCardsComponent,\r\n ListComponent,\r\n SearchNpoAutocompleteComponent,\r\n SearchNpoMergeComponent,\r\n NonprofitSearchComponent,\r\n PublicNonprofitSearchComponent,\r\n ShowInactiveNonprofitsComponent,\r\n ShowChapterNonprofitsComponent,\r\n ClassificationComponent,\r\n DesignationComponent,\r\n AdminNavigationComponent,\r\n NonprofitNotificationModalComponent,\r\n ConfirmNpoAdminModalComponent,\r\n RegistrationAuthorityAttrModalComponent,\r\n RevocationDetailsByStateModalComponent,\r\n ReleaseNotesComponent,\r\n ExtendedSearchDetailsComponent,\r\n NonprofitIRSCodesModalComponent,\r\n ChapterAddressMatchParentModalComponent,\r\n TransactionFeesComponent,\r\n VettingApplicationStepperComponent,\r\n EmailCommunicationGroupComponent,\r\n NppNpoStatsBlockComponent,\r\n NppNonprofitBlockTableComponent,\r\n NppNonprofitBlockTableInfoModalComponent,\r\n GenericizeStatus,\r\n ActiveVettingPipe,\r\n VettingRequestStatus,\r\n ReasonPipe,\r\n StatusPipe,\r\n ExternalSystemsPipe,\r\n GiactCodePipe,\r\n NpoInactiveMessage,\r\n AdaptUrl,\r\n UserRolesPipe,\r\n ShiftCapacity,\r\n SdgLocalizedName,\r\n LocalizeWithNamespacePipe,\r\n NoteType,\r\n NPOCommActionsPipe,\r\n CarriageToBrPipe,\r\n AlertPageIdMapPipe,\r\n StringCommaSpacePipe,\r\n VettingOrganizationTypePipe,\r\n VettingApplicationDatePipe,\r\n VettingRequestedBy,\r\n VettingTypePipe,\r\n MergeComparison,\r\n JobIntervalFrequency,\r\n VolunteerShiftDates,\r\n VolunteerEventDate,\r\n EmailIcon,\r\n IntBankFieldLength,\r\n LocalizeBankField,\r\n LocalizeBankHelp,\r\n ShowIfYc,\r\n StatusIcon,\r\n EventStatus,\r\n ChangeTrackingChangedByPipe,\r\n EntityPropertyDescPipe,\r\n ChangeTrackingOldNewValuePipe,\r\n CalculateDaysAgoPipe,\r\n VolunteerEventActionPipe,\r\n EligibleForGivingStatusIdPipe,\r\n EfgDbStatusValuePipe,\r\n VolunteerParticipantCountPipe,\r\n AssetTypeNamePipe,\r\n VolunteerCommunityPartnersPipe,\r\n CheckPastDatePipe,\r\n CharityCompareStatusPipe,\r\n RegistrationAuthAttrs,\r\n PaymentCompaniesPopoverComponent,\r\n MatchedDonorInfoPipe,\r\n AddressObjectPipe,\r\n AlternateNaText,\r\n AddEditPersonaAnswerCustomResponseModalComponent,\r\n PersonaQuestionAndAnswersComponent,\r\n AddEditPersonaAnswersModalComponent\r\n ],\r\n providers: [\r\n HttpClientModule,\r\n AuthGuard,\r\n UnauthGuard,\r\n ReleaseNotesGuard,\r\n PersonaGuard,\r\n RouteToSearchGuard,\r\n {\r\n provide: LINK_SERVICE,\r\n useClass: LinkService\r\n },\r\n {\r\n provide: HTTP_REST_SERVICE,\r\n useClass: HttpRestService\r\n },\r\n {\r\n provide: SPINNER_SERVICE,\r\n useClass: SpinnerService\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: TokenInterceptor,\r\n multi: true\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: CacheBusterInterceptor,\r\n multi: true\r\n }\r\n ],\r\n exports: [\r\n I18nModule,\r\n CoreFormsModule,\r\n IconsModule,\r\n ButtonModule,\r\n BsDropdownModule,\r\n TourModule,\r\n TypeaheadSelectModule,\r\n DateModule,\r\n TextAreaModule,\r\n RichTextEditorModule,\r\n RadioButtonsModule,\r\n CurrencyModule,\r\n BlockUiModule,\r\n InputModule,\r\n FilesModule,\r\n SelectModule,\r\n CheckboxModule,\r\n PanelModule,\r\n BannerModule,\r\n AlertModule,\r\n CommonModule,\r\n YCCommonModule,\r\n TooltipModule,\r\n PopoverModule,\r\n UtilsModule,\r\n AccordionModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgChartsModule,\r\n IfSystemRoleDirective,\r\n IfNonprofitRoleDirective,\r\n UnlessNonprofitRoleDirective,\r\n UnlessSystemRoleDirective,\r\n HttpClientModule,\r\n AddressBlockComponent,\r\n BankInfoAlertComponent,\r\n NpoAddressComponent,\r\n PaymentCardsComponent,\r\n ListComponent,\r\n SearchNpoAutocompleteComponent,\r\n SearchNpoMergeComponent,\r\n NonprofitSearchComponent,\r\n PublicNonprofitSearchComponent,\r\n ShowInactiveNonprofitsComponent,\r\n ShowChapterNonprofitsComponent,\r\n ClassificationComponent,\r\n UnAuthWrapperComponent,\r\n AuthWrapperComponent,\r\n DesignationComponent,\r\n AdminNavigationComponent,\r\n ExtendedSearchDetailsComponent,\r\n NonprofitIRSCodesModalComponent,\r\n ReleaseNotesComponent,\r\n NonprofitNotificationModalComponent,\r\n ConfirmNpoAdminModalComponent,\r\n RegistrationAuthorityAttrModalComponent,\r\n RevocationDetailsByStateModalComponent,\r\n ChapterAddressMatchParentModalComponent,\r\n AddEditPersonaAnswerCustomResponseModalComponent,\r\n PersonaQuestionAndAnswersComponent,\r\n AddEditPersonaAnswersModalComponent,\r\n TransactionFeesComponent,\r\n VettingApplicationStepperComponent,\r\n EmailCommunicationGroupComponent,\r\n NppNpoStatsBlockComponent,\r\n NppNonprofitBlockTableComponent,\r\n NppNonprofitBlockTableInfoModalComponent,\r\n ShiftCapacity,\r\n SdgLocalizedName,\r\n LocalizeWithNamespacePipe,\r\n NoteType,\r\n NPOCommActionsPipe,\r\n CarriageToBrPipe,\r\n VettingRequestedBy,\r\n VettingTypePipe,\r\n AlertPageIdMapPipe,\r\n StringCommaSpacePipe,\r\n GenericizeStatus,\r\n ActiveVettingPipe,\r\n VettingRequestStatus,\r\n ReasonPipe,\r\n StatusPipe,\r\n ExternalSystemsPipe,\r\n GiactCodePipe,\r\n VettingOrganizationTypePipe,\r\n VettingApplicationDatePipe,\r\n NpoInactiveMessage,\r\n AdaptUrl,\r\n UserRolesPipe,\r\n MergeComparison,\r\n JobIntervalFrequency,\r\n VolunteerShiftDates,\r\n EmailIcon,\r\n IntBankFieldLength,\r\n VolunteerEventDate,\r\n LocalizeBankField,\r\n LocalizeBankHelp,\r\n ShowIfYc,\r\n StatusIcon,\r\n EventStatus,\r\n ChangeTrackingChangedByPipe,\r\n EntityPropertyDescPipe,\r\n ChangeTrackingOldNewValuePipe,\r\n CalculateDaysAgoPipe,\r\n VolunteerEventActionPipe,\r\n EligibleForGivingStatusIdPipe,\r\n EfgDbStatusValuePipe,\r\n VolunteerParticipantCountPipe,\r\n AssetTypeNamePipe,\r\n VolunteerCommunityPartnersPipe,\r\n CheckPastDatePipe,\r\n CharityCompareStatusPipe,\r\n RegistrationAuthAttrs,\r\n PaymentCompaniesPopoverComponent,\r\n MatchedDonorInfoPipe,\r\n AddressObjectPipe,\r\n AlternateNaText,\r\n ModalsModule,\r\n DomModule\r\n ]\r\n})\r\nexport class YCCoreModule {}\r\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { UntypedFormGroup } from '@angular/forms';\r\nimport { Country, StateProvReg } from '@core/models/location.model';\r\nimport { Addresses } from '@yourcause/common';\r\nimport { TypeaheadSelectOption } from '@yourcause/common/core-forms';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { Subscription } from 'rxjs';\r\nimport { LocationService } from '../../../location/location.service';\r\n\r\n@Component({\r\n selector: 'yc-address-block',\r\n templateUrl: './address-block.component.html',\r\n styleUrls: ['./address-block.component.scss']\r\n})\r\nexport class AddressBlockComponent implements OnInit, OnDestroy {\r\n @Input() addressFormGroup: UntypedFormGroup;\r\n @Input() showName = true;\r\n @Input() nameInfoText: string;\r\n @Input() nameLabel = this.i18n.translate(\r\n 'common:textOrganizationName',\r\n {},\r\n 'Organization name'\r\n );\r\n loading = true;\r\n countries: Country[] = this.locationService.countries;\r\n regions: StateProvReg[] = this.locationService.regions;\r\n countrySelects: TypeaheadSelectOption[] = this.locationService.countriesForSelect;\r\n regionSelects: TypeaheadSelectOption[];\r\n addresses: Addresses;\r\n\r\n subscription = new Subscription();\r\n\r\n constructor (\r\n private locationService: LocationService,\r\n private i18n: I18nService\r\n ) {\r\n this.subscription.add(\r\n this.locationService.changesTo$('regionsForSelect')\r\n .subscribe((regions: TypeaheadSelectOption[]) => {\r\n this.regionSelects = regions;\r\n })\r\n );\r\n }\r\n\r\n async ngOnInit () {\r\n this.showName = this.showName && !!this.addressFormGroup.controls.name;\r\n\r\n if (this.countries.length === 0) {\r\n await this.locationService.setCountries();\r\n }\r\n if (!!this.addressFormGroup?.value?.countryCode) {\r\n this.addressFormGroup.controls.countryCode.setValue(\r\n this.addressFormGroup.value.countryCode\r\n );\r\n this.locationService.setRegions(this.addressFormGroup.value.countryCode);\r\n }\r\n if (this.addressFormGroup?.value?.stateProvRegId) {\r\n this.setRegionCode(this.addressFormGroup.value.stateProvRegId);\r\n }\r\n this.loading = false;\r\n }\r\n\r\n\r\n setRegionCode (id: number) {\r\n if (this.regions) {\r\n const region = this.regions.find((reg) => +reg.id === +id);\r\n if (region) {\r\n this.addressFormGroup.controls.stateProvRegCode?.setValue(region.stateProvRegCode);\r\n }\r\n }\r\n }\r\n\r\n async setRegionsOnCountryChange (countryCode: string) {\r\n this.locationService.setRegions(countryCode);\r\n }\r\n\r\n ngOnDestroy () {\r\n this.subscription.unsubscribe();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n {{ nameInfoText }}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
0\"\r\n class=\"col-md-6\">\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
","\r\nimport { Component, Input, OnDestroy } from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { Nonprofit } from '@core/models/npo.model';\r\nimport { AuthService } from '@core/services/auth.service';\r\nimport { BannerService } from '@core/services/banner.service';\r\nimport { FeatureFlagType } from '@core/typings/feature-flag.typing';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { NotifierService } from '@yourcause/common/notifier';\r\nimport { Subscription } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { NonprofitService } from '../../../nonprofit/nonprofit.service';\r\nimport { NotesService } from '../../../notes/notes.service';\r\nimport { FeatureFlagService } from '../../services/feature-flag/feature-flag.service';\r\n\r\n@Component({\r\n selector: 'yc-admin-navigation',\r\n templateUrl: './admin-navigation.component.html',\r\n styleUrls: ['./admin-navigation.component.scss']\r\n})\r\nexport class AdminNavigationComponent implements OnDestroy {\r\n @Input() visibleRouteRegex = /^\\/(search|login|yourcause-admin|my-account|platform-admin|help-support|compliance|nonprofit-management|implementation|reporting|custom-alerts|system-health-dashboard|submitted-support-requests).*$/;\r\n\r\n activeNpo: Nonprofit;\r\n programFlagValue = this.featureFlagService.getFeatureFlagEnabledValue(FeatureFlagType.Programs);\r\n tooltipText = this.i18n.translate(\r\n 'admin:textCopyRegistrationId',\r\n {},\r\n 'Copy registration ID'\r\n );\r\n notesCount$ = this.noteService.changesTo$('noteCount');\r\n visible: boolean;\r\n\r\n sub = new Subscription();\r\n originalLinks = [{\r\n href: 'account-setup',\r\n label: 'Administration',\r\n i18nKey: 'sidebar:linkAccountSetup'\r\n }, {\r\n href: 'user-management',\r\n label: 'User Management',\r\n i18nKey: 'sidebar:linkUserManagement'\r\n }, {\r\n href: 'dashboard',\r\n label: 'Dashboard',\r\n i18nKey: 'sidebar:linkDashboard'\r\n }, {\r\n href: 'giving',\r\n label: 'Giving',\r\n i18nKey: 'sidebar:linkGiving'\r\n }, {\r\n href: 'volunteering',\r\n label: 'Volunteering',\r\n i18nKey: 'sidebar:linkVolunteering'\r\n }, {\r\n href: 'my-workspace',\r\n label: 'Workspace',\r\n i18nKey: 'sidebar:linkWorkspace'\r\n }, {\r\n href: 'notes',\r\n label: 'Notes (__noteCount__)',\r\n context: this.notesCount$.pipe(map(noteCount => ({ noteCount }))),\r\n i18nKey: 'admin:textNotesDynamicLink'\r\n }].concat(\r\n !!this.programFlagValue ?\r\n [{\r\n href: 'programs',\r\n label: 'Programs',\r\n i18nKey: 'sidebar:linkPrograms'\r\n }] : []\r\n );\r\n chapterObj = {\r\n href: 'chapters',\r\n label: 'Chapters',\r\n i18nKey: 'nonprofits:textChapters'\r\n };\r\n @Input() links = this.originalLinks;\r\n\r\n constructor (\r\n public router: Router,\r\n private noteService: NotesService,\r\n private i18n: I18nService,\r\n private notifier: NotifierService,\r\n private nonprofitService: NonprofitService,\r\n private bannerService: BannerService,\r\n private authService: AuthService,\r\n private featureFlagService: FeatureFlagService\r\n ) {\r\n this.sub.add(this.nonprofitService.changesTo$('activeNpo')\r\n .subscribe((activeNpo) => {\r\n if (!!activeNpo) {\r\n this.activeNpo = activeNpo;\r\n if (!activeNpo.isChapterAffiliate) {\r\n this.addChapterLink();\r\n } else {\r\n this.removeChapterLink();\r\n }\r\n }\r\n })\r\n );\r\n this.sub.add(this.router.events.subscribe((e) => {\r\n if (e instanceof NavigationEnd) {\r\n this.visible = !this.visibleRouteRegex.test(this.router.url);\r\n if (\r\n (!!this.activeNpo && !this.activeNpo?.isActive) &&\r\n ((this.visible && this.authService.isInternalAdmin()) ||\r\n (this.authService.isNonprofitUser()))\r\n ) {\r\n this.bannerService.setShowInactiveNpoBanner(true);\r\n } else {\r\n this.bannerService.setShowInactiveNpoBanner(false);\r\n }\r\n this.bannerService.setPortalBanners();\r\n }\r\n }));\r\n }\r\n\r\n copyRegistrationId (regId: string) {\r\n navigator.clipboard.writeText(regId).then(() => {\r\n this.notifier.success(this.i18n.translate(\r\n 'admin:textRegIdCopied',\r\n {},\r\n 'Registration ID copied'\r\n ));\r\n });\r\n }\r\n\r\n addChapterLink () {\r\n this.links = [\r\n ...this.originalLinks.slice(0, 1),\r\n this.chapterObj,\r\n ...this.originalLinks.slice(1)\r\n ];\r\n }\r\n\r\n removeChapterLink () {\r\n this.links = this.originalLinks;\r\n }\r\n\r\n ngOnDestroy () {\r\n this.sub.unsubscribe();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n
\r\n
","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Notification } from '@core/models/notifications.model';\r\nimport { Nonprofit } from '@core/models/npo.model';\r\nimport { AccountService } from '@core/services/account.service';\r\nimport { AppShellService } from '@core/services/app-shell.service';\r\nimport { AuthService } from '@core/services/auth.service';\r\nimport { BannerService } from '@core/services/banner.service';\r\nimport { LinkService } from '@core/services/link.service';\r\nimport { SessionKeepAliveService } from '@core/services/session-keep-alive.service';\r\nimport { TokenTimeoutService } from '@core/services/token/token-timeout.service';\r\nimport { TokenService } from '@core/services/token/token.service';\r\nimport { FooterState } from '@core/state/footer.state';\r\nimport { environment } from '@environment';\r\nimport { AddressFormatterService, HelpTextServer, HelpTextService, SidebarLink } from '@yourcause/common';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { ModalFactory } from '@yourcause/common/modals';\r\nimport { NotificationsService } from 'ClientApp/app/home/services/notifications.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\nimport { NonprofitService } from '../../../nonprofit/nonprofit.service';\r\nimport { NonprofitNotificationModalComponent } from '../nonprofit-notification-modal/nonprofit-notification-modal.component';\r\nimport { ReleaseNotesComponent } from '../release-notes/release-notes.component';\r\nimport { BasicTourStep } from '@yourcause/common/tour';\r\n\r\n@Component({\r\n selector: 'npp-auth-wrapper',\r\n templateUrl: './auth-wrapper.component.html',\r\n styleUrls: ['./auth-wrapper.component.scss']\r\n})\r\nexport class AuthWrapperComponent implements OnInit, OnDestroy {\r\n isLoggedIn = true;\r\n copyrightText = '©2020 YourCause - NPOconnect Nonprofit Platform (' + environment.version + ')';\r\n headerVisible = true;\r\n accountName: string;\r\n initials: string;\r\n accountRole = '';\r\n primaryText: string;\r\n secondaryText: string;\r\n tertiaryText: string;\r\n logoUrl = 'assets/img/placeholders/charity-icon-placeholder.svg';\r\n nonprofitLogoUrl: string;\r\n themeClass: string;\r\n helpText: string;\r\n helpComponent: HelpTextServer;\r\n loadingProm = this.i18nService.namespaceReady();\r\n activeNpo: Nonprofit;\r\n selectedNpoId: number;\r\n nonprofitLoading: boolean;\r\n showNewAdminHelp = false;\r\n isYcAdminOrSupport: boolean;\r\n sidebarLinks$ = this.appShellService.changesTo$('sidebarLinks');\r\n sidebarClosed$ = this.appShellService.changesTo$('sidebarClosed');\r\n banners$ = this.bannerService.changesTo$('banners');\r\n timeRemaining$ = this.timeoutService.timeRemaining$.pipe(\r\n tap(time => {\r\n if (time <= 0) {\r\n this.onSignOutClick();\r\n }\r\n }));\r\n showTimeout$ = this.timeoutService.showTimeout$;\r\n footerState$ = this.footerState.changesTo$('footerState');\r\n footerActionLabel$ = this.footerState.changesTo$('footerActionLabel');\r\n footerCancelLabel$ = this.footerState.changesTo$('footerCancelLabel');\r\n footerSecondaryLabel$ = this.footerState.changesTo$('footerSecondaryLabel');\r\n footerSecondaryDisabled$ = this.footerState.changesTo$('footerSecondaryDisabled');\r\n footerTertiaryLabel$ = this.footerState.changesTo$('footerTertiaryLabel');\r\n footerActionDisabled$ = this.footerState.changesTo$('footerActionDisabled');\r\n footerAction$ = this.footerState.changesTo$('footerAction');\r\n footerCancelAction$ = this.footerState.changesTo$('footerCancelAction');\r\n footerSecondaryAction$ = this.footerState.changesTo$('footerSecondaryAction');\r\n footerTertiaryAction$ = this.footerState.changesTo$('footerTertiaryAction');\r\n footerInfoText$ = this.footerState.changesTo$('footerInfoText');\r\n footerInfoIcon$ = this.footerState.changesTo$('footerInfoIcon');\r\n footerInfoTooltip$ = this.footerState.changesTo$('footerInfoTooltip');\r\n FOOTER_STATES = this.footerState.FOOTER_STATES;\r\n\r\n headerLinks: SidebarLink[] = [{\r\n label: 'My account',\r\n icon: '',\r\n i18nKey: 'common:hdrMyAccount',\r\n action: () => {\r\n this.router.navigateByUrl('/my-account');\r\n },\r\n sequence: '1.1'\r\n }, {\r\n label: 'Communication preferences',\r\n icon: '',\r\n i18nKey: 'common:hdrCommunicationPreferences',\r\n action: () => {\r\n this.router.navigateByUrl('/my-account/communication-preferences');\r\n },\r\n sequence: '1.2'\r\n }, {\r\n label: 'Logout',\r\n icon: '',\r\n i18nKey: 'common:linkLogout',\r\n action: () => {\r\n this.onSignOutClick();\r\n },\r\n sequence: '1.3'\r\n }];\r\n tourSteps: BasicTourStep[] = [\r\n {\r\n stepNumber: 0,\r\n tourLabel: this.i18nService.translate(\r\n 'tours:hdrNavigation',\r\n {},\r\n 'Navigation'\r\n ),\r\n tourDescription: this.i18nService.translate(\r\n 'tours:textNavigationHelp',\r\n {},\r\n 'Access all areas of your nonprofit platform. Administer your nonprofit, access your giving and volunteering information, or return here, to My Workspace.'\r\n ),\r\n tourLocation: 'right',\r\n tourKey: 'NEW_USER'\r\n },\r\n {\r\n stepNumber: 1,\r\n tourLabel: this.i18nService.translate(\r\n 'common:hdrMyAccount',\r\n {},\r\n 'My account'\r\n ),\r\n tourDescription: this.i18nService.translate(\r\n 'tours:textMyAccountHelp',\r\n {},\r\n 'Edit your personal account settings, including your name, email and password, and language'\r\n ),\r\n tourLocation: 'right',\r\n tourKey: 'NEW_USER'\r\n }\r\n ];\r\n sub = new Subscription();\r\n notification: Notification;\r\n notificationModalDeps: Partial;\r\n modalClosed: boolean;\r\n skipEndpointCall = false;\r\n releaseNotesDeps: Partial;\r\n termsAndConditionsLink = this.linkService.getTermsOfServiceLink();\r\n privacyPolicyLink = this.linkService.getPrivacyPolicyLink();\r\n\r\n constructor (\r\n private i18nService: I18nService,\r\n private linkService: LinkService,\r\n private helpService: HelpTextService,\r\n public router: Router,\r\n public route: ActivatedRoute,\r\n private authService: AuthService,\r\n private nonprofitService: NonprofitService,\r\n private accountService: AccountService,\r\n private bannerService: BannerService,\r\n private footerState: FooterState,\r\n private appShellService: AppShellService,\r\n private timeoutService: TokenTimeoutService,\r\n private addressFormatter: AddressFormatterService,\r\n private tokenService: TokenService,\r\n private sessionKeepAliveService: SessionKeepAliveService,\r\n private modalFactory: ModalFactory,\r\n private notificationsService: NotificationsService\r\n ) {\r\n this.sub.add(router.events.subscribe(() => {\r\n let child = route.snapshot.firstChild;\r\n\r\n while (child) {\r\n this.helpText = child.data.helpText;\r\n if (child.data.helpComponent) {\r\n const hts: HelpTextServer = child.data.helpComponent;\r\n this.helpText = this.helpService.buildHelpText(hts);\r\n }\r\n child = child.firstChild;\r\n }\r\n }));\r\n this.sub.add(this.nonprofitService.changesTo$('activeNpo')\r\n .subscribe((activeNpo) => {\r\n this.activeNpo = activeNpo;\r\n this.selectedNpoId = activeNpo?.id;\r\n this.setNpoOrAdminText();\r\n })\r\n );\r\n this.sub.add(this.nonprofitService.changesTo$('nonprofitLogo')\r\n .subscribe((url) => {\r\n this.logoUrl = url;\r\n })\r\n );\r\n }\r\n\r\n get tokenInfo () {\r\n return this.tokenService.tokenInfo;\r\n }\r\n\r\n get transistioningNpos () {\r\n return (this.activeNpo && (+this.selectedNpoId !== +this.activeNpo.id)) ||\r\n (\r\n this.tokenInfo.NonprofitIdArr &&\r\n this.tokenInfo.NonprofitIdArr.length\r\n );\r\n }\r\n\r\n get body () {\r\n return document.getElementsByTagName('html')[0];\r\n }\r\n\r\n async ngOnInit () {\r\n this.sub.add(this.tokenService.changesTo$('tokenInfo').subscribe(() => {\r\n if (this.tokenService.hasToken()) {\r\n this.timeoutService.start();\r\n this.sessionKeepAliveService.startWatching();\r\n } else {\r\n this.timeoutService.stop();\r\n this.sessionKeepAliveService.stopWatching();\r\n }\r\n }));\r\n this.isYcAdminOrSupport = this.authService.isYcAdminOrSupport();\r\n this.appShellService.setSidebarLinks();\r\n this.setNpoOrAdminText();\r\n this.timeoutService.start();\r\n //Nonprofit Notification\r\n this.sub.add(this.notificationsService.changesTo$('modalNotificationClosed')\r\n .subscribe((val) => {\r\n this.modalClosed = val;\r\n }));\r\n if (!this.authService.isInternalAdmin()) {\r\n const activeNonprofitId = this.nonprofitService.activeNpo?.id;\r\n await this.notificationsService.setActiveNonprofitId(\r\n activeNonprofitId\r\n );\r\n await this.notificationsService.getNotifications();\r\n const modalNotification: Notification = this.notificationsService.modalNotification;\r\n if (!!modalNotification && !this.modalClosed) {\r\n this.notificationModalDeps = {\r\n notification: modalNotification\r\n };\r\n await this.modalFactory.open(\r\n NonprofitNotificationModalComponent,\r\n this.notificationModalDeps,\r\n {\r\n class: 'modal-md'\r\n }\r\n );\r\n }\r\n }\r\n //Release Notes Guard\r\n }\r\n\r\n setNpoOrAdminText () {\r\n setTimeout(() => {\r\n const isLoggedIn = this.tokenService.getIsLoggedIn();\r\n this.headerVisible = isLoggedIn;\r\n if (isLoggedIn) {\r\n this.showNewAdminHelp = (this.tokenInfo?.role || []).length === 0;\r\n\r\n if (this.authService.isYcAdminOrSupport()) {\r\n this.setAdminText();\r\n } else if (\r\n !!this.nonprofitService.activeNpo &&\r\n this.activeNpo.id !== this.nonprofitService.activeNpo.id\r\n ) {\r\n this.activeNpo = this.nonprofitService.activeNpo;\r\n this.setNpoText();\r\n } else {\r\n this.setNpoText();\r\n }\r\n\r\n if (\r\n (!!this.activeNpo && !this.activeNpo?.isActive) &&\r\n this.authService.isNonprofitUser()\r\n ) {\r\n this.bannerService.setShowInactiveNpoBanner(true);\r\n } else {\r\n this.bannerService.setShowInactiveNpoBanner(false);\r\n }\r\n this.bannerService.setPortalBanners();\r\n\r\n if (this.tokenService.tokenInfo) {\r\n this.setAccountText();\r\n }\r\n }\r\n }, 500);\r\n }\r\n\r\n setAccountText () {\r\n const parsedJwt = this.tokenService.tokenInfo;\r\n this.accountName = this.accountService.accountDetails ?\r\n `${this.accountService.accountDetails.firstName}\r\n ${this.accountService.accountDetails.lastName}` :\r\n `${parsedJwt.firstName} ${parsedJwt.lastName}`;\r\n this.initials = this.accountService.accountDetails.firstName[0] +\r\n this.accountService.accountDetails.lastName[0];\r\n }\r\n\r\n setAdminText () {\r\n this.primaryText = 'YourCause';\r\n this.secondaryText = this.addressFormatter.format({\r\n address1: '6111 West Plano Parkway',\r\n city: 'Plano',\r\n stateProvRegCode: 'TX'\r\n }, true, true);\r\n\r\n this.logoUrl = 'assets/img/brand/yc-circle-logo.png';\r\n }\r\n\r\n setNpoText () {\r\n const npo = this.activeNpo;\r\n if (!!npo) {\r\n this.primaryText = npo?.displayName || npo?.name;\r\n this.secondaryText = this.addressFormatter.format(\r\n (npo?.displayAddress || npo?.address),\r\n true,\r\n true\r\n );\r\n this.tertiaryText = npo?.registrationId;\r\n const parentLogo = (npo?.parentNonprofit || {} as Nonprofit).nonprofitIconImageUrl;\r\n this.logoUrl = npo?.nonprofitIconImageUrl ||\r\n parentLogo ||\r\n this.getClassificationIcon();\r\n }\r\n }\r\n\r\n getClassificationIcon () {\r\n const npo = this.activeNpo;\r\n const classificationInfo = npo?.classificationInfo ||\r\n (npo?.parentNonprofit || {} as Nonprofit).classificationInfo;\r\n const code = classificationInfo ?\r\n classificationInfo.classificationOneCode :\r\n 10;\r\n\r\n return `assets/img/nonprofit/icons/cat_${code}.gif`;\r\n }\r\n\r\n handleSidebarToggle () {\r\n this.appShellService.toggleSidebar();\r\n }\r\n\r\n onSignOutClick () {\r\n this.tokenService.logout();\r\n }\r\n\r\n keepMeSignedIn () {\r\n this.tokenService.getLatestToken();\r\n }\r\n\r\n ngOnDestroy () {\r\n this.sub.unsubscribe();\r\n }\r\n}\r\n","\r\n \r\n \r\n \r\n","import { Component, Input } from '@angular/core';\r\nimport { DisbursementInfo, FISPlacholder } from '@core/models/disbursement-info.model';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\n\r\n\r\n@Component({\r\n selector: 'yc-bank-info-alert',\r\n template: `\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ bankInfo.comment }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ bankInfo.bankName }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ bankInfo.routingNumber }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ bankInfo.swiftCode }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ accountTypeText }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n *{{ bankInfo.bankAccountNumberLast2 }}\r\n
\r\n
\r\n {{ bankInfo.bankAccountNumberLast2 }}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {{ bankInfo.accountName }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {{ bankInfo.intermediarySwiftCode }}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n *{{ bankInfo.intermediaryBankAccountNumberLast2 }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ bankInfo.comment }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ bankInfo.bankName }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ bankInfo.routingNumber }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ bankInfo.swiftCode }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ accountTypeText }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n *{{ bankInfo.bankAccountNumberLast2 }}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {{ bankInfo.accountName }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {{ bankInfo.intermediarySwiftCode }}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n *{{ bankInfo.intermediaryBankAccountNumberLast2 }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n :\r\n \r\n {{ bankInfo.rejectedReasonId | nppReasonPipe }}\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {{ bankInfo.rejectedComment }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n `,\r\n styleUrls: ['./bank-info-alert.component.scss']\r\n})\r\nexport class BankInfoAlertComponent {\r\n @Input() bankInfo: DisbursementInfo;\r\n twoRow = true;\r\n FISPlaceholder = FISPlacholder;\r\n detailsInReviewText = this.i18n.translate(\r\n 'bankInfo:textNewBankDetailsInReview',\r\n {},\r\n 'New banking details in review'\r\n );\r\n detailsRejectedText = this.i18n.translate(\r\n 'bankInfo:textNewBankDetailsRejected',\r\n {},\r\n 'New banking details have been rejected'\r\n );\r\n checkingAccountText = this.i18n.translate(\r\n 'bankInfo:textCheckingAccount',\r\n {},\r\n 'Checking account'\r\n );\r\n savingsAccountText = this.i18n.translate(\r\n 'bankInfo:textSavingsAccount',\r\n {},\r\n 'Savings account'\r\n );\r\n\r\n constructor (\r\n private i18n: I18nService\r\n ) { }\r\n\r\n get alertClass (): string {\r\n return this.bankInfo?.isInReview ?\r\n 'info' :\r\n this.bankInfo?.isRejected ?\r\n 'danger' :\r\n '';\r\n }\r\n\r\n get icons (): string[] {\r\n return this.bankInfo?.isInReview ?\r\n ['info-circle'] :\r\n this.bankInfo?.isRejected ?\r\n ['times-circle'] :\r\n [];\r\n }\r\n\r\n get thisClass (): string {\r\n return this.bankInfo?.isInReview ?\r\n 'yc-alert-info' :\r\n this.bankInfo?.isRejected ?\r\n 'yc-alert-danger' :\r\n '';\r\n }\r\n\r\n get title (): string {\r\n return this.bankInfo?.isInReview ?\r\n this.detailsInReviewText :\r\n this.bankInfo?.isRejected ?\r\n this.detailsRejectedText :\r\n '';\r\n }\r\n\r\n get accountTypeText (): string {\r\n return this.bankInfo?.isCheckingAccount ?\r\n this.checkingAccountText :\r\n this.savingsAccountText;\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { StandardAddressNppModel } from '@yourcause/common';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { YCModalComponent } from '@yourcause/common/modals';\r\n\r\n@Component({\r\n selector: 'yc-chapter-address-match-parent-modal',\r\n templateUrl: './chapter-address-match-parent-modal.component.html',\r\n styleUrls: ['./chapter-address-match-parent-modal.component.scss']\r\n})\r\n\r\nexport class ChapterAddressMatchParentModalComponent extends YCModalComponent implements OnInit {\r\n @Input() parentNonprofitName: string;\r\n @Input() chapterAddress: StandardAddressNppModel;\r\n @Input() reasonForMatch: string;\r\n @Input() parentRegisteredAddress: StandardAddressNppModel;\r\n @Input() parentDisplayAddress: StandardAddressNppModel;\r\n addressReasonForm: UntypedFormGroup;\r\n modalBody: string;\r\n primaryButtonText: string;\r\n cancelButtonText: string;\r\n\r\n modalHeader = this.i18n.translate(\r\n 'common:hdrChapterAddressMatchesParent',\r\n {},\r\n 'Chapter Address Matches Parent'\r\n );\r\n reasonLabel = this.i18n.translate(\r\n 'common:lblReasonForMatchingAddresses',\r\n {},\r\n 'Reason for matching addresses'\r\n );\r\n\r\n constructor (\r\n private i18n: I18nService,\r\n public formBuilder: UntypedFormBuilder\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit () {\r\n this.primaryButtonText = !this.reasonForMatch ?\r\n this.i18n.translate(\r\n 'common:btnContinue',\r\n {},\r\n 'Continue'\r\n ) : '';\r\n this.cancelButtonText = this.i18n.translate(\r\n 'common:btnClose',\r\n {},\r\n 'Close'\r\n );\r\n this.modalBody = this.i18n.translate(\r\n 'common:textDisplayAddressMatchesParentAddressDesc',\r\n {\r\n parentName: this.parentNonprofitName\r\n },\r\n 'The display address provided matches one or more addresses we have on record for the parent organization __parentName__. If you intend to have the chapter display address match the parent please provide a reason for the match.'\r\n );\r\n this.addressReasonForm = this.formBuilder.group({\r\n reasonForAddressMatch: [this.reasonForMatch || '', Validators.required]\r\n });\r\n }\r\n\r\n _onCancel () {\r\n this.closeModal.emit();\r\n }\r\n\r\n _onSubmit () {\r\n this.closeModal.emit(this.addressReasonForm.value.reasonForAddressMatch);\r\n }\r\n}\r\n","\r\n\r\n
\r\n {{ modalBody }}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { UntypedFormGroup } from '@angular/forms';\r\nimport { Classification, ClassificationMaps, InflectService } from '@yourcause/common';\r\nimport { TypeaheadSelectOption } from '@yourcause/common/core-forms';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\n\r\n@Component({\r\n selector: 'yc-classification',\r\n templateUrl: './classification.component.html',\r\n styleUrls: ['./classification.component.scss']\r\n})\r\nexport class ClassificationComponent implements OnInit {\r\n @Input() parentFormGroup: UntypedFormGroup;\r\n @Input() usNonprofitSelected: boolean;\r\n @Input() classificationMap: ClassificationMaps;\r\n @Input() colSize = 12;\r\n @Input() disableNtee = false;\r\n @Input() pleaseSelectDefault = false;\r\n @Output() changesMade = new EventEmitter();\r\n ntees: Classification[] = [];\r\n classifications: Classification[] = [];\r\n allClassifications: Classification[] = [];\r\n nteeOptions: TypeaheadSelectOption[] = [];\r\n classificationOptions: TypeaheadSelectOption[] = [];\r\n groupSelectOptions: TypeaheadSelectOption[] = [];\r\n\r\n constructor (\r\n private i18n: I18nService,\r\n private inflect: InflectService\r\n ) { }\r\n\r\n ngOnInit () {\r\n const hierarchicalMap = this.classificationMap.hierarchicalMap;\r\n const childMap = this.classificationMap.childMap;\r\n const flatMap = this.classificationMap.flatMap;\r\n\r\n this.classifications = Object.keys(hierarchicalMap)\r\n .map((key) => hierarchicalMap[key]);\r\n\r\n this.classificationOptions = this.classifications.map((classification) => {\r\n return {\r\n label: this.i18n.translate(\r\n `nonprofits:text${this.inflect.trimPuncAndPascalize(classification.display)}`\r\n ),\r\n value: classification.value\r\n };\r\n });\r\n\r\n this.ntees = Object.keys(childMap).map(key => childMap[key]);\r\n this.nteeOptions = Object.keys(childMap).map((key) => {\r\n const item = childMap[key];\r\n\r\n return {\r\n label: `${item.code}: ${this.localizeDescription(item.name)}`,\r\n value: childMap[key]\r\n };\r\n });\r\n this.allClassifications = Object.keys(flatMap)\r\n .map(key => flatMap[key]);\r\n\r\n this.getDisplay = this.getDisplay.bind(this);\r\n this.setGroupOptions();\r\n }\r\n\r\n classificationChanged () {\r\n const parent = this.parentFormGroup.value.category;\r\n const group = this.parentFormGroup.value.group;\r\n\r\n this.setGroupOptions();\r\n if (!group || (group.parentCode !== parent.code)) {\r\n if (parent.children.length > 0) {\r\n const child = this.parentFormGroup.get('group');\r\n child.setValue(null);\r\n }\r\n }\r\n }\r\n\r\n setGroupOptions () {\r\n this.groupSelectOptions = [{\r\n label: this.i18n.translate(\r\n `nonprofits:textNoneSelected`, {},\r\n 'None selected'\r\n ),\r\n value: null\r\n }].concat(\r\n this.parentFormGroup.value.category ?\r\n this.parentFormGroup.value.category.children :\r\n []\r\n );\r\n }\r\n\r\n getDisplay (ntee: Classification) {\r\n return ntee.code.trim() +\r\n ': ' +\r\n this.localizeDescription(ntee.name);\r\n }\r\n\r\n localizeDescription (description: string) {\r\n return this.i18n.translate(\r\n `nonprofits:text${this.inflect.trimPuncAndPascalize(description)}`,\r\n {},\r\n description\r\n );\r\n }\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { RemoveUserRolesPayload, UserLoginClaims } from '@core/models/account.model';\r\nimport { BasicNonprofit, NpoForAdminSelectModel } from '@core/models/npo.model';\r\nimport { AccountService } from '@core/services/account.service';\r\nimport { SelectOption } from '@yourcause/common/core-forms';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { YCModalComponent } from '@yourcause/common/modals';\r\nimport { ArrayHelpersService } from '@yourcause/common/utils';\r\n\r\n@Component({\r\n selector: 'yc-confirm-npo-admin-modal',\r\n styleUrls: ['./confirm-npo-admin-modal.component.scss'],\r\n templateUrl: './confirm-npo-admin-modal.component.html'\r\n})\r\n\r\nexport class ConfirmNpoAdminModalComponent extends YCModalComponent implements OnInit {\r\n @Input() myNpos: BasicNonprofit[];\r\n @Input() userInfo: UserLoginClaims;\r\n @Input() userAccessRemovedDate: string;\r\n ready = false;\r\n npoOptions: NpoForAdminSelectModel[] = [];\r\n npoDisplayOptions: SelectOption[] = [];\r\n npoIdsSelected: number[] = [];\r\n nposToRemove: number[] = [];\r\n confirmForm: UntypedFormGroup;\r\n userNameEmail: string;\r\n modalHeader: string;\r\n modalBody: string;\r\n modalBody_p_2: string;\r\n modalBody_p_3: string;\r\n checkboxText = this.i18n.translate(\r\n 'nonprofits:textIUnderstandNotSelectingANonprofit',\r\n {},\r\n 'I understand that by NOT selecting a specific nonprofit, I will lose access to administer or manage that nonprofit in the NPOconnect Nonprofit Platform.'\r\n );\r\n\r\n constructor (\r\n private i18n: I18nService,\r\n private arrayHelper: ArrayHelpersService,\r\n private accountService: AccountService,\r\n public formBuilder: UntypedFormBuilder\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit () {\r\n this.accountService.setAccessRemovedModalClosed(false);\r\n this.userNameEmail = this.userInfo?.firstName + ' ' +\r\n this.userInfo?.lastName + ' - ' +\r\n this.userInfo?.userName;\r\n\r\n if (!this.userAccessRemovedDate) {\r\n this.myNpos?.forEach((npo: BasicNonprofit) => {\r\n this.npoOptions.push({\r\n nonprofitName: npo.name,\r\n nonprofitId: npo.id,\r\n address: npo.address,\r\n registrationId: npo.registrationId,\r\n nonprofitIconImageUrl: npo.nonprofitIconImageUrl\r\n });\r\n });\r\n this.npoOptions = this.arrayHelper.sort(\r\n this.npoOptions,\r\n 'nonprofitName',\r\n false\r\n );\r\n this.npoOptions.forEach((npo) => {\r\n this.npoDisplayOptions.push({\r\n display: this.formatNpoDisplay(npo),\r\n value: +npo.nonprofitId\r\n });\r\n });\r\n\r\n this.confirmForm = this.formBuilder.group({\r\n selectNpos: [],\r\n confirmNotSelecting: [false, Validators.requiredTrue]\r\n });\r\n\r\n this.modalHeader = this.i18n.translate(\r\n 'nonprofits:hdrConfirmNonprofitAccess',\r\n {},\r\n 'Confirm Nonprofit Access'\r\n );\r\n this.modalBody = this.i18n.translate(\r\n 'nonprofits:textSelectTheNonprofitsToContinueAdministering',\r\n {},\r\n `Select at least one nonprofit that you continue to administer or manage in the NPOconnect Nonprofit Platform. Not selecting a nonprofit will result in your administrative/manager rights being removed for that nonprofit.`\r\n );\r\n } else {\r\n this.modalHeader = this.i18n.translate(\r\n 'nonprofits:hdrNonprofitAccessRemoved',\r\n {},\r\n 'Nonprofit Access Removed'\r\n );\r\n this.modalBody = this.i18n.translate(\r\n 'nonprofits:textYouWereRemovedAsAdministrator_p_1',\r\n {\r\n date: this.userAccessRemovedDate\r\n },\r\n `On __date__ you were removed as an administrator of any of the nonprofits with which you were associated.`\r\n );\r\n this.modalBody_p_2 = this.i18n.translate(\r\n 'nonprofits:textYouWereRemovedAsAdministrator_p_2',\r\n {},\r\n `This was done because you hadn't signed into NPOconnect for over 18 months and did not respond to our email asking you to sign in in order to maintain your account.`\r\n );\r\n this.modalBody_p_3 = this.i18n.translate(\r\n 'nonprofits:textYouWereRemovedAsAdministrator_p_3',\r\n {},\r\n `You can still use this account but will need to register to administer your nonprofit(s) again.`\r\n );\r\n }\r\n\r\n this.ready = true;\r\n }\r\n\r\n getNposToRemove (ids: number[]) {\r\n this.npoIdsSelected = ids;\r\n const allNpoIds = this.myNpos.map(npo => npo.id);\r\n this.nposToRemove = allNpoIds.filter(val => !this.npoIdsSelected.includes(val));\r\n }\r\n\r\n formatNpoDisplay (npo: NpoForAdminSelectModel) {\r\n return `
\r\n
\r\n \"'common:textNonprofitIcon'\r\n
\r\n
${npo.nonprofitName}
\r\n ${npo.address.address1}, ${npo.address.city}, ${npo.address.stateProvRegCode}
\r\n ${npo.registrationId}\r\n
\r\n
`;\r\n }\r\n\r\n get disablePrimaryButton () {\r\n return this.confirmForm &&\r\n !(this.npoIdsSelected.length > 0 &&\r\n this.confirmForm?.valid);\r\n }\r\n\r\n get primaryButtonText () {\r\n return this.confirmForm ?\r\n this.i18n.translate(\r\n 'common:btnConfirm',\r\n {},\r\n 'Confirm'\r\n ) : '';\r\n }\r\n\r\n get cancelButtonText () {\r\n return !this.confirmForm ?\r\n this.i18n.translate(\r\n 'common:btnClose',\r\n {},\r\n 'Close'\r\n ) : '';\r\n }\r\n\r\n onCancel () {\r\n this.accountService.setAccessRemovedModalClosed(true);\r\n this.closeModal.emit();\r\n }\r\n\r\n onPrimaryClick () {\r\n const payload: RemoveUserRolesPayload = {\r\n nonprofitIds: this.confirmForm ?\r\n this.nposToRemove :\r\n []\r\n };\r\n this.closeModal.emit(payload);\r\n }\r\n}\r\n","\r\n \r\n
\r\n {{ modalBody }}\r\n \r\n

\r\n {{ modalBody_p_2 }}\r\n

\r\n {{ modalBody_p_3 }}\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n 1\"\r\n (onChange)=\"getNposToRemove($event)\">\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n \r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { DEDICATION_MAP } from '@core/models/donation.model';\r\nimport { InflectService } from '@yourcause/common';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { NonprofitService } from '../../../nonprofit/nonprofit.service';\r\n\r\n@Component({\r\n selector: 'yc-designation',\r\n templateUrl: './designation.component.html'\r\n})\r\nexport class DesignationComponent implements OnInit {\r\n @Input() designation: string;\r\n @Input() dedicationType: keyof typeof DEDICATION_MAP;\r\n @Input() dedicationText: string;\r\n @Input() nonprofitName: string;\r\n chapterText: string;\r\n\r\n constructor (\r\n private inflect: InflectService,\r\n private i18n: I18nService,\r\n private nonprofitService: NonprofitService\r\n ) { }\r\n\r\n getDedicationText () {\r\n const dedication = DEDICATION_MAP[this.dedicationType];\r\n if (dedication) {\r\n return this.i18n.translate(\r\n `give:text${this.inflect.pascalize(dedication)}`,\r\n {\r\n dedicationText: this.dedicationText || ''\r\n },\r\n `${dedication} __dedicationText__`\r\n );\r\n }\r\n\r\n return '';\r\n }\r\n\r\n ngOnInit () {\r\n const activeNpo = this.nonprofitService.activeNpo;\r\n if (activeNpo) {\r\n const nonprofitName = this.nonprofitName.toLowerCase();\r\n if ((activeNpo.name.toLowerCase() !== nonprofitName) &&\r\n (activeNpo.displayName.toLowerCase() !== nonprofitName)) {\r\n this.chapterText = this.nonprofitName;\r\n }\r\n }\r\n this.chapterText = this.nonprofitName;\r\n }\r\n}\r\n","\r\n {{ chapterText }}\r\n
\r\n
\r\n\r\n \r\n {{ designation }}\r\n \r\n
\r\n
\r\n\r\n \r\n {{ getDedicationText() }}\r\n \r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { UntypedFormArray, UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\r\nimport { EmailCommGroup } from '@core/models/communication.model';\r\nimport { TypeToken } from '@yourcause/common';\r\nimport { uniq } from 'lodash';\r\n\r\n@Component({\r\n selector: 'npp-email-communication-group',\r\n templateUrl: './email-communication-group.component.html',\r\n styleUrls: ['./email-communication-group.component.scss']\r\n})\r\n\r\nexport class EmailCommunicationGroupComponent implements OnInit {\r\n @Input() group: EmailCommGroup;\r\n @Input() currentUnsubscribedEmailClassIds: number[];\r\n @Input() isYcAdminModal = false;\r\n @Output() onCommPreferenceChange = new EventEmitter();\r\n newUnsubscribedEmailClassIds: number[] = [];\r\n newUnsubscribed: number[] = [];\r\n formArray: UntypedFormArray;\r\n formGroupTypeToken = new TypeToken();\r\n\r\n constructor (\r\n private formBuilder: UntypedFormBuilder\r\n ) { }\r\n\r\n ngOnInit () {\r\n this.newUnsubscribed = [\r\n ...this.currentUnsubscribedEmailClassIds\r\n ];\r\n\r\n this.formArray = this.formBuilder.array(\r\n this.group.group.map((email) => {\r\n return this.formBuilder.group({\r\n [email.name]: this.currentUnsubscribedEmailClassIds?.includes(email.id) ? false : true\r\n });\r\n })\r\n );\r\n }\r\n\r\n onToggleChange (\r\n response: boolean,\r\n emailId: number\r\n ) {\r\n if (response === false && !!emailId) {\r\n this.newUnsubscribed = [\r\n ...this.newUnsubscribed,\r\n emailId\r\n ];\r\n } else {\r\n if (this.newUnsubscribed.includes(emailId)) {\r\n const index = this.newUnsubscribed.indexOf(emailId);\r\n if (index > -1) {\r\n this.newUnsubscribed.splice(index, 1);\r\n }\r\n }\r\n }\r\n this.newUnsubscribedEmailClassIds = uniq(this.newUnsubscribed);\r\n this.onCommPreferenceChange.emit(this.newUnsubscribedEmailClassIds);\r\n }\r\n}\r\n","\r\n
\r\n \r\n
\r\n
\r\n
\r\n {{ email.name }}\r\n
\r\n
\r\n {{ email.commsPrefsDescription }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { CodeType } from '@core/models/nonprofit-irs-code.model';\r\nimport { RegAuthAttrDefaultValue, RegAuthIdsExcluded, SearchMoreDetails } from '@core/models/npo.model';\r\nimport { NonprofitUserApi } from '@core/models/users.model';\r\nimport { AuthService } from '@core/services/auth.service';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { ModalFactory } from '@yourcause/common/modals';\r\nimport { NonprofitService } from '../../../nonprofit/nonprofit.service';\r\nimport { NotesService } from '../../../notes/notes.service';\r\nimport { ReportingService } from '../../../reporting/services/reporting.service';\r\nimport { ActiveAdminModalComponent } from '../../../search/active-admin-modal/active-admin-modal.component';\r\nimport { NonprofitIRSCodesModalComponent } from '../nonprofit-irs-codes-modal/nonprofit-irs-codes-modal.component';\r\nimport { RegistrationAuthorityAttrModalComponent } from '../registration-authority-attr-modal/registration-authority-attr-modal.component';\r\nimport { RevocationDetailsByStateModalComponent } from '../revocation-details-by-state-modal/revocation-details-by-state-modal.component';\r\n\r\n@Component({\r\n selector: 'yc-extended-search-details',\r\n templateUrl: './extended-search-details.component.html',\r\n styleUrls: ['./extended-search-details.component.scss']\r\n})\r\nexport class ExtendedSearchDetailsComponent implements OnInit {\r\n\r\n @Input() nonprofitDetails: SearchMoreDetails;\r\n @Input() nonprofitName: string;\r\n @Input() nonprofitId: number;\r\n @Input() registrationAuthority: string;\r\n\r\n CodeType = CodeType;\r\n activeUsers: NonprofitUserApi[];\r\n notesCount: number;\r\n numOfAdmins: number;\r\n showRevocationDate: boolean;\r\n RegAuthAttrDefaultValue = RegAuthAttrDefaultValue;\r\n bbgfText = 'BBGF';\r\n regAuthIdsExcluded = RegAuthIdsExcluded;\r\n\r\n noResultsFound = this.i18n.translate(\r\n 'common:lblNoResultsFound',\r\n {},\r\n 'No results found'\r\n );\r\n allowsGivingPopover = this.i18n.translate(\r\n 'nonprofits:popAllowsGivingDesc',\r\n {},\r\n 'A setting made by the Nonprofit to indicate whether they allow donations to be made to them. (Not currently respected by CSRconnect).'\r\n );\r\n allowsVolunteerPopover = this.i18n.translate(\r\n 'nonprofits:popAllowsVolunteerDesc',\r\n {},\r\n 'A setting made by the Nonprofit to indicate whether they allow volunteer events at their organization. (Not currently respected by CSRconnect).'\r\n );\r\n onBmfPopover = this.i18n.translate(\r\n 'nonprofits:popOnBmfDesc',\r\n {},\r\n 'This organization is currently on the IRS Business Master File.'\r\n );\r\n onPub78Popover = this.i18n.translate(\r\n 'nonprofits:popOnPub78Desc',\r\n {},\r\n 'This organization is currently on the IRS Pub78 file.'\r\n );\r\n irsRevocationPopover = this.i18n.translate(\r\n 'nonprofits:popIrsRevocationDate',\r\n {},\r\n 'This is the date the IRS revoked the deductibility from this organization based on the organization not providing the required annual filings for 3 consecutive years.'\r\n );\r\n usStatRevocationsPopover = this.i18n.translate(\r\n 'nonprofits:popUsStatRevocations',\r\n {},\r\n 'This shows any States in which this organization is currently revoked and not eligible for giving to residents of that state.'\r\n );\r\n goToCompliance = this.i18n.translate(\r\n 'nonprofits:textGoToCompliancePage',\r\n {},\r\n 'Go to compliance page'\r\n );\r\n goToNotes = this.i18n.translate(\r\n 'nonprofits:textGoToNotesPage',\r\n {},\r\n 'Go to notes page'\r\n );\r\n notApplicableText = this.i18n.translate(\r\n 'common:textNotApplicableNA',\r\n {},\r\n 'N/A'\r\n );\r\n irsRevocationActive = false;\r\n stateRevocationActive = false;\r\n\r\n constructor (\r\n public activatedRoute: ActivatedRoute,\r\n private router: Router,\r\n private i18n: I18nService,\r\n private modalFactory: ModalFactory,\r\n private nonprofitService: NonprofitService,\r\n private notesService: NotesService,\r\n private authService: AuthService,\r\n private reportingService: ReportingService\r\n ) { }\r\n\r\n ngOnInit () {\r\n this.activeUsers = this.nonprofitDetails?.activeUsers;\r\n this.notesCount = this.nonprofitDetails?.notesCount;\r\n this.numOfAdmins = this.activeUsers?.length > 0 ?\r\n this.activeUsers.length :\r\n 0;\r\n this.showRevocationDate = [\r\n 'US Nonprofit',\r\n 'US Nonprofit (Client-based Community Foundation)'\r\n ].includes(this.registrationAuthority);\r\n const stateRevocation = this.nonprofitDetails?.registrationAuthorityAttributes?.find((attr) => {\r\n if (attr?.i18nDefaultValue === RegAuthAttrDefaultValue.US_State_Revocations &&\r\n attr?.value !== '') {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n });\r\n this.stateRevocationActive = !!stateRevocation;\r\n const irsRevocation = this.nonprofitDetails?.registrationAuthorityAttributes?.find((attr) => {\r\n if (attr?.i18nDefaultValue === RegAuthAttrDefaultValue.IRS_Revocation_Date &&\r\n attr?.value !== '') {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n });\r\n this.irsRevocationActive = !!irsRevocation;\r\n }\r\n\r\n async openActiveAdminsModal (activeUsers: NonprofitUserApi[]) {\r\n const modalResponse = await this.modalFactory.open(\r\n ActiveAdminModalComponent,\r\n {\r\n activeUsers\r\n }\r\n );\r\n if (!!modalResponse) {\r\n this.reportingService.setAdminEmail(modalResponse);\r\n this.router.navigate(['/reporting/email-log-report'], {\r\n relativeTo: this.activatedRoute\r\n });\r\n }\r\n }\r\n\r\n get canImpersonateNonprofit () {\r\n return this.authService.canImpersonateNonprofit();\r\n }\r\n\r\n async openIrsCodesModal (\r\n codeType: CodeType\r\n ) {\r\n const codes = await this.nonprofitService.getNonprofitIrsCodes(codeType);\r\n await this.modalFactory.open(\r\n NonprofitIRSCodesModalComponent,\r\n {\r\n codes,\r\n codeType\r\n },\r\n {\r\n class: 'modal-xl'\r\n }\r\n );\r\n }\r\n\r\n async openRevocationDetailsByStateModal (stateCode?: string) {\r\n await this.modalFactory.open(\r\n RevocationDetailsByStateModalComponent,\r\n {\r\n nonprofitId: this.nonprofitId,\r\n nonprofitName: this.nonprofitName,\r\n stateCode\r\n },\r\n {\r\n class: 'modal-xl'\r\n }\r\n );\r\n }\r\n\r\n async openIrsAttributionModal () {\r\n await this.modalFactory.open(\r\n RegistrationAuthorityAttrModalComponent,\r\n {\r\n nonprofitId: this.nonprofitId,\r\n nonprofitName: this.nonprofitName\r\n },\r\n {\r\n class: 'modal-full-size'\r\n }\r\n );\r\n }\r\n\r\n async routeToNotes (nonprofitId: number) {\r\n await this.nonprofitService.setSelectedNpo(nonprofitId);\r\n this.notesService.setNoteCount(this.notesCount);\r\n this.router.navigateByUrl('notes');\r\n }\r\n\r\n async routeToCompliance (nonprofitId: number) {\r\n await this.nonprofitService.setSelectedNpo(nonprofitId);\r\n this.router.navigateByUrl('account-setup/compliance');\r\n }\r\n}\r\n"," \r\n \r\n {{ code }} - {{ desc }}\r\n \r\n\r\n \r\n \r\n {{ desc }}\r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n {{ noResultsFound }}\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {{ nonprofitDetails.processingPartner }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {{ nonprofitDetails?.remittanceInfo?.name }}\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n
\r\n
\r\n {{ nonprofitDetails | nppRegAuthAttrs:\r\n RegAuthAttrDefaultValue.Reference_Code :\r\n false :\r\n false\r\n }}\r\n
\r\n
\r\n {{ nonprofitDetails | nppRegAuthAttrs:\r\n RegAuthAttrDefaultValue.Reference_Code :\r\n false :\r\n true\r\n }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ nonprofitDetails | nppRegAuthAttrs:\r\n RegAuthAttrDefaultValue.TS_ID :\r\n false :\r\n false :\r\n false\r\n }}\r\n
\r\n
\r\n {{ nonprofitDetails | nppRegAuthAttrs:\r\n RegAuthAttrDefaultValue.TS_ID :\r\n false :\r\n true\r\n }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ nonprofitDetails | nppRegAuthAttrs:\r\n RegAuthAttrDefaultValue.Active_TS :\r\n false :\r\n false\r\n }}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ nonprofitDetails | nppRegAuthAttrs:\r\n RegAuthAttrDefaultValue.FP_ID :\r\n false :\r\n false :\r\n false\r\n }}\r\n
\r\n
\r\n {{ nonprofitDetails | nppRegAuthAttrs:\r\n RegAuthAttrDefaultValue.FP_ID :\r\n false :\r\n true\r\n }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ nonprofitDetails | nppRegAuthAttrs:\r\n RegAuthAttrDefaultValue.Active_FP :\r\n false :\r\n false\r\n }}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n
\r\n {{ nonprofitDetails | nppRegAuthAttrs:\r\n RegAuthAttrDefaultValue.On_IRS_BMF :\r\n false :\r\n false\r\n }}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ nonprofitDetails | nppRegAuthAttrs:\r\n RegAuthAttrDefaultValue.BMF_Deductibility_code :\r\n false :\r\n false\r\n }}\r\n \r\n
\r\n
\r\n {{ nonprofitDetails | nppRegAuthAttrs:\r\n RegAuthAttrDefaultValue.BMF_Deductibility_code :\r\n false:\r\n true\r\n }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ nonprofitDetails | nppRegAuthAttrs:\r\n RegAuthAttrDefaultValue.BMF_Subsection_code :\r\n false :\r\n false\r\n }}\r\n \r\n
\r\n
\r\n {{ nonprofitDetails | nppRegAuthAttrs:\r\n RegAuthAttrDefaultValue.BMF_Subsection_code :\r\n false:\r\n true\r\n }}\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n {{ nonprofitDetails | nppRegAuthAttrs:\r\n RegAuthAttrDefaultValue.BMF_Foundation_code :\r\n false :\r\n false\r\n }}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ nonprofitDetails | nppRegAuthAttrs:\r\n RegAuthAttrDefaultValue.On_IRS_Pub_78 :\r\n false :\r\n false\r\n }}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ nonprofitDetails | nppRegAuthAttrs:\r\n RegAuthAttrDefaultValue.Pub78_Designation_code :\r\n false :\r\n false\r\n }}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {{ nonprofitDetails.nonprofitClassification }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ nonprofitDetails | nppRegAuthAttrs:\r\n RegAuthAttrDefaultValue.IRS_Revocation_Date :\r\n false :\r\n false\r\n }}\r\n \r\n
\r\n
\r\n \r\n \r\n {{ nonprofitDetails | nppRegAuthAttrs:\r\n RegAuthAttrDefaultValue.IRS_Revocation_Date :\r\n false:\r\n true\r\n }}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ nonprofitDetails | nppRegAuthAttrs:\r\n RegAuthAttrDefaultValue.US_State_Revocations :\r\n false :\r\n false\r\n }}\r\n \r\n
\r\n
\r\n \r\n \r\n {{ nonprofitDetails | nppRegAuthAttrs:\r\n RegAuthAttrDefaultValue.US_State_Revocations :\r\n false:\r\n true\r\n }}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n 0\"\r\n href=\"javascript:void(0)\"\r\n class=\"text-info\"\r\n [attr.aria-label]=\"'common:btnInfo' | ycI18n\"\r\n (click)=\"openActiveAdminsModal(activeUsers)\">\r\n {{ numOfAdmins }}\r\n \r\n \r\n {{ numOfAdmins }}\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n {{ nonprofitDetails.activeVetting | nppActiveVetting : nonprofitDetails.vettingExpirationDate}}\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n {{ nonprofitDetails.activeCompliances }}\r\n \r\n \r\n {{ nonprofitDetails.activeCompliances }}\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n 0\"\r\n href=\"javascript:void(0)\"\r\n class=\"text-info\"\r\n [attr.aria-label]=\"'common:btnInfo' | ycI18n\"\r\n [tooltip]=\"goToNotes\"\r\n [tooltipPlacement]=\"'top'\"\r\n (click)=\"routeToNotes(nonprofitId)\">\r\n {{ notesCount }}\r\n \r\n \r\n {{ notesCount }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","/**\r\n * This should list out a sub-set of items from a larger list (say 5-10)\r\n * This should allow navigating to a page with the full list (\"View all...\")\r\n */\r\n\r\nimport { Component, EventEmitter, Input, OnChanges, Output } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Notification } from '@core/models/notifications.model';\r\nimport { ListItem, ListTypes } from '@yourcause/common';\r\nimport { NonprofitService } from '../../../nonprofit/nonprofit.service';\r\n\r\n@Component({\r\n selector: 'yc-list',\r\n templateUrl: './list.component.html',\r\n styleUrls: ['./list.component.scss']\r\n})\r\nexport class ListComponent implements OnChanges {\r\n @Input() type: ListTypes;\r\n @Input() listItems: Notification[] = [];\r\n @Output() onDismiss = new EventEmitter();\r\n\r\n ListTypes = ListTypes;\r\n listItemArray: ListItem[] = [];\r\n listClass = 'links';\r\n\r\n constructor (\r\n public router: Router,\r\n public activatedRoute: ActivatedRoute,\r\n private nonprofitService: NonprofitService\r\n ) { }\r\n\r\n bulletIcon (i: string) {\r\n switch (i) {\r\n case 'success': { return 'check-circle'; }\r\n case 'danger': { return 'exclamation-circle'; }\r\n case 'warning': { return 'exclamation-circle'; }\r\n case 'info': { return 'info-circle'; }\r\n case 'primary': { return 'circle'; }\r\n default: { return 'circle'; }\r\n }\r\n }\r\n\r\n async navTo (i: ListItem) {\r\n if (i.externalActionUrl) {\r\n window.open(i.externalActionUrl);\r\n } else {\r\n if (i.setActiveNpoOnNav) {\r\n const skipToastr = (i.nonprofitId === this.nonprofitService.activeNpo?.id);\r\n await this.nonprofitService.setSelectedNpo(\r\n i.nonprofitId,\r\n skipToastr\r\n );\r\n this.router.navigate([i.actionUrl], {\r\n relativeTo: this.activatedRoute\r\n });\r\n } else {\r\n this.router.navigate([i.actionUrl], {\r\n relativeTo: this.activatedRoute\r\n });\r\n }\r\n }\r\n }\r\n\r\n _onDismiss (id: number) {\r\n this.onDismiss.emit(id);\r\n }\r\n\r\n ngOnChanges () {\r\n if (this.type === ListTypes.Links) {\r\n this.listClass = 'links';\r\n }\r\n if (this.type === ListTypes.Notifications) {\r\n this.listClass = 'notifications';\r\n this.setNotifications();\r\n }\r\n }\r\n\r\n setNotifications () {\r\n this.listItems.forEach((item: Notification) => {\r\n this.listItemArray.push({\r\n id: +item.notificationId,\r\n title: item.title,\r\n subtitle: item.subtitle,\r\n dismissable: item.isDismissable,\r\n actionUrl: item.actionUrl,\r\n externalActionUrl: item.externalActionUrl,\r\n symbol: item.symbol,\r\n indicatorClass: item.indicatorClass,\r\n setActiveNpoOnNav: item.setActiveNpoOnNav,\r\n nonprofitId: item.nonprofit ? item.nonprofit.nonprofitId : 1,\r\n nonprofitName: item.nonprofit ? item.nonprofit.name : ''\r\n });\r\n });\r\n }\r\n}\r\n","
    \r\n
  • \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
  • \r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { GetNonprofitAdditionalInformationResponseModel, NonprofitAdditionalInformationAttributesText, NonprofitNameAddressModel } from '@core/models/npo.model';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { YCModalComponent } from '@yourcause/common/modals';\r\n\r\n@Component({\r\n selector: 'npp-nonprofit-block-table-info-modal',\r\n templateUrl: './nonprofit-block-table-info-modal.component.html',\r\n styleUrls: ['./nonprofit-block-table-info-modal.component.scss']\r\n})\r\n\r\nexport class NppNonprofitBlockTableInfoModalComponent extends YCModalComponent implements OnInit {\r\n @Input() nonprofitId: number;\r\n @Input() additionalInfo: GetNonprofitAdditionalInformationResponseModel;\r\n NonprofitAdditionalInformationAttributesText = NonprofitAdditionalInformationAttributesText;\r\n registeredNameAndAddress: NonprofitNameAddressModel;\r\n disbursementNameAndAddress: NonprofitNameAddressModel;\r\n displayNameAndAddress: NonprofitNameAddressModel;\r\n attributeHdr = this.i18n.translate(\r\n 'nonprofit:hdrAttribute',\r\n {},\r\n 'ATTRIBUTE'\r\n );\r\n valueHdr = this.i18n.translate(\r\n 'nonprofit:hdrValue',\r\n {},\r\n 'VALUE'\r\n );\r\n cancelButtonText = this.i18n.translate(\r\n 'common:btnClose',\r\n {},\r\n 'Close'\r\n );\r\n noNameOrAddressOnFiletext = this.i18n.translate(\r\n 'nonprofit:textNoNameOrAddressOnFile',\r\n {},\r\n 'No name or address on file'\r\n );\r\n sameNameAndAddressOnFiletext = this.i18n.translate(\r\n 'nonprofit:textSameNameAndAddressOnFile',\r\n {},\r\n 'Same as the Registered Name and Address'\r\n );\r\n noNameOnFiletext = this.i18n.translate(\r\n 'nonprofit:textNoNameOnFile',\r\n {},\r\n 'No name on file'\r\n );\r\n noAddressOnFiletext = this.i18n.translate(\r\n 'nonprofit:textNoAddressOnFile',\r\n {},\r\n 'No address on file'\r\n );\r\n\r\n constructor (\r\n private i18n: I18nService\r\n ) {\r\n super();\r\n }\r\n\r\n async ngOnInit () {\r\n this.disbursementNameAndAddress = this.additionalInfo.disbursementNameAndAddress;\r\n this.registeredNameAndAddress = this.additionalInfo.registeredNameAndAddress;\r\n this.displayNameAndAddress = this.additionalInfo.displayNameAndAddress;\r\n }\r\n\r\n formatAttributeBoolean (attrVal: boolean) {\r\n return attrVal ?\r\n this.i18n.translate(\r\n 'common:textYes',\r\n {},\r\n 'Yes'\r\n ) :\r\n this.i18n.translate(\r\n 'common:textNo',\r\n {},\r\n 'No'\r\n );\r\n }\r\n\r\n _onClose () {\r\n this.closeModal.emit();\r\n }\r\n}\r\n","\r\n \r\n
\r\n
\r\n {{ attributeHdr }}\r\n
\r\n
\r\n {{ valueHdr }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ NonprofitAdditionalInformationAttributesText.registeredNameAndAddress }}\r\n
\r\n
\r\n
{{ registeredNameAndAddress?.name }}
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ NonprofitAdditionalInformationAttributesText.disbursementNameAndAddress }}\r\n
\r\n
\r\n
\r\n {{ sameNameAndAddressOnFiletext }}\r\n
\r\n
\r\n {{ disbursementNameAndAddress?.name || noNameOnFiletext }}\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ NonprofitAdditionalInformationAttributesText.displayNameAndAddress }}\r\n
\r\n
\r\n
\r\n {{ sameNameAndAddressOnFiletext }}\r\n
\r\n
\r\n {{ displayNameAndAddress?.name || noNameOnFiletext }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ NonprofitAdditionalInformationAttributesText.eligibleForGiving }}\r\n
\r\n
\r\n {{ additionalInfo.eligibleForGiving | nppEligibleForGivingStatusIdPipe }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ NonprofitAdditionalInformationAttributesText.hasACH }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ NonprofitAdditionalInformationAttributesText.registrationAuthorityName }}\r\n
\r\n
\r\n {{ additionalInfo.registrationAuthorityName }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ NonprofitAdditionalInformationAttributesText.isActive }}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ NonprofitAdditionalInformationAttributesText.eligibleForDisbursement }}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ NonprofitAdditionalInformationAttributesText.createdDate }}\r\n
\r\n
\r\n {{ additionalInfo.createdDate | ycFormatDate }}\r\n
\r\n
\r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { CodeType, NonprofitIRSCodeInfo, NonprofitIRSCodes } from '@core/models/nonprofit-irs-code.model';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { YCModalComponent } from '@yourcause/common/modals';\r\n\r\n\r\n@Component({\r\n selector: 'yc-nonprofit-irs-codes-modal',\r\n templateUrl: './nonprofit-irs-codes-modal.component.html',\r\n styleUrls: ['./nonprofit-irs-codes-modal.component.scss']\r\n})\r\n\r\nexport class NonprofitIRSCodesModalComponent extends YCModalComponent implements OnInit {\r\n @Input() codes: NonprofitIRSCodes;\r\n @Input() codeType: CodeType;\r\n\r\n modalLoaded = false;\r\n rows: NonprofitIRSCodeInfo[] = [];\r\n modalHeader: string;\r\n CodeType = CodeType;\r\n\r\n constructor (\r\n private i18n: I18nService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit () {\r\n this.rows = this.codes.nonprofitCodes;\r\n switch (this.codeType) {\r\n case CodeType.BMFFoundation:\r\n this.modalHeader = this.i18n.translate(\r\n 'nonprofits:hdrBMFFoundationCodes',\r\n {},\r\n 'BMF Foundation Codes'\r\n );\r\n break;\r\n case CodeType.BMFSubsection:\r\n this.modalHeader = this.i18n.translate(\r\n 'nonprofits:hdrBMFSubsectionCodes',\r\n {},\r\n 'BMF Subsection Codes'\r\n );\r\n break;\r\n case CodeType.Pub78Designation:\r\n this.modalHeader = this.i18n.translate(\r\n 'nonprofits:hdrPub78DesignationCodes',\r\n {},\r\n 'Pub78 Designation Codes'\r\n );\r\n break;\r\n }\r\n this.modalLoaded = true;\r\n }\r\n\r\n _onCancel () {\r\n this.closeModal.emit();\r\n }\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n {{ row.code }}\r\n \r\n \r\n
\r\n {{ row.description }}\r\n
\r\n
\r\n \r\n {{ row.bbgfEligible }}\r\n \r\n \r\n
\r\n
\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Notification } from '@core/models/notifications.model';\r\nimport { YCModalComponent } from '@yourcause/common/modals';\r\nimport { NotificationsService } from '../../../home/services/notifications.service';\r\nimport { NonprofitService } from '../../../nonprofit/nonprofit.service';\r\n\r\n\r\n@Component({\r\n selector: 'yc-nonprofit-notification-modal',\r\n template: `\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {{ notification.nonprofit.name }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n`,\r\nstyleUrls: ['./nonprofit-notification-modal.component.scss']\r\n})\r\n\r\nexport class NonprofitNotificationModalComponent extends YCModalComponent implements OnInit {\r\n @Input() notification: Notification;\r\n ready = false;\r\n modalTitle: string;\r\n modalContent: string;\r\n\r\n constructor (\r\n public activatedRoute: ActivatedRoute,\r\n private router: Router,\r\n private nonprofitService: NonprofitService,\r\n private notificationsService: NotificationsService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit () {\r\n this.modalTitle = this.notification.title;\r\n this.modalContent = this.notification.subtitle;\r\n this.ready = true;\r\n }\r\n\r\n async navigateTo () {\r\n this.onCancel();\r\n if (this.notification.setActiveNpoOnNav) {\r\n await this.nonprofitService.setSelectedNpo(\r\n this.notification.nonprofit.nonprofitId\r\n );\r\n this.router.navigate([this.notification.actionUrl], {\r\n relativeTo: this.activatedRoute\r\n });\r\n } else {\r\n this.router.navigate([this.notification.actionUrl], {\r\n relativeTo: this.activatedRoute\r\n });\r\n }\r\n this.notificationsService.setModalNotificationClosed(true);\r\n }\r\n\r\n async _onDismiss (id: string) {\r\n await this.notificationsService.dismissNotification(+id);\r\n this.notificationsService.setModalNotificationClosed(true);\r\n this.onCancel();\r\n }\r\n\r\n onCancel () {\r\n this.closeModal.emit();\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChange, SimpleChanges } from '@angular/core';\r\nimport { UntypedFormArray, UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\r\nimport { NonprofitSearchFacet } from '@core/models/npo.model';\r\nimport { SpinnerService } from '@core/services/spinner.service';\r\nimport { ALL_SKIP_FILTER, DebounceFactory, SearchByType, SearchFilter, SearchResult, TypeToken } from '@yourcause/common';\r\nimport { TypeaheadSelectOption } from '@yourcause/common/core-forms';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { uniqBy } from 'lodash';\r\nimport { from } from 'rxjs';\r\nimport { NonprofitSearchService } from './nonprofit-search.service';\r\n\r\n@Component({\r\n selector: 'yc-nonprofit-search',\r\n templateUrl: './nonprofit-search.component.html',\r\n styleUrls: ['./nonprofit-search.component.scss']\r\n})\r\nexport class NonprofitSearchComponent implements OnChanges {\r\n @Input() setSearchTermNull: boolean; // applies to Search pages that have actions on Nonprofit\r\n @Output() returnResults = new EventEmitter();\r\n\r\n searchFiltersShowAll: boolean;\r\n searchFiltersShowChapters: boolean;\r\n searchFiltersRegAuth: string;\r\n searchFiltersCountry: string;\r\n searchFiltersState: string;\r\n term: string;\r\n searchType: number;\r\n placeholderText = '';\r\n SearchByType = SearchByType;\r\n loadingCountryOptions = true;\r\n loadingStateOptions = true;\r\n regAuthOptions: TypeaheadSelectOption[] = [];\r\n countryOptions: TypeaheadSelectOption[] = [];\r\n stateProvRegionOptions: TypeaheadSelectOption[] = [];\r\n searchFilters: SearchFilter[] = [];\r\n advancedFilterForm: UntypedFormGroup;\r\n formArray: UntypedFormArray;\r\n searchForm: UntypedFormGroup;\r\n disableFilterCheckboxes: boolean;\r\n facets: NonprofitSearchFacet;\r\n activeFacets: NonprofitSearchFacet;\r\n debounce: DebounceFactory;\r\n formGroupTypeToken = new TypeToken();\r\n\r\n showInactiveText = this.i18n.translate(\r\n 'search:lblShowInactiveNonprofitsCheckbox',\r\n {},\r\n 'Show inactive nonprofits'\r\n );\r\n byNonprofitPlaceholder = this.i18n.translate(\r\n 'search:textSearchByregIdNameLocationPlaceholder',\r\n {},\r\n 'Search by Registration ID, Name or Location'\r\n );\r\n byAdminPlaceholder = this.i18n.translate(\r\n 'search:textSearchByNonprofitAdminEmail',\r\n {},\r\n 'Search by NPO admin email address'\r\n );\r\n byPaymentPlaceholder = this.i18n.translate(\r\n 'search:textSearchByNonprofitPayment',\r\n {},\r\n 'Search by nonprofit payment number'\r\n );\r\n defaultRegAuthText = this.i18n.translate(\r\n 'search:textAllRegAuths',\r\n {},\r\n '-- All registration authorities --'\r\n );\r\n defaultCountryText = this.i18n.translate(\r\n 'search:textAllCountries',\r\n {},\r\n '-- All countries --'\r\n );\r\n defaultStateText = this.i18n.translate(\r\n 'search:textAllStateProvRegs',\r\n {},\r\n '-- All states, provinces or regions --'\r\n );\r\n\r\n searchByTypeOptions: TypeaheadSelectOption[] = [{\r\n value: SearchByType.TERM,\r\n label: this.i18n.translate('common:textByNonprofit', {}, 'By nonprofit')\r\n }, {\r\n value: SearchByType.ADMIN,\r\n label: this.i18n.translate('common:textByAdminEmail', {}, 'By admin email')\r\n }, {\r\n value: SearchByType.PAYMENT,\r\n label: this.i18n.translate('common:textByPaymentNumber', {}, 'By payment number')\r\n }];\r\n\r\n constructor (\r\n private formBuilder: UntypedFormBuilder,\r\n private nonprofitSearchService: NonprofitSearchService,\r\n private i18n: I18nService,\r\n private spinnerService: SpinnerService\r\n ) {\r\n this.searchForm = this.formBuilder.group({\r\n term: this.term || '',\r\n searchType: this.searchType || SearchByType.TERM,\r\n showInactive: this.searchFiltersShowAll,\r\n showChapters: this.searchFiltersShowChapters\r\n });\r\n this.advancedFilterForm = this.formBuilder.group({\r\n registrationAuthority: [this.searchFiltersRegAuth || ALL_SKIP_FILTER],\r\n country: [this.searchFiltersCountry || ALL_SKIP_FILTER],\r\n stateProvRegName: [this.searchFiltersState || ALL_SKIP_FILTER]\r\n });\r\n\r\n this.formArray = formBuilder.array([\r\n this.searchForm,\r\n this.advancedFilterForm\r\n ]);\r\n this.setPlaceholderText(this.searchForm.value.searchType);\r\n this.debounce = DebounceFactory.create(() => {\r\n return from(this.doSearch());\r\n }, 500);\r\n }\r\n\r\n async doSearch () {\r\n const searchType = this.nonprofitSearchService.searchType;\r\n\r\n this.spinnerService.startSpinner();\r\n\r\n switch (searchType) {\r\n case SearchByType.ADMIN:\r\n await this.nonprofitSearchService.searchByAdminEmail();\r\n break;\r\n case SearchByType.PAYMENT:\r\n await this.nonprofitSearchService.searchByPaymentNumber();\r\n break;\r\n case SearchByType.TERM:\r\n default:\r\n await this.nonprofitSearchService.searchByTerm();\r\n }\r\n\r\n this.facets = this.nonprofitSearchService.allFacets;\r\n\r\n if (!this.searchFiltersRegAuth) {\r\n this.setRegAuthOptions(this.facets);\r\n }\r\n if (this.searchFiltersRegAuth && !this.searchFiltersCountry) {\r\n this.setCountryOptions(this.facets);\r\n }\r\n if (this.searchFiltersCountry && !this.searchFiltersState) {\r\n this.setStateOptions(this.facets);\r\n }\r\n this.spinnerService.stopSpinner();\r\n }\r\n\r\n _onTermChange (event: string) {\r\n this.term = event;\r\n this.searchType = this.searchForm.value.searchType as SearchByType;\r\n this.searchFiltersShowAll = this.formArray.at(0).value.showInactive;\r\n this.searchFiltersShowChapters = this.formArray.at(0).value.showChapters;\r\n\r\n this.nonprofitSearchService.setSearchType(this.searchType);\r\n this.nonprofitSearchService.setSearchTerm(event, this.searchType);\r\n this.nonprofitSearchService.setSearchFilters(\r\n this.searchFiltersShowAll,\r\n this.searchFiltersShowChapters,\r\n this.searchFiltersRegAuth,\r\n this.searchFiltersCountry,\r\n this.searchFiltersState\r\n );\r\n\r\n if (!!event) {\r\n if (event !== this.term) {\r\n this.clearAdvancedFilters();\r\n }\r\n this.debounce.exec(event)\r\n .subscribe((results) => {\r\n if (results?.length <= 1\r\n &&\r\n !(this.searchFiltersRegAuth ||\r\n this.searchFiltersCountry ||\r\n this.searchFiltersState)\r\n ) {\r\n this.facets = null;\r\n }\r\n this.returnResults.emit(this.nonprofitSearchService.searchResults);\r\n });\r\n } else if (!event || event === '') {\r\n this.clearAdvancedFilters();\r\n this.nonprofitSearchService.setPaymentNumber(null);\r\n this.nonprofitSearchService.setSearchType(null);\r\n this.returnResults.emit([]);\r\n }\r\n }\r\n\r\n _changeType () {\r\n if (this.searchForm.value.searchType === SearchByType.ADMIN ||\r\n this.searchForm.value.searchType === SearchByType.PAYMENT) {\r\n this.disableFilterCheckboxes = true;\r\n this.searchForm.get('term').setValue('');\r\n } else {\r\n this.searchFiltersShowAll = this.searchForm.value.showInactive;\r\n this.searchFiltersShowChapters = this.searchForm.value.showChapters;\r\n this.disableFilterCheckboxes = false;\r\n }\r\n this.clearAdvancedFilters();\r\n this.setPlaceholderText(this.searchForm.value.searchType);\r\n this._onTermChange(this.searchForm.value.term);\r\n }\r\n\r\n _changeFilter (\r\n event: string,\r\n type: 'regAuth'|'country'|'state'\r\n ) {\r\n if (event && type) {\r\n switch (type) {\r\n default:\r\n case 'regAuth':\r\n this.searchFiltersRegAuth = event;\r\n this.formArray.at(1).get('country').setValue(ALL_SKIP_FILTER);\r\n this.formArray.at(1).get('stateProvRegName').setValue(ALL_SKIP_FILTER);\r\n this.countryOptions = [];\r\n this.stateProvRegionOptions = [];\r\n this.searchFiltersCountry = '';\r\n this.searchFiltersState = '';\r\n this.loadingCountryOptions = true;\r\n break;\r\n case 'country':\r\n this.searchFiltersCountry = event;\r\n this.formArray.at(1).get('stateProvRegName').setValue(ALL_SKIP_FILTER);\r\n this.stateProvRegionOptions = [];\r\n this.searchFiltersState = '';\r\n this.loadingStateOptions = true;\r\n break;\r\n case 'state':\r\n this.searchFiltersState = event;\r\n break;\r\n }\r\n this._onTermChange(this.term);\r\n } else if (!event && type) {\r\n switch (type) {\r\n default:\r\n case 'regAuth':\r\n this.clearAdvancedFilters();\r\n break;\r\n case 'country':\r\n this.searchFiltersCountry = '';\r\n this.searchFiltersState = '';\r\n this.stateProvRegionOptions = [];\r\n this.formArray.at(1).get('country').setValue(ALL_SKIP_FILTER);\r\n this.formArray.at(1).get('stateProvRegName').setValue(ALL_SKIP_FILTER);\r\n this.loadingStateOptions = false;\r\n break;\r\n case 'state':\r\n this.searchFiltersState = '';\r\n this.formArray.at(1).get('stateProvRegName').setValue(ALL_SKIP_FILTER);\r\n break;\r\n }\r\n this._onTermChange(this.term);\r\n } else if (!event && !type) {\r\n this.returnResults.emit([]);\r\n this.clearAdvancedFilters();\r\n }\r\n }\r\n\r\n clearAdvancedFilters () {\r\n this.facets = null;\r\n this.regAuthOptions = [];\r\n this.countryOptions = [];\r\n this.stateProvRegionOptions = [];\r\n this.searchFiltersRegAuth = '';\r\n this.searchFiltersCountry = '';\r\n this.searchFiltersState = '';\r\n this.formArray.at(1).get('registrationAuthority').setValue(ALL_SKIP_FILTER);\r\n this.formArray.at(1).get('country').setValue(ALL_SKIP_FILTER);\r\n this.formArray.at(1).get('stateProvRegName').setValue(ALL_SKIP_FILTER);\r\n }\r\n\r\n setRegAuthOptions (facets: NonprofitSearchFacet) {\r\n this.regAuthOptions = [{\r\n label: this.defaultRegAuthText,\r\n value: ALL_SKIP_FILTER\r\n }];\r\n if (facets) {\r\n facets.registrationAuthority.forEach((facet) => {\r\n this.regAuthOptions.push({\r\n label: facet.value,\r\n value: facet.value\r\n });\r\n });\r\n this.regAuthOptions = uniqBy(this.regAuthOptions, (opt) => opt.label && opt.value);\r\n }\r\n }\r\n\r\n setCountryOptions (facets: NonprofitSearchFacet) {\r\n this.countryOptions = [{\r\n label: this.defaultCountryText,\r\n value: ALL_SKIP_FILTER\r\n }];\r\n if (facets) {\r\n facets.country.forEach((facet) => {\r\n this.countryOptions.push({\r\n label: facet.value,\r\n value: facet.value\r\n });\r\n });\r\n this.countryOptions = uniqBy(this.countryOptions, (opt) => opt.label && opt.value);\r\n this.loadingCountryOptions = false;\r\n }\r\n }\r\n\r\n setStateOptions (facets: NonprofitSearchFacet) {\r\n this.stateProvRegionOptions = [{\r\n label: this.defaultStateText,\r\n value: ALL_SKIP_FILTER\r\n }];\r\n if (facets) {\r\n facets.stateProvRegName.forEach((facet) => {\r\n this.stateProvRegionOptions.push({\r\n label: facet.value,\r\n value: facet.value\r\n });\r\n });\r\n this.stateProvRegionOptions = uniqBy(this.stateProvRegionOptions, (opt) => opt.label && opt.value);\r\n this.loadingStateOptions = false;\r\n }\r\n }\r\n\r\n setPlaceholderText (searchType: SearchByType) {\r\n switch (searchType) {\r\n case SearchByType.ADMIN:\r\n this.placeholderText = this.byAdminPlaceholder;\r\n break;\r\n case SearchByType.PAYMENT:\r\n this.placeholderText = this.byPaymentPlaceholder;\r\n break;\r\n default:\r\n case SearchByType.TERM:\r\n this.placeholderText = this.byNonprofitPlaceholder;\r\n }\r\n }\r\n\r\n ngOnChanges (changes: SimpleChanges) {\r\n const change: SimpleChange = changes['setSearchTermNull'];\r\n if (change.currentValue) {\r\n this.formArray.at(0).get('term').setValue('');\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n 0 &&\r\n !loadingStateOptions\"\r\n name=\"stateProvRegName\"\r\n [showClear]=\"false\"\r\n [label]=\"'accountSetup:lblState' | ycI18n\"\r\n [srOnlyLabel]=\"true\"\r\n [items]=\"stateProvRegionOptions\"\r\n (onChange)=\"_changeFilter($event, 'state')\">\r\n \r\n
\r\n
","\r\nimport { Injectable } from '@angular/core';\r\nimport { NonprofitSearchResponseModelAPI, StandardGetSearchPayload } from '@core/models/npo.model';\r\nimport { HttpRestService } from '@core/services/http-rest.service';\r\nimport { AutocompleteSearchAPIResponse } from '@core/typings/nonprofit-search.typing';\r\nimport { APIResponse, PaginationOptions, SearchFilter, SearchResultObj } from '@yourcause/common';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class NonprofitSearchResources {\r\n constructor (\r\n private httpRestService: HttpRestService\r\n ) { }\r\n\r\n async searchByTerm (\r\n searchText: string,\r\n pageNumber: number,\r\n rowsPerPage: number,\r\n showAll: boolean,\r\n searchFilters: SearchFilter[]\r\n ) {\r\n const response = await this.httpRestService.post>(\r\n '/api/Search/GetSearch',\r\n {\r\n searchText,\r\n pageNumber,\r\n rowsPerPage,\r\n searchFilters,\r\n showAll\r\n }\r\n );\r\n\r\n return response.data;\r\n }\r\n\r\n async searchByAdminEmail (\r\n AdminEmail: string,\r\n showAll: boolean,\r\n paginationOptions: PaginationOptions\r\n ) {\r\n const response = await this.httpRestService.post>(\r\n '/api/Nonprofit/SearchByAdmin',\r\n {\r\n AdminEmail,\r\n paginationOptions: {\r\n ...paginationOptions,\r\n showAll\r\n }\r\n }\r\n );\r\n\r\n return response.data;\r\n }\r\n\r\n async searchByPaymentNumber (\r\n paymentNumber: string,\r\n showAll = true,\r\n paginationOptions: PaginationOptions\r\n ) {\r\n const response = await this.httpRestService.post>(\r\n '/api/Nonprofit/Finance/SearchByPaymentNumber',\r\n {\r\n paymentNumber,\r\n paginationOptions: {\r\n ...paginationOptions,\r\n showAll\r\n }\r\n }\r\n );\r\n\r\n return response.data;\r\n }\r\n\r\n getSearchForAutoComplete (\r\n payload: StandardGetSearchPayload\r\n ): Promise {\r\n return this.httpRestService.post(\r\n '/api/Search/GetSearch',\r\n payload\r\n );\r\n }\r\n\r\n searchForMergeOrgs (\r\n payload: StandardGetSearchPayload\r\n ): Promise {\r\n return this.httpRestService.post(\r\n '/api/Search/GetSearch',\r\n payload\r\n );\r\n }\r\n\r\n searchByRegIdOnly (\r\n payload: StandardGetSearchPayload\r\n ): Promise {\r\n return this.httpRestService.post(\r\n '/api/Search/GetSearch',\r\n payload\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { NonprofitSearchState } from '@core/components/nonprofit-search/nonprofit-search.state';\r\nimport { NonprofitSearchFacet, NonprofitSearchResponseModelUI, StandardGetSearchPayload } from '@core/models/npo.model';\r\nimport { ALL_SKIP_FILTER, PaginationOptions, SearchByType, SearchFilter, SearchResult } from '@yourcause/common';\r\nimport { AttachYCState, BaseYCService } from '@yourcause/common/state';\r\nimport { isEqual } from 'lodash';\r\nimport { NonprofitSearchResources } from './nonprofit-search.resources';\r\n\r\n@AttachYCState(NonprofitSearchState)\r\n@Injectable({ providedIn: 'root' })\r\nexport class NonprofitSearchService extends BaseYCService {\r\n\r\n readonly showAll = true;\r\n readonly pageNumber = 1;\r\n readonly rowsPerPage = 250;\r\n readonly defaultPaginationOptions: PaginationOptions = {\r\n retrieveTotalRecordCount: false,\r\n filterColumns: [],\r\n sortColumns: [],\r\n returnAll: true,\r\n pageNumber: 1,\r\n rowsPerPage: 10\r\n };\r\n\r\n constructor (\r\n private nonprofitSearchResources: NonprofitSearchResources\r\n ) {\r\n super();\r\n }\r\n\r\n get allFacets () {\r\n return this.get('allFacets');\r\n }\r\n\r\n get activeFacets () {\r\n return this.get('activeFacets');\r\n }\r\n\r\n get paymentNumber () {\r\n return this.get('paymentNumber');\r\n }\r\n\r\n get searchType () {\r\n return this.get('searchType');\r\n }\r\n\r\n get searchTerm () {\r\n return this.get('searchTerm');\r\n }\r\n\r\n get searchFilters () {\r\n return this.get('searchFilters');\r\n }\r\n\r\n get searchResults () {\r\n return this.get('searchResults');\r\n }\r\n\r\n setAllFacets (facets: NonprofitSearchFacet) {\r\n this.set('allFacets', facets);\r\n if (!!facets) {\r\n this.setActiveFacets(facets);\r\n }\r\n }\r\n\r\n setActiveFacets (facets: NonprofitSearchFacet) {\r\n this.set('activeFacets', facets);\r\n }\r\n\r\n setPaymentNumber (paymentNumber: string) {\r\n this.set('paymentNumber', paymentNumber);\r\n }\r\n\r\n setSearchType (type: SearchByType) {\r\n this.set('searchType', type);\r\n }\r\n\r\n setSearchTerm (term: string, type: SearchByType) {\r\n this.set('searchTerm', term?.trim());\r\n }\r\n\r\n adaptPayloadForAPI (\r\n searchText: string,\r\n searchFilters: SearchFilter[],\r\n showAllResults: boolean\r\n ): StandardGetSearchPayload {\r\n const payload: StandardGetSearchPayload = {\r\n searchText,\r\n pageNumber: 1,\r\n rowsPerPage: 10,\r\n searchFilters,\r\n showAll: showAllResults\r\n };\r\n\r\n return payload;\r\n }\r\n\r\n adaptFiltersForRegIdOnly (\r\n searchText: string,\r\n searchFilters: SearchFilter[]\r\n ) {\r\n const trimSearchText = searchText.replace(/[^0-9a-zA-Z]/g, '');\r\n const filters = [\r\n ...searchFilters,\r\n {\r\n filterName: 'RegistrationId',\r\n filterValue: trimSearchText\r\n },\r\n { // SHOW INACTIVE\r\n filterName: 'ShowAll',\r\n filterValue: true\r\n }\r\n ];\r\n\r\n return filters;\r\n }\r\n\r\n async setSearchFilters (\r\n searchFiltersShowAll: boolean,\r\n searchFiltersShowChapters: boolean,\r\n searchFiltersRegAuth?: string,\r\n searchFiltersCountry?: string,\r\n searchFiltersState?: string\r\n ) {\r\n const allSearchFilters: SearchFilter[] = [\r\n {\r\n filterName: 'ShowAll',\r\n filterValue: searchFiltersShowAll\r\n },\r\n {\r\n filterName: 'IsChapterAffiliate',\r\n filterValue: searchFiltersShowChapters\r\n }\r\n ];\r\n if (searchFiltersRegAuth && searchFiltersRegAuth !== ALL_SKIP_FILTER) {\r\n allSearchFilters.push({\r\n filterName: 'RegistrationAuthority',\r\n filterValue: searchFiltersRegAuth\r\n });\r\n }\r\n if (searchFiltersCountry && searchFiltersCountry !== ALL_SKIP_FILTER) {\r\n allSearchFilters.push({\r\n filterName: 'Country',\r\n filterValue: searchFiltersCountry\r\n });\r\n }\r\n if (searchFiltersState && searchFiltersState !== ALL_SKIP_FILTER) {\r\n allSearchFilters.push({\r\n filterName: 'StateProvRegName',\r\n filterValue: searchFiltersState\r\n });\r\n }\r\n this.set('searchFilters', allSearchFilters);\r\n }\r\n\r\n setSearchResults (results: SearchResult[]) {\r\n this.set('searchResults', results);\r\n }\r\n\r\n async searchByTerm () {\r\n this.setPaymentNumber(null);\r\n let results: NonprofitSearchResponseModelUI;\r\n\r\n const response = await this.nonprofitSearchResources.searchByTerm(\r\n this.searchTerm,\r\n this.pageNumber,\r\n this.rowsPerPage,\r\n this.showAll,\r\n this.searchFilters\r\n );\r\n\r\n if (response) {\r\n const activeFacets = this.activeFacets;\r\n const newFacets = response.facets;\r\n if (!isEqual(activeFacets, newFacets)) {\r\n this.setAllFacets(response.facets);\r\n }\r\n results = {\r\n data: {\r\n results: response.results.map((result) => {\r\n return {\r\n document: result.document\r\n };\r\n }),\r\n facets: response.facets\r\n }\r\n };\r\n }\r\n const searchResults = results?.data?.results.map((result) => {\r\n return SearchResult.construct(result);\r\n });\r\n this.setSearchResults(searchResults);\r\n }\r\n\r\n async searchByAdminEmail () {\r\n this.setAllFacets(null);\r\n this.setPaymentNumber(null);\r\n let results: NonprofitSearchResponseModelUI;\r\n\r\n const response = await this.nonprofitSearchResources.searchByAdminEmail(\r\n this.searchTerm,\r\n this.showAll,\r\n this.defaultPaginationOptions\r\n );\r\n\r\n if (response) {\r\n results = {\r\n data: {\r\n results: response.records.map((result) => {\r\n return {\r\n document: result\r\n };\r\n }),\r\n facets: null\r\n }\r\n };\r\n }\r\n const searchResults = results?.data?.results.map((result) => {\r\n return SearchResult.construct(result);\r\n });\r\n this.setSearchResults(searchResults);\r\n }\r\n\r\n async searchByPaymentNumber () {\r\n this.setAllFacets(null);\r\n this.setPaymentNumber(this.searchTerm);\r\n let results: NonprofitSearchResponseModelUI;\r\n\r\n const response = await this.nonprofitSearchResources.searchByPaymentNumber(\r\n this.paymentNumber,\r\n this.showAll,\r\n this.defaultPaginationOptions\r\n );\r\n\r\n if (response) {\r\n results = {\r\n data: {\r\n results: response.records.map((result) => {\r\n return {\r\n document: result\r\n };\r\n }),\r\n facets: null\r\n }\r\n };\r\n }\r\n const searchResults = results?.data?.results.map((result) => {\r\n return SearchResult.construct(result);\r\n });\r\n this.setSearchResults(searchResults);\r\n }\r\n\r\n getSearchForAutoComplete (\r\n searchText: string,\r\n searchFilters: SearchFilter[] = []\r\n ) {\r\n const payload = this.adaptPayloadForAPI(\r\n searchText,\r\n searchFilters,\r\n false\r\n );\r\n\r\n return this.nonprofitSearchResources.getSearchForAutoComplete(\r\n payload\r\n );\r\n }\r\n\r\n searchForMergeOrgs (\r\n searchText: string,\r\n searchFilters: SearchFilter[] = []\r\n ) {\r\n const payload = this.adaptPayloadForAPI(\r\n searchText,\r\n searchFilters,\r\n true\r\n );\r\n\r\n const response = this.nonprofitSearchResources.searchForMergeOrgs(\r\n payload\r\n );\r\n\r\n return response;\r\n }\r\n\r\n searchByRegIdOnly (\r\n searchText: string,\r\n searchFilters: SearchFilter[] = []\r\n ) {\r\n const filters = this.adaptFiltersForRegIdOnly(\r\n searchText,\r\n searchFilters\r\n );\r\n const payload = this.adaptPayloadForAPI(\r\n searchText,\r\n filters,\r\n true\r\n );\r\n\r\n const response = this.nonprofitSearchResources.searchByRegIdOnly(\r\n payload\r\n );\r\n\r\n return response;\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { NonprofitSearchFacet } from '@core/models/npo.model';\r\nimport { SearchByType, SearchFilter, SearchResult } from '@yourcause/common';\r\nimport { BaseYCActionState, RegisterYCState } from '@yourcause/common/state';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n@RegisterYCState()\r\nexport class NonprofitSearchState extends BaseYCActionState {\r\n readonly activeFacets: NonprofitSearchFacet;\r\n readonly allFacets: NonprofitSearchFacet;\r\n readonly paymentNumber: string;\r\n readonly searchType: SearchByType;\r\n readonly searchTerm: string;\r\n readonly searchFilters: SearchFilter[];\r\n readonly searchResults: SearchResult[];\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { Address } from '@yourcause/common';\r\n\r\n@Component({\r\n selector: 'yc-npo-address',\r\n templateUrl: './npo-address.component.html',\r\n styleUrls: ['./npo-address.component.scss']\r\n})\r\nexport class NpoAddressComponent {\r\n @Input() address: Address;\r\n\r\n adaptAddress (address: Address): Address {\r\n let stateProvRegCode = '';\r\n\r\n if (this.address?.state) {\r\n stateProvRegCode = this.address.state;\r\n\r\n return {\r\n ...this.address,\r\n stateProvRegCode\r\n };\r\n }\r\n\r\n return address;\r\n }\r\n}\r\n","
\r\n
","import { Component, Input, OnChanges } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Address } from '@yourcause/common';\r\nimport { ModalFactory } from '@yourcause/common/modals';\r\nimport { NonprofitService } from '../../../nonprofit/nonprofit.service';\r\nimport { NppNonprofitBlockTableInfoModalComponent } from '../nonprofit-block-table-info-modal/nonprofit-block-table-info-modal.component';\r\n\r\n@Component({\r\n selector: 'npp-nonprofit-block-table',\r\n templateUrl: './npp-nonprofit-block-table.component.html',\r\n styleUrls: ['./npp-nonprofit-block-table.component.scss']\r\n})\r\nexport class NppNonprofitBlockTableComponent implements OnChanges {\r\n @Input() icon: string;\r\n // id is required if showAdditionalInfo = true OR\r\n // id/parentId is required when npoSelect/npoParentSelect = true\r\n @Input() id: number;\r\n @Input() name: string;\r\n @Input() parentId: number|string;\r\n @Input() parentName: string;\r\n @Input() parentRouterLink = '';\r\n @Input() npoSelect = false;\r\n @Input() address: Address;\r\n @Input() addressString = '';\r\n @Input() registrationId: string;\r\n @Input() chapterRegistrationId: string;\r\n @Input() npoParentSelect = false;\r\n @Input() isPrivateOrg: boolean;\r\n @Input() clientName: string;\r\n @Input() ycCharityId: string;\r\n @Input() npoRouterLink: string | string[];\r\n @Input() skipTitleize = false;\r\n @Input() showAdditionalInfo = false; // show Additional Information link\r\n @Input() eligibleForGivingStatusId: string;\r\n\r\n constructor (\r\n private modalFactory: ModalFactory,\r\n private nonprofitService: NonprofitService,\r\n private router: Router\r\n ) { }\r\n showAddress = true;\r\n\r\n ngOnChanges () {\r\n this.showAddress = this.address && (\r\n !!this.address.address1 ||\r\n !!this.address.city ||\r\n !!this.address.postalCode ||\r\n !!this.address.stateProvRegCode\r\n );\r\n }\r\n\r\n async openAdditionalInfoModal () {\r\n const info = await this.nonprofitService.getNonprofitAdditionalInformation(this.id);\r\n await this.modalFactory.open(\r\n NppNonprofitBlockTableInfoModalComponent,\r\n {\r\n nonprofitId: this.id,\r\n additionalInfo: info\r\n }\r\n );\r\n }\r\n\r\n async selectNonprofitAndNavigate (\r\n nonprofitId: string|number\r\n ) {\r\n await this.nonprofitService.setSelectedNpo(+nonprofitId);\r\n this.router.navigateByUrl('account-setup');\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { BBGFEligibleStatusId, NonprofitSearchStatsModalType } from '@yourcause/common';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\n\r\n@Component({\r\n selector: 'npp-npo-stats-block',\r\n templateUrl: './npp-npo-stats-block.component.html',\r\n styleUrls: ['./npp-npo-stats-block.component.scss']\r\n})\r\n\r\nexport class NppNpoStatsBlockComponent {\r\n @Output() openModal = new EventEmitter();\r\n @Input() showPopovers = true;\r\n @Input() registrationAuthority: string;\r\n @Input() ycCharityId: number;\r\n @Input() isActive: boolean;\r\n @Input() eligibleForGivingStatusId: number;\r\n @Input() eligibleForDisbursement: boolean;\r\n // FOR ADD CHILD MODAL DISPLAY ONLY\r\n @Input() foundationCodeDesc: string;\r\n @Input() subsectionCodeDesc: string;\r\n\r\n NonprofitSearchStatsModalType = NonprofitSearchStatsModalType;\r\n BBGFEligibleStatusId = BBGFEligibleStatusId;\r\n popoverPlacement = 'right' as const;\r\n regAuthPopover = this.i18n.translate(\r\n 'nonprofits:popRegistrationAuthorityDesc',\r\n {},\r\n 'The primary source of this nonprofit information, usually a governmental agency within a country.'\r\n );\r\n isActivePopover = this.i18n.translate(\r\n 'nonprofits:popIsActiveDesc',\r\n {},\r\n 'This nonprofit is active within the Global Good Network. Inactive nonprofits are not available in CSRconnect or GrantsConnect.'\r\n );\r\n givingPopover = this.i18n.translate(\r\n 'nonprofits:popEligibleForGivingDesc',\r\n {},\r\n 'This nonprofit meets the BBGF criteria to allow for donations to be disbursed to it by BB.'\r\n );\r\n disbursementPopover = this.i18n.translate(\r\n 'nonprofits:popEligibleForDisbursementDesc',\r\n {},\r\n 'This nonprofit meets BB Compliance criteria to allow for disbursements to be made.'\r\n );\r\n constructor (\r\n private i18n: I18nService\r\n ) { }\r\n}\r\n\r\n","
\r\n\r\n \r\n \r\n {{ desc }}\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n {{ registrationAuthority }}\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {{ ycCharityId }}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {{ foundationCodeDesc }}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {{ subsectionCodeDesc }}\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
","import { Component, Input } from '@angular/core';\r\nimport { PaymentCard } from '../../models/payment-cards.model';\r\n\r\n@Component({\r\n selector: 'yc-payment-cards',\r\n templateUrl: './payment-cards.component.html',\r\n styleUrls: ['./payment-cards.component.scss']\r\n})\r\nexport class PaymentCardsComponent {\r\n @Input() items: PaymentCard[];\r\n @Input() columnClass: string;\r\n @Input() zeroState: boolean;\r\n}\r\n\r\n\r\n","
\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ item.title }}\r\n \r\n
\r\n
\r\n {{ item.titleDate | ycFormatDate }}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ item.message }}\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ item.title }}\r\n \r\n
\r\n
\r\n {{ item.titleDate | ycFormatDate }}\r\n
\r\n
\r\n
\r\n {{ item.amount | money }}\r\n
\r\n
\r\n {{ item.amountType === 'currency' ? (item.amount | money) : (item.amount) }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ item.linkText }}\r\n \r\n  \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ item.downloadText }}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ item.downloadSubText }}\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ item.title }}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ item.message }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ item.footerText }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ item.footerText }}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NonprofitRegAuthAttributes } from '@core/models/npo.model';\r\nimport { SpinnerService } from '@core/services/spinner.service';\r\nimport { DebounceFactory, PaginationOptions, TableDataFactory } from '@yourcause/common';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { YCModalComponent } from '@yourcause/common/modals';\r\nimport { NonprofitService } from '../../../nonprofit/nonprofit.service';\r\n\r\n@Component({\r\n selector: 'yc-registration-authority-attr-modal',\r\n styleUrls: ['./registration-authority-attr-modal.component.scss'],\r\n templateUrl: './registration-authority-attr-modal.component.html'\r\n})\r\n\r\nexport class RegistrationAuthorityAttrModalComponent extends YCModalComponent implements OnInit {\r\n @Input() nonprofitId: number;\r\n @Input() nonprofitName: string;\r\n ready = false;\r\n modalSubheader: string;\r\n tableDataFactory: TableDataFactory;\r\n modalHeader = this.i18n.translate(\r\n 'nonprofits:textRegistrationAuthorityAttributes',\r\n {},\r\n 'Registration Authority Attributes'\r\n );\r\n\r\n constructor (\r\n private i18n: I18nService,\r\n private nonprofitService: NonprofitService,\r\n private spinnerService: SpinnerService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit () {\r\n this.modalSubheader = this.nonprofitName;\r\n this.setTableDataFactory();\r\n this.ready = true;\r\n }\r\n\r\n setTableDataFactory () {\r\n this.tableDataFactory = DebounceFactory.createSimple(\r\n async (paginationOptions: PaginationOptions) => {\r\n this.spinnerService.startSpinner();\r\n const response = await this.nonprofitService.getIrsAttribution(\r\n paginationOptions,\r\n this.nonprofitId\r\n );\r\n this.spinnerService.stopSpinner();\r\n\r\n return response;\r\n });\r\n }\r\n\r\n onCancel () {\r\n this.closeModal.emit();\r\n }\r\n}\r\n","\r\n \r\n\r\n \r\n \r\n \r\n {{ row.changeDate | ycFormatDate }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{\r\n !!row.pub78Designation ?\r\n row.pub78Designation :\r\n ('common:textNotApplicableNA' | ycI18n: 'N/A')\r\n }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{\r\n !!row.foundationCode ?\r\n row.foundationCode :\r\n ('common:textNotApplicableNA' | ycI18n: 'N/A')\r\n }}\r\n \r\n \r\n \r\n {{\r\n !!row.subsectionCode ?\r\n row.subsectionCode :\r\n ('common:textNotApplicableNA' | ycI18n: 'N/A')\r\n }}\r\n \r\n \r\n \r\n {{\r\n !!row.deductibilityCode ?\r\n row.deductibilityCode :\r\n ('common:textNotApplicableNA' | ycI18n: 'N/A')\r\n }}\r\n \r\n \r\n \r\n {{\r\n !!row.irsRevocationDate ?\r\n (row.irsRevocationDate | ycFormatDate) :\r\n ('common:textNotApplicableNA' | ycI18n: 'N/A')\r\n }}\r\n \r\n \r\n \r\n {{\r\n !!row.eligibleForGiving ?\r\n (row.eligibleForGivingReason) :\r\n ('common:textNotApplicableNA' | ycI18n: 'N/A')\r\n }}\r\n \r\n \r\n \r\n {{ row.sortName }}\r\n \r\n \r\n \r\n","import { Component, EventEmitter, Output } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ReleaseNoteAcknowledgement } from '../../models/release-notes.model';\r\n\r\n@Component({\r\n selector: 'yc-release-notes',\r\n template: `\r\n
\r\n
\r\n

\r\n \r\n \r\n \r\n {{ releaseNotes.version }}\r\n \r\n

\r\n
\r\n
\r\n

\r\n \r\n \r\n \r\n {{ releaseNotes.releaseDate | ycFormatDate }}\r\n \r\n

\r\n
\r\n
\r\n

{{ releaseNotes.description }}

\r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n

\r\n \r\n
\r\n`,\r\nstyleUrls: ['./release-notes.component.scss']\r\n})\r\n\r\nexport class ReleaseNotesComponent {\r\n@Output()\r\n completed = new EventEmitter();\r\n releaseNotes: ReleaseNoteAcknowledgement;\r\n\r\n ready = false;\r\n\r\n constructor (\r\n private router: Router,\r\n public activatedRoute: ActivatedRoute\r\n ) {\r\n }\r\n\r\n navigateToReleaseNotes () {\r\n this.completed.emit(true);\r\n this.router.navigate(['/help-support/release-notes'], {\r\n relativeTo: this.activatedRoute\r\n });\r\n }\r\n\r\n downloadRelease (release: any) {\r\n window.open(release.releaseNoteUrl);\r\n }\r\n\r\n onCancel () {\r\n this.completed.emit(true);\r\n }\r\n\r\n afterModalInit () {\r\n this.ready = true;\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { DebounceFactory, TableDataFactory } from '@yourcause/common';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { YCModalComponent } from '@yourcause/common/modals';\r\nimport { NonprofitService } from '../../../nonprofit/nonprofit.service';\r\nimport { RevocationDetailsBySubdivision } from '@core/models/revocation.model';\r\n\r\n@Component({\r\n selector: 'yc-revocation-details-by-state-modal',\r\n styleUrls: ['./revocation-details-by-state-modal.component.scss'],\r\n templateUrl: './revocation-details-by-state-modal.component.html'\r\n})\r\nexport class RevocationDetailsByStateModalComponent extends YCModalComponent implements OnInit {\r\n @Input() nonprofitId: number;\r\n @Input() nonprofitName: string;\r\n @Input() stateCode: string;\r\n @Input() nonprofitGuid: string;\r\n ready = false;\r\n modalSubheader: string;\r\n tableDataFactory: TableDataFactory;\r\n modalHeader = this.i18n.translate(\r\n 'common:textRevocationList',\r\n {},\r\n 'Revocation List'\r\n );\r\n\r\n constructor (\r\n private i18n: I18nService,\r\n private nonprofitService: NonprofitService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit () {\r\n this.modalSubheader = this.nonprofitName;\r\n this.setTableDataFactory();\r\n this.ready = true;\r\n }\r\n\r\n setTableDataFactory () {\r\n let results: RevocationDetailsBySubdivision[];\r\n this.tableDataFactory = DebounceFactory.createSimple(\r\n async () => {\r\n // If modal is opened from Extended Search\r\n if (!this.nonprofitGuid) {\r\n results = await this.nonprofitService.getRevocationDetails(\r\n this.nonprofitId,\r\n this.stateCode\r\n );\r\n } else {\r\n // If modal is opened from Public Search page\r\n results = await this.nonprofitService.getRevocationDetails(\r\n this.nonprofitId\r\n );\r\n }\r\n\r\n return {\r\n success: true,\r\n data: {\r\n recordCount: results.length,\r\n records: results\r\n }\r\n };\r\n }\r\n );\r\n }\r\n\r\n onCancel () {\r\n this.closeModal.emit();\r\n }\r\n}\r\n","\r\n \r\n \r\n \r\n \r\n {{ row.listType }}\r\n \r\n \r\n \r\n {{ row.status }}\r\n \r\n \r\n \r\n {{ row.statusOn | ycFormatDate }}\r\n \r\n \r\n \r\n {{ row.matchMethod }}\r\n \r\n \r\n \r\n {{ row.revocationListId }}\r\n \r\n \r\n \r\n {{ row.revocationListRegistrationId }}\r\n \r\n \r\n \r\n {{ row.revocationListName }}\r\n \r\n \r\n \r\n {{ row.revocationListAddress }}\r\n \r\n \r\n \r\n","\r\nimport { Component, EventEmitter, Input, OnDestroy, Output } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\r\nimport { ClassificationService } from '@core/services/classification.service';\r\nimport { ClassificationMaps, DebounceFactory, EinService, SearchFilter, SearchResult } from '@yourcause/common';\r\nimport { findKey } from 'lodash';\r\nimport { from, map, Subscription } from 'rxjs';\r\nimport { NonprofitSearchService } from '../nonprofit-search/nonprofit-search.service';\r\n\r\n@Component({\r\n selector: 'yc-search-npo-autocomplete',\r\n templateUrl: './search-npo-autocomplete.component.html',\r\n styleUrls: ['./search-npo-autocomplete.component.scss']\r\n})\r\nexport class SearchNpoAutocompleteComponent implements OnDestroy {\r\n @Input() placeholder = '';\r\n @Input() searchFilters: SearchFilter[] = [];\r\n @Input() maxResults = 5;\r\n @Input() addRequiredAsterisk: boolean;\r\n @Output() onOrgSelect = new EventEmitter();\r\n formGroup: UntypedFormGroup;\r\n results: any[];\r\n counter = 0;\r\n debounce: DebounceFactory;\r\n classificationsMap: ClassificationMaps;\r\n sub = new Subscription();\r\n\r\n constructor (\r\n private nonprofitSearchService: NonprofitSearchService,\r\n fb: UntypedFormBuilder,\r\n private einService: EinService,\r\n private classificationService: ClassificationService\r\n ) {\r\n this.sub.add(this.classificationService.changesTo$('subsections').subscribe(() => {\r\n this.classificationsMap = this.classificationService.classifications;\r\n }));\r\n this.formGroup = fb.group({\r\n term: ''\r\n });\r\n this.debounce = DebounceFactory.create((term: string) => this.doSearch(term), 500);\r\n this.getDisplay = this.getDisplay.bind(this);\r\n }\r\n\r\n getIcon (result: SearchResult) {\r\n if (result.document.iconURL) {\r\n return result.document.iconURL;\r\n } else {\r\n const id = findKey(this.classificationsMap.flatMap, {\r\n name : result.document.classification\r\n });\r\n\r\n return `assets/img/nonprofit/icons/cat_${id || 10}.gif`;\r\n }\r\n }\r\n\r\n doSearch (term: string) {\r\n return from(this.nonprofitSearchService.getSearchForAutoComplete(\r\n term,\r\n this.searchFilters\r\n )).pipe(map(val => val.data ?\r\n val.data.results.map(result => SearchResult.construct(result)) :\r\n []\r\n ));\r\n }\r\n\r\n getDisplay (result: SearchResult) {\r\n return `\r\n ${result.document.name}:\r\n ${this.einService.formatEin(result.document.registrationId)}\r\n `;\r\n }\r\n\r\n ngOnDestroy () {\r\n this.sub.unsubscribe();\r\n }\r\n}\r\n","
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n {{ item.document.displayName || item.document.name }}\r\n
\r\n
\r\n \r\n {{ item.document.registrationId | ein }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n","\r\nimport { Component, EventEmitter, Input, OnDestroy, Output } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\r\nimport { ClassificationService } from '@core/services/classification.service';\r\nimport { ClassificationMaps, DebounceFactory, EinService, SearchFilter, SearchResult } from '@yourcause/common';\r\nimport { findKey } from 'lodash';\r\nimport { from, map, Subscription } from 'rxjs';\r\nimport { NonprofitSearchService } from '../nonprofit-search/nonprofit-search.service';\r\n\r\n@Component({\r\n selector: 'yc-search-npo-merge',\r\n templateUrl: './search-npo-merge.component.html',\r\n styleUrls: ['./search-npo-merge.component.scss']\r\n})\r\nexport class SearchNpoMergeComponent implements OnDestroy {\r\n @Input() placeholder = '';\r\n @Input() searchFilters: SearchFilter[] = [];\r\n @Input() maxResults = 5;\r\n @Output() onOrgSelect = new EventEmitter();\r\n formGroup: UntypedFormGroup;\r\n results: any[];\r\n counter = 0;\r\n debounce: DebounceFactory;\r\n classificationsMap: ClassificationMaps;\r\n sub = new Subscription();\r\n\r\n constructor (\r\n private formBuilder: UntypedFormBuilder,\r\n public einService: EinService,\r\n private classificationService: ClassificationService,\r\n private nonprofitSearchService: NonprofitSearchService\r\n\r\n ) {\r\n this.sub.add(this.classificationService.changesTo$('subsections').subscribe(() => {\r\n this.classificationsMap = this.classificationService.classifications;\r\n }));\r\n\r\n this.formGroup = this.formBuilder.group({\r\n term: ''\r\n });\r\n\r\n this.debounce = DebounceFactory.create((term: string) => this.doSearch(term), 500);\r\n this.getDisplay = this.getDisplay.bind(this);\r\n }\r\n\r\n getIcon (result: SearchResult) {\r\n const id = findKey(this.classificationsMap.flatMap, {\r\n name: result.document.classification\r\n });\r\n\r\n return `assets/img/nonprofit/icons/cat_${id || 10}.gif`;\r\n }\r\n\r\n doSearch (term: string) {\r\n return from(this.nonprofitSearchService.searchForMergeOrgs(\r\n term,\r\n this.searchFilters\r\n )).pipe(map(val => val.data ?\r\n val.data.results.map(result => SearchResult.construct(result)) :\r\n []\r\n ));\r\n }\r\n\r\n getDisplay (result: SearchResult) {\r\n return `\r\n ${result.document.name}:\r\n ${this.einService.formatEin(result.document.registrationId)}\r\n `;\r\n }\r\n\r\n ngOnDestroy () {\r\n this.sub.unsubscribe();\r\n }\r\n}\r\n","
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n {{ item.document.displayName || item.document.name }}\r\n
\r\n
\r\n \r\n {{ item.document.registrationId | ein }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { CachedAttr, CACHE_TYPES } from '../../../../lib/Cache';\r\n\r\n\r\n@Component({\r\n selector: 'yc-show-chapter-nonprofits',\r\n templateUrl: './show-chapter-nonprofits.component.html'\r\n})\r\nexport class ShowChapterNonprofitsComponent implements OnInit {\r\n @CachedAttr(CACHE_TYPES.LOCALSTORAGE, true)\r\n showChapterNpos: boolean;\r\n\r\n @Input() parentFormGroup: UntypedFormGroup;\r\n @Output() changeType = new EventEmitter();\r\n showChaptersForm: UntypedFormGroup;\r\n showChaptersText = this.i18n.translate(\r\n 'search:lblShowChaptersCheckbox',\r\n {},\r\n 'Show chapters'\r\n );\r\n\r\n constructor (\r\n private i18n: I18nService,\r\n private formBuilder: UntypedFormBuilder\r\n ) { }\r\n\r\n ngOnInit () {\r\n this.showChaptersForm = this.formBuilder.group({\r\n showChapters: this.showChapterNpos\r\n });\r\n this.parentFormGroup.get('showChapters').setValue(this.showChapterNpos);\r\n }\r\n\r\n _changeMade () {\r\n this.showChapterNpos = this.showChaptersForm.get('showChapters').value;\r\n this.parentFormGroup.get('showChapters').setValue(this.showChapterNpos);\r\n this.changeType.emit();\r\n }\r\n\r\n}\r\n","\r\n \r\n \r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\r\nimport { CACHE_TYPES, CachedAttr } from '@yourcause/common/cache';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\n\r\n@Component({\r\n selector: 'yc-show-inactive-nonprofits',\r\n templateUrl: './show-inactive-nonprofits.component.html'\r\n})\r\nexport class ShowInactiveNonprofitsComponent implements OnInit {\r\n @CachedAttr(CACHE_TYPES.LOCALSTORAGE, true)\r\n showInactiveNpos: boolean;\r\n @Input() parentFormGroup: UntypedFormGroup;\r\n @Output() changeType = new EventEmitter();\r\n showInactiveForm: UntypedFormGroup;\r\n showInactiveText = this.i18n.translate(\r\n 'search:lblShowInactiveNonprofitsCheckbox',\r\n {},\r\n 'Show inactive nonprofits'\r\n );\r\n\r\n constructor (\r\n private i18n: I18nService,\r\n private formBuilder: UntypedFormBuilder\r\n ) { }\r\n\r\n ngOnInit () {\r\n this.showInactiveForm = this.formBuilder.group({\r\n showInactive: this.showInactiveNpos\r\n });\r\n this.parentFormGroup.get('showInactive').setValue(this.showInactiveNpos);\r\n }\r\n\r\n _changeMade () {\r\n this.showInactiveNpos = this.showInactiveForm.get('showInactive').value;\r\n this.parentFormGroup.get('showInactive').setValue(this.showInactiveNpos);\r\n this.changeType.emit();\r\n }\r\n\r\n}\r\n","\r\n \r\n \r\n","import { Component, Input } from '@angular/core';\r\nimport { Transaction } from '@core/models/donation.model';\r\nimport { ModalFactory } from '@yourcause/common/modals';\r\nimport { CheckFeeDetailsModalComponent } from '../../../give/check-fee-details-modal/check-fee-details-modal.component';\r\n\r\n\r\n@Component({\r\n selector: 'npp-transaction-fees',\r\n templateUrl: './transaction-fees.component.html',\r\n styleUrls: ['./transaction-fees.component.scss']\r\n})\r\nexport class TransactionFeesComponent {\r\n @Input() transaction: Transaction;\r\n\r\n constructor (\r\n private modalFactory: ModalFactory\r\n ) { }\r\n\r\n async openFeeModal (transaction: Transaction) {\r\n await this.modalFactory.open(\r\n CheckFeeDetailsModalComponent,\r\n {\r\n transactionFeeDetails: transaction.fees,\r\n companyName: transaction.company,\r\n disbursementFees: transaction.disbursementFees,\r\n currency: transaction.currency,\r\n disbursementCurrencyCode: transaction.disbursementCurrencyCode\r\n }\r\n );\r\n }\r\n}\r\n","
\r\n 0)\"\r\n class=\"font-size-12\">\r\n \r\n : {{ transaction.fees?.totalFees?.amount - transaction.fees?.totalFees?.coveredAmount | money: transaction.currency : true }}\r\n \r\n
0 &&\r\n !transaction.fees?.totalFees?.fullyCovered\">\r\n \r\n \r\n \r\n \r\n
\r\n
0 &&\r\n transaction.fees?.totalFees?.fullyCovered\">\r\n \r\n \r\n \r\n \r\n
\r\n
","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'npp-unauth-wrapper',\r\n template: ``,\r\n styles: [``]\r\n})\r\nexport class UnAuthWrapperComponent { }\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { VettingApplicationStepperStep } from '@core/typings/vetting-application.typing';\r\n\r\n@Component({\r\n selector: 'yc-vetting-application-stepper',\r\n templateUrl: './vetting-application-stepper.component.html',\r\n styleUrls: ['./vetting-application-stepper.component.scss']\r\n})\r\nexport class VettingApplicationStepperComponent {\r\n @Input() steps: VettingApplicationStepperStep[] = [];\r\n @Input() currentStep = 0;\r\n @Input() stepperIsDisabled = false;\r\n @Output() currentStepChanged = new EventEmitter();\r\n\r\n isOpen (i: number) {\r\n return i === this.currentStep;\r\n }\r\n\r\n isDisabled (index: number) {\r\n if (this.stepperIsDisabled) {\r\n return false;\r\n }\r\n let allPreviousStepsValid = true;\r\n while (index--) {\r\n if (this.steps[index] && !this.steps[index].canProceed) {\r\n allPreviousStepsValid = false;\r\n }\r\n }\r\n\r\n return !allPreviousStepsValid;\r\n }\r\n}\r\n","
\r\n \r\n \r\n
\r\n
\r\n {{ index + 1 }}.\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
","import { Directive, TemplateRef, ViewContainerRef, Input, OnInit } from '@angular/core';\r\nimport { AuthService } from '../services/auth.service';\r\n\r\n@Directive({\r\n selector: '[ycIfNonprofitRole]'\r\n})\r\nexport class IfNonprofitRoleDirective implements OnInit {\r\n @Input() ycIfNonprofitRole: string;\r\n constructor (\r\n public templateRef: TemplateRef,\r\n public viewRef: ViewContainerRef,\r\n public roleService: AuthService\r\n ) {\r\n }\r\n\r\n ngOnInit () {\r\n if (this.roleService.hasNpoRole(this.ycIfNonprofitRole)) {\r\n this.viewRef.createEmbeddedView(this.templateRef, {}, 0);\r\n }\r\n }\r\n\r\n}\r\n","import { Directive, TemplateRef, ViewContainerRef, Input, OnInit } from '@angular/core';\r\nimport { AuthService } from '../services/auth.service';\r\n\r\n@Directive({\r\n selector: '[ycIfSystemRole]'\r\n})\r\nexport class IfSystemRoleDirective implements OnInit {\r\n @Input() ycIfSystemRole: string;\r\n constructor (\r\n public templateRef: TemplateRef,\r\n public viewRef: ViewContainerRef,\r\n public roleService: AuthService\r\n ) {\r\n }\r\n\r\n ngOnInit () {\r\n if (this.roleService.hasSystemRole(this.ycIfSystemRole)) {\r\n this.viewRef.createEmbeddedView(this.templateRef, {}, 0);\r\n }\r\n }\r\n}\r\n","import { Directive, TemplateRef, ViewContainerRef, Input, OnInit } from '@angular/core';\r\nimport { AuthService } from '../services/auth.service';\r\n\r\n@Directive({\r\n selector: '[ycUnlessNonprofitRole]'\r\n})\r\nexport class UnlessNonprofitRoleDirective implements OnInit {\r\n @Input() ycUnlessNonprofitRole: string;\r\n constructor (\r\n public templateRef: TemplateRef,\r\n public viewRef: ViewContainerRef,\r\n public roleService: AuthService\r\n ) { }\r\n\r\n ngOnInit () {\r\n if (!this.roleService.hasNpoRole(this.ycUnlessNonprofitRole)) {\r\n this.viewRef.createEmbeddedView(this.templateRef, {}, 0);\r\n }\r\n }\r\n\r\n}\r\n","import { Directive, TemplateRef, ViewContainerRef, Input, OnInit } from '@angular/core';\r\nimport { AuthService } from '../services/auth.service';\r\n\r\n@Directive({\r\n selector: '[ycUnlessSystemRole]'\r\n})\r\nexport class UnlessSystemRoleDirective implements OnInit {\r\n @Input() ycUnlessSystemRole: string;\r\n constructor (\r\n public templateRef: TemplateRef,\r\n public viewRef: ViewContainerRef,\r\n public roleService: AuthService\r\n ) {\r\n }\r\n\r\n ngOnInit () {\r\n if (!this.roleService.hasSystemRole(this.ycUnlessSystemRole)) {\r\n this.viewRef.createEmbeddedView(this.templateRef, {}, 0);\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Router } from '@angular/router';\r\nimport { AuthService } from '@core/services/auth.service';\r\nimport { NonprofitAdminService } from '@core/services/nonprofit-admin.service';\r\nimport { TermsOfServiceService } from '@core/services/terms-of-service.service';\r\nimport { TokenService } from '@core/services/token/token.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthGuard {\r\n constructor (\r\n private tokenService: TokenService,\r\n private router: Router,\r\n private authService: AuthService,\r\n private termsOfServiceService: TermsOfServiceService,\r\n private nonprofitAdminService: NonprofitAdminService\r\n ) { }\r\n\r\n async canActivate (activatedRouteSnapshot: ActivatedRouteSnapshot): Promise {\r\n const queryParams = activatedRouteSnapshot.queryParams as {\r\n alreadyLoggedInWithBbid: boolean;\r\n };\r\n\r\n const isBbid = this.tokenService.isBbid;\r\n const alreadyLoggedInWithBbid = queryParams.alreadyLoggedInWithBbid ? true : false;\r\n\r\n // Don't login with BBID twice if we already signed in\r\n if ((isBbid) && !alreadyLoggedInWithBbid) {\r\n const passed = await this.authService.loginWithBbid(false, false, false, null, null);\r\n\r\n // Don't continue if BBID login was unsuccessful\r\n if (!passed) {\r\n return false;\r\n }\r\n }\r\n\r\n if (!this.tokenService.getIsLoggedIn()) {\r\n this.router.navigateByUrl('login');\r\n\r\n return false;\r\n }\r\n\r\n if (!this.tokenService.tokenInfo) {\r\n await this.tokenService.fetchUserClaims();\r\n }\r\n\r\n // Terms of service logic\r\n if (!await this.termsOfServiceService.getUserTermsOfServiceModal()){\r\n return false;\r\n }\r\n\r\n // Not internal admin but npo admin logic\r\n if (!this.authService.isInternalAdmin() && !await this.nonprofitAdminService.confirmNpoAdmin()){\r\n return false;\r\n }\r\n\r\n return true;\r\n\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AuthService } from '@core/services/auth.service';\r\nimport { PersonaService } from '@core/services/persona.service';\r\n\r\n/**\r\n * This guard is used to display unanswered questions to a user when logging in.\r\n */\r\n@Injectable({ providedIn: 'root' })\r\nexport class PersonaGuard {\r\n\r\n constructor (\r\n private personaService: PersonaService,\r\n private authService: AuthService\r\n ) { }\r\n\r\n canActivateChild () {\r\n // feature only applies to non internal users\r\n if (this.authService.isInternalUser()) {\r\n return Promise.resolve(true);\r\n }\r\n\r\n // logic for fetching modal is handled within service\r\n return this.personaService.getUnansweredPersonaQuestionsForUserModalForSigningIn();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { ModalFactory } from '@yourcause/common/modals';\r\nimport { of } from 'rxjs';\r\nimport { catchError, map, mergeMap, take } from 'rxjs/operators';\r\nimport { ReleaseNotesService } from '../../platform-admin/services/release-notes.service';\r\nimport { ReleaseNotesComponent } from '../components/release-notes/release-notes.component';\r\nimport { ReleaseNoteAcknowledgement } from '../models/release-notes.model';\r\nimport { TokenService } from '@core/services/token/token.service';\r\n\r\n/**\r\n * This guard is used to display the release notes modal to the user when they first log in.\r\n */\r\n@Injectable({ providedIn: 'root' })\r\nexport class ReleaseNotesGuard {\r\n releaseNoteData: ReleaseNoteAcknowledgement;\r\n skipEndpointCall = false;\r\n releaseNotesDeps: Partial;\r\n\r\n constructor (\r\n private modalFactory: ModalFactory,\r\n private releaseNotesService: ReleaseNotesService,\r\n private tokenService: TokenService\r\n ) { }\r\n\r\n canActivateChild () {\r\n if (this.skipEndpointCall) {\r\n return of(true);\r\n }\r\n\r\n return this.releaseNotesService.getCurrentReleaseAcknowledgement()\r\n .pipe(\r\n take(1),\r\n map((response) => {\r\n this.releaseNotesDeps = {\r\n releaseNotes: response ?? null\r\n };\r\n\r\n return this.releaseNotesDeps.releaseNotes;\r\n }),\r\n mergeMap((response) => {\r\n if (!response?.releaseRequiresAcknowledgement) {\r\n this.skipEndpointCall = true;\r\n\r\n return of(true);\r\n } else {\r\n const releaseIdNumber = parseInt(response?.releaseId, 10);\r\n this.releaseNotesService.setReleaseAcknowledged(releaseIdNumber).subscribe();\r\n const modal = this.modalFactory.createModal(\r\n ReleaseNotesComponent,\r\n this.releaseNotesDeps,\r\n {\r\n class: 'modal-lg'\r\n }\r\n );\r\n\r\n return modal.content.completed.pipe(\r\n map(() => {\r\n modal.hide();\r\n this.skipEndpointCall = true;\r\n\r\n return true;\r\n }));\r\n }\r\n }),\r\n catchError((error) => {\r\n // if the token has expired, log the user out\r\n if (error?.status === 401) {\r\n this.tokenService.logout();\r\n }\r\n this.skipEndpointCall = true;\r\n\r\n return of(true);\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';\r\nimport { NonprofitService } from '../../nonprofit/nonprofit.service';\r\nimport { AuthService } from '../services/auth.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class RouteToSearchGuard {\r\n\r\n constructor (\r\n private router: Router,\r\n private authService: AuthService,\r\n private nonprofitService: NonprofitService\r\n ) {}\r\n\r\n checkForActiveNonprofit () {\r\n return this.nonprofitService.activeNpo;\r\n }\r\n\r\n canActivate (nextRoute: ActivatedRouteSnapshot, router: RouterStateSnapshot) {\r\n if (this.checkForActiveNonprofit()) {\r\n return true;\r\n } else if (this.authService.isYcAdminOrSupport()) {\r\n this.router.navigateByUrl('/search');\r\n\r\n return true;\r\n } else {\r\n this.router.navigateByUrl('/my-workspace');\r\n\r\n return true;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from '@core/services/auth.service';\r\nimport { TokenService } from '@core/services/token/token.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class UnauthGuard {\r\n\r\n constructor (\r\n private tokenService: TokenService,\r\n private router: Router,\r\n private authService: AuthService\r\n ) { }\r\n\r\n async canActivate (): Promise {\r\n if (this.tokenService.getIsLoggedIn()) {\r\n this.router.navigateByUrl(await this.authService.getDefaultRoute());\r\n\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","import { APIResponse } from '@yourcause/common';\r\n\r\nexport interface LoginPayload {\r\n username: string;\r\n password: string;\r\n rememberMe?: boolean;\r\n}\r\n\r\nexport interface LoginAction {\r\n type: string;\r\n payload: LoginPayload;\r\n}\r\n\r\nexport interface ForgotPasswordPayload {\r\n username: string;\r\n}\r\n\r\nexport interface ResetPasswordPayload {\r\n userName: string;\r\n token: string;\r\n password: string;\r\n fromInvite?: boolean;\r\n}\r\n\r\nexport interface LoginResponse {\r\n access_token: string;\r\n RefreshToken: string;\r\n RefreshTokenExpiration: string;\r\n ParsedRefreshTokenExpiration: Date;\r\n expires_in: number;\r\n}\r\n\r\nexport interface PasswordStrengthDataModel {\r\n strengthIsValid: boolean;\r\n passwordStrength: number;\r\n passwordStrengthRequired: number;\r\n}\r\n\r\nexport interface CreateAccountApiPayload {\r\n email: string;\r\n password: string;\r\n firstName: string;\r\n lastName: string;\r\n nonprofitId?: number;\r\n acknowledgedTermsOfService: boolean;\r\n adminInvite?: boolean;\r\n}\r\n\r\nexport interface ConfirmChangeEmailPayload {\r\n email: string;\r\n token: string;\r\n requestGuid: string;\r\n}\r\n\r\nexport enum LoginError {\r\n Email_Not_Confirmed = 'Email_Not_Confirmed',\r\n Token_Is_Not_Valid = 'Token_Is_Not_Valid',\r\n Incorrect_Password = 'Incorrect_Password',\r\n User_Does_Not_Exist = 'User_Does_Not_Exist',\r\n Password_Expired = 'Password_Expired',\r\n Account_Locked = 'Account_Locked',\r\n Account_Not_Valid = 'Account_Not_Valid',\r\n Security_Code_Required = 'Security_Code_Required',\r\n Security_Code_Invalid = 'Security_Code_Invalid',\r\n Security_Code_Expired = 'Security_Code_Expired',\r\n Account_Requires_SSO = 'Account_Requires_SSO',\r\n Unknown = 'Unknown'\r\n}\r\n\r\nexport enum ResetPasswordCase {\r\n EXPIRED = 'expired',\r\n REQUEST_RESET = 'requestReset'\r\n}\r\n\r\nexport type PasswordStrengthModel = APIResponse;\r\n\r\nexport interface BlackbaudSsoRouteResponse {\r\n signInUrl: string;\r\n signOutUrl: string;\r\n}\r\n\r\nexport interface TermsOfServiceModelResponse {\r\n id?: number;\r\n privacyPolicyUrl?: string;\r\n url?: string;\r\n}\r\n\r\n","export interface BlackbaudSsoRouteResponse {\r\n signInUrl: string;\r\n signOutUrl: string;\r\n}\r\n\r\nexport enum BlackbaudSsoError {\r\n Unknown = 1,\r\n NoPlatformAccount = 2\r\n}\r\n\r\nexport interface TokenResponse {\r\n success: boolean;\r\n message: string;\r\n errorCode: string;\r\n data: {\r\n token: string;\r\n expiration: string;\r\n refreshToken: string;\r\n refreshTokenExpiration: string;\r\n };\r\n}\r\n\r\nexport interface SSOToken {\r\n id_token: string;\r\n access_token: string;\r\n scope: string;\r\n session_state: string;\r\n state: string;\r\n code?: string;\r\n\r\n swapped_token: string;\r\n\r\n [x: string]: string;\r\n}\r\n\r\n","import { NonprofitBlockDisplayModel } from './npo.model';\r\n\r\nexport interface ChangeTracking {\r\n id: number;\r\n nonprofitName: string;\r\n changeType: string;\r\n entityId: number;\r\n entityPropertyDesc: string;\r\n changeDate: string;\r\n changedBy: string;\r\n changedByRole: string;\r\n oldValue: string;\r\n newValue: string;\r\n comment: string;\r\n assetId?: string;\r\n reasonId?: number;\r\n nonprofit?: NonprofitBlockDisplayModel;\r\n user?: ChangeTrackingUser;\r\n}\r\n\r\nexport interface UserChangeTrackingViewModel {\r\n id: number;\r\n changeType: string;\r\n entityId: number;\r\n entityPropertyDesc: string;\r\n changeDate: string;\r\n changedBy: string;\r\n changedByRole: string;\r\n oldValue: string;\r\n newValue: string;\r\n comment: string;\r\n assetId?: string;\r\n reasonId?: number;\r\n user: ChangeTrackingUser;\r\n}\r\n\r\nexport interface ChangeTrackingUser {\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n}\r\n\r\n\r\nexport interface ChangeTrackingEntityTypeObject {\r\n entityProperty: string;\r\n id: number;\r\n}\r\n\r\nexport enum ChangeTrackingEntityType {\r\n AllowDonations = 'Allow donations', // deprecated\r\n AllowVolunteering = 'Allow volunteering', // deprecated\r\n Classification = 'Classification',\r\n DisplayName = 'Display name',\r\n IsActive = 'Is active',\r\n IsDeductible = 'Is deductible',\r\n MailingAddress = 'Mailing address',\r\n MailingName = 'Mailing name',\r\n ParentChildRel = 'Parent/Child Relationship',\r\n BankInfo = 'Banking Information',\r\n DisbursementSuspended = 'Disbursement Suspended',\r\n EligibleForGiving = 'Eligible For Giving',\r\n VettingApplicationStatus = 'Vetting Application Status',\r\n VettingOrganizationType = 'Vetting Organization Type',\r\n LegalEntityId = 'LegalEntityId',\r\n EmailCommunicationPreferences = 'Email Communication Preferences'\r\n}\r\n\r\nexport enum ChangeTrackingEntityTypeId {\r\n CLASSIFICATION = 1,\r\n DISPLAY_NAME = 2,\r\n IS_DEDUCTIBLE = 4,\r\n MAILING_NAME = 5,\r\n MAILING_ADDRESS = 6,\r\n IS_ACTIVE = 8,\r\n PARENT_CHILD_RELATIONSHIP = 9,\r\n BANK_INFO = 10,\r\n DISBURSEMENT_SUSPENDED = 11,\r\n ELIGIBLE_FOR_GIVING = 13,\r\n VETTING_APPLICATION_STATUS = 14,\r\n VETTING_ORGANIZATION_TYPE = 15,\r\n LEGAL_ENTITY_ID = 16,\r\n EMAIL_COMM_PREFERENCES = 17\r\n}\r\n\r\nexport enum ChangeTrackingType {\r\n NonprofitChangeTracking = 'Nonprofit Change Tracking',\r\n UserChangeTracking = 'User Change Tracking'\r\n}\r\n\r\nexport enum ChangeTrackingTypeId {\r\n NONPROFIT_CHANGE_TRACKING = 1,\r\n USER_CHANGE_TRACKING = 2\r\n}\r\n\r\n\r\nexport enum ChangeTrackingChangeByRole {\r\n YCUser = 'YourCause User',\r\n NPOUser = 'Nonprofit User',\r\n System = 'System'\r\n}\r\n\r\nexport enum ChangeTrackingChangedBySystemName {\r\n NPPAutomation = 'NPP Automation',\r\n SiteAdmin = 'Site Admin'\r\n}\r\n","import { Address, SearchResult, TableAsset } from '@yourcause/common';\r\nimport { StagedNonprofitForAdminRequest } from './admin-request.model';\r\nimport { NonprofitAsset } from './nonprofit-asset.model';\r\nimport { BasicMyNonprofit, BasicNonprofit } from './npo.model';\r\nimport { User } from './user.model';\r\n\r\nexport const NEW_CLAIM = 'new-claim';\r\nexport const TEMP_REG_AUTHORITIES = [\r\n 'US Nonprofit',\r\n 'Catholic Directory',\r\n 'Private Schools'\r\n];\r\n\r\nexport interface AdminForm {\r\n firstName?: string;\r\n lastName?: string;\r\n email?: string;\r\n phone?: string;\r\n}\r\n\r\nexport interface ContactForm {\r\n title?: string;\r\n workEmail?: string;\r\n phone?: string;\r\n website?: string;\r\n}\r\n\r\nexport interface NonprofitAdminRequestCreateModel {\r\n isSubmission: boolean;\r\n nonprofitId?: number|string;\r\n parentId: number|string;\r\n workEmail: string;\r\n workPhone: string;\r\n positionTitle: string;\r\n website: string;\r\n remittanceAddress?: Address;\r\n claimChapter: boolean;\r\n stagedNonprofit?: StagedNonprofit;\r\n isParent?: boolean;\r\n parentAdminFirstName?: string;\r\n parentAdminLastName?: string;\r\n parentAdminEmailAddress?: string;\r\n parentAdminPhoneNumber?: string;\r\n}\r\n\r\nexport interface NonprofitAdminRequestUpdateModel extends NonprofitAdminRequestCreateModel {\r\n nonprofitAdminRequestId: number;\r\n}\r\n\r\nexport class NonprofitAdminRequestDisplayModel {\r\n nonprofitAdminRequestId: number;\r\n adminStatusId: number;\r\n approvedByNonprofit: boolean;\r\n nonprofit: BasicMyNonprofit;\r\n parent: BasicNonprofit;\r\n dateSubmitted: string;\r\n assignedUser: User;\r\n submittedByUser: User;\r\n reviewedByNonprofitUser: User;\r\n approvedByUser: User;\r\n nonprofitId: number;\r\n parentId: number;\r\n workEmail: string;\r\n workPhone: string;\r\n positionTitle: string;\r\n website: string;\r\n remittanceName: string;\r\n remittanceAddress: Address;\r\n claimChapter: boolean;\r\n stagedNonprofit: StagedNonprofitForAdminRequest;\r\n isParent?: boolean;\r\n parentAdminFirstName: string;\r\n parentAdminLastName: string;\r\n parentAdminEmailAddress: string;\r\n parentAdminPhoneNumber: string;\r\n hasAdmins: boolean;\r\n parentHasAdmins: boolean;\r\n reviewedByNonprofitDate: string;\r\n approvedDate: string;\r\n compositeNonprofitName: string;\r\n publicComments?: string;\r\n internalComments?: string;\r\n reasonId?: number;\r\n isGCRequestedOrg?: boolean;\r\n}\r\n\r\nexport class NonprofitAdminRequestDetailModel extends NonprofitAdminRequestDisplayModel {\r\n assets?: NonprofitAsset[];\r\n\r\n static get default () {\r\n return new this();\r\n }\r\n}\r\n\r\nexport class ClaimStateDataWithAssets {\r\n nonprofitAdminRequestId?: number;\r\n adminStatusId?: number;\r\n approvedByNonprofit?: boolean;\r\n nonprofit?: BasicMyNonprofit;\r\n parent?: BasicNonprofit;\r\n dateSubmitted?: string;\r\n assignedUser?: User;\r\n submittedByUser?: User;\r\n reviewedByNonprofitUser?: User;\r\n approvedByUser?: User;\r\n nonprofitId?: number;\r\n parentId?: number;\r\n workEmail?: string;\r\n workPhone?: string;\r\n positionTitle?: string;\r\n website?: string;\r\n remittanceName?: string;\r\n remittanceAddress?: Address;\r\n claimChapter?: boolean;\r\n stagedNonprofit?: StagedNonprofitForAdminRequest|StagedNonprofit;\r\n isParent?: boolean;\r\n parentAdminFirstName?: string;\r\n parentAdminLastName?: string;\r\n parentAdminEmailAddress?: string;\r\n parentAdminPhoneNumber?: string;\r\n hasAdmins?: boolean;\r\n parentHasAdmins?: boolean;\r\n reviewedByNonprofitDate?: string;\r\n approvedDate?: string;\r\n compositeNonprofitName?: string;\r\n reviewComment?: string;\r\n rejectReasonId?: number;\r\n country?: string;\r\n regAuthTypeUS?: number;\r\n fiscal?: number;\r\n myOrg?: SearchResult;\r\n parentOrg?: SearchResult;\r\n contact?: ContactForm;\r\n registrationAuthorityId?: number;\r\n tempRegAuthorities?: string[];\r\n nonprofitAdmins?: User[];\r\n showNoAdminForm?: boolean;\r\n currentRoleError?: string;\r\n id?: number;\r\n adminForm?: AdminForm;\r\n pending?: boolean;\r\n isDraft?: boolean;\r\n assets?: NonprofitAsset[];\r\n existingAssets?: TableAsset[];\r\n static get default (): ClaimStateDataWithAssets {\r\n return {\r\n country: 'US',\r\n regAuthTypeUS: 0,\r\n fiscal: 0,\r\n parentOrg: null,\r\n myOrg: null,\r\n contact: {\r\n title: '',\r\n workEmail: '',\r\n phone: '',\r\n website: ''\r\n },\r\n registrationAuthorityId: 1,\r\n tempRegAuthorities: [\r\n 'US Nonprofit',\r\n 'Catholic Directory',\r\n 'Private Schools'\r\n ],\r\n showNoAdminForm: false,\r\n currentRoleError: null,\r\n id: null,\r\n adminForm: null,\r\n pending: false,\r\n isDraft: true\r\n };\r\n }\r\n}\r\n\r\nexport interface NewChapter {\r\n name: string;\r\n address: Address;\r\n}\r\n\r\nexport interface StagedNonprofit {\r\n stagedNonprofitId?: number;\r\n name: string;\r\n address: Address;\r\n registrationId?: string;\r\n contactPhoneNumber?: string;\r\n contactFirstName?: string;\r\n contactLastName?: string;\r\n contactEmail?: string;\r\n registrationAuthorityName?: string;\r\n mission?: string;\r\n tags?: string;\r\n displayNumber?: string;\r\n displayEmail?: string;\r\n displayUrl?: string;\r\n parentNonprofitId?: number;\r\n}\r\n\r\nexport interface AddCharityModalResponse {\r\n existingNonprofit?: SearchResult;\r\n stagedNonprofit?: StagedNonprofit;\r\n}\r\n\r\nexport interface CheckInfoPayload {\r\n paymentNumber: string;\r\n amount: number;\r\n dateCreatedStart: string;\r\n dateCreatedEnd: string;\r\n}\r\n\r\nexport interface RegistrationAuthorityInfoModel {\r\n registrationAuthorityName: string;\r\n registrationAuthorityId?: number;\r\n}\r\n\r\nexport enum FiscalType {\r\n Standalone = 0,\r\n Chapter = 1\r\n}\r\n\r\nexport enum RegAuthorityTypeForUS {\r\n NonprofitPrivateOrReligious = 0,\r\n PublicSchoolOrDistrict = 1,\r\n NativeAmericanTribe = 2\r\n}\r\n\r\nexport const REG_AUTH_TYPE_MAP_BY_ID = {\r\n 0: 'Nonprofit, Private School, or Religious Organization',\r\n 1: 'Public School or Public School District',\r\n 2: 'Native American Tribe'\r\n};\r\n\r\nexport enum ClaimStatePathId {\r\n ADMIN_EDIT_CLAIM = 'admin-edit-claim',\r\n VIEW_MY_CLAIM = 'view-my-claim',\r\n ADMIN_VIEW_CLAIM = 'admin-view-claim',\r\n NEW_ADMIN_CLAIM = 'new-claim',\r\n VIEW_REQUEST = 'view-request'\r\n}\r\n\r\nexport const DISABLED_STATES = [\r\n ClaimStatePathId.ADMIN_EDIT_CLAIM,\r\n ClaimStatePathId.VIEW_MY_CLAIM,\r\n ClaimStatePathId.ADMIN_VIEW_CLAIM\r\n];\r\n\r\n","import { SystemEmailsAPI } from '@core/typings/api/system-email.typing';\r\n\r\nexport interface CommunicationPreferences {\r\n unsubscribedEmailClassIds: number[];\r\n email: string;\r\n}\r\n\r\nexport interface CommunicationPreferencesPayload {\r\n unsubscribedEmailClassIds: number[];\r\n userEmailAddress?: string;\r\n}\r\n\r\nexport interface EmailCommGroup {\r\n group: SystemEmailsAPI.EmailClass[];\r\n}\r\n\r\nexport enum UnsubscribeEmailClassIds {\r\n system = 1,\r\n compliance = 2,\r\n disbursements = 3,\r\n usersAndAdministratorRequests = 4,\r\n bestPractices = 5,\r\n chapterManagement = 6,\r\n volunteering = 7,\r\n adHoc = 8,\r\n accountManagement = 9,\r\n vetting = 10\r\n}\r\n\r\nexport enum UserCommunicationPreference {\r\n compliance = 'Compliance',\r\n disbursementManagement = 'Disbursement Management',\r\n bestPractice = 'Best Practice',\r\n chapterManagement = 'Chapter Management',\r\n volunteering = 'Volunteering',\r\n adminManagement = 'Admin Management'\r\n}\r\n","import { Validator } from '@angular/forms';\r\nimport { TableAsset } from '@yourcause/common';\r\nimport { User } from './user.model';\r\n\r\nexport interface CustomCountryBankAttributesObject {\r\n id: number;\r\n countryCode: string;\r\n attributeOrder: number;\r\n attributeName: string;\r\n attributeRegex: string;\r\n attributeMinLength: number;\r\n attributeMaxLength: number;\r\n attributeDescription?: string;\r\n attributeDescriptionKey?: string;\r\n attributeExample: string;\r\n isRequired: boolean;\r\n}\r\n\r\nexport interface CustomBankAttributes {\r\n attributeName: string;\r\n bankCustomAttributesId: number; // when setting Info - id provided in CustomCountryBankAttributesObject\r\n id?: number; // when getting Info - if id/value exists for custom field\r\n value: string;\r\n}\r\n\r\nexport interface DisbursementInfoPayload extends DisbursementInfo {\r\n assetsToAdd: TableAsset[];\r\n bankAccountNumber: string;\r\n bankSharingOptIn?: boolean;\r\n customBankAttributes?: CustomBankAttributes[];\r\n intermediaryBankAccountNumber: string;\r\n bbgfComplianceAccepted: boolean;\r\n AssetIds: string[];\r\n}\r\n\r\nexport interface DisbursementInfo {\r\n bankAccountNumberLast2?: string;\r\n bankAddress?: string;\r\n bankName: string;\r\n bankSharingOptInSetting: boolean;\r\n bbgfComplianceIsValid: boolean;\r\n accountName: string;\r\n benefiContactName?: string;\r\n benefiEmailAddress?: string;\r\n benefiPhoneNumber?: string;\r\n benefiWebsite?: string;\r\n benefiStreetAddress?: string;\r\n benefiCountryCode?: string;\r\n benefiStateProvinceRegion?: string|number;\r\n benefiPostalCode?: string;\r\n benefiCity?: string;\r\n comment?: string;\r\n countryCode?: string;\r\n createDate: string;\r\n createdByUser: User;\r\n currencyCode?: string;\r\n customBankAttributes?: CustomBankAttributes[];\r\n giactAccountResponseCode?: number;\r\n giactCustomerResponseCode?: number;\r\n giactVerificationResponse?: number;\r\n hasIntermediaryBankInfo: boolean;\r\n id: number;\r\n inheritedFromParent: boolean;\r\n intermediaryBankAccountNumberLast2?: string;\r\n intermediarySwiftCode?: string;\r\n isCheckingAccount: boolean;\r\n isInReview: boolean;\r\n isInternational: boolean;\r\n isRejected: boolean;\r\n lastModifiedDate?: string;\r\n modifiedByUser: User;\r\n notes?: number;\r\n rejectedComment?: string;\r\n rejectedReasonId?: number;\r\n routingNumber?: string;\r\n swiftCode?: string;\r\n isCurrentRecord: boolean;\r\n}\r\n\r\nexport interface DisbursementInfoModalResponse {\r\n maximumAttemptsExceeded: boolean;\r\n}\r\n\r\nexport interface BankInfoFormFieldMap {\r\n [x: string]: [any, [Validator]]|any;\r\n}\r\n\r\nexport interface InternationBankingDetailsModel {\r\n id: number;\r\n attributeName: string;\r\n attributeValue: string;\r\n}\r\n\r\n\r\nexport interface IBANInfo {\r\n ibaNexample: string;\r\n ibaNlength: number;\r\n ibaNsupported: boolean;\r\n}\r\n\r\nexport interface DomesticDisbursementInfoFormGroup {\r\n bankName: string;\r\n routingNumber: string;\r\n accountName: string;\r\n isCheckingAccount: boolean;\r\n bankAccountNumber: string;\r\n};\r\n\r\nexport interface InternationalDisbursementInfoFormGroup {\r\n bankName: string;\r\n bankAddress: string;\r\n swiftCode: string;\r\n accountName: string;\r\n isCheckingAccount: boolean;\r\n benefiStreetAddress: string;\r\n benefiCity: string;\r\n benefiCountryCode: string;\r\n benefiStateProvinceRegion: number;\r\n benefiPostalCode: string;\r\n iBAN?: string;\r\n bankAccountNumber?: string;\r\n};\r\n\r\nexport interface IntermediaryAccountInfoGroup {\r\n hasIntermediaryBankInfo: boolean;\r\n intermediarySwiftCode: string;\r\n intermediaryBankAccountNumber: string;\r\n}\r\n\r\nexport interface InternationalDisbursementBeneficiaryInfoGroup {\r\n benefiContactName: string;\r\n benefiPhoneNumber: string;\r\n benefiEmailAddress: string;\r\n benefiWebsite: string;\r\n}\r\nexport enum YcProcessingPartnerName {\r\n CANADA_HELPS = 'CanadaHelps',\r\n GLOBAL_GIVING = 'GlobalGiving',\r\n GIVE_INDIA = 'GiveIndia',\r\n CHARITIES_TRUST = 'Charities Trust'\r\n}\r\nexport enum FISPlacholder {\r\n infoOnFile = 'Information on file',\r\n maskedNumber = '**********'\r\n}\r\n\r\nexport enum DisbursementInfoOverrideFields {\r\n IBAN = 'IBAN',\r\n}\r\n\r\n// SAVE FOR FUTURE REFERENCE - MB\r\nexport enum CustomCountryFieldRegex {\r\n // IFSC: alphaNumeric; require first 4 alpha; 5th number '0'; remaining can be alpha-numeric;\r\n // exact length 11\r\n IFSC = '/^[a-zA-Z]{4}[0][a-zA-Z0-9]{6}$/',\r\n // CLABE: numeric; exact length 18\r\n CLABE = '/^[0-9]{18}$/',\r\n // BSB: numeric; exact length 6\r\n BSB = '/^[0-9]{6}$/',\r\n // SWIFT: alphaNumeric; require first 6 alpha; remaining can be alpha-numeric;\r\n // exact length 8 OR 11\r\n SWIFT_CODE = '/^[a-zA-Z]{6}[a-zA-Z0-9]{2}([a-zA-Z0-9]{3})?$/',\r\n // Routing: numeric; exact length 9\r\n ROUTING_NUMBER = '/^[0-9]{9}$/',\r\n // Other Routing China: alphanumeric; CN + 12 digits; exact length 14\r\n OTHER_ROUTING_CHINA = '/^[C][N][0-9]{12}$/',\r\n // Other Routing Canada: numeric; exact length 9\r\n OTHER_ROUTING_CANADA = '/^[0-9]{9}$/',\r\n // Example: CNPJ: 13.339.532/0001-09\r\n CNPJ = '/[0-9]{2}\\.?[0-9]{3}\\.?[0-9]{3}\\/?[0-9]{4}\\-?[0-9]{2}/'\r\n // IBAN: alphaNumeric; require first 2 chars to match countryCode;\r\n // exact length varies by country\r\n // IBAN = '^[${countryCode}]{2}([0-9a-zA-Z]{${ibanLength-2}})'\r\n}\r\n","import { Address, BaseAPIModel } from '@yourcause/common';\r\nimport { VerificationStatus, VerificationStatusReasonInfo } from '@core/models/status.model';\r\n\r\nexport class DonationModel extends BaseAPIModel {\r\n id: number;\r\n fundingSourceId: number;\r\n verificationStatusId: number;\r\n verificationStatusReasonId: number;\r\n externalDonorKey: string;\r\n externalDonorInfo: DonorInfo;\r\n fundingSourceInfo: FundingSourceInfo;\r\n verificationStatusInfo: VerificationStatus;\r\n verificationStatusReasonInfo: VerificationStatusReasonInfo;\r\n date: string;\r\n amount: number;\r\n companyId: number;\r\n nonprofitId: number;\r\n externalKey: string;\r\n externalReceivedDate: string;\r\n projectedMatchAmount: number;\r\n designation: string;\r\n currency: string;\r\n taxDeductibleAmount: number;\r\n notes: string;\r\n verifiedByUser: {\r\n id: number;\r\n lastName: string;\r\n firstName: string;\r\n email: string;\r\n };\r\n verificationDate: string;\r\n\r\n get changedBy () {\r\n return this.verifiedByUser.firstName + this.verifiedByUser.lastName;\r\n }\r\n}\r\n\r\nexport interface DonorInfo {\r\n id: number;\r\n externalSystemTypeId?: number;\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n fullName: string;\r\n isIndividualDonor?: boolean;\r\n primaryAddress?: string;\r\n secondaryAddress?: string;\r\n companyName?: string;\r\n}\r\n\r\nexport interface FundingSourceInfo {\r\n id: number;\r\n description: string;\r\n}\r\n\r\nexport interface UpdateDonationModalReturn {\r\n taxDeductibleAmount: number;\r\n verificationStatusReasonId: number;\r\n notes: string;\r\n}\r\n\r\nexport interface UpdateDonationStatusPayload {\r\n id: number;\r\n taxDeductibleAmount: number;\r\n verificationStatusId: number;\r\n verificationStatusReasonId: any;\r\n notes: string;\r\n}\r\n\r\nexport interface ExternalDonorInfo {\r\n id: number;\r\n isIndividualDonor: boolean;\r\n fullName: string;\r\n companyName: string;\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n externalSystemTypeId: number;\r\n primaryAddress?: Address;\r\n secondaryAddress?: Address;\r\n}\r\n\r\nexport interface Transaction {\r\n id: number;\r\n donationDate: string;\r\n donationAmount: number;\r\n receiptAmount: number;\r\n externalDonorInfo: ExternalDonorInfo;\r\n matchedExternalDonorInfo: ExternalDonorInfo;\r\n donationTypeId: number;\r\n donationTypeName: string;\r\n company: string;\r\n designation: string;\r\n notes: string;\r\n companyId: number;\r\n currency: string;\r\n isDisbursed: boolean;\r\n externalKey: string;\r\n externalSystemTypeId: number;\r\n nonprofitId: number;\r\n nonprofitName: string;\r\n donorName: string;\r\n anonymous: boolean;\r\n dedicateGift: boolean;\r\n dedicationType: number;\r\n dedicationText: string;\r\n paymentId: number;\r\n paymentNumber: string;\r\n paymentCreateDate: string;\r\n paymentStatusDate: string;\r\n paymentStatus: string;\r\n paymentType: string;\r\n previousPayments: PreviousPaymentForTransaction[];\r\n disbursementStatus: string;\r\n fees: TransactionFees;\r\n disbursementCurrencyCode: string;\r\n disbursementDonationAmount: number;\r\n disbursementNetAmount: number;\r\n disbursementFees: TransactionFees;\r\n}\r\n\r\nexport interface PreviousPaymentForTransaction {\r\n paymentId: number;\r\n paymentNumber: string;\r\n paymentCreateDate: string;\r\n paymentStatusDate: string;\r\n paymentStatus: string;\r\n paymentType: string;\r\n}\r\n\r\nexport interface TransactionFees {\r\n totalFees: TransactionFeeModel;\r\n processorFees: TransactionFeeModel;\r\n charitySupportFees: TransactionFeeModel;\r\n}\r\n\r\nexport interface TransactionFeeModel {\r\n amount: number;\r\n coveredAmount: number;\r\n partiallyCovered: boolean;\r\n fullyCovered: boolean;\r\n}\r\n\r\nexport const DEDICATION_MAP = {\r\n 1: 'In honor of',\r\n 2: 'In memory of'\r\n};\r\n\r\nexport enum TransactionStatus {\r\n Disbursed = 'Disbursed',\r\n Pending = 'Pending',\r\n Refunded = 'Refunded'\r\n}\r\n\r\nexport enum DonationVerificationStatus {\r\n NOT_REVIEWED = 'Not Reviewed',\r\n VERIFIED = 'Verified',\r\n REJECTED = 'Rejected',\r\n EXPIRED = 'Expired'\r\n}\r\n\r\nexport enum EXTERNAL_SYSTEMS {\r\n GDG = 1,\r\n CSRConnect = 2,\r\n GrantsConnect = 3\r\n}\r\n\r\nexport const EXTERNAL_SYSTEM_MAP_BY_ID = {\r\n 1: 'GDG',\r\n 2: 'CSRconnect',\r\n 3: 'GrantsConnect'\r\n};\r\n\r\n","import { PaginationOptions } from '@yourcause/common';\r\nimport { DonationModel, Transaction } from './donation.model';\r\nimport { TableDataDownloadFormat } from '@yourcause/common/files';\r\n\r\nexport interface PendingDisbursementSummary {\r\n amountPending: number;\r\n transactionsPending: number;\r\n}\r\n\r\nexport interface MatchRequestSummary {\r\n records: DonationModel[];\r\n recordCount: number;\r\n}\r\n\r\nexport interface MultiplePaymentsPayload {\r\n paymentIds: number[];\r\n exportReportType?: TableDataDownloadFormat;\r\n}\r\n\r\nexport interface AllTransactionsPayload {\r\n paginationOptions: PaginationOptions;\r\n}\r\n\r\nexport const PAYMENT_TYPES_MAP = {\r\n Check: 1,\r\n Wire: 2,\r\n ACH: 3,\r\n Other: 4\r\n};\r\n\r\nexport enum PaymentTypes {\r\n CHECK = 1,\r\n WIRE = 2,\r\n ACH = 3,\r\n OTHER = 4\r\n}\r\n\r\nexport enum DonationType {\r\n Individual = 'Individual',\r\n EmployerMatch = 'Employer Match'\r\n}\r\n","import { AssetType, BaseAPIModel } from '@yourcause/common';\r\nimport { User } from './user.model';\r\nimport { YcFile } from '@yourcause/common/files';\r\n\r\nexport class NonprofitAsset extends BaseAPIModel {\r\n static assetTypes: AssetType[] = [];\r\n assetId: string;\r\n assetType?: AssetType;\r\n fileName: string;\r\n fileUrl: string;\r\n isPublic: boolean;\r\n isRegistrationAsset: boolean;\r\n uploadedBy: User;\r\n approvedBy: User;\r\n uploadDate: string;\r\n approvedDate: string;\r\n assetTypeId: number;\r\n npoAdminCanRemove: boolean;\r\n comment: string;\r\n file?: YcFile;\r\n\r\n get uploader () {\r\n return this.uploadedBy.firstName + this.uploadedBy.lastName;\r\n }\r\n\r\n get assetTypeName () {\r\n return NonprofitAsset.assetTypes\r\n .find((type) => {\r\n return type.assetTypeId === this.assetTypeId;\r\n }).name;\r\n }\r\n}\r\n","export interface NonprofitIRSCodes {\r\n nonprofitCodes: NonprofitIRSCodeInfo[];\r\n}\r\n\r\nexport interface NonprofitIRSCodeInfo {\r\n code: string;\r\n description: string;\r\n bBGFEligible: string;\r\n}\r\n\r\nexport enum CodeType {\r\n Pub78Designation = 'Pub78Designation',\r\n BMFFoundation = 'BMFFoundation',\r\n BMFSubsection = 'BMFSubsection'\r\n}\r\n","import { Address, Addresses, AddressPayload, ClassificationInfo, NonprofitSDG, RegistrationAuthority, RemittanceInfoModel, SearchFilter, SearchResult, SearchResultObj, StandardAddressNppModel } from '@yourcause/common';\r\nimport { ChapterRequestSummaryData, NewChapterRequestDisplayModel } from './chapter-request.model';\r\nimport { NonprofitAdminRequestDisplayModel } from './claim.model';\r\nimport { NonprofitStoryDisplayModel } from './nonprofit-stories.model';\r\nimport { EligibilityStatus, Statuses } from './status.model';\r\nimport { User } from './user.model';\r\nimport { RoleInfo } from './users.model';\r\n\r\nexport interface BasicNonprofit {\r\n id: number;\r\n registrationAuthorityId: number;\r\n registrationId: string;\r\n name: string;\r\n address: Address;\r\n nonprofitIconImageUrl: string;\r\n createDate: string;\r\n parentNonprofitId: number;\r\n parentName?: string;\r\n parentRegistrationId?: string;\r\n isChapterAffiliate: boolean;\r\n classificationInfo: ClassificationInfo;\r\n displayAddress: Address;\r\n isActive?: boolean;\r\n deactivationReasonId?: number;\r\n disbursementSuspended?: boolean;\r\n remittanceInfo?: RemittanceInfoModel;\r\n eligibleForGivingStatusId?: number;\r\n isParent?: boolean;\r\n hasAchInfo?: boolean;\r\n createdByUser?: User;\r\n processesOwnFunds?: boolean;\r\n subsectionCode?: number;\r\n}\r\n\r\nexport interface NonprofitAPI {\r\n id?: number;\r\n ycCharityId?: number;\r\n registrationId?: string;\r\n name?: string;\r\n nonprofitTypeId?: number;\r\n isManualAdd?: boolean;\r\n isChapterAffiliate?: boolean;\r\n isPublished?: boolean;\r\n NTEECode?: string;\r\n nonprofitIconImageUrl?: string;\r\n nonprofitLogoImageUrl?: string;\r\n nonprofitHeaderImageUrl?: string;\r\n interfaceificationId?: number;\r\n interfaceification?: string;\r\n organizationType?: string;\r\n subsection?: string;\r\n rulingDate?: string;\r\n isOFACFlagged?: boolean;\r\n foundationType?: string;\r\n displayName?: string;\r\n displayPitch?: string;\r\n displayNumber?: string;\r\n displayEmail?: string;\r\n displayUrl?: string;\r\n tags?: string[];\r\n organizationHead?: string;\r\n organizationHeadEmail?: string;\r\n processesOwnFunds?: boolean;\r\n SDGClassifications?: string[];\r\n isClaimed?: boolean;\r\n supportsSDGGive?: boolean;\r\n supportsSDGVolunteer?: boolean;\r\n classificationInfo: ClassificationInfo;\r\n address?: Address;\r\n displayAddress?: AddressPayload;\r\n irsAddress?: Address;\r\n sdGs?: NonprofitSDG[];\r\n remittanceInfo?: RemittanceInfoModel;\r\n registrationAuthorityId?: number;\r\n registrationAuthority?: RegistrationAuthority;\r\n subsectionCode?: string;\r\n parentNonprofit?: ParentNonprofit;\r\n parentRegistrationId?: string;\r\n disbursementInfoLastModifiedDate?: string;\r\n notesCount?: number;\r\n disbursementSuspended?: boolean;\r\n nonprofitStoryModel?: NonprofitStoryDisplayModel[];\r\n eligibleForGivingStatusId?: number;\r\n vettingExpiringSoon?: boolean;\r\n isActive: boolean;\r\n ofacCheck?: string; // date\r\n}\r\n\r\nexport interface ParentNonprofit {\r\n id: number;\r\n registrationId: string;\r\n name: string;\r\n registrationAuthorityId: number;\r\n address: Address;\r\n isManualAdd: boolean;\r\n isChapterAffiliate: boolean;\r\n isPublished: boolean;\r\n classificationInfo: ClassificationInfo;\r\n foundationType: string;\r\n displayName: string;\r\n displayPitch: string;\r\n displayNumber: string;\r\n displayEmail: string;\r\n displayAddress: Address;\r\n irsAddress: Address;\r\n remittanceInfo: RemittanceInfoModel;\r\n displayUrl: string;\r\n tags: string;\r\n nonprofitIconImageUrl: string;\r\n nonprofitLogoImageUrl: string;\r\n nonprofitHeaderImageUrl: string;\r\n registrationAuthority: RegistrationAuthority;\r\n isProcessingOwnFunds: boolean;\r\n isClaimed: boolean;\r\n supportsSDGGive: boolean;\r\n supportsSDGVolunteer: boolean;\r\n sdGs: NonprofitSDG[];\r\n ofacCheck: string;\r\n subsectionCode: string;\r\n ycCharityID?: number;\r\n nonprofitGuid?: string;\r\n subsectionCodeDesc?: string;\r\n foundationCodeDesc?: string;\r\n donateWellTaxDeductibleStatusCode?: string;\r\n donateWellTaxDeductibleStatusChangedDate?: string;\r\n isActive: boolean;\r\n disbursementSuspended?: boolean;\r\n}\r\n\r\nexport interface Nonprofit extends NonprofitAPI {\r\n addresses?: Addresses;\r\n}\r\n\r\nexport interface DisplayPayload {\r\n name?: string;\r\n url?: string;\r\n pitch?: string;\r\n email?: string;\r\n number?: string;\r\n address?: AddressPayload;\r\n tags?: (string|{value: string})[];\r\n id?: number;\r\n adaptedTagsForForm?: string[];\r\n}\r\n\r\nexport interface RemittancePayload {\r\n name?: string;\r\n address?: AddressPayload;\r\n requestId?: number;\r\n}\r\n\r\nexport interface LogoPayload {\r\n image: Blob;\r\n type: string;\r\n}\r\n\r\nexport interface NonprofitLogoAPIResponse {\r\n data: {\r\n id: number;\r\n resourceId: string;\r\n version: string;\r\n format: string;\r\n url: string;\r\n imageType: string;\r\n };\r\n}\r\n\r\nexport interface CreateNonprofitApi {\r\n nonprofitId?: number;\r\n registrationAuthorityId?: number;\r\n registrationId: string;\r\n name: string;\r\n address: AddressPayload;\r\n classificationId: number;\r\n isChapterAffiliate: boolean;\r\n isManualAdd: boolean;\r\n isPublished: boolean;\r\n isRegistered: boolean;\r\n isProcessingOwnFunds: boolean;\r\n subsectionCode: string;\r\n category?: number;\r\n group?: number;\r\n}\r\n\r\nexport interface ManuallyAddedNonprofit {\r\n affiliations: number[];\r\n classificationInfo: ClassificationInfo;\r\n id: number;\r\n registrationAuthorityId: string;\r\n registrationId: string;\r\n name: string;\r\n address: Address;\r\n displayAddress: Address;\r\n nonprofitIconImageUrl: string;\r\n nonprofitLogoImageUrl: string;\r\n subsectionCode: string;\r\n createDate: string;\r\n createdByUser?: User;\r\n hasAchInfo?: boolean;\r\n remittanceInfo?: RemittanceInfoModel;\r\n processesOwnFunds?: boolean;\r\n isActive?: boolean;\r\n}\r\n\r\nexport interface ChapterNonprofit {\r\n classificationInfo: ClassificationInfo;\r\n id: number;\r\n registrationAuthority: RegistrationAuthority;\r\n registrationId: string;\r\n name: string;\r\n address: Address;\r\n displayAddress: Address;\r\n nonprofitIconImageUrl: string;\r\n nonprofitLogoImageUrl: string;\r\n subsectionCode: string;\r\n createDate: string;\r\n}\r\n\r\nexport interface BasicMyNonprofit {\r\n id: number;\r\n registrationAuthorityId: number;\r\n registrationId: string;\r\n alternateRegistrationId?: string;\r\n name: string;\r\n address: Address;\r\n nonprofitIconImageUrl: string;\r\n createDate: string;\r\n parentNonprofitId?: number;\r\n parentName?: string;\r\n parentRegistrationId?: string;\r\n isChapterAffiliate?: boolean;\r\n classificationInfo?: ClassificationInfo;\r\n displayAddress?: Address;\r\n isActive?: boolean;\r\n isParent?: boolean;\r\n chapterRequests?: NewChapterRequestDisplayModel[];\r\n deactivationReasonId?: number;\r\n disbursementSuspended?: boolean;\r\n remittanceInfo?: RemittanceInfoModel;\r\n eligibleForGivingStatusId?: number;\r\n status?: Statuses;\r\n isChapterRequest?: boolean;\r\n chapterRequestSummaryData?: ChapterRequestSummaryData;\r\n chapterRequestId?: number;\r\n usersRole?: RoleInfo;\r\n adminsCount?: number\r\n}\r\n\r\nexport class MyNonprofitRow {\r\n constructor (\r\n public id: number,\r\n public registrationId: string,\r\n public name: string,\r\n public address: Address,\r\n public nonprofitIconImage: string,\r\n public createDate: string,\r\n public claimRequest: NonprofitAdminRequestDisplayModel,\r\n public chaptersInvisible: boolean,\r\n public chapters: BasicMyNonprofit[],\r\n public parentId: number,\r\n public parentName: string,\r\n public parentRegistrationId: string,\r\n public isParent?: boolean,\r\n public isChapterAffiliate?: boolean,\r\n public isActive?: boolean,\r\n public deactivationReasonId?: number,\r\n public eligibleForGivingStatusId?: number,\r\n public chapterCount?: number,\r\n public chapterRequestCount?: number,\r\n public status?: string,\r\n public role?: string,\r\n public adminsCount?: number\r\n ) {}\r\n}\r\n\r\nexport interface ChapterVisibilityMap {\r\n [rowId: number]: {\r\n chaptersVisible: boolean;\r\n };\r\n}\r\n\r\nexport interface NonprofitSetIconResponse {\r\n id: number;\r\n resourceId: string;\r\n version: string;\r\n format: string;\r\n url: string;\r\n imageType: string;\r\n}\r\n\r\nexport interface InviteAdminEmailPayload {\r\n emailInviting: string;\r\n nonprofitId: number;\r\n}\r\n\r\nexport interface UpdateNPOClassificationPayload {\r\n classificationOneId: number;\r\n classificationTwoId: number;\r\n classificationThreeId?: number;\r\n}\r\n\r\nexport interface SearchMoreDetails {\r\n eDvetted?: string[];\r\n deactivationComment?: string;\r\n deactivationReason?: string;\r\n notesCount: number;\r\n hasPub78: boolean;\r\n hasBMF: boolean;\r\n gS_vetted_non_BMF: boolean;\r\n deductibilityCode: string;\r\n deductibilityCodeDesc: string;\r\n exemptStatusCode: string;\r\n pubExemptStatusCode: string;\r\n pubExemptStatusCodeDesc: string;\r\n subSectionCode: string;\r\n foundationCode: string;\r\n foundationCodeDesc: string;\r\n activeUsers: {\r\n roleInfo: {\r\n roleName: string;\r\n roleId: number;\r\n };\r\n userInfo: {\r\n id: number;\r\n lastName: string;\r\n firstName: string;\r\n fullName: string;\r\n email: string;\r\n lastLoginDate: string;\r\n };\r\n lastLoginDate: string;\r\n jobTitle: string;\r\n }[];\r\n disbursementSuspended: boolean;\r\n disbursementSuspendedReasonId: number;\r\n disbursementSuspendedReasonComment: string;\r\n nonprofitClassification: string;\r\n activeVetting: string;\r\n activeCompliances: number;\r\n vettingExpirationDate?: string;\r\n revocationDate: string;\r\n isChapterAffiliate: boolean;\r\n hasAchInfo: boolean;\r\n remittanceInfo: RemittanceInfoModel;\r\n processingPartner: string;\r\n registrationAuthorityId: number;\r\n registrationAuthorityAttributes: RegistrationAuthorityAttribute[];\r\n}\r\n\r\nexport interface RegistrationAuthorityAttribute {\r\n i18nKey: string;\r\n i18nDefaultValue: string;\r\n value: string;\r\n}\r\n\r\n// Basic Data needed for yc-nonprofit-block-table\r\nexport interface NonprofitBlockDisplayModel {\r\n registrationAuthorityId: number;\r\n nonprofitIconImageUrl: string;\r\n id: number;\r\n registrationAuthorityName: string;\r\n registrationId: string;\r\n name: string;\r\n ycCharityId: number;\r\n address: StandardAddressNppModel;\r\n eligibleForGivingStatusId: EligibilityStatus;\r\n isActive: boolean;\r\n}\r\n\r\nexport interface NonprofitPublicProfileModel {\r\n address: StandardAddressNppModel;\r\n displayEmail?: string;\r\n displayName?: string;\r\n displayNumber?: string;\r\n displayPitch?: string;\r\n displayUrl?: string;\r\n eligibleForGivingStatusId: number;\r\n hasAdmin: boolean;\r\n id?: number;\r\n name: string;\r\n nonprofitIconImageUrl?: string;\r\n nonprofitStoryModel: NonprofitStoryDisplayModel[];\r\n ntee: string;\r\n registrationAuthorityId: number;\r\n registrationAuthorityName: string;\r\n registrationId: string;\r\n sdGs: NonprofitSDG[];\r\n subsectionCode: string;\r\n supportsSDGGive: boolean;\r\n supportsSDGVolunteer: boolean;\r\n tags: string[];\r\n justGivingDonateNowUrl: string;\r\n}\r\n\r\nexport interface FacetModel {\r\n type: string;\r\n value: string;\r\n count: number;\r\n}\r\n\r\nexport interface NonprofitSearchFacet {\r\n country: FacetModel[];\r\n registrationAuthority: FacetModel[];\r\n stateProvRegName: FacetModel[];\r\n}\r\n\r\nexport interface NonprofitSearchResponseModelUI {\r\n data: {\r\n results: {\r\n document: SearchResultObj;\r\n }[];\r\n facets: NonprofitSearchFacet;\r\n };\r\n}\r\n\r\nexport interface NonprofitSearchResponseModelAPI {\r\n results: SearchResult[];\r\n facets?: NonprofitSearchFacet;\r\n}\r\n\r\nexport interface NonprofitSearchRecordsResponse {\r\n recordCount: number;\r\n records: SearchResultObj[];\r\n}\r\n\r\nexport interface StandardGetSearchPayload {\r\n searchText?: string;\r\n pageNumber?: number;\r\n rowsPerPage?: number;\r\n searchFilters?: SearchFilter[];\r\n showAll?: boolean;\r\n}\r\n\r\nexport interface NonprofitByCheckInfo {\r\n nonprofitId: number;\r\n nonprofitName: string;\r\n address: Address;\r\n registrationId: string;\r\n}\r\n\r\nexport interface NpoForAdminSelectModel extends NonprofitByCheckInfo {\r\n nonprofitIconImageUrl: string;\r\n}\r\n\r\nexport interface NonprofitRegAuthAttributes {\r\n changeDate: string;\r\n onPub78: boolean;\r\n pub78Designation: string;\r\n onBMF: boolean;\r\n foundationCode: string;\r\n subsectionCode: string;\r\n deductibilityCode: string;\r\n irsRevocationDate: string;\r\n id: number;\r\n eligibleForGiving: number;\r\n eligibleForGivingReason: string;\r\n sortName: string;\r\n}\r\n\r\nexport interface NonprofitStatsSummaryModel {\r\n changeDate: string;\r\n changedBy: string;\r\n reason: string;\r\n comment: string;\r\n eligibleForGiving: number;\r\n eligibleForGivingReason: string;\r\n}\r\n\r\nexport interface NonprofitNameAddressModel {\r\n name: string;\r\n address1: string;\r\n address2?: string;\r\n city: string;\r\n stateProvRegCode: string;\r\n postalCode: string;\r\n countryCode: string;\r\n}\r\n\r\nexport interface GetNonprofitAdditionalInformationResponseModel {\r\n hasACH: boolean;\r\n eligibleForGiving: number;\r\n registrationAuthorityName: string;\r\n registrationAuthorityId: number;\r\n registeredNameAndAddress: NonprofitNameAddressModel;\r\n disbursementNameAndAddress: NonprofitNameAddressModel;\r\n displayNameAndAddress: NonprofitNameAddressModel;\r\n isActive: boolean;\r\n disbursementSuspended: boolean;\r\n createdDate: string;\r\n displayAddressIsRegisteredAddress: boolean;\r\n disbursementAddressIsRegisteredAddress: boolean;\r\n}\r\n\r\nexport interface NonprofitAdditionalInformationRow {\r\n attributeName: string;\r\n value: any;\r\n}\r\n\r\nexport interface CreateNonprofitApiResponse {\r\n id: number;\r\n}\r\n\r\nexport enum NonprofitAdditionalInformationAttributesText {\r\n hasACH = 'ACH',\r\n registrationAuthorityName = 'Registration authority',\r\n registeredNameAndAddress = 'Registered name and address',\r\n disbursementNameAndAddress = 'Disbursement name and address',\r\n displayNameAndAddress = 'Display name and address',\r\n eligibleForGiving = 'Eligible for giving',\r\n isActive = 'Is active',\r\n eligibleForDisbursement = 'Eligible for disbursement',\r\n createdDate = 'Date added to NPOconnect'\r\n}\r\n\r\nexport enum RegAuthAttrDefaultValue {\r\n On_IRS_BMF = 'On IRS BMF',\r\n BMF_Deductibility_code = 'BMF Deductibility code',\r\n DeductibilityCodeDesc = 'DeductibilityCodeDesc',\r\n BMF_Subsection_code = 'BMF Subsection code',\r\n BMF_Foundation_code = 'BMF Foundation code',\r\n FoundationCodeDesc = 'FoundationCodeDesc',\r\n On_IRS_Pub_78 = 'On IRS Pub 78',\r\n Pub78_Designation_code = 'Pub78 Designation code',\r\n ExemptStatusCode = 'ExemptStatusCode',\r\n PubExemptStatusCodeDesc = 'PubExemptStatusCodeDesc',\r\n IRS_Revocation_Date = 'IRS Revocation Date',\r\n Reference_Code = 'CT Reference Code',\r\n FP_ID = 'FP ID',\r\n Active_FP = 'Active on FP',\r\n TS_ID = 'TS ID',\r\n Active_TS = 'Active on TS',\r\n US_State_Revocations = 'US State Revocations'\r\n}\r\n\r\n// FOR EXTENDED SEARCH DETAILS\r\n// AS WE ADD OTHER REG AUTHS - INCLUDE THEIR IDS HERE\r\nexport const RegAuthIdsExcluded = [\r\n 82, // Haus des Stiftens\r\n 5 // UK Nonprofit\r\n];\r\n","import { PaymentTypes } from './finance.model';\r\n\r\nexport interface PaymentMap {\r\n [id: number]: PaymentDetailsApi;\r\n}\r\n\r\nexport interface PaymentDetailsApi {\r\n id: number;\r\n amount: number;\r\n checkFeeDetails: CheckFeeDetails;\r\n checkReissueRejectionReason?: string;\r\n checkReissueRejectionComment?: string;\r\n checkReissueRejectionReasonId?: number;\r\n checkReissueRequestedDate: string;\r\n checkReissueStatusDate?: string;\r\n checkReissueStatusId?: number;\r\n companies: string[];\r\n currency: string;\r\n dateCreated: string;\r\n externalKey: string;\r\n externalSystemTypeName: string;\r\n grossAmount?: number; // backend calculated value from amount + fees\r\n hasCheckReissueRequest: boolean;\r\n isAch: boolean;\r\n isEligibleForCheckReissueRequest: boolean;\r\n payeeAddress1: string;\r\n payeeAddress2: string;\r\n payeeCity: string;\r\n payeeCountryCode: string;\r\n payeeName: string;\r\n payeePostalCode: string;\r\n payeeStateProvRegCode: string;\r\n paymentNumber: number;\r\n paymentStatus: string;\r\n paymentStatusDate: string;\r\n paymentSubStatus: string;\r\n processingPartnerName?: string;\r\n reissuePaymentNumber?: number;\r\n disbursementAmount: number;\r\n disbursementGrossAmount: number;\r\n disbursementCurrencyCode: string;\r\n disbursementCheckFeeDetails: CheckFeeDetails;\r\n paymentType: {\r\n id: number;\r\n name: string;\r\n description: string;\r\n }\r\n}\r\n\r\nexport interface PaymentDetailsUi extends PaymentDetailsApi {\r\n paymentTypeId: PaymentTypes;\r\n}\r\n\r\nexport interface TransactionsPendingResponse {\r\n amountPending: T;\r\n transactionsPending: number;\r\n}\r\n\r\nexport interface NonprofitPaymentResponse {\r\n id: number;\r\n amount: number;\r\n currency: string;\r\n isAch: boolean;\r\n externalKey: string;\r\n dateCreated: string;\r\n paymentNumber: string;\r\n paymentStatus: string;\r\n paymentStatusDate: string;\r\n}\r\n\r\nexport interface CheckFeeDetails {\r\n checkFee: number;\r\n percentWithheld: number;\r\n capApplied: number;\r\n}\r\n\r\nexport enum ExternalSystemTypeName {\r\n GDG = 'GDG',\r\n CSRconnect = 'CSRconnect',\r\n GrantsConnect = 'GrantsConnect',\r\n // this is needed for filtering when we cannot use the ID.\r\n // DB stores string value 'Grantconnect'\r\n // TODO: remove when we update DB string value\r\n GrantsConnectForVettingRequestReport = 'Grantconnect'\r\n}\r\n\r\nexport enum PaymentStatus {\r\n Outstanding = 'Outstanding',\r\n Voided = 'Voided',\r\n Cleared = 'Cleared',\r\n Cancelled = 'Cancelled'\r\n}\r\n\r\nexport enum PaymentSubStatus {\r\n Reissued = 'Reissued',\r\n Refunded = 'Refunded',\r\n Returned = 'Returned',\r\n ToBeReissued = 'To be reissued',\r\n Cancelled = 'Cancelled',\r\n // for UI only\r\n AltCancelledText = 'Stale'\r\n}\r\n\r\nexport class Payment {\r\n public id: number;\r\n public amount: number;\r\n public paymentStatus: string;\r\n public dateCreated: string;\r\n public externalSystemTypeName: string;\r\n\r\n static construct (paymentAttrs: Partial) {\r\n const payment = new Payment();\r\n\r\n Object.assign(payment, paymentAttrs);\r\n\r\n return payment;\r\n }\r\n}\r\n","export interface ReasonModel {\r\n i18nKey?: string;\r\n id: number;\r\n isActive: boolean;\r\n reason: string;\r\n reasonTypeId: number;\r\n systemReason: boolean;\r\n visibleToNPO: boolean;\r\n}\r\n\r\nexport interface ReasonObjectUI {\r\n i18nKey?: string;\r\n id: number;\r\n typeId: number;\r\n value: string;\r\n}\r\n\r\nexport enum ReasonType {\r\n DisbursementSuspended = 1,\r\n ACHInfoRejection = 2,\r\n NonprofitDeactivation = 3,\r\n CheckReissue = 4,\r\n CheckReissueRejection = 5,\r\n VettingRequestRejection = 6,\r\n IneligibleForGiving = 7,\r\n EligibleForGiving = 8,\r\n ScreeningFalsePositive = 9,\r\n ScreeningTrueMatch = 10,\r\n DeclineChapterRequest = 11,\r\n CancelChapterRequest = 12,\r\n ProspectiveAdminOutreach = 14,\r\n ProspectiveAdminOptOut = 15,\r\n ProspectiveNonprofitAdminCancellation = 16,\r\n NonprofitAdminRequestRejection = 17,\r\n NonprofitAdminRequestManagerApproval = 18\r\n}\r\n\r\nexport enum ReasonOther {\r\n AchRejectionOther = 14,\r\n DeclineChapterRequestOther = 71,\r\n SuspendDisbursementOther = 8,\r\n IneligibleForGivingOther = 46,\r\n EligibleForGivingOther = 47,\r\n DeactivateNonprofitOther = 17,\r\n VettingRequestRejectionOther = 39,\r\n DonationRejectOther = 5,\r\n VolHoursRejectOther = 8,\r\n AdminRequestRejectionOther = 110,\r\n AdminRequestApprovalOther = 114,\r\n}\r\n","export interface ReleaseNoteAcknowledgement {\r\n releaseRequiresAcknowledgement?: boolean;\r\n releaseId?: string;\r\n version: string;\r\n releaseDate: string;\r\n startDate: string;\r\n endDate: string;\r\n description: string;\r\n releaseNoteUrl?: string;\r\n}\r\n\r\nexport interface ManageReleaseNotePayload extends ReleaseNoteAcknowledgement {\r\n userReleaseNoteUrl: string | null;\r\n adminReleaseNoteUrl: string | null;\r\n id?: number;\r\n}\r\n\r\nexport interface ManageReleaseNotesModalResponse {\r\n manageReleaseNotesPayload: ManageReleaseNotePayload;\r\n}\r\n\r\nexport interface ReleaseNotePayload {\r\n startDate: string;\r\n endDate: string;\r\n releaseDate: string;\r\n version: string;\r\n description: string;\r\n userReleaseNoteUrl: string;\r\n adminReleaseNoteUrl: string;\r\n id?: number;\r\n}\r\n\r\nexport interface ReleaseNoteForUser extends ReleaseNotePayload {\r\n releaseNoteUrl: string;\r\n}\r\n\r\nexport enum ReleaseNotesModalScenario {\r\n ADD,\r\n EDIT\r\n}\r\n\r\nexport interface UpdateReleaseNotePayload extends ReleaseNote {\r\n id: number;\r\n}\r\n\r\nexport interface ReleaseNote {\r\n startDate: string;\r\n endDate: string;\r\n releaseDate: string;\r\n version: string;\r\n description: string;\r\n userReleaseNoteUrl: string;\r\n adminReleaseNoteUrl: string;\r\n id: number;\r\n}\r\n","import { Address, ClassificationInfo, PaginationOptions, RemittanceInfoModel, StandardAddressNppModel } from '@yourcause/common';\r\nimport { Transaction } from './donation.model';\r\nimport { NonprofitBlockDisplayModel } from './npo.model';\r\nimport { User } from './user.model';\r\nimport { VettingTypeName } from '@core/typings/vetting-application.typing';\r\n\r\nexport interface CharityAdminDetailDownloadInfo {\r\n url: string;\r\n fileName: string;\r\n}\r\n\r\n/**\r\n * RA/VA Import History\r\n */\r\nexport interface ImportHistoryModel {\r\n dataImportTypeId: number;\r\n name: string;\r\n dataImportTypeName: string;\r\n processScheduleType: string;\r\n lastProcessedDate: string;\r\n}\r\n\r\n/**\r\n * RA/VA Import History Summary\r\n */\r\nexport interface ImportSummaryModel {\r\n importBatchId: number;\r\n importDate: string;\r\n numberNposAdded: number;\r\n numberNposRemoved: number;\r\n totalActiveNpos: number;\r\n numberNposVetted: number;\r\n numberNposUnvetted: number;\r\n}\r\n\r\nexport interface ComplianceRecord {\r\n nonprofitId: number;\r\n registrationAuthority: string;\r\n regId: string;\r\n ycCharityId: number;\r\n charityName: string;\r\n ach: boolean;\r\n federalUSCompliance: string; // PART I\r\n federalUSComplianceStatusDate?: string;\r\n federalUSComplianceExpirationDate?: string;\r\n federalUSComplianceInherited?: boolean;\r\n nonDiscriminationCompliance: string; // PART II\r\n nonDiscriminationComplianceStatusDate?: string;\r\n nonDiscriminationComplianceExpirationDate?: string;\r\n nonDiscriminationComplianceInherited?: boolean;\r\n nonReligiousCompliance: string; // PART III\r\n nonReligiousComplianceStatusDate?: string;\r\n nonReligiousComplianceExpirationDate?: string;\r\n nonReligiousComplianceInherited?: boolean;\r\n antiCorruptionAndBriberyCompliance: string; // PART IV\r\n antiCorruptionAndBriberyComplianceStatusDate?: string;\r\n antiCorruptionAndBriberyComplianceExpirationDate?: string;\r\n antiCorruptionAndBriberyComplianceInherited?: boolean;\r\n bbgfGrantTermsCompliance?: string; // PART V\r\n bbgfGrantTermsComplianceStatusDate?: string;\r\n bbgfGrantTermsComplianceExpirationDate?: string;\r\n bbgfGrantTermsComplianceInherited?: boolean;\r\n fraternal: boolean;\r\n political: boolean;\r\n religious: boolean;\r\n sectarian: boolean;\r\n service: boolean;\r\n veterans: boolean;\r\n noneOfTheAbove: boolean;\r\n companyCompliance: string;\r\n companyComplianceStatusDate?: string;\r\n companyComplianceExpirationDate?: string;\r\n companyComplianceInherited?: boolean;\r\n mostEngagedAdminEmail: string;\r\n}\r\n\r\nexport interface JobsReportModel {\r\n jobId: number;\r\n jobName: string;\r\n jobDesc: string;\r\n interval: number;\r\n frequency: string;\r\n dayOfWeek: string;\r\n avgRunMinutes: string;\r\n lastExecutedDate: string;\r\n success: boolean;\r\n}\r\n\r\nexport interface CustomComplianceCompany {\r\n name: string;\r\n complianceId?: number;\r\n companyId: number;\r\n}\r\n\r\nexport interface NpoForChapterReport {\r\n createDate: string;\r\n createdByUserEmail: string;\r\n processesOwnFunds: boolean;\r\n isActive: boolean;\r\n hasAchInfo: boolean;\r\n remittanceInfo: RemittanceInfoModel;\r\n registrationAuthorityId: number;\r\n nonprofitIconImageUrl: string;\r\n id: number;\r\n registrationAuthorityName: string;\r\n registrationId: string;\r\n name: string;\r\n ycCharityId: number;\r\n address: StandardAddressNppModel;\r\n}\r\n\r\nexport interface ChapterReportModel extends NpoForChapterReport {\r\n parentNonprofit: NpoForChapterReport;\r\n}\r\n\r\nexport interface ChapterReportModelForDownload {\r\n chapterName: string;\r\n chapterRegistrationAuthority: string;\r\n chapterRegistrationId: string;\r\n chapterYCCharityId: string;\r\n chapterDisplayAddress: StandardAddressNppModel;\r\n chapterCreateDate: string;\r\n chapterCreatedBy: User;\r\n chapterEligibleForGiving: string;\r\n chapterIsActive: boolean;\r\n parentName: string;\r\n parentRegistrationAuthority: string;\r\n parentRegistrationId: string;\r\n parentYCCharityId: string;\r\n parentRegisteredAddress: StandardAddressNppModel;\r\n parentDisplayAddress: StandardAddressNppModel;\r\n parentCreateDate: string;\r\n parentCreatedBy: User;\r\n parentHasACH: boolean;\r\n parentRemittanceInfo: RemittanceInfoModel;\r\n parentEligibleForGiving: string;\r\n}\r\n\r\n\r\nexport interface NonprofitClassificationInfo extends ClassificationInfo {\r\n classificationName?: string;\r\n}\r\n\r\nexport interface OutstandingPaymentModel {\r\n charityName: string;\r\n charityID: number;\r\n nonprofitId: number;\r\n einNumber: string;\r\n isNPOActive: boolean;\r\n hasAch: boolean;\r\n achRegistrationDate: string;\r\n npoAdminMemberID: number;\r\n npoAdminFirstName: string;\r\n npoAdminLastName: string;\r\n npoAdminEmail: string;\r\n hasActiveAdmin: boolean;\r\n address: StandardAddressReportingDownloadModel;\r\n remittanceInfo: RemittanceInfoModel;\r\n nonprofitIconImageUrl: string;\r\n clientName: string;\r\n paymentId: number;\r\n checkNumber: number;\r\n checkAmount: number;\r\n checkCreatedDate: string;\r\n checkPaymentStatus: string;\r\n checkStatusDate: string;\r\n reissueRequest: boolean;\r\n charityAdminLastLoginDate: string;\r\n dateLastCashed: string;\r\n}\r\n\r\nexport interface TransactionDetail extends Transaction {\r\n // fields not available from CSR yet\r\n payrollPledgeId?: number;\r\n originalDonationId?: number;\r\n isEmpActive?: boolean;\r\n}\r\n\r\nexport interface InactiveNpoWithPendingDisbursementModel {\r\n name: string;\r\n nonprofitId: number;\r\n address?: Address;\r\n registrationId: string;\r\n nonprofitIconImageUrl: string;\r\n ycCharityId: number;\r\n registrationAuthorityId: number;\r\n registrationAuthorityName?: string;\r\n totalNumberOfDonations: number;\r\n totalAmountPending: number;\r\n}\r\n\r\nexport interface MergedNonprofitsReportModel {\r\n masterNonprofitId: number;\r\n masterNonprofitYcCharityId: string;\r\n masterNonprofit: NonprofitBlockDisplayModel;\r\n mergedNonprofitId: number;\r\n mergedNonprofitYcCharityId: string;\r\n mergedNonprofit: NonprofitBlockDisplayModel;\r\n mergedByUserId: number;\r\n mergedByUserName: string;\r\n reasonForMerge: string;\r\n dateMerged: string;\r\n}\r\n\r\nexport interface StandardAddressReportingDownloadModel {\r\n address1: string;\r\n address2: string;\r\n city: string;\r\n stateProvRegCode: string;\r\n countryCode: string;\r\n postalCode: string;\r\n}\r\n\r\nexport interface NpoOnExclusionList {\r\n npoRegAuthorityId: number;\r\n npoRegAuthorityName: string;\r\n npoRegistrationId: string;\r\n name: string;\r\n dateAdded: string;\r\n reason: string;\r\n reasonId: number;\r\n comments: string;\r\n ycCharityId: number;\r\n}\r\n\r\nexport interface NpoWithDisbursementSuspended {\r\n nonprofit: NonprofitBlockDisplayModel;\r\n flagUpdatedDate: string;\r\n reasonId: number;\r\n reason: string;\r\n comment?: string;\r\n nonprofitAdmin?: User;\r\n disbursementAmountOutstanding?: number;\r\n eligibleForGivingStatus: string;\r\n}\r\n\r\nexport interface NpoWithDisbursementSuspendedDownload {\r\n nonprofit: NonprofitBlockDisplayModel;\r\n flagUpdatedDate: string;\r\n reasonId: number;\r\n reason: string;\r\n comment?: string;\r\n disbursementAmountOutstanding?: number;\r\n eligibleForGivingStatus: string;\r\n activeAdminEmail: string;\r\n activeAdminFirstName: string;\r\n activeAdminLastName: string;\r\n}\r\n\r\nexport interface ActiveNonprofitsByEFG {\r\n registrationAuthorityName?: string;\r\n countryName?: string;\r\n processingPartner?: string;\r\n totalActive: number;\r\n totalEligibleForGiving: number;\r\n totalNeedsVetting: number;\r\n totalNotEligibleForGiving: number;\r\n}\r\n\r\nexport enum ComplianceReportTypeStatus {\r\n Approved = 'Approved',\r\n Expired = 'Expired',\r\n Declined = 'Declined',\r\n NotResponded = 'Not Responded',\r\n NA = 'N/A'\r\n}\r\n\r\nexport interface ComplianceAndAffirmationCSV {\r\n companyName: string;\r\n text: string;\r\n}\r\n\r\nexport interface EmailLogReportModel {\r\n id: number;\r\n emailSentOn: string;\r\n toEmail: string;\r\n fromEmail: string;\r\n subject: string;\r\n toName: string;\r\n success: boolean;\r\n nonprofitName: string;\r\n nonprofitId: number;\r\n deliveryStatus: string;\r\n deliveryStatusType: string;\r\n deliveryStatusSubType: string;\r\n deliveryStatusDate: string;\r\n}\r\n\r\nexport interface VettingRequestForReportingModel {\r\n vettingRequestId: number; // not used in download endpoint\r\n ycVettingRequestId: number;\r\n externalSystemTypeId?: number; // not used in download endpoint\r\n externalSystemType: string; // not used in download endpoint\r\n nonprofit: NonprofitBlockDisplayModel;\r\n client: string;\r\n affiliateEmployeeId: number;\r\n affiliateEmployeeFirstName: string;\r\n affiliateEmployeeLastName: string;\r\n affiliateEmployeeEmail: string;\r\n nonprofitContactName: string;\r\n nonprofitContactEmail: string;\r\n nonprofitContactWebsite: string;\r\n requestDateSubmitted: string;\r\n requestStatus: string;\r\n requestStatusChangeDate: string;\r\n requestStatusChangedBy: User;\r\n requestStatusReason: string;\r\n requestStatusComment: string;\r\n applicationSubmittedDate: string;\r\n requestStatusId?: number; // not used in download endpoint\r\n requestStatusReasonId?: number; // not used in download endpoint\r\n vettingExpirationDate: string;\r\n vettingInvitationsSent: number; // Number of invitations to start vetting application sent out of 3 total table nonprofitvettingrequest - Additional Info popup\r\n lastVettingInvitationSentOn: string; // - date - nonprofitvettingrequest - Additional Info popup\r\n applicationId: number; // - int - Additional Info popup\r\n applicationCreateDate: string; //- date - Additional Info popup\r\n applicationCreatedBy: User; // - user model - Additional Info popup\r\n applicationStatusId: number; // - int - do not show and exclude from download\r\n applicationStatusReason: string; // (name) - Additional Info popup\r\n applicationStatusReasonId: number; // - int - do not show and exclude from download\r\n applicationStatusChangeDate: string; // - date -surface on table\r\n applicationStatusChangedBy: User;\r\n applicationStatusComment: string; // - string - Additional Info popup\r\n gcWorkflowName: string; // - This is from NonprofitVettingApplication - Additional Info popup\r\n daysInGCWorkflowLevel: string; // - This is from NonprofitVettingApplication - Additional Info popup\r\n reminderEmailsSentCount: number; // - int - This is from NonprofitVettingApplication - Additional Info popup\r\n applicationStatus: string; // (name) - surface on table\r\n gcApplicationId: number;\r\n numberOfRelatedVettingRequests: number;\r\n}\r\n\r\nexport interface BankCustomAttributesReportReturnModel {\r\n country: string;\r\n attributeOrder: number;\r\n attributeName: string;\r\n min: number;\r\n max: number;\r\n attributeDescription: string;\r\n attributeExample: string;\r\n isRequired: boolean;\r\n createDate: string;\r\n}\r\n\r\nexport interface BbiNonprofitSubsectorReportModel {\r\n nonprofitBlockDisplay: NonprofitBlockDisplayModel;\r\n nteeCode: string;\r\n nteeName: string;\r\n bbiSubsectorCode: string;\r\n bbiSubsectorName: string;\r\n sumOfDisbursedPayments: number;\r\n}\r\n\r\nexport interface FailedPaymentReturnedChecksReportDisplayReturnModel {\r\n bankingDetailsLastUpdated: string;\r\n clientName: string;\r\n disbursementAddressLastUpdated: string;\r\n failedPaymentDate: string;\r\n failedPaymentNumber: string;\r\n isEligibleForDisbursement: boolean;\r\n nonprofit: NonprofitBlockDisplayModel;\r\n totalOutstandingPaymentAmount: number;\r\n}\r\n\r\nexport interface BbiSubsectorFromApi {\r\n bbiSubsectorCode: string;\r\n bbiSubsectorName: string;\r\n}\r\n\r\nexport interface RevokedNonprofitsSubdivisionsDto {\r\n revokedNonprofitsSubdivisions: string[];\r\n}\r\n\r\nexport interface BbiNonprofitSubsectorReportPayload {\r\n earliestPaymentDate: string;\r\n latestPaymentDate: string;\r\n paginationOptions: PaginationOptions;\r\n}\r\n\r\nexport interface NonprofitClassificationHierarchyRequestModel {\r\n registrationAuthority: string;\r\n countryNonprofitClassificationId: string;\r\n countryNonprofitClassificationDescription: string;\r\n mappedToNTEECode: string;\r\n mappedToNTEEDescription: string;\r\n}\r\n\r\nexport interface YcCharityIdRecord {\r\n ycCharityId: number;\r\n}\r\n\r\nexport interface VettingApplicationsSubmittedOrCompletedReportDisplayModel {\r\n applicationId: number;\r\n gcVettingApplicationId: number;\r\n applicationCreateDate: string;\r\n applicationSubmittedDate: string;\r\n applicationSubmittedById: number;\r\n applicationSubmittedByFirstName: string;\r\n applicationSubmittedByLastName: string;\r\n applicationSubmittedByEmail: string;\r\n applicationSubmittedByFullName: string;\r\n applicationSubmittedByLastLoginDate: string;\r\n applicationWFL: string;\r\n numberOfDaysInWorkflow: number;\r\n numberOfRelatedVettingRequests: number;\r\n vettingExpirationDate: string;\r\n renewal: boolean;\r\n statusId: number;\r\n statusChangeDate: string;\r\n statusChangedById: number;\r\n statusChangedByFirstName: string;\r\n statusChangedByLastName: string;\r\n statusChangedByEmail: string;\r\n statusChangedByFullName: string;\r\n statusChangedByLastLoginDate: string;\r\n statusReasonId: number;\r\n statusReason: string;\r\n statusComment: string;\r\n vettingType: VettingTypeName;\r\n nonprofitRegistrationAuthorityId: number;\r\n nonprofitIconImageUrl: string;\r\n nonprofitEligibleForGivingStatusId: number;\r\n nonprofitIsActive: boolean;\r\n nonprofitAddress1: string;\r\n nonprofitCity: string;\r\n nonprofitStateProvRegCode: string;\r\n nonprofitStateProvRegId: number;\r\n nonprofitPostalCode: string;\r\n nonprofitCountryCode: string;\r\n nonprofitId: number;\r\n nonprofitRegistrationAuthorityName: string;\r\n nonprofitRegistrationId: string;\r\n nonprofitName: string;\r\n}\r\n\r\nexport interface ReportsAndReportTypesRequestModel {\r\n id: number;\r\n name: string;\r\n nameKey: string;\r\n description: string;\r\n descriptionKey: string;\r\n downloadOnly: boolean;\r\n url: string;\r\n reportType: ReportType;\r\n}\r\n\r\nexport interface ReportType {\r\n id: number;\r\n name: string;\r\n nameKey: string;\r\n description: string;\r\n descriptionKey: string;\r\n}\r\n\r\nexport interface ActiveNpoByEFGLinkPayload {\r\n registrationAuthorityName: string;\r\n countryName: string;\r\n processingPartner?: string;\r\n efgTotalType: ActiveNpoByEFGTotalType;\r\n}\r\n\r\nexport interface ApplicationDataForMoreInfoModal {\r\n applicationId: number;\r\n gcVettingApplicationId: number;\r\n applicationCreateDate: string;\r\n applicationSubmittedDate: string;\r\n applicationSubmittedByFullName: string;\r\n applicationSubmittedByEmail: string;\r\n applicationSubmittedByLastLoginDate: string;\r\n applicationWFL: string;\r\n gCWorkflowName: string;\r\n numberOfDaysInWorkflow: number;\r\n daysInGCWorkflowLevel: string;\r\n numberOfRelatedVettingRequests: number;\r\n reminderEmailsSentCount: number;\r\n applicationStatusChangeDate: string;\r\n applicationStatusChangedBy: User;\r\n statusReason: string;\r\n statusComment: string;\r\n renewal: boolean;\r\n nonprofitName: string;\r\n statusChangedByEmail: string;\r\n applicationStatus: string;\r\n}\r\n\r\nexport interface RequestDataForMoreInfoModal {\r\n vettingRequestId: number;\r\n ycVettingRequestId: number;\r\n requestDateSubmitted: string;\r\n externalSystemType: string;\r\n client: string;\r\n affiliateEmployeeFirstName: string;\r\n affiliateEmployeeLastName: string;\r\n affiliateEmployeeEmail: string;\r\n vettingInvitationsSent: number; // Number of invitations to start vetting application sent out of 3 total table nonprofitvettingrequest\r\n lastVettingInvitationSentOn: string; // nonprofitvettingrequest - Additional Info popup\r\n requestStatus: string;\r\n requestStatusChangeDate: string;\r\n requestStatusChangedBy: User;\r\n requestStatusReason: string;\r\n requestStatusComment: string;\r\n nonprofitName: string;\r\n}\r\n\r\nexport interface NonprofitEligibileForGivingOverridesDto {\r\n nonprofit: NonprofitBlockDisplayModel;\r\n efgOverrideDate: string;\r\n efgOverrideComment: string;\r\n efgOverrideBy: User;\r\n}\r\n\r\nexport enum EmailLogSearchType {\r\n EMAIL_ADDRESS = 'emailAddress',\r\n NONPROFIT_NAME = 'nonprofitName'\r\n}\r\n\r\nexport enum FailedPaymentSearchType {\r\n NONPROFIT_NAME = 'nonprofit.name',\r\n REGISTRATION_ID = 'nonprofit.registrationId',\r\n YC_CHARITY_ID = 'nonprofit.ycCharityId',\r\n PAYMENT_NUMBER = 'failedPaymentNumber',\r\n PAYMENT_DATE = 'failedPaymentDate'\r\n}\r\n\r\nexport const REPORT_TYPE_MAP = {\r\n 'Nonprofit Administration': 1,\r\n Communication: 2,\r\n Compliance: 3,\r\n Finance: 4,\r\n Vetting: 5\r\n};\r\n\r\nexport enum ActiveNpoByEFGTotalType {\r\n TOTAL_ACTIVE = 1,\r\n TOTAL_EFG = 2,\r\n TOTAL_NEEDS_VETTING = 3,\r\n TOTAL_NOT_EFG = 4\r\n}\r\n\r\nexport enum ActiveNpoByEFGDownloadTab {\r\n REG_AUTH_AND_COUNTRY = 1,\r\n COUNTRY = 2,\r\n REG_AUTH = 3,\r\n PROCESSING_PARTNER = 4\r\n}\r\n\r\nexport enum VR_REPORT_STATUS_OPTION {\r\n ALL_REQUESTS,\r\n ALL_ACTIVE_REQUESTS\r\n}\r\n\r\nexport enum AdditionalInfoModalType {\r\n REQUEST,\r\n APPLICATION\r\n}\r\n\r\nexport interface RevokedNonprofitDto {\r\n registrationAuthorityName: string;\r\n\r\n nonprofitId?: number;\r\n nonprofitRegistrationId: string;\r\n nonprofitYCCharityId?: number;\r\n nonprofitName: string;\r\n nonprofitAddress: Address;\r\n nonprofitIconImageUrl: string;\r\n\r\n revocationListId: number;\r\n revocationListName: string;\r\n revocationStatus: string;\r\n revocationStatusDate: string;\r\n matchMethod: string;\r\n revocationFileId: string;\r\n revocationFileName: string;\r\n revocationFileRegistrationId: string;\r\n revocationCity: string;\r\n}\r\n","\r\nexport const STATUS_MAP = {\r\n 'Not Reviewed': 1,\r\n Verified: 2,\r\n Rejected: 3,\r\n Expired: 4,\r\n 'Approved by Admin': 5,\r\n 'Verified by Company': 6,\r\n 'Rejected by Company': 7\r\n};\r\n\r\nexport const DONATION_STATUS_REASON_MAP = {\r\n 'Donation cannot be verified': 1,\r\n 'Duplicate Request': 2,\r\n 'Donation amount not tax-deductible': 3,\r\n 'Donor received goods and/or services': 4,\r\n Other: 5\r\n};\r\n\r\nexport const VOLUNTEER_STATUS_REASON_MAP = {\r\n 'Hours cannot be verified': 6,\r\n 'Duplicate hours request': 7,\r\n Other: 8\r\n};\r\n\r\nexport const ADDRESS_REQUEST_STATUS_REASON_MAP = {\r\n 'Insufficient documentation': 1,\r\n 'Incorrect documentation': 2,\r\n 'Other': 3\r\n};\r\n\r\nexport interface VerificationStatus {\r\n id: number;\r\n name: string;\r\n}\r\n\r\nexport interface VerificationStatusReasonInfo {\r\n id: number;\r\n name: string;\r\n description: string;\r\n}\r\n\r\nexport const BANK_INFO_STATUS_MAP = {\r\n 1: 'Pending',\r\n 2: 'Approved',\r\n 3: 'Declined'\r\n};\r\n\r\nexport interface Statuses {\r\n id?: number;\r\n status: string;\r\n statusTypeId?: number;\r\n isActive?: boolean;\r\n systemStatus?: boolean;\r\n statusType?: StatusTypes;\r\n}\r\n\r\nexport interface StatusTypes {\r\n id: number;\r\n statusType: string;\r\n statusTypeDescription: string;\r\n}\r\n\r\n\r\n//// NEW STATUS MODELS\r\nexport interface StatusModel {\r\n id: number;\r\n status: string;\r\n statusTypeId: number;\r\n isActive: boolean;\r\n i18nKey: string;\r\n systemStatus?: boolean;\r\n}\r\n\r\nexport enum StatusType {\r\n BankInfoChangeRequest = 1,\r\n AdHocEmail = 2,\r\n EligibleForGiving = 3,\r\n SanctionsScreeningFlag = 4,\r\n ChapterRequest = 5,\r\n AdminRequest = 6,\r\n CheckReissue = 7,\r\n Job = 8,\r\n RemittanceAddressRequest = 9,\r\n NonprofitStory = 10,\r\n NonprofitVettingRequest = 11,\r\n NonprofitVettingApplication = 12,\r\n ProspectiveAdminOutreach = 13,\r\n NonprofitProgram = 14\r\n}\r\n\r\nexport interface StatusObjectUI {\r\n id: number;\r\n typeId: number;\r\n value: string;\r\n i18nKey: string;\r\n}\r\n\r\n// list of statuses not used in table filtering\r\n// VR excluded statuses are not included here\r\nexport enum StatusSelectExclusionList {\r\n AdminRequest_Draft = 22,\r\n ScreeningFlag_Cleared = 16,\r\n ScreeningFlag_Sanctioned = 17,\r\n ChapterRequest_Pending = 18,\r\n ChapterRequest_Cancelled = 21,\r\n CheckReissue_OnHold = 28,\r\n CheckReissue_Pending = 29,\r\n Status_Needs_Vetting = 12\r\n}\r\n\r\n// all VR statuses\r\nexport enum VettingRequestStatusId {\r\n // SUBMITTED BUT NO APPLICATION\r\n REQUEST_SUBMITTED = 41,\r\n\r\n // HAS APPLICATION IN ANY 'OUTSTANDING' STATUS\r\n IN_PROGRESS = 62,\r\n\r\n // HAS APPLICATION IN CORRESPONDING 'COMPLETED' STATUS\r\n CANCELLED = 61,\r\n APPROVED_ED = 44,\r\n DECLINED_ED = 46,\r\n\r\n // PARTNER VETTING\r\n ROUTED_TO_VETTING_AUTHORITY = 63,\r\n ON_HOLD_PENDING_BILLING = 64,\r\n\r\n ///// NOT IN USE\r\n INVITATION_SENT = 42,\r\n PENDING = 43,\r\n APPROVED_STANDARD = 45,\r\n DECLINED_STANDARD = 47,\r\n DRAFT = 48,\r\n INFORMATION_REQUESTED = 49,\r\n ON_HOLD = 50\r\n}\r\n\r\n// all Vetting Application statuses\r\nexport enum VettingApplicationStatus {\r\n // OUTSTANDING\r\n DRAFT = 51,\r\n AWAITING_REVIEW = 52,\r\n IN_PROGRESS = 53,\r\n ON_HOLD = 54,\r\n REVISION_SUBMITTED = 60,\r\n\r\n // COMPLETED\r\n APPROVED = 55,\r\n DECLINED = 56,\r\n CANCELLED = 57,\r\n\r\n // NOT IN USE\r\n INFORMATION_REQUESTED = 58,\r\n PENDING = 59\r\n}\r\n\r\nexport enum ActiveApplicationStatusSelectExclusionList {\r\n APPROVED = 55,\r\n DECLINED = 56,\r\n CANCELLED = 57,\r\n PENDING = 59,\r\n INFORMATION_REQUESTED = 58\r\n}\r\n\r\nexport enum CompletedApplicationStatusSelectExclusionList {\r\n DRAFT = 51,\r\n AWAITING_REVIEW = 52,\r\n IN_PROGRESS = 53,\r\n ON_HOLD = 54,\r\n INFORMATION_REQUESTED = 58,\r\n PENDING = 59,\r\n REVISION_SUBMITTED = 60\r\n}\r\n\r\nexport enum OldActiveVettingStatusSelectExclusionList {\r\n REQUEST_SUBMITTED = 41,\r\n APPROVED_ED = 44,\r\n APPROVED_STANDARD = 45,\r\n DECLINED_ED = 46,\r\n DECLINED_STANDARD = 47,\r\n DRAFT = 48,\r\n INFORMATION_REQUESTED = 49,\r\n ON_HOLD = 50,\r\n CANCELLED = 61,\r\n IN_PROGRESS = 62\r\n}\r\n\r\nexport enum InactiveVettingStatusSelectExclusionList {\r\n PENDING = 43,\r\n REQUEST_SUBMITTED = 41,\r\n INVITATION_SENT = 42,\r\n DRAFT = 48,\r\n INFORMATION_REQUESTED = 49,\r\n ON_HOLD = 50,\r\n ROUTED_TO_VETTING_AUTHORITY = 63,\r\n ON_HOLD_PENDING_BILLING = 64\r\n}\r\n\r\nexport enum OldInactiveVettingRequestStatusSelectExclusionList {\r\n REQUEST_SUBMITTED = 41,\r\n INVITATION_SENT = 42,\r\n PENDING = 43,\r\n DRAFT = 48,\r\n INFORMATION_REQUESTED = 49,\r\n ON_HOLD = 50,\r\n CANCELLED = 61,\r\n IN_PROGRESS = 62\r\n}\r\n\r\nexport enum PartnerVettingStatuses {\r\n IN_PROGRESS = 62,\r\n ROUTED_TO_VETTING_AUTHORITY = 63,\r\n ON_HOLD_PENDING_BILLING = 64\r\n}\r\n\r\nexport enum AddressChangeRequestStatus {\r\n PENDING = 35,\r\n APPROVED = 36,\r\n REJECTED = 37,\r\n REQUEST_MADE_WITH_CHECK_REISSUE = 38\r\n}\r\n\r\nexport enum CheckReissueStatus {\r\n Approved = 26,\r\n AwaitingAddressApproval = 27,\r\n OnHold = 28,\r\n Pending = 29,\r\n Rejected = 30\r\n}\r\n\r\nexport enum AdminRequestStatusId {\r\n DRAFT = 22,\r\n PENDING = 23,\r\n APPROVED = 24,\r\n DECLINED = 25\r\n}\r\n\r\nexport enum EligibilityStatus {\r\n AwaitingReview = 10, // repurposed from 'Unknown' status\r\n YesEligible = 11,\r\n MaybeEligible = 12,\r\n NeverEligible = 13\r\n}\r\n\r\n// values taken directly from backend status table\r\nexport const EFG_Status_Map_By_Id = {\r\n 10: \"Vetting In Progress\",\r\n 11: \"Eligible\",\r\n 12: \"Info Required\",\r\n 13: \"Ineligible\"\r\n};\r\n\r\nexport enum NewChapterRequestStatusId {\r\n PENDING = 18,\r\n APPROVED = 19,\r\n DECLINED = 20\r\n}\r\n\r\nexport enum NpoStoryStatus {\r\n Published = 'Published',\r\n Draft = 'Draft'\r\n}\r\n\r\nexport enum FlaggedNPOStatus {\r\n ON_HOLD = 15,\r\n PENDING = 14,\r\n CLEARED = 16,\r\n SANCTIONED = 17\r\n}\r\n\r\nexport enum FlaggedNPOStatusText {\r\n ON_HOLD = 'On Hold',\r\n PENDING = 'Pending',\r\n CLEARED = 'Cleared',\r\n SANCTIONED = 'Sanctioned'\r\n}\r\n\r\nexport const ADMIN_STATUS_MAP_BY_ID = {\r\n 22: 'Draft',\r\n 23: 'Pending',\r\n 24: 'Approved',\r\n 25: 'Declined'\r\n};\r\n\r\nexport enum ProspectiveAdminStatusId {\r\n OUTSTANDING = 65,\r\n REMOVED = 66,\r\n CONVERTED = 67,\r\n OPTED_OUT = 68,\r\n HARD_BOUNCE = 69,\r\n NO_RESPONSE = 70\r\n}\r\n\r\nexport enum ApproveRejectModalStatus {\r\n APPROVE,\r\n REJECT\r\n}\r\n\r\nexport enum GenericizeStatusSpecialCase {\r\n VERIFIED_DONATION = 'verifiedDonation',\r\n VERIFIED_HOURS = 'verifiedHours',\r\n ALL_TRANSACTIONS = 'allTransactions',\r\n CHARITY_COMPARE = 'charityCompare'\r\n}\r\n","export enum ManageEventSteps {\r\n EventDetails,\r\n Schedule,\r\n Contacts,\r\n ShiftsAndCapacity,\r\n Documents,\r\n Photos,\r\n RequiredQuestions\r\n}\r\n\r\nexport interface EventContact {\r\n reasonToContact: string;\r\n id: number;\r\n firstName: string;\r\n lastName: string;\r\n phoneNumber: string;\r\n email: string;\r\n modifiedBy?: string;\r\n}\r\n\r\nexport interface ContactResponse {\r\n contacts: EventContact[];\r\n totalCount: number;\r\n pageCount: number;\r\n page: number;\r\n pageSize: number;\r\n}\r\n\r\nexport interface ContactModalResponse {\r\n contactPayload: ContactPayload;\r\n}\r\n\r\nexport interface ContactPayload {\r\n eventId: number;\r\n reasonToContact: string;\r\n modifiedBy?: string;\r\n id?: number;\r\n firstName: string;\r\n lastName: string;\r\n phoneNumber: string;\r\n email: string;\r\n}\r\n\r\nexport interface CreateEventPhotoPayload {\r\n eventId: number;\r\n name: string;\r\n description?: string;\r\n url: string;\r\n}\r\n\r\nexport interface DeleteEventPhotoPayload {\r\n eventId: number;\r\n photoName: string;\r\n}\r\n\r\nexport interface CreateEventDocumentPayload {\r\n eventId: number;\r\n name: string;\r\n url: string;\r\n}\r\n\r\nexport interface DeleteEventDocumentPayload {\r\n eventId: number;\r\n documentName: string;\r\n}\r\n\r\nexport interface EventLocation {\r\n address1: string;\r\n address2: string;\r\n city: string;\r\n state: string;\r\n postalCode: string;\r\n countryCode: string;\r\n latitude: string;\r\n longitude: string;\r\n}\r\n\r\nexport interface VolunteerShift {\r\n shiftId: number;\r\n eventId: number;\r\n ycCharityId: number;\r\n name: string;\r\n description: string;\r\n startHours: number;\r\n startMinutes: number;\r\n endHours: number;\r\n endMinutes: number;\r\n capacity: number;\r\n numberOfDays: number;\r\n startDay: number;\r\n hoursLocked: boolean;\r\n defaultHours: number;\r\n hasDefaultHours: boolean;\r\n numberOfParticipants?: number;\r\n modifiedBy: string;\r\n active?: boolean;\r\n}\r\n\r\nexport enum VolunteerEventStatus {\r\n Published,\r\n Draft\r\n}\r\n\r\nexport interface VolunteerTimeZone {\r\n displayName: string;\r\n id: string;\r\n}\r\n\r\nexport interface VolunteerEventPhoto {\r\n url: string;\r\n name: string;\r\n description: string;\r\n}\r\n\r\nexport interface VolunteerEventDocument {\r\n url: string;\r\n name: string;\r\n}\r\n\r\nexport interface DocumentModalResponse {\r\n name: string;\r\n file: Blob;\r\n}\r\n\r\nexport interface EventPhotoModalResponse {\r\n description: string;\r\n name: string;\r\n file: Blob;\r\n}\r\n\r\nexport interface ParticipantParticipations {\r\n participationDate: string;\r\n participationId: number;\r\n hours: number;\r\n shift: VolunteerShift;\r\n}\r\n\r\nexport interface Participant {\r\n affiliateId?: string;\r\n affiliateName?: string;\r\n email: string;\r\n firstName: any;\r\n lastName: any;\r\n affiliateEmployeeId?: number;\r\n participations: ParticipantParticipations[];\r\n}\r\n\r\nexport interface ParticipantResponse {\r\n participants: Participant[];\r\n totalCount: number;\r\n pageCount: number;\r\n page: number;\r\n pageSize: number;\r\n}\r\n\r\nexport interface VolunteerEventsResponse {\r\n events: VolunteerEvent[];\r\n totalCount: number;\r\n pageCount: number;\r\n page: number;\r\n pageSize: number;\r\n}\r\n\r\nexport interface VolunteerEvent {\r\n participants?: number;\r\n status?: string;\r\n eventId: number;\r\n name: string;\r\n location: EventLocation;\r\n description: string;\r\n meetupInstructions: string;\r\n imageUrl: string;\r\n image: Blob;\r\n startDate: string;\r\n endDate: string;\r\n originalStartDate: string;\r\n originalEndDate: string;\r\n originalTimeZone: string;\r\n originalTimezoneOffset: number;\r\n ycCharityId: number;\r\n totalShifts: number;\r\n contacts: EventContact[];\r\n registrationStartDate: string;\r\n registrationEndDate: string;\r\n isDraft: boolean;\r\n isVirtual: boolean;\r\n totalParticipants: number;\r\n private: boolean;\r\n allowLogHoursAfterEndEvent: boolean;\r\n allowFamilyAndFriendsToAttend: boolean;\r\n totalWaitlistCount: number;\r\n totalUniqueParticipants: number;\r\n shifts: VolunteerShift[];\r\n affiliateId: number;\r\n affiliateName: string;\r\n startHours: number;\r\n endHours: number;\r\n startMinutes: number;\r\n endMinutes: number;\r\n waitlistEnabled: boolean;\r\n requiresApproval: boolean;\r\n approvalStatus: number;\r\n statusMessage: string;\r\n customQuestionSetResponseId: number;\r\n customQuestionUrl: string;\r\n skills: number[];\r\n}\r\n\r\nexport interface VolunteerShiftsResponse {\r\n shifts: VolunteerShift[];\r\n totalCount: number;\r\n pageCount: number;\r\n page: number;\r\n pageSize: number;\r\n}\r\n\r\nexport interface ShiftModalResponse {\r\n formValue: any;\r\n context: string;\r\n shiftId?: number;\r\n eventId: number;\r\n}\r\n\r\nexport interface CreateOrUpdateEventShiftPayload {\r\n shiftId?: number;\r\n eventId: number;\r\n name: string;\r\n description: string;\r\n capacity: number;\r\n hoursLocked: boolean;\r\n defaultHours: number;\r\n startDay: number;\r\n startHours: number;\r\n startMinutes: number;\r\n endHours: number;\r\n endMinutes: number;\r\n numberOfDays: number;\r\n}\r\n\r\nexport interface ParticipantExportModel {\r\n participants: Participant[];\r\n}\r\n\r\nexport interface VolunteerCommunityPartnerResponse {\r\n data: VolunteerCommunityPartner[];\r\n page: number;\r\n pageCount: number;\r\n pageSize: number;\r\n totalCount: number;\r\n}\r\n\r\nexport interface VolunteerCommunityPartner {\r\n affiliateId: number;\r\n name: string;\r\n approvalRequired: boolean;\r\n customQuestionSetId: number;\r\n}\r\n\r\nexport interface EmailParticipantModalResponse {\r\n eventId: number;\r\n shiftId?: number;\r\n subject: string;\r\n body: string;\r\n emailParticipants: boolean;\r\n emailWaitlist: boolean;\r\n replyToName?: string;\r\n replyToAddress?: string;\r\n affiliateEmployeeIdListToEmail?: number[];\r\n}\r\n\r\nexport interface EventCategorySkillType {\r\n skillId: number;\r\n skillName: string;\r\n active: boolean;\r\n categoryId: number;\r\n}\r\n\r\nexport interface EventSkillType {\r\n categoryId: number;\r\n categoryName: string;\r\n active: boolean;\r\n categorySkills: EventCategorySkillType[];\r\n}\r\n\r\nexport interface EventSkillsResponse {\r\n skillsEnabled: boolean;\r\n skills: EventSkillType[];\r\n}\r\n\r\nexport enum CsrApprovalStatus {\r\n Live = 1,\r\n Declined = 2,\r\n Pending = 3,\r\n RequestChange = 4\r\n}\r\n\r\nexport enum EventActionScenario {\r\n MANAGE,\r\n VIEW,\r\n COPY_REMOVE,\r\n PUBLISH,\r\n SUBMIT,\r\n SHOW_MENU\r\n}\r\n\r\nexport enum EventWrapperScenario {\r\n MANAGE = 'manage',\r\n VIEW = 'view',\r\n CREATE = 'create',\r\n COPY = 'copy'\r\n}\r\n\r\nexport enum VolunteerType {\r\n ALL_VOLUNTEERS,\r\n ALL_PARTICIPANTS,\r\n ALL_WAITLIST\r\n}\r\n\r\nexport enum EventSaveScenario {\r\n SAVE,\r\n PUBLISH\r\n}\r\n\r\n\r\n","import { PaginationOptions } from '@yourcause/common';\r\nimport { RoleInfo } from './users.model';\r\n\r\nexport interface UserRolePaginationModel {\r\n id: number;\r\n lastName: string;\r\n firstName: string;\r\n fullName: string;\r\n email: string;\r\n lastLoginDate: string;\r\n roles: RoleInfo[];\r\n}\r\n\r\nexport interface YourcauseUserTableDataPayload {\r\n paginationOptions: PaginationOptions;\r\n roleIds?: number[];\r\n}\r\n\r\nexport interface AddYourcauseUserResponseModel {\r\n firstName: string;\r\n lastName: string;\r\n language: string;\r\n acknowledgedTermsOfService: boolean;\r\n acknowledgedTermsOfServiceDate: string;\r\n isDeactivated: boolean;\r\n registrationNonprofitId: number;\r\n passwordLastChangedDate: string;\r\n aspNetUsersPasswordHistory?: any[];\r\n isInternalUser: boolean;\r\n email: string;\r\n emailConfirmed: boolean;\r\n passwordHash: string;\r\n securityStamp: string;\r\n phoneNumber: string;\r\n phoneNumberConfirmed: boolean;\r\n twoFactorEnabled: boolean;\r\n lockoutEndDateUtc: string;\r\n lockoutEnabled: boolean;\r\n accessFailedCount: number;\r\n roles: RoleInfo[];\r\n claims?: any[];\r\n logins?: any[];\r\n id: number;\r\n userName: string;\r\n}\r\n\r\nexport interface AddEditUserModalResponse {\r\n id: number;\r\n lastName: string;\r\n firstName: string;\r\n email: string;\r\n roles?: number[];\r\n}\r\n\r\nexport interface EditRemoveYourcauseUserPayload {\r\n userId: number;\r\n roleIds?: number[];\r\n}\r\n\r\nexport interface AdminFromSearch {\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n location: string;\r\n}\r\n\r\nexport enum YcUserRoles {\r\n SITE_ADMIN = 2,\r\n YC_ADMIN = 4,\r\n YC_SUPPORT = 5,\r\n YC_NONPROFIT_MANAGER = 6,\r\n COMPLIANCE_ADMIN = 7,\r\n IMPLEMENTATION_MANAGER = 8,\r\n CHECK_REISSUE_ROLE = 9,\r\n YC_NONPROFIT_ACH_MANAGER = 10,\r\n YC_REPORTING = 11,\r\n ENGINEERING = 12\r\n}\r\n\r\nexport const YOURCAUSE_USER_ROLE_MAP = {\r\n 'Platform Admin': 2,\r\n 'YC Admin': 4,\r\n 'YC Support': 5,\r\n 'YC Nonprofit Manager': 6,\r\n 'Compliance Admin': 7,\r\n 'Implementation Manager': 8,\r\n 'Check Reissue Role': 9,\r\n 'YC Nonprofit ACH Manager': 10,\r\n 'YC Reporting': 11,\r\n Engineering: 12\r\n};\r\n\r\nexport const YOURCAUSE_USER_ROLE_MAP_BY_ID = {\r\n 2: 'Platform Admin',\r\n 4: 'YC Admin',\r\n 5: 'YC Support',\r\n 6: 'YC Nonprofit Manager',\r\n 7: 'Compliance Admin',\r\n 8: 'Implementation Manager',\r\n 9: 'Check Reissue Role',\r\n 10: 'YC Nonprofit ACH Manager',\r\n 11: 'YC Reporting',\r\n 12: 'Engineering'\r\n};\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DateService } from '@yourcause/common/date';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\n\r\n@Pipe({\r\n name: 'nppActiveVetting'\r\n})\r\nexport class ActiveVettingPipe implements PipeTransform {\r\n activeVettingTypes = ['Not Required', 'Unvetted'];\r\n constructor (\r\n private dateService: DateService,\r\n private i18n: I18nService\r\n ) { }\r\n\r\n transform (vettingName: string, expDate?: string): string {\r\n if (!!expDate &&\r\n !this.activeVettingTypes.includes(vettingName)\r\n ) {\r\n const expireText = this.i18n.translate(\r\n 'nonprofits:textActiveVettingWithExpiration',\r\n {\r\n expDate: this.dateService.formatDate(expDate, 'MM/dd/yyyy')\r\n },\r\n 'expiring __expDate__'\r\n );\r\n\r\n return vettingName + ' ' + expireText;\r\n } else {\r\n return vettingName;\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'nppAdaptUrl'\r\n})\r\nexport class AdaptUrl implements PipeTransform {\r\n constructor (\r\n ) {}\r\n\r\n transform (url: string): string {\r\n if (url && !(url).includes('http')) {\r\n url = `http://${url}`;\r\n }\r\n\r\n return url;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'nppAddressObject'\r\n})\r\nexport class AddressObjectPipe implements PipeTransform {\r\n transform (\r\n address1: string,\r\n city: string,\r\n state: string,\r\n postalCode: string,\r\n country: string\r\n ) {\r\n return {\r\n address1,\r\n city,\r\n state,\r\n postalCode,\r\n country\r\n };\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { BannerInformationAPI } from '@core/typings/api/custom-alerts.typing';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\n\r\n\r\n@Pipe({\r\n name: 'nppAlertPageIdMap'\r\n})\r\nexport class AlertPageIdMapPipe implements PipeTransform {\r\n constructor (\r\n private readonly i18n: I18nService\r\n ) {}\r\n\r\n transform (displayPageId: number): string {\r\n switch (displayPageId) {\r\n case BannerInformationAPI.BannerDisplayPages.HELP_SUPPORT:\r\n return this.i18n.translate('admin:textHelpAndSupport', {}, 'Help/Support');\r\n case BannerInformationAPI.BannerDisplayPages.MY_WORKSPACE:\r\n return this.i18n.translate('admin:textMyWorkspace', {}, 'My Workspace');\r\n case BannerInformationAPI.BannerDisplayPages.NPO_ADMINISTRATION:\r\n return this.i18n.translate('admin:textAdminHomePage', {}, 'Administration Home Page');\r\n case BannerInformationAPI.BannerDisplayPages.DISBURSEMENT_INFO:\r\n return this.i18n.translate('nonprofits:textDisbursementInformation', {}, 'Disbursement Information');\r\n case BannerInformationAPI.BannerDisplayPages.PAYMENTS_PAGE:\r\n return this.i18n.translate('common:textPayments', {}, 'Payments');\r\n default:\r\n return this.i18n.translate('common:textNotApplicableNA', {}, 'N/A');\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\n\r\n@Pipe({\r\n name: 'nppAlternateNaText'\r\n})\r\nexport class AlternateNaText implements PipeTransform {\r\n notApplicableText = this.i18n.translate(\r\n 'nonprofits:textNA',\r\n {},\r\n 'N/A'\r\n);\r\n\r\nconstructor (\r\n private i18n: I18nService\r\n) { }\r\n\r\n transform (value: any): any {\r\n return !!value ? value : this.notApplicableText;\r\n }\r\n}\r\n\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { AssetType, InflectService } from '@yourcause/common';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { ClaimService } from '../../claim/services/claim.service';\r\n\r\n@Pipe({\r\n name: 'nppAssetTypeName'\r\n})\r\n\r\nexport class AssetTypeNamePipe implements PipeTransform {\r\n assetTypes = this.claimService.claimsAssetTypes;\r\n\r\n constructor (\r\n private i18n: I18nService,\r\n private inflect: InflectService,\r\n private claimService: ClaimService\r\n ) { }\r\n\r\n transform (id: number): string {\r\n const found: AssetType = (this.assetTypes || [])\r\n .find((type) => +type.assetTypeId === +id);\r\n\r\n if (found) {\r\n return this.i18n.translate(\r\n `common:text${this.inflect.pascalize(found.name)}`,\r\n {},\r\n found.name\r\n );\r\n }\r\n\r\n return '';\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { differenceInDays, differenceInMonths, startOfDay } from 'date-fns';\r\n\r\n@Pipe({\r\n name: 'nppCalculateDaysAgo'\r\n})\r\nexport class CalculateDaysAgoPipe implements PipeTransform {\r\n constructor (\r\n private i18n: I18nService\r\n ) { }\r\n\r\n transform (date: string): string {\r\n let returnVal = '';\r\n const beginningOfOriginalDate = startOfDay(new Date(date));\r\n const beginningOfToday = startOfDay(new Date());\r\n const daysDiff = differenceInDays(beginningOfToday, beginningOfOriginalDate);\r\n const monthsDiff = differenceInMonths(beginningOfToday, beginningOfOriginalDate);\r\n\r\n if (daysDiff >= 1 && daysDiff <= 60) {\r\n returnVal = this.i18n.translate(\r\n `common:textDaysAgo`,\r\n {\r\n number: daysDiff\r\n },\r\n '__number__ day(s) ago'\r\n );\r\n } else if (daysDiff > 60) {\r\n returnVal = this.i18n.translate(\r\n 'common:textMonthsAgo',\r\n {\r\n number: monthsDiff\r\n },\r\n '__number__ months ago'\r\n );\r\n } else {\r\n returnVal = '';\r\n }\r\n\r\n return returnVal;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'nppCarriageToBr'\r\n})\r\nexport class CarriageToBrPipe implements PipeTransform {\r\n\r\n transform (input: string): string {\r\n return input.replace(/(\\\\r|\\r)?(\\\\n|\\n)/gm, '
');\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { ChangeTrackingChangeByRole, ChangeTrackingChangedBySystemName } from '@core/models/change-tracking.model';\r\nimport { AuthService } from '@core/services/auth.service';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\n\r\n\r\n@Pipe({\r\n name: 'nppChangeTrackingChangedBy'\r\n})\r\nexport class ChangeTrackingChangedByPipe implements PipeTransform {\r\n ycUserString = this.i18n.translate(\r\n 'common:textYcUser',\r\n {},\r\n 'YourCause User'\r\n );\r\n systemString = this.i18n.translate(\r\n 'common:textSystem'\r\n );\r\n nonprofitUserString = this.i18n.translate(\r\n 'common:textNonprofitUser',\r\n {},\r\n 'Nonprofit User'\r\n );\r\n\r\n constructor (\r\n private i18n: I18nService,\r\n private authService: AuthService\r\n ) {}\r\n\r\n\r\n transform (changedByRole: string, changedBy: string): string {\r\n switch (changedByRole) {\r\n case ChangeTrackingChangeByRole.YCUser:\r\n if (changedBy === ChangeTrackingChangedBySystemName.NPPAutomation ||\r\n changedBy === ChangeTrackingChangedBySystemName.SiteAdmin) {\r\n return changedBy;\r\n } else {\r\n if (this.authService.isYcAdminOrSupport()) {\r\n return changedBy +\r\n `
` +\r\n this.ycUserString;\r\n } else {\r\n return this.ycUserString;\r\n }\r\n }\r\n case ChangeTrackingChangeByRole.NPOUser:\r\n return changedBy +\r\n `
` +\r\n this.nonprofitUserString;\r\n case ChangeTrackingChangeByRole.System:\r\n default:\r\n return this.systemString;\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { ChangeTrackingEntityType } from '@core/models/change-tracking.model';\r\nimport { InflectService } from '@yourcause/common';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\n\r\n@Pipe({\r\n name: 'nppEntityPropertyDescPipe'\r\n})\r\nexport class EntityPropertyDescPipe implements PipeTransform {\r\n\r\n constructor (\r\n private i18n: I18nService,\r\n private inflect: InflectService\r\n ) { }\r\n\r\n transform (entityPropertyDesc: string): string {\r\n let desc;\r\n if (entityPropertyDesc === ChangeTrackingEntityType.DisbursementSuspended) {\r\n desc = this.i18n.translate(\r\n 'changeTracking:textEligibleToDisburse',\r\n {},\r\n 'Eligible to Disburse'\r\n );\r\n } else {\r\n desc = this.i18n.translate(\r\n `changeTracking:text${this.inflect.pascalize(entityPropertyDesc)}`,\r\n {},\r\n entityPropertyDesc\r\n );\r\n }\r\n\r\n return desc;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { ChangeTrackingEntityType } from '@core/models/change-tracking.model';\r\nimport { UserCommunicationPreference } from '@core/models/communication.model';\r\nimport { InflectService } from '@yourcause/common';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { StatusService } from '../../statuses/status.service';\r\nimport { ArrayHelpersService } from '@yourcause/common/utils';\r\n\r\n@Pipe({\r\n name: 'nppChangeTrackingOldNewValue'\r\n})\r\nexport class ChangeTrackingOldNewValuePipe implements PipeTransform {\r\n eligibilityStatuses = this.statusService.eligibleForGivingStatusDisplay;\r\n textNotSet = this.i18n.translate(\r\n 'bankInfo:textNotSet',\r\n {},\r\n 'Not set'\r\n );\r\n noneText = this.i18n.translate(\r\n 'common:textNone',\r\n {},\r\n 'None'\r\n );\r\n categoryText = this.i18n.translate(\r\n 'common:textCategory',\r\n {},\r\n 'Category'\r\n );\r\n groupText = this.i18n.translate(\r\n 'common:textGroup',\r\n {},\r\n 'Group'\r\n );\r\n nteeText = 'NTEE';\r\n notApplicableText = this.i18n.translate(\r\n 'common:textNotApplicableNA',\r\n {},\r\n 'N/A'\r\n );\r\n\r\n constructor (\r\n private i18n: I18nService,\r\n private statusService: StatusService,\r\n private inflect: InflectService,\r\n private arrayHelper: ArrayHelpersService\r\n ) { }\r\n\r\n transform (\r\n change: string,\r\n type: ChangeTrackingEntityType\r\n ): string {\r\n let returnVal = '';\r\n if (!!change) {\r\n switch (type) {\r\n case ChangeTrackingEntityType.EligibleForGiving:\r\n returnVal = this.getEligibleForGivingChange(change);\r\n break;\r\n case ChangeTrackingEntityType.DisbursementSuspended:\r\n returnVal = this.getDisbursementSuspendedChange(change);\r\n break;\r\n case ChangeTrackingEntityType.BankInfo:\r\n returnVal = this.getBankInfoChange(change);\r\n break;\r\n case ChangeTrackingEntityType.ParentChildRel:\r\n returnVal = change.substring(change.indexOf(':') + 1);\r\n break;\r\n case ChangeTrackingEntityType.Classification:\r\n returnVal = this.getClassificationChange(change);\r\n break;\r\n case ChangeTrackingEntityType.EmailCommunicationPreferences:\r\n returnVal = this.getCommPreferencesChange(change);\r\n break;\r\n default:\r\n if (['true', 'false'].includes(change.toLowerCase())) {\r\n returnVal = change.toLowerCase() === 'true' ?\r\n this.i18n.translate(\r\n 'common:textYes',\r\n {},\r\n 'Yes'\r\n ) :\r\n this.i18n.translate(\r\n 'common:textNo',\r\n {},\r\n 'No'\r\n );\r\n } else {\r\n returnVal = change[0].toUpperCase() + change.substring(1);\r\n }\r\n }\r\n } else {\r\n returnVal = this.noneText;\r\n }\r\n\r\n return returnVal;\r\n }\r\n\r\n getEligibleForGivingChange (change: string): string {\r\n let returnVal = '';\r\n const status = this.eligibilityStatuses?.find((s) => {\r\n return s.id === +change;\r\n });\r\n returnVal = this.i18n.translate(\r\n status.i18nKey,\r\n {},\r\n status.value\r\n );\r\n\r\n return returnVal;\r\n }\r\n\r\n getDisbursementSuspendedChange (change: string): string {\r\n const returnVal = change.toLowerCase() === 'false' ?\r\n this.i18n.translate(\r\n 'common:textYes',\r\n {},\r\n 'Yes'\r\n ) :\r\n this.i18n.translate(\r\n 'common:textNo',\r\n {},\r\n 'No'\r\n );\r\n\r\n return returnVal;\r\n }\r\n\r\n getBankInfoChange (change: string): string {\r\n let returnVal = '';\r\n const list = JSON.parse(change);\r\n Object.entries(list).forEach(([fieldName, val]) => {\r\n val = !!val ? val : this.textNotSet;\r\n fieldName = this.i18n.translate(\r\n `bankInfo:lbl${fieldName}`,\r\n {},\r\n fieldName.replace(/([A-Z])/g, ' $1')\r\n );\r\n returnVal += fieldName + ': ' + val + '
';\r\n });\r\n\r\n return returnVal;\r\n }\r\n\r\n getCommPreferencesChange (change: string): string {\r\n let returnVal = '';\r\n let commPrefValue = '';\r\n const allComms = this.arrayHelper.sort(\r\n Object.entries(UserCommunicationPreference)\r\n .map(([key, value]) => {\r\n return value;\r\n })\r\n );\r\n const parsedChange = JSON.parse(change);\r\n const valueArray = Object.entries(parsedChange)\r\n .map(([key, value]) => {\r\n return value;\r\n }) as string[];\r\n const unsubscribedComms = valueArray[0].split(', ');\r\n allComms.forEach((comm) => {\r\n if (unsubscribedComms.includes(comm)) {\r\n commPrefValue = this.i18n.translate(\r\n 'common:textNo',\r\n {},\r\n 'No'\r\n );\r\n } else {\r\n commPrefValue = this.i18n.translate(\r\n 'common:textYes',\r\n {},\r\n 'Yes'\r\n );\r\n }\r\n returnVal += comm + ': ' + commPrefValue + '
';\r\n });\r\n\r\n return returnVal;\r\n }\r\n\r\n getClassificationChange (change: string): string {\r\n let returnVal = '';\r\n const values = JSON.parse(change);\r\n const categoryVal = values.CATEGORY;\r\n const groupVal = values.GROUP;\r\n const nteeVal = values.NTEE;\r\n const categoryTranslated = categoryVal ?\r\n this.i18n.translate(\r\n `nonprofits:text${this.inflect.trimPuncAndPascalize(categoryVal)}`,\r\n {},\r\n categoryVal\r\n ) :\r\n this.notApplicableText;\r\n const groupTranslated = groupVal ?\r\n this.i18n.translate(\r\n `nonprofits:text${this.inflect.trimPuncAndPascalize(groupVal)}`,\r\n {},\r\n groupVal\r\n ) :\r\n this.notApplicableText;\r\n const nteeTranslated = nteeVal ?\r\n this.i18n.translate(\r\n `nonprofits:text${this.inflect.trimPuncAndPascalize(nteeVal)}`,\r\n {},\r\n nteeVal\r\n ) :\r\n this.notApplicableText;\r\n returnVal = '' + this.categoryText + ': ' + categoryTranslated +\r\n '
' +\r\n this.groupText + ': ' + groupTranslated +\r\n '
' +\r\n this.nteeText + ': ' + nteeTranslated +\r\n '
';\r\n\r\n return returnVal;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\n\r\n@Pipe({\r\n name: 'charityCompareStatusPipe'\r\n})\r\nexport class CharityCompareStatusPipe implements PipeTransform {\r\n constructor (\r\n private i18n: I18nService\r\n ) { }\r\n\r\n transform (statusId: number): string {\r\n switch (statusId) {\r\n case 1:\r\n return this.i18n.translate('statusPipe:Staging', {}, 'Staging');\r\n case 2:\r\n return this.i18n.translate('statusPipe:Queued', {}, 'Queued');\r\n case 3:\r\n case 4:\r\n default:\r\n return this.i18n.translate('statusPipe:Pending', {}, 'Pending');\r\n case 5:\r\n return this.i18n.translate('statusPipe:Completed', {}, 'Completed');\r\n case 6:\r\n return this.i18n.translate('statusPipe:Errored', {}, 'Errored');\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { endOfDay, startOfDay } from 'date-fns';\r\n\r\n@Pipe({\r\n name: 'nppCheckPastDate'\r\n})\r\nexport class CheckPastDatePipe implements PipeTransform {\r\n // Returns true if given date is a past date\r\n transform (date: string): boolean {\r\n const currentDate = startOfDay(new Date());\r\n const eodDate = endOfDay(new Date(date));\r\n\r\n return currentDate > eodDate;\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { EligibilityStatus } from '@core/models/status.model';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\n\r\n@Pipe({\r\n name: 'nppEfgDbStatusValuePipe'\r\n})\r\nexport class EfgDbStatusValuePipe implements PipeTransform {\r\n constructor (\r\n private i18n: I18nService\r\n ) {}\r\n\r\n // values taken directly from backend status table\r\n transform (eligibleForGivingStatusId: number): string {\r\n switch (eligibleForGivingStatusId) {\r\n // id: 10\r\n case EligibilityStatus.AwaitingReview:\r\n return this.i18n.translate(\r\n 'common:lblVettingInProgress',\r\n {},\r\n 'Vetting in Progress'\r\n );\r\n // id: 11\r\n case EligibilityStatus.YesEligible:\r\n return this.i18n.translate(\r\n 'common:textEligible',\r\n {},\r\n 'Eligible'\r\n );\r\n // id: 13\r\n case EligibilityStatus.NeverEligible:\r\n return this.i18n.translate(\r\n 'common:textIneligible',\r\n {},\r\n 'Ineligible'\r\n );\r\n default:\r\n // id: 12\r\n case EligibilityStatus.MaybeEligible:\r\n return this.i18n.translate(\r\n 'common:textInfoRequired',\r\n {},\r\n 'Info Required'\r\n );\r\n };\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { EligibilityStatus } from '@core/models/status.model';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\n\r\n@Pipe({\r\n name: 'nppEligibleForGivingStatusIdPipe'\r\n})\r\nexport class EligibleForGivingStatusIdPipe implements PipeTransform {\r\n constructor (\r\n private i18n: I18nService\r\n ) {}\r\n\r\n transform (eligibleForGivingStatusId: number): string {\r\n switch (eligibleForGivingStatusId) {\r\n case EligibilityStatus.AwaitingReview:\r\n return this.i18n.translate(\r\n 'common:lblVettingInProgress',\r\n {},\r\n 'Vetting in Progress'\r\n );\r\n case EligibilityStatus.YesEligible:\r\n return this.i18n.translate(\r\n 'common:textYes',\r\n {},\r\n 'Yes'\r\n );\r\n case EligibilityStatus.NeverEligible:\r\n return this.i18n.translate(\r\n 'common:textNo',\r\n {},\r\n 'No'\r\n );\r\n default:\r\n case EligibilityStatus.MaybeEligible:\r\n return this.i18n.translate(\r\n 'common:textNeedsVetting',\r\n {},\r\n 'Needs Vetting'\r\n );\r\n };\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'nppEmailIcon'\r\n})\r\nexport class EmailIcon implements PipeTransform {\r\n\r\n transform (value: any): any {\r\n const iconType = value.toLowerCase();\r\n\r\n return '/assets/img/email-icons/' + iconType + '.png' || '/assets/img/email-icons/heart.png';\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { EXTERNAL_SYSTEM_MAP_BY_ID } from '@core/models/donation.model';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\n\r\n\r\n@Pipe({\r\n name: 'nppExternalSystemPipe'\r\n})\r\nexport class ExternalSystemsPipe implements PipeTransform {\r\n internalRequestText = this.i18n.translate(\r\n 'vetting:textInternalRequest',\r\n {},\r\n 'Internal request'\r\n );\r\n\r\n constructor (\r\n private i18n: I18nService\r\n ) { }\r\n transform (\r\n value: number,\r\n specialCase?: string\r\n ): string {\r\n let name: string;\r\n if (value) {\r\n name = EXTERNAL_SYSTEM_MAP_BY_ID[value as keyof typeof EXTERNAL_SYSTEM_MAP_BY_ID];\r\n } else {\r\n if (specialCase === 'vettingRequest') {\r\n name = this.internalRequestText;\r\n }\r\n }\r\n\r\n return name;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { GenericizeStatusSpecialCase } from '@core/models/status.model';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\n\r\n\r\n@Pipe({\r\n name: 'nppGenericizeStatus'\r\n})\r\nexport class GenericizeStatus implements PipeTransform {\r\n constructor (\r\n private readonly i18n: I18nService\r\n ) {}\r\n\r\n transform (\r\n value: any,\r\n specialCase?: string\r\n ): any {\r\n let genericStatus;\r\n\r\n const status = ('' + value).toLowerCase();\r\n switch (status) {\r\n case 'approved':\r\n case 'verified by company':\r\n case 'verified':\r\n case 'approved - ed':\r\n case 'sent':\r\n case 'approved - standard':\r\n case 'disbursed':\r\n if (specialCase === GenericizeStatusSpecialCase.VERIFIED_DONATION) {\r\n genericStatus = this.i18n.translate('status:textVerifiedDonation', {}, 'Verified donation');\r\n } else if (specialCase === GenericizeStatusSpecialCase.VERIFIED_HOURS) {\r\n genericStatus = this.i18n.translate('status:textVerifiedHours', {}, 'Verified hours');\r\n } else if (specialCase === GenericizeStatusSpecialCase.ALL_TRANSACTIONS) {\r\n genericStatus = this.i18n.translate('common:textDisbursed', {}, 'Disbursed');\r\n } else {\r\n genericStatus = this.i18n.translate('statusPipe:Approved', {}, 'Approved');\r\n }\r\n\r\n return genericStatus;\r\n case 'not responded':\r\n case 'pending':\r\n case 'submitted':\r\n case 'processing':\r\n if (specialCase === GenericizeStatusSpecialCase.ALL_TRANSACTIONS) {\r\n genericStatus = this.i18n.translate('status:textPendingDisbursement', {}, 'Pending disbursement');\r\n } else {\r\n genericStatus = this.i18n.translate('statusPipe:Pending', {}, 'Pending');\r\n }\r\n\r\n return genericStatus;\r\n case 'expired':\r\n genericStatus = this.i18n.translate('statusPipe:Expired', {}, 'Expired');\r\n\r\n return genericStatus;\r\n case 'rejected by company':\r\n case 'rejected':\r\n case 'declined':\r\n case 'denied':\r\n case 'declined - ed':\r\n case 'declined - standard':\r\n genericStatus = this.i18n.translate('statusPipe:Declined', {}, 'Declined');\r\n\r\n return genericStatus;\r\n case 'not responded':\r\n genericStatus = this.i18n.translate('statusPipe:NotResponded', {}, 'Not responded');\r\n\r\n return genericStatus;\r\n case 'requestmadewithcheckreissue':\r\n genericStatus = this.i18n.translate('statusPipe:RequestMadeWithCheckReissue', {}, 'Request made with check reissue');\r\n\r\n return genericStatus;\r\n case 'awaitingaddressapproval':\r\n genericStatus = this.i18n.translate('statusPipe:AwaitingAddressApproval', {}, 'Awaiting address approval');\r\n\r\n return genericStatus;\r\n case 'true':\r\n genericStatus = this.i18n.translate('statusPipe:textTrue', {}, 'True');\r\n\r\n return genericStatus;\r\n case 'false':\r\n genericStatus = this.i18n.translate('statusPipe:textFalse', {}, 'False');\r\n\r\n return genericStatus;\r\n case 'outstanding':\r\n genericStatus = this.i18n.translate('statusPipe:textOutstanding', {}, 'Outstanding');\r\n\r\n return genericStatus;\r\n case 'cleared':\r\n genericStatus = this.i18n.translate('statusPipe:textCleared', {}, 'Cleared');\r\n\r\n return genericStatus;\r\n case 'refunded':\r\n genericStatus = this.i18n.translate('statusPipe:textRefunded', {}, 'Refunded');\r\n\r\n return genericStatus;\r\n case 'voided':\r\n genericStatus = this.i18n.translate('statusPipe:textVoided', {}, 'Voided');\r\n\r\n return genericStatus;\r\n case 'cancelled':\r\n genericStatus = this.i18n.translate('statusPipe:textCancelled', {}, 'Cancelled');\r\n\r\n return genericStatus;\r\n case 'ready to be sent':\r\n genericStatus = this.i18n.translate('statusPipe:textReadyToBeSent', {}, 'Ready to be sent');\r\n\r\n return genericStatus;\r\n case 'draft':\r\n genericStatus = this.i18n.translate('common:textDraft', {}, 'Draft');\r\n\r\n return genericStatus;\r\n case 'published':\r\n genericStatus = this.i18n.translate('common:textPublished', {}, 'Published');\r\n\r\n return genericStatus;\r\n case 'information requested':\r\n genericStatus = this.i18n.translate('statusPipe:InformationRequested', {}, 'Information requested');\r\n\r\n return genericStatus;\r\n case 'on hold':\r\n genericStatus = this.i18n.translate('statusPipe:OnHold', {}, 'On hold');\r\n\r\n return genericStatus;\r\n case 'sanctioned':\r\n genericStatus = this.i18n.translate('statusPipe:Sanctioned', {}, 'Sanctioned');\r\n\r\n return genericStatus;\r\n case 'completed':\r\n genericStatus = this.i18n.translate('statusPipe:Completed', {}, 'Completed');\r\n\r\n return genericStatus;\r\n case 'queued':\r\n genericStatus = this.i18n.translate('statusPipe:Queued', {}, 'Queued');\r\n\r\n return genericStatus;\r\n case 'staging':\r\n genericStatus = this.i18n.translate('statusPipe:Staging', {}, 'Staging');\r\n\r\n return genericStatus;\r\n case 'finished':\r\n if (specialCase === GenericizeStatusSpecialCase.CHARITY_COMPARE) {\r\n genericStatus = this.i18n.translate('statusPipe:Pending', {}, 'Pending');\r\n } else {\r\n genericStatus = this.i18n.translate('statusPipe:Finished', {}, 'Finished');\r\n }\r\n\r\n return genericStatus;\r\n case 'in progress':\r\n genericStatus = this.i18n.translate('statusPipe:InProgress', {}, 'In progress');\r\n\r\n return genericStatus;\r\n case 'awaiting review':\r\n genericStatus = this.i18n.translate('statusPipe:AwaitingReview', {}, 'Awaiting review');\r\n\r\n return genericStatus;\r\n case 'revision submitted':\r\n genericStatus = this.i18n.translate('statusPipe:RevisionSubmitted', {}, 'Revision submitted');\r\n\r\n return genericStatus;\r\n case 'errored':\r\n genericStatus = this.i18n.translate('statusPipe:Errored', {}, 'Errored');\r\n\r\n return genericStatus;\r\n default:\r\n genericStatus = this.i18n.translate('statusPipe:Pending', {}, 'Pending');\r\n\r\n return genericStatus;\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { ACCOUNT_RESPONSE_CODE_MAP, CUSTOMER_RESPONSE_CODE_MAP, GiactCodeObjUI, GIACT_CODE_TYPE, VERIFICATION_RESPONSE_MAP } from '@core/typings/ui/giact-codes.typing';\r\nimport { InflectService } from '@yourcause/common';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\n\r\n@Pipe({\r\n name: 'nppGiactCodePipe'\r\n})\r\nexport class GiactCodePipe implements PipeTransform {\r\n\r\n GIACT_CODE_TYPE: GIACT_CODE_TYPE;\r\n verificationCodes: GiactCodeObjUI[] = VERIFICATION_RESPONSE_MAP;\r\n accountCodes: GiactCodeObjUI[] = ACCOUNT_RESPONSE_CODE_MAP;\r\n customerCodes: GiactCodeObjUI[] = CUSTOMER_RESPONSE_CODE_MAP;\r\n\r\n verificationCodeText = this.i18n.translate(\r\n 'bankInfo:textVerificationResponseCode',\r\n {},\r\n 'Verification response code'\r\n );\r\n accountCodeText = this.i18n.translate(\r\n 'bankInfo:textAccountResponseCode',\r\n {},\r\n 'Account response code'\r\n );\r\n customerCodeText = this.i18n.translate(\r\n 'bankInfo:textCustomerResponseCode',\r\n {},\r\n 'Customer response code'\r\n );\r\n constructor (\r\n private i18n: I18nService,\r\n public inflect: InflectService\r\n ) { }\r\n\r\n transform (id: number, type: GIACT_CODE_TYPE): string {\r\n let codeVal = '';\r\n let codeDescription = '';\r\n let codeLabel = '';\r\n let codeValTrans = '';\r\n let codeDescTrans = '';\r\n\r\n switch (type) {\r\n case GIACT_CODE_TYPE.VERIFICATION:\r\n codeVal = (this.verificationCodes.find((code) => code.id === id))?.value;\r\n codeDescription = (this.verificationCodes.find((code) => code.id === id))?.description;\r\n codeLabel = this.verificationCodeText;\r\n break;\r\n case GIACT_CODE_TYPE.ACCOUNT:\r\n codeVal = (this.accountCodes.find((code) => code.id === id))?.value;\r\n codeDescription = (this.accountCodes.find((code) => code.id === id))?.description;\r\n codeLabel = this.accountCodeText;\r\n break;\r\n case GIACT_CODE_TYPE.CUSTOMER:\r\n codeVal = (this.customerCodes.find((code) => code.id === id))?.value;\r\n codeDescription = (this.customerCodes.find((code) => code.id === id))?.description;\r\n codeLabel = this.customerCodeText;\r\n break;\r\n }\r\n codeValTrans = this.i18n.translate(\r\n `bankInfo:text${this.inflect.trimPuncAndPascalize(codeVal)}`,\r\n {},\r\n codeVal\r\n );\r\n codeDescTrans = this.i18n.translate(\r\n `bankInfo:text${this.inflect.trimPuncAndPascalize(codeDescription)}`,\r\n {},\r\n codeDescription\r\n );\r\n\r\n return codeLabel + ': ' + codeValTrans + ' - ' + codeDescTrans;\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'nppIntBankFieldLength'\r\n})\r\nexport class IntBankFieldLength implements PipeTransform {\r\n\r\n transform (countryCode: string, fieldName: string): any {\r\n const country = countryCode.toLowerCase();\r\n const field = fieldName.toLowerCase();\r\n\r\n return country === 'us' ? null : this.setMaxLength(field);\r\n }\r\n setMaxLength (fieldName: string) {\r\n switch (fieldName) {\r\n case 'bankname':\r\n case 'bankaddress':\r\n case 'accountname':\r\n return 105;\r\n case 'benefistreetaddress':\r\n case 'beneficity':\r\n case 'benefiphonenumber':\r\n case 'beneficontactname':\r\n return 60;\r\n default:\r\n return null;\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\n\r\n\r\n@Pipe({\r\n name: 'jobIntervalFrequency'\r\n})\r\nexport class JobIntervalFrequency implements PipeTransform {\r\n constructor (\r\n private readonly i18n: I18nService\r\n ) {\r\n }\r\n everyText = this.i18n.translate('common:textEvery', {}, 'Every');\r\n\r\n transform (interval: number, frequency: string): any {\r\n if (interval > 1) {\r\n return `${this.everyText} ${interval} ${frequency}s`;\r\n } else {\r\n return `${this.everyText} ${frequency}`;\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\n\r\n\r\n@Pipe({\r\n name: 'nppLocalizeBankField'\r\n})\r\nexport class LocalizeBankField implements PipeTransform {\r\n constructor (\r\n private readonly i18n: I18nService\r\n ) {}\r\n\r\n transform (bankField: string, country: string): string {\r\n let localizedBankField;\r\n const fieldName = bankField ? bankField.toLowerCase() : '';\r\n const countryCode = country ? country.toLowerCase() : '';\r\n switch (fieldName) {\r\n case 'benefitaxpayerid':\r\n switch (countryCode) {\r\n case 'ar':\r\n localizedBankField = this.i18n.translate('bankInfo:CUILArgentina', {}, 'CUIL (Workers Identification Number)');\r\n\r\n return localizedBankField;\r\n case 'br':\r\n localizedBankField = this.i18n.translate('bankInfo:TaxPayerIdBrazil', {}, 'CNPJ (taxpayer ID)');\r\n\r\n return localizedBankField;\r\n default:\r\n localizedBankField = this.i18n.translate('bankInfo:lblBenefiTaxPayerId', {}, 'Beneficiary\\'s tax payer id');\r\n\r\n return localizedBankField;\r\n }\r\n case 'otherroutingcode':\r\n switch (countryCode) {\r\n case 'cn':\r\n localizedBankField = this.i18n.translate('bankInfo:otherRoutingCodeChina', {}, 'CNAPS');\r\n\r\n return localizedBankField;\r\n default:\r\n localizedBankField = this.i18n.translate('bankInfo:lblOtherRoutingCode', {}, 'Other routing code');\r\n\r\n return localizedBankField;\r\n }\r\n case 'bankaccountnumber':\r\n switch (countryCode) {\r\n case 'cr':\r\n localizedBankField = this.i18n.translate('bankInfo:cuentaClienteCostaRica', {}, 'Cuenta Cliente');\r\n\r\n return localizedBankField;\r\n default:\r\n localizedBankField = this.i18n.translate('bankInfo:lblAccountNumber', {}, 'Account number');\r\n\r\n return localizedBankField;\r\n }\r\n case 'bankbranch':\r\n switch (countryCode) {\r\n case 'br':\r\n localizedBankField = this.i18n.translate('bankInfo:BankBranchBrazil', {}, 'Agencia number (bank branch number)');\r\n\r\n return localizedBankField;\r\n default:\r\n localizedBankField = this.i18n.translate('bankInfo:BankBranch', {}, 'Bank branch');\r\n\r\n return localizedBankField;\r\n }\r\n case 'cedulajuridica':\r\n localizedBankField = 'Cedula Juridica';\r\n\r\n return localizedBankField;\r\n case 'bsb':\r\n localizedBankField = 'BSB';\r\n\r\n return localizedBankField;\r\n case 'clabe':\r\n localizedBankField = 'Clabe';\r\n\r\n return localizedBankField;\r\n case 'nit':\r\n localizedBankField = 'NIT';\r\n\r\n return localizedBankField;\r\n case 'rut':\r\n localizedBankField = 'RUT';\r\n\r\n return localizedBankField;\r\n case 'ifsc code':\r\n localizedBankField = 'IFSC Code';\r\n\r\n return localizedBankField;\r\n case 'iban':\r\n localizedBankField = 'IBAN';\r\n\r\n return localizedBankField;\r\n default:\r\n return '';\r\n }\r\n }\r\n }\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\n\r\n\r\n@Pipe({\r\n name: 'nppLocalizeBankHelp'\r\n})\r\nexport class LocalizeBankHelp implements PipeTransform {\r\n constructor (\r\n private readonly i18n: I18nService\r\n ) {}\r\n\r\n transform (bankField: string, country: string): string {\r\n let localizedHelpText;\r\n const fieldName = bankField ? bankField.toLowerCase() : '';\r\n const countryCode = country ? country.toLowerCase() : '';\r\n switch (fieldName) {\r\n case 'bankbranch':\r\n switch (countryCode) {\r\n case 'br':\r\n localizedHelpText = this.i18n.translate('bankInfo:BankBranchHelpBrazil', {}, '3-7 digit numeric');\r\n\r\n return localizedHelpText;\r\n }\r\n\r\n return '';\r\n case 'benefitaxpayerid':\r\n switch (countryCode) {\r\n case 'br':\r\n localizedHelpText = this.i18n.translate('bankInfo:CNPJBrazilHelp', {}, '14-digit numeric');\r\n\r\n return localizedHelpText;\r\n case 'ar':\r\n localizedHelpText = this.i18n.translate('bankInfo:CUILArgentinaHelp', {}, 'This must be the word \\\"CUIL\\\" followed by a space and then 11-digit number. For example, CUIL 23875421458');\r\n\r\n return localizedHelpText;\r\n }\r\n\r\n return '';\r\n case 'bsb':\r\n switch (countryCode) {\r\n case 'au':\r\n localizedHelpText = this.i18n.translate('bankInfo:BSBAustraliaHelp', {}, '6-digit numeric');\r\n\r\n return localizedHelpText;\r\n }\r\n\r\n return '';\r\n case 'clabe':\r\n switch (countryCode) {\r\n case 'mx':\r\n localizedHelpText = this.i18n.translate('bankInfo:CLabeMexicoHelp', {}, '18 digits');\r\n\r\n return localizedHelpText;\r\n }\r\n\r\n return '';\r\n case 'bankaccountnumber':\r\n switch (countryCode) {\r\n case 'sg':\r\n localizedHelpText = this.i18n.translate('bankInfo:AccountNumberSingaporeHelp', {}, 'Account number can be no more than 11 characters');\r\n\r\n return localizedHelpText;\r\n case 'cr':\r\n localizedHelpText = this.i18n.translate('bankInfo:AccountNumberCostaRicaHelp', {}, '17 digits');\r\n\r\n return localizedHelpText;\r\n case 'hk':\r\n localizedHelpText = this.i18n.translate('bankInfo:AccountNumberHongKongHelp',\r\n {}, 'Account number can be no more than 9 characters');\r\n\r\n return localizedHelpText;\r\n case 'eg':\r\n localizedHelpText = this.i18n.translate('bankInfo:AccountNumberEgyptHelp',\r\n {}, 'National Bank of Egypt: 19 digits;
Bank of Alexandria: 12 digits;
Banque Misr: 14 digits;');\r\n\r\n return localizedHelpText;\r\n }\r\n\r\n return '';\r\n case 'otherroutingcode':\r\n switch (countryCode) {\r\n case 'ca':\r\n localizedHelpText = this.i18n.translate('bankInfo:otherRoutingCodeCanadaHelp', {}, '9-digit numeric, no spaces');\r\n\r\n return localizedHelpText;\r\n case 'cn':\r\n localizedHelpText = this.i18n.translate('bankInfo:otherRoutingCodeChinaHelp', {}, '14 characters (CN + 12 digits)');\r\n\r\n return localizedHelpText;\r\n }\r\n\r\n return '';\r\n case 'cedulajuridica':\r\n switch (countryCode) {\r\n case 'cr':\r\n localizedHelpText = this.i18n.translate('bankInfo:otherCedulaJuridicaCostaRicaHelp', {}, '9-12 digits');\r\n\r\n return localizedHelpText;\r\n }\r\n\r\n return '';\r\n case 'cuentacliente':\r\n switch (countryCode) {\r\n case 'cr':\r\n localizedHelpText = this.i18n.translate('bankInfo:cuentaClienteCostaRicaHelp', {}, '17 digits');\r\n\r\n return localizedHelpText;\r\n }\r\n\r\n return '';\r\n }\r\n\r\n return '';\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { InflectService } from '@yourcause/common';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\n\r\n@Pipe({\r\n name: 'nppLocalizedWithNameSpace'\r\n})\r\nexport class LocalizeWithNamespacePipe implements PipeTransform {\r\n\r\n constructor (\r\n private i18n: I18nService,\r\n private inflect: InflectService\r\n ) { }\r\n\r\n transform (\r\n textForTranslation: string,\r\n namespace: string\r\n ): string {\r\n return this.i18n.translate(\r\n `${namespace}:text${this.inflect.trimPuncAndPascalize(textForTranslation)}`,\r\n {},\r\n textForTranslation\r\n );\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { ExternalDonorInfo } from '@core/models/donation.model';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\n\r\n@Pipe({\r\n name: 'nppMatchedDonorInfoPipe'\r\n})\r\nexport class MatchedDonorInfoPipe implements PipeTransform {\r\nconstructor (\r\n private i18n: I18nService\r\n) { }\r\n\r\n transform (\r\n info: ExternalDonorInfo\r\n ): string {\r\n let returnVal: string;\r\n const primaryIsEmpty = Object.values(info.primaryAddress).every((val) => val === '');\r\n const secondaryIsEmpty = Object.values(info.secondaryAddress).every((val) => val === '');\r\n const nonNestedIsEmpty = Object.values(info).every((val) => {\r\n if (typeof val === 'string') {\r\n return val === '';\r\n }\r\n\r\n return !!val;\r\n });\r\n\r\n if (primaryIsEmpty && secondaryIsEmpty && nonNestedIsEmpty) {\r\n returnVal = '';\r\n } else if (!nonNestedIsEmpty) {\r\n returnVal = this.i18n.translate(\r\n 'common:textMatchForUser',\r\n {\r\n name: info.firstName + ' ' + info.lastName\r\n },\r\n 'Match for __name__'\r\n );\r\n }\r\n\r\n return returnVal;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'nppMergeComparision'\r\n})\r\nexport class MergeComparison implements PipeTransform {\r\n constructor () {}\r\n\r\n\r\n transform (value1: any, value2: any, fieldName: string): any {\r\n if (value1 && value2) {\r\n if (value1[fieldName] && value2[fieldName]) {\r\n return 'npo-stat-info text-warning';\r\n } else if (!value1[fieldName]) {\r\n return 'npo-stat-info text-secondary';\r\n } else if (!value2[fieldName]) {\r\n return 'npo-stat-info';\r\n }\r\n } else if (value1 && !value2) {\r\n if (!value1[fieldName]) {\r\n return 'npo-stat-info text-secondary';\r\n } else {\r\n return 'npo-stat-info';\r\n }\r\n } else {\r\n return 'npo-stat-info';\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { NotesAPI } from '@core/typings/api/notes.typing';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\n\r\n\r\n@Pipe({\r\n name: 'nppNoteType'\r\n})\r\nexport class NoteType implements PipeTransform {\r\n constructor (\r\n private readonly i18n: I18nService\r\n ) {}\r\n\r\n transform (value: number): any {\r\n let type;\r\n switch (value) {\r\n case NotesAPI.NoteType.GENERAL:\r\n type = this.i18n.translate(\r\n 'admin:textGeneral',\r\n {},\r\n 'General'\r\n );\r\n break;\r\n case NotesAPI.NoteType.OUTREACH_EMAIL:\r\n type = this.i18n.translate(\r\n 'admin:textOutreachEmail',\r\n {},\r\n 'Outreach email'\r\n );\r\n break;\r\n case NotesAPI.NoteType.VETTING:\r\n type = this.i18n.translate(\r\n 'common:textVetting',\r\n {},\r\n 'Vetting'\r\n );\r\n break;\r\n default:\r\n type = this.i18n.translate(\r\n 'admin:textGeneral',\r\n {},\r\n 'General'\r\n );\r\n }\r\n\r\n return type;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { Communications } from '@yourcause/common';\r\n\r\n@Pipe({\r\n name: 'npoCanPerformCommAction'\r\n})\r\nexport class NPOCommActionsPipe implements PipeTransform {\r\n\r\n transform (status: Communications.CommunicationStatuses, action: 'EDIT'|'SEND'|'DELETE'|'STAGE'): boolean {\r\n const nonEditableStatuses = [\r\n Communications.CommunicationStatuses.SENT\r\n ];\r\n const sendableStatuses = [\r\n Communications.CommunicationStatuses.READY_TO_BE_SENT\r\n ];\r\n const nonDeletableStatuses = [\r\n Communications.CommunicationStatuses.SENT,\r\n Communications.CommunicationStatuses.COMPLETED\r\n ];\r\n const nonStageableStatuses = [\r\n Communications.CommunicationStatuses.SENT\r\n ];\r\n switch (action) {\r\n case ('EDIT'):\r\n return !nonEditableStatuses.includes(status);\r\n case ('SEND'):\r\n return sendableStatuses.includes(status);\r\n case ('STAGE'):\r\n return !nonStageableStatuses.includes(status);\r\n default:\r\n case ('DELETE'):\r\n return !nonDeletableStatuses.includes(status);\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { InflectService } from '@yourcause/common';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { ReasonService } from '../../reasons/reasons.service';\r\n\r\n\r\n@Pipe({\r\n name: 'nppNpoInactiveMessage'\r\n})\r\nexport class NpoInactiveMessage implements PipeTransform {\r\n\r\n reasonDisplayText: string;\r\n inactiveAlertReasonText: string;\r\n inactiveReasons = this.reasonService.allReasonsForNpoDisplay;\r\n otherText = this.i18n.translate(\r\n 'common:textOther',\r\n {},\r\n 'Other'\r\n );\r\n inactiveAlertMessage = this.i18n.translate(\r\n 'nonprofits:textNoLongerActiveMessage',\r\n {},\r\n 'This organization is no longer active. The reason is listed below. If you feel this change was made in error, contact us.'\r\n );\r\n inactiveWithChaptersAlertMessage = this.i18n.translate(\r\n 'nonprofits:textNoLongerActiveWithChaptersMessage',\r\n {},\r\n `This organization, along with all of it’s chapter organizations shown below, are no longer active. The reason is listed below. If you feel this change was made in error, contact us.`\r\n );\r\n\r\n constructor (\r\n private i18n: I18nService,\r\n public inflect: InflectService,\r\n private reasonService: ReasonService\r\n ) {}\r\n\r\n transform (id: number, hasChapters: boolean): string {\r\n const inactiveReason = (this.inactiveReasons.find((reason) => reason.id === id))?.value;\r\n this.reasonDisplayText = !!inactiveReason ?\r\n this.i18n.translate(\r\n `reason:text${this.inflect.pascalize(inactiveReason)}`,\r\n {},\r\n inactiveReason\r\n ) :\r\n this.otherText;\r\n this.inactiveAlertReasonText = this.i18n.translate(\r\n 'nonprofits:textNoLongerActiveReason',\r\n {\r\n deactivationReason: this.reasonDisplayText\r\n },\r\n 'Reason for being marked as inactive: __deactivationReason__'\r\n );\r\n\r\n return `${hasChapters ?\r\n this.inactiveWithChaptersAlertMessage :\r\n this.inactiveAlertMessage\r\n }
${this.inactiveAlertReasonText}`;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { SearchMoreDetails } from '@core/models/npo.model';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\n\r\n@Pipe({\r\n name: 'nppRegAuthAttrs'\r\n})\r\nexport class RegistrationAuthAttrs implements PipeTransform {\r\n naText = this.i18n.translate(\r\n 'common:textNotApplicableNA',\r\n {},\r\n 'N/A'\r\n );\r\n\r\n constructor (\r\n private i18n: I18nService\r\n ) { }\r\n\r\n transform (\r\n nonprofitDetails: SearchMoreDetails,\r\n defaultValue: string, // RegistrationAuthorityAttribute - i18nDefaultValue\r\n isBool: boolean, // should return boolean\r\n isDesc: boolean, // should return string (description)\r\n translateLabel = true // so we don't translate FP/TS acronyms\r\n ) {\r\n if (!!nonprofitDetails) {\r\n let returnVal: any;\r\n if (isBool || isDesc) {\r\n nonprofitDetails.registrationAuthorityAttributes?.find((attr) => {\r\n if (attr.i18nDefaultValue === defaultValue) {\r\n if (isBool) {\r\n returnVal = attr.value === 'True' ? true : false ;\r\n } else {\r\n returnVal = attr.value !== '' ?\r\n attr.value :\r\n this.naText;\r\n }\r\n }\r\n });\r\n } else if (!isBool && !isDesc) {\r\n nonprofitDetails.registrationAuthorityAttributes?.find((attr) => {\r\n if (attr.i18nDefaultValue === defaultValue) {\r\n returnVal = translateLabel ?\r\n this.i18n.translate(\r\n attr.i18nKey,\r\n {},\r\n attr.i18nDefaultValue\r\n ) :\r\n attr.i18nDefaultValue;\r\n }\r\n });\r\n }\r\n\r\n return returnVal;\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { InflectService } from '@yourcause/common';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\n\r\n@Pipe({\r\n name: 'nppSdgLocalizedName'\r\n})\r\nexport class SdgLocalizedName implements PipeTransform {\r\n\r\n constructor (\r\n private i18n: I18nService,\r\n private inflect: InflectService\r\n ) { }\r\n\r\n transform (name: string): string {\r\n return this.i18n.translate(\r\n `sdgs:text${this.inflect.trimPuncAndPascalize(name)}`,\r\n {},\r\n name\r\n );\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { VolunteerShift } from '../models/volunteer-event.model';\r\n\r\n\r\n@Pipe({\r\n name: 'nppShiftCapacity'\r\n})\r\nexport class ShiftCapacity implements PipeTransform {\r\n constructor (\r\n private readonly i18n: I18nService\r\n ) {}\r\n unlimitedText = this.i18n.translate('common:textUnlimited', {}, 'Unlimited');\r\n\r\n\r\n\r\n transform (shift: VolunteerShift): any {\r\n if (shift.capacity) {\r\n return `${shift.numberOfParticipants}/${shift.capacity}`;\r\n } else {\r\n return this.unlimitedText;\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { AuthService } from '../services/auth.service';\r\n\r\n@Pipe({\r\n name: 'nppShowIfYc'\r\n})\r\nexport class ShowIfYc implements PipeTransform {\r\n constructor (\r\n private readonly authService: AuthService\r\n ) {}\r\n get isYcAdminOrSupport () {\r\n return this.authService.isYcAdminOrSupport();\r\n }\r\n\r\n\r\n transform (value: any): any {\r\n if (this.isYcAdminOrSupport) {\r\n return value;\r\n } else {\r\n return 'YourCause';\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'nppStatusIcon'\r\n})\r\nexport class StatusIcon implements PipeTransform {\r\n constructor () {}\r\n\r\n transform (value: any): any {\r\n const status = ('' + value).toLowerCase();\r\n switch (status) {\r\n case 'true':\r\n case 'approved':\r\n case 'approved - ed':\r\n case 'published':\r\n case 'cleared':\r\n case 'verified':\r\n return 'check-circle text-success';\r\n case 'expired':\r\n case 'no application':\r\n return 'minus-circle text-warning';\r\n case 'on hold':\r\n return 'hand-paper text-warning';\r\n case 'on hold pending billing':\r\n return 'pause-circle text-warning';\r\n case 'false':\r\n case 'rejected':\r\n case 'declined - ed':\r\n case 'sanctioned':\r\n case 'denied':\r\n case 'declined':\r\n return 'times-circle text-danger';\r\n case 'draft':\r\n case 'information requested':\r\n return 'pencil text-info';\r\n case 'in progress':\r\n return 'spinner text-grey';\r\n case 'cancelled':\r\n return 'trash text-danger';\r\n case 'pending':\r\n case 'submitted':\r\n case 'awaiting review':\r\n case 'revision submitted':\r\n case 'routed to vetting authority':\r\n default:\r\n return 'ellipsis-h text-grey';\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'nppStringCommaSpace'\r\n})\r\nexport class StringCommaSpacePipe implements PipeTransform {\r\n constructor (\r\n ) { }\r\n\r\n transform (val: string): string {\r\n const stringWithSpaces = val.replace(/,/g, ', ');\r\n\r\n return stringWithSpaces;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { UserRolePaginationModel, YOURCAUSE_USER_ROLE_MAP_BY_ID } from '@core/models/yourcause-user.model';\r\n@Pipe({\r\n name: 'nppUserRolesList'\r\n})\r\nexport class UserRolesPipe implements PipeTransform {\r\n\r\n constructor () {}\r\n\r\n transform (user: UserRolePaginationModel): string {\r\n const roleArray: string[] = [];\r\n let html = '';\r\n if (user) {\r\n const roleIds = user.roles.map((role) => {\r\n return role.roleId;\r\n });\r\n roleIds.forEach((role) => {\r\n const roleMapId = role as keyof typeof YOURCAUSE_USER_ROLE_MAP_BY_ID;\r\n const roleString = YOURCAUSE_USER_ROLE_MAP_BY_ID[roleMapId];\r\n roleArray.push(roleString);\r\n });\r\n const sortedRoles = roleArray.sort();\r\n sortedRoles.forEach((role) => {\r\n html += '' + role + '
';\r\n });\r\n }\r\n\r\n return html;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { OrganizationTypeForVetting } from '@core/typings/vetting-application.typing';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\n\r\n\r\n@Pipe({\r\n name: 'nppVettingOrgType'\r\n})\r\nexport class VettingOrganizationTypePipe implements PipeTransform {\r\n constructor (\r\n private i18n: I18nService\r\n ) { }\r\n\r\n transform (typeId: OrganizationTypeForVetting) {\r\n let typeDescription: string;\r\n switch (typeId) {\r\n case OrganizationTypeForVetting.STANDARD:\r\n typeDescription = this.i18n.translate(\r\n 'vetting:textStandardOrganization',\r\n {},\r\n 'Standard 501(c)3 nonprofit organization'\r\n );\r\n break;\r\n case OrganizationTypeForVetting.EXEMPT:\r\n typeDescription = this.i18n.translate(\r\n 'vetting:textExemptOrganization',\r\n {},\r\n 'Nonprofit organization that is exempt under a group exemption'\r\n );\r\n break;\r\n case OrganizationTypeForVetting.SUPPORTING:\r\n typeDescription = this.i18n.translate(\r\n 'vetting:textSupportingOrganization',\r\n {},\r\n `Nonprofit that is considered a \"Supporting Organization\" by the IRS`\r\n );\r\n break;\r\n case OrganizationTypeForVetting.UNKNOWN:\r\n typeDescription = this.i18n.translate(\r\n 'nonprofits:textUnknown',\r\n {},\r\n 'Unknown'\r\n );\r\n break;\r\n case OrganizationTypeForVetting.STAND_ALONE_CHURCH:\r\n typeDescription = this.i18n.translate(\r\n 'vetting:textStandAloneChurch',\r\n {},\r\n 'Stand Alone Church (does not legally fall under a group exemption)'\r\n );\r\n break;\r\n case OrganizationTypeForVetting.GOVERNMENT_ENTITY:\r\n typeDescription = this.i18n.translate(\r\n 'vetting:textGovernmentEntity',\r\n {},\r\n 'Government Entity'\r\n );\r\n }\r\n\r\n return typeDescription;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { EXTERNAL_SYSTEMS } from '@core/models/donation.model';\r\nimport { VettingRequestStatusId } from '@core/models/status.model';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\n\r\n\r\n@Pipe({\r\n name: 'nppVettingRequestStatus'\r\n})\r\nexport class VettingRequestStatus implements PipeTransform {\r\n EXTERNAL_SYSTEMS = EXTERNAL_SYSTEMS;\r\n constructor (\r\n private readonly i18n: I18nService\r\n ) {}\r\n\r\n transform (\r\n statusId: number,\r\n externalSystemTypeId: number,\r\n vettingStatus: string\r\n ): string {\r\n let returnStatus;\r\n switch (statusId) {\r\n case VettingRequestStatusId.REQUEST_SUBMITTED:\r\n if (externalSystemTypeId === EXTERNAL_SYSTEMS.CSRConnect) {\r\n returnStatus = this.i18n.translate('statusPipe:textCSRRequestSubmitted', {}, 'CSR request submitted');\r\n } else if (externalSystemTypeId === EXTERNAL_SYSTEMS.GrantsConnect) {\r\n returnStatus = this.i18n.translate('statusPipe:textGCRequestSubmitted', {}, 'GC request submitted');\r\n } else if (!externalSystemTypeId) {\r\n returnStatus = this.i18n.translate('vetting:textInternalRequestSubmitted', {}, 'Internal request submitted');\r\n }\r\n break;\r\n default:\r\n returnStatus = this.i18n.translate(`statusPipe:textStatusId${statusId}`, {}, vettingStatus);\r\n }\r\n\r\n return returnStatus;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { EXTERNAL_SYSTEMS } from '@core/models/donation.model';\r\nimport { VettingRequestStatusId } from '@core/models/status.model';\r\nimport { VettingRequestAPI } from '@core/typings/api/vetting-request.typing';\r\n\r\n@Pipe({\r\n name: 'nppVettingRequestedBy'\r\n})\r\nexport class VettingRequestedBy implements PipeTransform {\r\n VettingRequestAPI = VettingRequestAPI;\r\n EXTERNAL_SYSTEMS = EXTERNAL_SYSTEMS;\r\n transform (\r\n statusId: number,\r\n row: VettingRequestAPI.VettingRequestDisplay\r\n ): string {\r\n let requestedBy;\r\n switch (statusId) {\r\n case VettingRequestStatusId.REQUEST_SUBMITTED:\r\n requestedBy = row.affiliateEmployeeFirstName ?\r\n (row.affiliateEmployeeFirstName + ' ' + row.affiliateEmployeeLastName) :\r\n '';\r\n break;\r\n default:\r\n requestedBy = row.affiliateEmployeeFirstName ?\r\n (row.affiliateEmployeeFirstName + ' ' + row.affiliateEmployeeLastName) :\r\n row.createdByGcUser ?\r\n row.createdByGcUser : '';\r\n }\r\n\r\n return requestedBy;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'nppVettingType'\r\n})\r\nexport class VettingTypePipe implements PipeTransform {\r\n constructor (\r\n ) { }\r\n\r\n transform (val: string|number): string {\r\n switch (val) {\r\n case 1:\r\n case 'ED':\r\n return 'International';\r\n case 3:\r\n case 'Standard':\r\n return 'Standard';\r\n case 4:\r\n case 'Domestic Vetting':\r\n default:\r\n return 'Domestic';\r\n case 5:\r\n case 'Partner':\r\n return 'Partner';\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { VolunteerEventService } from '../../volunteer/services/volunteer-event.service';\r\n\r\n\r\n@Pipe({\r\n name: 'nppVolunteerPartners'\r\n})\r\nexport class VolunteerCommunityPartnersPipe implements PipeTransform {\r\n communityPartners = this.volunteerEventService.communityPartners;\r\n allCommunitiesLocalized = this.i18n.translate(\r\n 'volunteer:lblAllCommunities',\r\n {},\r\n 'All communities'\r\n );\r\n constructor (\r\n private volunteerEventService: VolunteerEventService,\r\n private i18n: I18nService\r\n ) { }\r\n\r\n transform (partnerId: number): string {\r\n if (!!partnerId) {\r\n return this.communityPartners?.find((partner) => {\r\n return partner.affiliateId === partnerId;\r\n })?.name;\r\n } else {\r\n return this.allCommunitiesLocalized;\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { CsrApprovalStatus, EventActionScenario, VolunteerEvent } from '@core/models/volunteer-event.model';\r\n\r\n@Pipe({\r\n name: 'nppEventAction'\r\n})\r\nexport class VolunteerEventActionPipe implements PipeTransform {\r\n row: VolunteerEvent;\r\n npoIsActive: boolean;\r\n scenario: EventActionScenario;\r\n\r\n transform (\r\n row: VolunteerEvent,\r\n npoIsActive: boolean,\r\n scenario: EventActionScenario\r\n ): boolean {\r\n this.row = row;\r\n this.npoIsActive = npoIsActive;\r\n this.scenario = scenario;\r\n\r\n if (scenario !== EventActionScenario.SHOW_MENU) {\r\n return this.validateOneScenario();\r\n } else {\r\n return this.canManage ||\r\n this.canCopyOrRemove ||\r\n this.canPublish ||\r\n this.canView ||\r\n this.canSubmit;\r\n }\r\n }\r\n\r\n validateOneScenario (): boolean {\r\n switch (this.scenario) {\r\n case EventActionScenario.MANAGE:\r\n return this.canManage;\r\n case EventActionScenario.PUBLISH:\r\n return this.canPublish;\r\n case EventActionScenario.VIEW:\r\n return this.canView;\r\n case EventActionScenario.SUBMIT:\r\n return this.canSubmit;\r\n default:\r\n case EventActionScenario.COPY_REMOVE:\r\n return this.canCopyOrRemove;\r\n }\r\n }\r\n\r\n get canManage (): boolean {\r\n return this.npoIsActive &&\r\n ((this.row.isDraft && !this.row.approvalStatus) ||\r\n this.row.approvalStatus === CsrApprovalStatus.RequestChange);\r\n }\r\n\r\n get canView (): boolean {\r\n return (!this.row.isDraft && !this.row.approvalStatus) ||\r\n (\r\n this.row.requiresApproval &&\r\n (this.row.approvalStatus !== null &&\r\n this.row.approvalStatus !== CsrApprovalStatus.RequestChange)\r\n );\r\n }\r\n\r\n get canCopyOrRemove (): boolean {\r\n return this.npoIsActive;\r\n }\r\n\r\n get canPublish (): boolean {\r\n return this.npoIsActive &&\r\n this.row.isDraft &&\r\n !this.row.requiresApproval &&\r\n (\r\n !this.row.customQuestionUrl ||\r\n (!!this.row.customQuestionUrl &&\r\n !!this.row.customQuestionSetResponseId)\r\n );\r\n }\r\n\r\n get canSubmit (): boolean {\r\n return this.npoIsActive &&\r\n this.row.isDraft &&\r\n this.row.requiresApproval &&\r\n !this.row.approvalStatus &&\r\n (\r\n !this.row.customQuestionUrl ||\r\n (!!this.row.customQuestionUrl &&\r\n !!this.row.customQuestionSetResponseId)\r\n );\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { set } from 'date-fns';\r\nimport { VolunteerEvent } from '../models/volunteer-event.model';\r\nimport { DATE_TIME_FORMAT, DateService } from '@yourcause/common/date';\r\n\r\n@Pipe({\r\n name: 'nppVolunteerEventDate'\r\n})\r\nexport class VolunteerEventDate implements PipeTransform {\r\n constructor (\r\n private dateService: DateService\r\n ) { }\r\n\r\n transform (event: VolunteerEvent, context: 'eventStart'|'eventEnd'): any {\r\n let returnDate;\r\n switch (context) {\r\n case 'eventStart':\r\n const startDate = set(new Date(event.originalStartDate), {\r\n hours: event.startHours,\r\n minutes: event.startMinutes\r\n });\r\n returnDate = this.dateService.formatDate(startDate, DATE_TIME_FORMAT);\r\n break;\r\n case 'eventEnd':\r\n const endDate = set(new Date(event.originalEndDate), {\r\n hours: event.endHours,\r\n minutes: event.endMinutes\r\n });\r\n returnDate = this.dateService.formatDate(endDate, DATE_TIME_FORMAT);\r\n break;\r\n }\r\n\r\n return returnDate;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\n\r\n\r\n@Pipe({\r\n name: 'nppEventStatus'\r\n})\r\nexport class EventStatus implements PipeTransform {\r\n constructor (\r\n private readonly i18n: I18nService\r\n ) {}\r\n\r\n transform (value: any, isDraft: boolean): any {\r\n // isDraft check for Events that were created before Approval Statuses\r\n // Live replaces Published\r\n let eventStatus;\r\n switch (value) {\r\n case null:\r\n case undefined:\r\n case 0:\r\n if (isDraft) {\r\n eventStatus = this.i18n.translate('common:textDraft', {}, 'Draft');\r\n\r\n return eventStatus;\r\n }\r\n eventStatus = this.i18n.translate('common:textLive', {}, 'Live');\r\n\r\n return eventStatus;\r\n case 1:\r\n eventStatus = this.i18n.translate('common:textLive', {}, 'Live');\r\n\r\n return eventStatus;\r\n case 2:\r\n eventStatus = this.i18n.translate('common:textDeclined', {}, 'Declined');\r\n\r\n return eventStatus;\r\n case 3:\r\n eventStatus = this.i18n.translate('common:textPending', {}, 'Pending');\r\n\r\n return eventStatus;\r\n case 4:\r\n eventStatus = this.i18n.translate('common:textChangesRequested', {}, 'Changes Requested');\r\n\r\n return eventStatus;\r\n default:\r\n eventStatus = this.i18n.translate('common:textDraft', {}, 'Draft');\r\n\r\n return eventStatus;\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { VolunteerHours } from '@core/models/volunteer-hours.model';\r\n\r\n@Pipe({\r\n name: 'nppParticipantCount'\r\n})\r\nexport class VolunteerParticipantCountPipe implements PipeTransform {\r\n\r\n transform (obj: VolunteerHours): number {\r\n let totalHours = 0;\r\n if (!!obj) {\r\n totalHours = (obj.events || []).reduce((acc, value) => {\r\n return acc + +value.totalParticipants;\r\n }, 0);\r\n }\r\n\r\n return totalHours;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { addDays, set } from 'date-fns';\r\nimport { VolunteerEvent, VolunteerShift } from '../models/volunteer-event.model';\r\nimport { DATE_TIME_FORMAT, DateService } from '@yourcause/common/date';\r\n\r\n@Pipe({\r\n name: 'nppVolunteerShiftDates'\r\n})\r\nexport class VolunteerShiftDates implements PipeTransform {\r\n constructor (\r\n private dateService: DateService\r\n ) { }\r\n\r\n transform (\r\n shift: VolunteerShift,\r\n event: VolunteerEvent,\r\n context: 'shiftStart'|'shiftEnd'\r\n ): any {\r\n let returnDate;\r\n switch (context) {\r\n case 'shiftStart':\r\n const startDate = addDays(\r\n set(new Date(event.originalStartDate), {\r\n hours: shift.startHours,\r\n minutes: shift.startMinutes\r\n }),\r\n shift.startDay - 1\r\n );\r\n returnDate = this.dateService.formatDate(startDate, DATE_TIME_FORMAT);\r\n break;\r\n case 'shiftEnd':\r\n const endDate = addDays(\r\n set(new Date(event.originalStartDate), {\r\n hours: shift.endHours,\r\n minutes: shift.endMinutes\r\n }),\r\n shift.startDay + shift.numberOfDays - 2\r\n );\r\n returnDate = this.dateService.formatDate(endDate, DATE_TIME_FORMAT);\r\n break;\r\n }\r\n\r\n return returnDate;\r\n }\r\n}\r\n","import { inject } from '@angular/core';\r\nimport { ResolveFn } from '@angular/router';\r\nimport { AccountService } from '@core/services/account.service';\r\n\r\nexport const accountDetailsResolver: ResolveFn = async () => {\r\n await inject(AccountService).fetchMyAccountDetails();\r\n}","import { inject } from '@angular/core';\r\nimport { TokenService } from '@core/services/token/token.service';\r\nimport { NonprofitService } from '../../nonprofit/nonprofit.service';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { ResolveFn } from '@angular/router';\r\nimport { NonprofitAPI } from '@core/models/npo.model';\r\n\r\nexport const activeNpoResolver: ResolveFn = async () => {\r\n const tokenService = inject(TokenService);\r\n const authService = inject(AuthService);\r\n const nonprofitService = inject(NonprofitService);\r\n\r\n const loggedIn = tokenService.getIsLoggedIn();\r\n const tokenInfo = tokenService.tokenInfo;\r\n\r\n if (loggedIn &&\r\n !!tokenInfo?.NonprofitIdArr &&\r\n !authService.isYcAdminOrSupport()\r\n ) {\r\n const jwt = tokenService.tokenInfo;\r\n if (\r\n !nonprofitService.activeNpo\r\n ) {\r\n let selectedNpo = nonprofitService.selectedNpo;\r\n\r\n if (!jwt.NonprofitIdArr.includes(selectedNpo)) {\r\n selectedNpo = +jwt.NonprofitIdArr[0];\r\n }\r\n nonprofitService.setSelectedNpo(\r\n selectedNpo,\r\n true\r\n );\r\n tokenService.setActiveNpoId(selectedNpo);\r\n if (!selectedNpo) {\r\n return nonprofitService.placeholder;\r\n }\r\n\r\n return nonprofitService.placeholder;\r\n }\r\n\r\n return nonprofitService.activeNpo;\r\n }\r\n\r\n return nonprofitService.placeholder;\r\n}\r\n\r\n","import { inject } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, ResolveFn } from '@angular/router';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\n\r\nexport const localeResolver: ResolveFn = (\r\n route: ActivatedRouteSnapshot\r\n) => {\r\n return inject(I18nService).namespaceReady(route.data.namespace);\r\n}\r\n\r\n","import { inject } from '@angular/core';\r\nimport { ResolveFn } from '@angular/router';\r\nimport { FinanceService } from '@core/services/finance.service';\r\n\r\nexport const matchRequestResolver: ResolveFn = async () => {\r\n await inject(FinanceService).setMatchRequests();\r\n}\r\n","import { inject } from '@angular/core';\r\nimport { FinanceService } from '@core/services/finance.service';\r\nimport { ResolveFn } from '@angular/router';\r\n\r\nexport const pendingDisbursementsResolver: ResolveFn = async () => {\r\n await inject(FinanceService).setPendingDisbursements();\r\n}\r\n","import { inject } from \"@angular/core\";\r\nimport { ResolveFn } from \"@angular/router\";\r\nimport { SubmittedSupportRequestsService } from \"ClientApp/app/submitted-support-requests/services/submitted-support-requests.service\";\r\n\r\nexport const SupportRequestStatusesResolver: ResolveFn = async () => {\r\n await inject(SubmittedSupportRequestsService).getSupportRequestStatuses();\r\n\r\n return true;\r\n}\r\n","import { inject } from '@angular/core';\r\nimport { ResolveFn } from '@angular/router';\r\nimport { AuthService } from '@core/services/auth.service';\r\n\r\nexport const termsOfServiceLinksResolver: ResolveFn = () => {\r\n return inject(AuthService).setTermsOfServiceLinks();\r\n};\r\n","import { inject } from '@angular/core';\r\nimport { TourStorageService } from '../services/tour-storage.service';\r\nimport { lastValueFrom } from 'rxjs';\r\nimport { ResolveFn } from '@angular/router';\r\n\r\nexport const tourResolver: ResolveFn = async () => {\r\n const tourStorageService = inject(TourStorageService);\r\n await lastValueFrom(tourStorageService.getCompletedTours());\r\n}\r\n\r\n","import { inject } from '@angular/core';\r\nimport { AuthService } from '@core/services/auth.service';\r\nimport { TokenService } from '@core/services/token/token.service';\r\nimport { NonprofitService } from '../../nonprofit/nonprofit.service';\r\nimport { ResolveFn } from '@angular/router';\r\n\r\nexport const unsetActiveNpoResolver: ResolveFn = async () => {\r\n const nonprofitService = inject(NonprofitService);\r\n const authService = inject(AuthService);\r\n const tokenService = inject(TokenService);\r\n\r\n if (!!nonprofitService.selectedNpo &&\r\n !!nonprofitService.activeNpo &&\r\n authService.isInternalAdmin()\r\n ) {\r\n nonprofitService.setSelectedNpo(undefined);\r\n tokenService.setActiveNpoId(undefined);\r\n } else if (!nonprofitService.activeNpo) {\r\n return true;\r\n }\r\n\r\n return false;\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { AccountDetails, DeactivationFlagsResponse, RemoveUserRolesPayload, UserLoginClaims } from '@core/models/account.model';\r\nimport { NonprofitBlockDisplayModel } from '@core/models/npo.model';\r\nimport { HttpRestService } from '@core/services/http-rest.service';\r\nimport { APIResponse } from '@yourcause/common';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AccountResources {\r\n\r\n constructor (\r\n private http: HttpClient,\r\n private httpRestService: HttpRestService\r\n ) {\r\n this.http;\r\n }\r\n\r\n fetchMyAccountDetails (): Promise> {\r\n const endpoint = '/api/MyAccount/GetAccountDetail';\r\n const response = this.httpRestService.get>(\r\n endpoint\r\n );\r\n\r\n return response;\r\n }\r\n\r\n claimANonprofit (nonprofitId: number):\r\n Promise> {\r\n const endpoint = '/api/User/ClaimANonprofit';\r\n const response = this.httpRestService.post>(\r\n endpoint,\r\n {\r\n nonprofitId\r\n }\r\n );\r\n\r\n return response;\r\n }\r\n\r\n updateMyAccountDetails (payload: AccountDetails):\r\n Promise> {\r\n const endpoint = '/api/MyAccount/UpdateAccountDetail';\r\n const response = this.httpRestService.post>(\r\n endpoint,\r\n payload\r\n );\r\n\r\n return response;\r\n }\r\n\r\n deactivateAccount (currentPassword: string) {\r\n const endpoint = 'api/Account/Manage/DeactivateAccount';\r\n const response = this.httpRestService.post(\r\n endpoint,\r\n {\r\n clearPersonalData: true,\r\n currentPassword\r\n }\r\n );\r\n\r\n return response;\r\n }\r\n\r\n getUsersDeactivationFlags (userId: number) {\r\n const payload = {\r\n userId\r\n };\r\n const endpoint = 'api/User/GetUsersDeactivationFlags';\r\n const response = this.httpRestService.post>(\r\n endpoint,\r\n payload\r\n );\r\n\r\n return response;\r\n }\r\n\r\n removeUserRoles (payload: RemoveUserRolesPayload) {\r\n const endpoint = 'api/User/RemoveUserRoles';\r\n\r\n return this.httpRestService.post(\r\n endpoint,\r\n payload\r\n );\r\n }\r\n\r\n async getAssociatedNonprofitsForUser (email: string) {\r\n const endpoint = 'api/Account/Manage/GetAssociatedNonprofitsForUser';\r\n\r\n return this.httpRestService.post>(\r\n endpoint,\r\n { email }\r\n );\r\n }\r\n\r\n async getUserClaims () {\r\n const endpoint = 'api/User/GetUserClaims';\r\n const response = this.httpRestService.get>(\r\n endpoint\r\n );\r\n\r\n return response;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BlackbaudSsoRouteResponse, TermsOfServiceModelResponse } from '@core/models/auth.model';\r\nimport { HttpRestService } from '@core/services/http-rest.service';\r\nimport { DetermineSignInFlow, LinkToBbidPayload } from '@core/typings/bbid.typing';\r\nimport { APIResponse } from '@yourcause/common';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthResources {\r\n\r\n constructor (\r\n private httpRestService: HttpRestService\r\n ) { }\r\n\r\n acknowledgeTermsOfService (termsOfServiceId: number) {\r\n const endpoint = `/api/TermsOfService/AcknowledgeTermsOfService?termsOfServiceId=${termsOfServiceId}`;\r\n\r\n return this.httpRestService.post(endpoint, {});\r\n }\r\n\r\n getBlackbaudLoginRoute (): Promise> {\r\n const endpoint = 'api/admin/Sso/SignInUrl';\r\n\r\n return this.httpRestService.get(endpoint);\r\n }\r\n\r\n getLatestEffectiveTermsOfService (): Promise> {\r\n const endpoint = 'api/TermsOfService/TermsOfService';\r\n\r\n return this.httpRestService.get(endpoint);\r\n }\r\n\r\n getUserTermsOfService (): Promise> {\r\n const endpoint = 'api/TermsOfService/UserTermsOfService';\r\n\r\n return this.httpRestService.get(endpoint);\r\n }\r\n\r\n getDetermineSignInFlow (email: string): Promise {\r\n const encodedEmail = encodeURIComponent(email);\r\n const endpoint = `api/token/DetermineUserSigninFlow?email=${encodedEmail}`;\r\n\r\n return this.httpRestService.get(endpoint);\r\n }\r\n\r\n verifyBbidLink () {\r\n const endpoint = 'api/user/VerifyBlackbaudIdLink';\r\n\r\n return this.httpRestService.get(endpoint);\r\n }\r\n\r\n trackBbidLogin () {\r\n const endpoint = 'api/user/BlackbaudIdLogin';\r\n\r\n return this.httpRestService.post(endpoint, {});\r\n }\r\n\r\n linkToBbidAccount (payload: LinkToBbidPayload) {\r\n const endpoint = 'api/token/LinkToBlackbaudIdAccount';\r\n\r\n return this.httpRestService.post(endpoint, payload);\r\n }\r\n\r\n syncInfoFromBBID (firstName: string, lastName: string) {\r\n const endpoint = 'api/MyAccount/SyncBlackbaudDetail';\r\n\r\n return this.httpRestService.put(endpoint, {\r\n firstName,\r\n lastName\r\n });\r\n }\r\n\r\n async createNPOAccountForBbid (\r\n firstName: string,\r\n lastName: string,\r\n email: string,\r\n languageCulture: string\r\n ) {\r\n const endpoint = 'api/user/CreateUserForBlackbaudId';\r\n\r\n return this.httpRestService.post(endpoint, {\r\n email,\r\n firstName,\r\n lastName,\r\n languageCulture\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Nonprofit } from '@core/models/npo.model';\r\nimport { SubsectionCode } from '@core/models/subsection-codes.model';\r\nimport { HttpRestService } from '@core/services/http-rest.service';\r\nimport { APIResponse, Classification } from '@yourcause/common';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ClassificationResources {\r\n constructor (\r\n private httpRestService: HttpRestService\r\n ) {\r\n }\r\n\r\n getClassifications () {\r\n return this.httpRestService.get>>(\r\n '/api/NonprofitClassification/GetAllClassificationsFlatList?classificationTypeId=1'\r\n );\r\n }\r\n\r\n async setClassification (payload: Partial) {\r\n return this.httpRestService.post(\r\n '/api/NonprofitClassification/UpdateNonprofitClassification',\r\n payload.classificationInfo\r\n );\r\n }\r\n\r\n getSubsections () {\r\n return this.httpRestService.get>(\r\n '/api/Nonprofit/GetSubsectionCodeList?AllowManualAddOnly=false'\r\n );\r\n }\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { Transaction } from '@core/models/donation.model';\r\nimport { PendingDisbursementSummary } from '@core/models/finance.model';\r\nimport { PaymentDetailsApi } from '@core/models/payment.model';\r\nimport { HttpRestService } from '@core/services/http-rest.service';\r\nimport { APIResponse, APIResult, PaginatedResponse, PaginationOptions } from '@yourcause/common';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class FinanceResources {\r\n readonly transactionsDownloadEndpoint = 'api/Nonprofit/Finance/TransactionsDownload'; // Transactions page\r\n readonly paymentsDownloadEndpoint = 'api/Nonprofit/Finance/PaymentsDownload'; // Payments page\r\n readonly paymentTransactionsDownloadEndpoint = 'api/Nonprofit/Finance/PaymentTransactionsDownload'; // Payments page - \"transactions for one or multiple payments\"\r\n\r\n constructor (\r\n private http: HttpRestService\r\n ) { }\r\n\r\n getPendingDisbursements () {\r\n return this.http.get>(\r\n '/api/Nonprofit/Finance/TransactionsPendingDisbursementSummary',\r\n {}\r\n );\r\n }\r\n\r\n getMatchRequests () {\r\n return this.http.post<{ data: PaginatedResponse }>(\r\n '/api/MatchRequest/MatchRequests',\r\n {\r\n paginationOptions: {\r\n rowsPerPage: 1,\r\n pageNumber: 1,\r\n returnAll: true,\r\n sortColumns: [{\r\n columnName: 'Date',\r\n sortAscending: false\r\n }]}\r\n });\r\n }\r\n\r\n getPaginatedTransactions (\r\n paginationOptions: PaginationOptions,\r\n nonprofitPaymentId: number\r\n ) {\r\n return this.http.post(\r\n 'api/Nonprofit/Finance/Transactions',\r\n {\r\n paginationOptions,\r\n nonprofitPaymentId\r\n }\r\n );\r\n }\r\n\r\n getAllTransactions (\r\n paginationOptions: PaginationOptions,\r\n isPending: boolean\r\n ) {\r\n return this.http.post>(\r\n 'api/Nonprofit/Finance/TransactionsForPayments',\r\n {\r\n paginationOptions,\r\n isPending\r\n }\r\n );\r\n }\r\n\r\n getPayments (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n return this.http.post>(\r\n 'api/Nonprofit/Finance/Payments',\r\n {\r\n paginationOptions\r\n }\r\n );\r\n }\r\n\r\n getPaymentDetailForTransactions (paymentId: number) {\r\n const endpoint = `api/Nonprofit/Finance/PaymentDetail?paymentId=${paymentId}`;\r\n\r\n return this.http.get>(endpoint);\r\n }\r\n\r\n async getReissueIneligibleReasons (paymentId: number) {\r\n const endpoint = `api/CheckReissue/GetPaymentIneligibleForReissueReason?nonprofitPaymentId=${paymentId}`;\r\n\r\n const response = await this.http.post<{ data: string[] }>(endpoint, {});\r\n\r\n return response.data;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRestService } from '@core/services/http-rest.service';\r\nimport { APIResponse } from '@yourcause/common';\r\nimport { PersonaTypings } from '@core/typings/persona.typing';\r\nimport { catchError, map, Observable, throwError } from 'rxjs';\r\nimport { NotifierService } from '@yourcause/common/notifier';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class PersonaResources {\r\n\r\n constructor (\r\n private httpRestService: HttpRestService,\r\n private notifierService: NotifierService,\r\n private i18n: I18nService\r\n ) { }\r\n\r\n /**\r\n * get questions and answers\r\n * @returns questions and answers as observable from API\r\n */\r\n getPersonaQuestionsAndAnswers (): Observable {\r\n const endpoint = `api/Persona`;\r\n\r\n return this.httpRestService.Get>(endpoint)\r\n .pipe(\r\n map(e => e.data),\r\n catchError(this.handleError.bind(this))\r\n );\r\n }\r\n\r\n /**\r\n * get answers, user level\r\n * @returns users answers at user level as observable from API\r\n */\r\n getPersonaUserAnswers (): Observable {\r\n const endpoint = `api/Persona/User/Answers`;\r\n\r\n return this.httpRestService.Get>(endpoint)\r\n .pipe(\r\n map(e => e.data),\r\n catchError(this.handleError.bind(this))\r\n );\r\n }\r\n\r\n /**\r\n * get answers, nonprofit level\r\n * @returns users answers at nonprofit level as observable from API\r\n */\r\n getPersonaUserNonprofitAnswers (nonprofitId: number): Observable {\r\n const endpoint = `api/Persona/User/Nonprofit/${nonprofitId}/Answers`;\r\n\r\n return this.httpRestService.Get>(endpoint)\r\n .pipe(\r\n map(e => e.data),\r\n catchError(this.handleError.bind(this))\r\n );\r\n }\r\n\r\n /**\r\n * get answers, staged nonprofit level\r\n * @returns users answers at staged nonprofit level as observable from API\r\n */\r\n getPersonaUserStagedNonprofitAnswers (stagedNonprofitId: number): Observable {\r\n const endpoint = `api/Persona/User/StagedNonprofit/${stagedNonprofitId}/Answers`;\r\n\r\n return this.httpRestService.Get>(endpoint)\r\n .pipe(\r\n map(e => e.data),\r\n catchError(this.handleError.bind(this))\r\n );\r\n }\r\n\r\n /**\r\n * get answers, nonprofit level, for review\r\n * @returns users answers at nonprofit level as observable from API for reviewer\r\n */\r\n getPersonaUserNonprofitAnswersForReview (userId: number, nonprofitId: number, nonprofitAdminRequestId: number): Observable {\r\n const endpoint = `api/Persona/User/${userId}/Nonprofit/${nonprofitId}/Answers/ForReview/${nonprofitAdminRequestId}`;\r\n\r\n return this.httpRestService.Get>(endpoint)\r\n .pipe(\r\n map(e => e.data),\r\n catchError(this.handleError.bind(this))\r\n );\r\n }\r\n\r\n /**\r\n * get answers, staged nonprofit level, for review\r\n * @returns users answers at staged nonprofit level as observable from API for reviewer\r\n */\r\n getPersonaUserStagedNonprofitAnswersForReview (userId: number, stagedNonprofitId: number, nonprofitAdminRequestId: number): Observable {\r\n const endpoint = `api/Persona/User/${userId}/StagedNonprofit/${stagedNonprofitId}/Answers/ForReview/${nonprofitAdminRequestId}`;\r\n\r\n return this.httpRestService.Get>(endpoint)\r\n .pipe(\r\n map(e => e.data),\r\n catchError(this.handleError.bind(this))\r\n );\r\n }\r\n\r\n /**\r\n * updates the provided answers\r\n * @param userSystemAnswerId\r\n * @param systemAnswerId\r\n * @param personaQuestionAndAnswerTypeWithDetails\r\n * @param customResponse\r\n * @returns\r\n */\r\n putPersonaUserAnswer (\r\n userSystemAnswerId: number,\r\n systemAnswerId: number,\r\n personaQuestionAndAnswerTypeWithDetails: PersonaTypings.PersonaQuestionAndAnswerTypeWithDetails,\r\n customResponse?: string\r\n ) {\r\n let personaQuestionAndAnswerType = personaQuestionAndAnswerTypeWithDetails.personaQuestionAndAnswerType;\r\n let nonprofitId = personaQuestionAndAnswerTypeWithDetails.nonprofitId;\r\n let stagedNonprofitId = personaQuestionAndAnswerTypeWithDetails.stagedNonprofitId;\r\n let userId = personaQuestionAndAnswerTypeWithDetails.userId;\r\n let nonprofitAdminRequestId = personaQuestionAndAnswerTypeWithDetails.nonprofitAdminRequestId;\r\n let beingReviewed = personaQuestionAndAnswerTypeWithDetails.beingReviewed;\r\n\r\n let endpoint = null;\r\n\r\n let request = {\r\n customResponse,\r\n systemAnswerId,\r\n nonprofitId,\r\n stagedNonprofitId,\r\n personaUserAnswerId: userSystemAnswerId,\r\n personaUserNonprofitAnswerId: userSystemAnswerId,\r\n personaUserStagedNonprofitAnswerId: userSystemAnswerId\r\n };\r\n\r\n switch (personaQuestionAndAnswerType) {\r\n case PersonaTypings.PersonaQuestionAndAnswerTypes.User:\r\n endpoint = `api/Persona/User/Answer`;\r\n\r\n break;\r\n case PersonaTypings.PersonaQuestionAndAnswerTypes.Nonprofit:\r\n if (personaQuestionAndAnswerTypeWithDetails.beingReviewed) {\r\n\r\n endpoint = `api/Persona/User/${userId}/Nonprofit/${nonprofitId}/Answers/ForReview/${nonprofitAdminRequestId}`;\r\n } else {\r\n endpoint = `api/Persona/User/Nonprofit/Answer`;\r\n }\r\n\r\n break;\r\n case PersonaTypings.PersonaQuestionAndAnswerTypes.StagedNonprofit:\r\n if (beingReviewed) {\r\n endpoint = `api/Persona/User/${userId}/StagedNonprofit/${stagedNonprofitId}/Answers/ForReview/${nonprofitAdminRequestId}`;\r\n } else {\r\n endpoint = `api/Persona/User/StagedNonprofit/Answer`;\r\n }\r\n\r\n break;\r\n }\r\n\r\n if (!endpoint) {\r\n throw (\"Provided PersonaQuestionAndAnswerType is not valid.\");\r\n }\r\n\r\n return this.httpRestService.Put(endpoint, request)\r\n .pipe(\r\n map(_ => true),\r\n catchError(this.handleError.bind(this))\r\n );\r\n }\r\n\r\n /**\r\n * creates the provided answer\r\n * @param systemAnswerId\r\n * @param personaQuestionAndAnswerTypeWithDetails\r\n * @param customResponse\r\n * @returns\r\n */\r\n postPersonaUserAnswer (\r\n systemAnswerId: number,\r\n personaQuestionAndAnswerTypeWithDetails: PersonaTypings.PersonaQuestionAndAnswerTypeWithDetails,\r\n customResponse?: string\r\n ): Observable<{ userSystemAnswerId: PersonaTypings.NewPersonaAnswer; systemAnswerId: number; }> {\r\n let personaQuestionAndAnswerType = personaQuestionAndAnswerTypeWithDetails.personaQuestionAndAnswerType;\r\n let nonprofitId = personaQuestionAndAnswerTypeWithDetails.nonprofitId;\r\n let stagedNonprofitId = personaQuestionAndAnswerTypeWithDetails.stagedNonprofitId;\r\n let userId = personaQuestionAndAnswerTypeWithDetails.userId;\r\n let nonprofitAdminRequestId = personaQuestionAndAnswerTypeWithDetails.nonprofitAdminRequestId;\r\n let beingReviewed = personaQuestionAndAnswerTypeWithDetails.beingReviewed;\r\n\r\n let endpoint = null;\r\n\r\n let request = {\r\n customResponse,\r\n systemAnswerId,\r\n nonprofitId,\r\n stagedNonprofitId\r\n };\r\n\r\n switch (personaQuestionAndAnswerType) {\r\n case PersonaTypings.PersonaQuestionAndAnswerTypes.User:\r\n endpoint = `api/Persona/User/Answer`;\r\n\r\n break;\r\n case PersonaTypings.PersonaQuestionAndAnswerTypes.Nonprofit:\r\n if (beingReviewed) {\r\n endpoint = `api/Persona/User/${userId}/Nonprofit/${nonprofitId}/Answers/ForReview/${nonprofitAdminRequestId}`;\r\n } else {\r\n endpoint = `api/Persona/User/Nonprofit/Answer`;\r\n }\r\n\r\n break;\r\n case PersonaTypings.PersonaQuestionAndAnswerTypes.StagedNonprofit:\r\n if (beingReviewed) {\r\n endpoint = `api/Persona/User/${userId}/StagedNonprofit/${stagedNonprofitId}/Answers/ForReview/${nonprofitAdminRequestId}`;\r\n } else {\r\n endpoint = `api/Persona/User/StagedNonprofit/Answer`;\r\n }\r\n\r\n break;\r\n }\r\n\r\n if (!endpoint) {\r\n throw (\"Provided PersonaQuestionAndAnswerType is not valid.\");\r\n }\r\n\r\n return this.httpRestService.Post>(endpoint, request)\r\n .pipe(\r\n map(e => {\r\n return { userSystemAnswerId: e.data, systemAnswerId: systemAnswerId };\r\n }),\r\n catchError(this.handleError.bind(this))\r\n );\r\n }\r\n\r\n /**\r\n * deletes the provided answer\r\n * @param userSystemAnswerId\r\n * @param systemAnswerId\r\n * @param personaQuestionAndAnswerTypeWithDetails\r\n * @returns\r\n */\r\n deletePersonaUserAnswer (\r\n userSystemAnswerId: number,\r\n systemAnswerId: number,\r\n personaQuestionAndAnswerTypeWithDetails: PersonaTypings.PersonaQuestionAndAnswerTypeWithDetails\r\n ) {\r\n let personaQuestionAndAnswerType = personaQuestionAndAnswerTypeWithDetails.personaQuestionAndAnswerType;\r\n let nonprofitId = personaQuestionAndAnswerTypeWithDetails.nonprofitId;\r\n let stagedNonprofitId = personaQuestionAndAnswerTypeWithDetails.stagedNonprofitId;\r\n let userId = personaQuestionAndAnswerTypeWithDetails.userId;\r\n let nonprofitAdminRequestId = personaQuestionAndAnswerTypeWithDetails.nonprofitAdminRequestId;\r\n let beingReviewed = personaQuestionAndAnswerTypeWithDetails.beingReviewed;\r\n\r\n let endpoint = null;\r\n\r\n let request = {\r\n systemAnswerId,\r\n nonprofitId,\r\n stagedNonprofitId,\r\n personaUserAnswerId: userSystemAnswerId,\r\n personaUserNonprofitAnswerId: userSystemAnswerId,\r\n personaUserStagedNonprofitAnswerId: userSystemAnswerId\r\n };\r\n\r\n switch (personaQuestionAndAnswerType) {\r\n case PersonaTypings.PersonaQuestionAndAnswerTypes.User:\r\n endpoint = `api/Persona/User/Answer`;\r\n\r\n break;\r\n case PersonaTypings.PersonaQuestionAndAnswerTypes.Nonprofit:\r\n if (beingReviewed) {\r\n endpoint = `api/Persona/User/${userId}/Nonprofit/${nonprofitId}/Answers/ForReview/${nonprofitAdminRequestId}`;\r\n } else {\r\n endpoint = `api/Persona/User/Nonprofit/Answer`;\r\n }\r\n\r\n break;\r\n case PersonaTypings.PersonaQuestionAndAnswerTypes.StagedNonprofit:\r\n if (beingReviewed) {\r\n endpoint = `api/Persona/User/${userId}/StagedNonprofit/${stagedNonprofitId}/Answers/ForReview/${nonprofitAdminRequestId}`;\r\n } else {\r\n endpoint = `api/Persona/User/StagedNonprofit/Answer`;\r\n }\r\n\r\n break;\r\n }\r\n\r\n if (!endpoint) {\r\n throw (\"Provided PersonaQuestionAndAnswerType is not valid.\");\r\n }\r\n\r\n return this.httpRestService.Delete(endpoint, request)\r\n .pipe(\r\n map(_ => true),\r\n catchError(this.handleError.bind(this))\r\n );\r\n }\r\n\r\n /**\r\n * Display an error based on status code to the user.\r\n *\r\n * @param error http error thrown\r\n * @returns throws the error so that the caller can handle it\r\n */\r\n private handleError (error: any): Observable {\r\n switch (error.status) {\r\n case 404:\r\n this.notifierService.error(error.error.detail);\r\n break;\r\n case 400:\r\n this.notifierService.error(error.error.detail);\r\n break;\r\n default:\r\n this.notifierService.error(this.i18n.translate(\r\n 'error:textGeneric',\r\n {},\r\n 'An error has occurred. Please try again later.'\r\n ));\r\n }\r\n\r\n return throwError(() => error);\r\n }\r\n\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AccountDetails, RemoveUserRolesPayload } from '@core/models/account.model';\r\nimport { AccountResources } from '@core/resources/account.resources';\r\nimport { AccountState } from '@core/state/account.state';\r\nimport { APIResponse } from '@yourcause/common';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { NotifierService } from '@yourcause/common/notifier';\r\nimport { AttachYCState, BaseYCService } from '@yourcause/common/state';\r\n\r\n\r\n@AttachYCState(AccountState)\r\n@Injectable({ providedIn: 'root' })\r\nexport class AccountService extends BaseYCService {\r\n\r\n constructor (\r\n private accountResources: AccountResources,\r\n private router: Router,\r\n private notifier: NotifierService,\r\n private i18n: I18nService\r\n ) {\r\n super();\r\n }\r\n\r\n get accountDetails () {\r\n return this.get('accountDetails');\r\n }\r\n\r\n get accessRemovedModalClosed (): boolean {\r\n return this.get('accessRemovedModalClosed');\r\n }\r\n\r\n setAccountDetails (response: APIResponse) {\r\n this.set('accountDetails', response.data);\r\n }\r\n\r\n setAccessRemovedModalClosed (closed: boolean) {\r\n this.set('accessRemovedModalClosed', closed);\r\n }\r\n\r\n goToMyAccount () {\r\n this.router.navigateByUrl('/my-account');\r\n }\r\n\r\n resetAccountState () {\r\n this.set('accountDetails', null);\r\n }\r\n\r\n async fetchMyAccountDetails (force = false) {\r\n if (!this.accountDetails || force) {\r\n const response = await this.accountResources.fetchMyAccountDetails();\r\n this.set('accountDetails', response.data);\r\n }\r\n }\r\n\r\n async claimANonprofit (nonprofitId: number) {\r\n await this.accountResources.claimANonprofit(nonprofitId);\r\n }\r\n\r\n async updateMyAccountDetails (payload: AccountDetails) {\r\n try {\r\n await this.accountResources.updateMyAccountDetails(payload);\r\n this.notifier.success(this.i18n.translate(\r\n 'account:notificationUpdateAccountSuccess',\r\n {},\r\n 'Account details updated'\r\n ));\r\n this.set('accountDetails', payload);\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'account:notificationUpdateAccountError',\r\n {},\r\n 'Error updating account details'\r\n ));\r\n }\r\n }\r\n\r\n async deactivateAccount (currentPassword: string) {\r\n try {\r\n await this.accountResources.deactivateAccount(currentPassword);\r\n this.notifier.success(\r\n this.i18n.translate(\r\n 'account:notificationAccountDeactivatedSuccessfully',\r\n {},\r\n 'Confirmation email sent'\r\n ));\r\n\r\n return true;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'account:notificationErrorDeactivatingAccount',\r\n {},\r\n 'Error deactivating account'\r\n ));\r\n\r\n return false;\r\n }\r\n }\r\n\r\n async getUserDeactivationFlags (userId: number) {\r\n try {\r\n const response = await this.accountResources.getUsersDeactivationFlags(userId);\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'account:notificationErrorFetchingUserDeactivationFlags',\r\n {},\r\n 'Error fetching user deactivation flags'\r\n ));\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async removeUserRoles (payload: RemoveUserRolesPayload) {\r\n try {\r\n await this.accountResources.removeUserRoles(payload);\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'account:notificationErrorRemovingUserRoles',\r\n {},\r\n 'Error removing user roles'\r\n ));\r\n }\r\n }\r\n\r\n async getAssociatedNonprofitsForUser (email: string) {\r\n try {\r\n const response = await this.accountResources.getAssociatedNonprofitsForUser(\r\n email\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n\r\n return null;\r\n }\r\n }\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { AppShellState } from '@core/state/app-shell.state';\r\nimport { ArrayHelpersService } from '@yourcause/common/utils';\r\nimport { AttachYCState, BaseYCService } from '@yourcause/common/state';\r\nimport { FeatureFlagService } from './feature-flag/feature-flag.service';\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\n@AttachYCState(AppShellState)\r\nexport class AppShellService extends BaseYCService {\r\n myNonprofitsLink = {\r\n href: 'my-nonprofits',\r\n icon: 'heart',\r\n label: 'My Nonprofits',\r\n i18nKey: 'sidebar:linkMyNonprofits',\r\n sequence: '3.1',\r\n group: 3\r\n };\r\n\r\n constructor (\r\n private authService: AuthService,\r\n private featureFlagService: FeatureFlagService,\r\n private arrayHelper: ArrayHelpersService\r\n ) {\r\n super();\r\n }\r\n\r\n get programFeatureFlag () {\r\n return this.featureFlagService.programsFlagValue;\r\n }\r\n\r\n get sidebarClosed () {\r\n return this.get('sidebarClosed');\r\n }\r\n\r\n get sidebarLinks () {\r\n return this.get('sidebarLinks');\r\n }\r\n\r\n getSidebarLinks () {\r\n return (() => {\r\n if (this.authService.isYcAdminOrSupport()) {\r\n return [{\r\n href: 'yourcause-admin/yc-change-tracking-page',\r\n icon: 'exchange',\r\n label: 'Change Tracking',\r\n i18nKey: 'sidebar:linkChangeTracking',\r\n sequence: '2.5',\r\n group: 2\r\n }, {\r\n href: 'yourcause-admin/administrator-requests',\r\n icon: 'user-tie',\r\n label: 'Administrator Requests',\r\n i18nKey: 'sidebar:linkAdministratorRequests',\r\n sequence: '2.1',\r\n group: 2\r\n }].concat(\r\n this.authService.isYcNonprofitManager() ?\r\n [{\r\n href: 'nonprofit-management',\r\n icon: 'heart',\r\n label: 'Nonprofit Management',\r\n i18nKey: 'admin:hdrNonprofitManagement',\r\n sequence: '2.9',\r\n group: 2\r\n }] : []\r\n );\r\n } else {\r\n if (this.authService.hasActiveNonprofit()) {\r\n return [\r\n this.myNonprofitsLink,\r\n {\r\n href: 'my-workspace',\r\n icon: 'home',\r\n label: 'My Workspace',\r\n i18nKey: 'sidebar:linkMyWorkspace',\r\n sequence: '1.1',\r\n group: 1\r\n },\r\n {\r\n href: 'dashboard',\r\n icon: 'file-chart-line',\r\n label: 'Dashboard',\r\n i18nKey: 'sidebar:linkDashboard',\r\n sequence: '1.2',\r\n group: 1\r\n },\r\n {\r\n href: 'giving',\r\n icon: 'gift',\r\n label: 'Giving',\r\n i18nKey: 'sidebar:linkGiving',\r\n sequence: '1.3',\r\n group: 1\r\n },\r\n {\r\n href: 'volunteering',\r\n icon: 'hand-heart',\r\n label: 'Volunteering',\r\n i18nKey: 'sidebar:linkVolunteering',\r\n sequence: '1.4',\r\n group: 1\r\n },\r\n {\r\n href: 'nonprofit-profile',\r\n icon: 'ribbon',\r\n label: 'Nonprofit Profile',\r\n i18nKey: 'sidebar:linkNonprofitProfile',\r\n sequence: '1.5',\r\n group: 1\r\n },\r\n {\r\n href: 'account-setup',\r\n icon: 'toolbox',\r\n label: 'Administration',\r\n i18nKey: 'sidebar:linkAccountSetup',\r\n sequence: '2.1',\r\n group: 2\r\n }, {\r\n href: 'user-management',\r\n icon: 'users',\r\n label: 'User Management',\r\n i18nKey: 'sidebar:linkUserManagement',\r\n sequence: '2.2',\r\n group: 2\r\n }\r\n ].concat(\r\n this.programFeatureFlag ?\r\n [{\r\n href: 'programs',\r\n icon: 'gifts',\r\n label: 'Programs',\r\n i18nKey: 'sidebar:linkPrograms',\r\n sequence: '1.6',\r\n group: 1\r\n }] : []\r\n );\r\n } else {\r\n return [this.myNonprofitsLink];\r\n }\r\n }\r\n })().concat(\r\n this.authService.isImplementationManager() ?\r\n [{\r\n href: 'implementation',\r\n icon: 'hammer',\r\n label: 'Implementation',\r\n i18nKey: 'sidebar:linkImplementation',\r\n sequence: '2.51',\r\n group: 2\r\n }] : []\r\n ).concat(\r\n this.authService.isComplianceAdmin() ?\r\n [{\r\n href: 'compliance-admin',\r\n icon: 'file-check',\r\n label: 'Compliance',\r\n i18nKey: 'admin:hdrCompliance',\r\n sequence: '2.7',\r\n group: 2\r\n }] : []\r\n ).concat(\r\n this.authService.isYcAdminOrSupport() ||\r\n this.authService.isYCReporting() ||\r\n this.authService.isImplementationManager() ?\r\n [{\r\n href: 'reporting',\r\n icon: 'chart-line',\r\n label: 'Reporting',\r\n i18nKey: 'sidebar:linkReporting',\r\n sequence: '2.92',\r\n group: 2\r\n }] : []\r\n ).concat(\r\n this.authService.isYcAdminOrSupport() ||\r\n this.authService.isYCReporting() ?\r\n [{\r\n href: 'search',\r\n icon: 'search',\r\n label: 'Nonprofit Search',\r\n i18nKey: 'sidebar:linkNonprofitSearch',\r\n sequence: '1.1',\r\n group: 1\r\n }] : []\r\n ).concat(this.authService.hasSystemRole('SiteAdmin') ? [{\r\n href: 'platform-admin',\r\n icon: 'toolbox',\r\n label: 'Platform Admin',\r\n i18nKey: 'sidebar:linkPlatformAdmin',\r\n sequence: '3.1',\r\n group: 3\r\n }, {\r\n href: 'help-support/switchboard',\r\n icon: 'question-circle',\r\n label: 'Help and Support',\r\n i18nKey: 'sidebar:linkHelpAndSupport',\r\n sequence: '3.1',\r\n group: 3\r\n }] : [{\r\n href: 'help-support/switchboard',\r\n icon: 'question-circle',\r\n label: 'Help and Support',\r\n i18nKey: 'sidebar:linkHelpAndSupport',\r\n sequence: '4.1',\r\n group: 4\r\n }]).concat(\r\n this.authService.isEngineering() ?\r\n [{\r\n href: 'system-health-dashboard',\r\n icon: 'tachometer',\r\n label: 'System Health Dashboard',\r\n i18nKey: 'sidebar:linkSystemHealthDashboard',\r\n sequence: '6.1',\r\n group: 6\r\n },\r\n {\r\n href: 'submitted-support-requests',\r\n icon: 'ticket',\r\n label: 'Support Requests',\r\n i18nKey: 'sidebar:linkSupportRequests',\r\n sequence: '6.2',\r\n group: 6\r\n }] : []\r\n );\r\n }\r\n\r\n toggleSidebar () {\r\n this.set('sidebarClosed', !this.sidebarClosed);\r\n }\r\n\r\n setSidebarLinks () {\r\n const links = this.getSidebarLinks();\r\n this.set('sidebarLinks', this.arrayHelper.sort(links, 'sequence'));\r\n }\r\n\r\n setShowHeaderButtons (show: boolean) {\r\n this.set('showHeaderButtons', show);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Asset, BucketTypes } from '@core/models/asset.model';\r\nimport { HttpRestService } from '@core/services/http-rest.service';\r\nimport { APIResponse } from '@yourcause/common';\r\nimport { SpinnerService } from '../spinner.service';\r\nimport { NotifierService } from '@yourcause/common/notifier';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { FileService, YcFile } from '@yourcause/common/files';\r\n\r\n/**\r\n * Generic endpoints and resources for assets.\r\n */\r\n@Injectable({ providedIn: 'root' })\r\nexport class AssetResources {\r\n constructor (\r\n private httpRestService: HttpRestService,\r\n private fileService: FileService,\r\n private spinnerService: SpinnerService,\r\n private notifier: NotifierService,\r\n private i18n: I18nService\r\n ) { }\r\n\r\n /**\r\n * Upload a YcFile to the server.\r\n * @param file file to upload.\r\n * @param bucketId bucket to store the file in.\r\n * @param assetTypeId optional asset type id.\r\n * @param comments optional asset comments.\r\n * @returns\r\n */\r\n uploadYcFile (file: YcFile, bucketId: BucketTypes, assetTypeId?: number, comments?: string) {\r\n if (!file || !file.file) {\r\n return null;\r\n }\r\n\r\n const formData = new FormData();\r\n formData.append('bucketId', bucketId.toString());\r\n formData.append('files', file.file, file.fileName);\r\n\r\n if (assetTypeId) {\r\n formData.append('assetTypeId', assetTypeId.toString());\r\n }\r\n\r\n if (comments) {\r\n formData.append('comments', comments);\r\n }\r\n\r\n var request = this.httpRestService.post>('/api/Assets', formData);\r\n\r\n return request.then(e => e.data[0]);\r\n }\r\n\r\n /**\r\n * Get asset metadata by id.\r\n * @param assetId asset identity.\r\n * @returns\r\n */\r\n getAssetById (assetId: string) {\r\n return this.httpRestService.get>(\r\n `/api/Assets/${assetId}`\r\n );\r\n }\r\n\r\n /**\r\n * Download an asset.\r\n * @param asset asset to download\r\n */\r\n async downloadAsset (asset: Asset) {\r\n await this.download(asset.assetId, asset.fileName);\r\n }\r\n\r\n /**\r\n * Download an asset by id.\r\n * @param assetId asset id to download\r\n * @param fileName file name to send to the browser to saveAs (test.txt, etc.)\r\n */\r\n async download (assetId: string, fileName: string) {\r\n this.spinnerService.startSpinner();\r\n try {\r\n await this.fileService.downloadUrlAs(\r\n `/api/${assetId}`,\r\n fileName\r\n );\r\n } catch (e) {\r\n this.notifier.error(this.i18n.translate(\r\n 'common:notificationErrorDownloadingFile',\r\n {},\r\n 'There was an error downloading the file'\r\n ));\r\n }\r\n this.spinnerService.stopSpinner();\r\n }\r\n}\r\n","\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Router } from '@angular/router';\r\nimport { LoginError, ResetPasswordCase } from '@core/models/auth.model';\r\nimport { AuthResources } from '@core/resources/auth.resources';\r\nimport { BbidFailedReason, BbidLinkingResult, DetermineSignInFlow, LinkToBbidPayload, LoginScenario } from '@core/typings/bbid.typing';\r\nimport { environment } from '@environment';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { LogService } from '@yourcause/common/logging';\r\nimport { ConfirmAndTakeActionService } from '@yourcause/common/modals';\r\nimport { NotifierService } from '@yourcause/common/notifier';\r\nimport { AttachYCState, BaseYCService } from '@yourcause/common/state';\r\nimport { NonprofitService } from '../../nonprofit/nonprofit.service';\r\nimport { AuthState } from '../state/auth.state';\r\nimport { AccountService } from './account.service';\r\nimport { BBIDService } from './bbid.service';\r\nimport { DeepLinkingService } from './deep-linking.service';\r\nimport { TokenService } from './token/token.service';\r\n\r\n@AttachYCState(AuthState)\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthService extends BaseYCService {\r\n constructor (\r\n private authResources: AuthResources,\r\n private tokenService: TokenService,\r\n private notifier: NotifierService,\r\n private i18n: I18nService,\r\n private router: Router,\r\n private deepLinkingService: DeepLinkingService,\r\n private accountService: AccountService,\r\n private nonprofitService: NonprofitService,\r\n private confirmAndTakeActionService: ConfirmAndTakeActionService,\r\n private bbidService: BBIDService,\r\n private logger: LogService\r\n ) {\r\n super();\r\n\r\n // if we find a JWT in localstorage\r\n if (this.tokenService.tokenInfo) {\r\n // scenario one, both tokens are out of date\r\n const currentTokenValid = this.tokenService.hasCurrentValidToken();\r\n const futureTokenValid = this.tokenService.hasFutureValidToken();\r\n if (!currentTokenValid && !futureTokenValid) {\r\n this.tokenService.logout();\r\n // scenario two, jwt is old but the refresh token is valid\r\n } else if (!currentTokenValid && futureTokenValid && !this.tokenService.isBbid) {\r\n this.tokenService.doRefresh();\r\n }\r\n // scenario 3, we didn't find anything in localstorage, so the user is not logged in\r\n } else if (!location.pathname.includes('login') && (location.pathname !== '/')) {\r\n // do not hijack route if we are viewing public nonprofits\r\n if (location.pathname.startsWith('/nonprofits')) {\r\n return;\r\n } else if (location.pathname.startsWith('/grantterms')) {\r\n return;\r\n } else if (location.pathname.startsWith('/outreach')) {\r\n return;\r\n } else if (location.pathname.startsWith('/contact-outreach')) {\r\n return;\r\n } else if (location.pathname.includes('/admin')) {\r\n return;\r\n } else if (location.pathname.startsWith('/support-request')) {\r\n return;\r\n } else {\r\n this.deepLinkingService.setAttemptedRoute();\r\n }\r\n }\r\n }\r\n\r\n get loginScenario () {\r\n return this.get('loginScenario');\r\n }\r\n\r\n get signInFlow () {\r\n return this.get('signInFlow');\r\n }\r\n\r\n setLoginScenario (scenario: LoginScenario) {\r\n this.set('loginScenario', scenario);\r\n }\r\n\r\n setSignInFlow (flow: DetermineSignInFlow) {\r\n this.set('signInFlow', flow);\r\n }\r\n\r\n /**\r\n * Handles Initial Login By Determing the Scenario\r\n *\r\n * @param email: Email to determine sign in flow\r\n * @returns the login scenario\r\n */\r\n async doInitialLogin (email = this.email) {\r\n let scenario: LoginScenario = LoginScenario.NEW_BBID_USER;\r\n\r\n let response: DetermineSignInFlow = {\r\n hasExistingBlackbaudIdAccount: false,\r\n isBlackbaudIdLinked: false,\r\n existing: false,\r\n requireSso: false\r\n };\r\n\r\n response = await this.authResources.getDetermineSignInFlow(email);\r\n\r\n if (!!response) {\r\n this.setSignInFlow(response);\r\n\r\n // If BBID is already linked or the user has an existing BBID account\r\n if (response.isBlackbaudIdLinked || response.hasExistingBlackbaudIdAccount) {\r\n scenario = LoginScenario.EXISTING_BBID_USER;\r\n } else {\r\n // If BBID is enabled but not linked and they do not have a BBID account\r\n scenario = LoginScenario.NEW_BBID_USER;\r\n }\r\n\r\n this.setLoginScenario(scenario);\r\n } else {\r\n this.setSignInFlow(response);\r\n\r\n this.setLoginScenario(scenario);\r\n }\r\n\r\n return scenario;\r\n }\r\n\r\n /**\r\n * Handle linking BBID account to user\r\n *\r\n * @param inSystem: Is the user already in the system?\r\n * @param linked: Is the user already linked to Blackbaud Id in the system?\r\n * @param loginAfterLinking: Should login happen after linking?\r\n * @param adminInviteEmail: Email used for the admin invite if one used for sign up\r\n * @returns the linking result and the fail reason\r\n */\r\n async handleLinkingBbidAccount (\r\n inSystem: boolean,\r\n needToLink: boolean,\r\n loginAfterLinking: boolean = true,\r\n adminInviteEmail: string\r\n ): Promise<{\r\n linkingResult: BbidLinkingResult;\r\n failReason: BbidFailedReason;\r\n }> {\r\n const blackbaudIdToken = await this.bbidService.getToken();\r\n const parsedBlackbaudIdToken = this.tokenService.parseJwt(blackbaudIdToken);\r\n\r\n let proceed = true;\r\n\r\n if (!inSystem) {\r\n proceed = await this.createNPOAccountForBbid(\r\n parsedBlackbaudIdToken.given_name,\r\n parsedBlackbaudIdToken.family_name,\r\n parsedBlackbaudIdToken.email,\r\n this.i18n.language\r\n );\r\n }\r\n\r\n if (proceed) {\r\n let linkFailReason: BbidFailedReason = null;\r\n let linked = true;\r\n if (needToLink) {\r\n const {\r\n passed,\r\n failReason\r\n } = await this.linkToBbidAccount(parsedBlackbaudIdToken.email, adminInviteEmail);\r\n linked = passed;\r\n linkFailReason = failReason;\r\n }\r\n\r\n if (linked) {\r\n if (loginAfterLinking) {\r\n const passed = await this.loginWithBbid(\r\n true,\r\n true,\r\n false,\r\n null,\r\n null\r\n );\r\n if (passed) {\r\n return {\r\n linkingResult: BbidLinkingResult.LINKED,\r\n failReason: null\r\n };\r\n } else {\r\n return {\r\n linkingResult: BbidLinkingResult.FAILED,\r\n failReason: BbidFailedReason.BBID_LOGIN_FAILED\r\n };\r\n }\r\n } else {\r\n return {\r\n linkingResult: BbidLinkingResult.LINKED,\r\n failReason: null\r\n };\r\n }\r\n } else {\r\n return {\r\n linkingResult: BbidLinkingResult.FAILED,\r\n failReason: linkFailReason || BbidFailedReason.LINK_FAILED_UNKNOWN\r\n };\r\n }\r\n } else {\r\n return {\r\n linkingResult: BbidLinkingResult.FAILED,\r\n failReason: BbidFailedReason.ACCOUNT_CREATE_FAILED\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Create user account for Blackbaud Id user who uses different email to sign up on Blackbaud Id than invited with\r\n *\r\n * @param firstName: User first name\r\n * @param lastName: User last name\r\n * @param email: User email\r\n * @param languageCulture: User language\r\n * @returns if the account creation passed\r\n */\r\n async createNPOAccountForBbid (\r\n firstName: string,\r\n lastName: string,\r\n email: string,\r\n languageCulture: string\r\n ) {\r\n try {\r\n await this.authResources.createNPOAccountForBbid(\r\n firstName,\r\n lastName,\r\n email,\r\n languageCulture\r\n );\r\n\r\n return true;\r\n } catch (e) {\r\n this.logger.error(e);\r\n\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * Handles logic needed for new users coming to the system from Blackbaud\r\n *\r\n * @param adminInviteEmail: Email used for the admin invite if one used for sign up\r\n */\r\n async handleNewUserSlatedForBbid (\r\n adminInviteEmail: string\r\n ) {\r\n try {\r\n return await this.handleBbidForNewUserNotInSystem(adminInviteEmail);\r\n } catch (e) {\r\n this.logger.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'AUTH:textErrorSettingUpAccount',\r\n {},\r\n 'There was an error setting up your account'\r\n ));\r\n this.router.navigate(['login']);\r\n }\r\n\r\n return {\r\n linkingResult: BbidLinkingResult.FAILED,\r\n failReason: BbidFailedReason.LINK_FAILED_UNKNOWN\r\n };\r\n }\r\n\r\n /**\r\n * This logic only applies for sign ups.\r\n *\r\n * @param adminInviteEmail: Email used for the admin invite if one used for sign up\r\n */\r\n async handleBbidForNewUserNotInSystem (\r\n adminInviteEmail: string\r\n ) {\r\n const blackbaudIdToken = await this.bbidService.getToken();\r\n const parsedBlackbaudIdToken = this.tokenService.parseJwt(blackbaudIdToken);\r\n\r\n let proceed = await this.createNPOAccountForBbid(\r\n parsedBlackbaudIdToken.given_name,\r\n parsedBlackbaudIdToken.family_name,\r\n parsedBlackbaudIdToken.email,\r\n this.i18n.language\r\n );\r\n let linkFailReason: BbidFailedReason = null;\r\n if (proceed) {\r\n const {\r\n passed,\r\n failReason\r\n } = await this.linkToBbidAccount(parsedBlackbaudIdToken.email, adminInviteEmail);\r\n proceed = passed;\r\n linkFailReason = failReason;\r\n } else {\r\n return {\r\n linkingResult: BbidLinkingResult.FAILED,\r\n failReason: BbidFailedReason.ACCOUNT_CREATE_FAILED\r\n };\r\n }\r\n if (proceed) {\r\n return {\r\n linkingResult: BbidLinkingResult.LINKED,\r\n failReason: null\r\n };\r\n } else {\r\n return {\r\n linkingResult: BbidLinkingResult.FAILED,\r\n failReason: linkFailReason || BbidFailedReason.LINK_FAILED_UNKNOWN\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Link NPOc account to Blackbaud Id (BBID) Account\r\n *\r\n * @param npocEmail: NPOc email\r\n * @param adminInviteEmail: Email sent within link sent via admin invite\r\n * @returns if the link was successful and failure reason if it fails\r\n */\r\n async linkToBbidAccount (\r\n npocEmail: string,\r\n adminInviteEmail: string\r\n ): Promise<{\r\n passed: boolean;\r\n failReason: BbidFailedReason;\r\n }> {\r\n try {\r\n const payload: LinkToBbidPayload = {\r\n email: npocEmail,\r\n blackbaudIdToken: await this.bbidService.getToken(),\r\n inviteEmail: adminInviteEmail\r\n };\r\n\r\n await this.authResources.linkToBbidAccount(payload);\r\n\r\n return {\r\n passed: true,\r\n failReason: null\r\n };\r\n } catch (e) {\r\n this.logger.error(e);\r\n\r\n const error = e as HttpErrorResponse;\r\n\r\n if (error?.error?.message === 'Blackbaud Id is already associated with user account.') {\r\n return {\r\n passed: false,\r\n failReason: BbidFailedReason.BBID_LINKED_TO_ANOTHER_ACCOUNT\r\n };\r\n } else {\r\n this.notifier.error(this.i18n.translate(\r\n 'AUTH:textErrorLinkingBbidAccount',\r\n {},\r\n 'There was an error linking your Blackbaud ID account'\r\n ));\r\n }\r\n\r\n return {\r\n passed: false,\r\n failReason: BbidFailedReason.LINK_FAILED_UNKNOWN\r\n };\r\n }\r\n }\r\n\r\n /**\r\n * Handles Initial Login Step After Email Entered\r\n *\r\n * @returns the login scenario to proceed with\r\n */\r\n async handleInitialLogin () {\r\n const response = await this.confirmAndTakeActionService.genericTakeAction(\r\n () => this.doInitialLogin(),\r\n '',\r\n this.i18n.translate(\r\n 'AUTH:errorLoggingIn',\r\n {},\r\n 'There was an error logging in'\r\n )\r\n );\r\n if (response.passed) {\r\n return response.endpointResponse;\r\n } else {\r\n this.setLoginScenario(LoginScenario.NEW_BBID_USER);\r\n\r\n return LoginScenario.NEW_BBID_USER;\r\n }\r\n }\r\n\r\n get vettingDocumentationGuidelinesLink () {\r\n return 'https://nppsharedresources.blob.core.windows.net/general/BB_Vetting_Doc_Guidlines.pdf';\r\n }\r\n\r\n get email () {\r\n return this.get('email');\r\n }\r\n\r\n get termsOfService () {\r\n return this.get('termsOfService');\r\n }\r\n\r\n async setTermsOfServiceLinks () {\r\n const termsOfServiceResponse = await this.authResources.getLatestEffectiveTermsOfService();\r\n\r\n this.set('termsOfService', termsOfServiceResponse.data);\r\n }\r\n\r\n setEmail (email: string) {\r\n this.set('email', email);\r\n }\r\n\r\n /**\r\n * determine \"Default\" route based on the users role/number admin nonprofits\r\n */\r\n async getDefaultRoute () : Promise {\r\n const loggedIn = this.tokenService.getIsLoggedIn();\r\n if (!loggedIn) {\r\n return '/login';\r\n }\r\n if (!this.tokenService.tokenInfo) {\r\n await this.tokenService.fetchUserClaims();\r\n }\r\n const tokenInfo = this.tokenService.tokenInfo;\r\n const nonprofitCount = (tokenInfo.nonprofitRoleMap?.NonprofitAdmin?.length || 0) +\r\n (tokenInfo.nonprofitRoleMap?.nonprofitManager?.length || 0);\r\n let defaultRoute = '/my-nonprofits';\r\n\r\n if (\r\n this.isYcAdminOrSupport() ||\r\n this.isYCReporting()\r\n ) {\r\n defaultRoute = '/search';\r\n } else if (this.isImplementationManager()) {\r\n defaultRoute = '/implementation/switchboard';\r\n } else if (this.isComplianceAdmin()) {\r\n defaultRoute = '/compliance-admin/switchboard';\r\n } else if (nonprofitCount === 1) {\r\n defaultRoute = '/my-workspace';\r\n }\r\n\r\n return defaultRoute;\r\n }\r\n\r\n getNpoRole (): string[] {\r\n const activeNpo = this.nonprofitService.selectedNpo;\r\n const nonprofitRoleMap = this.tokenService.tokenInfo?.nonprofitRoleMap || {};\r\n\r\n const roles = [];\r\n for (const role in nonprofitRoleMap) {\r\n if (nonprofitRoleMap[role].includes(activeNpo)) {\r\n roles.push(role);\r\n }\r\n }\r\n\r\n return roles;\r\n }\r\n\r\n hasNpoRole (roleName: string): boolean {\r\n return this.getNpoRole().includes(roleName);\r\n }\r\n\r\n isNonprofitUser (): boolean {\r\n return this.hasNpoRole('NonprofitAdmin') ||\r\n this.hasNpoRole('nonprofitManager');\r\n }\r\n\r\n getSystemRole (): string[] {\r\n return this.tokenService.tokenInfo?.role || [];\r\n }\r\n\r\n hasSystemRole (roleName: string): boolean {\r\n return this.getSystemRole().includes(roleName);\r\n }\r\n\r\n isYcAdmin (): boolean {\r\n return this.getSystemRole().includes('YcAdmin');\r\n }\r\n\r\n isYcSupport (): boolean {\r\n return this.getSystemRole().includes('YcSupport');\r\n }\r\n\r\n isSiteAdmin (): boolean {\r\n return this.getSystemRole().includes('SiteAdmin');\r\n }\r\n\r\n isYcNonprofitManager (): boolean {\r\n return this.getSystemRole().includes('YcNonprofitManager');\r\n }\r\n\r\n isComplianceAdmin (): boolean {\r\n return this.getSystemRole().includes('ComplianceAdmin');\r\n }\r\n\r\n isImplementationManager (): boolean {\r\n return this.getSystemRole().includes('ImplementationManager');\r\n }\r\n\r\n isYcAdminOrSupport (): boolean {\r\n return this.isYcAdmin() || this.isYcSupport();\r\n }\r\n\r\n isInternalUser (): boolean {\r\n return this.accountService.accountDetails?.isInternalUser;\r\n }\r\n\r\n isCheckReissue (): boolean {\r\n return this.getSystemRole().includes('CheckReissue');\r\n }\r\n\r\n isYCNonprofitACHManager (): boolean {\r\n return this.getSystemRole().includes('YCNonprofitACHManager');\r\n }\r\n\r\n isYCReporting (): boolean {\r\n return this.getSystemRole().includes('YcReporting');\r\n }\r\n\r\n isEngineering (): boolean {\r\n return this.getSystemRole().includes('Engineering');\r\n }\r\n\r\n isInternalAdmin () {\r\n return this.isComplianceAdmin() ||\r\n this.isImplementationManager() ||\r\n this.isSiteAdmin() ||\r\n this.isYcAdminOrSupport() ||\r\n this.isYcNonprofitManager() ||\r\n this.isEngineering();\r\n }\r\n\r\n canImpersonateNonprofit () {\r\n return this.isSiteAdmin() ||\r\n this.isYcAdminOrSupport() ||\r\n this.isYcNonprofitManager();\r\n }\r\n\r\n hasActiveNonprofit (): boolean {\r\n return !!this.nonprofitService.activeNpo;\r\n }\r\n\r\n isAdminOfNonprofit (id: number) {\r\n const nonprofitIdAttr = this.tokenService.tokenInfo?.NonprofitIdArr;\r\n if (nonprofitIdAttr) {\r\n return nonprofitIdAttr.includes(+id);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n handleError (err: HttpErrorResponse) {\r\n const allErrorCodes = Object.keys(LoginError);\r\n const errorCode = err?.error?.errorCode;\r\n const unknownErrorText = this.i18n.translate(\r\n 'common:notificationAnUnknownErrorOccurred',\r\n {},\r\n 'An unknown error occurred'\r\n );\r\n\r\n if (errorCode) {\r\n if ([\r\n LoginError.Email_Not_Confirmed,\r\n LoginError.Token_Is_Not_Valid\r\n ].includes(errorCode)\r\n ) {\r\n this.notifier.error(this.i18n.translate(\r\n 'login:notificationEmailNotConfirmed',\r\n {},\r\n 'This account has not yet been verified. Please enter your address below to start the account verification process.'\r\n ));\r\n this.router.navigateByUrl('/login/pending-confirm-email');\r\n } else if (errorCode === LoginError.Account_Not_Valid) {\r\n this.notifier.error(this.i18n.translate(\r\n 'login:notificationPasswordOrEmailIncorrect',\r\n {},\r\n 'Your email or password was incorrect'\r\n ));\r\n } else if (errorCode === LoginError.Account_Requires_SSO) {\r\n this.notifier.error(this.i18n.translate(\r\n 'login:notificationGoToSSO',\r\n {},\r\n 'Please login using SSO'\r\n ));\r\n } else if (errorCode === LoginError.Password_Expired) {\r\n this.notifier.error(this.i18n.translate(\r\n 'login:notificationPasswordExpired',\r\n {},\r\n 'Your password has expired'\r\n ));\r\n this.router.navigate(['/login/forgot-password', ResetPasswordCase.EXPIRED]);\r\n } else if (errorCode === LoginError.Security_Code_Required) {\r\n this.router.navigate(['/login/verification-code']);\r\n } else if (!allErrorCodes.includes(errorCode)) {\r\n this.notifier.error(unknownErrorText);\r\n }\r\n } else {\r\n this.notifier.error(unknownErrorText);\r\n }\r\n\r\n return errorCode || LoginError.Unknown;\r\n }\r\n\r\n getBlackbaudLoginRoute () {\r\n return this.authResources.getBlackbaudLoginRoute();\r\n }\r\n\r\n handleResetPasswordError (err: HttpErrorResponse|Error) {\r\n console.error(err);\r\n if (err.message === 'Token is not valid') {\r\n this.notifier.error(\r\n this.i18n.translate(\r\n 'common:notificationLinkNoLongerValid',\r\n {},\r\n 'Your Password Reset email has expired. Please submit a new Password Reset request to receive a new email.'\r\n )\r\n );\r\n this.router.navigate(['/login/forgot-password', ResetPasswordCase.REQUEST_RESET]);\r\n } else {\r\n this.notifier.error(\r\n err.message ?\r\n this.i18n.translate(`login:${err.message}`) :\r\n this.i18n.translate(\r\n 'common:notificationFailedToResetYourPassword',\r\n {},\r\n 'Failed to reset your password'\r\n )\r\n );\r\n }\r\n }\r\n\r\n async getUserTermsOfService () {\r\n return await this.authResources.getUserTermsOfService();\r\n }\r\n\r\n async acknowledgeTermsOfService (termsOfServiceId: number) {\r\n await this.authResources.acknowledgeTermsOfService(termsOfServiceId);\r\n await this.tokenService.doRefresh(true);\r\n }\r\n\r\n /**\r\n * Check if the user logged in with a valid BBID for the NPO account\r\n *\r\n * @returns true if the BBID the user selected is valid and they can proceed\r\n */\r\n async verifyBbidLink () {\r\n try {\r\n await this.authResources.verifyBbidLink();\r\n\r\n return true;\r\n } catch (e) {\r\n this.logger.error(e);\r\n\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * Login with BBID\r\n *\r\n * @param attemptDeepLink: Attempt to deep link after login\r\n * @param logoutOnFail: Logout if it fails?\r\n * @param npoUserFirstSignIn: is this the initial sign in? (not refresh of page)\r\n * @param claimedNonprofitId: is the optional id of the claimed nonprofit when a user signs up\r\n * @returns if the BBID login was successful or not\r\n */\r\n async loginWithBbid (\r\n attemptDeepLink: boolean,\r\n logoutOnFail: boolean,\r\n npoUserFirstSignIn: boolean,\r\n claimedNonprofitId?: number,\r\n claimedNonprofitName?: string\r\n ) {\r\n try {\r\n await this.tokenService.setBbidJwt(false);\r\n const token = this.tokenService.parseJwt();\r\n const isValidBbid = await this.verifyBbidLink();\r\n\r\n if (isValidBbid) {\r\n await this.bbidService.loadOmnibar();\r\n await this.authResources.trackBbidLogin();\r\n\r\n if (npoUserFirstSignIn) {\r\n await this.accountService.claimANonprofit(claimedNonprofitId);\r\n }\r\n\r\n await this.tokenService.fetchUserClaims();\r\n\r\n if (attemptDeepLink) {\r\n var route = await this.getDefaultRoute();\r\n this.deepLinkingService.attemptDeepLink(route, { alreadyLoggedInWithBbid: true });\r\n }\r\n\r\n return true;\r\n } else {\r\n this.logger.log('BBID login failed with invalid from endpoint - VerifyBbidLink', {\r\n email: token?.email\r\n });\r\n\r\n if (logoutOnFail) {\r\n this.tokenService.logout();\r\n }\r\n\r\n return false;\r\n }\r\n } catch (e) {\r\n this.logger.error(e);\r\n\r\n const token = this.tokenService.parseJwt();\r\n\r\n this.logger.log('BBID login failed from unknown', {\r\n email: token?.email\r\n });\r\n\r\n if (logoutOnFail) {\r\n this.tokenService.logout();\r\n }\r\n\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * Sync first and last name from BBID\r\n *\r\n * @param firstName: First name\r\n * @param lastName: Last name\r\n */\r\n async syncInfoFromBBID (\r\n firstName: string,\r\n lastName: string\r\n ) {\r\n try {\r\n await this.authResources.syncInfoFromBBID(firstName, lastName);\r\n } catch (e) {\r\n this.logger.error(e);\r\n\r\n this.logger.log('BBID sync first and last name failed: ', {\r\n firstName: firstName,\r\n lastName: lastName\r\n });\r\n }\r\n }\r\n\r\n doRedirect (href: string) {\r\n location.href = href;\r\n }\r\n\r\n async handleBlackbaudSsoRedirect (route: ActivatedRouteSnapshot) {\r\n // if trying to get onto the platform tools from localhost\r\n if (environment.locationBase === 'localhost') {\r\n this.doRedirect(\r\n `https://npo.yourcausetest.com/admin/auth/signin?platformHostRename=${encodeURIComponent('localhost:51849')}`\r\n );\r\n\r\n return;\r\n }\r\n\r\n // check for redirect\r\n const potentialRedirect = route.queryParams.platformHostRename;\r\n if (potentialRedirect) {\r\n // remember this in order to perform redirect after SSO redirect\r\n sessionStorage.setItem('platformHostRename', potentialRedirect);\r\n }\r\n\r\n const response = await this.getBlackbaudLoginRoute();\r\n\r\n this.doRedirect(response.data.signInUrl);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BannerState } from '@core/state/banner.state';\r\nimport { BannerInfo } from '@yourcause/common/banner';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { AttachYCState, BaseYCService } from '@yourcause/common/state';\r\n\r\n\r\n@AttachYCState(BannerState)\r\n@Injectable({ providedIn: 'root' })\r\nexport class BannerService extends BaseYCService {\r\n constructor (\r\n private i18n: I18nService\r\n ) {\r\n super();\r\n }\r\n\r\n get showInactiveNpoBanner (): boolean {\r\n return this.get('showInactiveNpoBanner');\r\n }\r\n\r\n get banners () {\r\n const defaultBanners: BannerInfo[] = [{\r\n visible: false,\r\n message: '',\r\n buttonText: '',\r\n onButtonClick: null\r\n }];\r\n\r\n return this.get('banners') || defaultBanners;\r\n }\r\n\r\n setShowInactiveNpoBanner (val: boolean) {\r\n this.set('showInactiveNpoBanner', val);\r\n }\r\n\r\n setBanners (banners: BannerInfo[]) {\r\n this.set('banners', banners);\r\n }\r\n\r\n clearBanner () {\r\n this.setBanners([]);\r\n }\r\n\r\n getCurrentNonprofitIsNotActiveBanner (): BannerInfo {\r\n return {\r\n visible: true,\r\n message: this.i18n.translate(\r\n 'nonprofits:textOrganizationIsNoLongerActive',\r\n {},\r\n 'This organization is no longer active in our system. You will not be able to perform certain actions. Contact our team if you believe this organization was deactivated in error.'\r\n ),\r\n buttonText: this.i18n.translate(\r\n 'common:textLearnMore',\r\n {},\r\n 'Learn more'\r\n ),\r\n onButtonClick: () => {\r\n window.open('https://webfiles.blackbaud.com/files/support/helpfiles/npoconnect/content/npo-administration-inactive-organizations.html');\r\n }\r\n };\r\n }\r\n\r\n setPortalBanners () {\r\n const banners: BannerInfo[] = [];\r\n const nonprofitIsNotActiveBanner = this.getCurrentNonprofitIsNotActiveBanner();\r\n\r\n if (this.showInactiveNpoBanner) {\r\n banners.push(nonprofitIsNotActiveBanner);\r\n }\r\n this.setBanners(banners);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BBAuth, BBOmnibar, BBOmnibarConfig } from '@blackbaud/auth-client';\r\nimport { DetermineSignInFlow } from '@core/typings/bbid.typing';\r\nimport { LogService } from '@yourcause/common/logging';\r\nconst BbidProfileUrl = 'https://app.blackbaud.com/user';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class BBIDService {\r\n\r\n constructor (\r\n private logger: LogService,\r\n private router: Router\r\n ) { }\r\n\r\n /**\r\n * Get the most up to date token from BBAuth\r\n *\r\n * @returns the BBAuth Token\r\n */\r\n async getToken () {\r\n try {\r\n const token = await BBAuth.getToken();\r\n\r\n return token;\r\n } catch (e) {\r\n this.logger.error(e);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n /**\r\n * Loads the Omnibar with the given service name\r\n */\r\n async loadOmnibar () {\r\n const payload: BBOmnibarConfig = {\r\n serviceName: 'NPOconnect'\r\n };\r\n\r\n await BBOmnibar.load(payload);\r\n }\r\n\r\n /**\r\n * Handle redirecting to BBID for authentication\r\n *\r\n * @param signInFlow: Sign in Flow Details for the User\r\n * @param email: Email\r\n * @param npoAccountToCreateIsAdmin: NPO account to create (if there is one) is an Admin user\r\n */\r\n redirectToBbid (\r\n signInFlow: DetermineSignInFlow,\r\n email: string,\r\n npoAccountToCreateIsAdmin: boolean\r\n ) {\r\n if (signInFlow) {\r\n const returnLoginUrl = this.getReturnLoginUrl(\r\n signInFlow.isBlackbaudIdLinked,\r\n email,\r\n !signInFlow.existing,\r\n location.href,\r\n npoAccountToCreateIsAdmin\r\n );\r\n\r\n const redirectRoute = this.getRedirectRoute(signInFlow.hasExistingBlackbaudIdAccount, email, returnLoginUrl);\r\n\r\n this.doRedirect(redirectRoute);\r\n } else {\r\n this.router.navigateByUrl('/login');\r\n }\r\n }\r\n\r\n /**\r\n * Get Redirect Route to Authenticate with BBID\r\n *\r\n * @param hasExistingBbidAccount: Does the user have an existing account in BBID?\r\n * @param email: Email\r\n * @param returnLoginUrl: Return Login URL\r\n * @returns the redirect route to authenticate a user in BBID\r\n */\r\n getRedirectRoute (\r\n hasExistingBbidAccount: boolean,\r\n email: string,\r\n returnLoginUrl: string\r\n ) {\r\n const encodedReturnUrl = encodeURIComponent(returnLoginUrl);\r\n let encodedEmailQueryParam = '';\r\n if (!!email) {\r\n encodedEmailQueryParam = `&login_hint=${encodeURIComponent(email)}`;\r\n }\r\n if (!hasExistingBbidAccount) {\r\n return `https://app.blackbaud.com/signin/sign-up?&redirectUrl=${encodedReturnUrl}${encodedEmailQueryParam}`;\r\n } else {\r\n return `https://app.blackbaud.com/signin?&redirectUrl=${encodedReturnUrl}${encodedEmailQueryParam}`;\r\n }\r\n }\r\n\r\n /**\r\n * Get the return login URL\r\n *\r\n * @param isBbidLinked: Is BBID already linked?\r\n * @param email: Email\r\n * @param npoAccountNotCreatedYet: Is NPO account not created yet?\r\n * @returns the return login URL\r\n */\r\n getReturnLoginUrl (\r\n isBbidLinked: boolean,\r\n email: string,\r\n npoAccountNotCreatedYet: boolean,\r\n currentRoute: string,\r\n npoAccountToCreateIsAdmin: boolean\r\n ) {\r\n const route = '/login/' + (npoAccountNotCreatedYet ? 'bbid-new-user' : 'bbid-signin');\r\n\r\n let queryParams = '';\r\n\r\n if (!isBbidLinked) {\r\n const baseParams = `needToLinkBbid=true&isBbid=true&inSystem=${!npoAccountNotCreatedYet}`;\r\n\r\n queryParams = `${baseParams}`;\r\n\r\n if (!!email) {\r\n queryParams = `${queryParams}&email=${encodeURIComponent(email)}`;\r\n }\r\n\r\n if (npoAccountNotCreatedYet) {\r\n queryParams = `${queryParams}&isAdmin=${npoAccountToCreateIsAdmin}`;\r\n }\r\n\r\n queryParams = `${queryParams}&initialRoute=${encodeURIComponent(currentRoute)}`;\r\n }\r\n\r\n const returnLoginUrl = this.getRelativeUrlForReturnLogin(route, queryParams);\r\n\r\n return returnLoginUrl;\r\n }\r\n\r\n /**\r\n * Logout of BBID\r\n */\r\n logoutOfBbid (returnLoginUrl?: string) {\r\n if (!returnLoginUrl) {\r\n const route = '/login';\r\n returnLoginUrl = this.getRelativeUrlForReturnLogin(route);\r\n }\r\n const encodedReturnUrl = encodeURIComponent(returnLoginUrl);\r\n const redirectRoute = `https://app.blackbaud.com/signin/sign-out?redirectUrl=${encodedReturnUrl}`;\r\n this.doRedirect(redirectRoute);\r\n }\r\n\r\n /**\r\n * Do redirect with location.href\r\n *\r\n * @param redirectRoute: Redirect to route\r\n */\r\n doRedirect (redirectRoute: string) {\r\n location.href = redirectRoute;\r\n }\r\n\r\n /**\r\n * Open the user's BBID profile in a new tab\r\n */\r\n openBbidProfile () {\r\n window.open(BbidProfileUrl, '_blank');\r\n }\r\n\r\n getRelativeUrlForReturnLogin (\r\n path: string,\r\n search?: string,\r\n hash?: string\r\n ) {\r\n const port = !location.port ||\r\n (location.port === '80' ||\r\n location.port === '443') ?\r\n '' :\r\n ':' + location.port;\r\n const searchString = search ? '?' + search : '';\r\n const hashString = hash ? '#' + hash : '';\r\n\r\n return `${location.protocol}//${location.hostname}${port}${path}${searchString}${hashString}`;\r\n }\r\n}\r\n\r\n","import { HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class CacheBusterInterceptor implements HttpInterceptor {\r\n intercept (request: HttpRequest, next: HttpHandler) {\r\n if (request.method.toLowerCase() === 'get' && !request.url.includes('_')) {\r\n let url = request.urlWithParams;\r\n url += `${url.includes('?') ? '&' : '?'}_=${Date.now()}`;\r\n\r\n request = request.clone({\r\n url\r\n });\r\n }\r\n\r\n return next.handle(request);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ClassificationResources } from '@core/resources/classification.resources';\r\nimport { Classification, InflectService } from '@yourcause/common';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { NotifierService } from '@yourcause/common/notifier';\r\nimport { AttachYCState, BaseYCService } from '@yourcause/common/state';\r\nimport { Nonprofit } from '../models/npo.model';\r\nimport { ClassificationState } from '../state/classification.state';\r\nimport { SelectOption } from '@yourcause/common/core-forms';\r\n\r\n@AttachYCState(ClassificationState)\r\n@Injectable({ providedIn: 'root' })\r\nexport class ClassificationService extends BaseYCService{\r\n\r\n constructor (\r\n private inflect: InflectService,\r\n private i18n: I18nService,\r\n private notifier: NotifierService,\r\n private classificationResources: ClassificationResources\r\n ) {\r\n super();\r\n }\r\n\r\n get classifications () {\r\n return this.get('classifications');\r\n }\r\n\r\n get subsections () {\r\n return this.get('subsections');\r\n }\r\n\r\n async getClassifications () {\r\n try {\r\n const response = await this.classificationResources.getClassifications();\r\n const adapted = this.buildHierarchy(response.data);\r\n this.set('classifications', adapted);\r\n } catch (e) {\r\n this.notifier.error(\r\n this.i18n.translate(\r\n 'common:textErrorGettingClassifications',\r\n {},\r\n 'There was an error fetching nonprofit classifications'\r\n )\r\n );\r\n }\r\n }\r\n\r\n async getSubsections () {\r\n try {\r\n const response = await this.classificationResources.getSubsections();\r\n this.set('subsections', response.data);\r\n } catch (e) {\r\n this.notifier.error(\r\n this.i18n.translate(\r\n 'common:textErrorGettingSubsectionCodes',\r\n {},\r\n 'There was an error fetching nonprofit subsection codes'\r\n )\r\n );\r\n }\r\n }\r\n\r\n async setClassification (payload: Partial) {\r\n try {\r\n const response = await this.classificationResources.setClassification(payload);\r\n\r\n return response;\r\n } catch (e) {\r\n this.notifier.error(\r\n this.i18n.translate(\r\n 'common:textErrorSettingClassification',\r\n {},\r\n 'There was an error setting nonprofit classification'\r\n )\r\n );\r\n\r\n return null;\r\n }\r\n }\r\n\r\n buildHierarchy (list: Classification[]) {\r\n const hierarchicalMap: { [x: string]: Classification } = {};\r\n const childMap: { [x: string]: Classification } = {};\r\n const flatMap = list.reduce((map, classification) => {\r\n classification.code = (classification.code || '').trim();\r\n classification.parentCode = (classification.parentCode || '').trim();\r\n\r\n classification.display = this.i18n.translate(\r\n `nonprofits:text${this.inflect.trimPuncAndPascalize(classification.name)}`,\r\n {},\r\n classification.name\r\n );\r\n classification.value = classification;\r\n\r\n classification.children = map[classification.code] ? map[classification.code].children : [];\r\n\r\n map[classification.code] = classification;\r\n\r\n if (classification.parentCode) {\r\n map[classification.parentCode] = map[classification.parentCode] || {\r\n children: []\r\n } as Classification;\r\n map[classification.parentCode].children.push(classification);\r\n childMap[classification.code] = classification;\r\n } else {\r\n classification.isRoot = true;\r\n hierarchicalMap[classification.code] = classification;\r\n }\r\n\r\n return map;\r\n }, {} as { [x: string]: Classification });\r\n\r\n return {\r\n childMap,\r\n hierarchicalMap,\r\n flatMap,\r\n list\r\n };\r\n }\r\n\r\n getOrgClassification (\r\n type: string,\r\n classificationOptions: SelectOption[],\r\n allClassifications: Classification[],\r\n org: Nonprofit\r\n ) {\r\n let valToCompare = 0;\r\n let levelOne = 0;\r\n let levelTwo = 0;\r\n let levelThree = 0;\r\n if (org) {\r\n if (org.classificationInfo) {\r\n levelOne = org.classificationInfo.classificationOneId;\r\n levelTwo = org.classificationInfo.classificationTwoId;\r\n levelThree = org.classificationInfo.classificationThreeId;\r\n }\r\n } else {\r\n levelOne = classificationOptions[0].value.id;\r\n }\r\n switch (type) {\r\n case 'ntee':\r\n if (org) {\r\n valToCompare = levelThree || levelTwo || levelOne;\r\n }\r\n break;\r\n case 'cat':\r\n valToCompare = levelOne;\r\n break;\r\n case 'group':\r\n valToCompare = levelTwo;\r\n break;\r\n }\r\n const returnVal = allClassifications.find((ntee) => {\r\n return +ntee.id === +valToCompare;\r\n });\r\n\r\n return returnVal || null;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Params, Router } from '@angular/router';\r\nimport { CachedAttr, CACHE_TYPES } from '@yourcause/common/cache';\r\nimport { } from '@yourcause/common/state';\r\n\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class DeepLinkingService {\r\n @CachedAttr(CACHE_TYPES.LOCALSTORAGE)\r\n private _attemptedRoute: string;\r\n\r\n constructor (\r\n private router: Router\r\n ) { }\r\n\r\n calculatePathname () {\r\n return location.pathname +\r\n (location.search || '') +\r\n (location.hash || '');\r\n }\r\n\r\n get attemptedRoute () {\r\n return this._attemptedRoute;\r\n }\r\n\r\n attemptDeepLinking (route: string) {\r\n this.router.navigateByUrl(this._attemptedRoute || route, /* Removed unsupported properties by Angular migration: queryParamsHandling. */ {});\r\n this._attemptedRoute = '';\r\n }\r\n\r\n setAttemptedRoute (route = this.calculatePathname()) {\r\n if (route && route !== '/') {\r\n this._attemptedRoute = route;\r\n }\r\n }\r\n\r\n clearAttemptedRoute () {\r\n this._attemptedRoute = '';\r\n }\r\n\r\n private getExtraRouteParams (queryParams: Params): Params {\r\n return {queryParams: queryParams ?? {}};\r\n }\r\n\r\n attemptDeepLink (route: string, queryParams?: Params) {\r\n const existingRoute = this._attemptedRoute;\r\n const _route = existingRoute || route;\r\n\r\n const [path, queryString] = _route.split('?');\r\n const extras = this.getExtraRouteParams(queryParams);\r\n if (queryString) {\r\n queryString.split('&').forEach(param => {\r\n const [key, value] = param.split('=');\r\n extras.queryParams[key] = value;\r\n });\r\n }\r\n\r\n if (!!extras) {\r\n this.router.navigate([path], extras);\r\n } else {\r\n this.router.navigateByUrl(path);\r\n }\r\n this.setAttemptedRoute('');\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AdaptedPaginationOptions } from '@core/models/extract-filter-columns.model';\r\nimport { PaginationOptions } from '@yourcause/common';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ExtractFilterColumnsService {\r\n\r\n paramsMap: {\r\n [x: string]: any;\r\n } = {};\r\n\r\n // We pass in original PaginationOptions and\r\n // an array of columnNames that we want to\r\n // extract from the PaginationOptions.\r\n // Return modified PaginationOptions and the\r\n // specified columnNames/values (to be used as\r\n // endpoint body or url parameters).\r\n\r\n extractFilterColumnsFromPaginationOptions (\r\n paginationOptions: PaginationOptions,\r\n columnNames: string[],\r\n buildArrayOfValues = false\r\n ): AdaptedPaginationOptions {\r\n this.paramsMap = {};\r\n if (columnNames.length) {\r\n columnNames.forEach((name) => {\r\n paginationOptions.filterColumns = paginationOptions.filterColumns\r\n .filter((column) => {\r\n if (column.columnName === name) {\r\n if (column.filters.length === 1) {\r\n if (buildArrayOfValues) {\r\n this.paramsMap[name] = [column.filters[0].filterValue] as any;\r\n } else {\r\n this.paramsMap[name] = column.filters[0].filterValue as any;\r\n }\r\n } else if (column.filters.length > 1 &&\r\n buildArrayOfValues\r\n ) {\r\n const array = column.filters.map((filter) => filter.filterValue);\r\n this.paramsMap[name] = array;\r\n }\r\n\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n });\r\n });\r\n }\r\n\r\n return {\r\n paginationOptions,\r\n params: this.paramsMap\r\n };\r\n }\r\n\r\n // Pass in original PaginationOptions and\r\n // additional columnName and values to add\r\n // a new filter\r\n adaptPaginationOptions (\r\n paginationOptions: PaginationOptions,\r\n columnName: string,\r\n filterType: string,\r\n filterValue: string|number\r\n ) {\r\n return {\r\n ...paginationOptions,\r\n filterColumns: [\r\n ...paginationOptions.filterColumns,\r\n {\r\n columnName,\r\n filters: [\r\n {\r\n filterType,\r\n filterValue\r\n }\r\n ]\r\n }\r\n ]\r\n };\r\n }\r\n\r\n adaptPaginationOptionsWithYcCharityId (\r\n paginationOptions: PaginationOptions,\r\n charityIdColumnName: string,\r\n searchTypeColumnName: string\r\n ) {\r\n let charityId: number;\r\n let filteredPaginationOptions: PaginationOptions;\r\n\r\n paginationOptions.filterColumns = paginationOptions.filterColumns\r\n .filter((column) => {\r\n // remove ycCharityId and convert to number\r\n if (column.columnName === charityIdColumnName) {\r\n charityId = +(column.filters[0].filterValue);\r\n\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n });\r\n const adaptedParams = this.extractFilterColumnsFromPaginationOptions(\r\n paginationOptions,\r\n [searchTypeColumnName]\r\n );\r\n // re-add ycCharityId to filterColumns\r\n if (!!charityId) {\r\n filteredPaginationOptions = this.adaptPaginationOptions(\r\n adaptedParams.paginationOptions,\r\n charityIdColumnName,\r\n 'eq',\r\n charityId\r\n );\r\n\r\n return filteredPaginationOptions;\r\n } else {\r\n return adaptedParams.paginationOptions;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRestService } from '@core/services/http-rest.service';\r\nimport { FeatureFlagModel, UpdateFeatureFLagPayload } from '@core/typings/feature-flag.typing';\r\nimport { APIResponse } from '@yourcause/common';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class FeatureFlagResources {\r\n constructor (\r\n private httpRestService: HttpRestService\r\n ) { }\r\n\r\n async getFeatureFlags () {\r\n const endpoint = 'api/FeatureFlag/GetFeatureFlags';\r\n\r\n return this.httpRestService.get>(endpoint);\r\n }\r\n\r\n updateFeatureFlagStatus (payload: UpdateFeatureFLagPayload) {\r\n const endpoint = 'api/FeatureFlag/UpdateFeatureFlagStatus';\r\n\r\n return this.httpRestService.post(\r\n endpoint,\r\n payload\r\n );\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { FeatureFlagModel, FeatureFlagType, UpdateFeatureFLagPayload } from '@core/typings/feature-flag.typing';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { NotifierService } from '@yourcause/common/notifier';\r\nimport { AttachYCState, BaseYCService } from '@yourcause/common/state';\r\nimport { FeatureFlagResources } from './feature-flag.resources';\r\nimport { FeatureFlagState } from './feature-flag.state';\r\n\r\n@AttachYCState(FeatureFlagState)\r\n@Injectable({ providedIn: 'root' })\r\nexport class FeatureFlagService extends BaseYCService{\r\n constructor (\r\n private featureFlagResources: FeatureFlagResources,\r\n private notifier: NotifierService,\r\n private i18n: I18nService\r\n ) {\r\n super();\r\n }\r\n\r\n get featureFlags (): FeatureFlagModel[] {\r\n return this.get('featureFlags');\r\n }\r\n\r\n get programsFlagValue () {\r\n return this.get('programsFlagValue');\r\n }\r\n\r\n get blackbaudIdFlagValue () {\r\n return this.get('bbidFlagValue');\r\n }\r\n\r\n get liveChatFlagValue () {\r\n return this.get('liveChatFlagValue');\r\n }\r\n\r\n get populationServedFlagValue () {\r\n return this.get('populationServedFlagValue');\r\n }\r\n\r\n /**\r\n * gets whether system questions are turned on; only type is Persona currently\r\n */\r\n get systemQuestionsFlagValue () {\r\n return this.get('systemQuestionsFlagValue');\r\n }\r\n\r\n getFeatureFlagEnabledValue (\r\n featureFlagType: FeatureFlagType\r\n ): boolean {\r\n if (this.featureFlags?.length > 0) {\r\n const flag = this.featureFlags.find((type) => type.name === featureFlagType);\r\n\r\n return flag?.enabled;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n setProgramsFlagValue (val: boolean) {\r\n this.set('programsFlagValue', val);\r\n }\r\n\r\n setBlackbaudIdFlagValue (val: boolean) {\r\n this.set('bbidFlagValue', val);\r\n }\r\n\r\n setLiveChatFlagValue (val: boolean) {\r\n this.set('liveChatFlagValue', val);\r\n }\r\n\r\n setPopulationServedFlagValue (val: boolean) {\r\n this.set('populationServedFlagValue', val);\r\n }\r\n\r\n /**\r\n * sets whether system questions are turned on; only type is Persona currently\r\n */\r\n setSystemQuestionsFlagValue (val: boolean) {\r\n this.set('systemQuestionsFlagValue', val);\r\n }\r\n\r\n async setAllFlags (flags: FeatureFlagModel[]) {\r\n const programFlag = flags?.find((flag) => {\r\n return flag.name === FeatureFlagType.Programs;\r\n });\r\n\r\n const bbidFlag = flags?.find((flag) => {\r\n return flag.name === FeatureFlagType.BlackbaudId;\r\n });\r\n\r\n const liveChatFlag = flags?.find((flag) => {\r\n return flag.name === FeatureFlagType.LiveChat;\r\n });\r\n\r\n const populationServedFlag = flags?.find((flag) => {\r\n return flag.name === FeatureFlagType.PopulationServed;\r\n });\r\n\r\n /**\r\n * for returning appropriate feature flag; SystemQuestions\r\n */\r\n const systemQuestionsFlag = flags?.find((flag) => {\r\n return flag.name === FeatureFlagType.SystemQuestions;\r\n });\r\n\r\n return Promise.all([\r\n this.set('featureFlags', flags),\r\n this.setProgramsFlagValue(programFlag?.enabled || false),\r\n this.setBlackbaudIdFlagValue(bbidFlag?.enabled || false),\r\n this.setLiveChatFlagValue(liveChatFlag?.enabled || false),\r\n this.setPopulationServedFlagValue(populationServedFlag?.enabled || false),\r\n /**\r\n * Set the value for SystemQuestions\r\n */\r\n this.setSystemQuestionsFlagValue(systemQuestionsFlag?.enabled || false)\r\n ]);\r\n }\r\n\r\n // APIs\r\n async getAllFeatureFlagsLookup () {\r\n const response = await this.featureFlagResources.getFeatureFlags();\r\n await this.setAllFlags(response.data);\r\n }\r\n\r\n async updateFeatureFlagStatus (\r\n payload: UpdateFeatureFLagPayload\r\n ) {\r\n try {\r\n await this.featureFlagResources.updateFeatureFlagStatus(payload);\r\n this.notifier.success(this.i18n.translate(\r\n 'platformAdmin:notificationSuccessUpdatingFeatureFlag',\r\n {},\r\n 'Successfully updated Feature Flag'\r\n ));\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'platformAdmin:notificationErrorUpdatingFeatureFlag',\r\n {},\r\n 'There was an error updating the Feature Flag'\r\n ));\r\n }\r\n }\r\n}\r\n","import { FeatureFlagModel } from '@core/typings/feature-flag.typing';\r\nimport { CachedAttr, CACHE_TYPES } from '@yourcause/common/cache';\r\nimport { BaseYcState, RegisterYCState } from '@yourcause/common/state';\r\n\r\n@RegisterYCState()\r\nexport class FeatureFlagState extends BaseYcState {\r\n readonly featureFlags: FeatureFlagModel[];\r\n\r\n @CachedAttr(CACHE_TYPES.LOCALSTORAGE)\r\n readonly programsFlagValue: boolean;\r\n readonly bbidFlagValue: boolean;\r\n readonly liveChatFlagValue: boolean;\r\n readonly populationServedFlagValue: boolean;\r\n /**\r\n * Property for SystemQuestions feature\r\n */\r\n readonly systemQuestionsFlagValue: boolean;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { PaymentDetailsApi, PaymentDetailsUi } from '@core/models/payment.model';\r\nimport { FinanceResources } from '@core/resources/finance.resources';\r\nimport { APIResult, PaginationOptions } from '@yourcause/common';\r\nimport { DateService, TIMESTAMP_FORMAT } from '@yourcause/common/date';\r\nimport { TableDataDownloadFormat } from '@yourcause/common/files';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { NotifierService } from '@yourcause/common/notifier';\r\nimport { AttachYCState, BaseYCService } from '@yourcause/common/state';\r\nimport { getYear, subYears } from 'date-fns';\r\nimport { AssetManagementService } from '../../asset-management/services/asset-management.service';\r\nimport { Transaction, TransactionStatus } from '../models/donation.model';\r\nimport { MultiplePaymentsPayload, PaymentTypes } from '../models/finance.model';\r\nimport { FinanceState } from '../state/finance.state';\r\n\r\n@AttachYCState(FinanceState)\r\n@Injectable({ providedIn: 'root' })\r\nexport class FinanceService extends BaseYCService {\r\n readonly disbursementStatusColumn = 'disbursementStatus';\r\n readonly paymentNumberColumn = 'paymentNumber';\r\n readonly dateCreatedColumn = 'dateCreated';\r\n\r\n PaymentTypesMap = {\r\n [PaymentTypes.CHECK]: this.i18n.translate('give:textCheck', {}, 'Check'),\r\n [PaymentTypes.WIRE]: this.i18n.translate('give:textWire', {}, 'Wire'),\r\n [PaymentTypes.ACH]: this.i18n.translate('give:textACH', {}, 'ACH'),\r\n [PaymentTypes.OTHER]: this.i18n.translate('give:textOther', {}, 'Other')\r\n };\r\n errorRetrievingDataText = this.i18n.translate(\r\n 'common:notificationErrorRetreivingData',\r\n {},\r\n 'There was an error retrieving the data'\r\n );\r\n\r\n constructor (\r\n private financeResources: FinanceResources,\r\n private i18n: I18nService,\r\n private notifier: NotifierService,\r\n private dateService: DateService,\r\n private assetManagementService: AssetManagementService\r\n ) {\r\n super();\r\n }\r\n\r\n get pendingDisbursements () {\r\n return this.get('pendingDisbursements');\r\n }\r\n\r\n get matchRequests () {\r\n return this.get('matchRequests');\r\n }\r\n\r\n get paymentId () {\r\n return this.get('paymentId');\r\n }\r\n\r\n get paymentNumber () {\r\n return this.get('paymentNumber');\r\n }\r\n\r\n get transactionsStatus () {\r\n return this.get('transactionsStatus');\r\n }\r\n\r\n get paymentDetailsForTransactions () {\r\n return this.get('paymentDetailsForTransactions');\r\n }\r\n\r\n get defaultDateRange () {\r\n const diff = getYear(new Date()) - 2015; // always go back to 2015\r\n\r\n return [\r\n subYears(new Date(), diff),\r\n new Date()\r\n ];\r\n }\r\n\r\n get errorState (): boolean {\r\n return this.get('errorState');\r\n }\r\n\r\n get transactionsPending (): number {\r\n return this.get('transactionsPending');\r\n }\r\n\r\n get amountPending (): number {\r\n return this.get('amountPending');\r\n }\r\n\r\n async setPendingDisbursements () {\r\n const response = await this.getPendingDisbursements();\r\n this.set('pendingDisbursements', response?.data);\r\n this.set('amountPending', response?.data.amountPending);\r\n this.set('transactionsPending', response?.data.transactionsPending);\r\n }\r\n\r\n async setMatchRequests () {\r\n if (!this.matchRequests) {\r\n const response = await this.financeResources.getMatchRequests();\r\n this.set('matchRequests', response.data);\r\n }\r\n }\r\n\r\n setPaymentIdForTransactions (paymentId: number) {\r\n this.set('paymentId', paymentId);\r\n }\r\n\r\n setTransactionsStatus (status: string) {\r\n this.set('transactionsStatus', status);\r\n }\r\n\r\n async setPaymentDetailsForTransactions (paymentId: number) {\r\n const response = await this.financeResources.getPaymentDetailForTransactions(paymentId);\r\n this.set('paymentDetailsForTransactions', response.data);\r\n }\r\n\r\n setPaymentNumber (paymentNumber: string) {\r\n this.set('paymentNumber', paymentNumber);\r\n }\r\n\r\n setErrorState (state: boolean) {\r\n this.set('errorState', state);\r\n }\r\n\r\n // APIs\r\n\r\n async getPayments (\r\n paginationOptions: PaginationOptions\r\n ): Promise> {\r\n const paymentNumber = this.paymentNumber;\r\n if (!!paymentNumber) {\r\n paginationOptions = this.adaptPaginationOptions(\r\n paginationOptions,\r\n this.paymentNumberColumn,\r\n 'eq',\r\n paymentNumber\r\n );\r\n }\r\n try {\r\n const response = await this.financeResources.getPayments(paginationOptions);\r\n this.setPaymentNumber(null);\r\n\r\n return {\r\n ...response,\r\n data: {\r\n ...response.data,\r\n records: response.data.records.map((record) => {\r\n return {\r\n ...record,\r\n paymentTypeId: record.paymentType?.id\r\n };\r\n })\r\n }\r\n };\r\n } catch (e) {\r\n console.error(e);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getPaymentsDownload (\r\n paginationOptions: PaginationOptions,\r\n format: TableDataDownloadFormat\r\n ) {\r\n try {\r\n const paymentNumber = this.paymentNumber;\r\n const extension = format === TableDataDownloadFormat.XLSX ? 'xlsx' : 'csv';\r\n const fileName = `Payments-${this.dateService.formatDate(new Date(), TIMESTAMP_FORMAT)}.${extension}`;\r\n if (!!paymentNumber) {\r\n paginationOptions = this.adaptPaginationOptions(\r\n paginationOptions,\r\n this.paymentNumberColumn,\r\n 'eq',\r\n paymentNumber\r\n );\r\n }\r\n\r\n return this.assetManagementService.downloadCsvOrExcel(\r\n paginationOptions,\r\n format,\r\n fileName,\r\n this.financeResources.paymentsDownloadEndpoint,\r\n null\r\n );\r\n } catch (e: any) {\r\n console.error(e);\r\n if (e.error.message) {\r\n this.notifier.error(e.error.message);\r\n } else {\r\n this.notifier.error(this.errorRetrievingDataText);\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n getAllTransactions (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n let isPending = false;\r\n const pendingStatus = TransactionStatus.Pending;\r\n\r\n // set the isPending flag to TRUE\r\n // if user selected Pending status filter\r\n if (paginationOptions.filterColumns.some((c) => c.columnName === this.disbursementStatusColumn)) {\r\n isPending = !!(paginationOptions.filterColumns.filter((c) => c.filters[0].filterValue === pendingStatus).length);\r\n\r\n // Or if navigating from My Workspace and Pending status was set on state\r\n } else if (this.transactionsStatus === pendingStatus) {\r\n isPending = true;\r\n paginationOptions = this.adaptPaginationOptions(\r\n paginationOptions,\r\n this.disbursementStatusColumn,\r\n 'eq',\r\n pendingStatus\r\n );\r\n }\r\n const response = this.financeResources.getAllTransactions(\r\n paginationOptions,\r\n isPending\r\n );\r\n this.setTransactionsStatus('');\r\n\r\n return response;\r\n }\r\n\r\n async getAllTransactionsDownload (\r\n paginationOptions: PaginationOptions,\r\n format: TableDataDownloadFormat\r\n ) {\r\n try {\r\n let isPending = false;\r\n const pendingStatus = TransactionStatus.Pending;\r\n\r\n // set the isPending flag to TRUE\r\n // If user selected Pending status filter\r\n if (paginationOptions.filterColumns.some((c) => c.columnName === this.disbursementStatusColumn)) {\r\n isPending = !!(paginationOptions.filterColumns.filter((c) => c.filters[0].filterValue === pendingStatus).length);\r\n\r\n // Or if navigating from My Workspace and Pending status was set on state\r\n } else if (this.transactionsStatus === pendingStatus) {\r\n isPending = true;\r\n paginationOptions = this.adaptPaginationOptions(\r\n paginationOptions,\r\n this.disbursementStatusColumn,\r\n 'eq',\r\n pendingStatus\r\n );\r\n }\r\n\r\n const extension = format === TableDataDownloadFormat.XLSX ? 'xlsx' : 'csv';\r\n const fileName = `Transactions-Report-${this.dateService.formatDate(new Date(), TIMESTAMP_FORMAT)}.${extension}`;\r\n\r\n return this.assetManagementService.downloadCsvOrExcel(\r\n null,\r\n format,\r\n fileName,\r\n this.financeResources.transactionsDownloadEndpoint,\r\n {\r\n paginationOptions,\r\n isPending,\r\n exportReportType: format\r\n }\r\n );\r\n } catch (e: any) {\r\n console.error(e);\r\n if (e.error.message) {\r\n this.notifier.error(e.error.message);\r\n } else {\r\n this.notifier.error(this.errorRetrievingDataText);\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async downloadTransactionsForMultiplePayments (\r\n payload: MultiplePaymentsPayload,\r\n format: TableDataDownloadFormat\r\n ) {\r\n try {\r\n payload = {\r\n ...payload,\r\n exportReportType: format\r\n };\r\n const extension = format === TableDataDownloadFormat.XLSX ? 'xlsx' : 'csv';\r\n const fileName = `Transactions-for-Multiple-Payments-${this.dateService.formatDate(new Date(), TIMESTAMP_FORMAT)}.${extension}`;\r\n\r\n return this.assetManagementService.downloadCsvOrExcel(\r\n null,\r\n format,\r\n fileName,\r\n this.financeResources.paymentTransactionsDownloadEndpoint,\r\n payload\r\n );\r\n } catch (e: any) {\r\n console.error(e);\r\n if (e.error.message) {\r\n this.notifier.error(e.error.message);\r\n } else {\r\n this.notifier.error(this.errorRetrievingDataText);\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param nonprofitPaymentId paymentId that is set when user navigates from the Payments page\r\n * @param options paginationOptions\r\n * @param format exportReportType XLSX or CSV\r\n * @returns download model\r\n */\r\n\r\n async downloadTransactions (\r\n nonprofitPaymentId: number,\r\n options: PaginationOptions,\r\n format: TableDataDownloadFormat\r\n ) {\r\n try {\r\n const extension = format === TableDataDownloadFormat.XLSX ? 'xlsx' : 'csv';\r\n const fileName = `Transactions-for-Payment-${this.dateService.formatDate(new Date(), TIMESTAMP_FORMAT)}.${extension}`;\r\n\r\n return this.assetManagementService.downloadCsvOrExcel(\r\n null,\r\n format,\r\n fileName,\r\n this.financeResources.transactionsDownloadEndpoint,\r\n {\r\n paginationOptions: options,\r\n nonprofitPaymentId,\r\n exportReportType: format\r\n }\r\n );\r\n } catch (e: any) {\r\n console.error(e);\r\n if (e.error.message) {\r\n this.notifier.error(e.error.message);\r\n } else {\r\n this.notifier.error(this.errorRetrievingDataText);\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getPaginatedTransactions (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n const paymentId = this.paymentId;\r\n const response = await this.financeResources.getPaginatedTransactions(\r\n paginationOptions,\r\n paymentId\r\n );\r\n\r\n return response;\r\n }\r\n\r\n async getReissueIneligibleReasons (\r\n paymentId: number\r\n ) {\r\n const response = await this.financeResources.getReissueIneligibleReasons(paymentId);\r\n\r\n return response;\r\n }\r\n\r\n adaptPaginationOptions (\r\n paginationOptions: PaginationOptions,\r\n columnName: string,\r\n filterType: string,\r\n filterValue: any\r\n ) {\r\n return {\r\n ...paginationOptions,\r\n filterColumns: [\r\n ...paginationOptions.filterColumns,\r\n {\r\n columnName,\r\n filters: [\r\n {\r\n filterType,\r\n filterValue\r\n }\r\n ]\r\n }\r\n ]\r\n };\r\n }\r\n\r\n async getPendingDisbursements () {\r\n try {\r\n const response = await this.financeResources.getPendingDisbursements();\r\n this.setErrorState(false);\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.setErrorState(true);\r\n\r\n return null;\r\n }\r\n }\r\n}\r\n","import { HttpClient, HttpHeaders, HttpRequest, HttpResponse } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IHttpRestService } from '@yourcause/common/http';\r\nimport { filter, lastValueFrom, map, Observable } from 'rxjs';\r\n\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HttpRestService implements IHttpRestService {\r\n constructor (\r\n private http: HttpClient\r\n ) { }\r\n\r\n get (url: string, headers?: any): Promise {\r\n return this.makeRequest(url, 'get', null, headers);\r\n }\r\n\r\n post (url: string, data: B, headers?: any): Promise {\r\n return this.makeRequest(url, 'post', data, headers);\r\n }\r\n\r\n postFile (\r\n url: string,\r\n file: File|Blob|string,\r\n paramName = 'file',\r\n fileName?: string\r\n ) {\r\n const formData = new FormData();\r\n if (typeof file === 'string') {\r\n file = new File([new Blob([file])], fileName || 'upload');\r\n }\r\n if (!(file instanceof File) && fileName) {\r\n formData.append(paramName, file, fileName);\r\n } else {\r\n formData.append(paramName, file);\r\n }\r\n\r\n return this.postFormData(url, formData);\r\n }\r\n\r\n postFormData (url: string, formData: FormData): Promise {\r\n const request = new HttpRequest('POST', url, formData, {\r\n reportProgress: true,\r\n headers: new HttpHeaders({ 'ngsw-bypass': 'true' }), // service worker may be impacting file uploads...\r\n responseType: 'text'\r\n });\r\n\r\n return lastValueFrom(this.http.request(request)\r\n .pipe(filter(event => event instanceof HttpResponse))\r\n .pipe(map(event => (>event).body)));\r\n }\r\n\r\n put (url: string, data: any, headers?: any): Promise {\r\n return this.makeRequest(url, 'put', data, headers);\r\n }\r\n\r\n delete (url: string, headers?: any, data?: any): Promise {\r\n return this.makeRequest(url, 'delete', data, headers);\r\n }\r\n\r\n putS3PublicRead (url: string, file: any, contentType: string): Promise {\r\n return this.putS3(url, file, contentType, true);\r\n }\r\n\r\n putS3NoRead (url: string, file: any, contentType: string): Promise {\r\n return this.putS3(url, file, contentType, false);\r\n }\r\n\r\n protected makeRequest (\r\n url: string,\r\n method: 'get'|'post'|'put'|'delete',\r\n data: B,\r\n inputHeaders?: any\r\n ): Promise {\r\n let observable: Observable;\r\n switch (method) {\r\n case 'get':\r\n observable = this.http.get(url, {\r\n headers: inputHeaders\r\n });\r\n break;\r\n case 'post':\r\n observable = this.http.post(url, data, {\r\n headers: inputHeaders\r\n });\r\n break;\r\n case 'put':\r\n observable = this.http.put(url, data, {\r\n headers: inputHeaders\r\n });\r\n break;\r\n case 'delete':\r\n observable = this.http.delete(url, {\r\n headers: inputHeaders,\r\n body: data\r\n });\r\n break;\r\n }\r\n\r\n return lastValueFrom(observable);\r\n }\r\n\r\n private putS3 (\r\n url: string,\r\n file: File,\r\n contentType: string,\r\n isPublicRead: boolean\r\n ): Promise {\r\n return new Promise((resolve, reject) => {\r\n\r\n const xhr = new XMLHttpRequest();\r\n\r\n xhr.open('PUT', url);\r\n xhr.setRequestHeader('Content-Type', contentType);\r\n if (isPublicRead) {\r\n xhr.setRequestHeader('x-amz-acl', 'public-read');\r\n }\r\n xhr.onreadystatechange = () => {\r\n if (xhr.readyState === 4) {\r\n if (xhr.status === 200) {\r\n resolve(xhr.response);\r\n } else {\r\n reject(xhr.response);\r\n }\r\n }\r\n };\r\n xhr.send(file);\r\n });\r\n }\r\n\r\n /**\r\n * Constructs a `GET` request that interprets the body as JSON and returns\r\n * the response body in a given type.\r\n *\r\n * @param url The endpoint URL.\r\n *\r\n * @return An `Observable` of the `HttpResponse`, with a response body in the requested type.\r\n */\r\n Get (url: string): Observable {\r\n return this.http.get(url);\r\n }\r\n\r\n /**\r\n * Constructs a DELETE request that interprets the body as JSON and returns\r\n * the response in a given type.\r\n *\r\n * @param url The endpoint URL.\r\n *\r\n * @return An `Observable` of the `HttpResponse`, with response body in the requested type.\r\n */\r\n Delete (url: string, data?: any): Observable {\r\n const options = data ? { body: data } : {};\r\n\r\n return this.http.delete(url, options);\r\n }\r\n\r\n /**\r\n * Constructs a `POST` request that interprets the body as JSON\r\n * and returns an observable of the response.\r\n *\r\n * @param url The endpoint URL.\r\n * @param body The content to replace with.\r\n *\r\n * @return An `Observable` of the `HttpResponse` for the request, with a response body in the\r\n * requested type.\r\n */\r\n Post (url: string, body: any): Observable {\r\n return this.http.post(url, body);\r\n }\r\n\r\n /**\r\n * Constructs a `PUT` request that interprets the body as JSON\r\n * and returns an observable of the response.\r\n *\r\n * @param url The endpoint URL.\r\n * @param body The content to replace with.\r\n *\r\n * @return An `Observable` of the `HttpResponse` for the request, with a response body in the\r\n * requested type.\r\n */\r\n Put (url: string, body: any): Observable {\r\n return this.http.put(url, body);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AuthService } from './auth.service';\r\nexport const acceptedFileTypesLink = 'https://webfiles.blackbaud.com/files/support/helpfiles/npoconnect/content/npo-guide-file-requirements.html';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class LinkService {\r\n\r\n constructor (\r\n private authService: AuthService\r\n ) { }\r\n\r\n getAcceptedFileTypesLink () {\r\n return acceptedFileTypesLink;\r\n }\r\n\r\n getPrivacyPolicyLink () {\r\n return this.authService.termsOfService?.privacyPolicyUrl;\r\n }\r\n\r\n getTermsOfServiceLink () {\r\n return this.authService.termsOfService?.url;\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ConfirmNpoAdminModalComponent } from '@core/components/confirm-npo-admin-modal/confirm-npo-admin-modal.component';\r\nimport { RemoveUserRolesPayload } from '@core/models/account.model';\r\nimport { DateService } from '@yourcause/common/date';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { ModalFactory } from '@yourcause/common/modals';\r\nimport { NotifierService } from '@yourcause/common/notifier';\r\nimport { NonprofitService } from 'ClientApp/app/nonprofit/nonprofit.service';\r\nimport { BasicNonprofit, InviteAdminEmailPayload } from '../models/npo.model';\r\nimport { AccountService } from './account.service';\r\nimport { SpinnerService } from './spinner.service';\r\nimport { TokenService } from './token/token.service';\r\n\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class NonprofitAdminService {\r\n\r\n constructor (\r\n public http: HttpClient,\r\n public notifier: NotifierService,\r\n public i18n: I18nService,\r\n private accountService: AccountService,\r\n private nonprofitService: NonprofitService,\r\n private dateService: DateService,\r\n private modalFactory: ModalFactory,\r\n private spinnerService: SpinnerService,\r\n private tokenService: TokenService\r\n ) { }\r\n\r\n sendNonprofitAdminInvite (payload: InviteAdminEmailPayload) {\r\n return this.http\r\n .post('api/Admin/InviteEmailToBecomeNonprofitAdmin', payload);\r\n }\r\n\r\n async confirmNpoAdmin () {\r\n let myNpos: BasicNonprofit[];\r\n let modalDeps: Partial = {};\r\n let payload: RemoveUserRolesPayload = {\r\n nonprofitIds: []\r\n };\r\n\r\n const userId = this.tokenService.tokenInfo.userId;\r\n\r\n if (!this.accountService.accessRemovedModalClosed\r\n ) {\r\n const response = await this.accountService.getUserDeactivationFlags(+userId);\r\n const deactivationWfFlagDates = response.data;\r\n if (\r\n deactivationWfFlagDates?.flaggedForDeactivationOn ||\r\n deactivationWfFlagDates?.deactivatedViaWorkflowOn\r\n ) {\r\n if (deactivationWfFlagDates?.flaggedForDeactivationOn) {\r\n myNpos = await this.nonprofitService.getStrictNonprofitsForAdmin();\r\n\r\n if (myNpos.length > 1) {\r\n modalDeps = {\r\n myNpos,\r\n userInfo: this.tokenService.tokenInfo,\r\n userAccessRemovedDate: ''\r\n };\r\n }\r\n } else if (deactivationWfFlagDates?.deactivatedViaWorkflowOn) {\r\n modalDeps = {\r\n myNpos: [],\r\n userInfo: this.tokenService.tokenInfo,\r\n userAccessRemovedDate: this.dateService.formatDate(deactivationWfFlagDates.deactivatedViaWorkflowOn)\r\n };\r\n }\r\n\r\n if (Object.keys(modalDeps).length) {\r\n const modalResponse = await this.modalFactory.open(\r\n ConfirmNpoAdminModalComponent,\r\n modalDeps,\r\n {\r\n class: 'modal-lg'\r\n }\r\n );\r\n\r\n if (modalResponse) {\r\n this.spinnerService.startSpinner();\r\n payload = {\r\n nonprofitIds: modalResponse.nonprofitIds\r\n };\r\n await this.accountService.removeUserRoles(payload);\r\n await this.tokenService.doRefresh(true);\r\n this.spinnerService.stopSpinner();\r\n location.pathname = '/my-nonprofits';\r\n } else {\r\n await this.accountService.removeUserRoles(payload);\r\n location.pathname = '/my-nonprofits';\r\n }\r\n\r\n return !!modalResponse;\r\n } else {\r\n if (deactivationWfFlagDates?.flaggedForDeactivationOn) {\r\n await this.accountService.removeUserRoles(payload);\r\n }\r\n\r\n return true;\r\n }\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { PersonaResources } from '@core/resources/persona.resources';\r\nimport { PersonaTypings } from '@core/typings/persona.typing';\r\nimport { AttachYCState, BaseYCService } from '@yourcause/common/state';\r\nimport { PersonaQuestionAndAnswersForComponent, PersonaState } from './persona.state';\r\nimport { ModalFactory } from '@yourcause/common/modals';\r\nimport { AddEditPersonaAnswerCustomResponseModalComponent } from '../../persona/add-edit-persona-answer-custom-response-modal/add-edit-persona-answer-custom-response-modal.component';\r\nimport { concatMap, forkJoin, map, Observable } from 'rxjs';\r\nimport { AddEditPersonaAnswersModalComponent } from '../../persona/add-edit-persona-answers-modal/add-edit-persona-answers-modal.component';\r\nimport { FeatureFlagService } from './feature-flag/feature-flag.service';\r\nimport { TokenService } from './token/token.service';\r\nimport { AuthService } from './auth.service';\r\n\r\n/**\r\n * Persona Service\r\n */\r\n@AttachYCState(PersonaState)\r\n@Injectable({ providedIn: 'root' })\r\n\r\nexport class PersonaService extends BaseYCService {\r\n\r\n PersonaQAsUser = PersonaTypings.PersonaQuestionAndAnswerTypes.User;\r\n PersonaQAsNonprofit = PersonaTypings.PersonaQuestionAndAnswerTypes.Nonprofit;\r\n PersonaQAsStagedNonprofit = PersonaTypings.PersonaQuestionAndAnswerTypes.StagedNonprofit;\r\n\r\n constructor (\r\n private personaResources: PersonaResources,\r\n private modalFactory: ModalFactory,\r\n private featureFlagService: FeatureFlagService,\r\n private tokenService: TokenService,\r\n private authService: AuthService\r\n ) {\r\n super();\r\n }\r\n\r\n /**\r\n * returns personaQuestionsAndAnswersData for the main component\r\n */\r\n public get personaQuestionsAndAnswersData (): PersonaQuestionAndAnswersForComponent[] {\r\n return this.get('personaQuestionsAndAnswersData');\r\n }\r\n\r\n /**\r\n * sets the private Getters and then builds the data for personaQuestionsAndAnswersData\r\n *\r\n * @param personaServiceDetails; dictates which API endpoints are used within the resource file along with which getters to set/use when building data for the component\r\n */\r\n public setPersonaAnswers (\r\n personaServiceDetails: PersonaTypings.PersonaServiceDetails\r\n ){\r\n let personaQuestionAndAnswerType = this.setPersonaQuestionAndAnswerType(personaServiceDetails);\r\n let specificPersonaUserAnswers = this.getSpecificPersonaUserAnswers(personaServiceDetails);\r\n\r\n let personaQuestionsAndAnswers = this.personaResources.getPersonaQuestionsAndAnswers();\r\n\r\n var handlePersonaQuestionAndAnswersData: PersonaTypings.HandlePersonaQuestionAndAnswersData = {\r\n personaQuestionAndAnswerType: personaQuestionAndAnswerType,\r\n personaServiceDetails: personaServiceDetails,\r\n personaQuestionsAndAnswers: personaQuestionsAndAnswers,\r\n personaUserAnswersOne: specificPersonaUserAnswers[0],\r\n personaUserAnswersTwo: specificPersonaUserAnswers?.length == 2 ? specificPersonaUserAnswers[1] : null\r\n };\r\n\r\n if (specificPersonaUserAnswers?.length == 2) {\r\n this.setPersonaQuestionsAndAnswers_FetchMultipleResponses(handlePersonaQuestionAndAnswersData);\r\n } else if (specificPersonaUserAnswers?.length == 1) {\r\n this.setPersonaQuestionsAndAnswers_FetchSingeResponse(handlePersonaQuestionAndAnswersData);\r\n }\r\n }\r\n\r\n /**\r\n * Private Getters - used to set personaQuestionsAndAnswers and personaUserAnswers within personaQuestionsAndAnswersData\r\n */\r\n\r\n /**\r\n * returns personaQuestionsAndAnswers; data on each question/answer(s) groups\r\n */\r\n private get personaQuestionsAndAnswers (): PersonaTypings.GetPersonaQuestionsAndAnswersQueryDto {\r\n return this.get('personaQuestionsAndAnswers');\r\n }\r\n\r\n /**\r\n * returns personaUserAnswers; data on each answer(s) a user has for a question at the User level\r\n */\r\n private get personaUserAnswers (): PersonaTypings.GetPersonaUserAnswersQueryDto {\r\n return this.get('personaUserAnswers');\r\n }\r\n\r\n /**\r\n * returns personaUserNonprofitAnswers; data on each answer(s) a user has for a question at the Nonprofit level\r\n */\r\n private get personaUserNonprofitAnswers (): PersonaTypings.GetPersonaUserNonprofitAnswersQueryDto {\r\n return this.get('personaUserNonprofitAnswers');\r\n }\r\n\r\n /**\r\n * returns personaUserStagedNonprofitAnswers; data on each answer(s) a user has for a question at the Staged Nonprofit level\r\n */\r\n private get personaUserStagedNonprofitAnswers (): PersonaTypings.GetPersonaUserStagedNonprofitAnswersQueryDto {\r\n return this.get('personaUserStagedNonprofitAnswers');\r\n }\r\n\r\n /**\r\n * returns personaUserNonprofitAnswersForReview; data on each answer(s) a user has for a question at the Nonprofit level; being retrieved by a reviewer\r\n */\r\n private get personaUserNonprofitAnswersForReview (): PersonaTypings.GetPersonaUserNonprofitAnswersForReviewQueryDto {\r\n return this.get('personaUserNonprofitAnswersForReview');\r\n }\r\n\r\n /**\r\n * returns personaUserStagedNonprofitAnswersForReview; data on each answer(s) a user has for a question at the Staged Nonprofit level; being retrieved by a reviewer\r\n */\r\n private get personaUserStagedNonprofitAnswersForReview (): PersonaTypings.GetPersonaUserStagedNonprofitAnswersForReviewQueryDto {\r\n return this.get('personaUserStagedNonprofitAnswersForReview');\r\n }\r\n\r\n /**\r\n * Determines Persona Question and Answer Type based on incoming details\r\n * @param personaServiceDetails; details to determine PersonaQuestionAndAnswerTypes\r\n * @returns PersonaQuestionAndAnswerTypes\r\n */\r\n private setPersonaQuestionAndAnswerType (\r\n personaServiceDetails: PersonaTypings.PersonaServiceDetails\r\n ): PersonaTypings.PersonaQuestionAndAnswerTypes {\r\n return personaServiceDetails.nonprofitId ? this.PersonaQAsNonprofit :\r\n personaServiceDetails.stagedNonprofitId ? this.PersonaQAsStagedNonprofit :\r\n this.PersonaQAsUser;\r\n }\r\n\r\n /**\r\n * returns the observables of the answers to use when building the component\r\n * @param personaServiceDetails; dictates which answers to return\r\n * @returns may either return one set of answers or two sets if we are to default to another answer set within an area of the application\r\n */\r\n private getSpecificPersonaUserAnswers (personaServiceDetails: PersonaTypings.PersonaServiceDetails) {\r\n let nonprofitId = personaServiceDetails.nonprofitId;\r\n let stagedNonprofitId = personaServiceDetails.stagedNonprofitId;\r\n let userId = personaServiceDetails.userId;\r\n let nonprofitAdminRequestId = personaServiceDetails.nonprofitAdminRequestId;\r\n let beingReviewed = personaServiceDetails.beingReviewed;\r\n let unansweredQuestionsOnly = personaServiceDetails.unansweredQuestionsOnly;\r\n\r\n if (!(nonprofitId || stagedNonprofitId || userId || nonprofitAdminRequestId)) {\r\n // MyAccount; User level\r\n // Unanswered; User level\r\n return [this.personaResources.getPersonaUserAnswers()];\r\n } else {\r\n if (nonprofitId) {\r\n if (userId && nonprofitAdminRequestId && beingReviewed) {\r\n // Nonprofit Admin Request; Nonprofit level for reviewer\r\n return [\r\n this.personaResources.getPersonaUserNonprofitAnswersForReview(userId, nonprofitId, nonprofitAdminRequestId)\r\n ];\r\n } else if (unansweredQuestionsOnly) {\r\n // Unanswered; Nonprofit level\r\n return [\r\n this.personaResources.getPersonaUserNonprofitAnswers(nonprofitId)\r\n ];\r\n } else {\r\n // MyNonprofits; Nonprofit level and User level\r\n // Nonprofit Admin Request; Nonprofit level and User level\r\n return [\r\n this.personaResources.getPersonaUserNonprofitAnswers(nonprofitId),\r\n this.personaResources.getPersonaUserAnswers()\r\n ];\r\n }\r\n } else if (stagedNonprofitId) {\r\n if (userId && nonprofitAdminRequestId && beingReviewed) {\r\n // Nonprofit Admin Request; Staged Nonprofit level for reviewer\r\n return [this.personaResources.getPersonaUserStagedNonprofitAnswersForReview(userId, stagedNonprofitId, nonprofitAdminRequestId)];\r\n } else {\r\n // Nonprofit Admin Request; Staged Nonprofit level and User level\r\n return [\r\n this.personaResources.getPersonaUserStagedNonprofitAnswers(stagedNonprofitId),\r\n this.personaResources.getPersonaUserAnswers()\r\n ];\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * processes the questions and answers and the user's multiple responses for them; for when an area defaults to another level for answers (only defaulting to the user level in MyNonprofits, Nonprofit Admin Requests)\r\n * @param handlePersonaQuestionAndAnswersData; the specific question and answers along with the user responses to process for the component.\r\n */\r\n private setPersonaQuestionsAndAnswers_FetchMultipleResponses (\r\n handlePersonaQuestionAndAnswersData: PersonaTypings.HandlePersonaQuestionAndAnswersData\r\n ) {\r\n let nonprofitStagedNonprofitAnswers:\r\n PersonaTypings.GetPersonaUserNonprofitAnswersQueryDto |\r\n PersonaTypings.GetPersonaUserStagedNonprofitAnswersQueryDto = null;\r\n\r\n handlePersonaQuestionAndAnswersData.\r\n personaQuestionsAndAnswers\r\n .pipe(\r\n concatMap(questionsAndAnswers => {\r\n this.set('personaQuestionsAndAnswers', questionsAndAnswers);\r\n\r\n return handlePersonaQuestionAndAnswersData.personaUserAnswersOne;\r\n }),\r\n concatMap(personaNonprofitStagedNonprofitAnswers => {\r\n nonprofitStagedNonprofitAnswers =\r\n handlePersonaQuestionAndAnswersData.personaQuestionAndAnswerType === this.PersonaQAsNonprofit ?\r\n personaNonprofitStagedNonprofitAnswers as PersonaTypings.GetPersonaUserNonprofitAnswersQueryDto :\r\n personaNonprofitStagedNonprofitAnswers as PersonaTypings.GetPersonaUserStagedNonprofitAnswersQueryDto;\r\n\r\n return handlePersonaQuestionAndAnswersData.personaUserAnswersTwo;\r\n })\r\n ).subscribe(personaUserAnswers => {\r\n var usersAnswers = personaUserAnswers as PersonaTypings.GetPersonaUserAnswersQueryDto;\r\n\r\n this.setUserPersonaAnswers(handlePersonaQuestionAndAnswersData.personaQuestionAndAnswerType, handlePersonaQuestionAndAnswersData.personaServiceDetails, usersAnswers, nonprofitStagedNonprofitAnswers);\r\n });\r\n }\r\n\r\n /**\r\n * processes the questions and answers and the user's single responses for them\r\n * @param handlePersonaQuestionAndAnswersData; the specific question and answers along with the user response to process for the component.\r\n */\r\n private setPersonaQuestionsAndAnswers_FetchSingeResponse (\r\n handlePersonaQuestionAndAnswersData: PersonaTypings.HandlePersonaQuestionAndAnswersData\r\n ) {\r\n let usersNonprofitStagedNonprofitPersonaAnswers: PersonaTypings.GetPersonaUserNonprofitAnswersQueryDto | PersonaTypings.GetPersonaUserNonprofitAnswersForReviewQueryDto | PersonaTypings.GetPersonaUserStagedNonprofitAnswersForReviewQueryDto = null;\r\n\r\n handlePersonaQuestionAndAnswersData.\r\n personaQuestionsAndAnswers\r\n .pipe(\r\n concatMap(questionsAndAnswers => {\r\n this.set('personaQuestionsAndAnswers', questionsAndAnswers);\r\n\r\n return handlePersonaQuestionAndAnswersData.personaUserAnswersOne;\r\n })\r\n ).subscribe(personaAnswers => {\r\n if (handlePersonaQuestionAndAnswersData.personaQuestionAndAnswerType === this.PersonaQAsNonprofit) {\r\n if (!handlePersonaQuestionAndAnswersData.personaServiceDetails.unansweredQuestionsOnly) {\r\n usersNonprofitStagedNonprofitPersonaAnswers = personaAnswers as PersonaTypings.GetPersonaUserNonprofitAnswersForReviewQueryDto;\r\n } else {\r\n usersNonprofitStagedNonprofitPersonaAnswers = personaAnswers as PersonaTypings.GetPersonaUserNonprofitAnswersQueryDto;\r\n }\r\n\r\n this.setUserPersonaAnswers(handlePersonaQuestionAndAnswersData.personaQuestionAndAnswerType, handlePersonaQuestionAndAnswersData.personaServiceDetails, null, usersNonprofitStagedNonprofitPersonaAnswers);\r\n } else if (handlePersonaQuestionAndAnswersData.personaQuestionAndAnswerType === this.PersonaQAsStagedNonprofit) {\r\n usersNonprofitStagedNonprofitPersonaAnswers = personaAnswers as PersonaTypings.GetPersonaUserStagedNonprofitAnswersForReviewQueryDto;\r\n\r\n this.setUserPersonaAnswers(handlePersonaQuestionAndAnswersData.personaQuestionAndAnswerType, handlePersonaQuestionAndAnswersData.personaServiceDetails, null, usersNonprofitStagedNonprofitPersonaAnswers);\r\n } else {\r\n let usersPersonaAnswers = personaAnswers as PersonaTypings.GetPersonaUserAnswersQueryDto;\r\n\r\n this.setUserPersonaAnswers(handlePersonaQuestionAndAnswersData.personaQuestionAndAnswerType, handlePersonaQuestionAndAnswersData.personaServiceDetails, usersPersonaAnswers, null);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * subscribes to the questions and answers and the user's responses for them\r\n * @param handlePersonaQuestionAndAnswersData; the specific question and answers along with the user response to process for the component.\r\n * @param personaQuestionAndAnswerType; the specific question and answers type/level\r\n * @param personaServiceDetails; details on the use case for the component\r\n * @param personaUsersAnswers; user responses\r\n * @param personaUsersNonprofitBasedAnswers; user nonprofit/staged nonprofit responses\r\n */\r\n private setUserPersonaAnswers (\r\n personaQuestionAndAnswerType: PersonaTypings.PersonaQuestionAndAnswerTypes,\r\n personaServiceDetails: PersonaTypings.PersonaServiceDetails,\r\n personaUsersAnswers?: PersonaTypings.GetPersonaUserAnswersQueryDto,\r\n personaUsersNonprofitBasedAnswers?: PersonaTypings.GetPersonaUserNonprofitAnswersForReviewQueryDto\r\n | PersonaTypings.GetPersonaUserNonprofitAnswersQueryDto\r\n | PersonaTypings.GetPersonaUserStagedNonprofitAnswersForReviewQueryDto\r\n | PersonaTypings.GetPersonaUserStagedNonprofitAnswersQueryDto\r\n ) {\r\n let nonprofitId = personaServiceDetails.nonprofitId;\r\n let stagedNonprofitId = personaServiceDetails.stagedNonprofitId;\r\n let userId = personaServiceDetails.userId;\r\n let nonprofitAdminRequestId = personaServiceDetails.nonprofitAdminRequestId;\r\n let beingReviewed = personaServiceDetails.beingReviewed;\r\n let unansweredQuestionsOnly = personaServiceDetails.unansweredQuestionsOnly;\r\n\r\n if (!(nonprofitId || stagedNonprofitId || userId || nonprofitAdminRequestId)) {\r\n // MyAccount; User level\r\n // Unanswered; User level\r\n this.set('personaUserAnswers', personaUsersAnswers)\r\n } else {\r\n if (nonprofitId) {\r\n if (userId && nonprofitAdminRequestId && beingReviewed) {\r\n // Nonprofit Admin Request; Nonprofit level for reviewer\r\n this.set('personaUserNonprofitAnswersForReview', personaUsersNonprofitBasedAnswers as PersonaTypings.GetPersonaUserNonprofitAnswersForReviewQueryDto);\r\n } else if (unansweredQuestionsOnly) {\r\n // Unanswered; Nonprofit level\r\n this.set('personaUserNonprofitAnswers', personaUsersNonprofitBasedAnswers as PersonaTypings.GetPersonaUserNonprofitAnswersQueryDto);\r\n } else {\r\n // MyNonprofits; Nonprofit level and User level\r\n // Nonprofit Admin Request; Nonprofit level and User level\r\n this.set('personaUserNonprofitAnswers', personaUsersNonprofitBasedAnswers as PersonaTypings.GetPersonaUserNonprofitAnswersQueryDto);\r\n\r\n this.set('personaUserAnswers', personaUsersAnswers)\r\n }\r\n } else if (stagedNonprofitId) {\r\n if (userId && nonprofitAdminRequestId && beingReviewed) {\r\n // Nonprofit Admin Request; Nonprofit Staged level for reviewer\r\n this.set('personaUserStagedNonprofitAnswersForReview', personaUsersNonprofitBasedAnswers as PersonaTypings.GetPersonaUserStagedNonprofitAnswersForReviewQueryDto);\r\n } else {\r\n // Nonprofit Admin Request; Staged Nonprofit level and User level\r\n this.set('personaUserStagedNonprofitAnswers', personaUsersNonprofitBasedAnswers as PersonaTypings.GetPersonaUserStagedNonprofitAnswersQueryDto);\r\n\r\n this.set('personaUserAnswers', personaUsersAnswers)\r\n }\r\n }\r\n }\r\n\r\n // set the data for the component\r\n this.setPersonaQuestionsAndAnswersData(personaQuestionAndAnswerType, beingReviewed, unansweredQuestionsOnly);\r\n }\r\n\r\n /**\r\n *\r\n * Edit a custom response to a question or add if one does not exist.\r\n *\r\n * @param personaUserAnswers\r\n * @param systemAnswerId\r\n * @param userSystemAnswerId\r\n * @param personaQuestionAndAnswerTypeWithDetails\r\n * @param customResponse\r\n */\r\n public async editCustomResponsePersonaUserAnswer (\r\n personaUserAnswers: PersonaTypings.PersonaUserAnswers\r\n | PersonaTypings.PersonaUserNonprofitAnswers\r\n | PersonaTypings.PersonaUserStagedNonprofitAnswers\r\n | PersonaTypings.PersonaUserNonprofitAnswersForReview\r\n | PersonaTypings.PersonaUserStagedNonprofitAnswersForReview,\r\n systemAnswerId: number,\r\n userSystemAnswerId: number,\r\n personaQuestionAndAnswerTypeWithDetails: PersonaTypings.PersonaQuestionAndAnswerTypeWithDetails,\r\n customResponse?: string\r\n ) {\r\n let questionAndAnswerThatAllowsCustomResponse =\r\n this.personaQuestionsAndAnswersData\r\n ?.find(x => x?.personaQuestionsAndAnswers?.systemAnswers?.find(x => x.systemAnswerId == systemAnswerId));\r\n\r\n if (questionAndAnswerThatAllowsCustomResponse) {\r\n const customResponseForQuestion = await this.modalFactory.open(\r\n AddEditPersonaAnswerCustomResponseModalComponent,\r\n {\r\n systemQuestion: questionAndAnswerThatAllowsCustomResponse?.personaQuestionsAndAnswers?.translationText,\r\n systemAnswer: questionAndAnswerThatAllowsCustomResponse?.personaQuestionsAndAnswers?.systemAnswers?.find(x => x.systemAnswerId == systemAnswerId)?.translationText,\r\n customResponse\r\n },\r\n {\r\n class: 'modal-lg'\r\n }\r\n );\r\n\r\n if (!!customResponseForQuestion) {\r\n if (userSystemAnswerId) {\r\n this.onAnswerUpdate_PUT(userSystemAnswerId, systemAnswerId, questionAndAnswerThatAllowsCustomResponse.personaQuestionsAndAnswers, personaQuestionAndAnswerTypeWithDetails, null, customResponseForQuestion, personaUserAnswers);\r\n } else {\r\n this.editCustomResponsePersonaUserAnswer_OnAnswerUpdate_POST(questionAndAnswerThatAllowsCustomResponse.personaQuestionsAndAnswers.systemQuestionId, systemAnswerId, personaQuestionAndAnswerTypeWithDetails, customResponseForQuestion, personaUserAnswers);\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * Handles when an answer is supplied to a question.\r\n *\r\n * @param response\r\n * @param personaQuestionsAndAnswers\r\n * @param personaUserAnswers\r\n * @param personaQuestionAndAnswerTypeWithDetails\r\n * @param allowEmptySelection\r\n */\r\n public async onPersonaAnswerUpdate (\r\n response: number | number[],\r\n personaQuestionsAndAnswers: PersonaTypings.PersonaQuestionAndAnswers,\r\n personaUserAnswers: PersonaTypings.PersonaUserAnswers | PersonaTypings.PersonaUserNonprofitAnswers | PersonaTypings.PersonaUserStagedNonprofitAnswers | PersonaTypings.PersonaUserNonprofitAnswersForReview | PersonaTypings.PersonaUserStagedNonprofitAnswersForReview,\r\n personaQuestionAndAnswerTypeWithDetails: PersonaTypings.PersonaQuestionAndAnswerTypeWithDetails,\r\n allowEmptySelection: boolean = false\r\n ) {\r\n if (personaQuestionsAndAnswers) {\r\n if (!personaQuestionsAndAnswers.allowsMultipleResponses) {\r\n await this.onAnswerUpdate_SingleResponseQuestion(\r\n response as number,\r\n personaQuestionsAndAnswers,\r\n personaUserAnswers,\r\n personaQuestionAndAnswerTypeWithDetails,\r\n allowEmptySelection\r\n );\r\n } else if (Array.isArray(response) && personaQuestionsAndAnswers.allowsMultipleResponses) {\r\n await this.onAnswerUpdate_MultiResponseQuestion(\r\n response,\r\n personaQuestionsAndAnswers,\r\n personaUserAnswers,\r\n personaQuestionAndAnswerTypeWithDetails,\r\n allowEmptySelection\r\n );\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * gets the unanswered persona questions for a user at the User level\r\n * @returns\r\n */\r\n public async getUnansweredPersonaQuestionsForUserModalForSigningIn () {\r\n // determine if this is a new user signing in for the first time\r\n const newUser = this.authService?.signInFlow?.existing === false;\r\n\r\n if (!this.tokenService.tokenInfo) {\r\n await this.tokenService.fetchUserClaims();\r\n }\r\n\r\n if (this.featureFlagService.systemQuestionsFlagValue === undefined) {\r\n await this.featureFlagService.getAllFeatureFlagsLookup();\r\n }\r\n\r\n var answeredAllQuestions = true;\r\n\r\n if (this.tokenService.tokenInfo\r\n && this.featureFlagService.systemQuestionsFlagValue\r\n && (this.tokenService.tokenInfo?.unansweredPersonaQuestions ?? false)) {\r\n var answeredAllQuestions = await this.getUnansweredPersonaQuestionsModal(newUser);\r\n }\r\n\r\n return answeredAllQuestions;\r\n }\r\n\r\n /**\r\n * returns whether or not a user answers any unanswered questions they have to answer; can be set for a specific nonprofit that a user administers.\r\n * @param nonprofitId\r\n * @param nonprofitName\r\n * @returns\r\n */\r\n private async getUnansweredPersonaQuestionsModal (newUser: boolean = false) {\r\n const answered = await this.modalFactory.open(\r\n AddEditPersonaAnswersModalComponent,\r\n {\r\n personaQuestionAndAnswerType: this.PersonaQAsUser,\r\n unansweredQuestionsOnly: true,\r\n newUser: newUser\r\n },\r\n { keyboard: false, class: 'modal-lg' }\r\n );\r\n\r\n var updatedTokenInfo = {\r\n ...this.tokenService.tokenInfo,\r\n unansweredPersonaQuestions: !answered\r\n };\r\n\r\n this.tokenService.setTokenInfo(updatedTokenInfo);\r\n\r\n return answered;\r\n }\r\n\r\n /**\r\n * checks to see if the incoming array of answers differs from the existing array of answers.\r\n * @param incomingAnswerIds\r\n * @param existingAnswerIds\r\n * @returns\r\n */\r\n public haveMultiResponseQuestionAnswersChanged (incomingAnswerIds: number[], existingAnswerIds: number[]) {\r\n if (incomingAnswerIds.length !== existingAnswerIds.length) {\r\n return true;\r\n }\r\n\r\n const sortedArr1 = [...incomingAnswerIds].sort((a, b) => a - b);\r\n const sortedArr2 = [...existingAnswerIds].sort((a, b) => a - b);\r\n\r\n return !sortedArr1.every((value, index) => value === sortedArr2[index]);\r\n }\r\n\r\n /**\r\n *\r\n * Adds answers for a user to a Nonprofit Admin Request when the request is saved/updated. This ensure answers are brought from the User level to the Nonprofit/Staged Nonprofit level for the user and keeps the answers the user has in sync.\r\n *\r\n * @param personaQuestionAndAnswerTypeWithDetails\r\n */\r\n public addUserSystemAnswersForNonprofitAdminRequest (\r\n personaQuestionAndAnswerTypeWithDetails: PersonaTypings.PersonaQuestionAndAnswerTypeWithDetails\r\n ) {\r\n if (personaQuestionAndAnswerTypeWithDetails.personaQuestionAndAnswerType === this.PersonaQAsNonprofit\r\n || personaQuestionAndAnswerTypeWithDetails.personaQuestionAndAnswerType === this.PersonaQAsStagedNonprofit) {\r\n const answersToAdd: {\r\n [key: number]: Observable<{ userSystemAnswerId: PersonaTypings.NewPersonaAnswer; systemAnswerId: number; }>[]\r\n } = {};\r\n\r\n this.personaQuestionsAndAnswersData\r\n ?.forEach(x => {\r\n const systemQuestionId = x.personaQuestionsAndAnswers.systemQuestionId;\r\n\r\n const newAnswers:\r\n Observable<{ userSystemAnswerId: PersonaTypings.NewPersonaAnswer; systemAnswerId: number; }>[] = [];\r\n\r\n const addAnswer = (systemAnswerId: number, userSystemAnswerCustomResponse: any) => {\r\n newAnswers.push(this.personaResources.postPersonaUserAnswer(systemAnswerId, personaQuestionAndAnswerTypeWithDetails, userSystemAnswerCustomResponse));\r\n };\r\n\r\n const processAnswers = (answers: any[]) => {\r\n answers.forEach(answer => {\r\n if (!answer.userSystemAnswerId) {\r\n addAnswer(answer.systemAnswerId, answer.userSystemAnswerCustomResponse ?? null);\r\n }\r\n });\r\n };\r\n\r\n if (x.personaQuestionsAndAnswers.allowsMultipleResponses) {\r\n if (x?.personaUserAnswers?.systemAnswers?.length > 0) {\r\n processAnswers(x.personaUserAnswers.systemAnswers);\r\n } else {\r\n addAnswer(x.personaQuestionsAndAnswers.systemAnswers[0].systemAnswerId, null);\r\n }\r\n } else {\r\n if (x?.personaUserAnswers?.systemAnswers?.length > 0) {\r\n const answer = x.personaUserAnswers.systemAnswers[0];\r\n\r\n if (!answer.userSystemAnswerId) {\r\n addAnswer(answer.systemAnswerId, answer.userSystemAnswerCustomResponse ?? null);\r\n }\r\n } else {\r\n addAnswer(x.personaQuestionsAndAnswers.systemAnswers[0].systemAnswerId, null);\r\n }\r\n }\r\n\r\n if (newAnswers.length > 0) {\r\n answersToAdd[systemQuestionId] = newAnswers;\r\n }\r\n });\r\n\r\n const observablesWithKeys = Object.entries(answersToAdd).map(([key, observables]) =>\r\n forkJoin(observables).pipe(\r\n map(results => ({ systemQuestionId: Number(key), results }))\r\n )\r\n );\r\n\r\n forkJoin(observablesWithKeys).subscribe();\r\n }\r\n }\r\n\r\n /**\r\n * method updates personaQuestionsAndAnswersData state data so changes/answers can be reflected in the component that subscribes to personaQuestionsAndAnswersData\r\n * @param updates\r\n */\r\n private updatePersonaQuestionsAndAnswersData (\r\n updates: PersonaTypings.UpdatePersonaQuestionsAndAnswersDataInfo\r\n ) {\r\n let systemQuestionId = updates.systemQuestionId;\r\n let systemAnswerInfos = updates.systemAnswerInfos;\r\n let defaultIfNoAnswer = false;\r\n let customResponse = updates.customResponse;\r\n let userSystemAnswerIdForCustomResponse = updates.userSystemAnswerIdForCustomResponse;\r\n let systemAnswerIdForCustomResponse = updates.systemAnswerIdForCustomResponse;\r\n\r\n // grab the component information for the specific question if it exist\r\n let questionAndAnswersData = this.personaQuestionsAndAnswersData\r\n ?.find(x => x.personaQuestionsAndAnswers.systemQuestionId == systemQuestionId);\r\n\r\n // array to hold all the user system answer ids we have for the user\r\n let userSystemAnswerIds: number[] = [];\r\n\r\n // if it does exist for the question\r\n if (questionAndAnswersData) {\r\n // rebuild the user's answers to the question for the component state\r\n questionAndAnswersData.personaUserAnswers = {\r\n systemAnswers: undefined,\r\n systemQuestionId: systemQuestionId\r\n }\r\n\r\n // used to hold the updated data we are rebuilding\r\n var updatedSystemAnswersForComponent = [];\r\n\r\n // if these are being provided, then the user has answers or the state of the control has a default value\r\n if (systemAnswerInfos && Object.keys(systemAnswerInfos).length > 0) {\r\n for (let key in systemAnswerInfos) {\r\n var systemAnswerId = systemAnswerInfos[+key];\r\n var userSystemAnswerId = +key;\r\n\r\n updatedSystemAnswersForComponent.push({\r\n systemAnswerId,\r\n userSystemAnswerId,\r\n userSystemAnswerCustomResponse: null\r\n });\r\n\r\n userSystemAnswerIds.push(userSystemAnswerId);\r\n }\r\n\r\n questionAndAnswersData.personaUserAnswers.systemAnswers = updatedSystemAnswersForComponent;\r\n } else {\r\n if (defaultIfNoAnswer) {\r\n questionAndAnswersData.personaUserAnswers.systemAnswers = [\r\n {\r\n systemAnswerId: questionAndAnswersData.personaQuestionsAndAnswers.systemAnswers[0].systemAnswerId,\r\n userSystemAnswerId: null,\r\n userSystemAnswerCustomResponse: null\r\n }\r\n ];\r\n } else {\r\n questionAndAnswersData.personaUserAnswers.systemAnswers = [];\r\n }\r\n }\r\n\r\n // rebuild the user's custom response answer details to the question for the component state\r\n questionAndAnswersData.customResponseForQuestion = customResponse;\r\n questionAndAnswersData.userSystemAnswerIdForCustomResponse = userSystemAnswerIdForCustomResponse;\r\n questionAndAnswersData.systemAnswerIdForCustomResponse = systemAnswerIdForCustomResponse;\r\n\r\n // rebuild the user's answers to the question for the component state\r\n questionAndAnswersData.userSystemAnswerIds = userSystemAnswerIds;\r\n\r\n this.set('personaQuestionsAndAnswersData', this.personaQuestionsAndAnswersData);\r\n }\r\n }\r\n\r\n /**\r\n * sets the data for personaQuestionsAndAnswersData\r\n * @param personaQuestionAndAnswerType\r\n * @param beingReviewed\r\n * @param unansweredQuestionsOnly\r\n */\r\n private setPersonaQuestionsAndAnswersData (\r\n personaQuestionAndAnswerType: PersonaTypings.PersonaQuestionAndAnswerTypes,\r\n beingReviewed: boolean,\r\n unansweredQuestionsOnly: boolean = false\r\n ) {\r\n let componentData = this.personaQuestionsAndAnswers?.personaQuestionsAndAnswers?.map((questionAndAnswers) => {\r\n // Persona Question Details\r\n var questionId = questionAndAnswers.systemQuestionId; // Id\r\n\r\n let usersAnswersToTheQuestion: PersonaTypings.PersonaUserAnswers | PersonaTypings.PersonaUserNonprofitAnswers | PersonaTypings.PersonaUserStagedNonprofitAnswers | PersonaTypings.PersonaUserNonprofitAnswersForReview | PersonaTypings.PersonaUserStagedNonprofitAnswersForReview = null;\r\n\r\n // Users Answers to Persona Question\r\n switch (personaQuestionAndAnswerType) {\r\n case this.PersonaQAsUser:\r\n usersAnswersToTheQuestion = this.personaUserAnswers?.personaUserAnswers?.find(x => x.systemQuestionId == questionId);\r\n\r\n break;\r\n case this.PersonaQAsNonprofit:\r\n usersAnswersToTheQuestion = !beingReviewed ?\r\n this.personaUserNonprofitAnswers?.personaUserNonprofitAnswers?.find(x => x.systemQuestionId == questionId) :\r\n this.personaUserNonprofitAnswersForReview?.personaUserNonprofitAnswersForReview?.find(x => x.systemQuestionId == questionId);\r\n\r\n break;\r\n case this.PersonaQAsStagedNonprofit:\r\n usersAnswersToTheQuestion = !beingReviewed ?\r\n this.personaUserStagedNonprofitAnswers?.personaUserStagedNonprofitAnswers?.find(x => x.systemQuestionId == questionId) :\r\n this.personaUserStagedNonprofitAnswersForReview?.personaUserStagedNonprofitAnswersForReview?.find(x => x.systemQuestionId == questionId);\r\n\r\n break;\r\n default:\r\n // If component is used, PersonaQuestionAndAnswerType must be provided\r\n console.error('Provided PersonaQuestionAndAnswerType is not valid.')\r\n\r\n throw (\"Provided PersonaQuestionAndAnswerType is not valid.\");\r\n }\r\n\r\n // A nonprofit admin request will have either type Nonprofit or type StagedNonprofit\r\n // If a nonprofit admin request is being created/updated, then it is not beingReviewed and it is not viewOnly\r\n //\r\n // If the user has no answers to the StagedNonprofit or the Nonprofit, we pull answers from their user level\r\n if ((personaQuestionAndAnswerType === this.PersonaQAsNonprofit\r\n || personaQuestionAndAnswerType === this.PersonaQAsStagedNonprofit\r\n ) && !usersAnswersToTheQuestion && !beingReviewed && !unansweredQuestionsOnly) {\r\n var personaUserAnswers = this.personaUserAnswers\r\n ?.personaUserAnswers\r\n ?.filter(x => x.systemQuestionId == questionId);\r\n\r\n if (personaUserAnswers?.length > 0) {\r\n if (personaQuestionAndAnswerType === this.PersonaQAsNonprofit) {\r\n var usersAnswersForUserNonprofitAnswers: PersonaTypings.PersonaUserNonprofitAnswerSystemQuestionAnswers[] = [];\r\n\r\n personaUserAnswers[0]?.systemAnswers?.forEach(x => {\r\n usersAnswersForUserNonprofitAnswers.push({\r\n systemAnswerId: x.systemAnswerId,\r\n userSystemAnswerId: null,\r\n userSystemAnswerCustomResponse: x.userSystemAnswerCustomResponse\r\n });\r\n })\r\n\r\n usersAnswersToTheQuestion = {\r\n systemQuestionId: questionId,\r\n systemAnswers: usersAnswersForUserNonprofitAnswers\r\n };\r\n } else {\r\n var usersAnswersForUserStagedNonprofitAnswers: PersonaTypings.PersonaUserStagedNonprofitAnswerSystemQuestionAnswers[] = [];\r\n\r\n personaUserAnswers[0]?.systemAnswers?.forEach(x => {\r\n usersAnswersForUserStagedNonprofitAnswers.push({\r\n systemAnswerId: x.systemAnswerId,\r\n userSystemAnswerId: null,\r\n userSystemAnswerCustomResponse: x.userSystemAnswerCustomResponse\r\n });\r\n })\r\n\r\n usersAnswersToTheQuestion = {\r\n systemQuestionId: questionId,\r\n systemAnswers: usersAnswersForUserStagedNonprofitAnswers\r\n };\r\n }\r\n }\r\n }\r\n\r\n let [\r\n userSystemAnswerIdForCustomResponse,\r\n systemAnswerIdForCustomResponse,\r\n customResponseForQuestion,\r\n userSystemAnswerIds\r\n ] = this.buildPersonaQuestionAndAnswers_AnswerDetails(usersAnswersToTheQuestion, questionAndAnswers);\r\n\r\n return {\r\n personaQuestionsAndAnswers: questionAndAnswers,\r\n personaUserAnswers: usersAnswersToTheQuestion,\r\n formFieldName: `systemQuestion${questionAndAnswers.systemQuestionId}`,\r\n formFieldSelectOptions:\r\n questionAndAnswers.systemAnswers.map((answers) => {\r\n\r\n return {\r\n label: answers.translationText,\r\n value: answers.systemAnswerId\r\n }\r\n }),\r\n userSystemAnswerIdForCustomResponse,\r\n systemAnswerIdForCustomResponse,\r\n customResponseForQuestion,\r\n userSystemAnswerIds\r\n }\r\n });\r\n\r\n // If unanswered questions only, we don't care to continue if answered\r\n if (unansweredQuestionsOnly) {\r\n componentData = componentData.filter(x => x.userSystemAnswerIds.length == 0);\r\n }\r\n\r\n this.set('personaQuestionsAndAnswersData', componentData)\r\n }\r\n\r\n /**\r\n * fetches information about an answer to a given question\r\n * @param userAnswersToQuestion\r\n * @param questionAndAnswers\r\n * @returns\r\n */\r\n private buildPersonaQuestionAndAnswers_AnswerDetails (\r\n userAnswersToQuestion: PersonaTypings.PersonaUserAnswers\r\n | PersonaTypings.PersonaUserNonprofitAnswers\r\n | PersonaTypings.PersonaUserStagedNonprofitAnswers\r\n | PersonaTypings.PersonaUserNonprofitAnswersForReview\r\n | PersonaTypings.PersonaUserStagedNonprofitAnswersForReview,\r\n questionAndAnswers: PersonaTypings.PersonaQuestionAndAnswers\r\n ): [\r\n number,\r\n number,\r\n string,\r\n number[]\r\n ] {\r\n let userSystemAnswerIdsForQuestion: number[] = [];\r\n let userSystemAnswerIdForCustomResponseAnswer = null;\r\n let systemAnswerIdForCustomResponseAnswer = null;\r\n let userSystemAnswerCustomResponseForCustomResponseAnswer = null;\r\n\r\n // Get info on custom response answer\r\n let customResponseSystemAnswerId = questionAndAnswers?.systemAnswers?.find(x => x.isCustomResponse)?.systemAnswerId;\r\n\r\n if (userAnswersToQuestion?.systemAnswers) {\r\n // Build answer info\r\n userAnswersToQuestion.systemAnswers.forEach(systemAnswer => {\r\n // if answer is custom response\r\n if (systemAnswer.systemAnswerId == customResponseSystemAnswerId) {\r\n userSystemAnswerIdForCustomResponseAnswer = systemAnswer.userSystemAnswerId;\r\n userSystemAnswerCustomResponseForCustomResponseAnswer = systemAnswer.userSystemAnswerCustomResponse;\r\n }\r\n\r\n userSystemAnswerIdsForQuestion.push(systemAnswer.userSystemAnswerId);\r\n });\r\n }\r\n\r\n systemAnswerIdForCustomResponseAnswer = customResponseSystemAnswerId;\r\n\r\n return [\r\n userSystemAnswerIdForCustomResponseAnswer,\r\n systemAnswerIdForCustomResponseAnswer,\r\n userSystemAnswerCustomResponseForCustomResponseAnswer,\r\n userSystemAnswerIdsForQuestion\r\n ];\r\n }\r\n\r\n /**\r\n * clears the data of the component\r\n */\r\n public clearComponentData () {\r\n this.set('personaQuestionsAndAnswersData', null);\r\n }\r\n\r\n private async addCustomResponsePersonaUserAnswer_ForMultiResponse (\r\n systemAnswerId: number,\r\n personaQuestionAndAnswerTypeWithDetails: PersonaTypings.PersonaQuestionAndAnswerTypeWithDetails\r\n ): Promise<[string, Observable<{ userSystemAnswerId: PersonaTypings.NewPersonaAnswer; systemAnswerId: number; }>]> | null {\r\n // question and answer that allow custom response\r\n let questionAndAnswerThatAllowsCustomResponse = this.personaQuestionsAndAnswersData\r\n .find(x => x.personaQuestionsAndAnswers.systemAnswers.find(x => x.systemAnswerId == systemAnswerId));\r\n\r\n // modal to allow user to provide a custom response\r\n const modalResponse = await this.modalFactory.open(\r\n AddEditPersonaAnswerCustomResponseModalComponent,\r\n {\r\n systemQuestion: questionAndAnswerThatAllowsCustomResponse.personaQuestionsAndAnswers.translationText,\r\n systemAnswer: questionAndAnswerThatAllowsCustomResponse.personaQuestionsAndAnswers.systemAnswers.find(x => x.systemAnswerId == systemAnswerId).translationText\r\n },\r\n {\r\n class: 'modal-lg'\r\n }\r\n );\r\n\r\n // if user provides an answer\r\n if (!!modalResponse) {\r\n\r\n return [modalResponse, this.personaResources.postPersonaUserAnswer(systemAnswerId, personaQuestionAndAnswerTypeWithDetails, modalResponse)];\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n private editCustomResponsePersonaUserAnswer_OnAnswerUpdate_POST (\r\n systemQuestionId: number,\r\n systemAnswerId: number,\r\n personaQuestionAndAnswerTypeWithDetails: PersonaTypings.PersonaQuestionAndAnswerTypeWithDetails,\r\n modalResponse: string = null,\r\n personaUserAnswers: PersonaTypings.PersonaUserAnswers\r\n | PersonaTypings.PersonaUserNonprofitAnswers\r\n | PersonaTypings.PersonaUserStagedNonprofitAnswers\r\n | PersonaTypings.PersonaUserNonprofitAnswersForReview\r\n | PersonaTypings.PersonaUserStagedNonprofitAnswersForReview) {\r\n this.personaResources.postPersonaUserAnswer(systemAnswerId, personaQuestionAndAnswerTypeWithDetails, modalResponse)\r\n .subscribe(x => {\r\n let personaUserAnswerUpdates: { [key: number]: number } = {};\r\n\r\n let newUserSystemAnswerId = x.userSystemAnswerId?.personaUserAnswerId\r\n ?? x.userSystemAnswerId?.personaUserNonprofitAnswerId\r\n ?? x.userSystemAnswerId?.personaUserStagedNonprofitAnswerId;\r\n\r\n personaUserAnswerUpdates[newUserSystemAnswerId] = systemAnswerId;\r\n\r\n personaUserAnswers\r\n ?.systemAnswers\r\n ?.filter(x => x.systemAnswerId != systemAnswerId)\r\n ?.forEach(x => {\r\n if (x.userSystemAnswerId && x.systemAnswerId) {\r\n personaUserAnswerUpdates[x.userSystemAnswerId] = x.systemAnswerId;\r\n }\r\n });\r\n\r\n var updatePersonaQuestionsAndAnswersDataInfo: PersonaTypings.UpdatePersonaQuestionsAndAnswersDataInfo = {\r\n systemQuestionId,\r\n systemAnswerInfos: personaUserAnswerUpdates,\r\n customResponse: modalResponse,\r\n userSystemAnswerIdForCustomResponse: newUserSystemAnswerId,\r\n systemAnswerIdForCustomResponse: systemAnswerId,\r\n defaultIfNoAnswer: false\r\n };\r\n\r\n this.updatePersonaQuestionsAndAnswersData(updatePersonaQuestionsAndAnswersDataInfo);\r\n });\r\n }\r\n\r\n private onAnswerUpdate_PUT (\r\n userSystemAnswerId: number,\r\n systemAnswerId: number,\r\n personaQuestionsAndAnswers: PersonaTypings.PersonaQuestionAndAnswers,\r\n personaQuestionAndAnswerTypeWithDetails: PersonaTypings.PersonaQuestionAndAnswerTypeWithDetails,\r\n allowEmptySelection: boolean = false,\r\n modalResponse: string = null,\r\n personaUserAnswers: PersonaTypings.PersonaUserAnswers\r\n | PersonaTypings.PersonaUserNonprofitAnswers\r\n | PersonaTypings.PersonaUserStagedNonprofitAnswers\r\n | PersonaTypings.PersonaUserNonprofitAnswersForReview\r\n | PersonaTypings.PersonaUserStagedNonprofitAnswersForReview\r\n ) {\r\n this.personaResources.putPersonaUserAnswer(userSystemAnswerId, systemAnswerId, personaQuestionAndAnswerTypeWithDetails, modalResponse)\r\n .subscribe(() => {\r\n let personaUserAnswerUpdate: { [key: number]: number } = {};\r\n\r\n if (!personaQuestionsAndAnswers.allowsMultipleResponses) {\r\n personaUserAnswerUpdate[userSystemAnswerId] = systemAnswerId;\r\n } else {\r\n personaUserAnswers\r\n ?.systemAnswers\r\n ?.forEach(x => {\r\n if (x.userSystemAnswerId && x.systemAnswerId) {\r\n personaUserAnswerUpdate[x.userSystemAnswerId] = x.systemAnswerId;\r\n }\r\n });\r\n }\r\n\r\n if (modalResponse) {\r\n var updatePersonaQuestionsAndAnswersDataInfo: PersonaTypings.UpdatePersonaQuestionsAndAnswersDataInfo = {\r\n systemQuestionId: personaQuestionsAndAnswers.systemQuestionId,\r\n systemAnswerInfos: personaUserAnswerUpdate,\r\n customResponse: modalResponse,\r\n userSystemAnswerIdForCustomResponse: userSystemAnswerId,\r\n systemAnswerIdForCustomResponse: systemAnswerId,\r\n defaultIfNoAnswer: false\r\n };\r\n\r\n this.updatePersonaQuestionsAndAnswersData(updatePersonaQuestionsAndAnswersDataInfo);\r\n } else {\r\n var updatePersonaQuestionsAndAnswersDataInfo: PersonaTypings.UpdatePersonaQuestionsAndAnswersDataInfo = {\r\n systemQuestionId: personaQuestionsAndAnswers.systemQuestionId,\r\n systemAnswerInfos: personaUserAnswerUpdate,\r\n customResponse: null,\r\n userSystemAnswerIdForCustomResponse: null,\r\n systemAnswerIdForCustomResponse: null,\r\n defaultIfNoAnswer: false\r\n };\r\n\r\n this.updatePersonaQuestionsAndAnswersData(updatePersonaQuestionsAndAnswersDataInfo);\r\n }\r\n });\r\n }\r\n\r\n private onAnswerUpdate_POST_SingleResponseQuestion (\r\n systemAnswerId: number,\r\n personaQuestionsAndAnswers: PersonaTypings.PersonaQuestionAndAnswers,\r\n personaQuestionAndAnswerTypeWithDetails: PersonaTypings.PersonaQuestionAndAnswerTypeWithDetails,\r\n allowEmptySelection: boolean = false,\r\n modalResponse: string = null\r\n ) {\r\n return this.personaResources.postPersonaUserAnswer(systemAnswerId, personaQuestionAndAnswerTypeWithDetails, modalResponse)\r\n .subscribe((x) => {\r\n var newPersonaUserAnswerId = (x?.userSystemAnswerId?.personaUserAnswerId ??\r\n x?.userSystemAnswerId?.personaUserNonprofitAnswerId ??\r\n x?.userSystemAnswerId?.personaUserStagedNonprofitAnswerId);\r\n\r\n let personaUserAnswerUpdate: { [key: number]: number } = {};\r\n\r\n personaUserAnswerUpdate[newPersonaUserAnswerId] = systemAnswerId;\r\n\r\n if (modalResponse) {\r\n var updatePersonaQuestionsAndAnswersDataInfo: PersonaTypings.UpdatePersonaQuestionsAndAnswersDataInfo = {\r\n systemQuestionId: personaQuestionsAndAnswers.systemQuestionId,\r\n systemAnswerInfos: personaUserAnswerUpdate,\r\n customResponse: modalResponse,\r\n userSystemAnswerIdForCustomResponse: newPersonaUserAnswerId,\r\n systemAnswerIdForCustomResponse: systemAnswerId,\r\n defaultIfNoAnswer: false\r\n };\r\n\r\n this.updatePersonaQuestionsAndAnswersData(updatePersonaQuestionsAndAnswersDataInfo);\r\n } else {\r\n var updatePersonaQuestionsAndAnswersDataInfo: PersonaTypings.UpdatePersonaQuestionsAndAnswersDataInfo = {\r\n systemQuestionId: personaQuestionsAndAnswers.systemQuestionId,\r\n systemAnswerInfos: personaUserAnswerUpdate,\r\n customResponse: null,\r\n userSystemAnswerIdForCustomResponse: null,\r\n systemAnswerIdForCustomResponse: null,\r\n defaultIfNoAnswer: false\r\n };\r\n\r\n this.updatePersonaQuestionsAndAnswersData(updatePersonaQuestionsAndAnswersDataInfo);\r\n }\r\n });\r\n }\r\n\r\n private async handleCustomResponsePersonaUserAnswer_ForSingleResponse (\r\n systemAnswerId: number,\r\n personaQuestionAndAnswerTypeWithDetails: PersonaTypings.PersonaQuestionAndAnswerTypeWithDetails,\r\n userSystemAnswerId?: number,\r\n customResponse?: string,\r\n existingSystemAnswerId?: number,\r\n allowEmptySelection: boolean = false\r\n ) {\r\n let questionAndAnswerThatAllowsCustomResponse = this.personaQuestionsAndAnswersData\r\n .find(x => x.personaQuestionsAndAnswers.systemAnswers.find(x => x.systemAnswerId == systemAnswerId));\r\n\r\n const modalResponse = await this.modalFactory.open(\r\n AddEditPersonaAnswerCustomResponseModalComponent,\r\n {\r\n systemQuestion: questionAndAnswerThatAllowsCustomResponse.personaQuestionsAndAnswers.translationText,\r\n systemAnswer: questionAndAnswerThatAllowsCustomResponse.personaQuestionsAndAnswers.systemAnswers.find(x => x.systemAnswerId == systemAnswerId).translationText,\r\n customResponse\r\n },\r\n {\r\n class: 'modal-lg'\r\n }\r\n );\r\n\r\n if (!!modalResponse) {\r\n if (userSystemAnswerId) {\r\n this.onAnswerUpdate_PUT(\r\n userSystemAnswerId, systemAnswerId, questionAndAnswerThatAllowsCustomResponse.personaQuestionsAndAnswers, personaQuestionAndAnswerTypeWithDetails, allowEmptySelection, modalResponse, null\r\n );\r\n } else {\r\n this.onAnswerUpdate_POST_SingleResponseQuestion(\r\n systemAnswerId, questionAndAnswerThatAllowsCustomResponse.personaQuestionsAndAnswers, personaQuestionAndAnswerTypeWithDetails, allowEmptySelection, modalResponse\r\n );\r\n }\r\n } else {\r\n if (existingSystemAnswerId && userSystemAnswerId) {\r\n let personaUserAnswerUpdate: { [key: number]: number } = {};\r\n\r\n personaUserAnswerUpdate[userSystemAnswerId] = existingSystemAnswerId;\r\n\r\n var updatePersonaQuestionsAndAnswersDataInfo: PersonaTypings.UpdatePersonaQuestionsAndAnswersDataInfo = {\r\n systemQuestionId: questionAndAnswerThatAllowsCustomResponse.personaQuestionsAndAnswers.systemQuestionId,\r\n systemAnswerInfos: personaUserAnswerUpdate,\r\n customResponse: null,\r\n userSystemAnswerIdForCustomResponse: null,\r\n systemAnswerIdForCustomResponse: null,\r\n defaultIfNoAnswer: false\r\n };\r\n\r\n this.updatePersonaQuestionsAndAnswersData(updatePersonaQuestionsAndAnswersDataInfo);\r\n } else {\r\n var updatePersonaQuestionsAndAnswersDataInfo: PersonaTypings.UpdatePersonaQuestionsAndAnswersDataInfo = {\r\n systemQuestionId: questionAndAnswerThatAllowsCustomResponse.personaQuestionsAndAnswers.systemQuestionId,\r\n systemAnswerInfos: null,\r\n customResponse: null,\r\n userSystemAnswerIdForCustomResponse: null,\r\n systemAnswerIdForCustomResponse: null,\r\n defaultIfNoAnswer: false\r\n };\r\n\r\n this.updatePersonaQuestionsAndAnswersData(updatePersonaQuestionsAndAnswersDataInfo);\r\n }\r\n }\r\n }\r\n\r\n private async handlePersonaUserAnswer_ForSingleResponse (\r\n systemAnswerId: number,\r\n existingAnswer: PersonaTypings.PersonaUserAnswerSystemQuestionAnswers,\r\n personaQuestionsAndAnswers: PersonaTypings.PersonaQuestionAndAnswers,\r\n allowEmptySelection: boolean = false,\r\n personaQuestionAndAnswerTypeWithDetails: PersonaTypings.PersonaQuestionAndAnswerTypeWithDetails\r\n ) {\r\n if (existingAnswer?.userSystemAnswerId) {\r\n this.onAnswerUpdate_PUT(\r\n existingAnswer.userSystemAnswerId, systemAnswerId, personaQuestionsAndAnswers,\r\n personaQuestionAndAnswerTypeWithDetails, allowEmptySelection, null, null\r\n );\r\n } else {\r\n this.onAnswerUpdate_POST_SingleResponseQuestion(\r\n systemAnswerId, personaQuestionsAndAnswers, personaQuestionAndAnswerTypeWithDetails, allowEmptySelection\r\n );\r\n }\r\n }\r\n\r\n private async onAnswerUpdate_SingleResponseQuestion (\r\n answerId: number,\r\n personaQuestionsAndAnswers: PersonaTypings.PersonaQuestionAndAnswers,\r\n userAnswersToQuestion: PersonaTypings.PersonaUserAnswers | PersonaTypings.PersonaUserNonprofitAnswers | PersonaTypings.PersonaUserStagedNonprofitAnswers | PersonaTypings.PersonaUserNonprofitAnswersForReview | PersonaTypings.PersonaUserStagedNonprofitAnswersForReview,\r\n personaQuestionAndAnswerTypeWithDetails: PersonaTypings.PersonaQuestionAndAnswerTypeWithDetails,\r\n allowEmptySelection: boolean = false\r\n ) {\r\n let systemAnswerId = answerId;\r\n\r\n let existingAnswer = userAnswersToQuestion?.systemAnswers ?\r\n userAnswersToQuestion.systemAnswers[0] :\r\n null;\r\n\r\n let newAnswer = personaQuestionsAndAnswers?.systemAnswers?.find(x => x.systemAnswerId == answerId);\r\n\r\n if (newAnswer) {\r\n if (newAnswer.isCustomResponse) {\r\n await this.handleCustomResponsePersonaUserAnswer_ForSingleResponse(\r\n systemAnswerId,\r\n personaQuestionAndAnswerTypeWithDetails,\r\n existingAnswer?.userSystemAnswerId,\r\n null,\r\n existingAnswer?.systemAnswerId,\r\n allowEmptySelection\r\n );\r\n } else {\r\n await this.handlePersonaUserAnswer_ForSingleResponse(\r\n systemAnswerId,\r\n existingAnswer,\r\n personaQuestionsAndAnswers,\r\n allowEmptySelection,\r\n personaQuestionAndAnswerTypeWithDetails\r\n );\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * handles removing a not custom response answer for a multi response question\r\n * @param removePersonaUserAnswerForMultiResponseQuestion\r\n */\r\n private handleRemovePersonaUserAnswer_ForMultiResponse_AnswersRemain (\r\n removePersonaUserAnswerForMultiResponseQuestion: PersonaTypings.RemovePersonaUserAnswerForMultiResponseQuestion\r\n ) {\r\n let existingAnswers = removePersonaUserAnswerForMultiResponseQuestion.existingAnswers;\r\n let incomingAnswerIds = removePersonaUserAnswerForMultiResponseQuestion.incomingAnswerIds;\r\n let personaQuestionAndAnswerTypeWithDetails = removePersonaUserAnswerForMultiResponseQuestion.personaQuestionAndAnswerTypeWithDetails;\r\n let personaQuestionsAndAnswers = removePersonaUserAnswerForMultiResponseQuestion.personaQuestionsAndAnswers;\r\n\r\n var answerToRemove = existingAnswers\r\n .filter(x => !incomingAnswerIds.includes(x.systemAnswerId))[0];\r\n\r\n this.personaResources.deletePersonaUserAnswer(answerToRemove.userSystemAnswerId, answerToRemove.systemAnswerId, personaQuestionAndAnswerTypeWithDetails)\r\n .subscribe(_ => {\r\n let personaUserAnswerUpdates: { [key: number]: number } = {};\r\n\r\n existingAnswers\r\n .filter(x => x.systemAnswerId != answerToRemove.systemAnswerId)\r\n ?.forEach(x => {\r\n if (x.userSystemAnswerId && x.systemAnswerId) {\r\n personaUserAnswerUpdates[x.userSystemAnswerId] = x.systemAnswerId;\r\n }\r\n });\r\n\r\n let indexOfCustomResponseAnswer = personaQuestionsAndAnswers\r\n ?.systemAnswers\r\n ?.findIndex(x => x.systemAnswerId == answerToRemove.systemAnswerId\r\n && x.isCustomResponse);\r\n\r\n var customResponseAnswerInfo = indexOfCustomResponseAnswer > -1 ?\r\n null :\r\n this.personaQuestionsAndAnswersData\r\n ?.find(x => x.personaQuestionsAndAnswers.systemQuestionId == personaQuestionsAndAnswers.systemQuestionId);\r\n\r\n if (customResponseAnswerInfo) {\r\n var updatePersonaQuestionsAndAnswersDataInfo: PersonaTypings.UpdatePersonaQuestionsAndAnswersDataInfo = {\r\n systemQuestionId: personaQuestionsAndAnswers.systemQuestionId,\r\n systemAnswerInfos: personaUserAnswerUpdates,\r\n customResponse: customResponseAnswerInfo.customResponseForQuestion,\r\n userSystemAnswerIdForCustomResponse: customResponseAnswerInfo.userSystemAnswerIdForCustomResponse,\r\n systemAnswerIdForCustomResponse: customResponseAnswerInfo.systemAnswerIdForCustomResponse,\r\n defaultIfNoAnswer: false\r\n };\r\n\r\n this.updatePersonaQuestionsAndAnswersData(updatePersonaQuestionsAndAnswersDataInfo);\r\n } else {\r\n var updatePersonaQuestionsAndAnswersDataInfo: PersonaTypings.UpdatePersonaQuestionsAndAnswersDataInfo = {\r\n systemQuestionId: personaQuestionsAndAnswers.systemQuestionId,\r\n systemAnswerInfos: personaUserAnswerUpdates,\r\n customResponse: null,\r\n userSystemAnswerIdForCustomResponse: null,\r\n systemAnswerIdForCustomResponse: null,\r\n defaultIfNoAnswer: false\r\n };\r\n\r\n this.updatePersonaQuestionsAndAnswersData(updatePersonaQuestionsAndAnswersDataInfo);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * handles removing an answer to a multi response question that results in there being no answers remaining.\r\n * if allowEmptySelection then no reversion to previous answer is taken.\r\n *\r\n * ensure Custom Response previous answer accounted for\r\n * @param existingAnswers\r\n * @param personaQuestionsAndAnswers\r\n * @param allowEmptySelection\r\n */\r\n private handleRemovePersonaUserAnswer_ForMultiResponse_NoAnswersRemain (\r\n existingAnswers: {\r\n systemAnswerId: number;\r\n userSystemAnswerId: number;\r\n userSystemAnswerCustomResponse: string;\r\n }[],\r\n personaQuestionsAndAnswers: PersonaTypings.PersonaQuestionAndAnswers,\r\n allowEmptySelection: boolean = false\r\n ) {\r\n let personaUserAnswerUpdates: { [key: number]: number } = {};\r\n\r\n existingAnswers\r\n ?.forEach(x => {\r\n if (x.userSystemAnswerId && x.systemAnswerId) {\r\n personaUserAnswerUpdates[x.userSystemAnswerId] = x.systemAnswerId;\r\n }\r\n });\r\n\r\n let indexOfCustomResponseAnswer = personaQuestionsAndAnswers\r\n ?.systemAnswers\r\n ?.findIndex(x => x.isCustomResponse);\r\n\r\n var customResponseAnswerInfo = indexOfCustomResponseAnswer > -1 ?\r\n this.personaQuestionsAndAnswersData\r\n ?.find(x => x.personaQuestionsAndAnswers.systemQuestionId == personaQuestionsAndAnswers.systemQuestionId) :\r\n null;\r\n\r\n if (customResponseAnswerInfo) {\r\n var updatePersonaQuestionsAndAnswersDataInfo: PersonaTypings.UpdatePersonaQuestionsAndAnswersDataInfo = {\r\n systemQuestionId: personaQuestionsAndAnswers.systemQuestionId,\r\n systemAnswerInfos: personaUserAnswerUpdates,\r\n customResponse: customResponseAnswerInfo.customResponseForQuestion,\r\n userSystemAnswerIdForCustomResponse: customResponseAnswerInfo.userSystemAnswerIdForCustomResponse,\r\n systemAnswerIdForCustomResponse: customResponseAnswerInfo.systemAnswerIdForCustomResponse,\r\n defaultIfNoAnswer: false\r\n };\r\n\r\n this.updatePersonaQuestionsAndAnswersData(updatePersonaQuestionsAndAnswersDataInfo);\r\n } else {\r\n var updatePersonaQuestionsAndAnswersDataInfo: PersonaTypings.UpdatePersonaQuestionsAndAnswersDataInfo = {\r\n systemQuestionId: personaQuestionsAndAnswers.systemQuestionId,\r\n systemAnswerInfos: personaUserAnswerUpdates,\r\n customResponse: null,\r\n userSystemAnswerIdForCustomResponse: null,\r\n systemAnswerIdForCustomResponse: null,\r\n defaultIfNoAnswer: false\r\n };\r\n\r\n this.updatePersonaQuestionsAndAnswersData(updatePersonaQuestionsAndAnswersDataInfo);\r\n }\r\n }\r\n\r\n /**\r\n * removes one answer from a multi response question\r\n * @param removePersonaUserAnswerForMultiResponseQuestion\r\n */\r\n private handleRemovePersonaUserAnswer_ForMultiResponse (\r\n removePersonaUserAnswerForMultiResponseQuestion: PersonaTypings.RemovePersonaUserAnswerForMultiResponseQuestion\r\n ) {\r\n let existingAnswers = removePersonaUserAnswerForMultiResponseQuestion.existingAnswers;\r\n let personaQuestionsAndAnswers = removePersonaUserAnswerForMultiResponseQuestion.personaQuestionsAndAnswers;\r\n let allowEmptySelection = true;\r\n\r\n if (existingAnswers.length > 1 || allowEmptySelection) {\r\n this.handleRemovePersonaUserAnswer_ForMultiResponse_AnswersRemain(removePersonaUserAnswerForMultiResponseQuestion);\r\n } else {\r\n this.handleRemovePersonaUserAnswer_ForMultiResponse_NoAnswersRemain(existingAnswers, personaQuestionsAndAnswers, allowEmptySelection);\r\n }\r\n }\r\n\r\n /**\r\n * adds one answer for a multi response question that is a custom response\r\n * @param answerToAdd\r\n * @param personaQuestionAndAnswerTypeWithDetails\r\n * @param existingAnswers\r\n * @param personaQuestionsAndAnswers\r\n * @param allowEmptySelection\r\n */\r\n private async handleAddPersonaUserAnswer_ForMultiResponse_CustomResponseAnswer (\r\n answerToAdd: number,\r\n personaQuestionAndAnswerTypeWithDetails: PersonaTypings.PersonaQuestionAndAnswerTypeWithDetails,\r\n existingAnswers: {\r\n systemAnswerId: number;\r\n userSystemAnswerId: number;\r\n userSystemAnswerCustomResponse: string;\r\n }[],\r\n personaQuestionsAndAnswers: PersonaTypings.PersonaQuestionAndAnswers,\r\n allowEmptySelection: boolean = false\r\n ) {\r\n const responseProvided = await this.addCustomResponsePersonaUserAnswer_ForMultiResponse(\r\n answerToAdd,\r\n personaQuestionAndAnswerTypeWithDetails\r\n );\r\n\r\n if (responseProvided) {\r\n responseProvided[1]\r\n .subscribe(x => {\r\n let personaUserAnswerUpdates: { [key: number]: number } = {};\r\n\r\n let newUserSystemAnswerId = x.userSystemAnswerId?.personaUserAnswerId\r\n ?? x.userSystemAnswerId?.personaUserNonprofitAnswerId\r\n ?? x.userSystemAnswerId?.personaUserStagedNonprofitAnswerId;\r\n\r\n personaUserAnswerUpdates[newUserSystemAnswerId] = x.systemAnswerId;\r\n\r\n existingAnswers\r\n .forEach(x => {\r\n if (x.userSystemAnswerId && x.systemAnswerId) {\r\n personaUserAnswerUpdates[x.userSystemAnswerId] = x.systemAnswerId;\r\n }\r\n });\r\n\r\n var updatePersonaQuestionsAndAnswersDataInfo: PersonaTypings.UpdatePersonaQuestionsAndAnswersDataInfo = {\r\n systemQuestionId: personaQuestionsAndAnswers.systemQuestionId,\r\n systemAnswerInfos: personaUserAnswerUpdates,\r\n customResponse: responseProvided[0],\r\n userSystemAnswerIdForCustomResponse: newUserSystemAnswerId,\r\n systemAnswerIdForCustomResponse: x.systemAnswerId,\r\n defaultIfNoAnswer: false\r\n };\r\n\r\n this.updatePersonaQuestionsAndAnswersData(updatePersonaQuestionsAndAnswersDataInfo);\r\n });\r\n } else {\r\n let personaUserAnswerUpdates: { [key: number]: number } = {};\r\n\r\n existingAnswers\r\n ?.forEach(x => {\r\n if (x.userSystemAnswerId && x.systemAnswerId) {\r\n personaUserAnswerUpdates[x.userSystemAnswerId] = x.systemAnswerId;\r\n }\r\n })\r\n\r\n var updatePersonaQuestionsAndAnswersDataInfo: PersonaTypings.UpdatePersonaQuestionsAndAnswersDataInfo = {\r\n systemQuestionId: personaQuestionsAndAnswers.systemQuestionId,\r\n systemAnswerInfos: personaUserAnswerUpdates,\r\n customResponse: null,\r\n userSystemAnswerIdForCustomResponse: null,\r\n systemAnswerIdForCustomResponse: null,\r\n defaultIfNoAnswer: false\r\n };\r\n\r\n this.updatePersonaQuestionsAndAnswersData(updatePersonaQuestionsAndAnswersDataInfo);\r\n }\r\n }\r\n\r\n /**\r\n * adds one answer for a multi response question that is not a custom response\r\n * @param answerToAdd\r\n * @param personaQuestionAndAnswerTypeWithDetails\r\n * @param existingAnswers\r\n * @param personaQuestionsAndAnswers\r\n * @param allowEmptySelection\r\n */\r\n private async handleAddPersonaUserAnswer_ForMultiResponse_NotCustomResponseAnswer (\r\n answerToAdd: number,\r\n personaQuestionAndAnswerTypeWithDetails: PersonaTypings.PersonaQuestionAndAnswerTypeWithDetails,\r\n existingAnswers: {\r\n systemAnswerId: number;\r\n userSystemAnswerId: number;\r\n userSystemAnswerCustomResponse: string;\r\n }[],\r\n personaQuestionsAndAnswers: PersonaTypings.PersonaQuestionAndAnswers,\r\n allowEmptySelection: boolean = false\r\n ) {\r\n return this.personaResources.postPersonaUserAnswer(answerToAdd, personaQuestionAndAnswerTypeWithDetails, null)\r\n .subscribe(x => {\r\n let personaUserAnswerUpdates: { [key: number]: number } = {};\r\n\r\n let newUserSystemAnswerId = x.userSystemAnswerId?.personaUserAnswerId\r\n ?? x.userSystemAnswerId?.personaUserNonprofitAnswerId\r\n ?? x.userSystemAnswerId?.personaUserStagedNonprofitAnswerId;\r\n\r\n personaUserAnswerUpdates[newUserSystemAnswerId] = x.systemAnswerId;\r\n\r\n existingAnswers\r\n .forEach(x => {\r\n if (x.userSystemAnswerId && x.systemAnswerId) {\r\n personaUserAnswerUpdates[x.userSystemAnswerId] = x.systemAnswerId;\r\n }\r\n })\r\n\r\n let customResponseAnswerInfo = this.personaQuestionsAndAnswersData\r\n ?.find(x => x.personaQuestionsAndAnswers.systemQuestionId == personaQuestionsAndAnswers.systemQuestionId);\r\n\r\n var updatePersonaQuestionsAndAnswersDataInfo: PersonaTypings.UpdatePersonaQuestionsAndAnswersDataInfo = {\r\n systemQuestionId: personaQuestionsAndAnswers.systemQuestionId,\r\n systemAnswerInfos: personaUserAnswerUpdates,\r\n customResponse: customResponseAnswerInfo.customResponseForQuestion,\r\n userSystemAnswerIdForCustomResponse: customResponseAnswerInfo.userSystemAnswerIdForCustomResponse,\r\n systemAnswerIdForCustomResponse: customResponseAnswerInfo.systemAnswerIdForCustomResponse,\r\n defaultIfNoAnswer: false\r\n };\r\n\r\n this.updatePersonaQuestionsAndAnswersData(updatePersonaQuestionsAndAnswersDataInfo);\r\n });\r\n }\r\n\r\n /**\r\n * adds one answer for a multi response question\r\n * @param removePersonaUserAnswerForMultiResponseQuestion\r\n */\r\n private async handleAddPersonaUserAnswer_ForMultiResponse (\r\n removePersonaUserAnswerForMultiResponseQuestion: PersonaTypings.RemovePersonaUserAnswerForMultiResponseQuestion\r\n ) {\r\n let existingAnswers = removePersonaUserAnswerForMultiResponseQuestion.existingAnswers;\r\n let incomingAnswerIds = removePersonaUserAnswerForMultiResponseQuestion.incomingAnswerIds;\r\n let personaQuestionAndAnswerTypeWithDetails = removePersonaUserAnswerForMultiResponseQuestion.personaQuestionAndAnswerTypeWithDetails;\r\n let personaQuestionsAndAnswers = removePersonaUserAnswerForMultiResponseQuestion.personaQuestionsAndAnswers;\r\n let allowEmptySelection = true;\r\n\r\n var answerToAdd = incomingAnswerIds\r\n .filter(x => !existingAnswers\r\n .map(x => x.systemAnswerId)\r\n .includes(x))[0];\r\n\r\n let indexOfCustomResponseAnswer = personaQuestionsAndAnswers\r\n ?.systemAnswers\r\n ?.findIndex(x => x.systemAnswerId == answerToAdd\r\n && x.isCustomResponse);\r\n\r\n if (indexOfCustomResponseAnswer > -1) {\r\n await this.handleAddPersonaUserAnswer_ForMultiResponse_CustomResponseAnswer(answerToAdd, personaQuestionAndAnswerTypeWithDetails, existingAnswers, personaQuestionsAndAnswers, allowEmptySelection);\r\n } else {\r\n await this.handleAddPersonaUserAnswer_ForMultiResponse_NotCustomResponseAnswer(answerToAdd, personaQuestionAndAnswerTypeWithDetails, existingAnswers, personaQuestionsAndAnswers, allowEmptySelection);\r\n }\r\n }\r\n\r\n /**\r\n * sets the initial answers for a user to a multi response question\r\n * @param removePersonaUserAnswerForMultiResponseQuestion\r\n */\r\n private async handleInitialPersonaUserAnswers_ForMultiResponse (\r\n removePersonaUserAnswerForMultiResponseQuestion: PersonaTypings.RemovePersonaUserAnswerForMultiResponseQuestion\r\n ) {\r\n let incomingAnswerIds = removePersonaUserAnswerForMultiResponseQuestion.incomingAnswerIds;\r\n let personaQuestionAndAnswerTypeWithDetails = removePersonaUserAnswerForMultiResponseQuestion.personaQuestionAndAnswerTypeWithDetails;\r\n let personaQuestionsAndAnswers = removePersonaUserAnswerForMultiResponseQuestion.personaQuestionsAndAnswers;\r\n\r\n let personaUserAnswersToAdd: Observable<\r\n {\r\n userSystemAnswerId: PersonaTypings.NewPersonaAnswer;\r\n systemAnswerId: number;\r\n }>[] = [];\r\n\r\n let customResponseToQuestion: string = null;\r\n\r\n let indexOfCustomResponseAnswer = personaQuestionsAndAnswers\r\n ?.systemAnswers\r\n ?.findIndex(x => x.isCustomResponse);\r\n\r\n if (indexOfCustomResponseAnswer > -1) {\r\n var customResponseQuestionInfo = personaQuestionsAndAnswers.systemAnswers[indexOfCustomResponseAnswer];\r\n\r\n if (incomingAnswerIds.includes(customResponseQuestionInfo.systemAnswerId)) {\r\n const responseProvided = await this.addCustomResponsePersonaUserAnswer_ForMultiResponse(\r\n customResponseQuestionInfo.systemAnswerId,\r\n personaQuestionAndAnswerTypeWithDetails\r\n );\r\n\r\n if (responseProvided) {\r\n customResponseToQuestion = responseProvided[0];\r\n\r\n personaUserAnswersToAdd.push(responseProvided[1]);\r\n }\r\n\r\n incomingAnswerIds = incomingAnswerIds.filter(x => x != customResponseQuestionInfo.systemAnswerId);\r\n }\r\n }\r\n\r\n var updatePersonaQuestionsAndAnswersDataInfo: PersonaTypings.UpdatePersonaQuestionsAndAnswersDataInfo = {\r\n systemQuestionId: personaQuestionsAndAnswers.systemQuestionId,\r\n systemAnswerInfos: null,\r\n customResponse: customResponseToQuestion,\r\n userSystemAnswerIdForCustomResponse: null,\r\n systemAnswerIdForCustomResponse: null,\r\n defaultIfNoAnswer: false\r\n };\r\n\r\n if (incomingAnswerIds.length == 0 && personaUserAnswersToAdd?.length == 0) {\r\n this.updatePersonaQuestionsAndAnswersData(updatePersonaQuestionsAndAnswersDataInfo);\r\n } else if (incomingAnswerIds.length == 0 && personaUserAnswersToAdd?.length == 1) {\r\n personaUserAnswersToAdd[0]\r\n .subscribe(x => {\r\n let personaUserAnswerUpdates: { [key: number]: number } = {};\r\n\r\n var newPersonaUserAnswerId = (x?.userSystemAnswerId?.personaUserAnswerId ??\r\n x?.userSystemAnswerId?.personaUserNonprofitAnswerId ??\r\n x?.userSystemAnswerId?.personaUserStagedNonprofitAnswerId);\r\n\r\n personaUserAnswerUpdates[newPersonaUserAnswerId] = x.systemAnswerId;\r\n\r\n updatePersonaQuestionsAndAnswersDataInfo.userSystemAnswerIdForCustomResponse = newPersonaUserAnswerId;\r\n updatePersonaQuestionsAndAnswersDataInfo.systemAnswerIdForCustomResponse = x.systemAnswerId;\r\n updatePersonaQuestionsAndAnswersDataInfo.systemAnswerInfos = personaUserAnswerUpdates;\r\n\r\n this.updatePersonaQuestionsAndAnswersData(updatePersonaQuestionsAndAnswersDataInfo);\r\n });\r\n } else {\r\n incomingAnswerIds.forEach(async incomingAnswerId => {\r\n personaUserAnswersToAdd.push(\r\n this.personaResources.postPersonaUserAnswer(incomingAnswerId, personaQuestionAndAnswerTypeWithDetails, null)\r\n );\r\n })\r\n\r\n forkJoin(personaUserAnswersToAdd)\r\n .subscribe(x => {\r\n let personaUserAnswerUpdates: { [key: number]: number } = {};\r\n\r\n x.forEach(x => {\r\n var newPersonaUserAnswerId = (x?.userSystemAnswerId?.personaUserAnswerId ??\r\n x?.userSystemAnswerId?.personaUserNonprofitAnswerId ??\r\n x?.userSystemAnswerId?.personaUserStagedNonprofitAnswerId);\r\n\r\n personaUserAnswerUpdates[newPersonaUserAnswerId] = x.systemAnswerId;\r\n })\r\n\r\n updatePersonaQuestionsAndAnswersDataInfo.systemAnswerInfos = personaUserAnswerUpdates;\r\n\r\n this.updatePersonaQuestionsAndAnswersData(updatePersonaQuestionsAndAnswersDataInfo);\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * handles updates to multi response questions; either removes one answer, adds one answer, or sets the initial answers for a user\r\n * @param incomingAnswerIds\r\n * @param personaQuestionsAndAnswers\r\n * @param userAnswersToQuestion\r\n * @param personaQuestionAndAnswerTypeWithDetails\r\n * @param allowEmptySelection\r\n */\r\n private async onAnswerUpdate_MultiResponseQuestion (\r\n incomingAnswerIds: number[],\r\n personaQuestionsAndAnswers: PersonaTypings.PersonaQuestionAndAnswers,\r\n userAnswersToQuestion: PersonaTypings.PersonaUserAnswers\r\n | PersonaTypings.PersonaUserNonprofitAnswers\r\n | PersonaTypings.PersonaUserStagedNonprofitAnswers\r\n | PersonaTypings.PersonaUserNonprofitAnswersForReview\r\n | PersonaTypings.PersonaUserStagedNonprofitAnswersForReview,\r\n personaQuestionAndAnswerTypeWithDetails: PersonaTypings.PersonaQuestionAndAnswerTypeWithDetails,\r\n allowEmptySelection: boolean = false\r\n ) {\r\n var existingAnswers = userAnswersToQuestion\r\n ?.systemAnswers\r\n ?.filter(x => x.userSystemAnswerId !== null\r\n && x.userSystemAnswerId !== undefined)\r\n ?.map((answer) => {\r\n return {\r\n systemAnswerId: answer.systemAnswerId,\r\n userSystemAnswerId: answer.userSystemAnswerId,\r\n userSystemAnswerCustomResponse: answer.userSystemAnswerCustomResponse\r\n }\r\n });\r\n\r\n let removePersonaUserAnswerForMultiResponseQuestion: PersonaTypings.RemovePersonaUserAnswerForMultiResponseQuestion = {\r\n existingAnswers,\r\n incomingAnswerIds,\r\n personaQuestionsAndAnswers,\r\n personaQuestionAndAnswerTypeWithDetails,\r\n allowEmptySelection\r\n };\r\n\r\n if (existingAnswers && incomingAnswerIds\r\n && ((incomingAnswerIds.length - existingAnswers.length === 1)\r\n || existingAnswers.length > incomingAnswerIds.length)\r\n ) {\r\n if (existingAnswers.length > incomingAnswerIds.length) {\r\n this.handleRemovePersonaUserAnswer_ForMultiResponse(removePersonaUserAnswerForMultiResponseQuestion);\r\n } else if (incomingAnswerIds.length - existingAnswers.length === 1) {\r\n await this.handleAddPersonaUserAnswer_ForMultiResponse(removePersonaUserAnswerForMultiResponseQuestion)\r\n }\r\n } else if ((!existingAnswers || existingAnswers.length == 0) && incomingAnswerIds) {\r\n await this.handleInitialPersonaUserAnswers_ForMultiResponse(removePersonaUserAnswerForMultiResponseQuestion);\r\n }\r\n }\r\n\r\n}\r\nexport { PersonaQuestionAndAnswersForComponent };\r\n","import { BaseYcState, RegisterYCState } from '@yourcause/common/state';\r\nimport { PersonaTypings } from '@core/typings/persona.typing';\r\nimport { TypeaheadSelectOption } from '@yourcause/common/core-forms';\r\n\r\nexport interface PersonaQuestionAndAnswersForComponent {\r\n personaQuestionsAndAnswers: PersonaTypings.PersonaQuestionAndAnswers;\r\n personaUserAnswers:\r\n PersonaTypings.PersonaUserAnswers\r\n | PersonaTypings.PersonaUserNonprofitAnswers\r\n | PersonaTypings.PersonaUserStagedNonprofitAnswers\r\n | PersonaTypings.PersonaUserNonprofitAnswersForReview\r\n | PersonaTypings.PersonaUserStagedNonprofitAnswersForReview;\r\n formFieldName: string;\r\n formFieldSelectOptions: TypeaheadSelectOption[];\r\n userSystemAnswerIdForCustomResponse?: number;\r\n systemAnswerIdForCustomResponse?: number;\r\n customResponseForQuestion?: string;\r\n userSystemAnswerIds?: number[];\r\n}\r\n\r\n/**\r\n * State for Persona Questions and Answers.\r\n */\r\n@RegisterYCState()\r\nexport class PersonaState extends BaseYcState {\r\n readonly personaQuestionsAndAnswersData: PersonaQuestionAndAnswersForComponent[];\r\n readonly personaQuestionsAndAnswers: PersonaTypings.GetPersonaQuestionsAndAnswersQueryDto;\r\n readonly personaUserAnswers: PersonaTypings.GetPersonaUserAnswersQueryDto;\r\n readonly personaUserNonprofitAnswers: PersonaTypings.GetPersonaUserNonprofitAnswersQueryDto;\r\n readonly personaUserStagedNonprofitAnswers: PersonaTypings.GetPersonaUserStagedNonprofitAnswersQueryDto;\r\n readonly personaUserNonprofitAnswersForReview: PersonaTypings.GetPersonaUserNonprofitAnswersForReviewQueryDto;\r\n readonly personaUserStagedNonprofitAnswersForReview: PersonaTypings.GetPersonaUserStagedNonprofitAnswersForReviewQueryDto;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TokenService } from './token/token.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class SessionKeepAliveService {\r\n\r\n constructor (\r\n private tokenService: TokenService\r\n ) { }\r\n\r\n private refreshing: boolean;\r\n private listener: () => void;\r\n\r\n // start watching for clicks and keypresses\r\n startWatching () {\r\n // store the listener so that we can remove it when \"stopWatching\" happens\r\n this.listener = async () => {\r\n // only refresh one time and if the token (not refresh token) has expired\r\n if (\r\n !this.refreshing &&\r\n !this.tokenService.hasCurrentValidToken()\r\n ) {\r\n // toggle refreshing back and forth to ensure one call\r\n this.refreshing = true;\r\n await this.tokenService.getLatestToken();\r\n this.refreshing = false;\r\n }\r\n };\r\n\r\n // watch for mouse clicks and keyboard keypresses\r\n document.addEventListener('click', this.listener);\r\n document.addEventListener('keypress', this.listener);\r\n }\r\n\r\n // unregister listeners if we are listening\r\n stopWatching () {\r\n if (this.listener) {\r\n document.removeEventListener('click', this.listener);\r\n document.removeEventListener('keypress', this.listener);\r\n\r\n // delete reference to old listener\r\n this.listener = null;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { SpinnerState } from '@core/state/spinner.state';\r\nimport { AttachYCState, BaseYCService } from '@yourcause/common/state';\r\n\r\n\r\n@AttachYCState(SpinnerState)\r\n@Injectable({ providedIn: 'root' })\r\nexport class SpinnerService extends BaseYCService {\r\n\r\n startSpinner () {\r\n this.set('loading', true);\r\n }\r\n\r\n stopSpinner () {\r\n this.set('loading', false);\r\n }\r\n\r\n setLoadingMessage (message: string) {\r\n this.set('loadingMessage', message);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TermsOfServiceModalComponent } from '../../login/terms-of-service-modal/terms-of-service-modal.component';\r\nimport { TokenService } from './token/token.service';\r\nimport { ModalFactory } from '@yourcause/common/modals';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class TermsOfServiceService {\r\n\r\n constructor (\r\n private tokenService: TokenService,\r\n private modalFactory: ModalFactory\r\n ) { }\r\n\r\n async getUserTermsOfServiceModal () {\r\n const tokenInfo = this.tokenService.tokenInfo;\r\n\r\n if (tokenInfo && !tokenInfo.acknowledgedTermsOfService) {\r\n const accepted = await this.modalFactory.open(\r\n TermsOfServiceModalComponent,\r\n {},\r\n { keyboard: false, class: 'modal-md'}\r\n );\r\n if (!accepted) {\r\n this.tokenService.logout();\r\n }\r\n\r\n return accepted;\r\n } else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TokenResponse } from '@core/typings/token.typing';\r\nimport { environment } from '@environment';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class TokenAdapterService {\r\n private isLocalhost = environment.isLocalhost;\r\n // time difference (in ms), between the browser clock and the server clock\r\n // a negative diff means the server is ahead, a positive means the browser is ahead\r\n private diff = 0;\r\n // takes the date returned from the API (when the api sent the response)\r\n // and determines the difference between the date from the server and the date of the user's computer\r\n private async offsetTime (\r\n expirationDate: Date\r\n ) {\r\n await this.ensureDiffIsSet();\r\n\r\n return new Date(expirationDate.getTime() + this.diff).toISOString();\r\n }\r\n\r\n private async ensureDiffIsSet () {\r\n if (!this.diff) {\r\n const serverTimeRaw = this.isLocalhost ?\r\n '' :\r\n await this.getServerTime();\r\n if (serverTimeRaw) {\r\n const browserDate = new Date();\r\n const apiDate = new Date(serverTimeRaw);\r\n this.diff = browserDate.getTime() - apiDate.getTime();\r\n }\r\n }\r\n }\r\n\r\n private getServerTime () {\r\n const xmlHttp = this.getXHR();\r\n xmlHttp.open('HEAD', location.href.toString());\r\n xmlHttp.setRequestHeader('Content-Type', 'text/html');\r\n xmlHttp.send('');\r\n\r\n return new Promise((res, rej) => {\r\n xmlHttp.addEventListener('load', () => {\r\n res(xmlHttp.getResponseHeader('Date'));\r\n });\r\n\r\n xmlHttp.addEventListener('error', () => {\r\n res('');\r\n });\r\n });\r\n }\r\n\r\n private getXHR () {\r\n return new XMLHttpRequest();\r\n }\r\n\r\n async handleTokenRequest (\r\n body: T\r\n ): Promise {\r\n const expirationDate = new Date(body.expiration);\r\n const refreshExpiration = new Date(body.refreshTokenExpiration);\r\n\r\n body.expiration = await this.offsetTime(expirationDate);\r\n body.refreshTokenExpiration = await this.offsetTime(refreshExpiration);\r\n\r\n return body;\r\n }\r\n}\r\n","import { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from '@environment';\r\nimport { from, mergeMap, Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { TokenService } from './token.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class TokenInterceptor implements HttpInterceptor {\r\n\r\n constructor (\r\n private tokenService: TokenService\r\n ) { }\r\n\r\n intercept (\r\n r: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n return from((async (request) => {\r\n // we are trying to make an internal request if we omit http/https\r\n // i.e. /some/endpoint vs http://api.something.com/some/endpoint\r\n if (this.checkShouldProcessRequest(request.url)) {\r\n request = this.buildUpFullAPIURL(request);\r\n request = await this.appendToken(request);\r\n }\r\n\r\n return request;\r\n })(r))\r\n // if we got a request out of the previous observable, then we are good to go\r\n // otherwise stop the request\r\n .pipe(mergeMap((req) => {\r\n return next.handle(req).pipe(map(res => {\r\n if ('body' in res && res.body && (res.body.success === false)) {\r\n throw new HttpErrorResponse({\r\n error: res.body,\r\n url: req.url\r\n });\r\n }\r\n\r\n return res;\r\n }));\r\n }));\r\n }\r\n\r\n private async appendToken (request: HttpRequest) {\r\n if (this.checkShouldAppendToken(request.url)) {\r\n // capture whether or not we had a token before the attempted retrieval/refresh\r\n const latestToken = await this.tokenService.getLatestToken() as string;\r\n // if the refresh went through or we have a valid token\r\n if (latestToken) {\r\n let headers = request.headers.set('Authorization', `Bearer ${latestToken}`);\r\n const activeNpoId = this.tokenService.activeNpoId;\r\n\r\n if (activeNpoId) {\r\n headers = headers.set('nonprofitId', `${activeNpoId}`);\r\n }\r\n\r\n request = request.clone({\r\n headers\r\n });\r\n }\r\n }\r\n\r\n return request;\r\n }\r\n\r\n private checkShouldAppendToken (url: string) {\r\n return !url.startsWith(`${environment.apiBase}/api/admin/Sso`) && !url.startsWith(`${environment.apiBase}/api/token`);\r\n }\r\n\r\n private buildUpFullAPIURL (request: HttpRequest) {\r\n if (!request.url.startsWith('/')) {\r\n request = request.clone({\r\n url: '/' + request.url\r\n });\r\n }\r\n\r\n request = request.clone({\r\n url: `${environment.apiBase}${request.url}`\r\n });\r\n\r\n return request;\r\n }\r\n\r\n private checkShouldProcessRequest (url: string) {\r\n return !(/^(http|\\/(InsertMissing|assets|Version|Log))/).test(url) &&\r\n (url.startsWith('/api') ||\r\n url.startsWith('api'));\r\n }\r\n}\r\n","import { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { TokenResponse } from '@core/typings/token.typing';\r\nimport { APIResponse } from '@yourcause/common';\r\nimport { TokenAdapterService } from './token-adapter.service';\r\nimport { lastValueFrom } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class TokenRefreshResources {\r\n\r\n constructor (\r\n private http: HttpClient,\r\n private adapter: TokenAdapterService\r\n ) { }\r\n\r\n protected doRefresh (refreshToken: string, userId: number, clientIdentifier: string) {\r\n return lastValueFrom(this.http.post>('/api/admin/Sso/Refresh', {\r\n refreshToken,\r\n userId,\r\n clientIdentifier\r\n }));\r\n }\r\n\r\n async refreshToken (\r\n refreshToken: string,\r\n userId: number,\r\n clientIdentifier: string\r\n ): Promise {\r\n const response = await this.doRefresh(refreshToken, userId, clientIdentifier);\r\n\r\n try {\r\n return this.adapter.handleTokenRequest(response.data);\r\n } catch (err) {\r\n const e = err as HttpErrorResponse;\r\n if (e.status === 400) {\r\n return null;\r\n }\r\n throw e;\r\n }\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { APIResponse } from '@yourcause/common';\r\nimport { TokenResponse } from '../../typings/token.typing';\r\nimport { lastValueFrom } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class TokenRetrievalResources {\r\n\r\n constructor (\r\n private httpRestService: HttpClient\r\n ) { }\r\n\r\n async getPlatformAdminToken (\r\n code: string,\r\n clientIdentifier: string\r\n ): Promise {\r\n const endpoint = 'api/admin/Sso/Token';\r\n\r\n const result = await lastValueFrom(this.httpRestService.post>(endpoint, {\r\n code,\r\n clientIdentifier\r\n }));\r\n\r\n return result.data;\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { Behaviors, TokenResponse } from '@core/typings/token.typing';\r\nimport { GuidService } from '@yourcause/common/utils';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class TokenStorageService {\r\n\r\n constructor (\r\n private guidService: GuidService\r\n ) { }\r\n\r\n set jwt (jwt: TokenResponse) {\r\n localStorage.setItem(Behaviors.userTokenKey, JSON.stringify(jwt));\r\n }\r\n\r\n get jwt () {\r\n const token = localStorage.getItem(Behaviors.userTokenKey);\r\n\r\n try {\r\n return JSON.parse(token) as TokenResponse;\r\n } catch (e) {\r\n console.error(e, {\r\n subMessage: 'Error parsing JWT got: ' + token\r\n });\r\n }\r\n\r\n return null;\r\n }\r\n\r\n revoke () {\r\n localStorage.removeItem(Behaviors.userTokenKey);\r\n }\r\n\r\n overrideClientIdentifier (id: string) {\r\n localStorage.setItem(Behaviors.clientIdentifierKey, id);\r\n }\r\n\r\n get clientIdentifier () {\r\n let identifier = localStorage.getItem(Behaviors.clientIdentifierKey);\r\n\r\n if (!identifier) {\r\n identifier = this.guidService.nonce();\r\n localStorage.setItem(Behaviors.clientIdentifierKey, identifier);\r\n }\r\n\r\n return identifier;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { differenceInSeconds } from 'date-fns';\r\nimport { BehaviorSubject, map, Observable } from 'rxjs';\r\nimport { TokenStorageService } from './token-storage.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class TokenTimeoutService {\r\n private loopDuration = 500;\r\n private _timeRemaining$ = new BehaviorSubject(Infinity);\r\n private interval: NodeJS.Timer|number;\r\n timeRemaining$: Observable = this._timeRemaining$;\r\n showTimeout$ = this.timeRemaining$.pipe(map(time => {\r\n return time <= this.timeoutStart;\r\n }));\r\n\r\n readonly timeoutStart = 30;\r\n\r\n constructor (\r\n private tokenStorage: TokenStorageService\r\n ) { }\r\n\r\n start () {\r\n this.calculateTimeRemaining();\r\n this.interval = setInterval(() => this.calculateTimeRemaining(), this.loopDuration);\r\n }\r\n\r\n stop () {\r\n this._timeRemaining$.next(Infinity);\r\n if (this.interval) {\r\n clearInterval(this.interval as number);\r\n }\r\n }\r\n\r\n private calculateTimeRemaining () {\r\n const token = this.tokenStorage.jwt;\r\n const timeRemaining = token ?\r\n differenceInSeconds(new Date(token.refreshTokenExpiration), new Date()) :\r\n 0;\r\n\r\n this._timeRemaining$.next(timeRemaining);\r\n }\r\n}\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { UserLoginClaims } from '@core/models/account.model';\r\nimport { BlackbaudSsoError, SSOToken } from '@core/models/blackbaud-sso.model';\r\nimport { AccountResources } from '@core/resources/account.resources';\r\nimport { TokenState } from '@core/state/token.state';\r\nimport { TokenContent, TokenResponse } from '@core/typings/token.typing';\r\nimport { environment } from '@environment';\r\nimport { ModalFactory } from '@yourcause/common/modals';\r\nimport { AttachYCState, BaseYCService } from '@yourcause/common/state';\r\nimport { AppInsightsService } from '@yourcause/common/utils';\r\nimport { NotificationsService } from '../../../home/services/notifications.service';\r\nimport { AccountService } from '../account.service';\r\nimport { BBIDService } from '../bbid.service';\r\nimport { TokenRefreshResources } from './token-refresh.resources';\r\nimport { TokenRetrievalResources } from './token-retrieval.resources';\r\nimport { TokenStorageService } from './token-storage.service';\r\nimport { TokenTimeoutService } from './token-timeout.service';\r\n\r\n@AttachYCState(TokenState)\r\n@Injectable({ providedIn: 'root' })\r\nexport class TokenService extends BaseYCService {\r\n private permittedPlatformTransferRedirects = [\r\n 'localhost:51849'\r\n ];\r\n\r\n private logoutTriggered = false;\r\n private latestProm: Promise;\r\n private refreshOffset = 1 /* minute(s) */ * 60 /* seconds */ * 1000 /* milliseconds */;\r\n\r\n constructor (\r\n private modalFactory: ModalFactory,\r\n private refresh: TokenRefreshResources,\r\n private retrieval: TokenRetrievalResources,\r\n private storage: TokenStorageService,\r\n private timeout: TokenTimeoutService,\r\n private appInsights: AppInsightsService,\r\n private accountService: AccountService,\r\n private notificationService: NotificationsService,\r\n private bbidService: BBIDService,\r\n private accountResources: AccountResources\r\n ) {\r\n super();\r\n\r\n if (!!this.hasToken()) {\r\n this.setTokenInfo(this.tokenInfo);\r\n }\r\n }\r\n\r\n get isBbid () {\r\n return this.storage.jwt?.bbidToken;\r\n }\r\n\r\n get userId () {\r\n return this.get('userId');\r\n }\r\n\r\n get userEmail () {\r\n return this.get('userEmail');\r\n }\r\n\r\n get tokenInfo () {\r\n return this.get('tokenInfo');\r\n }\r\n\r\n get ssoToken () {\r\n return this.get('ssoToken');\r\n }\r\n\r\n get activeNpoId () {\r\n return this.get('activeNpoId');\r\n }\r\n\r\n getFirstRoleFromNonprofitId (id: number) {\r\n for (const role in (this.tokenInfo?.nonprofitRoleMap || {})) {\r\n if (this.tokenInfo.nonprofitRoleMap[role].includes(id)) {\r\n return role;\r\n }\r\n }\r\n\r\n return '';\r\n }\r\n\r\n setTokenInfo (tokenInfo: UserLoginClaims) {\r\n if (tokenInfo) {\r\n const adaptedUserClaimsInfo = this.adaptUserClaimsInfo(tokenInfo);\r\n this.set('tokenInfo', adaptedUserClaimsInfo);\r\n this.set('userId', tokenInfo.userId);\r\n this.set('userEmail', tokenInfo.userName);\r\n } else {\r\n this.set('tokenInfo', null);\r\n this.set('userId', 0);\r\n this.set('userEmail', null);\r\n }\r\n }\r\n\r\n adaptUserClaimsInfo (tokenInfo: UserLoginClaims) {\r\n tokenInfo.NonprofitIdArr = Object.keys(tokenInfo.nonprofitRoleMap || {})\r\n .reduce((arr, str) => ([\r\n ...arr,\r\n ...tokenInfo.nonprofitRoleMap[str]\r\n ]), []);\r\n\r\n if (tokenInfo.role) {\r\n tokenInfo.role = tokenInfo.role instanceof Array ? tokenInfo.role : [tokenInfo.role];\r\n } else {\r\n tokenInfo.role = [];\r\n }\r\n\r\n return tokenInfo;\r\n }\r\n\r\n setSsoToken (ssoToken: string) {\r\n this.set('ssoToken', ssoToken);\r\n }\r\n\r\n setActiveNpoId (nonprofitId: number) {\r\n this.set('activeNpoId', nonprofitId);\r\n }\r\n\r\n hasToken () {\r\n return !!this.storage.jwt;\r\n }\r\n\r\n hasCurrentValidToken () {\r\n const currentToken = this.storage.jwt;\r\n\r\n // apply an offset to ensure we always have an up to date token\r\n const now = new Date(Date.now() + this.refreshOffset);\r\n\r\n // make sure the JWT is intact and that the token's expiration is in the future\r\n return this.isBbid ||\r\n (currentToken && !!this.parseJwt() && (new Date(currentToken.expiration) > now));\r\n }\r\n\r\n hasFutureValidToken () {\r\n const currentToken = this.storage.jwt;\r\n const now = new Date();\r\n\r\n // we have an intact JWT\r\n return this.isBbid ||\r\n (currentToken &&\r\n !!this.parseJwt() &&\r\n // and will be valid in the future if the token is expired\r\n !this.hasCurrentValidToken() &&\r\n // but the refreshToken is not\r\n (new Date(currentToken.refreshTokenExpiration) > now));\r\n }\r\n\r\n getIsLoggedIn () {\r\n return this.hasCurrentValidToken() || this.hasFutureValidToken();\r\n }\r\n\r\n getLatestToken (returnFullToken = false) {\r\n if (!this.latestProm || returnFullToken) {\r\n this.latestProm = new Promise(async (resolve) => {\r\n // pull the current token\r\n if (this.isBbid) {\r\n await this.setBbidJwt(true);\r\n }\r\n const currentToken = this.storage.jwt;\r\n // if we need to refresh, kick that off\r\n if (this.hasFutureValidToken() && !this.isBbid) {\r\n await this.doRefresh();\r\n }\r\n // if we have a valid token, return that\r\n if (this.isBbid || this.hasCurrentValidToken()) {\r\n return resolve(returnFullToken ? this.storage.jwt : this.storage.jwt.token);\r\n } else if (currentToken) {\r\n // if current token but it's not valid, we can remove it\r\n this.storage.revoke();\r\n this.setTokenInfo(null);\r\n }\r\n // otherwise we assume they never tried to log in and don't have a token\r\n resolve(null);\r\n }).then((val) => {\r\n this.latestProm = null;\r\n\r\n return val;\r\n }).catch(e => {\r\n console.error(e, {\r\n subMessage: 'Error logging out'\r\n });\r\n this.logout(true);\r\n\r\n throw e;\r\n });\r\n }\r\n\r\n return this.latestProm;\r\n }\r\n\r\n handleExpiredSession () {\r\n setTimeout(() => {\r\n return this.logout(true);\r\n }, 1000);\r\n }\r\n\r\n getIdentifier () {\r\n return this.storage.clientIdentifier;\r\n }\r\n\r\n extractTokenFromLocationAttribute (value: string) {\r\n return (value || '')\r\n .slice(1)\r\n .split('&')\r\n .reduce((obj, key) => ({\r\n ...obj,\r\n [key.split('=')[0]]: key.split('=')[1]\r\n }), {} as SSOToken);\r\n }\r\n\r\n async tokenSignin (token: TokenResponse) {\r\n this.storage.jwt = token;\r\n\r\n const jwt = this.parseJwt();\r\n\r\n await this.fetchUserClaims();\r\n\r\n if (jwt) {\r\n if (!environment.isLocalhost) {\r\n this.appInsights.setAuthenticatedUserContext(jwt.UserId, null, true);\r\n }\r\n }\r\n }\r\n\r\n async fetchUserClaims () {\r\n const response = await this.accountResources.getUserClaims();\r\n\r\n this.setTokenInfo(response.data);\r\n }\r\n\r\n\r\n handlePlatformDomainTransfer () {\r\n const platformHostRename = sessionStorage.getItem('platformHostRename');\r\n // Check to see if returning to local environment\r\n if (!!platformHostRename) {\r\n sessionStorage.removeItem('platformHostRename');\r\n const newHost = decodeURIComponent(platformHostRename);\r\n\r\n if (!this.permittedPlatformTransferRedirects.includes(newHost)) {\r\n return false;\r\n }\r\n\r\n location.hostname = newHost;\r\n\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n logout = async (\r\n doRedirect = true\r\n ) => {\r\n if (!this.logoutTriggered) {\r\n this.logoutTriggered = true;\r\n\r\n this.accountService.resetAccountState();\r\n this.accountService.setAccessRemovedModalClosed(false);\r\n this.notificationService.setModalNotificationClosed(false);\r\n this.modalFactory.dismissAllOpen();\r\n this.timeout.stop();\r\n this.appInsights.clearAuthenticatedUserContext();\r\n if (this.isBbid) {\r\n this.setTokenInfo(null);\r\n this.storage.revoke();\r\n this.bbidService.logoutOfBbid();\r\n } else if (doRedirect) {\r\n this.setTokenInfo(null);\r\n this.storage.revoke();\r\n location.pathname = !!this.ssoToken ? '/admin/auth/logout' : '/login';\r\n }\r\n }\r\n\r\n return '';\r\n };\r\n\r\n parseJwt (token = this.storage.jwt?.token): TokenContent {\r\n if (!!token) {\r\n try {\r\n var base64Url = token.split('.')[1];\r\n var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\r\n var jsonPayload = window.decodeURIComponent(window.atob(base64).split('').map(function (c) {\r\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\r\n }).join(''));\r\n var tokenContent = JSON.parse(jsonPayload) as TokenContent;\r\n\r\n return tokenContent;\r\n } catch (e) {\r\n console.warn('Failed to parse JWT', e, 'got:', token);\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n async doRefresh (fetchUserClaims: boolean = false) {\r\n if (!this.isBbid) {\r\n const parsedToken = this.parseJwt();\r\n const identifier = this.storage.clientIdentifier;\r\n\r\n let result: TokenResponse;\r\n try {\r\n result = await this.refresh.refreshToken(\r\n this.storage.jwt.refreshToken,\r\n +parsedToken.UserId,\r\n identifier\r\n );\r\n if (!!result) {\r\n // we are good to go\r\n this.storage.jwt = result;\r\n } else {\r\n // our session has been terminated by another tab\r\n this.handleExpiredSession();\r\n }\r\n } catch (e) {\r\n this.appInsights.trackEvent('sso:debug', {\r\n event: 'REFRESH_FAILED_CATCH',\r\n identifier,\r\n userId: parsedToken.UserId,\r\n token: this.storage.jwt.refreshToken\r\n });\r\n\r\n this.handleExpiredSession();\r\n\r\n throw e;\r\n }\r\n }\r\n\r\n if (fetchUserClaims) {\r\n await this.fetchUserClaims();\r\n }\r\n }\r\n\r\n async platformAdminSsoExchange (): Promise {\r\n const token = this.extractTokenFromLocationAttribute(location.search);\r\n this.setSsoToken(token.code);\r\n try {\r\n const response = await this.retrieval.getPlatformAdminToken(\r\n token.code,\r\n this.getIdentifier()\r\n );\r\n const clientIdentifier = this.storage.clientIdentifier;\r\n this.storage.overrideClientIdentifier(clientIdentifier);\r\n await this.tokenSignin(response);\r\n\r\n return null;\r\n } catch (err) {\r\n const e = err as HttpErrorResponse;\r\n console.error(e);\r\n if (e?.error?.message === 'User does not have an account') {\r\n return BlackbaudSsoError.NoPlatformAccount;\r\n } else {\r\n return BlackbaudSsoError.Unknown;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Gets and sets the BBID Token\r\n */\r\n async setBbidJwt (\r\n revokeIfFailed: boolean\r\n ) {\r\n const token = await this.bbidService.getToken();\r\n\r\n if (!!token) {\r\n const jwt: TokenResponse = {\r\n token,\r\n bbidToken: true,\r\n expiration: '',\r\n refreshToken: '',\r\n refreshTokenExpiration: ''\r\n };\r\n\r\n this.storage.jwt = jwt;\r\n\r\n return true;\r\n } else {\r\n if (revokeIfFailed) {\r\n this.storage.revoke();\r\n }\r\n\r\n return false;\r\n }\r\n }\r\n}\r\n","\r\nimport {filter, map, mergeMap} from 'rxjs/operators';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { APIResponse } from '@yourcause/common';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { lastValueFrom } from 'rxjs';\r\nimport { TourDefinition, TourService } from '@yourcause/common/tour';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TourStorageService {\r\n private completedTours: string[];\r\n masterTourList: TourDefinition[] = [{\r\n tourKey: 'NEW_USER',\r\n tourName: this.i18n.translate(\r\n 'tours:lblNewUserTour',\r\n {},\r\n 'Workspace and Navigation'\r\n ),\r\n tourDescription: this.i18n.translate(\r\n 'tours:textNewUserTourDescription',\r\n {},\r\n 'This introductory tour takes you through the basic navigation and features found on \"My Workspace\"'\r\n ),\r\n tourLocation: '/my-workspace'\r\n // SAVING FOR PAYMENTS TOUR\r\n }, {\r\n tourKey: 'PAYMENTS_DOWNLOAD',\r\n tourName: this.i18n.translate(\r\n 'tours:lblPayments',\r\n {},\r\n 'Payments'\r\n ),\r\n tourDescription: this.i18n.translate(\r\n 'tours:textPaymentsDescription',\r\n {},\r\n 'Learn about downloading donor details from payments that you receive through YourCause'\r\n ),\r\n tourLocation: '/giving/payments'\r\n }];\r\n\r\n constructor (\r\n private tourService: TourService,\r\n private http: HttpClient,\r\n private i18n: I18nService\r\n ) {\r\n tourService.toursCompleted$\r\n .pipe(filter(completedTour => !this.completedTours.includes(completedTour)))\r\n .pipe(mergeMap(completedTour => this.http.post('/api/MyAccount/CompleteUserTour', {\r\n tourKey: completedTour\r\n })\r\n .pipe(map(() => this.completedTours.push(completedTour)))))\r\n .subscribe();\r\n }\r\n\r\n private initCompletedTours (cb: () => any) {\r\n if (!this.completedTours) {\r\n this.getCompletedTours()\r\n .subscribe(() => cb());\r\n } else {\r\n cb();\r\n }\r\n }\r\n\r\n async setTourAsIncomplete (tourName: string) {\r\n await this.resetTour(tourName);\r\n this.completedTours = this.completedTours.filter(tour => tour !== tourName);\r\n this.tourService.toursCompleted = this.completedTours;\r\n }\r\n\r\n initTour (tourName: string) {\r\n this.initCompletedTours(() => {\r\n if (!this.completedTours.includes(tourName)) {\r\n this.tourService.initTour(tourName);\r\n }\r\n });\r\n }\r\n getCompletedTours () {\r\n return this.http.get>('/api/MyAccount/GetToursCompleted').pipe(\r\n map((response) => {\r\n this.completedTours = response.data\r\n .map(val => val.tourKey);\r\n this.tourService.toursCompleted = this.completedTours;\r\n\r\n return this.completedTours;\r\n }));\r\n }\r\n\r\n async resetTour (tourName: string) {\r\n return new Promise((res) => this.initCompletedTours(res))\r\n .then(() => this.completedTours.includes(tourName) ?\r\n lastValueFrom(this.http.post('/api/MyAccount/RemoveUserTourCompletion', {\r\n tourKey: tourName\r\n })) :\r\n null\r\n );\r\n }\r\n}\r\n","import { AccountDetails } from '@core/models/account.model';\r\nimport { CachedAttr, CACHE_TYPES } from '@yourcause/common/cache';\r\nimport { BaseYcState, RegisterYCState } from '@yourcause/common/state';\r\n\r\n\r\n@RegisterYCState()\r\nexport class AccountState extends BaseYcState {\r\n @CachedAttr(CACHE_TYPES.LOCALSTORAGE)\r\n readonly accessRemovedModalClosed: boolean;\r\n\r\n readonly accountDetails: AccountDetails;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { SidebarLink } from '@yourcause/common';\r\nimport { CachedAttr, CACHE_TYPES } from '@yourcause/common/cache';\r\nimport { BaseYCActionState, RegisterYCState } from '@yourcause/common/state';\r\n\r\n@RegisterYCState()\r\n@Injectable({ providedIn: 'root' })\r\nexport class AppShellState extends BaseYCActionState {\r\n readonly showHeaderButtons: boolean = true;\r\n readonly latestVersion: string;\r\n\r\n @CachedAttr(CACHE_TYPES.LOCALSTORAGE)\r\n readonly sidebarClosed: boolean;\r\n\r\n readonly sidebarLinks: SidebarLink[] = [];\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TermsOfServiceModelResponse } from '@core/models/auth.model';\r\nimport { DetermineSignInFlow, LoginScenario } from '@core/typings/bbid.typing';\r\nimport { BaseYcState, RegisterYCState } from '@yourcause/common/state';\r\n\r\n@RegisterYCState()\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthState extends BaseYcState {\r\n readonly email: string;\r\n readonly password: string;\r\n readonly termsOfService: TermsOfServiceModelResponse;\r\n readonly loginScenario: LoginScenario;\r\n readonly signInFlow: DetermineSignInFlow;\r\n}\r\n","import { BannerInfo } from '@yourcause/common/banner';\r\nimport { BaseYcState, RegisterYCState } from '@yourcause/common/state';\r\n\r\n@RegisterYCState()\r\nexport class BannerState extends BaseYcState {\r\n readonly banners: BannerInfo[];\r\n readonly showInactiveNpoBanner: boolean;\r\n}\r\n","import { ClassificationMaps } from '@yourcause/common';\r\nimport { BaseYcState, RegisterYCState } from '@yourcause/common/state';\r\nimport { SubsectionCode } from '../models/subsection-codes.model';\r\n@RegisterYCState()\r\nexport class ClassificationState extends BaseYcState {\r\n classifications: ClassificationMaps;\r\n subsections: SubsectionCode[];\r\n}\r\n","import { PaymentDetailsApi } from '@core/models/payment.model';\r\nimport { BaseYcState, RegisterYCState } from '@yourcause/common/state';\r\nimport { MatchRequestSummary, PendingDisbursementSummary } from '../models/finance.model';\r\n\r\n\r\n@RegisterYCState()\r\nexport class FinanceState extends BaseYcState {\r\n readonly pendingDisbursements: PendingDisbursementSummary;\r\n readonly transactionsPending: number;\r\n readonly amountPending: number;\r\n readonly matchRequests: MatchRequestSummary;\r\n readonly paymentId: number;\r\n readonly paymentNumber: string;\r\n readonly paymentDetailsForTransactions: PaymentDetailsApi;\r\n readonly transactionsStatus: string;\r\n readonly paymentDateRangeAllTime: Date[];\r\n readonly errorState: boolean;\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { FooterStates } from '@yourcause/common';\r\nimport { BaseYcState, RegisterYCState } from '@yourcause/common/state';\r\n\r\n@RegisterYCState()\r\n@Injectable({ providedIn: 'root' })\r\nexport class FooterState extends BaseYcState {\r\n readonly FOOTER_STATES = FooterStates;\r\n readonly footerState: FooterStates = FooterStates.STANDARD;\r\n\r\n readonly footerActionDisabled: boolean;\r\n readonly footerAction: () => any;\r\n readonly footerActionLabel: string;\r\n\r\n readonly footerCancelLabel: string;\r\n readonly footerCancelAction: () => any;\r\n\r\n readonly footerSecondaryLabel: string;\r\n readonly footerSecondaryDisabled: boolean;\r\n readonly footerSecondaryAction: () => any;\r\n\r\n readonly footerTertiaryLabel: string;\r\n readonly footerTertiaryAction: () => any;\r\n\r\n readonly footerInfoText: string;\r\n readonly footerInfoIcon: string;\r\n readonly footerInfoTooltip: string;\r\n\r\n setActionLabel (label: string) {\r\n this.set('footerActionLabel', label);\r\n }\r\n\r\n setCancelLabel (label: string) {\r\n this.set('footerCancelLabel', label);\r\n }\r\n\r\n setSecondaryLabel (label: string) {\r\n this.set('footerSecondaryLabel', label);\r\n }\r\n\r\n setTertiaryLabel (label: string) {\r\n this.set('footerTertiaryLabel', label);\r\n }\r\n\r\n setFooterInfoText (text: string) {\r\n this.set('footerInfoText', text);\r\n }\r\n\r\n setFooterInfoIcon (icon: string) {\r\n this.set('footerInfoIcon', icon);\r\n }\r\n\r\n setFooterInfoTooltip (tooltip: string) {\r\n this.set('footerInfoTooltip', tooltip);\r\n }\r\n\r\n setPrimaryAction (action: () => any) {\r\n this.set('footerAction', action);\r\n }\r\n\r\n setCancelAction (action: () => any) {\r\n this.set('footerCancelAction', action);\r\n }\r\n\r\n setSecondaryAction (action: () => any) {\r\n this.set('footerSecondaryAction', action);\r\n }\r\n\r\n setTertiaryAction (action: () => any) {\r\n this.set('footerTertiaryAction', action);\r\n }\r\n\r\n setPrimaryDisabled (disabled: boolean) {\r\n this.set('footerActionDisabled', disabled);\r\n }\r\n\r\n setSecondaryDisabled (disabled: boolean) {\r\n this.set('footerSecondaryDisabled', disabled);\r\n }\r\n\r\n setFooterInfo (\r\n infoText: string,\r\n infoIcon?: string,\r\n infoTooltip?: string\r\n ) {\r\n this.setFooterInfoText(infoText);\r\n this.setFooterInfoIcon(infoIcon);\r\n this.setFooterInfoTooltip(infoTooltip);\r\n }\r\n\r\n clearAll () {\r\n this.setActionLabel(null);\r\n this.setCancelLabel(null);\r\n this.setSecondaryLabel(null);\r\n this.setTertiaryLabel(null);\r\n this.setFooterInfo(null, null, null);\r\n this.setPrimaryAction(null);\r\n this.setCancelAction(null);\r\n this.setSecondaryAction(null);\r\n this.setTertiaryAction(null);\r\n this.setPrimaryDisabled(false);\r\n this.setSecondaryDisabled(false);\r\n this.set('footerState', this.FOOTER_STATES.STANDARD);\r\n }\r\n}\r\n","\r\nimport { BaseYcState, RegisterYCState } from '@yourcause/common/state';\r\n\r\n@RegisterYCState()\r\nexport class SpinnerState extends BaseYcState {\r\n readonly loading: boolean = false;\r\n readonly loadingMessage: string;\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { UserLoginClaims } from '@core/models/account.model';\r\nimport { BaseYcState, RegisterYCState } from '@yourcause/common/state';\r\n\r\n@RegisterYCState()\r\n@Injectable({ providedIn: 'root' })\r\nexport class TokenState extends BaseYcState {\r\n readonly tokenInfo: UserLoginClaims;\r\n readonly userId: number;\r\n readonly userEmail: string;\r\n readonly ssoToken: string;\r\n\r\n // Remove this when we convert Nonprofit state to standard model\r\n readonly activeNpoId: number;\r\n}\r\n","export namespace BannerInformationAPI {\r\n\r\n export interface BannerInformationDisplay {\r\n id: number;\r\n displayPageId: number;\r\n bannerText: string;\r\n bannerComment: string;\r\n displayStartDate: string;\r\n displayEndDate: string;\r\n createdByUserId: number;\r\n createdDate: string;\r\n createdByUser: string;\r\n lastModifiedDate: string;\r\n }\r\n export interface AddBannerPayload {\r\n displayPageId: number;\r\n bannerText: string;\r\n bannerComment?: string;\r\n displayStartDate: string;\r\n displayEndDate: string;\r\n }\r\n export interface EditBannerPayload {\r\n displayPageId: number;\r\n id: number;\r\n bannerText: string;\r\n bannerComment?: string;\r\n displayStartDate: string;\r\n displayEndDate: string;\r\n }\r\n export enum BannerDisplayPages {\r\n PAYMENTS_PAGE = 1,\r\n HELP_SUPPORT = 4,\r\n MY_WORKSPACE = 5,\r\n NPO_ADMINISTRATION = 6,\r\n DISBURSEMENT_INFO = 7\r\n }\r\n}\r\n\r\n","import { User } from '@core/models/user.model';\r\nimport { YcFile } from '@yourcause/common/files';\r\n\r\nexport namespace NotesAPI {\r\n export interface NoteBase {\r\n noteType: NoteType;\r\n note: string;\r\n assetId?: string;\r\n emailAddresses?: string;\r\n }\r\n\r\n export interface NoteAssetMap {\r\n [assetId: string]: YcFile;\r\n }\r\n\r\n export interface NoteDisplay extends NoteBase {\r\n id?: number;\r\n nonprofitId?: number;\r\n lastModifiedDate?: string;\r\n createdDate?: string;\r\n createdByUser?: User;\r\n modifiedByUser?: User;\r\n createdBy?: string;\r\n }\r\n\r\n export interface NoteModalPayload extends NoteBase {\r\n id?: number;\r\n nonprofitId: number;\r\n file?: YcFile;\r\n assetId?: string;\r\n }\r\n\r\n export enum NoteType {\r\n GENERAL = 1,\r\n OUTREACH_EMAIL = 2,\r\n VETTING = 3,\r\n VETTING_REVISION_REQUESTED = 4\r\n }\r\n}\r\n","import { CompanyDisplayModel } from '@core/models/check-reissue.model';\r\nimport { NonprofitAsset } from '@core/models/nonprofit-asset.model';\r\nimport { Nonprofit } from '@core/models/npo.model';\r\nimport { VettingRequestStatusId } from '@core/models/status.model';\r\nimport { User } from '@core/models/user.model';\r\nimport { MailToModalResponse, TableAsset } from '@yourcause/common';\r\n\r\nexport namespace VettingRequestAPI {\r\n export interface VettingRequestStatus {\r\n id: number;\r\n type: string;\r\n }\r\n\r\n export interface VettingRequest extends VettingRequestDisplay {\r\n nonprofit: Nonprofit;\r\n }\r\n\r\n export interface VettingRequestDisplay {\r\n id: number;\r\n ycVettingRequestId: number;\r\n submittedOn: string;\r\n affiliateEmployeeId: number;\r\n affiliateEmployeeFirstName: string;\r\n affiliateEmployeeLastName: string;\r\n affiliateEmployeeEmail: string;\r\n affiliateEmployeeCount: number;\r\n nonprofitContactName: string;\r\n nonprofitContactEmail: string;\r\n nonprofitContactWebsite: string;\r\n contactIsActiveUser?: boolean;\r\n contactIsNonprofitAdmin?: boolean;\r\n notes: string;\r\n vettingRequestStatusId: number;\r\n vettingRequestStatus: string;\r\n nonprofitVettingRequestStatusComment: string;\r\n lastModifiedDate: string;\r\n modifiedByUserId?: number;\r\n createdByUserId: number;\r\n createDate: string;\r\n company: {\r\n id: number;\r\n name: string;\r\n externalKey: string;\r\n externalSystemType: string;\r\n };\r\n modifiedByUser: {\r\n id: number;\r\n lastName: string;\r\n firstName: string;\r\n fullName: string;\r\n email: string;\r\n lastLoginDate: string;\r\n };\r\n createdByGcUser?: string;\r\n companyName: string;\r\n externalSystemTypeId: number;\r\n rejectionReason?: string;\r\n rejectionReasonId?: number;\r\n countOfVettingNotes: number;\r\n vettingTypeId: number;\r\n }\r\n\r\n export interface UpdateRequestStatusPayload {\r\n id: number;\r\n nonprofitVettingRequestStatusTypeId: VettingRequestStatusId;\r\n comment?: string;\r\n rejectionReasonId?: number;\r\n reevaluationDate?: string;\r\n }\r\n\r\n export enum VettingRequestStatusName {\r\n REQUEST_SUBMITTED = 'Request submitted',\r\n INVITATION_SENT = 'Invitation sent',\r\n PENDING = 'Pending',\r\n APPROVED_ED = 'Approved - ED',\r\n APPROVED_STANDARD = 'Approved - Standard',\r\n DECLINED_ED = 'Declined - ED',\r\n DECLINED_STANDARD = 'Declined - Standard',\r\n DRAFT = 'Draft',\r\n INFORMATION_REQUESTED = 'Information Requested',\r\n ON_HOLD = 'On Hold'\r\n }\r\n\r\n export enum VettingTypeId {\r\n ED = 1,\r\n Standard = 3,\r\n DomesticVetting = 4\r\n }\r\n\r\n export enum VettingTypeName {\r\n DOMESTIC = 'Domestic Vetting',\r\n STANDARD = 'Standard',\r\n ED = 'ED'\r\n }\r\n\r\n export interface NonprofitVettingRequestPayload {\r\n affiliateEmployeeEmail: string;\r\n affiliateEmployeeFirstName: string;\r\n affiliateEmployeeLastName: string;\r\n companyId: number;\r\n contactEmail?: string;\r\n contactName?: string;\r\n contactWebsite?: string;\r\n externalSystemTypeId?: number;\r\n isSubmission: boolean;\r\n nonprofitId?: number;\r\n nonprofitVettingRequestId?: number;\r\n notes?: string;\r\n }\r\n\r\n export interface NonprofitVettingRequestUpdateResponse {\r\n id: number;\r\n vettingTypeId: number;\r\n submittedOn: string;\r\n notes: string;\r\n vettingRequestStatusId: number;\r\n rejectionReason?: string;\r\n rejectionReasonId?: number;\r\n vettingRequestStatus: string;\r\n nonprofitVettingRequestStatusComment?: string;\r\n nonprofitVettingRequestStatusChangedByUser: User;\r\n nonprofitVettingRequestStatusChangeDate: string;\r\n lastModifiedDate: string;\r\n modifiedByUser: User;\r\n createdByUserId: number;\r\n createDate: string;\r\n isActiveRow: boolean;\r\n countOfVettingNotes?: number;\r\n affiliateEmployeeEmail: string;\r\n affiliateEmployeeFirstName: string;\r\n affiliateEmployeeLastName: string;\r\n companyId: number;\r\n expirationDate?: string;\r\n reevaluationDate?: string;\r\n }\r\n\r\n export interface NonprofitVettingRequestWithAssets extends NonprofitVettingRequestPayload {\r\n assetsToAdd: TableAsset[];\r\n }\r\n\r\n export interface NonprofitVettingRequestDetail extends NonprofitVettingRequestUpdateResponse {\r\n assets?: NonprofitAsset[];\r\n }\r\n\r\n export interface DomesticVettingRequest {\r\n ycCharityId: number;\r\n submittedByUser: User;\r\n reeveluationDate: string;\r\n nonprofit: Nonprofit;\r\n id: number;\r\n ycVettingRequestId?: number;\r\n vettingTypeId: number;\r\n submittedOn: string;\r\n affiliateEmployeeId: number;\r\n affiliateEmployeeFirstName: string;\r\n affiliateEmployeeLastName: string;\r\n affiliateEmployeeEmail: string;\r\n affiliateEmployeeCount: number;\r\n nonprofitContactName?: string;\r\n nonprofitContactEmail?: string;\r\n nonprofitContactWebsite?: string;\r\n notes?: string;\r\n vettingRequestStatusId: number;\r\n rejectionReason?: string;\r\n rejectionReasonId?: number;\r\n vettingRequestStatus: string;\r\n nonprofitVettingRequestStatusComment?: string;\r\n nonprofitVettingRequestStatusChangedByUser?: User;\r\n nonprofitVettingRequestStatusChangeDate?: string;\r\n lastModifiedDate: string;\r\n modifiedByUserId?: number;\r\n createdByUserId: number;\r\n createDate: string;\r\n isActiveRow: boolean;\r\n company: CompanyDisplayModel;\r\n modifiedByUser: User;\r\n externalSystemTypeId?: number;\r\n countOfVettingNotes?: number;\r\n assignedToUser?: User;\r\n pub78Code?: string;\r\n bmfFoundationCode?: string;\r\n bmfAffiliationCode?: string;\r\n bmfSubsectionCode?: string;\r\n }\r\n\r\n export interface NonprofitVettingTileDetailsModel {\r\n vettingId: number;\r\n vettingAuthority: string;\r\n vettingTypeId: number;\r\n vettingComment: string;\r\n vettingCreateDate: string;\r\n vettingExpirationDate: string;\r\n reevaluationDate: string;\r\n vettingRequestSubmittedOn: string;\r\n vettingRequestId: number;\r\n vettingRequestStatusId: number;\r\n vettingRequestStatusChangeDate: string;\r\n }\r\n\r\n export interface DomesticVettingStatusModalPayload {\r\n statusUpdateInfo: UpdateRequestStatusPayload;\r\n emailInfo: MailToModalResponse;\r\n }\r\n}\r\n","export enum LoginScenario {\r\n NEW_BBID_USER = 2,\r\n EXISTING_BBID_USER = 3\r\n}\r\n\r\nexport interface LinkToBbidPayload {\r\n email: string;\r\n blackbaudIdToken: string;\r\n inviteEmail: string;\r\n}\r\n\r\nexport interface DetermineSignInFlow {\r\n isBlackbaudIdLinked: boolean;\r\n hasExistingBlackbaudIdAccount: boolean;\r\n existing: boolean;\r\n requireSso: boolean;\r\n}\r\n\r\nexport enum BbidLinkingResult {\r\n LINKED = 1,\r\n FAILED = 2\r\n}\r\n\r\nexport enum BbidFailedReason {\r\n LINK_FAILED_UNKNOWN = 1,\r\n BBID_LINKED_TO_ANOTHER_ACCOUNT = 2,\r\n ACCOUNT_CREATE_FAILED = 3,\r\n BBID_LOGIN_FAILED = 4\r\n}\r\n","export interface FeatureFlagModel {\r\n id: number;\r\n name: string;\r\n description: string;\r\n enabled: boolean;\r\n}\r\n\r\nexport interface UpdateFeatureFLagPayload {\r\n id: number;\r\n enabled: boolean;\r\n}\r\n\r\nexport enum FeatureFlagType {\r\n Programs = 'Programs',\r\n BlackbaudId = 'BlackbaudId',\r\n LiveChat = 'LiveChat',\r\n PopulationServed = 'PopulationServed',\r\n SystemQuestions = 'SystemQuestions'\r\n}\r\n","import { Observable } from \"rxjs\";\r\n\r\nexport namespace PersonaTypings {\r\n export enum PersonaQuestionAndAnswerTypes {\r\n User,\r\n Nonprofit,\r\n StagedNonprofit\r\n }\r\n\r\n // Used for Persona Service\r\n export interface PersonaQuestionAndAnswerTypeWithDetails {\r\n personaQuestionAndAnswerType: PersonaQuestionAndAnswerTypes;\r\n\r\n nonprofitId?: number;\r\n\r\n stagedNonprofitId?: number;\r\n\r\n userId?: number;\r\n nonprofitAdminRequestId?: number;\r\n beingReviewed: boolean;\r\n }\r\n\r\n /**\r\n * Used by PersonaService to know which type of scenario to build data for.\r\n * If no NonprofitId, StagedNonprofitId nor NAR properties, then scenario is User level based.\r\n */\r\n export interface PersonaServiceDetails {\r\n // Used with below NAR properties for a nonprofit on a NAR\r\n // OR\r\n // Used standalone for MyNonprofits area\r\n nonprofitId?: number;\r\n\r\n // Used with below NAR properties for a staged nonprofit on a NAR\r\n stagedNonprofitId?: number;\r\n\r\n // Nonprofti Admin Requests (NAR)\r\n userId?: number; // user id associated with NAR\r\n nonprofitAdminRequestId?: number; // NAR id\r\n beingReviewed: boolean; // if NAR is being reviewed\r\n\r\n // Used when a user enters the site/claims org on creation\r\n // Can be set with Nonprofit Id is user administers 1 nonprofit\r\n unansweredQuestionsOnly: boolean;\r\n }\r\n\r\n // Used for Persona Service\r\n export interface UpdatePersonaQuestionsAndAnswersDataInfo {\r\n systemQuestionId: number;\r\n systemAnswerInfos: { [key: number]: number };\r\n customResponse?: string;\r\n userSystemAnswerIdForCustomResponse?: number;\r\n systemAnswerIdForCustomResponse?: number;\r\n defaultIfNoAnswer: boolean;\r\n };\r\n\r\n // Used for Persona Service\r\n export interface HandlePersonaQuestionAndAnswersData {\r\n personaQuestionAndAnswerType: PersonaTypings.PersonaQuestionAndAnswerTypes;\r\n personaServiceDetails: PersonaTypings.PersonaServiceDetails;\r\n personaQuestionsAndAnswers: Observable;\r\n personaUserAnswersOne: Observable;\r\n personaUserAnswersTwo?: Observable;\r\n };\r\n\r\n // Used for Persona Service\r\n export interface RemovePersonaUserAnswerForMultiResponseQuestion {\r\n existingAnswers: {\r\n systemAnswerId: number;\r\n userSystemAnswerId: number;\r\n userSystemAnswerCustomResponse: string;\r\n }[];\r\n incomingAnswerIds: number[];\r\n personaQuestionsAndAnswers: PersonaTypings.PersonaQuestionAndAnswers;\r\n allowEmptySelection: boolean;\r\n personaQuestionAndAnswerTypeWithDetails: PersonaTypings.PersonaQuestionAndAnswerTypeWithDetails;\r\n }\r\n\r\n // User Has Unanswered Questions\r\n export interface GetDoesUserHaveUnansweredQuestionsQueryDto {\r\n userHasUnansweredQuestions: boolean;\r\n }\r\n //\r\n\r\n // Questions and Answers\r\n export interface GetPersonaQuestionsAndAnswersQueryDto {\r\n personaQuestionsAndAnswers: PersonaQuestionAndAnswers[];\r\n }\r\n\r\n export interface PersonaQuestionAndAnswers {\r\n systemQuestionId: number;\r\n userSystemAnswerIds: number[];\r\n requiresAnswer: boolean;\r\n allowsMultipleResponses: boolean;\r\n translationTextKey: string;\r\n translationText: string;\r\n descriptionTranslationTextKey: string;\r\n descriptionTranslationText: string;\r\n systemAnswers: PersonaQuestionAnswers[];\r\n }\r\n\r\n export interface PersonaQuestionAnswers {\r\n systemAnswerId: number;\r\n isCustomResponse: boolean;\r\n translationTextKey: string;\r\n translationText: string;\r\n }\r\n //\r\n\r\n // User Unanswered Questoins\r\n export interface GetUsersUnansweredQuestionsQueryDto {\r\n usersUnansweredQuestions: number[];\r\n }\r\n //\r\n\r\n // User Answers\r\n export interface GetPersonaUserAnswersQueryDto {\r\n personaUserAnswers: PersonaUserAnswers[];\r\n }\r\n\r\n export interface PersonaUserAnswers {\r\n systemQuestionId: number;\r\n systemAnswers: PersonaUserAnswerSystemQuestionAnswers[];\r\n }\r\n\r\n export interface PersonaUserAnswerSystemQuestionAnswers {\r\n systemAnswerId: number;\r\n userSystemAnswerId: number;\r\n userSystemAnswerCustomResponse: string;\r\n }\r\n //\r\n\r\n // User Nonprofit Answers\r\n export interface GetPersonaUserNonprofitAnswersQueryDto {\r\n personaUserNonprofitAnswers: PersonaUserNonprofitAnswers[];\r\n }\r\n\r\n export interface PersonaUserNonprofitAnswers {\r\n systemQuestionId: number;\r\n systemAnswers: PersonaUserNonprofitAnswerSystemQuestionAnswers[];\r\n }\r\n\r\n export interface PersonaUserNonprofitAnswerSystemQuestionAnswers {\r\n systemAnswerId: number;\r\n userSystemAnswerId: number;\r\n userSystemAnswerCustomResponse: string;\r\n }\r\n //\r\n\r\n // User Staged Nonprofit Answers\r\n export interface GetPersonaUserStagedNonprofitAnswersQueryDto {\r\n personaUserStagedNonprofitAnswers: PersonaUserStagedNonprofitAnswers[];\r\n }\r\n\r\n export interface PersonaUserStagedNonprofitAnswers {\r\n systemQuestionId: number;\r\n systemAnswers: PersonaUserStagedNonprofitAnswerSystemQuestionAnswers[];\r\n }\r\n\r\n export interface PersonaUserStagedNonprofitAnswerSystemQuestionAnswers {\r\n systemAnswerId: number;\r\n userSystemAnswerId: number;\r\n userSystemAnswerCustomResponse: string;\r\n }\r\n //\r\n\r\n // User Nonprofit Answers for Review\r\n export interface GetPersonaUserNonprofitAnswersForReviewQueryDto {\r\n personaUserNonprofitAnswersForReview: PersonaUserNonprofitAnswersForReview[];\r\n }\r\n\r\n export interface PersonaUserNonprofitAnswersForReview {\r\n systemQuestionId: number;\r\n systemAnswers: PersonaUserNonprofitAnswerForReviewSystemQuestionAnswers[];\r\n }\r\n\r\n export interface PersonaUserNonprofitAnswerForReviewSystemQuestionAnswers {\r\n systemAnswerId: number;\r\n userSystemAnswerId: number;\r\n userSystemAnswerCustomResponse: string;\r\n }\r\n //\r\n\r\n // User Staged Nonprofit Answers for Review\r\n export interface GetPersonaUserStagedNonprofitAnswersForReviewQueryDto {\r\n personaUserStagedNonprofitAnswersForReview: PersonaUserStagedNonprofitAnswersForReview[];\r\n }\r\n\r\n export interface PersonaUserStagedNonprofitAnswersForReview {\r\n systemQuestionId: number;\r\n systemAnswers: PersonaUserStagedNonprofitAnswerForReviewSystemQuestionAnswers[];\r\n }\r\n\r\n export interface PersonaUserStagedNonprofitAnswerForReviewSystemQuestionAnswers {\r\n systemAnswerId: number;\r\n userSystemAnswerId: number;\r\n userSystemAnswerCustomResponse: string;\r\n }\r\n //\r\n\r\n // POST Persona Answers\r\n export interface NewPersonaAnswer {\r\n personaUserAnswerId?: number;\r\n personaUserNonprofitAnswerId?: number;\r\n personaUserStagedNonprofitAnswerId?: number;\r\n }\r\n\r\n}\r\n","\r\nexport const Behaviors = {\r\n userKey: '_npp_user',\r\n userTokenKey: '_npp_userToken',\r\n clientIdentifierKey: '_npp_clientIdentifier'\r\n};\r\n\r\nexport interface TokenPayload {\r\n email: string;\r\n password: string;\r\n clientIdentifier: string;\r\n}\r\n\r\nexport interface SSOToken {\r\n id_token: string;\r\n access_token: string;\r\n scope: string;\r\n session_state: string;\r\n state: string;\r\n code?: string;\r\n\r\n swapped_token: string;\r\n\r\n [x: string]: string;\r\n}\r\n\r\nexport interface TokenResponse {\r\n token: string;\r\n expiration: string;\r\n refreshToken: string;\r\n refreshTokenExpiration: string;\r\n bbidToken?: boolean;\r\n}\r\n\r\nexport interface TokenContent {\r\n UserId: string;\r\n client_id: string;\r\n aud: string;\r\n email: string;\r\n exp: number;\r\n family_name: string;\r\n given_name: string;\r\n iss: string;\r\n jti: string;\r\n sub: string;\r\n typ: string;\r\n}\r\n\r\nexport interface SSOTokenResponse extends TokenResponse {\r\n subdomain: string;\r\n}\r\n\r\n","export interface GiactCodeObjUI {\r\n id: number;\r\n value: string;\r\n description: string;\r\n}\r\n\r\nexport enum GIACT_CODE_TYPE {\r\n VERIFICATION,\r\n ACCOUNT,\r\n CUSTOMER\r\n}\r\n\r\nexport enum ACCEPT_REENTER_CODE {\r\n INVALID_ROUTING = 1,\r\n INVALID_ACCOUNT = 2\r\n}\r\n\r\nexport const VERIFICATION_RESPONSE_MAP: GiactCodeObjUI[] = [\r\n {\r\n id: 0,\r\n value: 'Error',\r\n description: 'There was an error with the inquiry. Check the ErrorMessage property for details.'\r\n }, {\r\n id: 1,\r\n value: 'PrivateBadChecksList',\r\n description: 'The bank account in the inquiry was found on the API user\\'s private bad check list.'\r\n }, {\r\n id: 2,\r\n value: 'Declined',\r\n description: 'The suggested action is to decline the bank account and/or customer data for this inquiry.'\r\n }, {\r\n id: 3,\r\n value: 'RejectItem',\r\n description: 'The suggested action is to not accept an item with the check number on this inquiry.'\r\n }, {\r\n id: 4,\r\n value: 'AcceptWithRisk',\r\n description: 'The suggested action is to further investigate or accept the bank account and/or customer data for this inquiry with known risk.'\r\n }, {\r\n id: 5,\r\n value: 'RiskAlert',\r\n description: 'The suggested action is to further investigate the bank account and/or customer data for this inquiry due to a risk alert .'\r\n }, {\r\n id: 6,\r\n value: 'Pass',\r\n description: 'The suggested action is to accept the bank account and/or customer data for this inquiry.'\r\n }, {\r\n id: 7,\r\n value: 'PassNdd',\r\n description: 'The bank account in the inquiry is a Non-Demand Deposit account.'\r\n }, {\r\n id: 8,\r\n value: 'NegativeData',\r\n description: 'There was negative data found associated with the account.'\r\n }, {\r\n id: 9,\r\n value: 'NoData',\r\n description: 'No data was found for the bank account and/or customer data.'\r\n }\r\n];\r\n\r\nexport const ACCOUNT_RESPONSE_CODE_MAP: GiactCodeObjUI[] = [\r\n {\r\n id: 0,\r\n value: null,\r\n description: 'There is no AccountResponseCode value for this result.'\r\n }, {\r\n id: 1,\r\n value: 'GS01',\r\n description: 'Invalid Routing Number. Please re-enter your Routing Number again.'\r\n }, {\r\n id: 2,\r\n value: 'GS02',\r\n description: 'Invalid Account Number. Please re-enter your Account Number again.'\r\n }, {\r\n id: 5,\r\n value: 'GP01',\r\n description: 'The account was found as active in your Private Bad Checks List.'\r\n }, {\r\n id: 6,\r\n value: 'RT00',\r\n description: 'The routing number belongs to a reporting bank; however, no positive nor negative information has been reported on the account number.'\r\n }, {\r\n id: 7,\r\n value: 'RT01',\r\n description: 'This account should be declined based on the risk factor being reported.'\r\n }, {\r\n id: 8,\r\n value: 'RT02',\r\n description: 'This item should be rejected based on the risk factor being reported.'\r\n }, {\r\n id: 9,\r\n value: 'RT03',\r\n description: 'Current negative data exists on this account. Accept transaction with risk. (Example: Checking or savings accounts in NSF status, recent returns, or outstanding items)'\r\n }, {\r\n id: 10,\r\n value: 'RT04',\r\n description: 'Non-Demand Deposit Account (post no debits), Credit Card Check, Line of Credit, Home Equity, or a Brokerage check.'\r\n }, {\r\n id: 11,\r\n value: 'RT05',\r\n description: 'N/A'\r\n }, {\r\n id: 12,\r\n value: '_1111',\r\n description: 'Account Verified – The account was found to be an open and valid checking account.'\r\n }, {\r\n id: 13,\r\n value: '_2222',\r\n description: 'AMEX – The account was found to be an American Express Travelers Cheque account.'\r\n }, {\r\n id: 14,\r\n value: '_3333',\r\n description: 'Non-Participant Provider – This account was reported with acceptable, positive data found in current or recent transactions.'\r\n }, {\r\n id: 15,\r\n value: '_5555',\r\n description: 'Savings Account Verified – The account was found to be an open and valid savings account.'\r\n }, {\r\n id: 19,\r\n value: 'GN01',\r\n description: 'Negative information was found in this account\\'s history.'\r\n }, {\r\n id: 20,\r\n value: 'GN05',\r\n description: 'The routing number is reported as not currently assigned to a financial institution.'\r\n }, {\r\n id: 21,\r\n value: 'ND00',\r\n description: 'No positive or negative information has been reported on the account.'\r\n }, {\r\n id: 22,\r\n value: 'ND01',\r\n description: 'This routing number can only be valid for US Government financial institutions.'\r\n }\r\n];\r\n\r\nexport const CUSTOMER_RESPONSE_CODE_MAP: GiactCodeObjUI[] = [\r\n {\r\n id: 0,\r\n value: null,\r\n description: 'There is no CustomerResponseCode value for this result.'\r\n }, {\r\n id: 1,\r\n value: 'CA01',\r\n description: 'Information submitted failed gAuthenticate.'\r\n }, {\r\n id: 2,\r\n value: 'CA11',\r\n description: 'Customer authentication passed gAuthenticate.'\r\n }, {\r\n id: 3,\r\n value: 'CA21',\r\n description: 'The customer or business name data did not match gAuthenticate data.'\r\n }, {\r\n id: 4,\r\n value: 'CA22',\r\n description: 'The customer\\'s TaxId (SSN/ITIN) data did not match gAuthenticate data.'\r\n }, {\r\n id: 8,\r\n value: 'CA30',\r\n description: 'Multiple secondary data points did not match gAuthenticate data.'\r\n }, {\r\n id: 18,\r\n value: 'ND02',\r\n description: 'No data was found matching the customer information provided.'\r\n }\r\n];\r\n\r\n\r\n","import { NonprofitAsset } from '@core/models/nonprofit-asset.model';\r\nimport { EligibilityStatus, VettingApplicationStatus } from '@core/models/status.model';\r\nimport { User } from '@core/models/user.model';\r\nimport { TableAsset } from '@yourcause/common';\r\nimport { VettingRequestAPI } from './api/vetting-request.typing';\r\nimport { AccordionStepperStep } from '@yourcause/common/accordion';\r\n\r\nexport interface ActiveVettingInformation {\r\n vettingId: number;\r\n vettingAuthority: string;\r\n vettingTypeId: number;\r\n vettingComment: string;\r\n vettingCreateDate: string;\r\n vettingExpirationDate: string;\r\n}\r\n\r\nexport interface NonprofitVettingApplicationDetailsModel {\r\n applicationId: number;\r\n vettingOrganizationTypeId: OrganizationTypeForVetting;\r\n gcVettingApplicationId: number;\r\n submittedOn: string;\r\n submittedByUser: User;\r\n vettingApplicationStatusId: number;\r\n notes: string;\r\n modifiedByUser: User;\r\n lastModifiedDate: string;\r\n createDate: string;\r\n createdByUser?: User;\r\n nonprofitVettingApplicationStatusComment: string;\r\n nonprofitVettingApplicationStatusChangeDate: string;\r\n assets: NonprofitAsset[];\r\n reevaluationDate?: string;\r\n}\r\n\r\nexport interface VettingInformation {\r\n activeVettingInformation: ActiveVettingInformation;\r\n eligibleForGiving: EligibilityStatus;\r\n isGlobalGivingAtlasVetted: boolean;\r\n isImplicitlyVetted: boolean;\r\n isIrsVetted: boolean;\r\n nonprofitId: number;\r\n optedOutOfVetting: boolean;\r\n vettingApplicationInformation: NonprofitVettingApplicationDetailsModel;\r\n vettingRequestInformation: VettingRequestAPI.NonprofitVettingRequestDetail[];\r\n nonprofitVettingApplicationRenewalCreationActive: boolean;\r\n enableVettingAppTile: boolean;\r\n vettingAppTileDescription: string;\r\n}\r\n\r\nexport interface CreateOrUpdateNonprofitVettingApplicationRequestModel {\r\n vettingApplicationId?: number;\r\n gcVettingApplicationId?: number;\r\n nonprofitId?: number;\r\n vettingApplicationStatusId?: VettingApplicationStatus;\r\n notes?: string;\r\n statusComment?: string;\r\n isSubmission?: boolean;\r\n rejectionReasonId?: number;\r\n reevaluationDate?: string;\r\n vettingOrganizationTypeId: OrganizationTypeForVetting;\r\n}\r\n\r\nexport interface VettingApplicationDataWithAssets extends CreateOrUpdateNonprofitVettingApplicationRequestModel {\r\n existingAssets?: NonprofitAsset[];\r\n assetsToAdd?: TableAsset[];\r\n createdByUser?: User;\r\n createdByName?: string;\r\n createDate?: string;\r\n submittedBy?: User;\r\n submittedByName?: string;\r\n submittedOn?: string;\r\n nonprofitVettingApplicationStatusChangeDate?: string;\r\n vettingExpirationDate?: string;\r\n optedOutOfVetting?: boolean;\r\n nonprofitVettingApplicationStatusComment?: string;\r\n}\r\n\r\nexport interface VettingApplicationStepperStep extends AccordionStepperStep {\r\n openStepOnInit?: boolean;\r\n}\r\n\r\nexport interface DocumentUploadModalResponse {\r\n applicationId: number;\r\n isSubmission: boolean;\r\n}\r\n\r\nexport interface OptOutModalResponse {\r\n proceedToGC?: boolean;\r\n optInOut?: boolean;\r\n}\r\n\r\nexport enum OrganizationTypeForVetting {\r\n STANDARD = 1,\r\n EXEMPT = 2,\r\n SUPPORTING = 3,\r\n UNKNOWN = 4,\r\n STAND_ALONE_CHURCH = 5,\r\n GOVERNMENT_ENTITY = 6\r\n}\r\n\r\nexport enum OrganizationTypeForVettingText {\r\n STANDARD = 'Standard',\r\n EXEMPT = 'Group Exemption',\r\n SUPPORTING = 'Supporting',\r\n UNKNOWN = 'Unknown',\r\n STAND_ALONE_CHURCH = 'Stand Alone Church',\r\n GOVERNMENT_ENTITY = 'Government Entity'\r\n}\r\n\r\nexport const OrganizationTypeMap = {\r\n 1: OrganizationTypeForVettingText.STANDARD,\r\n 2: OrganizationTypeForVettingText.EXEMPT,\r\n 3: OrganizationTypeForVettingText.SUPPORTING,\r\n 4: OrganizationTypeForVettingText.UNKNOWN,\r\n 5: OrganizationTypeForVettingText.STAND_ALONE_CHURCH,\r\n 6: OrganizationTypeForVettingText.GOVERNMENT_ENTITY\r\n};\r\n\r\nexport enum VettingTypeId {\r\n ED = 1,\r\n Standard = 3,\r\n DomesticVetting = 4,\r\n Partner = 5\r\n}\r\n\r\nexport enum VettingTypeName {\r\n DOMESTIC = 'Domestic Vetting',\r\n STANDARD = 'Standard',\r\n ED = 'ED',\r\n PARTNER = 'Partner'\r\n}\r\n\r\nexport enum VettingOptInOutModalScenario {\r\n OPT_OUT,\r\n OPT_IN\r\n}\r\n","import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from '@core/services/auth.service';\r\nimport { SpinnerService } from '@core/services/spinner.service';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\n\r\n/**\r\n * Main App Component.\r\n */\r\n@Component({\r\n selector: 'yc-root',\r\n styleUrls: ['./app.component.scss'],\r\n template: `\r\n \r\n \r\n \r\n `\r\n})\r\nexport class AppComponent implements OnInit {\r\n blocking$ = this.spinnerService.changesTo$('loading');\r\n loadingMessage$ = this.spinnerService.changesTo$('loadingMessage');\r\n langsResolved = false;\r\n\r\n constructor (\r\n private spinnerService: SpinnerService,\r\n private i18n: I18nService,\r\n private router: Router,\r\n private authService: AuthService,\r\n private cdr: ChangeDetectorRef\r\n ) {}\r\n\r\n async ngOnInit () {\r\n if (location.pathname === '/') {\r\n this.router.navigateByUrl(await this.authService.getDefaultRoute());\r\n }\r\n this.spinnerService.startSpinner();\r\n this.i18n.namespaceReady()\r\n .then(() => {\r\n this.spinnerService.stopSpinner();\r\n this.langsResolved = true;\r\n });\r\n this.spinnerService.changesTo$('loading')\r\n .subscribe(() => {\r\n this.cdr.markForCheck();\r\n });\r\n }\r\n}\r\n","import { Routes } from '@angular/router';\r\nimport { AuthWrapperComponent } from '@core/components/auth-wrapper/auth-wrapper.component';\r\nimport { UnAuthWrapperComponent } from '@core/components/unauth-wrapper/unauth-wrapper.component';\r\nimport { AuthGuard } from '@core/guards/auth.guard';\r\nimport { ReleaseNotesGuard } from '@core/guards/release-notes.guard';\r\nimport { PersonaGuard } from '@core/guards/persona.guard';\r\nimport { RouteToSearchGuard } from '@core/guards/route-to-search.guard';\r\nimport { matchRequestResolver } from '@core/resolvers/matchRequest.resolver';\r\nimport { termsOfServiceLinksResolver } from '@core/resolvers/terms-of-service-links.resolver';\r\nimport { customAlertsResolver } from './custom-alerts/custom-alerts.resolver';\r\nimport { featuredPartnerCollateralResolver } from './home/resolvers/featured-partner-collateral.resolver';\r\nimport { myNonprofitsResolver } from './my-nonprofits/my-nonprofits.resolver';\r\nimport { featureFlagResolver } from './platform-admin/resolvers/feature-flag.resolver';\r\nimport { allReasonsResolver } from './reasons/all-reasons.resolver';\r\nimport { allStatusesResolver } from './statuses/all-statuses.resolver';\r\nimport { SystemHealthDashboardPageComponent } from './system-health-dashboard/system-health-dashboard-page/system-health-dashboard-page.component';\r\nimport { programTypesResolver } from './programs/program-types.resolver';\r\nimport { prospectiveAdminOutreachReasonsResolver } from './prospective-admins/resolvers/prospective-admin-optout-reasons.resolver';\r\nimport { tourResolver } from '@core/resolvers/tour.resolver';\r\nimport { localeResolver } from '@core/resolvers/locale.resolver';\r\nimport { countriesResolver } from './location/countries.resolver';\r\nimport { activeNpoResolver } from '@core/resolvers/active-npo.resolver';\r\nimport { notificationsResolver } from './home/resolvers/notifications.resolver';\r\nimport { accountDetailsResolver } from '@core/resolvers/account-details.resolver';\r\nimport { pendingDisbursementsResolver } from '@core/resolvers/pending-disbursements.resolver';\r\nimport { unsetActiveNpoResolver } from '@core/resolvers/unset-active-npo.resolver';\r\nimport { myWorkspaceFinanceResolver } from './home/resolvers/my-workspace-finance.resolver';\r\nimport { communicationPreferencesResolver } from './my-account/resolvers/communication-preferences.resolver';\r\nimport { registrationAuthoritiesForNonprofitAddResolver } from './registration-authorities/registration-authorities-for-nonprofit-add.resolver';\r\nimport { SupportRequestStatusesResolver } from '@core/resolvers/support-request-statuses.resolver';\r\n\r\n/**\r\n * App Routes\r\n */\r\nexport const routes: Routes = [{\r\n path: 'login',\r\n component: UnAuthWrapperComponent,\r\n loadChildren: () => import('./login/login.module').then(m => m.LoginModule),\r\n data: {\r\n namespace: 'login'\r\n },\r\n resolve: {\r\n locale: localeResolver\r\n }\r\n}, {\r\n path: 'grantterms',\r\n loadChildren: () => import('./grant-terms/grant-terms.module').then(m => m.GrantTermsModule),\r\n data: {\r\n namespace: 'grantterms'\r\n },\r\n resolve: {\r\n locale: localeResolver\r\n }\r\n}, {\r\n path: 'decline-invite',\r\n loadChildren: () => import('./nonprofit-invites/nonprofit-invite.module').then(m => m.NonprofitInviteModule),\r\n data: { namespace: 'nonprofitInvite' }\r\n}, {\r\n path: 'accept-invite',\r\n loadChildren: () => import('./nonprofit-invites/nonprofit-invite.module').then(m => m.NonprofitInviteModule),\r\n data: { namespace: 'nonprofitInvite' }\r\n}, {\r\n path: 'support-request',\r\n loadChildren: () => import('./support-request/support-request.module').then(m => m.SupportRequestModule),\r\n data: {\r\n namespace: 'supportRequest'\r\n },\r\n resolve: {\r\n locale: localeResolver\r\n }\r\n}, {\r\n path: 'nonprofits',\r\n loadChildren: () => import('./nonprofits-research/nonprofits-research.module').then(m => m.NonprofitsResearchModule),\r\n data: {\r\n namespace: 'nonprofits'\r\n },\r\n resolve: {\r\n locale: localeResolver\r\n }\r\n}, {\r\n path: 'outreach',\r\n loadChildren: () => import('./admin-outreach-optout-page/admin-outreach-optout-page.module').then(m => m.AdminOutreachOptoutPageModule),\r\n data: {\r\n namespace: 'outreach'\r\n },\r\n resolve: {\r\n locale: localeResolver,\r\n outreachReasons: prospectiveAdminOutreachReasonsResolver\r\n }\r\n}, {\r\n path: 'contact-outreach',\r\n loadChildren: () => import('./contact-outreach-optout-page/contact-outreach-optout-page.module').then(m => m.ContactOutreachOptoutPageModule),\r\n data: {\r\n namespace: 'contact-outreach'\r\n },\r\n resolve: {\r\n locale: localeResolver\r\n }\r\n}, {\r\n path: 'admin',\r\n loadChildren: () => import('./blackbaud-sso/blackbaud-sso.module')\r\n .then(m => m.BlackbaudSsoModule)\r\n}, {\r\n path: '',\r\n component: AuthWrapperComponent,\r\n resolve: {\r\n activeNpo: activeNpoResolver,\r\n accountDetails: accountDetailsResolver,\r\n featureFlags: featureFlagResolver,\r\n countries: countriesResolver,\r\n tours: tourResolver,\r\n termsOfServiceLinksResolver\r\n },\r\n canActivate: [\r\n AuthGuard\r\n ],\r\n canActivateChild: [\r\n ReleaseNotesGuard,\r\n PersonaGuard\r\n ],\r\n children: [{\r\n path: 'home',\r\n loadChildren: () => import('./home/home.module').then(m => m.HomeModule)\r\n }, {\r\n path: 'giving',\r\n loadChildren: () => import('./give/give.module').then(m => m.GiveModule),\r\n data: {\r\n breadcrumbLabel: 'Giving',\r\n namespace: 'give'\r\n },\r\n resolve: {\r\n locale: localeResolver,\r\n customAlerts: customAlertsResolver\r\n }\r\n }, {\r\n path: 'volunteering',\r\n loadChildren: () => import('./volunteer/volunteer.module').then(m => m.VolunteerModule),\r\n data: {\r\n breadcrumbLabel: 'Volunteer',\r\n namespace: 'volunteer'\r\n },\r\n resolve: {\r\n locale: localeResolver\r\n }\r\n },\r\n {\r\n path: 'nonprofit-profile',\r\n loadChildren: () => import('./nonprofit-profile/nonprofit-profile.module').then(m => m.NonprofitProfileModule),\r\n resolve: {\r\n locale: localeResolver\r\n }\r\n },\r\n {\r\n path: 'programs',\r\n loadChildren: () => import('./programs/programs.module').then(m => m.ProgramsModule),\r\n resolve: {\r\n locale: localeResolver,\r\n programTypes: programTypesResolver,\r\n allStatusesLookup: allStatusesResolver\r\n }\r\n },\r\n {\r\n path: 'stories',\r\n loadChildren: () => import('./nonprofit-stories/nonprofit-stories.module').then(m => m.NonprofitStoriesModule),\r\n data: {\r\n breadcrumbLabel: 'Stories',\r\n namespace: 'stories'\r\n },\r\n resolve: {\r\n locale: localeResolver,\r\n allStatusesLookup: allStatusesResolver\r\n }\r\n },\r\n {\r\n path: 'chapters',\r\n loadChildren: () => import('./chapters/chapters.module').then(m => m.ChaptersModule),\r\n data: {\r\n breadcrumbLabel: 'Chapters',\r\n namespace: 'nonprofits'\r\n },\r\n resolve: {\r\n locale: localeResolver\r\n }\r\n }, {\r\n path: 'my-workspace',\r\n loadChildren: () => import('./home/home.module').then(m => m.HomeModule),\r\n resolve: {\r\n pendingDisbursements: pendingDisbursementsResolver,\r\n matchRequests: matchRequestResolver,\r\n financeStats: myWorkspaceFinanceResolver,\r\n customAlerts: customAlertsResolver,\r\n nonprofitNotifications: notificationsResolver,\r\n featuredPartnerCollateral: featuredPartnerCollateralResolver\r\n }\r\n }, {\r\n path: 'implementation',\r\n loadChildren: () => import('./implementation/implementation.module').then(m => m.ImplementationModule),\r\n resolve: {\r\n locale: localeResolver\r\n },\r\n data: {\r\n namespace: [\r\n 'admin'\r\n ]\r\n }\r\n }, {\r\n path: 'account-setup',\r\n loadChildren: () => import('./nonprofit-account-setup/nonprofit-account-setup.module').then(m => m.NonprofitAccountSetupModule),\r\n canActivate: [RouteToSearchGuard],\r\n resolve: {\r\n locale: localeResolver,\r\n customAlerts: customAlertsResolver\r\n },\r\n data: {\r\n breadcrumbLabel: 'Administration',\r\n namespace: [\r\n 'nonprofits',\r\n 'accountSetup',\r\n 'claim',\r\n 'compliance',\r\n 'sdgs',\r\n 'contact',\r\n 'bankInfo'\r\n ]\r\n }\r\n }, {\r\n path: 'my-nonprofits',\r\n loadChildren: () => import('./my-nonprofits/my-nonprofits.module').then(m => m.MyNonprofitsModule),\r\n data: {\r\n breadcrumbLabel: 'My Nonprofits',\r\n namespace: ['claim', 'nonprofits']\r\n },\r\n resolve: {\r\n locale: localeResolver,\r\n myNonprofits: myNonprofitsResolver,\r\n allReasonsLookup: allReasonsResolver,\r\n allStatusesLookup: allStatusesResolver\r\n }\r\n }, {\r\n path: 'user-management',\r\n loadChildren: () => import('./user-management/user-management.module').then(m => m.UserManagementModule),\r\n data: {\r\n breadcrumbLabel: 'User Management'\r\n },\r\n resolve: {\r\n locale: localeResolver,\r\n allReasonsLookup: allReasonsResolver,\r\n allStatusesLookup: allStatusesResolver\r\n }\r\n }, {\r\n path: 'my-account',\r\n loadChildren: () => import('./my-account/my-account.module').then(m => m.MyAccountModule),\r\n data: {\r\n namespace: ['login', 'account']\r\n },\r\n resolve: {\r\n locale: localeResolver,\r\n unsubscribeEmailClassIds: communicationPreferencesResolver\r\n }\r\n }, {\r\n path: 'notes',\r\n loadChildren: () => import('./notes/notes.module').then(m => m.NotesModule)\r\n }, {\r\n path: 'address-requests',\r\n loadChildren: () => import('./address-requests/address-requests.module').then(m => m.AddressRequestsModule)\r\n }, {\r\n path: 'support',\r\n loadChildren: () => import('./support/support.module').then(m => m.SupportModule),\r\n data: {\r\n breadcrumbLabel: 'Support'\r\n }\r\n }, {\r\n path: 'search',\r\n loadChildren: () => import('./search/search.module').then(m => m.SearchModule),\r\n data: {\r\n breadcrumbLabel: 'Search'\r\n }\r\n }, {\r\n path: 'dashboard',\r\n loadChildren: () => import('./dashboard/dashboard.module').then(m => m.DashboardModule),\r\n data: {\r\n breadcrumbLabel: 'Dashboard',\r\n namespace: ['dashboard']\r\n },\r\n resolve: {\r\n localeResolver: localeResolver\r\n }\r\n }, {\r\n path: 'yourcause-admin',\r\n loadChildren: () => import('./yourcause-admin/yourcause-admin.module').then(m => m.YourcauseAdminModule),\r\n data: {\r\n namespace: ['nonprofits', 'claim', 'compliance', 'ofac']\r\n },\r\n resolve: {\r\n unsetActiveNpo: unsetActiveNpoResolver,\r\n localeResolver: localeResolver\r\n }\r\n }, {\r\n path: 'help-support',\r\n loadChildren: () => import('./help-support/help-support.module').then(m => m.HelpSupportModule),\r\n resolve: {\r\n customAlerts: customAlertsResolver\r\n },\r\n data: {\r\n breadcrumbLabel: 'Help and support',\r\n namespace: 'help-support'\r\n }\r\n }, {\r\n path: 'platform-admin',\r\n loadChildren: () => import('./platform-admin/platform-admin.module').then(m => m.PlatformAdminModule),\r\n data: {\r\n breadcrumbLabel: 'Platform Admin',\r\n namespace: 'platform-admin'\r\n }\r\n }, {\r\n path: 'nonprofit-management',\r\n loadChildren: () => import('./nonprofit-management/nonprofit-management.module').then(m => m.NonprofitManagementModule),\r\n data: {\r\n breadcrumbLabel: 'Nonprofit Management',\r\n namespace: 'nonprofit-management'\r\n },\r\n resolve: {\r\n allReasonsLookup: allReasonsResolver,\r\n allStatusesLookup: allStatusesResolver,\r\n registrationAuthoritiesForNonprofitAdd: registrationAuthoritiesForNonprofitAddResolver\r\n }\r\n }, {\r\n path: 'reporting',\r\n loadChildren: () => import('./reporting/reporting.module').then(m => m.ReportingModule),\r\n data: {\r\n breadcrumbLabel: 'Reporting',\r\n namespace: 'reporting'\r\n },\r\n resolve: {\r\n allReasonsLookup: allReasonsResolver,\r\n allStatusesLookup: allStatusesResolver\r\n }\r\n }, {\r\n path: 'compliance-admin',\r\n loadChildren: () => import('./compliance-admin/compliance-admin.module').then(m => m.ComplianceAdminModule),\r\n data: {\r\n breadcrumbLabel: 'Compliance'\r\n },\r\n resolve: {\r\n allReasonsLookup: allReasonsResolver\r\n }\r\n }, {\r\n path: 'system-health-dashboard',\r\n loadChildren: () => import('./system-health-dashboard/system-health-dashboard.module').then(m => m.SystemHealthDashboardModule),\r\n component: SystemHealthDashboardPageComponent,\r\n data: {\r\n breadcrumbLabel: 'System Health Dashboard'\r\n }\r\n }, {\r\n path: 'submitted-support-requests',\r\n loadChildren: () => import('./submitted-support-requests/submitted-support-requests.module').then(m => m.SubmittedSupportRequestsModule),\r\n data: {\r\n breadcrumbLabel: 'Support Requests'\r\n },\r\n resolve: {\r\n SupportRequestStatuses: SupportRequestStatusesResolver\r\n }\r\n }]\r\n}];\r\n","import { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { ApplicationRef, Injector, NgModule } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { RouterModule } from '@angular/router';\r\nimport { YCCoreModule } from '@core/_core.module';\r\nimport { environment } from '@environment';\r\nimport { YCCommonModule } from '@yourcause/common';\r\nimport { LoggingModule } from '@yourcause/common/logging';\r\nimport { NotifierModule } from '@yourcause/common/notifier';\r\nimport { AppInsightsService } from '@yourcause/common/utils';\r\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\r\nimport { Subscription } from 'rxjs';\r\nimport { AppComponent } from './app.component';\r\nimport { routes } from './app.routes';\r\nimport { HeapModule } from '@yourcause/common/heap';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent\r\n ],\r\n imports: [\r\n YCCoreModule,\r\n YCCommonModule,\r\n LoggingModule,\r\n NotifierModule,\r\n BrowserModule,\r\n HeapModule,\r\n RouterModule.forRoot(routes, {}),\r\n HttpClientModule,\r\n BrowserAnimationsModule,\r\n TooltipModule.forRoot()\r\n ],\r\n providers: [\r\n AppInsightsService\r\n ],\r\n exports: [\r\n HttpClientModule,\r\n ReactiveFormsModule,\r\n CommonModule,\r\n TooltipModule,\r\n YCCoreModule,\r\n YCCommonModule,\r\n AppComponent\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppSharedModule {\r\n static injector: Injector;\r\n subscription: Subscription;\r\n appState: any;\r\n\r\n constructor (\r\n public appRef: ApplicationRef,\r\n injector: Injector,\r\n appInsightsService: AppInsightsService\r\n ) {\r\n AppSharedModule.injector = injector;\r\n appInsightsService.config = {\r\n instrumentationKey: environment.insightsKey\r\n };\r\n appInsightsService.init();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { NonprofitAsset } from '@core/models/nonprofit-asset.model';\r\nimport { HttpRestService } from '@core/services/http-rest.service';\r\nimport { APIResponse, AssetType, AssetTypesGet, PaginatedAPIResponse } from '@yourcause/common';\r\n\r\n/**\r\n * Nonprofit asset management endpoints and resources.\r\n */\r\n@Injectable({ providedIn: 'root' })\r\nexport class AssetManagementResources {\r\n\r\n constructor (\r\n private httpRestService: HttpRestService\r\n ) { }\r\n\r\n /**\r\n * Get asset types by registration authority id.\r\n * @param registrationAuthorityId registration authority id\r\n * @returns\r\n */\r\n fetchAssetTypesByRegAuthId (registrationAuthorityId: number) {\r\n const endpoint = `/api/NonprofitAssets/GetAssetTypes?registrationAuthorityId=${registrationAuthorityId}`;\r\n\r\n return this.httpRestService.get>(endpoint);\r\n }\r\n\r\n /**\r\n * Get asset types for the given endpoint.\r\n * @param endpoint url of the endpoint\r\n * @returns\r\n */\r\n fetchAssetTypesWorkflow (endpoint: string) {\r\n return this.httpRestService.get>(endpoint);\r\n }\r\n\r\n /**\r\n * Get default asset types.\r\n * @param payload\r\n * @returns\r\n */\r\n async fetchDefaultAssetType (payload: AssetTypesGet) {\r\n const endpoint = `/api/NonprofitAssets/GetAssetTypes?registrationAuthorityId=${payload.registrationAuthorityId}&workflowId=1`;\r\n\r\n return this.httpRestService.get>(endpoint);\r\n }\r\n\r\n /**\r\n * Get nonprofit assets for the current administering nonprofit.\r\n * @returns\r\n */\r\n getNonprofitAssets () {\r\n return this.httpRestService.post>>(\r\n '/api/NonprofitAssets/GetAssets', {\r\n paginationOptions: {\r\n returnAll: true\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Remove an asset from a nonprofit.\r\n * @param assetId asset identifier to delete.\r\n * @returns\r\n */\r\n removeNonprofitAsset (assetId: string) {\r\n const endpoint = '/api/NonprofitAssets/RemoveAsset';\r\n const payload = {\r\n assetId\r\n };\r\n\r\n return this.httpRestService.post>(endpoint, payload);\r\n }\r\n\r\n /*\r\n UPLOAD\r\n For use with:\r\n api/NonprofitAssets/UploadAsset,\r\n api/NonprofitAssets/UploadAssetByNonprofitId,\r\n api/NonprofitAssets/UploadRemittanceRequestAsset,\r\n api/NonprofitVetting/UploadAsset,\r\n api/NonprofitStory/UploadImageFile\r\n api/PlatformTool/CharityCompare/create\r\n api/NonprofitAdminRequest/UploadAssetForReview\r\n api/NonprofitAdminRequest/UploadAsset\r\n URL and formData are determined in service\r\n */\r\n uploadAssetToUrl (\r\n url: string,\r\n formData: FormData\r\n ) {\r\n return this.httpRestService.post>(\r\n url,\r\n formData\r\n );\r\n }\r\n\r\n postFile (\r\n endpoint: string,\r\n file: File|Blob|string,\r\n paramName = 'file',\r\n fileName?: string\r\n ) {\r\n const name = !!fileName ? fileName : '';\r\n\r\n return this.httpRestService.postFile(\r\n endpoint,\r\n file,\r\n paramName,\r\n name\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { NonprofitAsset } from '@core/models/nonprofit-asset.model';\r\nimport { LogoPayload } from '@core/models/npo.model';\r\nimport { SpinnerService } from '@core/services/spinner.service';\r\nimport { CharityCompareAPI } from '@core/typings/api/charity-compare.typing';\r\nimport { APIResponse, AssetType, AssetTypes, AssetTypesGet, PaginationOptions, TableAsset } from '@yourcause/common';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { NotifierService } from '@yourcause/common/notifier';\r\nimport { AttachYCState, BaseYCService } from '@yourcause/common/state';\r\nimport { AssetManagementResources } from '../../asset-management/services/asset-management.resources';\r\nimport { AssetManagementState } from '../../asset-management/services/asset-management.state';\r\nimport { AssetResources } from '@core/services/assets/asset.resources';\r\nimport { FileService, FileTypeService, TableDataDownloadFormat, YcFile } from '@yourcause/common/files';\r\n\r\n/**\r\n * Service for managing nonprofit assets.\r\n */\r\n@AttachYCState(AssetManagementState)\r\n@Injectable({ providedIn: 'root' })\r\nexport class AssetManagementService extends BaseYCService{\r\n uploadVirusFoundError = this.i18n.translate(\r\n 'nonprofits:notificationErrorUploadingAssetVirusFound',\r\n {},\r\n 'There was an error uploading the asset file'\r\n );\r\n uploadVirusFoundErrorCode = 'Virus_Found';\r\n\r\n uploadVirusScanIncompleteError = this.i18n.translate(\r\n 'nonprofits:notificationErrorUploadingAssetScanIncomplete',\r\n {},\r\n 'There was an error uploading the asset file'\r\n );\r\n uploadVirusScanIncompleteErrorCode = 'Virus_Scan_Incomplete';\r\n\r\n uploadInvalidType = 'Invalid_File_Type';\r\n\r\n uploadInvalidSize = 'Invalid_File_Size';\r\n\r\n uploadRequestBodyTooLarge = 'Request_Body_Too_Large';\r\n\r\n uploadGenericError = this.i18n.translate(\r\n 'nonprofits:notificationErrorUploadingAsset',\r\n {},\r\n 'There was an error uploading the asset file'\r\n );\r\n\r\n constructor (\r\n private assetManagementResources: AssetManagementResources,\r\n private assetResources: AssetResources,\r\n private notifier: NotifierService,\r\n private i18n: I18nService,\r\n private fileService: FileService,\r\n private spinnerService: SpinnerService,\r\n private fileTypeService: FileTypeService\r\n ) {\r\n super();\r\n }\r\n\r\n get defaultAssetWorkflow () {\r\n return this.get('defaultAssetWorkflow');\r\n }\r\n\r\n get assets () {\r\n return this.get('assets');\r\n }\r\n\r\n get assetTypes () {\r\n return this.get('assetTypes');\r\n }\r\n\r\n get assetTypesWithWorkflow () {\r\n return this.get('assetTypesWithWorkflow');\r\n }\r\n\r\n setAssetTypes (types: AssetType[]) {\r\n this.set('assetTypes', types);\r\n }\r\n\r\n setassetTypesWithWorkflow (types: AssetType[]) {\r\n this.set('assetTypesWithWorkflow', types);\r\n }\r\n\r\n adaptAssetTypes (types: AssetType[]) {\r\n // moving 'Other' type to end of array\r\n let adaptedTypes: AssetType[];\r\n if (types?.length > 0) {\r\n const otherIndex = types.findIndex((type) => type.name === 'Other');\r\n if (otherIndex !== -1) {\r\n adaptedTypes = [\r\n ...types.slice(0, otherIndex),\r\n ...types.slice(otherIndex + 1),\r\n types[otherIndex]\r\n ];\r\n } else {\r\n adaptedTypes = types;\r\n }\r\n }\r\n\r\n return adaptedTypes;\r\n }\r\n\r\n downloadCsvOrExcel (\r\n options: PaginationOptions,\r\n format: TableDataDownloadFormat,\r\n fileName: string,\r\n endpoint: string,\r\n customOptions: any\r\n ) {\r\n if (options) {\r\n return this.fileService.downloadPostUrlAs(\r\n endpoint,\r\n fileName,\r\n {\r\n paginationOptions: options,\r\n exportReportType: format\r\n }\r\n );\r\n } else {\r\n return this.fileService.downloadPostUrlAs(\r\n endpoint,\r\n fileName,\r\n customOptions\r\n );\r\n }\r\n }\r\n\r\n convertToTableAssets (\r\n assets: NonprofitAsset[],\r\n claimId: number\r\n ) {\r\n const convertedAssets: TableAsset[] = assets?.map((asset) => {\r\n return {\r\n fileName: asset.fileName,\r\n file: null,\r\n fileId: asset.assetId,\r\n optional: false,\r\n claimId,\r\n assetTypeId: asset.assetTypeId,\r\n name: asset.assetTypeName,\r\n fileUrl: asset.fileUrl,\r\n uploadDate: asset.uploadDate\r\n };\r\n });\r\n\r\n return convertedAssets;\r\n }\r\n\r\n constructAssetTypeObj (response: APIResponse) {\r\n return response?.data?.map(ent => AssetType.construct(ent));\r\n }\r\n\r\n determineAssetTypesOrDefault (response: APIResponse) {\r\n let types: AssetType[];\r\n if (response?.data.length > 0) {\r\n const assetTypesFromAPI = response.data.map(ent => AssetType.construct(ent));\r\n types = this.adaptAssetTypes(assetTypesFromAPI);\r\n } else {\r\n const defaultType = this.defaultAssetWorkflow;\r\n types = [\r\n defaultType\r\n ];\r\n }\r\n\r\n return types;\r\n }\r\n\r\n // APIs\r\n async fetchAssetTypesByRegAuthId (registrationAuthorityId: number) {\r\n try {\r\n const response = await this.assetManagementResources.fetchAssetTypesByRegAuthId(registrationAuthorityId);\r\n const constructed = this.constructAssetTypeObj(response);\r\n const adapted = this.adaptAssetTypes(constructed);\r\n this.setAssetTypes(adapted);\r\n\r\n return adapted;\r\n } catch (e) {\r\n this.notifier.error(\r\n this.i18n.translate(\r\n 'common:textErrorFetchingAssetTypes',\r\n {},\r\n 'There was an error fetching asset types'\r\n )\r\n );\r\n\r\n throw e;\r\n }\r\n }\r\n\r\n async fetchAssetTypesWorkflow (\r\n payload: AssetTypesGet,\r\n skipToastr: boolean\r\n ) {\r\n let endpoint = `/api/NonprofitAssets/GetAssetTypes?registrationAuthorityId=${payload.registrationAuthorityId}&workflowId=${payload.workflowId}`;\r\n\r\n if (!payload.registrationAuthorityId && !!payload.workflowId) {\r\n endpoint = `/api/NonprofitAssets/GetAssetTypes?workflowId=${payload.workflowId}`;\r\n } else if (!!payload.registrationAuthorityId && !payload.workflowId) {\r\n endpoint = `/api/NonprofitAssets/GetAssetTypes?registrationAuthorityId=${payload.registrationAuthorityId}`;\r\n }\r\n try {\r\n const response = await this.assetManagementResources.fetchAssetTypesWorkflow(endpoint);\r\n const types = this.determineAssetTypesOrDefault(response);\r\n this.setassetTypesWithWorkflow(types);\r\n\r\n return types;\r\n } catch (e) {\r\n if (!skipToastr) {\r\n this.notifier.error(\r\n this.i18n.translate(\r\n 'common:textErrorFetchingAssetTypeWorkflows',\r\n {},\r\n 'There was an error fetching asset type workflows'\r\n )\r\n );\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async fetchDefaultAssetType (payload: AssetTypesGet) {\r\n try {\r\n const response = await this.assetManagementResources.fetchDefaultAssetType(payload);\r\n\r\n return response;\r\n } catch (e) {\r\n this.notifier.error(\r\n this.i18n.translate(\r\n 'common:textErrorFetchingDefaultAssetType',\r\n {},\r\n 'There was an error fetching the default asset type'\r\n )\r\n );\r\n\r\n throw e;\r\n }\r\n }\r\n\r\n async fetchNonprofitAssets () {\r\n try {\r\n const assets = await this.assetManagementResources.getNonprofitAssets();\r\n const adapted = assets.data.records.map(record => NonprofitAsset.construct(record));\r\n this.set('assets', adapted);\r\n } catch (e) {\r\n this.notifier.error(\r\n this.i18n.translate(\r\n 'common:textErrorFetchingAssets',\r\n {},\r\n 'There was an error fetching assets'\r\n )\r\n );\r\n }\r\n }\r\n\r\n async setDefaultAssetWorkflow () {\r\n const response = await this.fetchDefaultAssetType({\r\n registrationAuthorityId: 6\r\n });\r\n const adapted = AssetType.construct(response.data[0]);\r\n this.set('defaultAssetWorkflow', adapted);\r\n }\r\n\r\n async getAssetById (assetId: string) {\r\n return await this.assetResources.getAssetById(assetId);\r\n }\r\n\r\n // UPLOAD\r\n\r\n /*\r\n For use with:\r\n api/NonprofitAssets/UploadAsset OR\r\n api/NonprofitAssets/UploadAssetByNonprofitId\r\n - URL is determined by nonprofitId\r\n */\r\n async uploadNonprofitAsset (\r\n file: Blob,\r\n typeId: number,\r\n fileName: string,\r\n comment: string,\r\n nonprofitId?: number\r\n ) {\r\n const formData = new FormData();\r\n formData.append('asset', file, fileName);\r\n formData.append('type', '' + typeId);\r\n let url = '';\r\n if (!!nonprofitId) {\r\n url = `/api/NonprofitAssets/UploadAssetByNonprofitId?nonprofitId=${nonprofitId}&assetTypeId=${typeId}`;\r\n } else {\r\n url = `/api/NonprofitAssets/UploadAsset?assetTypeId=${typeId}`;\r\n }\r\n if (comment) {\r\n url += `&comment=${encodeURIComponent(comment)}`;\r\n }\r\n try {\r\n const response = await this.assetManagementResources.uploadAssetToUrl(\r\n url,\r\n formData\r\n );\r\n this.notifier.success(this.i18n.translate(\r\n 'nonprofits:notificationSuccessUploadingAsset',\r\n {},\r\n 'Successfully uploaded asset file'\r\n ));\r\n\r\n return response;\r\n } catch (e: any) {\r\n this.handleUploadAssetErrorCodes(e);\r\n\r\n throw e;\r\n }\r\n }\r\n\r\n async uploadRemittanceRequestAsset (\r\n file: YcFile,\r\n comment: string,\r\n nonprofitAddressRequestId: number\r\n ) {\r\n let url = `/api/NonprofitAssets/UploadRemittanceRequestAsset?assetTypeId=6`;\r\n if (comment) {\r\n url += `&comment=${encodeURIComponent(comment)}`;\r\n }\r\n if (nonprofitAddressRequestId) {\r\n const nonprofitAdminRequestId = nonprofitAddressRequestId;\r\n url += `&nonprofitAdminRequestId=${nonprofitAdminRequestId}`;\r\n }\r\n try {\r\n const response = await this.assetManagementResources.postFile(\r\n url,\r\n file.file,\r\n 'file',\r\n file.fileName\r\n );\r\n\r\n return response;\r\n } catch (e: any) {\r\n this.handleUploadAssetErrorCodes(e);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async uploadNoteAsset (\r\n nonprofitId: number,\r\n file: Blob,\r\n type: string,\r\n fileName: string,\r\n typeId = AssetTypes.NONPROFIT_NOTE\r\n ) {\r\n const formData = new FormData();\r\n formData.append('asset', file, fileName);\r\n formData.append('type', type);\r\n const url = `api/NonprofitAssets/UploadAssetByNonprofitId?nonprofitId=${nonprofitId}&assetTypeId=${typeId}`;\r\n\r\n try {\r\n const response = await this.assetManagementResources.uploadAssetToUrl(\r\n url,\r\n formData\r\n );\r\n\r\n return response;\r\n } catch (e: any) {\r\n this.handleUploadAssetErrorCodes(e);\r\n\r\n throw e;\r\n }\r\n }\r\n\r\n async uploadClaimAsset (\r\n assetToAdd: TableAsset,\r\n isNpoUser: boolean,\r\n activeExistingClaimId: number\r\n ) {\r\n const file = new YcFile(\r\n assetToAdd.fileName,\r\n assetToAdd.file\r\n );\r\n\r\n const url = !isNpoUser ?\r\n `api/NonprofitAdminRequest/UploadAssetForReview?nonprofitAdminRequestId=${activeExistingClaimId}&assetTypeId=${assetToAdd.assetTypeId}` :\r\n `api/NonprofitAdminRequest/UploadAsset?nonprofitAdminRequestId=${activeExistingClaimId}&assetTypeId=${assetToAdd.assetTypeId}`;\r\n\r\n const formData = new FormData();\r\n formData.append('asset', file.file, file.fileName);\r\n formData.append('type', '' + assetToAdd.assetTypeId);\r\n\r\n try {\r\n const response = await this.assetManagementResources.uploadAssetToUrl(\r\n url,\r\n formData\r\n );\r\n\r\n if (!isNpoUser) {\r\n this.notifier.success(this.i18n.translate(\r\n 'claim:notificationSusseccfullyUpdatedDocuments',\r\n {},\r\n 'Successfully updated the documents'\r\n ));\r\n }\r\n\r\n return response;\r\n } catch (e) {\r\n if (!isNpoUser) {\r\n this.handleUploadAssetErrorCodes(e, this.i18n.translate(\r\n 'claim:notificationErrorUpdatingDocuments',\r\n {},\r\n 'There was an error updating the documents'\r\n ));\r\n } else {\r\n this.handleUploadAssetErrorCodes(e);\r\n }\r\n\r\n throw e;\r\n }\r\n }\r\n\r\n async uploadCharityCompareBatch (\r\n batchPayload: CharityCompareAPI.CharityCompareBatchPayload\r\n ) {\r\n const url = 'api/PlatformTool/CharityCompare/create';\r\n const formData = new FormData();\r\n formData.append('file', batchPayload.sourceFile.file);\r\n formData.append('Description', batchPayload.description);\r\n formData.append('Name', batchPayload.name);\r\n if (batchPayload.clientId) {\r\n formData.append('ClientId', batchPayload.clientId);\r\n }\r\n if (batchPayload.excludeRegAuthId) {\r\n formData.append('ExcludeRegistrationAuthorityId', '' + batchPayload.excludeRegAuthId);\r\n }\r\n\r\n try {\r\n const response = await this.assetManagementResources.uploadAssetToUrl(\r\n url,\r\n formData\r\n );\r\n this.notifier.success(this.i18n.translate(\r\n 'admin:textSuccessCreatingComparison',\r\n {},\r\n 'Your comparison has been queued and will be processed shortly'\r\n ));\r\n\r\n return response;\r\n } catch (e) {\r\n this.handleUploadAssetErrorCodes(e, this.i18n.translate(\r\n 'admin:textErrorProcessingComparisonReport',\r\n {},\r\n 'There was an error processing the comparison report, please try again'\r\n ));\r\n\r\n throw e;\r\n }\r\n }\r\n\r\n async uploadStoryAsset (file: YcFile) {\r\n const formData = new FormData();\r\n formData.append('asset', file.file, file.fileName);\r\n const url = 'api/NonprofitStory/UploadImageFile';\r\n\r\n try {\r\n const response = await this.assetManagementResources.uploadAssetToUrl(\r\n url,\r\n formData\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n this.handleUploadAssetErrorCodes(e);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async uploadProgramAsset (file: YcFile) {\r\n const formData = new FormData();\r\n formData.append('asset', file.file, file.fileName);\r\n const url = 'api/Program/UploadProgramImage';\r\n try {\r\n const response = await this.assetManagementResources.uploadAssetToUrl(\r\n url,\r\n formData\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n this.handleUploadAssetErrorCodes(e);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async uploadVettingApplicationAsset (\r\n file: YcFile,\r\n nonprofitVettingApplicationId: number,\r\n assetTypeId: number\r\n ) {\r\n const formData = new FormData();\r\n formData.append('asset', file.file, file.fileName);\r\n const url = `api/NonprofitVettingApplication/UploadAsset?nonprofitVettingApplicationId=${nonprofitVettingApplicationId}&assetTypeId=${assetTypeId}`;\r\n\r\n try {\r\n const response = await this.assetManagementResources.uploadAssetToUrl(\r\n url,\r\n formData\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n this.handleUploadAssetErrorCodes(e);\r\n\r\n throw e;\r\n }\r\n }\r\n\r\n async uploadVolunteerEventFile (file: YcFile) {\r\n const formData = new FormData();\r\n formData.append('asset', file.file, file.fileName);\r\n const url = 'api/Volunteer/UploadEventFile';\r\n\r\n try {\r\n const response = await this.assetManagementResources.uploadAssetToUrl(\r\n url,\r\n formData\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.handleUploadAssetErrorCodes(e);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async updateNpoImage (payload: LogoPayload) {\r\n const formData = new FormData();\r\n formData.append('image', payload.image);\r\n formData.append('type', payload.type);\r\n const url = `/api/Nonprofit/Profile/SetImage?imageType=${payload.type}`;\r\n try {\r\n const response = await this.assetManagementResources.uploadAssetToUrl(\r\n url,\r\n formData\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n this.handleUploadAssetErrorCodes(e);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async uploadParentChildAsset (\r\n childNonProfitId: number,\r\n file: Blob,\r\n type: string,\r\n typeId: number,\r\n fileName: string\r\n ) {\r\n const formData = new FormData();\r\n formData.append('asset', file, fileName);\r\n formData.append('type', type);\r\n const url = `/api/NonprofitAssets/UploadAssetByNonprofitId?nonprofitId=${childNonProfitId}&assetTypeId=${typeId}`;\r\n\r\n try {\r\n const response = await this.assetManagementResources.uploadAssetToUrl(\r\n url,\r\n formData\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n this.handleUploadAssetErrorCodes(e);\r\n\r\n throw e;\r\n }\r\n }\r\n\r\n /**\r\n * Remove an asset from a nonprofit.\r\n * @param assetId asset identifier to delete.\r\n */\r\n async removeNonprofitAsset (assetId: string) {\r\n try {\r\n await this.assetManagementResources.removeNonprofitAsset(assetId);\r\n this.notifier.success(this.i18n.translate(\r\n 'nonprofits:notificationSuccessRemoveAsset',\r\n {},\r\n 'Successfully deleted resource'\r\n ));\r\n } catch (e) {\r\n this.notifier.error(this.i18n.translate(\r\n 'nonprofits:notificationErrorRemovingAsset',\r\n {},\r\n 'There was an error removing the resource'\r\n ));\r\n throw e;\r\n }\r\n }\r\n\r\n /**\r\n * Download File from the given url and save it as the specified file name.\r\n * @param url url to file download (ie: https://localhost/api/fileaccess/GetFile?assetId=1)\r\n * @param fileName name of the file to be downloaded\r\n */\r\n async downloadUrlAs (\r\n url: string,\r\n fileName: string\r\n ) {\r\n this.spinnerService.startSpinner();\r\n try {\r\n await this.fileService.downloadUrlAs(\r\n url,\r\n fileName\r\n );\r\n } catch (e) {\r\n this.notifier.error(this.i18n.translate(\r\n 'common:notificationErrorDownloadingFile',\r\n {},\r\n 'There was an error downloading the file'\r\n ));\r\n }\r\n this.spinnerService.stopSpinner();\r\n }\r\n\r\n private handleUploadAssetErrorCodes (exception: any, messageOverride?: string) {\r\n let usingFileTypeService = false;\r\n\r\n let notifierMessage = this.uploadGenericError;\r\n\r\n if (!messageOverride) {\r\n if (exception?.error?.errorCode) {\r\n const errorCode = exception.error.errorCode;\r\n\r\n if (errorCode === this.uploadVirusFoundErrorCode) {\r\n notifierMessage = this.uploadVirusFoundError;\r\n } else if (errorCode === this.uploadVirusScanIncompleteErrorCode) {\r\n notifierMessage = this.uploadVirusScanIncompleteError;\r\n } else if (errorCode === this.uploadInvalidSize) {\r\n usingFileTypeService = true;\r\n\r\n this.fileTypeService.displayInvalidFileUploadErrorMessage('File size is invalid.', null);\r\n } else if (errorCode === this.uploadInvalidType) {\r\n usingFileTypeService = true;\r\n\r\n this.fileTypeService.displayInvalidFileUploadErrorMessage('File type is invalid.', null);\r\n } else if (errorCode === this.uploadRequestBodyTooLarge) {\r\n usingFileTypeService = true;\r\n\r\n this.fileTypeService.displayInvalidFileUploadErrorMessage('Request body too large', null);\r\n }\r\n }\r\n } else {\r\n notifierMessage = messageOverride;\r\n }\r\n\r\n if (!usingFileTypeService) {\r\n this.notifier.error(notifierMessage);\r\n }\r\n }\r\n}\r\n","import { NonprofitAsset } from '@core/models/nonprofit-asset.model';\r\nimport { AssetType } from '@yourcause/common';\r\nimport { BaseYcState, RegisterYCState } from '@yourcause/common/state';\r\n\r\n@RegisterYCState()\r\nexport class AssetManagementState extends BaseYcState {\r\n readonly assetTypes: AssetType[];\r\n readonly assetTypesWithWorkflow: AssetType[];\r\n readonly defaultAssetWorkflow: AssetType;\r\n readonly assets: NonprofitAsset[];\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { NonprofitAdminRequestCreateModel, NonprofitAdminRequestDetailModel, NonprofitAdminRequestDisplayModel, NonprofitAdminRequestUpdateModel, RegistrationAuthorityInfoModel } from '@core/models/claim.model';\r\nimport { BasicNonprofit } from '@core/models/npo.model';\r\nimport { User } from '@core/models/user.model';\r\nimport { HttpRestService } from '@core/services/http-rest.service';\r\nimport { APIResponse, APIResult, PaginationOptions, TableAsset } from '@yourcause/common';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ClaimResources {\r\n constructor (\r\n private http: HttpRestService\r\n ) { }\r\n\r\n // country / my-organization\r\n async fetchRegistrationAuthNamesForSearch (\r\n countryCode: string,\r\n organizationType?: number\r\n ) {\r\n const endpoint = `api/NonprofitAdminRequest/GetRegistrationAuthorityInformation?CountryCode=${countryCode}&OrganizationType=${organizationType}`;\r\n\r\n const response = await this.http.get>(\r\n endpoint\r\n );\r\n\r\n return response.data as RegistrationAuthorityInfoModel[];\r\n }\r\n\r\n // claim-page / my-nonprofits\r\n async cancelAdminRequest (nonprofitAdminRequestId: number) {\r\n return this.http.post(\r\n 'api/NonprofitAdminRequest/CancelAdminRequest',\r\n {\r\n nonprofitAdminRequestId\r\n }\r\n );\r\n }\r\n\r\n async getRequestDetail (id: number) {\r\n const endpoint = `api/NonprofitAdminRequest/GetRequestDetail?nonprofitAdminRequestId=${id}`;\r\n\r\n const response = await this.http.get>(\r\n endpoint,\r\n {}\r\n );\r\n\r\n return response.data as NonprofitAdminRequestDetailModel;\r\n }\r\n\r\n async getRequestDetailForReview (id: number) {\r\n const endpoint = `api/NonprofitAdminRequest/GetRequestDetailForReview?nonprofitAdminRequestId=${id}`;\r\n const response = await this.http.get>(\r\n endpoint,\r\n {}\r\n );\r\n\r\n return response.data as NonprofitAdminRequestDetailModel;\r\n }\r\n\r\n async removeAsset (\r\n nonprofitAdminRequestId: number,\r\n file: TableAsset,\r\n isUserApplying: boolean\r\n ) {\r\n const endpoint = !isUserApplying ?\r\n `api/NonprofitAdminRequest/RemoveAssetForReview` :\r\n `api/NonprofitAdminRequest/RemoveAsset`;\r\n\r\n return this.http.post(\r\n endpoint,\r\n {\r\n assetId: file.fileId,\r\n nonprofitAdminRequestId\r\n }\r\n );\r\n }\r\n\r\n async updateAdminRequest (\r\n payload: NonprofitAdminRequestUpdateModel\r\n ) {\r\n const response = await this.http.post>(\r\n 'api/NonprofitAdminRequest/UpdateAdminRequest',\r\n payload\r\n );\r\n\r\n return response.data as NonprofitAdminRequestDisplayModel;\r\n }\r\n\r\n\r\n async createAdminRequest (\r\n payload: NonprofitAdminRequestCreateModel\r\n ) {\r\n const response = await this.http.post>(\r\n 'api/NonprofitAdminRequest/CreateAdminRequest',\r\n payload\r\n );\r\n\r\n return response.data as NonprofitAdminRequestDisplayModel;\r\n }\r\n\r\n async getNonprofitAdmins (id: string) {\r\n const endpoint = `api/NonprofitAdminRequest/GetAdmins?nonprofitId=${id}`;\r\n\r\n const response = await this.http.get>(\r\n endpoint\r\n );\r\n\r\n return response.data as User[];\r\n }\r\n\r\n async getClaimChapters (\r\n parentNonprofitId: number,\r\n paginationOptions: PaginationOptions,\r\n stateProvRegId?: number\r\n ) {\r\n return this.http.post>(\r\n 'api/NonprofitChapter/GetChapters',\r\n {\r\n paginationOptions,\r\n parentNonprofitId,\r\n stateProvRegId\r\n }\r\n );\r\n }\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { StagedNonprofitForAdminRequest } from '@core/models/admin-request.model';\r\nimport { ClaimStateDataWithAssets, ClaimStatePathId, ContactForm, FiscalType, NewChapter, NonprofitAdminRequestCreateModel, NonprofitAdminRequestDetailModel, NonprofitAdminRequestDisplayModel, NonprofitAdminRequestUpdateModel, RegAuthorityTypeForUS, RegistrationAuthorityInfoModel, StagedNonprofit } from '@core/models/claim.model';\r\nimport { NonprofitAsset } from '@core/models/nonprofit-asset.model';\r\nimport { BasicNonprofit } from '@core/models/npo.model';\r\nimport { AdminRequestStatusId } from '@core/models/status.model';\r\nimport { User } from '@core/models/user.model';\r\nimport { AssetType, AssetTypesGet, AssetWorkflowType, SearchResult, TableAsset } from '@yourcause/common';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { NotifierService } from '@yourcause/common/notifier';\r\nimport { AttachYCState, BaseYCService } from '@yourcause/common/state';\r\nimport { AssetManagementService } from '../../asset-management/services/asset-management.service';\r\nimport { MyNonprofitsService } from '../../my-nonprofits/my-nonprofits.service';\r\nimport { RegistrationAuthoritiesService } from '../../registration-authorities/registration-authorities.service';\r\nimport { ClaimResources } from './claim.resources';\r\nimport { ClaimState } from './claim.state';\r\nimport { ArrayHelpersService } from '@yourcause/common/utils';\r\n\r\n@AttachYCState(ClaimState)\r\n@Injectable({ providedIn: 'root' })\r\nexport class ClaimService extends BaseYCService {\r\n constructor (\r\n private claimResources: ClaimResources,\r\n private notifier: NotifierService,\r\n private i18n: I18nService,\r\n private registrationAuthoritiesService: RegistrationAuthoritiesService,\r\n private myNonprofitsService: MyNonprofitsService,\r\n private arrayHelper: ArrayHelpersService,\r\n private assetManagementService: AssetManagementService\r\n ) {\r\n super();\r\n }\r\n\r\n get currentStep (): number {\r\n return this.get('currentStep');\r\n }\r\n\r\n get claimDataWithAssets (): ClaimStateDataWithAssets {\r\n return this.get('claimStateDataWithAssets');\r\n }\r\n\r\n get storedClaimData (): ClaimStateDataWithAssets {\r\n return this.get('storedClaimData');\r\n }\r\n\r\n get existingDraftClaims (): ClaimStateDataWithAssets[] {\r\n return this.get('existingDraftClaims');\r\n }\r\n\r\n get activeExistingClaimId (): number {\r\n return this.get('activeExistingClaimId');\r\n }\r\n\r\n get claimIdForReview (): number {\r\n return this.get('claimIdForReview');\r\n }\r\n\r\n get claimDetailsForReview (): NonprofitAdminRequestDetailModel {\r\n return this.get('claimDetailsForReview');\r\n }\r\n\r\n get activeExistingStatusId (): number {\r\n return this.get('activeExistingStatusId');\r\n }\r\n\r\n get claimsAssetTypes (): AssetType[] {\r\n return this.get('claimsAssetTypes');\r\n }\r\n\r\n get isNpoUser (): boolean {\r\n return this.get('isNpoUser');\r\n }\r\n\r\n get path (): string {\r\n return this.get('path');\r\n }\r\n\r\n get nonprofitIdForChapters (): number {\r\n return this.get('nonprofitIdForChapters');\r\n }\r\n\r\n get chapterRegionId (): number {\r\n return this.get('chapterRegionId');\r\n }\r\n\r\n get stepperState (): ClaimStatePathId {\r\n if (this.path.includes('nonprofit-registration')) {\r\n if (this.path.includes(ClaimStatePathId.NEW_ADMIN_CLAIM)) {\r\n return ClaimStatePathId.NEW_ADMIN_CLAIM;\r\n } else {\r\n return ClaimStatePathId.VIEW_MY_CLAIM;\r\n }\r\n } else {\r\n if (this.activeExistingStatusId === AdminRequestStatusId.PENDING) {\r\n return ClaimStatePathId.ADMIN_EDIT_CLAIM;\r\n } else {\r\n return ClaimStatePathId.ADMIN_VIEW_CLAIM;\r\n }\r\n }\r\n }\r\n\r\n get formDisabled (): boolean {\r\n return this.get('formsDisabled');\r\n }\r\n\r\n get assetsDisabled (): boolean {\r\n return this.get('assetsDisabled');\r\n }\r\n\r\n get defaultRegAuthForAssets (): number {\r\n return this.get('defaultRegAuthForAssets');\r\n }\r\n\r\n get existingContactInfo (): ContactForm {\r\n return this.get('existingContactInfo');\r\n }\r\n\r\n setCurrentStep (step: number) {\r\n this.set('currentStep', step);\r\n }\r\n\r\n setClaimDataWithAssets (claim: ClaimStateDataWithAssets) {\r\n this.set('claimStateDataWithAssets', claim);\r\n }\r\n\r\n convertToTableAssets (\r\n assets: NonprofitAsset[],\r\n claimId: number\r\n ) {\r\n const convertedAssets: TableAsset[] = assets?.map((asset) => {\r\n return {\r\n fileName: asset.fileName,\r\n file: null,\r\n fileId: asset.assetId,\r\n optional: false,\r\n claimId,\r\n assetTypeId: asset.assetTypeId,\r\n name: asset.assetTypeName,\r\n fileUrl: asset.fileUrl,\r\n uploadDate: asset.uploadDate\r\n };\r\n });\r\n\r\n return convertedAssets;\r\n }\r\n\r\n setDefaultClaimData () {\r\n this.setClaimDataWithAssets(ClaimStateDataWithAssets.default);\r\n }\r\n\r\n setStoredClaimData (claimData: Partial) {\r\n this.set('storedClaimData', claimData);\r\n }\r\n\r\n setExistingDraftClaims (requests: NonprofitAdminRequestDisplayModel[]) {\r\n const draftRequests = requests.filter((request) => {\r\n return request.adminStatusId === AdminRequestStatusId.DRAFT ||\r\n request.adminStatusId === AdminRequestStatusId.PENDING;\r\n });\r\n const draftClaimsFromRequests: ClaimStateDataWithAssets[] = [];\r\n draftRequests.forEach((req) => {\r\n draftClaimsFromRequests.push(this.adaptRequestDataToClaimData(req));\r\n });\r\n this.set('existingDraftClaims', draftClaimsFromRequests);\r\n }\r\n\r\n async setActiveExistingClaimId (\r\n claimId: number\r\n ) {\r\n const activeExistingClaimId = !(isNaN(claimId)) ?\r\n claimId : null;\r\n this.set('activeExistingClaimId', activeExistingClaimId);\r\n if (!!activeExistingClaimId) {\r\n await this.setAllCurrentClaimDataAndExistingFiles();\r\n } else {\r\n this.setFormsDisabled(false);\r\n this.setAssetsDisabled(false);\r\n this.setDefaultClaimData();\r\n }\r\n await this.setClaimsAssetTypes();\r\n }\r\n\r\n async setClaimIdForReview (claimId: number) {\r\n this.set('claimIdForReview', claimId);\r\n await this.setClaimDetailsForReview();\r\n }\r\n\r\n setActiveExistingStatusId (statusId: number) {\r\n this.set('activeExistingStatusId', statusId);\r\n }\r\n\r\n setIsNpoUser (val: boolean) {\r\n this.set('isNpoUser', val);\r\n }\r\n\r\n setPathForStepperState (path: string) {\r\n this.set('path', path);\r\n }\r\n\r\n setNonprofitIdForChapters (id: number) {\r\n this.set('nonprofitIdForChapters', id);\r\n }\r\n\r\n setChapterRegionId (id: number) {\r\n this.set('chapterRegionId', id);\r\n }\r\n\r\n setFormsDisabled (val: boolean) {\r\n this.set('formsDisabled', val);\r\n }\r\n\r\n setAssetsDisabled (val: boolean) {\r\n this.set('assetsDisabled', val);\r\n }\r\n\r\n setExistingContactInfo (info: ContactForm) {\r\n this.set('existingContactInfo', info);\r\n }\r\n\r\n async cancelAdminRequest (\r\n nonprofitAdminRequestId: number,\r\n skipToastr = false\r\n ) {\r\n try {\r\n await this.claimResources.cancelAdminRequest(nonprofitAdminRequestId);\r\n if (!skipToastr) {\r\n this.notifier.success(this.i18n.translate(\r\n 'claim:notificationSuccessfullyCancelledRequest',\r\n {},\r\n 'Successfully cancelled administrator request'\r\n ));\r\n }\r\n } catch (e) {\r\n console.error(e);\r\n if (!skipToastr) {\r\n this.notifier.error(this.i18n.translate(\r\n 'claim:notificationErrorCancellingAdminRequest',\r\n {},\r\n 'There was an error cancelling your administrator request'\r\n ));\r\n }\r\n }\r\n }\r\n\r\n async removeAsset (\r\n file: TableAsset\r\n ) {\r\n try {\r\n const response = await this.claimResources.removeAsset(\r\n this.activeExistingClaimId,\r\n file,\r\n this.isNpoUser\r\n );\r\n if (!this.isNpoUser) {\r\n this.notifier.success(this.i18n.translate(\r\n 'claim:notificationSusseccfullyUpdatedDocuments',\r\n {},\r\n 'Successfully updated the documents'\r\n ));\r\n }\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'claim:notificationErrorUpdatingDocuments',\r\n {},\r\n 'There was an error updating the documents'\r\n ));\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async uploadClaimAsset (assetToAdd: TableAsset) {\r\n let tableAsset: TableAsset[] = [];\r\n\r\n try {\r\n const response = await this.assetManagementService.uploadClaimAsset(\r\n assetToAdd,\r\n this.isNpoUser,\r\n this.activeExistingClaimId\r\n );\r\n if (!!response) {\r\n tableAsset = this.convertToTableAssets(\r\n [response.data as NonprofitAsset],\r\n this.activeExistingClaimId\r\n );\r\n }\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'common:notificationErrorUploadingFile',\r\n {},\r\n 'There was an error uploading the file'\r\n ));\r\n }\r\n\r\n return tableAsset;\r\n }\r\n\r\n async updateAdminRequest (\r\n payload: ClaimStateDataWithAssets,\r\n isSubmission: boolean\r\n ) {\r\n const adaptedPayload = this.adaptPayloadForCreateOrUpdate(\r\n payload,\r\n isSubmission\r\n );\r\n const updatePayload = {\r\n ...adaptedPayload,\r\n nonprofitAdminRequestId: +this.activeExistingClaimId\r\n } as NonprofitAdminRequestUpdateModel;\r\n\r\n try {\r\n const response = await this.claimResources.updateAdminRequest(\r\n updatePayload\r\n );\r\n\r\n if (isSubmission) {\r\n await this.myNonprofitsService.setAllDataForMyNonprofitRows();\r\n this.notifier.success(this.i18n.translate(\r\n 'claim:notificationSuccessfullySubmittedClaim',\r\n {},\r\n 'Successfully submitted your administrator request'\r\n ));\r\n }\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n if (isSubmission) {\r\n this.notifier.error(this.i18n.translate(\r\n 'claim:notificationErrorSubmittingClaim',\r\n {},\r\n 'There was an error submitting your administrator request'\r\n ));\r\n } else {\r\n this.notifier.error(this.i18n.translate(\r\n 'claim:notificationErrorSavingClaim',\r\n {},\r\n 'There was an error saving your administrator request'\r\n ));\r\n }\r\n this.resetClaimData();\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async createClaim () {\r\n const createPayload: NonprofitAdminRequestCreateModel = this.adaptPayloadForCreateOrUpdate(\r\n this.storedClaimData,\r\n false\r\n );\r\n try {\r\n const response = await this.claimResources.createAdminRequest(\r\n createPayload\r\n );\r\n if (!!response) {\r\n await this.setActiveExistingClaimId(response.nonprofitAdminRequestId);\r\n await this.myNonprofitsService.setAllDataForMyNonprofitRows();\r\n }\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'claim:notificationErrorSavingClaim',\r\n {},\r\n 'There was an error saving your administrator request'\r\n ));\r\n this.resetClaimData();\r\n }\r\n }\r\n\r\n async getNonprofitAdmins (id: string) {\r\n try {\r\n const response = await this.claimResources.getNonprofitAdmins(id);\r\n\r\n return response as User[];\r\n } catch (e) {\r\n console.error(e);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n adaptRequestDataToClaimData (\r\n data: NonprofitAdminRequestDetailModel\r\n ): ClaimStateDataWithAssets {\r\n if (!!data) {\r\n this.setActiveExistingStatusId(+data.adminStatusId);\r\n const fiscal = data.claimChapter ?\r\n FiscalType.Chapter :\r\n FiscalType.Standalone;\r\n const dataStagedNonprofit = data.stagedNonprofit as StagedNonprofitForAdminRequest;\r\n let nonprofit: SearchResult;\r\n let parent: SearchResult;\r\n let stagedNonprofit: Partial;\r\n let registrationAuthorityId: number;\r\n let existingAssets: TableAsset[];\r\n\r\n if (!!data.parent) {\r\n parent = this.constructSearchResult(data.parent);\r\n registrationAuthorityId = data.parent.registrationAuthorityId;\r\n }\r\n if (!!data.nonprofit) {\r\n nonprofit = this.constructSearchResult(data.nonprofit);\r\n registrationAuthorityId = data.nonprofit.registrationAuthorityId;\r\n }\r\n if (!!dataStagedNonprofit) {\r\n stagedNonprofit = dataStagedNonprofit;\r\n registrationAuthorityId = !!data.parent ?\r\n data.parent.registrationAuthorityId :\r\n dataStagedNonprofit.stagedNonprofitRegistrationAuthorityId;\r\n }\r\n const authority = this.registrationAuthoritiesService.getAuthorityById(\r\n registrationAuthorityId\r\n );\r\n const countryCode = authority?.countryCode ||\r\n nonprofit?.addressObj?.countryCode ||\r\n stagedNonprofit?.address?.countryCode ||\r\n 'US';\r\n\r\n if (data.assets?.length > 0) {\r\n existingAssets = this.convertToTableAssets(\r\n data.assets,\r\n data.nonprofitAdminRequestId\r\n );\r\n }\r\n\r\n return {\r\n ...data,\r\n country: countryCode,\r\n regAuthTypeUS: this.getOrgType(registrationAuthorityId),\r\n currentStep: 0,\r\n fiscal,\r\n myOrg: nonprofit,\r\n parentOrg: parent,\r\n stagedNonprofit,\r\n contact: {\r\n title: data.positionTitle,\r\n website: data.website,\r\n phone: data.workPhone,\r\n workEmail: data.workEmail\r\n },\r\n registrationAuthorityId,\r\n nonprofitAdmins: [],\r\n showNoAdminForm: false,\r\n currentRoleError: '',\r\n id: data.nonprofitAdminRequestId,\r\n isParent: data.isParent,\r\n isDraft: data.adminStatusId === AdminRequestStatusId.DRAFT,\r\n existingAssets\r\n } as ClaimStateDataWithAssets;\r\n } else {\r\n return ClaimStateDataWithAssets.default;\r\n }\r\n }\r\n\r\n adaptPayloadForCreateOrUpdate (\r\n claimData: ClaimStateDataWithAssets,\r\n isSubmission: boolean\r\n ) {\r\n const claimedOrgIsChapter: boolean = claimData.fiscal === FiscalType.Chapter;\r\n const claimedOrgIsExisiting = !!claimData.myOrg?.document.id;\r\n const stagedNonprofit: StagedNonprofit = claimData.stagedNonprofit;\r\n const adminForm = claimData.adminForm || {};\r\n\r\n const payload: NonprofitAdminRequestCreateModel = {\r\n isSubmission,\r\n nonprofitId: claimedOrgIsExisiting ?\r\n +claimData.myOrg.document.id :\r\n null,\r\n parentId: claimData.parentOrg ?\r\n +claimData.parentOrg.document.id :\r\n undefined,\r\n parentAdminFirstName: adminForm.firstName ||\r\n claimData.parentAdminFirstName,\r\n parentAdminLastName: adminForm.lastName ||\r\n claimData.parentAdminLastName,\r\n parentAdminEmailAddress: adminForm.email ||\r\n claimData.parentAdminEmailAddress,\r\n parentAdminPhoneNumber: adminForm.phone ||\r\n claimData.parentAdminPhoneNumber,\r\n workEmail: claimData.contact.workEmail,\r\n workPhone: claimData.contact.phone,\r\n positionTitle: claimData.contact.title,\r\n website: claimData.contact.website,\r\n stagedNonprofit: !!stagedNonprofit ?\r\n {\r\n name: stagedNonprofit.name,\r\n address: stagedNonprofit.address,\r\n contactFirstName: stagedNonprofit.contactFirstName,\r\n contactLastName: stagedNonprofit.contactLastName,\r\n contactPhoneNumber: stagedNonprofit.contactPhoneNumber,\r\n contactEmail: stagedNonprofit.contactEmail,\r\n registrationId: stagedNonprofit.registrationId || null\r\n } : null,\r\n claimChapter: claimedOrgIsChapter,\r\n isParent: false\r\n };\r\n\r\n return payload;\r\n }\r\n\r\n constructSearchResult (nonprofit: BasicNonprofit|NewChapter) {\r\n return SearchResult.construct({\r\n text: nonprofit.name,\r\n document: {\r\n address1: nonprofit.address.address1,\r\n city: nonprofit.address.city,\r\n country: nonprofit.address.countryCode,\r\n iconURL: (nonprofit as BasicNonprofit).nonprofitIconImageUrl || '',\r\n id: ((nonprofit as BasicNonprofit).id + '' || ''),\r\n name: nonprofit.name,\r\n postalCode: nonprofit.address.postalCode,\r\n registrationId: (nonprofit as BasicNonprofit).registrationId || null,\r\n stateProvRegCode: nonprofit.address.stateProvRegCode,\r\n stateProvRegId: nonprofit.address.stateProvRegId\r\n }\r\n });\r\n }\r\n\r\n getOrgType (authorityId: number): number {\r\n if (authorityId) {\r\n switch (authorityId) {\r\n case 1:\r\n default:\r\n return RegAuthorityTypeForUS.NonprofitPrivateOrReligious;\r\n case 2:\r\n case 3:\r\n return RegAuthorityTypeForUS.PublicSchoolOrDistrict;\r\n case 30:\r\n return RegAuthorityTypeForUS.NativeAmericanTribe;\r\n }\r\n }\r\n\r\n return 0;\r\n }\r\n\r\n updateClaimDataWithAssets (attrs: any) {\r\n this.set(\r\n 'claimStateDataWithAssets',\r\n {\r\n ...this.claimDataWithAssets,\r\n ...attrs\r\n }\r\n );\r\n this.setStoredClaimData(this.claimDataWithAssets);\r\n }\r\n\r\n resetClaimData () {\r\n this.setClaimDataWithAssets(ClaimStateDataWithAssets.default);\r\n this.setCurrentStep(0);\r\n this.setActiveExistingClaimId(\r\n null\r\n );\r\n this.setActiveExistingStatusId(null);\r\n }\r\n\r\n async setClaimsAssetTypes () {\r\n const defaultRegAuth = this.defaultRegAuthForAssets;\r\n const types = await this.getClaimsAssetTypes(\r\n this.claimDataWithAssets?.registrationAuthorityId ||\r\n defaultRegAuth\r\n );\r\n const sorted = this.sortAssets(types);\r\n this.set('claimsAssetTypes', sorted);\r\n }\r\n\r\n sortAssets (assets: AssetType[]) {\r\n const sortedAssets = this.arrayHelper.sort(assets, 'name');\r\n const indexOfOther = sortedAssets.findIndex(asset => asset.name === 'Other');\r\n if (indexOfOther !== -1) {\r\n return [\r\n ...sortedAssets.slice(0, indexOfOther),\r\n ...sortedAssets.slice(indexOfOther + 1),\r\n sortedAssets[indexOfOther]\r\n ];\r\n }\r\n\r\n return sortedAssets;\r\n }\r\n\r\n async setAllCurrentClaimDataAndExistingFiles () {\r\n const response = await this.getRequestDetail();\r\n if (!!response) {\r\n const assetsEnabled = (this.isNpoUser &&\r\n (response.isDraft || !response.nonprofitAdminRequestId)) ||\r\n (!this.isNpoUser &&\r\n response.adminStatusId === AdminRequestStatusId.PENDING);\r\n this.setClaimDataWithAssets(response);\r\n this.setFormsDisabled(\r\n !!response.nonprofitAdminRequestId &&\r\n !response.isDraft\r\n );\r\n this.setAssetsDisabled(!assetsEnabled);\r\n } else {\r\n this.setDefaultClaimData();\r\n }\r\n }\r\n\r\n async setClaimDetailsForReview () {\r\n const response = await this.claimResources.getRequestDetailForReview(\r\n this.claimIdForReview\r\n );\r\n this.set('claimDetailsForReview', response);\r\n this.set('claimIdForReview', null);\r\n }\r\n\r\n setAllExistingClaimsDataFromRequests () {\r\n const allAdminRequests = this.myNonprofitsService.requestsForUser;\r\n this.setExistingDraftClaims(allAdminRequests);\r\n }\r\n\r\n async getClaimsAssetTypes (registrationAuthorityId: number) {\r\n const payload: AssetTypesGet = {\r\n registrationAuthorityId,\r\n workflowId: AssetWorkflowType.ADMIN_REG\r\n };\r\n try {\r\n const response = await this.assetManagementService.fetchAssetTypesWorkflow(\r\n payload,\r\n true // skipToastr\r\n );\r\n\r\n return response as AssetType[];\r\n } catch (e) {\r\n throw e;\r\n }\r\n }\r\n\r\n async getRequestDetail (): Promise {\r\n let data: NonprofitAdminRequestDetailModel;\r\n if (this.isNpoUser) {\r\n data = await this.claimResources.getRequestDetail(\r\n this.activeExistingClaimId\r\n );\r\n } else {\r\n data = await this.claimResources.getRequestDetailForReview(\r\n this.activeExistingClaimId\r\n );\r\n }\r\n const adaptedResponse = this.adaptRequestDataToClaimData(data);\r\n\r\n return adaptedResponse;\r\n }\r\n\r\n async fetchRegistrationAuthNamesForSearch (\r\n countryCode: string,\r\n organizationType?: number\r\n ): Promise {\r\n const response = await this.claimResources.fetchRegistrationAuthNamesForSearch(\r\n countryCode,\r\n organizationType\r\n );\r\n\r\n return response;\r\n }\r\n}\r\n","import { ClaimStateDataWithAssets, ContactForm, NonprofitAdminRequestDetailModel } from '@core/models/claim.model';\r\nimport { AssetType, SearchResult, TableAsset } from '@yourcause/common';\r\nimport { BaseYcState, RegisterYCState } from '@yourcause/common/state';\r\nimport { CachedAttr, CACHE_TYPES } from '../../../lib/Cache';\r\n\r\n@RegisterYCState()\r\nexport class ClaimState extends BaseYcState {\r\n\r\n @CachedAttr(\r\n CACHE_TYPES.SESSION,\r\n ClaimStateDataWithAssets.default,\r\n val => {\r\n val.myOrg = val.myOrg ?\r\n SearchResult.construct(val.myOrg) :\r\n val.myOrg;\r\n val.parentOrg = val.parentOrg ?\r\n SearchResult.construct(val.parentOrg) :\r\n val.parentOrg;\r\n\r\n return val;\r\n }\r\n )\r\n // New claim currently in progress\r\n readonly storedClaimData: ClaimStateDataWithAssets;\r\n\r\n // Claims set on state that can include claims user is currently working on or claims that are saved but in draft\r\n readonly existingDraftClaims: ClaimStateDataWithAssets[] = [];\r\n\r\n // Completed claims that are already saved to DB - Pending, Approved, Declined\r\n readonly existingCompletedClaims: ClaimStateDataWithAssets[] = [];\r\n readonly isNpoUser: boolean;\r\n readonly activeExistingClaimId: number;\r\n readonly claimIdForReview: number;\r\n readonly claimDetailsForReview: NonprofitAdminRequestDetailModel;\r\n readonly activeExistingStatusId: number;\r\n readonly currentStep = 0 as number;\r\n readonly path: string;\r\n readonly storedClaimFiles: TableAsset[];\r\n readonly filesToRemove: TableAsset[];\r\n readonly claimStateDataWithAssets: ClaimStateDataWithAssets;\r\n readonly claimData: ClaimStateDataWithAssets;\r\n readonly claimFiles: TableAsset[];\r\n readonly existingFilesForCurrentClaim: TableAsset[];\r\n readonly nonprofitIdForChapters: number;\r\n readonly chapterRegionId: number;\r\n readonly formsDisabled: boolean;\r\n readonly assetsDisabled: boolean;\r\n readonly defaultRegAuthForAssets = 1 as number; // US Nonprofit\r\n readonly existingContactInfo: ContactForm;\r\n readonly claimsAssetTypes: AssetType[];\r\n}\r\n","import { inject } from '@angular/core';\r\n\r\nimport { CustomAlertsService } from './custom-alerts.service';\r\nimport { ResolveFn } from '@angular/router';\r\n\r\nexport const customAlertsResolver: ResolveFn = async () => {\r\n const customAlertService = inject(CustomAlertsService);\r\n return customAlertService.getAllCustomBanners();\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRestService } from '@core/services/http-rest.service';\r\nimport { BannerInformationAPI } from '@core/typings/api/custom-alerts.typing';\r\nimport { APIResult, PaginationOptions } from '@yourcause/common';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class CustomAlertsResources {\r\n\r\n constructor (\r\n private httpRestService: HttpRestService\r\n ) { }\r\n\r\n addBanner (payload: BannerInformationAPI.AddBannerPayload) {\r\n return this.httpRestService.post(\r\n 'api/BannerInformation/AddBanner',\r\n payload\r\n );\r\n }\r\n\r\n updateBanner (payload: BannerInformationAPI.EditBannerPayload) {\r\n return this.httpRestService.post(\r\n 'api/BannerInformation/UpdateBanner',\r\n payload\r\n );\r\n }\r\n\r\n fetchPaginatedBannerRecords (paginationOptions: PaginationOptions) {\r\n return this.httpRestService.post>(\r\n '/api/bannerInformation/getAllBannerRecords',\r\n {\r\n paginationOptions\r\n }\r\n );\r\n }\r\n\r\n fetchAllBannerRecords () {\r\n return this.httpRestService.post>(\r\n '/api/bannerInformation/getAllBannerRecords',\r\n {\r\n paginationOptions: {\r\n returnAll: true,\r\n sortColumns: [{\r\n columnName: 'displayPageId',\r\n sortAscending: false\r\n }]\r\n }\r\n }\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { BannerInformationAPI } from '@core/typings/api/custom-alerts.typing';\r\nimport { DebounceFactory, PaginationOptions } from '@yourcause/common';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { NotifierService } from '@yourcause/common/notifier';\r\nimport { AttachYCState, BaseYCService } from '@yourcause/common/state';\r\nimport { isAfter, isBefore, isSameDay } from 'date-fns';\r\nimport { CustomAlertsResources } from './custom-alerts.resources';\r\nimport { CustomAlertsState } from './custom-alerts.state';\r\nimport { DateService, TIMESTAMP_FORMAT } from '@yourcause/common/date';\r\n\r\n@AttachYCState(CustomAlertsState)\r\n@Injectable({ providedIn: 'root' })\r\nexport class CustomAlertsService extends BaseYCService {\r\n readonly charityAdminReportLink: string;\r\n readonly drilldownRowId: number;\r\n\r\n customBannersTable = DebounceFactory.createSimple((\r\n paginationOptions: PaginationOptions\r\n ) => {\r\n return this.customAlertsResources.fetchPaginatedBannerRecords(paginationOptions);\r\n });\r\n\r\n constructor (\r\n private customAlertsResources: CustomAlertsResources,\r\n private i18n: I18nService,\r\n private notifier: NotifierService,\r\n private dateService: DateService\r\n ) {\r\n super();\r\n }\r\n\r\n async editBanner (payload: BannerInformationAPI.EditBannerPayload) {\r\n try {\r\n await this.customAlertsResources.updateBanner(payload);\r\n this.notifier.success(this.i18n.translate(\r\n 'admin:textSuccessUpdatingAlert',\r\n {},\r\n 'Successfully updated custom alert'\r\n ));\r\n this.customBannersTable.reset.emit();\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'admin:textErrorUpdatingAlert',\r\n {},\r\n 'There was an error updating the custom alert'\r\n ));\r\n }\r\n }\r\n\r\n async addBanner (payload: BannerInformationAPI.AddBannerPayload) {\r\n try {\r\n await this.customAlertsResources.addBanner(payload);\r\n this.notifier.success(this.i18n.translate(\r\n 'admin:textSuccessCreatingAlert',\r\n {},\r\n 'Successfully created custom alert'\r\n ));\r\n this.customBannersTable.reset.emit();\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'admin:textErrorCreatingAlert',\r\n {},\r\n 'There was an error creating the custom alert'\r\n ));\r\n }\r\n }\r\n\r\n async getAllCustomBanners () {\r\n try {\r\n const response = await this.customAlertsResources.fetchAllBannerRecords();\r\n this.set('allBannerRecords', response.data.records);\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }\r\n\r\n getAllBanners () {\r\n return this.get('allBannerRecords');\r\n }\r\n\r\n getAlertsForPage (\r\n displayPageId: BannerInformationAPI.BannerDisplayPages,\r\n id?: number\r\n ) {\r\n const banners = this.getAllBanners().filter((alert) => {\r\n return (alert.displayPageId === displayPageId) && (alert.id !== id);\r\n });\r\n\r\n return banners;\r\n }\r\n\r\n getCurrentAlertForPage (displayPageId: BannerInformationAPI.BannerDisplayPages) {\r\n const banner = this.getAlertsForPage(displayPageId).find((alert) => {\r\n return this.dateService.isBetween(new Date(), alert.displayStartDate, alert.displayEndDate);\r\n });\r\n\r\n return banner || null;\r\n }\r\n\r\n isInvalidDate (\r\n id: number,\r\n type: 'start'|'end'\r\n ) {\r\n const startDateControlName = 'alertStartDate';\r\n const endDateControlName = 'alertEndDate';\r\n\r\n // problem: we want to set expiration to same day as existing start\r\n return (formControl: AbstractControl) => {\r\n if (!formControl || !formControl.parent) {\r\n return null;\r\n }\r\n const formValue = formControl.parent.value;\r\n const displayPage = formValue.displayPageId;\r\n const date = new Date(this.getFormattedDate(formControl.value));\r\n const startDate = type === 'start' ?\r\n new Date(date) :\r\n new Date(this.getFormattedDate(formValue[startDateControlName]));\r\n const endDate = type === 'end' ?\r\n new Date(date) :\r\n new Date(this.getFormattedDate(formValue[endDateControlName]));\r\n const list = this.getAlertsForPage(displayPage, id);\r\n const hasConflict = list.some((alert: BannerInformationAPI.BannerInformationDisplay) => {\r\n const alertStart = new Date(this.dateService.formatDate(alert.displayStartDate, 'yyyy-MM-dd'));\r\n const alertEnd = new Date(this.dateService.formatDate(alert.displayEndDate, 'yyyy-MM-dd'));\r\n const alertStartAfterStartDate = isSameDay(alertStart, startDate) || isAfter(alertStart, startDate);\r\n const alertStartIsBeforeEndDate = isBefore(alertStart, endDate);\r\n const exstingAlertStartsAfter = alertStartAfterStartDate && alertStartIsBeforeEndDate;\r\n const alertEndIsBeforeEndDate = isSameDay(alertEnd, endDate) || isBefore(alertStart, endDate);\r\n const alertEndIsAfterStartDate = isAfter(alertEnd, startDate);\r\n const exstingAlertEndsBefore = alertEndIsBeforeEndDate && alertEndIsAfterStartDate;\r\n const dateIsAfterAlertStart = isSameDay(date, alertStart) || isAfter(date, alertStart);\r\n const dateIsBeforeAlertEnd = isBefore(date, alertEnd);\r\n if (type === 'start') {\r\n return (dateIsAfterAlertStart && dateIsBeforeAlertEnd) || (exstingAlertStartsAfter || exstingAlertEndsBefore);\r\n } else {\r\n\r\n return (dateIsAfterAlertStart && dateIsBeforeAlertEnd) || (exstingAlertStartsAfter || exstingAlertEndsBefore);\r\n }\r\n });\r\n\r\n const sibling = formControl.parent.get(type === 'end' ? startDateControlName : endDateControlName);\r\n const needToValidateSibling = (!hasConflict && sibling.invalid && sibling.errors && sibling.errors.dateConflict);\r\n const needToInvalidateSibling = (hasConflict && sibling.valid);\r\n if (needToValidateSibling || needToInvalidateSibling) {\r\n setTimeout(() => {\r\n sibling.updateValueAndValidity();\r\n });\r\n }\r\n\r\n return hasConflict ? {\r\n dateConflict: {\r\n i18nKey: 'admin:textRangeConflictsWithOtherAlerts',\r\n defaultValue: 'This date range conflicts with other alerts'\r\n }\r\n } : null;\r\n };\r\n }\r\n\r\n private getFormattedDate (value: string|Date) {\r\n return this.dateService.formatDate(value, TIMESTAMP_FORMAT);\r\n }\r\n\r\n async handleSubmission (submission: BannerInformationAPI.BannerInformationDisplay) {\r\n const formValue = submission;\r\n const tempEl = document.createElement('html');\r\n tempEl.innerHTML = formValue.bannerText;\r\n const parsedBody = tempEl.getElementsByTagName('body')[0].innerHTML.replace(/\\n/g, '\\r\\n');\r\n if (submission.id) {\r\n const payload = {\r\n id: submission.id,\r\n displayPageId: submission.displayPageId,\r\n bannerText: parsedBody,\r\n bannerComment: submission.bannerComment,\r\n displayStartDate: this.dateService.formatDate(submission.displayStartDate, 'y-MM-dd'),\r\n displayEndDate: this.dateService.formatDate(submission.displayEndDate, 'y-MM-dd')\r\n };\r\n await this.editBanner(payload);\r\n } else {\r\n const payload = {\r\n displayPageId: submission.displayPageId,\r\n bannerText: parsedBody,\r\n bannerComment: submission.bannerComment,\r\n displayStartDate: this.dateService.formatDate(submission.displayStartDate, 'y-MM-dd'),\r\n displayEndDate: this.dateService.formatDate(submission.displayEndDate, 'y-MM-dd')\r\n };\r\n await this.addBanner(payload);\r\n }\r\n }\r\n}\r\n","import { BannerInformationAPI } from '@core/typings/api/custom-alerts.typing';\r\nimport { BaseYCActionState, RegisterYCState } from '@yourcause/common/state';\r\n\r\n\r\n@RegisterYCState()\r\nexport class CustomAlertsState extends BaseYCActionState {\r\n readonly allBannerRecords: BannerInformationAPI.BannerInformationDisplay[];\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { DonationsByCompany, DonationsByFundingSource, DonationsBySourcePayload } from '@core/models/dashboard.model';\r\nimport { HttpRestService } from '@core/services/http-rest.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class DashboardResources {\r\n\r\n constructor (\r\n private httpRestService: HttpRestService\r\n ) { }\r\n\r\n async getDonationsByCompany (\r\n payload: DonationsBySourcePayload\r\n ) {\r\n const response = await this.httpRestService.post<{ data: DonationsByCompany }>(\r\n '/api/NonprofitDashboard/DonationsBySource',\r\n payload\r\n );\r\n\r\n return response.data;\r\n }\r\n\r\n async getDonationsByFundingSource (\r\n payload: DonationsBySourcePayload\r\n ) {\r\n const response = await this.httpRestService.post<{ data: DonationsByFundingSource }>(\r\n 'api/NonprofitDashboard/DonationsByFundingSource',\r\n payload\r\n );\r\n\r\n return response.data;\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DashboardChartAllDetail, DataArray, DonationChartEntry, DonationsByCompany, DonationsByFundingSource, DonationsBySource, DonationsBySourceAdaptedPayload, DonationsBySourcePayload, SelectedDates } from '@core/models/dashboard.model';\r\nimport { DateService } from '@yourcause/common/date';\r\nimport { AttachYCState, BaseYCService } from '@yourcause/common/state';\r\nimport { subDays } from 'date-fns';\r\nimport { DashboardResources } from './dashboard.resources';\r\nimport { DashboardState } from './dashboard.state';\r\n\r\n\r\n@AttachYCState(DashboardState)\r\n@Injectable({ providedIn: 'root' })\r\nexport class DashboardService extends BaseYCService {\r\n\r\n constructor (\r\n private dashboardResources: DashboardResources,\r\n private dateService: DateService\r\n ) {\r\n super();\r\n }\r\n\r\n get donationsByCompany () {\r\n return this.get('donationsByCompany');\r\n }\r\n\r\n get donationsByFundingSource () {\r\n return this.get('donationsByFundingSource');\r\n }\r\n\r\n get donationsByFundingSourceDates () {\r\n return this.get('donationsByFundingSourceDates');\r\n }\r\n\r\n get chartStartDate () {\r\n return this.get('chartStartDate');\r\n }\r\n\r\n get chartEndDate () {\r\n return this.get('chartEndDate');\r\n }\r\n\r\n get defaultDonationsBySourcePayload () {\r\n return this.get('defaultDonationsBySourcePayload');\r\n }\r\n\r\n get dashboardDateRange () {\r\n return this.get('dashboardDateRange');\r\n }\r\n\r\n setDefaultDonationsBySourcePayload () {\r\n // this will typically never be neccessary\r\n // as we default to the date range select of\r\n // \"This month\" - from 1st of this month to today, or the Cached 'dashboardDateRange'\r\n const chartStartDate = this.dateService.formatDate(subDays(new Date(), 365));\r\n const chartEndDate = this.dateService.formatDate(new Date());\r\n const defaultPayload = {\r\n startDate: chartStartDate,\r\n endDate: chartEndDate,\r\n chapterTransactionsOnly: false,\r\n parentTransactionsOnly: false\r\n };\r\n this.set('defaultDonationsBySourcePayload', defaultPayload);\r\n }\r\n\r\n async setAllDonationsData (\r\n vals: Partial,\r\n allTime = false\r\n ) {\r\n const payload: DonationsBySourcePayload = {\r\n startDate: this.dashboardDateRange?.startDate,\r\n endDate: this.dashboardDateRange?.endDate,\r\n chapterTransactionsOnly: vals.chapterTransactionsOnly,\r\n parentTransactionsOnly: vals.parentTransactionsOnly\r\n };\r\n await Promise.all([\r\n this.setDonationsByCompany(payload),\r\n this.setDonationsByFundingSource(\r\n payload,\r\n allTime\r\n )\r\n ]);\r\n }\r\n\r\n async setDonationsByCompany (\r\n payload?: DonationsBySourcePayload\r\n ) {\r\n if (!payload) {\r\n this.setDefaultDonationsBySourcePayload();\r\n }\r\n const response = await this.dashboardResources.getDonationsByCompany(\r\n payload || this.defaultDonationsBySourcePayload\r\n );\r\n const adaptedResponse = this.adaptDonationsTopTen(response);\r\n this.set('donationsByCompany', adaptedResponse);\r\n }\r\n\r\n async setDonationsByFundingSource (\r\n payload?: DonationsBySourcePayload,\r\n allTime = false\r\n ) {\r\n if (!payload) {\r\n this.setDefaultDonationsBySourcePayload();\r\n }\r\n const response = await this.dashboardResources.getDonationsByFundingSource(\r\n payload || this.defaultDonationsBySourcePayload\r\n );\r\n const adapted: DonationsBySourceAdaptedPayload = this.adaptDonationsBySource(\r\n response,\r\n allTime\r\n );\r\n this.set('donationsByFundingSource', adapted.data);\r\n this.set('donationsByFundingSourceDates', adapted.dates);\r\n }\r\n\r\n async setSelectedDates (dateRange: SelectedDates) {\r\n this.set('dashboardDateRange', dateRange);\r\n }\r\n\r\n adaptDonationsBySource (\r\n originalResponse: DonationsByFundingSource|DonationsBySource,\r\n allTime = false\r\n ): DonationsBySourceAdaptedPayload {\r\n const dataArray: DonationChartEntry[] = [];\r\n const datesArray: string[] = [];\r\n const labelArray: string[] = [];\r\n const existense: { [x: string]: DonationChartEntry } = {};\r\n\r\n if ('chartDetail' in originalResponse) {\r\n const validRecords = allTime ?\r\n originalResponse.chartDetail.filter(item => !!item.total) :\r\n originalResponse.chartDetail;\r\n validRecords.forEach((data) => {\r\n const date = allTime ?\r\n new Date(data.year, 0) :\r\n new Date(data.year, data.month - 1);\r\n const newDate = allTime ?\r\n this.dateService.formatDate(date, 'yyyy') :\r\n this.dateService.formatDate(date, 'MMM-yyyy');\r\n if (datesArray.indexOf(newDate) === -1) {\r\n datesArray.push(newDate);\r\n }\r\n if (!labelArray.includes(data.label) && data.label) {\r\n labelArray.push(data.label);\r\n }\r\n existense[`${newDate}${data.label}`] = {\r\n x: newDate,\r\n y: data.total,\r\n label: data.label\r\n };\r\n });\r\n\r\n datesArray.forEach((date) => {\r\n labelArray.forEach((label) => {\r\n dataArray.push(existense[`${date}${label}`] || {\r\n x: date,\r\n y: 0,\r\n label\r\n });\r\n });\r\n });\r\n const newObj: { [x: string]: DonationChartEntry[] } = {};\r\n dataArray.map(obj => {\r\n if (newObj[obj.label]) {\r\n newObj[obj.label].push({\r\n x: obj.x,\r\n y: obj.y\r\n });\r\n } else {\r\n newObj[obj.label] = [{\r\n x: obj.x,\r\n y: obj.y\r\n }];\r\n }\r\n\r\n return obj;\r\n });\r\n const formattedDataArray: DataArray[] = [];\r\n Object.keys(newObj).map((key) => {\r\n formattedDataArray.push({\r\n data: newObj[key],\r\n label: key\r\n });\r\n });\r\n\r\n return {\r\n data: formattedDataArray,\r\n dates: datesArray\r\n };\r\n } else {\r\n return {\r\n data: [],\r\n dates: []\r\n };\r\n }\r\n }\r\n\r\n adaptDonationsTopTen (\r\n originalResponse: DonationsByCompany\r\n ): DashboardChartAllDetail {\r\n if (originalResponse && originalResponse.chartDetail) {\r\n const topTenDetail = originalResponse.chartDetail.map((item) => {\r\n return {\r\n companyName: item.label,\r\n numberOfDonations: item.count,\r\n donationTotal: item.total\r\n };\r\n });\r\n const allDetail = originalResponse.allCompaniesChartDetail.map((item) => {\r\n return {\r\n companyName: item.label,\r\n numberOfDonations: item.count,\r\n donationTotal: item.total\r\n };\r\n });\r\n\r\n return {\r\n chartDetail: topTenDetail,\r\n allCompaniesChartDetail: allDetail\r\n };\r\n } else {\r\n return {\r\n chartDetail: [],\r\n allCompaniesChartDetail: []\r\n };\r\n }\r\n }\r\n\r\n clearDataOnNonprofitChange () {\r\n this.setSelectedDates(null);\r\n this.set('donationsByCompany', null);\r\n this.set('donationsByFundingSource', null);\r\n }\r\n}\r\n","import { DashboardChartAllDetail, DataArray, DonationsBySourcePayload, SelectedDates } from '@core/models/dashboard.model';\r\nimport { CACHE_TYPES, CachedAttr } from '@yourcause/common/cache';\r\nimport { BaseYcState, RegisterYCState } from '@yourcause/common/state';\r\n\r\n@RegisterYCState()\r\nexport class DashboardState extends BaseYcState {\r\n @CachedAttr(CACHE_TYPES.LOCALSTORAGE)\r\n readonly dashboardDateRange: SelectedDates;\r\n\r\n readonly donationsByCompany: DashboardChartAllDetail;\r\n readonly donationsByFundingSource: DataArray[];\r\n readonly donationsByFundingSourceDates: string[];\r\n readonly chartStartDate: Date;\r\n readonly chartEndDate: Date;\r\n readonly defaultDonationsBySourcePayload: DonationsBySourcePayload;\r\n}\r\n\r\n","const API_OVERRIDE = localStorage.getItem('NPO_API_OVERRIDE');\r\n\r\ninterface EnvironmentMap {\r\n 'localhost': T;\r\n 'dev-nonprofitplatform-ui.blackbaud.net': T;\r\n 'test-nonprofitplatform-ui.blackbaud.net': T;\r\n 'qa-nonprofitplatform-ui.blackbaud.net': T;\r\n 'npo.yourcausetest.com': T;\r\n 'uat-nonprofitplatform-ui.blackbaud.net': T;\r\n 'npo.yourcauseuat.com': T;\r\n 'nonprofit.yourcause.com': T;\r\n}\r\n\r\n// change this variable to test against a different environment locally\r\nconst QA_FIREWALL_API_URL = 'https://qa-nonprofitplatform-api.blackbaud.net';\r\n\r\nconst apiUrls: EnvironmentMap = {\r\n localhost: API_OVERRIDE || QA_FIREWALL_API_URL,\r\n 'npo.yourcausetest.com': API_OVERRIDE || QA_FIREWALL_API_URL,\r\n 'qa-nonprofitplatform-ui.blackbaud.net': API_OVERRIDE || QA_FIREWALL_API_URL,\r\n 'npo.yourcauseuat.com': 'https://uat-nonprofitplatform-api.blackbaud.net',\r\n 'nonprofit.yourcause.com': 'https://production-nonprofitplatformapi.blackbaud.net',\r\n 'uat-nonprofitplatform-ui.blackbaud.net': 'https://uat-nonprofitplatform-api.blackbaud.net',\r\n 'test-nonprofitplatform-ui.blackbaud.net': 'https://test-nonprofitplatform-api.blackbaud.net',\r\n 'dev-nonprofitplatform-ui.blackbaud.net': 'https://dev-nonprofitplatform-api.blackbaud.net'\r\n};\r\n\r\nconst appInsightsKeys: EnvironmentMap = {\r\n localhost: null,\r\n 'dev-nonprofitplatform-ui.blackbaud.net': '7afcf07d-4903-4345-b537-05514fe6eff3',\r\n 'test-nonprofitplatform-ui.blackbaud.net': '4ae2d180-dce7-4b83-814d-6a68c0ebddec',\r\n 'qa-nonprofitplatform-ui.blackbaud.net': '42249e31-5195-4e44-88dd-fb60c16664e5',\r\n 'npo.yourcausetest.com': '42249e31-5195-4e44-88dd-fb60c16664e5',\r\n 'uat-nonprofitplatform-ui.blackbaud.net': '56119b27-57b0-44f7-a097-908ca59aab7a',\r\n 'npo.yourcauseuat.com': '56119b27-57b0-44f7-a097-908ca59aab7a',\r\n 'nonprofit.yourcause.com': 'fc685c53-71a6-4185-ad02-201476b4aba1'\r\n};\r\nlet locationBase = location.hostname as keyof EnvironmentMap;\r\n\r\nconst isTest = navigator.userAgent.includes('Node.js') ||\r\n navigator.userAgent.includes('jsdom');\r\n\r\nif (isTest) {\r\n locationBase = 'localhost';\r\n}\r\n\r\nconst version = require('./version.json');\r\nexport const environment = {\r\n production: (locationBase !== 'localhost') && !isTest,\r\n hmr: false,\r\n apiBase: apiUrls[locationBase],\r\n version,\r\n locationBase,\r\n insightsKey: appInsightsKeys[locationBase],\r\n googleApiKey: 'AIzaSyCr6Ur98TNl2WQBm7wfbuG-y039INALkOY',\r\n get routeBase () {\r\n return location.pathname.split('/')[1];\r\n },\r\n get isLocalhost () {\r\n return locationBase === 'localhost';\r\n },\r\n get addGoogleTagManagerProd () {\r\n return locationBase === 'nonprofit.yourcause.com';\r\n },\r\n get addGoogleTagManagerNotProd () {\r\n return locationBase !== 'nonprofit.yourcause.com';\r\n },\r\n get addMetaFacebookPixel () {\r\n return locationBase === 'nonprofit.yourcause.com';\r\n },\r\n get addLinkedInInsights () {\r\n return locationBase === 'nonprofit.yourcause.com';\r\n }\r\n};\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { TransactionFees } from '@core/models/donation.model';\r\nimport { CheckFeeDetails } from '@core/models/payment.model';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { YCModalComponent } from '@yourcause/common/modals';\r\n\r\n\r\n@Component({\r\n selector: 'yc-check-fee-details-modal',\r\n templateUrl: './check-fee-details-modal.component.html',\r\n styleUrls: ['./check-fee-details-modal.component.scss']\r\n})\r\n\r\nexport class CheckFeeDetailsModalComponent extends YCModalComponent implements OnInit {\r\n @Input() checkFeeDetails: CheckFeeDetails;\r\n @Input() isNpoAdmin = false;\r\n @Input() transactionFeeDetails: TransactionFees;\r\n @Input() disbursementFees: TransactionFees;\r\n @Input() companyName: string;\r\n @Input() disbursementCurrencyCode: string;\r\n @Input() currency: string;\r\n loading = true;\r\n modalHeader: string;\r\n\r\n primaryButtonText = this.i18n.translate(\r\n 'common:btnClose',\r\n {},\r\n 'Close'\r\n );\r\n secondaryButtonText = this.i18n.translate(\r\n 'give:textRegisterForAchDisbursement',\r\n {},\r\n 'Register for ACH disbursement'\r\n );\r\n\r\n constructor (\r\n private i18n: I18nService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit () {\r\n this.modalHeader = !!this.checkFeeDetails ? this.i18n.translate(\r\n 'payments:hdrWhatIsTheCharityCheckAdminFee',\r\n {},\r\n 'What is the Charity Check Admin Fee?'\r\n ) : this.i18n.translate(\r\n 'give:hdrAboutServiceFees',\r\n {},\r\n 'About Service Fees'\r\n );\r\n\r\n this.loading = false;\r\n }\r\n\r\n goToDisbursementInfoPage () {\r\n this.closeModal.emit(true);\r\n }\r\n\r\n _onCancel () {\r\n this.closeModal.emit();\r\n }\r\n}\r\n","\r\n\r\n \r\n
\r\n \r\n \r\n

\r\n \r\n  \r\n \r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n
0\"\r\n class=\"mb-3\">\r\n \r\n \r\n :\r\n \r\n \r\n \r\n
\r\n \r\n \r\n :  \r\n \r\n \r\n \r\n {{ disbursementFees?.charitySupportFees?.amount | money : disbursementCurrencyCode : true }}\r\n ({{ transactionFeeDetails.charitySupportFees?.amount | money : currency : true }})\r\n \r\n \r\n {{ transactionFeeDetails.charitySupportFees?.amount | money : currency : true }}\r\n \r\n \r\n
0 &&\r\n transactionFeeDetails.charitySupportFees?.fullyCovered\">\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
0\">\r\n \r\n \r\n :\r\n \r\n \r\n \r\n
\r\n \r\n \r\n :\r\n \r\n \r\n \r\n {{ disbursementFees?.processorFees?.amount | money : disbursementCurrencyCode : true }}\r\n ({{ transactionFeeDetails.processorFees?.amount | money : currency : true }})\r\n \r\n \r\n {{ transactionFeeDetails.processorFees?.amount | money : currency : true }}\r\n \r\n \r\n
0 &&\r\n transactionFeeDetails.processorFees?.fullyCovered\">\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
","import { Component, Input, OnChanges, SimpleChanges } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'npp-payment-companies-popover',\r\n templateUrl: './payment-companies-popover.component.html',\r\n styleUrls: ['./payment-companies-popover.component.scss']\r\n})\r\nexport class PaymentCompaniesPopoverComponent implements OnChanges {\r\n @Input() companies: string[];\r\n companiesForDisplay: string[] = [];\r\n\r\n ngOnChanges (changes: SimpleChanges) {\r\n if (changes.companies && !!this.companies) {\r\n this.companiesForDisplay = this.companies;\r\n }\r\n }\r\n}\r\n","\r\n \r\n
\r\n
\r\n {{ company }}\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n","import { inject } from \"@angular/core\";\r\nimport { ResolveFn } from \"@angular/router\";\r\nimport { FeaturedPartnerService } from \"../services/featured-partner.service\";\r\n\r\nexport const featuredPartnerCollateralResolver: ResolveFn = async () => {\r\n const featuredPartnerService = inject(FeaturedPartnerService);\r\n await featuredPartnerService.getCurrentFeaturedPartner();\r\n await featuredPartnerService.getFeaturedPartnerCollateral(\r\n featuredPartnerService.currentFeaturedPartner.id\r\n );\r\n}","import { inject } from '@angular/core';\r\nimport { NonprofitService } from '../../nonprofit/nonprofit.service';\r\nimport { MyWorkspaceFinanceService } from '../services/my-workspace-finance.service';\r\nimport { ResolveFn } from '@angular/router';\r\n\r\nexport const myWorkspaceFinanceResolver: ResolveFn = async () => {\r\n const activeNpo = inject(NonprofitService).activeNpo;\r\n if (!!activeNpo) {\r\n await inject(MyWorkspaceFinanceService).setMyWorkspaceStats();\r\n }\r\n}\r\n\r\n","import { inject } from '@angular/core';\r\nimport { ResolveFn } from '@angular/router';\r\nimport { NonprofitService } from '../../nonprofit/nonprofit.service';\r\nimport { NotificationsService } from '../services/notifications.service';\r\n\r\nexport const notificationsResolver: ResolveFn = async () => {\r\n const notificationsService = inject(NotificationsService);\r\n const nonprofitService = inject(NonprofitService);\r\n const activeNonprofitId = nonprofitService.activeNpo?.id;\r\n\r\n await notificationsService.setActiveNonprofitId(\r\n activeNonprofitId\r\n );\r\n await notificationsService.getNotifications();\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { FeaturedPartnerCollateral, FeaturedPartners } from '@core/models/featured-partner.model';\r\nimport { HttpRestService } from '@core/services/http-rest.service';\r\nimport { APIResponse } from '@yourcause/common';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class FeaturedPartnerResources {\r\n\r\n constructor (\r\n private httpRestService: HttpRestService\r\n ) { }\r\n\r\n async getFeaturedPartnerCollateral (\r\n featuredPartnerId: FeaturedPartners,\r\n nonprofitId: number\r\n ) {\r\n const response = await this.httpRestService.post>(\r\n 'api/NonprofitPartner/GetCollateral',\r\n {\r\n partnerId: featuredPartnerId,\r\n nonprofitId: nonprofitId\r\n }\r\n );\r\n\r\n return response.data;\r\n }\r\n\r\n async createUserImpression (\r\n partnerCampaignCollateralId: number,\r\n nonprofitId?: number\r\n ) {\r\n await this.httpRestService.post(\r\n 'api/NonprofitPartner/UpdateCollateral',\r\n {\r\n partnerCampaignCollateralId,\r\n nonprofitId\r\n }\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { FeaturedPartner, FeaturedPartnerCollateral, FeaturedPartners } from '@core/models/featured-partner.model';\r\nimport { AttachYCState, BaseYCService } from '@yourcause/common/state';\r\nimport { FeaturedPartnerResources } from './featured-partner.resources';\r\nimport { FeaturedPartnerState } from './featured-partner.state';\r\nimport { AuthService } from '@core/services/auth.service';\r\n\r\n\r\n@AttachYCState(FeaturedPartnerState)\r\n@Injectable({ providedIn: 'root' })\r\nexport class FeaturedPartnerService extends BaseYCService {\r\n\r\n constructor (\r\n private featuredPartnerResources: FeaturedPartnerResources,\r\n private authService: AuthService\r\n ) {\r\n super();\r\n }\r\n\r\n get hiddenPartnerIds () {\r\n return this.get('hiddenPartnerIds');\r\n }\r\n\r\n get currentFeaturedPartner () {\r\n return this.get('currentFeaturedPartner');\r\n }\r\n\r\n get currentFeaturedPartnerCollateral () {\r\n return this.get('currentFeaturedPartnerCollateral');\r\n }\r\n\r\n get hasCurrentFeaturedPartner (): boolean {\r\n return !!this.currentFeaturedPartnerCollateral;\r\n }\r\n\r\n get showFeaturedPartner (): boolean {\r\n return !this.hiddenPartnerIds.includes(this.currentFeaturedPartner.id);\r\n }\r\n\r\n addHiddenPartnerId (id: number) {\r\n this.set('hiddenPartnerIds', [...this.hiddenPartnerIds, id]);\r\n }\r\n\r\n removeHiddenPartnerId (id: number) {\r\n this.set('hiddenPartnerIds', this.hiddenPartnerIds.filter(partnerId => partnerId !== id));\r\n }\r\n\r\n setCurrentFeaturedPartner (featuredPartner: FeaturedPartner) {\r\n this.set('currentFeaturedPartner', featuredPartner);\r\n }\r\n\r\n setActiveFeaturedPartnerCollateral (activeFeaturedPartnerCollateral: FeaturedPartnerCollateral) {\r\n this.set('currentFeaturedPartnerCollateral', activeFeaturedPartnerCollateral);\r\n }\r\n\r\n async getCurrentFeaturedPartner () {\r\n const response = 1;\r\n this.setCurrentFeaturedPartner({\r\n id: response\r\n });\r\n\r\n return response;\r\n }\r\n\r\n async getFeaturedPartnerCollateral (\r\n featuredPartnerId: FeaturedPartners,\r\n nonprofitId?: number\r\n ) {\r\n if (\r\n !this.currentFeaturedPartnerCollateral &&\r\n !this.authService.isYcAdminOrSupport()\r\n ) {\r\n const response = await this.featuredPartnerResources.getFeaturedPartnerCollateral(\r\n featuredPartnerId,\r\n nonprofitId\r\n );\r\n this.setActiveFeaturedPartnerCollateral(response);\r\n\r\n return response;\r\n }\r\n\r\n return this.currentFeaturedPartnerCollateral;\r\n }\r\n\r\n async createUserImpression (\r\n partnerCampaignCollateralId: number,\r\n nonprofitId?: number\r\n ) {\r\n await this.featuredPartnerResources.createUserImpression(partnerCampaignCollateralId, nonprofitId);\r\n }\r\n}\r\n","import { FeaturedPartner, FeaturedPartnerCollateral } from '@core/models/featured-partner.model';\r\nimport { CachedAttr, CACHE_TYPES } from '@yourcause/common/cache';\r\nimport { BaseYcState, RegisterYCState } from '@yourcause/common/state';\r\n\r\n\r\n@RegisterYCState()\r\nexport class FeaturedPartnerState extends BaseYcState {\r\n @CachedAttr(CACHE_TYPES.LOCALSTORAGE, [])\r\n readonly hiddenPartnerIds: number[];\r\n readonly currentFeaturedPartner: FeaturedPartner;\r\n readonly currentFeaturedPartnerCollateral: FeaturedPartnerCollateral;\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { Donation, TotalPayload } from '@core/models/myworkspace-finance.model';\r\nimport { APIResponse, APIResult } from '@yourcause/common';\r\nimport { HttpRestService } from '@core/services/http-rest.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class MyWorkspaceFinanceResources {\r\n constructor (\r\n private httpRestService: HttpRestService\r\n ) { }\r\n\r\n async getMostRecentPayments () {\r\n const endpoint = '/api/Nonprofit/Finance/Payments';\r\n const payload = {\r\n paginationOptions: {\r\n rowsPerPage: 1,\r\n pageNumber: 1,\r\n returnAll: false,\r\n sortColumns: [{\r\n columnName: 'dateCreated',\r\n sortAscending: false\r\n }]\r\n }\r\n };\r\n\r\n const response = await this.httpRestService.post>(\r\n endpoint,\r\n payload\r\n );\r\n\r\n return response.data;\r\n }\r\n\r\n async getVerifyDonationsTotal () {\r\n const response = await this.httpRestService.get>(\r\n 'api/NonprofitDashboard/VerifyDonationsTotal',\r\n {}\r\n );\r\n\r\n return response.data.total;\r\n }\r\n\r\n async getVolunteerHoursUnverified () {\r\n const response = await this.httpRestService.get<{ data: TotalPayload }>(\r\n 'api/NonprofitDashboard/VolunteerHoursToBeVerified',\r\n {}\r\n );\r\n\r\n return response.data.total;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AttachYCState, BaseYCService } from '@yourcause/common/state';\r\nimport { MyWorkspaceFinanceResources } from './my-workspace-finance.resources';\r\nimport { MyWorkspaceFinanceState } from './my-workspace-finance.state';\r\n\r\n\r\n@AttachYCState(MyWorkspaceFinanceState)\r\n@Injectable({ providedIn: 'root' })\r\nexport class MyWorkspaceFinanceService extends BaseYCService {\r\n\r\n constructor (\r\n private myWorkspaceFinanceResources: MyWorkspaceFinanceResources\r\n ) {\r\n super();\r\n }\r\n\r\n get mostRecentPayments () {\r\n return this.get('mostRecentPayments');\r\n }\r\n\r\n get verifyDonationsTotal () {\r\n return this.get('verifyDonationsTotal');\r\n }\r\n\r\n get volunteerHoursUnverified () {\r\n return this.get('volunteerHoursUnverified');\r\n }\r\n\r\n async setMostRecentPayments () {\r\n const response = await this.myWorkspaceFinanceResources.getMostRecentPayments();\r\n this.set('mostRecentPayments', response);\r\n }\r\n\r\n async setVerifyDonationsTotal () {\r\n const response = await this.myWorkspaceFinanceResources.getVerifyDonationsTotal();\r\n this.set('verifyDonationsTotal', response);\r\n }\r\n\r\n async setVolunteerHoursUnverified () {\r\n const response = await this.myWorkspaceFinanceResources.getVolunteerHoursUnverified();\r\n this.set('volunteerHoursUnverified', response);\r\n }\r\n\r\n updateVerifyHoursTotal (numberToSubtract: number) {\r\n const newVal = this.volunteerHoursUnverified - numberToSubtract;\r\n\r\n return this.set('volunteerHoursUnverified', newVal);\r\n }\r\n\r\n updateVerifyDonationsTotal (numberToSubtract: number) {\r\n const newVal = this.verifyDonationsTotal - numberToSubtract;\r\n\r\n return this.set('verifyDonationsTotal', newVal);\r\n }\r\n\r\n async setMyWorkspaceStats () {\r\n return Promise.all([\r\n this.setMostRecentPayments(),\r\n this.setVerifyDonationsTotal(),\r\n this.setVolunteerHoursUnverified()\r\n ]);\r\n }\r\n}\r\n","\r\nimport { BaseYcState, RegisterYCState } from '@yourcause/common/state';\r\n\r\n@RegisterYCState()\r\nexport class MyWorkspaceFinanceState extends BaseYcState {\r\n readonly mostRecentPayments: any;\r\n readonly verifyDonationsTotal: number;\r\n readonly volunteerHoursUnverified: number;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Notification } from '@core/models/notifications.model';\r\nimport { HttpRestService } from '@core/services/http-rest.service';\r\nimport { APIResponse } from '@yourcause/common';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class NotificationsResources {\r\n constructor (\r\n private httpRestService: HttpRestService\r\n ) { }\r\n\r\n async getNotifications () {\r\n const response = await this.httpRestService.get>(\r\n 'api/Notification/GetNotifications'\r\n );\r\n\r\n return response.data;\r\n }\r\n\r\n async dismissNotification (notificationId: number) {\r\n const endpoint = 'api/Notification/DismissNotification';\r\n const payload = {\r\n notificationId\r\n };\r\n const response = await this.httpRestService.post(endpoint, payload);\r\n\r\n return response;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Notification } from '@core/models/notifications.model';\r\nimport { AttachYCState, BaseYCService } from '@yourcause/common/state';\r\nimport { NotificationsResources } from './notifications.resources';\r\nimport { NotificationsState } from './notifications.state';\r\n\r\n\r\n@AttachYCState(NotificationsState)\r\n@Injectable({ providedIn: 'root' })\r\nexport class NotificationsService extends BaseYCService {\r\n notificationMap: {\r\n [nonprofitId: number]: Notification[];\r\n };\r\n\r\n constructor (\r\n private notificationsResources: NotificationsResources\r\n ) {\r\n super();\r\n }\r\n\r\n get allNotifications () {\r\n return this.get('allNotifications');\r\n }\r\n\r\n get keyedNotifications () {\r\n return this.get('keyedNotifications');\r\n }\r\n\r\n get modalNotification () {\r\n return this.get('modalNotification');\r\n }\r\n\r\n get modalNotificationClosed (): boolean {\r\n return this.get('modalNotificationClosed');\r\n }\r\n\r\n get activeNonprofitId () {\r\n return this.get('activeNonprofitId');\r\n }\r\n\r\n async setActiveNonprofitId (id: number) {\r\n this.set('activeNonprofitId', id);\r\n }\r\n\r\n async setKeyedNotifications () {\r\n this.notificationMap = {};\r\n\r\n const sideBarNotifications = this.allNotifications\r\n .filter((notification) => {\r\n return notification.isSideBar;\r\n });\r\n\r\n if (sideBarNotifications.length) {\r\n sideBarNotifications.forEach((notification) => {\r\n const nonprofitId = notification.nonprofit ?\r\n notification.nonprofit.nonprofitId :\r\n 1;\r\n (this.notificationMap[nonprofitId] = this.notificationMap[nonprofitId] || [])\r\n .push(notification);\r\n });\r\n\r\n const selectedNpo = this.activeNonprofitId;\r\n const notifications: {\r\n instance: Notification[];\r\n key: string | number;\r\n }[] = [];\r\n\r\n if (this.notificationMap[+selectedNpo]) {\r\n notifications.push({\r\n instance: this.notificationMap[+selectedNpo],\r\n key: selectedNpo\r\n });\r\n }\r\n Object.keys(this.notificationMap).forEach((key) => {\r\n if (+key !== +selectedNpo) {\r\n notifications.push({\r\n instance: this.notificationMap[+key],\r\n key\r\n });\r\n }\r\n });\r\n this.set('keyedNotifications', notifications);\r\n }\r\n }\r\n\r\n async setModalNotification () {\r\n const modalTypeNotifications = this.allNotifications.filter((notification) => {\r\n return notification.isModal;\r\n });\r\n this.set('modalNotification', modalTypeNotifications[0]);\r\n }\r\n\r\n setModalNotificationClosed (val: boolean) {\r\n this.set('modalNotificationClosed', val);\r\n }\r\n\r\n async dismissNotification (notificationId: number) {\r\n await this.notificationsResources.dismissNotification(\r\n notificationId\r\n );\r\n\r\n return this.removeNotification(notificationId);\r\n }\r\n\r\n removeNotification (id: number) {\r\n const allNotifications = this.allNotifications;\r\n const index = allNotifications.findIndex((n) => {\r\n return +n.notificationId === id;\r\n });\r\n if (index !== -1) {\r\n this.setAllNotifications(\r\n [\r\n ...this.allNotifications.slice(0, index),\r\n ...this.allNotifications.slice(index + 1)\r\n ]\r\n );\r\n }\r\n }\r\n\r\n async setAllNotifications (notifications: Notification[]) {\r\n return Promise.all([\r\n this.set('allNotifications', notifications),\r\n this.setModalNotification(),\r\n this.setKeyedNotifications()\r\n ]);\r\n }\r\n\r\n async getNotifications () {\r\n const response = await this.notificationsResources.getNotifications();\r\n await this.setAllNotifications(response);\r\n }\r\n}\r\n","import { Notification } from '@core/models/notifications.model';\r\nimport { BaseYcState, RegisterYCState } from '@yourcause/common/state';\r\n\r\n\r\n@RegisterYCState()\r\nexport class NotificationsState extends BaseYcState {\r\n readonly notifications: Notification[];\r\n readonly allNotifications: Notification[];\r\n readonly modalNotification: Notification;\r\n readonly modalNotificationClosed: boolean;\r\n readonly activeNonprofitId: number;\r\n readonly keyedNotifications: {\r\n instance: Notification[];\r\n key: string | number;\r\n }[];\r\n}\r\n\r\n","import { inject } from '@angular/core';\r\nimport { LocationService } from './location.service';\r\nimport { ResolveFn } from '@angular/router';\r\n\r\nexport const countriesResolver: ResolveFn = async () => {\r\n await inject(LocationService).setCountries();\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Country, CurrencyByCountry, StateProvReg } from '@core/models/location.model';\r\nimport { HttpRestService } from '@core/services/http-rest.service';\r\nimport { APIResponse } from '@yourcause/common';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class LocationResources {\r\n constructor (\r\n private httpRestService: HttpRestService\r\n ) { }\r\n\r\n async fetchCountries () {\r\n const endpoint = 'api/countryregion/getcountries';\r\n const response = await this.httpRestService.get>(\r\n endpoint\r\n );\r\n\r\n return response.data;\r\n }\r\n\r\n async fetchRegionsByCountry (countryCode: string) {\r\n const endpoint = `api/countryregion/getstateprovinceregions?countryCode=${countryCode}`;\r\n const response = await this.httpRestService.get>(\r\n endpoint\r\n );\r\n\r\n return response.data;\r\n }\r\n\r\n async fetchCurrencyByCountry (countryCode: string) {\r\n const endpoint = `api/CountryRegion/Currencies?countryCode=${countryCode}`;\r\n const response = await this.httpRestService.get>(\r\n endpoint\r\n );\r\n\r\n return response.data;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Country, CountryCurrencyMap, RegionsByCountry, StateProvReg } from '@core/models/location.model';\r\nimport { AttachYCState, BaseYCService } from '@yourcause/common/state';\r\nimport { LocationResources } from './location.resources';\r\nimport { LocationState } from './location.state';\r\nimport { TypeaheadSelectOption } from '@yourcause/common/core-forms';\r\nimport { ArrayHelpersService } from '@yourcause/common/utils';\r\n\r\n@AttachYCState(LocationState)\r\n@Injectable({ providedIn: 'root' })\r\nexport class LocationService extends BaseYCService {\r\n constructor (\r\n private locationResources: LocationResources,\r\n private arrayHelper: ArrayHelpersService\r\n ) {\r\n super();\r\n }\r\n\r\n get countries (): Country[] {\r\n return this.get('countries');\r\n }\r\n\r\n get regions (): StateProvReg[] {\r\n return this.get('regions');\r\n }\r\n\r\n get countriesForSelect (): TypeaheadSelectOption[] {\r\n return this.get('countriesForSelect');\r\n }\r\n\r\n get regionsForSelect (): TypeaheadSelectOption[] {\r\n return this.get('regionsForSelect');\r\n }\r\n\r\n get regionsByCountry (): RegionsByCountry {\r\n return this.get('regionsByCountry');\r\n }\r\n\r\n get countryCurrencyMap (): CountryCurrencyMap {\r\n return this.get('countryCurrencyMap');\r\n }\r\n\r\n async setCountries () {\r\n const countries = await this.fetchCountries();\r\n this.set('countries', countries);\r\n this.setCountriesForSelect(countries);\r\n }\r\n\r\n async setRegions (countryCode: string) {\r\n const regions = await this.fetchRegions(countryCode);\r\n this.set('regions', regions);\r\n this.set('regionsByCountry', {\r\n countryCode,\r\n regions\r\n });\r\n this.setRegionsForSelect(regions);\r\n }\r\n\r\n setCountriesForSelect (countries: Country[]) {\r\n const formattedCountriesForSelect = this.formatCountriesForSelect(\r\n countries\r\n );\r\n this.set('countriesForSelect', formattedCountriesForSelect);\r\n }\r\n\r\n setRegionsForSelect (regions: StateProvReg[]) {\r\n const formattedRegionsForSelect = this.formatRegionsForSelect(\r\n regions\r\n );\r\n this.set('regionsForSelect', formattedRegionsForSelect);\r\n }\r\n\r\n async setCountryCurrencyMap (countryCode: string) {\r\n const currency = await this.fetchCurrencyByCountry(countryCode);\r\n const newCurrencyMap: { [x: string]: string } = {};\r\n currency?.countries?.forEach((country: Country) => {\r\n newCurrencyMap[country.countryCode] = currency.currencyCode;\r\n });\r\n this.set('countryCurrencyMap', newCurrencyMap);\r\n }\r\n\r\n formatCountriesForSelect (\r\n countries: Country[]\r\n ): TypeaheadSelectOption[] {\r\n return this.arrayHelper.sort(countries.map(country => ({\r\n label: country.countryName,\r\n value: country.countryCode\r\n })), 'label');\r\n }\r\n\r\n formatRegionsForSelect (\r\n regions: StateProvReg[]\r\n ): TypeaheadSelectOption[] {\r\n return this.arrayHelper.sort(regions.map(region => ({\r\n label: region.stateProvRegName,\r\n value: region.id\r\n })), 'label');\r\n }\r\n\r\n async fetchCountries () {\r\n const response = await this.locationResources.fetchCountries();\r\n\r\n return response;\r\n }\r\n\r\n async fetchRegions (countryCode: string) {\r\n const response = await this.locationResources.fetchRegionsByCountry(countryCode);\r\n\r\n return response;\r\n }\r\n\r\n async fetchCurrencyByCountry (countryCode: string) {\r\n const response = await this.locationResources.fetchCurrencyByCountry(countryCode);\r\n\r\n return response;\r\n }\r\n}\r\n","import { Country, RegionsByCountry, StateProvReg } from '@core/models/location.model';\r\nimport { TypeaheadSelectOption } from '@yourcause/common/core-forms';\r\nimport { BaseYcState, RegisterYCState } from '@yourcause/common/state';\r\n\r\n@RegisterYCState()\r\nexport class LocationState extends BaseYcState {\r\n readonly countries: Country[];\r\n readonly regions: StateProvReg[];\r\n readonly regionsByCountry: RegionsByCountry;\r\n readonly regionsForSelect: TypeaheadSelectOption[];\r\n readonly countriesForSelect: TypeaheadSelectOption[];\r\n readonly countryCurrencyMap: {\r\n [x: string]: string;\r\n };\r\n}\r\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { SpinnerService } from '@core/services/spinner.service';\r\nimport { AuthService } from '../../_core/services/auth.service';\r\nimport { TermsOfServiceModelResponse } from '@core/models/auth.model';\r\nimport { YCModalComponent } from '@yourcause/common/modals';\r\n\r\n@Component({\r\n selector: 'yc-terms-of-service-modal',\r\n templateUrl: './terms-of-service-modal.component.html'\r\n})\r\nexport class TermsOfServiceModalComponent extends YCModalComponent implements OnInit {\r\n @Output() completed = new EventEmitter();\r\n\r\n userTermsOfService: TermsOfServiceModelResponse;\r\n\r\n constructor (\r\n public authService: AuthService,\r\n private spinnerService: SpinnerService\r\n ) {\r\n super();\r\n }\r\n\r\n async ngOnInit () {\r\n this.setUsersTermsOfService();\r\n }\r\n\r\n async setUsersTermsOfService () {\r\n this.spinnerService.startSpinner();\r\n this.userTermsOfService = (await this.authService.getUserTermsOfService()).data;\r\n this.spinnerService.stopSpinner();\r\n }\r\n\r\n async acknowledgeTermsOfService () {\r\n this.spinnerService.startSpinner();\r\n if (this.userTermsOfService.id){\r\n await this.authService.acknowledgeTermsOfService(this.userTermsOfService.id);\r\n }\r\n this.spinnerService.stopSpinner();\r\n this.closeModal.emit(true);\r\n }\r\n\r\n openPrivacyPolicy () {\r\n if (this.userTermsOfService.privacyPolicyUrl){\r\n window.open(this.userTermsOfService.privacyPolicyUrl, '_blank');\r\n }\r\n }\r\n\r\n openTermsOfService () {\r\n if (this.userTermsOfService.url){\r\n window.open(this.userTermsOfService.url, '_blank');\r\n }\r\n }\r\n\r\n signOut () {\r\n this.closeModal.emit(false);\r\n }\r\n}\r\n","\r\n

\r\n \r\n \r\n

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n ","import { Injectable } from '@angular/core';\r\nimport { SendBrandedEmailModel } from '@core/models/mail-to.model';\r\nimport { HttpRestService } from '@core/services/http-rest.service';\r\nimport { APIResponse } from '@yourcause/common';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class MailToResources {\r\n\r\n constructor (\r\n private httpRestService: HttpRestService\r\n ) { }\r\n\r\n async sendBrandedEmail (payload: SendBrandedEmailModel) {\r\n const endpoint = 'api/Email/SendBrandedEmail';\r\n\r\n return this.httpRestService.post(\r\n endpoint,\r\n payload\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { SendBrandedEmailModel } from '@core/models/mail-to.model';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { NotifierService } from '@yourcause/common/notifier';\r\nimport { MailToResources } from './mailTo-modal.resources';\r\n\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class MailToService {\r\n\r\n constructor (\r\n private notifier: NotifierService,\r\n private i18n: I18nService,\r\n private mailToResources: MailToResources\r\n ) { }\r\n\r\n async sendBrandedEmail (\r\n payload: SendBrandedEmailModel,\r\n skipToaster = false\r\n ) {\r\n const defaultTitle = this.i18n.translate(\r\n 'common:textMessageFromNpoConnect',\r\n {},\r\n 'Message from NPOconnect'\r\n );\r\n if (!payload.title) {\r\n payload.title = defaultTitle;\r\n }\r\n try {\r\n await this.mailToResources.sendBrandedEmail(payload);\r\n if (!skipToaster) {\r\n this.notifier.success(this.i18n.translate(\r\n 'common:notificationSuccessfullySentEmail',\r\n {},\r\n 'Successfully sent the email'\r\n ));\r\n }\r\n } catch (e) {\r\n this.notifier.error(this.i18n.translate(\r\n 'common:notificationThereWasAnErrorSendingTheMessage',\r\n {},\r\n 'There was an error sending the email'\r\n ));\r\n }\r\n }\r\n\r\n}\r\n","import { inject } from '@angular/core';\r\nimport { ResolveFn } from '@angular/router';\r\nimport { CommunicationService } from '../services/communication.service';\r\n\r\nexport const communicationPreferencesResolver: ResolveFn = async () => {\r\n await inject(CommunicationService).getCommunicationPreferences(true);\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CommunicationPreferences, CommunicationPreferencesPayload } from '@core/models/communication.model';\r\nimport { HttpRestService } from '@core/services/http-rest.service';\r\nimport { APIResponse } from '@yourcause/common';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CommunicationResources {\r\n constructor (\r\n private httpRestService: HttpRestService\r\n ) { }\r\n\r\n async getCommunicationPreferences (userEmailAddress?: string) {\r\n const response = await this.httpRestService.post>(\r\n 'api/CommunicationPreference/GetUserCommunicationPreferences',\r\n {\r\n userEmailAddress\r\n }\r\n )\r\n ;\r\n\r\n return response.data;\r\n }\r\n\r\n async updateCommunicationPreferences (\r\n payload: CommunicationPreferencesPayload\r\n ) {\r\n const endpoint = 'api/CommunicationPreference/UpdateUserEmailPreference';\r\n\r\n return this.httpRestService.post(endpoint, payload)\r\n ;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { NotifierService } from '@yourcause/common/notifier';\r\nimport { AttachYCState, BaseYCService } from '@yourcause/common/state';\r\nimport { CommunicationResources } from './communication.resources';\r\nimport { CommunicationState } from './communication.state';\r\n\r\n\r\n@AttachYCState(CommunicationState)\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CommunicationService extends BaseYCService {\r\n\r\n constructor (\r\n private notifier: NotifierService,\r\n private communicationResources: CommunicationResources,\r\n private i18n: I18nService\r\n ) {\r\n super();\r\n }\r\n\r\n get currentUnsubscribedEmailClassIds () {\r\n return this.get('currentUnsubscribedEmailClassIds');\r\n }\r\n\r\n get email () {\r\n return this.get('email');\r\n }\r\n\r\n setCurrentUnsubscribedEmailClassIds (unsubscribedEmailClassIds: number[]) {\r\n this.set('currentUnsubscribedEmailClassIds', unsubscribedEmailClassIds);\r\n }\r\n\r\n setEmail (email: string) {\r\n this.set('email', email);\r\n }\r\n\r\n async getCommunicationPreferences (force = false) {\r\n if (force || !this.currentUnsubscribedEmailClassIds || !this.email) {\r\n const response = await this.communicationResources.getCommunicationPreferences();\r\n this.setCurrentUnsubscribedEmailClassIds(response?.unsubscribedEmailClassIds);\r\n this.setEmail(response?.email);\r\n }\r\n }\r\n\r\n async getUserCommunicationPrefsAsYcAdmin (\r\n userEmailAddress: string\r\n ) {\r\n const response = await this.communicationResources\r\n .getCommunicationPreferences(userEmailAddress);\r\n this.setCurrentUnsubscribedEmailClassIds(response?.unsubscribedEmailClassIds);\r\n this.setEmail(userEmailAddress);\r\n }\r\n\r\n async updateCommunicationPreferences (\r\n emailIdArray: number[],\r\n userEmailAddress?: string\r\n ) {\r\n userEmailAddress = userEmailAddress || null;\r\n const payload = {\r\n unsubscribedEmailClassIds: emailIdArray,\r\n userEmailAddress\r\n };\r\n try {\r\n await this.communicationResources.updateCommunicationPreferences(\r\n payload\r\n );\r\n if (!!userEmailAddress) {\r\n this.notifier.success(this.i18n.translate(\r\n 'account:notificationSuccessUpdatingUserCommPrefs',\r\n {},\r\n 'Successfully updated user communication preferences'\r\n ));\r\n } else {\r\n this.notifier.success(this.i18n.translate(\r\n 'account:notificationSuccessUpdatingCommPrefs',\r\n {},\r\n 'Successfully updated your communication preferences'\r\n ));\r\n }\r\n if (!userEmailAddress) {\r\n this.setCurrentUnsubscribedEmailClassIds(emailIdArray);\r\n }\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'account:notificationErrorUpdatingCommPrefs',\r\n {},\r\n 'There was an error updating your communication preferences'\r\n ));\r\n }\r\n }\r\n}\r\n","\r\nimport { BaseYcState, RegisterYCState } from '@yourcause/common/state';\r\n\r\n@RegisterYCState()\r\nexport class CommunicationState extends BaseYcState {\r\n readonly currentUnsubscribedEmailClassIds: number[];\r\n readonly email: string;\r\n}\r\n","import { inject } from \"@angular/core\";\r\nimport { ResolveFn } from \"@angular/router\";\r\nimport { MyNonprofitsService } from \"./my-nonprofits.service\";\r\nimport { RegistrationAuthoritiesService } from \"../registration-authorities/registration-authorities.service\";\r\n\r\nexport const myNonprofitsResolver: ResolveFn = async () => {\r\n const myNonprofitsService = inject(MyNonprofitsService);\r\n const registrationAuthoritiesService = inject(RegistrationAuthoritiesService);\r\n await Promise.all([\r\n registrationAuthoritiesService.getAllRegistrationAuthorities(true),\r\n myNonprofitsService.setAllDataForMyNonprofitRows()\r\n ]);\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { NonprofitAdminRequestDisplayModel } from '@core/models/claim.model';\r\nimport { BasicMyNonprofit } from '@core/models/npo.model';\r\nimport { HttpRestService } from '@core/services/http-rest.service';\r\nimport { ChangeRoleToAdministratorAPI } from '@core/typings/ui/change-role-to-administrator.typing';\r\nimport { APIResponse, PaginatedAPIResponse } from '@yourcause/common';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class MyNonprofitsResources {\r\n\r\n constructor (\r\n private httpRestService: HttpRestService\r\n ) { }\r\n\r\n async getNonprofitsForAdmin () {\r\n const response = await this.httpRestService.get>(\r\n '/api/Nonprofit/Profile/GetNonprofitsForAdmin'\r\n );\r\n\r\n return response.data;\r\n }\r\n\r\n async getRequestsForUser () {\r\n const response = await this.httpRestService.post>(\r\n '/api/NonprofitAdminRequest/GetRequestsForUser',\r\n {\r\n paginationOptions: {\r\n returnAll: true\r\n }\r\n }\r\n );\r\n\r\n return response.data.records;\r\n }\r\n\r\n async cancelChapterRequest (\r\n chapterRequestIds: number[]\r\n ) {\r\n return this.httpRestService.post(\r\n 'api/NonprofitChapter/CancelChapterRequests',\r\n {\r\n chapterRequestIds\r\n }\r\n );\r\n }\r\n\r\n changeRole (payload: ChangeRoleToAdministratorAPI) {\r\n const endpoint = '/api/NonprofitRoles/ChangeRole';\r\n\r\n return this.httpRestService.post(\r\n endpoint,\r\n payload\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { StagedNonprofitForAdminRequest } from '@core/models/admin-request.model';\r\nimport { NewChapterRequestDisplayModel } from '@core/models/chapter-request.model';\r\nimport { NonprofitAdminRequestDisplayModel } from '@core/models/claim.model';\r\nimport { BasicMyNonprofit, MyNonprofitRow } from '@core/models/npo.model';\r\nimport { AdminRequestStatusId } from '@core/models/status.model';\r\nimport { Address, AddressFormatterService } from '@yourcause/common';\r\nimport { AttachYCState, BaseYCService } from '@yourcause/common/state';\r\nimport { MyNonprofitsResources } from './my-nonprofits.resources';\r\nimport { MyNonprofitsState } from './my-nonprofits.state';\r\nimport { ArrayHelpersService } from '@yourcause/common/utils';\r\nimport { ChangeRoleToAdministratorAPI } from '@core/typings/ui/change-role-to-administrator.typing';\r\nimport { NotifierService } from '@yourcause/common/notifier';\r\nimport { Router } from '@angular/router';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\n\r\n@AttachYCState(MyNonprofitsState)\r\n@Injectable({ providedIn: 'root' })\r\nexport class MyNonprofitsService extends BaseYCService{\r\n\r\n constructor (\r\n private myNonprofitsResources: MyNonprofitsResources,\r\n private formatter: AddressFormatterService,\r\n private arrayHelper: ArrayHelpersService,\r\n private notifierService: NotifierService,\r\n private i18nService: I18nService,\r\n private router: Router\r\n ) {\r\n super();\r\n }\r\n get nonprofitsForUser () {\r\n return this.get('nonprofitsForUser');\r\n }\r\n\r\n get requestsForUser () {\r\n return this.get('requestsForUser');\r\n }\r\n\r\n get nonprofitArray () {\r\n return this.get('nonprofitArray');\r\n }\r\n\r\n get adminRequestArray () {\r\n return this.get('adminRequestArray');\r\n }\r\n\r\n get nonprofitHasChapters () {\r\n return this.get('nonprofitHasChapters');\r\n }\r\n\r\n get useParentDescription () {\r\n return this.get('useParentDescription');\r\n }\r\n\r\n get useChapterDescription () {\r\n return this.get('useChapterDescription');\r\n }\r\n\r\n get tableRows () {\r\n return this.get('tableRows');\r\n }\r\n\r\n setNonprofitsForUser (allNonprofitsForUser: BasicMyNonprofit[]) {\r\n this.set('nonprofitsForUser', allNonprofitsForUser);\r\n }\r\n\r\n setRequestsForUser (allNonprofitAdminRequests: NonprofitAdminRequestDisplayModel[]) {\r\n this.set('requestsForUser', allNonprofitAdminRequests);\r\n }\r\n\r\n setNonprofitHasChapters (val: boolean) {\r\n this.set('nonprofitHasChapters', val);\r\n }\r\n\r\n setUseParentDescription (val: boolean) {\r\n this.set('useParentDescription', val);\r\n }\r\n\r\n setUseChapterDescription (val: boolean) {\r\n this.set('useChapterDescription', val);\r\n }\r\n\r\n setNonprofitArray () {\r\n const chapterRequestAsNonprofitArray = this.getChapterRequestAsNonprofitArray();\r\n const chapterArray = this.getChapterArray();\r\n const chapterAndRequestArray = chapterArray.concat(chapterRequestAsNonprofitArray);\r\n const nonChapterArray = this.getNonChapterArray();\r\n const chaptersWithoutParents = this.getChaptersWithoutParents(\r\n chapterAndRequestArray,\r\n nonChapterArray\r\n );\r\n\r\n const nonprofitArray: MyNonprofitRow[] = (nonChapterArray.concat(chaptersWithoutParents) || [])\r\n .map((nonprofit) => {\r\n const chapterList = chapterAndRequestArray.filter((npo) => {\r\n if (+npo.parentNonprofitId === +nonprofit.id) {\r\n npo.address = npo.displayAddress ||\r\n npo.address ||\r\n nonprofit.displayAddress ||\r\n nonprofit.address;\r\n this.setNonprofitHasChapters(true);\r\n\r\n return true;\r\n }\r\n\r\n return false;\r\n });\r\n\r\n const chapterRequestCount = chapterList.filter((chapter) => chapter.isChapterRequest).length;\r\n const chapterCount = chapterList.filter((chapter) => !chapter.isChapterRequest).length;\r\n\r\n return new MyNonprofitRow (\r\n nonprofit.id,\r\n nonprofit.registrationId,\r\n nonprofit.name,\r\n nonprofit.displayAddress || nonprofit.address,\r\n nonprofit.nonprofitIconImageUrl,\r\n nonprofit.createDate,\r\n undefined,\r\n true,\r\n chapterList,\r\n nonprofit.parentNonprofitId,\r\n nonprofit.parentName,\r\n nonprofit.parentRegistrationId,\r\n !!chapterList.length,\r\n nonprofit.isChapterAffiliate,\r\n nonprofit.isActive,\r\n nonprofit.deactivationReasonId,\r\n nonprofit.eligibleForGivingStatusId,\r\n chapterCount,\r\n chapterRequestCount,\r\n nonprofit.status?.status || '',\r\n nonprofit.usersRole?.roleName || '',\r\n nonprofit.adminsCount\r\n );\r\n });\r\n\r\n if (nonChapterArray.length > 0 && this.nonprofitHasChapters) {\r\n this.setUseParentDescription(true);\r\n } else if (chapterArray.length) {\r\n this.setUseChapterDescription(true);\r\n }\r\n this.set('nonprofitArray', nonprofitArray);\r\n }\r\n\r\n setAdminRequestArray () {\r\n const adminRequestForDisplayArray = this.getAdminRequestsForDisplay();\r\n const adminRequestArray = adminRequestForDisplayArray.map((request) => {\r\n const nonprofit: BasicMyNonprofit = request.nonprofit;\r\n const stagedNonprofit: StagedNonprofitForAdminRequest = request.stagedNonprofit;\r\n\r\n if (!!stagedNonprofit) {\r\n return new MyNonprofitRow (\r\n stagedNonprofit.stagedNonprofitId,\r\n stagedNonprofit.registrationId,\r\n stagedNonprofit.name,\r\n stagedNonprofit.address,\r\n 'assets/img/nonprofit/icons/cat_10.gif',\r\n stagedNonprofit.stagedNonprofitCreateDate,\r\n request,\r\n true,\r\n undefined,\r\n undefined,\r\n request.parent?.name,\r\n request.parent?.registrationId,\r\n undefined\r\n );\r\n } else {\r\n return new MyNonprofitRow (\r\n nonprofit.id,\r\n nonprofit.registrationId,\r\n nonprofit.name,\r\n nonprofit.address,\r\n nonprofit.nonprofitIconImageUrl,\r\n nonprofit.createDate,\r\n request,\r\n true,\r\n undefined,\r\n undefined,\r\n nonprofit.parentName || request.parent?.name,\r\n nonprofit.parentRegistrationId || request.parent?.registrationId,\r\n undefined,\r\n false\r\n );\r\n }\r\n });\r\n this.set('adminRequestArray', adminRequestArray);\r\n }\r\n\r\n getChapterArray () {\r\n const chapterArray: BasicMyNonprofit[] = this.nonprofitsForUser.filter((nonprofit) => {\r\n (nonprofit.address as any) = nonprofit.address || {};\r\n if (!nonprofit.address.countryCode ||\r\n !nonprofit.address.stateProvRegCode ||\r\n !nonprofit.address.city\r\n ) {\r\n nonprofit.address = null;\r\n }\r\n nonprofit.isChapterRequest = false;\r\n\r\n return nonprofit.isChapterAffiliate;\r\n });\r\n\r\n return chapterArray;\r\n }\r\n\r\n getNonChapterArray () {\r\n const nonChapterArray: BasicMyNonprofit[] = this.nonprofitsForUser.filter((nonprofit) => {\r\n return !nonprofit.isChapterAffiliate;\r\n });\r\n\r\n return nonChapterArray;\r\n }\r\n\r\n getChaptersWithoutParents (\r\n chapterAndRequestArray: BasicMyNonprofit[],\r\n nonChapterArray: BasicMyNonprofit[]\r\n ) {\r\n const chaptersWithoutParents: BasicMyNonprofit[] = chapterAndRequestArray.filter((chapter) => {\r\n return !nonChapterArray.find((npo) => +npo.id === +chapter.parentNonprofitId);\r\n });\r\n\r\n return chaptersWithoutParents;\r\n }\r\n\r\n getChapterRequestAsNonprofitArray () {\r\n const chapterRequestsArray: NewChapterRequestDisplayModel[] = [];\r\n this.nonprofitsForUser.forEach((npo) => {\r\n if (npo.chapterRequests?.length > 0) {\r\n chapterRequestsArray.push(...npo.chapterRequests);\r\n }\r\n });\r\n const chapterRequestAsNonprofitArray: BasicMyNonprofit [] = chapterRequestsArray.map((req) => {\r\n return {\r\n id: req.stagedChapterNonprofit.stagedNonprofitId,\r\n registrationAuthorityId: req.parentNonprofit.registrationAuthorityId,\r\n registrationId: req.parentNonprofit.registrationId,\r\n name: req.stagedChapterNonprofit.name,\r\n address: req.stagedChapterNonprofit.address,\r\n nonprofitIconImageUrl: req.parentNonprofit.nonprofitIconImageUrl,\r\n createDate: req.createDate,\r\n parentNonprofitId: req.parentNonprofit.id,\r\n isChapterAffiliate: true,\r\n status: req.status,\r\n isChapterRequest: true,\r\n chapterRequestId: req.id,\r\n chapterRequestSummaryData: {\r\n stagedNonprofit: req.stagedChapterNonprofit,\r\n invite: req.invite,\r\n parentNonprofit: req.parentNonprofit,\r\n createdByUser: req.createdByUser\r\n }\r\n } as BasicMyNonprofit;\r\n });\r\n\r\n return chapterRequestAsNonprofitArray;\r\n }\r\n\r\n getAdminRequestsForDisplay () {\r\n const adminRequestForDisplayArray = (this.requestsForUser || [])\r\n .filter((request) => {\r\n return [\r\n AdminRequestStatusId.DRAFT,\r\n AdminRequestStatusId.PENDING,\r\n AdminRequestStatusId.DECLINED\r\n ].includes(request.adminStatusId) &&\r\n (request.nonprofit || request.stagedNonprofit);\r\n });\r\n\r\n return adminRequestForDisplayArray;\r\n }\r\n\r\n setTableRows () {\r\n const rows = this.arrayHelper.sort([\r\n ...this.nonprofitArray,\r\n ...this.adminRequestArray\r\n ], 'name');\r\n this.set('tableRows', rows);\r\n }\r\n\r\n async getNonprofitsForAdmin () {\r\n const response = await this.myNonprofitsResources.getNonprofitsForAdmin();\r\n response.forEach((npo: BasicMyNonprofit) => {\r\n (npo.address = npo.address || {} as Address).toString = () => {\r\n return this.formatter.format(npo.address, false, true);\r\n };\r\n });\r\n\r\n return response;\r\n }\r\n\r\n async getRequestsForUser () {\r\n const response = await this.myNonprofitsResources.getRequestsForUser();\r\n\r\n return response;\r\n }\r\n\r\n async cancelChapterRequest (\r\n chapterRequestIds: number[]\r\n ) {\r\n const response = this.myNonprofitsResources.cancelChapterRequest(chapterRequestIds);\r\n\r\n return response;\r\n }\r\n\r\n async setMyNonprofitRows (\r\n allNonprofitsForAdmin: BasicMyNonprofit[],\r\n allNonprofitAdminRequests: NonprofitAdminRequestDisplayModel[]\r\n ) {\r\n this.setNonprofitsForUser(allNonprofitsForAdmin),\r\n this.setRequestsForUser(allNonprofitAdminRequests),\r\n this.setNonprofitArray(),\r\n this.setAdminRequestArray(),\r\n this.setTableRows()\r\n }\r\n\r\n async setAllDataForMyNonprofitRows () {\r\n const [\r\n allNonprofitsForAdmin,\r\n allNonprofitAdminRequests\r\n ] = await Promise.all([\r\n await this.getNonprofitsForAdmin(),\r\n await this.getRequestsForUser()\r\n ]);\r\n await this.setMyNonprofitRows(\r\n allNonprofitsForAdmin,\r\n allNonprofitAdminRequests\r\n );\r\n }\r\n\r\n async changeRoleToAdministrator (nonprofitId: number, comment: string) {\r\n try {\r\n const payload : ChangeRoleToAdministratorAPI = {\r\n nonprofitId: nonprofitId,\r\n comments: comment\r\n };\r\n\r\n await this.myNonprofitsResources.changeRole(\r\n payload\r\n );\r\n\r\n this.notifierService.success(this.i18nService.translate(\r\n 'nonprofits:notificationSuccessfullyRequestedToChangeRoleToAdministrator',\r\n {},\r\n 'Successfully requested to change role to administrator'\r\n ));\r\n\r\n } catch (e: any) {\r\n this.handleChangeRoleToAdministratorErrorCodes(e);\r\n\r\n }\r\n }\r\n\r\n private handleChangeRoleToAdministratorErrorCodes (exception: any) {\r\n let notifierMessage = this.i18nService.translate(\r\n 'nonprofits:unknownErrorNotificationChangeRoleToAdministrator',\r\n {},\r\n 'There was an error changing role to administrator'\r\n );\r\n\r\n if (exception?.error?.errorCode && exception.error.errorCode === 'Does_Not_Exist') {\r\n this.router.navigateByUrl('/support-request?itemId=2');\r\n } else {\r\n if (exception?.status === 404) {\r\n notifierMessage = this.i18nService.translate(\r\n 'nonprofits:notFoundErrorNotificationChangeRoleToAdministrator',\r\n {},\r\n 'There was an error changing role to administrator; nonprofit not found'\r\n );\r\n } else if (exception?.status === 403) {\r\n if (exception?.message === 'User is not assigned to this nonprofit.') {\r\n notifierMessage = this.i18nService.translate(\r\n 'nonprofits:unassignedErrorNotificationChangeRoleToAdministrator',\r\n {},\r\n 'There was an error changing role to administrator; not assigned to nonprofit'\r\n );\r\n } else if (exception?.message === 'User is not allowed to change their role.') {\r\n notifierMessage = this.i18nService.translate(\r\n 'nonprofits:notAllowedErrorNotificationChangeRoleToAdministrator',\r\n {},\r\n 'There was an error changing role to administrator; not allowed to change role'\r\n );\r\n } else if (exception?.message === 'User is an administrator for this nonprofit.') {\r\n notifierMessage = this.i18nService.translate(\r\n 'nonprofits:notificationSuccessfullyRequestedToChangeRoleToAdministratorExisting',\r\n {},\r\n 'You are already an administrator'\r\n );\r\n }\r\n }\r\n\r\n this.notifierService.error(notifierMessage);\r\n\r\n return;\r\n }\r\n }\r\n}\r\n","import { NonprofitAdminRequestDisplayModel } from '@core/models/claim.model';\r\nimport { BasicMyNonprofit, MyNonprofitRow } from '@core/models/npo.model';\r\nimport { BaseYcState, RegisterYCState } from '@yourcause/common/state';\r\n\r\n\r\n@RegisterYCState()\r\nexport class MyNonprofitsState extends BaseYcState {\r\n readonly nonprofitsForUser: BasicMyNonprofit[];\r\n readonly requestsForUser: NonprofitAdminRequestDisplayModel[];\r\n readonly tableRows: MyNonprofitRow[];\r\n readonly nonprofitArray: MyNonprofitRow[];\r\n readonly adminRequestArray: MyNonprofitRow[];\r\n readonly nonprofitHasChapters: boolean;\r\n readonly useParentDescription: boolean;\r\n readonly useChapterDescription: boolean;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CheckInfoPayload } from '@core/models/claim.model';\r\nimport { CodeType, NonprofitIRSCodes } from '@core/models/nonprofit-irs-code.model';\r\nimport { BasicNonprofit, CreateNonprofitApi, DisplayPayload, GetNonprofitAdditionalInformationResponseModel, Nonprofit, NonprofitAPI, NonprofitByCheckInfo, NonprofitRegAuthAttributes, NonprofitStatsSummaryModel, SearchMoreDetails, UpdateNPOClassificationPayload } from '@core/models/npo.model';\r\nimport { RevocationDetailsBySubdivision } from '@core/models/revocation.model';\r\nimport { User } from '@core/models/user.model';\r\nimport { HttpRestService } from '@core/services/http-rest.service';\r\nimport { APIResponse, APIResult, NonprofitSummaryInfoScenario, PaginationOptions } from '@yourcause/common';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class NonprofitResources {\r\n\r\n constructor (\r\n private httpRestService: HttpRestService\r\n ) { }\r\n\r\n updateNonprofitDisplayInfo (displayPayload: DisplayPayload) {\r\n return this.httpRestService.post>(\r\n '/api/Nonprofit/Profile/UpdateNonprofitDisplayInfo',\r\n displayPayload\r\n );\r\n }\r\n\r\n getNonprofitsForAdmin () {\r\n return this.httpRestService.get>(\r\n '/api/Nonprofit/Profile/GetNonprofitsForAdmin'\r\n );\r\n }\r\n\r\n getNonprofit (nonprofitId: number) {\r\n return this.httpRestService.get>(\r\n `/api/Nonprofit/GetNonprofit?nonprofitId=${nonprofitId}`\r\n );\r\n }\r\n\r\n getNonprofitAdmins (nonprofitId: number) {\r\n const endpoint = `api/NonprofitAdminRequest/GetAdmins?nonprofitId=${nonprofitId}`;\r\n\r\n return this.httpRestService.get>(endpoint);\r\n }\r\n\r\n createEditOrganization (payload: CreateNonprofitApi, newOrganization: boolean) {\r\n const endpoint = '/api/nonprofits';\r\n\r\n return newOrganization ?\r\n this.httpRestService.post(\r\n endpoint,\r\n payload\r\n ) :\r\n this.httpRestService.put(\r\n endpoint,\r\n payload\r\n );\r\n }\r\n\r\n updateNonprofitClassification (\r\n payload: UpdateNPOClassificationPayload,\r\n nonprofitId: number\r\n ) {\r\n const endpoint = `/api/NonprofitClassification/UpdateNonprofitClassificationByNonprofitId?nonprofitId=${nonprofitId}`;\r\n\r\n return this.httpRestService.post>(\r\n endpoint, payload\r\n );\r\n }\r\n\r\n getStatsSummaryInfo (\r\n nonprofitId: number,\r\n scenario: NonprofitSummaryInfoScenario\r\n ) {\r\n return this.httpRestService.get>(\r\n `/api/Nonprofit/GetNonprofitSummaryInfo?NonprofitId=${nonprofitId}&scenario=${scenario}`\r\n );\r\n }\r\n\r\n getShowMoreDetail (nonprofitId: number) {\r\n return this.httpRestService.get>(\r\n `/api/Nonprofit/GetSearchMoreDetails?NonprofitId=${nonprofitId}`\r\n );\r\n }\r\n\r\n /**\r\n * Get Revocation Details By State\r\n *\r\n * @param nonprofitId nonprofit identity\r\n * @param subdivisionCode state code (e.g. 'CA')\r\n * @param nonprofitGuid nonprofit identity\r\n * @returns\r\n */\r\n getRevocationDetails (nonprofitId: number, subdivisionCode: string) {\r\n let url = `api/nonprofits/${nonprofitId}/RevocationDetails`;\r\n if (subdivisionCode) {\r\n url += `?subdivisionCode=${subdivisionCode}`;\r\n }\r\n\r\n return this.httpRestService.get>>(url);\r\n }\r\n\r\n getNonprofitIrsCodes (codeType: CodeType) {\r\n return this.httpRestService.get>(\r\n `api/Nonprofit/GetNonprofitCodes?codeType=${codeType}`\r\n );\r\n }\r\n\r\n getStrictNonprofitsForAdmin () {\r\n return this.httpRestService.get>(\r\n '/api/Nonprofit/Profile/GetStrictNonprofitsForAdmin'\r\n );\r\n }\r\n\r\n getIrsAttribution (\r\n paginationOptions: PaginationOptions,\r\n nonprofitId: number\r\n ) {\r\n return this.httpRestService.post>(\r\n 'api/Nonprofit/GetIRSAttribution',\r\n {\r\n paginationOptions,\r\n nonprofitId\r\n }\r\n );\r\n }\r\n\r\n fetchNonprofitsWithCheckInfo (checkInfo: CheckInfoPayload) {\r\n const endpoint = 'api/Nonprofit/Finance/GetNonprofitByCheckInfo';\r\n\r\n return this.httpRestService.post>(\r\n endpoint,\r\n checkInfo\r\n );\r\n }\r\n\r\n getNonprofitAdditionalInformation (nonprofitId: number) {\r\n const endpoint = 'api/Nonprofit/GetNonprofitAdditionalInformation';\r\n const payload = { nonprofitId };\r\n\r\n return this.httpRestService.post>(\r\n endpoint,\r\n payload\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CheckInfoPayload } from '@core/models/claim.model';\r\nimport { StateProvReg } from '@core/models/location.model';\r\nimport { CodeType } from '@core/models/nonprofit-irs-code.model';\r\nimport { BasicNonprofit, CreateNonprofitApi, CreateNonprofitApiResponse, DisplayPayload, LogoPayload, Nonprofit, NonprofitRegAuthAttributes, RemittancePayload, UpdateNPOClassificationPayload } from '@core/models/npo.model';\r\nimport { SpinnerService } from '@core/services/spinner.service';\r\nimport { TokenService } from '@core/services/token/token.service';\r\nimport { Address, AddressFormatterService, AddressType, NonprofitSummaryInfoScenario, PaginationOptions } from '@yourcause/common';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { NotifierService } from '@yourcause/common/notifier';\r\nimport { AttachYCState, BaseYCService } from '@yourcause/common/state';\r\nimport { AssetManagementService } from '../asset-management/services/asset-management.service';\r\nimport { DashboardService } from '../dashboard/dashboard.service';\r\nimport { LocationService } from '../location/location.service';\r\nimport { NotesService } from '../notes/notes.service';\r\nimport { NonprofitResources } from './nonprofit.resources';\r\nimport { NonprofitState } from './nonprofit.state';\r\nimport { RevocationDetailsBySubdivision } from '@core/models/revocation.model';\r\n\r\n@AttachYCState(NonprofitState)\r\n@Injectable({ providedIn: 'root' })\r\nexport class NonprofitService extends BaseYCService {\r\n\r\n constructor (\r\n private nonprofitResources: NonprofitResources,\r\n private notifier: NotifierService,\r\n private i18n: I18nService,\r\n private assetManagementService: AssetManagementService,\r\n private formatter: AddressFormatterService,\r\n private locationService: LocationService,\r\n private notesService: NotesService,\r\n private spinnerService: SpinnerService,\r\n private tokenService: TokenService,\r\n private dashboardService: DashboardService\r\n ) {\r\n super();\r\n }\r\n\r\n get selectedNpo (): number {\r\n return this.get('selectedNpo');\r\n }\r\n\r\n get activeNpo (): Nonprofit {\r\n return this.get('activeNpo');\r\n }\r\n\r\n get myNpos (): BasicNonprofit[] {\r\n return this.get('myNpos');\r\n }\r\n\r\n get activeNpoStateData (): Nonprofit {\r\n return this.get('activeNpoStateData');\r\n }\r\n\r\n get placeholder () {\r\n return this.get('placeholder');\r\n }\r\n\r\n async setSelectedNpo (\r\n selectedNpoId: number,\r\n skipToastr = false\r\n ) {\r\n this.set('selectedNpo', selectedNpoId);\r\n if (!!selectedNpoId) {\r\n await this.setActiveNonprofit(\r\n selectedNpoId,\r\n skipToastr\r\n );\r\n }\r\n }\r\n\r\n async setActiveNonprofit (\r\n nonprofitId: number,\r\n skipToastr = false\r\n ) {\r\n this.spinnerService.startSpinner();\r\n const nonprofit = await this.getNonprofit(nonprofitId);\r\n const adaptedNonprofit = this.npoAdapter(nonprofit);\r\n this.set('activeNpo', adaptedNonprofit);\r\n this.setActiveNpoStateData(adaptedNonprofit);\r\n this.tokenService.setActiveNpoId(nonprofitId);\r\n this.dashboardService.clearDataOnNonprofitChange();\r\n if (!skipToastr) {\r\n this.notifier.success(this.i18n.translate(\r\n 'common:notificationYouAreAdministeringNonprofit',\r\n {\r\n orgName: adaptedNonprofit.name\r\n },\r\n 'You are now administering __orgName__'\r\n ));\r\n }\r\n this.spinnerService.stopSpinner();\r\n }\r\n\r\n async setMyNpos (npos: BasicNonprofit[]) {\r\n const nonprofits = await this.getNonprofitsForAdmin();\r\n this.set('myNpos', nonprofits);\r\n }\r\n\r\n setActiveNpoStateData (attrs: any) {\r\n this.set(\r\n 'activeNpoStateData',\r\n {\r\n ...this.activeNpo,\r\n ...attrs\r\n }\r\n );\r\n }\r\n\r\n setNonprofitLogo (logoUrl: string) {\r\n this.set('nonprofitLogo', logoUrl);\r\n }\r\n\r\n addChapterToMypNos (newChapter: BasicNonprofit) {\r\n let myNpos = this.myNpos;\r\n if (myNpos?.length > 0) {\r\n myNpos = [\r\n ...this.myNpos,\r\n newChapter\r\n ];\r\n } else {\r\n myNpos = [newChapter];\r\n }\r\n this.setMyNpos(myNpos);\r\n }\r\n\r\n formatDisplayPayload (displayPayload: DisplayPayload) {\r\n if (typeof displayPayload?.tags === 'object') {\r\n const tagArray = [] as string[];\r\n let tagsString = '';\r\n let tagItem = '';\r\n displayPayload.tags.forEach((tag) => {\r\n if (typeof tag === 'string') {\r\n tagItem = tag as string;\r\n tagItem = tagItem.replace(/[\"#]/g, '').trim();\r\n tagArray.push(tagItem);\r\n } else {\r\n tagItem = tag.value;\r\n tagItem = tagItem.replace(/[\"#]/g, '').trim();\r\n tagArray.push(tagItem);\r\n }\r\n });\r\n tagsString = tagArray.join(',');\r\n displayPayload.tags = tagsString as any;\r\n }\r\n\r\n return displayPayload;\r\n }\r\n\r\n npoAdapter (nonprofit: Nonprofit) {\r\n nonprofit.tags = this.tagsAdapter(nonprofit) || [];\r\n nonprofit.displayAddress = this.displayAddressAdapter(nonprofit);\r\n nonprofit.displayName = nonprofit.displayName || nonprofit.name;\r\n this.notesService.setNoteCount(nonprofit.notesCount);\r\n\r\n return nonprofit;\r\n }\r\n\r\n displayAddressAdapter (nonprofit: Nonprofit) {\r\n if (!nonprofit.displayAddress || !nonprofit.displayAddress.address1) {\r\n if (nonprofit.address) {\r\n nonprofit.displayAddress = nonprofit.address;\r\n } else if (nonprofit.isChapterAffiliate && nonprofit.parentNonprofit) {\r\n if (nonprofit.parentNonprofit.displayAddress) {\r\n nonprofit.displayAddress = nonprofit.parentNonprofit.displayAddress;\r\n } else if (nonprofit.parentNonprofit.address) {\r\n nonprofit.displayAddress = nonprofit.parentNonprofit.address;\r\n }\r\n }\r\n }\r\n\r\n return nonprofit.displayAddress;\r\n }\r\n\r\n tagsAdapter (\r\n nonprofit?: Nonprofit|DisplayPayload,\r\n nonprofitTags?: string[]\r\n ) {\r\n let tagsArray: string[] = [];\r\n if (nonprofit?.tags?.length > 0) {\r\n tagsArray = ('' + nonprofit.tags).split(',');\r\n } else if (!!nonprofitTags) {\r\n tagsArray = ('' + nonprofitTags).split(',');\r\n }\r\n\r\n return tagsArray;\r\n }\r\n\r\n formatNpoAddresses (nonprofits: BasicNonprofit[]) {\r\n nonprofits.forEach((nonprofit: BasicNonprofit) => {\r\n (nonprofit.address = nonprofit.address || {} as Address).toString = () => {\r\n return this.formatter.format(nonprofit.address, false, true);\r\n };\r\n });\r\n\r\n return nonprofits;\r\n }\r\n\r\n addStateCodeToPayload (\r\n payload: RemittancePayload|DisplayPayload,\r\n type: AddressType\r\n ) {\r\n this.locationService.setRegions(payload.address.countryCode);\r\n if (!this.locationService.regions) {\r\n return payload;\r\n } else {\r\n const regions: StateProvReg[] = this.locationService.regions;\r\n if (payload.address.stateProvRegId) {\r\n if ([AddressType.displayInfo, AddressType.remittanceAddress].includes(type)) {\r\n const stateName = this.findMatchingState(\r\n regions,\r\n payload.address.stateProvRegId as number\r\n );\r\n payload.address.stateProvRegName = stateName;\r\n }\r\n }\r\n\r\n return payload;\r\n }\r\n }\r\n\r\n findMatchingState (\r\n optionValue: StateProvReg[],\r\n formValue: number\r\n ) {\r\n const match = optionValue.filter(region => region.id === formValue);\r\n\r\n return match[0].stateProvRegName;\r\n }\r\n\r\n updateAttributeInMyNpos (attrs: any) {\r\n const index = this.myNpos.findIndex((npo) => npo.id === this.selectedNpo);\r\n const myNpos = [\r\n ...this.myNpos.slice(0, index),\r\n {\r\n ...this.myNpos[index],\r\n ...attrs\r\n },\r\n ...this.myNpos.slice(index + 1)\r\n ];\r\n\r\n this.setMyNpos(myNpos);\r\n }\r\n\r\n async updateAndSetNonprofitDisplayInfo () {\r\n const displayPayload = this.activeNpoStateData;\r\n const formattedDisplayPayload = this.formatDisplayPayload(displayPayload);\r\n const payloadWithStateCode = this.addStateCodeToPayload(\r\n formattedDisplayPayload,\r\n AddressType.displayInfo\r\n );\r\n const response = await this.updateNonprofitDisplayInfo(\r\n payloadWithStateCode\r\n );\r\n this.setActiveNpoStateData(response);\r\n this.setActiveNonprofit(displayPayload.id, true);\r\n }\r\n\r\n // APIs\r\n\r\n async getNonprofit (nonprofitId: number) {\r\n const id = !!nonprofitId ? +nonprofitId : null;\r\n try {\r\n const response = await this.nonprofitResources.getNonprofit(id);\r\n\r\n return response.data;\r\n } catch (e) {\r\n console.error(e);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getNonprofitAdmins (nonprofitId: number) {\r\n try {\r\n const response = await this.nonprofitResources.getNonprofitAdmins(\r\n nonprofitId\r\n );\r\n\r\n return response.data;\r\n } catch (e) {\r\n console.error(e);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async updateNonprofitDisplayInfo (payload: DisplayPayload) {\r\n try {\r\n const response = await this.nonprofitResources.updateNonprofitDisplayInfo(\r\n payload\r\n );\r\n\r\n return response.data;\r\n } catch (e) {\r\n console.error(e);\r\n\r\n this.notifier.error(this.i18n.translate(\r\n 'nonprofits:notificationErrorUpdatingDisplayInfo',\r\n {},\r\n 'There was an error updating the display information'\r\n ));\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async createEditOrganization (payload: CreateNonprofitApi, newOrganization: boolean) {\r\n try {\r\n const response = await this.nonprofitResources.createEditOrganization(\r\n payload\r\n ,newOrganization\r\n );\r\n\r\n if (newOrganization) {\r\n this.notifier.success(this.i18n.translate(\r\n 'nonprofits:notificationSuccessAddOrg',\r\n {},\r\n 'Successfully added organization'\r\n ));\r\n\r\n return response.data as CreateNonprofitApiResponse;\r\n } else {\r\n this.notifier.success(this.i18n.translate(\r\n 'nonprofits:notificationSuccessUpdating the organization',\r\n {},\r\n 'Successfully updated the organization'\r\n ));\r\n }\r\n } catch (e: any) {\r\n console.error(e);\r\n\r\n if (newOrganization) {\r\n this.notifier.error(this.i18n.translate(\r\n 'nonprofits:notificationErrorAddingOrganization',\r\n {},\r\n 'There was an error adding your organization'\r\n ));\r\n\r\n return e;\r\n } else {\r\n this.notifier.error(this.i18n.translate(\r\n 'nonprofits:notificationErrorUpdatingOrganization',\r\n {},\r\n 'There was an error updating your organization'\r\n ));\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n updateNonprofitClassification (\r\n payload: UpdateNPOClassificationPayload,\r\n nonprofitId: number\r\n ) {\r\n try {\r\n const response = this.nonprofitResources.updateNonprofitClassification(\r\n payload,\r\n nonprofitId\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'admin:textErrorUpdatingClassification',\r\n {},\r\n 'There was an error updating classification for this organization'\r\n ));\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getStatsSummaryInfo (\r\n nonprofitId: number,\r\n scenario: NonprofitSummaryInfoScenario\r\n ) {\r\n try {\r\n const response = await this.nonprofitResources.getStatsSummaryInfo(\r\n nonprofitId,\r\n scenario\r\n );\r\n\r\n return response.data;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'search:notificationErrorFetchingSummaryInfo',\r\n {},\r\n 'There was an error fetching summary info'\r\n ));\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getShowMoreDetail (\r\n nonprofitId: number\r\n ) {\r\n try {\r\n const response = await this.nonprofitResources.getShowMoreDetail(\r\n nonprofitId\r\n );\r\n\r\n return response.data;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'common:notificationErrorRetreivingData',\r\n {},\r\n 'There was an error retrieving the data'\r\n ));\r\n\r\n return null;\r\n }\r\n }\r\n\r\n /**\r\n * Get nonprofit revocation details by state.\r\n *\r\n * @param nonprofitId nonprofit identity\r\n * @param stateCode state code (e.g. 'CA')\r\n * @param nonprofitGuid nonprofit identity\r\n * @returns list of results\r\n */\r\n async getRevocationDetails (\r\n nonprofitId: number,\r\n stateCode?: string\r\n ): Promise {\r\n try {\r\n const response = await this.nonprofitResources.getRevocationDetails(\r\n nonprofitId,\r\n stateCode\r\n );\r\n\r\n return response.data;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'common:notificationErrorRetreivingData',\r\n {},\r\n 'There was an error retrieving the data'\r\n ));\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getNonprofitIrsCodes (\r\n codeType: CodeType\r\n ) {\r\n try {\r\n const response = await this.nonprofitResources.getNonprofitIrsCodes(\r\n codeType\r\n );\r\n\r\n return response.data;\r\n } catch (e) {\r\n console.error(e);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n // For My Nonprofits\r\n async getNonprofitsForAdmin () {\r\n try {\r\n const response = await this.nonprofitResources.getNonprofitsForAdmin();\r\n const nposWithFormattedAddress = this.formatNpoAddresses(response.data);\r\n\r\n return nposWithFormattedAddress;\r\n } catch (e) {\r\n console.error(e);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n // This gets Parent and Standalone Nonprofits for User/Admin/Mgr AND\r\n // Chapter Nonprofits, but only if User is Admin/Mgr of Chapter and not the parent\r\n async getStrictNonprofitsForAdmin () {\r\n try {\r\n const response = await this.nonprofitResources.getStrictNonprofitsForAdmin();\r\n const nposWithFormattedAddress = this.formatNpoAddresses(response.data);\r\n\r\n return nposWithFormattedAddress;\r\n } catch (e) {\r\n console.error(e);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getIrsAttribution (\r\n paginationOptions: PaginationOptions,\r\n nonprofitId: number\r\n) {\r\n const response = await this.nonprofitResources.getIrsAttribution(\r\n paginationOptions,\r\n nonprofitId\r\n );\r\n\r\n return response;\r\n}\r\n\r\n async fetchNonprofitsWithCheckInfo ( // IN RESOURCES\r\n checkInfo: CheckInfoPayload\r\n ) {\r\n try {\r\n const response = await this.nonprofitResources.fetchNonprofitsWithCheckInfo(\r\n {\r\n ...checkInfo\r\n }\r\n );\r\n\r\n return response.data;\r\n } catch (e) {\r\n console.error(e);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async updateNpoLogo (payload: LogoPayload) {\r\n const response = await this.updateNpoImage(payload);\r\n if (!!response) {\r\n if (response) {\r\n this.setActiveNpoStateData({\r\n nonprofitIconImageUrl: response.url,\r\n nonprofitLogoImageUrl: response.url\r\n });\r\n this.setNonprofitLogo(response.url);\r\n\r\n } else {\r\n this.notifier.success(this.i18n.translate(\r\n 'nonprofits:notificationLogoRemoved',\r\n {},\r\n 'Successfully removed nonprofit image'\r\n ));\r\n this.setActiveNpoStateData({\r\n nonprofitIconImageUrl: '',\r\n nonprofitLogoImageUrl: ''\r\n });\r\n }\r\n } else {\r\n this.setActiveNpoStateData({\r\n nonprofitIconImageUrl: this.activeNpo.nonprofitIconImageUrl,\r\n nonprofitLogoImageUrl: this.activeNpo.nonprofitIconImageUrl\r\n });\r\n }\r\n }\r\n\r\n async updateNpoImage (payload: LogoPayload) {\r\n try {\r\n const response = await this.assetManagementService.updateNpoImage(\r\n payload\r\n );\r\n this.notifier.success(this.i18n.translate(\r\n 'nonprofits:notificationSuccessUpdatingNonprofitLogo',\r\n {},\r\n 'Successfully updated the nonprofit logo'\r\n ));\r\n\r\n return response.data;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'nonprofits:notificationErrorUpdatingLogo',\r\n {},\r\n 'There was an error updating the Nonprofit Logo.'\r\n ));\r\n\r\n return e;\r\n ;\r\n }\r\n }\r\n\r\n async getNonprofitAdditionalInformation (nonprofitId: number) {\r\n try {\r\n const response = await this.nonprofitResources.getNonprofitAdditionalInformation(\r\n nonprofitId\r\n );\r\n\r\n return response.data;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'common:notificationErrorRetreivingData',\r\n {},\r\n 'There was an error retrieving the data'\r\n ));\r\n\r\n return null;\r\n }\r\n }\r\n}\r\n","import { BasicNonprofit, Nonprofit, NonprofitAPI } from '@core/models/npo.model';\r\nimport { CACHE_TYPES, CachedAttr } from '@yourcause/common/cache';\r\nimport { BaseYcState, RegisterYCState } from '@yourcause/common/state';\r\n\r\n@RegisterYCState()\r\nexport class NonprofitState extends BaseYcState {\r\n @CachedAttr(CACHE_TYPES.SESSION)\r\n readonly selectedNpo: number;\r\n readonly activeNpo: Nonprofit;\r\n\r\n readonly myNpos: BasicNonprofit[];\r\n readonly activeNpoStateData: Nonprofit;\r\n readonly nonprofitLogo: string;\r\n readonly placeholder: NonprofitAPI = {\r\n name: 'Placeholder',\r\n displayName: 'placeholder',\r\n classificationInfo: {\r\n classificationOneId: 1,\r\n classificationTwoId: 2,\r\n classificationThreeId: 3,\r\n classificationTypeId: 1,\r\n classificationOneCode: 'I'\r\n },\r\n registrationId: '1',\r\n supportsSDGGive: false,\r\n supportsSDGVolunteer: true,\r\n displayAddress: null,\r\n displayEmail: null,\r\n displayUrl: null,\r\n displayNumber: null,\r\n displayPitch: null,\r\n remittanceInfo: {\r\n name: null,\r\n address: {\r\n address1: null,\r\n address2: null,\r\n city: null,\r\n stateProvRegCode: null,\r\n stateProvRegId: null,\r\n postalCode: null,\r\n countryCode: null\r\n }\r\n },\r\n nonprofitIconImageUrl: null,\r\n nonprofitLogoImageUrl: null,\r\n nonprofitHeaderImageUrl: null,\r\n sdGs: [{\r\n sdgId: 1,\r\n givePercent: 0.6,\r\n volunteerPercent: 0.4,\r\n startDate: '',\r\n targets: [{\r\n sdgTargetId: 1,\r\n target: 'Some target',\r\n givePercent: 0.6,\r\n volunteerPercent: 0.4,\r\n startDate: '',\r\n endDate: ''\r\n }]\r\n }, {\r\n sdgId: 2,\r\n givePercent: 0.5,\r\n volunteerPercent: 0.5,\r\n startDate: '',\r\n targets: []\r\n }],\r\n subsectionCode: '3',\r\n isActive: true\r\n };\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { UntypedFormArray, UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\r\nimport { NonprofitSearchService } from '@core/components/nonprofit-search/nonprofit-search.service';\r\nimport { NonprofitSearchFacet } from '@core/models/npo.model';\r\nimport { SpinnerService } from '@core/services/spinner.service';\r\nimport { ALL_SKIP_FILTER, DebounceFactory, SearchByType, SearchFilter, SearchResult, TypeToken } from '@yourcause/common';\r\nimport { TypeaheadSelectOption } from '@yourcause/common/core-forms';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { uniqBy } from 'lodash';\r\nimport { from } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'yc-public-nonprofit-search',\r\n templateUrl: './public-nonprofit-search.component.html',\r\n styleUrls: ['./public-nonprofit-search.component.scss']\r\n})\r\nexport class PublicNonprofitSearchComponent implements OnInit {\r\n @Input() searchTerm: string;\r\n @Output() returnResults = new EventEmitter();\r\n\r\n formGroupTypeToken = new TypeToken();\r\n searchFiltersShowAll = false;\r\n searchFiltersShowChapters: boolean;\r\n searchFiltersRegAuth: string;\r\n searchFiltersCountry: string;\r\n searchFiltersState: string;\r\n searchType = SearchByType.TERM;\r\n SearchByType = SearchByType;\r\n loadingCountryOptions = true;\r\n loadingStateOptions = true;\r\n regAuthOptions: TypeaheadSelectOption[] = [];\r\n countryOptions: TypeaheadSelectOption[] = [];\r\n stateProvRegionOptions: TypeaheadSelectOption[] = [];\r\n searchFilters: SearchFilter[] = [];\r\n formArray: UntypedFormArray;\r\n searchForm: UntypedFormGroup;\r\n advancedFilterForm: UntypedFormGroup;\r\n facets: NonprofitSearchFacet;\r\n activeFacets: NonprofitSearchFacet;\r\n debounce: DebounceFactory = DebounceFactory.create(() => {\r\n return from(this.doSearch());\r\n }, 100);\r\n results: SearchResult[];\r\n placeholderText = this.i18n.translate(\r\n 'search:textSearchByNonprofitNameRegIdLocation',\r\n {},\r\n 'Search by Nonprofit Name, Registration ID or Location'\r\n );\r\n defaultRegAuthText = this.i18n.translate(\r\n 'search:textAllRegAuths',\r\n {},\r\n '-- All registration authorities --'\r\n );\r\n defaultCountryText = this.i18n.translate(\r\n 'search:textAllCountries',\r\n {},\r\n '-- All countries --'\r\n );\r\n defaultStateText = this.i18n.translate(\r\n 'search:textAllStateProvRegs',\r\n {},\r\n '-- All states, provinces or regions --'\r\n );\r\n\r\n constructor (\r\n private formBuilder: UntypedFormBuilder,\r\n private nonprofitSearchService: NonprofitSearchService,\r\n private i18n: I18nService,\r\n private spinnerService: SpinnerService\r\n ) { }\r\n\r\n ngOnInit () {\r\n this.searchForm = this.formBuilder.group({\r\n term: this.searchTerm || '',\r\n showChapters: false\r\n });\r\n this.advancedFilterForm = this.formBuilder.group({\r\n registrationAuthority: [this.searchFiltersRegAuth || ALL_SKIP_FILTER],\r\n country: [this.searchFiltersCountry || ALL_SKIP_FILTER],\r\n stateProvRegName: [this.searchFiltersState || ALL_SKIP_FILTER]\r\n });\r\n\r\n this.formArray = this.formBuilder.array([\r\n this.searchForm,\r\n this.advancedFilterForm\r\n ]);\r\n\r\n this._onTermChange();\r\n }\r\n\r\n async doSearch () {\r\n this.spinnerService.startSpinner();\r\n await this.nonprofitSearchService.searchByTerm();\r\n this.facets = this.nonprofitSearchService.allFacets;\r\n if (!this.searchFiltersRegAuth) {\r\n this.setRegAuthOptions(this.facets);\r\n }\r\n if (this.searchFiltersRegAuth && !this.searchFiltersCountry) {\r\n this.setCountryOptions(this.facets);\r\n }\r\n if (this.searchFiltersCountry && !this.searchFiltersState) {\r\n this.setStateOptions(this.facets);\r\n }\r\n this.spinnerService.stopSpinner();\r\n }\r\n\r\n _onTermChange = () => {\r\n this.searchTerm = this.searchForm.value.term;\r\n this.searchFiltersShowChapters = this.formArray.at(0).value.showChapters;\r\n this.nonprofitSearchService.setSearchType(this.searchType);\r\n this.nonprofitSearchService.setSearchTerm(this.searchTerm, this.searchType);\r\n this.nonprofitSearchService.setSearchFilters(\r\n this.searchFiltersShowAll,\r\n this.searchFiltersShowChapters,\r\n this.searchFiltersRegAuth,\r\n this.searchFiltersCountry,\r\n this.searchFiltersState\r\n );\r\n\r\n if (!!this.searchForm.value.term) {\r\n if (this.searchForm.value.term !== this.searchTerm) {\r\n this.clearAdvancedFilters();\r\n }\r\n this.debounce.exec(this.searchForm.value.term)\r\n .subscribe((results) => {\r\n if (results?.length <= 1\r\n &&\r\n !(this.searchFiltersRegAuth ||\r\n this.searchFiltersCountry ||\r\n this.searchFiltersState)\r\n ) {\r\n this.facets = null;\r\n }\r\n this.results = this.nonprofitSearchService.searchResults;\r\n this.returnResults.emit(this.nonprofitSearchService.searchResults);\r\n });\r\n } else if (!this.searchForm.value.term || this.searchForm.value.term === '') {\r\n this.clearAdvancedFilters();\r\n this.returnResults.emit([]);\r\n }\r\n };\r\n\r\n _changeType () {\r\n this.searchFiltersShowChapters = this.searchForm.value.showChapters;\r\n this.clearAdvancedFilters();\r\n this._onTermChange();\r\n }\r\n\r\n _changeFilter (\r\n event: string,\r\n type: 'regAuth'|'country'|'state'\r\n ) {\r\n if (event && type) {\r\n switch (type) {\r\n default:\r\n case 'regAuth':\r\n this.searchFiltersRegAuth = event;\r\n this.formArray.at(1).get('country').setValue(ALL_SKIP_FILTER);\r\n this.formArray.at(1).get('stateProvRegName').setValue(ALL_SKIP_FILTER);\r\n this.countryOptions = [];\r\n this.stateProvRegionOptions = [];\r\n this.searchFiltersCountry = '';\r\n this.searchFiltersState = '';\r\n this.loadingCountryOptions = true;\r\n break;\r\n case 'country':\r\n this.searchFiltersCountry = event;\r\n this.formArray.at(1).get('stateProvRegName').setValue(ALL_SKIP_FILTER);\r\n this.stateProvRegionOptions = [];\r\n this.searchFiltersState = '';\r\n this.loadingStateOptions = true;\r\n break;\r\n case 'state':\r\n this.searchFiltersState = event;\r\n break;\r\n }\r\n this._onTermChange();\r\n } else if (!event && type) {\r\n switch (type) {\r\n default:\r\n case 'regAuth':\r\n this.clearAdvancedFilters();\r\n break;\r\n case 'country':\r\n this.searchFiltersCountry = '';\r\n this.searchFiltersState = '';\r\n this.stateProvRegionOptions = [];\r\n this.formArray.at(1).get('country').setValue(ALL_SKIP_FILTER);\r\n this.formArray.at(1).get('stateProvRegName').setValue(ALL_SKIP_FILTER);\r\n this.loadingStateOptions = false;\r\n break;\r\n case 'state':\r\n this.searchFiltersState = '';\r\n this.formArray.at(1).get('stateProvRegName').setValue(ALL_SKIP_FILTER);\r\n break;\r\n }\r\n this._onTermChange();\r\n } else if (!event && !type) {\r\n this.returnResults.emit([]);\r\n this.clearAdvancedFilters();\r\n }\r\n }\r\n\r\n clearAdvancedFilters () {\r\n this.facets = null;\r\n this.regAuthOptions = [];\r\n this.countryOptions = [];\r\n this.stateProvRegionOptions = [];\r\n this.searchFiltersRegAuth = '';\r\n this.searchFiltersCountry = '';\r\n this.searchFiltersState = '';\r\n this.formArray.at(1).get('registrationAuthority').setValue(ALL_SKIP_FILTER);\r\n this.formArray.at(1).get('country').setValue(ALL_SKIP_FILTER);\r\n this.formArray.at(1).get('stateProvRegName').setValue(ALL_SKIP_FILTER);\r\n }\r\n\r\n setRegAuthOptions (facets: NonprofitSearchFacet) {\r\n this.regAuthOptions = [{\r\n label: this.defaultRegAuthText,\r\n value: ALL_SKIP_FILTER\r\n }];\r\n if (facets) {\r\n facets.registrationAuthority.forEach((facet) => {\r\n this.regAuthOptions.push({\r\n label: facet.value,\r\n value: facet.value\r\n });\r\n });\r\n this.regAuthOptions = uniqBy(this.regAuthOptions, (opt) => opt.label && opt.value);\r\n }\r\n }\r\n\r\n setCountryOptions (facets: NonprofitSearchFacet) {\r\n this.countryOptions = [{\r\n label: this.defaultCountryText,\r\n value: ALL_SKIP_FILTER\r\n }];\r\n if (facets) {\r\n facets.country.forEach((facet) => {\r\n this.countryOptions.push({\r\n label: facet.value,\r\n value: facet.value\r\n });\r\n });\r\n this.countryOptions = uniqBy(this.countryOptions, (opt) => opt.label && opt.value);\r\n this.loadingCountryOptions = false;\r\n }\r\n }\r\n\r\n setStateOptions (facets: NonprofitSearchFacet) {\r\n this.stateProvRegionOptions = [{\r\n label: this.defaultStateText,\r\n value: ALL_SKIP_FILTER\r\n }];\r\n if (facets) {\r\n facets.stateProvRegName.forEach((facet) => {\r\n this.stateProvRegionOptions.push({\r\n label: facet.value,\r\n value: facet.value\r\n });\r\n });\r\n this.stateProvRegionOptions = uniqBy(this.stateProvRegionOptions, (opt) => opt.label && opt.value);\r\n this.loadingStateOptions = false;\r\n }\r\n }\r\n\r\n get showClear () {\r\n return !!this.searchForm.value.term;\r\n }\r\n\r\n clearSearchAndResults = () => {\r\n this.searchForm.get('term').setValue('');\r\n this.returnResults.emit([]);\r\n this.clearAdvancedFilters();\r\n };\r\n}\r\n","
\r\n\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n 0 &&\r\n !loadingStateOptions\"\r\n [showClear]=\"false\"\r\n name=\"stateProvRegName\"\r\n [label]=\"'accountSetup:lblState' | ycI18n\"\r\n [srOnlyLabel]=\"true\"\r\n [items]=\"stateProvRegionOptions\"\r\n (onChange)=\"_changeFilter($event, 'state')\">\r\n \r\n
\r\n
","import { Injectable } from '@angular/core';\r\nimport { HttpRestService } from '@core/services/http-rest.service';\r\nimport { NotesAPI } from '@core/typings/api/notes.typing';\r\nimport { APIResult, PaginationOptions } from '@yourcause/common';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class NotesResources {\r\n\r\n constructor (\r\n private httpRestService: HttpRestService\r\n ) { }\r\n\r\n fetchNotesForTable (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n return this.httpRestService.post>(\r\n 'api/NonprofitNotes/GetNonprofitNotes',\r\n {\r\n paginationOptions\r\n }\r\n );\r\n }\r\n\r\n addNoteByNonprofitId (\r\n payload: NotesAPI.NoteBase,\r\n nonprofitId?: number\r\n ) {\r\n return this.httpRestService.post(\r\n `api/NonprofitNotes/AddNoteByNonprofitId?nonprofitId=${nonprofitId}`,\r\n payload\r\n );\r\n }\r\n\r\n editNote (payload: NotesAPI.NoteDisplay) {\r\n return this.httpRestService.post(\r\n 'api/NonprofitNotes/UpdateNote',\r\n payload\r\n );\r\n }\r\n\r\n deleteNote (id: number) {\r\n return this.httpRestService.post(\r\n `api/NonprofitNotes/DeleteNote?nonprofitNoteId=${id}`,\r\n {}\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { NonprofitAsset } from '@core/models/nonprofit-asset.model';\r\nimport { NotesAPI } from '@core/typings/api/notes.typing';\r\nimport { APIResponse, PaginationOptions } from '@yourcause/common';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { NotifierService } from '@yourcause/common/notifier';\r\nimport { AttachYCState, BaseYCService } from '@yourcause/common/state';\r\nimport { AssetManagementService } from '../asset-management/services/asset-management.service';\r\nimport { NotesResources } from './notes.resources';\r\nimport { NotesState } from './notes.state';\r\n\r\n@AttachYCState(NotesState)\r\n@Injectable({ providedIn: 'root' })\r\nexport class NotesService extends BaseYCService {\r\n\r\n constructor (\r\n private notesResources: NotesResources,\r\n private i18n: I18nService,\r\n private notifier: NotifierService,\r\n private assetManagementService: AssetManagementService\r\n ) {\r\n super();\r\n }\r\n\r\n get noteCount () {\r\n return this.get('noteCount');\r\n }\r\n\r\n get noteAssetMap () {\r\n return this.get('noteAssetMap');\r\n }\r\n\r\n setNoteCount (noteCount: number) {\r\n this.set('noteCount', noteCount);\r\n }\r\n\r\n setNoteAssetMap (map: NotesAPI.NoteAssetMap) {\r\n this.set('noteAssetMap', map);\r\n }\r\n\r\n async fetchNotesForTable (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n try {\r\n const response = this.notesResources.fetchNotesForTable(\r\n paginationOptions\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'admin:notificationErrorRetreivingNotes',\r\n {},\r\n 'There was an error retrieving notes'\r\n ));\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async editNote (payload: NotesAPI.NoteModalPayload) {\r\n try {\r\n const adaptedPayload: NotesAPI.NoteDisplay = {\r\n id: payload.id,\r\n noteType: payload.noteType,\r\n note: payload.note,\r\n assetId: payload.assetId,\r\n emailAddresses: payload.emailAddresses\r\n };\r\n await this.notesResources.editNote(adaptedPayload);\r\n this.notifier.success(\r\n this.i18n.translate(\r\n 'admin:textSuccessUpdatingNote',\r\n {},\r\n 'Successfully updated note'\r\n ));\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(\r\n this.i18n.translate(\r\n 'admin:textErrorUpdatingNote',\r\n {},\r\n 'There was an error updating the note'\r\n ));\r\n }\r\n }\r\n\r\n async addNote (\r\n payload: NotesAPI.NoteModalPayload,\r\n skipToastr?: boolean\r\n ) {\r\n try {\r\n const adaptedPayload: NotesAPI.NoteBase = {\r\n noteType: payload.noteType,\r\n note: payload.note,\r\n assetId: payload.assetId ? payload.assetId : null,\r\n emailAddresses: payload.emailAddresses\r\n };\r\n await this.notesResources.addNoteByNonprofitId(adaptedPayload, payload.nonprofitId);\r\n if (!skipToastr) {\r\n this.notifier.success(\r\n this.i18n.translate(\r\n 'admin:textSuccessAddingNote',\r\n {},\r\n 'Successfully added note'\r\n ));\r\n }\r\n this.setNoteCount(this.noteCount + 1);\r\n } catch (e) {\r\n console.error(e);\r\n if (!skipToastr) {\r\n this.notifier.error(\r\n this.i18n.translate(\r\n 'admin:textErrorAddingNote',\r\n {},\r\n 'There was an error adding the note'\r\n ));\r\n }\r\n }\r\n }\r\n\r\n async deleteNote (id: number) {\r\n try {\r\n await this.notesResources.deleteNote(id);\r\n this.notifier.success(\r\n this.i18n.translate(\r\n 'admin:textSuccessfullyDeletedNote',\r\n {},\r\n 'Successfully deleted note'\r\n ));\r\n this.setNoteCount(this.noteCount - 1);\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(\r\n this.i18n.translate(\r\n 'admin:textErrorDeletingNote',\r\n {},\r\n 'There was an error deleting the note'\r\n ));\r\n }\r\n }\r\n\r\n /**\r\n * Get note asset metadata.\r\n * @param assetId asset identity.\r\n * @returns\r\n */\r\n async fetchNoteAsset (assetId: string) {\r\n try {\r\n const response = await this.assetManagementService.getAssetById(assetId) as APIResponse;\r\n\r\n return response.data;\r\n } catch (e) {\r\n console.error(e);\r\n\r\n return this.notifier.error(\r\n this.i18n.translate(\r\n 'admin:textErrorFetchingAssetForNote',\r\n {},\r\n 'There was an error fetching the asset for this note'\r\n ));\r\n }\r\n }\r\n\r\n async getAssetFromMap (assetId: string) {\r\n const map = this.noteAssetMap;\r\n if (!map[assetId]) {\r\n const response = await this.assetManagementService.getAssetById(assetId) as APIResponse;\r\n this.setNoteAssetMap({\r\n ...map,\r\n [assetId]: response.data\r\n });\r\n\r\n return response.data;\r\n } else {\r\n return map[assetId];\r\n }\r\n }\r\n}\r\n","import { NotesAPI } from '@core/typings/api/notes.typing';\r\nimport { CachedAttr, CACHE_TYPES } from '@yourcause/common/cache';\r\nimport { BaseYcState, RegisterYCState } from '@yourcause/common/state';\r\n\r\n\r\n@RegisterYCState()\r\nexport class NotesState extends BaseYcState {\r\n @CachedAttr(CACHE_TYPES.SESSION)\r\n readonly noteCount = 0 as number;\r\n\r\n readonly noteAssetMap: NotesAPI.NoteAssetMap = {};\r\n}\r\n","/* eslint-disable brace-style */\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { YCModalComponent } from '@yourcause/common/modals';\r\n\r\n///\r\n/// Component/modal that allows answering or editing of custom responses to persona questions that have answers that allow custom responses.\r\n///\r\n\r\n@Component({\r\n selector: 'yc-add-edit-persona-answer-custom-response-modal',\r\n templateUrl: './add-edit-persona-answer-custom-response-modal.component.html',\r\n styleUrls: ['./add-edit-persona-answer-custom-response-modal.component.scss']\r\n})\r\n\r\nexport class AddEditPersonaAnswerCustomResponseModalComponent extends YCModalComponent implements OnInit {\r\n // the question the answer being added/edited belongs to\r\n @Input() systemQuestion: string;\r\n\r\n // the answer that is being added/edited\r\n @Input() systemAnswer: string;\r\n\r\n // the current custom response for the answer\r\n @Input() customResponse: string;\r\n\r\n @Input() newUserForUnansweredQuestions: boolean = false;\r\n\r\n // title for the modal\r\n title: string;\r\n\r\n // the form for the custom response for the answer\r\n personaSystemAnswerCustomResponseForm: UntypedFormGroup;\r\n\r\n // will hold the primary button text\r\n primaryButtonText: string;\r\n\r\n // will hold the cancel button text\r\n cancelButtonText: string;\r\n\r\n constructor (\r\n public formBuilder: UntypedFormBuilder,\r\n private i18nService: I18nService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit () {\r\n // make it such that when editing or adding an answer, a response is required\r\n this.personaSystemAnswerCustomResponseForm = this.formBuilder.group({\r\n userCustomResponse: [this.customResponse || '', Validators.required]\r\n });\r\n }\r\n\r\n buildTitleForModal () {\r\n // Signing up - Title should show 'Set Up Your Profile'\r\n if (this.newUserForUnansweredQuestions) {\r\n this.title = this.i18nService.translate(\r\n 'account:SetUpYourProfile',\r\n {},\r\n 'Set Up Your Profile'\r\n )\r\n }\r\n // Other areas - Title should show 'Update Your Profile'\r\n else {\r\n this.title = this.i18nService.translate(\r\n 'account:UpdateYourProfile',\r\n {},\r\n 'Update Your Profile'\r\n );\r\n }\r\n }\r\n\r\n // user opts to not save their new answer or their update to existing answer\r\n _onCancel () {\r\n this.closeModal.emit();\r\n }\r\n\r\n // user opts to save their new answer or their update to existing answer\r\n _onSubmit () {\r\n this.closeModal.emit(this.personaSystemAnswerCustomResponseForm.value.userCustomResponse);\r\n }\r\n}\r\n","\r\n\r\n
\r\n {{ systemQuestion }}\r\n
\r\n
\r\n \r\n \r\n
\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { PersonaTypings } from '@core/typings/persona.typing';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { YCModalComponent } from '@yourcause/common/modals';\r\n\r\n///\r\n/// Component places the PersonaQuestionAndAnswersComponent into a modal to allow for editing/adding of responses.\r\n/// AddEditPersonaAnswersModalComponent is used for the MyNonprofits area and for a user's unanswered questions when logging in\r\n///\r\n\r\n@Component({\r\n selector: 'yc-add-edit-persona-answers-modal',\r\n templateUrl: './add-edit-persona-answers-modal.component.html',\r\n styleUrls: ['./add-edit-persona-answers-modal.component.scss']\r\n})\r\n\r\nexport class AddEditPersonaAnswersModalComponent extends YCModalComponent implements OnInit {\r\n // Will either be User or Nonprofit\r\n // User: when a user has unanswered questions and they are logging in\r\n // Nonprofit: when a user is modifying their responses to a particular nonprofit\r\n @Input() personaQuestionAndAnswerType: PersonaTypings.PersonaQuestionAndAnswerTypes;\r\n\r\n // The specific org the personaQuestionAndAnswerType corresponds to when it is Nonprofit and not User\r\n @Input() nonprofitId?: number;\r\n @Input() nonprofitName?: string = null;\r\n\r\n @Input() unansweredQuestionsOnly: boolean = false;\r\n\r\n @Input() newUser: boolean = false;\r\n\r\n // When personaQuestionAndAnswerType is User, the primary won't be enable until all questions have responses.\r\n // This is always false if the personaQuestionAndAnswerType is Nonprofit\r\n primaryDisabled: boolean = true;\r\n\r\n title: string = '';\r\n\r\n helpLink = 'https://webfiles.blackbaud.com/files/support/helpfiles/npoconnect/content/npo-manage-your-profile.html';\r\n\r\n constructor (\r\n private i18n: I18nService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit () {\r\n this.title = this.newUser ?\r\n // Unanswered Questions for new users\r\n this.i18n.translate(\r\n 'account:SetUpYourProfile',\r\n {},\r\n 'Set Up Your Profile'\r\n ) :\r\n // Unanswered Questions for existing users\r\n // MyNonprofits - Update your profile nonprofit action\r\n this.i18n.translate(\r\n 'account:UpdateYourProfile',\r\n {},\r\n 'Update Your Profile'\r\n );\r\n\r\n this.primaryDisabled = this.unansweredQuestionsOnly ?\r\n true :\r\n false;\r\n }\r\n\r\n setPrimaryDisabled (primaryDisabled: boolean) {\r\n if (!this.unansweredQuestionsOnly) {\r\n this.primaryDisabled = false;\r\n } else {\r\n this.primaryDisabled = primaryDisabled;\r\n }\r\n }\r\n\r\n // closes the modal; presented only if personaQuestionAndAnswerType is Nonprofit\r\n _goBack () {\r\n this.closeModal.emit();\r\n }\r\n\r\n // closes the modal and will lead to user being signed in; presented only if personaQuestionAndAnswerType is User and all unanswered questions have responses\r\n _signIn () {\r\n this.closeModal.emit(true);\r\n }\r\n}\r\n","\r\n\r\n \r\n\r\n","/* eslint-disable brace-style */\r\nimport { Component, Input, OnInit, OnDestroy, Output, EventEmitter } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { FeatureFlagService } from '@core/services/feature-flag/feature-flag.service';\r\nimport { PersonaQuestionAndAnswersForComponent, PersonaService } from '@core/services/persona.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { PersonaTypings } from '@core/typings/persona.typing';\r\nimport { PanelTypes } from '@yourcause/common/panel';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\n\r\n///\r\n/// Component used to house Persona Questions and Answers.\r\n/// Shown on the MyAccount Page, MyNonprofits Items, within the flow for Nonprofit Administrator Requests\r\n///\r\n@Component({\r\n selector: 'yc-persona-question-and-answers',\r\n templateUrl: './question-and-answers.component.html',\r\n styleUrls: ['./question-and-answers.component.scss']\r\n})\r\n\r\nexport class PersonaQuestionAndAnswersComponent implements OnInit, OnDestroy {\r\n // Determine the source of the user's answers; at which level-- User, Nonprofit, Staged Nonprofit\r\n @Input() personaQuestionAndAnswerType: PersonaTypings.PersonaQuestionAndAnswerTypes;\r\n\r\n // Potential Nonprofit of user's answers\r\n @Input() nonprofitId?: number;\r\n // Potential Nonprofit of user's answers\r\n @Input() nonprofitName?: string;\r\n\r\n // Potential Staged Nonprofit of user's answers\r\n @Input() stagedNonprofitId?: number;\r\n\r\n // If being viewed\r\n @Input() viewOnly: boolean = false;\r\n\r\n // If being reviewed\r\n @Input() beingReviewed: boolean = false;\r\n // User belonging to the nonprofit admin request being reviewed\r\n @Input() userId?: number;\r\n // Nonprofit admin request being reviewed; below seem redundant, but we do not have Id for new NARs being created\r\n @Input() nonprofitAdminRequestId?: number;\r\n @Input() adminRequest?: boolean = false;\r\n\r\n // Whether only unanswered questions should be shown\r\n @Input() unansweredQuestionsOnly: boolean = false;\r\n\r\n // Whether only unanswered questions should be shown\r\n @Input() newUserForUnansweredQuestions: boolean = false;\r\n\r\n // used to disable button for unanswered\r\n @Output() addEditModalButtonDisabled = new EventEmitter();\r\n\r\n // form for the persona questions and answers\r\n personaForm: UntypedFormGroup;\r\n\r\n // feature flag\r\n personaQuestionsAnswersEnabled = this.featureFlagService.systemQuestionsFlagValue;\r\n\r\n // data used to build the component when in use in various places throughout NPOconnect\r\n personaQuestionsAndAnswersData: PersonaQuestionAndAnswersForComponent[];\r\n\r\n // subscription for data used to build the component\r\n sub = new Subscription();\r\n\r\n panelType = PanelTypes.FormSectionHeader;\r\n title: string;\r\n description: string;\r\n descriptionForComponentInModalUse: string = null;\r\n\r\n constructor (\r\n public formBuilder: UntypedFormBuilder,\r\n private featureFlagService: FeatureFlagService,\r\n private personaService: PersonaService,\r\n private i18nService: I18nService\r\n ) {}\r\n\r\n ngOnInit () {\r\n this.buildTitleAndDescription();\r\n\r\n // build a form with no controls; controls will be added dynamically based on use case.\r\n this.personaForm = this.formBuilder.group({});\r\n\r\n // subscribe to the data used to populated the component\r\n this.sub.add(\r\n this.personaService.changesTo$('personaQuestionsAndAnswersData')\r\n .subscribe((data) => {\r\n this.personaQuestionsAndAnswersData = data;\r\n\r\n // adds the controls to the form\r\n this.buildPersonaQuestionsAndAnswers();\r\n\r\n // persona questions and answers are view only at the moment when looking at an admin request\r\n // this includes a user viewing or reviewing\r\n if (this.viewOnly) {\r\n this.personaForm.disable();\r\n }\r\n\r\n if (this.unansweredQuestionsOnly) {\r\n this.emitAddEditModalButtonDisabledEvent();\r\n }\r\n })\r\n )\r\n\r\n // set the data for the service/component's use\r\n const personaServiceDetails: PersonaTypings.PersonaServiceDetails = {\r\n nonprofitId: this.nonprofitId,\r\n stagedNonprofitId: this.stagedNonprofitId,\r\n userId: this.userId,\r\n nonprofitAdminRequestId: this.nonprofitAdminRequestId,\r\n beingReviewed: this.beingReviewed,\r\n unansweredQuestionsOnly: this.unansweredQuestionsOnly\r\n };\r\n\r\n this.personaService.setPersonaAnswers(personaServiceDetails);\r\n }\r\n\r\n // emits if there are remaining questions unanswered\r\n emitAddEditModalButtonDisabledEvent () {\r\n if (this.unansweredQuestionsOnly) {\r\n if (this.personaForm?.controls && Object.keys(this.personaForm.controls).length > 0) {\r\n let allQuestionsAnswered = true;\r\n\r\n Object.keys(this.personaForm.controls).forEach(formFieldName => {\r\n const questionAndAnswersControl = this.personaForm.get(formFieldName);\r\n\r\n let questionAnswered = false;\r\n\r\n if (questionAndAnswersControl) {\r\n let formFieldValue = questionAndAnswersControl.value;\r\n\r\n if (Array.isArray(formFieldValue) && formFieldValue.length > 0) {\r\n questionAnswered = true;\r\n } else if (typeof formFieldValue === 'number' && formFieldValue > 0) {\r\n questionAnswered = true;\r\n }\r\n }\r\n\r\n allQuestionsAnswered = allQuestionsAnswered && questionAnswered\r\n });\r\n\r\n this.addEditModalButtonDisabled.emit(!allQuestionsAnswered);\r\n } else {\r\n this.addEditModalButtonDisabled.emit(false);\r\n }\r\n } else {\r\n this.addEditModalButtonDisabled.emit(false);\r\n }\r\n }\r\n\r\n // Handles when a custom response edited\r\n async editCustomResponsePersonaAnswer (\r\n systemAnswerId: number,\r\n userSystemAnswerId: number,\r\n currentCustomResponse: string,\r\n personaUserAnswers: PersonaTypings.PersonaUserAnswers\r\n | PersonaTypings.PersonaUserNonprofitAnswers\r\n | PersonaTypings.PersonaUserStagedNonprofitAnswers\r\n | PersonaTypings.PersonaUserNonprofitAnswersForReview\r\n | PersonaTypings.PersonaUserStagedNonprofitAnswersForReview\r\n ) {\r\n const personaQuestionAndAnswerTypeWithDetails: PersonaTypings.PersonaQuestionAndAnswerTypeWithDetails = {\r\n personaQuestionAndAnswerType: this.personaQuestionAndAnswerType,\r\n nonprofitId: this.nonprofitId,\r\n stagedNonprofitId: this.stagedNonprofitId,\r\n userId: this.userId,\r\n nonprofitAdminRequestId: this.nonprofitAdminRequestId,\r\n beingReviewed: this.beingReviewed\r\n };\r\n\r\n await this.personaService.editCustomResponsePersonaUserAnswer(\r\n personaUserAnswers,\r\n systemAnswerId,\r\n userSystemAnswerId,\r\n personaQuestionAndAnswerTypeWithDetails,\r\n currentCustomResponse\r\n );\r\n }\r\n\r\n // Handles when an answer is changed\r\n async onAnswerUpdate (\r\n response: number|number[],\r\n personaQuestionsAndAnswers: PersonaTypings.PersonaQuestionAndAnswers,\r\n personaUserAnswers: PersonaTypings.PersonaUserAnswers\r\n | PersonaTypings.PersonaUserNonprofitAnswers\r\n | PersonaTypings.PersonaUserStagedNonprofitAnswers\r\n | PersonaTypings.PersonaUserNonprofitAnswersForReview\r\n | PersonaTypings.PersonaUserStagedNonprofitAnswersForReview\r\n ) {\r\n if (!this.viewOnly && response) {\r\n const personaQuestionAndAnswerTypeWithDetails: PersonaTypings.PersonaQuestionAndAnswerTypeWithDetails = {\r\n personaQuestionAndAnswerType: this.personaQuestionAndAnswerType,\r\n nonprofitId: this.nonprofitId,\r\n stagedNonprofitId: this.stagedNonprofitId,\r\n userId: this.userId,\r\n nonprofitAdminRequestId: this.nonprofitAdminRequestId,\r\n beingReviewed: this.beingReviewed\r\n };\r\n\r\n await this.personaService.onPersonaAnswerUpdate(\r\n response,\r\n personaQuestionsAndAnswers,\r\n personaUserAnswers,\r\n personaQuestionAndAnswerTypeWithDetails,\r\n this.unansweredQuestionsOnly\r\n );\r\n\r\n if (this.unansweredQuestionsOnly) {\r\n this.emitAddEditModalButtonDisabledEvent();\r\n }\r\n }\r\n }\r\n\r\n private buildTitleAndDescription () {\r\n // Unanswered Questions - When a user signs in or signs up (uses modal)\r\n if (this.unansweredQuestionsOnly) {\r\n // Signing up\r\n if (this.newUserForUnansweredQuestions) {\r\n this.descriptionForComponentInModalUse = this.i18nService.translate(\r\n 'account:newUserForUnansweredQuestionsPersona',\r\n {},\r\n 'Share how you\\'ll use NPOconnect to help us provide relevant information and insights to your nonprofit. Your answers won\\'t affect the actions you can take in NPOconnect and will not be visible to others. You can update them at any time in My Account and My Nonprofits after claiming your nonprofit.'\r\n );\r\n }\r\n // Signing in\r\n else {\r\n this.descriptionForComponentInModalUse = this.i18nService.translate(\r\n 'account:notNewUserForUnansweredQuestionsPersona',\r\n {},\r\n 'We\\'ve added a new profile feature that lets you share how you use NPOconnect. Your answers help us provide relevant insights to your nonprofit. They won\\'t affect the actions you can take or be visible to others. These answers apply to any nonprofits you administer. If they differ for specific nonprofits, you can update them in My Nonprofits later.'\r\n );\r\n }\r\n\r\n this.title = null;\r\n this.description = null;\r\n }// MyAccounts - Area with other account related forms (no modal used)\r\n else if (!this.nonprofitId && !this.stagedNonprofitId) {\r\n this.title = this.i18nService.translate(\r\n 'account:myProfile',\r\n {},\r\n 'My Profile'\r\n );\r\n\r\n this.description = this.i18nService.translate(\r\n 'account:myProfilePersonaDescription',\r\n {},\r\n 'Share how you use NPOconnect to help us provide relevant information and insights for your nonprofits. Your responses do not impact your access to NPOconnect and are not shared with others. You can update your responsibilities for specific nonprofits in My Nonprofits.'\r\n );\r\n\r\n this.descriptionForComponentInModalUse = null;\r\n }\r\n // MyNonprofits - Update your profile nonprofit action (uses modal)\r\n else if (this.nonprofitId && !this.adminRequest) {\r\n this.descriptionForComponentInModalUse = this.i18nService.translate(\r\n 'account:myNonprofitsPersonaDescription',\r\n {\r\n nonprofitName: this.nonprofitName\r\n },\r\n 'Share how you\\'re using NPOconnect for __nonprofitName__ to help us provide relevant information and insights. Your answers won\\'t affect your role for this nonprofit or your access to NPOconnect. Responses are not visible to others.'\r\n );\r\n\r\n this.title = null;\r\n this.description = null;\r\n }\r\n // Nonprofit Admin Requests - Used within NAR accordian (no modal used)\r\n else if ((this.nonprofitId || this.stagedNonprofitId) && this.adminRequest) {\r\n this.title = null;\r\n this.description = null;\r\n this.descriptionForComponentInModalUse = null;\r\n }\r\n }\r\n\r\n // builds the questions and answers of the form\r\n private buildPersonaQuestionsAndAnswers () {\r\n this.personaQuestionsAndAnswersData?.map((data) => {\r\n var formFieldName = data.formFieldName;\r\n var userAnswersToQuestion = data.personaUserAnswers;\r\n var questionAndAnswers = data.personaQuestionsAndAnswers;\r\n\r\n // if the question allows mutliple responses\r\n if (questionAndAnswers.allowsMultipleResponses) {\r\n this.buildPersonaQuestionsAndAnswers_MultiAnswerResponse(formFieldName, questionAndAnswers, userAnswersToQuestion)\r\n } else { // if the question is a single response\r\n this.buildPersonaQuestionsAndAnswers_SingleAnswerResponse(formFieldName, questionAndAnswers, userAnswersToQuestion)\r\n }\r\n });\r\n }\r\n\r\n // build single response question and answers\r\n private buildPersonaQuestionsAndAnswers_SingleAnswerResponse (\r\n formFieldName: string,\r\n questionAndAnswers: PersonaTypings.PersonaQuestionAndAnswers,\r\n userAnswersToQuestion: PersonaTypings.PersonaUserAnswers\r\n | PersonaTypings.PersonaUserNonprofitAnswers\r\n | PersonaTypings.PersonaUserStagedNonprofitAnswers\r\n | PersonaTypings.PersonaUserNonprofitAnswersForReview\r\n | PersonaTypings.PersonaUserStagedNonprofitAnswersForReview\r\n ) {\r\n if (this.unansweredQuestionsOnly) {\r\n if (!(userAnswersToQuestion?.systemAnswers?.length > 0)) {\r\n this.buildPersonaQuestionAndAnswers_addControl(formFieldName, '', true);\r\n }\r\n } else {\r\n if (userAnswersToQuestion?.systemAnswers?.length > 0) {\r\n let usersAnswerToTheQuestion = userAnswersToQuestion.systemAnswers[0].systemAnswerId;\r\n\r\n this.buildPersonaQuestionAndAnswers_addControl(formFieldName, usersAnswerToTheQuestion);\r\n } else {\r\n this.buildPersonaQuestionAndAnswers_addControl(formFieldName, '');\r\n }\r\n }\r\n }\r\n\r\n // build multi response question and answers\r\n private buildPersonaQuestionsAndAnswers_MultiAnswerResponse (\r\n formFieldName: string,\r\n questionAndAnswers: PersonaTypings.PersonaQuestionAndAnswers,\r\n userAnswersToQuestion: PersonaTypings.PersonaUserAnswers\r\n | PersonaTypings.PersonaUserNonprofitAnswers\r\n | PersonaTypings.PersonaUserStagedNonprofitAnswers\r\n | PersonaTypings.PersonaUserNonprofitAnswersForReview\r\n | PersonaTypings.PersonaUserStagedNonprofitAnswersForReview\r\n ) {\r\n if (this.unansweredQuestionsOnly) {\r\n if (!(userAnswersToQuestion?.systemAnswers?.filter(x => !Number.isNaN(x.systemAnswerId))?.length > 0)) {\r\n this.buildPersonaQuestionAndAnswers_addControl(formFieldName, [], true);\r\n }\r\n } else {\r\n let formControlValue = null;\r\n\r\n if (userAnswersToQuestion?.systemAnswers?.filter(x => !Number.isNaN(x.systemAnswerId) && x.systemAnswerId !== undefined)?.length > 0) {\r\n formControlValue = userAnswersToQuestion.systemAnswers\r\n .filter(x => !Number.isNaN(x.systemAnswerId)\r\n && x.systemAnswerId !== undefined)\r\n .map(x => x.systemAnswerId);\r\n }\r\n\r\n if (formControlValue && formControlValue.length > 0) {\r\n this.buildPersonaQuestionAndAnswers_addControl(formFieldName, formControlValue);\r\n } else {\r\n this.buildPersonaQuestionAndAnswers_addControl(formFieldName, []);\r\n }\r\n }\r\n }\r\n\r\n // adds the control to the form and specifies if required or not or will update value if existing\r\n private buildPersonaQuestionAndAnswers_addControl (\r\n formFieldName: string,\r\n usersAnswerToTheQuestion: any,\r\n requireAnswer: boolean = false\r\n ) {\r\n // if control exists\r\n if (this.personaForm.contains(formFieldName)) {\r\n if (typeof usersAnswerToTheQuestion === 'number') {\r\n if (usersAnswerToTheQuestion != this.personaForm.get(formFieldName).value) {\r\n this.personaForm.get(formFieldName).setValue(usersAnswerToTheQuestion);\r\n }\r\n } else if (Array.isArray(usersAnswerToTheQuestion)) {\r\n const answersDiffer = this.personaService.haveMultiResponseQuestionAnswersChanged(this.personaForm.get(formFieldName).value, usersAnswerToTheQuestion);\r\n if (answersDiffer) {\r\n this.personaForm.get(formFieldName).setValue(usersAnswerToTheQuestion);\r\n }\r\n } else {\r\n this.personaForm.get(formFieldName).setValue('');\r\n }\r\n } else { // if control doesn't exist\r\n if (requireAnswer) { // if required\r\n this.personaForm.addControl(formFieldName, this.formBuilder.control(usersAnswerToTheQuestion, Validators.required));\r\n } else { // if not required\r\n this.personaForm.addControl(formFieldName, this.formBuilder.control(usersAnswerToTheQuestion));\r\n }\r\n }\r\n }\r\n\r\n // unsubscribe\r\n ngOnDestroy () {\r\n this.sub.unsubscribe();\r\n\r\n if (this.adminRequest && this.userId && (this.nonprofitId || this.stagedNonprofitId) && !this.beingReviewed && !this.viewOnly) {\r\n const personaQuestionAndAnswerTypeWithDetails: PersonaTypings.PersonaQuestionAndAnswerTypeWithDetails = {\r\n personaQuestionAndAnswerType: this.personaQuestionAndAnswerType,\r\n nonprofitId: this.nonprofitId,\r\n stagedNonprofitId: this.stagedNonprofitId,\r\n userId: this.userId,\r\n nonprofitAdminRequestId: this.nonprofitAdminRequestId,\r\n beingReviewed: this.beingReviewed\r\n };\r\n\r\n this.personaService.addUserSystemAnswersForNonprofitAdminRequest(personaQuestionAndAnswerTypeWithDetails);\r\n }\r\n\r\n this.personaService.clearComponentData();\r\n }\r\n}\r\n","
\r\n
0\"\r\n class=\"container-fluid p-0\">\r\n \r\n \r\n
\r\n {{descriptionForComponentInModalUse}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n {{questionInfo.customResponseForQuestion}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
","import { inject } from '@angular/core';\r\nimport { FeatureFlagService } from '@core/services/feature-flag/feature-flag.service';\r\nimport { ResolveFn } from '@angular/router';\r\n\r\nexport const featureFlagResolver: ResolveFn = async () => {\r\n await inject(FeatureFlagService).getAllFeatureFlagsLookup();\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ReleaseNoteAcknowledgement, ReleaseNoteForUser, ReleaseNotePayload } from '@core/models/release-notes.model';\r\nimport { HttpRestService } from '@core/services/http-rest.service';\r\nimport { APIResponse, APIResult, PaginationOptions } from '@yourcause/common';\r\nimport { map } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ReleaseNotesResources {\r\n\r\n constructor (\r\n private http: HttpClient,\r\n private httpRestService: HttpRestService\r\n ) { }\r\n\r\n getCurrentReleaseAcknowledgement () {\r\n return this.http.get>(\r\n 'api/ReleaseAcknowledgement/GetCurrentReleaseAcknowledgement'\r\n ).pipe(map((response) => {\r\n return response.data;\r\n }));\r\n }\r\n\r\n setReleaseAcknowledged (releaseID: number) {\r\n const endpoint = `api/ReleaseAcknowledgement/SetReleaseAcknowledged?releaseId=${releaseID}`;\r\n\r\n return this.http.post(\r\n endpoint,\r\n {}\r\n ).pipe(map(() => true));\r\n }\r\n\r\n async getReleaseList (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n return this.httpRestService.post>(\r\n 'api/release/all',\r\n {\r\n paginationOptions\r\n }\r\n );\r\n }\r\n\r\n createRelease (\r\n payload: ReleaseNotePayload\r\n ): Promise {\r\n const endpoint = 'api/release';\r\n\r\n return this.httpRestService.post(\r\n endpoint,\r\n payload\r\n );\r\n }\r\n\r\n updateRelease (\r\n payload: ReleaseNotePayload\r\n ): Promise {\r\n const endpoint = 'api/release';\r\n\r\n return this.httpRestService.put(\r\n endpoint,\r\n payload\r\n );\r\n }\r\n\r\n deleteRelease (\r\n releaseId: number\r\n ): Promise {\r\n const endpoint = `api/release/${releaseId}`;\r\n\r\n return this.httpRestService.delete(endpoint);\r\n }\r\n\r\n async getListOfReleasesForUser (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n return this.httpRestService.post>(\r\n 'api/release/user',\r\n {\r\n paginationOptions\r\n }\r\n );\r\n }\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { ManageReleaseNotePayload, ManageReleaseNotesModalResponse, ReleaseNoteAcknowledgement, ReleaseNotePayload, ReleaseNotesModalScenario } from '@core/models/release-notes.model';\r\nimport { PaginationOptions } from '@yourcause/common';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { NotifierService } from '@yourcause/common/notifier';\r\nimport { ReleaseNotesResources } from './release-notes.resources';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ReleaseNotesService {\r\n ReleaseNotesModalScenario = ReleaseNotesModalScenario;\r\n\r\n constructor (\r\n private notifier: NotifierService,\r\n private i18n: I18nService,\r\n private releaseNotesResources: ReleaseNotesResources\r\n ) { }\r\n\r\n getCurrentReleaseAcknowledgement (): Observable {\r\n return this.releaseNotesResources.getCurrentReleaseAcknowledgement();\r\n }\r\n\r\n setReleaseAcknowledged (releaseID: number) {\r\n try {\r\n const response = this.releaseNotesResources.setReleaseAcknowledged(releaseID);\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getReleaseList (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n const response = await this.releaseNotesResources.getReleaseList(\r\n paginationOptions\r\n );\r\n\r\n return response;\r\n }\r\n\r\n async handleManageReleaseNoteModalResponse (\r\n payload: ManageReleaseNotesModalResponse,\r\n deps: {\r\n context: ReleaseNotesModalScenario;\r\n release: ManageReleaseNotePayload;\r\n }\r\n ) {\r\n const releaseNotePayload: ManageReleaseNotePayload = {\r\n version: payload.manageReleaseNotesPayload.version,\r\n releaseDate: payload.manageReleaseNotesPayload.releaseDate,\r\n startDate: payload.manageReleaseNotesPayload.startDate,\r\n endDate: payload.manageReleaseNotesPayload.endDate,\r\n description: payload.manageReleaseNotesPayload.description,\r\n userReleaseNoteUrl: payload.manageReleaseNotesPayload.userReleaseNoteUrl,\r\n adminReleaseNoteUrl: payload.manageReleaseNotesPayload.adminReleaseNoteUrl\r\n };\r\n if (deps.context === ReleaseNotesModalScenario.EDIT) {\r\n releaseNotePayload.id = deps.release.id;\r\n\r\n return this.updateRelease(releaseNotePayload);\r\n } else {\r\n return this.createRelease(releaseNotePayload);\r\n }\r\n }\r\n\r\n async createRelease (payload: ReleaseNotePayload) {\r\n try {\r\n await this.releaseNotesResources.createRelease(payload);\r\n this.notifier.success(this.i18n.translate(\r\n 'platformAdmin:notificationSuccessCreatingReleaseNotes',\r\n {},\r\n 'Successfully created release notes'\r\n ));\r\n } catch (e) {\r\n this.notifier.error(this.i18n.translate(\r\n 'platformAdmin:notificationErrorCreatingReleaseNotes',\r\n {},\r\n 'There was an error creating release notes'\r\n ));\r\n throw e;\r\n }\r\n }\r\n\r\n async updateRelease (payload: ReleaseNotePayload) {\r\n try {\r\n await this.releaseNotesResources.updateRelease(payload);\r\n this.notifier.success(this.i18n.translate(\r\n 'platformAdmin:notificationSuccessUpdatingReleaseNotes',\r\n {},\r\n 'Successfully updated release notes'\r\n ));\r\n } catch (e) {\r\n this.notifier.error(this.i18n.translate(\r\n 'platformAdmin:notificationErrorUpdatingReleaseNotes',\r\n {},\r\n 'There was an error updating release notes'\r\n ));\r\n throw e;\r\n }\r\n }\r\n\r\n async deleteRelease (releaseId: number) {\r\n try {\r\n await this.releaseNotesResources.deleteRelease(releaseId);\r\n this.notifier.success(this.i18n.translate(\r\n 'platformAdmin:notificationSuccessDeletingReleaseNotes',\r\n {},\r\n 'Successfully deleted release notes'\r\n ));\r\n } catch (e) {\r\n this.notifier.error(this.i18n.translate(\r\n 'platformAdmin:notificationErrorDeletingReleaseNotes',\r\n {},\r\n 'There was an error deleting release notes'\r\n ));\r\n throw e;\r\n }\r\n }\r\n\r\n async getListOfReleasesForUser (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n try {\r\n const response = await this.releaseNotesResources.getListOfReleasesForUser(\r\n paginationOptions\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n throw e;\r\n }\r\n }\r\n}\r\n","import { inject } from '@angular/core';\r\nimport { ProgramsService } from './programs.service';\r\nimport { ResolveFn } from '@angular/router';\r\n\r\nexport const programTypesResolver: ResolveFn = async () => {\r\n await inject(ProgramsService).getProgramTypes();\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRestService } from '@core/services/http-rest.service';\r\nimport { CreateProgramRequestModel, GetAllProgramsReturnModelPagination, ProgramReturnModel, ProgramTypeModel, UpdateProgramRequestModel } from '@core/typings/programs.typing';\r\nimport { APIResponse, APIResult, PaginationOptions } from '@yourcause/common';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ProgramsResources {\r\n\r\n constructor (\r\n private httpRestService: HttpRestService\r\n ) { }\r\n\r\n async getAllPrograms (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n const endpoint = 'api/Program/GetAllPrograms';\r\n\r\n return this.httpRestService.post>(\r\n endpoint,\r\n {\r\n paginationOptions\r\n }\r\n );\r\n }\r\n\r\n async getProgramTypes () {\r\n const endpoint = 'api/Program/GetProgramTypes';\r\n\r\n return this.httpRestService.get>(\r\n endpoint\r\n );\r\n }\r\n\r\n async createProgram (program: CreateProgramRequestModel) {\r\n const endpoint = 'api/Program/CreateProgram';\r\n\r\n return this.httpRestService.post>(\r\n endpoint,\r\n program\r\n );\r\n }\r\n\r\n async updateProgram (program: UpdateProgramRequestModel) {\r\n const endpoint = 'api/Program/UpdateProgram';\r\n\r\n return this.httpRestService.post>(\r\n endpoint,\r\n program\r\n );\r\n }\r\n\r\n async deleteProgram (id: number) {\r\n const endpoint = 'api/Program/DeleteProgram';\r\n\r\n return this.httpRestService.post>(\r\n endpoint,\r\n {\r\n id\r\n }\r\n );\r\n }\r\n\r\n async publishProgram (id: number) {\r\n const endpoint = 'api/Program/PublishProgram';\r\n\r\n return this.httpRestService.post>(\r\n endpoint,\r\n {\r\n id\r\n }\r\n );\r\n }\r\n\r\n async unPublishProgram (id: number) {\r\n const endpoint = 'api/Program/UnPublishProgram';\r\n\r\n return this.httpRestService.post>(\r\n endpoint,\r\n {\r\n id\r\n }\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CreateProgramRequestModel, GetAllProgramsReturnModelPagination, ProgramModalResponse, ProgramTypeModel, UpdateProgramRequestModel } from '@core/typings/programs.typing';\r\nimport { APIResponse, PaginationOptions } from '@yourcause/common';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { NotifierService } from '@yourcause/common/notifier';\r\nimport { AttachYCState, BaseYCService } from '@yourcause/common/state';\r\nimport { AssetManagementService } from '../asset-management/services/asset-management.service';\r\nimport { ProgramsResources } from './programs.resources';\r\nimport { ProgramsState } from './programs.state';\r\nimport { YcFile } from '@yourcause/common/files';\r\n\r\n@AttachYCState(ProgramsState)\r\n@Injectable({ providedIn: 'root' })\r\nexport class ProgramsService extends BaseYCService {\r\n errorRetrievingDataText = this.i18n.translate(\r\n 'common:notificationErrorRetreivingData',\r\n {},\r\n 'There was an error retrieving the data'\r\n );\r\n\r\n constructor (\r\n private programsResources: ProgramsResources,\r\n private assetManagementService: AssetManagementService,\r\n private i18n: I18nService,\r\n private notifier: NotifierService\r\n ) {\r\n super();\r\n }\r\n\r\n get programTypes (): ProgramTypeModel[] {\r\n return this.get('programTypes');\r\n }\r\n\r\n setProgramTypes (apiResponse: APIResponse) {\r\n const types = apiResponse.data;\r\n this.set('programTypes', types);\r\n }\r\n\r\n async getAllPrograms (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n try {\r\n const response = await this.programsResources.getAllPrograms(\r\n paginationOptions\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.errorRetrievingDataText);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getProgramTypes () {\r\n try {\r\n const response = await this.programsResources.getProgramTypes();\r\n this.setProgramTypes(response);\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }\r\n\r\n\r\n async createProgram (program: ProgramModalResponse) {\r\n let programPayload: CreateProgramRequestModel;\r\n if (program.externalLink && !(program.externalLink).includes('http')) {\r\n program.externalLink = `http://${program.externalLink}`;\r\n }\r\n if (!!program.image) {\r\n const file = new YcFile(\r\n '' + (Math.random() * 1000000000),\r\n program.image as Blob\r\n );\r\n delete program.image;\r\n\r\n const uploadImageResponse = await this.uploadProgramImage(file);\r\n programPayload = {\r\n ...program,\r\n imageURL: uploadImageResponse\r\n };\r\n } else {\r\n programPayload = {\r\n ...program\r\n };\r\n }\r\n try {\r\n const response = await this.programsResources.createProgram(\r\n programPayload\r\n );\r\n this.notifier.success(this.i18n.translate(\r\n 'nonprofits:textSuccessCreatingProgram',\r\n {},\r\n 'Successfully created program'\r\n ));\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'nonprofits:textErrorCreatingProgram',\r\n {},\r\n 'There was an error creating the program'\r\n ));\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async updateProgram (program: ProgramModalResponse) {\r\n let programPayload: UpdateProgramRequestModel;\r\n if (program.externalLink && !(program.externalLink).includes('http')) {\r\n program.externalLink = `http://${program.externalLink}`;\r\n }\r\n if (!!program.image && !(typeof program.image === 'string')) {\r\n const file = new YcFile(\r\n '' + (Math.random() * 1000000000),\r\n program.image as Blob\r\n );\r\n delete program.image;\r\n\r\n const uploadImageResponse = await this.uploadProgramImage(file);\r\n programPayload = {\r\n ...program,\r\n id: program.id,\r\n imageURL: uploadImageResponse\r\n };\r\n } else if (!program.image && !!program.imageURL) {\r\n delete program.imageURL;\r\n\r\n programPayload = {\r\n ...program,\r\n id: program.id\r\n };\r\n } else {\r\n programPayload = {\r\n ...program,\r\n id: program.id\r\n };\r\n }\r\n try {\r\n const response = await this.programsResources.updateProgram(\r\n programPayload\r\n );\r\n this.notifier.success(this.i18n.translate(\r\n 'nonprofits:textSuccessUpdatingProgram',\r\n {},\r\n 'Successfully updated the program'\r\n ));\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'nonprofits:textErrorUpdatingProgram',\r\n {},\r\n 'There was an error updating the program'\r\n ));\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async deleteProgram (id: number) {\r\n try {\r\n const response = await this.programsResources.deleteProgram(id);\r\n this.notifier.success(this.i18n.translate(\r\n 'nonprofits:textSuccessDeletingProgram',\r\n {},\r\n 'Successfully deleted the program'\r\n ));\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'nonprofits:textErrorDeletingProgram',\r\n {},\r\n 'There was an error deleting the program'\r\n ));\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async publishProgram (id: number) {\r\n try {\r\n const response = await this.programsResources.publishProgram(id);\r\n this.notifier.success(this.i18n.translate(\r\n 'nonprofits:textSuccessPublishingProgram',\r\n {},\r\n 'Successfully published the program'\r\n ));\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'nonprofits:textErrorPublishingProgram',\r\n {},\r\n 'There was an error publishing the program'\r\n ));\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async unPublishProgram (id: number) {\r\n try {\r\n const response = await this.programsResources.unPublishProgram(id);\r\n this.notifier.success(this.i18n.translate(\r\n 'nonprofits:textSuccessUnPublishingProgram',\r\n {},\r\n 'Successfully unpublished the program'\r\n ));\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'nonprofits:textErrorUnPublishingProgram',\r\n {},\r\n 'There was an error unpublishing the program'\r\n ));\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async uploadProgramImage (file: YcFile) {\r\n const response = await this.assetManagementService\r\n .uploadProgramAsset(file);\r\n\r\n return response.data;\r\n }\r\n}\r\n","import { ProgramTypeModel } from '@core/typings/programs.typing';\r\nimport { BaseYcState, RegisterYCState } from '@yourcause/common/state';\r\n\r\n@RegisterYCState()\r\nexport class ProgramsState extends BaseYcState {\r\n readonly programTypes: ProgramTypeModel[];\r\n}\r\n","import { inject } from '@angular/core';\r\nimport { ReasonService } from '../../reasons/reasons.service';\r\nimport { ResolveFn } from '@angular/router';\r\n\r\nexport const prospectiveAdminOutreachReasonsResolver: ResolveFn = async () => {\r\n await inject(ReasonService).fetchAllProspectiveAdminReasonSelect();\r\n}\r\n","import { inject } from \"@angular/core\";\r\nimport { ResolveFn } from \"@angular/router\";\r\nimport { ReasonService } from \"./reasons.service\";\r\n\r\nexport const allReasonsResolver: ResolveFn = async () => {\r\n await inject(ReasonService).fetchAllReasonsLookup();\r\n}\r\n\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { AuthService } from '@core/services/auth.service';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { ReasonService } from './reasons.service';\r\n\r\n\r\n\r\n@Pipe({\r\n name: 'nppReasonPipe'\r\n})\r\nexport class ReasonPipe implements PipeTransform {\r\n\r\n displayText: string;\r\n isYcAdminOrSupport = this.authService.isYcAdminOrSupport();\r\n npoReasons = this.reasonService.allReasonsForNpoDisplay;\r\n ycAdminReasons = this.reasonService.allReasonsForYcAdminDisplay;\r\n otherText = this.i18n.translate(\r\n 'common:textOther',\r\n {},\r\n 'Other'\r\n );\r\n constructor (\r\n private i18n: I18nService,\r\n private reasonService: ReasonService,\r\n private authService: AuthService\r\n ) { }\r\n\r\n transform (inputId: string|number): string {\r\n const id = +inputId;\r\n const reasons = this.isYcAdminOrSupport ?\r\n this.ycAdminReasons :\r\n this.npoReasons;\r\n const reasonObj = (reasons.find((reason) => reason.id === id));\r\n if (!!reasonObj) {\r\n return this.i18n.translate(\r\n reasonObj.i18nKey,\r\n {},\r\n reasonObj.value\r\n );\r\n }\r\n\r\n return this.otherText;\r\n }\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { ReasonModel } from '@core/models/reason.model';\r\nimport { APIResult } from '@yourcause/common';\r\nimport { HttpRestService } from '@core/services/http-rest.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ReasonsResources {\r\n constructor (\r\n private httpRestService: HttpRestService\r\n ) { }\r\n\r\n async getAllReasons () {\r\n const endpoint = 'api/Lookups/Reasons/GetReasons';\r\n const payload = {\r\n paginationOptions: {\r\n returnAll: true,\r\n sortColumns: [{\r\n columnName: 'id',\r\n sortAscending: true\r\n }]}\r\n };\r\n\r\n const response = await this.httpRestService.post>(\r\n endpoint,\r\n payload\r\n );\r\n\r\n return response.data.records;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AttachYCState, BaseYCService } from '@yourcause/common/state';\r\nimport { ReasonModel, ReasonObjectUI, ReasonType } from '../_core/models/reason.model';\r\nimport { ReasonsResources } from './reasons.resources';\r\nimport { ReasonState } from './reasons.state';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\n\r\n/**\r\n * Service for interacting with reasons.\r\n */\r\n@AttachYCState(ReasonState)\r\n@Injectable({ providedIn: 'root' })\r\nexport class ReasonService extends BaseYCService {\r\n constructor (\r\n private i18n: I18nService,\r\n private reasonResources: ReasonsResources\r\n ) {\r\n super();\r\n }\r\n\r\n get allReasonsLookup () {\r\n return this.get('allReasonsLookup');\r\n }\r\n\r\n get allReasonsVisibleToNPO () {\r\n return this.get('allReasonsVisibleToNPO');\r\n }\r\n\r\n get allReasonsVisibleToYCAdmin () {\r\n return this.get('allReasonsVisibleToYCAdmin');\r\n }\r\n\r\n get allNonSystemReasons () {\r\n return this.get('allNonSystemReasons');\r\n }\r\n\r\n get allReasonsForNpoDisplay () {\r\n return this.get('allReasonsForNpoDisplayMap');\r\n }\r\n\r\n get allReasonsForYcAdminDisplay () {\r\n return this.get('allReasonsForYcAdminDisplayMap');\r\n }\r\n\r\n get deactivationReasonsSelect () {\r\n return this.get('deactivationReasonsSelect');\r\n }\r\n\r\n get checkReissueRequestReasonsSelect () {\r\n return this.get('checkReissueRequestReasonsSelect');\r\n }\r\n\r\n get vettingRequestRejectionReasonsSelect () {\r\n return this.get('vettingRequestRejectionReasonsSelect');\r\n }\r\n\r\n get bbgfEligibleReasonSelect () {\r\n return this.get('bbgfEligibleReasonSelect');\r\n }\r\n\r\n get bbgfIneligibleReasonSelect () {\r\n return this.get('bbgfIneligibleReasonSelect');\r\n }\r\n\r\n get disbursementSuspendedReasonSelect () {\r\n return this.get('disbursementSuspendedReasonsSelect');\r\n }\r\n\r\n get achInfoRejectionReasonsSelect () {\r\n return this.get('achInfoRejectionReasonsSelect');\r\n }\r\n\r\n get markAsFalsePositiveSelect () {\r\n return this.get('markAsFalsePositiveSelect');\r\n }\r\n get markAsTrueMatchSelect () {\r\n return this.get('markAsTrueMatchSelect');\r\n }\r\n\r\n get declineChapterRequestReasonsSelect () {\r\n return this.get('declineChapterRequestReasonsSelect');\r\n }\r\n\r\n get prospectiveAdminOutreachReasonSelect () {\r\n return this.get('prospectiveAdminOutreachReasonSelect');\r\n }\r\n\r\n get nonprofitAdminRequestRejectionReasonSelect () : ReasonObjectUI[] {\r\n return this.get('nonprofitAdminRequestRejectionReasonSelect') ?? [];\r\n }\r\n\r\n get nonprofitAdminRequestManagerApprovalReasonSelect () : ReasonObjectUI[] {\r\n return this.get('nonprofitAdminRequestManagerApprovalReasonSelect') ?? [];\r\n }\r\n\r\n get prospectiveAdminOptOutReasonSelect () {\r\n return this.get('prospectiveAdminOptOutReasonSelect');\r\n }\r\n\r\n get prospectiveAdminOutreachFilterReasons () {\r\n return this.get('prospectiveAdminOutreachFilterReasons');\r\n }\r\n\r\n async setAllReasonsVisibleToNPO () {\r\n const reasons = this.allReasonsLookup.filter((reason) => {\r\n return reason.visibleToNPO === true;\r\n });\r\n this.set('allReasonsVisibleToNPO', reasons);\r\n }\r\n\r\n async setAllReasonsVisibleToYCAdmin () {\r\n this.set('allReasonsVisibleToYCAdmin', this.allReasonsLookup);\r\n }\r\n\r\n async setAllNonSystemReasons () {\r\n const reasons = this.allReasonsLookup.filter((reason) => {\r\n return reason.systemReason === false;\r\n });\r\n this.set('allNonSystemReasons', reasons);\r\n }\r\n\r\n async setReasonsForDisplayMap () {\r\n const npoReasons = this.allReasonsVisibleToNPO.map((reason) => {\r\n return {\r\n i18nKey: reason.i18nKey,\r\n id: reason.id,\r\n typeId: reason.reasonTypeId,\r\n value: reason.reason\r\n };\r\n });\r\n const ycAdminReasons = this.allReasonsVisibleToYCAdmin.map((reason) => {\r\n return {\r\n i18nKey: reason.i18nKey,\r\n id: reason.id,\r\n typeId: reason.reasonTypeId,\r\n value: reason.reason\r\n };\r\n });\r\n this.set('allReasonsForNpoDisplayMap', npoReasons);\r\n this.set('allReasonsForYcAdminDisplayMap', ycAdminReasons);\r\n }\r\n\r\n async setDeactivationReasonsSelect () {\r\n const reasons = await this.setReasonsForSelectMap(\r\n ReasonType.NonprofitDeactivation\r\n );\r\n this.set('deactivationReasonsSelect', reasons);\r\n }\r\n\r\n async setCheckReissueRequestReasonsSelect () {\r\n const reasons = await this.setReasonsForSelectMap(\r\n ReasonType.CheckReissue\r\n );\r\n this.set('checkReissueRequestReasonsSelect', reasons);\r\n }\r\n\r\n async setVettingRequestRejectionReasonsSelect () {\r\n const reasons = await this.setReasonsForSelectMap(\r\n ReasonType.VettingRequestRejection\r\n );\r\n this.set('vettingRequestRejectionReasonsSelect', reasons);\r\n }\r\n\r\n async setBbgfEligibleReasonSelect () {\r\n const reasons = await this.setReasonsForSelectMap(\r\n ReasonType.EligibleForGiving\r\n );\r\n this.set('bbgfEligibleReasonSelect', reasons);\r\n }\r\n\r\n async setBbgfIneligibleReasonSelect () {\r\n const reasons = await this.setReasonsForSelectMap(\r\n ReasonType.IneligibleForGiving\r\n );\r\n this.set('bbgfIneligibleReasonSelect', reasons);\r\n }\r\n\r\n async setDisbursementSuspendedReasonSelect () {\r\n const reasons = await this.setReasonsForSelectMap(\r\n ReasonType.DisbursementSuspended\r\n );\r\n this.set('disbursementSuspendedReasonsSelect', reasons);\r\n }\r\n\r\n async setAchInfoRejectionReasonsSelect () {\r\n const reasons = await this.setReasonsForSelectMap(\r\n ReasonType.ACHInfoRejection\r\n );\r\n this.set('achInfoRejectionReasonsSelect', reasons);\r\n }\r\n\r\n async setMarkAsFalsePositiveSelect () {\r\n const reasons = await this.setReasonsForSelectMap(\r\n ReasonType.ScreeningFalsePositive\r\n );\r\n this.set('markAsFalsePositiveSelect', reasons);\r\n }\r\n\r\n async setMarkAsTrueMatchSelect () {\r\n const reasons = await this.setReasonsForSelectMap(\r\n ReasonType.ScreeningTrueMatch\r\n );\r\n this.set('markAsTrueMatchSelect', reasons);\r\n }\r\n\r\n async setDeclineChapterRequestReasonsSelect () {\r\n const reasons = await this.setReasonsForSelectMap(\r\n ReasonType.DeclineChapterRequest\r\n );\r\n this.set('declineChapterRequestReasonsSelect', reasons);\r\n }\r\n\r\n async setProspectiveAdminOptOutReasonSelect () {\r\n const reasons = await this.setReasonsForSelectMap(\r\n ReasonType.ProspectiveAdminOptOut\r\n );\r\n this.set('prospectiveAdminOptOutReasonSelect', reasons);\r\n }\r\n\r\n async setProspectiveAdminOutreachReasonSelect () {\r\n const reasons = await this.setReasonsForSelectMap(\r\n ReasonType.ProspectiveAdminOutreach\r\n );\r\n this.set('prospectiveAdminOutreachReasonSelect', reasons);\r\n }\r\n\r\n async setNonprofitAdminRequestRejectionReasonSelect () {\r\n const reasons = await this.setReasonsForSelectMap(\r\n ReasonType.NonprofitAdminRequestRejection\r\n );\r\n this.set('nonprofitAdminRequestRejectionReasonSelect', reasons);\r\n }\r\n\r\n async setNonprofitAdminRequestManagerApprovalReasonSelect () {\r\n const reasons = await this.setReasonsForSelectMap(\r\n ReasonType.NonprofitAdminRequestManagerApproval\r\n );\r\n this.set('nonprofitAdminRequestManagerApprovalReasonSelect', reasons);\r\n }\r\n\r\n async setProspectiveAdminOutreachFilterReasons () {\r\n const reasonByMapId: ReasonObjectUI[] = this.allReasonsLookup.filter((reason) => {\r\n return reason.reasonTypeId === ReasonType.ProspectiveAdminOutreach &&\r\n reason.isActive;\r\n }).map((reason) => {\r\n return {\r\n i18nKey: reason.i18nKey,\r\n id: reason.id,\r\n typeId: reason.reasonTypeId,\r\n value: reason.reason\r\n };\r\n });\r\n this.set('prospectiveAdminOutreachFilterReasons', reasonByMapId);\r\n }\r\n\r\n // get reasons by type, isActive and map for select\r\n async setReasonsForSelectMap (\r\n typeId: number\r\n ): Promise {\r\n const reasonMapById = this.allNonSystemReasons.filter((reason) => {\r\n return reason.reasonTypeId === typeId &&\r\n reason.isActive;\r\n })\r\n .map((reason) => {\r\n return {\r\n i18nKey: reason.i18nKey,\r\n id: reason.id,\r\n typeId: reason.reasonTypeId,\r\n value: reason.reason\r\n };\r\n });\r\n\r\n return reasonMapById;\r\n }\r\n\r\n async setAllReasons (reasons: ReasonModel[]) {\r\n return Promise.all([\r\n this.set('allReasonsLookup', reasons),\r\n this.setAllReasonsVisibleToYCAdmin(),\r\n this.setAllReasonsVisibleToNPO(),\r\n this.setAllNonSystemReasons(),\r\n this.setReasonsForDisplayMap(),\r\n this.setDeactivationReasonsSelect(),\r\n this.setAchInfoRejectionReasonsSelect(),\r\n this.setCheckReissueRequestReasonsSelect(),\r\n this.setDisbursementSuspendedReasonSelect(),\r\n this.setVettingRequestRejectionReasonsSelect(),\r\n this.setBbgfIneligibleReasonSelect(),\r\n this.setBbgfEligibleReasonSelect(),\r\n this.setMarkAsFalsePositiveSelect(),\r\n this.setMarkAsTrueMatchSelect(),\r\n this.setDeclineChapterRequestReasonsSelect(),\r\n this.setProspectiveAdminOptOutReasonSelect(),\r\n this.setProspectiveAdminOutreachReasonSelect(),\r\n this.setNonprofitAdminRequestRejectionReasonSelect(),\r\n this.setNonprofitAdminRequestManagerApprovalReasonSelect()\r\n ]);\r\n }\r\n\r\n /**\r\n * Get all reasons and set on the state\r\n * IF reasons have not already been retrieved and set\r\n */\r\n async fetchAllReasonsLookup () {\r\n if (!this.allReasonsLookup) {\r\n const allReasons = await this.reasonResources.getAllReasons();\r\n\r\n await this.setAllReasons(allReasons);\r\n }\r\n }\r\n\r\n async fetchAllProspectiveAdminReasonSelect () {\r\n const allReasons = await this.reasonResources.getAllReasons();\r\n\r\n return Promise.all([\r\n this.set('allReasonsLookup', allReasons),\r\n this.setAllNonSystemReasons(),\r\n this.setProspectiveAdminOptOutReasonSelect(),\r\n this.setProspectiveAdminOutreachReasonSelect(),\r\n this.setProspectiveAdminOutreachFilterReasons()\r\n ]);\r\n }\r\n\r\n /**\r\n * get localized reason for display for the given reasonId.\r\n * @param reasonId\r\n * @returns\r\n */\r\n getLocalizedReason (reasonId: number) {\r\n const reason = this.allReasonsLookup[reasonId];\r\n if (reason) {\r\n return this.i18n.translate(\r\n reason.i18nKey,\r\n {},\r\n reason.reason\r\n );\r\n }\r\n\r\n return '';\r\n }\r\n}\r\n","\r\nimport { BaseYcState, RegisterYCState } from '@yourcause/common/state';\r\nimport { ReasonModel, ReasonObjectUI } from '../_core/models/reason.model';\r\n\r\n@RegisterYCState()\r\nexport class ReasonState extends BaseYcState {\r\n readonly allReasonsLookup: ReasonModel[];\r\n readonly allReasonsVisibleToNPO: ReasonModel[];\r\n readonly allReasonsVisibleToYCAdmin: ReasonModel[];\r\n readonly allNonSystemReasons: ReasonModel[];\r\n readonly allReasonsForNpoDisplayMap: ReasonObjectUI[];\r\n readonly allReasonsForYcAdminDisplayMap: ReasonObjectUI[];\r\n readonly deactivationReasonsSelect: ReasonObjectUI[];\r\n readonly checkReissueRequestReasonsSelect: ReasonObjectUI[];\r\n readonly vettingRequestRejectionReasonsSelect: ReasonObjectUI[];\r\n readonly disbursementSuspendedReasonsSelect: ReasonObjectUI[];\r\n readonly achInfoRejectionReasonsSelect: ReasonObjectUI[];\r\n readonly bbgfEligibleReasonSelect: ReasonObjectUI[];\r\n readonly bbgfIneligibleReasonSelect: ReasonObjectUI[];\r\n readonly markAsFalsePositiveSelect: ReasonObjectUI[];\r\n readonly markAsTrueMatchSelect: ReasonObjectUI[];\r\n readonly declineChapterRequestReasonsSelect: ReasonObjectUI[];\r\n readonly prospectiveAdminOutreachReasonSelect: ReasonObjectUI[];\r\n readonly prospectiveAdminOptOutReasonSelect: ReasonObjectUI[];\r\n readonly prospectiveAdminOutreachFilterReasons: ReasonObjectUI[];\r\n readonly stateRevocationListManagementReasonSelect: ReasonObjectUI[];\r\n readonly nonprofitAdminRequestRejectionReasonSelect: ReasonObjectUI[];\r\n readonly nonprofitAdminRequestManagerApprovalReasonSelect: ReasonObjectUI[];\r\n}\r\n","import { inject } from '@angular/core';\r\nimport { ResolveFn } from '@angular/router';\r\nimport { RegistrationAuthoritiesService } from './registration-authorities.service';\r\n\r\nexport const registrationAuthoritiesForNonprofitAddResolver: ResolveFn = async () => {\r\n await inject(RegistrationAuthoritiesService).getRegistrationAuthoritiesForNonprofitAdd();\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRestService } from '@core/services/http-rest.service';\r\nimport { APIResponse, RegistrationAuthority } from '@yourcause/common';\r\nimport { RegistrationAuthorityAndRegistrationIdExistForNonprofitCreate, RegistrationAuthoritiesValidForNonprofitCreate } from './registration-authorities-typings';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class RegistrationAuthoritiesResources {\r\n constructor (\r\n private httpRestService: HttpRestService\r\n ) { }\r\n\r\n async getRegistrationAuthorities () {\r\n const response = await this.httpRestService.get>(\r\n 'api/RegistrationAuthority/GetAll'\r\n );\r\n\r\n return response.data;\r\n }\r\n\r\n async getRegistrationAuthoritiesValidForNonprofitCreate () {\r\n const response = await this.httpRestService.get(\r\n 'api/registrationAuthority/ValidForNonprofitCreate'\r\n );\r\n\r\n return response.data as RegistrationAuthoritiesValidForNonprofitCreate;\r\n }\r\n\r\n async registrationAuthorityAndRegistrationIdExist (registrationAuthorityId: number, registrationId: string) {\r\n const encodedRegistrationId = encodeURIComponent(registrationId);\r\n\r\n const response = await this.httpRestService.get(\r\n `api/registrationAuthority/${registrationAuthorityId}/exists?registrationId=${encodeURIComponent(encodedRegistrationId)}`\r\n );\r\n\r\n return response.data as RegistrationAuthorityAndRegistrationIdExistForNonprofitCreate;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { RegistrationAuthority, TopLevelFilterOption } from '@yourcause/common';\r\nimport { AttachYCState, BaseYCService } from '@yourcause/common/state';\r\nimport { RegistrationAuthoritiesResources } from './registration-authorities.resources';\r\nimport { RegistrationAuthoritiesState } from './registration-authorities.state';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { ArrayHelpersService } from '@yourcause/common/utils';\r\nimport { RegistrationAuthorityValidForNonprofitCreate } from './registration-authorities-typings';\r\n\r\n@AttachYCState(RegistrationAuthoritiesState)\r\n@Injectable({ providedIn: 'root' })\r\nexport class RegistrationAuthoritiesService extends BaseYCService {\r\n defaultRegAuthText = this.i18n.translate(\r\n 'search:textAllRegAuths',\r\n {},\r\n '-- All registration authorities --'\r\n);\r\n constructor (\r\n private registrationAuthoritiesResources: RegistrationAuthoritiesResources,\r\n private i18n: I18nService,\r\n private arrayHelper: ArrayHelpersService\r\n ) {\r\n super();\r\n }\r\n\r\n get authorities () {\r\n return this.get('authorities');\r\n }\r\n\r\n get allRegAuthsForSelect () {\r\n return this.get('allRegAuthsForSelect');\r\n }\r\n\r\n get regAuthsForNonprofitAdd () {\r\n return this.get('regAuthsForNonprofitAdd');\r\n }\r\n\r\n setAuthorities (auths: RegistrationAuthority[]) {\r\n this.set('authorities', auths);\r\n }\r\n\r\n async getAllRegistrationAuthorities (force = false) {\r\n if (force || !this.authorities) {\r\n const response = await this.registrationAuthoritiesResources.getRegistrationAuthorities();\r\n this.setAuthorities(response);\r\n this.setAllRegAuthsForSelect();\r\n\r\n return response;\r\n }\r\n\r\n return this.authorities;\r\n }\r\n\r\n async getRegistrationAuthoritiesForNonprofitAdd () {\r\n const vaildRegistrationAuthorities = (await this.registrationAuthoritiesResources.getRegistrationAuthoritiesValidForNonprofitCreate()).registrationAuthorities;\r\n\r\n const validOptions = this.arrayHelper.sort(\r\n vaildRegistrationAuthorities.map((registrationAuthority: RegistrationAuthorityValidForNonprofitCreate) => {\r\n return {\r\n label: registrationAuthority.name,\r\n value: registrationAuthority.id\r\n };\r\n }), 'label'\r\n );\r\n\r\n this.set('regAuthsForNonprofitAdd', validOptions);\r\n }\r\n\r\n async registrationAuthorityAndRegistrationIdExist (registrationId: string, registrationAuthorityId: number) {\r\n return await this.registrationAuthoritiesResources.registrationAuthorityAndRegistrationIdExist(registrationAuthorityId, registrationId)\r\n }\r\n\r\n getAuthorityById (id: number) {\r\n return this.authorities?.find((auth) => {\r\n return auth.registrationAuthorityId === id;\r\n });\r\n }\r\n\r\n setAllRegAuthsForSelect () {\r\n const allRegAuths = this.authorities;\r\n const regAuthSelectVals: TopLevelFilterOption[] = allRegAuths.map((regAuth) => {\r\n return {\r\n value: regAuth.registrationAuthorityName,\r\n display: regAuth.registrationAuthorityName\r\n };\r\n });\r\n this.arrayHelper.sort(regAuthSelectVals, 'display');\r\n regAuthSelectVals.unshift({\r\n display: this.defaultRegAuthText,\r\n value: null\r\n });\r\n this.set('allRegAuthsForSelect', regAuthSelectVals);\r\n }\r\n}\r\n","import { RegistrationAuthority, TopLevelFilterOption } from '@yourcause/common';\r\nimport { TypeaheadSelectOption } from '@yourcause/common/core-forms';\r\nimport { BaseYcState, RegisterYCState } from '@yourcause/common/state';\r\n\r\n@RegisterYCState()\r\nexport class RegistrationAuthoritiesState extends BaseYcState {\r\n readonly authorities: RegistrationAuthority[];\r\n readonly allRegAuthsForSelect: TopLevelFilterOption[];\r\n readonly regAuthsForNonprofitAdd: TypeaheadSelectOption[];\r\n}\r\n","import { CompanyDisplayModel } from '@core/models/check-reissue.model';\r\nimport { NonprofitComplianceRecord } from '@core/models/compliance.model';\r\nimport { BbiSubsectorFromApi, CharityAdminDetailDownloadInfo, CustomComplianceCompany } from '@core/models/reporting.model';\r\nimport { SystemEmailsAPI } from '@core/typings/api/system-email.typing';\r\nimport { BaseYcState, RegisterYCState } from '@yourcause/common/state';\r\n\r\n\r\n@RegisterYCState()\r\nexport class ReportingState extends BaseYcState {\r\n readonly charityAdminDetailDownloadInfo: CharityAdminDetailDownloadInfo;\r\n readonly drilldownRowId: number;\r\n readonly clientId: number;\r\n readonly customComplianceCompanies: CustomComplianceCompany[];\r\n readonly allCompanies: CompanyDisplayModel[];\r\n readonly companiesForInput: CompanyDisplayModel[];\r\n readonly outstandingPaymentId: number;\r\n readonly outstandingPaymentNumber: number;\r\n readonly paymentNonprofitId: number;\r\n readonly paymentNonprofitName: string;\r\n readonly allCompliances: NonprofitComplianceRecord[];\r\n readonly currentEfgReportDateTime: string;\r\n readonly emailClasses: SystemEmailsAPI.EmailClass[];\r\n readonly emailClassesForFilter: SystemEmailsAPI.EmailClassesForFilter[];\r\n readonly bbiSubsectorData: BbiSubsectorFromApi[];\r\n readonly adminEmail: string;\r\n readonly ycProcessingPartnerNames: string[];\r\n readonly revokedNonprofitsSubdivisions: string[];\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { CheckReissueDisplayModel, CompanyDisplayModel } from '@core/models/check-reissue.model';\r\nimport { NonprofitComplianceRecord } from '@core/models/compliance.model';\r\nimport { CsvDownloadResponse } from '@core/models/grid.model';\r\nimport { ActiveNonprofitsByEFG, ActiveNpoByEFGLinkPayload, BankCustomAttributesReportReturnModel, BbiNonprofitSubsectorReportModel, BbiNonprofitSubsectorReportPayload, BbiSubsectorFromApi, ChapterReportModel, ComplianceRecord, CustomComplianceCompany, EmailLogReportModel, FailedPaymentReturnedChecksReportDisplayReturnModel, ImportSummaryModel, InactiveNpoWithPendingDisbursementModel, JobsReportModel, MergedNonprofitsReportModel, NonprofitClassificationHierarchyRequestModel, NpoOnExclusionList, NpoWithDisbursementSuspended, OutstandingPaymentModel, ImportHistoryModel, ReportsAndReportTypesRequestModel, TransactionDetail, VettingApplicationsSubmittedOrCompletedReportDisplayModel, VettingRequestForReportingModel, NonprofitEligibileForGivingOverridesDto, RevokedNonprofitDto, RevokedNonprofitsSubdivisionsDto } from '@core/models/reporting.model';\r\nimport { VettingExpirationReport } from '@core/models/vetting.model';\r\nimport { HttpRestService } from '@core/services/http-rest.service';\r\nimport { SystemEmailsAPI } from '@core/typings/api/system-email.typing';\r\nimport { APIResponse, APIResult, PaginatedResponse, PaginationOptions } from '@yourcause/common';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ReportingResources {\r\n readonly downloadNonprofitExclusionListEndpoint = 'api/Nonprofit/NonprofitExclusionListDownload';\r\n readonly downloadVettingRequestsForReportingEndpoint = 'api/NonprofitVetting/VettingRequestsForReportingDownload';\r\n readonly downloadBBINonprofitSubsectorReportEndpoint = 'api/ReportingController/BBINonprofitSubsectorReportDownload';\r\n readonly downloadNonprofitChaptersReportEndpoint = 'api/NonprofitChapter/ChaptersReportDownload';\r\n readonly emailTemplatesForDownloadEndpoint = 'api/Email/EmailTemplatesForDownload';\r\n readonly emailReportForDownloadEndpoint = 'api/Email/EmailReportForDownload';\r\n readonly inactiveNPOsWithPendingDonationsDownloadEndpoint = 'api/ReportingController/InActiveNPOsWithPendingDonationsDownload';\r\n readonly failedPaymentReturnedChecksReportDownloadEndpoint = 'api/ReportingController/FailedPaymentReturnedChecksReportDownload';\r\n readonly bankCustomAttributesReportDownloadEndpoint = 'api/NonprofitBankInfo/BankCustomAttributesReportDownload';\r\n readonly vettingExpirationsDownloadEndpoint = 'api/vetting/VettingExpirationsDownload';\r\n readonly npoComplianceAffiliationReportDownloadEndpoint = 'api/Admin/NPOComplianceAffiliationReportDownload';\r\n readonly reissueCheckRequestsDownloadEndpoint = 'api/CheckReissue/ReissueCheckRequestsDownload';\r\n readonly complianceReportDownload = 'api/Compliance/ComplianceReportDownload';\r\n readonly nonprofitMergeReportDownload = 'api/Merge/NonprofitMergeReportDownload';\r\n readonly activeNonprofitsEFGReportByProcessingPartnerDownload = 'api/ReportingController/ActiveNonprofitsEFGReportByProcessingPartnerDownload';\r\n readonly activeNonprofitsEFGReportByRegistrationAuthorityDownload = 'api/ReportingController/ActiveNonprofitsEFGReportByRegistrationAuthorityDownload';\r\n readonly activeNonprofitsEFGReportByCountryDownload = 'api/ReportingController/ActiveNonprofitsEFGReportByCountryDownload';\r\n readonly activeNonprofitsEFGReportDownload = 'api/ReportingController/ActiveNonprofitsEFGReportDownload';\r\n readonly organizationsWithDisbursementSuspendedDownload = 'api/NonprofitCompliance/OrganizationsWithDisbursementSuspendedDownload';\r\n readonly outstandingPaymentTransactionsDownload = 'api/Nonprofit/Finance/OutstandingPaymentTransactionsDownload';\r\n readonly outstandingPaymentsWithDonationsDownload = 'api/Nonprofit/Finance/OutstandingPaymentsWithDonationsDownload';\r\n readonly nonprofitEligibileForGivingOverridesDownload = 'api/GetNonprofitEligibleForGivingOverridesDownload';\r\n readonly revokedNonprofitsDownload = 'api/nonprofits/revocations/report/download';\r\n\r\n constructor (\r\n private httpRestService: HttpRestService\r\n ) { }\r\n\r\n async getReportsAndReportTypes (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n return this.httpRestService.post>(\r\n 'api/ReportingController/GetReportsAndReportTypes',\r\n {\r\n paginationOptions\r\n }\r\n );\r\n }\r\n\r\n async getReportingLink () {\r\n const response = await this.httpRestService.get(\r\n 'api/Nonprofit/GetCharityAdminReportLink'\r\n );\r\n\r\n return response.data;\r\n }\r\n\r\n async getCustomComplianceCompanies () {\r\n const response = await this.httpRestService.get>(\r\n 'api/Company/GetCompaniesWithDonations'\r\n );\r\n\r\n return response.data;\r\n }\r\n\r\n async getYCProcessingPartnerNames () {\r\n const response = await this.httpRestService.get>(\r\n 'api/ReportingController/GetYCProcessingPartnerNames'\r\n );\r\n\r\n return response.data;\r\n }\r\n\r\n async getAllCompliances () {\r\n return this.httpRestService.get>(\r\n 'api/Compliance/GetAllComplianceRecords'\r\n );\r\n }\r\n\r\n /**\r\n * Get Registration Authority/Vetting Authority Import History Report Data\r\n *\r\n * @param paginationOptions paging options\r\n * @returns paginated report data\r\n */\r\n getImportHistoryReportData (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n return this.httpRestService.post>(\r\n 'api/ReportingController/GetRegAuthAndVettingAuthDataImportHistory',\r\n {\r\n paginationOptions\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Get Registration Authority/Vetting Authority Import Summary Report Data\r\n *\r\n * @param paginationOptions paging options\r\n * @param id DataImportTypeId\r\n * @returns paginated report data\r\n */\r\n getImportSummaryReportData (\r\n paginationOptions: PaginationOptions,\r\n id: number\r\n ) {\r\n return this.httpRestService.post(\r\n 'api/ReportingController/GetRegistrationAuthorityImportSummary',\r\n {\r\n dataImportTypeId: id,\r\n paginationOptions\r\n }\r\n );\r\n }\r\n\r\n getComplianceAndAffiliationsReport (\r\n paginationOptions: PaginationOptions,\r\n companyId: number\r\n ) {\r\n return this.httpRestService.post>(\r\n 'api/Admin/NPOComplianceAffiliationReport',\r\n {\r\n paginationOptions,\r\n companyId\r\n }\r\n );\r\n }\r\n\r\n async getComplianceAndAffiliationsReportCSV (\r\n paginationOptions: PaginationOptions,\r\n companyId: number\r\n ) {\r\n const response = await this.httpRestService.post(\r\n 'api/Admin/NPOComplianceAffiliationReportDownload',\r\n {\r\n paginationOptions,\r\n companyId\r\n }\r\n );\r\n\r\n return response.data.content;\r\n }\r\n\r\n async getChapterReport (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n return this.httpRestService.post>(\r\n 'api/NonprofitChapter/ChaptersReport',\r\n {\r\n paginationOptions\r\n }\r\n );\r\n }\r\n\r\n async getEmailTemplateReport (\r\n paginationOptions: PaginationOptions,\r\n subjectTriggerFilter: string\r\n ) {\r\n const response = await this.httpRestService.post>(\r\n 'api/Email/EmailTemplates',\r\n {\r\n paginationOptions,\r\n subjectTriggerFilter\r\n }\r\n );\r\n\r\n return response;\r\n }\r\n\r\n async getEmailClasses () {\r\n const endpoint = 'api/Email/GetEmailClasses';\r\n const payload = {\r\n paginationOptions: {\r\n returnAll: true,\r\n sortColumns: [{\r\n columnName: 'id',\r\n sortAscending: true\r\n }]}\r\n };\r\n\r\n const response = await this.httpRestService.post>(\r\n endpoint,\r\n payload\r\n );\r\n\r\n return response.data.records;\r\n }\r\n\r\n async getOutstandingPaymentsReport (\r\n paginationOptions: PaginationOptions,\r\n companyId: number,\r\n startDate: number\r\n ) {\r\n return this.httpRestService.post>(\r\n 'api/Nonprofit/Finance/OutstandingDistinctPaymentsWithDonations',\r\n {\r\n paginationOptions,\r\n StartDate: startDate,\r\n CompanyId: companyId\r\n }\r\n );\r\n }\r\n\r\n async getOutstandingTransactions (\r\n paginationOptions: PaginationOptions,\r\n nonprofitPaymentId: number\r\n ) {\r\n return this.httpRestService.post>(\r\n 'api/Nonprofit/Finance/OutstandingPaymentTransactions',\r\n {\r\n paginationOptions,\r\n nonprofitPaymentId\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Get Inactive nonprofits with pending disbursements data\r\n *\r\n * @param paginationOptions paging options\r\n * @returns paginated report data\r\n */\r\n async getInactiveNposWithPendingDisbursements (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n const response = await this.httpRestService.post>(\r\n 'api/ReportingController/InActiveNPOsWithPendingDonations',\r\n {\r\n paginationOptions\r\n }\r\n );\r\n\r\n return response;\r\n }\r\n\r\n async getMergedNonprofitsReport (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n return this.httpRestService.post>(\r\n 'api/Merge/NonprofitMergeReport',\r\n {\r\n paginationOptions\r\n }\r\n );\r\n }\r\n\r\n async getNonprofitExclusionList (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n const response = await this.httpRestService.post>(\r\n 'api/Nonprofit/NonprofitExclusionList',\r\n {\r\n paginationOptions\r\n }\r\n );\r\n\r\n return response;\r\n }\r\n\r\n async getNposWithDisbursementSuspended (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n const endpoint = 'api/NonprofitCompliance/OrganizationsWithDisbursementSuspended';\r\n\r\n return this.httpRestService.post>(\r\n endpoint,\r\n {\r\n paginationOptions\r\n }\r\n );\r\n }\r\n\r\n async getReissueCheckRequests (\r\n paginationOptions: PaginationOptions,\r\n companyId: number,\r\n checkReissueStatusId: number\r\n ) {\r\n return this.httpRestService.post>(\r\n 'api/CheckReissue/ReissueCheckRequests',\r\n {\r\n paginationOptions,\r\n StatusId: checkReissueStatusId,\r\n CompanyId: companyId\r\n }\r\n );\r\n }\r\n\r\n async getActiveNonprofitsEFGReportRegAuthAndCountry (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n const endpoint = 'api/ReportingController/ActiveNonprofitsEFGReport';\r\n\r\n return this.httpRestService.post>(\r\n endpoint,\r\n {\r\n paginationOptions\r\n }\r\n );\r\n }\r\n\r\n async getActiveNonprofitsEFGReportByRegistrationAuthority (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n const endpoint = 'api/ReportingController/ActiveNonprofitsEFGReportByRegistrationAuthority';\r\n const response = await this.httpRestService.post>(\r\n endpoint,\r\n {\r\n paginationOptions\r\n }\r\n );\r\n\r\n return response;\r\n }\r\n\r\n async getActiveNonprofitsEFGReportByCountry (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n const endpoint = 'api/ReportingController/ActiveNonprofitsEFGReportByCountry';\r\n const response = await this.httpRestService.post>(\r\n endpoint,\r\n {\r\n paginationOptions\r\n }\r\n );\r\n\r\n return response;\r\n }\r\n\r\n getActiveNonprofitsEFGReportByProcessor (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n const endpoint = '/api/ReportingController/ActiveNonprofitsEFGReportByProcessingPartner';\r\n\r\n return this.httpRestService.post>(\r\n endpoint,\r\n {\r\n paginationOptions\r\n }\r\n );\r\n }\r\n\r\n async getJobsReport (paginationOptions: PaginationOptions) {\r\n return this.httpRestService.post<{ data: PaginatedResponse }>(\r\n 'api/JobController/JobReport',\r\n {\r\n paginationOptions\r\n }\r\n );\r\n }\r\n\r\n async getEmailReport (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n const endpoint = 'api/Email/EmailReport';\r\n\r\n return this.httpRestService.post>(\r\n endpoint,\r\n {\r\n paginationOptions\r\n }\r\n );\r\n }\r\n\r\n async getEmailPreview (emailId: number) {\r\n const endpoint = `api/Email/GetEmailPreview?EmailLogId=${emailId}`;\r\n\r\n return this.httpRestService.get(endpoint);\r\n }\r\n\r\n async getNonprofitsBasedOnVettingExpiredDay (\r\n vettingAuthorityId: number,\r\n expireDays: number,\r\n paginationOptions: PaginationOptions\r\n ) {\r\n const endpoint = 'api/vetting/VettingExpirations';\r\n const response = await this.httpRestService.post>(\r\n endpoint,\r\n {\r\n VettingAuthorityId: vettingAuthorityId,\r\n ExpireDays: expireDays,\r\n paginationOptions\r\n }\r\n );\r\n\r\n return response;\r\n }\r\n\r\n async getVettingRequestsForReporting (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n const endpoint = 'api/NonprofitVetting/VettingRequestsForReporting';\r\n const response = await this.httpRestService.post>(\r\n endpoint,\r\n {\r\n paginationOptions\r\n }\r\n );\r\n\r\n return response;\r\n }\r\n\r\n async getBankCustomAttributesReport (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n const endpoint = 'api/NonprofitBankInfo/BankCustomAttributesReport';\r\n const response = await this.httpRestService.post>(\r\n endpoint,\r\n {\r\n paginationOptions\r\n }\r\n );\r\n\r\n return response;\r\n }\r\n\r\n async getBankCustomAttributesReportDownload (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n const endpoint = 'api/NonprofitBankInfo/BankCustomAttributesReportDownload';\r\n\r\n const response = await this.httpRestService.post(\r\n endpoint,\r\n {\r\n paginationOptions\r\n }\r\n );\r\n\r\n return response.data.content;\r\n }\r\n\r\n async getBBINonprofitSubsectorReport (\r\n payload: BbiNonprofitSubsectorReportPayload\r\n ) {\r\n const endpoint = 'api/ReportingController/BBINonprofitSubsectorReport';\r\n const response = await this.httpRestService.post>(\r\n endpoint,\r\n payload\r\n );\r\n\r\n return response;\r\n }\r\n\r\n\r\n /**\r\n * Get nonprofits with failed payment and no active admin\r\n *\r\n * @param paginationOptions paging options\r\n * @returns paginated report data\r\n */\r\n async failedPaymentReturnedChecksReport (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n const endpoint = 'api/ReportingController/FailedPaymentReturnedChecksReport';\r\n const response = await this.httpRestService.post>(\r\n endpoint,\r\n {\r\n paginationOptions\r\n }\r\n );\r\n\r\n return response;\r\n }\r\n\r\n async fetchAllCompanies () {\r\n const endpoint = 'api/Company/GetCompanies';\r\n const response = await this.httpRestService.get>(\r\n endpoint\r\n );\r\n\r\n return response.data;\r\n }\r\n\r\n async uploadCharityIdList (charityIds: number[]) {\r\n return this.httpRestService.post(\r\n `api/Admin/UploadCharityIdList`,\r\n charityIds\r\n );\r\n }\r\n\r\n async getBBISubsectorInfoList () {\r\n const endpoint = 'api/NonprofitClassification/GetBBISubsectorInfoList';\r\n const response = await this.httpRestService.get>(\r\n endpoint\r\n );\r\n\r\n return response.data;\r\n }\r\n\r\n async getRevokedNonprofitsSubdivisionsList () {\r\n const endpoint = 'api/nonprofits/revocations/revokedNonprofitsSubdivisions';\r\n\r\n const response = await this.httpRestService.get>(\r\n endpoint\r\n );\r\n\r\n return response.data;\r\n }\r\n\r\n getNonprofitClassificationMapReport (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n const endpoint = 'api/NonprofitClassification/NonprofitClassificationMapReport';\r\n const response = this.httpRestService.post>(\r\n endpoint,\r\n {\r\n paginationOptions\r\n }\r\n );\r\n\r\n return response;\r\n }\r\n\r\n async getNonprofitClassificationMapDownload (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n const endpoint = 'api/NonprofitClassification/NonprofitClassificationMapReport';\r\n const response = await this.httpRestService.post(\r\n endpoint,\r\n {\r\n paginationOptions\r\n }\r\n );\r\n\r\n return response.data.content;\r\n }\r\n\r\n getVettingApplicationsSubmittedOrCompletedReportDisplay (\r\n paginationOptions: PaginationOptions,\r\n startDate: string,\r\n endDate: string\r\n ) {\r\n const endpoint = 'api/ReportingController/SubmittedOrCompletedVettingApplications';\r\n const response = this.httpRestService.post>(\r\n endpoint,\r\n {\r\n paginationOptions,\r\n startDate,\r\n endDate\r\n }\r\n );\r\n\r\n return response;\r\n }\r\n\r\n queueActiveNonprofitsEFGReport (payload: ActiveNpoByEFGLinkPayload) {\r\n const endpoint = '/api/ActiveNonprofitsEFGReports/QueueActiveNonprofitsEFGReport';\r\n\r\n return this.httpRestService.post>(\r\n endpoint,\r\n payload\r\n );\r\n }\r\n\r\n /**\r\n * Get Nonprofit whose EFG flag has been overridden\r\n * @param paginationOptions\r\n * @returns paginated report of nonprofits whose EFG flag has been overridden\r\n */\r\n getEligibilityForGivingOverrides (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n const response = this.httpRestService.post>(\r\n 'api/GetNonprofitEligibleForGivingOverrides',\r\n {\r\n paginationOptions\r\n }\r\n );\r\n\r\n return response;\r\n }\r\n\r\n /**\r\n * Get Nonprofits that have been revoked\r\n * @param paginationOptions\r\n * @returns paginated report of nonprofits that are revoked\r\n */\r\n getRevokedNonprofits (\r\n paginationOptions: PaginationOptions,\r\n revokedByStateCode: string\r\n ) {\r\n const response = this.httpRestService.post>>(\r\n 'api/nonprofits/revocations/report/display',\r\n {\r\n paginationOptions,\r\n revokedByStateCode\r\n }\r\n );\r\n\r\n return response;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CheckReissueDisplayModel, CompanyDisplayModel } from '@core/models/check-reissue.model';\r\nimport { NonprofitComplianceRecord } from '@core/models/compliance.model';\r\nimport { ExternalSystemTypeName } from '@core/models/payment.model';\r\nimport { ActiveNonprofitsByEFG, ActiveNpoByEFGLinkPayload, BankCustomAttributesReportReturnModel, BbiNonprofitSubsectorReportModel, BbiNonprofitSubsectorReportPayload, BbiSubsectorFromApi, ChapterReportModel, ChapterReportModelForDownload, CharityAdminDetailDownloadInfo, ComplianceAndAffirmationCSV, ComplianceRecord, CustomComplianceCompany, EmailLogReportModel, FailedPaymentReturnedChecksReportDisplayReturnModel, ImportSummaryModel, InactiveNpoWithPendingDisbursementModel, JobsReportModel, MergedNonprofitsReportModel, NonprofitClassificationHierarchyRequestModel, NpoOnExclusionList, NpoWithDisbursementSuspended, NpoWithDisbursementSuspendedDownload, OutstandingPaymentModel, ImportHistoryModel, ReportsAndReportTypesRequestModel, TransactionDetail, VR_REPORT_STATUS_OPTION, VettingApplicationsSubmittedOrCompletedReportDisplayModel, VettingRequestForReportingModel, NonprofitEligibileForGivingOverridesDto, RevokedNonprofitDto } from '@core/models/reporting.model';\r\nimport { VettingExpirationReport } from '@core/models/vetting.model';\r\nimport { ExtractFilterColumnsService } from '@core/services/extract-filter-columns.service';\r\nimport { SystemEmailsAPI } from '@core/typings/api/system-email.typing';\r\nimport { FilterColumn, PaginationOptions, FilterModalTypes, TopLevelFilter, FilterHelpersService } from '@yourcause/common';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { NotifierService } from '@yourcause/common/notifier';\r\nimport { AttachYCState, BaseYCService } from '@yourcause/common/state';\r\nimport { ReportingResources } from './reporting.resources';\r\nimport { ReportingState } from '../reporting.state';\r\nimport { VettingRequestStatusId } from '@core/models/status.model';\r\nimport { AssetManagementService } from '../../asset-management/services/asset-management.service';\r\nimport { DateService, TIMESTAMP_FORMAT } from '@yourcause/common/date';\r\nimport { FileService, TableDataDownloadFormat } from '@yourcause/common/files';\r\nimport { IsNumber, Required } from '@yourcause/common/form-control-validation';\r\n\r\n@AttachYCState(ReportingState)\r\n@Injectable({ providedIn: 'root' })\r\nexport class ReportingService extends BaseYCService {\r\n readonly companyIdColumn = 'companyId';\r\n readonly startDateColumn = 'startDate';\r\n readonly checkReissueStatusIdColumn = 'checkReissueStatusId';\r\n readonly searchTypeColumn = 'searchType';\r\n readonly paymentRangeFilter = 'paymentRange';\r\n efgReportPaginationOptions: PaginationOptions;\r\n\r\n errorRetrievingDataText = this.i18n.translate(\r\n 'common:notificationErrorRetreivingData',\r\n {},\r\n 'There was an error retrieving the data'\r\n );\r\n\r\n constructor (\r\n private reportingResources: ReportingResources,\r\n private extractColumnsService: ExtractFilterColumnsService,\r\n private i18n: I18nService,\r\n private dateService: DateService,\r\n private notifier: NotifierService,\r\n private fileService: FileService,\r\n private filterHelperService: FilterHelpersService,\r\n private assetManagementService: AssetManagementService\r\n ) {\r\n super();\r\n }\r\n\r\n get charityAdminDetailDownloadInfo (): CharityAdminDetailDownloadInfo {\r\n return this.get('charityAdminDetailDownloadInfo');\r\n }\r\n\r\n get customComplianceCompanies (): CustomComplianceCompany[] {\r\n return this.get('customComplianceCompanies');\r\n }\r\n\r\n get allCompliances (): NonprofitComplianceRecord[] {\r\n return this.get('allCompliances');\r\n }\r\n\r\n get outstandingPaymentId (): number {\r\n return this.get('outstandingPaymentId');\r\n }\r\n\r\n get outstandingPaymentNumber (): number {\r\n return this.get('outstandingPaymentNumber');\r\n }\r\n\r\n get paymentNonprofitId (): number {\r\n return this.get('paymentNonprofitId');\r\n }\r\n\r\n get paymentNonprofitName (): string {\r\n return this.get('paymentNonprofitName');\r\n }\r\n\r\n get drilldownRowId (): number {\r\n return this.get('drilldownRowId');\r\n }\r\n\r\n get currentEfgReportDateTime () {\r\n return this.get('currentEfgReportDateTime');\r\n }\r\n\r\n get emailClassesForFilter () {\r\n return this.get('emailClassesForFilter');\r\n }\r\n\r\n get emailClasses () {\r\n return this.get('emailClasses');\r\n }\r\n\r\n get allCompanies (): CompanyDisplayModel[] {\r\n return this.get('allCompanies');\r\n }\r\n\r\n get companiesForInput (): CompanyDisplayModel[] {\r\n return this.get('companiesForInput');\r\n }\r\n\r\n get bbiSubsectorData (): BbiSubsectorFromApi[] {\r\n return this.get('bbiSubsectorData');\r\n }\r\n\r\n get revokedNonprofitsSubdivisions (): string[] {\r\n return this.get('revokedNonprofitsSubdivisions');\r\n }\r\n\r\n get adminEmail (): string {\r\n return this.get('adminEmail');\r\n }\r\n\r\n get ycProcessingPartnerNames (): string[] {\r\n return this.get('ycProcessingPartnerNames');\r\n }\r\n\r\n getRelativeDateFilters (\r\n dateRangeValue = FilterModalTypes.Last30Days\r\n ) {\r\n return new TopLevelFilter(\r\n 'relativeDate',\r\n 'applicationSubmittedDate',\r\n dateRangeValue,\r\n '',\r\n this.filterHelperService.getRelativeDateFilterConfig(),\r\n this.i18n.translate(\r\n 'common:textFilterByDate',\r\n {},\r\n 'Filter by date'\r\n )\r\n );\r\n }\r\n\r\n setDrilldownRowId (id: number) {\r\n this.set('drilldownRowId', id);\r\n }\r\n\r\n setOutstandingPaymentInfo (\r\n paymentId: number,\r\n paymentNumber: number,\r\n nonprofitId: number,\r\n nonprofitName: string\r\n ) {\r\n this.set('outstandingPaymentId', paymentId);\r\n this.set('outstandingPaymentNumber', paymentNumber);\r\n this.set('paymentNonprofitId', nonprofitId);\r\n this.set('paymentNonprofitName', nonprofitName);\r\n }\r\n\r\n async setCharityAdminReportLink () {\r\n const url = await this.reportingResources.getReportingLink();\r\n this.set('charityAdminDetailDownloadInfo', {\r\n url,\r\n fileName: 'Charity-Admin-Detail-Report.csv'\r\n });\r\n }\r\n\r\n async setCustomComplianceCompanies () {\r\n const response = await this.reportingResources.getCustomComplianceCompanies();\r\n this.set('customComplianceCompanies', response);\r\n }\r\n\r\n setAllCompliances (compliances: NonprofitComplianceRecord[]) {\r\n this.set('allCompliances', compliances);\r\n }\r\n\r\n async setCurrentEfgReportDateTime () {\r\n const response = await this.getCurrentEfgReportDateTime();\r\n let dateString: string;\r\n if (response) {\r\n dateString = this.dateService.formatDate(response);\r\n } else {\r\n // Job: PopulateEFGReportTables runs daily @ 9:00AM UTC.\r\n // Adding an approx default date/time in the event the data\r\n // doesn't come back from the GetJobReport>lastExecutedDate\r\n dateString = this.dateService.formatDate(new Date()) + ` 5:00 AM`;\r\n }\r\n this.set('currentEfgReportDateTime', dateString);\r\n }\r\n\r\n setEmailClassesForFilter (classes: SystemEmailsAPI.EmailClass[]) {\r\n const classesForFilter = classes.map((c) => {\r\n return {\r\n id: c.id,\r\n name: c.name\r\n };\r\n });\r\n this.set('emailClassesForFilter', classesForFilter);\r\n }\r\n\r\n setEmailClasses (classes: SystemEmailsAPI.EmailClass[]) {\r\n this.set('emailClasses', classes);\r\n }\r\n\r\n setAllCompanies (companies: CompanyDisplayModel[]) {\r\n this.set('allCompanies', companies);\r\n }\r\n\r\n setCompaniesForInput (companies: CompanyDisplayModel[]) {\r\n const filteredCompanies = companies.filter((company) => {\r\n return company.externalSystemType !== ExternalSystemTypeName.GDG;\r\n });\r\n this.set('companiesForInput', filteredCompanies);\r\n }\r\n\r\n setBbiSubsectorData (data: BbiSubsectorFromApi[]) {\r\n this.set('bbiSubsectorData', data);\r\n }\r\n\r\n setRevokedNonprofitsSubdivisionsData (data: string[]) {\r\n this.set('revokedNonprofitsSubdivisions', data);\r\n }\r\n\r\n setAdminEmail (adminEmail: string) {\r\n return this.set('adminEmail', adminEmail);\r\n }\r\n\r\n async setYcProcessingPartnerNames () {\r\n const names = await this.getYCProcessingPartnerNames();\r\n this.set('ycProcessingPartnerNames', names);\r\n }\r\n\r\n // ADAPTERS\r\n\r\n getPaginationOptionsForEmailLog (\r\n paginationOptions: PaginationOptions,\r\n nonprofitId?: number\r\n ) {\r\n const adminEmail = this.adminEmail;\r\n let adaptedPaginationOptions: PaginationOptions;\r\n if (adminEmail) {\r\n adaptedPaginationOptions = this.extractColumnsService.adaptPaginationOptions(\r\n paginationOptions,\r\n 'toEmail',\r\n 'text',\r\n adminEmail\r\n );\r\n } else {\r\n // make sure we clear the toEmail column in case it\r\n // previously had a value based on adminEmail val\r\n const toEmailCol = paginationOptions.filterColumns.find((col) => col.columnName === 'toEmail');\r\n toEmailCol?.filters[0]?.filterValue ? '' : undefined;\r\n\r\n adaptedPaginationOptions = paginationOptions;\r\n }\r\n if (nonprofitId) {\r\n adaptedPaginationOptions = this.extractColumnsService.adaptPaginationOptions(\r\n adaptedPaginationOptions,\r\n 'nonprofitId',\r\n 'number',\r\n nonprofitId\r\n );\r\n }\r\n const adaptedParams = this.extractColumnsService\r\n .extractFilterColumnsFromPaginationOptions(\r\n adaptedPaginationOptions,\r\n [this.searchTypeColumn]\r\n );\r\n\r\n return adaptedParams;\r\n }\r\n\r\n getAdaptedBbiSubsctorCodePayload (\r\n paginationOptions: PaginationOptions\r\n ): BbiNonprofitSubsectorReportPayload {\r\n let earliestPaymentDate: any;\r\n let latestPaymentDate: any;\r\n paginationOptions.filterColumns = paginationOptions.filterColumns.filter((option) => {\r\n if (\r\n option.columnName === this.paymentRangeFilter &&\r\n option.filters[0].filterType === 'ge'\r\n ) {\r\n earliestPaymentDate = option.filters[0].filterValue;\r\n\r\n return false;\r\n } else if (\r\n option.columnName === this.paymentRangeFilter &&\r\n option.filters[0].filterType === 'le'\r\n ) {\r\n latestPaymentDate = option.filters[0].filterValue;\r\n\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n });\r\n const payload: BbiNonprofitSubsectorReportPayload = {\r\n earliestPaymentDate,\r\n latestPaymentDate,\r\n paginationOptions\r\n };\r\n\r\n return payload;\r\n }\r\n\r\n adaptChapterDownloadPayload (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n const adaptedPaginationOptions: PaginationOptions = {} as PaginationOptions;\r\n adaptedPaginationOptions.filterColumns = [];\r\n adaptedPaginationOptions.returnAll = true;\r\n adaptedPaginationOptions.sortColumns = [{\r\n columnName: 'chapterName',\r\n sortAscending: true\r\n }];\r\n paginationOptions.filterColumns.forEach((column) => {\r\n if (column.columnName === 'name') {\r\n adaptedPaginationOptions.filterColumns.push({\r\n columnName: 'chapterName',\r\n filters: [{\r\n filterType: 'cn',\r\n filterValue: column.filters[0].filterValue\r\n }]\r\n });\r\n\r\n return false;\r\n } else if (column.columnName === 'registrationId') {\r\n adaptedPaginationOptions.filterColumns.push({\r\n columnName: 'chapterRegistrationId',\r\n filters: [{\r\n filterType: 'cn',\r\n filterValue: column.filters[0].filterValue\r\n }]\r\n });\r\n\r\n return false;\r\n } else if (column.columnName === 'parentNonprofit.name') {\r\n adaptedPaginationOptions.filterColumns.push({\r\n columnName: 'parentName',\r\n filters: [{\r\n filterType: 'cn',\r\n filterValue: column.filters[0].filterValue\r\n }]\r\n });\r\n\r\n return false;\r\n } else if (column.columnName === 'parentNonprofit.registrationId') {\r\n adaptedPaginationOptions.filterColumns.push({\r\n columnName: 'parentRegistrationId',\r\n filters: [{\r\n filterType: 'cn',\r\n filterValue: column.filters[0].filterValue\r\n }]\r\n });\r\n\r\n return false;\r\n } else if (column.columnName === 'parentNonprofit.registrationAuthorityName') {\r\n adaptedPaginationOptions.filterColumns.push({\r\n columnName: 'parentRegistrationAuthority',\r\n filters: [{\r\n filterType: 'cn',\r\n filterValue: column.filters[0].filterValue\r\n }]\r\n });\r\n\r\n return false;\r\n } else if (column.columnName === 'registrationAuthorityName') {\r\n adaptedPaginationOptions.filterColumns.push({\r\n columnName: 'chapterRegistrationAuthority',\r\n filters: [{\r\n filterType: 'cn',\r\n filterValue: column.filters[0].filterValue\r\n }]\r\n });\r\n\r\n return false;\r\n } else if (column.columnName === 'createDate') {\r\n const dateFilterType = column.filters[0].filterType;\r\n adaptedPaginationOptions.filterColumns.push({\r\n columnName: 'chapterCreateDate',\r\n filters: [{\r\n filterType: dateFilterType,\r\n filterValue: column.filters[0].filterValue\r\n }]\r\n });\r\n\r\n return false;\r\n } else if (column.columnName === 'parentNonprofit.createDate') {\r\n const dateFilterType = column.filters[0].filterType;\r\n adaptedPaginationOptions.filterColumns.push({\r\n columnName: 'parentCreateDate',\r\n filters: [{\r\n filterType: dateFilterType,\r\n filterValue: column.filters[0].filterValue\r\n }]\r\n });\r\n\r\n return false;\r\n } else if (column.columnName === 'parentNonprofit.hasAchInfo') {\r\n adaptedPaginationOptions.filterColumns.push({\r\n columnName: 'parentHasACH',\r\n filters: [{\r\n filterType: 'eq',\r\n filterValue: column.filters[0].filterValue\r\n }]\r\n });\r\n\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n });\r\n\r\n return adaptedPaginationOptions;\r\n }\r\n\r\n // APIs\r\n\r\n async getReportsAndReportTypes (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n try {\r\n const response = await this.reportingResources.getReportsAndReportTypes(\r\n paginationOptions\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n this.notifier.error(this.errorRetrievingDataText);\r\n throw e;\r\n }\r\n }\r\n\r\n async getChapterReport (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n try {\r\n const response = await this.reportingResources.getChapterReport(\r\n paginationOptions\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.errorRetrievingDataText);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async downloadChapterReport (\r\n paginationOptions: PaginationOptions,\r\n format: TableDataDownloadFormat\r\n ) {\r\n try {\r\n const extension = format === TableDataDownloadFormat.XLSX ? 'xlsx' : 'csv';\r\n const fileName = `Nonprofit_Chapters-${this.dateService.formatDate(new Date(), TIMESTAMP_FORMAT)}.${extension}`;\r\n\r\n const adaptedOptions = this.adaptChapterDownloadPayload(paginationOptions);\r\n\r\n return this.assetManagementService.downloadCsvOrExcel(\r\n adaptedOptions,\r\n format,\r\n fileName,\r\n this.reportingResources.downloadNonprofitChaptersReportEndpoint,\r\n null\r\n );\r\n } catch (e: any) {\r\n if (e.error.message) {\r\n this.notifier.error(e.error.message);\r\n } else {\r\n this.notifier.error(this.errorRetrievingDataText);\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getEmailTemplateReport (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n const subjectTriggerFilter = 'subjectTriggerFilter';\r\n const adaptedParams = this.extractColumnsService\r\n .extractFilterColumnsFromPaginationOptions(\r\n paginationOptions,\r\n [subjectTriggerFilter]\r\n );\r\n try {\r\n const response = await this.reportingResources.getEmailTemplateReport(\r\n adaptedParams.paginationOptions,\r\n adaptedParams.params[subjectTriggerFilter]\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.errorRetrievingDataText);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async downloadEmailTemplateReport (\r\n paginationOptions: PaginationOptions,\r\n format: TableDataDownloadFormat\r\n ) {\r\n const subjectTriggerFilter = 'subjectTriggerFilter';\r\n const adaptedParams = this.extractColumnsService\r\n .extractFilterColumnsFromPaginationOptions(\r\n paginationOptions,\r\n [subjectTriggerFilter]\r\n );\r\n const payload = {\r\n paginationOptions: adaptedParams.paginationOptions,\r\n subjectTriggerFilter: adaptedParams.params[subjectTriggerFilter]\r\n };\r\n\r\n try {\r\n const extension = format === TableDataDownloadFormat.XLSX ? 'xlsx' : 'csv';\r\n const fileName = `Email_Templates_Report-${this.dateService.formatDate(new Date(), TIMESTAMP_FORMAT)}.${extension}`;\r\n\r\n return this.assetManagementService.downloadCsvOrExcel(\r\n null,\r\n format,\r\n fileName,\r\n this.reportingResources.emailTemplatesForDownloadEndpoint,\r\n payload\r\n );\r\n } catch (e: any) {\r\n if (e.error.message) {\r\n this.notifier.error(e.error.message);\r\n } else {\r\n this.notifier.error(this.errorRetrievingDataText);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n }\r\n\r\n async getEmailClasses () {\r\n const response = await this.reportingResources.getEmailClasses();\r\n this.setEmailClasses(response);\r\n this.setEmailClassesForFilter(response);\r\n }\r\n\r\n async getOutstandingPaymentsReport (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n const adaptedParams = this.extractColumnsService\r\n .extractFilterColumnsFromPaginationOptions(\r\n paginationOptions,\r\n [\r\n this.companyIdColumn,\r\n this.startDateColumn\r\n ]\r\n );\r\n\r\n try {\r\n const response = await this.reportingResources.getOutstandingPaymentsReport(\r\n adaptedParams.paginationOptions,\r\n adaptedParams.params[this.companyIdColumn],\r\n adaptedParams.params[this.startDateColumn]\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.errorRetrievingDataText);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async downloadOutstandingPayments (\r\n paginationOptions: PaginationOptions,\r\n format: TableDataDownloadFormat\r\n ) {\r\n try {\r\n const adaptedParams = this.extractColumnsService\r\n .extractFilterColumnsFromPaginationOptions(\r\n paginationOptions,\r\n [\r\n this.companyIdColumn,\r\n this.startDateColumn\r\n ]\r\n );\r\n const extension = format === TableDataDownloadFormat.XLSX ? 'xlsx' : 'csv';\r\n const fileName = `Outstanding_Payments-${this.dateService.formatDate(new Date(), TIMESTAMP_FORMAT)}.${extension}`;\r\n const payload = {\r\n paginationOptions: adaptedParams.paginationOptions,\r\n companyId: adaptedParams.params[this.companyIdColumn],\r\n startDate: adaptedParams.params[this.startDateColumn],\r\n exportReportType: format\r\n };\r\n\r\n return this.assetManagementService.downloadCsvOrExcel(\r\n null,\r\n format,\r\n fileName,\r\n this.reportingResources.outstandingPaymentsWithDonationsDownload,\r\n payload\r\n );\r\n } catch (e: any) {\r\n if (e.error.message) {\r\n this.notifier.error(e.error.message);\r\n } else {\r\n this.notifier.error(this.errorRetrievingDataText);\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getOutstandingTransactions (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n try {\r\n const response = await this.reportingResources.getOutstandingTransactions(\r\n paginationOptions,\r\n this.outstandingPaymentId\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.errorRetrievingDataText);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async downloadOutstandingTransactions (\r\n paginationOptions: PaginationOptions,\r\n format: TableDataDownloadFormat\r\n ) {\r\n try {\r\n const extension = format === TableDataDownloadFormat.XLSX ? 'xlsx' : 'csv';\r\n const fileName = `Outstanding_Transactions-${this.dateService.formatDate(new Date(), TIMESTAMP_FORMAT)}.${extension}`;\r\n\r\n return this.assetManagementService.downloadCsvOrExcel(\r\n null,\r\n format,\r\n fileName,\r\n this.reportingResources.outstandingPaymentTransactionsDownload,\r\n {\r\n paginationOptions,\r\n nonprofitPaymentId: this.outstandingPaymentId,\r\n exportReportType: format\r\n }\r\n );\r\n } catch (e: any) {\r\n if (e.error.message) {\r\n this.notifier.error(e.error.message);\r\n } else {\r\n this.notifier.error(this.errorRetrievingDataText);\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getInactiveNposWithPendingDisbursements (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n try {\r\n const response = await this.reportingResources.getInactiveNposWithPendingDisbursements(\r\n paginationOptions\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.errorRetrievingDataText);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getInactiveNposWithPendingDisbursementsDownload (\r\n paginationOptions: PaginationOptions,\r\n format: TableDataDownloadFormat\r\n ) {\r\n try {\r\n const extension = format === TableDataDownloadFormat.XLSX ? 'xlsx' : 'csv';\r\n const fileName = `Inactive_Npos_With_Pending_Disbursements_Report-${this.dateService.formatDate(new Date(), TIMESTAMP_FORMAT)}.${extension}`;\r\n\r\n return this.assetManagementService.downloadCsvOrExcel(\r\n null,\r\n format,\r\n fileName,\r\n this.reportingResources.inactiveNPOsWithPendingDonationsDownloadEndpoint,\r\n null\r\n );\r\n } catch (e: any) {\r\n if (e.error.message) {\r\n this.notifier.error(e.error.message);\r\n } else {\r\n this.notifier.error(this.errorRetrievingDataText);\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getMergedNonprofitsReport (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n try {\r\n const response = await this.reportingResources.getMergedNonprofitsReport(\r\n paginationOptions\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.errorRetrievingDataText);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getMergedNonprofitsReportDownload (\r\n paginationOptions: PaginationOptions,\r\n format: TableDataDownloadFormat\r\n ) {\r\n try {\r\n const extension = format === TableDataDownloadFormat.XLSX ? 'xlsx' : 'csv';\r\n const fileName = `Merged_Nonprofits_Report-${this.dateService.formatDate(new Date(), TIMESTAMP_FORMAT)}.${extension}`;\r\n\r\n return this.assetManagementService.downloadCsvOrExcel(\r\n paginationOptions,\r\n format,\r\n fileName,\r\n this.reportingResources.nonprofitMergeReportDownload,\r\n null\r\n );\r\n } catch (e: any) {\r\n console.error(e);\r\n if (e.error.message) {\r\n this.notifier.error(e.error.message);\r\n } else {\r\n this.notifier.error(this.errorRetrievingDataText);\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getNonprofitExclusionList (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n try {\r\n const response = await this.reportingResources.getNonprofitExclusionList(\r\n paginationOptions\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.errorRetrievingDataText);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async downloadNonprofitExclusionList (\r\n options: PaginationOptions,\r\n format: TableDataDownloadFormat\r\n ) {\r\n try {\r\n const extension = format === TableDataDownloadFormat.XLSX ? 'xlsx' : 'csv';\r\n const fileName = `Nonprofit_Exclusion_List-${this.dateService.formatDate(new Date(), TIMESTAMP_FORMAT)}.${extension}`;\r\n\r\n return this.assetManagementService.downloadCsvOrExcel(\r\n options,\r\n format,\r\n fileName,\r\n this.reportingResources.downloadNonprofitExclusionListEndpoint,\r\n null\r\n );\r\n } catch (e: any) {\r\n if (e.error.message) {\r\n this.notifier.error(e.error.message);\r\n } else {\r\n this.notifier.error(this.errorRetrievingDataText);\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n getComplianceAndAffiliationsReport (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n if (paginationOptions.filterColumns.length) {\r\n const adaptedParams = this.extractColumnsService\r\n .extractFilterColumnsFromPaginationOptions(\r\n paginationOptions,\r\n [this.companyIdColumn]\r\n );\r\n\r\n const filteredPaginationOptions = {\r\n ...adaptedParams.paginationOptions\r\n };\r\n\r\n return this.reportingResources.getComplianceAndAffiliationsReport(\r\n filteredPaginationOptions,\r\n adaptedParams.params[this.companyIdColumn]\r\n );\r\n } else {\r\n return this.reportingResources.getComplianceAndAffiliationsReport(\r\n paginationOptions,\r\n null\r\n );\r\n }\r\n\r\n }\r\n\r\n async getComplianceAndAffiliationsDownload (\r\n paginationOptions: PaginationOptions,\r\n format: TableDataDownloadFormat\r\n ) {\r\n try {\r\n let filteredPaginationOptions: PaginationOptions;\r\n let companyId: number;\r\n let companyName: string;\r\n\r\n if (paginationOptions.filterColumns?.length > 0) {\r\n const adaptedParams = this.extractColumnsService\r\n .extractFilterColumnsFromPaginationOptions(\r\n paginationOptions,\r\n [this.companyIdColumn]\r\n );\r\n companyId = adaptedParams.params[this.companyIdColumn];\r\n filteredPaginationOptions = {\r\n ...adaptedParams.paginationOptions,\r\n returnAll: true\r\n };\r\n } else {\r\n companyId = null;\r\n filteredPaginationOptions = {\r\n ...paginationOptions,\r\n returnAll: true\r\n };\r\n }\r\n\r\n if (!!companyId) {\r\n companyName = (this.customComplianceCompanies?.find((co) => co.companyId === companyId).name)?.split(' ').join('_');\r\n }\r\n\r\n const extension = format === TableDataDownloadFormat.XLSX ? 'xlsx' : 'csv';\r\n const fileName = !!companyName ?\r\n `Compliance_And_Affiliations_Report-${companyName}-${this.dateService.formatDate(new Date(), TIMESTAMP_FORMAT)}.${extension}` :\r\n `Compliance_And_Affiliations_Report-${this.dateService.formatDate(new Date(), TIMESTAMP_FORMAT)}.${extension}`;\r\n\r\n return this.assetManagementService.downloadCsvOrExcel(\r\n null,\r\n format,\r\n fileName,\r\n this.reportingResources.npoComplianceAffiliationReportDownloadEndpoint,\r\n {\r\n paginationOptions: filteredPaginationOptions,\r\n companyId\r\n }\r\n );\r\n } catch (e: any) {\r\n if (e.error.message) {\r\n this.notifier.error(e.error.message);\r\n } else {\r\n this.notifier.error(this.errorRetrievingDataText);\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n /**\r\n * Get Import Summary Report Data\r\n *\r\n * @param paginationOptions pagination options\r\n * @returns report data\r\n */\r\n getImportSummaryTable (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n return this.reportingResources.getImportSummaryReportData(\r\n paginationOptions,\r\n this.drilldownRowId\r\n );\r\n }\r\n\r\n /**\r\n * Get Import History Report Data\r\n *\r\n * @param paginationOptions pagination options\r\n * @returns report data\r\n */\r\n getImportHistoryTable (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n return this.reportingResources.getImportHistoryReportData(\r\n paginationOptions\r\n );\r\n }\r\n\r\n async getNposWithDisbursementSuspended (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n try {\r\n const response = await this.reportingResources.getNposWithDisbursementSuspended(\r\n paginationOptions\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.errorRetrievingDataText);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getNposWithDisbursementSuspendedDownload (\r\n paginationOptions: PaginationOptions,\r\n format: TableDataDownloadFormat\r\n ) {\r\n try {\r\n const adaptedPaginationOptions: PaginationOptions = {} as PaginationOptions;\r\n adaptedPaginationOptions.filterColumns = [];\r\n adaptedPaginationOptions.returnAll = true;\r\n adaptedPaginationOptions.sortColumns = [{\r\n columnName: 'nonprofit.name',\r\n sortAscending: true\r\n }];\r\n paginationOptions.filterColumns.forEach((column) => {\r\n if (column.columnName === 'nonprofitAdmin.email') {\r\n adaptedPaginationOptions.filterColumns.push({\r\n columnName: 'activeAdminEmail',\r\n filters: [{\r\n filterType: 'cn',\r\n filterValue: column.filters[0].filterValue\r\n }]\r\n });\r\n\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n });\r\n const allOptions = {\r\n ...adaptedPaginationOptions,\r\n ...paginationOptions\r\n };\r\n\r\n const extension = format === TableDataDownloadFormat.XLSX ? 'xlsx' : 'csv';\r\n const fileName = `Npos_With_Disbursement_Suspended-${this.dateService.formatDate(new Date(), TIMESTAMP_FORMAT)}.${extension}`;\r\n\r\n return this.assetManagementService.downloadCsvOrExcel(\r\n allOptions,\r\n format,\r\n fileName,\r\n this.reportingResources.organizationsWithDisbursementSuspendedDownload,\r\n null\r\n );\r\n } catch (e: any) {\r\n if (e.error.message) {\r\n this.notifier.error(e.error.message);\r\n } else {\r\n this.notifier.error(this.errorRetrievingDataText);\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getReissueCheckRequests (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n const adaptedParams = this.extractColumnsService\r\n .extractFilterColumnsFromPaginationOptions(\r\n paginationOptions,\r\n [\r\n this.companyIdColumn,\r\n this.checkReissueStatusIdColumn\r\n ]\r\n );\r\n try {\r\n const response = await this.reportingResources.getReissueCheckRequests(\r\n adaptedParams.paginationOptions,\r\n adaptedParams.params[this.companyIdColumn],\r\n adaptedParams.params[this.checkReissueStatusIdColumn]\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.errorRetrievingDataText);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async downloadReissueCheckRequests (\r\n paginationOptions: PaginationOptions,\r\n format: TableDataDownloadFormat\r\n ) {\r\n try {\r\n const adaptedParams = this.extractColumnsService\r\n .extractFilterColumnsFromPaginationOptions(\r\n paginationOptions,\r\n [\r\n this.companyIdColumn,\r\n this.checkReissueStatusIdColumn\r\n ]\r\n );\r\n const extension = format === TableDataDownloadFormat.XLSX ? 'xlsx' : 'csv';\r\n const fileName = `Reissue_Check_Requests-${this.dateService.formatDate(new Date(), TIMESTAMP_FORMAT)}.${extension}`;\r\n\r\n return this.assetManagementService.downloadCsvOrExcel(\r\n null,\r\n format,\r\n fileName,\r\n this.reportingResources.reissueCheckRequestsDownloadEndpoint,\r\n {\r\n paginationOptions: adaptedParams.paginationOptions,\r\n companyId: adaptedParams.params[this.companyIdColumn],\r\n statusId: adaptedParams.params[this.checkReissueStatusIdColumn]\r\n }\r\n );\r\n } catch (e: any) {\r\n console.error(e);\r\n if (e.error.message) {\r\n this.notifier.error(e.error.message);\r\n } else {\r\n this.notifier.error(this.errorRetrievingDataText);\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getActiveNonprofitsEFGReportRegAuthAndCountry (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n try {\r\n const response = await this.reportingResources.getActiveNonprofitsEFGReportRegAuthAndCountry(\r\n paginationOptions\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.errorRetrievingDataText);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getActiveNposByEFGCountryAndRegAuthDownload (\r\n paginationOptions: PaginationOptions,\r\n format: TableDataDownloadFormat\r\n ) {\r\n try {\r\n const extension = format === TableDataDownloadFormat.XLSX ? 'xlsx' : 'csv';\r\n const fileName = `Active_Npos_By_EFG_Country_And_RegAuthority-${this.dateService.formatDate(new Date(), TIMESTAMP_FORMAT)}.${extension}`;\r\n\r\n return this.assetManagementService.downloadCsvOrExcel(\r\n paginationOptions,\r\n format,\r\n fileName,\r\n this.reportingResources.activeNonprofitsEFGReportDownload,\r\n null\r\n );\r\n } catch (e: any) {\r\n console.error(e);\r\n if (e.error.message) {\r\n this.notifier.error(e.error.message);\r\n } else {\r\n this.notifier.error(this.errorRetrievingDataText);\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getActiveNonprofitsEFGReportByRegistrationAuthority (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n try {\r\n const response = await this.reportingResources.getActiveNonprofitsEFGReportByRegistrationAuthority(\r\n paginationOptions\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.errorRetrievingDataText);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getActiveNonprofitsEFGReportByRegistrationAuthorityDownload (\r\n paginationOptions: PaginationOptions,\r\n format: TableDataDownloadFormat\r\n ) {\r\n try {\r\n const extension = format === TableDataDownloadFormat.XLSX ? 'xlsx' : 'csv';\r\n const fileName = `Active_Nonprofits_EFG_By_Registration_Authority-${this.dateService.formatDate(new Date(), TIMESTAMP_FORMAT)}.${extension}`;\r\n\r\n return this.assetManagementService.downloadCsvOrExcel(\r\n paginationOptions,\r\n format,\r\n fileName,\r\n this.reportingResources.activeNonprofitsEFGReportByRegistrationAuthorityDownload,\r\n null\r\n );\r\n } catch (e: any) {\r\n console.error(e);\r\n if (e.error.message) {\r\n this.notifier.error(e.error.message);\r\n } else {\r\n this.notifier.error(this.errorRetrievingDataText);\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getActiveNonprofitsEFGReportByCountry (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n try {\r\n const response = await this.reportingResources.getActiveNonprofitsEFGReportByCountry(\r\n paginationOptions\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.errorRetrievingDataText);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getActiveNonprofitsEFGReportByCountryDownload (\r\n paginationOptions: PaginationOptions,\r\n format: TableDataDownloadFormat\r\n ) {\r\n try {\r\n const extension = format === TableDataDownloadFormat.XLSX ? 'xlsx' : 'csv';\r\n const fileName = `Active_Nonprofits_EFG_Report_By_Country-${this.dateService.formatDate(new Date(), TIMESTAMP_FORMAT)}.${extension}`;\r\n\r\n return this.assetManagementService.downloadCsvOrExcel(\r\n paginationOptions,\r\n format,\r\n fileName,\r\n this.reportingResources.activeNonprofitsEFGReportByCountryDownload,\r\n null\r\n );\r\n } catch (e: any) {\r\n console.error(e);\r\n if (e.error.message) {\r\n this.notifier.error(e.error.message);\r\n } else {\r\n this.notifier.error(this.errorRetrievingDataText);\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getActiveNonprofitsEFGReportByProcessor (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n try {\r\n const response = await this.reportingResources.getActiveNonprofitsEFGReportByProcessor(\r\n paginationOptions\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n this.notifier.error(this.errorRetrievingDataText);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getActiveNonprofitsEFGReportByProcessorDownload (\r\n paginationOptions: PaginationOptions,\r\n format: TableDataDownloadFormat\r\n ) {\r\n try {\r\n const extension = format === TableDataDownloadFormat.XLSX ? 'xlsx' : 'csv';\r\n const fileName = `Active_Nonprofits_EFG_Report_By_Processor-${this.dateService.formatDate(new Date(), TIMESTAMP_FORMAT)}.${extension}`;\r\n\r\n return this.assetManagementService.downloadCsvOrExcel(\r\n paginationOptions,\r\n format,\r\n fileName,\r\n this.reportingResources.activeNonprofitsEFGReportByProcessingPartnerDownload,\r\n null\r\n );\r\n } catch (e: any) {\r\n console.error(e);\r\n if (e.error.message) {\r\n this.notifier.error(e.error.message);\r\n } else {\r\n this.notifier.error(this.errorRetrievingDataText);\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getAllCompliances () {\r\n const response = await this.reportingResources.getAllCompliances();\r\n this.setAllCompliances(response.data);\r\n }\r\n\r\n async downloadComplianceReport (\r\n paginationOptions: PaginationOptions,\r\n format: TableDataDownloadFormat\r\n ) {\r\n try {\r\n const extension = format === TableDataDownloadFormat.XLSX ? 'xlsx' : 'csv';\r\n const fileName = `Compliance_Report-${this.dateService.formatDate(new Date(), TIMESTAMP_FORMAT)}.${extension}`;\r\n\r\n return this.assetManagementService.downloadCsvOrExcel(\r\n paginationOptions,\r\n format,\r\n fileName,\r\n this.reportingResources.complianceReportDownload,\r\n null\r\n );\r\n } catch (e: any) {\r\n console.error(e);\r\n if (e.error.message) {\r\n this.notifier.error(e.error.message);\r\n } else {\r\n this.notifier.error(this.errorRetrievingDataText);\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getCurrentEfgReportDateTime (): Promise {\r\n const paginationOptions: PaginationOptions = {\r\n filterColumns: [\r\n {\r\n columnName: 'jobName',\r\n filters: [\r\n {\r\n filterType: 'eq',\r\n filterValue: 'PopulateEFGReportTables'\r\n }\r\n ]\r\n }\r\n ],\r\n orFilterColumns: [],\r\n rowsPerPage: 10,\r\n pageNumber: 1,\r\n sortColumns: [{\r\n columnName: 'jobName',\r\n sortAscending: true\r\n }],\r\n retrieveTotalRecordCount: true,\r\n returnAll: false\r\n };\r\n const response = await this.reportingResources.getJobsReport(paginationOptions);\r\n\r\n return response.data.records[0]?.lastExecutedDate || '';\r\n }\r\n\r\n async getEmailReport (\r\n paginationOptions: PaginationOptions,\r\n nonprofitId?: number\r\n ) {\r\n const adaptedParams = this.getPaginationOptionsForEmailLog(\r\n paginationOptions,\r\n nonprofitId\r\n );\r\n try {\r\n const response = await this.reportingResources.getEmailReport(\r\n adaptedParams.paginationOptions\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.errorRetrievingDataText);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getEmailReportForDownload (\r\n paginationOptions: PaginationOptions,\r\n format: TableDataDownloadFormat,\r\n nonprofitId?: number\r\n ) {\r\n const adaptedParams = this.getPaginationOptionsForEmailLog(\r\n paginationOptions,\r\n nonprofitId\r\n );\r\n const payload = {\r\n paginationOptions: adaptedParams.paginationOptions,\r\n nonprofitId\r\n };\r\n try {\r\n const extension = format === TableDataDownloadFormat.XLSX ? 'xlsx' : 'csv';\r\n const fileName = `Email_Report-${this.dateService.formatDate(new Date(), TIMESTAMP_FORMAT)}.${extension}`;\r\n\r\n return this.assetManagementService.downloadCsvOrExcel(\r\n null,\r\n format,\r\n fileName,\r\n this.reportingResources.emailReportForDownloadEndpoint,\r\n payload\r\n );\r\n } catch (e: any) {\r\n if (e.error.message) {\r\n this.notifier.error(e.error.message);\r\n } else {\r\n this.notifier.error(this.errorRetrievingDataText);\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getEmailPreview (emailId: number) {\r\n try {\r\n const response = await this.reportingResources.getEmailPreview(emailId);\r\n\r\n return response.data;\r\n } catch(e) {\r\n console.error(e);\r\n this.notifier.error(this.errorRetrievingDataText);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getNonprofitsBasedOnVettingExpiredDay (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n let vetAuthId: number;\r\n let expDays: number;\r\n paginationOptions.filterColumns = paginationOptions.filterColumns.filter((column) => {\r\n if (column.columnName === 'vettingAuthorityId') {\r\n vetAuthId = column.filters[0].filterValue as number;\r\n\r\n return false;\r\n } else if (column.columnName === 'expireDays') {\r\n expDays = column.filters[0].filterValue as number;\r\n\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n });\r\n\r\n try {\r\n const response = await this.reportingResources.getNonprofitsBasedOnVettingExpiredDay(\r\n vetAuthId,\r\n expDays,\r\n paginationOptions\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.errorRetrievingDataText);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getVettingExpirationDownload (\r\n paginationOptions: PaginationOptions,\r\n format: TableDataDownloadFormat\r\n ) {\r\n let vetAuthId: number;\r\n let expDays: number;\r\n paginationOptions.filterColumns = paginationOptions.filterColumns.filter((column) => {\r\n if (column.columnName === 'vettingAuthorityId') {\r\n vetAuthId = column.filters[0].filterValue as number;\r\n\r\n return false;\r\n } else if (column.columnName === 'expireDays') {\r\n expDays = column.filters[0].filterValue as number;\r\n\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n });\r\n\r\n try {\r\n const extension = format === TableDataDownloadFormat.XLSX ? 'xlsx' : 'csv';\r\n const fileName = `Vetting_Expiration_Report-${this.dateService.formatDate(new Date(), TIMESTAMP_FORMAT)}.${extension}`;\r\n\r\n return this.assetManagementService.downloadCsvOrExcel(\r\n null,\r\n format,\r\n fileName,\r\n this.reportingResources.vettingExpirationsDownloadEndpoint,\r\n {\r\n vetAuthId,\r\n expDays,\r\n paginationOptions\r\n }\r\n );\r\n } catch (e: any) {\r\n console.error(e);\r\n if (e.error.message) {\r\n this.notifier.error(e.error.message);\r\n } else {\r\n this.notifier.error(this.errorRetrievingDataText);\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getVettingRequestsForReporting (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n let activeOnly = false;\r\n paginationOptions.filterColumns = paginationOptions.filterColumns.filter((option) => {\r\n if (option.columnName === 'statusOption') {\r\n if (option.filters[0].filterValue === VR_REPORT_STATUS_OPTION.ALL_ACTIVE_REQUESTS) {\r\n activeOnly = true;\r\n }\r\n\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n });\r\n if (activeOnly) {\r\n paginationOptions.filterColumns = [\r\n ...paginationOptions.filterColumns,\r\n {\r\n columnName: 'requestStatusId',\r\n filters: [\r\n {\r\n filterType: 'eq',\r\n filterValue: VettingRequestStatusId.REQUEST_SUBMITTED\r\n },\r\n {\r\n filterType: 'eq',\r\n filterValue: VettingRequestStatusId.IN_PROGRESS\r\n },\r\n {\r\n filterType: 'eq',\r\n filterValue: VettingRequestStatusId.ROUTED_TO_VETTING_AUTHORITY\r\n },\r\n {\r\n filterType: 'eq',\r\n filterValue: VettingRequestStatusId.ON_HOLD_PENDING_BILLING\r\n }\r\n ]\r\n }\r\n ];\r\n }\r\n try {\r\n const response = await this.reportingResources.getVettingRequestsForReporting(\r\n paginationOptions\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.errorRetrievingDataText);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async downloadVettingRequestsForReporting (\r\n options: PaginationOptions,\r\n format: TableDataDownloadFormat\r\n ) {\r\n let activeOnly = false;\r\n options.filterColumns = options.filterColumns.filter((option) => {\r\n if (option.columnName === 'statusOption') {\r\n if (option.filters[0].filterValue === VR_REPORT_STATUS_OPTION.ALL_ACTIVE_REQUESTS) {\r\n activeOnly = true;\r\n }\r\n\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n });\r\n if (activeOnly) {\r\n options.filterColumns = [\r\n ...options.filterColumns,\r\n {\r\n columnName: 'requestStatusId',\r\n filters: [\r\n {\r\n filterType: 'eq',\r\n filterValue: VettingRequestStatusId.REQUEST_SUBMITTED\r\n },\r\n {\r\n filterType: 'eq',\r\n filterValue: VettingRequestStatusId.IN_PROGRESS\r\n },\r\n {\r\n filterType: 'eq',\r\n filterValue: VettingRequestStatusId.ROUTED_TO_VETTING_AUTHORITY\r\n },\r\n {\r\n filterType: 'eq',\r\n filterValue: VettingRequestStatusId.ON_HOLD_PENDING_BILLING\r\n }\r\n ]\r\n }\r\n ];\r\n }\r\n try {\r\n const extension = format === TableDataDownloadFormat.XLSX ? 'xlsx' : 'csv';\r\n const fileName = `Vetting_Requests_For_Reporting-${this.dateService.formatDate(new Date(), TIMESTAMP_FORMAT)}.${extension}`;\r\n\r\n return this.assetManagementService.downloadCsvOrExcel(\r\n options,\r\n format,\r\n fileName,\r\n this.reportingResources.downloadVettingRequestsForReportingEndpoint,\r\n null\r\n );\r\n } catch (e: any) {\r\n if (e.error.message) {\r\n this.notifier.error(e.error.message);\r\n } else {\r\n this.notifier.error(this.errorRetrievingDataText);\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async failedPaymentReturnedChecksReport (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n try {\r\n const response = await this.reportingResources.failedPaymentReturnedChecksReport(\r\n paginationOptions\r\n );\r\n\r\n return response;\r\n } catch (e: any) {\r\n console.error(e);\r\n if (e.error.message) {\r\n this.notifier.error(e.error.message);\r\n } else {\r\n this.notifier.error(this.errorRetrievingDataText);\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async failedPaymentReturnedChecksReportDownload (\r\n paginationOptions: PaginationOptions,\r\n format: TableDataDownloadFormat\r\n ) {\r\n try {\r\n const extension = format === TableDataDownloadFormat.XLSX ? 'xlsx' : 'csv';\r\n const fileName = `Failed_Payment_Returned_Checks_Report-${this.dateService.formatDate(new Date(), TIMESTAMP_FORMAT)}.${extension}`;\r\n\r\n return this.assetManagementService.downloadCsvOrExcel(\r\n paginationOptions,\r\n format,\r\n fileName,\r\n this.reportingResources.failedPaymentReturnedChecksReportDownloadEndpoint,\r\n null\r\n );\r\n } catch (e: any) {\r\n console.error(e);\r\n if (e.error.message) {\r\n this.notifier.error(e.error.message);\r\n } else {\r\n this.notifier.error(this.errorRetrievingDataText);\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getBankCustomAttributesReport (\r\n paginationOptions: PaginationOptions,\r\n showIBAN: boolean\r\n ) {\r\n if (!showIBAN) {\r\n const ibanFilterColumn: FilterColumn = {\r\n columnName: 'attributeName',\r\n filters: [\r\n {\r\n filterType: 'ne',\r\n filterValue: 'IBAN'\r\n }\r\n ]\r\n };\r\n paginationOptions.filterColumns = [\r\n ...paginationOptions.filterColumns,\r\n ibanFilterColumn\r\n ];\r\n }\r\n try {\r\n const response = await this.reportingResources.getBankCustomAttributesReport(\r\n paginationOptions\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.errorRetrievingDataText);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getBankCustomAttributesReportDownload (\r\n paginationOptions: PaginationOptions,\r\n format: TableDataDownloadFormat,\r\n showIBAN: boolean\r\n ) {\r\n if (!showIBAN) {\r\n const ibanFilterColumn: FilterColumn = {\r\n columnName: 'attributeName',\r\n filters: [\r\n {\r\n filterType: 'ne',\r\n filterValue: 'IBAN'\r\n }\r\n ]\r\n };\r\n paginationOptions.filterColumns = [\r\n ...paginationOptions.filterColumns,\r\n ibanFilterColumn\r\n ];\r\n }\r\n try {\r\n const extension = format === TableDataDownloadFormat.XLSX ? 'xlsx' : 'csv';\r\n const fileName = `Bank_Custom_Attributes_Report-${this.dateService.formatDate(new Date(), TIMESTAMP_FORMAT)}.${extension}`;\r\n\r\n return this.assetManagementService.downloadCsvOrExcel(\r\n paginationOptions,\r\n format,\r\n fileName,\r\n this.reportingResources.bankCustomAttributesReportDownloadEndpoint,\r\n null\r\n );\r\n } catch (e: any) {\r\n console.error(e);\r\n if (e.error.message) {\r\n this.notifier.error(e.error.message);\r\n } else {\r\n this.notifier.error(this.errorRetrievingDataText);\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async fetchAllCompanies () {\r\n const response = await this.reportingResources.fetchAllCompanies();\r\n this.setAllCompanies(response);\r\n this.setCompaniesForInput(response);\r\n }\r\n\r\n async uploadCharityIdList (charityIds: number[]) {\r\n try {\r\n await this.reportingResources.uploadCharityIdList(charityIds);\r\n this.notifier.success(this.i18n.translate(\r\n 'common:notificationSuccessUploadingFile',\r\n {},\r\n 'Successfully uploaded file'\r\n ));\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'common:notificationErrorUploadingFile',\r\n {},\r\n 'There was an error uploading the file'\r\n ));\r\n }\r\n }\r\n\r\n async getBBINonprofitSubsectorReport (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n const payload: BbiNonprofitSubsectorReportPayload = this.getAdaptedBbiSubsctorCodePayload(paginationOptions);\r\n try {\r\n return await this.reportingResources.getBBINonprofitSubsectorReport(\r\n payload\r\n );\r\n } catch (e) {\r\n this.notifier.error(this.errorRetrievingDataText);\r\n throw e;\r\n }\r\n }\r\n\r\n async downloadBBINonprofitSubsectorReport (\r\n paginationOptions: PaginationOptions,\r\n format: TableDataDownloadFormat\r\n ) {\r\n const payload: BbiNonprofitSubsectorReportPayload = this.getAdaptedBbiSubsctorCodePayload(paginationOptions);\r\n try {\r\n const extension = format === TableDataDownloadFormat.XLSX ? 'xlsx' : 'csv';\r\n const fileName = `BBI_Nonprofit_Subsector_Report-${this.dateService.formatDate(new Date(), TIMESTAMP_FORMAT)}.${extension}`;\r\n\r\n return this.assetManagementService.downloadCsvOrExcel(\r\n null,\r\n format,\r\n fileName,\r\n this.reportingResources.downloadBBINonprofitSubsectorReportEndpoint,\r\n {\r\n paginationOptions: payload.paginationOptions,\r\n earliestPaymentDate: payload.earliestPaymentDate,\r\n latestPaymentDate: payload.latestPaymentDate,\r\n exportReportType: format\r\n }\r\n );\r\n } catch (e: any) {\r\n if (e.error.message) {\r\n this.notifier.error(e.error.message);\r\n } else {\r\n this.notifier.error(this.errorRetrievingDataText);\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getNonprofitClassificationMapReport (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n try {\r\n const response = await this.reportingResources.getNonprofitClassificationMapReport(\r\n paginationOptions\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.errorRetrievingDataText);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getNonprofitClassificationMapDownload (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n try {\r\n const response = await this.reportingResources.getNonprofitClassificationMapReport(\r\n paginationOptions\r\n );\r\n\r\n return this.fileService.convertObjectArrayToCSVString(response.data.records);\r\n } catch (e) {\r\n this.notifier.error(this.errorRetrievingDataText);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getVettingApplicationsSubmittedOrCompletedReportDisplay (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n let startDate;\r\n let endDate;\r\n paginationOptions.filterColumns = paginationOptions.filterColumns.filter((column) => {\r\n if (column.columnName === 'applicationSubmittedDate') {\r\n const filterType = column.filters[0].filterType as FilterModalTypes;\r\n const dates = this.filterHelperService.getClientSideRelativeDates(\r\n filterType\r\n );\r\n if (dates) {\r\n startDate = dates[0];\r\n endDate = dates[1];\r\n }\r\n\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n });\r\n const response = await this.reportingResources.getVettingApplicationsSubmittedOrCompletedReportDisplay(\r\n paginationOptions,\r\n startDate,\r\n endDate\r\n );\r\n\r\n return response;\r\n }\r\n\r\n async downloadVettingApplicationsSubmittedOrCompletedReportDisplay (\r\n paginationOptions: PaginationOptions,\r\n format: TableDataDownloadFormat\r\n ) {\r\n let startDate;\r\n let endDate;\r\n paginationOptions.filterColumns = paginationOptions.filterColumns.filter((column) => {\r\n if (column.columnName === 'applicationSubmittedDate') {\r\n const filterType = column.filters[0].filterType as FilterModalTypes;\r\n const dates = this.filterHelperService.getClientSideRelativeDates(\r\n filterType\r\n );\r\n if (dates) {\r\n startDate = dates[0];\r\n endDate = dates[1];\r\n }\r\n\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n });\r\n try {\r\n const extension = format === TableDataDownloadFormat.XLSX ? 'xlsx' : 'csv';\r\n const fileName = `Vetting_Application_Submitted_Or_Completed-${this.dateService.formatDate(new Date(), TIMESTAMP_FORMAT)}.${extension}`;\r\n\r\n return this.assetManagementService.downloadCsvOrExcel(\r\n null,\r\n format,\r\n fileName,\r\n 'api/ReportingController/SubmittedOrCompletedVettingApplicationsDownload',\r\n {\r\n paginationOptions,\r\n startDate,\r\n endDate,\r\n exportReportType: format\r\n }\r\n );\r\n } catch (e: any) {\r\n if (e.error.message) {\r\n this.notifier.error(e.error.message);\r\n } else {\r\n this.notifier.error(this.errorRetrievingDataText);\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getBBISubsectorInfoList () {\r\n const response = await this.reportingResources.getBBISubsectorInfoList();\r\n this.setBbiSubsectorData(response);\r\n }\r\n\r\n async getRevokedNonprofitsSubdivisionsList () {\r\n const response = await this.reportingResources.getRevokedNonprofitsSubdivisionsList();\r\n this.setRevokedNonprofitsSubdivisionsData(response.revokedNonprofitsSubdivisions);\r\n }\r\n\r\n async queueActiveNonprofitsEFGReport (payload: ActiveNpoByEFGLinkPayload) {\r\n try {\r\n const response = await this.reportingResources.queueActiveNonprofitsEFGReport(payload);\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'common:notificationErrorDownloadingFile',\r\n {},\r\n 'There was an error downloading the file'\r\n ));\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getYCProcessingPartnerNames () {\r\n const response = await this.reportingResources.getYCProcessingPartnerNames();\r\n\r\n return response;\r\n }\r\n\r\n async getEligibilityForGivingOverrides (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n try {\r\n const response = await this.reportingResources.getEligibilityForGivingOverrides(\r\n paginationOptions\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.errorRetrievingDataText);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async downloadEligibilityForGivingOverrides (\r\n options: PaginationOptions,\r\n format: TableDataDownloadFormat\r\n ) {\r\n try {\r\n const extension = format === TableDataDownloadFormat.XLSX ? 'xlsx' : 'csv';\r\n const fileName = `Nonprofit_Eligibility_For_Giving_Overrides-${this.dateService.formatDate(new Date(), TIMESTAMP_FORMAT)}.${extension}`;\r\n\r\n return this.assetManagementService.downloadCsvOrExcel(\r\n options,\r\n format,\r\n fileName,\r\n this.reportingResources.nonprofitEligibileForGivingOverridesDownload,\r\n null\r\n );\r\n } catch (e: any) {\r\n if (e.error.message) {\r\n this.notifier.error(e.error.message);\r\n } else {\r\n this.notifier.error(this.errorRetrievingDataText);\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getRevokedNonprofitsForDisplay (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n let revokedByStateCode;\r\n\r\n paginationOptions.filterColumns = paginationOptions.filterColumns.filter((column) => {\r\n if (column.columnName === 'revokedByStateCode') {\r\n revokedByStateCode = column.filters[0].filterValue as string;\r\n\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n });\r\n\r\n return await this.getRevokedNonprofits(paginationOptions, revokedByStateCode);\r\n }\r\n\r\n async getRevokedNonprofitsForDownload (\r\n paginationOptions: PaginationOptions,\r\n format: TableDataDownloadFormat\r\n ) {\r\n let revokedByStateCode;\r\n\r\n paginationOptions.filterColumns = paginationOptions.filterColumns.filter((column) => {\r\n if (column.columnName === 'revokedByStateCode') {\r\n revokedByStateCode = column.filters[0].filterValue as string;\r\n\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n });\r\n\r\n return await this.getRevokedNonprofits(paginationOptions, revokedByStateCode, format);\r\n }\r\n\r\n private async getRevokedNonprofits (\r\n paginationOptions: PaginationOptions,\r\n revokedByStateCode?: string,\r\n format?: TableDataDownloadFormat\r\n ) {\r\n if (format) {//Download\r\n try {\r\n const extension = format === TableDataDownloadFormat.XLSX ? 'xlsx' : 'csv';\r\n\r\n const fileName = `Revoked_Nonprofits-${this.dateService.formatDate(new Date(), TIMESTAMP_FORMAT)}.${extension}`;\r\n\r\n return this.assetManagementService.downloadCsvOrExcel(\r\n undefined,\r\n format,\r\n fileName,\r\n this.reportingResources.revokedNonprofitsDownload,\r\n {\r\n paginationOptions,\r\n revokedByStateCode,\r\n exportReportType: format\r\n }\r\n );\r\n } catch (e: any) {\r\n if (e.error.message) {\r\n this.notifier.error(e.error.message);\r\n } else {\r\n this.notifier.error(this.errorRetrievingDataText);\r\n }\r\n\r\n return null;\r\n }\r\n } else {//Display\r\n try {\r\n const response = await this.reportingResources.getRevokedNonprofits(\r\n paginationOptions,\r\n revokedByStateCode\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n this.notifier.error(this.errorRetrievingDataText);\r\n\r\n return null;\r\n }\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nexport class YcCharityIdValidationModel {\r\n @IsNumber()\r\n @Required()\r\n 'YC Charity Id': number;\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { SendBrandedEmailModel } from '@core/models/mail-to.model';\r\nimport { NonprofitUserApi } from '@core/models/users.model';\r\nimport { MailToModalComponent } from '@yourcause/common';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { ModalFactory, YCModalComponent } from '@yourcause/common/modals';\r\nimport { MailToService } from '../../mailTo-modal/mailTo-modal.service';\r\n\r\n@Component({\r\n selector: 'yc-active-admin-modal',\r\n templateUrl: './active-admin-modal.component.html',\r\n styleUrls: ['./active-admin-modal.component.scss']\r\n})\r\nexport class ActiveAdminModalComponent extends YCModalComponent implements OnInit {\r\n activeUsers: NonprofitUserApi[];\r\n modalLoaded = false;\r\n title: string;\r\n\r\n emailHistoryText = this.i18n.translate(\r\n 'admin:textSeeEmailHistory',\r\n {},\r\n 'See email history'\r\n );\r\n hideModal = false;\r\n\r\n constructor (\r\n private i18n: I18nService,\r\n private modalFactory: ModalFactory,\r\n private mailToService: MailToService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit () {\r\n this.title = this.i18n.translate(\r\n 'search:hdrActiveAdministrators',\r\n {},\r\n 'Active Administrators'\r\n );\r\n this.modalLoaded = true;\r\n }\r\n\r\n async openMailToModal (admin: NonprofitUserApi) {\r\n this.hideModal = true;\r\n const modalResponse = await this.modalFactory.open(\r\n MailToModalComponent,\r\n {}\r\n );\r\n this.hideModal = false;\r\n if (!!modalResponse) {\r\n const payload: SendBrandedEmailModel = {\r\n subject: modalResponse.subject,\r\n body: modalResponse.body,\r\n toUserId: admin.userInfo.id\r\n };\r\n await this.mailToService.sendBrandedEmail(\r\n payload\r\n );\r\n }\r\n }\r\n\r\n _onCancel () {\r\n this.closeModal.emit();\r\n }\r\n\r\n openNonprofitEmailLogReport (email: string) {\r\n this.closeModal.emit(email);\r\n }\r\n}\r\n","\r\n
\r\n \r\n \r\n
\r\n {{ admin.userInfo.fullName }}\r\n
\r\n \r\n \r\n {{ admin.userInfo.email }}\r\n \r\n \r\n \r\n \r\n {{ emailHistoryText }}\r\n \r\n \r\n
\r\n \r\n \r\n {{ admin.jobTitle }}\r\n \r\n \r\n \r\n \r\n {{ admin.roleInfo.roleName }}\r\n \r\n \r\n \r\n
\r\n
","import { ResolveFn } from '@angular/router';\r\nimport { StatusService } from './status.service';\r\nimport { inject } from '@angular/core';\r\n\r\nexport const allStatusesResolver: ResolveFn = async () => {\r\n await inject(StatusService).fetchAllStatusesLookup();\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { StatusService } from './status.service';\r\n\r\n\r\n\r\n@Pipe({\r\n name: 'nppStatusPipe'\r\n})\r\nexport class StatusPipe implements PipeTransform {\r\n statusesForDisplay = this.statusService.allStatusesForDisplayMap;\r\n otherText = this.i18n.translate(\r\n 'common:textOther',\r\n {},\r\n 'Other'\r\n );\r\n noApplicationText= 'No application';\r\n noApplicationTranslation = this.i18n.translate(\r\n 'vetting:textNoApplication',\r\n {},\r\n 'No application'\r\n );\r\n\r\n constructor (\r\n private i18n: I18nService,\r\n private statusService: StatusService\r\n ) { }\r\n\r\n transform (\r\n inputId: string|number,\r\n returnTranslation = true,\r\n specialCase?: string\r\n ): string {\r\n const id = +inputId;\r\n const statusForDisplay = this.statusesForDisplay.find((status) => status.id === id);\r\n if (!!statusForDisplay) {\r\n if (returnTranslation) {\r\n return this.i18n.translate(\r\n statusForDisplay.i18nKey,\r\n {},\r\n statusForDisplay.value\r\n );\r\n } else {\r\n return statusForDisplay.value;\r\n }\r\n } else {\r\n if (specialCase === 'noVettingApplication') {\r\n if (returnTranslation) {\r\n return this.noApplicationTranslation;\r\n } else {\r\n return this.noApplicationText;\r\n }\r\n } else {\r\n return this.otherText;\r\n }\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { StatusModel } from '@core/models/status.model';\r\nimport { HttpRestService } from '@core/services/http-rest.service';\r\nimport { APIResponse } from '@yourcause/common';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class StatusResources {\r\n constructor (\r\n private httpRestService: HttpRestService\r\n ) { }\r\n\r\n async getAllStatuses () {\r\n return this.httpRestService.get>(\r\n 'api/Lookups/Statuses/GetStatuses'\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActiveApplicationStatusSelectExclusionList, CompletedApplicationStatusSelectExclusionList, InactiveVettingStatusSelectExclusionList, OldActiveVettingStatusSelectExclusionList, OldInactiveVettingRequestStatusSelectExclusionList, PartnerVettingStatuses, StatusModel, StatusObjectUI, StatusSelectExclusionList, StatusType } from '@core/models/status.model';\r\nimport { AttachYCState, BaseYCService } from '@yourcause/common/state';\r\nimport { StatusResources } from './status.resources';\r\nimport { StatusState } from './status.state';\r\n\r\n@AttachYCState(StatusState)\r\n@Injectable({ providedIn: 'root' })\r\nexport class StatusService extends BaseYCService {\r\n constructor (\r\n private statusesResources: StatusResources\r\n ) {\r\n super();\r\n}\r\n get allStatusesLookup () {\r\n return this.get('allStatusesLookup');\r\n }\r\n\r\n get allStatusesForDisplayMap () {\r\n return this.get('allStatusesForDisplayMap');\r\n }\r\n\r\n get activeOnlyStatusesForDisplayMap () {\r\n return this.get('activeOnlyStatusesForDisplayMap');\r\n }\r\n\r\n get bankInfoChangeRequestStatusSelect () {\r\n return this.get('bankInfoChangeRequestStatusSelect');\r\n }\r\n\r\n get eligibleForGivingStatusSelect () {\r\n return this.get('eligibleForGivingStatusSelect');\r\n }\r\n\r\n get eligibleForGivingStatusDisplay () {\r\n return this.get('eligibleForGivingStatusDisplay');\r\n }\r\n\r\n get sanctionsScreeningFlagStatusSelect () {\r\n return this.get('sanctionsScreeningFlagStatusSelect');\r\n }\r\n\r\n get chapterRequestStatusSelect () {\r\n return this.get('chapterRequestStatusSelect');\r\n }\r\n\r\n get adminRequestStatusSelect () {\r\n return this.get('adminRequestStatusSelect');\r\n }\r\n\r\n get checkReissueStatusSelect () {\r\n return this.get('checkReissueStatusSelect');\r\n }\r\n\r\n get remittanceAddressRequestStatusSelect () {\r\n return this.get('remittanceAddressRequestStatusSelect');\r\n }\r\n\r\n get nonprofitStoryStatusSelect () {\r\n return this.get('nonprofitStoryStatusSelect');\r\n }\r\n\r\n get activeVettingApplicationStatusSelect () {\r\n return this.get ('activeVettingApplicationStatusSelect');\r\n }\r\n\r\n get completedVettingApplicationStatusSelect () {\r\n return this.get('completedVettingApplicationStatusSelect');\r\n }\r\n\r\n get partnerVettingStatusFilterSelect () {\r\n return this.get('partnerVettingStatusFilterSelect');\r\n }\r\n\r\n get prospectiveAdminOutreachStatusSelect () {\r\n return this.get('prospectiveAdminOutreachStatusSelect');\r\n }\r\n\r\n get programStatusSelect () {\r\n return this.get('programStatusSelect');\r\n }\r\n\r\n get statusSelectExclusionList () {\r\n const statusExclusionList: number[] = [];\r\n for (const n in StatusSelectExclusionList) {\r\n if (typeof StatusSelectExclusionList[n] === 'number') {\r\n statusExclusionList.push(StatusSelectExclusionList[n]);\r\n }\r\n }\r\n\r\n return statusExclusionList;\r\n }\r\n\r\n setBankInfoChangeRequestStatusSelect () {\r\n const statuses = this.setStatusesForSelectMap(\r\n StatusType.BankInfoChangeRequest\r\n );\r\n this.set('bankInfoChangeRequestStatusSelect', statuses);\r\n }\r\n\r\n setEligibleForGivingStatusSelect () {\r\n const statuses = this.setStatusesForSelectMap(\r\n StatusType.EligibleForGiving\r\n );\r\n this.set('eligibleForGivingStatusSelect', statuses);\r\n }\r\n\r\n setEligibleForGivingStatusDisplay () {\r\n const statuses = this.allStatusesForDisplayMap.filter((status) => {\r\n return status.typeId === StatusType.EligibleForGiving;\r\n });\r\n this.set('eligibleForGivingStatusDisplay', statuses);\r\n }\r\n\r\n setSanctionsScreeningFlagStatusSelect () {\r\n const statuses = this.setStatusesForSelectMap(\r\n StatusType.SanctionsScreeningFlag\r\n );\r\n this.set('sanctionsScreeningFlagStatusSelect', statuses);\r\n }\r\n\r\n setChapterRequestStatusSelect () {\r\n const statuses = this.setStatusesForSelectMap(\r\n StatusType.ChapterRequest\r\n );\r\n this.set('chapterRequestStatusSelect', statuses);\r\n }\r\n\r\n setAdminRequestStatusSelect () {\r\n const statuses = this.setStatusesForSelectMap(\r\n StatusType.AdminRequest\r\n );\r\n this.set('adminRequestStatusSelect', statuses);\r\n }\r\n\r\n setCheckReissueStatusSelect () {\r\n const statuses = this.setStatusesForSelectMap(\r\n StatusType.CheckReissue\r\n );\r\n this.set('checkReissueStatusSelect', statuses);\r\n }\r\n\r\n setRemittanceAddressRequestStatusSelect () {\r\n const statuses = this.setStatusesForSelectMap(\r\n StatusType.RemittanceAddressRequest\r\n );\r\n this.set('remittanceAddressRequestStatusSelect', statuses);\r\n }\r\n\r\n setNonprofitStoryStatusSelect () {\r\n const statuses = this.setStatusesForSelectMap(\r\n StatusType.NonprofitStory\r\n );\r\n this.set('nonprofitStoryStatusSelect', statuses);\r\n }\r\n\r\n setInactiveVettingRequestStatusSelect () {\r\n const statuses = this.setStatusesForSelectMap(\r\n StatusType.NonprofitVettingRequest\r\n );\r\n const statusExclusionList = this.enumToNumberArray(\r\n InactiveVettingStatusSelectExclusionList\r\n );\r\n const filteredStatuses = statuses.filter((status) => {\r\n return !(statusExclusionList.includes(status.id));\r\n });\r\n this.set('inactiveVettingRequestStatusSelect', filteredStatuses);\r\n }\r\n\r\n setActiveOldVettingRequestStatusSelect () {\r\n const statuses = this.setStatusesForSelectMap(\r\n StatusType.NonprofitVettingRequest\r\n );\r\n const statusExclusionList = this.enumToNumberArray(\r\n OldActiveVettingStatusSelectExclusionList\r\n );\r\n const filteredStatuses = statuses.filter((status) => {\r\n return !(statusExclusionList.includes(status.id));\r\n });\r\n this.set('activeOldVettingRequestStatusSelect', filteredStatuses);\r\n }\r\n\r\n setInactiveOldVettingRequestStatusSelect () {\r\n const statuses = this.setStatusesForSelectMap(\r\n StatusType.NonprofitVettingRequest\r\n );\r\n const statusExclusionList = this.enumToNumberArray(\r\n OldInactiveVettingRequestStatusSelectExclusionList\r\n );\r\n const filteredStatuses = statuses.filter((status) => {\r\n return !(statusExclusionList.includes(status.id));\r\n });\r\n this.set('inactiveOldVettingRequestStatusSelect', filteredStatuses);\r\n }\r\n\r\n setActiveVettingApplicationStatusSelect () {\r\n const statuses = this.setStatusesForSelectMap(\r\n StatusType.NonprofitVettingApplication\r\n );\r\n const statusExclusionList = this.enumToNumberArray(\r\n ActiveApplicationStatusSelectExclusionList\r\n );\r\n const filteredStatuses = statuses.filter((status) => {\r\n return !(statusExclusionList.includes(status.id));\r\n });\r\n this.set('activeVettingApplicationStatusSelect', filteredStatuses);\r\n }\r\n\r\n setCompletedVettingApplicationStatusSelect () {\r\n const statuses = this.setStatusesForSelectMap(\r\n StatusType.NonprofitVettingApplication\r\n );\r\n const statusExclusionList = this.enumToNumberArray(\r\n CompletedApplicationStatusSelectExclusionList\r\n );\r\n const filteredStatuses = statuses.filter((status) => {\r\n return !(statusExclusionList.includes(status.id));\r\n });\r\n this.set('completedVettingApplicationStatusSelect', filteredStatuses);\r\n }\r\n\r\n setPartnerVettingStatusFilterSelect () {\r\n const statusInclusionList = this.enumToNumberArray(\r\n PartnerVettingStatuses\r\n );\r\n const filteredStatuses = this.allStatusesForDisplayMap.filter((status) => {\r\n return statusInclusionList.includes(status.id);\r\n });\r\n this.set('partnerVettingStatusFilterSelect', filteredStatuses);\r\n }\r\n\r\n setProspectiveAdminOutreachStatusSelect () {\r\n const statuses = this.setStatusesForSelectMap(\r\n StatusType.ProspectiveAdminOutreach\r\n );\r\n this.set('prospectiveAdminOutreachStatusSelect', statuses);\r\n }\r\n\r\n setProgramStatusSelect () {\r\n const statuses = this.setStatusesForSelectMap(\r\n StatusType.NonprofitProgram\r\n );\r\n this.set('programStatusSelect', statuses);\r\n }\r\n\r\n // create number array from enum values\r\n enumToNumberArray (anyEnum: any): number[] {\r\n const numberArray: number[] = [];\r\n for (const n in anyEnum) {\r\n if (typeof anyEnum[n] === 'number') {\r\n numberArray.push(anyEnum[n]);\r\n }\r\n }\r\n\r\n return numberArray;\r\n }\r\n\r\n // get statuses by type, isActive, NOT systemStatus and map for select\r\n setStatusesForSelectMap (\r\n typeId: number\r\n ): StatusObjectUI[] {\r\n const statusMapById = this.allStatusesLookup.filter((status) => {\r\n return status.statusTypeId === typeId &&\r\n status.isActive &&\r\n !status.systemStatus;\r\n })\r\n .map((status) => {\r\n return {\r\n id: status.id,\r\n typeId: status.statusTypeId,\r\n value: status.status,\r\n i18nKey: status.i18nKey\r\n };\r\n });\r\n\r\n return statusMapById;\r\n }\r\n\r\n setStatusesForDisplayMap () {\r\n const statuses = this.allStatusesLookup.map((status) => {\r\n return {\r\n id: status.id,\r\n typeId: status.statusTypeId,\r\n value: status.status,\r\n i18nKey: status.i18nKey\r\n };\r\n });\r\n this.set('allStatusesForDisplayMap', statuses);\r\n }\r\n\r\n setActiveOnlyStatusesForDisplayMap () {\r\n const statuses = this.allStatusesLookup.filter((item) => {\r\n return item.isActive;\r\n }).map((status) => {\r\n return {\r\n id: status.id,\r\n typeId: status.statusTypeId,\r\n value: status.status,\r\n i18nKey: status.i18nKey\r\n };\r\n });\r\n this.set('activeOnlyStatusesForDisplayMap', statuses);\r\n }\r\n\r\n setAllStatuses (statuses: StatusModel[]) {\r\n return Promise.all([\r\n this.set('allStatusesLookup', statuses),\r\n this.setStatusesForDisplayMap(),\r\n this.setActiveOnlyStatusesForDisplayMap(),\r\n this.setBankInfoChangeRequestStatusSelect(),\r\n this.setEligibleForGivingStatusSelect(),\r\n this.setEligibleForGivingStatusDisplay(),\r\n this.setSanctionsScreeningFlagStatusSelect(),\r\n this.setChapterRequestStatusSelect(),\r\n this.setAdminRequestStatusSelect(),\r\n this.setCheckReissueStatusSelect(),\r\n this.setRemittanceAddressRequestStatusSelect(),\r\n this.setNonprofitStoryStatusSelect(),\r\n this.setActiveVettingApplicationStatusSelect(),\r\n this.setCompletedVettingApplicationStatusSelect(),\r\n this.setInactiveVettingRequestStatusSelect(),\r\n this.setInactiveOldVettingRequestStatusSelect(),\r\n this.setActiveOldVettingRequestStatusSelect(),\r\n this.setPartnerVettingStatusFilterSelect(),\r\n this.setProspectiveAdminOutreachStatusSelect(),\r\n this.setProgramStatusSelect()\r\n ]);\r\n }\r\n\r\n async fetchAllStatusesLookup () {\r\n if (!this.allStatusesLookup) {\r\n const allStatuses = await this.statusesResources.getAllStatuses();\r\n this.setAllStatuses(allStatuses.data);\r\n }\r\n }\r\n}\r\n","import { StatusModel, StatusObjectUI } from '@core/models/status.model';\r\nimport { BaseYcState, RegisterYCState } from '@yourcause/common/state';\r\n\r\n\r\n@RegisterYCState()\r\nexport class StatusState extends BaseYcState {\r\n readonly allStatusesLookup: StatusModel[];\r\n readonly allStatusesForDisplayMap: StatusObjectUI[];\r\n readonly activeOnlyStatusesForDisplayMap: StatusObjectUI[];\r\n readonly bankInfoChangeRequestStatusSelect: StatusObjectUI[];\r\n readonly adHocEmailStatusSelect: StatusObjectUI[];\r\n readonly eligibleForGivingStatusSelect: StatusObjectUI[];\r\n readonly eligibleForGivingStatusDisplay: StatusObjectUI[];\r\n readonly sanctionsScreeningFlagStatusSelect: StatusObjectUI[];\r\n readonly chapterRequestStatusSelect: StatusObjectUI[];\r\n readonly adminRequestStatusSelect: StatusObjectUI[];\r\n readonly checkReissueStatusSelect: StatusObjectUI[];\r\n readonly jobStatusSelect: StatusObjectUI[];\r\n readonly remittanceAddressRequestStatusSelect: StatusObjectUI[];\r\n readonly nonprofitStoryStatusSelect: StatusObjectUI[];\r\n readonly activeVettingRequestStatusSelect: StatusObjectUI[];\r\n readonly activeOldVettingRequestStatusSelect: StatusObjectUI[];\r\n readonly inactiveVettingRequestStatusSelect: StatusObjectUI[];\r\n readonly inactiveOldVettingRequestStatusSelect: StatusObjectUI[];\r\n readonly activeDomesticVettingApplicationStatusSelect: StatusObjectUI[];//\r\n readonly completedDomesticVettingApplicationStatusSelect: StatusObjectUI[];//\r\n readonly activeVettingApplicationStatusSelect: StatusObjectUI[];\r\n readonly completedVettingApplicationStatusSelect: StatusObjectUI[];\r\n readonly vettingRequestReportStatusSelect: StatusObjectUI[];\r\n readonly partnerVettingStatusFilterSelect: StatusObjectUI[];\r\n readonly prospectiveAdminOutreachStatusSelect: StatusObjectUI[];\r\n readonly programStatusSelect: StatusObjectUI[];\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRestService } from '@core/services/http-rest.service';\r\nimport { APIResponse, APIResult, PaginationOptions } from '@yourcause/common';\r\nimport { SubmittedSupportRequest, SupportRequestIssueDiagnosis } from '../../support-request/services/models';\r\n\r\n@Injectable({ providedIn: 'root'})\r\nexport class SubmittedSupportRequestsResources {\r\n constructor (\r\n private httpRestService: HttpRestService\r\n ) { }\r\n\r\n /**\r\n * Fetch all Submitted Support Requests\r\n * @param paginationOptions\r\n * @returns paginated data\r\n */\r\n getSupportRequests (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n const endpoint = 'api/GetSupportRequests';\r\n return this.httpRestService.post>(\r\n endpoint,\r\n {\r\n paginationOptions\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Fetch all Support Requests Statuses\r\n * @returns support request statuses\r\n */\r\n getSupportRequestStatuses () {\r\n const endpoint = 'api/SupportRequests/Statuses';\r\n\r\n return this.httpRestService.get>(endpoint);\r\n }\r\n\r\n /**\r\n *\r\n * @param payload: payload for endpoint\r\n * @returns: success boolean\r\n */\r\n createIssueDiagnosis (payload: SupportRequestIssueDiagnosis) {\r\n const endpoint = `api/SupportRequests/${payload.id}`;\r\n return this.httpRestService.put(\r\n endpoint,\r\n payload\r\n );\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { PaginationOptions } from '@yourcause/common';\r\nimport { TypeaheadSelectOption } from '@yourcause/common/core-forms';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { NotifierService } from '@yourcause/common/notifier';\r\nimport { ISupportItem, SubmittedSupportRequest, SupportRequestIssueDiagnosis } from '../../support-request/services/models';\r\nimport { SupportRequestService } from '../../support-request/services/support-request.service';\r\nimport { SubmittedSupportRequestsResources } from './submitted-support-requests.resources';\r\nimport { AttachYCState, BaseYCService } from '@yourcause/common/state';\r\nimport { SubmittedSupportRequestsState } from './submitted-support-requests.state';\r\n\r\n@AttachYCState(SubmittedSupportRequestsState)\r\n@Injectable({ providedIn: 'root' })\r\nexport class SubmittedSupportRequestsService extends BaseYCService {\r\n errorRetrievingDataText = this.i18n.translate(\r\n 'common:notificationErrorRetreivingData',\r\n {},\r\n 'There was an error retrieving the data'\r\n );\r\n supportItems = this.supportRequestService.supportItems;\r\n\r\n constructor (\r\n private submittedSupportRequestsResources: SubmittedSupportRequestsResources,\r\n private i18n: I18nService,\r\n private notifier: NotifierService,\r\n private supportRequestService: SupportRequestService\r\n ) {\r\n super();\r\n }\r\n\r\n get supportRequestStatuses (): string[] {\r\n return this.get('supportRequestStatuses');\r\n }\r\n\r\n setSupportRequestStatusesData (data: string[]) {\r\n this.set('supportRequestStatuses', data);\r\n }\r\n\r\n async getSupportRequestStatuses () {\r\n try {\r\n const response = await this.submittedSupportRequestsResources.getSupportRequestStatuses();\r\n\r\n this.setSupportRequestStatusesData(response?.data);\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }\r\n\r\n /**\r\n * @returns: array of display and value for supportItems for select list\r\n */\r\n mapSupportItems (\r\n supportItems: ISupportItem[]\r\n ): TypeaheadSelectOption[] {\r\n const items = supportItems?.map((item) => {\r\n return {\r\n label: item.name,\r\n value: item.id\r\n };\r\n });\r\n\r\n return items;\r\n }\r\n\r\n\r\n async getSupportRequests (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n try {\r\n const response = await this.submittedSupportRequestsResources.getSupportRequests(\r\n paginationOptions\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.errorRetrievingDataText);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async createIssueDiagnosis (payload: SupportRequestIssueDiagnosis) {\r\n try {\r\n const response = await this.submittedSupportRequestsResources.createIssueDiagnosis(payload);\r\n this.notifier.success(this.i18n.translate(\r\n 'supportRequest:notificationSuccessSubmittingDiagnosis',\r\n {},\r\n 'Successfully submitted the issue diagnosis'\r\n ));\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'supportRequest:notificationErrorSubmittingDiagnosis',\r\n {},\r\n 'There was an error submitting the issue diagnosis'\r\n ));\r\n }\r\n }\r\n}","import { BaseYcState, RegisterYCState } from '@yourcause/common/state';\r\n\r\n\r\n@RegisterYCState()\r\nexport class SubmittedSupportRequestsState extends BaseYcState {\r\n readonly supportRequestStatuses: string[];\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRestService } from '@core/services/http-rest.service';\r\nimport { APIResponse } from '@yourcause/common';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { NotifierService } from '@yourcause/common/notifier';\r\nimport { Observable, catchError, map, throwError } from 'rxjs';\r\nimport { ISupportItem, ISupportRequest, ISupportRequestAsset } from './models';\r\nimport { YcFile } from '@yourcause/common/files';\r\n\r\n/**\r\n * Support Request Resources\r\n */\r\n@Injectable({ providedIn: 'root' })\r\nexport class SupportRequestResources {\r\n\r\n constructor (\r\n private httpRestService: HttpRestService,\r\n private notifierService: NotifierService,\r\n private i18n: I18nService\r\n ) { }\r\n\r\n /**\r\n * Get Support Items\r\n *\r\n * @returns list of support items\r\n */\r\n getSupportItems (): Observable {\r\n const endpoint = `api/SupportItems`;\r\n\r\n return this.httpRestService.Get>(endpoint)\r\n .pipe(\r\n map(e => e.data),\r\n catchError(this.handleError.bind(this))\r\n );\r\n }\r\n\r\n /**\r\n * Create or Update a Support Request.\r\n */\r\n createSupportRequest (supportRequest: ISupportRequest): Observable {\r\n const endpoint = `api/SupportRequests`;\r\n\r\n return this.httpRestService.Post>(endpoint, supportRequest)\r\n .pipe(\r\n map(_ => true),\r\n catchError(this.handleError.bind(this))\r\n );\r\n }\r\n\r\n /**\r\n * Upload and attach a asset (file) to a support request.\r\n */\r\n uploadAsset (supportRequestId: string, file: YcFile): Observable {\r\n const formData = new FormData();\r\n formData.append('asset', file.file, file.fileName);\r\n const endpoint = `api/SupportRequests/${supportRequestId}/Assets`;\r\n\r\n return this.httpRestService.Post>(endpoint, formData)\r\n .pipe(\r\n map(e => e.data[0]),\r\n catchError(this.handleError.bind(this))\r\n );\r\n }\r\n\r\n /**\r\n * Delete and remove a asset (file) from a support request.\r\n */\r\n deleteAsset (supportRequestId: string, assetId: string): Observable {\r\n const endpoint = `api/SupportRequests/${supportRequestId}/Assets/${assetId}`;\r\n\r\n return this.httpRestService.Delete(endpoint)\r\n .pipe(\r\n map(_ => true),\r\n catchError(this.handleError.bind(this))\r\n );\r\n }\r\n\r\n /**\r\n * Display an error based on status code to the user.\r\n *\r\n * @param error http error thrown\r\n * @returns throws the error so that the caller can handle it\r\n */\r\n private handleError (error: any): Observable {\r\n switch (error.status) {\r\n case 406:\r\n this.notifierService.error(this.i18n.translate(\r\n 'error:text406',\r\n {},\r\n 'An error has occurred. Invalid input string or too many requests.'\r\n ));\r\n break;\r\n case 400:\r\n this.notifierService.error(error.error.detail);\r\n break;\r\n default:\r\n this.notifierService.error(this.i18n.translate(\r\n 'error:textGeneric',\r\n {},\r\n 'An error has occurred. Please try again later.'\r\n ));\r\n }\r\n\r\n return throwError(() => error);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AttachYCState, BaseYCService } from '@yourcause/common/state';\r\nimport { Observable, tap } from 'rxjs';\r\nimport { SupportRequestState } from './support-request.state';\r\nimport { ISupportItem, ISupportRequest, ISupportRequestAsset } from './models';\r\nimport { SupportRequestResources } from './support-request.resources';\r\nimport { AccountService } from '@core/services/account.service';\r\nimport { YcFile } from '@yourcause/common/files';\r\nimport { TokenService } from '@core/services/token/token.service';\r\n\r\n/**\r\n * Support Request Service.\r\n */\r\n@AttachYCState(SupportRequestState)\r\n@Injectable({ providedIn: 'root' })\r\nexport class SupportRequestService extends BaseYCService {\r\n\r\n constructor (\r\n private supportRequestResources: SupportRequestResources,\r\n private accountService: AccountService,\r\n private tokenService: TokenService\r\n ) {\r\n super();\r\n\r\n const defaultSupportRequest = {\r\n id: this.generateUUID(),\r\n firstName: this.accountService.accountDetails?.firstName,\r\n lastName: this.accountService.accountDetails?.lastName,\r\n email: this.tokenService.userEmail,\r\n phoneNumber: this.accountService.accountDetails?.phoneNumber\r\n } as ISupportRequest;\r\n this.setSupportRequest(defaultSupportRequest);\r\n }\r\n\r\n get supportItems (): ISupportItem[] {\r\n return this.get('supportItems');\r\n }\r\n\r\n get supportItem (): ISupportItem {\r\n return this.get('supportItem');\r\n }\r\n\r\n get supportRequest (): ISupportRequest {\r\n return this.get('supportRequest');\r\n }\r\n\r\n get isValid (): boolean {\r\n return this.get('isValid');\r\n }\r\n\r\n get currentStep (): number {\r\n return this.get('currentStep');\r\n }\r\n\r\n /**\r\n * Get and set support items.\r\n */\r\n setSupportItems (): Observable {\r\n return this.supportRequestResources.getSupportItems()\r\n .pipe(\r\n tap(r => this.set('supportItems', r))\r\n );\r\n }\r\n\r\n /**\r\n * Set the support request.\r\n */\r\n setSupportRequest (supportRequest: ISupportRequest): void {\r\n this.supportRequestResources.createSupportRequest(supportRequest)\r\n .subscribe(_ => this.set('supportRequest', supportRequest));\r\n }\r\n\r\n /**\r\n * Set the current step of the stepper.\r\n *\r\n * @param step step\r\n */\r\n setCurrentStep (step: number) {\r\n this.set('currentStep', step);\r\n }\r\n\r\n /**\r\n * Set the user selected support item.\r\n */\r\n setSupportItem (supportItem: ISupportItem) {\r\n const supportRequest = {...this.supportRequest, ...{supportItemId: supportItem?.id}};\r\n this.setSupportRequest(supportRequest);\r\n if (supportItem == null || supportItem.items.length > 0\r\n || (this.supportItem == null && supportItem.items.length === 0)) {\r\n this.set('supportItem', supportItem);\r\n }\r\n }\r\n\r\n /**\r\n * Set to true if the form is valid and can be submitted.\r\n */\r\n setIsValid (isValid: boolean): void {\r\n this.set('isValid', isValid);\r\n }\r\n\r\n /**\r\n * Upload and attach a file to a support request.\r\n */\r\n uploadAsset (file: YcFile): Observable {\r\n const supportRequestId = this.supportRequest.id;\r\n\r\n return this.supportRequestResources.uploadAsset(supportRequestId, file);\r\n }\r\n\r\n /**\r\n * Delete a file from a support request\r\n */\r\n deleteAsset (assetId: string): Observable {\r\n const supportRequestId = this.supportRequest.id;\r\n\r\n return this.supportRequestResources.deleteAsset(supportRequestId, assetId);\r\n }\r\n\r\n /**\r\n * Submit the request and create a case (support ticket).\r\n */\r\n submit (): Observable {\r\n // setting submit to true will trigger the item to be sent to the support team.\r\n const supportRequest = this.supportRequest;\r\n supportRequest.submit = true;\r\n\r\n return this.supportRequestResources.createSupportRequest(supportRequest);\r\n }\r\n\r\n generateUUID (): string {\r\n function _p8 (s: boolean = false) {\r\n const p = (Math.random().toString(16)+'000000000').substr(2,8);\r\n\r\n return s ? '-' + p.substr(0,4) + '-' + p.substr(4,4) : p ;\r\n }\r\n\r\n return _p8() + _p8(true) + _p8(true) + _p8();\r\n }\r\n}\r\n","import { BaseYcState, RegisterYCState } from '@yourcause/common/state';\r\nimport { ISupportItem, ISupportRequest } from './models';\r\n\r\n/**\r\n * State for the submitting a support request.\r\n */\r\n@RegisterYCState()\r\nexport class SupportRequestState extends BaseYcState {\r\n readonly isValid: boolean;\r\n readonly currentStep: number;\r\n readonly supportItems: ISupportItem[];\r\n readonly supportItem: ISupportItem;\r\n readonly supportRequest: ISupportRequest;\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { SystemHealthDashboardDetails, SystemHealthDashboardStats } from '@core/typings/system-health-dashboard.typing';\r\nimport { YCModalComponent } from '@yourcause/common/modals';\r\nimport { SystemHealthDashboardService } from '../system-health-dashboard.service';\r\n\r\n@Component({\r\n selector: 'npp-system-health-dashboard-modal',\r\n templateUrl: './system-health-dashboard-modal.component.html',\r\n styleUrls: ['./system-health-dashboard-modal.component.scss']\r\n})\r\nexport class SystemHealthDashboardDetailsModalComponent extends YCModalComponent implements OnInit {\r\n @Input() healthIndicatorStats: SystemHealthDashboardStats;\r\n healthIndicatorDetails: SystemHealthDashboardDetails;\r\n details: any[];\r\n headers: string[] = [];\r\n\r\n constructor (\r\n private systemHealthDashboardService: SystemHealthDashboardService\r\n ) {\r\n super();\r\n }\r\n\r\n async ngOnInit () {\r\n this.healthIndicatorDetails = (\r\n await this.fetchHealthIndicatorDetails(\r\n this.healthIndicatorStats.healthIndicatorId\r\n )\r\n ).endpointResponse;\r\n this.details = JSON.parse(this.healthIndicatorDetails.healthIndicatorResults);\r\n this.details.forEach((value) => {\r\n Object.keys(value).forEach((key) => {\r\n if (!this.headers.find((header) => header === key)) {\r\n this.headers.push(key);\r\n }\r\n });\r\n });\r\n }\r\n\r\n async fetchHealthIndicatorDetails (healthIndicatorId: number) {\r\n return await this.systemHealthDashboardService.getSystemHealthDashboardDetails(\r\n healthIndicatorId\r\n );\r\n }\r\n}\r\n","\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{header}}\r\n
\r\n {{detail[header]}}\r\n
\r\n
\r\n","\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { SystemHealthDashboardStats } from '@core/typings/system-health-dashboard.typing';\r\nimport { DebounceFactory, TableDataFactory } from '@yourcause/common';\r\nimport { ModalFactory } from '@yourcause/common/modals';\r\nimport { SystemHealthDashboardService } from '../system-health-dashboard.service';\r\nimport { SystemHealthDashboardDetailsModalComponent } from '../system-health-dashboard-modal/system-health-dashboard-modal.component';\r\n\r\n@Component({\r\n selector: 'npp-system-health-dashboard-page',\r\n templateUrl: './system-health-dashboard-page.component.html',\r\n styleUrls: ['./system-health-dashboard-page.component.scss']\r\n})\r\nexport class SystemHealthDashboardPageComponent implements OnInit {\r\n tableDataFactory: TableDataFactory;\r\n\r\n constructor (\r\n private systemHealthDashboardService: SystemHealthDashboardService,\r\n private modalFactory: ModalFactory\r\n ) { }\r\n\r\n async ngOnInit () {\r\n this.tableDataFactory = DebounceFactory.createSimple(\r\n async () => {\r\n const result = await this.systemHealthDashboardService.getSystemHealthDashboardStats();\r\n\r\n return {\r\n success: true,\r\n data: {\r\n recordCount: result.endpointResponse.length,\r\n records: result.endpointResponse\r\n }\r\n };\r\n }\r\n );\r\n }\r\n\r\n async viewHealthIndicatorDetails (\r\n healthIndicatorStats: SystemHealthDashboardStats\r\n ) {\r\n await this.modalFactory.open(\r\n SystemHealthDashboardDetailsModalComponent,\r\n {\r\n healthIndicatorStats\r\n },\r\n { class: 'modal-full-size' }\r\n );\r\n }\r\n}\r\n","
\r\n \r\n \r\n\r\n
\r\n \r\n\r\n \r\n \r\n {{ row.healthIndicatorName }}\r\n \r\n\r\n \r\n \r\n {{ row.healthIndicatorErrorCount }}\r\n \r\n\r\n \r\n \r\n 0\"\r\n [icon]=\"true\"\r\n [value]=\"'common:btnOptions' | ycI18n\"\r\n [langKey]=\"'ADMIN:textViewHealthIndicatorDetails'\"\r\n [defaultText]=\"'Errors'\"\r\n (onClick)=\"viewHealthIndicatorDetails(row)\">\r\n \r\n \r\n\r\n \r\n
\r\n
","import { Injectable } from '@angular/core';\r\nimport { HttpRestService } from '@core/services/http-rest.service';\r\nimport { SystemHealthDashboardDetails, SystemHealthDashboardStats } from '@core/typings/system-health-dashboard.typing';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class SystemHealthDashboardResources {\r\n\r\n constructor (\r\n private httpRestService: HttpRestService\r\n ) { }\r\n\r\n getSystemHealthDashboardStats (): Promise {\r\n return this.httpRestService.get('api/SystemHealthDashboard/Stats');\r\n }\r\n\r\n getSystemHealthDashboardDetails (healthIndicatorId: number): Promise {\r\n return this.httpRestService.get('api/SystemHealthDashboard/Details/' + healthIndicatorId);\r\n }\r\n}\r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { ConfirmAndTakeActionService } from '@yourcause/common/modals';\r\nimport { SystemHealthDashboardResources } from './system-health-dashboard.resources';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class SystemHealthDashboardService {\r\n\r\n constructor (\r\n private systemHealthDashboardResources: SystemHealthDashboardResources,\r\n private confirmAndTakeActionService: ConfirmAndTakeActionService,\r\n private i18n: I18nService\r\n ) {}\r\n\r\n async getSystemHealthDashboardStats () {\r\n return await this.confirmAndTakeActionService.genericTakeAction(\r\n () => this.systemHealthDashboardResources.getSystemHealthDashboardStats(),\r\n null,\r\n this.i18n.translate(\r\n 'common:textErrorFetchingSystemHealthDashboardStats',\r\n {},\r\n 'There was an error fetching system health dashboard stats'\r\n )\r\n );\r\n }\r\n\r\n async getSystemHealthDashboardDetails (healthIndicatorId: number) {\r\n return await this.confirmAndTakeActionService.genericTakeAction(\r\n () => this.systemHealthDashboardResources.getSystemHealthDashboardDetails(healthIndicatorId),\r\n null,\r\n this.i18n.translate(\r\n 'common:textErrorFetchingSystemHealthDashboardDetails',\r\n {},\r\n 'There was an error fetching system health dashboard details'\r\n )\r\n );\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DateService } from '@yourcause/common/date';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\n\r\n@Pipe({\r\n name: 'nppVettingApplicationDatePipe'\r\n})\r\nexport class VettingApplicationDatePipe implements PipeTransform {\r\n constructor (\r\n private i18n: I18nService,\r\n private dateService: DateService\r\n ) { }\r\n\r\n transform (\r\n createDate: string,\r\n submittedOn?: string\r\n ): string {\r\n let returnVal: string;\r\n if (!!submittedOn) {\r\n returnVal = this.i18n.translate(\r\n 'vetting:textApplicationSubmittedOn',\r\n {\r\n submitDate: this.dateService.formatDate(new Date(submittedOn))\r\n },\r\n 'Submitted on __submitDate__'\r\n );\r\n } else {\r\n returnVal = this.i18n.translate(\r\n 'vetting:textApplicationCreatedOn',\r\n {\r\n createDate: this.dateService.formatDate(new Date(createDate))\r\n },\r\n 'Created on __createDate__'\r\n );\r\n }\r\n\r\n return returnVal;\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ContactPayload, ContactResponse, CreateEventDocumentPayload, CreateEventPhotoPayload, CreateOrUpdateEventShiftPayload, DeleteEventDocumentPayload, DeleteEventPhotoPayload, EmailParticipantModalResponse, EventContact, EventSkillType, Participant, ParticipantExportModel, ParticipantResponse, VolunteerCommunityPartnerResponse, VolunteerEvent, VolunteerEventDocument, VolunteerEventPhoto, VolunteerEventsResponse, VolunteerShift, VolunteerShiftsResponse, VolunteerTimeZone } from '@core/models/volunteer-event.model';\r\nimport { HttpRestService } from '@core/services/http-rest.service';\r\nimport { APIResponse, PaginationOptions } from '@yourcause/common';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class VolunteerEventResources {\r\n\r\n constructor (\r\n private httpRestService: HttpRestService\r\n ) { }\r\n\r\n async getEvent (eventId: number) {\r\n const endpoint = `api/Volunteer/GetEvent?EventId=${eventId}`;\r\n const response = await this.httpRestService.get>(\r\n endpoint\r\n );\r\n\r\n return response.data;\r\n }\r\n\r\n async createEvent (volunteerEvent: Partial) {\r\n const endpoint = '/api/Volunteer/CreateEvent';\r\n const response = await this.httpRestService.post>(\r\n endpoint,\r\n volunteerEvent\r\n );\r\n\r\n return response.data;\r\n }\r\n\r\n async updateEvent (volunteerEvent: Partial) {\r\n return this.httpRestService.post>(\r\n '/api/Volunteer/UpdateEvent',\r\n volunteerEvent\r\n );\r\n }\r\n\r\n async publishEvent (\r\n eventId: number,\r\n requiresApproval?: boolean\r\n ) {\r\n return this.httpRestService.get>(\r\n `api/Volunteer/PublishEvent?EventId=${eventId}`\r\n );\r\n }\r\n\r\n async deactivateEvent (eventId: number) {\r\n return this.httpRestService.delete>(\r\n `api/Volunteer/DeactivateEvent?EventId=${eventId}`\r\n );\r\n }\r\n\r\n async getEventParticipants (\r\n eventId: number,\r\n paginationOptions: PaginationOptions\r\n ) {\r\n return this.httpRestService.get>(\r\n `api/Volunteer/GetEventParticipants?EventId=${eventId}&Page=${paginationOptions.pageNumber}&Size=${paginationOptions.rowsPerPage}`\r\n );\r\n }\r\n\r\n async getEventParticipationsExport (eventId: number) {\r\n return this.httpRestService.get>(\r\n `api/Volunteer/GetEventParticipationsExport?EventId=${eventId}`\r\n );\r\n }\r\n\r\n async getEventParticipationsByShift (\r\n eventId: number,\r\n shiftId: number,\r\n paginationOptions: PaginationOptions\r\n ) {\r\n return this.httpRestService.get>(\r\n `api/Volunteer/GetEventParticipationsByShift?EventId=${eventId}&ShiftId=${shiftId}&Page=${paginationOptions.pageNumber}&Size=${paginationOptions.rowsPerPage}`\r\n );\r\n }\r\n\r\n async getEventParticipationsByShiftExport (\r\n eventId: number,\r\n shiftId: number\r\n ) {\r\n return this.httpRestService.get>(\r\n `api/Volunteer/GetEventParticipationsByShiftExport?EventId=${eventId}&ShiftId=${shiftId}`\r\n );\r\n }\r\n\r\n async getEventWaitlist (\r\n eventId: number,\r\n paginationOptions: PaginationOptions\r\n ) {\r\n return this.httpRestService.get>(\r\n `api/Volunteer/GetEventWaitlist?EventId=${eventId}&Page=${paginationOptions.pageNumber}&Size=${paginationOptions.rowsPerPage}`\r\n );\r\n }\r\n\r\n async getEventWaitlistExport (eventId: number) {\r\n return this.httpRestService.get>(\r\n `api/Volunteer/GetEventWaitlistExport?EventId=${eventId}`\r\n );\r\n }\r\n\r\n async getEventWaitlistByShift (\r\n eventId: number,\r\n shiftId: number,\r\n paginationOptions: PaginationOptions\r\n ) {\r\n return this.httpRestService.get>(\r\n `api/Volunteer/GetEventWaitlistByShift?EventId=${eventId}&ShiftId=${shiftId}&Page=${paginationOptions.pageNumber}&Size=${paginationOptions.rowsPerPage}`\r\n );\r\n }\r\n\r\n async getEventWaitlistByShiftExport (\r\n eventId: number,\r\n shiftId: number\r\n ) {\r\n return this.httpRestService.get>(\r\n `api/Volunteer/GetEventWaitlistByShiftExport?EventId=${eventId}&ShiftId=${shiftId}`\r\n );\r\n }\r\n\r\n async emailEventParticipants (payload: EmailParticipantModalResponse) {\r\n return this.httpRestService.post(\r\n 'api/Volunteer/EmailEventParticipant',\r\n payload\r\n );\r\n }\r\n\r\n async getEventPhotos (eventId: number) {\r\n return this.httpRestService.get>(\r\n `api/Volunteer/GetEventPhotos?EventId=${eventId}`\r\n );\r\n }\r\n\r\n async createEventPhoto (payload: CreateEventPhotoPayload) {\r\n return this.httpRestService.post(\r\n 'api/Volunteer/CreateEventPhoto',\r\n payload\r\n );\r\n }\r\n\r\n async deleteEventPhoto (payload: DeleteEventPhotoPayload) {\r\n return this.httpRestService.delete(\r\n `api/Volunteer/DeleteEventPhoto?EventId=${payload.eventId}&PhotoName=${payload.photoName}`\r\n );\r\n }\r\n\r\n async getEventShiftsPaginated (\r\n eventId: number,\r\n paginationOptions: PaginationOptions\r\n ) {\r\n return this.httpRestService.get>(\r\n `api/Volunteer/GetEventShifts?EventId=${eventId}&Page=${paginationOptions.pageNumber}&Size=${paginationOptions.rowsPerPage}`\r\n );\r\n }\r\n\r\n async getEventShiftsNoPagination (\r\n eventId: number\r\n ) {\r\n return this.httpRestService.get>(\r\n `api/Volunteer/GetEventShifts?EventId=${eventId}&Page=1&Size=100`\r\n );\r\n }\r\n\r\n async createOrUpdateEventShift (\r\n payload: CreateOrUpdateEventShiftPayload\r\n ) {\r\n return this.httpRestService.post>(\r\n 'api/Volunteer/CreateOrUpdateEventShift',\r\n payload\r\n );\r\n }\r\n\r\n async deleteEventShift (\r\n eventId: number,\r\n shiftId: number\r\n ) {\r\n return this.httpRestService.delete(\r\n `api/Volunteer/DeleteEventShift?EventId=${eventId}&ShiftId=${shiftId}`\r\n );\r\n }\r\n\r\n async getEventContacts (\r\n eventId: number,\r\n paginationOptions: PaginationOptions\r\n ) {\r\n return this.httpRestService.get>(\r\n `api/Volunteer/GetEventContacts?EventId=${eventId}&Page=${paginationOptions.pageNumber}&Size=${paginationOptions.rowsPerPage}`\r\n );\r\n }\r\n\r\n async createOrUpdateEventContact (payload: ContactPayload) {\r\n return this.httpRestService.post>(\r\n 'api/Volunteer/CreateOrUpdateEventContact',\r\n payload\r\n );\r\n }\r\n\r\n async deleteEventContact (\r\n eventId: number,\r\n contactId: number\r\n ) {\r\n return this.httpRestService.delete(\r\n `api/Volunteer/DeleteEventContact?EventId=${eventId}&ContactId=${contactId}`\r\n );\r\n }\r\n\r\n async getEventDocuments (eventId: number) {\r\n return this.httpRestService.get>(\r\n `api/Volunteer/GetEventDocuments?EventId=${eventId}`\r\n );\r\n }\r\n\r\n async createEventDocument (payload: CreateEventDocumentPayload) {\r\n return this.httpRestService.post(\r\n 'api/Volunteer/CreateEventDocument',\r\n payload\r\n );\r\n }\r\n\r\n async deleteEventDocument (payload: DeleteEventDocumentPayload) {\r\n return this.httpRestService.delete(\r\n `api/Volunteer/DeleteEventDocument?EventId=${payload.eventId}&DocumentName=${payload.documentName}`\r\n );\r\n }\r\n\r\n async getTimeZones () {\r\n return this.httpRestService.get>(\r\n 'api/Volunteer/GetTimeZones'\r\n );\r\n }\r\n\r\n async fetchVolunteerEventsList (\r\n endpoint: string,\r\n paginationOptions: PaginationOptions\r\n ) {\r\n return this.httpRestService.get>(\r\n `${endpoint}?Page=${paginationOptions.pageNumber}&Size=${paginationOptions.rowsPerPage}`\r\n );\r\n }\r\n\r\n async getEventCommunityPartners () {\r\n return this.httpRestService.get>(\r\n 'api/Volunteer/GetEventCommunityPartners?Page=1&Size=100'\r\n );\r\n }\r\n\r\n async getAllEventSkills () {\r\n const url = 'api/Volunteer/GetAllEventSkills';\r\n\r\n return this.httpRestService.get>(url);\r\n }\r\n\r\n async getAffiliateEventSkills (affiliateId: number) {\r\n\r\n const url = `api/Volunteer/GetAffiliateEventSkills?AffiliateId=${affiliateId}`;\r\n\r\n return this.httpRestService.get>(url);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ContactPayload, CreateEventDocumentPayload, CreateEventPhotoPayload, CreateOrUpdateEventShiftPayload, DeleteEventDocumentPayload, DeleteEventPhotoPayload, EmailParticipantModalResponse, EventCategorySkillType, EventContact, EventSkillType, Participant, ParticipantExportModel, ParticipantResponse, VolunteerCommunityPartner, VolunteerEvent, VolunteerEventDocument, VolunteerEventPhoto, VolunteerShift, VolunteerTimeZone } from '@core/models/volunteer-event.model';\r\nimport { ExtractFilterColumnsService } from '@core/services/extract-filter-columns.service';\r\nimport { APIResponse, APIResult, PaginationOptions } from '@yourcause/common';\r\nimport { I18nService } from '@yourcause/common/i18n';\r\nimport { NotifierService } from '@yourcause/common/notifier';\r\nimport { AttachYCState, BaseYCService } from '@yourcause/common/state';\r\nimport { AssetManagementService } from '../../asset-management/services/asset-management.service';\r\nimport { VolunteerEventResources } from './volunteer-event.resources';\r\nimport { VolunteerEventState } from './volunteer-event.state';\r\nimport { SelectOption } from '@yourcause/common/core-forms';\r\nimport { DateService } from '@yourcause/common/date';\r\nimport { FileService, YcFile } from '@yourcause/common/files';\r\n\r\n@AttachYCState(VolunteerEventState)\r\n@Injectable({ providedIn: 'root' })\r\nexport class VolunteerEventService extends BaseYCService {\r\n errorRetrievingDataText = this.i18n.translate(\r\n 'common:notificationErrorRetreivingData',\r\n {},\r\n 'There was an error retrieving the data'\r\n );\r\n errorDownloadingDataText = this.i18n.translate(\r\n 'common:notificationErrorDownloadingData',\r\n {},\r\n 'There was an error downloading the data'\r\n );\r\n constructor (\r\n private volunteerEventResources: VolunteerEventResources,\r\n private notifier: NotifierService,\r\n private i18n: I18nService,\r\n private extractColumnsService: ExtractFilterColumnsService,\r\n private fileService: FileService,\r\n private dateService: DateService,\r\n private assetManagementService: AssetManagementService\r\n ) {\r\n super();\r\n }\r\n\r\n // GET\r\n\r\n get activeEventId (): number {\r\n return this.get('activeEventId');\r\n }\r\n\r\n get activeVolunteerEvent (): VolunteerEvent {\r\n return this.get('activeVolunteerEvent');\r\n }\r\n\r\n get activeEventParticipants (): Participant[] {\r\n return this.get('activeEventParticipants');\r\n }\r\n\r\n get activeEventPhotos (): VolunteerEventPhoto[] {\r\n return this.get('activeEventPhotos');\r\n }\r\n\r\n get activeEventShifts (): VolunteerShift[] {\r\n return this.get('activeEventShifts');\r\n }\r\n\r\n get activeEventDocuments (): VolunteerEventDocument[] {\r\n return this.get('activeEventDocuments');\r\n }\r\n\r\n get volunteerTimeZones (): VolunteerTimeZone[] {\r\n return this.get('volunteerTimeZones');\r\n }\r\n\r\n get eventForCopy (): VolunteerEvent {\r\n return this.get('eventForCopy');\r\n }\r\n\r\n get communityPartners (): VolunteerCommunityPartner[] {\r\n return this.get('communityPartners');\r\n }\r\n\r\n get eventTimeLineColumnValue (): number {\r\n return this.get('eventTimeLineColumnValue');\r\n }\r\n\r\n get eventAffiliateId (): number {\r\n return this.get('eventAffiliateId');\r\n }\r\n\r\n get eventSkills (): SelectOption[] {\r\n return this.get('eventSkills');\r\n }\r\n\r\n get eventAffiliateSkills (): SelectOption[] {\r\n return this.get('eventAffiliateSkills');\r\n }\r\n\r\n get allSkillsMetaData (): EventSkillType[] {\r\n return this.get('allSkillsMetaData');\r\n }\r\n\r\n get skillsCategoriesMetaData (): EventCategorySkillType[] {\r\n return this.get('skillsCategoriesMetaData');\r\n }\r\n\r\n // SET\r\n\r\n async setActiveEventId (eventId: number) {\r\n this.set('activeEventId', eventId);\r\n await this.setActiveVolunteerEventById(eventId);\r\n }\r\n\r\n setActiveVolunteerEvent (event: VolunteerEvent) {\r\n this.set('activeVolunteerEvent', event);\r\n }\r\n\r\n async setActiveVolunteerEventById (eventId: number) {\r\n const event = await this.getEvent(eventId);\r\n this.set('activeVolunteerEvent', event);\r\n }\r\n\r\n async setActiveEventParticipants (participants: Participant[]) {\r\n this.set('activeEventParticipants', participants);\r\n }\r\n\r\n async setActiveEventPhotos (\r\n apiResponse: APIResponse\r\n ) {\r\n this.set('activeEventPhotos', apiResponse.data);\r\n }\r\n\r\n setActiveEventShifts (shifts: VolunteerShift[]) {\r\n this.set('activeEventShifts', shifts);\r\n }\r\n\r\n async setActiveEventDocuments (docs: VolunteerEventDocument[]) {\r\n this.set('activeEventDocuments', docs);\r\n }\r\n\r\n async setVolunteerTimeZones () { // only in resolver\r\n const timeZones = await this.getTimeZones();\r\n this.set('volunteerTimeZones', timeZones.data);\r\n }\r\n\r\n async setEventForCopy (event: VolunteerEvent) {\r\n this.set('eventForCopy', event);\r\n }\r\n\r\n async setCommunityPartners (partners: VolunteerCommunityPartner[]) {\r\n this.set('communityPartners', partners);\r\n }\r\n\r\n setEventTimeLineColumnValue (val: number) {\r\n this.set('eventTimeLineColumnValue', val);\r\n }\r\n\r\n setEventAffiliateId (affiliateId: number) {\r\n this.set('eventAffiliateId', affiliateId);\r\n }\r\n\r\n async setEventSkills () {\r\n const response = await this.getAllEventSkills();\r\n const skills = response.data;\r\n const mappedSkills: SelectOption[] = skills.map((cat) => {\r\n return {\r\n label: cat.categoryName,\r\n display: cat.categoryName,\r\n value: cat.categoryId,\r\n dependentOptions: cat.categorySkills.map((opt) => {\r\n return {\r\n label: opt.skillName,\r\n display: opt.skillName,\r\n value: opt.skillId\r\n };\r\n })\r\n };\r\n });\r\n const mappedCategories = this.mapCategories(response.data);\r\n this.set('skillsCategoriesMetaData', mappedCategories);\r\n this.set('allSkillsMetaData', skills); //set raw, unmapped, skills data\r\n this.set('eventSkills', mappedSkills);\r\n }\r\n\r\n mapCategories (skills: EventSkillType[]) {\r\n const categoriesArray = skills.map((skill) => {\r\n return skill.categorySkills;\r\n });\r\n const flatArray = [].concat(...categoriesArray);\r\n\r\n return flatArray;\r\n }\r\n\r\n async setAffiliateSkills (eventAffiliateId: number) {\r\n const response = await this.getAffiliateEventSkills(eventAffiliateId);\r\n const skills = response.data;\r\n const mappedSkills: SelectOption[] = skills.map((cat) => {\r\n return {\r\n label: cat.categoryName,\r\n display: cat.categoryName,\r\n value: cat.categoryId,\r\n dependentOptions: cat.categorySkills.map((opt) => {\r\n return {\r\n label: opt.skillName,\r\n display: opt.skillName,\r\n value: opt.skillId\r\n };\r\n })\r\n };\r\n });\r\n const mappedCategories = this.mapCategories(response.data);\r\n this.set('skillsCategoriesMetaData', mappedCategories);\r\n this.set('eventAffiliateSkills', mappedSkills);\r\n }\r\n\r\n async adaptAndCreateEvent (payload: Partial) {\r\n let imageUrl;\r\n let createEventPayload;\r\n if (payload.image) {\r\n const file = new YcFile(\r\n '' + (Math.random() * 1000000000),\r\n payload.image\r\n );\r\n\r\n const uploadResponse = await this.uploadEventFile(file);\r\n imageUrl = uploadResponse.data;\r\n createEventPayload = {\r\n ...payload,\r\n imageUrl\r\n };\r\n } else {\r\n createEventPayload = payload;\r\n }\r\n const response = await this.createEvent(createEventPayload);\r\n if (!!response) {\r\n this.setActiveVolunteerEvent(response);\r\n }\r\n\r\n return response;\r\n }\r\n\r\n async adaptAndUpdateEvent (payload: Partial) {\r\n // check to make sure current image isn't being re-uploaded\r\n let imageUrl;\r\n if (payload.image && (typeof(payload.image) !== 'string')) {\r\n const file = new YcFile(\r\n '' + (Math.random() * 1000000000),\r\n payload.image\r\n );\r\n const uploadResponse = await this.uploadEventFile(file);\r\n imageUrl = uploadResponse.data;\r\n }\r\n delete payload.image;\r\n // some of the below fields may not be needed, this was for debugging\r\n const editEventPayload = {\r\n ...payload,\r\n imageUrl: imageUrl || payload.imageUrl,\r\n startDate: this.dateService.formatDate(new Date(payload.startDate), 'MM/dd/yyyy'),\r\n endDate: this.dateService.formatDate(new Date(payload.endDate), 'MM/dd/yyyy')\r\n };\r\n const response = await this.updateEvent(editEventPayload);\r\n if (response?.data) {\r\n await this.setActiveEventId(response.data.eventId);\r\n\r\n return response.data;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n adaptEventsListEndpoint () {\r\n const eventTimeLine = this.eventTimeLineColumnValue;\r\n let endpoint: string;\r\n switch (eventTimeLine) {\r\n case 0:\r\n default:\r\n endpoint = 'api/Volunteer/GetEvents';\r\n break;\r\n case 1:\r\n endpoint = 'api/Volunteer/GetInProgressEvents';\r\n break;\r\n case 2:\r\n endpoint = 'api/Volunteer/GetPastEvents';\r\n break;\r\n case 3:\r\n endpoint = 'api/Volunteer/GetUpcomingEvents';\r\n break;\r\n }\r\n\r\n return endpoint;\r\n }\r\n\r\n convertParticipantExport (object: APIResponse) {\r\n const response = this.fileService.convertObjectArrayToCSVString(\r\n object.data.participants\r\n );\r\n\r\n return response;\r\n }\r\n\r\n\r\n // APIs\r\n\r\n async getContacts (\r\n eventId: number,\r\n paginationOptions: PaginationOptions\r\n ): Promise> {\r\n try {\r\n const contacts = await this.getEventContacts (\r\n eventId,\r\n paginationOptions\r\n );\r\n\r\n return {\r\n success: true,\r\n data: {\r\n recordCount: contacts.data.totalCount,\r\n records: contacts.data.contacts\r\n }\r\n };\r\n } catch (e) {\r\n throw e;\r\n }\r\n }\r\n\r\n async getEventsList (\r\n paginationOptions: PaginationOptions\r\n ): Promise> {\r\n const endpoint = this.adaptEventsListEndpoint();\r\n const response = await this.fetchVolunteerEventsList(\r\n endpoint,\r\n paginationOptions\r\n );\r\n\r\n return {\r\n success: true,\r\n data: {\r\n recordCount: response?.data?.totalCount,\r\n records: response?.data?.events\r\n }\r\n };\r\n }\r\n\r\n async getEvent (eventId: number) {\r\n try {\r\n const response = await this.volunteerEventResources.getEvent(eventId);\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getParticipants (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n let response: any;\r\n let apiResponse: APIResponse;\r\n const shiftIdColumn = 'shiftId';\r\n const adaptedParams = this.extractColumnsService\r\n .extractFilterColumnsFromPaginationOptions(\r\n paginationOptions,\r\n [shiftIdColumn]\r\n );\r\n if (!!adaptedParams.params[shiftIdColumn]) {\r\n apiResponse = await this.getEventParticipationsByShift(\r\n this.activeEventId,\r\n adaptedParams.params[shiftIdColumn],\r\n adaptedParams.paginationOptions\r\n );\r\n response = {\r\n success: true,\r\n data: {\r\n recordCount: apiResponse.data.totalCount,\r\n records: apiResponse.data.participants\r\n }\r\n };\r\n } else {\r\n apiResponse = await this.getEventParticipants(\r\n this.activeEventId,\r\n paginationOptions\r\n );\r\n response = {\r\n success: true,\r\n data: {\r\n recordCount: apiResponse.data.totalCount,\r\n records: apiResponse.data.participants\r\n }\r\n };\r\n }\r\n\r\n return response;\r\n }\r\n\r\n async getParticipantsExport (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n let apiResponse: any;\r\n let response: any;\r\n const shiftIdColumn = 'shiftId';\r\n const adaptedParams = this.extractColumnsService\r\n .extractFilterColumnsFromPaginationOptions(\r\n paginationOptions,\r\n [shiftIdColumn]\r\n );\r\n if (!!adaptedParams.params[shiftIdColumn]) {\r\n apiResponse = await this.getEventParticipationsByShiftExport(\r\n this.activeEventId,\r\n adaptedParams.params[shiftIdColumn]\r\n );\r\n response = this.convertParticipantExport(apiResponse);\r\n } else {\r\n apiResponse = await this.getEventParticipationsExport(\r\n this.activeEventId\r\n );\r\n response = this.convertParticipantExport(apiResponse);\r\n }\r\n\r\n return response;\r\n }\r\n\r\n async getEventParticipants (\r\n eventId: number,\r\n paginationOptions: PaginationOptions\r\n ) {\r\n try {\r\n const response = await this.volunteerEventResources.getEventParticipants(\r\n eventId,\r\n paginationOptions\r\n ) as APIResponse;\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'volunteer:notificationErrorFetchingParticipants',\r\n {},\r\n 'There was an error fetching event participants'\r\n ));\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getEventParticipationsExport (\r\n eventId: number\r\n ) {\r\n try {\r\n const response = await this.volunteerEventResources.getEventParticipationsExport(\r\n eventId\r\n ) as APIResponse;\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.errorDownloadingDataText);\r\n\r\n return null;\r\n }\r\n\r\n }\r\n\r\n async getEventParticipationsByShift (\r\n eventId: number,\r\n shiftId: number,\r\n paginationOptions: PaginationOptions\r\n ) {\r\n try {\r\n const response = await this.volunteerEventResources.getEventParticipationsByShift(\r\n eventId,\r\n shiftId,\r\n paginationOptions\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'volunteer:notificationErrorFetchingParticipants',\r\n {},\r\n 'There was an error fetching event participants'\r\n ));\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getEventParticipationsByShiftExport (\r\n eventId: number,\r\n shiftId: number\r\n ) {\r\n try {\r\n const response = await this.volunteerEventResources.getEventParticipationsByShiftExport(\r\n eventId,\r\n shiftId\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.errorDownloadingDataText);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getWaitlist (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n let response: any;\r\n let apiResponse: APIResponse;\r\n const shiftIdColumn = 'shiftId';\r\n const adaptedParams = this.extractColumnsService\r\n .extractFilterColumnsFromPaginationOptions(\r\n paginationOptions,\r\n [shiftIdColumn]\r\n );\r\n if (!!adaptedParams.params[shiftIdColumn]) {\r\n apiResponse = await this.getEventWaitlistByShift(\r\n this.activeEventId,\r\n adaptedParams.params[shiftIdColumn],\r\n adaptedParams.paginationOptions\r\n );\r\n response = {\r\n success: true,\r\n data: {\r\n recordCount: apiResponse.data.totalCount,\r\n records: apiResponse.data.participants\r\n }\r\n };\r\n } else {\r\n apiResponse = await this.getEventWaitlist(\r\n this.activeEventId,\r\n paginationOptions\r\n );\r\n response = {\r\n success: true,\r\n data: {\r\n recordCount: apiResponse.data.totalCount,\r\n records: apiResponse.data.participants\r\n }\r\n };\r\n }\r\n\r\n return response;\r\n }\r\n\r\n async getWaitlistExport (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n let apiResponse: any;\r\n let response: any;\r\n const shiftIdColumn = 'shiftId';\r\n const adaptedParams = this.extractColumnsService\r\n .extractFilterColumnsFromPaginationOptions(\r\n paginationOptions,\r\n [shiftIdColumn]\r\n );\r\n if (!!adaptedParams.params[shiftIdColumn]) {\r\n apiResponse = await this.getEventWaitlistByShiftExport(\r\n this.activeEventId,\r\n adaptedParams.params[shiftIdColumn]\r\n );\r\n response = this.convertParticipantExport(apiResponse);\r\n } else {\r\n apiResponse = await this.getEventWaitlistExport(\r\n this.activeEventId\r\n );\r\n response = this.convertParticipantExport(apiResponse);\r\n }\r\n\r\n return response;\r\n }\r\n\r\n async getEventWaitlist (\r\n eventId: number,\r\n paginationOptions: PaginationOptions\r\n ) {\r\n try {\r\n const response = await this.volunteerEventResources.getEventWaitlist(\r\n eventId,\r\n paginationOptions\r\n ) as APIResponse;\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'volunteer:notificationErrorFetchingParticipants',\r\n {},\r\n 'There was an error fetching event participants'\r\n ));\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getEventWaitlistExport (\r\n eventId: number\r\n ) {\r\n try {\r\n const response = await this.volunteerEventResources.getEventWaitlistExport(\r\n eventId\r\n ) as APIResponse;\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.errorDownloadingDataText);\r\n\r\n return null;\r\n }\r\n\r\n }\r\n\r\n async getEventWaitlistByShift (\r\n eventId: number,\r\n shiftId: number,\r\n paginationOptions: PaginationOptions\r\n ) {\r\n try {\r\n const response = await this.volunteerEventResources.getEventWaitlistByShift(\r\n eventId,\r\n shiftId,\r\n paginationOptions\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'volunteer:notificationErrorFetchingParticipants',\r\n {},\r\n 'There was an error fetching event participants'\r\n ));\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getEventWaitlistByShiftExport (\r\n eventId: number,\r\n shiftId: number\r\n ) {\r\n try {\r\n const response = await this.volunteerEventResources.getEventWaitlistByShiftExport(\r\n eventId,\r\n shiftId\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.errorDownloadingDataText);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getEventPhotos (eventId: number) {\r\n try {\r\n const response = await this.volunteerEventResources.getEventPhotos(eventId);\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'volunteer:notificationErrorFetchingPhotos',\r\n {},\r\n 'There was an error fetching photos this event, please try again'\r\n ));\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async createEventPhoto (payload: CreateEventPhotoPayload) {\r\n try {\r\n const response = await this.volunteerEventResources.createEventPhoto(payload);\r\n this.notifier.success(this.i18n.translate(\r\n 'volunteer:textUploadPhotoSuccess',\r\n {},\r\n 'Successfully uploaded event photo'\r\n ));\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'volunteer:notificationPhotoUploadError',\r\n {},\r\n 'There was an error uploading this photo, please try again'\r\n ));\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async deleteEventPhoto (payload: DeleteEventPhotoPayload) {\r\n try {\r\n await this.volunteerEventResources.deleteEventPhoto(payload);\r\n this.notifier.success(this.i18n.translate(\r\n 'volunteer:textRemovePhotoSuccess',\r\n {},\r\n 'Successfully removed event photo'\r\n ));\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'volunteer:notificationDeletePhotoError',\r\n {},\r\n 'There was an error removing this photo, please try again'\r\n ));\r\n }\r\n }\r\n\r\n async getEventShiftsPaginated (\r\n paginationOptions: PaginationOptions\r\n ) {\r\n try {\r\n const response = await this.volunteerEventResources.getEventShiftsPaginated(\r\n this.activeEventId,\r\n paginationOptions\r\n );\r\n\r\n return {\r\n success: true,\r\n data: {\r\n recordCount: response.data.totalCount,\r\n records: response.data.shifts\r\n }\r\n };\r\n } catch (e) {\r\n console.error(e);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getEventShiftsNoPagination (eventId: number) {\r\n try {\r\n const response = this.volunteerEventResources.getEventShiftsNoPagination(\r\n eventId\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getEventContacts (\r\n eventId: number,\r\n paginationOptions: PaginationOptions\r\n ) {\r\n try {\r\n const response = await this.volunteerEventResources.getEventContacts(\r\n eventId,\r\n paginationOptions\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'volunteer:notificationErrorFetchingContacts',\r\n {},\r\n 'There was an error fetching contacts'\r\n ));\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getEventDocuments (eventId: number) {\r\n try {\r\n const response = await this.volunteerEventResources.getEventDocuments(eventId);\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'volunteer:notificationErrorFetchingDocuments',\r\n {},\r\n 'There was an error fetching documents this event, please try again'\r\n ));\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async createEventDocument (payload: CreateEventDocumentPayload) {\r\n try {\r\n await this.volunteerEventResources.createEventDocument(payload);\r\n this.notifier.success(this.i18n.translate(\r\n 'volunteer:textUploadDocumentSuccess',\r\n {},\r\n 'Successfully uploaded event document'\r\n ));\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'volunteer:notificationDocumentUploadError',\r\n {},\r\n 'There was an error uploading this document, please try again'\r\n ));\r\n }\r\n }\r\n\r\n async deleteEventDocument (payload: DeleteEventDocumentPayload) {\r\n try {\r\n await this.volunteerEventResources.deleteEventDocument(payload);\r\n this.notifier.success(this.i18n.translate(\r\n 'volunteer:textRemoveDocumentSuccess',\r\n {},\r\n 'Successfully removed event document'\r\n ));\r\n\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'volunteer:notificationDeleteDocumentError',\r\n {},\r\n 'There was an error removing this document, please try again'\r\n ));\r\n }\r\n\r\n }\r\n\r\n async getTimeZones () {\r\n try {\r\n const response = await this.volunteerEventResources.getTimeZones();\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async fetchVolunteerEventsList (\r\n endpoint: string,\r\n paginationOptions: PaginationOptions\r\n ) {\r\n try {\r\n const response = await this.volunteerEventResources.fetchVolunteerEventsList(\r\n endpoint,\r\n paginationOptions\r\n );\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.errorRetrievingDataText);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async getEventCommunityPartners () {\r\n try {\r\n const response = await this.volunteerEventResources.getEventCommunityPartners();\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'volunteer:notificationErrorFetchingCommunityPartners',\r\n {},\r\n 'There was an error fetching community partners, please try again'\r\n ));\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async createEvent (payload: Partial) {\r\n try {\r\n const response = await this.volunteerEventResources.createEvent(\r\n payload\r\n );\r\n this.notifier.success(this.i18n.translate(\r\n 'volunteer:textCreateEventSuccessful',\r\n {},\r\n 'Successfully created event'\r\n ));\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'volunteer:notificationCreateEventError',\r\n {},\r\n 'There was an error creating this event, please try again'\r\n ));\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async updateEvent (\r\n payload: Partial\r\n ): Promise> {\r\n try {\r\n const response = await this.volunteerEventResources.updateEvent(payload);\r\n this.notifier.success(this.i18n.translate(\r\n 'volunteer:notificationUpdateEventSuccess',\r\n {},\r\n 'Successfully updated event'\r\n ));\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'volunteer:notificationUpdateEventError',\r\n {},\r\n 'There was an error updating this event, please try again'\r\n ));\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async deactivateEvent (\r\n eventId: number,\r\n isDraft: boolean\r\n ) {\r\n try {\r\n const response = await this.volunteerEventResources.deactivateEvent(eventId);\r\n if (isDraft) {\r\n this.notifier.success(this.i18n.translate(\r\n 'volunteer:notificationDeleteEventSuccess',\r\n {},\r\n 'Successfully deleted event draft'\r\n ));\r\n } else {\r\n this.notifier.success(this.i18n.translate(\r\n 'volunteer:notificationDeactivateEventSuccess',\r\n {},\r\n 'Successfully deactivated event'\r\n ));\r\n }\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n if (isDraft) {\r\n this.notifier.error(this.i18n.translate(\r\n 'volunteer:notificationDeleteEventError',\r\n {},\r\n 'There was an error deleting this event, please try again'\r\n ));\r\n } else {\r\n this.notifier.error(this.i18n.translate(\r\n 'volunteer:notificationDeactivateEventError',\r\n {},\r\n 'There was an error deactivating this event, please try again'\r\n ));\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async publishEvent (\r\n eventId: number,\r\n requiresApproval?: boolean\r\n ) {\r\n try {\r\n await this.volunteerEventResources.publishEvent(\r\n eventId,\r\n requiresApproval\r\n );\r\n if (!requiresApproval) {\r\n this.notifier.success(this.i18n.translate(\r\n 'volunteer:notificationPublishEventSuccess',\r\n {},\r\n 'Successfully published event'\r\n ));\r\n } else {\r\n this.notifier.success(this.i18n.translate(\r\n 'volunteer:notificationSubmitEventSuccess',\r\n {},\r\n 'Successfully submitted event'\r\n ));\r\n }\r\n } catch (e) {\r\n console.error(e);\r\n if (!requiresApproval) {\r\n this.notifier.error(this.i18n.translate(\r\n 'volunteer:notificationPublishingEventError',\r\n {},\r\n 'There was an error publishing this event, please try again'\r\n ));\r\n } else {\r\n this.notifier.error(this.i18n.translate(\r\n 'volunteer:notificationSubmitEventError',\r\n {},\r\n 'There was an error submitting this event, please try again'\r\n ));\r\n }\r\n }\r\n }\r\n\r\n async emailEventParticipants (\r\n payload: EmailParticipantModalResponse\r\n ) {\r\n try {\r\n await this.volunteerEventResources.emailEventParticipants(payload);\r\n this.notifier.success(this.i18n.translate(\r\n 'common:notificaitonEmailSentSuccessfully',\r\n {},\r\n 'Successfully sent email'\r\n ));\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'common:notificationThereWasAnErrorSendingTheMessage',\r\n {},\r\n 'There was an error sending the email'\r\n ));\r\n }\r\n }\r\n\r\n async deleteEventShift (\r\n eventId: number,\r\n shiftId: number\r\n ) {\r\n try {\r\n await this.volunteerEventResources.deleteEventShift(\r\n eventId,\r\n shiftId\r\n );\r\n this.notifier.success(this.i18n.translate(\r\n 'volunteer:textRemovedShift',\r\n {},\r\n 'Successfully removed shift'\r\n ));\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'volunteer:textErrorRemovingShift',\r\n {},\r\n 'Error removing shift, please try again later'\r\n ));\r\n }\r\n }\r\n\r\n async createOrUpdateEventShift (\r\n payload: CreateOrUpdateEventShiftPayload\r\n ) {\r\n try {\r\n const response = await this.volunteerEventResources.createOrUpdateEventShift(\r\n payload\r\n );\r\n this.notifier.success(this.i18n.translate(\r\n 'volunteer:textUpdatedShifts',\r\n {},\r\n 'Successfully updated shifts'\r\n ));\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'volunteer:textErrorUpdattingShifts',\r\n {},\r\n 'Error updating shifts'\r\n ));\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async createOrUpdateEventContact (payload: ContactPayload) {\r\n try {\r\n const response = await this.volunteerEventResources.createOrUpdateEventContact(\r\n payload\r\n );\r\n this.notifier.success(this.i18n.translate(\r\n 'volunteer:textUpdatedContacts',\r\n {},\r\n 'Successfully updated contacts'\r\n ));\r\n\r\n return response;\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'volunteer:textErrorUpdattingContacts',\r\n {},\r\n 'Error updating contacts'\r\n ));\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async deleteEventContact (\r\n eventId: number,\r\n contactId: number\r\n ) {\r\n try {\r\n await this.volunteerEventResources.deleteEventContact(\r\n eventId,\r\n contactId\r\n );\r\n this.notifier.success(this.i18n.translate(\r\n 'volunteer:notficationRemovedContact',\r\n {},\r\n 'Successfully removed contact'\r\n ));\r\n } catch (e) {\r\n console.error(e);\r\n this.notifier.error(this.i18n.translate(\r\n 'volunteer:notificationErrorRemovingContact',\r\n {},\r\n 'There was an error removing this contact'\r\n ));\r\n }\r\n }\r\n\r\n async uploadEventFile (file: YcFile) {\r\n const response = await this.assetManagementService.uploadVolunteerEventFile(file);\r\n\r\n return response;\r\n }\r\n\r\n async getAllEventSkills () {\r\n const response = await this.volunteerEventResources.getAllEventSkills();\r\n\r\n return response;\r\n }\r\n\r\n async getAffiliateEventSkills (affiliateId: number) {\r\n const response = await this.volunteerEventResources.getAffiliateEventSkills(affiliateId);\r\n\r\n return response;\r\n }\r\n}\r\n","import { EventCategorySkillType, EventSkillType, Participant, VolunteerCommunityPartner, VolunteerEvent, VolunteerEventDocument, VolunteerEventPhoto, VolunteerShift, VolunteerTimeZone } from '@core/models/volunteer-event.model';\r\nimport { SelectOption } from '@yourcause/common/core-forms';\r\nimport { BaseYcState, RegisterYCState } from '@yourcause/common/state';\r\n\r\n@RegisterYCState()\r\nexport class VolunteerEventState extends BaseYcState {\r\n readonly activeEventId: number;\r\n readonly activeVolunteerEvent: VolunteerEvent;\r\n readonly activeEventParticipants: Participant[];\r\n readonly activeEventPhotos: VolunteerEventPhoto[];\r\n readonly activeEventShifts: VolunteerShift[];\r\n readonly activeEventDocuments: VolunteerEventDocument[];\r\n readonly volunteerTimeZones: VolunteerTimeZone[];\r\n readonly eventForCopy: VolunteerEvent;\r\n readonly communityPartners: VolunteerCommunityPartner[];\r\n readonly eventAffiliateId: number;\r\n readonly eventTimeLineColumnValue: number;\r\n readonly eventSkills: SelectOption[];\r\n readonly eventAffiliateSkills: SelectOption[];\r\n readonly allSkillsMetaData: EventSkillType[];\r\n readonly skillsCategoriesMetaData: EventCategorySkillType[];\r\n}\r\n","import { GenericStorage, urlStorage } from './UrlStorage';\r\ntype Fn = Function;\r\nexport enum CACHE_TYPES {\r\n URL,\r\n SESSION,\r\n LOCALSTORAGE\r\n}\r\n\r\nexport function getStorage (cacheType: CACHE_TYPES) {\r\n let storage: GenericStorage;\r\n\r\n switch (cacheType) {\r\n case CACHE_TYPES.URL:\r\n storage = urlStorage;\r\n break;\r\n case CACHE_TYPES.LOCALSTORAGE:\r\n storage = localStorage;\r\n break;\r\n case CACHE_TYPES.SESSION:\r\n storage = sessionStorage;\r\n break;\r\n }\r\n\r\n return storage;\r\n}\r\n\r\n// so that we are passing by reference on page load\r\nconst internalCacheMap: { [x: string]: any } = {};\r\nconst counter: { [x: string]: number } = {};\r\nexport function CachedAttr (cacheType: CACHE_TYPES, defaultValue?: T, postInit?: (t: T) => T, duration = Infinity): any {\r\n return (target: Fn, attribute: string, descriptor: PropertyDescriptor) => {\r\n let isInitted = false;\r\n if (!postInit) {\r\n postInit = t => t;\r\n }\r\n\r\n const storage = getStorage(cacheType);\r\n\r\n counter[target.constructor.name + attribute] = counter[target.constructor.name + attribute] || 0;\r\n const cacheKey = `yc-cache-${++counter[target.constructor.name + attribute]}-${target.constructor\r\n .name}-${attribute}`;\r\n const durationKey = `${cacheKey}-set-time`;\r\n\r\n const lastDate = +storage.getItem(durationKey);\r\n\r\n if ((Date.now() < (lastDate + duration)) || (duration === Infinity)) {\r\n internalCacheMap[cacheKey] = JSON.parse(storage.getItem(cacheKey));\r\n\r\n if (internalCacheMap[cacheKey] === null) {\r\n internalCacheMap[cacheKey] = undefined;\r\n }\r\n\r\n if (\r\n (typeof(defaultValue) !== 'undefined') &&\r\n (typeof(internalCacheMap[cacheKey]) === 'undefined')\r\n ) {\r\n internalCacheMap[cacheKey] = defaultValue;\r\n storage.setItem(cacheKey, JSON.stringify(defaultValue));\r\n if (duration !== Infinity) {\r\n storage.setItem(durationKey, `${Date.now()}`);\r\n }\r\n }\r\n }\r\n\r\n const initializer = (value: T) => {\r\n isInitted = true;\r\n\r\n internalCacheMap[cacheKey] = postInit(value);\r\n };\r\n\r\n Object.defineProperty(target, attribute, {\r\n get () {\r\n if (!isInitted) {\r\n initializer(internalCacheMap[cacheKey]);\r\n }\r\n\r\n return internalCacheMap[cacheKey];\r\n },\r\n set (value) {\r\n internalCacheMap[cacheKey] = value;\r\n if (duration !== Infinity) {\r\n storage.setItem(durationKey, `${Date.now()}`);\r\n }\r\n storage.setItem(cacheKey, JSON.stringify(value));\r\n }\r\n });\r\n };\r\n}\r\n\r\n","import * as queryString from 'query-string';\r\n\r\nexport interface GenericStorage {\r\n getItem (key: string): string;\r\n setItem (key: string, value: string): void;\r\n removeItem (key: string): void;\r\n}\r\n\r\nexport const urlStorage: GenericStorage = {\r\n getItem (key) {\r\n return queryString.parse(location.hash)[key];\r\n },\r\n setItem (key, value) {\r\n const tmp = queryString.parse(location.hash);\r\n tmp[key] = value;\r\n location.hash = queryString.stringify(tmp);\r\n },\r\n removeItem (key) {\r\n const tmp = queryString.parse(location.hash);\r\n delete tmp[key];\r\n location.hash = queryString.stringify(tmp);\r\n }\r\n};\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\nimport { environment } from '@environment';\r\nimport '@yourcause/common';\r\nimport { AppSharedModule } from './app/app.shared.module';\r\n\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nif (environment.addGoogleTagManagerProd) {\r\n addGoogleTagManagerProd();\r\n}\r\n\r\nif (environment.addGoogleTagManagerNotProd) {\r\n addGoogleTagManagerNotProd();\r\n}\r\n\r\nif (environment.addMetaFacebookPixel) {\r\n addMetaFacebookPixel();\r\n}\r\n\r\nif (environment.addLinkedInInsights) {\r\n addLinkedInInsights();\r\n}\r\n\r\nfunction addGoogleTagManagerProd () {\r\n const script = document.createElement('script');\r\n\r\n script.innerHTML = `(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':\r\n new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],\r\n j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=\r\n 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\r\n })(window,document,'script','dataLayer','GTM-WQZTBFL9');`;\r\n\r\n document.head.appendChild(script);\r\n}\r\n\r\nfunction addGoogleTagManagerNotProd () {\r\n const script = document.createElement('script');\r\n\r\n script.innerHTML = `(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':\r\n new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],\r\n j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=\r\n 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\r\n })(window,document,'script','dataLayer','GTM-54469WQP');`;\r\n\r\n document.head.appendChild(script);\r\n\r\n const noScript = document.createElement('noscript');\r\n\r\n noScript.innerHTML = ``;\r\n\r\n document.body.prepend(noScript);\r\n}\r\n\r\nfunction addMetaFacebookPixel () {\r\n const meta = document.createElement('meta');\r\n\r\n meta.name = 'facebook-domain-verification';\r\n\r\n meta.content = '9r4lv1wuaym7j7ukjc9a6m8t6iy1p5';\r\n\r\n document.head.appendChild(meta);\r\n\r\n const script = document.createElement('script');\r\n\r\n script.innerHTML = `!function(f,b,e,v,n,t,s)\r\n {if(f.fbq)return;n=f.fbq=function(){n.callMethod?\r\n n.callMethod.apply(n,arguments):n.queue.push(arguments)};\r\n if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';\r\n n.queue=[];t=b.createElement(e);t.async=!0;\r\n t.src=v;s=b.getElementsByTagName(e)[0];\r\n s.parentNode.insertBefore(t,s)}(window, document,'script',\r\n 'https://connect.facebook.net/en_US/fbevents.js');\r\n fbq('init', '5373970592640304');\r\n fbq('track', 'PageView');`;\r\n\r\n document.head.appendChild(script);\r\n}\r\n\r\nfunction addLinkedInInsights () {\r\n const scriptOne = document.createElement('script');\r\n\r\n scriptOne.type = 'text/javascript';\r\n\r\n scriptOne.innerHTML = `_linkedin_partner_id = \"6449946\"; window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || []; window._linkedin_data_partner_ids.push(_linkedin_partner_id);`;\r\n\r\n document.head.appendChild(scriptOne);\r\n\r\n const scriptTwo = document.createElement('script');\r\n\r\n scriptTwo.type = 'text/javascript';\r\n\r\n scriptTwo.innerHTML = `(function(l) { if (!l){window.lintrk = function(a,b){window.lintrk.q.push([a,b])}; window.lintrk.q=[]} var s = document.getElementsByTagName(\"script\")[0]; var b = document.createElement(\"script\"); b.type = \"text/javascript\";b.async = true; b.src = \"https://snap.licdn.com/li.lms-analytics/insight.min.js\"; s.parentNode.insertBefore(b, s);})(window.lintrk);`;\r\n\r\n document.head.appendChild(scriptTwo);\r\n\r\n const noScript = document.createElement('noscript');\r\n\r\n noScript.innerHTML = `\"\"`;\r\n\r\n document.head.appendChild(noScript);\r\n}\r\n\r\nexport function main () {\r\n return platformBrowserDynamic().bootstrapModule(AppSharedModule);\r\n}\r\n\r\nmain();\r\n"],"names":["CommonModule","HTTP_INTERCEPTORS","HttpClientModule","FormsModule","ReactiveFormsModule","RouterModule","YCCommonModule","AlertModule","BannerModule","BlockUiModule","ButtonModule","CheckboxModule","CoreFormsModule","CurrencyModule","DateModule","DomModule","FilesModule","HTTP_REST_SERVICE","I18nModule","IconsModule","InputModule","LINK_SERVICE","ModalsModule","PanelModule","RadioButtonsModule","RichTextEditorModule","SelectModule","SPINNER_SERVICE","TextAreaModule","TourModule","TypeaheadSelectModule","UtilsModule","NgChartsModule","AccordionModule","PopoverModule","TooltipModule","PaymentCompaniesPopoverComponent","TermsOfServiceModalComponent","PublicNonprofitSearchComponent","ReasonPipe","StatusPipe","VettingApplicationDatePipe","AddressBlockComponent","AdminNavigationComponent","AuthWrapperComponent","BankInfoAlertComponent","ChapterAddressMatchParentModalComponent","ClassificationComponent","ConfirmNpoAdminModalComponent","DesignationComponent","EmailCommunicationGroupComponent","ExtendedSearchDetailsComponent","ListComponent","NppNonprofitBlockTableInfoModalComponent","NonprofitIRSCodesModalComponent","NonprofitNotificationModalComponent","NonprofitSearchComponent","NpoAddressComponent","NppNonprofitBlockTableComponent","NppNpoStatsBlockComponent","PaymentCardsComponent","RegistrationAuthorityAttrModalComponent","ReleaseNotesComponent","RevocationDetailsByStateModalComponent","SearchNpoAutocompleteComponent","SearchNpoMergeComponent","ShowChapterNonprofitsComponent","ShowInactiveNonprofitsComponent","TransactionFeesComponent","UnAuthWrapperComponent","VettingApplicationStepperComponent","IfNonprofitRoleDirective","IfSystemRoleDirective","UnlessNonprofitRoleDirective","UnlessSystemRoleDirective","AuthGuard","ReleaseNotesGuard","PersonaGuard","RouteToSearchGuard","UnauthGuard","ActiveVettingPipe","AdaptUrl","AddressObjectPipe","AlertPageIdMapPipe","AlternateNaText","AssetTypeNamePipe","CalculateDaysAgoPipe","CarriageToBrPipe","ChangeTrackingChangedByPipe","EntityPropertyDescPipe","ChangeTrackingOldNewValuePipe","CharityCompareStatusPipe","CheckPastDatePipe","EligibleForGivingStatusIdPipe","EmailIcon","ExternalSystemsPipe","GenericizeStatus","GiactCodePipe","IntBankFieldLength","JobIntervalFrequency","LocalizeBankField","LocalizeBankHelp","LocalizeWithNamespacePipe","MatchedDonorInfoPipe","MergeComparison","NoteType","NPOCommActionsPipe","NpoInactiveMessage","RegistrationAuthAttrs","SdgLocalizedName","ShiftCapacity","ShowIfYc","StatusIcon","StringCommaSpacePipe","UserRolesPipe","VettingOrganizationTypePipe","VettingRequestStatus","VettingRequestedBy","VettingTypePipe","VolunteerCommunityPartnersPipe","VolunteerEventActionPipe","VolunteerEventDate","EventStatus","VolunteerParticipantCountPipe","VolunteerShiftDates","CacheBusterInterceptor","HttpRestService","LinkService","SpinnerService","TokenInterceptor","BsDropdownModule","EfgDbStatusValuePipe","AddEditPersonaAnswerCustomResponseModalComponent","PersonaQuestionAndAnswersComponent","AddEditPersonaAnswersModalComponent","YCCoreModule","_","_2","_3","provide","useClass","multi","imports","declarations","exports","i1","ModalContentComponent","i2","I18nPipe","UntypedFormGroup","I18nService","Subscription","LocationService","i0","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ctx_r1","nameInfoText","ɵɵelement","ɵɵtemplate","AddressBlockComponent_div_1_div_3_div_2_Template","ɵɵproperty","nameLabel","ɵɵpipeBind2","regionSelects","AddressBlockComponent_div_1_div_3_Template","ɵɵlistener","AddressBlockComponent_div_1_Template_yc_typeahead_select_onChange_13_listener","$event","ɵɵrestoreView","_r1","ɵɵnextContext","ɵɵresetView","setRegionsOnCountryChange","AddressBlockComponent_div_1_div_15_Template","addressFormGroup","showName","countrySelects","length","constructor","locationService","i18n","translate","loading","countries","regions","countriesForSelect","subscription","add","changesTo$","subscribe","ngOnInit","_this","_asyncToGenerator","controls","name","setCountries","value","countryCode","setValue","setRegions","stateProvRegId","setRegionCode","id","region","find","reg","stateProvRegCode","_this2","ngOnDestroy","unsubscribe","ɵɵdirectiveInject","selectors","inputs","decls","vars","consts","template","AddressBlockComponent_Template","rf","ctx","AddressBlockComponent_div_1_Template","NavigationEnd","Router","AuthService","BannerService","FeatureFlagType","NotifierService","map","NonprofitService","NotesService","FeatureFlagService","activeNpo","registrationId","ɵɵpureFunction1","_c0","link_r3","href","i18nKey","label","ɵɵpipeBind1","context","ɵɵpureFunction0","_c1","AdminNavigationComponent_div_1_ul_4_li_1_Template","links","AdminNavigationComponent_div_1_span_3_Template","AdminNavigationComponent_div_1_ul_4_Template","AdminNavigationComponent_div_1_Template_button_click_5_listener","copyRegistrationId","displayName","tooltipText","router","noteService","notifier","nonprofitService","bannerService","authService","featureFlagService","visibleRouteRegex","programFlagValue","getFeatureFlagEnabledValue","Programs","notesCount$","sub","originalLinks","pipe","noteCount","concat","chapterObj","isChapterAffiliate","addChapterLink","removeChapterLink","events","e","visible","test","url","isActive","isInternalAdmin","isNonprofitUser","setShowInactiveNpoBanner","setPortalBanners","regId","navigator","clipboard","writeText","then","success","slice","i3","i4","i5","i6","i7","i8","AdminNavigationComponent_Template","AdminNavigationComponent_div_1_Template","ActivatedRoute","AccountService","AppShellService","SessionKeepAliveService","TokenTimeoutService","TokenService","FooterState","environment","AddressFormatterService","HelpTextService","ModalFactory","NotificationsService","tap","i18nService","linkService","helpService","route","accountService","footerState","appShellService","timeoutService","addressFormatter","tokenService","sessionKeepAliveService","modalFactory","notificationsService","isLoggedIn","copyrightText","version","headerVisible","accountRole","logoUrl","loadingProm","namespaceReady","showNewAdminHelp","sidebarLinks$","sidebarClosed$","banners$","timeRemaining$","time","onSignOutClick","showTimeout$","footerState$","footerActionLabel$","footerCancelLabel$","footerSecondaryLabel$","footerSecondaryDisabled$","footerTertiaryLabel$","footerActionDisabled$","footerAction$","footerCancelAction$","footerSecondaryAction$","footerTertiaryAction$","footerInfoText$","footerInfoIcon$","footerInfoTooltip$","FOOTER_STATES","headerLinks","icon","action","navigateByUrl","sequence","tourSteps","stepNumber","tourLabel","tourDescription","tourLocation","tourKey","skipEndpointCall","termsAndConditionsLink","getTermsOfServiceLink","privacyPolicyLink","getPrivacyPolicyLink","child","snapshot","firstChild","helpText","data","helpComponent","hts","buildHelpText","selectedNpoId","setNpoOrAdminText","tokenInfo","transistioningNpos","NonprofitIdArr","body","document","getElementsByTagName","hasToken","start","startWatching","stop","stopWatching","isYcAdminOrSupport","setSidebarLinks","val","modalClosed","activeNonprofitId","setActiveNonprofitId","getNotifications","modalNotification","notificationModalDeps","notification","open","class","setTimeout","getIsLoggedIn","role","setAdminText","setNpoText","setAccountText","parsedJwt","accountName","accountDetails","firstName","lastName","initials","primaryText","secondaryText","format","address1","city","npo","displayAddress","address","tertiaryText","parentLogo","parentNonprofit","nonprofitIconImageUrl","getClassificationIcon","classificationInfo","code","classificationOneCode","handleSidebarToggle","toggleSidebar","logout","keepMeSignedIn","getLatestToken","i9","i10","i11","i12","i13","i14","i15","AuthWrapperComponent_Template","AuthWrapperComponent_Template_yc_app_shell_onKeepMeSignedIn_0_listener","AuthWrapperComponent_Template_yc_app_shell_onSignOutClick_0_listener","AuthWrapperComponent_Template_yc_app_shell_onSidebarToggle_0_listener","AuthWrapperComponent_yc_admin_navigation_20_Template","FISPlacholder","ctx_r0","bankInfo","comment","routingNumber","swiftCode","bankAccountNumberLast2","intermediarySwiftCode","intermediaryBankAccountNumberLast2","BankInfoAlertComponent_div_0_div_1_div_28_dt_4_Template","BankInfoAlertComponent_div_0_div_1_div_28_dd_5_Template","BankInfoAlertComponent_div_0_div_1_div_28_dt_6_Template","BankInfoAlertComponent_div_0_div_1_div_28_dd_7_Template","BankInfoAlertComponent_div_0_div_1_dt_6_Template","BankInfoAlertComponent_div_0_div_1_dd_7_Template","BankInfoAlertComponent_div_0_div_1_dt_12_Template","BankInfoAlertComponent_div_0_div_1_dd_13_Template","BankInfoAlertComponent_div_0_div_1_dt_14_Template","BankInfoAlertComponent_div_0_div_1_dd_15_Template","BankInfoAlertComponent_div_0_div_1_dd_22_Template","BankInfoAlertComponent_div_0_div_1_dd_23_Template","BankInfoAlertComponent_div_0_div_1_div_28_Template","ɵɵclassProp","hasIntermediaryBankInfo","bankName","accountTypeText","FISPlaceholder","maskedNumber","title","ɵɵsanitizeHtml","BankInfoAlertComponent_div_0_div_2_div_35_dt_4_Template","BankInfoAlertComponent_div_0_div_2_div_35_dd_5_Template","BankInfoAlertComponent_div_0_div_2_div_35_dt_6_Template","BankInfoAlertComponent_div_0_div_2_div_35_dd_7_Template","rejectedReasonId","rejectedComment","BankInfoAlertComponent_div_0_div_2_div_36_div_1_Template","BankInfoAlertComponent_div_0_div_2_div_36_div_2_Template","BankInfoAlertComponent_div_0_div_2_div_6_Template","BankInfoAlertComponent_div_0_div_2_dt_13_Template","BankInfoAlertComponent_div_0_div_2_dd_14_Template","BankInfoAlertComponent_div_0_div_2_dt_19_Template","BankInfoAlertComponent_div_0_div_2_dd_20_Template","BankInfoAlertComponent_div_0_div_2_dt_21_Template","BankInfoAlertComponent_div_0_div_2_dd_22_Template","BankInfoAlertComponent_div_0_div_2_div_35_Template","BankInfoAlertComponent_div_0_div_2_div_36_Template","thisClass","icons","twoRow","isRejected","BankInfoAlertComponent_div_0_div_1_Template","BankInfoAlertComponent_div_0_div_2_Template","isInReview","detailsInReviewText","detailsRejectedText","checkingAccountText","savingsAccountText","alertClass","isCheckingAccount","BankInfoAlertComponent_Template","BankInfoAlertComponent_div_0_Template","UntypedFormBuilder","Validators","YCModalComponent","modalBody","parentDisplayAddress","parentRegisteredAddress","ChapterAddressMatchParentModalComponent_yc_modal_0_Template_yc_modal_onCancel_0_listener","_onCancel","ChapterAddressMatchParentModalComponent_yc_modal_0_Template_yc_modal_onPrimaryClick_0_listener","_onSubmit","ChapterAddressMatchParentModalComponent_yc_modal_0_div_1_Template","ChapterAddressMatchParentModalComponent_yc_modal_0_div_8_Template","ChapterAddressMatchParentModalComponent_yc_modal_0_div_9_Template","addressReasonForm","modalHeader","cancelButtonText","primaryButtonText","invalid","reasonForMatch","chapterAddress","reasonLabel","formBuilder","parentName","parentNonprofitName","group","reasonForAddressMatch","required","closeModal","emit","features","ɵɵInheritDefinitionFeature","ChapterAddressMatchParentModalComponent_Template","ChapterAddressMatchParentModalComponent_yc_modal_0_Template","EventEmitter","InflectService","nteeOptions","disableNtee","ɵɵelementContainerStart","ClassificationComponent_ng_container_4_ng_container_3_Template_yc_typeahead_select_onChange_1_listener","_r3","classificationChanged","groupSelectOptions","ClassificationComponent_ng_container_4_Template_yc_typeahead_select_onChange_1_listener","_r2","ClassificationComponent_ng_container_4_ng_container_3_Template","classificationOptions","parentFormGroup","category","children","inflect","colSize","pleaseSelectDefault","changesMade","ntees","classifications","allClassifications","hierarchicalMap","classificationMap","childMap","flatMap","Object","keys","key","classification","trimPuncAndPascalize","display","item","localizeDescription","getDisplay","bind","setGroupOptions","parent","parentCode","get","ntee","trim","description","usNonprofitSelected","outputs","ClassificationComponent_Template","ClassificationComponent_yc_typeahead_select_3_Template","ClassificationComponent_ng_container_4_Template","ɵɵclassMapInterpolate1","ArrayHelpersService","modalBody_p_2","modalBody_p_3","ConfirmNpoAdminModalComponent_ng_container_0_div_5_div_1_Template_yc_checkbox_group_onChange_2_listener","getNposToRemove","npoDisplayOptions","ConfirmNpoAdminModalComponent_ng_container_0_div_5_div_1_Template","confirmForm","npoOptions","checkboxText","ConfirmNpoAdminModalComponent_ng_container_0_Template_yc_modal_onCancel_1_listener","onCancel","ConfirmNpoAdminModalComponent_ng_container_0_Template_yc_modal_onPrimaryClick_1_listener","onPrimaryClick","ConfirmNpoAdminModalComponent_ng_container_0_span_4_Template","ConfirmNpoAdminModalComponent_ng_container_0_div_5_Template","userNameEmail","disablePrimaryButton","userAccessRemovedDate","arrayHelper","ready","npoIdsSelected","nposToRemove","setAccessRemovedModalClosed","userInfo","userName","myNpos","forEach","push","nonprofitName","nonprofitId","sort","formatNpoDisplay","selectNpos","confirmNotSelecting","requiredTrue","date","ids","allNpoIds","filter","includes","valid","payload","nonprofitIds","ConfirmNpoAdminModalComponent_Template","ConfirmNpoAdminModalComponent_ng_container_0_Template","DEDICATION_MAP","chapterText","designation","getDedicationText","dedication","dedicationType","pascalize","dedicationText","toLowerCase","DesignationComponent_Template","DesignationComponent_ng_container_0_Template","DesignationComponent_ng_container_1_Template","DesignationComponent_span_2_Template","TypeToken","uniq","EmailCommunicationGroupComponent_div_0_Template_yc_toggle_onChange_9_listener","email_r2","$implicit","ctx_r2","onToggleChange","EmailCommunicationGroupComponent_div_0_div_10_Template","formArray","at","index_r4","formGroupTypeToken","commsPrefsDescription","last_r5","isYcAdminModal","onCommPreferenceChange","newUnsubscribedEmailClassIds","newUnsubscribed","currentUnsubscribedEmailClassIds","array","email","response","emailId","index","indexOf","splice","EmailCommunicationGroupComponent_Template","EmailCommunicationGroupComponent_div_0_Template","CodeType","RegAuthAttrDefaultValue","RegAuthIdsExcluded","ReportingService","ActiveAdminModalComponent","ɵɵtextInterpolate2","code_r1","desc_r2","desc_r3","ctx_r3","noResultsFound","nonprofitDetails","processingPartner","ExtendedSearchDetailsComponent_div_6_ng_container_13_div_10_Template","remittanceInfo","ɵɵpipeBind3","addressIsRegisteredAddress","ɵɵpipeBind4","Reference_Code","ɵɵpipeBindV","ɵɵpureFunction2","TS_ID","Active_TS","FP_ID","Active_FP","ExtendedSearchDetailsComponent_div_6_ng_container_18_dl_1_Template","ExtendedSearchDetailsComponent_div_6_ng_container_18_dl_3_Template","ExtendedSearchDetailsComponent_div_6_ng_container_18_dl_5_Template","ExtendedSearchDetailsComponent_div_6_ng_container_18_dl_7_Template","ExtendedSearchDetailsComponent_div_6_ng_container_18_dl_9_Template","popoverDesc_r5","onBmfPopover","ExtendedSearchDetailsComponent_div_6_ng_container_19_dl_1_button_4_Template","On_IRS_BMF","BMF_Deductibility_code","popoverCodeDesc_r6","_c2","DeductibilityCodeDesc","ExtendedSearchDetailsComponent_div_6_ng_container_19_dl_5_Template_button_click_4_listener","_r7","openIrsCodesModal","BMFSubsection","BMF_Subsection_code","ExtendedSearchDetailsComponent_div_6_ng_container_19_dl_7_Template_button_click_4_listener","_r8","BMFFoundation","BMF_Foundation_code","FoundationCodeDesc","onPub78Popover","ExtendedSearchDetailsComponent_div_6_ng_container_19_dl_9_button_4_Template","On_IRS_Pub_78","ExtendedSearchDetailsComponent_div_6_ng_container_19_dl_11_Template_button_click_4_listener","_r9","Pub78Designation","Pub78_Designation_code","ExemptStatusCode","PubExemptStatusCodeDesc","nonprofitClassification","ExtendedSearchDetailsComponent_div_6_ng_container_19_dl_14_button_8_Template_button_click_0_listener","_r10","openRevocationDetailsByStateModal","IRS_Revocation_Date","ExtendedSearchDetailsComponent_div_6_ng_container_19_dl_14_button_8_Template","ExtendedSearchDetailsComponent_div_6_ng_container_19_dl_14_span_9_Template","irsRevocationPopover","irsRevocationActive","ExtendedSearchDetailsComponent_div_6_ng_container_19_dl_15_button_8_Template_button_click_0_listener","_r11","US_State_Revocations","ExtendedSearchDetailsComponent_div_6_ng_container_19_dl_15_button_8_Template","ExtendedSearchDetailsComponent_div_6_ng_container_19_dl_15_span_9_Template","usStatRevocationsPopover","stateRevocationActive","ExtendedSearchDetailsComponent_div_6_ng_container_19_dl_16_Template_button_click_4_listener","_r12","openIrsAttributionModal","ExtendedSearchDetailsComponent_div_6_ng_container_19_dl_1_Template","ExtendedSearchDetailsComponent_div_6_ng_container_19_dl_3_Template","ExtendedSearchDetailsComponent_div_6_ng_container_19_dl_5_Template","ExtendedSearchDetailsComponent_div_6_ng_container_19_dl_7_Template","ExtendedSearchDetailsComponent_div_6_ng_container_19_dl_9_Template","ExtendedSearchDetailsComponent_div_6_ng_container_19_dl_11_Template","ExtendedSearchDetailsComponent_div_6_ng_container_19_dl_13_Template","ExtendedSearchDetailsComponent_div_6_ng_container_19_dl_14_Template","ExtendedSearchDetailsComponent_div_6_ng_container_19_dl_15_Template","ExtendedSearchDetailsComponent_div_6_ng_container_19_dl_16_Template","showRevocationDate","ExtendedSearchDetailsComponent_div_6_a_29_Template_a_click_0_listener","_r13","openActiveAdminsModal","activeUsers","numOfAdmins","ExtendedSearchDetailsComponent_div_6_a_39_Template_a_click_0_listener","_r14","routeToCompliance","goToCompliance","activeCompliances","ExtendedSearchDetailsComponent_div_6_a_44_Template_a_click_0_listener","_r15","routeToNotes","goToNotes","notesCount","ExtendedSearchDetailsComponent_div_6_ng_container_5_Template","ExtendedSearchDetailsComponent_div_6_ng_container_13_Template","ExtendedSearchDetailsComponent_div_6_ng_container_18_Template","ExtendedSearchDetailsComponent_div_6_ng_container_19_Template","ExtendedSearchDetailsComponent_div_6_a_29_Template","ExtendedSearchDetailsComponent_div_6_span_30_Template","ExtendedSearchDetailsComponent_div_6_a_39_Template","ExtendedSearchDetailsComponent_div_6_span_40_Template","ExtendedSearchDetailsComponent_div_6_a_44_Template","ExtendedSearchDetailsComponent_div_6_span_45_Template","hasAchInfo","bbgfText","regAuthIdsExcluded","registrationAuthorityId","activeVetting","vettingExpirationDate","canImpersonateNonprofit","activatedRoute","notesService","reportingService","allowsGivingPopover","allowsVolunteerPopover","notApplicableText","registrationAuthority","stateRevocation","registrationAuthorityAttributes","attr","i18nDefaultValue","irsRevocation","modalResponse","setAdminEmail","navigate","relativeTo","codeType","codes","getNonprofitIrsCodes","stateCode","_this3","_this4","_this5","setSelectedNpo","setNoteCount","_this6","ExtendedSearchDetailsComponent_Template","ExtendedSearchDetailsComponent_ng_template_0_Template","ɵɵtemplateRefExtractor","ExtendedSearchDetailsComponent_ng_template_2_Template","ExtendedSearchDetailsComponent_div_5_Template","ExtendedSearchDetailsComponent_div_6_Template","ListTypes","ɵɵpropertyInterpolate","item_r2","symbol","defaultSymbol","ɵɵsanitizeUrl","indicatorClass","bulletIcon","ListComponent_li_1_div_11_Template_yc_button_onClick_1_listener","_r4","_onDismiss","ListComponent_li_1_Template_div_click_1_listener","navTo","ListComponent_li_1_img_3_Template","ListComponent_li_1_yc_fa_4_Template","ListComponent_li_1_yc_fa_5_Template","ListComponent_li_1_div_9_Template","ListComponent_li_1_div_10_Template","ListComponent_li_1_div_11_Template","ListComponent_li_1_hr_12_Template","dismissable","type","Links","Alerts","Notifications","subtitle","listItems","onDismiss","listItemArray","listClass","i","externalActionUrl","window","setActiveNpoOnNav","skipToastr","actionUrl","ngOnChanges","setNotifications","notificationId","isDismissable","nonprofit","ɵɵNgOnChangesFeature","ListComponent_Template","ListComponent_li_1_Template","ɵɵclassMap","NonprofitAdditionalInformationAttributesText","registeredNameAndAddress","ɵɵtextInterpolate","sameNameAndAddressOnFiletext","disbursementNameAndAddress","noNameOnFiletext","noAddressOnFiletext","displayNameAndAddress","eligibleForGiving","additionalInfo","registrationAuthorityName","eligibleForDisbursement","disbursementSuspended","createdDate","attributeHdr","valueHdr","noNameOrAddressOnFiletext","formatAttributeBoolean","attrVal","_onClose","NppNonprofitBlockTableInfoModalComponent_Template","NppNonprofitBlockTableInfoModalComponent_Template_yc_modal_onCancel_0_listener","NppNonprofitBlockTableInfoModalComponent_dl_9_Template","NppNonprofitBlockTableInfoModalComponent_div_14_Template","NppNonprofitBlockTableInfoModalComponent_div_15_Template","NppNonprofitBlockTableInfoModalComponent_div_21_Template","NppNonprofitBlockTableInfoModalComponent_div_22_Template","NppNonprofitBlockTableInfoModalComponent_dl_24_Template","NppNonprofitBlockTableInfoModalComponent_dl_31_Template","NppNonprofitBlockTableInfoModalComponent_dl_32_Template","NppNonprofitBlockTableInfoModalComponent_dl_33_Template","NppNonprofitBlockTableInfoModalComponent_dl_34_Template","disbursementAddressIsRegisteredAddress","displayAddressIsRegisteredAddress","hasACH","row_r3","row_r4","row_r5","bbgfEligible","NonprofitIRSCodesModalComponent_yc_modal_0_Template_yc_modal_onCancel_0_listener","NonprofitIRSCodesModalComponent_yc_modal_0_ng_container_5_Template","NonprofitIRSCodesModalComponent_yc_modal_0_ng_container_6_Template","NonprofitIRSCodesModalComponent_yc_modal_0_ng_container_7_Template","rows","modalLoaded","nonprofitCodes","NonprofitIRSCodesModalComponent_Template","NonprofitIRSCodesModalComponent_yc_modal_0_Template","NonprofitNotificationModalComponent_ng_container_0_Template_yc_modal_onCancel_1_listener","NonprofitNotificationModalComponent_ng_container_0_Template_yc_modal_onSecondaryClick_1_listener","NonprofitNotificationModalComponent_ng_container_0_Template_div_click_4_listener","navigateTo","NonprofitNotificationModalComponent_ng_container_0_div_6_Template","modalContent","modalTitle","setModalNotificationClosed","dismissNotification","NonprofitNotificationModalComponent_Template","NonprofitNotificationModalComponent_ng_container_0_Template","SimpleChange","SimpleChanges","ALL_SKIP_FILTER","DebounceFactory","SearchByType","uniqBy","from","NonprofitSearchService","NonprofitSearchComponent_div_8_Template_yc_show_chapter_nonprofits_changeType_2_listener","_changeType","NonprofitSearchComponent_div_8_Template_yc_show_inactive_nonprofits_changeType_4_listener","searchForm","NonprofitSearchComponent_div_9_yc_typeahead_select_5_Template_yc_typeahead_select_onChange_0_listener","_changeFilter","countryOptions","NonprofitSearchComponent_div_9_yc_typeahead_select_6_Template_yc_typeahead_select_onChange_0_listener","_r5","stateProvRegionOptions","NonprofitSearchComponent_div_9_Template_yc_typeahead_select_onChange_3_listener","NonprofitSearchComponent_div_9_yc_typeahead_select_5_Template","NonprofitSearchComponent_div_9_yc_typeahead_select_6_Template","regAuthOptions","searchFiltersRegAuth","loadingCountryOptions","searchFiltersCountry","facets","stateProvRegName","loadingStateOptions","nonprofitSearchService","spinnerService","returnResults","placeholderText","searchFilters","showInactiveText","byNonprofitPlaceholder","byAdminPlaceholder","byPaymentPlaceholder","defaultRegAuthText","defaultCountryText","defaultStateText","searchByTypeOptions","TERM","ADMIN","PAYMENT","term","searchType","showInactive","searchFiltersShowAll","showChapters","searchFiltersShowChapters","advancedFilterForm","country","searchFiltersState","setPlaceholderText","debounce","create","doSearch","startSpinner","searchByAdminEmail","searchByPaymentNumber","searchByTerm","allFacets","setRegAuthOptions","setCountryOptions","setStateOptions","stopSpinner","_onTermChange","event","setSearchType","setSearchTerm","setSearchFilters","clearAdvancedFilters","exec","results","searchResults","setPaymentNumber","disableFilterCheckboxes","facet","opt","changes","change","currentValue","setSearchTermNull","NonprofitSearchComponent_Template","NonprofitSearchComponent_Template_yc_typeahead_select_onChange_3_listener","NonprofitSearchComponent_Template_yc_input_onChange_6_listener","NonprofitSearchComponent_div_8_Template","NonprofitSearchComponent_div_9_Template","NonprofitSearchResources","httpRestService","searchText","pageNumber","rowsPerPage","showAll","post","AdminEmail","paginationOptions","paymentNumber","getSearchForAutoComplete","searchForMergeOrgs","searchByRegIdOnly","ɵɵinject","factory","ɵfac","providedIn","NonprofitSearchState","SearchResult","AttachYCState","BaseYCService","isEqual","nonprofitSearchResources","defaultPaginationOptions","retrieveTotalRecordCount","filterColumns","sortColumns","returnAll","activeFacets","searchTerm","setAllFacets","set","setActiveFacets","adaptPayloadForAPI","showAllResults","adaptFiltersForRegIdOnly","trimSearchText","replace","filters","filterName","filterValue","allSearchFilters","setSearchResults","newFacets","result","construct","records","__decorate","BaseYCActionState","RegisterYCState","t","adaptAddress","state","NpoAddressComponent_Template","NpoAddressComponent_div_0_Template","NppNonprofitBlockTableComponent_div_3_Template_yc_button_onClick_1_listener","openAdditionalInfoModal","parentRouterLink","npoSelect","addressString","npoParentSelect","skipTitleize","showAdditionalInfo","showAddress","postalCode","info","getNonprofitAdditionalInformation","selectNonprofitAndNavigate","parentId","chapterRegistrationId","isPrivateOrg","clientName","ycCharityId","npoRouterLink","eligibleForGivingStatusId","NppNonprofitBlockTableComponent_Template","NppNonprofitBlockTableComponent_Template_yc_nonprofit_block_table_onNpoSelect_2_listener","NppNonprofitBlockTableComponent_Template_yc_nonprofit_block_table_onNpoParentSelect_2_listener","NppNonprofitBlockTableComponent_div_3_Template","BBGFEligibleStatusId","NonprofitSearchStatsModalType","desc_r1","popoverDesc_r3","regAuthPopover","popoverPlacement","NppNpoStatsBlockComponent_dl_3_button_3_Template","showPopovers","foundationCodeDesc","subsectionCodeDesc","isActivePopover","NppNpoStatsBlockComponent_dl_7_a_4_Template_a_click_0_listener","openModal","NotActive","NppNpoStatsBlockComponent_dl_7_button_3_Template","NppNpoStatsBlockComponent_dl_7_a_4_Template","NppNpoStatsBlockComponent_dl_7_yc_i18n_7_Template","NppNpoStatsBlockComponent_dl_7_yc_i18n_8_Template","NppNpoStatsBlockComponent_dl_8_a_3_Template_a_click_0_listener","IsEligible","BBGFEligible","NotEligibleButCanBe","NeedsVetting","AwaitingReview","BBGFAwaitingReview","NoGiving","NppNpoStatsBlockComponent_dl_8_a_3_Template","NeverEligible","disbursementPopover","NppNpoStatsBlockComponent_dl_9_a_4_Template_a_click_0_listener","_r6","NoDisbursement","NppNpoStatsBlockComponent_dl_9_button_3_Template","NppNpoStatsBlockComponent_dl_9_a_4_Template","NppNpoStatsBlockComponent_dl_9_yc_i18n_7_Template","NppNpoStatsBlockComponent_dl_9_yc_i18n_8_Template","givingPopover","NppNpoStatsBlockComponent_Template","NppNpoStatsBlockComponent_ng_template_1_Template","NppNpoStatsBlockComponent_dl_3_Template","NppNpoStatsBlockComponent_dl_4_Template","NppNpoStatsBlockComponent_dl_5_Template","NppNpoStatsBlockComponent_dl_6_Template","NppNpoStatsBlockComponent_dl_7_Template","NppNpoStatsBlockComponent_dl_8_Template","NppNpoStatsBlockComponent_dl_9_Template","item_r1","i18nTitleKey","titleTranslationContext","PaymentCardsComponent_ng_container_1_div_3_div_1_span_5_yc_i18n_1_Template","PaymentCardsComponent_ng_container_1_div_3_div_1_span_5_yc_i18n_2_Template","titleDate","i18nMessageKey","messageTranslationContext","message","PaymentCardsComponent_ng_container_1_div_3_div_1_span_9_yc_i18n_1_Template","PaymentCardsComponent_ng_container_1_div_3_div_1_span_9_yc_i18n_2_Template","i18nRefreshTextKey","refreshLinkText","PaymentCardsComponent_ng_container_1_div_3_div_1_div_12_Template_yc_button_onClick_1_listener","refreshAction","PaymentCardsComponent_ng_container_1_div_3_div_1_div_12_span_3_Template","PaymentCardsComponent_ng_container_1_div_3_div_1_span_5_Template","PaymentCardsComponent_ng_container_1_div_3_div_1_span_6_Template","PaymentCardsComponent_ng_container_1_div_3_div_1_dd_7_Template","PaymentCardsComponent_ng_container_1_div_3_div_1_span_9_Template","PaymentCardsComponent_ng_container_1_div_3_div_1_span_10_Template","PaymentCardsComponent_ng_container_1_div_3_div_1_div_12_Template","PaymentCardsComponent_ng_container_1_div_3_div_2_span_5_yc_i18n_1_Template","PaymentCardsComponent_ng_container_1_div_3_div_2_span_5_yc_i18n_2_Template","amount","amountType","i18nLinkTextKey","linkTranslationContext","linkText","PaymentCardsComponent_ng_container_1_div_3_div_2_span_12_yc_i18n_1_Template","PaymentCardsComponent_ng_container_1_div_3_div_2_span_12_yc_i18n_2_Template","i18nDownloadTextKey","downloadText","i18nDownloadSubTextKey","downloadSubText","PaymentCardsComponent_ng_container_1_div_3_div_2_div_16_div_5_span_2_Template","PaymentCardsComponent_ng_container_1_div_3_div_2_div_16_div_5_span_3_Template","PaymentCardsComponent_ng_container_1_div_3_div_2_div_16_Template_yc_button_onClick_1_listener","downloadAction","PaymentCardsComponent_ng_container_1_div_3_div_2_div_16_span_3_Template","PaymentCardsComponent_ng_container_1_div_3_div_2_div_16_span_4_Template","PaymentCardsComponent_ng_container_1_div_3_div_2_div_16_div_5_Template","PaymentCardsComponent_ng_container_1_div_3_div_2_span_5_Template","PaymentCardsComponent_ng_container_1_div_3_div_2_span_6_Template","PaymentCardsComponent_ng_container_1_div_3_div_2_dd_7_Template","PaymentCardsComponent_ng_container_1_div_3_div_2_div_9_Template","PaymentCardsComponent_ng_container_1_div_3_div_2_div_10_Template","PaymentCardsComponent_ng_container_1_div_3_div_2_Template_yc_button_onClick_11_listener","linkAction","PaymentCardsComponent_ng_container_1_div_3_div_2_span_12_Template","PaymentCardsComponent_ng_container_1_div_3_div_2_span_13_Template","PaymentCardsComponent_ng_container_1_div_3_div_2_div_16_Template","link","PaymentCardsComponent_ng_container_1_div_3_div_1_Template","PaymentCardsComponent_ng_container_1_div_3_div_2_Template","PaymentCardsComponent_ng_container_1_div_4_span_9_yc_i18n_1_Template","PaymentCardsComponent_ng_container_1_div_4_span_9_yc_i18n_2_Template","PaymentCardsComponent_ng_container_1_div_4_span_12_yc_i18n_1_Template","PaymentCardsComponent_ng_container_1_div_4_span_12_yc_i18n_2_Template","PaymentCardsComponent_ng_container_1_div_4_span_9_Template","PaymentCardsComponent_ng_container_1_div_4_span_10_Template","PaymentCardsComponent_ng_container_1_div_4_span_12_Template","PaymentCardsComponent_ng_container_1_div_4_span_13_Template","i18nFooterTextKey","footerText","PaymentCardsComponent_ng_container_1_div_5_span_1_span_1_Template","PaymentCardsComponent_ng_container_1_div_5_span_1_span_2_Template","PaymentCardsComponent_ng_container_1_div_5_a_2_span_1_Template","PaymentCardsComponent_ng_container_1_div_5_a_2_span_2_Template","footerLink","PaymentCardsComponent_ng_container_1_div_5_span_1_Template","PaymentCardsComponent_ng_container_1_div_5_a_2_Template","PaymentCardsComponent_ng_container_1_div_3_Template","PaymentCardsComponent_ng_container_1_div_4_Template","PaymentCardsComponent_ng_container_1_div_5_Template","ctx_r4","columnClass","items","zeroState","PaymentCardsComponent_Template","PaymentCardsComponent_ng_container_1_Template","changeDate","onPub78","pub78Designation","row_r6","onBMF","row_r7","foundationCode","row_r8","subsectionCode","row_r9","deductibilityCode","row_r10","irsRevocationDate","row_r11","eligibleForGivingReason","row_r12","sortName","RegistrationAuthorityAttrModalComponent_ng_container_0_Template_yc_modal_onCancel_1_listener","RegistrationAuthorityAttrModalComponent_ng_container_0_ng_container_4_Template","RegistrationAuthorityAttrModalComponent_ng_container_0_ng_container_5_Template","RegistrationAuthorityAttrModalComponent_ng_container_0_ng_container_6_Template","RegistrationAuthorityAttrModalComponent_ng_container_0_ng_container_7_Template","RegistrationAuthorityAttrModalComponent_ng_container_0_ng_container_8_Template","RegistrationAuthorityAttrModalComponent_ng_container_0_ng_container_9_Template","RegistrationAuthorityAttrModalComponent_ng_container_0_ng_container_10_Template","RegistrationAuthorityAttrModalComponent_ng_container_0_ng_container_11_Template","RegistrationAuthorityAttrModalComponent_ng_container_0_ng_container_12_Template","RegistrationAuthorityAttrModalComponent_ng_container_0_ng_container_13_Template","modalSubheader","tableDataFactory","setTableDataFactory","createSimple","_ref","getIrsAttribution","_x","apply","arguments","RegistrationAuthorityAttrModalComponent_Template","RegistrationAuthorityAttrModalComponent_ng_container_0_Template","ReleaseNotesComponent_ng_container_0_Template_yc_modal_onCancel_1_listener","ReleaseNotesComponent_ng_container_0_Template_yc_modal_onTertiaryClick_1_listener","navigateToReleaseNotes","ReleaseNotesComponent_ng_container_0_Template_yc_button_onClick_21_listener","downloadRelease","releaseNotes","releaseDate","completed","release","releaseNoteUrl","afterModalInit","ReleaseNotesComponent_Template","ReleaseNotesComponent_ng_container_0_Template","listType","status","statusOn","matchMethod","revocationListId","revocationListRegistrationId","revocationListName","revocationListAddress","RevocationDetailsByStateModalComponent_ng_container_0_Template_yc_modal_onCancel_1_listener","RevocationDetailsByStateModalComponent_ng_container_0_ng_container_4_Template","RevocationDetailsByStateModalComponent_ng_container_0_ng_container_5_Template","RevocationDetailsByStateModalComponent_ng_container_0_ng_container_6_Template","RevocationDetailsByStateModalComponent_ng_container_0_ng_container_7_Template","RevocationDetailsByStateModalComponent_ng_container_0_ng_container_8_Template","RevocationDetailsByStateModalComponent_ng_container_0_ng_container_9_Template","RevocationDetailsByStateModalComponent_ng_container_0_ng_container_10_Template","RevocationDetailsByStateModalComponent_ng_container_0_ng_container_11_Template","nonprofitGuid","getRevocationDetails","recordCount","RevocationDetailsByStateModalComponent_Template","RevocationDetailsByStateModalComponent_ng_container_0_Template","ClassificationService","EinService","findKey","addressObj","SearchNpoAutocompleteComponent_ng_container_3_small_13_Template","getIcon","fb","einService","classificationService","placeholder","maxResults","onOrgSelect","counter","classificationsMap","formGroup","iconURL","formatEin","addRequiredAsterisk","SearchNpoAutocompleteComponent_Template","SearchNpoAutocompleteComponent_Template_yc_typeahead_onChange_1_listener","SearchNpoAutocompleteComponent_ng_container_3_Template","SearchNpoMergeComponent_ng_container_3_small_13_Template","SearchNpoMergeComponent_Template","SearchNpoMergeComponent_Template_yc_typeahead_onChange_1_listener","SearchNpoMergeComponent_ng_container_3_Template","CachedAttr","CACHE_TYPES","changeType","showChaptersText","showChaptersForm","showChapterNpos","_changeMade","ShowChapterNonprofitsComponent_Template","ShowChapterNonprofitsComponent_Template_yc_checkbox_onChange_1_listener","LOCALSTORAGE","showInactiveForm","showInactiveNpos","ShowInactiveNonprofitsComponent_Template","ShowInactiveNonprofitsComponent_Template_yc_checkbox_onChange_1_listener","CheckFeeDetailsModalComponent","transaction","fees","totalFees","coveredAmount","currency","TransactionFeesComponent_div_2_Template_a_click_1_listener","openFeeModal","TransactionFeesComponent_div_3_Template_a_click_1_listener","company","transactionFeeDetails","companyName","disbursementFees","disbursementCurrencyCode","TransactionFeesComponent_Template","TransactionFeesComponent_span_1_Template","TransactionFeesComponent_div_2_Template","TransactionFeesComponent_div_3_Template","fullyCovered","UnAuthWrapperComponent_Template","ɵɵelementContainer","VettingApplicationStepperComponent_accordion_group_2_ng_container_6_Template","isOpen","index_r2","isDisabled","step_r1","disabled","first_r3","last_r4","openStepOnInit","component","steps","currentStep","stepperIsDisabled","currentStepChanged","allPreviousStepsValid","canProceed","VettingApplicationStepperComponent_Template","VettingApplicationStepperComponent_accordion_group_2_Template","TemplateRef","ViewContainerRef","templateRef","viewRef","roleService","hasNpoRole","ycIfNonprofitRole","createEmbeddedView","hasSystemRole","ycIfSystemRole","ycUnlessNonprofitRole","ycUnlessSystemRole","NonprofitAdminService","TermsOfServiceService","termsOfServiceService","nonprofitAdminService","canActivate","activatedRouteSnapshot","queryParams","isBbid","alreadyLoggedInWithBbid","passed","loginWithBbid","fetchUserClaims","getUserTermsOfServiceModal","confirmNpoAdmin","PersonaService","personaService","canActivateChild","isInternalUser","Promise","resolve","getUnansweredPersonaQuestionsForUserModalForSigningIn","of","catchError","mergeMap","take","ReleaseNotesService","releaseNotesService","getCurrentReleaseAcknowledgement","releaseNotesDeps","releaseRequiresAcknowledgement","releaseIdNumber","parseInt","releaseId","setReleaseAcknowledged","modal","createModal","content","hide","error","checkForActiveNonprofit","nextRoute","getDefaultRoute","LoginError","ResetPasswordCase","BlackbaudSsoError","ChangeTrackingEntityType","ChangeTrackingEntityTypeId","ChangeTrackingType","ChangeTrackingTypeId","ChangeTrackingChangeByRole","ChangeTrackingChangedBySystemName","NEW_CLAIM","TEMP_REG_AUTHORITIES","NonprofitAdminRequestDisplayModel","NonprofitAdminRequestDetailModel","default","ClaimStateDataWithAssets","regAuthTypeUS","fiscal","parentOrg","myOrg","contact","workEmail","phone","website","tempRegAuthorities","showNoAdminForm","currentRoleError","adminForm","pending","isDraft","FiscalType","RegAuthorityTypeForUS","REG_AUTH_TYPE_MAP_BY_ID","ClaimStatePathId","DISABLED_STATES","ADMIN_EDIT_CLAIM","VIEW_MY_CLAIM","ADMIN_VIEW_CLAIM","UnsubscribeEmailClassIds","UserCommunicationPreference","YcProcessingPartnerName","DisbursementInfoOverrideFields","CustomCountryFieldRegex","BaseAPIModel","DonationModel","changedBy","verifiedByUser","TransactionStatus","DonationVerificationStatus","EXTERNAL_SYSTEMS","EXTERNAL_SYSTEM_MAP_BY_ID","PAYMENT_TYPES_MAP","Check","Wire","ACH","Other","PaymentTypes","DonationType","NonprofitAsset","assetTypes","uploader","uploadedBy","assetTypeName","assetTypeId","MyNonprofitRow","nonprofitIconImage","createDate","claimRequest","chaptersInvisible","chapters","parentRegistrationId","isParent","deactivationReasonId","chapterCount","chapterRequestCount","adminsCount","ExternalSystemTypeName","PaymentStatus","PaymentSubStatus","Payment","paymentAttrs","payment","assign","ReasonType","ReasonOther","ReleaseNotesModalScenario","ComplianceReportTypeStatus","EmailLogSearchType","FailedPaymentSearchType","REPORT_TYPE_MAP","Communication","Compliance","Finance","Vetting","ActiveNpoByEFGTotalType","ActiveNpoByEFGDownloadTab","VR_REPORT_STATUS_OPTION","AdditionalInfoModalType","STATUS_MAP","Verified","Rejected","Expired","DONATION_STATUS_REASON_MAP","VOLUNTEER_STATUS_REASON_MAP","ADDRESS_REQUEST_STATUS_REASON_MAP","BANK_INFO_STATUS_MAP","StatusType","StatusSelectExclusionList","VettingRequestStatusId","VettingApplicationStatus","ActiveApplicationStatusSelectExclusionList","CompletedApplicationStatusSelectExclusionList","OldActiveVettingStatusSelectExclusionList","InactiveVettingStatusSelectExclusionList","OldInactiveVettingRequestStatusSelectExclusionList","PartnerVettingStatuses","AddressChangeRequestStatus","CheckReissueStatus","AdminRequestStatusId","EligibilityStatus","EFG_Status_Map_By_Id","NewChapterRequestStatusId","NpoStoryStatus","FlaggedNPOStatus","FlaggedNPOStatusText","ADMIN_STATUS_MAP_BY_ID","ProspectiveAdminStatusId","ApproveRejectModalStatus","GenericizeStatusSpecialCase","ManageEventSteps","VolunteerEventStatus","CsrApprovalStatus","EventActionScenario","EventWrapperScenario","VolunteerType","EventSaveScenario","YcUserRoles","YOURCAUSE_USER_ROLE_MAP","Engineering","YOURCAUSE_USER_ROLE_MAP_BY_ID","DateService","dateService","activeVettingTypes","transform","vettingName","expDate","expireText","formatDate","pure","BannerInformationAPI","displayPageId","BannerDisplayPages","HELP_SUPPORT","MY_WORKSPACE","NPO_ADMINISTRATION","DISBURSEMENT_INFO","PAYMENTS_PAGE","ClaimService","claimService","claimsAssetTypes","found","differenceInDays","differenceInMonths","startOfDay","returnVal","beginningOfOriginalDate","Date","beginningOfToday","daysDiff","monthsDiff","number","input","ycUserString","systemString","nonprofitUserString","changedByRole","YCUser","NPPAutomation","SiteAdmin","NPOUser","System","entityPropertyDesc","desc","DisbursementSuspended","StatusService","statusService","eligibilityStatuses","eligibleForGivingStatusDisplay","textNotSet","noneText","categoryText","groupText","nteeText","EligibleForGiving","getEligibleForGivingChange","getDisbursementSuspendedChange","BankInfo","getBankInfoChange","ParentChildRel","substring","Classification","getClassificationChange","EmailCommunicationPreferences","getCommPreferencesChange","toUpperCase","s","list","JSON","parse","entries","fieldName","commPrefValue","allComms","parsedChange","valueArray","unsubscribedComms","split","comm","values","categoryVal","CATEGORY","groupVal","GROUP","nteeVal","NTEE","categoryTranslated","groupTranslated","nteeTranslated","statusId","endOfDay","currentDate","eodDate","YesEligible","MaybeEligible","iconType","internalRequestText","specialCase","genericStatus","VERIFIED_DONATION","VERIFIED_HOURS","ALL_TRANSACTIONS","CHARITY_COMPARE","ACCOUNT_RESPONSE_CODE_MAP","CUSTOMER_RESPONSE_CODE_MAP","GIACT_CODE_TYPE","VERIFICATION_RESPONSE_MAP","verificationCodes","accountCodes","customerCodes","verificationCodeText","accountCodeText","customerCodeText","codeVal","codeDescription","codeLabel","codeValTrans","codeDescTrans","VERIFICATION","ACCOUNT","CUSTOMER","field","setMaxLength","everyText","interval","frequency","bankField","localizedBankField","localizedHelpText","textForTranslation","namespace","primaryIsEmpty","primaryAddress","every","secondaryIsEmpty","secondaryAddress","nonNestedIsEmpty","value1","value2","NotesAPI","GENERAL","OUTREACH_EMAIL","VETTING","Communications","nonEditableStatuses","CommunicationStatuses","SENT","sendableStatuses","READY_TO_BE_SENT","nonDeletableStatuses","COMPLETED","nonStageableStatuses","ReasonService","reasonService","inactiveReasons","allReasonsForNpoDisplay","otherText","inactiveAlertMessage","inactiveWithChaptersAlertMessage","hasChapters","inactiveReason","reason","reasonDisplayText","inactiveAlertReasonText","deactivationReason","naText","defaultValue","isBool","isDesc","translateLabel","unlimitedText","shift","capacity","numberOfParticipants","stringWithSpaces","user","roleArray","html","roleIds","roles","roleId","roleMapId","roleString","sortedRoles","OrganizationTypeForVetting","typeId","typeDescription","STANDARD","EXEMPT","SUPPORTING","UNKNOWN","STAND_ALONE_CHURCH","GOVERNMENT_ENTITY","externalSystemTypeId","vettingStatus","returnStatus","REQUEST_SUBMITTED","CSRConnect","GrantsConnect","VettingRequestAPI","row","requestedBy","affiliateEmployeeFirstName","affiliateEmployeeLastName","createdByGcUser","VolunteerEventService","volunteerEventService","communityPartners","allCommunitiesLocalized","partnerId","partner","affiliateId","npoIsActive","scenario","SHOW_MENU","validateOneScenario","canManage","canCopyOrRemove","canPublish","canView","canSubmit","MANAGE","PUBLISH","VIEW","SUBMIT","COPY_REMOVE","approvalStatus","RequestChange","requiresApproval","customQuestionUrl","customQuestionSetResponseId","DATE_TIME_FORMAT","returnDate","startDate","originalStartDate","hours","startHours","minutes","startMinutes","endDate","originalEndDate","endHours","endMinutes","eventStatus","undefined","obj","totalHours","reduce","acc","totalParticipants","addDays","startDay","numberOfDays","inject","accountDetailsResolver","fetchMyAccountDetails","activeNpoResolver","loggedIn","jwt","selectedNpo","setActiveNpoId","localeResolver","FinanceService","matchRequestResolver","setMatchRequests","pendingDisbursementsResolver","setPendingDisbursements","SubmittedSupportRequestsService","SupportRequestStatusesResolver","getSupportRequestStatuses","termsOfServiceLinksResolver","setTermsOfServiceLinks","TourStorageService","lastValueFrom","tourResolver","tourStorageService","getCompletedTours","unsetActiveNpoResolver","HttpClient","AccountResources","http","endpoint","claimANonprofit","updateMyAccountDetails","deactivateAccount","currentPassword","clearPersonalData","getUsersDeactivationFlags","userId","removeUserRoles","getAssociatedNonprofitsForUser","getUserClaims","AuthResources","acknowledgeTermsOfService","termsOfServiceId","getBlackbaudLoginRoute","getLatestEffectiveTermsOfService","getUserTermsOfService","getDetermineSignInFlow","encodedEmail","encodeURIComponent","verifyBbidLink","trackBbidLogin","linkToBbidAccount","syncInfoFromBBID","put","createNPOAccountForBbid","languageCulture","ClassificationResources","getClassifications","setClassification","getSubsections","FinanceResources","transactionsDownloadEndpoint","paymentsDownloadEndpoint","paymentTransactionsDownloadEndpoint","getPendingDisbursements","getMatchRequests","columnName","sortAscending","getPaginatedTransactions","nonprofitPaymentId","getAllTransactions","isPending","getPayments","getPaymentDetailForTransactions","paymentId","getReissueIneligibleReasons","PersonaTypings","throwError","PersonaResources","notifierService","getPersonaQuestionsAndAnswers","Get","handleError","getPersonaUserAnswers","getPersonaUserNonprofitAnswers","getPersonaUserStagedNonprofitAnswers","stagedNonprofitId","getPersonaUserNonprofitAnswersForReview","nonprofitAdminRequestId","getPersonaUserStagedNonprofitAnswersForReview","putPersonaUserAnswer","userSystemAnswerId","systemAnswerId","personaQuestionAndAnswerTypeWithDetails","customResponse","personaQuestionAndAnswerType","beingReviewed","request","personaUserAnswerId","personaUserNonprofitAnswerId","personaUserStagedNonprofitAnswerId","PersonaQuestionAndAnswerTypes","User","Nonprofit","StagedNonprofit","Put","postPersonaUserAnswer","Post","deletePersonaUserAnswer","Delete","detail","AccountState","accountResources","accessRemovedModalClosed","setAccountDetails","closed","goToMyAccount","resetAccountState","force","console","getUserDeactivationFlags","_this7","AppShellState","myNonprofitsLink","programFeatureFlag","programsFlagValue","sidebarClosed","sidebarLinks","getSidebarLinks","isYcNonprofitManager","hasActiveNonprofit","isImplementationManager","isComplianceAdmin","isYCReporting","isEngineering","setShowHeaderButtons","show","FileService","AssetResources","fileService","uploadYcFile","file","bucketId","comments","formData","FormData","append","toString","fileName","getAssetById","assetId","downloadAsset","asset","download","downloadUrlAs","BbidFailedReason","BbidLinkingResult","LoginScenario","LogService","ConfirmAndTakeActionService","AuthState","BBIDService","DeepLinkingService","authResources","deepLinkingService","confirmAndTakeActionService","bbidService","logger","currentTokenValid","hasCurrentValidToken","futureTokenValid","hasFutureValidToken","doRefresh","location","pathname","startsWith","setAttemptedRoute","loginScenario","signInFlow","setLoginScenario","setSignInFlow","flow","doInitialLogin","NEW_BBID_USER","hasExistingBlackbaudIdAccount","isBlackbaudIdLinked","existing","requireSso","EXISTING_BBID_USER","handleLinkingBbidAccount","inSystem","needToLink","loginAfterLinking","adminInviteEmail","blackbaudIdToken","getToken","parsedBlackbaudIdToken","parseJwt","proceed","given_name","family_name","language","linkFailReason","linked","failReason","linkingResult","LINKED","FAILED","BBID_LOGIN_FAILED","LINK_FAILED_UNKNOWN","ACCOUNT_CREATE_FAILED","handleNewUserSlatedForBbid","handleBbidForNewUserNotInSystem","npocEmail","inviteEmail","BBID_LINKED_TO_ANOTHER_ACCOUNT","handleInitialLogin","genericTakeAction","endpointResponse","vettingDocumentationGuidelinesLink","termsOfService","_this8","termsOfServiceResponse","setEmail","_this9","nonprofitCount","nonprofitRoleMap","NonprofitAdmin","nonprofitManager","defaultRoute","getNpoRole","roleName","getSystemRole","isYcAdmin","isYcSupport","isSiteAdmin","isCheckReissue","isYCNonprofitACHManager","isAdminOfNonprofit","nonprofitIdAttr","err","allErrorCodes","errorCode","unknownErrorText","Email_Not_Confirmed","Token_Is_Not_Valid","Account_Not_Valid","Account_Requires_SSO","Password_Expired","EXPIRED","Security_Code_Required","Unknown","handleResetPasswordError","REQUEST_RESET","_this10","_this11","_this12","attemptDeepLink","logoutOnFail","npoUserFirstSignIn","claimedNonprofitId","claimedNonprofitName","_this13","setBbidJwt","token","isValidBbid","loadOmnibar","log","_this14","doRedirect","handleBlackbaudSsoRedirect","_this15","locationBase","potentialRedirect","platformHostRename","sessionStorage","setItem","signInUrl","BannerState","showInactiveNpoBanner","banners","defaultBanners","buttonText","onButtonClick","setBanners","clearBanner","getCurrentNonprofitIsNotActiveBanner","nonprofitIsNotActiveBanner","BBAuth","BBOmnibar","BbidProfileUrl","serviceName","load","redirectToBbid","npoAccountToCreateIsAdmin","returnLoginUrl","getReturnLoginUrl","redirectRoute","getRedirectRoute","hasExistingBbidAccount","encodedReturnUrl","encodedEmailQueryParam","isBbidLinked","npoAccountNotCreatedYet","currentRoute","baseParams","getRelativeUrlForReturnLogin","logoutOfBbid","openBbidProfile","path","search","hash","port","searchString","hashString","protocol","hostname","HttpHandler","HttpRequest","intercept","next","method","urlWithParams","now","clone","handle","ClassificationState","classificationResources","subsections","adapted","buildHierarchy","isRoot","getOrgClassification","org","valToCompare","levelOne","levelTwo","levelThree","classificationOneId","classificationTwoId","classificationThreeId","calculatePathname","attemptedRoute","_attemptedRoute","attemptDeepLinking","clearAttemptedRoute","getExtraRouteParams","existingRoute","_route","queryString","extras","param","ExtractFilterColumnsService","paramsMap","extractFilterColumnsFromPaginationOptions","columnNames","buildArrayOfValues","column","params","adaptPaginationOptions","filterType","adaptPaginationOptionsWithYcCharityId","charityIdColumnName","searchTypeColumnName","charityId","filteredPaginationOptions","adaptedParams","FeatureFlagResources","getFeatureFlags","updateFeatureFlagStatus","FeatureFlagState","featureFlagResources","featureFlags","blackbaudIdFlagValue","liveChatFlagValue","populationServedFlagValue","systemQuestionsFlagValue","featureFlagType","flag","enabled","setProgramsFlagValue","setBlackbaudIdFlagValue","setLiveChatFlagValue","setPopulationServedFlagValue","setSystemQuestionsFlagValue","setAllFlags","flags","programFlag","bbidFlag","BlackbaudId","liveChatFlag","LiveChat","populationServedFlag","PopulationServed","systemQuestionsFlag","SystemQuestions","all","getAllFeatureFlagsLookup","BaseYcState","TIMESTAMP_FORMAT","TableDataDownloadFormat","getYear","subYears","AssetManagementService","FinanceState","financeResources","assetManagementService","disbursementStatusColumn","paymentNumberColumn","dateCreatedColumn","PaymentTypesMap","CHECK","WIRE","OTHER","errorRetrievingDataText","pendingDisbursements","matchRequests","transactionsStatus","paymentDetailsForTransactions","defaultDateRange","diff","errorState","transactionsPending","amountPending","setPaymentIdForTransactions","setTransactionsStatus","setPaymentDetailsForTransactions","setErrorState","record","paymentTypeId","paymentType","getPaymentsDownload","extension","XLSX","downloadCsvOrExcel","pendingStatus","Pending","some","c","getAllTransactionsDownload","exportReportType","downloadTransactionsForMultiplePayments","downloadTransactions","options","HttpHeaders","HttpResponse","headers","makeRequest","postFile","paramName","File","Blob","postFormData","reportProgress","responseType","delete","putS3PublicRead","contentType","putS3","putS3NoRead","inputHeaders","observable","isPublicRead","reject","xhr","XMLHttpRequest","setRequestHeader","onreadystatechange","readyState","send","acceptedFileTypesLink","getAcceptedFileTypesLink","privacyPolicyUrl","sendNonprofitAdminInvite","modalDeps","deactivationWfFlagDates","flaggedForDeactivationOn","deactivatedViaWorkflowOn","getStrictNonprofitsForAdmin","PersonaState","concatMap","forkJoin","personaResources","PersonaQAsUser","PersonaQAsNonprofit","PersonaQAsStagedNonprofit","personaQuestionsAndAnswersData","setPersonaAnswers","personaServiceDetails","setPersonaQuestionAndAnswerType","specificPersonaUserAnswers","getSpecificPersonaUserAnswers","personaQuestionsAndAnswers","handlePersonaQuestionAndAnswersData","personaUserAnswersOne","personaUserAnswersTwo","setPersonaQuestionsAndAnswers_FetchMultipleResponses","setPersonaQuestionsAndAnswers_FetchSingeResponse","personaUserAnswers","personaUserNonprofitAnswers","personaUserStagedNonprofitAnswers","personaUserNonprofitAnswersForReview","personaUserStagedNonprofitAnswersForReview","unansweredQuestionsOnly","nonprofitStagedNonprofitAnswers","questionsAndAnswers","personaNonprofitStagedNonprofitAnswers","usersAnswers","setUserPersonaAnswers","usersNonprofitStagedNonprofitPersonaAnswers","personaAnswers","usersPersonaAnswers","personaUsersAnswers","personaUsersNonprofitBasedAnswers","setPersonaQuestionsAndAnswersData","editCustomResponsePersonaUserAnswer","questionAndAnswerThatAllowsCustomResponse","x","systemAnswers","customResponseForQuestion","systemQuestion","translationText","systemAnswer","onAnswerUpdate_PUT","editCustomResponsePersonaUserAnswer_OnAnswerUpdate_POST","systemQuestionId","onPersonaAnswerUpdate","allowEmptySelection","allowsMultipleResponses","onAnswerUpdate_SingleResponseQuestion","Array","isArray","onAnswerUpdate_MultiResponseQuestion","newUser","answeredAllQuestions","unansweredPersonaQuestions","getUnansweredPersonaQuestionsModal","answered","keyboard","updatedTokenInfo","setTokenInfo","haveMultiResponseQuestionAnswersChanged","incomingAnswerIds","existingAnswerIds","sortedArr1","a","b","sortedArr2","addUserSystemAnswersForNonprofitAdminRequest","answersToAdd","newAnswers","addAnswer","userSystemAnswerCustomResponse","processAnswers","answers","answer","observablesWithKeys","observables","Number","updatePersonaQuestionsAndAnswersData","updates","systemAnswerInfos","defaultIfNoAnswer","userSystemAnswerIdForCustomResponse","systemAnswerIdForCustomResponse","questionAndAnswersData","userSystemAnswerIds","updatedSystemAnswersForComponent","componentData","questionAndAnswers","questionId","usersAnswersToTheQuestion","usersAnswersForUserNonprofitAnswers","usersAnswersForUserStagedNonprofitAnswers","buildPersonaQuestionAndAnswers_AnswerDetails","formFieldName","formFieldSelectOptions","userAnswersToQuestion","userSystemAnswerIdsForQuestion","userSystemAnswerIdForCustomResponseAnswer","systemAnswerIdForCustomResponseAnswer","userSystemAnswerCustomResponseForCustomResponseAnswer","customResponseSystemAnswerId","isCustomResponse","clearComponentData","addCustomResponsePersonaUserAnswer_ForMultiResponse","personaUserAnswerUpdates","newUserSystemAnswerId","updatePersonaQuestionsAndAnswersDataInfo","personaUserAnswerUpdate","onAnswerUpdate_POST_SingleResponseQuestion","newPersonaUserAnswerId","handleCustomResponsePersonaUserAnswer_ForSingleResponse","existingSystemAnswerId","handlePersonaUserAnswer_ForSingleResponse","existingAnswer","answerId","newAnswer","handleRemovePersonaUserAnswer_ForMultiResponse_AnswersRemain","removePersonaUserAnswerForMultiResponseQuestion","existingAnswers","answerToRemove","indexOfCustomResponseAnswer","findIndex","customResponseAnswerInfo","handleRemovePersonaUserAnswer_ForMultiResponse_NoAnswersRemain","handleRemovePersonaUserAnswer_ForMultiResponse","handleAddPersonaUserAnswer_ForMultiResponse_CustomResponseAnswer","answerToAdd","responseProvided","handleAddPersonaUserAnswer_ForMultiResponse_NotCustomResponseAnswer","handleAddPersonaUserAnswer_ForMultiResponse","handleInitialPersonaUserAnswers_ForMultiResponse","personaUserAnswersToAdd","customResponseToQuestion","customResponseQuestionInfo","incomingAnswerId","listener","refreshing","addEventListener","removeEventListener","SpinnerState","setLoadingMessage","acknowledgedTermsOfService","accepted","TokenAdapterService","isLocalhost","offsetTime","expirationDate","ensureDiffIsSet","getTime","toISOString","serverTimeRaw","getServerTime","browserDate","apiDate","xmlHttp","getXHR","res","rej","getResponseHeader","handleTokenRequest","expiration","refreshExpiration","refreshTokenExpiration","HttpErrorResponse","HttpEvent","r","checkShouldProcessRequest","buildUpFullAPIURL","appendToken","req","checkShouldAppendToken","latestToken","activeNpoId","apiBase","TokenRefreshResources","adapter","refreshToken","clientIdentifier","TokenRetrievalResources","getPlatformAdminToken","Behaviors","GuidService","TokenStorageService","guidService","localStorage","userTokenKey","stringify","getItem","subMessage","revoke","removeItem","overrideClientIdentifier","clientIdentifierKey","identifier","nonce","differenceInSeconds","BehaviorSubject","tokenStorage","loopDuration","_timeRemaining$","Infinity","timeoutStart","calculateTimeRemaining","setInterval","clearInterval","timeRemaining","TokenState","AppInsightsService","refresh","retrieval","storage","timeout","appInsights","notificationService","this","permittedPlatformTransferRedirects","logoutTriggered","refreshOffset","dismissAllOpen","clearAuthenticatedUserContext","ssoToken","bbidToken","userEmail","getFirstRoleFromNonprofitId","adaptedUserClaimsInfo","adaptUserClaimsInfo","arr","str","setSsoToken","currentToken","returnFullToken","latestProm","_ref2","catch","handleExpiredSession","getIdentifier","extractTokenFromLocationAttribute","tokenSignin","setAuthenticatedUserContext","UserId","handlePlatformDomainTransfer","newHost","decodeURIComponent","base64Url","base64","jsonPayload","atob","charCodeAt","join","tokenContent","warn","parsedToken","trackEvent","platformAdminSsoExchange","NoPlatformAccount","revokeIfFailed","TourService","tourService","masterTourList","tourName","toursCompleted$","completedTour","completedTours","initCompletedTours","cb","setTourAsIncomplete","resetTour","tour","toursCompleted","initTour","showHeaderButtons","FooterStates","setActionLabel","setCancelLabel","setSecondaryLabel","setTertiaryLabel","setFooterInfoText","text","setFooterInfoIcon","setFooterInfoTooltip","tooltip","setPrimaryAction","setCancelAction","setSecondaryAction","setTertiaryAction","setPrimaryDisabled","setSecondaryDisabled","setFooterInfo","infoText","infoIcon","infoTooltip","clearAll","VettingRequestStatusName","VettingTypeId","VettingTypeName","userKey","ACCEPT_REENTER_CODE","OrganizationTypeForVettingText","OrganizationTypeMap","VettingOptInOutModalScenario","ChangeDetectorRef","AppComponent","cdr","blocking$","loadingMessage$","langsResolved","markForCheck","AppComponent_Template","AppComponent_router_outlet_4_Template","customAlertsResolver","featuredPartnerCollateralResolver","myNonprofitsResolver","featureFlagResolver","allReasonsResolver","allStatusesResolver","SystemHealthDashboardPageComponent","programTypesResolver","prospectiveAdminOutreachReasonsResolver","countriesResolver","notificationsResolver","myWorkspaceFinanceResolver","communicationPreferencesResolver","registrationAuthoritiesForNonprofitAddResolver","routes","loadChildren","m","LoginModule","locale","GrantTermsModule","NonprofitInviteModule","SupportRequestModule","NonprofitsResearchModule","AdminOutreachOptoutPageModule","outreachReasons","ContactOutreachOptoutPageModule","BlackbaudSsoModule","tours","HomeModule","GiveModule","breadcrumbLabel","customAlerts","VolunteerModule","NonprofitProfileModule","ProgramsModule","programTypes","allStatusesLookup","NonprofitStoriesModule","ChaptersModule","financeStats","nonprofitNotifications","featuredPartnerCollateral","ImplementationModule","NonprofitAccountSetupModule","MyNonprofitsModule","myNonprofits","allReasonsLookup","UserManagementModule","MyAccountModule","unsubscribeEmailClassIds","NotesModule","AddressRequestsModule","SupportModule","SearchModule","DashboardModule","YourcauseAdminModule","unsetActiveNpo","HelpSupportModule","PlatformAdminModule","NonprofitManagementModule","registrationAuthoritiesForNonprofitAdd","ReportingModule","ComplianceAdminModule","SystemHealthDashboardModule","SubmittedSupportRequestsModule","SupportRequestStatuses","ApplicationRef","Injector","BrowserModule","BrowserAnimationsModule","LoggingModule","NotifierModule","HeapModule","AppSharedModule","appRef","injector","appInsightsService","config","instrumentationKey","insightsKey","init","bootstrap","forRoot","AssetManagementResources","fetchAssetTypesByRegAuthId","fetchAssetTypesWorkflow","fetchDefaultAssetType","getNonprofitAssets","removeNonprofitAsset","uploadAssetToUrl","AssetType","AssetTypes","AssetManagementState","FileTypeService","YcFile","assetManagementResources","assetResources","fileTypeService","uploadVirusFoundError","uploadVirusFoundErrorCode","uploadVirusScanIncompleteError","uploadVirusScanIncompleteErrorCode","uploadInvalidType","uploadInvalidSize","uploadRequestBodyTooLarge","uploadGenericError","defaultAssetWorkflow","assets","assetTypesWithWorkflow","setAssetTypes","types","setassetTypesWithWorkflow","adaptAssetTypes","adaptedTypes","otherIndex","customOptions","downloadPostUrlAs","convertToTableAssets","claimId","convertedAssets","fileId","optional","fileUrl","uploadDate","constructAssetTypeObj","ent","determineAssetTypesOrDefault","assetTypesFromAPI","defaultType","constructed","workflowId","fetchNonprofitAssets","setDefaultAssetWorkflow","uploadNonprofitAsset","handleUploadAssetErrorCodes","uploadRemittanceRequestAsset","nonprofitAddressRequestId","uploadNoteAsset","NONPROFIT_NOTE","uploadClaimAsset","assetToAdd","isNpoUser","activeExistingClaimId","uploadCharityCompareBatch","batchPayload","sourceFile","clientId","excludeRegAuthId","uploadStoryAsset","uploadProgramAsset","uploadVettingApplicationAsset","nonprofitVettingApplicationId","uploadVolunteerEventFile","updateNpoImage","_this16","image","uploadParentChildAsset","childNonProfitId","_this17","_this18","_this19","exception","messageOverride","usingFileTypeService","notifierMessage","displayInvalidFileUploadErrorMessage","ClaimResources","fetchRegistrationAuthNamesForSearch","organizationType","cancelAdminRequest","getRequestDetail","getRequestDetailForReview","removeAsset","isUserApplying","updateAdminRequest","createAdminRequest","getNonprofitAdmins","getClaimChapters","parentNonprofitId","AssetWorkflowType","MyNonprofitsService","RegistrationAuthoritiesService","ClaimState","claimResources","registrationAuthoritiesService","myNonprofitsService","claimDataWithAssets","storedClaimData","existingDraftClaims","claimIdForReview","claimDetailsForReview","activeExistingStatusId","nonprofitIdForChapters","chapterRegionId","stepperState","NEW_ADMIN_CLAIM","PENDING","formDisabled","assetsDisabled","defaultRegAuthForAssets","existingContactInfo","setCurrentStep","step","setClaimDataWithAssets","claim","setDefaultClaimData","setStoredClaimData","claimData","setExistingDraftClaims","requests","draftRequests","adminStatusId","DRAFT","draftClaimsFromRequests","adaptRequestDataToClaimData","setActiveExistingClaimId","isNaN","setAllCurrentClaimDataAndExistingFiles","setFormsDisabled","setAssetsDisabled","setClaimsAssetTypes","setClaimIdForReview","setClaimDetailsForReview","setActiveExistingStatusId","setIsNpoUser","setPathForStepperState","setNonprofitIdForChapters","setChapterRegionId","setExistingContactInfo","tableAsset","isSubmission","adaptedPayload","adaptPayloadForCreateOrUpdate","updatePayload","setAllDataForMyNonprofitRows","resetClaimData","createClaim","createPayload","claimChapter","Chapter","Standalone","dataStagedNonprofit","stagedNonprofit","existingAssets","constructSearchResult","stagedNonprofitRegistrationAuthorityId","authority","getAuthorityById","getOrgType","positionTitle","workPhone","nonprofitAdmins","claimedOrgIsChapter","claimedOrgIsExisiting","parentAdminFirstName","parentAdminLastName","parentAdminEmailAddress","parentAdminPhoneNumber","contactFirstName","contactLastName","contactPhoneNumber","contactEmail","authorityId","NonprofitPrivateOrReligious","PublicSchoolOrDistrict","NativeAmericanTribe","updateClaimDataWithAssets","attrs","defaultRegAuth","getClaimsAssetTypes","sorted","sortAssets","sortedAssets","indexOfOther","assetsEnabled","setAllExistingClaimsDataFromRequests","allAdminRequests","requestsForUser","ADMIN_REG","adaptedResponse","existingCompletedClaims","SESSION","CustomAlertsService","customAlertService","getAllCustomBanners","CustomAlertsResources","addBanner","updateBanner","fetchPaginatedBannerRecords","fetchAllBannerRecords","isAfter","isBefore","isSameDay","CustomAlertsState","customAlertsResources","customBannersTable","editBanner","reset","getAllBanners","getAlertsForPage","alert","getCurrentAlertForPage","banner","isBetween","displayStartDate","displayEndDate","isInvalidDate","startDateControlName","endDateControlName","formControl","formValue","displayPage","getFormattedDate","hasConflict","alertStart","alertEnd","alertStartAfterStartDate","alertStartIsBeforeEndDate","exstingAlertStartsAfter","alertEndIsBeforeEndDate","alertEndIsAfterStartDate","exstingAlertEndsBefore","dateIsAfterAlertStart","dateIsBeforeAlertEnd","sibling","needToValidateSibling","errors","dateConflict","needToInvalidateSibling","updateValueAndValidity","handleSubmission","submission","tempEl","createElement","innerHTML","bannerText","parsedBody","bannerComment","DashboardResources","getDonationsByCompany","getDonationsByFundingSource","subDays","DashboardState","DashboardService","dashboardResources","donationsByCompany","donationsByFundingSource","donationsByFundingSourceDates","chartStartDate","chartEndDate","defaultDonationsBySourcePayload","dashboardDateRange","setDefaultDonationsBySourcePayload","defaultPayload","chapterTransactionsOnly","parentTransactionsOnly","setAllDonationsData","vals","allTime","setDonationsByCompany","setDonationsByFundingSource","adaptDonationsTopTen","adaptDonationsBySource","dates","setSelectedDates","dateRange","originalResponse","dataArray","datesArray","labelArray","existense","validRecords","chartDetail","total","year","month","newDate","y","newObj","formattedDataArray","topTenDetail","numberOfDonations","count","donationTotal","allDetail","allCompaniesChartDetail","clearDataOnNonprofitChange","API_OVERRIDE","QA_FIREWALL_API_URL","apiUrls","localhost","appInsightsKeys","isTest","userAgent","require","production","hmr","googleApiKey","routeBase","addGoogleTagManagerProd","addGoogleTagManagerNotProd","addMetaFacebookPixel","addLinkedInInsights","checkFeeDetails","percentWithheld","capApplied","isNpoAdmin","charitySupportFees","CheckFeeDetailsModalComponent_yc_modal_0_div_2_div_3_span_9_Template","CheckFeeDetailsModalComponent_yc_modal_0_div_2_div_3_span_10_Template","CheckFeeDetailsModalComponent_yc_modal_0_div_2_div_3_div_11_Template","processorFees","CheckFeeDetailsModalComponent_yc_modal_0_div_2_div_4_span_9_Template","CheckFeeDetailsModalComponent_yc_modal_0_div_2_div_4_span_10_Template","CheckFeeDetailsModalComponent_yc_modal_0_div_2_div_4_div_11_Template","CheckFeeDetailsModalComponent_yc_modal_0_div_2_div_3_Template","CheckFeeDetailsModalComponent_yc_modal_0_div_2_div_4_Template","CheckFeeDetailsModalComponent_yc_modal_0_Template_yc_modal_onPrimaryClick_0_listener","CheckFeeDetailsModalComponent_yc_modal_0_Template_yc_modal_onSecondaryClick_0_listener","goToDisbursementInfoPage","CheckFeeDetailsModalComponent_yc_modal_0_Template_yc_modal_onCancel_0_listener","CheckFeeDetailsModalComponent_yc_modal_0_div_1_Template","CheckFeeDetailsModalComponent_yc_modal_0_div_2_Template","secondaryButtonText","CheckFeeDetailsModalComponent_Template","CheckFeeDetailsModalComponent_yc_modal_0_Template","company_r1","PaymentCompaniesPopoverComponent_ng_template_1_div_0_Template","companiesForDisplay","companies","PaymentCompaniesPopoverComponent_Template","PaymentCompaniesPopoverComponent_ng_template_1_Template","companiesList_r3","numberOfCompaniesLink_r4","FeaturedPartnerService","featuredPartnerService","getCurrentFeaturedPartner","getFeaturedPartnerCollateral","currentFeaturedPartner","MyWorkspaceFinanceService","setMyWorkspaceStats","FeaturedPartnerResources","featuredPartnerId","createUserImpression","partnerCampaignCollateralId","FeaturedPartnerState","featuredPartnerResources","hiddenPartnerIds","currentFeaturedPartnerCollateral","hasCurrentFeaturedPartner","showFeaturedPartner","addHiddenPartnerId","removeHiddenPartnerId","setCurrentFeaturedPartner","featuredPartner","setActiveFeaturedPartnerCollateral","activeFeaturedPartnerCollateral","MyWorkspaceFinanceResources","getMostRecentPayments","getVerifyDonationsTotal","getVolunteerHoursUnverified","MyWorkspaceFinanceState","myWorkspaceFinanceResources","mostRecentPayments","verifyDonationsTotal","volunteerHoursUnverified","setMostRecentPayments","setVerifyDonationsTotal","setVolunteerHoursUnverified","updateVerifyHoursTotal","numberToSubtract","newVal","updateVerifyDonationsTotal","NotificationsResources","NotificationsState","notificationsResources","allNotifications","keyedNotifications","modalNotificationClosed","setKeyedNotifications","notificationMap","sideBarNotifications","isSideBar","notifications","instance","setModalNotification","modalTypeNotifications","isModal","removeNotification","n","setAllNotifications","LocationResources","fetchCountries","fetchRegionsByCountry","fetchCurrencyByCountry","LocationState","locationResources","regionsForSelect","regionsByCountry","countryCurrencyMap","setCountriesForSelect","fetchRegions","setRegionsForSelect","formattedCountriesForSelect","formatCountriesForSelect","formattedRegionsForSelect","formatRegionsForSelect","setCountryCurrencyMap","newCurrencyMap","currencyCode","countryName","setUsersTermsOfService","userTermsOfService","openPrivacyPolicy","openTermsOfService","signOut","TermsOfServiceModalComponent_Template","TermsOfServiceModalComponent_Template_yc_modal_onCancel_0_listener","TermsOfServiceModalComponent_Template_yc_modal_onPrimaryClick_0_listener","TermsOfServiceModalComponent_Template_yc_button_onClick_8_listener","TermsOfServiceModalComponent_Template_yc_button_onClick_12_listener","MailToResources","sendBrandedEmail","MailToService","mailToResources","skipToaster","defaultTitle","CommunicationService","getCommunicationPreferences","CommunicationResources","userEmailAddress","updateCommunicationPreferences","CommunicationState","communicationResources","setCurrentUnsubscribedEmailClassIds","unsubscribedEmailClassIds","getUserCommunicationPrefsAsYcAdmin","emailIdArray","getAllRegistrationAuthorities","MyNonprofitsResources","getNonprofitsForAdmin","getRequestsForUser","cancelChapterRequest","chapterRequestIds","changeRole","MyNonprofitsState","myNonprofitsResources","formatter","nonprofitsForUser","nonprofitArray","adminRequestArray","nonprofitHasChapters","useParentDescription","useChapterDescription","tableRows","setNonprofitsForUser","allNonprofitsForUser","setRequestsForUser","allNonprofitAdminRequests","setNonprofitHasChapters","setUseParentDescription","setUseChapterDescription","setNonprofitArray","chapterRequestAsNonprofitArray","getChapterRequestAsNonprofitArray","chapterArray","getChapterArray","chapterAndRequestArray","nonChapterArray","getNonChapterArray","chaptersWithoutParents","getChaptersWithoutParents","chapterList","chapter","isChapterRequest","usersRole","setAdminRequestArray","adminRequestForDisplayArray","getAdminRequestsForDisplay","stagedNonprofitCreateDate","chapterRequestsArray","chapterRequests","stagedChapterNonprofit","chapterRequestId","chapterRequestSummaryData","invite","createdByUser","DECLINED","setTableRows","setMyNonprofitRows","allNonprofitsForAdmin","changeRoleToAdministrator","handleChangeRoleToAdministratorErrorCodes","NonprofitResources","updateNonprofitDisplayInfo","displayPayload","getNonprofit","createEditOrganization","newOrganization","updateNonprofitClassification","getStatsSummaryInfo","getShowMoreDetail","subdivisionCode","fetchNonprofitsWithCheckInfo","checkInfo","AddressType","NonprofitState","nonprofitResources","dashboardService","activeNpoStateData","setActiveNonprofit","adaptedNonprofit","npoAdapter","setActiveNpoStateData","orgName","setMyNpos","npos","nonprofits","setNonprofitLogo","addChapterToMypNos","newChapter","formatDisplayPayload","tags","tagArray","tagsString","tagItem","tag","tagsAdapter","displayAddressAdapter","nonprofitTags","tagsArray","formatNpoAddresses","addStateCodeToPayload","displayInfo","remittanceAddress","stateName","findMatchingState","optionValue","match","updateAttributeInMyNpos","updateAndSetNonprofitDisplayInfo","formattedDisplayPayload","payloadWithStateCode","nposWithFormattedAddress","updateNpoLogo","nonprofitLogoImageUrl","classificationTypeId","supportsSDGGive","supportsSDGVolunteer","displayEmail","displayUrl","displayNumber","displayPitch","address2","nonprofitHeaderImageUrl","sdGs","sdgId","givePercent","volunteerPercent","targets","sdgTargetId","target","PublicNonprofitSearchComponent_div_8_yc_typeahead_select_5_Template_yc_typeahead_select_onChange_0_listener","PublicNonprofitSearchComponent_div_8_yc_typeahead_select_6_Template_yc_typeahead_select_onChange_0_listener","PublicNonprofitSearchComponent_div_8_Template_yc_typeahead_select_onChange_3_listener","PublicNonprofitSearchComponent_div_8_yc_typeahead_select_5_Template","PublicNonprofitSearchComponent_div_8_yc_typeahead_select_6_Template","clearSearchAndResults","showClear","PublicNonprofitSearchComponent_Template","PublicNonprofitSearchComponent_Template_yc_input_keyup_enter_3_listener","PublicNonprofitSearchComponent_Template_yc_checkbox_onChange_6_listener","PublicNonprofitSearchComponent_div_8_Template","NotesResources","fetchNotesForTable","addNoteByNonprofitId","editNote","deleteNote","NotesState","notesResources","noteAssetMap","setNoteAssetMap","noteType","note","emailAddresses","addNote","fetchNoteAsset","getAssetFromMap","AddEditPersonaAnswerCustomResponseModalComponent_yc_modal_0_Template_yc_modal_onCancel_0_listener","AddEditPersonaAnswerCustomResponseModalComponent_yc_modal_0_Template_yc_modal_onPrimaryClick_0_listener","personaSystemAnswerCustomResponseForm","newUserForUnansweredQuestions","userCustomResponse","buildTitleForModal","AddEditPersonaAnswerCustomResponseModalComponent_Template","AddEditPersonaAnswerCustomResponseModalComponent_yc_modal_0_Template","primaryDisabled","helpLink","_goBack","_signIn","AddEditPersonaAnswersModalComponent_Template","AddEditPersonaAnswersModalComponent_Template_yc_modal_onPrimaryClick_0_listener","AddEditPersonaAnswersModalComponent_Template_yc_modal_onCancel_0_listener","AddEditPersonaAnswersModalComponent_Template_yc_persona_question_and_answers_addEditModalButtonDisabled_5_listener","PanelTypes","panelType","descriptionForComponentInModalUse","PersonaQuestionAndAnswersComponent_form_0_div_1_div_3_div_2_span_5_Template_yc_button_onClick_1_listener","questionInfo_r3","editCustomResponsePersonaAnswer","PersonaQuestionAndAnswersComponent_form_0_div_1_div_3_div_2_span_5_Template","viewOnly","PersonaQuestionAndAnswersComponent_form_0_div_1_div_3_Template_yc_typeahead_select_onChange_1_listener","onAnswerUpdate","PersonaQuestionAndAnswersComponent_form_0_div_1_div_3_div_2_Template","ɵɵpropertyInterpolate1","descriptionTranslationText","requiresAnswer","PersonaQuestionAndAnswersComponent_form_0_div_1_yc_panel_1_Template","PersonaQuestionAndAnswersComponent_form_0_div_1_div_2_Template","PersonaQuestionAndAnswersComponent_form_0_div_1_div_3_Template","PersonaQuestionAndAnswersComponent_form_0_div_1_Template","personaForm","personaQuestionsAnswersEnabled","adminRequest","addEditModalButtonDisabled","FormSectionHeader","buildTitleAndDescription","buildPersonaQuestionsAndAnswers","disable","emitAddEditModalButtonDisabledEvent","allQuestionsAnswered","questionAndAnswersControl","questionAnswered","formFieldValue","currentCustomResponse","buildPersonaQuestionsAndAnswers_MultiAnswerResponse","buildPersonaQuestionsAndAnswers_SingleAnswerResponse","buildPersonaQuestionAndAnswers_addControl","usersAnswerToTheQuestion","formControlValue","requireAnswer","contains","answersDiffer","addControl","control","PersonaQuestionAndAnswersComponent_Template","PersonaQuestionAndAnswersComponent_form_0_Template","ReleaseNotesResources","releaseID","getReleaseList","createRelease","updateRelease","deleteRelease","getListOfReleasesForUser","releaseNotesResources","handleManageReleaseNoteModalResponse","deps","releaseNotePayload","manageReleaseNotesPayload","userReleaseNoteUrl","adminReleaseNoteUrl","EDIT","ProgramsService","getProgramTypes","ProgramsResources","getAllPrograms","createProgram","program","updateProgram","deleteProgram","publishProgram","unPublishProgram","ProgramsState","programsResources","setProgramTypes","apiResponse","programPayload","externalLink","Math","random","uploadImageResponse","uploadProgramImage","imageURL","fetchAllProspectiveAdminReasonSelect","fetchAllReasonsLookup","npoReasons","ycAdminReasons","allReasonsForYcAdminDisplay","inputId","reasons","reasonObj","ReasonsResources","getAllReasons","ReasonState","reasonResources","allReasonsVisibleToNPO","allReasonsVisibleToYCAdmin","allNonSystemReasons","deactivationReasonsSelect","checkReissueRequestReasonsSelect","vettingRequestRejectionReasonsSelect","bbgfEligibleReasonSelect","bbgfIneligibleReasonSelect","disbursementSuspendedReasonSelect","achInfoRejectionReasonsSelect","markAsFalsePositiveSelect","markAsTrueMatchSelect","declineChapterRequestReasonsSelect","prospectiveAdminOutreachReasonSelect","nonprofitAdminRequestRejectionReasonSelect","nonprofitAdminRequestManagerApprovalReasonSelect","prospectiveAdminOptOutReasonSelect","prospectiveAdminOutreachFilterReasons","setAllReasonsVisibleToNPO","visibleToNPO","setAllReasonsVisibleToYCAdmin","setAllNonSystemReasons","systemReason","setReasonsForDisplayMap","reasonTypeId","setDeactivationReasonsSelect","setReasonsForSelectMap","NonprofitDeactivation","setCheckReissueRequestReasonsSelect","CheckReissue","setVettingRequestRejectionReasonsSelect","VettingRequestRejection","setBbgfEligibleReasonSelect","setBbgfIneligibleReasonSelect","IneligibleForGiving","setDisbursementSuspendedReasonSelect","setAchInfoRejectionReasonsSelect","ACHInfoRejection","setMarkAsFalsePositiveSelect","ScreeningFalsePositive","setMarkAsTrueMatchSelect","ScreeningTrueMatch","setDeclineChapterRequestReasonsSelect","DeclineChapterRequest","setProspectiveAdminOptOutReasonSelect","ProspectiveAdminOptOut","setProspectiveAdminOutreachReasonSelect","ProspectiveAdminOutreach","setNonprofitAdminRequestRejectionReasonSelect","NonprofitAdminRequestRejection","setNonprofitAdminRequestManagerApprovalReasonSelect","NonprofitAdminRequestManagerApproval","setProspectiveAdminOutreachFilterReasons","reasonByMapId","_this20","reasonMapById","setAllReasons","_this21","_this22","allReasons","_this23","getLocalizedReason","reasonId","getRegistrationAuthoritiesForNonprofitAdd","RegistrationAuthoritiesResources","getRegistrationAuthorities","getRegistrationAuthoritiesValidForNonprofitCreate","registrationAuthorityAndRegistrationIdExist","encodedRegistrationId","RegistrationAuthoritiesState","registrationAuthoritiesResources","authorities","allRegAuthsForSelect","regAuthsForNonprofitAdd","setAuthorities","auths","setAllRegAuthsForSelect","vaildRegistrationAuthorities","registrationAuthorities","validOptions","auth","allRegAuths","regAuthSelectVals","regAuth","unshift","ReportingState","ReportingResources","downloadNonprofitExclusionListEndpoint","downloadVettingRequestsForReportingEndpoint","downloadBBINonprofitSubsectorReportEndpoint","downloadNonprofitChaptersReportEndpoint","emailTemplatesForDownloadEndpoint","emailReportForDownloadEndpoint","inactiveNPOsWithPendingDonationsDownloadEndpoint","failedPaymentReturnedChecksReportDownloadEndpoint","bankCustomAttributesReportDownloadEndpoint","vettingExpirationsDownloadEndpoint","npoComplianceAffiliationReportDownloadEndpoint","reissueCheckRequestsDownloadEndpoint","complianceReportDownload","nonprofitMergeReportDownload","activeNonprofitsEFGReportByProcessingPartnerDownload","activeNonprofitsEFGReportByRegistrationAuthorityDownload","activeNonprofitsEFGReportByCountryDownload","activeNonprofitsEFGReportDownload","organizationsWithDisbursementSuspendedDownload","outstandingPaymentTransactionsDownload","outstandingPaymentsWithDonationsDownload","nonprofitEligibileForGivingOverridesDownload","revokedNonprofitsDownload","getReportsAndReportTypes","getReportingLink","getCustomComplianceCompanies","getYCProcessingPartnerNames","getAllCompliances","getImportHistoryReportData","getImportSummaryReportData","dataImportTypeId","getComplianceAndAffiliationsReport","companyId","getComplianceAndAffiliationsReportCSV","getChapterReport","getEmailTemplateReport","subjectTriggerFilter","getEmailClasses","getOutstandingPaymentsReport","StartDate","CompanyId","getOutstandingTransactions","getInactiveNposWithPendingDisbursements","getMergedNonprofitsReport","getNonprofitExclusionList","getNposWithDisbursementSuspended","getReissueCheckRequests","checkReissueStatusId","StatusId","getActiveNonprofitsEFGReportRegAuthAndCountry","getActiveNonprofitsEFGReportByRegistrationAuthority","getActiveNonprofitsEFGReportByCountry","getActiveNonprofitsEFGReportByProcessor","getJobsReport","getEmailReport","getEmailPreview","getNonprofitsBasedOnVettingExpiredDay","vettingAuthorityId","expireDays","VettingAuthorityId","ExpireDays","getVettingRequestsForReporting","_this24","getBankCustomAttributesReport","_this25","getBankCustomAttributesReportDownload","_this26","getBBINonprofitSubsectorReport","_this27","failedPaymentReturnedChecksReport","_this28","fetchAllCompanies","_this29","uploadCharityIdList","charityIds","_this30","getBBISubsectorInfoList","_this31","getRevokedNonprofitsSubdivisionsList","_this32","getNonprofitClassificationMapReport","getNonprofitClassificationMapDownload","_this33","getVettingApplicationsSubmittedOrCompletedReportDisplay","queueActiveNonprofitsEFGReport","getEligibilityForGivingOverrides","getRevokedNonprofits","revokedByStateCode","FilterModalTypes","TopLevelFilter","FilterHelpersService","IsNumber","Required","reportingResources","extractColumnsService","filterHelperService","companyIdColumn","startDateColumn","checkReissueStatusIdColumn","searchTypeColumn","paymentRangeFilter","charityAdminDetailDownloadInfo","customComplianceCompanies","allCompliances","outstandingPaymentId","outstandingPaymentNumber","paymentNonprofitId","paymentNonprofitName","drilldownRowId","currentEfgReportDateTime","emailClassesForFilter","emailClasses","allCompanies","companiesForInput","bbiSubsectorData","revokedNonprofitsSubdivisions","adminEmail","ycProcessingPartnerNames","getRelativeDateFilters","dateRangeValue","Last30Days","getRelativeDateFilterConfig","setDrilldownRowId","setOutstandingPaymentInfo","setCharityAdminReportLink","setCustomComplianceCompanies","setAllCompliances","compliances","setCurrentEfgReportDateTime","getCurrentEfgReportDateTime","dateString","setEmailClassesForFilter","classes","classesForFilter","setEmailClasses","setAllCompanies","setCompaniesForInput","filteredCompanies","externalSystemType","GDG","setBbiSubsectorData","setRevokedNonprofitsSubdivisionsData","setYcProcessingPartnerNames","names","getPaginationOptionsForEmailLog","adaptedPaginationOptions","toEmailCol","col","getAdaptedBbiSubsctorCodePayload","earliestPaymentDate","latestPaymentDate","option","adaptChapterDownloadPayload","dateFilterType","downloadChapterReport","adaptedOptions","downloadEmailTemplateReport","downloadOutstandingPayments","downloadOutstandingTransactions","getInactiveNposWithPendingDisbursementsDownload","getMergedNonprofitsReportDownload","downloadNonprofitExclusionList","getComplianceAndAffiliationsDownload","co","getImportSummaryTable","getImportHistoryTable","getNposWithDisbursementSuspendedDownload","allOptions","downloadReissueCheckRequests","getActiveNposByEFGCountryAndRegAuthDownload","getActiveNonprofitsEFGReportByRegistrationAuthorityDownload","getActiveNonprofitsEFGReportByCountryDownload","getActiveNonprofitsEFGReportByProcessorDownload","_this34","downloadComplianceReport","_this35","_this36","orFilterColumns","lastExecutedDate","_this37","getEmailReportForDownload","_this38","_this39","_this40","vetAuthId","expDays","getVettingExpirationDownload","_this41","_this42","activeOnly","ALL_ACTIVE_REQUESTS","IN_PROGRESS","ROUTED_TO_VETTING_AUTHORITY","ON_HOLD_PENDING_BILLING","downloadVettingRequestsForReporting","_this43","_this44","failedPaymentReturnedChecksReportDownload","_this45","showIBAN","_this46","ibanFilterColumn","_this47","_this48","_this49","_this50","downloadBBINonprofitSubsectorReport","_this51","_this52","_this53","convertObjectArrayToCSVString","_this54","getClientSideRelativeDates","downloadVettingApplicationsSubmittedOrCompletedReportDisplay","_this55","_this56","_this57","_this58","_this59","_this60","downloadEligibilityForGivingOverrides","_this61","getRevokedNonprofitsForDisplay","_this62","getRevokedNonprofitsForDownload","_this63","_this64","YcCharityIdValidationModel","MailToModalComponent","ActiveAdminModalComponent_yc_modal_0_ng_container_4_span_3_Template_a_click_1_listener","admin_r4","openMailToModal","ActiveAdminModalComponent_yc_modal_0_ng_container_4_span_4_Template_a_click_1_listener","openNonprofitEmailLogReport","emailHistoryText","ActiveAdminModalComponent_yc_modal_0_ng_container_4_span_3_Template","ActiveAdminModalComponent_yc_modal_0_ng_container_4_span_4_Template","fullName","admin_r6","jobTitle","admin_r7","roleInfo","ActiveAdminModalComponent_yc_modal_0_Template_yc_modal_onCancel_0_listener","ActiveAdminModalComponent_yc_modal_0_ng_container_4_Template","ActiveAdminModalComponent_yc_modal_0_ng_container_5_Template","ActiveAdminModalComponent_yc_modal_0_ng_container_6_Template","hideModal","mailToService","admin","subject","toUserId","ActiveAdminModalComponent_Template","ActiveAdminModalComponent_yc_modal_0_Template","fetchAllStatusesLookup","statusesForDisplay","allStatusesForDisplayMap","noApplicationText","noApplicationTranslation","returnTranslation","statusForDisplay","StatusResources","getAllStatuses","StatusState","statusesResources","activeOnlyStatusesForDisplayMap","bankInfoChangeRequestStatusSelect","eligibleForGivingStatusSelect","sanctionsScreeningFlagStatusSelect","chapterRequestStatusSelect","adminRequestStatusSelect","checkReissueStatusSelect","remittanceAddressRequestStatusSelect","nonprofitStoryStatusSelect","activeVettingApplicationStatusSelect","completedVettingApplicationStatusSelect","partnerVettingStatusFilterSelect","prospectiveAdminOutreachStatusSelect","programStatusSelect","statusSelectExclusionList","statusExclusionList","setBankInfoChangeRequestStatusSelect","statuses","setStatusesForSelectMap","BankInfoChangeRequest","setEligibleForGivingStatusSelect","setEligibleForGivingStatusDisplay","setSanctionsScreeningFlagStatusSelect","SanctionsScreeningFlag","setChapterRequestStatusSelect","ChapterRequest","setAdminRequestStatusSelect","AdminRequest","setCheckReissueStatusSelect","setRemittanceAddressRequestStatusSelect","RemittanceAddressRequest","setNonprofitStoryStatusSelect","NonprofitStory","setInactiveVettingRequestStatusSelect","NonprofitVettingRequest","enumToNumberArray","filteredStatuses","setActiveOldVettingRequestStatusSelect","setInactiveOldVettingRequestStatusSelect","setActiveVettingApplicationStatusSelect","NonprofitVettingApplication","setCompletedVettingApplicationStatusSelect","setPartnerVettingStatusFilterSelect","statusInclusionList","setProspectiveAdminOutreachStatusSelect","setProgramStatusSelect","NonprofitProgram","anyEnum","numberArray","statusMapById","statusTypeId","systemStatus","setStatusesForDisplayMap","setActiveOnlyStatusesForDisplayMap","setAllStatuses","allStatuses","SubmittedSupportRequestsResources","getSupportRequests","createIssueDiagnosis","SupportRequestService","SubmittedSupportRequestsState","submittedSupportRequestsResources","supportRequestService","supportItems","supportRequestStatuses","setSupportRequestStatusesData","mapSupportItems","SupportRequestResources","getSupportItems","createSupportRequest","supportRequest","uploadAsset","supportRequestId","deleteAsset","SupportRequestState","supportRequestResources","defaultSupportRequest","generateUUID","phoneNumber","setSupportRequest","supportItem","isValid","setSupportItems","setSupportItem","supportItemId","setIsValid","submit","_p8","p","substr","SystemHealthDashboardService","header_r1","detail_r3","header_r2","SystemHealthDashboardDetailsModalComponent_tr_9_td_1_Template","SystemHealthDashboardDetailsModalComponent","systemHealthDashboardService","healthIndicatorDetails","fetchHealthIndicatorDetails","healthIndicatorStats","healthIndicatorId","details","healthIndicatorResults","header","getSystemHealthDashboardDetails","SystemHealthDashboardDetailsModalComponent_Template","SystemHealthDashboardDetailsModalComponent_Template_yc_modal_onPrimaryClick_0_listener","SystemHealthDashboardDetailsModalComponent_th_7_Template","SystemHealthDashboardDetailsModalComponent_tr_9_Template","healthIndicatorName","healthIndicatorErrorCount","row_r1","row_r2","SystemHealthDashboardPageComponent_yc_table_4_ng_container_3_yc_button_1_Template_yc_button_onClick_0_listener","viewHealthIndicatorDetails","SystemHealthDashboardPageComponent_yc_table_4_ng_container_3_yc_button_1_Template","SystemHealthDashboardPageComponent_yc_table_4_ng_container_1_Template","SystemHealthDashboardPageComponent_yc_table_4_ng_container_2_Template","SystemHealthDashboardPageComponent_yc_table_4_ng_container_3_Template","getSystemHealthDashboardStats","SystemHealthDashboardPageComponent_Template","SystemHealthDashboardPageComponent_yc_table_4_Template","SystemHealthDashboardResources","systemHealthDashboardResources","submittedOn","submitDate","VolunteerEventResources","getEvent","eventId","createEvent","volunteerEvent","updateEvent","publishEvent","deactivateEvent","getEventParticipants","getEventParticipationsExport","getEventParticipationsByShift","shiftId","getEventParticipationsByShiftExport","getEventWaitlist","getEventWaitlistExport","getEventWaitlistByShift","getEventWaitlistByShiftExport","emailEventParticipants","getEventPhotos","createEventPhoto","deleteEventPhoto","photoName","getEventShiftsPaginated","getEventShiftsNoPagination","createOrUpdateEventShift","deleteEventShift","getEventContacts","createOrUpdateEventContact","deleteEventContact","contactId","getEventDocuments","createEventDocument","deleteEventDocument","documentName","getTimeZones","fetchVolunteerEventsList","getEventCommunityPartners","getAllEventSkills","getAffiliateEventSkills","VolunteerEventState","volunteerEventResources","errorDownloadingDataText","activeEventId","activeVolunteerEvent","activeEventParticipants","activeEventPhotos","activeEventShifts","activeEventDocuments","volunteerTimeZones","eventForCopy","eventTimeLineColumnValue","eventAffiliateId","eventSkills","eventAffiliateSkills","allSkillsMetaData","skillsCategoriesMetaData","setActiveEventId","setActiveVolunteerEventById","setActiveVolunteerEvent","setActiveEventParticipants","participants","setActiveEventPhotos","setActiveEventShifts","shifts","setActiveEventDocuments","docs","setVolunteerTimeZones","timeZones","setEventForCopy","setCommunityPartners","partners","setEventTimeLineColumnValue","setEventAffiliateId","setEventSkills","skills","mappedSkills","cat","categoryName","categoryId","dependentOptions","categorySkills","skillName","skillId","mappedCategories","mapCategories","categoriesArray","skill","flatArray","setAffiliateSkills","adaptAndCreateEvent","imageUrl","createEventPayload","uploadResponse","uploadEventFile","adaptAndUpdateEvent","editEventPayload","adaptEventsListEndpoint","eventTimeLine","convertParticipantExport","object","getContacts","contacts","totalCount","getEventsList","getParticipants","shiftIdColumn","getParticipantsExport","getWaitlist","getWaitlistExport","urlStorage","getStorage","cacheType","URL","internalCacheMap","postInit","duration","attribute","descriptor","isInitted","cacheKey","durationKey","lastDate","initializer","defineProperty","tmp","enableProdMode","script","head","appendChild","noScript","prepend","meta","scriptOne","scriptTwo","main","__NgCli_bootstrap_1","platformBrowser","bootstrapModule"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}