{ "version": 3, "sources": ["libs/email-ui/domain-chooser/src/domain-chooser.component.ts", "libs/email-ui/domain-chooser/src/domain-chooser.component.html", "libs/email-ui/domain-chooser/src/domain-chooser.module.ts"], "sourcesContent": ["import { Component, Input } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\nimport { DomainService, GetSenderInfoResponseInterface, Sender, SendersService } from '@vendasta/email';\nimport { Observable, ReplaySubject, Subject, combineLatest } from 'rxjs';\nimport { map, shareReplay, startWith, switchMap, tap } from 'rxjs/operators';\n\nexport enum DomainChoice {\n INVALID = '----invalid----',\n USE_SENDER_WHITELABEL_DOMAIN = 'whitelabel',\n USE_PLATFORM_DEFAULT = 'platform_default',\n}\n\nexport function shouldUsePlatformDefault(choice: DomainChoice): boolean {\n switch (choice) {\n case DomainChoice.USE_PLATFORM_DEFAULT:\n return true;\n case DomainChoice.USE_SENDER_WHITELABEL_DOMAIN:\n return false;\n default:\n console.error(`Unexpected choice \"${choice}\". Falling back to whitelabel choice.`);\n return false;\n }\n}\n\nexport enum Validity {\n Valid = 'valid',\n Invalid = 'invalid',\n}\n\n@Component({\n selector: 'email-domain-chooser',\n templateUrl: './domain-chooser.component.html',\n styleUrls: ['./domain-chooser.component.scss'],\n})\nexport class DomainChooserComponent {\n form: UntypedFormGroup;\n showAlert = true;\n\n readonly userDomain$: Observable;\n readonly defaultDomain$: Observable;\n readonly userDomainValidity: Observable;\n readonly disableUserDomainSelection$: Observable;\n\n readonly sender$$: Subject = new ReplaySubject(1);\n\n @Input()\n set sender(v: Sender) {\n this.sender$$.next(v);\n }\n\n @Input()\n emailSettingsRouterLink: string;\n\n constructor(\n private formBuilder: UntypedFormBuilder,\n private domains: DomainService,\n private senders: SendersService,\n ) {\n this.form = this.formBuilder.group({\n sendFromDefault: this.formBuilder.control('default-domain', [Validators.required]),\n });\n\n this.defaultDomain$ = this.sender$$.pipe(\n switchMap((sender) => this.domains.getDefaultDomain(sender.type)),\n map((response) => response.domain),\n shareReplay({ bufferSize: 1, refCount: true }),\n );\n\n const userDomain$ = this.sender$$.pipe(\n switchMap((sender) => this.senders.getEmailSendingInfo(sender.type, sender.id)),\n );\n\n const shouldDisable = (r: GetSenderInfoResponseInterface): boolean => {\n return r.isDefaultForSenderType || !r.isPlatformAuthorized;\n };\n\n this.userDomainValidity = userDomain$.pipe(\n map((user) => shouldDisable(user)),\n map((d) => (d ? Validity.Invalid : Validity.Valid)),\n shareReplay({ bufferSize: 1, refCount: true }),\n );\n\n this.disableUserDomainSelection$ = this.userDomainValidity.pipe(\n map((v) => v === Validity.Invalid),\n startWith(true),\n tap((invalid) => {\n const value = invalid ? 'default-domain' : 'partner-domain';\n this.form.setValue({ sendFromDefault: value });\n this.form.markAllAsTouched();\n }),\n shareReplay({ bufferSize: 1, refCount: true }),\n );\n\n this.userDomain$ = combineLatest([userDomain$, this.userDomainValidity]).pipe(\n map(([u, validity]) => (validity === Validity.Valid ? `(${u.domain})` : '(Not configured)')),\n startWith('(loading...)'),\n shareReplay({ bufferSize: 1, refCount: true }),\n );\n }\n\n public getChoice(): DomainChoice {\n const sendFromValue = this.form.get('sendFromDefault').value;\n switch (sendFromValue) {\n case 'partner-domain':\n return DomainChoice.USE_SENDER_WHITELABEL_DOMAIN;\n case 'default-domain':\n return DomainChoice.USE_PLATFORM_DEFAULT;\n default:\n return DomainChoice.INVALID;\n }\n }\n}\n", "
\n \n {{ 'USERS.RESEND_WELCOME_EMAIL_MODAL.SEND_FROM' | translate }}\n \n \n {{ 'USERS.RESEND_WELCOME_EMAIL_MODAL.PARTNER_DOMAIN' | translate }} {{ userDomain$ | async }}\n \n \n Authorize your own domain from the\n email settings page\n \n \n \n {{ 'USERS.RESEND_WELCOME_EMAIL_MODAL.DEFAULT_DOMAIN' | translate }} ({{ defaultDomain$ | async }})\n Use this non-branded domain if your domain is not working\n \n \n \n
\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DomainChooserComponent } from './domain-chooser.component';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EmailUII18nModule } from '../../src/lib/i18n/email-ui-i18n.module';\nimport { GalaxyFormFieldModule } from '@vendasta/galaxy/form-field';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { GalaxyPipesModule } from '@vendasta/galaxy/pipes';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { GalaxyAlertModule } from '@vendasta/galaxy/alert';\nimport { RouterModule } from '@angular/router';\n\n@NgModule({\n declarations: [DomainChooserComponent],\n exports: [DomainChooserComponent],\n imports: [\n CommonModule,\n TranslateModule,\n RouterModule,\n EmailUII18nModule,\n ReactiveFormsModule,\n GalaxyFormFieldModule,\n MatRadioModule,\n MatProgressSpinnerModule,\n GalaxyPipesModule,\n GalaxyAlertModule,\n ],\n})\nexport class DomainChooserModule {}\n"], "mappings": "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", "names": ["\u0275\u0275elementContainer", "DomainChoice", "shouldUsePlatformDefault", "choice", "USE_PLATFORM_DEFAULT", "USE_SENDER_WHITELABEL_DOMAIN", "console", "error", "Validity", "DomainChooserComponent", "sender", "v", "sender$$", "next", "constructor", "formBuilder", "domains", "senders", "showAlert", "ReplaySubject", "form", "group", "sendFromDefault", "control", "Validators", "required", "defaultDomain$", "pipe", "switchMap", "getDefaultDomain", "type", "map", "response", "domain", "shareReplay", "bufferSize", "refCount", "userDomain$", "getEmailSendingInfo", "id", "shouldDisable", "r", "isDefaultForSenderType", "isPlatformAuthorized", "userDomainValidity", "user", "d", "Invalid", "Valid", "disableUserDomainSelection$", "startWith", "tap", "invalid", "value", "setValue", "markAllAsTouched", "combineLatest", "u", "validity", "getChoice", "get", "INVALID", "\u0275\u0275directiveInject", "UntypedFormBuilder", "DomainService", "SendersService", "selectors", "inputs", "emailSettingsRouterLink", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275template", "DomainChooserComponent_ng_container_11_Template", "\u0275\u0275property", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "\u0275\u0275pipeBind1", "\u0275\u0275textInterpolate2", "_DomainChooserComponent", "DomainChooserModule", "CommonModule", "TranslateModule", "RouterModule", "EmailUII18nModule", "ReactiveFormsModule", "GalaxyFormFieldModule", "MatRadioModule", "MatProgressSpinnerModule", "GalaxyPipesModule", "GalaxyAlertModule", "_DomainChooserModule"] }