@veloceapps/sdk 11.0.0-13 → 11.0.0-130

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.
Files changed (162) hide show
  1. package/cms/cms.actions.d.ts +94 -29
  2. package/cms/components/element-renderer/element-renderer.component.d.ts +3 -10
  3. package/cms/components/preview/preview.component.d.ts +5 -6
  4. package/cms/components/preview/preview.types.d.ts +0 -4
  5. package/cms/services/element-context.service.d.ts +0 -1
  6. package/cms/types/common.types.d.ts +2 -0
  7. package/cms/types/index.d.ts +0 -1
  8. package/cms/utils/path.utils.d.ts +1 -2
  9. package/cms/vendor-map.d.ts +21 -40
  10. package/core/index.d.ts +1 -1
  11. package/core/modules/configuration/index.d.ts +4 -4
  12. package/core/modules/configuration/services/configuration-runtime.service.d.ts +8 -17
  13. package/core/modules/configuration/services/configuration-state.service.d.ts +5 -4
  14. package/core/modules/configuration/services/configuration.service.d.ts +24 -47
  15. package/core/modules/configuration/services/guided-selling.service.d.ts +15 -0
  16. package/core/modules/configuration/services/test-mode-configuration.service.d.ts +26 -0
  17. package/core/modules/configuration/types/configuration-runtime.types.d.ts +0 -5
  18. package/core/modules/configuration/types/configuration.types.d.ts +8 -2
  19. package/core/modules/configuration/types/index.d.ts +2 -0
  20. package/core/modules/flow-configuration/index.d.ts +0 -3
  21. package/core/modules/flow-configuration/services/flow-configuration.service.d.ts +11 -17
  22. package/core/operators/filter-successful-execute.operator.d.ts +3 -0
  23. package/core/operators/index.d.ts +1 -0
  24. package/core/services/flow-info.service.d.ts +11 -9
  25. package/core/services/flow-state-configuration.service.d.ts +14 -8
  26. package/core/services/flow-state.service.d.ts +6 -15
  27. package/core/services/index.d.ts +1 -1
  28. package/core/services/integration.state.d.ts +1 -1
  29. package/core/services/product-images.service.d.ts +3 -3
  30. package/core/services/runtime-settings.service.d.ts +1 -1
  31. package/core/services/sales-transaction.service.d.ts +9 -10
  32. package/core/types/flow-customization.types.d.ts +2 -2
  33. package/core/types/index.d.ts +0 -1
  34. package/core/utils/index.d.ts +3 -2
  35. package/core/utils/pcm.utils.d.ts +5 -0
  36. package/core/utils/transaction-item.utils.d.ts +10 -0
  37. package/core/utils/transaction-item.worker.d.ts +8 -0
  38. package/esm2020/cms/cms.actions.mjs +93 -71
  39. package/esm2020/cms/cms.default.mjs +2 -3
  40. package/esm2020/cms/components/element-renderer/element-renderer.component.mjs +7 -64
  41. package/esm2020/cms/components/element-tools-panel/element-tools-panel.component.mjs +3 -3
  42. package/esm2020/cms/components/preview/preview.component.mjs +19 -28
  43. package/esm2020/cms/components/preview/preview.types.mjs +1 -1
  44. package/esm2020/cms/services/element-context.service.mjs +1 -1
  45. package/esm2020/cms/types/common.types.mjs +1 -1
  46. package/esm2020/cms/types/index.mjs +1 -2
  47. package/esm2020/cms/utils/element.utils.mjs +3 -3
  48. package/esm2020/cms/utils/elements-resolver.mjs +16 -5
  49. package/esm2020/cms/utils/path.utils.mjs +1 -10
  50. package/esm2020/cms/vendor-map.mjs +21 -18
  51. package/esm2020/core/core.module.mjs +3 -6
  52. package/esm2020/core/index.mjs +2 -2
  53. package/esm2020/core/modules/configuration/configuration.module.mjs +17 -4
  54. package/esm2020/core/modules/configuration/index.mjs +5 -5
  55. package/esm2020/core/modules/configuration/services/configuration-runtime.service.mjs +16 -64
  56. package/esm2020/core/modules/configuration/services/configuration-state.service.mjs +65 -62
  57. package/esm2020/core/modules/configuration/services/configuration.service.mjs +123 -229
  58. package/esm2020/core/modules/configuration/services/guided-selling.service.mjs +62 -0
  59. package/esm2020/core/modules/configuration/services/test-mode-configuration.service.mjs +97 -0
  60. package/esm2020/core/modules/configuration/types/configuration-runtime.types.mjs +1 -1
  61. package/esm2020/core/modules/configuration/types/configuration.types.mjs +1 -1
  62. package/esm2020/core/modules/configuration/types/index.mjs +3 -0
  63. package/esm2020/core/modules/flow-configuration/flow-configuration.module.mjs +3 -4
  64. package/esm2020/core/modules/flow-configuration/index.mjs +1 -4
  65. package/esm2020/core/modules/flow-configuration/services/flow-configuration.service.mjs +31 -39
  66. package/esm2020/core/operators/filter-successful-execute.operator.mjs +5 -0
  67. package/esm2020/core/operators/index.mjs +2 -0
  68. package/esm2020/core/services/flow-info.service.mjs +31 -22
  69. package/esm2020/core/services/flow-state-configuration.service.mjs +91 -24
  70. package/esm2020/core/services/flow-state.service.mjs +34 -82
  71. package/esm2020/core/services/index.mjs +2 -2
  72. package/esm2020/core/services/integration.state.mjs +2 -2
  73. package/esm2020/core/services/product-images.service.mjs +8 -8
  74. package/esm2020/core/services/runtime-settings.service.mjs +3 -3
  75. package/esm2020/core/services/sales-transaction.service.mjs +18 -13
  76. package/esm2020/core/types/flow-customization.types.mjs +1 -1
  77. package/esm2020/core/types/index.mjs +1 -2
  78. package/esm2020/core/utils/index.mjs +4 -3
  79. package/esm2020/core/utils/pcm.utils.mjs +15 -0
  80. package/esm2020/core/utils/transaction-item.utils.mjs +136 -0
  81. package/esm2020/core/utils/transaction-item.worker.mjs +16 -0
  82. package/esm2020/src/components/flow-header/flow-header.component.mjs +7 -8
  83. package/esm2020/src/components/guided-selling/guided-selling.component.mjs +7 -8
  84. package/esm2020/src/flow-routing.module.mjs +10 -8
  85. package/esm2020/src/guards/flow.guard.mjs +5 -7
  86. package/esm2020/src/guards/product-unload.guard.mjs +10 -8
  87. package/esm2020/src/index.mjs +1 -2
  88. package/esm2020/src/pages/assets/assets.component.mjs +7 -8
  89. package/esm2020/src/pages/catalog/catalog.component.mjs +7 -8
  90. package/esm2020/src/pages/debug/debug.component.mjs +12 -17
  91. package/esm2020/src/pages/product/product.component.mjs +39 -69
  92. package/esm2020/src/pages/record-not-found/record-not-found.component.mjs +5 -6
  93. package/esm2020/src/pages/shopping-cart/shopping-cart.component.mjs +7 -8
  94. package/esm2020/src/resolvers/pcm-model.resolver.mjs +12 -0
  95. package/esm2020/src/resolvers/sales-transaction.resolver.mjs +64 -0
  96. package/esm2020/src/resolvers/ui-definition.resolver.mjs +44 -0
  97. package/esm2020/src/services/flow-dialog.service.mjs +3 -24
  98. package/esm2020/src/services/flow-router.service.mjs +26 -33
  99. package/esm2020/src/services/flow.service.mjs +11 -17
  100. package/esm2020/src/types/index.mjs +2 -3
  101. package/esm2020/src/types/route.types.mjs +1 -1
  102. package/fesm2015/veloceapps-sdk-cms.mjs +166 -309
  103. package/fesm2015/veloceapps-sdk-cms.mjs.map +1 -1
  104. package/fesm2015/veloceapps-sdk-core.mjs +706 -1179
  105. package/fesm2015/veloceapps-sdk-core.mjs.map +1 -1
  106. package/fesm2015/veloceapps-sdk.mjs +194 -250
  107. package/fesm2015/veloceapps-sdk.mjs.map +1 -1
  108. package/fesm2020/veloceapps-sdk-cms.mjs +162 -300
  109. package/fesm2020/veloceapps-sdk-cms.mjs.map +1 -1
  110. package/fesm2020/veloceapps-sdk-core.mjs +764 -1204
  111. package/fesm2020/veloceapps-sdk-core.mjs.map +1 -1
  112. package/fesm2020/veloceapps-sdk.mjs +193 -247
  113. package/fesm2020/veloceapps-sdk.mjs.map +1 -1
  114. package/package.json +1 -1
  115. package/src/components/flow-header/flow-header.component.d.ts +3 -3
  116. package/src/components/guided-selling/guided-selling.component.d.ts +3 -3
  117. package/src/guards/product-unload.guard.d.ts +3 -3
  118. package/src/index.d.ts +0 -1
  119. package/src/pages/assets/assets.component.d.ts +3 -3
  120. package/src/pages/catalog/catalog.component.d.ts +3 -3
  121. package/src/pages/debug/debug.component.d.ts +2 -4
  122. package/src/pages/product/product.component.d.ts +14 -13
  123. package/src/pages/record-not-found/record-not-found.component.d.ts +2 -3
  124. package/src/pages/shopping-cart/shopping-cart.component.d.ts +3 -3
  125. package/src/resolvers/pcm-model.resolver.d.ts +3 -0
  126. package/src/resolvers/sales-transaction.resolver.d.ts +18 -0
  127. package/src/resolvers/ui-definition.resolver.d.ts +3 -0
  128. package/src/services/flow-dialog.service.d.ts +3 -5
  129. package/src/services/flow-router.service.d.ts +8 -8
  130. package/src/services/flow.service.d.ts +3 -3
  131. package/src/types/index.d.ts +1 -2
  132. package/src/types/route.types.d.ts +0 -5
  133. package/cms/plugins/configuration.plugin.d.ts +0 -23
  134. package/cms/types/configuration.types.d.ts +0 -21
  135. package/core/modules/configuration/helpers.d.ts +0 -7
  136. package/core/modules/configuration/services/runtime-context.service.d.ts +0 -12
  137. package/core/modules/flow-configuration/services/flow-update.service.d.ts +0 -13
  138. package/core/modules/flow-configuration/types/update.types.d.ts +0 -12
  139. package/core/services/quote-draft.service.d.ts +0 -50
  140. package/core/types/runtime.types.d.ts +0 -30
  141. package/core/utils/line-item.utils.d.ts +0 -25
  142. package/core/utils/line-item.worker.d.ts +0 -9
  143. package/esm2020/cms/plugins/configuration.plugin.mjs +0 -109
  144. package/esm2020/cms/types/configuration.types.mjs +0 -2
  145. package/esm2020/core/modules/configuration/helpers.mjs +0 -67
  146. package/esm2020/core/modules/configuration/services/runtime-context.service.mjs +0 -45
  147. package/esm2020/core/modules/flow-configuration/services/flow-update.service.mjs +0 -138
  148. package/esm2020/core/modules/flow-configuration/types/update.types.mjs +0 -2
  149. package/esm2020/core/services/quote-draft.service.mjs +0 -174
  150. package/esm2020/core/types/runtime.types.mjs +0 -16
  151. package/esm2020/core/utils/line-item.utils.mjs +0 -187
  152. package/esm2020/core/utils/line-item.worker.mjs +0 -19
  153. package/esm2020/src/resolvers/quote.resolver.mjs +0 -82
  154. package/esm2020/src/types/context-route.types.mjs +0 -2
  155. package/esm2020/src/types/metrics.types.mjs +0 -2
  156. package/esm2020/src/utils/flow.utils.mjs +0 -14
  157. package/esm2020/src/utils/index.mjs +0 -2
  158. package/src/resolvers/quote.resolver.d.ts +0 -18
  159. package/src/types/context-route.types.d.ts +0 -5
  160. package/src/types/metrics.types.d.ts +0 -5
  161. package/src/utils/flow.utils.d.ts +0 -1
  162. package/src/utils/index.d.ts +0 -1
