@veloceapps/sdk 11.0.0-26 → 11.0.0-27

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.
@@ -5,9 +5,9 @@ import * as i1 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, throwError, noop, filter as filter$1, Subject, catchError as catchError$1, combineLatest, finalize as finalize$1, buffer, debounceTime, share, take, distinctUntilChanged, shareReplay, takeUntil } from 'rxjs';
8
9
  import * as i4 from '@veloceapps/api/v2';
9
10
  import { uniqBy, flatten, omit, cloneDeep, assign, isEqual } from 'lodash';
10
- import { BehaviorSubject, map, tap, switchMap, of, forkJoin, throwError, noop, filter as filter$1, Subject, catchError as catchError$1, combineLatest, finalize as finalize$1, buffer, debounceTime, share, take, distinctUntilChanged, shareReplay, takeUntil } from 'rxjs';
11
11
  import * as i2 from 'primeng/api';
12
12
  import { filter, map as map$1, catchError, tap as tap$1, finalize } from 'rxjs/operators';
13
13
  import { NgControl } from '@angular/forms';
@@ -15,7 +15,8 @@ import 'primeng/calendar';
15
15
  import { DATE_PIPE_DEFAULT_OPTIONS, formatDate } from '@angular/common';
16
16
 
17
17
  class ConfigurationRuntimeService {
18
- constructor() {
18
+ constructor(pcmApiService) {
19
+ this.pcmApiService = pcmApiService;
19
20
  this.uiDefinitionContainer = null;
20
21
  }
21
22
  get uiDefinitionProps() {
@@ -23,13 +24,19 @@ class ConfigurationRuntimeService {
23
24
  }
24
25
  reset() {
25
26
  this.uiDefinitionContainer = null;
27
+ this.initializationProps = undefined;
28
+ this.pcmModel = undefined;
29
+ }
30
+ init$(props) {
31
+ this.initializationProps = props;
32
+ return this.pcmApiService.fetchPCMByProductId(props.productId).pipe(tap(pcmModel => (this.pcmModel = pcmModel)));
26
33
  }
27
34
  }
28
- ConfigurationRuntimeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationRuntimeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
35
+ ConfigurationRuntimeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationRuntimeService, deps: [{ token: i1.PCMApiService }], target: i0.ɵɵFactoryTarget.Injectable });
29
36
  ConfigurationRuntimeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationRuntimeService });
30
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationRuntimeService, decorators: [{
31
38
  type: Injectable
32
- }] });
39
+ }], ctorParameters: function () { return [{ type: i1.PCMApiService }]; } });
33
40
 
34
41
  const FLOW_CUSTOMIZATION = new InjectionToken('FLOW_CUSTOMIZATION');
35
42
 
@@ -184,6 +191,19 @@ class FlowInfoService {
184
191
  init$(flowId, routeQueryParams) {
185
192
  return this.initFlow$(flowId, routeQueryParams).pipe(switchMap(() => this.initFlowTemplates$()));
186
193
  }
194
+ initTestFlow$(productId) {
195
+ this.contextSubj$.next({
196
+ mode: 'QUOTE',
197
+ headerId: '0Q0-test-quote-id',
198
+ productId,
199
+ });
200
+ this.flowSubj$.next({
201
+ id: 'preview-flow-id',
202
+ properties: { entryPath: '/product', queryParams: {} },
203
+ version: 2,
204
+ });
205
+ return of(undefined);
206
+ }
187
207
  updateContext(update) {
188
208
  this.contextSubj$.next({
189
209
  ...this.context,
@@ -363,9 +383,6 @@ class ConfigurationService {
363
383
  get previousState() {
364
384
  return this.previousConfigurationStateSubj$.getValue();
365
385
  }
366
- get asset() {
367
- return this.state?.assets[0] ?? null;
368
- }
369
386
  get root$() {
370
387
  return this.state$.pipe(map$1(state => state.salesTransactionItems[0]), filter(isDefined));
371
388
  }
@@ -396,14 +413,13 @@ class ConfigurationService {
396
413
  return of(undefined);
397
414
  }
398
415
  let transactionItem = state?.salesTransactionItems.find(item => item.id === transactionItemId);
399
- if (!transactionItem) {
400
- transactionItem = state.salesTransactionItems.find(item => item.productId === productId);
416
+ if (!transactionItem && productId) {
417
+ transactionItem =
418
+ state.salesTransactionItems.find(item => item.productId === productId) ?? generateTransactionItem(productId);
401
419
  }
402
- const assetItem = transactionItem ? state?.assets.find(item => item.id === transactionItem?.assetId) : undefined;
403
420
  const configurationState = {
404
421
  ...state,
405
422
  salesTransactionItems: transactionItem ? [transactionItem] : [],
406
- assets: assetItem ? [assetItem] : [],
407
423
  };
408
424
  this.configurationStateSubj$.next(configurationState);
409
425
  this.previousConfigurationStateSubj$.next(configurationState);
@@ -466,6 +482,13 @@ class ConfigurationService {
466
482
  // TODO: implement
467
483
  throw new Error('Not implemented');
468
484
  }
485
+ getPCMModel() {
486
+ const pcmModel = this.configurationRuntimeService.pcmModel;
487
+ if (!pcmModel) {
488
+ throw new Error('PCM model not initialized');
489
+ }
490
+ return pcmModel;
491
+ }
469
492
  }
470
493
  ConfigurationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationService, deps: [{ token: FlowInfoService }, { token: i2.MessageService }, { token: ConfigurationRuntimeService }, { token: SalesTransactionService }, { token: i4.ProceduresApiService }], target: i0.ɵɵFactoryTarget.Injectable });
471
494
  ConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationService });
@@ -492,9 +515,6 @@ class SalesTransactionService {
492
515
  get state() {
493
516
  return this.stateSubj$.getValue();
494
517
  }
495
- get hasAssets() {
496
- return Boolean(this.state?.assets.length);
497
- }
498
518
  get hasProducts() {
499
519
  return Boolean(this.state?.salesTransactionItems.length);
500
520
  }
@@ -859,12 +879,7 @@ class FlowStateService {
859
879
  ])), map(([response]) => response), take(1));
860
880
  }
861
881
  initStateless$() {
862
- return this.salesTransactionService.init(this.flowInfoService.context.headerId, this.flowInfoService.context).pipe(tap(() => {
863
- const assets = this.salesTransactionService.state?.assets;
864
- if (assets) {
865
- this.flowStore = { ...this.flowStore, assets };
866
- }
867
- }), switchMap(state => this.flowConfiguration.calculate$(state)), tap(() => this.salesTransactionService.finalizeInit()), map(noop));
882
+ return this.salesTransactionService.init(this.flowInfoService.context.headerId, this.flowInfoService.context).pipe(switchMap(state => this.flowConfiguration.calculate$(state)), tap(() => this.salesTransactionService.finalizeInit()), map(noop));
868
883
  }
869
884
  executeStateless$(request) {
870
885
  this.executionInProgress$.next(true);