@veloceapps/sdk 11.0.0-30 → 11.0.0-31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,4 @@
1
1
  export * from './services/configuration-runtime.service';
2
2
  export * from './services/configuration-state.service';
3
3
  export * from './services/configuration.service';
4
+ export * from './services/test-mode-configuration.service';
@@ -0,0 +1,20 @@
1
+ import { UIDefinitionContainer } from '@veloceapps/core';
2
+ import { Observable } from 'rxjs';
3
+ import { FlowInfoService, SalesTransactionService } from '../../../services';
4
+ import { ConfigurationRuntimeService } from './configuration-runtime.service';
5
+ import { ConfigurationService } from './configuration.service';
6
+ import * as i0 from "@angular/core";
7
+ export declare class TestModeConfigurationService {
8
+ private flowInfoService;
9
+ private configurationService;
10
+ private configurationRuntimeService;
11
+ private salesTransactionService;
12
+ private isInitialized;
13
+ private pcmModel?;
14
+ constructor(flowInfoService: FlowInfoService, configurationService: ConfigurationService, configurationRuntimeService: ConfigurationRuntimeService, salesTransactionService: SalesTransactionService);
15
+ initTestMode$(uiDefinitionContainer: UIDefinitionContainer): Observable<void>;
16
+ private getTestSalesTransaction;
17
+ private checkInitialized;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<TestModeConfigurationService, never>;
19
+ static ɵprov: i0.ɵɵInjectableDeclaration<TestModeConfigurationService>;
20
+ }
@@ -4,17 +4,28 @@ import { ConfirmationDialogModule } from '@veloceapps/components';
4
4
  import { ConfigurationRuntimeService } from './services/configuration-runtime.service';
5
5
  import { ConfigurationStateService } from './services/configuration-state.service';
6
6
  import { ConfigurationService } from './services/configuration.service';
7
+ import { TestModeConfigurationService } from './services/test-mode-configuration.service';
7
8
  import * as i0 from "@angular/core";
8
9
  export class ConfigurationModule {
9
10
  }
10
11
  ConfigurationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
12
  ConfigurationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationModule, imports: [ConfirmationDialogModule, ApiModule] });
