{ "version": 3, "sources": ["libs/campaign/src/lib/campaign-email-builder/page/shared/email-template-saver.ts", "libs/campaign/src/lib/campaign-email-builder/page/send-preview-dialog/send-preview-dialog.component.ts", "libs/campaign/src/lib/campaign-email-builder/page/send-preview-dialog/send-preview-dialog.component.html", "libs/campaign/src/lib/campaign-email-builder/page/page-actions/page-actions.component.ts", "libs/campaign/src/lib/campaign-email-builder/page/page-actions/page-actions.component.html", "libs/campaign/src/lib/campaign-email-builder/page/page.component.ts", "libs/campaign/src/lib/campaign-email-builder/page/page.component.html", "libs/campaign/src/lib/campaign-email-builder/campaign-email-builder.component.ts", "libs/campaign/src/lib/campaign-email-builder/campaign-email-builder.component.html", "libs/campaign/src/lib/campaign-email-builder/campaign-email-builder.routing.ts", "libs/campaign/src/lib/campaign-email-builder/campaign-email-builder.module.ts"], "sourcesContent": ["import { Inject, Injectable } from '@angular/core';\nimport { EmailBuilderDataService, EmailContentData } from '@galaxy/email-ui/email-builder';\nimport { TemplateReferenceInterface } from '@vendasta/campaigns';\nimport { AppNamespace, OwnerType } from '@vendasta/email-builder';\nimport { SnackbarService } from '@vendasta/galaxy/snackbar-service';\nimport { ObservableWorkState, WorkStates } from '@vendasta/rx-utils/work-state';\nimport { Observable, catchError, of, throwError } from 'rxjs';\nimport { shareReplay } from 'rxjs/internal/operators/shareReplay';\nimport { map, switchMap, take } from 'rxjs/operators';\nimport { v4 as uuidv4 } from 'uuid';\nimport { CampaignData } from '../../../campaign-details-page/campaign-details/interface';\nimport { Context } from './context';\nimport { TemplateExporter } from './dependencies';\n\nexport interface SaveResult {\n templateId: string;\n campaignStepId: string;\n campaign?: CampaignData;\n}\n\nexport interface TemplateService {\n createNewTemplate$(\n ownerType: OwnerType,\n ownerId: string,\n namespace: AppNamespace,\n templateId: string,\n data: EmailContentData,\n html: string,\n parent?: TemplateReferenceInterface,\n ): Observable;\n\n updateExistingTemplate$(\n ownerType: OwnerType,\n ownerId: string,\n namespace: AppNamespace,\n templateId: string,\n data: EmailContentData,\n html: string,\n ): Observable;\n\n validateTemplate(data: EmailContentData): boolean;\n}\n\nexport interface TemplateIDGenerator {\n generate(): string;\n}\n\n@Injectable({ providedIn: 'root' })\nclass UUIDTemplateIDGenerator implements TemplateIDGenerator {\n generate(): string {\n return `EMAIL-BUILDER-${uuidv4()}`;\n }\n}\n\n@Injectable()\nexport class EmailTemplateSaver implements TemplateExporter {\n private latestData?: EmailContentData;\n private latestHTML?: string;\n\n private readonly workState$ = new ObservableWorkState();\n public readonly workState: WorkStates = this.workState$;\n constructor(\n @Inject(EmailBuilderDataService) private readonly emailBuilderDataService: TemplateService,\n @Inject(UUIDTemplateIDGenerator) private readonly idGenerator: TemplateIDGenerator = new UUIDTemplateIDGenerator(),\n private readonly snackbarService: SnackbarService,\n ) {\n this.initialize();\n }\n\n initialize(): void {\n this.latestData = {} as EmailContentData;\n this.latestHTML = '';\n }\n\n saveWithWorkState$(\n ownerId: string,\n emailTemplateContext: Context,\n campaignId: string,\n campaignStepId?: string,\n parent?: TemplateReferenceInterface,\n ): Observable {\n const o$ = this.doSave(ownerId, emailTemplateContext, campaignId, campaignStepId, parent).pipe(\n shareReplay({\n bufferSize: 1,\n refCount: true,\n }),\n );\n this.workState$.startWork(o$);\n return o$;\n }\n\n save$(\n ownerId: string,\n emailTemplateContext: Context,\n campaignId: string,\n campaignStepId?: string,\n parent?: TemplateReferenceInterface,\n ): Observable {\n return this.doSave(ownerId, emailTemplateContext, campaignId, campaignStepId, parent);\n }\n\n private doSave(\n ownerId: string,\n emailTemplateContext: Context,\n campaignId: string,\n campaignStepId?: string,\n parent?: TemplateReferenceInterface,\n ): Observable {\n if (!this.latestData) {\n return throwError('no email content data');\n }\n if (!this.latestHTML) {\n return throwError('no email HTML');\n }\n\n const createOrUpdateArgs = {\n ownerId: ownerId,\n data: this.latestData,\n html: this.latestHTML,\n };\n\n if (emailTemplateContext.isNew()) {\n return this.createNew(createOrUpdateArgs, parent);\n } else {\n return this.updateExisting(campaignId, campaignStepId, createOrUpdateArgs, emailTemplateContext);\n }\n }\n\n private updateExisting(\n campaignID: string,\n campaignStepID: string,\n updateArgs: {\n ownerId: string;\n data: EmailContentData;\n html: string;\n },\n ctx: Context,\n ): Observable {\n return this.emailBuilderDataService\n .updateExistingTemplate$(\n OwnerType.OWNER_TYPE_ACCOUNT_GROUP,\n updateArgs.ownerId,\n AppNamespace.CAMPAIGNS,\n ctx.getExistingTemplateId(),\n updateArgs.data,\n updateArgs.html,\n )\n .pipe(\n catchError((err) => {\n this.snackbarService.openErrorSnack('EMAIL_BUILDER.SAVING.GENERIC_ERROR');\n throw new Error(err);\n }),\n switchMap((ebTemplateSucceeded) => {\n if (!ebTemplateSucceeded) {\n return of({} as SaveResult);\n }\n const campaignData: CampaignData = {} as CampaignData;\n campaignData.name = updateArgs.data.name || '';\n return of({\n templateId: ctx.getExistingTemplateId(),\n campaignStepId: campaignStepID,\n campaign: campaignData,\n } as SaveResult);\n }),\n );\n }\n\n private createNew(\n createArgs: {\n ownerId: string;\n data: EmailContentData;\n html: string;\n },\n parent?: TemplateReferenceInterface,\n ): Observable {\n const templateId = this.idGenerator.generate();\n return this.emailBuilderDataService\n .createNewTemplate$(\n OwnerType.OWNER_TYPE_ACCOUNT_GROUP,\n createArgs.ownerId,\n AppNamespace.CAMPAIGNS,\n templateId,\n createArgs.data,\n createArgs.html,\n parent,\n )\n .pipe(\n take(1),\n catchError((err) => {\n this.snackbarService.openErrorSnack('EMAIL_BUILDER.SAVING.GENERIC_ERROR');\n throw new Error(err);\n }),\n map((ebTemplateSucceeded) => {\n if (!ebTemplateSucceeded) {\n return {} as SaveResult;\n }\n return {\n templateId: templateId || '',\n } as SaveResult;\n }),\n );\n }\n\n updateContentData(data: EmailContentData): void {\n this.latestData = data;\n }\n\n updateHTML(html: string): void {\n this.latestHTML = html;\n }\n\n getLatestData(): EmailContentData {\n return this.latestData || ({} as EmailContentData);\n }\n\n getLatestHTML(): string {\n return this.latestHTML || '';\n }\n}\n\nexport function getStepIdFromCreateResponse(templateId: string, response: string): string {\n const parsed = JSON.parse(response);\n const steps: Array = parsed['campaign_schedule'];\n const lastSteps = steps.reverse();\n for (let i = 0; i < lastSteps.length; i++) {\n if (lastSteps[i]?.template_id === templateId) {\n return lastSteps[i].campaign_step_id;\n }\n }\n throw new Error('Could not extract campaign step ID from response');\n}\n", "import { Component, Inject } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule, UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\nimport {\n MAT_DIALOG_DATA,\n MatDialogActions,\n MatDialogClose,\n MatDialogContent,\n MatDialogRef,\n} from '@angular/material/dialog';\nimport {\n EmailContentData,\n EmailPreviewHydrationData,\n PreviewContextSelectorModule,\n PreviewRenderingService,\n} from '@galaxy/email-ui/email-builder';\nimport { WhitelabelService } from '@galaxy/partner';\nimport { TranslateService } from '@ngx-translate/core';\nimport { SnackbarService } from '@vendasta/galaxy/snackbar-service';\nimport { SubscriptionList } from '@vendasta/rx-utils';\nimport { combineLatest, Observable } from 'rxjs';\nimport { map, switchMap, take } from 'rxjs/operators';\nimport { SelectedPreviewContext } from '@galaxy/email-ui/email-builder/src/components/preview-context-selector/preview-context-selector.component';\nimport { GalaxyWrapModule } from '@vendasta/galaxy/galaxy-wrap';\nimport { MatButton } from '@angular/material/button';\nimport { MatFormField } from '@angular/material/form-field';\nimport { MatOption } from '@angular/material/autocomplete';\nimport { MatSelect } from '@angular/material/select';\nimport { EmailTemplateService, SenderType } from '@vendasta/campaigns';\nimport { TranslateModule } from '@ngx-translate/core';\n\nexport interface SendPreviewDialogData {\n business: SelectedPreviewContext;\n subjectLine: string;\n emailHtmlContent: string;\n partnerID: string;\n marketID: string;\n locale?: string;\n}\n\n@Component({\n templateUrl: './send-preview-dialog.component.html',\n imports: [\n FormsModule,\n GalaxyWrapModule,\n MatButton,\n MatDialogActions,\n MatDialogClose,\n MatDialogContent,\n MatFormField,\n MatOption,\n MatSelect,\n ReactiveFormsModule,\n PreviewContextSelectorModule,\n TranslateModule,\n ],\n})\nexport class SendPreviewDialogComponent {\n public form: UntypedFormGroup;\n hydrationData: EmailPreviewHydrationData;\n\n private subs = SubscriptionList.new();\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: SendPreviewDialogData,\n public dialogRef: MatDialogRef,\n private formBuilder: UntypedFormBuilder,\n private emailPreviewService: PreviewRenderingService,\n private readonly campaignsService: EmailTemplateService,\n private readonly alerts: SnackbarService,\n private whitelabelService: WhitelabelService,\n @Inject('USER_ID') private userId$: Observable,\n private readonly translate: TranslateService,\n ) {\n this.hydrationData = {\n business: data.business,\n userID: undefined, // Will be set from subscription below\n contactID: 'default',\n partnerID: this.data.partnerID,\n marketID: this.data.marketID,\n businessID: data.business.accountGroupId,\n };\n this.subs.add(this.userId$, (uid) => {\n this.hydrationData.userID = uid;\n this.emailPreviewService.setPreviewHydrationParams(this.hydrationData);\n });\n this.emailPreviewService.setLocale(data.locale);\n this.userId$.subscribe();\n this.form = this.formBuilder.group({\n sendTo: formBuilder.control('myself'),\n });\n }\n\n sendPreviewEmail(): void {\n const target = this.form.get('sendTo').value;\n if (target === 'myself') {\n this.userId$\n .pipe(\n switchMap((userID) => {\n const hydrationData = {\n subjectLine: this.data.subjectLine,\n } as EmailContentData;\n\n return this.hydrateTemplate(userID, this.hydrationData?.contactID, hydrationData);\n }),\n switchMap((result) => {\n return this.getSenderInfo(result.userID, result.content, result.subject);\n }),\n take(1),\n switchMap((result) => {\n return this.campaignsService.sendPreview(\n {\n id: result.businessID,\n type: SenderType.SENDER_TYPE_BUSINESS,\n },\n result.content,\n result.subject || 'Preview for unnamed template',\n result.userID,\n );\n }),\n )\n .subscribe(\n () => this.handleSendSuccess(),\n (error) => this.handleSendError(error),\n );\n }\n }\n\n private hydrateTemplate(\n userID: string,\n contactID: string,\n hydrationData: EmailContentData,\n ): Observable<{\n userID: string;\n partnerID: string;\n content: string;\n subject: string;\n namespace: string;\n contactID: string;\n businessID: string;\n }> {\n const hydratedContent = this.emailPreviewService.hydrateTemplate(hydrationData, this.data.emailHtmlContent);\n const hydratedSubject = this.emailPreviewService.hydrateSubject(hydrationData, this.data.subjectLine);\n return combineLatest([hydratedContent, hydratedSubject]).pipe(\n map(([content, subject]) => ({\n userID: userID,\n partnerID: this.data.partnerID,\n namespace: this.data.partnerID,\n contactID: contactID,\n content: content,\n subject: subject,\n businessID: this.data.business.accountGroupId,\n })),\n );\n }\n\n private getSenderInfo(\n userID: string,\n content: string,\n subject: string,\n ): Observable<{\n userID: string;\n partnerID: string;\n content: string;\n subject: string;\n senderName: string;\n senderEmail: string;\n businessID: string;\n }> {\n return this.whitelabelService.getConfiguration(this.data.partnerID, null).pipe(\n map((configuration) => {\n // The defaults here are written to mirror AA/src/app/handlers/marketing_automation/templates.py:126\n const senderName = configuration?.emailConfiguration?.senderName || 'Campaign Email Preview';\n const senderEmail = configuration?.emailConfiguration?.senderEmail || 'noreply@vendasta.com';\n return {\n userID: userID,\n partnerID: this.data.partnerID,\n content: content,\n subject: subject,\n senderName: senderName,\n senderEmail: senderEmail,\n businessID: this.data.business.accountGroupId,\n };\n }),\n );\n }\n\n handleSendSuccess(): void {\n this.alerts.openSuccessSnack(this.translate.instant('CAMPAIGN_PREVIEW.SEND_SUCCESS'));\n this.dialogRef.close();\n }\n\n handleSendError(error: Error): void {\n this.alerts.openErrorSnack(this.translate.instant('CAMPAIGN_PREVIEW.SEND_FAILED'));\n console.error(error);\n }\n\n updateSelectedContact($event: string): void {\n this.hydrationData.contactID = $event;\n this.emailPreviewService.setPreviewHydrationParams(this.hydrationData);\n }\n}\n", "\n
\n \n \n \n {{\n 'CAMPAIGN_GENERIC.TEST_EMAIL.SEND_TEST_EMAIL_TO_MYSELF' | translate\n }}\n \n \n \n \n \n \n
\n
\n\n \n \n\n", "import { Component, Inject, Input, OnDestroy, OnInit } from '@angular/core';\nimport { firstValueFrom, Observable, Subscription } from 'rxjs';\nimport { startWith } from 'rxjs/operators';\nimport { EmailTemplateSaver, SaveResult } from '../shared/email-template-saver';\nimport { Context } from '../shared/context';\nimport { SnackbarService } from '@vendasta/galaxy/snackbar-service';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { CommonModule, Location } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { GalaxyButtonLoadingIndicatorModule } from '@vendasta/galaxy/button-loading-indicator';\nimport { CampaignStateService } from '../../../campaign-details-page/campaign-details/campaign-state.service';\nimport { EmailPreviewHydrationData, TEMPLATE_HYDRATION_DATA_TOKEN } from '@galaxy/email-ui/email-builder';\nimport { MatDialog } from '@angular/material/dialog';\nimport {\n SendPreviewDialogComponent,\n SendPreviewDialogData,\n} from '../send-preview-dialog/send-preview-dialog.component';\n\n@Component({\n selector: 'campaign-editor-actions',\n templateUrl: './page-actions.component.html',\n styleUrls: ['./page-actions.component.scss'],\n imports: [\n CommonModule, //\n MatButtonModule,\n TranslateModule,\n GalaxyButtonLoadingIndicatorModule,\n ],\n})\nexport class PageActionsComponent implements OnDestroy, OnInit {\n @Input() ownerId = '';\n @Input() context: Context | undefined = undefined;\n @Input() campaignStepId = '';\n @Input() campaignId = '';\n readonly saving$: Observable;\n private subscriptions: Subscription[] = [];\n\n constructor(\n @Inject(TEMPLATE_HYDRATION_DATA_TOKEN) private readonly hydrationData$: Observable,\n private readonly location: Location,\n private readonly alerts: SnackbarService,\n private readonly i18n: TranslateService,\n private readonly saver: EmailTemplateSaver,\n private readonly campaignStateService: CampaignStateService,\n private dialog: MatDialog,\n ) {\n this.saving$ = this.saver.workState.isLoading$.pipe(startWith(true));\n }\n\n ngOnInit(): void {\n this.saver.initialize();\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach((s) => s.unsubscribe());\n }\n\n async openPreviewEmailDialog(): Promise {\n const contentData = this.saver.getLatestData();\n const htmlContent = this.saver.getLatestHTML();\n const data: EmailPreviewHydrationData = await firstValueFrom(this.hydrationData$);\n this.dialog.open(SendPreviewDialogComponent, {\n data: {\n partnerID: data.partnerID,\n marketID: data.marketID,\n business: data.business,\n subjectLine: contentData.subjectLine,\n emailHtmlContent: htmlContent,\n locale: data.locale,\n } as SendPreviewDialogData,\n width: '400px',\n });\n }\n\n handleSaveClicked(): void {\n this.subscriptions.push(\n this.saver.saveWithWorkState$(this.ownerId, this.context, this.campaignId, this.campaignStepId).subscribe({\n next: (res: SaveResult) => this.handleSaveSuccess(this.ownerId, this.campaignId, res),\n error: (err: Error) => this.handleSaveError(err),\n }),\n );\n }\n\n private handleSaveSuccess(ownerId: string, campaignId: string, res: SaveResult): void {\n this.alerts.openSuccessSnack(this.i18n.instant('EMAIL_BUILDER.PAGE.ACTIONS.SAVE_SUCCESS'));\n if (this.context?.isNew()) {\n this.campaignStateService.addCampaignStep(\n this.context,\n this.campaignId,\n res.templateId,\n this.saver.getLatestData().name || '',\n );\n this.context = Context.forExistingTemplate(ownerId, res.templateId);\n } else {\n this.campaignStateService.updateCampaignStep(\n this.context,\n this.campaignId,\n res.campaignStepId,\n res.templateId,\n res.campaign?.name || undefined,\n undefined,\n );\n }\n\n this.campaignStepId = res.campaignStepId;\n const reloadURL = `/template/${res.templateId}/edit?campaignId=${campaignId}&campaignStepId=${res.campaignStepId}`;\n this.location.go(reloadURL);\n }\n\n private handleSaveError(err: Error): void {\n this.alerts.openErrorSnack(this.i18n.instant('EMAIL_BUILDER.PAGE.ACTIONS.ERROR_NOTICE'));\n console.error(err);\n }\n}\n", "\n\n", "import { CommonModule } from '@angular/common';\nimport { Component, Inject, Input, OnDestroy, Optional, ViewChild } from '@angular/core';\nimport {\n AdvancedSections,\n DYNAMIC_COMPONENT_DATA_TOKEN,\n EMAIL_FOOTER_TOKEN,\n EMAIL_TOP_LOGO_TOKEN,\n EmailBuilderComponent,\n EmailBuilderDataService,\n EmailBuilderModule,\n EmailContentData,\n EmailPreviewHydrationData,\n PLACEHOLDER_LOGO_URL_TOKEN,\n PreviewContextSelectorModule,\n TEMPLATE_HYDRATION_DATA_TOKEN,\n VariableMenuItem,\n} from '@galaxy/email-ui/email-builder';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { AppNamespace, OwnerType } from '@vendasta/email-builder';\nimport { GalaxyPageModule } from '@vendasta/galaxy/page';\nimport { SwitchingWorkState, WorkStates } from '@vendasta/rx-utils/work-state';\nimport { AsyncUiModule } from '@vendasta/uikit';\nimport { BehaviorSubject, EMPTY, Observable, of } from 'rxjs';\nimport { skipWhile, take, map } from 'rxjs/operators';\n\nimport { Context } from './shared/context';\nimport { TEMPLATE_EXPORTER_KEY, TemplateExporter } from './shared/dependencies';\nimport { EmailTemplateSaver } from './shared/email-template-saver';\nimport {\n Footer,\n TopLogo,\n} from '@galaxy/email-ui/email-builder/src/components/email-advanced-settings/email-advanced-settings.component';\nimport { SnackbarService } from '@vendasta/galaxy/snackbar-service';\nimport { SubscriptionList } from '@vendasta/rx-utils';\nimport { SelectedPreviewContext } from '@galaxy/email-ui/email-builder/src/components/preview-context-selector/preview-context-selector.component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { BreakpointObserver } from '@angular/cdk/layout';\n\nconst initialContent: EmailContentData = {\n subjectLine: '',\n name: '',\n previewText: '',\n emailSetup: {\n pageSetup: {\n collapsed: true,\n },\n topLogo: {\n showLogo: 'show',\n collapsed: true,\n },\n colors: {\n collapsed: true,\n },\n footer: {\n collapsed: true,\n },\n },\n emailContentBlocks: [],\n};\n\ninterface Fetch {\n templateId: string;\n ownerType: OwnerType;\n ownerId: string;\n}\n\n@Component({\n selector: 'campaign-editor-page',\n templateUrl: './page.component.html',\n styleUrls: ['./page.component.scss'],\n imports: [\n CommonModule,\n GalaxyPageModule,\n AsyncUiModule,\n TranslateModule,\n EmailBuilderModule,\n PreviewContextSelectorModule,\n MatButtonModule,\n ],\n providers: [{ provide: TEMPLATE_EXPORTER_KEY, useExisting: EmailTemplateSaver }],\n})\nexport class PageComponent implements OnDestroy {\n private templateId = '';\n content$: Observable = EMPTY;\n\n readonly previewHydrationData$$: BehaviorSubject =\n new BehaviorSubject({} as EmailPreviewHydrationData);\n\n @Input() previousPageTitle = '';\n @Input() previousPageURL = '';\n @Input() locale = '';\n\n readonly advancedSections: AdvancedSections = {\n topLogo: true,\n pageSetup: true,\n footer: true,\n colors: true,\n };\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 ownerType: ctx.getOwnerType(),\n ownerId: ctx.getOwnerId(),\n templateId: templateId,\n });\n this.templateId = templateId;\n }\n\n private readonly fetchState$ = new SwitchingWorkState((fetch: Fetch) => {\n const emptyContent: EmailContentData = { ...initialContent, emailContentBlocks: [] };\n if (!fetch.templateId) {\n this.content$ = of(emptyContent);\n } else {\n this.content$ = this.dataSvc\n .loadTemplate$(fetch.ownerType, fetch.ownerId, AppNamespace.CAMPAIGNS, fetch.templateId)\n .pipe(take(1));\n }\n return this.content$.pipe(\n map((content) => {\n if (this.footer) {\n content.emailSetup.footer = this.footer;\n }\n if (this.defaultTopLogo?.defaultSourceUrl && content.emailSetup.topLogo?.showLogo === 'show') {\n content.emailSetup.topLogo = { ...this.defaultTopLogo, ...content.emailSetup.topLogo };\n }\n return content;\n }),\n );\n });\n\n readonly fetchState: WorkStates = this.fetchState$;\n private readonly subs = SubscriptionList.new();\n\n @ViewChild('emailBuilder') private readonly emailBuilderChild: EmailBuilderComponent;\n\n constructor(\n private readonly dataSvc: EmailBuilderDataService,\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) @Optional() readonly placeholderLogo$: Observable,\n @Inject(EMAIL_FOOTER_TOKEN) @Optional() readonly footer: Footer,\n @Inject(EMAIL_TOP_LOGO_TOKEN) @Optional() readonly defaultTopLogo: TopLogo,\n\n @Inject(DYNAMIC_COMPONENT_DATA_TOKEN) @Optional() readonly dynamicComponents: VariableMenuItem[],\n private readonly alerts: SnackbarService,\n private readonly breakpointObserver: BreakpointObserver,\n ) {\n this.subs.add(this.exporter.workState.successEvents$, (success) => {\n if (success) {\n this.emailBuilderChild.saveEmail();\n }\n });\n if (initialPreviewHydrationData$) {\n this.subs.addSub(\n initialPreviewHydrationData$\n .pipe(\n skipWhile((val) => !val),\n take(1),\n )\n .subscribe((data) => this.previewHydrationData$$.next(data)),\n );\n }\n }\n\n handlePreviewContextChanges(event: SelectedPreviewContext): void {\n const updatedParams = {\n ...this.previewHydrationData$$.value,\n accountGroupId: event.accountGroupId,\n contactID: event.contactID,\n useFakeData: event.useFakeData,\n };\n this.previewHydrationData$$.next(updatedParams);\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.openErrorSnack('EMAIL_BUILDER.PAGE.HANDLE_RENDER_ERROR');\n }\n\n ngOnDestroy(): void {\n this.subs.destroy();\n }\n}\n", "\n \n \n \n \n {{ 'EMAIL_BUILDER.PAGE.TITLE' | translate }}\n \n \n \n \n \n \n \n
\n \n
\n \n
\n \n
\n", "import { Component, Inject } from '@angular/core';\nimport { ActivatedRoute, Data } from '@angular/router';\nimport { combineLatest, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Title } from '@angular/platform-browser';\nimport { Context } from './page/shared/context';\nimport { PAGE_ROUTES } from '../routing-constants';\nimport { CONFIG_TOKEN, CONFIG_TYPE } from '../../../shared/src/tokens';\n\nexport enum PageType {\n CREATE = 'create',\n EDIT = 'edit',\n}\n\n@Component({\n templateUrl: './campaign-email-builder.component.html',\n standalone: false,\n})\nexport class CampaignEmailBuilderComponent {\n backPageUrl$: Observable;\n context$: Observable;\n campaignId$: Observable;\n campaignStepId$: Observable;\n templateId$: Observable;\n locale$: Observable;\n ownerId$: Observable;\n\n constructor(\n private readonly titleService: Title,\n private readonly route: ActivatedRoute,\n @Inject(CONFIG_TOKEN) private readonly config: CONFIG_TYPE,\n ) {\n this.campaignId$ = this.route.queryParams.pipe(map((p) => p['campaignId']));\n this.campaignStepId$ = this.route.queryParams.pipe(map((p) => p['campaignStepId']));\n this.templateId$ = this.route.params.pipe(map((p) => p['templateId']));\n this.locale$ = this.route.queryParams.pipe(map((p) => p['locale']));\n this.ownerId$ = config.sender$.pipe(map((sender) => sender.id));\n\n this.context$ = combineLatest([this.route.data, this.ownerId$, this.templateId$]).pipe(\n map(([data, ownerId, templateId]: [Data, string, string]) => {\n switch (data['pageType']) {\n case PageType.CREATE:\n return Context.forNewTemplate(ownerId);\n case PageType.EDIT:\n return Context.forExistingTemplate(ownerId, templateId);\n default:\n throw new Error(`Unexpected pageType: ${data['pageType']}`);\n }\n }),\n );\n this.backPageUrl$ = combineLatest([this.campaignId$, this.config.basePath$]).pipe(\n map(([campaignId, basePath]) => `${basePath}/${PAGE_ROUTES.ROOT.CAMPAIGN_SUBROUTES.DETAILS(campaignId)}`),\n );\n }\n}\n", "\n \n \n \n\n", "import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { HasUnsavedChangesGuard } from '@galaxy/email-ui/email-builder';\nimport { CampaignEmailBuilderComponent, PageType } from './campaign-email-builder.component';\n\n@NgModule({\n imports: [\n RouterModule.forChild([\n {\n path: '',\n component: CampaignEmailBuilderComponent,\n },\n {\n path: 'new',\n pathMatch: 'full',\n component: CampaignEmailBuilderComponent,\n data: {\n pageType: PageType.CREATE,\n },\n canDeactivate: [HasUnsavedChangesGuard],\n },\n {\n path: ':templateId',\n pathMatch: 'full',\n redirectTo: ':templateId/edit',\n },\n {\n path: ':templateId/edit',\n pathMatch: 'full',\n component: CampaignEmailBuilderComponent,\n data: {\n pageType: PageType.EDIT,\n },\n canDeactivate: [HasUnsavedChangesGuard],\n },\n ]),\n ],\n providers: [],\n exports: [RouterModule],\n})\nexport class CampaignEmailBuilderRouting {}\n", "import { CommonModule } from '@angular/common';\nimport { PageActionsComponent } from './page/page-actions/page-actions.component';\nimport { PageComponent } from './page/page.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { CampaignEmailBuilderRouting } from './campaign-email-builder.routing';\nimport { CampaignEmailBuilderComponent } from './campaign-email-builder.component';\nimport { NgModule } from '@angular/core';\nimport { EmailTemplateSaver } from './page/shared/email-template-saver';\nimport { CampaignStateService } from '../campaign-details-page/campaign-details/campaign-state.service';\nimport { CampaignsService } from '../campaign-details-page/campaign-details/campaigns.service';\nimport { DynamicComponentSelectorModule } from '@galaxy/email-ui/email-builder/src/components/dynamic-component-selector';\nimport { PreviewContextSelectorModule } from '@galaxy/email-ui/email-builder/src/components/preview-context-selector/preview-context-selector.module';\n\n@NgModule({\n declarations: [CampaignEmailBuilderComponent],\n imports: [\n CommonModule, //\n PageActionsComponent,\n PageComponent,\n TranslateModule,\n CampaignEmailBuilderRouting,\n DynamicComponentSelectorModule,\n PreviewContextSelectorModule,\n ],\n exports: [CampaignEmailBuilderComponent],\n providers: [EmailTemplateSaver, CampaignStateService, CampaignsService],\n})\nexport class CampaignEmailBuilderModule {}\n"], "mappings": "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", "names": ["UUIDTemplateIDGenerator", "EmailTemplateSaver", "init_email_template_saver", "__esmMin", "init_email_builder", "init_vendasta_email_builder", "init_src", "init_esm", "init_shareReplay", "init_operators", "init_esm_browser", "generate", "uuidv4", "factory", "\u0275fac", "providedIn", "constructor", "emailBuilderDataService", "idGenerator", "snackbarService", "workState$", "ObservableWorkState", "workState", "initialize", "latestData", "latestHTML", "saveWithWorkState$", "ownerId", "emailTemplateContext", "campaignId", "campaignStepId", "parent", "o$", "doSave", "pipe", "shareReplay", "bufferSize", "refCount", "startWork", "save$", "throwError", "createOrUpdateArgs", "data", "html", "isNew", "createNew", "updateExisting", "campaignID", "campaignStepID", "updateArgs", "ctx", "updateExistingTemplate$", "OwnerType", "OWNER_TYPE_ACCOUNT_GROUP", "AppNamespace", "CAMPAIGNS", "getExistingTemplateId", "catchError", "err", "openErrorSnack", "Error", "switchMap", "ebTemplateSucceeded", "of", "campaignData", "name", "templateId", "campaign", "createArgs", "createNewTemplate$", "take", "map", "updateContentData", "updateHTML", "getLatestData", "getLatestHTML", "\u0275\u0275inject", "EmailBuilderDataService", "SnackbarService", "SendPreviewDialogComponent", "init_send_preview_dialog_component", "__esmMin", "init_forms", "init_dialog", "init_email_builder", "init_src", "init_esm", "init_operators", "init_galaxy_wrap", "init_button", "init_form_field", "init_autocomplete", "init_select", "init_vendasta_campaigns", "init_ngx_translate_core", "constructor", "data", "dialogRef", "formBuilder", "emailPreviewService", "campaignsService", "alerts", "whitelabelService", "userId$", "translate", "subs", "SubscriptionList", "new", "hydrationData", "business", "userID", "undefined", "contactID", "partnerID", "marketID", "businessID", "accountGroupId", "add", "uid", "setPreviewHydrationParams", "setLocale", "locale", "subscribe", "form", "group", "sendTo", "control", "sendPreviewEmail", "get", "value", "pipe", "switchMap", "subjectLine", "hydrateTemplate", "result", "getSenderInfo", "content", "subject", "take", "sendPreview", "id", "type", "SenderType", "SENDER_TYPE_BUSINESS", "handleSendSuccess", "error", "handleSendError", "hydratedContent", "emailHtmlContent", "hydratedSubject", "hydrateSubject", "combineLatest", "map", "namespace", "getConfiguration", "configuration", "senderName", "emailConfiguration", "senderEmail", "openSuccessSnack", "instant", "close", "openErrorSnack", "console", "updateSelectedContact", "$event", "\u0275\u0275directiveInject", "MAT_DIALOG_DATA", "MatDialogRef", "UntypedFormBuilder", "PreviewRenderingService", "EmailTemplateService", "SnackbarService", "WhitelabelService", "TranslateService", "selectors", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275listener", "\u0275\u0275advance", "\u0275\u0275property", "\u0275\u0275textInterpolate", "\u0275\u0275pipeBind1", "FormsModule", "\u0275NgNoValidate", "NgControlStatus", "NgControlStatusGroup", "GalaxyWrapModule", "GalaxyWrapComponent", "MatButton", "MatDialogActions", "MatDialogClose", "MatDialogContent", "MatFormField", "MatOption", "MatSelect", "ReactiveFormsModule", "FormGroupDirective", "FormControlName", "PreviewContextSelectorModule", "PreviewContextSelectorComponent", "TranslateModule", "TranslatePipe", "encapsulation", "PageActionsComponent", "init_page_actions_component", "__esmMin", "init_esm", "init_operators", "init_context", "init_ngx_translate_core", "init_common", "init_button", "init_button_loading_indicator", "init_email_builder", "init_send_preview_dialog_component", "constructor", "hydrationData$", "location", "alerts", "i18n", "saver", "campaignStateService", "dialog", "ownerId", "context", "undefined", "campaignStepId", "campaignId", "subscriptions", "saving$", "workState", "isLoading$", "pipe", "startWith", "ngOnInit", "initialize", "ngOnDestroy", "forEach", "s", "unsubscribe", "openPreviewEmailDialog", "__async", "contentData", "getLatestData", "htmlContent", "getLatestHTML", "data", "firstValueFrom", "open", "SendPreviewDialogComponent", "partnerID", "marketID", "business", "subjectLine", "emailHtmlContent", "locale", "width", "handleSaveClicked", "push", "saveWithWorkState$", "subscribe", "next", "res", "handleSaveSuccess", "error", "err", "handleSaveError", "openSuccessSnack", "instant", "isNew", "addCampaignStep", "templateId", "name", "Context", "forExistingTemplate", "updateCampaignStep", "campaign", "reloadURL", "go", "openErrorSnack", "console", "\u0275\u0275directiveInject", "TEMPLATE_HYDRATION_DATA_TOKEN", "Location", "SnackbarService", "TranslateService", "EmailTemplateSaver", "CampaignStateService", "MatDialog", "selectors", "inputs", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275elementStart", "\u0275\u0275listener", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "\u0275\u0275pipeBind1", "\u0275\u0275property", "CommonModule", "AsyncPipe", "MatButtonModule", "MatButton", "TranslateModule", "TranslatePipe", "GalaxyButtonLoadingIndicatorModule", "ButtonLoadingIndicatorComponent", "styles", "\u0275\u0275elementStart", "\u0275\u0275element", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275property", "ctx_r0", "previousPageURL", "previousPageTitle", "\u0275\u0275elementContainerStart", "\u0275\u0275listener", "$event", "\u0275\u0275restoreView", "_r2", "\u0275\u0275nextContext", "\u0275\u0275resetView", "handleContentChanges", "handleRenderUpdated", "handleRenderFailed", "handlePreviewContextChanges", "data_r3", "\u0275\u0275pipeBind1", "placeholderLogo$", "advancedSections", "locale", "dynamicComponents", "previewHydrationData$$", "initialContent", "PageComponent", "init_page_component", "__esmMin", "init_common", "init_email_builder", "init_ngx_translate_core", "init_vendasta_email_builder", "init_page", "init_src", "init_esm", "init_operators", "init_dependencies", "init_email_template_saver", "init_button", "subjectLine", "name", "previewText", "emailSetup", "pageSetup", "collapsed", "topLogo", "showLogo", "colors", "footer", "emailContentBlocks", "context", "ctx", "templateId", "isNew", "getExistingTemplateId", "fetchState$", "startWork", "ownerType", "getOwnerType", "ownerId", "getOwnerId", "constructor", "dataSvc", "exporter", "initialPreviewHydrationData$", "defaultTopLogo", "alerts", "breakpointObserver", "content$", "EMPTY", "BehaviorSubject", "SwitchingWorkState", "fetch", "emptyContent", "__spreadProps", "__spreadValues", "loadTemplate$", "AppNamespace", "CAMPAIGNS", "pipe", "take", "of", "map", "content", "defaultSourceUrl", "fetchState", "subs", "SubscriptionList", "new", "add", "workState", "successEvents$", "success", "emailBuilderChild", "saveEmail", "addSub", "skipWhile", "val", "subscribe", "data", "next", "event", "updatedParams", "value", "accountGroupId", "contactID", "useFakeData", "updateContentData", "html", "updateHTML", "openErrorSnack", "ngOnDestroy", "destroy", "\u0275\u0275directiveInject", "EmailBuilderDataService", "TEMPLATE_EXPORTER_KEY", "TEMPLATE_HYDRATION_DATA_TOKEN", "PLACEHOLDER_LOGO_URL_TOKEN", "EMAIL_FOOTER_TOKEN", "EMAIL_TOP_LOGO_TOKEN", "DYNAMIC_COMPONENT_DATA_TOKEN", "SnackbarService", "BreakpointObserver", "selectors", "viewQuery", "rf", "provide", "useExisting", "EmailTemplateSaver", "ngContentSelectors", "_c1", "decls", "vars", "consts", "template", "\u0275\u0275template", "PageComponent_glxy_page_nav_2_Template", "\u0275\u0275text", "\u0275\u0275projection", "PageComponent_ng_container_12_Template", "\u0275\u0275textInterpolate", "isLoading$", "isSuccess$", "workResults$", "CommonModule", "NgIf", "AsyncPipe", "GalaxyPageModule", "PageToolbarComponent", "PageTitleDirective", "PageNavDirective", "PageNavButtonComponent", "PageActionsDirective", "AsyncUiModule", "AsyncUiComponent", "SuccessDataDirective", "TranslateModule", "TranslatePipe", "EmailBuilderModule", "EmailBuilderComponent", "PreviewContextSelectorModule", "PreviewContextSelectorComponent", "MatButtonModule", "styles", "PageType", "CampaignEmailBuilderComponent", "init_campaign_email_builder_component", "__esmMin", "init_esm", "init_operators", "init_context", "init_routing_constants", "init_tokens", "constructor", "titleService", "route", "config", "campaignId$", "queryParams", "pipe", "map", "p", "campaignStepId$", "templateId$", "params", "locale$", "ownerId$", "sender$", "sender", "id", "context$", "combineLatest", "data", "ownerId", "templateId", "CREATE", "Context", "forNewTemplate", "EDIT", "forExistingTemplate", "Error", "backPageUrl$", "basePath$", "campaignId", "basePath", "PAGE_ROUTES", "ROOT", "CAMPAIGN_SUBROUTES", "DETAILS", "\u0275\u0275directiveInject", "Title", "ActivatedRoute", "CONFIG_TOKEN", "selectors", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275elementStart", "\u0275\u0275elementContainerStart", "\u0275\u0275element", "\u0275\u0275elementEnd", "\u0275\u0275propertyInterpolate", "\u0275\u0275pipeBind1", "\u0275\u0275property", "\u0275\u0275advance", "CampaignEmailBuilderRouting", "init_campaign_email_builder_routing", "__esmMin", "init_router", "init_email_builder", "init_campaign_email_builder_component", "RouterModule", "forChild", "path", "component", "CampaignEmailBuilderComponent", "pathMatch", "data", "pageType", "PageType", "CREATE", "canDeactivate", "HasUnsavedChangesGuard", "redirectTo", "EDIT", "CampaignEmailBuilderModule", "init_campaign_email_builder_module", "__esmMin", "init_common", "init_page_actions_component", "init_page_component", "init_ngx_translate_core", "init_campaign_email_builder_routing", "init_email_template_saver", "init_campaign_state_service", "init_campaigns_service", "init_dynamic_component_selector", "init_preview_context_selector_module", "EmailTemplateSaver", "CampaignStateService", "CampaignsService", "imports", "CommonModule", "PageActionsComponent", "PageComponent", "TranslateModule", "CampaignEmailBuilderRouting", "DynamicComponentSelectorModule", "PreviewContextSelectorModule"] }