{ "version": 3, "sources": ["apps/partner-center-client/src/app/marketing/base-template-editing/dependencies.ts", "apps/partner-center-client/src/app/marketing/base-template-editing/template-editor-page/prompt.service.ts", "apps/partner-center-client/src/app/shared/preview-business-selector/preview-business-selector.component.ts", "apps/partner-center-client/src/app/shared/preview-business-selector/preview-business-selector.component.html", "apps/partner-center-client/src/app/marketing/base-template-editing/template-editor-page/template-editor-page.component.ts", "apps/partner-center-client/src/app/marketing/base-template-editing/template-editor-page/template-editor-page.component.html", "apps/partner-center-client/src/app/shared/preview-business-selector/preview-business-selector.module.ts", "apps/partner-center-client/src/app/marketing/base-template-editing/base-template-editing.module.ts"], "sourcesContent": ["import { EmailContentData } from '@galaxy/email-ui/email-builder';\nimport { WorkStates } from '@vendasta/rx-utils/work-state';\nimport { SaveResult } from '../email-template-saver';\n\nexport const TEMPLATE_EXPORTER_KEY = 'marketing.template_editing.template_exporter';\n\nexport interface TemplateExporter {\n workState: WorkStates;\n updateContentData(update: EmailContentData): void;\n updateHTML(html: string): void;\n}\n", "import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class MarketingPromptBuilder {\n build(s: string): string {\n return `Write a paragraph for a marketing email based on the following prompt: ${s}`;\n }\n}\n", "import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { EmailPreviewHydrationData } from '@galaxy/email-ui/email-builder';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AccountGroup, ProjectionFilter } from '@vendasta/account-group';\nimport { BusinessSelectorDialogComponent, DialogData } from '@vendasta/businesses';\nimport { firstValueFrom } from 'rxjs';\n\nexport interface SelectedBusiness {\n accountGroupId: string;\n name: string;\n hasSalesperson: boolean;\n hasSnapshot: boolean;\n}\n\nexport type Layout = 'vertical' | 'horizontal';\n\n@Component({\n selector: 'app-preview-business-selector',\n templateUrl: './preview-business-selector.component.html',\n styleUrls: ['./preview-business-selector.component.scss'],\n})\nexport class PreviewBusinessSelectorComponent {\n name: string;\n showWarning: boolean;\n warningKey?: string;\n warning: string;\n dialogData?: DialogData;\n\n @Input() set hydrationData(v: EmailPreviewHydrationData) {\n const biz = v?.business;\n this.name = biz?.name || 'None selected';\n // TODO: Bring back translation once weblate/lexicon are working again\n // this.name = biz?.name || this.translate.instant('EMAIL_TEMPLATES.PREVIEW.BUSINESS_SELECTOR.NONE_SELECTED');\n this.showWarning = this.shouldShowWarning(biz);\n this.warningKey = biz ? this.getWarningKey(biz) : '';\n this.warning = biz ? this.getWarning(biz) : '';\n this.dialogData = {\n partnerId: v?.partnerID,\n marketId: v?.marketID,\n projectionFilterOverride: {\n napData: true,\n accountGroupExternalIdentifiers: true,\n snapshotReports: true,\n } as ProjectionFilter,\n };\n }\n\n @Input() layout: Layout = 'horizontal';\n\n @Output() businessSelected = new EventEmitter();\n\n private shouldShowWarning(biz: { hasSnapshot: boolean; hasSalesperson: boolean }): boolean {\n if (!biz) {\n return false;\n }\n return !(biz?.hasSalesperson && biz?.hasSnapshot);\n }\n\n /**\n * @deprecated: Use getWarningKey\n */\n private getWarning(biz: {\n accountGroupId: string;\n name: string;\n hasSnapshot: boolean;\n hasSalesperson: boolean;\n }): string {\n if (!biz.hasSalesperson && !biz.hasSnapshot) {\n return 'Business has no snapshot reports and no assigned salesperson. Emails containing related content will show placeholder text.';\n }\n if (!biz.hasSnapshot) {\n return 'Business has no snapshot reports. Emails containing snapshot-related content will show placeholder text.';\n }\n if (!biz.hasSalesperson) {\n return 'Business has no assigned salesperson. Emails containing salesperson-related content will show placeholder text.';\n }\n return '';\n }\n\n private getWarningKey(biz: {\n accountGroupId: string;\n name: string;\n hasSnapshot: boolean;\n hasSalesperson: boolean;\n }): string {\n if (!biz.hasSalesperson && !biz.hasSnapshot) {\n return 'EMAIL_TEMPLATES.PREVIEW.BUSINESS_SELECTOR.NO_SNAPSHOT_OR_SALESPERSON_WARNING';\n }\n if (!biz.hasSnapshot) {\n return 'EMAIL_TEMPLATES.PREVIEW.BUSINESS_SELECTOR.NO_SNAPSHOT_WARNING';\n }\n if (!biz.hasSalesperson) {\n return 'EMAIL_TEMPLATES.PREVIEW.BUSINESS_SELECTOR.NO_SALESPERSON_WARNING';\n }\n return '';\n }\n\n constructor(\n private readonly translate: TranslateService,\n private readonly dialog: MatDialog,\n ) {}\n\n async openBusinessSelectDialog(): Promise {\n const dialog = this.dialog.open(BusinessSelectorDialogComponent, {\n data: this.dialogData,\n });\n const ag: AccountGroup = await firstValueFrom(dialog.afterClosed());\n if (ag) {\n const sel: SelectedBusiness = {\n accountGroupId: ag.accountGroupId,\n name: ag.napData.companyName,\n hasSnapshot: ag.snapshotReports?.snapshots?.length > 0,\n hasSalesperson: !!ag.accountGroupExternalIdentifiers?.salesPersonId,\n };\n this.name = sel.name;\n this.showWarning = this.shouldShowWarning(sel);\n this.businessSelected.emit(sel);\n }\n }\n}\n", "
\n \n \n Business for preview\n
\n {{ name }}\n \n warning_filled\n \n \n
\n \n
\n", "import {\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n OnDestroy,\n Optional,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { combineLatest, Observable, of, Subject } from 'rxjs';\nimport { filter, map, pluck, startWith, switchMap, take } from 'rxjs/operators';\n\nimport {\n AdvancedSections,\n DYNAMIC_COMPONENT_DATA_TOKEN,\n EmailBuilderComponent,\n EmailBuilderDataService,\n EmailContentData,\n EmailPreviewHydrationData,\n PLACEHOLDER_LOGO_URL_TOKEN,\n TEMPLATE_HYDRATION_DATA_TOKEN,\n VariableMenuItem,\n} from '@galaxy/email-ui/email-builder';\nimport { TranslateService } from '@ngx-translate/core';\nimport { SwitchingWorkState, WorkStates } from '@vendasta/rx-utils/work-state';\nimport { Context } from '../context';\n\nimport { AppNamespace, OwnerType } from '@vendasta/email-builder';\nimport { SelectedBusiness } from '../../../shared/preview-business-selector/preview-business-selector.component';\nimport { TEMPLATE_EXPORTER_KEY, TemplateExporter } from '../dependencies';\nimport { SnackbarService } from '@vendasta/galaxy/snackbar-service';\nimport { MarketingPromptBuilder } from './prompt.service';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { PROMPT_BUILDER_INJECTION_TOKEN } from '@galaxy/email-ui/email-builder/src/components/suggest-content-dialog/suggest-content-dialog.component';\nimport { SubscriptionList } from '@vendasta/rx-utils';\n\nconst initialContent: EmailContentData = {\n emailSetup: {\n pageSetup: {},\n topLogo: {\n showLogo: 'show',\n },\n colors: {},\n footer: {},\n },\n emailContentBlocks: [],\n};\n\nexport type TemplateID = string;\n\ninterface Fetch {\n templateId: TemplateID;\n partnerId: string;\n}\n\n/**\n * TemplateEditorPageComponent is a page that handles loading the content of an\n * email template for editing in memory.\n */\n@Component({\n selector: 'app-template-edit-page',\n templateUrl: './template-editor-page.component.html',\n styleUrls: ['./template-editor-page.component.scss'],\n providers: [{ provide: PROMPT_BUILDER_INJECTION_TOKEN, useClass: MarketingPromptBuilder }, MarketingPromptBuilder],\n})\nexport class TemplateEditorPageComponent implements OnDestroy {\n @HostBinding('class') class = 'obs-email-builder-page';\n\n readonly pageTitle$: Observable;\n private templateId: string;\n\n readonly previewHydrationData$: Observable;\n private readonly selectedBusiness$: Subject = new Subject();\n\n private readonly fetchState$ = new SwitchingWorkState((fetch: Fetch) => {\n const emptyContent: EmailContentData = { ...initialContent };\n if (!fetch.templateId) {\n return of(emptyContent);\n }\n return this.dataSvc\n .loadTemplate$(OwnerType.OWNER_TYPE_PARTNER, fetch.partnerId, AppNamespace.CAMPAIGNS, fetch.templateId)\n .pipe(take(1));\n });\n\n readonly fetchState: WorkStates = this.fetchState$;\n\n @ViewChild('emailBuilder') readonly emailBuilderChild: EmailBuilderComponent;\n\n @Input() previousPageTitle: string;\n @Input() previousPageURL: string;\n @Input() locale: string = undefined;\n\n @Input() set context(ctx: Context) {\n let templateId: string;\n if (ctx.isNew()) {\n templateId = ''; // Don't try to load existing content\n } else {\n templateId = ctx.getExistingTemplateId();\n }\n this.fetchState$.startWork({\n partnerId: ctx.getPartnerId(),\n templateId: templateId,\n });\n this.templateId = templateId;\n }\n\n @Output() legacyTemplateDetected = new EventEmitter();\n readonly advancedSections: AdvancedSections = {\n topLogo: true,\n pageSetup: true,\n footer: true,\n colors: true,\n };\n\n private readonly subs = SubscriptionList.new();\n\n constructor(\n @Inject(TEMPLATE_EXPORTER_KEY) private readonly exporter: TemplateExporter,\n @Inject(TEMPLATE_HYDRATION_DATA_TOKEN)\n @Optional()\n readonly initialPreviewHydrationData$: Observable,\n @Inject(PLACEHOLDER_LOGO_URL_TOKEN) readonly placeholderLogo$: Observable,\n @Inject(DYNAMIC_COMPONENT_DATA_TOKEN) readonly dynamicComponents: VariableMenuItem[],\n private readonly alerts: SnackbarService,\n private readonly route: ActivatedRoute,\n private readonly dataSvc: EmailBuilderDataService,\n private readonly i18n: TranslateService,\n private readonly router: Router,\n private readonly breakpointObserver: BreakpointObserver,\n ) {\n this.pageTitle$ = this.fetchState.workResults$.pipe(\n startWith({ name: '' }),\n switchMap((v: EmailContentData) =>\n this.i18n.stream('CAMPAIGN_DETAILS.EDIT_TEMPLATE.TITLE', {\n title: v?.name || '',\n }),\n ),\n );\n const failEvents$ = this.fetchState$.successEvents$.pipe(filter((success) => !success));\n this.subs.add(failEvents$, () => {\n if (this.templateId) {\n this.returnToOld();\n }\n });\n this.subs.add(this.exporter.workState.successEvents$, (success) => {\n if (success) {\n this.emailBuilderChild.saveEmail();\n }\n });\n this.previewHydrationData$ = combineLatest([\n initialPreviewHydrationData$,\n this.selectedBusiness$.pipe(startWith(undefined)),\n ]).pipe(\n map(([initial, selected]: [EmailPreviewHydrationData, SelectedBusiness]) => {\n const output = Object.assign({}, initial);\n if (selected) {\n output.business = selected;\n }\n return output;\n }),\n );\n }\n\n handleContentChanges(event: EmailContentData): void {\n this.exporter.updateContentData(event);\n }\n\n handleRenderUpdated(html: string): void {\n this.exporter.updateHTML(html);\n }\n\n handleRenderFailed(): void {\n this.alerts.errorSnack('There was a problem generating the email preview. Try selecting another business.');\n }\n\n handleBusinessSelected($event: SelectedBusiness): void {\n this.selectedBusiness$.next($event);\n }\n\n ngOnDestroy(): void {\n this.subs.destroy();\n }\n\n returnToOld(): void {\n const campaignId$ = this.route.queryParams.pipe(pluck('campaignId'));\n const campaignStepId$ = this.route.queryParams.pipe(pluck('campaignStepId'));\n combineLatest([campaignId$, campaignStepId$]).subscribe(([campaignId, campaignStepId]) =>\n this.router.navigate([`/marketing/campaign/${campaignId}/${campaignStepId}/template/${this.templateId}`], {\n queryParams: { angular: 'true' },\n }),\n );\n }\n\n protected readonly undefined = undefined;\n}\n", "\n \n \n \n \n {{ pageTitle$ | async }}\n \n \n \n \n\n \n \n \n
\n \n
\n \n
\n \n
\n", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { BusinessSelectorDialogModule } from '@vendasta/businesses';\nimport { GalaxyFormFieldModule } from '@vendasta/galaxy/form-field';\nimport { GalaxyTooltipModule } from '@vendasta/galaxy/tooltip';\nimport { PreviewBusinessSelectorComponent } from './preview-business-selector.component';\n\n@NgModule({\n declarations: [PreviewBusinessSelectorComponent],\n imports: [\n CommonModule,\n GalaxyFormFieldModule,\n GalaxyTooltipModule,\n MatButtonModule,\n MatIconModule,\n TranslateModule,\n BusinessSelectorDialogModule,\n ],\n exports: [PreviewBusinessSelectorComponent],\n})\nexport class PreviewBusinessSelectorModule {}\n", "import { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { CoreModule, Environment, EnvironmentService } from '@galaxy/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { GalaxyEmptyStateModule } from '@vendasta/galaxy/empty-state';\nimport { GalaxyPageModule } from '@vendasta/galaxy/page';\nimport { AsyncUiModule, EmptyStateModule } from '@vendasta/uikit';\nimport { TemplateEditorPageComponent } from './template-editor-page/template-editor-page.component';\nimport { EmailBuilderModule, EmailPreviewHydrationData } from '@galaxy/email-ui/email-builder';\nimport { PreviewBusinessSelectorModule } from '../../shared/preview-business-selector/preview-business-selector.module';\nimport { combineLatest, Observable } from 'rxjs';\nimport { map, switchMap } from 'rxjs/operators';\nimport { AccountGroupApiService, ListRequest, PagedResponse } from '@vendasta/account-group';\nimport { AccountGroup } from '@vendasta/account-group/lib/_internal/objects/api';\n\n@NgModule({\n declarations: [TemplateEditorPageComponent],\n imports: [\n CommonModule,\n GalaxyPageModule,\n MatProgressSpinnerModule,\n AsyncUiModule,\n TranslateModule,\n EmptyStateModule,\n HttpClientModule,\n CoreModule, // Needed to auth HTTP requests\n MatDialogModule,\n MatButtonModule,\n GalaxyEmptyStateModule,\n MatIconModule,\n EmailBuilderModule,\n PreviewBusinessSelectorModule,\n ],\n exports: [TemplateEditorPageComponent],\n})\nexport class BaseTemplateEditingModule {}\n\nexport function buildHydrationData(\n partnerId$: Observable,\n marketId$: Observable,\n environmentService: EnvironmentService,\n accountGroups: AccountGroupApiService,\n): Observable {\n const accountGroup$ = partnerId$.pipe(\n switchMap((partnerId) =>\n accountGroups\n .list(\n new ListRequest({\n pageSize: 1,\n filters: {\n partnerId,\n },\n projectionFilter: {\n napData: true,\n snapshotReports: true,\n accountGroupExternalIdentifiers: true,\n },\n }),\n )\n .pipe(map((v: PagedResponse) => (v.accountGroups || [])[0])),\n ),\n );\n\n return combineLatest([\n partnerId$,\n marketId$, //\n accountGroup$,\n ]).pipe(\n map(([partnerId, marketId, accountGroup]: [string, string, AccountGroup]) => ({\n business: {\n accountGroupId: accountGroup.accountGroupId,\n name: accountGroup.napData?.companyName,\n hasSnapshot: accountGroup.snapshotReports?.snapshots?.length > 0,\n hasSalesperson: !!accountGroup.accountGroupExternalIdentifiers.salesPersonId,\n },\n userID: getExampleUserId(environmentService.getEnvironment()),\n partnerID: partnerId,\n marketID: marketId,\n locale: 'en',\n })),\n );\n}\n\nfunction getExampleUserId(env: Environment): string {\n let userId = 'U-862a9c0e-e46d-42ca-9f1b-21303a52ca9c';\n if (env === Environment.PROD) {\n userId = 'U-4c8b64a1-4120-40b6-82d2-f2e0daa2fcc1';\n }\n return userId;\n}\n"], "mappings": "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", "names": ["TEMPLATE_EXPORTER_KEY", "MarketingPromptBuilder", "build", "s", "factory", "\u0275fac", "_MarketingPromptBuilder", "\u0275\u0275elementContainerStart", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275property", "ctx_r0", "warning", "PreviewBusinessSelectorComponent", "hydrationData", "v", "biz", "business", "name", "showWarning", "shouldShowWarning", "warningKey", "getWarningKey", "getWarning", "dialogData", "partnerId", "partnerID", "marketId", "marketID", "projectionFilterOverride", "napData", "accountGroupExternalIdentifiers", "snapshotReports", "hasSalesperson", "hasSnapshot", "constructor", "translate", "dialog", "layout", "businessSelected", "EventEmitter", "openBusinessSelectDialog", "__async", "open", "BusinessSelectorDialogComponent", "data", "ag", "firstValueFrom", "afterClosed", "sel", "accountGroupId", "companyName", "snapshots", "length", "salesPersonId", "emit", "\u0275\u0275directiveInject", "TranslateService", "MatDialog", "selectors", "inputs", "outputs", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275template", "PreviewBusinessSelectorComponent_ng_container_6_Template", "\u0275\u0275listener", "\u0275\u0275textInterpolate", "_PreviewBusinessSelectorComponent", "\u0275\u0275elementStart", "\u0275\u0275element", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275property", "ctx_r0", "previousPageTitle", "previousPageURL", "\u0275\u0275elementContainerStart", "\u0275\u0275listener", "$event", "\u0275\u0275restoreView", "_r2", "\u0275\u0275nextContext", "\u0275\u0275resetView", "handleContentChanges", "handleRenderUpdated", "handleRenderFailed", "handleBusinessSelected", "data_r3", "\u0275\u0275pipeBind1", "placeholderLogo$", "advancedSections", "locale", "previewHydrationData$", "dynamicComponents", "initialContent", "emailSetup", "pageSetup", "topLogo", "showLogo", "colors", "footer", "emailContentBlocks", "TemplateEditorPageComponent", "context", "ctx", "templateId", "isNew", "getExistingTemplateId", "fetchState$", "startWork", "partnerId", "getPartnerId", "constructor", "exporter", "initialPreviewHydrationData$", "alerts", "route", "dataSvc", "i18n", "router", "breakpointObserver", "class", "selectedBusiness$", "Subject", "SwitchingWorkState", "fetch", "emptyContent", "__spreadValues", "loadTemplate$", "OwnerType", "OWNER_TYPE_PARTNER", "AppNamespace", "CAMPAIGNS", "pipe", "take", "of", "fetchState", "undefined", "legacyTemplateDetected", "EventEmitter", "subs", "SubscriptionList", "new", "pageTitle$", "workResults$", "startWith", "name", "switchMap", "v", "stream", "title", "failEvents$", "successEvents$", "filter", "success", "add", "returnToOld", "workState", "emailBuilderChild", "saveEmail", "combineLatest", "map", "initial", "selected", "output", "Object", "assign", "business", "event", "updateContentData", "html", "updateHTML", "errorSnack", "next", "ngOnDestroy", "destroy", "campaignId$", "queryParams", "pluck", "campaignStepId$", "subscribe", "campaignId", "campaignStepId", "navigate", "angular", "\u0275\u0275directiveInject", "TEMPLATE_EXPORTER_KEY", "TEMPLATE_HYDRATION_DATA_TOKEN", "PLACEHOLDER_LOGO_URL_TOKEN", "DYNAMIC_COMPONENT_DATA_TOKEN", "SnackbarService", "ActivatedRoute", "EmailBuilderDataService", "TranslateService", "Router", "BreakpointObserver", "selectors", "viewQuery", "rf", "\u0275\u0275classMap", "provide", "PROMPT_BUILDER_INJECTION_TOKEN", "useClass", "MarketingPromptBuilder", "ngContentSelectors", "_c1", "decls", "vars", "consts", "template", "\u0275\u0275template", "TemplateEditorPageComponent_glxy_page_nav_2_Template", "\u0275\u0275text", "\u0275\u0275projection", "TemplateEditorPageComponent_ng_container_12_Template", "\u0275\u0275textInterpolate", "isLoading$", "isSuccess$", "_TemplateEditorPageComponent", "PreviewBusinessSelectorModule", "CommonModule", "GalaxyFormFieldModule", "GalaxyTooltipModule", "MatButtonModule", "MatIconModule", "TranslateModule", "BusinessSelectorDialogModule", "_PreviewBusinessSelectorModule", "BaseTemplateEditingModule", "CommonModule", "GalaxyPageModule", "MatProgressSpinnerModule", "AsyncUiModule", "TranslateModule", "EmptyStateModule", "HttpClientModule", "CoreModule", "MatDialogModule", "MatButtonModule", "GalaxyEmptyStateModule", "MatIconModule", "EmailBuilderModule", "PreviewBusinessSelectorModule", "_BaseTemplateEditingModule", "buildHydrationData", "partnerId$", "marketId$", "environmentService", "accountGroups", "accountGroup$", "pipe", "switchMap", "partnerId", "list", "ListRequest", "pageSize", "filters", "projectionFilter", "napData", "snapshotReports", "accountGroupExternalIdentifiers", "map", "v", "combineLatest", "marketId", "accountGroup", "business", "accountGroupId", "name", "companyName", "hasSnapshot", "snapshots", "length", "hasSalesperson", "salesPersonId", "userID", "getExampleUserId", "getEnvironment", "partnerID", "marketID", "locale", "env", "userId", "Environment", "PROD"] }