12
- ConfigurationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationModule, providers: [ConfigurationService, ConfigurationStateService, ConfigurationRuntimeService], imports: [ConfirmationDialogModule, ApiModule] });
13
+ ConfigurationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationModule, providers: [
14
+ ConfigurationService,
15
+ ConfigurationStateService,
16
+ ConfigurationRuntimeService,
17
+ TestModeConfigurationService,
18
+ ], imports: [ConfirmationDialogModule, ApiModule] });
13
19
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationModule, decorators: [{
14
20
  type: NgModule,
15
21
  args: [{
16
22
  imports: [ConfirmationDialogModule, ApiModule],
17
- providers: [ConfigurationService, ConfigurationStateService, ConfigurationRuntimeService],
23
+ providers: [
24
+ ConfigurationService,
25
+ ConfigurationStateService,
26
+ ConfigurationRuntimeService,
27
+ TestModeConfigurationService,
28
+ ],
18
29
  }]
19
30
  }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL21vZHVsZXMvY29uZmlndXJhdGlvbi9jb25maWd1cmF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN2RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFNeEUsTUFBTSxPQUFPLG1CQUFtQjs7Z0hBQW5CLG1CQUFtQjtpSEFBbkIsbUJBQW1CLFlBSHBCLHdCQUF3QixFQUFFLFNBQVM7aUhBR2xDLG1CQUFtQixhQUZuQixDQUFDLG9CQUFvQixFQUFFLHlCQUF5QixFQUFFLDJCQUEyQixDQUFDLFlBRC9FLHdCQUF3QixFQUFFLFNBQVM7MkZBR2xDLG1CQUFtQjtrQkFKL0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsRUFBRSxTQUFTLENBQUM7b0JBQzlDLFNBQVMsRUFBRSxDQUFDLG9CQUFvQixFQUFFLHlCQUF5QixFQUFFLDJCQUEyQixDQUFDO2lCQUMxRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcGlNb2R1bGUgfSBmcm9tICdAdmVsb2NlYXBwcy9hcGknO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uRGlhbG9nTW9kdWxlIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2NvbmZpZ3VyYXRpb24tcnVudGltZS5zZXJ2aWNlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25TdGF0ZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2NvbmZpZ3VyYXRpb24tc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbmZpcm1hdGlvbkRpYWxvZ01vZHVsZSwgQXBpTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbQ29uZmlndXJhdGlvblNlcnZpY2UsIENvbmZpZ3VyYXRpb25TdGF0ZVNlcnZpY2UsIENvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25Nb2R1bGUge31cbiJdfQ==
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL21vZHVsZXMvY29uZmlndXJhdGlvbi9jb25maWd1cmF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN2RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7QUFXMUYsTUFBTSxPQUFPLG1CQUFtQjs7Z0hBQW5CLG1CQUFtQjtpSEFBbkIsbUJBQW1CLFlBUnBCLHdCQUF3QixFQUFFLFNBQVM7aUhBUWxDLG1CQUFtQixhQVBuQjtRQUNULG9CQUFvQjtRQUNwQix5QkFBeUI7UUFDekIsMkJBQTJCO1FBQzNCLDRCQUE0QjtLQUM3QixZQU5TLHdCQUF3QixFQUFFLFNBQVM7MkZBUWxDLG1CQUFtQjtrQkFUL0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsRUFBRSxTQUFTLENBQUM7b0JBQzlDLFNBQVMsRUFBRTt3QkFDVCxvQkFBb0I7d0JBQ3BCLHlCQUF5Qjt3QkFDekIsMkJBQTJCO3dCQUMzQiw0QkFBNEI7cUJBQzdCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFwaU1vZHVsZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2FwaSc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25EaWFsb2dNb2R1bGUgfSBmcm9tICdAdmVsb2NlYXBwcy9jb21wb25lbnRzJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvY29uZmlndXJhdGlvbi1ydW50aW1lLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblN0YXRlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvY29uZmlndXJhdGlvbi1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGVzdE1vZGVDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdGVzdC1tb2RlLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb25maXJtYXRpb25EaWFsb2dNb2R1bGUsIEFwaU1vZHVsZV0sXG4gIHByb3ZpZGVyczogW1xuICAgIENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICAgIENvbmZpZ3VyYXRpb25TdGF0ZVNlcnZpY2UsXG4gICAgQ29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlLFxuICAgIFRlc3RNb2RlQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25Nb2R1bGUge31cbiJdfQ==
@@ -1,4 +1,5 @@
1
1
  export * from './services/configuration-runtime.service';
2
2
  export * from './services/configuration-state.service';
3
3
  export * from './services/configuration.service';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL21vZHVsZXMvY29uZmlndXJhdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxrQ0FBa0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvY29uZmlndXJhdGlvbi1ydW50aW1lLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9jb25maWd1cmF0aW9uLXN0YXRlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuIl19
4
+ export * from './services/test-mode-configuration.service';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL21vZHVsZXMvY29uZmlndXJhdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDRDQUE0QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9jb25maWd1cmF0aW9uLXJ1bnRpbWUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2NvbmZpZ3VyYXRpb24tc3RhdGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2NvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL3Rlc3QtbW9kZS1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuIl19
@@ -0,0 +1,53 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { map, noop, of, switchMap, tap, throwError } from 'rxjs';
3
+ import { FlowInfoService, SalesTransactionService } from '../../../services';
4
+ import { ConfigurationRuntimeService } from './configuration-runtime.service';
5
+ import { ConfigurationService } from './configuration.service';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../../services";
8
+ import * as i2 from "./configuration.service";
9
+ import * as i3 from "./configuration-runtime.service";
10
+ export class TestModeConfigurationService {
11
+ constructor(flowInfoService, configurationService, configurationRuntimeService, salesTransactionService) {
12
+ this.flowInfoService = flowInfoService;
13
+ this.configurationService = configurationService;
14
+ this.configurationRuntimeService = configurationRuntimeService;
15
+ this.salesTransactionService = salesTransactionService;
16
+ this.isInitialized = false;
17
+ }
18
+ initTestMode$(uiDefinitionContainer) {
19
+ this.configurationRuntimeService.uiDefinitionContainer = uiDefinitionContainer;
20
+ if (this.checkInitialized(uiDefinitionContainer)) {
21
+ this.configurationRuntimeService.pcmModel = this.pcmModel;
22
+ return of(undefined);
23
+ }
24
+ this.configurationService.reset();
25
+ const { productId, quoteId } = uiDefinitionContainer.source.properties ?? {};
26
+ if (!productId) {
27
+ return throwError(() => 'Unable to start the Configuration Preview: Product is missing.');
28
+ }
29
+ if (!quoteId) {
30
+ return throwError(() => `Unable to start the Configuration Preview: Quote is missing.`);
31
+ }
32
+ return this.flowInfoService.initTestFlow$(productId).pipe(switchMap(() => this.configurationRuntimeService.init$({ productId })), tap(pcmModel => (this.pcmModel = pcmModel)), tap(() => this.salesTransactionService.setState(this.getTestSalesTransaction(quoteId))), switchMap(() => this.configurationService.init$()), switchMap(() => this.configurationService.state
33
+ ? this.configurationService.configureRequest$(this.configurationService.state)
34
+ : of(undefined)), tap(() => (this.isInitialized = true)), map(noop));
35
+ }
36
+ getTestSalesTransaction(quoteId) {
37
+ const testTransaction = {
38
+ id: quoteId,
39
+ businessObjectType: 'Quote',
40
+ salesTransactionItems: [],
41
+ };
42
+ return testTransaction;
43
+ }
44
+ checkInitialized(uiDefinitionContainer) {
45
+ return this.isInitialized && !!uiDefinitionContainer.source.properties?.persistTestState;
46
+ }
47
+ }
48
+ TestModeConfigurationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TestModeConfigurationService, deps: [{ token: i1.FlowInfoService }, { token: i2.ConfigurationService }, { token: i3.ConfigurationRuntimeService }, { token: i1.SalesTransactionService }], target: i0.ɵɵFactoryTarget.Injectable });
49
+ TestModeConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TestModeConfigurationService });
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TestModeConfigurationService, decorators: [{
51
+ type: Injectable
52
+ }], ctorParameters: function () { return [{ type: i1.FlowInfoService }, { type: i2.ConfigurationService }, { type: i3.ConfigurationRuntimeService }, { type: i1.SalesTransactionService }]; } });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1tb2RlLWNvbmZpZ3VyYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2NvcmUvbW9kdWxlcy9jb25maWd1cmF0aW9uL3NlcnZpY2VzL3Rlc3QtbW9kZS1jb25maWd1cmF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBYyxFQUFFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzdFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7OztBQUcvRCxNQUFNLE9BQU8sNEJBQTRCO0lBSXZDLFlBQ1UsZUFBZ0MsRUFDaEMsb0JBQTBDLEVBQzFDLDJCQUF3RCxFQUN4RCx1QkFBZ0Q7UUFIaEQsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsZ0NBQTJCLEdBQTNCLDJCQUEyQixDQUE2QjtRQUN4RCw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBUGxELGtCQUFhLEdBQUcsS0FBSyxDQUFDO0lBUTNCLENBQUM7SUFFRyxhQUFhLENBQUMscUJBQTRDO1FBQy9ELElBQUksQ0FBQywyQkFBMkIsQ0FBQyxxQkFBcUIsR0FBRyxxQkFBcUIsQ0FBQztRQUUvRSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFO1lBQ2hELElBQUksQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUMxRCxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN0QjtRQUNELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUVsQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxHQUFHLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO1FBRTdFLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDZCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnRUFBZ0UsQ0FBQyxDQUFDO1NBQzNGO1FBQ0QsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNaLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDhEQUE4RCxDQUFDLENBQUM7U0FDekY7UUFFRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FDdkQsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQ3RFLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsQ0FBQyxFQUMzQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUN2RixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxDQUFDLEVBQ2xELFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FDYixJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSztZQUM3QixDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUM7WUFDOUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FDbEIsRUFDRCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxDQUFDLEVBQ3RDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FDVixDQUFDO0lBQ0osQ0FBQztJQUVPLHVCQUF1QixDQUFDLE9BQWU7UUFDN0MsTUFBTSxlQUFlLEdBQUc7WUFDdEIsRUFBRSxFQUFFLE9BQU87WUFDWCxrQkFBa0IsRUFBRSxPQUFPO1lBQzNCLHFCQUFxQixFQUFFLEVBQTRCO1NBQ2hDLENBQUM7UUFFdEIsT0FBTyxlQUFlLENBQUM7SUFDekIsQ0FBQztJQUVPLGdCQUFnQixDQUFDLHFCQUE0QztRQUNuRSxPQUFPLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsZ0JBQWdCLENBQUM7SUFDM0YsQ0FBQzs7eUhBeERVLDRCQUE0Qjs2SEFBNUIsNEJBQTRCOzJGQUE1Qiw0QkFBNEI7a0JBRHhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQQ01Nb2RlbCwgU2FsZXNUcmFuc2FjdGlvbiwgU2FsZXNUcmFuc2FjdGlvbkl0ZW0sIFVJRGVmaW5pdGlvbkNvbnRhaW5lciB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgbWFwLCBub29wLCBPYnNlcnZhYmxlLCBvZiwgc3dpdGNoTWFwLCB0YXAsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZsb3dJbmZvU2VydmljZSwgU2FsZXNUcmFuc2FjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24tcnVudGltZS5zZXJ2aWNlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGVzdE1vZGVDb25maWd1cmF0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgaXNJbml0aWFsaXplZCA9IGZhbHNlO1xuICBwcml2YXRlIHBjbU1vZGVsPzogUENNTW9kZWw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmbG93SW5mb1NlcnZpY2U6IEZsb3dJbmZvU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25TZXJ2aWNlOiBDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZTogQ29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2FsZXNUcmFuc2FjdGlvblNlcnZpY2U6IFNhbGVzVHJhbnNhY3Rpb25TZXJ2aWNlLFxuICApIHt9XG5cbiAgcHVibGljIGluaXRUZXN0TW9kZSQodWlEZWZpbml0aW9uQ29udGFpbmVyOiBVSURlZmluaXRpb25Db250YWluZXIpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICB0aGlzLmNvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZS51aURlZmluaXRpb25Db250YWluZXIgPSB1aURlZmluaXRpb25Db250YWluZXI7XG5cbiAgICBpZiAodGhpcy5jaGVja0luaXRpYWxpemVkKHVpRGVmaW5pdGlvbkNvbnRhaW5lcikpIHtcbiAgICAgIHRoaXMuY29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlLnBjbU1vZGVsID0gdGhpcy5wY21Nb2RlbDtcbiAgICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICAgIH1cbiAgICB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLnJlc2V0KCk7XG5cbiAgICBjb25zdCB7IHByb2R1Y3RJZCwgcXVvdGVJZCB9ID0gdWlEZWZpbml0aW9uQ29udGFpbmVyLnNvdXJjZS5wcm9wZXJ0aWVzID8/IHt9O1xuXG4gICAgaWYgKCFwcm9kdWN0SWQpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+ICdVbmFibGUgdG8gc3RhcnQgdGhlIENvbmZpZ3VyYXRpb24gUHJldmlldzogUHJvZHVjdCBpcyBtaXNzaW5nLicpO1xuICAgIH1cbiAgICBpZiAoIXF1b3RlSWQpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGBVbmFibGUgdG8gc3RhcnQgdGhlIENvbmZpZ3VyYXRpb24gUHJldmlldzogUXVvdGUgaXMgbWlzc2luZy5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5mbG93SW5mb1NlcnZpY2UuaW5pdFRlc3RGbG93JChwcm9kdWN0SWQpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5jb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UuaW5pdCQoeyBwcm9kdWN0SWQgfSkpLFxuICAgICAgdGFwKHBjbU1vZGVsID0+ICh0aGlzLnBjbU1vZGVsID0gcGNtTW9kZWwpKSxcbiAgICAgIHRhcCgoKSA9PiB0aGlzLnNhbGVzVHJhbnNhY3Rpb25TZXJ2aWNlLnNldFN0YXRlKHRoaXMuZ2V0VGVzdFNhbGVzVHJhbnNhY3Rpb24ocXVvdGVJZCkpKSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLmluaXQkKCkpLFxuICAgICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2Uuc3RhdGVcbiAgICAgICAgICA/IHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UuY29uZmlndXJlUmVxdWVzdCQodGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5zdGF0ZSlcbiAgICAgICAgICA6IG9mKHVuZGVmaW5lZCksXG4gICAgICApLFxuICAgICAgdGFwKCgpID0+ICh0aGlzLmlzSW5pdGlhbGl6ZWQgPSB0cnVlKSksXG4gICAgICBtYXAobm9vcCksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGVzdFNhbGVzVHJhbnNhY3Rpb24ocXVvdGVJZDogc3RyaW5nKTogU2FsZXNUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgdGVzdFRyYW5zYWN0aW9uID0ge1xuICAgICAgaWQ6IHF1b3RlSWQsXG4gICAgICBidXNpbmVzc09iamVjdFR5cGU6ICdRdW90ZScsXG4gICAgICBzYWxlc1RyYW5zYWN0aW9uSXRlbXM6IFtdIGFzIFNhbGVzVHJhbnNhY3Rpb25JdGVtW10sXG4gICAgfSBhcyBTYWxlc1RyYW5zYWN0aW9uO1xuXG4gICAgcmV0dXJuIHRlc3RUcmFuc2FjdGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tJbml0aWFsaXplZCh1aURlZmluaXRpb25Db250YWluZXI6IFVJRGVmaW5pdGlvbkNvbnRhaW5lcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzSW5pdGlhbGl6ZWQgJiYgISF1aURlZmluaXRpb25Db250YWluZXIuc291cmNlLnByb3BlcnRpZXM/LnBlcnNpc3RUZXN0U3RhdGU7XG4gIH1cbn1cbiJdfQ==
@@ -5,7 +5,7 @@ import * as i3 from '@veloceapps/api';
5
5
  import { ApiModule } from '@veloceapps/api';