@@ -1,5 +1,3 @@
1
- import { CustomizationChanges } from '@veloceapps/core';
2
- import { IntegrationAction } from '@veloceapps/sdk/core';
3
1
  export declare namespace FlowAction {
4
2
  const FLOW_CONFIGURE_PRODUCT = "[FLOW]_CONFIGURE_PRODUCT";
5
3
  const FLOW_NAVIGATE_BACK = "[FLOW]_NAVIGATE_BACK";
@@ -16,35 +14,86 @@ export declare namespace FlowAction {
16
14
  const SUBMIT_GUIDED_SELLING = "[FLOW]_SUBMIT_GUIDED_SELLING";
17
15
  const CLOSE_GUIDED_SELLING = "[FLOW]_CLOSE_GUIDED_SELLING";
18
16
  const OPEN_DIALOG = "[FLOW]_OPEN_DIALOG";
19
- const ConfigureProductAction: ({ lineItemId, productId, }: {
20
- lineItemId?: string | undefined;
17
+ const ConfigureProductAction: ({ transactionItemId, productId, qty, }: {
18
+ transactionItemId?: string | undefined;
21
19
  productId?: string | undefined;
22
- }) => IntegrationAction;
23
- const NavigateBackAction: () => IntegrationAction;
24
- const NavigateToAction: (path: string, productId?: string, lineItemId?: string) => IntegrationAction;
25
- const NavigateToCatalogAction: () => IntegrationAction;
26
- const NavigateToShoppingCartAction: () => IntegrationAction;
27
- const ApplyProductConfigurationAction: () => IntegrationAction;
28
- const RemoteApplyAction: () => IntegrationAction;
29
- const RemoteCancelAction: () => IntegrationAction;
20
+ qty?: number | undefined;
21
+ }) => {
22
+ type: string;
23
+ payload: {
24
+ transactionItemId: string | undefined;
25
+ productId: string | undefined;
26
+ qty: number | undefined;
27
+ };
28
+ };
29
+ const NavigateBackAction: () => {
30
+ type: string;
31
+ };
32
+ const NavigateToAction: (path: string, productId?: string, transactionItemId?: string) => {
33
+ type: string;
34
+ payload: {
35
+ path: string;
36
+ productId: string | undefined;
37
+ transactionItemId: string | undefined;
38
+ };
39
+ };
40
+ const NavigateToCatalogAction: () => {
41
+ type: string;
42
+ };
43
+ const NavigateToShoppingCartAction: () => {
44
+ type: string;
45
+ };
46
+ const ApplyProductConfigurationAction: () => {
47
+ type: string;
48
+ };
49
+ const RemoteApplyAction: () => {
50
+ type: string;
51
+ };
52
+ const RemoteCancelAction: () => {
53
+ type: string;
54
+ };
30
55
  const SwitchObjectAction: (payload: {
31
56
  id: string;
32
- }) => IntegrationAction;
57
+ }) => {
58
+ type: string;
59
+ payload: {
60
+ id: string;
61
+ };
62
+ };
33
63
  const OpenGuidedSelling: (payload: {
34
64
  guidedSellingId: string;
35
- }) => IntegrationAction;
65
+ }) => {
66
+ type: string;
67
+ payload: {
68
+ guidedSellingId: string;
69
+ };
70
+ };
36
71
  const CloseGuidedSelling: (payload?: {
37
72
  keepState?: boolean;
38
- }) => IntegrationAction;
73
+ }) => {
74
+ type: string;
75
+ payload: {
76
+ keepState?: boolean | undefined;
77
+ } | undefined;
78
+ };
39
79
  const SubmitGuidedSelling: (payload: {
40
80
  result: Record<string, any>;
41
- }) => IntegrationAction;
42
- const OpenDialog: (dialog: string) => IntegrationAction;
81
+ }) => {
82
+ type: string;
83
+ payload: {
84
+ result: Record<string, any>;
85
+ };
86
+ };
87
+ const OpenDialog: (dialog: string) => {
88
+ type: string;
89
+ payload: {
90
+ dialog: string;
91
+ };
92
+ };
43
93
  }
