@veloceapps/sdk 11.0.0-13 → 11.0.0-14

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"file":"veloceapps-sdk.mjs","sources":["../../../../libs/sdk/src/constants.ts","../../../../libs/sdk/src/components/dialog/dialog.component.ts","../../../../libs/sdk/src/components/dialog/dialog.component.html","../../../../libs/sdk/src/components/dialog/dialog.module.ts","../../../../libs/sdk/src/components/flow-header/flow-header.component.ts","../../../../libs/sdk/src/components/flow-header/flow-header.component.html","../../../../libs/sdk/src/components/flow-header/flow-header.module.ts","../../../../libs/sdk/src/components/guided-selling/guided-selling.component.ts","../../../../libs/sdk/src/components/guided-selling/guided-selling.component.html","../../../../libs/sdk/src/components/guided-selling/guided-selling.module.ts","../../../../libs/sdk/src/configure-primeng.ts","../../../../libs/sdk/src/services/flow-router.service.ts","../../../../libs/sdk/src/services/flow-dialog.service.ts","../../../../libs/sdk/src/services/flow.service.ts","../../../../libs/sdk/src/services/guided-selling.service.ts","../../../../libs/sdk/src/flow.component.ts","../../../../libs/sdk/src/flow.component.html","../../../../libs/sdk/src/guards/flow.guard.ts","../../../../libs/sdk/src/guards/product-unload.guard.ts","../../../../libs/sdk/src/guards/root.guard.ts","../../../../libs/sdk/src/pages/assets/assets.component.ts","../../../../libs/sdk/src/pages/assets/assets.component.html","../../../../libs/sdk/src/pages/assets/assets.module.ts","../../../../libs/sdk/src/pages/catalog/catalog.component.ts","../../../../libs/sdk/src/pages/catalog/catalog.component.html","../../../../libs/sdk/src/pages/catalog/catalog.module.ts","../../../../libs/sdk/src/pages/debug/debug.component.ts","../../../../libs/sdk/src/pages/debug/debug.component.html","../../../../libs/sdk/src/pages/debug/debug.module.ts","../../../../libs/sdk/src/pages/product/product.component.ts","../../../../libs/sdk/src/pages/product/product.component.html","../../../../libs/sdk/src/pages/product/product.module.ts","../../../../libs/sdk/src/pages/record-not-found/record-not-found.component.ts","../../../../libs/sdk/src/pages/record-not-found/record-not-found.component.html","../../../../libs/sdk/src/pages/record-not-found/record-not-found.module.ts","../../../../libs/sdk/src/pages/shopping-cart/shopping-cart.component.ts","../../../../libs/sdk/src/pages/shopping-cart/shopping-cart.component.html","../../../../libs/sdk/src/pages/shopping-cart/shopping-cart.module.ts","../../../../libs/sdk/src/resolvers/flow.resolver.ts","../../../../libs/sdk/src/resolvers/quote.resolver.ts","../../../../libs/sdk/src/flow-routing.module.ts","../../../../libs/sdk/src/flow.module.ts","../../../../libs/sdk/src/utils/flow.utils.ts","../../../../libs/sdk/veloceapps-sdk.ts"],"sourcesContent":["export const VELOCE_FLOW_ROOT_ROUTE = 'VELOCE_FLOW_ROOT_ROUTE';\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\nimport { FlowDialogConfig } from './dialog.types';\n\n@Component({\n selector: 'vl-flow-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FlowDialogComponent {\n public config: FlowDialogConfig;\n\n constructor(private dialogConfig: DynamicDialogConfig, private ref: DynamicDialogRef) {\n this.config = this.dialogConfig.data.config;\n }\n\n public cancelHandler(): void {\n if (this.config.oppositeButtonActions) {\n this.ref.close(true);\n } else {\n this.ref.close();\n }\n }\n\n public confirmHandler(): void {\n if (this.config.oppositeButtonActions) {\n this.ref.close();\n } else {\n this.ref.close(true);\n }\n }\n}\n","<div class=\"header\">\n <div class=\"title\">\n {{ config.title }}\n </div>\n\n <i class=\"vl-icon vl-cross\" (click)=\"cancelHandler()\"></i>\n</div>\n\n<div *ngIf=\"config.description\" class=\"description\">\n {{ config.description }}\n</div>\n\n<div class=\"form-actions\">\n <p-button\n *ngIf=\"config.secondaryButton\"\n styleClass=\"p-button-outlined button-text-bold\"\n [label]=\"config.secondaryButton!\"\n (onClick)=\"cancelHandler()\"\n ></p-button>\n <p-button\n styleClass=\"p-button p-button-filled\"\n [label]=\"config.primaryButton\"\n (onClick)=\"confirmHandler()\"\n ></p-button>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ButtonModule } from 'primeng/button';\nimport { FlowDialogComponent } from './dialog.component';\n\n@NgModule({\n declarations: [FlowDialogComponent],\n imports: [CommonModule, ButtonModule],\n exports: [FlowDialogComponent],\n})\nexport class FlowDialogModule {}\n","import { ChangeDetectionStrategy, Component, Inject, OnDestroy, Optional } from '@angular/core';\nimport { UITemplatesApiService } from '@veloceapps/api/v2';\nimport { ToastService, ToastType } from '@veloceapps/components';\nimport { ComponentAttachments, UIDefinition } from '@veloceapps/core';\nimport { btoaSafe } from '@veloceapps/sdk/cms';\nimport { FlowCustomization, FlowInfoService, FlowStateService, FLOW_CUSTOMIZATION } from '@veloceapps/sdk/core';\nimport {\n BehaviorSubject,\n catchError,\n filter,\n first,\n map,\n Observable,\n of,\n Subject,\n switchMap,\n takeUntil,\n tap,\n} from 'rxjs';\n\n@Component({\n selector: 'vl-flow-new-header',\n templateUrl: './flow-header.component.html',\n styleUrls: ['./flow-header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FlowHeaderComponent implements OnDestroy {\n public uiDefinition$ = new BehaviorSubject<UIDefinition | null>(null);\n\n private templateApiName = '';\n private destroy$ = new Subject<void>();\n\n constructor(\n private templatesApi: UITemplatesApiService,\n private flowStateService: FlowStateService,\n private flowInfo: FlowInfoService,\n private toastService: ToastService,\n @Optional() @Inject(FLOW_CUSTOMIZATION) private customizationService?: FlowCustomization,\n ) {\n // wait until flow is initialized\n this.flowStateService\n .isInitialized$()\n .pipe(\n filter(Boolean),\n first(),\n tap(() => this.initialize()),\n takeUntil(this.destroy$),\n )\n .subscribe();\n }\n\n public ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private initialize(): void {\n this.templateApiName = this.flowInfo.flow?.properties.templates?.flowHeader ?? '';\n\n this.generateUIDefinition$()\n .pipe(\n tap(uiDef => {\n if (!uiDef) {\n throw new Error(`Component with name '${this.templateApiName}' not found.`);\n }\n\n this.uiDefinition$.next(uiDef);\n }),\n catchError(err => {\n const message = 'Failed to resolve Flow Header component. ' + (err.message ?? '');\n this.toastService.add({ severity: ToastType.error, summary: message, sticky: true });\n return of();\n }),\n takeUntil(this.destroy$),\n )\n .subscribe();\n }\n\n private getLocalMeta$(): Observable<ComponentAttachments[] | undefined> {\n if (!this.customizationService?.getTemplateComponents) {\n return of(undefined);\n }\n\n return this.customizationService?.getTemplateComponents(this.templateApiName).pipe(\n map(components => {\n if (!components) {\n return;\n }\n\n return components.map<ComponentAttachments>(component => ({\n html: component.html,\n css: component.css,\n js: component.js,\n json: component.json,\n }));\n }),\n );\n }\n\n private getOrgMeta$(): Observable<ComponentAttachments[] | undefined> {\n const template = this.flowInfo.templates.FLOW_HEADER;\n if (!template) {\n return of(undefined);\n }\n\n return this.templatesApi.fetchComponentsAttachments$(template.id);\n }\n\n private generateUIDefinition$(): Observable<UIDefinition | undefined> {\n return of(undefined).pipe(\n tap(() => {\n if (!this.templateApiName) {\n throw new Error(\"Flow 'flowHeader' template is not defined.\");\n }\n }),\n switchMap(() => this.getLocalMeta$()),\n switchMap(metaList => (metaList ? of(metaList) : this.getOrgMeta$())),\n map(metaList => {\n if (!metaList) {\n return;\n }\n\n const uiDef: UIDefinition = {\n name: '',\n createdTimestamp: 0,\n primary: true,\n type: 'DEFAULT',\n version: 2,\n children: metaList.map(meta => ({\n children: [],\n template: meta.html && btoaSafe(meta.html),\n script: meta.js && btoaSafe(meta.js),\n styles: meta.css && btoaSafe(meta.css),\n })),\n };\n\n return uiDef;\n }),\n );\n }\n}\n","<ng-container *ngIf=\"uiDefinition$ | async as uiDefinition\">\n <vl-cms-preview [uiDefinition]=\"uiDefinition\"></vl-cms-preview>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { PreviewModule } from '@veloceapps/sdk/cms';\nimport { FlowHeaderComponent } from './flow-header.component';\n\n@NgModule({\n declarations: [FlowHeaderComponent],\n imports: [CommonModule, PreviewModule],\n exports: [FlowHeaderComponent],\n})\nexport class FlowNewHeaderModule {}\n","import { ChangeDetectionStrategy, Component, Inject, OnDestroy, Optional } from '@angular/core';\nimport { UITemplatesApiService } from '@veloceapps/api/v2';\nimport { ToastService, ToastType } from '@veloceapps/components';\nimport { ComponentAttachments, UIDefinition } from '@veloceapps/core';\nimport { btoaSafe } from '@veloceapps/sdk/cms';\nimport { FlowCustomization, FlowInfoService, FlowStateService, FLOW_CUSTOMIZATION } from '@veloceapps/sdk/core';\nimport {\n BehaviorSubject,\n catchError,\n filter,\n first,\n map,\n Observable,\n of,\n Subject,\n switchMap,\n takeUntil,\n tap,\n} from 'rxjs';\n\n@Component({\n selector: 'vl-flow-guided-selling',\n templateUrl: './guided-selling.component.html',\n styleUrls: ['./guided-selling.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GuidedSellingComponent implements OnDestroy {\n public uiDefinition$ = new BehaviorSubject<UIDefinition | null>(null);\n\n private templateApiName = '';\n private destroy$ = new Subject<void>();\n\n constructor(\n private templatesApi: UITemplatesApiService,\n private flowStateService: FlowStateService,\n private flowInfo: FlowInfoService,\n private toastService: ToastService,\n @Optional() @Inject(FLOW_CUSTOMIZATION) private customizationService?: FlowCustomization,\n ) {\n // wait until flow is initialized\n this.flowStateService\n .isInitialized$()\n .pipe(\n filter(Boolean),\n first(),\n tap(() => this.initialize()),\n takeUntil(this.destroy$),\n )\n .subscribe();\n }\n\n public ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private initialize(): void {\n this.templateApiName = this.flowInfo.flow?.properties.templates?.guidedSelling ?? '';\n\n this.generateUIDefinition$()\n .pipe(\n tap(uiDef => {\n if (!uiDef) {\n throw new Error(`Component with name '${this.templateApiName}' not found.`);\n }\n\n this.uiDefinition$.next(uiDef);\n }),\n catchError(err => {\n const message = 'Failed to resolve Guided Selling component. ' + (err.message ?? '');\n this.toastService.add({ severity: ToastType.error, summary: message, sticky: true });\n return of();\n }),\n takeUntil(this.destroy$),\n )\n .subscribe();\n }\n\n private getLocalMeta$(): Observable<ComponentAttachments[] | undefined> {\n if (!this.customizationService?.getTemplateComponents) {\n return of(undefined);\n }\n\n return this.customizationService?.getTemplateComponents(this.templateApiName).pipe(\n map(components => {\n if (!components) {\n return;\n }\n\n return components.map<ComponentAttachments>(component => ({\n html: component.html,\n css: component.css,\n js: component.js,\n json: component.json,\n }));\n }),\n );\n }\n\n private getOrgMeta$(): Observable<ComponentAttachments[] | undefined> {\n const template = this.flowInfo.templates.GUIDED_SELLING;\n if (!template) {\n return of(undefined);\n }\n\n return this.templatesApi.fetchComponentsAttachments$(template.id);\n }\n\n private generateUIDefinition$(): Observable<UIDefinition | undefined> {\n return of(undefined).pipe(\n tap(() => {\n if (!this.templateApiName) {\n throw new Error(\"Flow 'guidedSelling' template is not defined.\");\n }\n }),\n switchMap(() => this.getLocalMeta$()),\n switchMap(metaList => (metaList ? of(metaList) : this.getOrgMeta$())),\n map(metaList => {\n if (!metaList) {\n return;\n }\n\n const uiDef: UIDefinition = {\n name: '',\n createdTimestamp: 0,\n primary: true,\n type: 'DEFAULT',\n version: 2,\n children: metaList.map(meta => ({\n children: [],\n template: meta.html && btoaSafe(meta.html),\n script: meta.js && btoaSafe(meta.js),\n styles: meta.css && btoaSafe(meta.css),\n })),\n };\n\n return uiDef;\n }),\n );\n }\n}\n","<ng-container *ngIf=\"uiDefinition$ | async as uiDefinition\">\n <vl-cms-preview [uiDefinition]=\"uiDefinition\"></vl-cms-preview>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { PreviewModule } from '@veloceapps/sdk/cms';\nimport { GuidedSellingComponent } from './guided-selling.component';\n\n@NgModule({\n declarations: [GuidedSellingComponent],\n imports: [CommonModule, PreviewModule],\n exports: [GuidedSellingComponent],\n})\nexport class GuidedSellingModule {}\n","import { DomHandler } from 'primeng/dom';\n\nexport const configurePrimengShadowDOM = () => {\n DomHandler.getScrollableParents = (element: any) => {\n const scrollableParents = [];\n\n if (element) {\n const parents = DomHandler.getParents(element).filter((item: any) => !(item instanceof ShadowRoot));\n const overflowRegex = /(auto|scroll)/;\n const overflowCheck = (node: any) => {\n const styleDeclaration = window['getComputedStyle'](node, null);\n return (\n overflowRegex.test(styleDeclaration.getPropertyValue('overflow')) ||\n overflowRegex.test(styleDeclaration.getPropertyValue('overflowX')) ||\n overflowRegex.test(styleDeclaration.getPropertyValue('overflowY'))\n );\n };\n\n for (const parent of parents) {\n const scrollSelectors = parent.nodeType === 1 && parent.dataset['scrollselectors'];\n if (scrollSelectors) {\n const selectors = scrollSelectors.split(',');\n for (const selector of selectors) {\n const el = DomHandler.findSingle(parent, selector);\n if (el && overflowCheck(el)) {\n scrollableParents.push(el);\n }\n }\n }\n\n if (parent.nodeType !== 9 && overflowCheck(parent)) {\n scrollableParents.push(parent);\n }\n }\n }\n\n return scrollableParents;\n };\n};\n","import { Injectable } from '@angular/core';\nimport {\n ActivatedRoute,\n ActivatedRouteSnapshot,\n Event,\n NavigationCancel,\n NavigationEnd,\n NavigationError,\n NavigationStart,\n Params,\n Router,\n} from '@angular/router';\nimport { SalesforceIdUtils, UITemplateType } from '@veloceapps/core';\nimport { FlowAction } from '@veloceapps/sdk/cms';\nimport { FlowStateService, IntegrationState } from '@veloceapps/sdk/core';\nimport { distinctUntilChanged, filter, from, map, Observable, shareReplay, startWith, tap } from 'rxjs';\nimport { VELOCE_FLOW_ROOT_ROUTE } from '../constants';\nimport { RouteWithId } from '../types/route.types';\n\n@Injectable({ providedIn: 'root' })\nexport class FlowRouterService {\n private routeChange$: Observable<Event>;\n private lastChildParams$: Observable<Params>;\n private lastChildRoute$: Observable<ActivatedRouteSnapshot>;\n private urlHistory: string[] = [];\n\n public loading$: Observable<boolean>;\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private integrationState: IntegrationState,\n private flowStateService: FlowStateService,\n ) {\n this.routeChange$ = this.router.events.pipe(\n filter(e => e instanceof NavigationEnd),\n shareReplay(),\n );\n\n this.lastChildParams$ = this.watchLastChildParams$(this.route).pipe(\n startWith(this.getLastChildParams(this.route.snapshot)),\n shareReplay(),\n );\n this.lastChildRoute$ = this.watchLastChildRoute$(this.route).pipe(\n startWith(this.getLastChildRouteSnapshot(this.route.snapshot)),\n shareReplay(),\n );\n\n this.loading$ = this.router.events.pipe(\n filter(\n e =>\n e instanceof NavigationStart ||\n e instanceof NavigationCancel ||\n e instanceof NavigationEnd ||\n e instanceof NavigationError,\n ),\n map(e => e instanceof NavigationStart),\n startWith(false),\n distinctUntilChanged(),\n );\n\n this.routeChange$.subscribe(() => {\n this.urlHistory.push(this.router.url);\n\n // Close Guided Selling when user navigates to another flow page\n this.integrationState.dispatch(FlowAction.CloseGuidedSelling({ keepState: true }));\n });\n }\n\n public getFlowRootRoute(route: ActivatedRouteSnapshot): ActivatedRouteSnapshot | undefined {\n const path = [...route.pathFromRoot];\n\n while (path.length) {\n const parent = path.pop();\n\n if (!parent) {\n break;\n }\n\n if ((parent.routeConfig as RouteWithId)?.id === VELOCE_FLOW_ROOT_ROUTE) {\n return parent;\n }\n }\n\n return;\n }\n\n public getFlowRootPath(route: ActivatedRouteSnapshot): string {\n const rootRoute = this.getFlowRootRoute(route);\n if (!rootRoute) {\n return '';\n }\n\n const path = rootRoute.pathFromRoot\n .map(r => r.url[0])\n .filter(Boolean)\n .join('/');\n\n return '/' + path;\n }\n\n public get route$(): Observable<ActivatedRouteSnapshot> {\n return this.lastChildRoute$;\n }\n\n public get params$(): Observable<Params> {\n return this.lastChildParams$;\n }\n\n public get params(): Params {\n return this.getLastChildParams(this.route.snapshot);\n }\n\n public getLastChildRoute = (route: ActivatedRoute): ActivatedRoute => {\n return route.firstChild ? this.getLastChildRoute(route.firstChild) : route;\n };\n\n public getNthChildRoute = (route: ActivatedRoute, index: number): ActivatedRoute => {\n if (index <= 0) {\n return route;\n }\n\n return route.firstChild ? this.getNthChildRoute(route.firstChild, index - 1) : route;\n };\n\n public getLastChildRouteSnapshot = (route: ActivatedRouteSnapshot): ActivatedRouteSnapshot => {\n return route.firstChild ? this.getLastChildRouteSnapshot(route.firstChild) : route;\n };\n\n public watchLastChildRoute$ = (route: ActivatedRoute): Observable<ActivatedRouteSnapshot> => {\n return this.routeChange$.pipe(map(() => this.getLastChildRouteSnapshot(route.snapshot)));\n };\n\n public getLastChildParams = (route: ActivatedRouteSnapshot): Params => {\n return route.firstChild ? this.getLastChildParams(route.firstChild) : route.params;\n };\n\n public watchLastChildParams$ = (route: ActivatedRoute): Observable<Params> => {\n return this.routeChange$.pipe(map(() => this.getLastChildParams(route.snapshot)));\n };\n\n public getFlowSubpath$ = (): Observable<string> => {\n return this.route$.pipe(\n map(route => {\n const url = route.url.join('/');\n const flowRootUrl = this.getFlowRootPath(route);\n return url.replace(flowRootUrl, '');\n }),\n );\n };\n\n public isConfigurationRoute$(): Observable<boolean> {\n return this.getFlowSubpath$().pipe(map(url => url.startsWith('product')));\n }\n\n public isCartRoute$(): Observable<boolean> {\n return this.getFlowSubpath$().pipe(map(url => url.startsWith('cart')));\n }\n\n public isCatalogRoute$(): Observable<boolean> {\n return this.getFlowSubpath$().pipe(map(url => url.startsWith('catalog')));\n }\n\n public isAssetsRoute$(): Observable<boolean> {\n return this.getFlowSubpath$().pipe(map(url => url.startsWith('assets')));\n }\n\n public navigateBack(): void {\n const prevUrl = this.urlHistory[this.urlHistory.length - 2];\n\n if (prevUrl) {\n this.router.navigateByUrl(prevUrl);\n }\n }\n\n public navigateTo(path: string, productId?: string, lineItemId?: string): void {\n if (path === 'shopping-cart') {\n this.navigateToShoppingCart();\n } else if (path === 'catalog') {\n this.navigateToCatalog();\n } else if (path === 'assets') {\n this.navigateToAssets();\n } else if (path === 'product' && productId) {\n this.navigateToProductConfiguration(productId, lineItemId);\n }\n }\n\n public navigateToProductConfiguration(productId: string, lineItemId?: string): void {\n this.flowStateService\n .dispatch$(UITemplateType.FLOW_ENGINE, 'UPDATE_CONTEXT_PROPERTIES', {\n productId,\n lineItemId: lineItemId ?? '',\n })\n .pipe(\n tap(() => {\n const routeSnapshot = this.getLastChildRouteSnapshot(this.route.snapshot);\n const flowRouteUrl = this.getFlowRootPath(routeSnapshot);\n\n this.router.navigate([flowRouteUrl, 'product'], {\n queryParams: { ...routeSnapshot.queryParams, productId },\n });\n }),\n )\n .subscribe();\n }\n\n public navigateToShoppingCart(): void {\n const routeSnapshot = this.getLastChildRouteSnapshot(this.route.snapshot);\n const flowRouteUrl = this.getFlowRootPath(routeSnapshot);\n\n this.router.navigate([flowRouteUrl, 'cart'], { queryParams: routeSnapshot.queryParams });\n }\n\n public navigateToCatalog(): void {\n const routeSnapshot = this.getLastChildRouteSnapshot(this.route.snapshot);\n const flowRouteUrl = this.getFlowRootPath(routeSnapshot);\n\n this.router.navigate([flowRouteUrl, 'catalog'], { queryParams: routeSnapshot.queryParams });\n }\n\n public navigateToAssets(): void {\n const routeSnapshot = this.getLastChildRouteSnapshot(this.route.snapshot);\n const flowRouteUrl = this.getFlowRootPath(routeSnapshot);\n\n this.router.navigate([flowRouteUrl, 'assets'], { queryParams: routeSnapshot.queryParams });\n }\n\n public showErrorPage$(message: string, details?: string[]): Observable<false> {\n const routeSnapshot = this.getLastChildRouteSnapshot(this.route.snapshot);\n const flowRouteUrl = this.getFlowRootPath(routeSnapshot);\n\n return from(\n this.router.navigate([flowRouteUrl, '404'], {\n state: { message, type: 'error', ...(details && { details }) },\n replaceUrl: true,\n }),\n ).pipe(map(() => false));\n }\n\n public switchObject(id: string): void {\n const routeSnapshot = this.getLastChildRouteSnapshot(this.route.snapshot);\n const route = this.getLastChildRoute(this.route);\n\n const objName = SalesforceIdUtils.getSfObjectNameById(id);\n\n const queryParams = {\n quoteId: objName === 'Quote' ? id : undefined,\n accountId: objName === 'Account' ? id : undefined,\n orderId: objName === 'Order' ? id : undefined,\n };\n this.router.navigate([], { relativeTo: route, queryParams: { ...routeSnapshot.queryParams, ...queryParams } });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { getMaxRenewalTermsValue, mapShoppingCartSettings } from '@veloceapps/core';\nimport { FlowInfoService, RuntimeSettingsService } from '@veloceapps/sdk/core';\nimport { DialogService } from 'primeng/dynamicdialog';\nimport { Observable } from 'rxjs';\nimport { FlowDialogComponent } from '../components/dialog/dialog.component';\nimport { FlowDialogConfig } from '../components/dialog/dialog.types';\n\n@Injectable()\nexport class FlowDialogService {\n constructor(\n private dialogService: DialogService,\n private runtimeSettings: RuntimeSettingsService,\n private flowInfoService: FlowInfoService,\n ) {}\n\n public show(config: FlowDialogConfig): Observable<boolean> {\n return this.dialogService.open(FlowDialogComponent, {\n dismissableMask: true,\n closeOnEscape: true,\n closable: true,\n showHeader: false,\n width: '320px',\n data: { config },\n styleClass: 'flow-dialog',\n }).onClose;\n }\n\n public showEmptyCartDialog(): Observable<boolean> {\n return this.show({\n title: 'No Products in Quote',\n description: 'There are no products in your Quote. To save a Quote, add at least one product.',\n primaryButton: 'Ok',\n });\n }\n\n public showReadonlyModeDialog(): Observable<boolean> {\n const mode = this.flowInfoService.context.mode;\n const objectName = mode ? mode[0]?.toUpperCase() + mode.substring(1).toLowerCase() : 'Object';\n\n return this.show({\n title: 'Error',\n description: `${objectName} Cannot be Saved`,\n primaryButton: 'Ok',\n });\n }\n\n public showQuoteReadonlyModeDialog(): Observable<boolean> {\n return this.show({\n title: 'Quote Cannot be Saved',\n description:\n 'It is only possible to save quotes with the “Draft” status. Please create a new quote to make and save changes.',\n primaryButton: 'Ok',\n });\n }\n\n public showQuoteOutsideShoppingCartDialog(): Observable<boolean> {\n return this.show({\n title: 'Quote Cannot be Saved',\n description: 'It is only possible to save quotes from the Shopping Cart. To proceed, go to the Shopping Cart.',\n primaryButton: 'Ok',\n });\n }\n\n public showAccountNoChangesDialog(): Observable<boolean> {\n return this.show({\n title: 'No Changes to Save',\n description: 'There are no changes since the last update. Please make changes to proceed.',\n primaryButton: 'Ok',\n });\n }\n\n public showUnsavedChangesDialog(): Observable<boolean> {\n return this.show({\n title: 'Unsaved Changes',\n description: 'Are you sure you want to leave this page and discard your unsaved changes?',\n primaryButton: 'Keep Editing',\n secondaryButton: 'Discard Changes',\n oppositeButtonActions: true,\n });\n }\n\n public showReadonlyQuoteSubmitFailureDialog(): Observable<boolean> {\n return this.show({\n title: 'Cannot Submit for Approval',\n description:\n 'It is only possible to submit for approval quotes with the “Draft“ status. Please create a new quote to proceed.',\n primaryButton: 'Ok',\n });\n }\n\n public showOutsideShoppingCartQuoteSubmitFailureDialog(): Observable<boolean> {\n return this.show({\n title: 'Cannot Submit for Approval',\n description:\n 'It is only possible to submit quotes for approval from the Shopping Cart. To proceed, go to the Shopping Cart.',\n primaryButton: 'Ok',\n });\n }\n\n public showAccountSubmitFailureDialog(): Observable<boolean> {\n return this.show({\n title: 'Save Changes',\n description:\n 'To submit for approval, save the quote first, and then submit it for approval from the Shopping Cart.',\n primaryButton: 'Ok',\n });\n }\n\n public showTermsLimitReachedDialog(): Observable<boolean> {\n const shoppingCartSettings = mapShoppingCartSettings(this.runtimeSettings.getShoppingCartSettings() || []);\n const maxRenewalTerms = getMaxRenewalTermsValue(shoppingCartSettings);\n return this.show({\n title: 'Terms Limit Reached',\n description: `You have reached the term quantity limit: ${maxRenewalTerms}. You can increase the limit in the Shopping Cart Settings.`,\n primaryButton: 'Ok',\n });\n }\n\n public showDialog(dialog: keyof Omit<FlowDialogService, 'show' | 'constructor'>): Observable<boolean> {\n const dialogFunction = this[dialog].bind(this);\n return dialogFunction(dialog);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { UITemplateType } from '@veloceapps/core';\nimport { FlowAction, IntegrationState } from '@veloceapps/sdk/cms';\nimport { ConfigurationService, ConfigurationStateService, FlowStateService } from '@veloceapps/sdk/core';\nimport { map, Observable, of, Subject, switchMap, take, takeUntil, tap } from 'rxjs';\nimport { FlowDialogService } from './flow-dialog.service';\nimport { FlowRouterService } from './flow-router.service';\n\n@Injectable()\nexport class FlowService {\n private cleanup$ = new Subject<void>();\n\n constructor(\n private integrationState: IntegrationState,\n private flowRouterService: FlowRouterService,\n private configurationService: ConfigurationService,\n private configurationStateService: ConfigurationStateService,\n private flowDialogService: FlowDialogService,\n private flowStateService: FlowStateService,\n ) {}\n\n public cleanup(): void {\n this.cleanup$.next();\n }\n\n public initSubscriptions(): void {\n this.integrationState\n .listen$<Parameters<typeof FlowAction.ConfigureProductAction>[0]>(FlowAction.FLOW_CONFIGURE_PRODUCT)\n .pipe(\n switchMap(payload => this.prepareConfiguration$(payload.lineItemId).pipe(map(() => payload))),\n tap(payload => {\n if (payload.productId) {\n this.flowRouterService.navigateToProductConfiguration(payload.productId, payload.lineItemId);\n } else {\n console.warn(\"Parameter 'productId' is needed to start configuration\");\n }\n }),\n takeUntil(this.cleanup$),\n )\n .subscribe();\n\n this.integrationState\n .listen$<{ id: string }>(FlowAction.FLOW_SWITCH_OBJECT)\n .pipe(\n tap(payload => {\n this.flowRouterService.switchObject(payload.id);\n }),\n takeUntil(this.cleanup$),\n )\n .subscribe();\n\n this.integrationState\n .listen$(FlowAction.FLOW_NAVIGATE_BACK)\n .pipe(\n switchMap(() => this.configurationStateService.cancelConfiguration()),\n tap(() => this.flowRouterService.navigateBack()),\n takeUntil(this.cleanup$),\n )\n .subscribe();\n\n this.integrationState\n .listen$(FlowAction.FLOW_NAVIGATE_TO)\n .pipe(\n switchMap(payload => this.configurationStateService.cancelConfiguration().pipe(map(() => payload))),\n tap(payload => {\n if (payload.path === 'product') {\n this.integrationState.dispatch(FlowAction.ConfigureProductAction(payload));\n } else {\n this.flowRouterService.navigateTo(payload.path, payload.productId, payload.lineItemId);\n }\n }),\n takeUntil(this.cleanup$),\n )\n .subscribe();\n\n this.integrationState\n .listen$(FlowAction.OPEN_DIALOG)\n .pipe(\n switchMap(payload => this.flowDialogService.showDialog(payload.dialog).pipe(take(1))),\n takeUntil(this.cleanup$),\n )\n .subscribe(dialogResult => {\n this.integrationState.patchState({ dialogResult });\n });\n\n this.integrationState\n .listen$(FlowAction.FLOW_NAVIGATE_TO_CATALOG)\n .pipe(\n tap(() => this.flowRouterService.navigateToCatalog()),\n takeUntil(this.cleanup$),\n )\n .subscribe();\n\n this.integrationState\n .listen$(FlowAction.FLOW_NAVIGATE_TO_SHOPPING_CART)\n .pipe(\n tap(() => this.flowRouterService.navigateToShoppingCart()),\n takeUntil(this.cleanup$),\n )\n .subscribe();\n\n this.integrationState\n .listen$(FlowAction.FLOW_APPLY_PRODUCT_CONFIGURATION)\n .pipe(\n switchMap(() => this.configurationStateService.saveConfiguration()),\n switchMap(() => this.configurationStateService.cancelConfiguration()),\n switchMap(() =>\n this.flowStateService.dispatch$(UITemplateType.FLOW_ENGINE, 'MODIFY_ASSETS', {\n addConfiguringAssetId: true,\n enable: true,\n }),\n ),\n tap(() => {\n this.configurationService.hasUnsavedChanges = false;\n this.flowRouterService.navigateToShoppingCart();\n }),\n takeUntil(this.cleanup$),\n )\n .subscribe();\n\n this.updateFlowParams();\n }\n\n private updateFlowParams(): void {\n this.flowRouterService\n .getFlowSubpath$()\n .pipe(\n map(path => path.split('/')?.[0]),\n takeUntil(this.cleanup$),\n )\n .subscribe(flowPath => this.integrationState.patchState({ flowPath }));\n\n this.flowRouterService.route$\n .pipe(\n map(path => path.queryParams['productId']),\n takeUntil(this.cleanup$),\n )\n .subscribe(productId => this.integrationState.patchState({ productId }));\n }\n\n private prepareConfiguration$(lineItemId?: string): Observable<void> {\n if (!lineItemId) {\n return of(undefined);\n }\n\n return this.flowStateService.dispatch$(UITemplateType.FLOW_ENGINE, 'UPDATE_PRICE_LIST', {\n lineItemId,\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { FlowAction } from '@veloceapps/sdk/cms';\nimport { IntegrationState } from '@veloceapps/sdk/core';\nimport { BehaviorSubject, Subject, takeUntil, tap } from 'rxjs';\n\n@Injectable()\nexport class FlowGuidedSellingService {\n private cleanup$ = new Subject<void>();\n private isVisibleSubj$ = new BehaviorSubject(false);\n\n public isVisible$ = this.isVisibleSubj$.asObservable();\n\n constructor(private integrationState: IntegrationState) {\n this.initSubscriptions();\n }\n\n public cleanup(): void {\n this.cleanup$.next();\n }\n\n private initSubscriptions(): void {\n this.integrationState\n .listen$(FlowAction.OPEN_GUIDED_SELLING)\n .pipe(\n tap(() => this.isVisibleSubj$.next(true)),\n takeUntil(this.cleanup$),\n )\n .subscribe();\n\n this.integrationState\n .listen$(FlowAction.CLOSE_GUIDED_SELLING)\n .pipe(\n tap(() => this.isVisibleSubj$.next(false)),\n takeUntil(this.cleanup$),\n )\n .subscribe();\n }\n}\n","import { ChangeDetectionStrategy, Component, OnDestroy } from '@angular/core';\nimport { FlowInfoService } from '@veloceapps/sdk/core';\nimport { combineLatest, map, Observable } from 'rxjs';\nimport { FlowService } from './services';\nimport { FlowRouterService } from './services/flow-router.service';\nimport { FlowGuidedSellingService } from './services/guided-selling.service';\n\n@Component({\n selector: 'vl-flow',\n templateUrl: './flow.component.html',\n styleUrls: ['./flow.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FlowComponent implements OnDestroy {\n public isLoading$: Observable<boolean>;\n public showHeader$: Observable<boolean>;\n public isStandalone$: Observable<boolean>;\n public guidedSellingVisible$: Observable<boolean>;\n\n constructor(\n private routerService: FlowRouterService,\n private flowService: FlowService,\n private flowInfoService: FlowInfoService,\n private guidedSellingService: FlowGuidedSellingService,\n ) {\n this.isLoading$ = this.routerService.loading$;\n\n this.showHeader$ = combineLatest([this.routerService.route$, this.flowInfoService.flow$]).pipe(\n map(([route, flow]) => route.data['showHeader'] && !flow?.properties.standalone),\n );\n\n this.isStandalone$ = this.flowInfoService.flow$.pipe(map(flow => Boolean(flow?.properties.standalone)));\n this.guidedSellingVisible$ = this.guidedSellingService.isVisible$;\n\n this.flowService.initSubscriptions();\n }\n\n ngOnDestroy() {\n this.flowService.cleanup();\n }\n}\n","<vl-flow-new-header *ngIf=\"showHeader$ | async\"></vl-flow-new-header>\n\n<div class=\"flow-content\">\n <div class=\"loading-overlay\" *ngIf=\"isLoading$ | async\">\n <vl-loader label=\"LOADING\"></vl-loader>\n </div>\n\n <router-outlet></router-outlet>\n\n <div class=\"guided-selling\" [ngClass]=\"{ hidden: (guidedSellingVisible$ | async) === false }\">\n <vl-flow-guided-selling *ngIf=\"(isStandalone$ | async) !== true\"></vl-flow-guided-selling>\n </div>\n</div>\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { inject } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivateFn } from '@angular/router';\nimport { extractErrorDetails, isVeloceError } from '@veloceapps/core';\nimport {\n ConfigurationService,\n FlowInfoService,\n FlowStateService,\n IntegrationState,\n QuoteDraftService,\n RuntimeSettingsService,\n SalesTransactionService,\n} from '@veloceapps/sdk/core';\nimport { catchError, map, switchMap, tap } from 'rxjs';\nimport { FlowRouterService } from '../services/flow-router.service';\n\nexport const keepFlowInitialized: CanActivateFn = (route: ActivatedRouteSnapshot) => {\n const routerService = inject(FlowRouterService);\n const runtimeSettingsService = inject(RuntimeSettingsService);\n const flowState = inject(FlowStateService);\n const flowInfoService = inject(FlowInfoService);\n const quoteDraft = inject(QuoteDraftService);\n const salesTrasnsactionService = inject(SalesTransactionService);\n const configurationService = inject(ConfigurationService);\n const integrationState = inject(IntegrationState);\n\n const { flowId } = route.queryParams;\n if (flowInfoService.isFlowInitialized && flowInfoService.flow.id === flowId) {\n return true;\n }\n\n // Cleanup\n flowState.cleanup();\n quoteDraft.reset();\n salesTrasnsactionService.reset();\n configurationService.reset();\n integrationState.clear();\n flowInfoService.cleanup();\n\n if (!flowId) {\n return true;\n }\n\n return runtimeSettingsService.create().pipe(\n tap(() => runtimeSettingsService.initCurrency('USD')),\n switchMap(() => flowInfoService.init$(flowId, route.queryParams)),\n map(() => true),\n catchError(e => {\n console.error(e);\n const message = e instanceof HttpErrorResponse ? e.error.message : e;\n const errorDetails = isVeloceError(e.error) ? extractErrorDetails(e.error) : [];\n return routerService.showErrorPage$(message, errorDetails);\n }),\n );\n};\n","import { Component, Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { ConfigurationService, QuoteDraftService } from '@veloceapps/sdk/core';\nimport { map, Observable, of } from 'rxjs';\nimport { FlowDialogService } from '../services/flow-dialog.service';\n\n@Injectable()\nexport class ProductUnloadGuard {\n constructor(\n private router: Router,\n private quoteDraftService: QuoteDraftService,\n private configurationService: ConfigurationService,\n private flowDialogService: FlowDialogService,\n ) {}\n\n public canDeactivate(\n _: Component,\n route: ActivatedRouteSnapshot,\n currentState: RouterStateSnapshot,\n nextState?: RouterStateSnapshot,\n ): Observable<boolean | UrlTree> {\n let observable = of(true);\n\n if (!this.quoteDraftService.isStandalone && this.configurationService.hasUnsavedChanges) {\n observable = this.flowDialogService.showUnsavedChangesDialog();\n }\n\n return observable.pipe(\n map(unload => {\n if (unload) {\n this.configurationService.reset();\n\n if (!nextState || currentState.url === nextState.url) {\n return true;\n }\n\n // clear obsolete queryParams\n const urlTree = this.router.parseUrl(nextState.url);\n\n if (!urlTree.queryParams['productId']) {\n return true;\n }\n\n delete urlTree.queryParams['productId'];\n\n // replace url after deactivation has finished\n setTimeout(() => this.router.navigateByUrl(urlTree.toString(), { replaceUrl: true }));\n\n return true;\n }\n\n return false;\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, CanDeactivate, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { FlowRouterService } from '../services/flow-router.service';\n\n@Injectable({ providedIn: 'root' })\nexport class RootGuard implements CanActivate, CanDeactivate<any> {\n private initialized = false;\n\n constructor(private router: Router, private routerService: FlowRouterService) {}\n\n public canActivate(route: ActivatedRouteSnapshot): Observable<boolean> | Promise<boolean> | boolean {\n // We always need to initialize root component first, and only then start checking guards/resolvers\n\n if (!this.initialized) {\n this.initialized = true;\n const navToRestore = this.router.getCurrentNavigation();\n\n const rootUrl = this.routerService.getFlowRootPath(route);\n this.router\n .navigate([rootUrl], {\n replaceUrl: !navToRestore?.previousNavigation,\n skipLocationChange: true,\n })\n .then(success => {\n if (!success || !navToRestore) {\n return;\n }\n\n setTimeout(() => {\n this.router.navigateByUrl(navToRestore.extractedUrl, navToRestore.extras);\n });\n });\n }\n\n return true;\n }\n\n public canDeactivate(): boolean {\n this.initialized = false;\n return true;\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n OnDestroy,\n OnInit,\n Optional,\n} from '@angular/core';\nimport { UITemplatesApiService } from '@veloceapps/api/v2';\nimport { ToastService, ToastType } from '@veloceapps/components';\nimport { ComponentAttachments, UIDefinition } from '@veloceapps/core';\nimport { btoaSafe } from '@veloceapps/sdk/cms';\nimport { FlowCustomization, FlowInfoService, FLOW_CUSTOMIZATION } from '@veloceapps/sdk/core';\nimport { BehaviorSubject, catchError, map, Observable, of, Subject, switchMap, takeUntil, tap } from 'rxjs';\n\ninterface State {\n loading: boolean;\n failure: boolean;\n}\n\n@Component({\n selector: 'vl-flow-assets',\n templateUrl: './assets.component.html',\n styleUrls: ['./assets.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AssetsComponent implements OnInit, OnDestroy {\n public uiDefinition?: UIDefinition = undefined;\n public state$ = new BehaviorSubject<State>({ loading: true, failure: false });\n\n private templateApiName = '';\n private destroyed$ = new Subject<void>();\n\n constructor(\n private templatesApi: UITemplatesApiService,\n private cdr: ChangeDetectorRef,\n private toastService: ToastService,\n private flowInfo: FlowInfoService,\n @Optional() @Inject(FLOW_CUSTOMIZATION) private customizationService?: FlowCustomization,\n ) {\n this.templateApiName = this.flowInfo.flow?.properties.templates?.assets ?? '';\n }\n\n public ngOnInit(): void {\n this.generateUIDefinition$()\n .pipe(\n tap(uiDef => {\n if (!uiDef) {\n throw new Error(`Component with name '${this.templateApiName}' not found.`);\n }\n\n this.uiDefinition = uiDef;\n this.state$.next({ loading: false, failure: false });\n }),\n catchError(err => {\n const message = 'Failed to resolve Assets component. ' + (err.message ?? '');\n this.toastService.add({ severity: ToastType.error, summary: message, sticky: true });\n\n this.uiDefinition = undefined;\n this.state$.next({ loading: false, failure: true });\n return of();\n }),\n takeUntil(this.destroyed$),\n )\n .subscribe(() => this.cdr.detectChanges());\n }\n\n public ngOnDestroy(): void {\n this.destroyed$.next();\n this.destroyed$.complete();\n }\n\n private getLocalMeta$(): Observable<ComponentAttachments[] | undefined> {\n if (!this.customizationService?.getTemplateComponents) {\n return of(undefined);\n }\n\n return this.customizationService?.getTemplateComponents(this.templateApiName).pipe(\n map(components => {\n if (!components) {\n return;\n }\n\n return components.map<ComponentAttachments>(component => ({\n html: component.html,\n css: component.css,\n js: component.js,\n json: component.json,\n }));\n }),\n );\n }\n\n private getOrgMeta$(): Observable<ComponentAttachments[] | undefined> {\n const template = this.flowInfo.templates.SHOPPING_CART;\n if (!template) {\n return of(undefined);\n }\n\n return this.templatesApi.fetchComponentsAttachments$(template.id);\n }\n\n private generateUIDefinition$(): Observable<UIDefinition | undefined> {\n return of(undefined).pipe(\n tap(() => {\n if (!this.templateApiName) {\n throw new Error(\"Flow 'assets' template is not defined.\");\n }\n }),\n switchMap(() => this.getLocalMeta$()),\n switchMap(metaList => (metaList ? of(metaList) : this.getOrgMeta$())),\n map(metaList => {\n if (!metaList) {\n return;\n }\n\n const uiDef: UIDefinition = {\n name: '',\n createdTimestamp: 0,\n primary: true,\n type: 'DEFAULT',\n version: 2,\n children: metaList.map(meta => ({\n children: [],\n template: meta.html && btoaSafe(meta.html),\n script: meta.js && btoaSafe(meta.js),\n styles: meta.css && btoaSafe(meta.css),\n })),\n };\n\n return uiDef;\n }),\n );\n }\n}\n","<ng-container *ngIf=\"state$ | async as state\">\n <vl-loader *ngIf=\"state.loading; else content\" [label]=\"'Loading UI'\"></vl-loader>\n\n <ng-template #content>\n <ng-container *ngIf=\"!state.failure\">\n <vl-cms-preview [uiDefinition]=\"uiDefinition\"></vl-cms-preview>\n </ng-container>\n </ng-template>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { LoaderModule } from '@veloceapps/components';\nimport { PreviewModule } from '@veloceapps/sdk/cms';\nimport { AssetsComponent } from './assets.component';\n\n@NgModule({\n declarations: [AssetsComponent],\n imports: [CommonModule, PreviewModule, LoaderModule],\n exports: [AssetsComponent],\n})\nexport class AssetsModule {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n OnDestroy,\n OnInit,\n Optional,\n} from '@angular/core';\nimport { UITemplatesApiService } from '@veloceapps/api/v2';\nimport { ToastService, ToastType } from '@veloceapps/components';\nimport { ComponentAttachments, UIDefinition } from '@veloceapps/core';\nimport { btoaSafe } from '@veloceapps/sdk/cms';\nimport { FlowCustomization, FlowInfoService, FLOW_CUSTOMIZATION } from '@veloceapps/sdk/core';\nimport { BehaviorSubject, catchError, map, Observable, of, Subject, switchMap, takeUntil, tap } from 'rxjs';\n\ninterface State {\n loading: boolean;\n failure: boolean;\n}\n\n@Component({\n selector: 'vl-flow-catalog',\n templateUrl: './catalog.component.html',\n styleUrls: ['./catalog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CatalogComponent implements OnInit, OnDestroy {\n public uiDefinition?: UIDefinition = undefined;\n public state$ = new BehaviorSubject<State>({ loading: true, failure: false });\n\n private templateApiName = '';\n private destroyed$ = new Subject<void>();\n\n constructor(\n private templatesApi: UITemplatesApiService,\n private cdr: ChangeDetectorRef,\n private toastService: ToastService,\n private flowInfo: FlowInfoService,\n @Optional() @Inject(FLOW_CUSTOMIZATION) private customizationService?: FlowCustomization,\n ) {\n this.templateApiName = this.flowInfo.flow?.properties.templates?.catalog ?? '';\n }\n\n public ngOnInit(): void {\n this.generateUIDefinition$()\n .pipe(\n tap(uiDef => {\n if (!uiDef) {\n throw new Error(`Component with name '${this.templateApiName}' not found.`);\n }\n\n this.uiDefinition = uiDef;\n this.state$.next({ loading: false, failure: false });\n }),\n catchError(err => {\n const message = 'Failed to resolve Catalog component. ' + (err.message ?? '');\n this.toastService.add({ severity: ToastType.error, summary: message, sticky: true });\n\n this.uiDefinition = undefined;\n this.state$.next({ loading: false, failure: true });\n return of();\n }),\n takeUntil(this.destroyed$),\n )\n .subscribe(() => this.cdr.detectChanges());\n }\n\n public ngOnDestroy(): void {\n this.destroyed$.next();\n this.destroyed$.complete();\n }\n\n private getLocalMeta$(): Observable<ComponentAttachments[] | undefined> {\n if (!this.customizationService?.getTemplateComponents) {\n return of(undefined);\n }\n\n return this.customizationService?.getTemplateComponents(this.templateApiName).pipe(\n map(components => {\n if (!components) {\n return;\n }\n\n return components.map<ComponentAttachments>(component => ({\n html: component.html,\n css: component.css,\n js: component.js,\n json: component.json,\n }));\n }),\n );\n }\n\n private getOrgMeta$(): Observable<ComponentAttachments[] | undefined> {\n const template = this.flowInfo.templates.CATALOG;\n if (!template) {\n return of(undefined);\n }\n\n return this.templatesApi.fetchComponentsAttachments$(template.id);\n }\n\n private generateUIDefinition$(): Observable<UIDefinition | undefined> {\n return of(undefined).pipe(\n tap(() => {\n if (!this.templateApiName) {\n throw new Error(\"Flow 'catalog' template is not defined.\");\n }\n }),\n switchMap(() => this.getLocalMeta$()),\n switchMap(metaList => (metaList ? of(metaList) : this.getOrgMeta$())),\n map(metaList => {\n if (!metaList) {\n return;\n }\n\n const uiDef: UIDefinition = {\n name: '',\n createdTimestamp: 0,\n primary: true,\n type: 'DEFAULT',\n version: 2,\n children: metaList.map(meta => ({\n children: [],\n template: meta.html && btoaSafe(meta.html),\n script: meta.js && btoaSafe(meta.js),\n styles: meta.css && btoaSafe(meta.css),\n })),\n };\n\n return uiDef;\n }),\n );\n }\n}\n","<ng-container *ngIf=\"state$ | async as state\">\n <vl-loader *ngIf=\"state.loading; else content\" [label]=\"'Loading UI'\"></vl-loader>\n\n <ng-template #content>\n <ng-container *ngIf=\"!state.failure\">\n <vl-cms-preview [uiDefinition]=\"uiDefinition\"></vl-cms-preview>\n </ng-container>\n </ng-template>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { LoaderModule } from '@veloceapps/components';\nimport { PreviewModule } from '@veloceapps/sdk/cms';\nimport { CatalogComponent } from './catalog.component';\n\n@NgModule({\n declarations: [CatalogComponent],\n imports: [CommonModule, PreviewModule, LoaderModule],\n exports: [CatalogComponent],\n})\nexport class CatalogModule {}\n","import { HttpParams } from '@angular/common/http';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { ActivatedRoute, Params, Router } from '@angular/router';\nimport { FlowsApiService } from '@veloceapps/api';\nimport { Flow } from '@veloceapps/core';\nimport { QuoteDraftService } from '@veloceapps/sdk/core';\nimport { Observable, shareReplay } from 'rxjs';\n\n@Component({\n selector: 'vl-flow-debug',\n templateUrl: './debug.component.html',\n styleUrls: ['./debug.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DebugComponent {\n public form = new FormGroup({\n id: new FormControl(''),\n });\n\n public selectedFlow?: Flow;\n public flows$: Observable<Flow[]>;\n\n constructor(\n private flowsApiService: FlowsApiService,\n private router: Router,\n private activatedRoute: ActivatedRoute,\n private quoteDraftService: QuoteDraftService,\n ) {\n this.flows$ = this.flowsApiService.fetchFlows().pipe(shareReplay());\n }\n\n public runFlow(): void {\n const { id } = this.form.value;\n if (!id || !this.selectedFlow) {\n return;\n }\n\n // Delete context before starting a new flow\n this.quoteDraftService.reset();\n\n this.router.navigate(['..', 'flows'], {\n queryParams: {\n flowId: this.selectedFlow.id,\n headerId: id,\n ...this.selectedFlow.properties.queryParams,\n },\n relativeTo: this.activatedRoute,\n });\n }\n\n public getQueryParamsString(params: Params): string {\n return new HttpParams({ fromObject: params }).toString();\n }\n}\n","<form [formGroup]=\"form\">\n <div class=\"fields-container\">\n <div class=\"field\">\n <label>SF Object ID</label>\n <input formControlName=\"id\" pInputText type=\"text\" />\n </div>\n </div>\n\n <p-button\n styleClass=\"p-button-primary\"\n label=\"Run Flow\"\n [disabled]=\"!form.value.id || !selectedFlow\"\n (onClick)=\"runFlow()\"\n ></p-button>\n</form>\n\n<table>\n <thead>\n <tr>\n <th [width]=\"30\"></th>\n <th [width]=\"160\">ID</th>\n <th [width]=\"160\">Entry Path</th>\n <th>QueryParams</th>\n <th [width]=\"100\">Standalone</th>\n <th [width]=\"100\">Stateful</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let flow of flows$ | async\" (click)=\"selectedFlow = flow\">\n <td><p-radioButton [inputId]=\"flow.id\" name=\"flow\" [value]=\"flow\" [(ngModel)]=\"selectedFlow\"></p-radioButton></td>\n <td>{{ flow.id }}</td>\n <td>{{ flow.properties.entryPath }}</td>\n <td class=\"cell-query-params\">{{ getQueryParamsString(flow.properties.queryParams) }}</td>\n <td>{{ flow.properties.standalone }}</td>\n <td>{{ flow.properties.stateful }}</td>\n </tr>\n </tbody>\n</table>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule, Routes } from '@angular/router';\nimport { ButtonModule } from 'primeng/button';\nimport { DropdownModule } from 'primeng/dropdown';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { RadioButtonModule } from 'primeng/radiobutton';\nimport { DebugComponent } from './debug.component';\n\nconst routes: Routes = [{ path: '', component: DebugComponent }];\n\n@NgModule({\n declarations: [DebugComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule.forChild(routes),\n RadioButtonModule,\n ButtonModule,\n InputTextModule,\n DropdownModule,\n ],\n})\nexport class DebugModule {}\n","import { ChangeDetectionStrategy, Component, Inject, Optional } from '@angular/core';\nimport { UIDefinitionsApiService } from '@veloceapps/api/v2';\nimport { SalesTransaction, UIDefinitionContainer } from '@veloceapps/core';\nimport { CMSPreviewConfig } from '@veloceapps/sdk/cms';\nimport {\n ConfigurationService,\n ConfigurationStateService,\n FlowCustomization,\n FlowInfoService,\n FLOW_CUSTOMIZATION,\n IntegrationState,\n SalesTransactionService,\n} from '@veloceapps/sdk/core';\nimport { BehaviorSubject, first, map, noop, Observable, of, switchMap, tap, timer } from 'rxjs';\n\n@Component({\n selector: 'vl-flow-product',\n templateUrl: './product.component.html',\n styleUrls: ['./product.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ProductComponent {\n public config: CMSPreviewConfig;\n public uiDefinitionContainer$ = new BehaviorSubject<UIDefinitionContainer | null>(null);\n\n constructor(\n // private configurationRuntimeService: ConfigurationRuntimeService,\n private configurationService: ConfigurationService,\n private configurationStateService: ConfigurationStateService,\n private salesTransactionService: SalesTransactionService,\n private flowInfoService: FlowInfoService,\n private integrationState: IntegrationState,\n private uiDefinitionsApiService: UIDefinitionsApiService,\n @Optional() @Inject(FLOW_CUSTOMIZATION) private customizationService?: FlowCustomization,\n ) {\n this.config = {\n init$: () => this.init$(),\n };\n }\n\n private customizeUI$(): Observable<void> {\n const { productId } = this.flowInfoService.context;\n if (!productId || !this.customizationService?.getUiDefinition) {\n return of(undefined);\n }\n\n return this.customizationService.getUiDefinition(productId).pipe(\n map(uiDefinitionContainer => {\n this.uiDefinitionContainer$.next(uiDefinitionContainer);\n }),\n );\n }\n\n private fetchUIDefinition$(): Observable<void> {\n const flowContext = this.flowInfoService.context;\n\n if (flowContext.requiredUIDefinitionId) {\n return this.uiDefinitionsApiService\n .fetchUIDefinition$(flowContext.requiredUIDefinitionId)\n .pipe(map((uiDefContainer: UIDefinitionContainer) => this.uiDefinitionContainer$.next(uiDefContainer)));\n }\n\n return this.uiDefinitionsApiService\n .fetchUIDefinitions$({\n productId: flowContext.productId,\n defaultUIDefinitionId: flowContext.defaultUIDefinitionId,\n })\n .pipe(\n map((uiDefinitionContainers: UIDefinitionContainer[]) => {\n const uiDefContainer = uiDefinitionContainers[0];\n if (uiDefContainer) {\n this.uiDefinitionContainer$.next(uiDefContainer);\n }\n }),\n );\n }\n\n private init$(): Observable<void> {\n let state$: Observable<SalesTransaction | undefined>;\n if (!this.flowInfoService.isStateful) {\n state$ = this.salesTransactionService.state$;\n } else {\n state$ = of(undefined);\n }\n\n return state$.pipe(\n first(),\n tap(() => {\n if (!this.flowInfoService.context.productId) {\n throw new Error(`Unable to start configuration for 'productId == null'`);\n }\n }),\n switchMap(() => this.customizeUI$()),\n switchMap(() => (this.uiDefinitionContainer$.value ? of(undefined) : this.fetchUIDefinition$())),\n tap(() => {\n if (!this.uiDefinitionContainer$.value) {\n throw new Error('Product does not have Configuration UI');\n }\n }),\n switchMap(() => this.configurationStateService.init$()),\n switchMap(() => timer(1)), // wait until updates inputs on child components\n map(noop),\n );\n }\n}\n","<vl-cms-preview [uiDefinition]=\"(uiDefinitionContainer$ | async)?.source\" [config]=\"config\"></vl-cms-preview>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { LetDirectiveModule, LoaderModule } from '@veloceapps/components';\nimport { PreviewModule } from '@veloceapps/sdk/cms';\nimport { ProductComponent } from './product.component';\n\n@NgModule({\n declarations: [ProductComponent],\n imports: [CommonModule, PreviewModule, LoaderModule, LetDirectiveModule],\n exports: [ProductComponent],\n})\nexport class ProductModule {}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\n@Component({\n selector: 'vl-flow-record-not-found',\n templateUrl: './record-not-found.component.html',\n styleUrls: ['./record-not-found.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class RecordNotFoundComponent {\n public message: string;\n public subMessage = '';\n public type = '';\n public details: string[];\n\n constructor(private router: Router, private route: ActivatedRoute) {\n const navigation = this.router.getCurrentNavigation();\n const { state } = navigation?.extras || {};\n\n this.message = state?.['message'];\n this.type = state?.['type'] || '';\n this.details = state?.['details'];\n if (typeof this.message === 'string') {\n this.subMessage = this.message.includes('/describe') ? 'A potential problem with permissions' : '';\n }\n }\n}\n","<div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"message-wrapper\">\n <div *ngIf=\"message; else defaultMessage\">\n <p class=\"text message-text\" [class]=\"type\">{{ message }}</p>\n\n <p *ngIf=\"subMessage\" class=\"text\">{{ subMessage }}</p>\n\n <div *ngIf=\"details && details.length > 0\">\n <div *ngFor=\"let detail of details\" class=\"text\">{{ detail }}</div>\n </div>\n </div>\n\n <ng-template #defaultMessage>Record not found</ng-template>\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { RecordNotFoundComponent } from './record-not-found.component';\n\nconst routes: Routes = [{ path: '', component: RecordNotFoundComponent }];\n\n@NgModule({\n declarations: [RecordNotFoundComponent],\n imports: [CommonModule, RouterModule.forChild(routes)],\n})\nexport class RecordNotFoundModule {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n OnDestroy,\n OnInit,\n Optional,\n} from '@angular/core';\nimport { UITemplatesApiService } from '@veloceapps/api/v2';\nimport { ToastService, ToastType } from '@veloceapps/components';\nimport { ComponentAttachments, UIDefinition } from '@veloceapps/core';\nimport { btoaSafe } from '@veloceapps/sdk/cms';\nimport { FlowCustomization, FlowInfoService, FLOW_CUSTOMIZATION } from '@veloceapps/sdk/core';\nimport { BehaviorSubject, catchError, map, Observable, of, Subject, switchMap, takeUntil, tap } from 'rxjs';\n\ninterface State {\n loading: boolean;\n failure: boolean;\n}\n\n@Component({\n selector: 'vl-flow-shopping-cart',\n templateUrl: './shopping-cart.component.html',\n styleUrls: ['./shopping-cart.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ShoppingCartComponent implements OnInit, OnDestroy {\n public uiDefinition?: UIDefinition = undefined;\n public state$ = new BehaviorSubject<State>({ loading: true, failure: false });\n\n private templateApiName = '';\n private destroyed$ = new Subject<void>();\n\n constructor(\n private templatesApi: UITemplatesApiService,\n private cdr: ChangeDetectorRef,\n private toastService: ToastService,\n private flowInfo: FlowInfoService,\n @Optional() @Inject(FLOW_CUSTOMIZATION) private customizationService?: FlowCustomization,\n ) {\n this.templateApiName = this.flowInfo.flow?.properties.templates?.shoppingCart ?? '';\n }\n\n public ngOnInit(): void {\n this.generateUIDefinition$()\n .pipe(\n tap(uiDef => {\n if (!uiDef) {\n throw new Error(`Component with name '${this.templateApiName}' not found.`);\n }\n\n this.uiDefinition = uiDef;\n this.state$.next({ loading: false, failure: false });\n }),\n catchError(err => {\n const message = 'Failed to resolve Shopping Cart component. ' + (err.message ?? '');\n this.toastService.add({ severity: ToastType.error, summary: message, sticky: true });\n\n this.uiDefinition = undefined;\n this.state$.next({ loading: false, failure: true });\n return of();\n }),\n takeUntil(this.destroyed$),\n )\n .subscribe(() => this.cdr.detectChanges());\n }\n\n public ngOnDestroy(): void {\n this.destroyed$.next();\n this.destroyed$.complete();\n }\n\n private getLocalMeta$(): Observable<ComponentAttachments[] | undefined> {\n if (!this.customizationService?.getTemplateComponents) {\n return of(undefined);\n }\n\n return this.customizationService?.getTemplateComponents(this.templateApiName).pipe(\n map(components => {\n if (!components) {\n return;\n }\n\n return components.map<ComponentAttachments>(component => ({\n html: component.html,\n css: component.css,\n js: component.js,\n json: component.json,\n }));\n }),\n );\n }\n\n private getOrgMeta$(): Observable<ComponentAttachments[] | undefined> {\n const template = this.flowInfo.templates.SHOPPING_CART;\n if (!template) {\n return of(undefined);\n }\n\n return this.templatesApi.fetchComponentsAttachments$(template.id);\n }\n\n private generateUIDefinition$(): Observable<UIDefinition | undefined> {\n return of(undefined).pipe(\n tap(() => {\n if (!this.templateApiName) {\n throw new Error(\"Flow 'shoppingCart' template is not defined.\");\n }\n }),\n switchMap(() => this.getLocalMeta$()),\n switchMap(metaList => (metaList ? of(metaList) : this.getOrgMeta$())),\n map(metaList => {\n if (!metaList) {\n return;\n }\n\n const uiDef: UIDefinition = {\n name: '',\n createdTimestamp: 0,\n primary: true,\n type: 'DEFAULT',\n version: 2,\n children: metaList.map(meta => ({\n children: [],\n template: meta.html && btoaSafe(meta.html),\n script: meta.js && btoaSafe(meta.js),\n styles: meta.css && btoaSafe(meta.css),\n })),\n };\n\n return uiDef;\n }),\n );\n }\n}\n","<ng-container *ngIf=\"state$ | async as state\">\n <vl-loader *ngIf=\"state.loading; else content\" [label]=\"'Loading UI'\"></vl-loader>\n\n <ng-template #content>\n <ng-container *ngIf=\"!state.failure\">\n <vl-cms-preview [uiDefinition]=\"uiDefinition\"></vl-cms-preview>\n </ng-container>\n </ng-template>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { LoaderModule } from '@veloceapps/components';\nimport { PreviewModule } from '@veloceapps/sdk/cms';\nimport { ShoppingCartComponent } from './shopping-cart.component';\n\n@NgModule({\n declarations: [ShoppingCartComponent],\n imports: [CommonModule, PreviewModule, LoaderModule],\n exports: [ShoppingCartComponent],\n})\nexport class ShoppingCartModule {}\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router } from '@angular/router';\nimport { extractErrorDetails, isVeloceError } from '@veloceapps/core';\nimport { FlowInfoService } from '@veloceapps/sdk/core';\nimport { from, Observable, of } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { FlowRouterService } from '../services/flow-router.service';\n\n@Injectable()\nexport class FlowResolver {\n constructor(\n private router: Router,\n private routerService: FlowRouterService,\n private flowInfoService: FlowInfoService,\n ) {}\n\n public resolve(route: ActivatedRouteSnapshot): Observable<boolean> {\n if (!this.flowInfoService.isFlowInitialized) {\n return of(false);\n }\n\n const { queryParams } = route;\n const { properties } = this.flowInfoService.flow;\n const { queryParams: flowQueryParams, entryPath } = properties;\n const mergedQueryParams = {\n ...queryParams,\n ...flowQueryParams,\n };\n\n const parentUrl = this.routerService.getFlowRootPath(route);\n const entryUrl = String(entryPath ?? '')\n .split('/')\n .filter(Boolean);\n\n return from(\n this.router.navigate([parentUrl, ...entryUrl], {\n queryParams: mergedQueryParams,\n replaceUrl: true,\n }),\n ).pipe(\n catchError(e => {\n console.error(e);\n const message = e instanceof HttpErrorResponse ? e.error.message : e;\n const errorDetails = isVeloceError(e.error) ? extractErrorDetails(e.error) : [];\n return this.routerService.showErrorPage$(message, errorDetails);\n }),\n );\n }\n}\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router } from '@angular/router';\nimport { ConfigurationContextMode, extractErrorDetails, isVeloceError, UITemplateType } from '@veloceapps/core';\nimport { FlowInfoService, FlowStateService, QuoteDraftService } from '@veloceapps/sdk/core';\n\nimport { catchError, from, map, Observable, of, switchMap } from 'rxjs';\nimport { FlowRouterService } from '../services/flow-router.service';\n\n@Injectable()\nexport class QuoteResolver {\n constructor(\n private router: Router,\n private quoteDraftService: QuoteDraftService,\n private routerService: FlowRouterService,\n private flowInfoService: FlowInfoService,\n private flowStateService: FlowStateService,\n ) {}\n\n public resolve(route: ActivatedRouteSnapshot): Observable<boolean> {\n const flow = this.flowInfoService.flow;\n if (!flow) {\n return of(false);\n }\n\n if (this.flowStateService.isInitialized()) {\n return of(true);\n }\n\n return this.flowStateService.init$().pipe(\n switchMap(() => this.checkDynamicNavigation$(route)),\n catchError(e => {\n console.error(e);\n const message = e instanceof HttpErrorResponse ? e.error.message : e;\n const errorDetails = isVeloceError(e.error) ? extractErrorDetails(e.error) : [];\n return this.routerService.showErrorPage$(message, errorDetails);\n }),\n );\n }\n\n private checkDynamicNavigation$(route: ActivatedRouteSnapshot): Observable<boolean> {\n const flow = this.flowInfoService.flow;\n if (!flow) {\n return of(true);\n }\n\n if (flow.properties.suppressInitialNavigation || flow.properties.standalone) {\n return of(true);\n }\n\n return this.getNavigateTo().pipe(\n switchMap(navigateTo => {\n if (!navigateTo) {\n return of(true);\n }\n\n const parentUrl = this.routerService.getFlowRootPath(route);\n\n return from(\n this.router.navigate([parentUrl + navigateTo], {\n queryParams: route.queryParams,\n replaceUrl: true,\n }),\n );\n }),\n );\n }\n\n private getNavigateTo(): Observable<string | undefined> {\n const flow = this.flowInfoService.flow;\n let navigateTo: string | undefined;\n if (flow?.properties.stateful) {\n return this.flowStateService.select$<string>(UITemplateType.FLOW_ENGINE, 'NAVIGATE_TO').pipe(\n map(r => {\n if (r.success) {\n return r.result;\n }\n return '';\n }),\n );\n } else {\n const isAccountMode = this.flowInfoService.context.mode === ConfigurationContextMode.ACCOUNT;\n if (isAccountMode || this.quoteDraftService.hasAssets) {\n navigateTo = '/assets';\n } else if (this.quoteDraftService.hasProducts) {\n navigateTo = '/cart';\n }\n }\n\n return of(navigateTo);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { VELOCE_FLOW_ROOT_ROUTE } from './constants';\nimport { FlowComponent } from './flow.component';\nimport { keepFlowInitialized } from './guards/flow.guard';\nimport { ProductUnloadGuard } from './guards/product-unload.guard';\nimport { RootGuard } from './guards/root.guard';\nimport { AssetsComponent } from './pages/assets/assets.component';\nimport { AssetsModule } from './pages/assets/assets.module';\nimport { CatalogComponent } from './pages/catalog/catalog.component';\nimport { CatalogModule } from './pages/catalog/catalog.module';\nimport { DebugModule } from './pages/debug/debug.module';\nimport { ProductComponent } from './pages/product/product.component';\nimport { ProductModule } from './pages/product/product.module';\nimport { RecordNotFoundModule } from './pages/record-not-found/record-not-found.module';\nimport { ShoppingCartComponent } from './pages/shopping-cart/shopping-cart.component';\nimport { ShoppingCartModule } from './pages/shopping-cart/shopping-cart.module';\nimport { FlowResolver } from './resolvers/flow.resolver';\nimport { QuoteResolver } from './resolvers/quote.resolver';\nimport { FlowRouterService } from './services/flow-router.service';\nimport { RouteWithId } from './types/route.types';\n\nconst rootRoute: RouteWithId = {\n id: VELOCE_FLOW_ROOT_ROUTE,\n path: '',\n component: FlowComponent,\n canActivate: [RootGuard],\n canDeactivate: [RootGuard],\n children: [\n {\n path: '',\n canActivate: [keepFlowInitialized],\n runGuardsAndResolvers: 'always',\n children: [\n {\n path: 'flows',\n runGuardsAndResolvers: 'paramsOrQueryParamsChange',\n resolve: { flow: FlowResolver },\n children: [],\n },\n {\n path: 'product',\n component: ProductComponent,\n runGuardsAndResolvers: 'paramsOrQueryParamsChange',\n resolve: { quote: QuoteResolver },\n canDeactivate: [ProductUnloadGuard],\n data: { showHeader: true },\n },\n {\n path: 'cart',\n component: ShoppingCartComponent,\n runGuardsAndResolvers: 'paramsOrQueryParamsChange',\n resolve: { quote: QuoteResolver },\n data: { showHeader: true },\n },\n {\n path: 'catalog',\n component: CatalogComponent,\n runGuardsAndResolvers: 'paramsOrQueryParamsChange',\n resolve: { quote: QuoteResolver },\n data: { showHeader: true },\n },\n {\n path: 'assets',\n component: AssetsComponent,\n runGuardsAndResolvers: 'paramsOrQueryParamsChange',\n resolve: { quote: QuoteResolver },\n data: { showHeader: true },\n },\n {\n path: 'debug',\n loadChildren: () => DebugModule,\n },\n {\n path: '404',\n loadChildren: () => RecordNotFoundModule,\n },\n ],\n },\n ],\n};\n\n@NgModule({\n imports: [RouterModule.forChild([rootRoute]), ProductModule, ShoppingCartModule, CatalogModule, AssetsModule],\n exports: [RouterModule],\n providers: [FlowRouterService, RootGuard, ProductUnloadGuard, FlowResolver, QuoteResolver],\n})\nexport class FlowRoutingModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ApiModule } from '@veloceapps/api';\nimport { LetDirectiveModule, LoaderModule } from '@veloceapps/components';\nimport { LauncherModule } from '@veloceapps/sdk/cms';\nimport { SdkCoreModule } from '@veloceapps/sdk/core';\nimport { FlowDialogModule } from './components/dialog/dialog.module';\nimport { FlowNewHeaderModule } from './components/flow-header';\nimport { GuidedSellingModule } from './components/guided-selling/guided-selling.module';\nimport { configurePrimengShadowDOM } from './configure-primeng';\nimport { FlowRoutingModule } from './flow-routing.module';\nimport { FlowComponent } from './flow.component';\nimport { FlowService } from './services';\nimport { FlowDialogService } from './services/flow-dialog.service';\nimport { FlowGuidedSellingService } from './services/guided-selling.service';\n\nconfigurePrimengShadowDOM();\n\n@NgModule({\n declarations: [FlowComponent],\n imports: [\n CommonModule,\n LetDirectiveModule,\n FlowRoutingModule,\n ApiModule,\n LauncherModule,\n LoaderModule,\n FlowNewHeaderModule,\n FlowDialogModule,\n SdkCoreModule,\n GuidedSellingModule,\n ],\n providers: [FlowService, FlowDialogService, FlowGuidedSellingService],\n})\nexport class FlowModule {}\n","import { SalesforceIdUtils } from '@veloceapps/core';\n\nexport const getFlowObjectIdPropertyName = (id: string): string => {\n const objectName = SalesforceIdUtils.getSfObjectNameById(id);\n\n switch (objectName) {\n case 'Account':\n return 'accountId';\n case 'Order':\n return 'orderId';\n case 'Quote':\n default:\n return 'quoteId';\n }\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i1","i2.FlowRouterService","i3","i4.FlowDialogService","i1.FlowRouterService","i2.FlowService","i4.FlowGuidedSellingService","i5","i6","i7","i8.FlowHeaderComponent","i9.GuidedSellingComponent","i3.FlowDialogService","routes","catchError","i3.FlowRouterService"],"mappings":"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"}
1
+ {"version":3,"file":"veloceapps-sdk.mjs","sources":["../../../../libs/sdk/src/constants.ts","../../../../libs/sdk/src/components/dialog/dialog.component.ts","../../../../libs/sdk/src/components/dialog/dialog.component.html","../../../../libs/sdk/src/components/dialog/dialog.module.ts","../../../../libs/sdk/src/components/flow-header/flow-header.component.ts","../../../../libs/sdk/src/components/flow-header/flow-header.component.html","../../../../libs/sdk/src/components/flow-header/flow-header.module.ts","../../../../libs/sdk/src/components/guided-selling/guided-selling.component.ts","../../../../libs/sdk/src/components/guided-selling/guided-selling.component.html","../../../../libs/sdk/src/components/guided-selling/guided-selling.module.ts","../../../../libs/sdk/src/configure-primeng.ts","../../../../libs/sdk/src/services/flow-router.service.ts","../../../../libs/sdk/src/services/flow-dialog.service.ts","../../../../libs/sdk/src/services/flow.service.ts","../../../../libs/sdk/src/services/guided-selling.service.ts","../../../../libs/sdk/src/flow.component.ts","../../../../libs/sdk/src/flow.component.html","../../../../libs/sdk/src/guards/flow.guard.ts","../../../../libs/sdk/src/guards/product-unload.guard.ts","../../../../libs/sdk/src/guards/root.guard.ts","../../../../libs/sdk/src/pages/assets/assets.component.ts","../../../../libs/sdk/src/pages/assets/assets.component.html","../../../../libs/sdk/src/pages/assets/assets.module.ts","../../../../libs/sdk/src/pages/catalog/catalog.component.ts","../../../../libs/sdk/src/pages/catalog/catalog.component.html","../../../../libs/sdk/src/pages/catalog/catalog.module.ts","../../../../libs/sdk/src/pages/debug/debug.component.ts","../../../../libs/sdk/src/pages/debug/debug.component.html","../../../../libs/sdk/src/pages/debug/debug.module.ts","../../../../libs/sdk/src/pages/product/product.component.ts","../../../../libs/sdk/src/pages/product/product.component.html","../../../../libs/sdk/src/pages/product/product.module.ts","../../../../libs/sdk/src/pages/record-not-found/record-not-found.component.ts","../../../../libs/sdk/src/pages/record-not-found/record-not-found.component.html","../../../../libs/sdk/src/pages/record-not-found/record-not-found.module.ts","../../../../libs/sdk/src/pages/shopping-cart/shopping-cart.component.ts","../../../../libs/sdk/src/pages/shopping-cart/shopping-cart.component.html","../../../../libs/sdk/src/pages/shopping-cart/shopping-cart.module.ts","../../../../libs/sdk/src/resolvers/flow.resolver.ts","../../../../libs/sdk/src/resolvers/quote.resolver.ts","../../../../libs/sdk/src/resolvers/ui-definition.resolver.ts","../../../../libs/sdk/src/flow-routing.module.ts","../../../../libs/sdk/src/flow.module.ts","../../../../libs/sdk/src/utils/flow.utils.ts","../../../../libs/sdk/veloceapps-sdk.ts"],"sourcesContent":["export const VELOCE_FLOW_ROOT_ROUTE = 'VELOCE_FLOW_ROOT_ROUTE';\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\nimport { FlowDialogConfig } from './dialog.types';\n\n@Component({\n selector: 'vl-flow-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FlowDialogComponent {\n public config: FlowDialogConfig;\n\n constructor(private dialogConfig: DynamicDialogConfig, private ref: DynamicDialogRef) {\n this.config = this.dialogConfig.data.config;\n }\n\n public cancelHandler(): void {\n if (this.config.oppositeButtonActions) {\n this.ref.close(true);\n } else {\n this.ref.close();\n }\n }\n\n public confirmHandler(): void {\n if (this.config.oppositeButtonActions) {\n this.ref.close();\n } else {\n this.ref.close(true);\n }\n }\n}\n","<div class=\"header\">\n <div class=\"title\">\n {{ config.title }}\n </div>\n\n <i class=\"vl-icon vl-cross\" (click)=\"cancelHandler()\"></i>\n</div>\n\n<div *ngIf=\"config.description\" class=\"description\">\n {{ config.description }}\n</div>\n\n<div class=\"form-actions\">\n <p-button\n *ngIf=\"config.secondaryButton\"\n styleClass=\"p-button-outlined button-text-bold\"\n [label]=\"config.secondaryButton!\"\n (onClick)=\"cancelHandler()\"\n ></p-button>\n <p-button\n styleClass=\"p-button p-button-filled\"\n [label]=\"config.primaryButton\"\n (onClick)=\"confirmHandler()\"\n ></p-button>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ButtonModule } from 'primeng/button';\nimport { FlowDialogComponent } from './dialog.component';\n\n@NgModule({\n declarations: [FlowDialogComponent],\n imports: [CommonModule, ButtonModule],\n exports: [FlowDialogComponent],\n})\nexport class FlowDialogModule {}\n","import { ChangeDetectionStrategy, Component, Inject, OnDestroy, Optional } from '@angular/core';\nimport { UITemplatesApiService } from '@veloceapps/api/v2';\nimport { ToastService, ToastType } from '@veloceapps/components';\nimport { ComponentAttachments, UIDefinition } from '@veloceapps/core';\nimport { btoaSafe } from '@veloceapps/sdk/cms';\nimport { FlowCustomization, FlowInfoService, FlowStateService, FLOW_CUSTOMIZATION } from '@veloceapps/sdk/core';\nimport {\n BehaviorSubject,\n catchError,\n filter,\n first,\n map,\n Observable,\n of,\n Subject,\n switchMap,\n takeUntil,\n tap,\n} from 'rxjs';\n\n@Component({\n selector: 'vl-flow-new-header',\n templateUrl: './flow-header.component.html',\n styleUrls: ['./flow-header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FlowHeaderComponent implements OnDestroy {\n public uiDefinition$ = new BehaviorSubject<UIDefinition | null>(null);\n\n private templateApiName = '';\n private destroy$ = new Subject<void>();\n\n constructor(\n private templatesApi: UITemplatesApiService,\n private flowStateService: FlowStateService,\n private flowInfo: FlowInfoService,\n private toastService: ToastService,\n @Optional() @Inject(FLOW_CUSTOMIZATION) private customizationService?: FlowCustomization,\n ) {\n // wait until flow is initialized\n this.flowStateService\n .isInitialized$()\n .pipe(\n filter(Boolean),\n first(),\n tap(() => this.initialize()),\n takeUntil(this.destroy$),\n )\n .subscribe();\n }\n\n public ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private initialize(): void {\n this.templateApiName = this.flowInfo.flow?.properties.templates?.flowHeader ?? '';\n\n this.generateUIDefinition$()\n .pipe(\n tap(uiDef => {\n if (!uiDef) {\n throw new Error(`Component with name '${this.templateApiName}' not found.`);\n }\n\n this.uiDefinition$.next(uiDef);\n }),\n catchError(err => {\n const message = 'Failed to resolve Flow Header component. ' + (err.message ?? '');\n this.toastService.add({ severity: ToastType.error, summary: message, sticky: true });\n return of();\n }),\n takeUntil(this.destroy$),\n )\n .subscribe();\n }\n\n private getLocalMeta$(): Observable<ComponentAttachments[] | undefined> {\n if (!this.customizationService?.getTemplateComponents) {\n return of(undefined);\n }\n\n return this.customizationService?.getTemplateComponents(this.templateApiName).pipe(\n map(components => {\n if (!components) {\n return;\n }\n\n return components.map<ComponentAttachments>(component => ({\n html: component.html,\n css: component.css,\n js: component.js,\n json: component.json,\n }));\n }),\n );\n }\n\n private getOrgMeta$(): Observable<ComponentAttachments[] | undefined> {\n const template = this.flowInfo.templates.FLOW_HEADER;\n if (!template) {\n return of(undefined);\n }\n\n return this.templatesApi.fetchComponentsAttachments$(template.id);\n }\n\n private generateUIDefinition$(): Observable<UIDefinition | undefined> {\n return of(undefined).pipe(\n tap(() => {\n if (!this.templateApiName) {\n throw new Error(\"Flow 'flowHeader' template is not defined.\");\n }\n }),\n switchMap(() => this.getLocalMeta$()),\n switchMap(metaList => (metaList ? of(metaList) : this.getOrgMeta$())),\n map(metaList => {\n if (!metaList) {\n return;\n }\n\n const uiDef: UIDefinition = {\n name: '',\n createdTimestamp: 0,\n primary: true,\n type: 'DEFAULT',\n version: 2,\n children: metaList.map(meta => ({\n children: [],\n template: meta.html && btoaSafe(meta.html),\n script: meta.js && btoaSafe(meta.js),\n styles: meta.css && btoaSafe(meta.css),\n })),\n };\n\n return uiDef;\n }),\n );\n }\n}\n","<ng-container *ngIf=\"uiDefinition$ | async as uiDefinition\">\n <vl-cms-preview [uiDefinition]=\"uiDefinition\"></vl-cms-preview>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { PreviewModule } from '@veloceapps/sdk/cms';\nimport { FlowHeaderComponent } from './flow-header.component';\n\n@NgModule({\n declarations: [FlowHeaderComponent],\n imports: [CommonModule, PreviewModule],\n exports: [FlowHeaderComponent],\n})\nexport class FlowNewHeaderModule {}\n","import { ChangeDetectionStrategy, Component, Inject, OnDestroy, Optional } from '@angular/core';\nimport { UITemplatesApiService } from '@veloceapps/api/v2';\nimport { ToastService, ToastType } from '@veloceapps/components';\nimport { ComponentAttachments, UIDefinition } from '@veloceapps/core';\nimport { btoaSafe } from '@veloceapps/sdk/cms';\nimport { FlowCustomization, FlowInfoService, FlowStateService, FLOW_CUSTOMIZATION } from '@veloceapps/sdk/core';\nimport {\n BehaviorSubject,\n catchError,\n filter,\n first,\n map,\n Observable,\n of,\n Subject,\n switchMap,\n takeUntil,\n tap,\n} from 'rxjs';\n\n@Component({\n selector: 'vl-flow-guided-selling',\n templateUrl: './guided-selling.component.html',\n styleUrls: ['./guided-selling.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GuidedSellingComponent implements OnDestroy {\n public uiDefinition$ = new BehaviorSubject<UIDefinition | null>(null);\n\n private templateApiName = '';\n private destroy$ = new Subject<void>();\n\n constructor(\n private templatesApi: UITemplatesApiService,\n private flowStateService: FlowStateService,\n private flowInfo: FlowInfoService,\n private toastService: ToastService,\n @Optional() @Inject(FLOW_CUSTOMIZATION) private customizationService?: FlowCustomization,\n ) {\n // wait until flow is initialized\n this.flowStateService\n .isInitialized$()\n .pipe(\n filter(Boolean),\n first(),\n tap(() => this.initialize()),\n takeUntil(this.destroy$),\n )\n .subscribe();\n }\n\n public ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private initialize(): void {\n this.templateApiName = this.flowInfo.flow?.properties.templates?.guidedSelling ?? '';\n\n this.generateUIDefinition$()\n .pipe(\n tap(uiDef => {\n if (!uiDef) {\n throw new Error(`Component with name '${this.templateApiName}' not found.`);\n }\n\n this.uiDefinition$.next(uiDef);\n }),\n catchError(err => {\n const message = 'Failed to resolve Guided Selling component. ' + (err.message ?? '');\n this.toastService.add({ severity: ToastType.error, summary: message, sticky: true });\n return of();\n }),\n takeUntil(this.destroy$),\n )\n .subscribe();\n }\n\n private getLocalMeta$(): Observable<ComponentAttachments[] | undefined> {\n if (!this.customizationService?.getTemplateComponents) {\n return of(undefined);\n }\n\n return this.customizationService?.getTemplateComponents(this.templateApiName).pipe(\n map(components => {\n if (!components) {\n return;\n }\n\n return components.map<ComponentAttachments>(component => ({\n html: component.html,\n css: component.css,\n js: component.js,\n json: component.json,\n }));\n }),\n );\n }\n\n private getOrgMeta$(): Observable<ComponentAttachments[] | undefined> {\n const template = this.flowInfo.templates.GUIDED_SELLING;\n if (!template) {\n return of(undefined);\n }\n\n return this.templatesApi.fetchComponentsAttachments$(template.id);\n }\n\n private generateUIDefinition$(): Observable<UIDefinition | undefined> {\n return of(undefined).pipe(\n tap(() => {\n if (!this.templateApiName) {\n throw new Error(\"Flow 'guidedSelling' template is not defined.\");\n }\n }),\n switchMap(() => this.getLocalMeta$()),\n switchMap(metaList => (metaList ? of(metaList) : this.getOrgMeta$())),\n map(metaList => {\n if (!metaList) {\n return;\n }\n\n const uiDef: UIDefinition = {\n name: '',\n createdTimestamp: 0,\n primary: true,\n type: 'DEFAULT',\n version: 2,\n children: metaList.map(meta => ({\n children: [],\n template: meta.html && btoaSafe(meta.html),\n script: meta.js && btoaSafe(meta.js),\n styles: meta.css && btoaSafe(meta.css),\n })),\n };\n\n return uiDef;\n }),\n );\n }\n}\n","<ng-container *ngIf=\"uiDefinition$ | async as uiDefinition\">\n <vl-cms-preview [uiDefinition]=\"uiDefinition\"></vl-cms-preview>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { PreviewModule } from '@veloceapps/sdk/cms';\nimport { GuidedSellingComponent } from './guided-selling.component';\n\n@NgModule({\n declarations: [GuidedSellingComponent],\n imports: [CommonModule, PreviewModule],\n exports: [GuidedSellingComponent],\n})\nexport class GuidedSellingModule {}\n","import { DomHandler } from 'primeng/dom';\n\nexport const configurePrimengShadowDOM = () => {\n DomHandler.getScrollableParents = (element: any) => {\n const scrollableParents = [];\n\n if (element) {\n const parents = DomHandler.getParents(element).filter((item: any) => !(item instanceof ShadowRoot));\n const overflowRegex = /(auto|scroll)/;\n const overflowCheck = (node: any) => {\n const styleDeclaration = window['getComputedStyle'](node, null);\n return (\n overflowRegex.test(styleDeclaration.getPropertyValue('overflow')) ||\n overflowRegex.test(styleDeclaration.getPropertyValue('overflowX')) ||\n overflowRegex.test(styleDeclaration.getPropertyValue('overflowY'))\n );\n };\n\n for (const parent of parents) {\n const scrollSelectors = parent.nodeType === 1 && parent.dataset['scrollselectors'];\n if (scrollSelectors) {\n const selectors = scrollSelectors.split(',');\n for (const selector of selectors) {\n const el = DomHandler.findSingle(parent, selector);\n if (el && overflowCheck(el)) {\n scrollableParents.push(el);\n }\n }\n }\n\n if (parent.nodeType !== 9 && overflowCheck(parent)) {\n scrollableParents.push(parent);\n }\n }\n }\n\n return scrollableParents;\n };\n};\n","import { Injectable } from '@angular/core';\nimport {\n ActivatedRoute,\n ActivatedRouteSnapshot,\n Event,\n NavigationCancel,\n NavigationEnd,\n NavigationError,\n NavigationStart,\n Params,\n Router,\n} from '@angular/router';\nimport { SalesforceIdUtils, UITemplateType } from '@veloceapps/core';\nimport { FlowAction } from '@veloceapps/sdk/cms';\nimport { FlowStateService, IntegrationState } from '@veloceapps/sdk/core';\nimport { distinctUntilChanged, filter, from, map, Observable, shareReplay, startWith, tap } from 'rxjs';\nimport { VELOCE_FLOW_ROOT_ROUTE } from '../constants';\nimport { RouteWithId } from '../types/route.types';\n\n@Injectable({ providedIn: 'root' })\nexport class FlowRouterService {\n private routeChange$: Observable<Event>;\n private lastChildParams$: Observable<Params>;\n private lastChildRoute$: Observable<ActivatedRouteSnapshot>;\n private urlHistory: string[] = [];\n\n public loading$: Observable<boolean>;\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private integrationState: IntegrationState,\n private flowStateService: FlowStateService,\n ) {\n this.routeChange$ = this.router.events.pipe(\n filter(e => e instanceof NavigationEnd),\n shareReplay(),\n );\n\n this.lastChildParams$ = this.watchLastChildParams$(this.route).pipe(\n startWith(this.getLastChildParams(this.route.snapshot)),\n shareReplay(),\n );\n this.lastChildRoute$ = this.watchLastChildRoute$(this.route).pipe(\n startWith(this.getLastChildRouteSnapshot(this.route.snapshot)),\n shareReplay(),\n );\n\n this.loading$ = this.router.events.pipe(\n filter(\n e =>\n e instanceof NavigationStart ||\n e instanceof NavigationCancel ||\n e instanceof NavigationEnd ||\n e instanceof NavigationError,\n ),\n map(e => e instanceof NavigationStart),\n startWith(false),\n distinctUntilChanged(),\n );\n\n this.routeChange$.subscribe(() => {\n this.urlHistory.push(this.router.url);\n\n // Close Guided Selling when user navigates to another flow page\n this.integrationState.dispatch(FlowAction.CloseGuidedSelling({ keepState: true }));\n });\n }\n\n public getFlowRootRoute(route: ActivatedRouteSnapshot): ActivatedRouteSnapshot | undefined {\n const path = [...route.pathFromRoot];\n\n while (path.length) {\n const parent = path.pop();\n\n if (!parent) {\n break;\n }\n\n if ((parent.routeConfig as RouteWithId)?.id === VELOCE_FLOW_ROOT_ROUTE) {\n return parent;\n }\n }\n\n return;\n }\n\n public getFlowRootPath(route: ActivatedRouteSnapshot): string {\n const rootRoute = this.getFlowRootRoute(route);\n if (!rootRoute) {\n return '';\n }\n\n const path = rootRoute.pathFromRoot\n .map(r => r.url[0])\n .filter(Boolean)\n .join('/');\n\n return '/' + path;\n }\n\n public get route$(): Observable<ActivatedRouteSnapshot> {\n return this.lastChildRoute$;\n }\n\n public get params$(): Observable<Params> {\n return this.lastChildParams$;\n }\n\n public get params(): Params {\n return this.getLastChildParams(this.route.snapshot);\n }\n\n public getLastChildRoute = (route: ActivatedRoute): ActivatedRoute => {\n return route.firstChild ? this.getLastChildRoute(route.firstChild) : route;\n };\n\n public getNthChildRoute = (route: ActivatedRoute, index: number): ActivatedRoute => {\n if (index <= 0) {\n return route;\n }\n\n return route.firstChild ? this.getNthChildRoute(route.firstChild, index - 1) : route;\n };\n\n public getLastChildRouteSnapshot = (route: ActivatedRouteSnapshot): ActivatedRouteSnapshot => {\n return route.firstChild ? this.getLastChildRouteSnapshot(route.firstChild) : route;\n };\n\n public watchLastChildRoute$ = (route: ActivatedRoute): Observable<ActivatedRouteSnapshot> => {\n return this.routeChange$.pipe(map(() => this.getLastChildRouteSnapshot(route.snapshot)));\n };\n\n public getLastChildParams = (route: ActivatedRouteSnapshot): Params => {\n return route.firstChild ? this.getLastChildParams(route.firstChild) : route.params;\n };\n\n public watchLastChildParams$ = (route: ActivatedRoute): Observable<Params> => {\n return this.routeChange$.pipe(map(() => this.getLastChildParams(route.snapshot)));\n };\n\n public getFlowSubpath$ = (): Observable<string> => {\n return this.route$.pipe(\n map(route => {\n const url = route.url.join('/');\n const flowRootUrl = this.getFlowRootPath(route);\n return url.replace(flowRootUrl, '');\n }),\n );\n };\n\n public isConfigurationRoute$(): Observable<boolean> {\n return this.getFlowSubpath$().pipe(map(url => url.startsWith('product')));\n }\n\n public isCartRoute$(): Observable<boolean> {\n return this.getFlowSubpath$().pipe(map(url => url.startsWith('cart')));\n }\n\n public isCatalogRoute$(): Observable<boolean> {\n return this.getFlowSubpath$().pipe(map(url => url.startsWith('catalog')));\n }\n\n public isAssetsRoute$(): Observable<boolean> {\n return this.getFlowSubpath$().pipe(map(url => url.startsWith('assets')));\n }\n\n public navigateBack(): void {\n const prevUrl = this.urlHistory[this.urlHistory.length - 2];\n\n if (prevUrl) {\n this.router.navigateByUrl(prevUrl);\n }\n }\n\n public navigateTo(path: string, productId?: string, lineItemId?: string): void {\n if (path === 'shopping-cart') {\n this.navigateToShoppingCart();\n } else if (path === 'catalog') {\n this.navigateToCatalog();\n } else if (path === 'assets') {\n this.navigateToAssets();\n } else if (path === 'product' && productId) {\n this.navigateToProductConfiguration(productId, lineItemId);\n }\n }\n\n public navigateToProductConfiguration(productId: string, lineItemId?: string): void {\n this.flowStateService\n .dispatch$(UITemplateType.FLOW_ENGINE, 'UPDATE_CONTEXT_PROPERTIES', {\n productId,\n lineItemId: lineItemId ?? '',\n })\n .pipe(\n tap(() => {\n const routeSnapshot = this.getLastChildRouteSnapshot(this.route.snapshot);\n const flowRouteUrl = this.getFlowRootPath(routeSnapshot);\n\n this.router.navigate([flowRouteUrl, 'product'], {\n queryParams: { ...routeSnapshot.queryParams, productId },\n });\n }),\n )\n .subscribe();\n }\n\n public navigateToShoppingCart(): void {\n const routeSnapshot = this.getLastChildRouteSnapshot(this.route.snapshot);\n const flowRouteUrl = this.getFlowRootPath(routeSnapshot);\n\n this.router.navigate([flowRouteUrl, 'cart'], { queryParams: routeSnapshot.queryParams });\n }\n\n public navigateToCatalog(): void {\n const routeSnapshot = this.getLastChildRouteSnapshot(this.route.snapshot);\n const flowRouteUrl = this.getFlowRootPath(routeSnapshot);\n\n this.router.navigate([flowRouteUrl, 'catalog'], { queryParams: routeSnapshot.queryParams });\n }\n\n public navigateToAssets(): void {\n const routeSnapshot = this.getLastChildRouteSnapshot(this.route.snapshot);\n const flowRouteUrl = this.getFlowRootPath(routeSnapshot);\n\n this.router.navigate([flowRouteUrl, 'assets'], { queryParams: routeSnapshot.queryParams });\n }\n\n public showErrorPage$(message: string, details?: string[]): Observable<false> {\n const routeSnapshot = this.getLastChildRouteSnapshot(this.route.snapshot);\n const flowRouteUrl = this.getFlowRootPath(routeSnapshot);\n\n return from(\n this.router.navigate([flowRouteUrl, '404'], {\n state: { message, type: 'error', ...(details && { details }) },\n replaceUrl: true,\n }),\n ).pipe(map(() => false));\n }\n\n public switchObject(id: string): void {\n const routeSnapshot = this.getLastChildRouteSnapshot(this.route.snapshot);\n const route = this.getLastChildRoute(this.route);\n\n const objName = SalesforceIdUtils.getSfObjectNameById(id);\n\n const queryParams = {\n quoteId: objName === 'Quote' ? id : undefined,\n accountId: objName === 'Account' ? id : undefined,\n orderId: objName === 'Order' ? id : undefined,\n };\n this.router.navigate([], { relativeTo: route, queryParams: { ...routeSnapshot.queryParams, ...queryParams } });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { getMaxRenewalTermsValue, mapShoppingCartSettings } from '@veloceapps/core';\nimport { FlowInfoService, RuntimeSettingsService } from '@veloceapps/sdk/core';\nimport { DialogService } from 'primeng/dynamicdialog';\nimport { Observable } from 'rxjs';\nimport { FlowDialogComponent } from '../components/dialog/dialog.component';\nimport { FlowDialogConfig } from '../components/dialog/dialog.types';\n\n@Injectable()\nexport class FlowDialogService {\n constructor(\n private dialogService: DialogService,\n private runtimeSettings: RuntimeSettingsService,\n private flowInfoService: FlowInfoService,\n ) {}\n\n public show(config: FlowDialogConfig): Observable<boolean> {\n return this.dialogService.open(FlowDialogComponent, {\n dismissableMask: true,\n closeOnEscape: true,\n closable: true,\n showHeader: false,\n width: '320px',\n data: { config },\n styleClass: 'flow-dialog',\n }).onClose;\n }\n\n public showEmptyCartDialog(): Observable<boolean> {\n return this.show({\n title: 'No Products in Quote',\n description: 'There are no products in your Quote. To save a Quote, add at least one product.',\n primaryButton: 'Ok',\n });\n }\n\n public showReadonlyModeDialog(): Observable<boolean> {\n const mode = this.flowInfoService.context.mode;\n const objectName = mode ? mode[0]?.toUpperCase() + mode.substring(1).toLowerCase() : 'Object';\n\n return this.show({\n title: 'Error',\n description: `${objectName} Cannot be Saved`,\n primaryButton: 'Ok',\n });\n }\n\n public showQuoteReadonlyModeDialog(): Observable<boolean> {\n return this.show({\n title: 'Quote Cannot be Saved',\n description:\n 'It is only possible to save quotes with the “Draft” status. Please create a new quote to make and save changes.',\n primaryButton: 'Ok',\n });\n }\n\n public showQuoteOutsideShoppingCartDialog(): Observable<boolean> {\n return this.show({\n title: 'Quote Cannot be Saved',\n description: 'It is only possible to save quotes from the Shopping Cart. To proceed, go to the Shopping Cart.',\n primaryButton: 'Ok',\n });\n }\n\n public showAccountNoChangesDialog(): Observable<boolean> {\n return this.show({\n title: 'No Changes to Save',\n description: 'There are no changes since the last update. Please make changes to proceed.',\n primaryButton: 'Ok',\n });\n }\n\n public showUnsavedChangesDialog(): Observable<boolean> {\n return this.show({\n title: 'Unsaved Changes',\n description: 'Are you sure you want to leave this page and discard your unsaved changes?',\n primaryButton: 'Keep Editing',\n secondaryButton: 'Discard Changes',\n oppositeButtonActions: true,\n });\n }\n\n public showReadonlyQuoteSubmitFailureDialog(): Observable<boolean> {\n return this.show({\n title: 'Cannot Submit for Approval',\n description:\n 'It is only possible to submit for approval quotes with the “Draft“ status. Please create a new quote to proceed.',\n primaryButton: 'Ok',\n });\n }\n\n public showOutsideShoppingCartQuoteSubmitFailureDialog(): Observable<boolean> {\n return this.show({\n title: 'Cannot Submit for Approval',\n description:\n 'It is only possible to submit quotes for approval from the Shopping Cart. To proceed, go to the Shopping Cart.',\n primaryButton: 'Ok',\n });\n }\n\n public showAccountSubmitFailureDialog(): Observable<boolean> {\n return this.show({\n title: 'Save Changes',\n description:\n 'To submit for approval, save the quote first, and then submit it for approval from the Shopping Cart.',\n primaryButton: 'Ok',\n });\n }\n\n public showTermsLimitReachedDialog(): Observable<boolean> {\n const shoppingCartSettings = mapShoppingCartSettings(this.runtimeSettings.getShoppingCartSettings() || []);\n const maxRenewalTerms = getMaxRenewalTermsValue(shoppingCartSettings);\n return this.show({\n title: 'Terms Limit Reached',\n description: `You have reached the term quantity limit: ${maxRenewalTerms}. You can increase the limit in the Shopping Cart Settings.`,\n primaryButton: 'Ok',\n });\n }\n\n public showDialog(dialog: keyof Omit<FlowDialogService, 'show' | 'constructor'>): Observable<boolean> {\n const dialogFunction = this[dialog].bind(this);\n return dialogFunction(dialog);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { UITemplateType } from '@veloceapps/core';\nimport { FlowAction, IntegrationState } from '@veloceapps/sdk/cms';\nimport { ConfigurationService, ConfigurationStateService, FlowStateService } from '@veloceapps/sdk/core';\nimport { map, Observable, of, Subject, switchMap, take, takeUntil, tap } from 'rxjs';\nimport { FlowDialogService } from './flow-dialog.service';\nimport { FlowRouterService } from './flow-router.service';\n\n@Injectable()\nexport class FlowService {\n private cleanup$ = new Subject<void>();\n\n constructor(\n private integrationState: IntegrationState,\n private flowRouterService: FlowRouterService,\n private configurationService: ConfigurationService,\n private configurationStateService: ConfigurationStateService,\n private flowDialogService: FlowDialogService,\n private flowStateService: FlowStateService,\n ) {}\n\n public cleanup(): void {\n this.cleanup$.next();\n }\n\n public initSubscriptions(): void {\n this.integrationState\n .listen$<Parameters<typeof FlowAction.ConfigureProductAction>[0]>(FlowAction.FLOW_CONFIGURE_PRODUCT)\n .pipe(\n switchMap(payload => this.prepareConfiguration$(payload.lineItemId).pipe(map(() => payload))),\n tap(payload => {\n if (payload.productId) {\n this.flowRouterService.navigateToProductConfiguration(payload.productId, payload.lineItemId);\n } else {\n console.warn(\"Parameter 'productId' is needed to start configuration\");\n }\n }),\n takeUntil(this.cleanup$),\n )\n .subscribe();\n\n this.integrationState\n .listen$<{ id: string }>(FlowAction.FLOW_SWITCH_OBJECT)\n .pipe(\n tap(payload => {\n this.flowRouterService.switchObject(payload.id);\n }),\n takeUntil(this.cleanup$),\n )\n .subscribe();\n\n this.integrationState\n .listen$(FlowAction.FLOW_NAVIGATE_BACK)\n .pipe(\n switchMap(() => this.configurationStateService.cancelConfiguration()),\n tap(() => this.flowRouterService.navigateBack()),\n takeUntil(this.cleanup$),\n )\n .subscribe();\n\n this.integrationState\n .listen$(FlowAction.FLOW_NAVIGATE_TO)\n .pipe(\n switchMap(payload => this.configurationStateService.cancelConfiguration().pipe(map(() => payload))),\n tap(payload => {\n if (payload.path === 'product') {\n this.integrationState.dispatch(FlowAction.ConfigureProductAction(payload));\n } else {\n this.flowRouterService.navigateTo(payload.path, payload.productId, payload.lineItemId);\n }\n }),\n takeUntil(this.cleanup$),\n )\n .subscribe();\n\n this.integrationState\n .listen$(FlowAction.OPEN_DIALOG)\n .pipe(\n switchMap(payload => this.flowDialogService.showDialog(payload.dialog).pipe(take(1))),\n takeUntil(this.cleanup$),\n )\n .subscribe(dialogResult => {\n this.integrationState.patchState({ dialogResult });\n });\n\n this.integrationState\n .listen$(FlowAction.FLOW_NAVIGATE_TO_CATALOG)\n .pipe(\n tap(() => this.flowRouterService.navigateToCatalog()),\n takeUntil(this.cleanup$),\n )\n .subscribe();\n\n this.integrationState\n .listen$(FlowAction.FLOW_NAVIGATE_TO_SHOPPING_CART)\n .pipe(\n tap(() => this.flowRouterService.navigateToShoppingCart()),\n takeUntil(this.cleanup$),\n )\n .subscribe();\n\n this.integrationState\n .listen$(FlowAction.FLOW_APPLY_PRODUCT_CONFIGURATION)\n .pipe(\n switchMap(() => this.configurationStateService.saveConfiguration()),\n switchMap(() => this.configurationStateService.cancelConfiguration()),\n switchMap(() =>\n this.flowStateService.dispatch$(UITemplateType.FLOW_ENGINE, 'MODIFY_ASSETS', {\n addConfiguringAssetId: true,\n enable: true,\n }),\n ),\n tap(() => {\n this.configurationService.hasUnsavedChanges = false;\n this.flowRouterService.navigateToShoppingCart();\n }),\n takeUntil(this.cleanup$),\n )\n .subscribe();\n\n this.updateFlowParams();\n }\n\n private updateFlowParams(): void {\n this.flowRouterService\n .getFlowSubpath$()\n .pipe(\n map(path => path.split('/')?.[0]),\n takeUntil(this.cleanup$),\n )\n .subscribe(flowPath => this.integrationState.patchState({ flowPath }));\n\n this.flowRouterService.route$\n .pipe(\n map(path => path.queryParams['productId']),\n takeUntil(this.cleanup$),\n )\n .subscribe(productId => this.integrationState.patchState({ productId }));\n }\n\n private prepareConfiguration$(lineItemId?: string): Observable<void> {\n if (!lineItemId) {\n return of(undefined);\n }\n\n return this.flowStateService.dispatch$(UITemplateType.FLOW_ENGINE, 'UPDATE_PRICE_LIST', {\n lineItemId,\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { FlowAction } from '@veloceapps/sdk/cms';\nimport { IntegrationState } from '@veloceapps/sdk/core';\nimport { BehaviorSubject, Subject, takeUntil, tap } from 'rxjs';\n\n@Injectable()\nexport class FlowGuidedSellingService {\n private cleanup$ = new Subject<void>();\n private isVisibleSubj$ = new BehaviorSubject(false);\n\n public isVisible$ = this.isVisibleSubj$.asObservable();\n\n constructor(private integrationState: IntegrationState) {\n this.initSubscriptions();\n }\n\n public cleanup(): void {\n this.cleanup$.next();\n }\n\n private initSubscriptions(): void {\n this.integrationState\n .listen$(FlowAction.OPEN_GUIDED_SELLING)\n .pipe(\n tap(() => this.isVisibleSubj$.next(true)),\n takeUntil(this.cleanup$),\n )\n .subscribe();\n\n this.integrationState\n .listen$(FlowAction.CLOSE_GUIDED_SELLING)\n .pipe(\n tap(() => this.isVisibleSubj$.next(false)),\n takeUntil(this.cleanup$),\n )\n .subscribe();\n }\n}\n","import { ChangeDetectionStrategy, Component, OnDestroy } from '@angular/core';\nimport { FlowInfoService } from '@veloceapps/sdk/core';\nimport { combineLatest, map, Observable } from 'rxjs';\nimport { FlowService } from './services';\nimport { FlowRouterService } from './services/flow-router.service';\nimport { FlowGuidedSellingService } from './services/guided-selling.service';\n\n@Component({\n selector: 'vl-flow',\n templateUrl: './flow.component.html',\n styleUrls: ['./flow.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FlowComponent implements OnDestroy {\n public isLoading$: Observable<boolean>;\n public showHeader$: Observable<boolean>;\n public isStandalone$: Observable<boolean>;\n public guidedSellingVisible$: Observable<boolean>;\n\n constructor(\n private routerService: FlowRouterService,\n private flowService: FlowService,\n private flowInfoService: FlowInfoService,\n private guidedSellingService: FlowGuidedSellingService,\n ) {\n this.isLoading$ = this.routerService.loading$;\n\n this.showHeader$ = combineLatest([this.routerService.route$, this.flowInfoService.flow$]).pipe(\n map(([route, flow]) => route.data['showHeader'] && !flow?.properties.standalone),\n );\n\n this.isStandalone$ = this.flowInfoService.flow$.pipe(map(flow => Boolean(flow?.properties.standalone)));\n this.guidedSellingVisible$ = this.guidedSellingService.isVisible$;\n\n this.flowService.initSubscriptions();\n }\n\n ngOnDestroy() {\n this.flowService.cleanup();\n }\n}\n","<vl-flow-new-header *ngIf=\"showHeader$ | async\"></vl-flow-new-header>\n\n<div class=\"flow-content\">\n <div class=\"loading-overlay\" *ngIf=\"isLoading$ | async\">\n <vl-loader label=\"LOADING\"></vl-loader>\n </div>\n\n <router-outlet></router-outlet>\n\n <div class=\"guided-selling\" [ngClass]=\"{ hidden: (guidedSellingVisible$ | async) === false }\">\n <vl-flow-guided-selling *ngIf=\"(isStandalone$ | async) !== true\"></vl-flow-guided-selling>\n </div>\n</div>\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { inject } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivateFn } from '@angular/router';\nimport { extractErrorDetails, isVeloceError } from '@veloceapps/core';\nimport {\n ConfigurationService,\n FlowInfoService,\n FlowStateService,\n IntegrationState,\n QuoteDraftService,\n RuntimeSettingsService,\n SalesTransactionService,\n} from '@veloceapps/sdk/core';\nimport { catchError, map, switchMap, tap } from 'rxjs';\nimport { FlowRouterService } from '../services/flow-router.service';\n\nexport const keepFlowInitialized: CanActivateFn = (route: ActivatedRouteSnapshot) => {\n const routerService = inject(FlowRouterService);\n const runtimeSettingsService = inject(RuntimeSettingsService);\n const flowState = inject(FlowStateService);\n const flowInfoService = inject(FlowInfoService);\n const quoteDraft = inject(QuoteDraftService);\n const salesTrasnsactionService = inject(SalesTransactionService);\n const configurationService = inject(ConfigurationService);\n const integrationState = inject(IntegrationState);\n\n const { flowId } = route.queryParams;\n if (flowInfoService.isFlowInitialized && flowInfoService.flow.id === flowId) {\n return true;\n }\n\n // Cleanup\n flowState.cleanup();\n quoteDraft.reset();\n salesTrasnsactionService.reset();\n configurationService.reset();\n integrationState.clear();\n flowInfoService.cleanup();\n\n if (!flowId) {\n return true;\n }\n\n return runtimeSettingsService.create().pipe(\n tap(() => runtimeSettingsService.initCurrency('USD')),\n switchMap(() => flowInfoService.init$(flowId, route.queryParams)),\n map(() => true),\n catchError(e => {\n console.error(e);\n const message = e instanceof HttpErrorResponse ? e.error.message : e;\n const errorDetails = isVeloceError(e.error) ? extractErrorDetails(e.error) : [];\n return routerService.showErrorPage$(message, errorDetails);\n }),\n );\n};\n","import { Component, Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { ConfigurationService, QuoteDraftService } from '@veloceapps/sdk/core';\nimport { map, Observable, of } from 'rxjs';\nimport { FlowDialogService } from '../services/flow-dialog.service';\n\n@Injectable()\nexport class ProductUnloadGuard {\n constructor(\n private router: Router,\n private quoteDraftService: QuoteDraftService,\n private configurationService: ConfigurationService,\n private flowDialogService: FlowDialogService,\n ) {}\n\n public canDeactivate(\n _: Component,\n route: ActivatedRouteSnapshot,\n currentState: RouterStateSnapshot,\n nextState?: RouterStateSnapshot,\n ): Observable<boolean | UrlTree> {\n let observable = of(true);\n\n if (!this.quoteDraftService.isStandalone && this.configurationService.hasUnsavedChanges) {\n observable = this.flowDialogService.showUnsavedChangesDialog();\n }\n\n return observable.pipe(\n map(unload => {\n if (unload) {\n this.configurationService.reset();\n\n if (!nextState || currentState.url === nextState.url) {\n return true;\n }\n\n // clear obsolete queryParams\n const urlTree = this.router.parseUrl(nextState.url);\n\n if (!urlTree.queryParams['productId']) {\n return true;\n }\n\n delete urlTree.queryParams['productId'];\n\n // replace url after deactivation has finished\n setTimeout(() => this.router.navigateByUrl(urlTree.toString(), { replaceUrl: true }));\n\n return true;\n }\n\n return false;\n }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, CanDeactivate, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { FlowRouterService } from '../services/flow-router.service';\n\n@Injectable({ providedIn: 'root' })\nexport class RootGuard implements CanActivate, CanDeactivate<any> {\n private initialized = false;\n\n constructor(private router: Router, private routerService: FlowRouterService) {}\n\n public canActivate(route: ActivatedRouteSnapshot): Observable<boolean> | Promise<boolean> | boolean {\n // We always need to initialize root component first, and only then start checking guards/resolvers\n\n if (!this.initialized) {\n this.initialized = true;\n const navToRestore = this.router.getCurrentNavigation();\n\n const rootUrl = this.routerService.getFlowRootPath(route);\n this.router\n .navigate([rootUrl], {\n replaceUrl: !navToRestore?.previousNavigation,\n skipLocationChange: true,\n })\n .then(success => {\n if (!success || !navToRestore) {\n return;\n }\n\n setTimeout(() => {\n this.router.navigateByUrl(navToRestore.extractedUrl, navToRestore.extras);\n });\n });\n }\n\n return true;\n }\n\n public canDeactivate(): boolean {\n this.initialized = false;\n return true;\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n OnDestroy,\n OnInit,\n Optional,\n} from '@angular/core';\nimport { UITemplatesApiService } from '@veloceapps/api/v2';\nimport { ToastService, ToastType } from '@veloceapps/components';\nimport { ComponentAttachments, UIDefinition } from '@veloceapps/core';\nimport { btoaSafe } from '@veloceapps/sdk/cms';\nimport { FlowCustomization, FlowInfoService, FLOW_CUSTOMIZATION } from '@veloceapps/sdk/core';\nimport { BehaviorSubject, catchError, map, Observable, of, Subject, switchMap, takeUntil, tap } from 'rxjs';\n\ninterface State {\n loading: boolean;\n failure: boolean;\n}\n\n@Component({\n selector: 'vl-flow-assets',\n templateUrl: './assets.component.html',\n styleUrls: ['./assets.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AssetsComponent implements OnInit, OnDestroy {\n public uiDefinition?: UIDefinition = undefined;\n public state$ = new BehaviorSubject<State>({ loading: true, failure: false });\n\n private templateApiName = '';\n private destroyed$ = new Subject<void>();\n\n constructor(\n private templatesApi: UITemplatesApiService,\n private cdr: ChangeDetectorRef,\n private toastService: ToastService,\n private flowInfo: FlowInfoService,\n @Optional() @Inject(FLOW_CUSTOMIZATION) private customizationService?: FlowCustomization,\n ) {\n this.templateApiName = this.flowInfo.flow?.properties.templates?.assets ?? '';\n }\n\n public ngOnInit(): void {\n this.generateUIDefinition$()\n .pipe(\n tap(uiDef => {\n if (!uiDef) {\n throw new Error(`Component with name '${this.templateApiName}' not found.`);\n }\n\n this.uiDefinition = uiDef;\n this.state$.next({ loading: false, failure: false });\n }),\n catchError(err => {\n const message = 'Failed to resolve Assets component. ' + (err.message ?? '');\n this.toastService.add({ severity: ToastType.error, summary: message, sticky: true });\n\n this.uiDefinition = undefined;\n this.state$.next({ loading: false, failure: true });\n return of();\n }),\n takeUntil(this.destroyed$),\n )\n .subscribe(() => this.cdr.detectChanges());\n }\n\n public ngOnDestroy(): void {\n this.destroyed$.next();\n this.destroyed$.complete();\n }\n\n private getLocalMeta$(): Observable<ComponentAttachments[] | undefined> {\n if (!this.customizationService?.getTemplateComponents) {\n return of(undefined);\n }\n\n return this.customizationService?.getTemplateComponents(this.templateApiName).pipe(\n map(components => {\n if (!components) {\n return;\n }\n\n return components.map<ComponentAttachments>(component => ({\n html: component.html,\n css: component.css,\n js: component.js,\n json: component.json,\n }));\n }),\n );\n }\n\n private getOrgMeta$(): Observable<ComponentAttachments[] | undefined> {\n const template = this.flowInfo.templates.SHOPPING_CART;\n if (!template) {\n return of(undefined);\n }\n\n return this.templatesApi.fetchComponentsAttachments$(template.id);\n }\n\n private generateUIDefinition$(): Observable<UIDefinition | undefined> {\n return of(undefined).pipe(\n tap(() => {\n if (!this.templateApiName) {\n throw new Error(\"Flow 'assets' template is not defined.\");\n }\n }),\n switchMap(() => this.getLocalMeta$()),\n switchMap(metaList => (metaList ? of(metaList) : this.getOrgMeta$())),\n map(metaList => {\n if (!metaList) {\n return;\n }\n\n const uiDef: UIDefinition = {\n name: '',\n createdTimestamp: 0,\n primary: true,\n type: 'DEFAULT',\n version: 2,\n children: metaList.map(meta => ({\n children: [],\n template: meta.html && btoaSafe(meta.html),\n script: meta.js && btoaSafe(meta.js),\n styles: meta.css && btoaSafe(meta.css),\n })),\n };\n\n return uiDef;\n }),\n );\n }\n}\n","<ng-container *ngIf=\"state$ | async as state\">\n <vl-loader *ngIf=\"state.loading; else content\" [label]=\"'Loading UI'\"></vl-loader>\n\n <ng-template #content>\n <ng-container *ngIf=\"!state.failure\">\n <vl-cms-preview [uiDefinition]=\"uiDefinition\"></vl-cms-preview>\n </ng-container>\n </ng-template>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { LoaderModule } from '@veloceapps/components';\nimport { PreviewModule } from '@veloceapps/sdk/cms';\nimport { AssetsComponent } from './assets.component';\n\n@NgModule({\n declarations: [AssetsComponent],\n imports: [CommonModule, PreviewModule, LoaderModule],\n exports: [AssetsComponent],\n})\nexport class AssetsModule {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n OnDestroy,\n OnInit,\n Optional,\n} from '@angular/core';\nimport { UITemplatesApiService } from '@veloceapps/api/v2';\nimport { ToastService, ToastType } from '@veloceapps/components';\nimport { ComponentAttachments, UIDefinition } from '@veloceapps/core';\nimport { btoaSafe } from '@veloceapps/sdk/cms';\nimport { FlowCustomization, FlowInfoService, FLOW_CUSTOMIZATION } from '@veloceapps/sdk/core';\nimport { BehaviorSubject, catchError, map, Observable, of, Subject, switchMap, takeUntil, tap } from 'rxjs';\n\ninterface State {\n loading: boolean;\n failure: boolean;\n}\n\n@Component({\n selector: 'vl-flow-catalog',\n templateUrl: './catalog.component.html',\n styleUrls: ['./catalog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CatalogComponent implements OnInit, OnDestroy {\n public uiDefinition?: UIDefinition = undefined;\n public state$ = new BehaviorSubject<State>({ loading: true, failure: false });\n\n private templateApiName = '';\n private destroyed$ = new Subject<void>();\n\n constructor(\n private templatesApi: UITemplatesApiService,\n private cdr: ChangeDetectorRef,\n private toastService: ToastService,\n private flowInfo: FlowInfoService,\n @Optional() @Inject(FLOW_CUSTOMIZATION) private customizationService?: FlowCustomization,\n ) {\n this.templateApiName = this.flowInfo.flow?.properties.templates?.catalog ?? '';\n }\n\n public ngOnInit(): void {\n this.generateUIDefinition$()\n .pipe(\n tap(uiDef => {\n if (!uiDef) {\n throw new Error(`Component with name '${this.templateApiName}' not found.`);\n }\n\n this.uiDefinition = uiDef;\n this.state$.next({ loading: false, failure: false });\n }),\n catchError(err => {\n const message = 'Failed to resolve Catalog component. ' + (err.message ?? '');\n this.toastService.add({ severity: ToastType.error, summary: message, sticky: true });\n\n this.uiDefinition = undefined;\n this.state$.next({ loading: false, failure: true });\n return of();\n }),\n takeUntil(this.destroyed$),\n )\n .subscribe(() => this.cdr.detectChanges());\n }\n\n public ngOnDestroy(): void {\n this.destroyed$.next();\n this.destroyed$.complete();\n }\n\n private getLocalMeta$(): Observable<ComponentAttachments[] | undefined> {\n if (!this.customizationService?.getTemplateComponents) {\n return of(undefined);\n }\n\n return this.customizationService?.getTemplateComponents(this.templateApiName).pipe(\n map(components => {\n if (!components) {\n return;\n }\n\n return components.map<ComponentAttachments>(component => ({\n html: component.html,\n css: component.css,\n js: component.js,\n json: component.json,\n }));\n }),\n );\n }\n\n private getOrgMeta$(): Observable<ComponentAttachments[] | undefined> {\n const template = this.flowInfo.templates.CATALOG;\n if (!template) {\n return of(undefined);\n }\n\n return this.templatesApi.fetchComponentsAttachments$(template.id);\n }\n\n private generateUIDefinition$(): Observable<UIDefinition | undefined> {\n return of(undefined).pipe(\n tap(() => {\n if (!this.templateApiName) {\n throw new Error(\"Flow 'catalog' template is not defined.\");\n }\n }),\n switchMap(() => this.getLocalMeta$()),\n switchMap(metaList => (metaList ? of(metaList) : this.getOrgMeta$())),\n map(metaList => {\n if (!metaList) {\n return;\n }\n\n const uiDef: UIDefinition = {\n name: '',\n createdTimestamp: 0,\n primary: true,\n type: 'DEFAULT',\n version: 2,\n children: metaList.map(meta => ({\n children: [],\n template: meta.html && btoaSafe(meta.html),\n script: meta.js && btoaSafe(meta.js),\n styles: meta.css && btoaSafe(meta.css),\n })),\n };\n\n return uiDef;\n }),\n );\n }\n}\n","<ng-container *ngIf=\"state$ | async as state\">\n <vl-loader *ngIf=\"state.loading; else content\" [label]=\"'Loading UI'\"></vl-loader>\n\n <ng-template #content>\n <ng-container *ngIf=\"!state.failure\">\n <vl-cms-preview [uiDefinition]=\"uiDefinition\"></vl-cms-preview>\n </ng-container>\n </ng-template>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { LoaderModule } from '@veloceapps/components';\nimport { PreviewModule } from '@veloceapps/sdk/cms';\nimport { CatalogComponent } from './catalog.component';\n\n@NgModule({\n declarations: [CatalogComponent],\n imports: [CommonModule, PreviewModule, LoaderModule],\n exports: [CatalogComponent],\n})\nexport class CatalogModule {}\n","import { HttpParams } from '@angular/common/http';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { ActivatedRoute, Params, Router } from '@angular/router';\nimport { FlowsApiService } from '@veloceapps/api';\nimport { Flow } from '@veloceapps/core';\nimport { QuoteDraftService } from '@veloceapps/sdk/core';\nimport { Observable, shareReplay } from 'rxjs';\n\n@Component({\n selector: 'vl-flow-debug',\n templateUrl: './debug.component.html',\n styleUrls: ['./debug.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DebugComponent {\n public form = new FormGroup({\n id: new FormControl(''),\n });\n\n public selectedFlow?: Flow;\n public flows$: Observable<Flow[]>;\n\n constructor(\n private flowsApiService: FlowsApiService,\n private router: Router,\n private activatedRoute: ActivatedRoute,\n private quoteDraftService: QuoteDraftService,\n ) {\n this.flows$ = this.flowsApiService.fetchFlows().pipe(shareReplay());\n }\n\n public runFlow(): void {\n const { id } = this.form.value;\n if (!id || !this.selectedFlow) {\n return;\n }\n\n // Delete context before starting a new flow\n this.quoteDraftService.reset();\n\n this.router.navigate(['..', 'flows'], {\n queryParams: {\n flowId: this.selectedFlow.id,\n headerId: id,\n ...this.selectedFlow.properties.queryParams,\n },\n relativeTo: this.activatedRoute,\n });\n }\n\n public getQueryParamsString(params: Params): string {\n return new HttpParams({ fromObject: params }).toString();\n }\n}\n","<form [formGroup]=\"form\">\n <div class=\"fields-container\">\n <div class=\"field\">\n <label>SF Object ID</label>\n <input formControlName=\"id\" pInputText type=\"text\" />\n </div>\n </div>\n\n <p-button\n styleClass=\"p-button-primary\"\n label=\"Run Flow\"\n [disabled]=\"!form.value.id || !selectedFlow\"\n (onClick)=\"runFlow()\"\n ></p-button>\n</form>\n\n<table>\n <thead>\n <tr>\n <th [width]=\"30\"></th>\n <th [width]=\"160\">ID</th>\n <th [width]=\"160\">Entry Path</th>\n <th>QueryParams</th>\n <th [width]=\"100\">Standalone</th>\n <th [width]=\"100\">Stateful</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let flow of flows$ | async\" (click)=\"selectedFlow = flow\">\n <td><p-radioButton [inputId]=\"flow.id\" name=\"flow\" [value]=\"flow\" [(ngModel)]=\"selectedFlow\"></p-radioButton></td>\n <td>{{ flow.id }}</td>\n <td>{{ flow.properties.entryPath }}</td>\n <td class=\"cell-query-params\">{{ getQueryParamsString(flow.properties.queryParams) }}</td>\n <td>{{ flow.properties.standalone }}</td>\n <td>{{ flow.properties.stateful }}</td>\n </tr>\n </tbody>\n</table>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule, Routes } from '@angular/router';\nimport { ButtonModule } from 'primeng/button';\nimport { DropdownModule } from 'primeng/dropdown';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { RadioButtonModule } from 'primeng/radiobutton';\nimport { DebugComponent } from './debug.component';\n\nconst routes: Routes = [{ path: '', component: DebugComponent }];\n\n@NgModule({\n declarations: [DebugComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule.forChild(routes),\n RadioButtonModule,\n ButtonModule,\n InputTextModule,\n DropdownModule,\n ],\n})\nexport class DebugModule {}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { UIDefinitionContainer } from '@veloceapps/core';\nimport { CMSPreviewConfig } from '@veloceapps/sdk/cms';\nimport { ConfigurationStateService } from '@veloceapps/sdk/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\n@Component({\n selector: 'vl-flow-product',\n templateUrl: './product.component.html',\n styleUrls: ['./product.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ProductComponent {\n public config: CMSPreviewConfig;\n public uiDefinitionContainer$ = new BehaviorSubject<UIDefinitionContainer | null>(null);\n\n constructor(private route: ActivatedRoute, private configurationStateService: ConfigurationStateService) {\n const uiDefContainer = this.route.snapshot.data['uiDef'];\n this.uiDefinitionContainer$.next(uiDefContainer);\n\n this.config = {\n init$: () => this.init$(),\n };\n }\n\n private init$(): Observable<void> {\n return this.configurationStateService.init$();\n }\n}\n","<vl-cms-preview [uiDefinition]=\"(uiDefinitionContainer$ | async)?.source\" [config]=\"config\"></vl-cms-preview>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { LetDirectiveModule, LoaderModule } from '@veloceapps/components';\nimport { PreviewModule } from '@veloceapps/sdk/cms';\nimport { ProductComponent } from './product.component';\n\n@NgModule({\n declarations: [ProductComponent],\n imports: [CommonModule, PreviewModule, LoaderModule, LetDirectiveModule],\n exports: [ProductComponent],\n})\nexport class ProductModule {}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\n@Component({\n selector: 'vl-flow-record-not-found',\n templateUrl: './record-not-found.component.html',\n styleUrls: ['./record-not-found.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class RecordNotFoundComponent {\n public message: string;\n public subMessage = '';\n public type = '';\n public details: string[];\n\n constructor(private router: Router, private route: ActivatedRoute) {\n const navigation = this.router.getCurrentNavigation();\n const { state } = navigation?.extras || {};\n\n this.message = state?.['message'];\n this.type = state?.['type'] || '';\n this.details = state?.['details'];\n if (typeof this.message === 'string') {\n this.subMessage = this.message.includes('/describe') ? 'A potential problem with permissions' : '';\n }\n }\n}\n","<div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"message-wrapper\">\n <div *ngIf=\"message; else defaultMessage\">\n <p class=\"text message-text\" [class]=\"type\">{{ message }}</p>\n\n <p *ngIf=\"subMessage\" class=\"text\">{{ subMessage }}</p>\n\n <div *ngIf=\"details && details.length > 0\">\n <div *ngFor=\"let detail of details\" class=\"text\">{{ detail }}</div>\n </div>\n </div>\n\n <ng-template #defaultMessage>Record not found</ng-template>\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { RecordNotFoundComponent } from './record-not-found.component';\n\nconst routes: Routes = [{ path: '', component: RecordNotFoundComponent }];\n\n@NgModule({\n declarations: [RecordNotFoundComponent],\n imports: [CommonModule, RouterModule.forChild(routes)],\n})\nexport class RecordNotFoundModule {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n OnDestroy,\n OnInit,\n Optional,\n} from '@angular/core';\nimport { UITemplatesApiService } from '@veloceapps/api/v2';\nimport { ToastService, ToastType } from '@veloceapps/components';\nimport { ComponentAttachments, UIDefinition } from '@veloceapps/core';\nimport { btoaSafe } from '@veloceapps/sdk/cms';\nimport { FlowCustomization, FlowInfoService, FLOW_CUSTOMIZATION } from '@veloceapps/sdk/core';\nimport { BehaviorSubject, catchError, map, Observable, of, Subject, switchMap, takeUntil, tap } from 'rxjs';\n\ninterface State {\n loading: boolean;\n failure: boolean;\n}\n\n@Component({\n selector: 'vl-flow-shopping-cart',\n templateUrl: './shopping-cart.component.html',\n styleUrls: ['./shopping-cart.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ShoppingCartComponent implements OnInit, OnDestroy {\n public uiDefinition?: UIDefinition = undefined;\n public state$ = new BehaviorSubject<State>({ loading: true, failure: false });\n\n private templateApiName = '';\n private destroyed$ = new Subject<void>();\n\n constructor(\n private templatesApi: UITemplatesApiService,\n private cdr: ChangeDetectorRef,\n private toastService: ToastService,\n private flowInfo: FlowInfoService,\n @Optional() @Inject(FLOW_CUSTOMIZATION) private customizationService?: FlowCustomization,\n ) {\n this.templateApiName = this.flowInfo.flow?.properties.templates?.shoppingCart ?? '';\n }\n\n public ngOnInit(): void {\n this.generateUIDefinition$()\n .pipe(\n tap(uiDef => {\n if (!uiDef) {\n throw new Error(`Component with name '${this.templateApiName}' not found.`);\n }\n\n this.uiDefinition = uiDef;\n this.state$.next({ loading: false, failure: false });\n }),\n catchError(err => {\n const message = 'Failed to resolve Shopping Cart component. ' + (err.message ?? '');\n this.toastService.add({ severity: ToastType.error, summary: message, sticky: true });\n\n this.uiDefinition = undefined;\n this.state$.next({ loading: false, failure: true });\n return of();\n }),\n takeUntil(this.destroyed$),\n )\n .subscribe(() => this.cdr.detectChanges());\n }\n\n public ngOnDestroy(): void {\n this.destroyed$.next();\n this.destroyed$.complete();\n }\n\n private getLocalMeta$(): Observable<ComponentAttachments[] | undefined> {\n if (!this.customizationService?.getTemplateComponents) {\n return of(undefined);\n }\n\n return this.customizationService?.getTemplateComponents(this.templateApiName).pipe(\n map(components => {\n if (!components) {\n return;\n }\n\n return components.map<ComponentAttachments>(component => ({\n html: component.html,\n css: component.css,\n js: component.js,\n json: component.json,\n }));\n }),\n );\n }\n\n private getOrgMeta$(): Observable<ComponentAttachments[] | undefined> {\n const template = this.flowInfo.templates.SHOPPING_CART;\n if (!template) {\n return of(undefined);\n }\n\n return this.templatesApi.fetchComponentsAttachments$(template.id);\n }\n\n private generateUIDefinition$(): Observable<UIDefinition | undefined> {\n return of(undefined).pipe(\n tap(() => {\n if (!this.templateApiName) {\n throw new Error(\"Flow 'shoppingCart' template is not defined.\");\n }\n }),\n switchMap(() => this.getLocalMeta$()),\n switchMap(metaList => (metaList ? of(metaList) : this.getOrgMeta$())),\n map(metaList => {\n if (!metaList) {\n return;\n }\n\n const uiDef: UIDefinition = {\n name: '',\n createdTimestamp: 0,\n primary: true,\n type: 'DEFAULT',\n version: 2,\n children: metaList.map(meta => ({\n children: [],\n template: meta.html && btoaSafe(meta.html),\n script: meta.js && btoaSafe(meta.js),\n styles: meta.css && btoaSafe(meta.css),\n })),\n };\n\n return uiDef;\n }),\n );\n }\n}\n","<ng-container *ngIf=\"state$ | async as state\">\n <vl-loader *ngIf=\"state.loading; else content\" [label]=\"'Loading UI'\"></vl-loader>\n\n <ng-template #content>\n <ng-container *ngIf=\"!state.failure\">\n <vl-cms-preview [uiDefinition]=\"uiDefinition\"></vl-cms-preview>\n </ng-container>\n </ng-template>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { LoaderModule } from '@veloceapps/components';\nimport { PreviewModule } from '@veloceapps/sdk/cms';\nimport { ShoppingCartComponent } from './shopping-cart.component';\n\n@NgModule({\n declarations: [ShoppingCartComponent],\n imports: [CommonModule, PreviewModule, LoaderModule],\n exports: [ShoppingCartComponent],\n})\nexport class ShoppingCartModule {}\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router } from '@angular/router';\nimport { extractErrorDetails, isVeloceError } from '@veloceapps/core';\nimport { FlowInfoService } from '@veloceapps/sdk/core';\nimport { from, Observable, of } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { FlowRouterService } from '../services/flow-router.service';\n\n@Injectable()\nexport class FlowResolver {\n constructor(\n private router: Router,\n private routerService: FlowRouterService,\n private flowInfoService: FlowInfoService,\n ) {}\n\n public resolve(route: ActivatedRouteSnapshot): Observable<boolean> {\n if (!this.flowInfoService.isFlowInitialized) {\n return of(false);\n }\n\n const { queryParams } = route;\n const { properties } = this.flowInfoService.flow;\n const { queryParams: flowQueryParams, entryPath } = properties;\n const mergedQueryParams = {\n ...queryParams,\n ...flowQueryParams,\n };\n\n const parentUrl = this.routerService.getFlowRootPath(route);\n const entryUrl = String(entryPath ?? '')\n .split('/')\n .filter(Boolean);\n\n return from(\n this.router.navigate([parentUrl, ...entryUrl], {\n queryParams: mergedQueryParams,\n replaceUrl: true,\n }),\n ).pipe(\n catchError(e => {\n console.error(e);\n const message = e instanceof HttpErrorResponse ? e.error.message : e;\n const errorDetails = isVeloceError(e.error) ? extractErrorDetails(e.error) : [];\n return this.routerService.showErrorPage$(message, errorDetails);\n }),\n );\n }\n}\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router } from '@angular/router';\nimport { ConfigurationContextMode, extractErrorDetails, isVeloceError, UITemplateType } from '@veloceapps/core';\nimport { FlowInfoService, FlowStateService, QuoteDraftService } from '@veloceapps/sdk/core';\n\nimport { catchError, from, map, Observable, of, switchMap } from 'rxjs';\nimport { FlowRouterService } from '../services/flow-router.service';\n\n@Injectable()\nexport class QuoteResolver {\n constructor(\n private router: Router,\n private quoteDraftService: QuoteDraftService,\n private routerService: FlowRouterService,\n private flowInfoService: FlowInfoService,\n private flowStateService: FlowStateService,\n ) {}\n\n public resolve(route: ActivatedRouteSnapshot): Observable<boolean> {\n const flow = this.flowInfoService.flow;\n if (!flow) {\n return of(false);\n }\n\n if (this.flowStateService.isInitialized()) {\n return of(true);\n }\n\n return this.flowStateService.init$().pipe(\n switchMap(() => this.checkDynamicNavigation$(route)),\n catchError(e => {\n console.error(e);\n const message = e instanceof HttpErrorResponse ? e.error.message : e;\n const errorDetails = isVeloceError(e.error) ? extractErrorDetails(e.error) : [];\n return this.routerService.showErrorPage$(message, errorDetails);\n }),\n );\n }\n\n private checkDynamicNavigation$(route: ActivatedRouteSnapshot): Observable<boolean> {\n const flow = this.flowInfoService.flow;\n if (!flow) {\n return of(true);\n }\n\n if (flow.properties.suppressInitialNavigation || flow.properties.standalone) {\n return of(true);\n }\n\n return this.getNavigateTo().pipe(\n switchMap(navigateTo => {\n if (!navigateTo) {\n return of(true);\n }\n\n const parentUrl = this.routerService.getFlowRootPath(route);\n\n return from(\n this.router.navigate([parentUrl + navigateTo], {\n queryParams: route.queryParams,\n replaceUrl: true,\n }),\n );\n }),\n );\n }\n\n private getNavigateTo(): Observable<string | undefined> {\n const flow = this.flowInfoService.flow;\n let navigateTo: string | undefined;\n if (flow?.properties.stateful) {\n return this.flowStateService.select$<string>(UITemplateType.FLOW_ENGINE, 'NAVIGATE_TO').pipe(\n map(r => {\n if (r.success) {\n return r.result;\n }\n return '';\n }),\n );\n } else {\n const isAccountMode = this.flowInfoService.context.mode === ConfigurationContextMode.ACCOUNT;\n if (isAccountMode || this.quoteDraftService.hasAssets) {\n navigateTo = '/assets';\n } else if (this.quoteDraftService.hasProducts) {\n navigateTo = '/cart';\n }\n }\n\n return of(navigateTo);\n }\n}\n","import { inject } from '@angular/core';\nimport { ResolveFn } from '@angular/router';\nimport { UIDefinitionsApiService } from '@veloceapps/api/v2';\nimport { UIDefinitionContainer } from '@veloceapps/core';\nimport { FlowInfoService, FLOW_CUSTOMIZATION } from '@veloceapps/sdk/core';\nimport { map, of, switchMap } from 'rxjs';\n\nexport const resolveUIDefinition: ResolveFn<UIDefinitionContainer> = () => {\n const customizationService = inject(FLOW_CUSTOMIZATION, { optional: true });\n const flowInfoService = inject(FlowInfoService);\n const uiDefinitionsApiService = inject(UIDefinitionsApiService);\n\n const { productId } = flowInfoService.context;\n if (!productId) {\n throw new Error(`Unable to start configuration for 'productId == null'`);\n }\n\n return of(undefined).pipe(\n switchMap(() => {\n // Try resolving via customization service\n if (!productId || !customizationService?.getUiDefinition) {\n return of(undefined);\n }\n\n return customizationService.getUiDefinition(productId);\n }),\n switchMap(uiDefContainer => {\n // Resolve UIDefinition from the org\n if (uiDefContainer) {\n return of(uiDefContainer);\n }\n\n if (flowInfoService.context.requiredUIDefinitionId) {\n return uiDefinitionsApiService.fetchUIDefinition$(flowInfoService.context.requiredUIDefinitionId);\n }\n\n return uiDefinitionsApiService\n .fetchUIDefinitions$({\n productId,\n defaultUIDefinitionId: flowInfoService.context.defaultUIDefinitionId,\n })\n .pipe(\n map((uiDefinitionContainers: UIDefinitionContainer[]) => {\n const uiDefContainer = uiDefinitionContainers[0];\n if (!uiDefContainer) {\n throw new Error(`UI Definition for productId=${productId} is not resolved`);\n }\n\n return uiDefContainer;\n }),\n );\n }),\n );\n};\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { VELOCE_FLOW_ROOT_ROUTE } from './constants';\nimport { FlowComponent } from './flow.component';\nimport { keepFlowInitialized } from './guards/flow.guard';\nimport { ProductUnloadGuard } from './guards/product-unload.guard';\nimport { RootGuard } from './guards/root.guard';\nimport { AssetsComponent } from './pages/assets/assets.component';\nimport { AssetsModule } from './pages/assets/assets.module';\nimport { CatalogComponent } from './pages/catalog/catalog.component';\nimport { CatalogModule } from './pages/catalog/catalog.module';\nimport { DebugModule } from './pages/debug/debug.module';\nimport { ProductComponent } from './pages/product/product.component';\nimport { ProductModule } from './pages/product/product.module';\nimport { RecordNotFoundModule } from './pages/record-not-found/record-not-found.module';\nimport { ShoppingCartComponent } from './pages/shopping-cart/shopping-cart.component';\nimport { ShoppingCartModule } from './pages/shopping-cart/shopping-cart.module';\nimport { FlowResolver } from './resolvers/flow.resolver';\nimport { QuoteResolver } from './resolvers/quote.resolver';\nimport { resolveUIDefinition } from './resolvers/ui-definition.resolver';\nimport { FlowRouterService } from './services/flow-router.service';\nimport { RouteWithId } from './types/route.types';\n\nconst rootRoute: RouteWithId = {\n id: VELOCE_FLOW_ROOT_ROUTE,\n path: '',\n component: FlowComponent,\n canActivate: [RootGuard],\n canDeactivate: [RootGuard],\n children: [\n {\n path: '',\n canActivate: [keepFlowInitialized],\n runGuardsAndResolvers: 'always',\n children: [\n {\n path: 'flows',\n runGuardsAndResolvers: 'paramsOrQueryParamsChange',\n resolve: { flow: FlowResolver },\n children: [],\n },\n {\n path: 'product',\n component: ProductComponent,\n runGuardsAndResolvers: 'paramsOrQueryParamsChange',\n resolve: { quote: QuoteResolver, uiDef: resolveUIDefinition },\n canDeactivate: [ProductUnloadGuard],\n data: { showHeader: true },\n },\n {\n path: 'cart',\n component: ShoppingCartComponent,\n runGuardsAndResolvers: 'paramsOrQueryParamsChange',\n resolve: { quote: QuoteResolver },\n data: { showHeader: true },\n },\n {\n path: 'catalog',\n component: CatalogComponent,\n runGuardsAndResolvers: 'paramsOrQueryParamsChange',\n resolve: { quote: QuoteResolver },\n data: { showHeader: true },\n },\n {\n path: 'assets',\n component: AssetsComponent,\n runGuardsAndResolvers: 'paramsOrQueryParamsChange',\n resolve: { quote: QuoteResolver },\n data: { showHeader: true },\n },\n {\n path: 'debug',\n loadChildren: () => DebugModule,\n },\n {\n path: '404',\n loadChildren: () => RecordNotFoundModule,\n },\n ],\n },\n ],\n};\n\n@NgModule({\n imports: [RouterModule.forChild([rootRoute]), ProductModule, ShoppingCartModule, CatalogModule, AssetsModule],\n exports: [RouterModule],\n providers: [FlowRouterService, RootGuard, ProductUnloadGuard, FlowResolver, QuoteResolver],\n})\nexport class FlowRoutingModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ApiModule } from '@veloceapps/api';\nimport { LetDirectiveModule, LoaderModule } from '@veloceapps/components';\nimport { LauncherModule } from '@veloceapps/sdk/cms';\nimport { SdkCoreModule } from '@veloceapps/sdk/core';\nimport { FlowDialogModule } from './components/dialog/dialog.module';\nimport { FlowNewHeaderModule } from './components/flow-header';\nimport { GuidedSellingModule } from './components/guided-selling/guided-selling.module';\nimport { configurePrimengShadowDOM } from './configure-primeng';\nimport { FlowRoutingModule } from './flow-routing.module';\nimport { FlowComponent } from './flow.component';\nimport { FlowService } from './services';\nimport { FlowDialogService } from './services/flow-dialog.service';\nimport { FlowGuidedSellingService } from './services/guided-selling.service';\n\nconfigurePrimengShadowDOM();\n\n@NgModule({\n declarations: [FlowComponent],\n imports: [\n CommonModule,\n LetDirectiveModule,\n FlowRoutingModule,\n ApiModule,\n LauncherModule,\n LoaderModule,\n FlowNewHeaderModule,\n FlowDialogModule,\n SdkCoreModule,\n GuidedSellingModule,\n ],\n providers: [FlowService, FlowDialogService, FlowGuidedSellingService],\n})\nexport class FlowModule {}\n","import { SalesforceIdUtils } from '@veloceapps/core';\n\nexport const getFlowObjectIdPropertyName = (id: string): string => {\n const objectName = SalesforceIdUtils.getSfObjectNameById(id);\n\n switch (objectName) {\n case 'Account':\n return 'accountId';\n case 'Order':\n return 'orderId';\n case 'Quote':\n default:\n return 'quoteId';\n }\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i1","i2.FlowRouterService","i3","i4.FlowDialogService","i1.FlowRouterService","i2.FlowService","i4.FlowGuidedSellingService","i5","i6","i7","i8.FlowHeaderComponent","i9.GuidedSellingComponent","i3.FlowDialogService","routes","catchError","i3.FlowRouterService"],"mappings":"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"}