6
6
  import * as i6 from '@veloceapps/components';
7
7
  import { ToastType, ConfirmationDialogModule } from '@veloceapps/components';
8
- import { tap, BehaviorSubject, map, switchMap, of, forkJoin, filter, Subject, noop, catchError, throwError, combineLatest, finalize, buffer, debounceTime, share, take, distinctUntilChanged, shareReplay, takeUntil } from 'rxjs';
8
+ import { tap, BehaviorSubject, map, switchMap, of, forkJoin, throwError, noop, filter, Subject, catchError, combineLatest, finalize, buffer, debounceTime, share, take, distinctUntilChanged, shareReplay, takeUntil } from 'rxjs';
9
9
  import * as i1 from '@veloceapps/api/v2';
10
10
  import { flatten, omit, uniqBy, cloneDeep, assign, isEqual } from 'lodash';
11
11
  import { filter as filter$1, map as map$1, catchError as catchError$1, tap as tap$1, finalize as finalize$1 } from 'rxjs/operators';
@@ -365,6 +365,52 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
365
365
  }] }];
366
366
  } });
367
367
 
368
+ class TestModeConfigurationService {
369
+ constructor(flowInfoService, configurationService, configurationRuntimeService, salesTransactionService) {
370
+ this.flowInfoService = flowInfoService;
371
+ this.configurationService = configurationService;
372
+ this.configurationRuntimeService = configurationRuntimeService;
373
+ this.salesTransactionService = salesTransactionService;
374
+ this.isInitialized = false;
375
+ }
376
+ initTestMode$(uiDefinitionContainer) {
377
+ var _a;
378
+ this.configurationRuntimeService.uiDefinitionContainer = uiDefinitionContainer;
379
+ if (this.checkInitialized(uiDefinitionContainer)) {
380
+ this.configurationRuntimeService.pcmModel = this.pcmModel;
381
+ return of(undefined);
382
+ }
383
+ this.configurationService.reset();
384
+ const { productId, quoteId } = (_a = uiDefinitionContainer.source.properties) !== null && _a !== void 0 ? _a : {};
385
+ if (!productId) {
386
+ return throwError(() => 'Unable to start the Configuration Preview: Product is missing.');
387
+ }
388
+ if (!quoteId) {
389
+ return throwError(() => `Unable to start the Configuration Preview: Quote is missing.`);
390
+ }
391
+ return this.flowInfoService.initTestFlow$(productId).pipe(switchMap(() => this.configurationRuntimeService.init$({ productId })), tap(pcmModel => (this.pcmModel = pcmModel)), tap(() => this.salesTransactionService.setState(this.getTestSalesTransaction(quoteId))), switchMap(() => this.configurationService.init$()), switchMap(() => this.configurationService.state
392
+ ? this.configurationService.configureRequest$(this.configurationService.state)
393
+ : of(undefined)), tap(() => (this.isInitialized = true)), map(noop));
394
+ }
395
+ getTestSalesTransaction(quoteId) {
396
+ const testTransaction = {
397
+ id: quoteId,
398
+ businessObjectType: 'Quote',
399
+ salesTransactionItems: [],
400
+ };
401
+ return testTransaction;
402
+ }
403
+ checkInitialized(uiDefinitionContainer) {
404
+ var _a;
405
+ return this.isInitialized && !!((_a = uiDefinitionContainer.source.properties) === null || _a === void 0 ? void 0 : _a.persistTestState);
406
+ }
407
+ }
408
+ TestModeConfigurationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TestModeConfigurationService, deps: [{ token: FlowInfoService }, { token: ConfigurationService }, { token: ConfigurationRuntimeService }, { token: SalesTransactionService }], target: i0.ɵɵFactoryTarget.Injectable });
409
+ TestModeConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TestModeConfigurationService });
410
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TestModeConfigurationService, decorators: [{
411
+ type: Injectable
412
+ }], ctorParameters: function () { return [{ type: FlowInfoService }, { type: ConfigurationService }, { type: ConfigurationRuntimeService }, { type: SalesTransactionService }]; } });
413
+
368
414
  class SalesTransactionService {
369
415
  get isInitialized$() {
370
416
  return this.isInitializedSubj$.asObservable();
@@ -1491,12 +1537,22 @@ class ConfigurationModule {
1491
1537
  }
1492
1538
  ConfigurationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1493
1539
  ConfigurationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationModule, imports: [ConfirmationDialogModule, ApiModule] });