44
94
  export declare namespace CmsAction {
45
95
  const GO_TO_PAGE = "[CMS]_GO_TO_PAGE";
46
96
  const UPDATE_CUSTOMIZATION = "[CMS]_UPDATE_CUSTOMIZATION";
47
- const EMIT_CUSTOMIZATION_CHANGES = "[CMS]_EMIT_CUSTOMIZATION_CHANGES";
48
97
  const SHOW_OVERLAY = "[CMS]_SHOW_OVERLAY";
49
98
  const HIDE_OVERLAY = "[CMS]_HIDE_OVERLAY";
50
99
  const HIDE_ALL_OVERLAYS = "[CMS]_HIDE_ALL_OVERLAYS";
@@ -53,37 +102,53 @@ export declare namespace CmsAction {
53
102
  *
54
103
  * @param pageName name of the page
55
104
  */
56
- const GoToPage: (pageName: string) => IntegrationAction;
105
+ const GoToPage: (pageName: string) => {
106
+ type: string;
107
+ payload: {
108
+ pageName: string;
109
+ };
110
+ };
57
111
  /**
58
112
  * Update UI definition customization state
59
113
  *
60
114
  * @param pageName name of the page
61
115
  */
62
- const UpdateCustomization: (value: any) => IntegrationAction;
63
- /**
64
- * Emit customization page changes
65
- *
66
- * @param changes - object with customization page changes
67
- */
68
- const EmitCustomizationChanges: (changes: CustomizationChanges) => IntegrationAction;
116
+ const UpdateCustomization: (value: any) => {
117
+ type: string;
118
+ payload: {
119
+ value: any;
120
+ };
121
+ };
69
122
  /**
70
123
  * Show an Overlay on the selected page
71
124
  *
72
125
  * @param name - name of the overlay
73
126
  * @returns void
74
127
  */
75
- const ShowOverlay: (name: string) => IntegrationAction;
128
+ const ShowOverlay: (name: string) => {
129
+ type: string;
130
+ payload: {
131
+ name: string;
132
+ };
133
+ };
76
134
  /**
77
135
  * Hide an Overlay on the selected page
78
136
  *
79
137
  * @param name - name of the overlay
80
138
  * @returns void
81
139
  */
82
- const HideOverlay: (name: string) => IntegrationAction;
140
+ const HideOverlay: (name: string) => {
141
+ type: string;
142
+ payload: {
143
+ name: string;
144
+ };
145
+ };
83
146
  /**
84
147
  * Hide all Overlays on the selected page
85
148
  *
86
149
  * @returns void
87
150
  */
88
- const HideAllOverlays: () => IntegrationAction;
151
+ const HideAllOverlays: () => {
152
+ type: string;
153
+ };
89
154
  }
@@ -1,36 +1,29 @@
1
- import { ChangeDetectorRef, ElementRef, Injector, OnDestroy, OnInit, ViewContainerRef } from '@angular/core';
2
- import { ConfigurationService } from '@veloceapps/sdk/core';
1
+ import { ChangeDetectorRef, OnDestroy, OnInit, ViewContainerRef } from '@angular/core';
3
2
  import { RuntimeService } from '../../modules/runtime/services/runtime.service';
4
3
  import { ElementContextService } from '../../services/element-context.service';
5
4
  import { IOProviderService } from '../../services/io-provider.service';
6
5
  import { ElementMetadata } from '../../types/common.types';
7
6
  import * as i0 from "@angular/core";
8
7
  export declare class ElementRendererComponent implements OnInit, OnDestroy {
9
- private parentInjector;
10
8
  private runtimeService;
11
9
  private elementContext;
12
10
  private ioProviderService;
13
- private configurationService;
14
- private elementRef;
15
11
  private cdr;
16
12
  el?: ViewContainerRef;
17
13
  meta: ElementMetadata;
18
14
  private type?;
19
15
  private refs;
20
16
  private destroy$;
21
- constructor(parentInjector: Injector, runtimeService: RuntimeService, elementContext: ElementContextService, ioProviderService: IOProviderService, configurationService: ConfigurationService, elementRef: ElementRef, cdr: ChangeDetectorRef);
17
+ constructor(runtimeService: RuntimeService, elementContext: ElementContextService, ioProviderService: IOProviderService, cdr: ChangeDetectorRef);
22
18
  ngOnInit(): void;
23
19
  ngOnDestroy(): void;
24
20
  private createComponents;
25
21
  private createFromPath;
26
- private getModelComponent;
27
- private createFromLineItem;
28
22
  private processChildren;
29
- private getParentLineItem$;
30
23
  private createComponent;
31
24
  private updateComponent;
32
25
  private destroyComponent;
33
26
  private destroyComponents;
34
- static ɵfac: i0.ɵɵFactoryDeclaration<ElementRendererComponent, [{ skipSelf: true; }, null, null, null, null, null, null]>;
27
+ static ɵfac: i0.ɵɵFactoryDeclaration<ElementRendererComponent, never>;
35
28
  static ɵcmp: i0.ɵɵComponentDeclaration<ElementRendererComponent, "vl-cms-element-renderer", never, { "meta": "meta"; }, {}, never, never, false, never>;
36
29
  }
@@ -1,8 +1,8 @@
1
1
  import { OnDestroy, OnInit } from '@angular/core';
2
2
  import { ToastService } from '@veloceapps/components';
3
3
  import { UIDefinition } from '@veloceapps/core';
4
- import { ConfigurationStateService, IntegrationState } from '@veloceapps/sdk/core';
5
- import { BehaviorSubject, Observable } from 'rxjs';
4
+ import { IntegrationState } from '@veloceapps/sdk/core';
5
+ import { BehaviorSubject } from 'rxjs';
6
6
  import { RuntimeService } from '../../modules/runtime/services/runtime.service';
7
7
  import { ElementMetadata } from '../../types/common.types';
8
8
  import { CMSPreviewConfig } from './preview.types';
@@ -13,20 +13,19 @@ interface State {
13
13
  }
14
14
  export declare class PreviewComponent implements OnInit, OnDestroy {
15
15
  private runtimeService;
16
- private configurationState;
17
16
  private toastService;
18
17
  private integrationState;
19
18
  uiDefinition?: UIDefinition;
20
19
  config?: CMSPreviewConfig;
21
20
  state$: BehaviorSubject<State>;
22
- elements$: Observable<ElementMetadata[]>;
21
+ elements$: BehaviorSubject<ElementMetadata[]>;
23
22
  private destroy$;
24
- constructor(runtimeService: RuntimeService, configurationState: ConfigurationStateService, toastService: ToastService, integrationState: IntegrationState);
23
+ constructor(runtimeService: RuntimeService, toastService: ToastService, integrationState: IntegrationState);
25
24
  ngOnInit(): void;
26
25
  ngOnDestroy(): void;
27
26
  trackBy(_: number, el: ElementMetadata): ElementMetadata;
28
27
  private startPreview;
29
- private getPages$;
28
+ private getElements$;
30
29
  static ɵfac: i0.ɵɵFactoryDeclaration<PreviewComponent, never>;
31
30
  static ɵcmp: i0.ɵɵComponentDeclaration<PreviewComponent, "vl-cms-preview", never, { "uiDefinition": "uiDefinition"; "config": "config"; }, {}, never, never, false, never>;
32
31
  }
@@ -13,10 +13,6 @@ export interface CMSPreviewConfig {
13
13
  * When `true`, preview renders settings page (element with `type: CUSTOMIZATION_PAGE`)
14
14
  */
15
15
  customizationMode?: boolean;
16
- /**
17
- * When `true`, preview component does not clear configuration state on destroy
18
- */
19
- persistConfigurationState?: boolean;
20
16
  /**
21
17
  * Custom initialization function which will be executed before starting a preview
22
18
  */
@@ -2,7 +2,6 @@ import { ElementMetadata } from '../types/common.types';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class ElementContextService {
4
4
  metadata?: ElementMetadata;
5
- parentModelId?: string;
6
5
  static ɵfac: i0.ɵɵFactoryDeclaration<ElementContextService, never>;
7
6
  static ɵprov: i0.ɵɵInjectableDeclaration<ElementContextService>;
8
7
  }
@@ -29,6 +29,8 @@ export interface ElementModel {
29
29
  */
30
30
  path?: string;
31
31
  /**
32
+ * @deprecated
33
+ * To be removed!!!
32
34
  * Used only when `UIDefinitionType = CONFIGURATION`.
33
35
  */
34
36
  lineItem?: string;
@@ -1,6 +1,5 @@
1
1
  export * from '../modules/runtime/types/compilation.types';
2
2
  export * from './common.types';
3
- export * from './configuration.types';
4
3
  export * from './elements.types';
5
4
  export * from './layouts.types';
6
5
  export * from './pages.types';
@@ -1,4 +1,3 @@
1
- import { ElementMetadata, ElementPath, PathBlock } from '../types';
2
- export declare const parseBoundPath: (path: string) => PathBlock[];
1
+ import { ElementMetadata, ElementPath } from '../types';
3
2
  export declare const parsePath: (path: string) => ElementPath;
4
3
  export declare const getAbsolutePath: (elements: ElementMetadata[], subject: ElementMetadata, path: ElementPath) => string | undefined;
@@ -1,11 +1,11 @@
1
1
  import { DataSource } from '@angular/cdk/collections';
2
2
  import * as angularCore from '@angular/core';
3
3
  import * as angularForms from '@angular/forms';
4
- import { CatalogApiService, ConfigurationSettingsApiService, ContractedPriceApiService, DeltaApiService, DocumentAttachmentApiService, GuidedSellingApiService, PicklistsApiService, PriceApiService, RampApiService, SalesforceApiService, ShoppingCartSettingsApiService } from '@veloceapps/api';
5
- import { SalesTransactionApiService } from '@veloceapps/api/v2';
4
+ import { ContractedPriceApiService } from '@veloceapps/api';
5
+ import { CatalogApiService, ConfigurationSettingsApiService, DocumentAttachmentApiService, GuidedSellingApiService, SalesforceApiService, SalesTransactionApiService, ShoppingCartSettingsApiService } from '@veloceapps/api/v2';
6
6
  import { ToastService, ToastType } from '@veloceapps/components';
7
- import { Operator, parseJsonSafely, parseJwt, Predicate, TokenInfoService } from '@veloceapps/core';
8
- import { ActionCodePipe, ConfigurationService, ConfigurationStateService, DatePipe, FlowConfigurationService, FlowStateConfigurationService, FlowStateService, IntegrationState, LineItemWorker, NumberPipe, PricePipe, ProductImagesService, QuoteDraftService, RuntimeSettingsService } from '@veloceapps/sdk/core';
7
+ import { Operator, parseJsonSafely, parseJwt, Predicate, TokenInfoService, UITemplateType } from '@veloceapps/core';
8
+ import { ActionCodePipe, ConfigurationService, ConfigurationStateService, DatePipe, filterSuccessfulExecute, FlowConfigurationService, FlowInfoService, FlowStateConfigurationService, FlowStateService, GuidedSellingService, IntegrationState, NumberPipe, PCMUtils, PricePipe, ProductImagesService, RuntimeSettingsService, SalesTransactionService, TransactionItemWorker } from '@veloceapps/sdk/core';
9
9
  import lodash from 'lodash';
10
10
  import * as rxjs from 'rxjs';
11
11
  import * as rxjsOperators from 'rxjs/operators';
@@ -20,71 +20,52 @@ export declare const vendorMap: {
20
20
  parseJsonSafely: typeof parseJsonSafely;
21
21
  parseJwt: typeof parseJwt;
22
22
  TokenInfoService: typeof TokenInfoService;
23
+ UITemplateType: typeof UITemplateType;
23
24
  };
24
25
  '@veloceapps/components': {
25
26
  ToastService: typeof ToastService;
26
27
  ToastType: typeof ToastType;
27
28
  };
28
29
  '@veloceapps/api': {
29
- SalesforceApiService: typeof SalesforceApiService;
30
- DocumentAttachmentApiService: typeof DocumentAttachmentApiService;
31
- RampApiService: typeof RampApiService;
32
- CatalogApiService: typeof CatalogApiService;
33
- DeltaApiService: typeof DeltaApiService;
34
- PicklistsApiService: typeof PicklistsApiService;
35
- PriceApiService: typeof PriceApiService;
36
- ShoppingCartSettingsApiService: typeof ShoppingCartSettingsApiService;
37
- ConfigurationSettingsApiService: typeof ConfigurationSettingsApiService;
38
- GuidedSellingApiService: typeof GuidedSellingApiService;
39
30
  ContractedPriceApiService: typeof ContractedPriceApiService;
40
31
  };
41
32
  '@veloceapps/api/v2': {
33
+ CatalogApiService: typeof CatalogApiService;
34
+ ConfigurationSettingsApiService: typeof ConfigurationSettingsApiService;
35
+ DocumentAttachmentApiService: typeof DocumentAttachmentApiService;
36
+ GuidedSellingApiService: typeof GuidedSellingApiService;
37
+ SalesforceApiService: typeof SalesforceApiService;
42
38
  SalesTransactionApiService: typeof SalesTransactionApiService;
39
+ ShoppingCartSettingsApiService: typeof ShoppingCartSettingsApiService;
43
40
  };
44
41
  '@veloceapps/sdk/core': {
45
- findLineItem: (id: string, lineItems: import("@veloceapps/core").LineItem[]) => import("@veloceapps/core").LineItem | undefined;
46
- findLineItemWithComparator: (lineItems: import("@veloceapps/core").LineItem[], comparator: (li: import("@veloceapps/core").LineItem) => boolean) => import("@veloceapps/core").LineItem | undefined;
47
- insertLineItem: (lineItem: import("@veloceapps/core").LineItem, parentId: string, toInsert: import("@veloceapps/core").LineItem) => import("@veloceapps/core").LineItem;
48
- removeLineItem: (lineItem: import("@veloceapps/core").LineItem, idToRemove: string) => import("@veloceapps/core").LineItem;
49
- replaceLineItem: (lineItem: import("@veloceapps/core").LineItem, replaceTo: import("@veloceapps/core").LineItem, skipCardinalityCalculation?: boolean | undefined) => import("@veloceapps/core").LineItem;
50
- recalculateCardinalityVariables: (original: import("@veloceapps/core").LineItem, updated: import("@veloceapps/core").LineItem) => import("@veloceapps/core").LineItem;
51
- mapAttributes: (attributes: import("@veloceapps/core").Attribute[]) => lodash.Dictionary<any>;
52
- getAttributes: (attributes: import("@veloceapps/core").Attribute[], names?: string[] | undefined) => import("@veloceapps/core").Attribute[];
53
- upsertAttributes: (originalAttributes: import("@veloceapps/core").Attribute[], attributesToUpsert: import("@veloceapps/core").NewAttribute[]) => import("@veloceapps/core").Attribute[];
54
- patchAttributes: (rootLineItem: import("@veloceapps/core").LineItem, id: string, attrs: import("@veloceapps/core").NewAttribute[], skipCardinalityCalculation?: boolean | undefined) => import("@veloceapps/core").LineItem;
55
- getAttributeValue: (attributes: import("@veloceapps/core").Attribute[], name: string) => any;
56
- generateLineItem: (port: string, type: string, parentId: string, attributes?: import("@veloceapps/core").NewAttribute[] | undefined, lineItems?: import("@veloceapps/core").LineItem[] | undefined) => import("@veloceapps/core").LineItem;
57
- getRecommendedPrices: (portDomain: import("@veloceapps/core").PortDomain, type: string) => {
58
- net: number;
59
- list: number;
60
- };
61
- getOriginParent: (lineItems: import("@veloceapps/core").LineItem[], currentLineItem: import("@veloceapps/core").LineItem) => import("@veloceapps/core").LineItem | undefined;
62
- assetPredicateFn: (lineItem: import("@veloceapps/core").LineItem, assetId?: string | undefined) => boolean;
63
- multiplyLineItems: (lineItem: import("@veloceapps/core").LineItem, qty: number, split: boolean) => import("@veloceapps/core").LineItem[];
64
- isTechnicalAttribute: (name: string) => boolean;
65
- filterOutTechnicalAttributes: <T_1 extends {
66
- name: string;
67
- }>(attributes: T_1[]) => T_1[];
68
42
  ConfigurationService: typeof ConfigurationService;
69
43
  ConfigurationStateService: typeof ConfigurationStateService;
70
- QuoteDraftService: typeof QuoteDraftService;
44
+ GuidedSellingService: typeof GuidedSellingService;
45
+ filterSuccessfulExecute: typeof filterSuccessfulExecute;
46
+ FlowInfoService: typeof FlowInfoService;
71
47
  FlowConfigurationService: typeof FlowConfigurationService;
72
48
  IntegrationState: typeof IntegrationState;
73
49
  FlowStateService: typeof FlowStateService;
74
50
  FlowStateConfigurationService: typeof FlowStateConfigurationService;
75
- LineItemWorker: typeof LineItemWorker;
51
+ TransactionItemWorker: typeof TransactionItemWorker;
76
52
  ProductImagesService: typeof ProductImagesService;
77
53
  RuntimeSettingsService: typeof RuntimeSettingsService;
78
54
  ActionCodePipe: typeof ActionCodePipe;
79
55
  DatePipe: typeof DatePipe;
80
56
  NumberPipe: typeof NumberPipe;
81
57
  PricePipe: typeof PricePipe;
58
+ SalesTransactionService: typeof SalesTransactionService;
59
+ generateTransactionItem: (option: import("@veloceapps/core").PCMProduct, salesTransactionId?: string | undefined, qty?: number | undefined, parentTi?: import("@veloceapps/core").SalesTransactionItem | undefined) => import("@veloceapps/core").SalesTransactionItem;
60
+ updateQuantity: (ti: import("@veloceapps/core").SalesTransactionItem, qty: number, pcm: import("@veloceapps/core").PCMProduct, parentQty?: number | undefined) => import("@veloceapps/core").SalesTransactionItem;
61
+ flattenTransactionItem: (ti: import("@veloceapps/core").SalesTransactionItem) => import("@veloceapps/core").SalesTransactionItem[];
62
+ PCMUtils: typeof PCMUtils;
82
63
  };
83
64
  '@veloceapps/sdk/cms': {
84
65
  TemplatesService: typeof TemplatesService;
85
66
  IntegrationState: typeof IntegrationState;
86
67
  ResourcesService: typeof ResourcesService;
87
- cmsInject: <T_2 = unknown>(token: string) => T_2;
68
+ cmsInject: <T_1 = unknown>(token: string) => T_1;
88
69
  FlowAction: typeof cmsActions.FlowAction;
89
70
  CmsAction: typeof cmsActions.CmsAction;
90
71
  DEFAULT_PLUGINS_TOKEN: angularCore.InjectionToken<typeof import("./engine/models/plugin").Plugin[]>;
package/core/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  export * from './core.module';
2
2
  export * from './directives';
3
3
  export * from './modules';
4
+ export * from './operators';
4
5
  export * from './pipes';
5
6
  export * from './services';
6
7
  export * from './types';
7
8
  export * from './utils';
8
- export * as lineItemUtils from './utils/line-item.utils';
@@ -1,6 +1,6 @@
1
- export * from './helpers';
2
1
  export * from './services/configuration-runtime.service';
3
- export * from './services/configuration.service';
4
2
  export * from './services/configuration-state.service';
5
- export * from './types/configuration-runtime.types';
6
- export * from './types/configuration.types';
3
+ export * from './services/configuration.service';
4
+ export * from './services/test-mode-configuration.service';
5
+ export * from './services/guided-selling.service';
6
+ export * from './types';
@@ -1,26 +1,17 @@
1
- import { ConfigurationApiService } from '@veloceapps/api';
2
- import { RuntimeModel, UIDefinitionContainer, UIDefinitionProps } from '@veloceapps/core';
1
+ import { PCMApiService } from '@veloceapps/api/v2';
2
+ import { PCMModel, UIDefinitionContainer, UIDefinitionProps } from '@veloceapps/core';
3
3
  import { Observable } from 'rxjs';
4
- import { RuntimeContext } from '../../../types';
5
4
  import { RuntimeInitializationProps } from '../types/configuration-runtime.types';
6
- import { RuntimeContextService } from './runtime-context.service';
7
5
  import * as i0 from "@angular/core";
8
6
  export declare class ConfigurationRuntimeService {
9
- private apiService;
10
- private runtimeContextService;
11
- private _runtimeContext?;
12
- private _isInitialized;
7
+ private pcmApiService;
8
+ uiDefinitionContainer: UIDefinitionContainer | null;
13
9
  initializationProps?: RuntimeInitializationProps;
14
- uiDefinitionProperties: UIDefinitionProps;
15
- constructor(apiService: ConfigurationApiService, runtimeContextService: RuntimeContextService);
10
+ pcmModel?: PCMModel;
11
+ constructor(pcmApiService: PCMApiService);
12
+ get uiDefinitionProps(): UIDefinitionProps;
16
13
  reset(): void;
17
- initTestMode(uiDefinitionContainer: UIDefinitionContainer): Observable<RuntimeContext>;
18
- init(props: RuntimeInitializationProps): Observable<RuntimeContext>;
19
- overrideUIDefinition(uiDefinitionContainer: UIDefinitionContainer): void;
20
- private id15to18;
21
- get isInitialized(): boolean;
22
- get runtimeModel(): RuntimeModel | undefined;
23
- get runtimeContext(): RuntimeContext | undefined;
14
+ init$(props: RuntimeInitializationProps): Observable<PCMModel>;
24
15
  static ɵfac: i0.ɵɵFactoryDeclaration<ConfigurationRuntimeService, never>;
25
16
  static ɵprov: i0.ɵɵInjectableDeclaration<ConfigurationRuntimeService>;
26
17
  }
@@ -1,5 +1,5 @@
1
1
  import { FlowStateApiService } from '@veloceapps/api';
2
- import { SalesTransactionApiService, SalesTransactionUpsertResponse } from '@veloceapps/api/v2';
2
+ import { PCMApiService, SalesTransactionApiService, SalesTransactionUpsertResponse } from '@veloceapps/api/v2';
3
3
  import { ToastService } from '@veloceapps/components';
4
4
  import { FlowStateExecutionRequest, FlowStateExecutionResult, FlowStateSelectorResponse } from '@veloceapps/core';
5
5
  import { BehaviorSubject, Observable, Subject } from 'rxjs';
@@ -12,13 +12,14 @@ import * as i0 from "@angular/core";
12
12
  export declare class ConfigurationStateService {
13
13
  private configurationRuntimeService;
14
14
  private configurationService;
15
- private salesTransactionService;
16
- private toastService;
17
15
  private flowStateService;
18
16
  private flowInfoService;
19
17
  private flowConfigurationService;
20
18
  private flowStateApiService;
19
+ private salesTransactionService;
21
20
  private salesTransactionApiService;
21
+ private toastService;
22
+ private pcmApiService;
22
23
  isInitialized$: BehaviorSubject<boolean>;
23
24
  canceledConfiguration$: Subject<void>;
24
25
  private readonly NOT_INITIALIZED;
@@ -32,7 +33,7 @@ export declare class ConfigurationStateService {
32
33
  private statefulRequestStream$;
33
34
  private statefulExecutionRequest$;
34
35
  private statelessExecutionRequest$;
35
- constructor(configurationRuntimeService: ConfigurationRuntimeService, configurationService: ConfigurationService, salesTransactionService: SalesTransactionService, toastService: ToastService, flowStateService: FlowStateService, flowInfoService: FlowInfoService, flowConfigurationService: FlowConfigurationService, flowStateApiService: FlowStateApiService, salesTransactionApiService: SalesTransactionApiService);
36
+ constructor(configurationRuntimeService: ConfigurationRuntimeService, configurationService: ConfigurationService, flowStateService: FlowStateService, flowInfoService: FlowInfoService, flowConfigurationService: FlowConfigurationService, flowStateApiService: FlowStateApiService, salesTransactionService: SalesTransactionService, salesTransactionApiService: SalesTransactionApiService, toastService: ToastService, pcmApiService: PCMApiService);
36
37
  get isExecutionInProgress$(): Observable<boolean>;
37
38
  init$(): Observable<void>;
38
39
  cleanup(): void;
@@ -1,59 +1,36 @@
1
- import { ConfigurationApiService } from '@veloceapps/api';
2
- import { Charge, CompiledPricePlan, ConfigurationRequest, ConfigurePrice, LineItem, RuntimeModel } from '@veloceapps/core';
3
- import { Dictionary } from 'lodash';
1
+ import { OrchestrationsApiService } from '@veloceapps/api/v2';
2
+ import { PCMModel, SalesTransactionItem, TransactionContext } from '@veloceapps/core';
4
3
  import { MessageService } from 'primeng/api';
5
- import { DialogService } from 'primeng/dynamicdialog';
6
4
  import { Observable } from 'rxjs';
7
- import { FlowInfoService } from '../../../services';
8
- import { QuoteDraftService } from '../../../services/quote-draft.service';
9
- import { RuntimeSettingsService } from '../../../services/runtime-settings.service';
10
- import { RuntimeContext } from '../../../types';
11
- import { ExternalConfigurationProps, GuidedSellingSubmitData } from '../types/configuration.types';
5
+ import { FlowInfoService, SalesTransactionService } from '../../../services';
12
6
  import { ConfigurationRuntimeService } from './configuration-runtime.service';
7
+ import { GuidedSellingService } from './guided-selling.service';
13
8
  import * as i0 from "@angular/core";
14
9
  export declare class ConfigurationService {
15
- private quoteDraftService;
16
- private runtimeService;
17
- private configurationApiService;
18
- private messageService;
19
- private dialogService;
20
- private runtimeSettings;
21
10
  private flowInfoService;
22
- private mode;
23
- private configurableRamp;
24
- private configurationState;
25
- private previousConfigurationState;
26
- private isLoadingSubj$;
11
+ private messageService;
12
+ private configurationRuntimeService;
13
+ private salesTransactionService;
14
+ private orchestrationsApiService;
15
+ private guidedSellingService;
27
16
  isLoading$: Observable<boolean>;
28
17
  hasUnsavedChanges: boolean;
29
- constructor(quoteDraftService: QuoteDraftService, runtimeService: ConfigurationRuntimeService, configurationApiService: ConfigurationApiService, messageService: MessageService, dialogService: DialogService, runtimeSettings: RuntimeSettingsService, flowInfoService: FlowInfoService);
18
+ private configurationStateSubj$;
19
+ private previousConfigurationStateSubj$;
20
+ private isLoadingSubj$;
21
+ constructor(flowInfoService: FlowInfoService, messageService: MessageService, configurationRuntimeService: ConfigurationRuntimeService, salesTransactionService: SalesTransactionService, orchestrationsApiService: OrchestrationsApiService, guidedSellingService: GuidedSellingService);
22
+ get state$(): Observable<TransactionContext>;
23
+ get state(): TransactionContext | null;
24
+ get previousState(): TransactionContext | null;
25
+ get root$(): Observable<SalesTransactionItem>;
26
+ get root(): SalesTransactionItem | null;
30
27
  reset(): void;
31
- patch$(lineItem: LineItem): Observable<LineItem>;
32
- patch(lineItem: LineItem): void;
33
- setConfigurableRamp(lineItem: LineItem): void;
34
- get(): Observable<LineItem | undefined>;
35
- getSnapshot(): LineItem | undefined;
36
- getRuntimeModel(): RuntimeModel;
37
- getRuntimeContext(): RuntimeContext;
38
- get state$(): Observable<ConfigurePrice | null>;
39
- get stateSnapshot(): ConfigurePrice | null;
40
- get previousStateSnapshot(): ConfigurePrice | null;
41
- get charges$(): Observable<Dictionary<Charge>>;
42
- get chargesSnapshot(): Dictionary<Charge>;
43
- get pricePlans$(): Observable<Dictionary<CompiledPricePlan>>;
44
- get pricePlansSnapshot(): Dictionary<CompiledPricePlan>;
45
- get procedureContext$(): Observable<Dictionary<unknown>>;
46
- get procedureContextSnapshot(): Dictionary<unknown>;
47
- configure(): Observable<LineItem>;
48
- configureRequest$(configurationRequest: ConfigurationRequest): Observable<LineItem>;
49
- configureExternal$(props: ExternalConfigurationProps): Observable<LineItem>;
50
- configureGuidedSelling$(data: GuidedSellingSubmitData): Observable<ConfigurePrice>;
51
- generateRequest(lightMode?: boolean): ConfigurationRequest;
52
- generateLineItem(): LineItem;
53
- getAsset(): LineItem | undefined;
54
- private getUIDefinitionProperties;
55
- private showInactiveProductsConfirmation;
56
- private extendedConfigureLineItem$;
28
+ init$(): Observable<void>;
29
+ patch$(transactionItem: SalesTransactionItem): Observable<void>;
30
+ patch(transactionItem: SalesTransactionItem): void;
31
+ configure$(transactionContext: TransactionContext): Observable<TransactionContext>;
32
+ justConfigureRequest$(transactionContext: TransactionContext): Observable<TransactionContext>;
33
+ getPCMModel(): PCMModel;
57
34
  static ɵfac: i0.ɵɵFactoryDeclaration<ConfigurationService, never>;
58
35
  static ɵprov: i0.ɵɵInjectableDeclaration<ConfigurationService>;
59
36
  }
@@ -0,0 +1,15 @@
1
+ import { OrchestrationsApiService } from '@veloceapps/api/v2';
2
+ import { Observable } from 'rxjs';
3
+ import { GuidedSellingSubmitData } from '../types';
4
+ import * as i0 from "@angular/core";
5
+ export declare class GuidedSellingService {
6
+ private orchestrationsApiService;
7
+ private guidedSellingResult$;
8
+ constructor(orchestrationsApiService: OrchestrationsApiService);
9
+ get guidedSellingResult(): Record<string, any>;
10
+ configureGuidedSelling$(data: GuidedSellingSubmitData): Observable<Record<string, any>>;
11
+ clearGuidedSelling$(): void;
12
+ private getTransactionContext;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<GuidedSellingService, never>;
14
+ static ɵprov: i0.ɵɵInjectableDeclaration<GuidedSellingService>;
15
+ }
@@ -0,0 +1,26 @@
1
+ import { SalesforceApiService } from '@veloceapps/api/v2';
2
+ import { UIDefinitionContainer } from '@veloceapps/core';
3
+ import { Observable } from 'rxjs';
4
+ import { FlowInfoService, RuntimeSettingsService, SalesTransactionService } from '../../../services';
5
+ import { TestModeConfigurationOptions } from '../types';
6
+ import { ConfigurationRuntimeService } from './configuration-runtime.service';
7
+ import { ConfigurationService } from './configuration.service';
8
+ import * as i0 from "@angular/core";
9
+ export declare class TestModeConfigurationService {
10
+ private flowInfoService;
11
+ private configurationService;
12
+ private configurationRuntimeService;
13
+ private salesTransactionService;
14
+ private runtimeSettingsService;
15
+ private sfApiService;
16
+ private isInitialized;
17
+ private pcmModel?;
18
+ constructor(flowInfoService: FlowInfoService, configurationService: ConfigurationService, configurationRuntimeService: ConfigurationRuntimeService, salesTransactionService: SalesTransactionService, runtimeSettingsService: RuntimeSettingsService, sfApiService: SalesforceApiService);
19
+ initTestMode$(uiDefinitionContainer: UIDefinitionContainer, options?: TestModeConfigurationOptions): Observable<void>;
20
+ private initConfiguration$;
21
+ private getPriceBookId;
22
+ private getTestTransactionContext;
23
+ private checkInitialized;
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<TestModeConfigurationService, never>;
25
+ static ɵprov: i0.ɵɵInjectableDeclaration<TestModeConfigurationService>;
26
+ }
@@ -1,8 +1,3 @@
1
1
  export interface RuntimeInitializationProps {
2
2
  productId: string;
3
- offeringId?: string;
4
- defaultQty?: number;
5
- attributesMap?: Record<string, any>;
6
- defaultUIDefinitionId?: string;
7
- requiredUIDefinitionId?: string;
8
3
  }