{"version":3,"sources":["apps/partner-center-client/src/app/marketing/campaign.service.ts","apps/partner-center-client/src/app/accounts/change-edition-dialog.service.ts","apps/partner-center-client/src/app/accounts/constants.ts","apps/partner-center-client/src/app/accounts/active-campaign-change-edition-dialog/ac-change-edition-dialog.component.ts","apps/partner-center-client/src/app/accounts/active-campaign-change-edition-dialog/ac-change-edition-dialog.component.html","apps/partner-center-client/src/app/accounts/campaign-dialog-item-store.service.ts","apps/partner-center-client/src/app/accounts/campaign-dialog-item.component.ts","apps/partner-center-client/src/app/accounts/campaign-dialog-store.service.ts","apps/partner-center-client/src/app/accounts/campaigns-dialog.component.ts","apps/partner-center-client/src/app/accounts/change-edition-dialog.component.ts","apps/partner-center-client/src/app/accounts/change-edition-dialog.component.html","apps/partner-center-client/src/app/accounts/deactivate-dependent-product-dialog/deactivate-dependent-product-dialog.component.ts","apps/partner-center-client/src/app/accounts/deactivate-dependent-product-dialog/deactivate-dependent-product-dialog.component.html","apps/partner-center-client/src/app/accounts/deactivate-dialog/deactivate-dialog.component.ts","apps/partner-center-client/src/app/accounts/deactivate-dialog/deactivate-dialog.component.html","apps/partner-center-client/src/app/accounts/deactivate-immediately-dialog.component.ts","apps/partner-center-client/src/app/accounts/order-form-submission-dialog.component.ts","apps/partner-center-client/src/app/accounts/request-spend-change-dialog/request-spend-change-dialog.component.ts","apps/partner-center-client/src/app/accounts/request-spend-change-dialog/request-spend-change-dialog.component.html","node_modules/@vendasta/executive-report/fesm2020/vendasta-executive-report.mjs"],"sourcesContent":["import { Inject, Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { map, switchMap } from 'rxjs/operators';\n\nimport { HttpClient } from '@angular/common/http';\nimport { CampaignService as CampaignsSDK, Statuses } from '@vendasta/campaigns';\nimport { ApiService } from '../api-service/api.service';\nimport {\n Campaign,\n LookupCampaignsResponse,\n RecipientCampaignsResponse,\n RecipientCampaignStatusResponse,\n SimpleCampaign,\n} from './campaign';\n\nconst GET_CAMPAIGN_URL = '/_ajax/v1/campaign/get';\n\n@Injectable({ providedIn: 'root' })\nexport class CampaignService {\n private campaignsSubject: BehaviorSubject = new BehaviorSubject(null);\n\n constructor(\n private apiService: ApiService,\n private readonly http: HttpClient,\n private readonly campaignsSDK: CampaignsSDK,\n @Inject('PARTNER_ID') private readonly partnerId$: Observable,\n ) {}\n\n getCampaign(campaignId: string): Observable {\n return this.apiService.get(GET_CAMPAIGN_URL + '?campaignId=' + campaignId).pipe(\n map((result) => {\n return Campaign.createFromRawData(result);\n }),\n );\n }\n\n toggleUserOnCampaign(\n campaignId: string,\n recipientCampaignId: string,\n currentStatus: string,\n userId: string,\n accountGroupId: string,\n ): Observable {\n const url = '/_ajax/v1/recipient-campaign/status/';\n const body = {\n campaignId: campaignId,\n recipientCampaignId: recipientCampaignId,\n status: currentStatus === 'active' ? 'paused' : 'active',\n userId: userId,\n accountGroupId: accountGroupId,\n };\n\n return this.apiService.post(url, body).pipe(\n map((r) => ({\n recipientCampaignId: r['recipient_campaign_id'],\n scheduledTime: r['scheduled_time'] ? new Date(r['scheduled_time']) : null,\n stageName: r['stage_name'],\n stageType: r['stage_type'],\n status: r['status'],\n })),\n );\n }\n\n get campaigns(): Observable {\n return this.campaignsSubject.asObservable();\n }\n\n lookupCampaigns(searchTerm: string, status: string[], pageLimit: number): Observable {\n const statuses = status.map((s) => {\n switch (s) {\n case 'active':\n return Statuses.STATUSES_ACTIVE;\n case 'published':\n return Statuses.STATUSES_PUBLISHED;\n case 'archived':\n return Statuses.STATUSES_ARCHIVED;\n case 'draft':\n return Statuses.STATUSES_DRAFT;\n default:\n return Statuses.STATUSES_UNSPECIFIED;\n }\n });\n\n return this.partnerId$.pipe(\n switchMap((partnerId) =>\n this.campaignsSDK.list(partnerId, undefined, statuses, searchTerm, {\n pageSize: pageLimit,\n }),\n ),\n map(\n (cs) =>\n ({\n campaigns: (cs || []).map(\n (v) =>\n ({\n id: v.campaignId,\n name: v.name,\n status: this.convertStatus(v.status),\n }) as SimpleCampaign,\n ),\n }) as LookupCampaignsResponse,\n ),\n );\n }\n\n getRecipientCampaigns(\n partnerId: string,\n accountGroupId: string,\n email: string,\n ): Observable {\n const url = `api/v3/recipient/campaigns/`;\n const body = { partnerId: partnerId, accountGroupId: accountGroupId, email: email };\n return this.apiService.post(url, body, { withCredentials: true });\n }\n\n hasSnapshot(campaignId: string): Observable {\n return this.getCampaign(campaignId).pipe(\n map((result) => {\n return !!result.campaignSchedule.find((schedule) => schedule.stepType === 'snapshot-creation');\n }),\n );\n }\n\n private convertStatus(status: Statuses): string {\n switch (status) {\n case Statuses.STATUSES_ACTIVE:\n return 'active';\n case Statuses.STATUSES_PUBLISHED:\n return 'published';\n case Statuses.STATUSES_DRAFT:\n return 'draft';\n case Statuses.STATUSES_ARCHIVED:\n return 'archived';\n default:\n console.error('Unexpected status', status);\n return undefined;\n }\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { LineItemCacheService } from '@galaxy/inventory-ui';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BlameDeactivationReasons } from '@vendasta/accounts/legacy';\nimport { EditionChangeInformation, OrderItemParameters, Reasons } from '@vendasta/order-fulfillment';\nimport { LineItem, Order } from '@vendasta/sales-orders';\nimport moment from 'moment';\nimport { combineLatest, Observable, ReplaySubject } from 'rxjs';\nimport { filter, map, shareReplay, switchMap, take, tap } from 'rxjs/operators';\nimport { ActivationSettingsApiService } from '../activation/activation-settings-api.service';\nimport { ActivateAppService } from '../activation/core/activate-app/activate-app.service';\nimport { ActivationService } from '../activation/core/activation.service';\nimport { PendingActivationsService } from '../activation/core/pending-activations.service';\nimport { ProductOrderFormStoreService } from '../activation/core/product-order-form.store.service';\nimport { AccountService } from '../core/account.service';\nimport { User } from '../core/user';\nimport { VConfigService } from '../vconfig/vconfig.service';\n\nexport interface ChangeEditionDialogDataInterface {\n appId: string;\n appName: string;\n appIconUrl: string;\n currentEditionId: string;\n activationId: string;\n hasUWMEdition$: Observable;\n reasons: BlameDeactivationReasons;\n autoSelectEdition: string;\n isTrial: boolean;\n dependentProductNames: string[];\n}\n\nexport interface EditionInfo {\n editionTitle: string;\n editionId: string;\n}\n\nexport interface ChangeEditionRequest {\n activationId: string;\n appId: string;\n newEditionId: string;\n reasons?: BlameDeactivationReasons;\n}\n\nconst EMAIL_SMBS_PRODUCT_ACTIVATED_CONFIG_KEY = 'email_smbs_product_activated';\n\n@Injectable({ providedIn: 'root' })\nexport class ChangeEditionDialogService {\n orderConfirmationUrl = '/businesses/accounts/{}/activation/confirmation';\n\n displayEmailUsersOption$$ = new ReplaySubject(1);\n displayEmailUsersOption$ = this.displayEmailUsersOption$$.asObservable();\n users$$ = new ReplaySubject(1);\n users$ = this.users$$.asObservable();\n\n constructor(\n private accountService: AccountService,\n private activateAppService: ActivateAppService,\n private pendingActivationService: PendingActivationsService,\n private activationService: ActivationService,\n private router: Router,\n private translate: TranslateService,\n private productStoreService: ProductOrderFormStoreService,\n @Inject('PARTNER_ID') readonly partnerId$: Observable,\n @Inject('MARKET_ID') private readonly marketId$: Observable,\n private vconfigService: VConfigService,\n private activationSettingsApiService: ActivationSettingsApiService,\n private lineItemCacheService: LineItemCacheService,\n ) {\n combineLatest([this.partnerId$, this.marketId$])\n .pipe(\n switchMap(([partnerId, marketId]) => {\n return this.vconfigService.getConfigurations(partnerId, [EMAIL_SMBS_PRODUCT_ACTIVATED_CONFIG_KEY], marketId);\n }),\n shareReplay(1),\n )\n .subscribe((resp) => {\n this.displayEmailUsersOption$$.next(resp[EMAIL_SMBS_PRODUCT_ACTIVATED_CONFIG_KEY]);\n });\n\n combineLatest([this.accountService.users$, this.accountService.loadingUsers$])\n .pipe(\n filter(([_, loading]) => !loading),\n shareReplay(1),\n )\n .subscribe(([users, _]) => {\n this.users$$.next(users || []);\n });\n }\n\n /**\n * Activate/Change edition for an App.\n *\n * @param appId - ID of the app to change edition for.\n * @param activationId - ID of the activation we're changing edition for.\n * @param selectedEditionId - Edition to change to.\n * @param reasons - why they are performing this action, from the downgrade workflow\n * @param emailSmbUsersOnActivation - whether the SMBs on the account should be emailed upon successful activation\n * @return An observable that emits true if the order for edition change was created, false if it failed.\n */\n activateEditionForApp(\n appId: string,\n activationId: string,\n selectedEditionId: string,\n reasons?: BlameDeactivationReasons,\n emailSmbUsersOnActivation?: boolean,\n ): Observable {\n return this.accountService.accountID$.pipe(\n switchMap((businessId) =>\n this.activationSettingsApiService.setNotificationSettings(businessId, [appId], emailSmbUsersOnActivation),\n ),\n switchMap((_) => this.changeEditionForApp(appId, activationId, selectedEditionId, reasons)),\n tap(() => {\n this.accountService.reloadProducts();\n }),\n );\n }\n\n /**\n * Using OrderFulfillmentService, change edition for an app.\n *\n * @param itemId - ID of the app to change edition for.\n * @param activationId - ID of the activation we're changing edition for.\n * @param editionId - Edition to change to.\n * @param reasons - User input describing why they changed edition, from the downgrade workflow\n * @return An observable that emits true if it created the order for changing edition, false if it failed.\n */\n changeEditionForApp(\n itemId: string,\n activationId: string,\n editionId: string,\n reasons: BlameDeactivationReasons,\n ): Observable {\n return combineLatest([this.accountService.accountID$, this.partnerId$]).pipe(\n take(1),\n switchMap(([businessId, partnerId]) => {\n if (!businessId) {\n throw new Error('Business ID not valid');\n }\n const editionChangeInformation = new EditionChangeInformation({\n currentActivationId: activationId,\n });\n\n if (reasons) {\n editionChangeInformation.editionChangeReasons = new Reasons({\n choices: reasons.choices,\n comments: reasons.comments,\n });\n }\n\n const orderItemParams = new OrderItemParameters({\n businessId,\n itemId,\n editionId,\n editionChangeInformation,\n });\n\n return this.activateAppService.createOrder(partnerId, [orderItemParams]).pipe(\n map((orderId) => {\n return !!orderId;\n }),\n );\n }),\n );\n }\n\n changeEditions(changeRequests: ChangeEditionRequest[]): Observable {\n return combineLatest([this.accountService.accountID$, this.partnerId$]).pipe(\n take(1),\n switchMap(([businessId, partnerId]) => {\n if (!businessId) {\n throw new Error('Business ID not valid');\n }\n const orderItems: OrderItemParameters[] = changeRequests.map((changeRequest) => {\n const editionChangeInformation = new EditionChangeInformation({\n currentActivationId: changeRequest.activationId,\n });\n if (changeRequest.reasons) {\n const reasons = changeRequest.reasons;\n editionChangeInformation.editionChangeReasons = new Reasons({\n choices: reasons.choices,\n comments: reasons.comments,\n });\n }\n const orderItemParams = new OrderItemParameters({\n businessId,\n itemId: changeRequest.appId,\n editionId: changeRequest.newEditionId,\n editionChangeInformation,\n });\n return orderItemParams;\n });\n return this.activateAppService.createOrder(partnerId, orderItems).pipe(map((orderId) => !!orderId));\n }),\n tap(() => {\n this.accountService.reloadProducts();\n }),\n );\n }\n\n handleTrialUpgradeToPaid(appId: string, editionId: string): void {\n combineLatest([this.accountService.accountID$, this.partnerId$, this.marketId$])\n .pipe(take(1))\n .subscribe(([accountGroupId, partnerId, marketId]) => {\n this.activationService.selectItem({\n appId: appId,\n editionId: editionId,\n quantity: 1,\n });\n\n const lineItems = new LineItem({\n appKey: {\n appId: appId,\n editionId: editionId,\n },\n quantity: 1,\n // Default to free for now as we are lacking retail pricing here.\n currentRevenue: {\n revenueComponents: [{}],\n },\n });\n\n const order = new Order({\n businessId: accountGroupId,\n marketId: marketId,\n partnerId: partnerId,\n requestedActivation: moment().toDate(),\n lineItems: [lineItems],\n tags: [this.translate.instant('SALES_ORDERS.MANUAL_ACTIVATION_TAG')],\n });\n\n this.productStoreService.cacheOrder(order);\n this.lineItemCacheService.cacheLineItems(accountGroupId, [\n { itemId: appId, editionId: editionId, itemType: 'app', quantity: 1 },\n ]);\n\n const queryParams = {\n accountGroupId,\n appIds: JSON.stringify([\n {\n quantity: 1,\n appId: appId,\n editionId: editionId,\n },\n ]),\n navigationSource: 'change-edition-dialog',\n addonIds: '[]',\n partnerId,\n };\n const url = this.orderConfirmationUrl.replace('{}', accountGroupId);\n this.router.navigate([url], { queryParams });\n });\n }\n}\n","/*****************************************************************\n * I18N *\n *****************************************************************/\n\n// Root path to Change Edition Dialog I18N in en_devel.json\nexport const CHANGE_EDITION_DIALOG_I18N_PATH = 'CHANGE_EDITION_DIALOG';\nexport const UPGRADE_EDITION_DIALOG_I18N_PATH = 'UPGRADE_EDITION_DIALOG';\n\n//PATHS\nconst ACTIVE_CAMPAIGN_CHANGE_EDITION_DIALOG_I18N_PATH = `${CHANGE_EDITION_DIALOG_I18N_PATH}.ACTIVE_CAMPAIGN`;\nconst ACTIVE_CAMPAIGN_UPGRADE_EDITION_DIALOG_I18N_PATH = `${UPGRADE_EDITION_DIALOG_I18N_PATH}.ACTIVE_CAMPAIGN`;\n\nconst ACTIVE_CAMPAIGN_CHANGE_EDITION_DIALOG_TEXT_I18N = {\n title: { key: `${ACTIVE_CAMPAIGN_CHANGE_EDITION_DIALOG_I18N_PATH}.TITLE` },\n selectEdition: { key: `${ACTIVE_CAMPAIGN_CHANGE_EDITION_DIALOG_I18N_PATH}.SELECT_EDITION` },\n selectContacts: { key: `${ACTIVE_CAMPAIGN_CHANGE_EDITION_DIALOG_I18N_PATH}.SELECT_CONTACTS` },\n current: { key: `${ACTIVE_CAMPAIGN_CHANGE_EDITION_DIALOG_I18N_PATH}.CURRENT` },\n confirmation: { key: `${ACTIVE_CAMPAIGN_CHANGE_EDITION_DIALOG_I18N_PATH}.CONFIRMATION` },\n cancelButton: { key: `${ACTIVE_CAMPAIGN_CHANGE_EDITION_DIALOG_I18N_PATH}.CANCEL_BUTTON` },\n changeEditionButton: { key: `${ACTIVE_CAMPAIGN_CHANGE_EDITION_DIALOG_I18N_PATH}.CHANGE_EDITION_BUTTON` },\n};\n\nconst ACTIVE_CAMPAIGN_UPGRADE_EDITION_DIALOG_TEXT_I18N = {\n title: { key: `${ACTIVE_CAMPAIGN_UPGRADE_EDITION_DIALOG_I18N_PATH}.TITLE` },\n selectEdition: { key: `${ACTIVE_CAMPAIGN_UPGRADE_EDITION_DIALOG_I18N_PATH}.SELECT_EDITION` },\n selectContacts: { key: `${ACTIVE_CAMPAIGN_UPGRADE_EDITION_DIALOG_I18N_PATH}.SELECT_CONTACTS` },\n current: { key: `${ACTIVE_CAMPAIGN_UPGRADE_EDITION_DIALOG_I18N_PATH}.CURRENT` },\n confirmation: { key: `${ACTIVE_CAMPAIGN_UPGRADE_EDITION_DIALOG_I18N_PATH}.CONFIRMATION` },\n cancelButton: { key: `${ACTIVE_CAMPAIGN_UPGRADE_EDITION_DIALOG_I18N_PATH}.CANCEL_BUTTON` },\n upgradeEditionButton: { key: `${ACTIVE_CAMPAIGN_UPGRADE_EDITION_DIALOG_I18N_PATH}.UPGRADE_EDITION_BUTTON` },\n};\n\n/*****************************************************************\n * PAGE CONFIGS *\n *****************************************************************/\n\nexport const ACTIVE_CAMPAIGN_CHANGE_EDITION_DIALOG_CONFIG = {\n title: ACTIVE_CAMPAIGN_CHANGE_EDITION_DIALOG_TEXT_I18N.title,\n selectEdition: ACTIVE_CAMPAIGN_CHANGE_EDITION_DIALOG_TEXT_I18N.selectEdition,\n selectContacts: ACTIVE_CAMPAIGN_CHANGE_EDITION_DIALOG_TEXT_I18N.selectContacts,\n current: ACTIVE_CAMPAIGN_CHANGE_EDITION_DIALOG_TEXT_I18N.current,\n confirmation: ACTIVE_CAMPAIGN_CHANGE_EDITION_DIALOG_TEXT_I18N.confirmation,\n cancelButton: ACTIVE_CAMPAIGN_CHANGE_EDITION_DIALOG_TEXT_I18N.cancelButton,\n changeEditionButton: ACTIVE_CAMPAIGN_CHANGE_EDITION_DIALOG_TEXT_I18N.changeEditionButton,\n};\n\nexport const ACTIVE_CAMPAIGN_UPGRADE_EDITION_DIALOG_CONFIG = {\n title: ACTIVE_CAMPAIGN_UPGRADE_EDITION_DIALOG_TEXT_I18N.title,\n selectEdition: ACTIVE_CAMPAIGN_UPGRADE_EDITION_DIALOG_TEXT_I18N.selectEdition,\n selectContacts: ACTIVE_CAMPAIGN_UPGRADE_EDITION_DIALOG_TEXT_I18N.selectContacts,\n current: ACTIVE_CAMPAIGN_UPGRADE_EDITION_DIALOG_TEXT_I18N.current,\n confirmation: ACTIVE_CAMPAIGN_UPGRADE_EDITION_DIALOG_TEXT_I18N.confirmation,\n cancelButton: ACTIVE_CAMPAIGN_UPGRADE_EDITION_DIALOG_TEXT_I18N.cancelButton,\n upgradeEditionButton: ACTIVE_CAMPAIGN_UPGRADE_EDITION_DIALOG_TEXT_I18N.upgradeEditionButton,\n};\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatRadioChange } from '@angular/material/radio';\nimport { EnvironmentService } from '@galaxy/core';\nimport { SnackbarService } from '@vendasta/galaxy/snackbar-service';\nimport { Observable } from 'rxjs';\nimport { first } from 'rxjs/operators';\nimport { User } from '../../core/user';\nimport {\n activeCampaignAppIdV2,\n ContactLimit,\n editionIdFromPlanTypeAndContactLimit,\n PlanType,\n planTypeAndContactLimitFromEditionId,\n} from '../../marketplace-app/global-brands-constants';\nimport { PreviewEmailDialogComponent } from '../../preview-email-dialog/preview-email-dialog.component';\nimport { ChangeEditionDialogDataInterface, ChangeEditionDialogService } from '../change-edition-dialog.service';\nimport {\n ACTIVE_CAMPAIGN_CHANGE_EDITION_DIALOG_CONFIG,\n ACTIVE_CAMPAIGN_UPGRADE_EDITION_DIALOG_CONFIG,\n} from '../constants';\n\n@Component({\n templateUrl: 'ac-change-edition-dialog.component.html',\n styleUrls: ['ac-change-edition-dialog.component.scss'],\n})\nexport class ActiveCampaignChangeEditionDialogComponent implements OnInit {\n PlanType = PlanType;\n ContactLimit = ContactLimit;\n PlanTypeList = [PlanType.Plus, PlanType.Pro, PlanType.Enterprise];\n ContactLimitList = [\n ContactLimit.limit1000,\n ContactLimit.limit2500,\n ContactLimit.limit5000,\n ContactLimit.limit10000,\n ContactLimit.limit25000,\n ContactLimit.limit50000,\n ContactLimit.limit75000,\n ContactLimit.limit100000,\n ContactLimit.limit150000,\n ContactLimit.limit200000,\n ContactLimit.limit250000,\n ContactLimit.limit300000,\n ContactLimit.limit800000,\n ];\n readonly acChangeEditionDialogConfig = ACTIVE_CAMPAIGN_CHANGE_EDITION_DIALOG_CONFIG;\n readonly acUpgradeEditionDialogConfig = ACTIVE_CAMPAIGN_UPGRADE_EDITION_DIALOG_CONFIG;\n\n currentEditionId: string;\n currentPlanType: PlanType;\n currentContactLimit: ContactLimit;\n\n selectedPlanType: PlanType;\n selectedContactLimit: ContactLimit;\n\n previewDialogRef: MatDialogRef;\n hasEmailUsersChecked = true;\n displayEmailUsersOption$: Observable;\n users$: Observable;\n\n confirmationCheckbox = false;\n submitting = false;\n\n isTrial = false;\n isActiveCampaignV2 = false;\n\n constructor(\n public dialogRef: MatDialogRef,\n private dialog: MatDialog,\n private changeEditionDialogService: ChangeEditionDialogService,\n private snackbarService: SnackbarService,\n private environmentService: EnvironmentService,\n @Inject('PARTNER_ID') readonly partnerId$: Observable,\n @Inject(MAT_DIALOG_DATA) public data: ChangeEditionDialogDataInterface,\n ) {}\n\n ngOnInit(): void {\n this.users$ = this.changeEditionDialogService.users$;\n this.displayEmailUsersOption$ = this.changeEditionDialogService.displayEmailUsersOption$;\n\n this.currentEditionId = this.data.currentEditionId;\n this.isTrial = this.data.isTrial;\n\n this.isActiveCampaignV2 = this.data.appId === activeCampaignAppIdV2[this.environmentService.getEnvironment()];\n if (!this.isActiveCampaignV2) {\n this.updatePlanTypeAndContactLimitForV1();\n }\n\n const planTypeAndContactLimit = planTypeAndContactLimitFromEditionId(\n this.currentEditionId,\n this.environmentService.getEnvironment(),\n this.isActiveCampaignV2,\n );\n if (planTypeAndContactLimit) {\n this.currentPlanType = planTypeAndContactLimit.planType;\n this.selectedPlanType = this.currentPlanType;\n\n this.currentContactLimit = planTypeAndContactLimit.contactLimit;\n this.selectedContactLimit = this.currentContactLimit;\n }\n }\n\n changeSelectedContactLimit(event: MatRadioChange): void {\n this.selectedContactLimit = event.value;\n }\n\n planTypeChanged(): void {\n if (\n (this.selectedContactLimit === ContactLimit.limit1000 &&\n this.selectedPlanType !== PlanType.Plus &&\n this.selectedPlanType !== PlanType.Lite) ||\n (this.selectedContactLimit === ContactLimit.limit500 && this.selectedPlanType !== PlanType.Lite)\n ) {\n this.selectedContactLimit = null;\n }\n }\n\n activateEditionForApp(): void {\n const newEditionId = editionIdFromPlanTypeAndContactLimit(\n this.selectedPlanType,\n this.selectedContactLimit,\n this.environmentService.getEnvironment(),\n this.isActiveCampaignV2,\n );\n if (this.isTrial) {\n // redirects to confirm order step\n this.changeEditionDialogService.handleTrialUpgradeToPaid(this.data.appId, newEditionId);\n this.dialogRef.close();\n return;\n }\n this.submitting = true;\n if (!newEditionId) {\n this.snackbarService.openErrorSnack('Uh-oh. Looks like something went wrong. Please try again.');\n this.submitting = false;\n return;\n }\n\n this.changeEditionDialogService\n .activateEditionForApp(this.data.appId, this.data.activationId, newEditionId, null, this.hasEmailUsersChecked)\n .pipe(first())\n .subscribe({\n next: (res) => {\n if (res) {\n this.snackbarService.openSuccessSnack('Awesome! Your edition change was submitted successfully.');\n this.dialogRef.close(res);\n } else {\n this.snackbarService.openErrorSnack('Uh-oh. Looks like something went wrong on our end. Please try again.');\n }\n },\n error: () => {\n this.snackbarService.openErrorSnack('Uh-oh. Looks like something went wrong on our end. Please try again.');\n },\n })\n .add(() => {\n this.submitting = false;\n });\n }\n\n presentPreviewEmailDialog(): void {\n this.previewDialogRef = this.dialog.open(PreviewEmailDialogComponent);\n }\n\n private updatePlanTypeAndContactLimitForV1(): void {\n this.PlanTypeList.unshift(PlanType.Lite);\n this.ContactLimitList.unshift(ContactLimit.limit500);\n }\n}\n","

\n \n {{ acChangeEditionDialogConfig.title.key | translate }}\n \n \n {{ acUpgradeEditionDialogConfig.title.key | translate }}\n \n

\n\n
\n {{ acChangeEditionDialogConfig.selectEdition.key | translate }}\n
\n\n
\n
\n \n {{ data.appName }}\n
\n\n \n {{ selectedPlanType }}\n \n
\n
\n {{ planType }}\n
\n
\n {{ acChangeEditionDialogConfig.current.key | translate }}\n
\n
\n
\n \n
\n\n
\n {{ acChangeEditionDialogConfig.selectContacts.key | translate }}\n
\n\n \n \n \n {{ limit }}\n \n {{ acChangeEditionDialogConfig.current.key | translate }}\n \n \n \n \n\n
\n
0\">\n \n \n {{ 'AC_CHANGE_EDITION_DIALOG.EMAIL_ALL_USERS' | translate }}\n \n Preview email.\n
\n \n \n {{ acChangeEditionDialogConfig.confirmation.key | translate }}\n \n \n {{ acUpgradeEditionDialogConfig.confirmation.key | translate }}\n \n
\n
\n\n\n \n \n \n \n {{ acChangeEditionDialogConfig.changeEditionButton.key | translate }}\n \n \n {{ acUpgradeEditionDialogConfig.upgradeEditionButton.key | translate }}\n \n \n \n \n \n \n\n","import { Injectable } from '@angular/core';\nimport { GalaxyDatePipe } from '@vendasta/galaxy/pipes';\nimport { SnackbarService } from '@vendasta/galaxy/snackbar-service';\nimport { DateFormat } from '@vendasta/galaxy/utility/date-utils';\nimport { Observable } from 'rxjs';\nimport { PartnerService } from '../core/partner.service';\nimport { Campaign, RecipientCampaignStatusResponse } from '../marketing/campaign';\nimport { CampaignService } from '../marketing/campaign.service';\nimport {\n CampaignsService,\n MAILING_INFO_NOT_CONFIGURED,\n} from '../marketing/marketing-automation-page/campaigns.service';\n\nexport interface CampaignDialogItem {\n campaignId: string;\n recipientCampaignId: string;\n name: string;\n description: string;\n currentStatus: string;\n statusText: string;\n statusColor: string;\n buttonText: string;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class CampaignDialogItemStoreService {\n constructor(\n private campaignsService: CampaignsService,\n private legacyMAService: CampaignService,\n private snackbarService: SnackbarService,\n private partnerService: PartnerService,\n ) {}\n\n convertToCampaignDialogItem(campaign: Campaign): CampaignDialogItem {\n return {\n campaignId: campaign.id,\n recipientCampaignId: campaign.recipientCampaignId,\n name: campaign.name,\n description: this.getDescription(campaign),\n currentStatus: campaign.currentStatus,\n statusText: this.getStatusText(campaign.currentStatus),\n statusColor: this.getStatusColor(campaign.currentStatus),\n buttonText: this.getButtonText(campaign.currentStatus),\n };\n }\n\n private getStatusText(currentStatus: string): string {\n switch (currentStatus) {\n case 'active':\n return 'ACTIVE';\n case 'paused':\n return 'PAUSED';\n case 'buffering':\n return 'BUFFERING';\n case 'completed':\n return 'COMPLETED';\n default:\n console.error('unexpected status:', currentStatus);\n break;\n }\n }\n\n private getStatusColor(currentStatus: string): string {\n switch (currentStatus) {\n case 'active':\n return 'green';\n case 'paused':\n return 'gray';\n case 'buffering':\n return 'orange';\n case 'completed':\n return 'blue';\n default:\n break;\n }\n }\n\n private getDescription(campaign: Campaign): string {\n if (campaign.currentStatus === 'active' && campaign.nextStepScheduledDate) {\n const nextStepDate = new GalaxyDatePipe().transform(campaign.nextStepScheduledDate);\n const nextStepTime = new GalaxyDatePipe().transform(campaign.nextStepScheduledDate, DateFormat.shortTime);\n return `Next event will occur on ${nextStepDate} @ ${nextStepTime}`;\n }\n return '';\n }\n\n private getButtonText(currentStatus: string): string {\n if (currentStatus === null) {\n return 'Start';\n } else if (currentStatus === 'active') {\n return 'Pause';\n } else if (currentStatus === 'paused') {\n return 'Resume';\n }\n }\n\n updateStatus(\n campaign: Campaign,\n userId: string,\n accountGroupId: string,\n ): Observable {\n return this.legacyMAService.toggleUserOnCampaign(\n campaign.id,\n campaign.recipientCampaignId,\n campaign.currentStatus,\n userId,\n accountGroupId,\n );\n }\n\n handleUpdateStatusError(error: any, marketId: string): void {\n if (error.code === 500) {\n this.snackbarService.errorSnack('Could not change campaign state for the user. Please try again later.');\n } else if (error.code === 422) {\n this.snackbarService.errorSnack('Cannot send campaign: ' + error.data.message);\n } else if (error.code === 400 && error.data.message === MAILING_INFO_NOT_CONFIGURED) {\n const duration = 8000;\n const canCustomizeWhiteLabel = this.partnerService.CanCustomizeWhitelabel;\n if (canCustomizeWhiteLabel) {\n const snackBarRef = this.snackbarService.errorSnack(\n 'Cannot start campaigns until a mailing address is provided.',\n 'Edit Address',\n duration,\n );\n snackBarRef.onAction().subscribe(() => {\n window.location.href = '/customize-design/markets/' + marketId;\n });\n } else {\n this.snackbarService.errorSnack('Cannot start campaigns until a mailing address is provided.', null, duration);\n }\n }\n }\n}\n","import { Component, Input, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { Campaign } from '../marketing/campaign';\nimport { CampaignDialogItem, CampaignDialogItemStoreService } from './campaign-dialog-item-store.service';\n\n@Component({\n selector: 'app-campaign-dialog-item',\n template: `\n
\n
\n
{{ campaignDialogItem.name }}
\n
\n {{ campaignDialogItem.description }}\n
\n
\n
\n
\n \n \n {{ campaignDialogItem.statusText }}\n \n \n
\n\n
\n \n
\n
\n
\n \n `,\n styleUrls: ['./campaign-dialog-item.component.scss'],\n})\nexport class CampaignDialogItemComponent implements OnDestroy {\n @Input() set campaign(c: Campaign) {\n this.setCampaign(c);\n }\n\n @Input() userId: string;\n @Input() accountGroupId: string;\n @Input() marketId: string;\n\n loading = false;\n _campaign: Campaign;\n campaignDialogItem: CampaignDialogItem;\n subscriptions: Subscription[] = [];\n\n constructor(private campaignDialogItemService: CampaignDialogItemStoreService) {}\n\n setCampaign(c: Campaign): void {\n this._campaign = c;\n this.campaignDialogItem = this.campaignDialogItemService.convertToCampaignDialogItem(c);\n }\n\n clicked(): void {\n this.loading = true;\n this.subscriptions.push(\n this.campaignDialogItemService.updateStatus(this._campaign, this.userId, this.accountGroupId).subscribe(\n (result) => {\n this._campaign.nextStepScheduledDate = result.scheduledTime;\n this._campaign.recipientCampaignId = result.recipientCampaignId;\n this._campaign.recipientCampaignStatus = result.status;\n this.setCampaign(this._campaign);\n },\n (err) => {\n this.campaignDialogItemService.handleUpdateStatusError(err, this.marketId);\n this.loading = false;\n },\n () => (this.loading = false),\n ),\n );\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach((sub) => {\n sub.unsubscribe();\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n BehaviorSubject,\n combineLatest,\n debounceTime,\n filter,\n map,\n Observable,\n ReplaySubject,\n Subject,\n switchMap,\n} from 'rxjs';\nimport { Campaign, RecipientCampaignsResponse, SimpleCampaign } from '../marketing/campaign';\nimport { CampaignService as LegacyCampaignsService } from '../marketing/campaign.service';\nimport { CampaignsService } from '../marketing/marketing-automation-page/campaigns.service';\n\nexport interface RecipientCampaignsRequest {\n partnerId: string;\n accountGroupId: string;\n userEmail: string;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class CampaignDialogStoreService {\n private pageLimit = 10;\n private status = ['published', 'active'];\n\n private campaigns$$: BehaviorSubject = new BehaviorSubject([]);\n private searchTerm$$: BehaviorSubject = new BehaviorSubject(null);\n private loadingCampaigns$$: BehaviorSubject = new BehaviorSubject(true);\n private offset$$: BehaviorSubject = new BehaviorSubject(0);\n\n private recipientCampaigns$$: ReplaySubject = new ReplaySubject(1);\n private recipientCampaignsRequest$$: Subject = new Subject();\n private loadingRecipientCampiagns$$: BehaviorSubject = new BehaviorSubject(true);\n\n campaigns$: Observable;\n loadingCampaigns$: Observable = this.loadingCampaigns$$.asObservable();\n recipientCampaigns$: Observable = this.recipientCampaigns$$.asObservable();\n\n constructor(\n private campaignsService: CampaignsService,\n private legacyCampaignsService: LegacyCampaignsService,\n ) {\n this.recipientCampaignsRequest$$\n .pipe(\n switchMap((req) =>\n this.legacyCampaignsService.getRecipientCampaigns(req.partnerId, req.accountGroupId, req.userEmail),\n ),\n map((response) => this.handleRecipientCampaigns(response)),\n )\n .subscribe();\n\n this.searchTerm$$\n .pipe(\n debounceTime(400),\n switchMap((searchTerm) => this.legacyCampaignsService.lookupCampaigns(searchTerm, this.status, this.pageLimit)),\n map((response) => this.handleCampaignResponse(response.campaigns)),\n )\n .subscribe();\n\n this.campaigns$ = combineLatest([this.campaigns$$, this.recipientCampaigns$$]).pipe(\n filter(([campaigns, recipientCampaigns]) => !!campaigns && !!recipientCampaigns),\n map(([campaigns, recipientCampaigns]) => {\n return campaigns.map((c) => {\n const cc = new Campaign();\n Object.assign(cc, c);\n const rc = recipientCampaigns[c.id];\n if (rc) {\n cc.recipientCampaignId = rc.recipientCampaignId;\n cc.recipientCampaignStatus = rc.status;\n cc.nextStepScheduledDate = rc.nextStepScheduledDate ? new Date(rc.nextStepScheduledDate) : null;\n }\n return cc;\n });\n }),\n );\n }\n\n init(partnerId: string, accountGroupId: string, userEmail: string): void {\n this.campaigns$$.next([]);\n this.offset$$.next(0);\n this.recipientCampaigns$$.next(null);\n this.loadingRecipientCampiagns$$.next(true);\n this.recipientCampaignsRequest$$.next({\n partnerId: partnerId,\n accountGroupId: accountGroupId,\n userEmail: userEmail,\n });\n }\n\n updateSearch(searchTerm: string): void {\n if (searchTerm !== this.searchTerm$$.getValue()) {\n this.campaigns$$.next([]);\n this.offset$$.next(0);\n }\n this.loadingCampaigns$$.next(true);\n this.searchTerm$$.next(searchTerm);\n }\n\n private handleCampaignResponse(campaigns: SimpleCampaign[]): void {\n const previousCampaign = this.campaigns$$.getValue() || [];\n this.campaigns$$.next(previousCampaign.concat(campaigns));\n this.loadingCampaigns$$.next(false);\n }\n\n private handleRecipientCampaigns(recipientCampaigns: RecipientCampaignsResponse): void {\n this.recipientCampaigns$$.next(recipientCampaigns);\n this.loadingRecipientCampiagns$$.next(false);\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { UntypedFormControl } from '@angular/forms';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\nimport { User } from '../core/user';\nimport { Campaign, RecipientCampaignsResponse } from '../marketing/campaign';\nimport { CampaignDialogStoreService } from './campaign-dialog-store.service';\n\n@Component({\n styleUrls: ['./campaigns-dialog.component.scss'],\n template: `\n
\n Campaigns\n
\n

\n Campaigns available for\n {{ userName }}\n

\n
\n \n \n \n
\n
\n
\n \n \n \n \n
\n \n
\n
\n \n \n \n `,\n})\nexport class CampaignsDialogComponent implements OnInit {\n @Input() partnerId: string;\n @Input() accountGroupId: string;\n @Input() marketId: string;\n @Input() set user(u: User) {\n this.userName = this.getUserNameOrEmailText(u);\n this.userEmail = u.email;\n this.userId = u.userId;\n }\n\n userName: string;\n userEmail: string;\n userId: string;\n campaigns$: Observable;\n loadingCampaigns$: Observable;\n recipientCampaigns$: Observable;\n searchTerm = new UntypedFormControl('');\n lastSearchTerm = '';\n\n constructor(\n public dialogRef: MatDialogRef,\n private campaignDialogStoreService: CampaignDialogStoreService,\n ) {}\n\n ngOnInit(): void {\n this.campaigns$ = this.campaignDialogStoreService.campaigns$;\n this.loadingCampaigns$ = this.campaignDialogStoreService.loadingCampaigns$;\n this.recipientCampaigns$ = this.campaignDialogStoreService.recipientCampaigns$;\n this.campaignDialogStoreService.init(this.partnerId, this.accountGroupId, this.userEmail);\n this.campaignDialogStoreService.updateSearch(this.searchTerm.value);\n }\n\n private getUserNameOrEmailText(user: User): string {\n if (user.firstName && user.lastName) {\n return user.firstName + ' ' + user.lastName;\n } else if (user.firstName && !user.lastName) {\n return user.firstName;\n } else {\n return user.email;\n }\n }\n\n updateSearchTerm(): void {\n if (this.searchTerm.value === this.lastSearchTerm) {\n return;\n }\n this.lastSearchTerm = this.searchTerm.value;\n this.campaignDialogStoreService.updateSearch(this.searchTerm.value);\n }\n\n loadMore(): void {\n this.campaignDialogStoreService.updateSearch(this.searchTerm.value);\n }\n}\n","import { Component, Inject, OnDestroy, OnInit } from '@angular/core';\nimport { UntypedFormControl } from '@angular/forms';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { BillingStrategy } from '@galaxy/billing';\nimport { SnackbarService } from '@vendasta/galaxy/snackbar-service';\nimport { combineLatest, Observable, Subscription } from 'rxjs';\nimport { map, shareReplay, switchMap, take, tap } from 'rxjs/operators';\nimport { ActivationPricingService } from '../activation/core/activation-pricing.service';\nimport { AppEditionService } from '../activation/core/app-edition.service';\nimport { PricingService } from '../core/billing';\nimport { User } from '../core/user';\nimport { PreviewEmailDialogComponent } from '../preview-email-dialog/preview-email-dialog.component';\nimport { BillingSettingsService } from '../shared-billing/settings/billing-settings.service';\nimport {\n ChangeEditionDialogDataInterface,\n ChangeEditionDialogService,\n EditionInfo,\n} from './change-edition-dialog.service';\n\nexport interface ChangeEditionDialogResult {\n success: boolean;\n noLongerSatisfiesDependency?: boolean;\n}\n\n@Component({\n templateUrl: 'change-edition-dialog.component.html',\n styleUrls: ['change-edition-dialog.component.scss'],\n})\nexport class ChangeEditionDialogComponent implements OnInit, OnDestroy {\n editions$: Observable;\n currentEditionId: string;\n selectedEditionIdControl: UntypedFormControl;\n get selectedEditionId() {\n return this.selectedEditionIdControl.value as string;\n }\n confirmationCheckbox = false;\n submitting = false;\n billingInfoConfigured$: Observable;\n instantBilledItems$: Observable;\n notInstantBillable = false;\n isTrial = false;\n dependentProductNames: string[] = [];\n\n previewDialogRef: MatDialogRef;\n hasEmailUsersChecked = true;\n displayEmailUsersOption$: Observable;\n users$: Observable;\n\n satisfiesDependency$: Observable;\n\n private subscriptions: Subscription[] = [];\n\n constructor(\n public dialogRef: MatDialogRef,\n private dialog: MatDialog,\n private editionsService: AppEditionService,\n private pricingService: PricingService,\n private changeEditionDialogService: ChangeEditionDialogService,\n private snackbarService: SnackbarService,\n @Inject('PARTNER_ID') readonly partnerId$: Observable,\n @Inject(MAT_DIALOG_DATA) public data: ChangeEditionDialogDataInterface,\n private activationPricingService: ActivationPricingService,\n private billingSettingsService: BillingSettingsService,\n ) {}\n\n ngOnInit(): void {\n this.users$ = this.changeEditionDialogService.users$;\n this.displayEmailUsersOption$ = this.changeEditionDialogService.displayEmailUsersOption$;\n this.selectedEditionIdControl = new UntypedFormControl(this.data.autoSelectEdition || this.data.currentEditionId);\n this.currentEditionId = this.data.currentEditionId;\n this.isTrial = this.data.isTrial;\n this.dependentProductNames = this.data.dependentProductNames;\n\n // Get the Editions of the product\n const unfilteredEditions$ = this.editionsService.getEditionsForApp(this.data.appId);\n\n this.editions$ = combineLatest([unfilteredEditions$]).pipe(\n take(1),\n map(([eds]) => {\n const filteredEditions = eds.filter((edition) => {\n // If trial activation, only allow upgrade to paid for current edition, as other options are broken\n // MT-1458 - We now allow upgrades to paid for all editions (RM only)\n return this.isTrial && this.data.appId !== 'RM' ? this.data.currentEditionId === edition.editionId : true;\n });\n return filteredEditions.map((ed) => {\n const editionInfo: EditionInfo = {\n editionTitle: ed.editionName,\n editionId: ed.editionId,\n };\n return editionInfo;\n });\n }),\n );\n\n this.partnerId$.pipe(tap((partnerId) => this.checkBillingConfiguration(partnerId))).subscribe();\n\n this.instantBilledItems$ = this.partnerId$.pipe(\n switchMap((partnerId) => this.pricingService.getMultiProductPricing(partnerId, [this.data.appId])),\n map((productPricing) => {\n const instantBilledItems = [];\n // tslint:disable-next-line:forin\n for (const key in productPricing) {\n const pricingRules = productPricing[key].pricingRules;\n let price = 0;\n if (pricingRules && pricingRules.length > 0) {\n price = pricingRules[0].price || 0;\n }\n if (productPricing[key].strategy === BillingStrategy.Instantly && price) {\n instantBilledItems.push(productPricing[key]);\n }\n }\n return instantBilledItems;\n }),\n );\n\n this.satisfiesDependency$ = combineLatest([this.editions$, this.selectedEditionIdControl.valueChanges]).pipe(\n map(([editions]) => {\n if (this.dependentProductNames.length <= 0) {\n return true;\n }\n const currentEditionIndex = editions.findIndex((edition) => edition.editionId === this.currentEditionId);\n const selectedEditionIndex = editions.findIndex((edition) => edition.editionId === this.selectedEditionId);\n return selectedEditionIndex >= currentEditionIndex;\n }),\n shareReplay(1),\n );\n\n this.subscriptions.push(\n combineLatest([this.billingInfoConfigured$, this.instantBilledItems$])\n .pipe(\n tap(([billingInfoConfigured, instantBilledItems]) => {\n this.notInstantBillable = !billingInfoConfigured && instantBilledItems.length > 0;\n }),\n )\n .subscribe(),\n );\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach((sub) => sub.unsubscribe());\n }\n\n private checkBillingConfiguration(partnerId: string): void {\n // the merchant info needs to be set up before checking billingInfoConfigured$, this should be refactored later\n if (!this.billingSettingsService.merchantId) {\n this.billingSettingsService.merchantId = partnerId;\n }\n this.billingSettingsService.loadMerchantDetails();\n this.billingSettingsService.loadMerchantCreditCards();\n this.billingInfoConfigured$ = this.activationPricingService.billingInfoConfigured$;\n }\n\n activateEditionForApp(): void {\n if (this.isTrial) {\n // redirects to confirm order step\n this.changeEditionDialogService.handleTrialUpgradeToPaid(this.data.appId, this.selectedEditionId);\n this.dialogRef.close();\n return;\n }\n this.submitting = true;\n const editionChange$ = this.changeEditionDialogService.activateEditionForApp(\n this.data.appId,\n this.data.activationId,\n this.selectedEditionId,\n this.data.reasons,\n this.hasEmailUsersChecked,\n );\n combineLatest([editionChange$, this.satisfiesDependency$])\n .pipe(take(1))\n .subscribe(\n ([success, satisifiesDependency]) => {\n if (success) {\n const result: ChangeEditionDialogResult = {\n success: success,\n noLongerSatisfiesDependency: !satisifiesDependency,\n };\n this.snackbarService.successSnack('Awesome! Your edition change was submitted successfully.');\n this.dialogRef.close(result);\n } else {\n this.snackbarService.errorSnack('Uh-oh. Looks like something went wrong on our end. Please try again.');\n this.submitting = false;\n }\n },\n (err) => {\n this.snackbarService.errorSnack('Uh-oh. Looks like something went wrong on our end. Please try again.');\n this.submitting = false;\n console.log(err);\n },\n );\n }\n\n presentPreviewEmailDialog(): void {\n this.previewDialogRef = this.dialog.open(PreviewEmailDialogComponent);\n }\n\n get formattedDependentProductsNames(): string {\n return this.dependentProductNames.join(', ');\n }\n}\n","

\n \n {{ 'CHANGE_EDITION_DIALOG.ACTIVE_CAMPAIGN.TITLE' | translate }}\n \n \n {{ 'CHANGE_EDITION_DIALOG.UPGRADE_FROM_TRIAL' | translate }}\n \n

\n\n
\n
\n {{ 'CHANGE_EDITION_DIALOG.ACTIVE_CAMPAIGN.SELECT_EDITION' | translate }}\n
\n\n
\n
\n \n
\n
\n {{ data.appName }}\n
\n \n \n
\n
\n {{ edition.editionTitle }}\n
\n
\n {{ 'CHANGE_EDITION_DIALOG.ACTIVE_CAMPAIGN.CURRENT' | translate }}\n
\n
\n
\n \n\n \n \n \n
\n
\n\n
\n \n {{ formattedDependentProductsNames }}\n {{ 'CHANGE_EDITION_DIALOG.DEPENDENT_PRODUCTS_CANCELLATION_WARNING' | translate }}\n {{ formattedDependentProductsNames }}.\n \n
\n\n
\n
0\">\n \n \n {{ 'CHANGE_EDITION_DIALOG.EMAIL_ALL_USERS' | translate }}\n \n \n {{ 'CHANGE_EDITION_DIALOG.PREVIEW_EMAIL' | translate }}\n \n
\n \n \n \n {{ 'CHANGE_EDITION_DIALOG.ACTIVE_CAMPAIGN.CONFIRMATION' | translate }}\n \n \n \n \n {{ 'CHANGE_EDITION_DIALOG.TRIAL_CONFIRMATION' | translate }}\n \n \n
\n
\n \n {{ 'CHANGE_EDITION_DIALOG.BEFORE_CHANGE' | translate }}\n \n \n {{ 'CHANGE_EDITION_DIALOG.BEFORE_UPGRADE' | translate }}\n \n \n {{ 'COMMON.ACTION_LABELS.ADD' | translate }}\n \n
\n
\n\n\n \n \n \n \n {{ 'CHANGE_EDITION_DIALOG.ACTIVE_CAMPAIGN.CHANGE_EDITION_BUTTON' | translate }}\n \n \n {{ 'CHANGE_EDITION_DIALOG.UPGRADE_TO_PAID_BUTTON' | translate }}\n \n \n \n \n \n \n\n","import { Component, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { ActivatedProduct } from '../../core/product/product';\n\nexport interface DeactivateDependentProductDialogDataInterface {\n requiredProduct: ActivatedProduct;\n dependentProducts: ActivatedProduct[];\n}\n\n@Component({\n styleUrls: ['deactivate-dependent-product-dialog.component.scss'],\n templateUrl: 'deactivate-dependent-product-dialog.component.html',\n})\nexport class DeactivateDependentProductDialogComponent {\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DeactivateDependentProductDialogDataInterface,\n ) {}\n\n continueDeactivate(): void {\n this.dialogRef.close(true);\n }\n}\n","

\n {{ 'MANAGE_ACCOUNTS.DEACTIVATE_DEPENDENT_PRODUCT_DIALOG.TITLE' | translate }}\n

\n\n\n
\n {{\n 'MANAGE_ACCOUNTS.DEACTIVATE_DEPENDENT_PRODUCT_DIALOG.REQUIRED_PRODUCT_TEXT'\n | translate\n : {\n productName: data?.requiredProduct?.name\n }\n }}\n\n
\n
\n \n
\n {{ dependentProduct?.name }}\n
\n
\n
\n\n {{\n 'MANAGE_ACCOUNTS.DEACTIVATE_DEPENDENT_PRODUCT_DIALOG.ACTION_DESCRIPTION'\n | translate\n : {\n productName: data?.requiredProduct?.name\n }\n }}\n
\n
\n\n\n \n \n\n","import { Component, EventEmitter, Inject, OnInit } from '@angular/core';\nimport { UntypedFormArray, UntypedFormControl, UntypedFormGroup } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Environment, EnvironmentService } from '@galaxy/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BlameDeactivationReasons, DEACTIVATION_REASON_LIST } from '@vendasta/accounts/legacy';\nimport { SnackbarService } from '@vendasta/galaxy/snackbar-service';\nimport { combineLatest, Observable } from 'rxjs';\nimport { switchMap, take } from 'rxjs/operators';\nimport { AppEditionService, EditionIdentifier } from '../../activation/core/app-edition.service';\n\nexport interface DeactivateDialogDataInterface {\n itemName: string;\n itemId: string;\n currentlyTrial: boolean;\n currentEditionId: string;\n subItemAmount?: number;\n displayDate: string;\n useCommitment: boolean;\n billingFrequency: string;\n shouldDisplayDate: boolean;\n dependentProducts: DeactivateDialogDataInterface[];\n}\n\nexport interface DeactivateDialogResult {\n reasons: BlameDeactivationReasons;\n isDowngrade: boolean;\n editionToDowngradeTo: string;\n}\n\nconst ownedAndOperatedProEditions: Map = new Map([\n ['RM', ''], // Reputation Management | Pro\n ['SM', ''], // Social Marketing | Pro\n ['MP-fba21121b71148c9bb33e11fcd92d520', ''], // Customer Voice | Pro (demo)\n ['MP-c4974d390a044c28aec31e421aa662b2', ''], // Customer Voice | Pro (prod)\n]);\nconst ownedAndOperatedExpressEditions: Map> = new Map<\n string,\n Map\n>([\n [\n 'RM',\n new Map([\n [Environment.DEMO, 'EDITION-38SMW45H'],\n [Environment.PROD, 'EDITION-F7JZ5TV8'],\n ]),\n ],\n [\n 'SM',\n new Map([\n [Environment.DEMO, 'EDITION-SWVF3WH8'],\n [Environment.PROD, 'EDITION-FVGBNLVZ'],\n ]),\n ],\n ['MP-fba21121b71148c9bb33e11fcd92d520', new Map([[Environment.DEMO, 'EDITION-4WWZC3RJ']])],\n ['MP-c4974d390a044c28aec31e421aa662b2', new Map([[Environment.PROD, 'EDITION-TC8HJZNS']])],\n]);\n\n@Component({\n styleUrls: ['deactivate-dialog.component.scss'],\n templateUrl: 'deactivate-dialog.component.html',\n})\nexport class DeactivateDialogComponent implements OnInit {\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DeactivateDialogDataInterface,\n @Inject('PARTNER_ID') private readonly partnerId$: Observable,\n private appEditionService: AppEditionService,\n private environmentService: EnvironmentService,\n private snackbarService: SnackbarService,\n private readonly translateService: TranslateService,\n ) {\n this.title = `Cancel ${data.itemName}`;\n this.deactivationReasonMsg = `Please give AT LEAST ONE reason why you're canceling ${data.itemName}. Your answer(s) will help us make better products.`;\n }\n reasons = DEACTIVATION_REASON_LIST;\n\n additionalInformationFormControl: UntypedFormControl;\n deactivationReasonFormArray: UntypedFormArray;\n deactivationFormGroup: UntypedFormGroup;\n deactivationInfo: EventEmitter = new EventEmitter();\n\n pageLoaded = false;\n promoteDowngrade: boolean;\n title: string;\n downgradeSavings: string;\n deactivationReasonMsg: string;\n warnings: string[] = [];\n\n expressEdition: string;\n\n static createDeactivateReasonFormArray(deactivationReasons: string[]): UntypedFormArray {\n const deactivationReasonFormArray = deactivationReasons.map(() => new UntypedFormControl(false, []));\n return new UntypedFormArray(deactivationReasonFormArray);\n }\n\n static getChoiceValues(deactivationReasonsFormArray: UntypedFormArray, deactivationReasons: string[]): string[] {\n return deactivationReasonsFormArray.controls\n .map((controls: UntypedFormControl, index) => (controls && controls.value ? deactivationReasons[index] : null))\n .filter((value) => value);\n }\n\n ngOnInit(): void {\n const dependentProductsWarningMessages = (this.data.dependentProducts || []).map((item) => {\n return this.createWarningText(item);\n });\n this.warnings.push(this.createWarningText(this.data), ...dependentProductsWarningMessages);\n\n this.additionalInformationFormControl = new UntypedFormControl('', []);\n this.deactivationReasonFormArray = DeactivateDialogComponent.createDeactivateReasonFormArray(this.reasons);\n this.deactivationFormGroup = new UntypedFormGroup({\n additionalInformationFormControl: this.additionalInformationFormControl,\n deactivationReasonFormArray: this.deactivationReasonFormArray,\n });\n\n this.promoteDowngrade =\n !this.data.currentlyTrial &&\n ownedAndOperatedProEditions.has(this.data.itemId) &&\n ownedAndOperatedProEditions.get(this.data.itemId) === this.data.currentEditionId;\n\n if (this.promoteDowngrade) {\n const proEdition = ownedAndOperatedProEditions.get(this.data.itemId);\n this.expressEdition = ownedAndOperatedExpressEditions\n .get(this.data.itemId)\n .get(this.environmentService.getEnvironment());\n\n const editionIdentifiers: EditionIdentifier[] = [\n { appId: this.data.itemId, editionId: proEdition },\n { appId: this.data.itemId, editionId: this.expressEdition },\n ];\n\n combineLatest([this.appEditionService.getEditionsForEditionIdentifiers(editionIdentifiers), this.partnerId$])\n .pipe(\n switchMap(([editionsMap, partnerId]) => {\n const appEditions = editionsMap.get(this.data.itemId);\n return this.appEditionService.getMultiPurchaseCost(partnerId, [\n appEditions.get(proEdition),\n appEditions.get(this.expressEdition),\n ]);\n }),\n take(1),\n )\n .subscribe(\n (purchaseCosts) => {\n const proPrice = purchaseCosts[0];\n const expressPrice = purchaseCosts[1];\n\n const dollarSavings = proPrice.cost.totalCost - expressPrice.cost.totalCost;\n const percentSavings = (dollarSavings / (proPrice.cost.totalCost || 1)) * 100;\n this.downgradeSavings = `If your client may still find value in this product, consider downgrading to Express\n to maintain limited functionality and reduce costs by $${(dollarSavings / 100).toFixed(\n 2,\n )}/${percentSavings.toFixed(0)}%.\n Products can always be upgraded at a later date.`;\n },\n () => {\n this.downgradeSavings = `If your client may still find value in this product, consider downgrading to Express\n to maintain limited functionality and reduce costs. Products can always be upgraded at a later date.`;\n },\n () => (this.pageLoaded = true),\n );\n } else {\n this.pageLoaded = true;\n }\n }\n\n downgradeProduct(): void {\n this.close(true);\n }\n\n confirmDelete(): void {\n this.close(false);\n }\n\n close(isDowngrade: boolean): void {\n const deactivationInfo = new BlameDeactivationReasons();\n deactivationInfo.choices = DeactivateDialogComponent.getChoiceValues(\n this.deactivationReasonFormArray,\n this.reasons,\n );\n\n if (deactivationInfo.choices.length === 0) {\n this.snackbarService.errorSnack('A reason must be selected when cancelling a product or service');\n return;\n }\n\n deactivationInfo.comments = this.additionalInformationFormControl.value;\n if (deactivationInfo.choices.includes('Other') && deactivationInfo.comments === '') {\n this.additionalInformationFormControl.setErrors({ cannotBeEmpty: false });\n this.snackbarService.errorSnack('When selecting Other, please provide additional information');\n return;\n }\n\n if (!isDowngrade) {\n this.deactivationInfo.emit(deactivationInfo);\n }\n\n this.dialogRef.close({\n reasons: deactivationInfo,\n isDowngrade: isDowngrade,\n editionToDowngradeTo: this.expressEdition,\n });\n }\n\n createWarningText(data: DeactivateDialogDataInterface): string {\n let warning: string;\n\n if (!data.shouldDisplayDate) {\n if (data.useCommitment) {\n warning = this.translateService.instant(\n 'MANAGE_ACCOUNTS.DEACTIVATION_WARNING_MESSAGES.DEACTIVATION_WITH_COMMITMENT',\n {\n billingFrequency: data.billingFrequency,\n productName: data.itemName,\n displayDate: data.displayDate,\n },\n );\n } else {\n warning = this.translateService.instant(\n 'MANAGE_ACCOUNTS.DEACTIVATION_WARNING_MESSAGES.DEACTIVATION_NO_COMMITMENT',\n {\n productName: data.itemName,\n displayDate: data.displayDate,\n },\n );\n }\n } else {\n warning = this.translateService.instant('MANAGE_ACCOUNTS.DEACTIVATION_WARNING_MESSAGES.DEACTIVATION_INSTANT', {\n productName: data.itemName,\n });\n }\n if (data.subItemAmount && data.subItemAmount > 0) {\n if (!data.shouldDisplayDate) {\n //Append\n warning +=\n ' ' +\n this.translateService.instant('MANAGE_ACCOUNTS.DEACTIVATION_WARNING_MESSAGES.DEACTIVATION_WITH_ADDON', {\n subItemAmount: data.subItemAmount,\n productName: data.itemName,\n });\n } else {\n //Overwrite\n warning = this.translateService.instant(\n 'MANAGE_ACCOUNTS.DEACTIVATION_WARNING_MESSAGES.DEACTIVATION_WITH_ADDON_WAITING_FOR_ADDON',\n {\n productName: data.itemName,\n subItemAmount: data.subItemAmount,\n },\n );\n }\n }\n\n return warning;\n }\n}\n","\n

{{ title }}

\n
\n info_outline\n
{{ downgradeSavings }}
\n
\n \n

{{ deactivationReasonMsg }}

\n
\n \n \n {{ reasons[i] }}\n \n
\n \n \n Additional Information\n \n \n {{ additionalInformationFormControl.value.length }} / 300\n \n \n

\n info_outline\n {{ warning }}\n

\n
\n \n \n \n Downgrade product\n \n \n \n\n\n\n
\n \n
\n
\n","import { Component, EventEmitter, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { BlameDeactivationReasons } from '@vendasta/accounts/legacy';\n\nexport interface DeactivateImmediatelyDialogDataInterface {\n itemName: string;\n commitmentDate: string;\n}\n\n@Component({\n styleUrls: ['deactivate-immediately-dialog.component.scss'],\n template: `\n
\n

{{ titleText }}

\n \n
\n info_outline\n {{ commitmentText }}\n
\n
{{ explanationText }}
\n
\n \n \n \n \n
\n `,\n})\nexport class DeactivateImmediatelyDialogComponent implements OnInit {\n titleText: string;\n explanationText: string;\n commitmentText: string;\n\n deactivationInfo: EventEmitter = new EventEmitter();\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DeactivateImmediatelyDialogDataInterface,\n ) {\n this.titleText = `Deactivate ${data.itemName}`;\n this.commitmentText = `${data.itemName} will continue to be billed until the end of the commitment on ${data.commitmentDate}`;\n this.explanationText = `This will remove the add-on from this account and end all syndication services.`;\n }\n\n ngOnInit(): void {\n return;\n }\n\n deactivateAddon(): void {\n const deactivationInfo = new BlameDeactivationReasons();\n this.deactivationInfo.emit(deactivationInfo);\n this.dialogRef.close();\n }\n}\n","import { Component } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { OrderFormSubmission, OrderFormSubmissionField } from '../core/order-form-submission';\n\n@Component({\n styleUrls: ['./order-form-submission-dialog.component.scss'],\n template: `\n

Order Form Response

\n \n
\n \n
\n
\n \n
\n
\n \n \n \n\n \n {{ field.label }}\n \n \n \n {{ getFileName(answer) }}\n \n \n {{ checkboxAnswer(field.answer) }}\n {{ dropdownAnswer(field.answer) }}\n {{ dropdownAnswer(field.answer) }}\n {{ field.answer }}\n \n \n `,\n})\nexport class OrderFormSubmissionDialogComponent {\n orderFormSubmission: OrderFormSubmission;\n\n constructor(public dialogRef: MatDialogRef) {}\n\n sortedCommonFields(): OrderFormSubmissionField[] {\n if (!this.orderFormSubmission) {\n return [];\n }\n\n return this.orderFormSubmission.commonFields.sort((first, second) => {\n return first.label >= second.label ? 1 : -1;\n });\n }\n\n dropdownAnswer(answer: any): string {\n if (typeof answer === 'string') {\n answer = JSON.parse(answer);\n }\n if (answer && answer.label) {\n try {\n const inner_answer = JSON.parse(answer.label);\n if (inner_answer != null && inner_answer.email) {\n return inner_answer.firstName + ' ' + inner_answer.lastName + ' (' + inner_answer.email + ')';\n } else {\n return answer.label;\n }\n } catch (e) {\n return answer.label;\n }\n }\n if (Array.isArray(answer) && answer.length > 0 && answer[0].label) {\n answer = answer.map((a) => a.label).join(', ');\n }\n return answer;\n }\n\n checkboxAnswer(answer: boolean): string {\n return answer ? 'Yes' : 'No';\n }\n\n getFileName(url: string | { name: string }): string {\n if (typeof url === 'string') {\n if (url.indexOf('/') >= 0) {\n return url.substring(url.lastIndexOf('/') + 1, url.length);\n }\n return url;\n }\n return url.name;\n }\n\n parseIntoArray(urlArray: any[] | string): any[] {\n if (urlArray instanceof Array) {\n return urlArray;\n }\n return JSON.parse(urlArray.toString());\n }\n}\n","import { Component, Inject, OnDestroy, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { BillingService, Currency } from '@galaxy/billing';\nimport { AppPrice, AppPricingService, FieldMask } from '@galaxy/marketplace-apps';\nimport { SnackbarService } from '@vendasta/galaxy/snackbar-service';\nimport { OrderFulfillmentService } from '@vendasta/order-fulfillment';\nimport { Subscription, combineLatest, of } from 'rxjs';\nimport { catchError, first, map } from 'rxjs/operators';\n\nexport interface RequestSpendChangeDialogDataInterface {\n productId: string;\n productName: string;\n billingId: string;\n billingFrequency: string;\n activationId: string;\n businessId: string;\n partnerId: string;\n}\n\n@Component({\n templateUrl: 'request-spend-change-dialog.component.html',\n styleUrls: ['request-spend-change-dialog.component.scss'],\n})\nexport class RequestSpendChangeDialogComponent implements OnInit, OnDestroy {\n subscriptions: Subscription[] = [];\n isLoading = true;\n spendChangeSent = false;\n appPricing: AppPrice;\n currency: Currency;\n newSpendAmount = 0;\n minSpendAmount = 0;\n requesterNote: string;\n currentSpendAmount: number;\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: RequestSpendChangeDialogDataInterface,\n private orderFulfillmentService: OrderFulfillmentService,\n private snackbarService: SnackbarService,\n private appPricingService: AppPricingService,\n private billingService: BillingService,\n ) {}\n\n ngOnInit(): void {\n const partnerCurrency$ = this.billingService\n .getMultiContract([this.data.partnerId])\n .pipe(map((contracts) => contracts[this.data.partnerId].currency));\n\n const appPricing$ = this.appPricingService\n .getMultiPricing([this.data.productId], new FieldMask({ paths: ['wholesale'] }), this.data.partnerId, '')\n .pipe(\n map((appPrices) => {\n return appPrices?.[0]?.pricesForContexts?.['wholesale'];\n }),\n );\n\n const currentSpend$ = this.orderFulfillmentService\n .GetCurrentSpend(this.data.partnerId, this.data.businessId, this.data.productId, this.data.activationId)\n .pipe(\n map((resp) => resp.spendAmount),\n catchError((err) => {\n console.log('Failed to get current spend:', err);\n this.snackbarService.openErrorSnack('Failed to get current spend.');\n return of(0);\n }),\n );\n\n this.subscriptions.push(\n combineLatest([appPricing$, partnerCurrency$, currentSpend$]).subscribe(\n ([appPricing, currency, currentSpend]) => {\n this.appPricing = appPricing;\n this.newSpendAmount =\n appPricing?.pricesForEditions?.['']?.pricesForCurrencies?.[\n currency\n ]?.pricesForFrequencies?.[0]?.pricingRules?.[0]?.price;\n this.currency = currency;\n this.currentSpendAmount = currentSpend;\n this.isLoading = false;\n },\n ),\n );\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach((sub) => sub.unsubscribe());\n }\n\n changeSpendAmount(newSpend: number): void {\n this.newSpendAmount = newSpend;\n }\n\n changeRequesterNote(newNote: string): void {\n this.requesterNote = newNote;\n }\n\n requestSpendChange(): void {\n this.spendChangeSent = true;\n const newSpendAmount = this.newSpendAmount;\n const requesterNote = this.requesterNote;\n\n this.subscriptions.push(\n this.orderFulfillmentService\n .changeSpendRequest(\n this.data.businessId,\n this.data.productId,\n this.data.activationId,\n newSpendAmount,\n requesterNote,\n )\n .pipe(first())\n .subscribe(\n (res) => {\n if (res) {\n this.snackbarService.successSnack('Your request has been sent');\n this.dialogRef.close();\n } else {\n this.spendChangeSent = false;\n this.snackbarService.errorSnack('An unexpected error occurred. Please try again');\n }\n },\n (err) => {\n this.spendChangeSent = false;\n this.snackbarService.errorSnack(err.error.message);\n },\n ),\n );\n }\n}\n","

\n {{ 'REQUEST_SPEND_CHANGE_DIALOG.REQUEST_SPEND_CHANGE' | translate }}\n

\n\n
\n {{ 'REQUEST_SPEND_CHANGE_DIALOG.REQUEST_CHANGE_IN_SPEND' | translate }}\n
\n \n \n \n
\n\n\n \n \n\n\n\n
\n \n
\n
\n","import * as i0 from '@angular/core';\nimport { Injectable } from '@angular/core';\nimport * as i1 from '@angular/common/http';\nimport { HttpHeaders } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nconst environment = (window ? window['environment'] : 'prod') ?? 'prod';\nconst hostMap = {\n 'local': 'executive-report-api.vendasta-local.com',\n 'test': '',\n 'demo': 'executive-report-demo.apigateway.co',\n 'prod': 'executive-report-prod.apigateway.co',\n 'production': 'executive-report-prod.apigateway.co'\n};\nlet HostService = /*#__PURE__*/(() => {\n class HostService {\n get host() {\n return hostMap[environment.toLowerCase()];\n }\n get hostWithScheme() {\n return 'https://' + this.host;\n }\n }\n HostService.ɵfac = function HostService_Factory(t) {\n return new (t || HostService)();\n };\n HostService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: HostService,\n factory: HostService.ɵfac,\n providedIn: 'root'\n });\n return HostService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar Category = /*#__PURE__*/function (Category) {\n Category[Category[\"NOT_SPECIFIED\"] = 0] = \"NOT_SPECIFIED\";\n Category[Category[\"LISTINGS\"] = 1] = \"LISTINGS\";\n Category[Category[\"REPUTATION\"] = 2] = \"REPUTATION\";\n Category[Category[\"SOCIAL\"] = 3] = \"SOCIAL\";\n Category[Category[\"WEBSITE\"] = 4] = \"WEBSITE\";\n Category[Category[\"SEO\"] = 5] = \"SEO\";\n Category[Category[\"ADVERTISING\"] = 6] = \"ADVERTISING\";\n Category[Category[\"CONTENT_AND_EXPERIENCE\"] = 7] = \"CONTENT_AND_EXPERIENCE\";\n Category[Category[\"ACCOUNTING\"] = 8] = \"ACCOUNTING\";\n Category[Category[\"ECOMMERCE\"] = 9] = \"ECOMMERCE\";\n Category[Category[\"OTHER\"] = 10] = \"OTHER\";\n return Category;\n}(Category || {});\nvar Color = /*#__PURE__*/function (Color) {\n Color[Color[\"COLOR_NOT_SPECIFIED\"] = 0] = \"COLOR_NOT_SPECIFIED\";\n Color[Color[\"BLACK\"] = 1] = \"BLACK\";\n Color[Color[\"WHITE\"] = 2] = \"WHITE\";\n Color[Color[\"GRAY\"] = 3] = \"GRAY\";\n Color[Color[\"RED\"] = 4] = \"RED\";\n Color[Color[\"GREEN\"] = 5] = \"GREEN\";\n Color[Color[\"BLUE\"] = 6] = \"BLUE\";\n Color[Color[\"YELLOW\"] = 7] = \"YELLOW\";\n Color[Color[\"PURPLE\"] = 8] = \"PURPLE\";\n Color[Color[\"ORANGE\"] = 9] = \"ORANGE\";\n return Color;\n}(Color || {});\nvar ReportDataFormat = /*#__PURE__*/function (ReportDataFormat) {\n ReportDataFormat[ReportDataFormat[\"NUMBER\"] = 0] = \"NUMBER\";\n ReportDataFormat[ReportDataFormat[\"PERCENT\"] = 1] = \"PERCENT\";\n ReportDataFormat[ReportDataFormat[\"TIME\"] = 3] = \"TIME\";\n ReportDataFormat[ReportDataFormat[\"FRACTION\"] = 4] = \"FRACTION\";\n return ReportDataFormat;\n}(ReportDataFormat || {});\nvar ReportDataGrade = /*#__PURE__*/function (ReportDataGrade) {\n ReportDataGrade[ReportDataGrade[\"NONE_SPECIFIED\"] = 0] = \"NONE_SPECIFIED\";\n ReportDataGrade[ReportDataGrade[\"A\"] = 1] = \"A\";\n ReportDataGrade[ReportDataGrade[\"B\"] = 2] = \"B\";\n ReportDataGrade[ReportDataGrade[\"C\"] = 3] = \"C\";\n ReportDataGrade[ReportDataGrade[\"D\"] = 4] = \"D\";\n ReportDataGrade[ReportDataGrade[\"F\"] = 5] = \"F\";\n return ReportDataGrade;\n}(ReportDataGrade || {});\nvar ReportFrequency = /*#__PURE__*/function (ReportFrequency) {\n ReportFrequency[ReportFrequency[\"FREQUENCY_NOT_SPECIFIED\"] = 0] = \"FREQUENCY_NOT_SPECIFIED\";\n ReportFrequency[ReportFrequency[\"WEEKLY\"] = 1] = \"WEEKLY\";\n ReportFrequency[ReportFrequency[\"MONTHLY\"] = 2] = \"MONTHLY\";\n return ReportFrequency;\n}(ReportFrequency || {});\nvar ReportDataTemplateType = /*#__PURE__*/function (ReportDataTemplateType) {\n ReportDataTemplateType[ReportDataTemplateType[\"NOT_SPECIFIED\"] = 0] = \"NOT_SPECIFIED\";\n ReportDataTemplateType[ReportDataTemplateType[\"NUMBER_WITH_CHANGE\"] = 1] = \"NUMBER_WITH_CHANGE\";\n ReportDataTemplateType[ReportDataTemplateType[\"CALL_TO_ACTION\"] = 2] = \"CALL_TO_ACTION\";\n ReportDataTemplateType[ReportDataTemplateType[\"BASIC_LIST\"] = 3] = \"BASIC_LIST\";\n ReportDataTemplateType[ReportDataTemplateType[\"INFO_LIST\"] = 4] = \"INFO_LIST\";\n ReportDataTemplateType[ReportDataTemplateType[\"BAR_CHART\"] = 5] = \"BAR_CHART\";\n ReportDataTemplateType[ReportDataTemplateType[\"BASIC_NUMBER\"] = 6] = \"BASIC_NUMBER\";\n ReportDataTemplateType[ReportDataTemplateType[\"THERMOMETER_WITH_GRADE\"] = 7] = \"THERMOMETER_WITH_GRADE\";\n ReportDataTemplateType[ReportDataTemplateType[\"LINE_GRAPH\"] = 8] = \"LINE_GRAPH\";\n ReportDataTemplateType[ReportDataTemplateType[\"WORD_CLOUD\"] = 9] = \"WORD_CLOUD\";\n return ReportDataTemplateType;\n}(ReportDataTemplateType || {});\nvar ReportDataWidth = /*#__PURE__*/function (ReportDataWidth) {\n ReportDataWidth[ReportDataWidth[\"HALF\"] = 0] = \"HALF\";\n ReportDataWidth[ReportDataWidth[\"FULL\"] = 1] = \"FULL\";\n ReportDataWidth[ReportDataWidth[\"QUARTER\"] = 2] = \"QUARTER\";\n return ReportDataWidth;\n}(ReportDataWidth || {});\n// *********************************\n\nfunction enumStringToValue$1(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass BarChart {\n static fromProto(proto) {\n let m = new BarChart();\n m = Object.assign(m, proto);\n if (proto.fillPercent) {\n m.fillPercent = parseInt(proto.fillPercent, 10);\n }\n if (proto.fillColor) {\n m.fillColor = enumStringToValue$1(Color, proto.fillColor);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.label !== 'undefined') {\n toReturn['label'] = this.label;\n }\n if (typeof this.value !== 'undefined') {\n toReturn['value'] = this.value;\n }\n if (typeof this.fillPercent !== 'undefined') {\n toReturn['fillPercent'] = this.fillPercent;\n }\n if (typeof this.fillColor !== 'undefined') {\n toReturn['fillColor'] = this.fillColor;\n }\n return toReturn;\n }\n}\nclass GetReportConfigRequest {\n static fromProto(proto) {\n let m = new GetReportConfigRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n return toReturn;\n }\n}\nclass GetReportConfigResponse {\n static fromProto(proto) {\n let m = new GetReportConfigResponse();\n m = Object.assign(m, proto);\n if (proto.config) {\n m.config = ReportConfig.fromProto(proto.config);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.config !== 'undefined' && this.config !== null) {\n toReturn['config'] = 'toApiJson' in this.config ? this.config.toApiJson() : this.config;\n }\n return toReturn;\n }\n}\nclass GetReportSummaryRequest {\n static fromProto(proto) {\n let m = new GetReportSummaryRequest();\n m = Object.assign(m, proto);\n if (proto.frequency) {\n m.frequency = enumStringToValue$1(ReportFrequency, proto.frequency);\n }\n if (proto.reportDate) {\n m.reportDate = new Date(proto.reportDate);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.frequency !== 'undefined') {\n toReturn['frequency'] = this.frequency;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.reportDate !== 'undefined' && this.reportDate !== null) {\n toReturn['reportDate'] = 'toApiJson' in this.reportDate ? this.reportDate.toApiJson() : this.reportDate;\n }\n return toReturn;\n }\n}\nclass GetReportSummaryResponse {\n static fromProto(proto) {\n let m = new GetReportSummaryResponse();\n m = Object.assign(m, proto);\n if (proto.positive) {\n m.positive = proto.positive.map(HighlightItem.fromProto);\n }\n if (proto.negative) {\n m.negative = proto.negative.map(HighlightItem.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.positive !== 'undefined' && this.positive !== null) {\n toReturn['positive'] = 'toApiJson' in this.positive ? this.positive.toApiJson() : this.positive;\n }\n if (typeof this.negative !== 'undefined' && this.negative !== null) {\n toReturn['negative'] = 'toApiJson' in this.negative ? this.negative.toApiJson() : this.negative;\n }\n return toReturn;\n }\n}\nclass GraphMarker {\n static fromProto(proto) {\n let m = new GraphMarker();\n m = Object.assign(m, proto);\n if (proto.percentile) {\n m.percentile = parseInt(proto.percentile, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.label !== 'undefined') {\n toReturn['label'] = this.label;\n }\n if (typeof this.score !== 'undefined') {\n toReturn['score'] = this.score;\n }\n if (typeof this.percentile !== 'undefined') {\n toReturn['percentile'] = this.percentile;\n }\n return toReturn;\n }\n}\nclass HighlightItem {\n static fromProto(proto) {\n let m = new HighlightItem();\n m = Object.assign(m, proto);\n if (proto.i18n) {\n m.i18n = Object.keys(proto.i18n).reduce((obj, k) => {\n obj[k] = proto.i18n[k];\n return obj;\n }, {});\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.highlight !== 'undefined') {\n toReturn['highlight'] = this.highlight;\n }\n if (typeof this.anchorLink !== 'undefined') {\n toReturn['anchorLink'] = this.anchorLink;\n }\n if (typeof this.i18n !== 'undefined' && this.i18n !== null) {\n toReturn['i18n'] = 'toApiJson' in this.i18n ? this.i18n.toApiJson() : this.i18n;\n }\n return toReturn;\n }\n}\nclass HighlightItemI18nEntry {\n static fromProto(proto) {\n let m = new HighlightItemI18nEntry();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.key !== 'undefined') {\n toReturn['key'] = this.key;\n }\n if (typeof this.value !== 'undefined') {\n toReturn['value'] = this.value;\n }\n return toReturn;\n }\n}\nclass LineGraph {\n static fromProto(proto) {\n let m = new LineGraph();\n m = Object.assign(m, proto);\n if (proto.point) {\n m.point = proto.point.map(Point2D.fromProto);\n }\n if (proto.fillColor) {\n m.fillColor = enumStringToValue$1(Color, proto.fillColor);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.label !== 'undefined') {\n toReturn['label'] = this.label;\n }\n if (typeof this.point !== 'undefined' && this.point !== null) {\n toReturn['point'] = 'toApiJson' in this.point ? this.point.toApiJson() : this.point;\n }\n if (typeof this.fillColor !== 'undefined') {\n toReturn['fillColor'] = this.fillColor;\n }\n return toReturn;\n }\n}\nclass ListItem {\n static fromProto(proto) {\n let m = new ListItem();\n m = Object.assign(m, proto);\n if (proto.infoTextColor) {\n m.infoTextColor = enumStringToValue$1(Color, proto.infoTextColor);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.header !== 'undefined') {\n toReturn['header'] = this.header;\n }\n if (typeof this.body !== 'undefined') {\n toReturn['body'] = this.body;\n }\n if (typeof this.footer !== 'undefined') {\n toReturn['footer'] = this.footer;\n }\n if (typeof this.infoText !== 'undefined') {\n toReturn['infoText'] = this.infoText;\n }\n if (typeof this.infoTextColor !== 'undefined') {\n toReturn['infoTextColor'] = this.infoTextColor;\n }\n if (typeof this.infoTextIcon !== 'undefined') {\n toReturn['infoTextIcon'] = this.infoTextIcon;\n }\n if (typeof this.imageUrl !== 'undefined') {\n toReturn['imageUrl'] = this.imageUrl;\n }\n return toReturn;\n }\n}\nclass ListReportDataPagedResponse {\n static fromProto(proto) {\n let m = new ListReportDataPagedResponse();\n m = Object.assign(m, proto);\n if (proto.reportData) {\n m.reportData = proto.reportData.map(ProductReportEntity.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.reportData !== 'undefined' && this.reportData !== null) {\n toReturn['reportData'] = 'toApiJson' in this.reportData ? this.reportData.toApiJson() : this.reportData;\n }\n if (typeof this.nextCursor !== 'undefined') {\n toReturn['nextCursor'] = this.nextCursor;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n return toReturn;\n }\n}\nclass ListReportDataRequest {\n static fromProto(proto) {\n let m = new ListReportDataRequest();\n m = Object.assign(m, proto);\n if (proto.category) {\n m.category = enumStringToValue$1(Category, proto.category);\n }\n if (proto.frequency) {\n m.frequency = enumStringToValue$1(ReportFrequency, proto.frequency);\n }\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n if (proto.reportDate) {\n m.reportDate = new Date(proto.reportDate);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.category !== 'undefined') {\n toReturn['category'] = this.category;\n }\n if (typeof this.frequency !== 'undefined') {\n toReturn['frequency'] = this.frequency;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.reportDate !== 'undefined' && this.reportDate !== null) {\n toReturn['reportDate'] = 'toApiJson' in this.reportDate ? this.reportDate.toApiJson() : this.reportDate;\n }\n return toReturn;\n }\n}\nclass ListReportDatesRequest {\n static fromProto(proto) {\n let m = new ListReportDatesRequest();\n m = Object.assign(m, proto);\n if (proto.frequency) {\n m.frequency = enumStringToValue$1(ReportFrequency, proto.frequency);\n }\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.frequency !== 'undefined') {\n toReturn['frequency'] = this.frequency;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n return toReturn;\n }\n}\nclass ListReportDatesResponse {\n static fromProto(proto) {\n let m = new ListReportDatesResponse();\n m = Object.assign(m, proto);\n if (proto.reportDates) {\n m.reportDates = proto.reportDates.map(d => new Date(d));\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.reportDates !== 'undefined' && this.reportDates !== null) {\n toReturn['reportDates'] = 'toApiJson' in this.reportDates ? this.reportDates.toApiJson() : this.reportDates;\n }\n if (typeof this.hasNext !== 'undefined') {\n toReturn['hasNext'] = this.hasNext;\n }\n if (typeof this.hasPrev !== 'undefined') {\n toReturn['hasPrev'] = this.hasPrev;\n }\n if (typeof this.nextCursor !== 'undefined') {\n toReturn['nextCursor'] = this.nextCursor;\n }\n if (typeof this.prevCursor !== 'undefined') {\n toReturn['prevCursor'] = this.prevCursor;\n }\n return toReturn;\n }\n}\nclass Point2D {\n static fromProto(proto) {\n let m = new Point2D();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.x !== 'undefined') {\n toReturn['x'] = this.x;\n }\n if (typeof this.y !== 'undefined') {\n toReturn['y'] = this.y;\n }\n return toReturn;\n }\n}\nclass ProductReportEntity {\n static fromProto(proto) {\n let m = new ProductReportEntity();\n m = Object.assign(m, proto);\n if (proto.data) {\n m.data = proto.data.map(ReportData.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.data !== 'undefined' && this.data !== null) {\n toReturn['data'] = 'toApiJson' in this.data ? this.data.toApiJson() : this.data;\n }\n if (typeof this.marketplaceAppId !== 'undefined') {\n toReturn['marketplaceAppId'] = this.marketplaceAppId;\n }\n return toReturn;\n }\n}\nclass ReportConfig {\n static fromProto(proto) {\n let m = new ReportConfig();\n m = Object.assign(m, proto);\n if (proto.enabledCategories) {\n m.enabledCategories = proto.enabledCategories.map(v => enumStringToValue$1(Category, v));\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.enabledCategories !== 'undefined') {\n toReturn['enabledCategories'] = this.enabledCategories;\n }\n return toReturn;\n }\n}\nclass ReportData {\n static fromProto(proto) {\n let m = new ReportData();\n m = Object.assign(m, proto);\n if (proto.templateType) {\n m.templateType = enumStringToValue$1(ReportDataTemplateType, proto.templateType);\n }\n if (proto.format) {\n m.format = enumStringToValue$1(ReportDataFormat, proto.format);\n }\n if (proto.precision) {\n m.precision = parseInt(proto.precision, 10);\n }\n if (proto.width) {\n m.width = enumStringToValue$1(ReportDataWidth, proto.width);\n }\n if (proto.list) {\n m.list = proto.list.map(ListItem.fromProto);\n }\n if (proto.barChart) {\n m.barChart = proto.barChart.map(BarChart.fromProto);\n }\n if (proto.marker) {\n m.marker = proto.marker.map(GraphMarker.fromProto);\n }\n if (proto.grade) {\n m.grade = enumStringToValue$1(ReportDataGrade, proto.grade);\n }\n if (proto.lineGraph) {\n m.lineGraph = proto.lineGraph.map(LineGraph.fromProto);\n }\n if (proto.createdOn) {\n m.createdOn = new Date(proto.createdOn);\n }\n if (proto.wordCloudList) {\n m.wordCloudList = proto.wordCloudList.map(WordCloudItem.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.templateType !== 'undefined') {\n toReturn['templateType'] = this.templateType;\n }\n if (typeof this.uniqueId !== 'undefined') {\n toReturn['uniqueId'] = this.uniqueId;\n }\n if (typeof this.title !== 'undefined') {\n toReturn['title'] = this.title;\n }\n if (typeof this.description !== 'undefined') {\n toReturn['description'] = this.description;\n }\n if (typeof this.value !== 'undefined') {\n toReturn['value'] = this.value;\n }\n if (typeof this.change !== 'undefined') {\n toReturn['change'] = this.change;\n }\n if (typeof this.format !== 'undefined') {\n toReturn['format'] = this.format;\n }\n if (typeof this.precision !== 'undefined') {\n toReturn['precision'] = this.precision;\n }\n if (typeof this.width !== 'undefined') {\n toReturn['width'] = this.width;\n }\n if (typeof this.nextUrl !== 'undefined') {\n toReturn['nextUrl'] = this.nextUrl;\n }\n if (typeof this.nextUrlLabel !== 'undefined') {\n toReturn['nextUrlLabel'] = this.nextUrlLabel;\n }\n if (typeof this.list !== 'undefined' && this.list !== null) {\n toReturn['list'] = 'toApiJson' in this.list ? this.list.toApiJson() : this.list;\n }\n if (typeof this.barChart !== 'undefined' && this.barChart !== null) {\n toReturn['barChart'] = 'toApiJson' in this.barChart ? this.barChart.toApiJson() : this.barChart;\n }\n if (typeof this.marker !== 'undefined' && this.marker !== null) {\n toReturn['marker'] = 'toApiJson' in this.marker ? this.marker.toApiJson() : this.marker;\n }\n if (typeof this.grade !== 'undefined') {\n toReturn['grade'] = this.grade;\n }\n if (typeof this.lineGraph !== 'undefined' && this.lineGraph !== null) {\n toReturn['lineGraph'] = 'toApiJson' in this.lineGraph ? this.lineGraph.toApiJson() : this.lineGraph;\n }\n if (typeof this.createdOn !== 'undefined' && this.createdOn !== null) {\n toReturn['createdOn'] = 'toApiJson' in this.createdOn ? this.createdOn.toApiJson() : this.createdOn;\n }\n if (typeof this.initialValue !== 'undefined') {\n toReturn['initialValue'] = this.initialValue;\n }\n if (typeof this.wordCloudList !== 'undefined' && this.wordCloudList !== null) {\n toReturn['wordCloudList'] = 'toApiJson' in this.wordCloudList ? this.wordCloudList.toApiJson() : this.wordCloudList;\n }\n return toReturn;\n }\n}\nclass ReportDataRequest {\n static fromProto(proto) {\n let m = new ReportDataRequest();\n m = Object.assign(m, proto);\n if (proto.category) {\n m.category = enumStringToValue$1(Category, proto.category);\n }\n if (proto.frequency) {\n m.frequency = enumStringToValue$1(ReportFrequency, proto.frequency);\n }\n if (proto.reportData) {\n m.reportData = proto.reportData.map(ReportData.fromProto);\n }\n if (proto.reportDate) {\n m.reportDate = new Date(proto.reportDate);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.category !== 'undefined') {\n toReturn['category'] = this.category;\n }\n if (typeof this.frequency !== 'undefined') {\n toReturn['frequency'] = this.frequency;\n }\n if (typeof this.reportData !== 'undefined' && this.reportData !== null) {\n toReturn['reportData'] = 'toApiJson' in this.reportData ? this.reportData.toApiJson() : this.reportData;\n }\n if (typeof this.reportDate !== 'undefined' && this.reportDate !== null) {\n toReturn['reportDate'] = 'toApiJson' in this.reportDate ? this.reportDate.toApiJson() : this.reportDate;\n }\n if (typeof this.marketplaceAppId !== 'undefined') {\n toReturn['marketplaceAppId'] = this.marketplaceAppId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n return toReturn;\n }\n}\nclass SaveReportConfigRequest {\n static fromProto(proto) {\n let m = new SaveReportConfigRequest();\n m = Object.assign(m, proto);\n if (proto.config) {\n m.config = ReportConfig.fromProto(proto.config);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.config !== 'undefined' && this.config !== null) {\n toReturn['config'] = 'toApiJson' in this.config ? this.config.toApiJson() : this.config;\n }\n return toReturn;\n }\n}\nclass WordCloudItem {\n static fromProto(proto) {\n let m = new WordCloudItem();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.text !== 'undefined') {\n toReturn['text'] = this.text;\n }\n if (typeof this.sentiment !== 'undefined') {\n toReturn['sentiment'] = this.sentiment;\n }\n if (typeof this.weight !== 'undefined') {\n toReturn['weight'] = this.weight;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass ListActiveAppsMetadataResponseAppMetadatum {\n static fromProto(proto) {\n let m = new ListActiveAppsMetadataResponseAppMetadatum();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.accountId !== 'undefined') {\n toReturn['accountId'] = this.accountId;\n }\n if (typeof this.editionId !== 'undefined') {\n toReturn['editionId'] = this.editionId;\n }\n return toReturn;\n }\n}\nclass ListActiveAppsMetadataRequest {\n static fromProto(proto) {\n let m = new ListActiveAppsMetadataRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.businessId !== 'undefined') {\n toReturn['businessId'] = this.businessId;\n }\n if (typeof this.jwtId !== 'undefined') {\n toReturn['jwtId'] = this.jwtId;\n }\n return toReturn;\n }\n}\nclass ListActiveAppsMetadataResponse {\n static fromProto(proto) {\n let m = new ListActiveAppsMetadataResponse();\n m = Object.assign(m, proto);\n if (proto.appMetadata) {\n m.appMetadata = proto.appMetadata.map(ListActiveAppsMetadataResponseAppMetadatum.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appMetadata !== 'undefined' && this.appMetadata !== null) {\n toReturn['appMetadata'] = 'toApiJson' in this.appMetadata ? this.appMetadata.toApiJson() : this.appMetadata;\n }\n return toReturn;\n }\n}\nclass ListActiveAppsRequest {\n static fromProto(proto) {\n let m = new ListActiveAppsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.businessId !== 'undefined') {\n toReturn['businessId'] = this.businessId;\n }\n if (typeof this.jwtId !== 'undefined') {\n toReturn['jwtId'] = this.jwtId;\n }\n return toReturn;\n }\n}\nclass ListActiveAppsResponse {\n static fromProto(proto) {\n let m = new ListActiveAppsResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appIds !== 'undefined') {\n toReturn['appIds'] = this.appIds;\n }\n return toReturn;\n }\n}\n\n// *********************************\n\n// *********************************\nlet ConfigurationApiService = /*#__PURE__*/(() => {\n class ConfigurationApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n listActiveApps(r) {\n const request = r.toApiJson ? r : new ListActiveAppsRequest(r);\n return this.http.post(this._host + \"/executivereport.v1.Configuration/ListActiveApps\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListActiveAppsResponse.fromProto(resp)));\n }\n listActiveAppsMetadata(r) {\n const request = r.toApiJson ? r : new ListActiveAppsMetadataRequest(r);\n return this.http.post(this._host + \"/executivereport.v1.Configuration/ListActiveAppsMetadata\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListActiveAppsMetadataResponse.fromProto(resp)));\n }\n }\n ConfigurationApiService.ɵfac = function ConfigurationApiService_Factory(t) {\n return new (t || ConfigurationApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n ConfigurationApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: ConfigurationApiService,\n factory: ConfigurationApiService.ɵfac,\n providedIn: 'root'\n });\n return ConfigurationApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet ExecutiveReportApiService = /*#__PURE__*/(() => {\n class ExecutiveReportApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n createReportData(r) {\n const request = r.toApiJson ? r : new ReportDataRequest(r);\n return this.http.post(this._host + \"/executivereport.v1.ExecutiveReport/CreateReportData\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n listReportData(r) {\n const request = r.toApiJson ? r : new ListReportDataRequest(r);\n return this.http.post(this._host + \"/executivereport.v1.ExecutiveReport/ListReportData\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListReportDataPagedResponse.fromProto(resp)));\n }\n listReportDates(r) {\n const request = r.toApiJson ? r : new ListReportDatesRequest(r);\n return this.http.post(this._host + \"/executivereport.v1.ExecutiveReport/ListReportDates\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListReportDatesResponse.fromProto(resp)));\n }\n getReportSummary(r) {\n const request = r.toApiJson ? r : new GetReportSummaryRequest(r);\n return this.http.post(this._host + \"/executivereport.v1.ExecutiveReport/GetReportSummary\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetReportSummaryResponse.fromProto(resp)));\n }\n saveReportConfig(r) {\n const request = r.toApiJson ? r : new SaveReportConfigRequest(r);\n return this.http.post(this._host + \"/executivereport.v1.ExecutiveReport/SaveReportConfig\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n getReportConfig(r) {\n const request = r.toApiJson ? r : new GetReportConfigRequest(r);\n return this.http.post(this._host + \"/executivereport.v1.ExecutiveReport/GetReportConfig\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetReportConfigResponse.fromProto(resp)));\n }\n }\n ExecutiveReportApiService.ɵfac = function ExecutiveReportApiService_Factory(t) {\n return new (t || ExecutiveReportApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n ExecutiveReportApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: ExecutiveReportApiService,\n factory: ExecutiveReportApiService.ɵfac,\n providedIn: 'root'\n });\n return ExecutiveReportApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet ExecutiveReportService = /*#__PURE__*/(() => {\n class ExecutiveReportService {\n constructor(api) {\n this.api = api;\n }\n createReportData(category, frequency, reportData, reportDate, marketplaceAppId, accountGroupId) {\n const req = new ReportDataRequest({\n category: category,\n frequency: frequency,\n reportData: reportData,\n reportDate: reportDate,\n marketplaceAppId: marketplaceAppId,\n accountGroupId: accountGroupId\n });\n return this.api.createReportData(req).pipe(map(() => true));\n }\n listReportData(category, frequency, cursor, pageSize, accountGroupId, reportDate) {\n const req = new ListReportDataRequest({\n category: category,\n frequency: frequency,\n cursor: cursor,\n pageSize: pageSize,\n accountGroupId: accountGroupId,\n reportDate: reportDate\n });\n return this.api.listReportData(req).pipe(map(resp => new PagedResponse(resp.reportData, resp.nextCursor, resp.hasMore)));\n }\n listReportDates(accountGroupId, frequency, cursor, pageSize) {\n const req = new ListReportDatesRequest({\n accountGroupId: accountGroupId,\n frequency: frequency,\n cursor: cursor,\n pageSize: pageSize\n });\n return this.api.listReportDates(req).pipe(map(resp => new BiDirectionalPagedResponse(resp.reportDates, resp.nextCursor, resp.prevCursor, resp.hasNext, resp.hasPrev)));\n }\n getReportSummary(frequency, accountGroupId, reportDate) {\n const req = new GetReportSummaryRequest({\n frequency: frequency,\n accountGroupId: accountGroupId,\n reportDate: reportDate\n });\n return this.api.getReportSummary(req).pipe(map(resp => new GetReportSummaryResponse({\n positive: resp.positive,\n negative: resp.negative\n })));\n }\n saveReportConfig(partnerId, marketId, config) {\n const req = new SaveReportConfigRequest({\n partnerId: partnerId,\n marketId: marketId,\n config: config\n });\n return this.api.saveReportConfig(req).pipe(map(() => true));\n }\n getReportConfig(partnerId, marketId) {\n const req = new GetReportConfigRequest({\n partnerId: partnerId,\n marketId: marketId\n });\n return this.api.getReportConfig(req).pipe(map(resp => resp.config));\n }\n }\n ExecutiveReportService.ɵfac = function ExecutiveReportService_Factory(t) {\n return new (t || ExecutiveReportService)(i0.ɵɵinject(ExecutiveReportApiService));\n };\n ExecutiveReportService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: ExecutiveReportService,\n factory: ExecutiveReportService.ɵfac,\n providedIn: 'root'\n });\n return ExecutiveReportService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nclass PagedResponse {\n constructor(results, nextCursor, hasMore) {\n this.results = results;\n this.nextCursor = nextCursor;\n if (hasMore !== undefined && hasMore !== null) {\n this.hasMore = hasMore;\n }\n }\n}\nclass BiDirectionalPagedResponse extends PagedResponse {\n constructor(results, nextCursor, prevCursor, hasNext, hasPrev) {\n super(results, nextCursor);\n this.prevCursor = prevCursor;\n this.hasNext = hasNext;\n this.hasPrev = hasPrev;\n }\n}\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BarChart, Category, Color, ConfigurationApiService, ExecutiveReportApiService, ExecutiveReportService, GetReportConfigRequest, GetReportConfigResponse, GetReportSummaryRequest, GetReportSummaryResponse, GraphMarker, HighlightItem, HighlightItemI18nEntry, HostService, LineGraph, ListActiveAppsMetadataRequest, ListActiveAppsMetadataResponse, ListActiveAppsMetadataResponseAppMetadatum, ListActiveAppsRequest, ListActiveAppsResponse, ListItem, ListReportDataPagedResponse, ListReportDataRequest, ListReportDatesRequest, ListReportDatesResponse, Point2D, ProductReportEntity, ReportConfig, ReportData, ReportDataFormat, ReportDataGrade, ReportDataRequest, ReportDataTemplateType, ReportDataWidth, ReportFrequency, SaveReportConfigRequest, WordCloudItem };\n"],"mappings":"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","names":["GET_CAMPAIGN_URL","CampaignService","constructor","apiService","http","campaignsSDK","partnerId$","campaignsSubject","BehaviorSubject","getCampaign","campaignId","get","pipe","map","result","Campaign","createFromRawData","toggleUserOnCampaign","recipientCampaignId","currentStatus","userId","accountGroupId","url","body","status","post","r","scheduledTime","Date","stageName","stageType","campaigns","asObservable","lookupCampaigns","searchTerm","pageLimit","statuses","s","Statuses","STATUSES_ACTIVE","STATUSES_PUBLISHED","STATUSES_ARCHIVED","STATUSES_DRAFT","STATUSES_UNSPECIFIED","switchMap","partnerId","list","undefined","pageSize","cs","v","id","name","convertStatus","getRecipientCampaigns","email","withCredentials","hasSnapshot","campaignSchedule","find","schedule","stepType","console","error","ɵɵinject","ApiService","HttpClient","factory","ɵfac","providedIn","_CampaignService","import_moment","EMAIL_SMBS_PRODUCT_ACTIVATED_CONFIG_KEY","ChangeEditionDialogService","constructor","accountService","activateAppService","pendingActivationService","activationService","router","translate","productStoreService","partnerId$","marketId$","vconfigService","activationSettingsApiService","lineItemCacheService","orderConfirmationUrl","displayEmailUsersOption$$","ReplaySubject","displayEmailUsersOption$","asObservable","users$$","users$","combineLatest","pipe","switchMap","partnerId","marketId","getConfigurations","shareReplay","subscribe","resp","next","loadingUsers$","filter","_","loading","users","activateEditionForApp","appId","activationId","selectedEditionId","reasons","emailSmbUsersOnActivation","accountID$","businessId","setNotificationSettings","changeEditionForApp","tap","reloadProducts","itemId","editionId","take","Error","editionChangeInformation","EditionChangeInformation","currentActivationId","editionChangeReasons","Reasons","choices","comments","orderItemParams","OrderItemParameters","createOrder","map","orderId","changeEditions","changeRequests","orderItems","changeRequest","newEditionId","handleTrialUpgradeToPaid","accountGroupId","selectItem","quantity","lineItems","LineItem","appKey","currentRevenue","revenueComponents","order","Order","requestedActivation","moment","toDate","tags","instant","cacheOrder","cacheLineItems","itemType","queryParams","appIds","JSON","stringify","navigationSource","addonIds","url","replace","navigate","ɵɵinject","AccountService","ActivateAppService","PendingActivationsService","ActivationService","Router","TranslateService","ProductOrderFormStoreService","VConfigService","ActivationSettingsApiService","LineItemCacheService","factory","ɵfac","providedIn","_ChangeEditionDialogService","CHANGE_EDITION_DIALOG_I18N_PATH","UPGRADE_EDITION_DIALOG_I18N_PATH","ACTIVE_CAMPAIGN_CHANGE_EDITION_DIALOG_I18N_PATH","ACTIVE_CAMPAIGN_UPGRADE_EDITION_DIALOG_I18N_PATH","ACTIVE_CAMPAIGN_CHANGE_EDITION_DIALOG_TEXT_I18N","title","key","selectEdition","selectContacts","current","confirmation","cancelButton","changeEditionButton","ACTIVE_CAMPAIGN_UPGRADE_EDITION_DIALOG_TEXT_I18N","upgradeEditionButton","ACTIVE_CAMPAIGN_CHANGE_EDITION_DIALOG_CONFIG","ACTIVE_CAMPAIGN_UPGRADE_EDITION_DIALOG_CONFIG","ɵɵelementContainerStart","ɵɵtext","ɵɵadvance","ɵɵtextInterpolate1","ɵɵpipeBind1","ctx_r1","acChangeEditionDialogConfig","title","key","ɵɵelementStart","ɵɵelementEnd","ɵɵtextInterpolate","acUpgradeEditionDialogConfig","ɵɵelement","ɵɵproperty","data","appIconUrl","current","ɵɵtemplate","ActiveCampaignChangeEditionDialogComponent_mat_option_16_div_4_Template","planType_r3","currentPlanType","select_r4","panelOpen","ActiveCampaignChangeEditionDialogComponent_mat_radio_button_21_span_4_Template","limit_r5","selectedPlanType","PlanType","Plus","Lite","ContactLimit","limit1000","limit500","currentContactLimit","ɵɵtwoWayListener","$event","ɵɵrestoreView","_r6","ɵɵnextContext","i0","ɵɵtwoWayBindingSet","hasEmailUsersChecked","ɵɵresetView","ɵɵlistener","presentPreviewEmailDialog","ɵɵtwoWayProperty","confirmation","changeEditionButton","upgradeEditionButton","ActiveCampaignChangeEditionDialogComponent_ng_container_35_ng_container_1_Template","ActiveCampaignChangeEditionDialogComponent_ng_container_35_ng_template_2_Template","ɵɵtemplateRefExtractor","isTrial","trialButton_r7","ActiveCampaignChangeEditionDialogComponent","constructor","dialogRef","dialog","changeEditionDialogService","snackbarService","environmentService","partnerId$","PlanTypeList","Pro","Enterprise","ContactLimitList","limit2500","limit5000","limit10000","limit25000","limit50000","limit75000","limit100000","limit150000","limit200000","limit250000","limit300000","limit800000","ACTIVE_CAMPAIGN_CHANGE_EDITION_DIALOG_CONFIG","ACTIVE_CAMPAIGN_UPGRADE_EDITION_DIALOG_CONFIG","confirmationCheckbox","submitting","isActiveCampaignV2","ngOnInit","users$","displayEmailUsersOption$","currentEditionId","appId","activeCampaignAppIdV2","getEnvironment","updatePlanTypeAndContactLimitForV1","planTypeAndContactLimit","planTypeAndContactLimitFromEditionId","planType","contactLimit","selectedContactLimit","changeSelectedContactLimit","event","value","planTypeChanged","activateEditionForApp","newEditionId","editionIdFromPlanTypeAndContactLimit","handleTrialUpgradeToPaid","close","openErrorSnack","activationId","pipe","first","subscribe","next","res","openSuccessSnack","error","add","previewDialogRef","open","PreviewEmailDialogComponent","unshift","ɵɵdirectiveInject","MatDialogRef","MatDialog","ChangeEditionDialogService","SnackbarService","EnvironmentService","MAT_DIALOG_DATA","selectors","decls","vars","consts","template","rf","ctx","ActiveCampaignChangeEditionDialogComponent_ng_container_1_Template","ActiveCampaignChangeEditionDialogComponent_ng_template_2_Template","ActiveCampaignChangeEditionDialogComponent_va_icon_10_Template","_r1","ActiveCampaignChangeEditionDialogComponent_mat_option_16_Template","ActiveCampaignChangeEditionDialogComponent_mat_radio_button_21_Template","ActiveCampaignChangeEditionDialogComponent_div_23_Template","ActiveCampaignChangeEditionDialogComponent_ng_container_27_Template","ActiveCampaignChangeEditionDialogComponent_ng_template_28_Template","ActiveCampaignChangeEditionDialogComponent_ng_container_35_Template","ActiveCampaignChangeEditionDialogComponent_ng_template_36_Template","trialTitle_r8","selectEdition","appName","selectContacts","tmp_15_0","length","trialCheckbox_r9","cancelButton","submit_r10","_ActiveCampaignChangeEditionDialogComponent","CampaignDialogItemStoreService","constructor","campaignsService","legacyMAService","snackbarService","partnerService","convertToCampaignDialogItem","campaign","campaignId","id","recipientCampaignId","name","description","getDescription","currentStatus","statusText","getStatusText","statusColor","getStatusColor","buttonText","getButtonText","console","error","nextStepScheduledDate","nextStepDate","GalaxyDatePipe","transform","nextStepTime","DateFormat","shortTime","updateStatus","userId","accountGroupId","toggleUserOnCampaign","handleUpdateStatusError","marketId","code","errorSnack","data","message","MAILING_INFO_NOT_CONFIGURED","CanCustomizeWhitelabel","duration","onAction","subscribe","window","location","href","ɵɵinject","CampaignsService","CampaignService","SnackbarService","PartnerService","factory","ɵfac","providedIn","_CampaignDialogItemStoreService","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ctx_r0","campaignDialogItem","description","ɵɵproperty","statusColor","statusText","ɵɵlistener","ɵɵrestoreView","_r2","ɵɵnextContext","ɵɵresetView","clicked","buttonText","ɵɵelement","CampaignDialogItemComponent","campaign","c","setCampaign","constructor","campaignDialogItemService","loading","subscriptions","_campaign","convertToCampaignDialogItem","push","updateStatus","userId","accountGroupId","subscribe","result","nextStepScheduledDate","scheduledTime","recipientCampaignId","recipientCampaignStatus","status","err","handleUpdateStatusError","marketId","ngOnDestroy","forEach","sub","unsubscribe","ɵɵdirectiveInject","CampaignDialogItemStoreService","selectors","inputs","decls","vars","consts","template","rf","ctx","ɵɵtemplate","CampaignDialogItemComponent_div_4_Template","CampaignDialogItemComponent_mat_chip_listbox_7_Template","CampaignDialogItemComponent_div_8_Template","CampaignDialogItemComponent_mat_progress_bar_9_Template","ɵɵtextInterpolate","name","currentStatus","_CampaignDialogItemComponent","CampaignDialogStoreService","constructor","campaignsService","legacyCampaignsService","pageLimit","status","campaigns$$","BehaviorSubject","searchTerm$$","loadingCampaigns$$","offset$$","recipientCampaigns$$","ReplaySubject","recipientCampaignsRequest$$","Subject","loadingRecipientCampiagns$$","loadingCampaigns$","asObservable","recipientCampaigns$","pipe","switchMap","req","getRecipientCampaigns","partnerId","accountGroupId","userEmail","map","response","handleRecipientCampaigns","subscribe","debounceTime","searchTerm","lookupCampaigns","handleCampaignResponse","campaigns","campaigns$","combineLatest","filter","recipientCampaigns","c","cc","Campaign","Object","assign","rc","id","recipientCampaignId","recipientCampaignStatus","nextStepScheduledDate","Date","init","next","updateSearch","getValue","previousCampaign","concat","ɵɵinject","CampaignsService","CampaignService","factory","ɵfac","providedIn","_CampaignDialogStoreService","ɵɵelementContainerStart","ɵɵelement","ɵɵadvance","ɵɵproperty","campaign_r1","ctx_r1","userId","accountGroupId","marketId","ɵɵelementStart","ɵɵelementEnd","CampaignsDialogComponent","user","u","userName","getUserNameOrEmailText","userEmail","email","constructor","dialogRef","campaignDialogStoreService","searchTerm","UntypedFormControl","lastSearchTerm","ngOnInit","campaigns$","loadingCampaigns$","recipientCampaigns$","init","partnerId","updateSearch","value","firstName","lastName","updateSearchTerm","loadMore","ɵɵdirectiveInject","MatDialogRef","CampaignDialogStoreService","selectors","inputs","decls","vars","consts","template","rf","ctx","ɵɵtext","ɵɵlistener","ɵɵtemplate","CampaignsDialogComponent_ng_container_11_Template","CampaignsDialogComponent_div_13_Template","close","ɵɵtextInterpolate","ɵɵpipeBind1","_CampaignsDialogComponent","ɵɵelementContainerStart","ɵɵtext","ɵɵadvance","ɵɵtextInterpolate1","ɵɵpipeBind1","ɵɵelement","ɵɵproperty","ctx_r1","data","appIconUrl","ɵɵelementStart","ɵɵelementEnd","ɵɵtemplate","ChangeEditionDialogComponent_mat_select_14_mat_option_2_div_4_Template","edition_r3","editionId","editionTitle","currentEditionId","select_r4","panelOpen","ChangeEditionDialogComponent_mat_select_14_mat_option_2_Template","selectedEditionIdControl","editions_r5","ɵɵtextInterpolate","formattedDependentProductsNames","ɵɵtwoWayListener","$event","ɵɵrestoreView","_r6","ɵɵnextContext","i0","ɵɵtwoWayBindingSet","hasEmailUsersChecked","ɵɵresetView","ɵɵlistener","presentPreviewEmailDialog","ɵɵtwoWayProperty","ChangeEditionDialogComponent_div_28_ng_container_1_Template","ChangeEditionDialogComponent_div_28_ng_template_2_Template","ɵɵtemplateRefExtractor","isTrial","trialBilling_r7","ɵɵpureFunction0","_c0","_c1","ChangeEditionDialogComponent_ng_container_34_ng_container_1_Template","ChangeEditionDialogComponent_ng_container_34_ng_template_2_Template","trialButton_r8","ChangeEditionDialogComponent","selectedEditionId","value","constructor","dialogRef","dialog","editionsService","pricingService","changeEditionDialogService","snackbarService","partnerId$","activationPricingService","billingSettingsService","confirmationCheckbox","submitting","notInstantBillable","dependentProductNames","subscriptions","ngOnInit","users$","displayEmailUsersOption$","UntypedFormControl","autoSelectEdition","unfilteredEditions$","getEditionsForApp","appId","editions$","combineLatest","pipe","take","map","eds","filter","edition","ed","editionName","tap","partnerId","checkBillingConfiguration","subscribe","instantBilledItems$","switchMap","getMultiProductPricing","productPricing","instantBilledItems","key","pricingRules","price","length","strategy","BillingStrategy","Instantly","push","satisfiesDependency$","valueChanges","editions","currentEditionIndex","findIndex","shareReplay","billingInfoConfigured$","billingInfoConfigured","ngOnDestroy","forEach","sub","unsubscribe","merchantId","loadMerchantDetails","loadMerchantCreditCards","activateEditionForApp","handleTrialUpgradeToPaid","close","editionChange$","activationId","reasons","success","satisifiesDependency","result","noLongerSatisfiesDependency","successSnack","errorSnack","err","console","log","previewDialogRef","open","PreviewEmailDialogComponent","join","ɵɵdirectiveInject","MatDialogRef","MatDialog","AppEditionService","PricingService","ChangeEditionDialogService","SnackbarService","MAT_DIALOG_DATA","ActivationPricingService","BillingSettingsService","selectors","decls","vars","consts","template","rf","ctx","ChangeEditionDialogComponent_ng_container_1_Template","ChangeEditionDialogComponent_ng_template_2_Template","ChangeEditionDialogComponent_va_icon_11_Template","ChangeEditionDialogComponent_mat_select_14_Template","ChangeEditionDialogComponent_ng_template_16_Template","ChangeEditionDialogComponent_div_18_Template","ChangeEditionDialogComponent_div_21_Template","_r1","ChangeEditionDialogComponent_ng_container_25_Template","ChangeEditionDialogComponent_ng_template_26_Template","ChangeEditionDialogComponent_div_28_Template","ChangeEditionDialogComponent_ng_container_34_Template","ChangeEditionDialogComponent_ng_template_35_Template","trialTitle_r9","appName","loading_r10","tmp_12_0","trialCheckbox_r11","submit_r12","_ChangeEditionDialogComponent","ɵɵelementStart","ɵɵelement","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","dependentProduct_r1","name","icon_url","ɵɵtextInterpolate1","DeactivateDependentProductDialogComponent","constructor","dialogRef","data","continueDeactivate","close","ɵɵdirectiveInject","MatDialogRef","MAT_DIALOG_DATA","selectors","decls","vars","consts","template","rf","ctx","ɵɵtemplate","DeactivateDependentProductDialogComponent_div_8_Template","ɵɵlistener","ɵɵpipeBind1","ɵɵpipeBind2","ɵɵpureFunction1","_c0","requiredProduct","dependentProducts","_DeactivateDependentProductDialogComponent","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","ctx_r1","downgradeSavings","ɵɵproperty","reasonControl_r3","ɵɵtextInterpolate1","reasons","i_r4","warning_r5","ɵɵlistener","ɵɵrestoreView","_r6","ɵɵnextContext","ɵɵresetView","downgradeProduct","_r1","confirmDelete","ɵɵtemplate","DeactivateDialogComponent_form_0_div_3_Template","DeactivateDialogComponent_form_0_div_8_Template","ɵɵelement","DeactivateDialogComponent_form_0_p_15_Template","DeactivateDialogComponent_form_0_button_19_Template","deactivationFormGroup","title","promoteDowngrade","deactivationReasonMsg","deactivationReasonFormArray","controls","additionalInformationFormControl","value","length","warnings","ownedAndOperatedProEditions","Map","ownedAndOperatedExpressEditions","Environment","DEMO","PROD","DeactivateDialogComponent","constructor","dialogRef","data","partnerId$","appEditionService","environmentService","snackbarService","translateService","DEACTIVATION_REASON_LIST","deactivationInfo","EventEmitter","pageLoaded","itemName","createDeactivateReasonFormArray","deactivationReasons","map","UntypedFormControl","UntypedFormArray","getChoiceValues","deactivationReasonsFormArray","index","filter","ngOnInit","dependentProductsWarningMessages","dependentProducts","item","createWarningText","push","UntypedFormGroup","currentlyTrial","has","itemId","get","currentEditionId","proEdition","expressEdition","getEnvironment","editionIdentifiers","appId","editionId","combineLatest","getEditionsForEditionIdentifiers","pipe","switchMap","editionsMap","partnerId","appEditions","getMultiPurchaseCost","take","subscribe","purchaseCosts","proPrice","expressPrice","dollarSavings","cost","totalCost","percentSavings","toFixed","close","isDowngrade","BlameDeactivationReasons","choices","errorSnack","comments","includes","setErrors","cannotBeEmpty","emit","editionToDowngradeTo","warning","shouldDisplayDate","instant","productName","useCommitment","billingFrequency","displayDate","subItemAmount","ɵɵdirectiveInject","MatDialogRef","MAT_DIALOG_DATA","AppEditionService","EnvironmentService","SnackbarService","TranslateService","selectors","decls","vars","consts","template","rf","ctx","DeactivateDialogComponent_form_0_Template","DeactivateDialogComponent_ng_template_1_Template","ɵɵtemplateRefExtractor","loading_r7","_DeactivateDialogComponent","DeactivateImmediatelyDialogComponent","constructor","dialogRef","data","deactivationInfo","EventEmitter","titleText","itemName","commitmentText","commitmentDate","explanationText","ngOnInit","deactivateAddon","BlameDeactivationReasons","emit","close","ɵɵdirectiveInject","MatDialogRef","MAT_DIALOG_DATA","selectors","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵlistener","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","ɵɵtextInterpolate1","_DeactivateImmediatelyDialogComponent","ɵɵelementStart","ɵɵelementContainer","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","fieldTemplate_r3","ɵɵpureFunction1","_c0","field_r2","field_r4","ɵɵtext","answer_r5","url","ɵɵsanitizeUrl","ɵɵtextInterpolate1","ctx_r5","getFileName","ɵɵtemplate","OrderFormSubmissionDialogComponent_ng_template_8_span_3_a_1_Template","parseIntoArray","field_r7","answer","ɵɵtextInterpolate","checkboxAnswer","dropdownAnswer","OrderFormSubmissionDialogComponent_ng_template_8_span_3_Template","OrderFormSubmissionDialogComponent_ng_template_8_span_4_Template","OrderFormSubmissionDialogComponent_ng_template_8_span_5_Template","OrderFormSubmissionDialogComponent_ng_template_8_span_6_Template","OrderFormSubmissionDialogComponent_ng_template_8_span_7_Template","label","field_type","OrderFormSubmissionDialogComponent","constructor","dialogRef","sortedCommonFields","orderFormSubmission","commonFields","sort","first","second","JSON","parse","inner_answer","email","firstName","lastName","Array","isArray","length","map","a","join","indexOf","substring","lastIndexOf","name","urlArray","toString","ɵɵdirectiveInject","MatDialogRef","selectors","decls","vars","consts","template","rf","ctx","OrderFormSubmissionDialogComponent_div_3_Template","OrderFormSubmissionDialogComponent_div_4_Template","ɵɵlistener","i0","ɵɵrestoreView","_r1","ɵɵresetView","close","OrderFormSubmissionDialogComponent_ng_template_8_Template","ɵɵtemplateRefExtractor","customFields","_OrderFormSubmissionDialogComponent","ɵɵelementContainerStart","ɵɵelementStart","ɵɵlistener","$event","ɵɵrestoreView","_r2","ctx_r2","ɵɵnextContext","ɵɵresetView","changeSpendAmount","changeRequesterNote","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","appPricing","currency","currentSpendAmount","ɵɵelement","RequestSpendChangeDialogComponent","constructor","dialogRef","data","orderFulfillmentService","snackbarService","appPricingService","billingService","subscriptions","isLoading","spendChangeSent","newSpendAmount","minSpendAmount","ngOnInit","partnerCurrency$","getMultiContract","partnerId","pipe","map","contracts","appPricing$","getMultiPricing","productId","FieldMask","paths","appPrices","pricesForContexts","currentSpend$","GetCurrentSpend","businessId","activationId","resp","spendAmount","catchError","err","console","log","openErrorSnack","of","push","combineLatest","subscribe","currentSpend","pricesForEditions","pricesForCurrencies","pricesForFrequencies","pricingRules","price","ngOnDestroy","forEach","sub","unsubscribe","newSpend","newNote","requesterNote","requestSpendChange","changeSpendRequest","first","res","successSnack","close","errorSnack","error","message","ɵɵdirectiveInject","MatDialogRef","MAT_DIALOG_DATA","OrderFulfillmentService","SnackbarService","AppPricingService","BillingService","selectors","decls","vars","consts","template","rf","ctx","ɵɵtext","ɵɵtemplate","RequestSpendChangeDialogComponent_ng_container_7_Template","i0","_r1","RequestSpendChangeDialogComponent_ng_template_15_Template","ɵɵtemplateRefExtractor","ɵɵtextInterpolate1","ɵɵpipeBind1","loadingSpinner_r4","_RequestSpendChangeDialogComponent","environment","hostMap","HostService","t","ɵɵdefineInjectable","Category","Color","ReportDataFormat","ReportDataGrade","ReportFrequency","ReportDataTemplateType","ReportDataWidth","enumStringToValue$1","enumRef","value","BarChart","_BarChart","proto","m","kwargs","toReturn","GetReportConfigRequest","_GetReportConfigRequest","GetReportConfigResponse","_GetReportConfigResponse","ReportConfig","GetReportSummaryRequest","_GetReportSummaryRequest","GetReportSummaryResponse","_GetReportSummaryResponse","HighlightItem","GraphMarker","_GraphMarker","_HighlightItem","obj","k","LineGraph","_LineGraph","proto","m","Point2D","enumStringToValue$1","Color","kwargs","toReturn","ListItem","_ListItem","ListReportDataPagedResponse","_ListReportDataPagedResponse","ProductReportEntity","ListReportDataRequest","_ListReportDataRequest","Category","ReportFrequency","ListReportDatesRequest","_ListReportDatesRequest","ListReportDatesResponse","_ListReportDatesResponse","d","_Point2D","_ProductReportEntity","ReportData","ReportConfig","_ReportConfig","v","_ReportData","ReportDataTemplateType","ReportDataFormat","ReportDataWidth","BarChart","GraphMarker","ReportDataGrade","WordCloudItem","ReportDataRequest","_ReportDataRequest","SaveReportConfigRequest","_SaveReportConfigRequest","_WordCloudItem","ExecutiveReportApiService","http","hostService","HttpHeaders","r","request","ReportDataRequest","__spreadProps","__spreadValues","ListReportDataRequest","map","resp","ListReportDataPagedResponse","ListReportDatesRequest","ListReportDatesResponse","GetReportSummaryRequest","GetReportSummaryResponse","SaveReportConfigRequest","GetReportConfigRequest","GetReportConfigResponse","t","ɵɵinject","HttpClient","HostService","ɵɵdefineInjectable","ExecutiveReportService","api","category","frequency","reportData","reportDate","marketplaceAppId","accountGroupId","req","cursor","pageSize","PagedResponse","BiDirectionalPagedResponse","partnerId","marketId","config","results","nextCursor","hasMore","prevCursor","hasNext","hasPrev"],"x_google_ignoreList":[19]}