1494
- ConfigurationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationModule, providers: [ConfigurationService, ConfigurationStateService, ConfigurationRuntimeService], imports: [ConfirmationDialogModule, ApiModule] });
1540
+ ConfigurationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationModule, providers: [
1541
+ ConfigurationService,
1542
+ ConfigurationStateService,
1543
+ ConfigurationRuntimeService,
1544
+ TestModeConfigurationService,
1545
+ ], imports: [ConfirmationDialogModule, ApiModule] });
1495
1546
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationModule, decorators: [{
1496
1547
  type: NgModule,
1497
1548
  args: [{
1498
1549
  imports: [ConfirmationDialogModule, ApiModule],
1499
- providers: [ConfigurationService, ConfigurationStateService, ConfigurationRuntimeService],
1550
+ providers: [
1551
+ ConfigurationService,
1552
+ ConfigurationStateService,
1553
+ ConfigurationRuntimeService,
1554
+ TestModeConfigurationService,
1555
+ ],
1500
1556
  }]
1501
1557
  }] });
1502
1558
 
@@ -1761,5 +1817,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
1761
1817
  * Generated bundle index. Do not edit.
1762
1818
  */
1763
1819
 
1764
- export { ActionCodePipe, CalendarDirective, ConfigurationRuntimeService, ConfigurationService, ConfigurationStateService, DEFAULT_FORMATTING_SETTINGS, DatePipe, FLOW_CUSTOMIZATION, FORMATTING_SETTINGS_TOKEN, FlowConfigurationService, FlowInfoService, FlowStateConfigurationService, FlowStateService, IntegrationState, NumberPipe, PricePipe, ProductImagesService, RuntimeSettingsService, SalesTransactionService, SdkCoreModule, SdkDirectivesModule, SdkPipesModule, TransactionItemWorker, UI_DEFINITION_VERSION, extractMetadata, findTransactionItem, findTransactionItemWithComparator, generateTransactionItem, insertTransactionItem, removeTransactionItem, replaceTransactionItem };
1820
+ export { ActionCodePipe, CalendarDirective, ConfigurationRuntimeService, ConfigurationService, ConfigurationStateService, DEFAULT_FORMATTING_SETTINGS, DatePipe, FLOW_CUSTOMIZATION, FORMATTING_SETTINGS_TOKEN, FlowConfigurationService, FlowInfoService, FlowStateConfigurationService, FlowStateService, IntegrationState, NumberPipe, PricePipe, ProductImagesService, RuntimeSettingsService, SalesTransactionService, SdkCoreModule, SdkDirectivesModule, SdkPipesModule, TestModeConfigurationService, TransactionItemWorker, UI_DEFINITION_VERSION, extractMetadata, findTransactionItem, findTransactionItemWithComparator, generateTransactionItem, insertTransactionItem, removeTransactionItem, replaceTransactionItem };
1765
1821
  //# sourceMappingURL=veloceapps-sdk-core.mjs.map