@veloceapps/sdk 0.0.0-watch

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 (351) hide show
  1. package/README.md +7 -0
  2. package/cms/cms.actions.d.ts +12 -0
  3. package/cms/cms.default.d.ts +5 -0
  4. package/cms/cms.elements.d.ts +4 -0
  5. package/cms/components/element-children/element-children.component.d.ts +10 -0
  6. package/cms/components/element-children/element-children.module.d.ts +8 -0
  7. package/cms/components/element-renderer/element-renderer.component.d.ts +35 -0
  8. package/cms/components/element-renderer/element-renderer.module.d.ts +7 -0
  9. package/cms/components/element.component.d.ts +13 -0
  10. package/cms/components/index.d.ts +1 -0
  11. package/cms/components/plugin.component.d.ts +15 -0
  12. package/cms/components/preview/index.d.ts +2 -0
  13. package/cms/components/preview/preview.component.d.ts +34 -0
  14. package/cms/components/preview/preview.module.d.ts +11 -0
  15. package/cms/decorators/element.decorator.d.ts +2 -0
  16. package/cms/decorators/index.d.ts +1 -0
  17. package/cms/directives/custom-template.directive.d.ts +12 -0
  18. package/cms/engine/models/entity.d.ts +11 -0
  19. package/cms/engine/models/plugin.d.ts +5 -0
  20. package/cms/index.d.ts +11 -0
  21. package/cms/injection-tokens.d.ts +11 -0
  22. package/cms/launcher.module.d.ts +10 -0
  23. package/cms/modules/federated/default-options.d.ts +4 -0
  24. package/cms/modules/federated/export.d.ts +1 -0
  25. package/cms/modules/federated/federated.component.d.ts +26 -0
  26. package/cms/modules/federated/federated.module.d.ts +9 -0
  27. package/cms/modules/federated/federated.types.d.ts +30 -0
  28. package/cms/modules/federated/federated.utils.d.ts +1 -0
  29. package/cms/package.json +10 -0
  30. package/cms/plugins/configuration.plugin.d.ts +23 -0
  31. package/cms/plugins/io.plugin.d.ts +9 -0
  32. package/cms/plugins/script.plugin.d.ts +13 -0
  33. package/cms/services/dynamic-module.service.d.ts +15 -0
  34. package/cms/services/element-context.service.d.ts +8 -0
  35. package/cms/services/index.d.ts +3 -0
  36. package/cms/services/integration.state.d.ts +17 -0
  37. package/cms/services/io-provider.service.d.ts +15 -0
  38. package/cms/services/launcher.service.d.ts +18 -0
  39. package/cms/services/templates.service.d.ts +9 -0
  40. package/cms/types/common.types.d.ts +103 -0
  41. package/cms/types/configuration.types.d.ts +17 -0
  42. package/cms/types/elements.types.d.ts +2 -0
  43. package/cms/types/index.d.ts +5 -0
  44. package/cms/types/integration.types.d.ts +4 -0
  45. package/cms/types/path.types.d.ts +11 -0
  46. package/cms/utils/element.utils.d.ts +15 -0
  47. package/cms/utils/elements-resolver.d.ts +20 -0
  48. package/cms/utils/index.d.ts +3 -0
  49. package/cms/utils/path.utils.d.ts +5 -0
  50. package/cms/veloce-sdk-cms.d.ts +5 -0
  51. package/cms/vendor-map.d.ts +689 -0
  52. package/core/core.module.d.ts +8 -0
  53. package/core/index.d.ts +6 -0
  54. package/core/modules/configuration/configuration.module.d.ts +7 -0
  55. package/core/modules/configuration/helpers.d.ts +3 -0
  56. package/core/modules/configuration/index.d.ts +4 -0
  57. package/core/modules/configuration/services/configuration-runtime.service.d.ts +28 -0
  58. package/core/modules/configuration/services/configuration.service.d.ts +40 -0
  59. package/core/modules/configuration/services/runtime-context.service.d.ts +14 -0
  60. package/core/modules/configuration/types/configuration-runtime.types.d.ts +6 -0
  61. package/core/modules/flow-configuration/flow-configuration.module.d.ts +6 -0
  62. package/core/modules/flow-configuration/index.d.ts +4 -0
  63. package/core/modules/flow-configuration/services/flow-configuration.service.d.ts +37 -0
  64. package/core/modules/flow-configuration/services/flow-update.service.d.ts +12 -0
  65. package/core/modules/flow-configuration/types/update.types.d.ts +12 -0
  66. package/core/modules/index.d.ts +2 -0
  67. package/core/package.json +10 -0
  68. package/core/services/context.service.d.ts +17 -0
  69. package/core/services/index.d.ts +3 -0
  70. package/core/services/product-images.service.d.ts +12 -0
  71. package/core/services/quote-draft.service.d.ts +31 -0
  72. package/core/types/index.d.ts +3 -0
  73. package/core/types/quote-states.types.d.ts +6 -0
  74. package/core/types/runtime.types.d.ts +31 -0
  75. package/core/types/ui-definition.types.d.ts +26 -0
  76. package/core/utils/index.d.ts +2 -0
  77. package/core/utils/line-item.utils.d.ts +26 -0
  78. package/core/utils/line-item.worker.d.ts +12 -0
  79. package/core/veloce-sdk-core.d.ts +5 -0
  80. package/esm2015/cms/cms.actions.js +17 -0
  81. package/esm2015/cms/cms.default.js +6 -0
  82. package/esm2015/cms/cms.elements.js +29 -0
  83. package/esm2015/cms/components/element-children/element-children.component.js +23 -0
  84. package/esm2015/cms/components/element-children/element-children.module.js +18 -0
  85. package/esm2015/cms/components/element-renderer/element-renderer.component.js +143 -0
  86. package/esm2015/cms/components/element-renderer/element-renderer.module.js +16 -0
  87. package/esm2015/cms/components/element.component.js +31 -0
  88. package/esm2015/cms/components/index.js +2 -0
  89. package/esm2015/cms/components/plugin.component.js +16 -0
  90. package/esm2015/cms/components/preview/index.js +3 -0
  91. package/esm2015/cms/components/preview/preview.component.js +105 -0
  92. package/esm2015/cms/components/preview/preview.module.js +23 -0
  93. package/esm2015/cms/decorators/element.decorator.js +6 -0
  94. package/esm2015/cms/decorators/index.js +2 -0
  95. package/esm2015/cms/directives/custom-template.directive.js +25 -0
  96. package/esm2015/cms/engine/models/entity.js +18 -0
  97. package/esm2015/cms/engine/models/plugin.js +6 -0
  98. package/esm2015/cms/index.js +11 -0
  99. package/esm2015/cms/injection-tokens.js +8 -0
  100. package/esm2015/cms/launcher.module.js +23 -0
  101. package/esm2015/cms/modules/federated/default-options.js +5 -0
  102. package/esm2015/cms/modules/federated/export.js +2 -0
  103. package/esm2015/cms/modules/federated/federated.component.js +82 -0
  104. package/esm2015/cms/modules/federated/federated.module.js +19 -0
  105. package/esm2015/cms/modules/federated/federated.types.js +2 -0
  106. package/esm2015/cms/modules/federated/federated.utils.js +37 -0
  107. package/esm2015/cms/plugins/configuration.plugin.js +94 -0
  108. package/esm2015/cms/plugins/io.plugin.js +37 -0
  109. package/esm2015/cms/plugins/script.plugin.js +66 -0
  110. package/esm2015/cms/services/dynamic-module.service.js +33 -0
  111. package/esm2015/cms/services/element-context.service.js +10 -0
  112. package/esm2015/cms/services/index.js +4 -0
  113. package/esm2015/cms/services/integration.state.js +40 -0
  114. package/esm2015/cms/services/io-provider.service.js +51 -0
  115. package/esm2015/cms/services/launcher.service.js +57 -0
  116. package/esm2015/cms/services/templates.service.js +19 -0
  117. package/esm2015/cms/types/common.types.js +2 -0
  118. package/esm2015/cms/types/configuration.types.js +2 -0
  119. package/esm2015/cms/types/elements.types.js +2 -0
  120. package/esm2015/cms/types/index.js +6 -0
  121. package/esm2015/cms/types/integration.types.js +2 -0
  122. package/esm2015/cms/types/path.types.js +2 -0
  123. package/esm2015/cms/utils/element.utils.js +149 -0
  124. package/esm2015/cms/utils/elements-resolver.js +108 -0
  125. package/esm2015/cms/utils/index.js +4 -0
  126. package/esm2015/cms/utils/path.utils.js +67 -0
  127. package/esm2015/cms/veloce-sdk-cms.js +5 -0
  128. package/esm2015/cms/vendor-map.js +35 -0
  129. package/esm2015/core/core.module.js +18 -0
  130. package/esm2015/core/index.js +7 -0
  131. package/esm2015/core/modules/configuration/configuration.module.js +34 -0
  132. package/esm2015/core/modules/configuration/helpers.js +10 -0
  133. package/esm2015/core/modules/configuration/index.js +5 -0
  134. package/esm2015/core/modules/configuration/services/configuration-runtime.service.js +90 -0
  135. package/esm2015/core/modules/configuration/services/configuration.service.js +153 -0
  136. package/esm2015/core/modules/configuration/services/runtime-context.service.js +61 -0
  137. package/esm2015/core/modules/configuration/types/configuration-runtime.types.js +2 -0
  138. package/esm2015/core/modules/flow-configuration/flow-configuration.module.js +18 -0
  139. package/esm2015/core/modules/flow-configuration/index.js +5 -0
  140. package/esm2015/core/modules/flow-configuration/services/flow-configuration.service.js +90 -0
  141. package/esm2015/core/modules/flow-configuration/services/flow-update.service.js +114 -0
  142. package/esm2015/core/modules/flow-configuration/types/update.types.js +2 -0
  143. package/esm2015/core/modules/index.js +3 -0
  144. package/esm2015/core/services/context.service.js +44 -0
  145. package/esm2015/core/services/index.js +4 -0
  146. package/esm2015/core/services/product-images.service.js +30 -0
  147. package/esm2015/core/services/quote-draft.service.js +88 -0
  148. package/esm2015/core/types/index.js +4 -0
  149. package/esm2015/core/types/quote-states.types.js +2 -0
  150. package/esm2015/core/types/runtime.types.js +16 -0
  151. package/esm2015/core/types/ui-definition.types.js +2 -0
  152. package/esm2015/core/utils/index.js +3 -0
  153. package/esm2015/core/utils/line-item.utils.js +98 -0
  154. package/esm2015/core/utils/line-item.worker.js +19 -0
  155. package/esm2015/core/veloce-sdk-core.js +5 -0
  156. package/esm2015/index.js +2 -0
  157. package/esm2015/runtime/components/component-preview/component-preview.component.js +125 -0
  158. package/esm2015/runtime/components/index.js +5 -0
  159. package/esm2015/runtime/components/section-renderer/section-renderer.component.js +71 -0
  160. package/esm2015/runtime/components/ui-runtime/runtime.component.js +427 -0
  161. package/esm2015/runtime/components/ui-runtime-preview/runtime-preview.component.js +109 -0
  162. package/esm2015/runtime/execution/components/children-placeholder/children-placeholder.component.js +68 -0
  163. package/esm2015/runtime/execution/components/context-provider/context-provider.component.js +36 -0
  164. package/esm2015/runtime/execution/components/execution-section-renderer/execution-section-renderer.component.js +72 -0
  165. package/esm2015/runtime/execution/components/federated/federated.component.js +81 -0
  166. package/esm2015/runtime/execution/components/velo-attribute/velo-attribute.component.js +65 -0
  167. package/esm2015/runtime/execution/components/velo-multiselect/velo-multiselect.component.js +136 -0
  168. package/esm2015/runtime/execution/components/velo-port-checkbox/velo-port-checkbox.component.js +80 -0
  169. package/esm2015/runtime/execution/components/velo-port-dropdown/velo-port-dropdown.component.js +101 -0
  170. package/esm2015/runtime/execution/components/velo-port-radio/velo-port-radio.component.js +150 -0
  171. package/esm2015/runtime/execution/components/velo-type/velo-type.component.js +121 -0
  172. package/esm2015/runtime/execution/directives/section-script.directive.js +242 -0
  173. package/esm2015/runtime/execution/directives/sf-query.directive.js +34 -0
  174. package/esm2015/runtime/execution/directives/velo-attribute.directive.js +86 -0
  175. package/esm2015/runtime/execution/directives/velo-port.directive.js +373 -0
  176. package/esm2015/runtime/execution/directives/vl-approval.directive.js +22 -0
  177. package/esm2015/runtime/execution/directives/vl-document-attachments.directive.js +35 -0
  178. package/esm2015/runtime/execution/directives/vl-document-templates.directive.js +59 -0
  179. package/esm2015/runtime/execution/directives/vl-quote.directive.js +41 -0
  180. package/esm2015/runtime/execution/directives/vl-ramp.directive.js +51 -0
  181. package/esm2015/runtime/execution/runtime-execution.module.js +163 -0
  182. package/esm2015/runtime/execution/utils/federated.util.js +37 -0
  183. package/esm2015/runtime/index.js +5 -0
  184. package/esm2015/runtime/runtime.module.js +104 -0
  185. package/esm2015/runtime/services/cart.service.js +28 -0
  186. package/esm2015/runtime/services/collapsible-state.service.js +34 -0
  187. package/esm2015/runtime/services/configuration.service.js +102 -0
  188. package/esm2015/runtime/services/current-state.service.js +17 -0
  189. package/esm2015/runtime/services/form-scope.service.js +30 -0
  190. package/esm2015/runtime/services/index.js +4 -0
  191. package/esm2015/runtime/services/product-model-cache.service.js +30 -0
  192. package/esm2015/runtime/services/runtime-context.service.js +56 -0
  193. package/esm2015/runtime/services/runtime-form.service.js +224 -0
  194. package/esm2015/runtime/services/runtime.service.js +108 -0
  195. package/esm2015/runtime/services/section-helper.service.js +27 -0
  196. package/esm2015/runtime/services/section-scope.service.js +36 -0
  197. package/esm2015/runtime/services/section-store.service.js +22 -0
  198. package/esm2015/runtime/services/section.service.js +124 -0
  199. package/esm2015/runtime/types/bound-data.types.js +7 -0
  200. package/esm2015/runtime/types/index.js +2 -0
  201. package/esm2015/runtime/types/runtime.types.js +2 -0
  202. package/esm2015/runtime/types/script-registry.types.js +51 -0
  203. package/esm2015/runtime/utils/line-item.util.js +273 -0
  204. package/esm2015/runtime/utils/section.utils.js +26 -0
  205. package/esm2015/runtime/utils/sections-binder.helper.js +105 -0
  206. package/esm2015/runtime/veloce-sdk-runtime.js +5 -0
  207. package/esm2015/src/components/dialog/dialog.component.js +30 -0
  208. package/esm2015/src/components/dialog/dialog.module.js +19 -0
  209. package/esm2015/src/components/dialog/dialog.types.js +2 -0
  210. package/esm2015/src/components/header/cart-overlay/cart-preview.component.js +116 -0
  211. package/esm2015/src/components/header/cart-overlay/cart-preview.module.js +23 -0
  212. package/esm2015/src/components/header/header.component.js +196 -0
  213. package/esm2015/src/components/header/header.module.js +23 -0
  214. package/esm2015/src/components/header/header.types.js +2 -0
  215. package/esm2015/src/constants.js +2 -0
  216. package/esm2015/src/flow-routing.module.js +97 -0
  217. package/esm2015/src/flow.component.js +35 -0
  218. package/esm2015/src/flow.module.js +52 -0
  219. package/esm2015/src/guards/context.guard.js +75 -0
  220. package/esm2015/src/guards/index.js +2 -0
  221. package/esm2015/src/guards/product-unload.guard.js +43 -0
  222. package/esm2015/src/guards/root.guard.js +41 -0
  223. package/esm2015/src/index.js +7 -0
  224. package/esm2015/src/pages/catalog/catalog.component.js +117 -0
  225. package/esm2015/src/pages/catalog/catalog.module.js +20 -0
  226. package/esm2015/src/pages/debug/debug.component.js +65 -0
  227. package/esm2015/src/pages/debug/debug.module.js +48 -0
  228. package/esm2015/src/pages/legacy-product/legacy-product.component.js +132 -0
  229. package/esm2015/src/pages/legacy-product/legacy-product.module.js +21 -0
  230. package/esm2015/src/pages/product/product.component.js +95 -0
  231. package/esm2015/src/pages/product/product.module.js +20 -0
  232. package/esm2015/src/pages/record-not-found/record-not-found.component.js +29 -0
  233. package/esm2015/src/pages/record-not-found/record-not-found.module.js +20 -0
  234. package/esm2015/src/pages/shopping-cart/shopping-cart.component.js +117 -0
  235. package/esm2015/src/pages/shopping-cart/shopping-cart.module.js +20 -0
  236. package/esm2015/src/resolvers/flow.resolver.js +58 -0
  237. package/esm2015/src/resolvers/quote.resolver.js +45 -0
  238. package/esm2015/src/services/flow-dialog.service.js +80 -0
  239. package/esm2015/src/services/flow-router.service.js +124 -0
  240. package/esm2015/src/services/flow.service.js +67 -0
  241. package/esm2015/src/services/index.js +2 -0
  242. package/esm2015/src/types/context-route.types.js +2 -0
  243. package/esm2015/src/types/flow-customization.types.js +3 -0
  244. package/esm2015/src/types/index.js +3 -0
  245. package/esm2015/src/types/route.types.js +2 -0
  246. package/esm2015/src/utils/flow.utils.js +12 -0
  247. package/esm2015/src/utils/index.js +2 -0
  248. package/esm2015/veloce-sdk.js +5 -0
  249. package/fesm2015/veloce-sdk-cms.js +1301 -0
  250. package/fesm2015/veloce-sdk-cms.js.map +1 -0
  251. package/fesm2015/veloce-sdk-core.js +837 -0
  252. package/fesm2015/veloce-sdk-core.js.map +1 -0
  253. package/fesm2015/veloce-sdk-runtime.js +3895 -0
  254. package/fesm2015/veloce-sdk-runtime.js.map +1 -0
  255. package/fesm2015/veloce-sdk.js +1635 -0
  256. package/fesm2015/veloce-sdk.js.map +1 -0
  257. package/index.d.ts +1 -0
  258. package/package.json +49 -0
  259. package/runtime/components/component-preview/component-preview.component.d.ts +27 -0
  260. package/runtime/components/index.d.ts +4 -0
  261. package/runtime/components/section-renderer/section-renderer.component.d.ts +25 -0
  262. package/runtime/components/ui-runtime/runtime.component.d.ts +53 -0
  263. package/runtime/components/ui-runtime-preview/runtime-preview.component.d.ts +27 -0
  264. package/runtime/execution/components/children-placeholder/children-placeholder.component.d.ts +30 -0
  265. package/runtime/execution/components/context-provider/context-provider.component.d.ts +14 -0
  266. package/runtime/execution/components/execution-section-renderer/execution-section-renderer.component.d.ts +25 -0
  267. package/runtime/execution/components/federated/federated.component.d.ts +36 -0
  268. package/runtime/execution/components/velo-attribute/velo-attribute.component.d.ts +19 -0
  269. package/runtime/execution/components/velo-multiselect/velo-multiselect.component.d.ts +35 -0
  270. package/runtime/execution/components/velo-port-checkbox/velo-port-checkbox.component.d.ts +22 -0
  271. package/runtime/execution/components/velo-port-dropdown/velo-port-dropdown.component.d.ts +22 -0
  272. package/runtime/execution/components/velo-port-radio/velo-port-radio.component.d.ts +28 -0
  273. package/runtime/execution/components/velo-type/velo-type.component.d.ts +31 -0
  274. package/runtime/execution/directives/section-script.directive.d.ts +59 -0
  275. package/runtime/execution/directives/sf-query.directive.d.ts +15 -0
  276. package/runtime/execution/directives/velo-attribute.directive.d.ts +26 -0
  277. package/runtime/execution/directives/velo-port.directive.d.ts +74 -0
  278. package/runtime/execution/directives/vl-approval.directive.d.ts +10 -0
  279. package/runtime/execution/directives/vl-document-attachments.directive.d.ts +15 -0
  280. package/runtime/execution/directives/vl-document-templates.directive.d.ts +33 -0
  281. package/runtime/execution/directives/vl-quote.directive.d.ts +14 -0
  282. package/runtime/execution/directives/vl-ramp.directive.d.ts +15 -0
  283. package/runtime/execution/runtime-execution.module.d.ts +27 -0
  284. package/runtime/execution/utils/federated.util.d.ts +6 -0
  285. package/runtime/index.d.ts +4 -0
  286. package/runtime/package.json +10 -0
  287. package/runtime/runtime.module.d.ts +18 -0
  288. package/runtime/services/cart.service.d.ts +15 -0
  289. package/runtime/services/collapsible-state.service.d.ts +15 -0
  290. package/runtime/services/configuration.service.d.ts +19 -0
  291. package/runtime/services/current-state.service.d.ts +8 -0
  292. package/runtime/services/form-scope.service.d.ts +20 -0
  293. package/runtime/services/index.d.ts +3 -0
  294. package/runtime/services/product-model-cache.service.d.ts +14 -0
  295. package/runtime/services/runtime-context.service.d.ts +16 -0
  296. package/runtime/services/runtime-form.service.d.ts +24 -0
  297. package/runtime/services/runtime.service.d.ts +43 -0
  298. package/runtime/services/section-helper.service.d.ts +8 -0
  299. package/runtime/services/section-scope.service.d.ts +14 -0
  300. package/runtime/services/section-store.service.d.ts +11 -0
  301. package/runtime/services/section.service.d.ts +30 -0
  302. package/runtime/types/bound-data.types.d.ts +13 -0
  303. package/runtime/types/index.d.ts +1 -0
  304. package/runtime/types/runtime.types.d.ts +19 -0
  305. package/runtime/types/script-registry.types.d.ts +13 -0
  306. package/runtime/utils/line-item.util.d.ts +34 -0
  307. package/runtime/utils/section.utils.d.ts +2 -0
  308. package/runtime/utils/sections-binder.helper.d.ts +16 -0
  309. package/runtime/veloce-sdk-runtime.d.ts +5 -0
  310. package/src/components/dialog/dialog.component.d.ts +13 -0
  311. package/src/components/dialog/dialog.module.d.ts +9 -0
  312. package/src/components/dialog/dialog.types.d.ts +6 -0
  313. package/src/components/header/cart-overlay/cart-preview.component.d.ts +31 -0
  314. package/src/components/header/cart-overlay/cart-preview.module.d.ts +13 -0
  315. package/src/components/header/header.component.d.ts +48 -0
  316. package/src/components/header/header.module.d.ts +13 -0
  317. package/src/components/header/header.types.d.ts +19 -0
  318. package/src/constants.d.ts +1 -0
  319. package/src/flow-routing.module.d.ts +11 -0
  320. package/src/flow.component.d.ts +17 -0
  321. package/src/flow.module.d.ts +15 -0
  322. package/src/guards/context.guard.d.ts +18 -0
  323. package/src/guards/index.d.ts +1 -0
  324. package/src/guards/product-unload.guard.d.ts +16 -0
  325. package/src/guards/root.guard.d.ts +15 -0
  326. package/src/index.d.ts +6 -0
  327. package/src/pages/catalog/catalog.component.d.ts +32 -0
  328. package/src/pages/catalog/catalog.module.d.ts +10 -0
  329. package/src/pages/debug/debug.component.d.ts +27 -0
  330. package/src/pages/debug/debug.module.d.ts +14 -0
  331. package/src/pages/legacy-product/legacy-product.component.d.ts +37 -0
  332. package/src/pages/legacy-product/legacy-product.module.d.ts +10 -0
  333. package/src/pages/product/product.component.d.ts +30 -0
  334. package/src/pages/product/product.module.d.ts +10 -0
  335. package/src/pages/record-not-found/record-not-found.component.d.ts +11 -0
  336. package/src/pages/record-not-found/record-not-found.module.d.ts +9 -0
  337. package/src/pages/shopping-cart/shopping-cart.component.d.ts +32 -0
  338. package/src/pages/shopping-cart/shopping-cart.module.d.ts +10 -0
  339. package/src/resolvers/flow.resolver.d.ts +14 -0
  340. package/src/resolvers/quote.resolver.d.ts +18 -0
  341. package/src/services/flow-dialog.service.d.ts +20 -0
  342. package/src/services/flow-router.service.d.ts +35 -0
  343. package/src/services/flow.service.d.ts +17 -0
  344. package/src/services/index.d.ts +1 -0
  345. package/src/types/context-route.types.d.ts +5 -0
  346. package/src/types/flow-customization.types.d.ts +11 -0
  347. package/src/types/index.d.ts +2 -0
  348. package/src/types/route.types.d.ts +9 -0
  349. package/src/utils/flow.utils.d.ts +1 -0
  350. package/src/utils/index.d.ts +1 -0
  351. package/veloce-sdk.d.ts +5 -0
@@ -0,0 +1,95 @@
1
+ import { ChangeDetectionStrategy, Component, Inject, Optional } from '@angular/core';
2
+ import { EntityUtil } from '@veloce/core';
3
+ import { BehaviorSubject, catchError, first, of, Subject, switchMap, takeUntil, tap } from 'rxjs';
4
+ import { FLOW_CUSTOMIZATION } from '../../types/flow-customization.types';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@veloce/sdk/core";
7
+ import * as i2 from "primeng/api";
8
+ import * as i3 from "@veloce/components";
9
+ import * as i4 from "@veloce/sdk/cms";
10
+ import * as i5 from "@angular/common";
11
+ export class ProductComponent {
12
+ constructor(contextService, runtimeService, conigurationService, quoteDraftService, messageService, customizationService) {
13
+ this.contextService = contextService;
14
+ this.runtimeService = runtimeService;
15
+ this.conigurationService = conigurationService;
16
+ this.quoteDraftService = quoteDraftService;
17
+ this.messageService = messageService;
18
+ this.customizationService = customizationService;
19
+ this.destroy$ = new Subject();
20
+ this.state$ = new BehaviorSubject({ loading: true, failure: false });
21
+ }
22
+ ngOnInit() {
23
+ this.quoteDraftService.quote$.pipe(first(), takeUntil(this.destroy$)).subscribe(quote => this.init(quote));
24
+ }
25
+ ngOnDestroy() {
26
+ this.destroy$.next();
27
+ this.destroy$.complete();
28
+ }
29
+ customize(productId) {
30
+ var _a;
31
+ if (!((_a = this.customizationService) === null || _a === void 0 ? void 0 : _a.getUiDefinition)) {
32
+ return of(null);
33
+ }
34
+ return this.customizationService.getUiDefinition(productId).pipe(tap(uiDef => {
35
+ var _a;
36
+ if (uiDef) {
37
+ this.uiDefinition = uiDef;
38
+ this.runtimeService.uiDefinitionProperties = (_a = uiDef.properties) !== null && _a !== void 0 ? _a : {};
39
+ }
40
+ }));
41
+ }
42
+ init(quote) {
43
+ const contextProperties = this.contextService.resolve().properties;
44
+ const productId = contextProperties.productId;
45
+ if (!productId) {
46
+ return;
47
+ }
48
+ const lineItemId = this.getLineItemId(quote, productId, contextProperties.lineItemId);
49
+ const currentStateItem = EntityUtil.findById(lineItemId, quote.currentState);
50
+ const { offeringId } = currentStateItem !== null && currentStateItem !== void 0 ? currentStateItem : {};
51
+ if (currentStateItem) {
52
+ this.conigurationService.updateCurrentStates({
53
+ configurableRamp: currentStateItem,
54
+ currentState: quote.currentState,
55
+ });
56
+ }
57
+ this.runtimeService
58
+ .init({ productId, offeringId })
59
+ .pipe(tap(context => (this.uiDefinition = context === null || context === void 0 ? void 0 : context.uiDefinition)), switchMap(() => this.customize(productId)), switchMap(() => this.conigurationService.configure()), tap(() => this.state$.next({ loading: false, failure: false })), catchError(error => {
60
+ var _a, _b;
61
+ if (!((_b = (_a = this.uiDefinition) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.suppressToastMessages)) {
62
+ this.messageService.add({ severity: 'error', summary: error });
63
+ }
64
+ this.state$.next({ loading: false, failure: true });
65
+ return of();
66
+ }), takeUntil(this.destroy$))
67
+ .subscribe();
68
+ }
69
+ getLineItemId(quote, productId, lineItemId) {
70
+ var _a, _b;
71
+ // search by lineItemId first
72
+ let id = (_a = quote.currentState.find(li => li.id === lineItemId)) === null || _a === void 0 ? void 0 : _a.id;
73
+ if (!id) {
74
+ id = (_b = quote.currentState.find(li => li.productId === productId)) === null || _b === void 0 ? void 0 : _b.id;
75
+ }
76
+ return id;
77
+ }
78
+ }
79
+ ProductComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ProductComponent, deps: [{ token: i1.ContextService }, { token: i1.ConfigurationRuntimeService }, { token: i1.ConfigurationService }, { token: i1.QuoteDraftService }, { token: i2.MessageService }, { token: FLOW_CUSTOMIZATION, optional: true }], target: i0.ɵɵFactoryTarget.Component });
80
+ ProductComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: ProductComponent, selector: "vl-flow-product", ngImport: i0, template: "<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", styles: [""], components: [{ type: i3.LoaderComponent, selector: "vl-loader", inputs: ["label", "overlayVisible"] }, { type: i4.PreviewComponent, selector: "vl-cms-preview", inputs: ["modelId", "uiDefinition", "clearState"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ProductComponent, decorators: [{
82
+ type: Component,
83
+ args: [{
84
+ selector: 'vl-flow-product',
85
+ templateUrl: './product.component.html',
86
+ styleUrls: ['./product.component.scss'],
87
+ changeDetection: ChangeDetectionStrategy.OnPush,
88
+ }]
89
+ }], ctorParameters: function () { return [{ type: i1.ContextService }, { type: i1.ConfigurationRuntimeService }, { type: i1.ConfigurationService }, { type: i1.QuoteDraftService }, { type: i2.MessageService }, { type: undefined, decorators: [{
90
+ type: Optional
91
+ }, {
92
+ type: Inject,
93
+ args: [FLOW_CUSTOMIZATION]
94
+ }] }]; } });
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9zcmMvcGFnZXMvcHJvZHVjdC9wcm9kdWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9wYWdlcy9wcm9kdWN0L3Byb2R1Y3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQUUsVUFBVSxFQUF3QixNQUFNLGNBQWMsQ0FBQztBQVNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5RyxPQUFPLEVBQXFCLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7QUFhN0YsTUFBTSxPQUFPLGdCQUFnQjtJQU0zQixZQUNVLGNBQThCLEVBQzlCLGNBQTJDLEVBQzNDLG1CQUF5QyxFQUN6QyxpQkFBb0MsRUFDcEMsY0FBOEIsRUFDVSxvQkFBd0M7UUFMaEYsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLG1CQUFjLEdBQWQsY0FBYyxDQUE2QjtRQUMzQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXNCO1FBQ3pDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQ1UseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFvQjtRQVhsRixhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUdoQyxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxL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QUFROzswQkFBSSxNQUFNOzJCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFbnRpdHlVdGlsLCBMaW5lSXRlbSwgUXVvdGVEcmFmdCB9IGZyb20gJ0B2ZWxvY2UvY29yZSc7XG5pbXBvcnQge1xuICBDb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UsXG4gIENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICBDb250ZXh0U2VydmljZSxcbiAgUXVvdGVEcmFmdFNlcnZpY2UsXG4gIFVJRGVmaW5pdGlvbixcbn0gZnJvbSAnQHZlbG9jZS9zZGsvY29yZSc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY2F0Y2hFcnJvciwgZmlyc3QsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGbG93Q3VzdG9taXphdGlvbiwgRkxPV19DVVNUT01JWkFUSU9OIH0gZnJvbSAnLi4vLi4vdHlwZXMvZmxvdy1jdXN0b21pemF0aW9uLnR5cGVzJztcblxuaW50ZXJmYWNlIFN0YXRlIHtcbiAgbG9hZGluZzogYm9vbGVhbjtcbiAgZmFpbHVyZTogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmwtZmxvdy1wcm9kdWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9kdWN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwdWJsaWMgdWlEZWZpbml0aW9uPzogVUlEZWZpbml0aW9uO1xuICBwdWJsaWMgc3RhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTdGF0ZT4oeyBsb2FkaW5nOiB0cnVlLCBmYWlsdXJlOiBmYWxzZSB9KTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0U2VydmljZSxcbiAgICBwcml2YXRlIHJ1bnRpbWVTZXJ2aWNlOiBDb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25pZ3VyYXRpb25TZXJ2aWNlOiBDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHF1b3RlRHJhZnRTZXJ2aWNlOiBRdW90ZURyYWZ0U2VydmljZSxcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEZMT1dfQ1VTVE9NSVpBVElPTikgcHJpdmF0ZSBjdXN0b21pemF0aW9uU2VydmljZT86IEZsb3dDdXN0b21pemF0aW9uLFxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZSQucGlwZShmaXJzdCgpLCB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZShxdW90ZSA9PiB0aGlzLmluaXQocXVvdGUpKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgY3VzdG9taXplKHByb2R1Y3RJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBpZiAoIXRoaXMuY3VzdG9taXphdGlvblNlcnZpY2U/LmdldFVpRGVmaW5pdGlvbikge1xuICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlLmdldFVpRGVmaW5pdGlvbihwcm9kdWN0SWQpLnBpcGUoXG4gICAgICB0YXAodWlEZWYgPT4ge1xuICAgICAgICBpZiAodWlEZWYpIHtcbiAgICAgICAgICB0aGlzLnVpRGVmaW5pdGlvbiA9IHVpRGVmO1xuICAgICAgICAgIHRoaXMucnVudGltZVNlcnZpY2UudWlEZWZpbml0aW9uUHJvcGVydGllcyA9IHVpRGVmLnByb3BlcnRpZXMgPz8ge307XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGluaXQocXVvdGU6IFF1b3RlRHJhZnQpOiB2b2lkIHtcbiAgICBjb25zdCBjb250ZXh0UHJvcGVydGllcyA9IHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSgpLnByb3BlcnRpZXM7XG4gICAgY29uc3QgcHJvZHVjdElkID0gY29udGV4dFByb3BlcnRpZXMucHJvZHVjdElkO1xuXG4gICAgaWYgKCFwcm9kdWN0SWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBsaW5lSXRlbUlkID0gdGhpcy5nZXRMaW5lSXRlbUlkKHF1b3RlLCBwcm9kdWN0SWQsIGNvbnRleHRQcm9wZXJ0aWVzLmxpbmVJdGVtSWQpO1xuICAgIGNvbnN0IGN1cnJlbnRTdGF0ZUl0ZW06IExpbmVJdGVtIHwgdW5kZWZpbmVkID0gRW50aXR5VXRpbC5maW5kQnlJZChsaW5lSXRlbUlkLCBxdW90ZS5jdXJyZW50U3RhdGUpO1xuICAgIGNvbnN0IHsgb2ZmZXJpbmdJZCB9ID0gY3VycmVudFN0YXRlSXRlbSA/PyB7fTtcblxuICAgIGlmIChjdXJyZW50U3RhdGVJdGVtKSB7XG4gICAgICB0aGlzLmNvbmlndXJhdGlvblNlcnZpY2UudXBkYXRlQ3VycmVudFN0YXRlcyh7XG4gICAgICAgIGNvbmZpZ3VyYWJsZVJhbXA6IGN1cnJlbnRTdGF0ZUl0ZW0sXG4gICAgICAgIGN1cnJlbnRTdGF0ZTogcXVvdGUuY3VycmVudFN0YXRlLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5ydW50aW1lU2VydmljZVxuICAgICAgLmluaXQoeyBwcm9kdWN0SWQsIG9mZmVyaW5nSWQgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoY29udGV4dCA9PiAodGhpcy51aURlZmluaXRpb24gPSBjb250ZXh0Py51aURlZmluaXRpb24pKSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuY3VzdG9taXplKHByb2R1Y3RJZCkpLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5jb25pZ3VyYXRpb25TZXJ2aWNlLmNvbmZpZ3VyZSgpKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuc3RhdGUkLm5leHQoeyBsb2FkaW5nOiBmYWxzZSwgZmFpbHVyZTogZmFsc2UgfSkpLFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICBpZiAoIXRoaXMudWlEZWZpbml0aW9uPy5wcm9wZXJ0aWVzPy5zdXBwcmVzc1RvYXN0TWVzc2FnZXMpIHtcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdlcnJvcicsIHN1bW1hcnk6IGVycm9yIH0pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuc3RhdGUkLm5leHQoeyBsb2FkaW5nOiBmYWxzZSwgZmFpbHVyZTogdHJ1ZSB9KTtcbiAgICAgICAgICByZXR1cm4gb2YoKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TGluZUl0ZW1JZChxdW90ZTogUXVvdGVEcmFmdCwgcHJvZHVjdElkOiBzdHJpbmcsIGxpbmVJdGVtSWQ/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIC8vIHNlYXJjaCBieSBsaW5lSXRlbUlkIGZpcnN0XG4gICAgbGV0IGlkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBxdW90ZS5jdXJyZW50U3RhdGUuZmluZChsaSA9PiBsaS5pZCA9PT0gbGluZUl0ZW1JZCk/LmlkO1xuXG4gICAgaWYgKCFpZCkge1xuICAgICAgaWQgPSBxdW90ZS5jdXJyZW50U3RhdGUuZmluZChsaSA9PiBsaS5wcm9kdWN0SWQgPT09IHByb2R1Y3RJZCk/LmlkO1xuICAgIH1cblxuICAgIHJldHVybiBpZDtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0YXRlJCB8IGFzeW5jIGFzIHN0YXRlXCI+XG4gIDx2bC1sb2FkZXIgKm5nSWY9XCJzdGF0ZS5sb2FkaW5nOyBlbHNlIGNvbnRlbnRcIiBbbGFiZWxdPVwiJ0xvYWRpbmcgVUknXCI+PC92bC1sb2FkZXI+XG5cbiAgPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc3RhdGUuZmFpbHVyZVwiPlxuICAgICAgPHZsLWNtcy1wcmV2aWV3IFt1aURlZmluaXRpb25dPVwidWlEZWZpbml0aW9uXCI+PC92bC1jbXMtcHJldmlldz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -0,0 +1,20 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { LoaderModule } from '@veloce/components';
4
+ import { PreviewModule } from '@veloce/sdk/cms';
5
+ import { ProductComponent } from './product.component';
6
+ import * as i0 from "@angular/core";
7
+ export class ProductModule {
8
+ }
9
+ ProductModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ProductModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ ProductModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ProductModule, declarations: [ProductComponent], imports: [CommonModule, PreviewModule, LoaderModule], exports: [ProductComponent] });
11
+ ProductModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ProductModule, imports: [[CommonModule, PreviewModule, LoaderModule]] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ProductModule, decorators: [{
13
+ type: NgModule,
14
+ args: [{
15
+ declarations: [ProductComponent],
16
+ imports: [CommonModule, PreviewModule, LoaderModule],
17
+ exports: [ProductComponent],
18
+ }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9zcmMvcGFnZXMvcHJvZHVjdC9wcm9kdWN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQU92RCxNQUFNLE9BQU8sYUFBYTs7MkdBQWIsYUFBYTs0R0FBYixhQUFhLGlCQUpULGdCQUFnQixhQUNyQixZQUFZLEVBQUUsYUFBYSxFQUFFLFlBQVksYUFDekMsZ0JBQWdCOzRHQUVmLGFBQWEsWUFIZixDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsWUFBWSxDQUFDOzRGQUd6QyxhQUFhO2tCQUx6QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUNoQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLFlBQVksQ0FBQztvQkFDcEQsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7aUJBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2FkZXJNb2R1bGUgfSBmcm9tICdAdmVsb2NlL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgUHJldmlld01vZHVsZSB9IGZyb20gJ0B2ZWxvY2Uvc2RrL2Ntcyc7XG5pbXBvcnQgeyBQcm9kdWN0Q29tcG9uZW50IH0gZnJvbSAnLi9wcm9kdWN0LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1Byb2R1Y3RDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBQcmV2aWV3TW9kdWxlLCBMb2FkZXJNb2R1bGVdLFxuICBleHBvcnRzOiBbUHJvZHVjdENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,29 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/router";
4
+ import * as i2 from "@angular/common";
5
+ export class RecordNotFoundComponent {
6
+ constructor(router, route) {
7
+ this.router = router;
8
+ this.route = route;
9
+ this.subMessage = '';
10
+ const navigation = this.router.getCurrentNavigation();
11
+ const { state } = (navigation === null || navigation === void 0 ? void 0 : navigation.extras) || {};
12
+ this.message = state === null || state === void 0 ? void 0 : state.message;
13
+ if (typeof this.message === 'string') {
14
+ this.subMessage = this.message.includes('/describe') ? 'A potential problem with permissions' : '';
15
+ }
16
+ }
17
+ }
18
+ RecordNotFoundComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RecordNotFoundComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
19
+ RecordNotFoundComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: RecordNotFoundComponent, selector: "vl-flow-record-not-found", ngImport: i0, template: "<div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"message-wrapper\">\n <div class=\"msg\">\n <div *ngIf=\"message; else defaultMessage\" class=\"message-title\">\n <p>{{ message }}</p>\n\n <p *ngIf=\"subMessage\" class=\"message-title\">{{ subMessage }}</p>\n </div>\n\n <ng-template #defaultMessage>Record not found</ng-template>\n </div>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;padding:24px 54px}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RecordNotFoundComponent, decorators: [{
21
+ type: Component,
22
+ args: [{
23
+ selector: 'vl-flow-record-not-found',
24
+ templateUrl: './record-not-found.component.html',
25
+ styleUrls: ['./record-not-found.component.scss'],
26
+ changeDetection: ChangeDetectionStrategy.OnPush,
27
+ }]
28
+ }], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }]; } });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLW5vdC1mb3VuZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9zcmMvcGFnZXMvcmVjb3JkLW5vdC1mb3VuZC9yZWNvcmQtbm90LWZvdW5kLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9wYWdlcy9yZWNvcmQtbm90LWZvdW5kL3JlY29yZC1ub3QtZm91bmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVNuRSxNQUFNLE9BQU8sdUJBQXVCO0lBSWxDLFlBQW9CLE1BQWMsRUFBVSxLQUFxQjtRQUE3QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFGakUsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUdkLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUN0RCxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQSxVQUFVLGFBQVYsVUFBVSx1QkFBVixVQUFVLENBQUUsTUFBTSxLQUFJLEVBQUUsQ0FBQztRQUUzQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxPQUFPLENBQUM7UUFDOUIsSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLEtBQUssUUFBUSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLHNDQUFzQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDcEc7SUFDSCxDQUFDOztxSEFaVSx1QkFBdUI7eUdBQXZCLHVCQUF1QixnRUNUcEMsdWJBZUE7NEZETmEsdUJBQXVCO2tCQU5uQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFdBQVcsRUFBRSxtQ0FBbUM7b0JBQ2hELFNBQVMsRUFBRSxDQUFDLG1DQUFtQyxDQUFDO29CQUNoRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmwtZmxvdy1yZWNvcmQtbm90LWZvdW5kJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlY29yZC1ub3QtZm91bmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWNvcmQtbm90LWZvdW5kLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBSZWNvcmROb3RGb3VuZENvbXBvbmVudCB7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgc3ViTWVzc2FnZSA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7XG4gICAgY29uc3QgbmF2aWdhdGlvbiA9IHRoaXMucm91dGVyLmdldEN1cnJlbnROYXZpZ2F0aW9uKCk7XG4gICAgY29uc3QgeyBzdGF0ZSB9ID0gbmF2aWdhdGlvbj8uZXh0cmFzIHx8IHt9O1xuXG4gICAgdGhpcy5tZXNzYWdlID0gc3RhdGU/Lm1lc3NhZ2U7XG4gICAgaWYgKHR5cGVvZiB0aGlzLm1lc3NhZ2UgPT09ICdzdHJpbmcnKSB7XG4gICAgICB0aGlzLnN1Yk1lc3NhZ2UgPSB0aGlzLm1lc3NhZ2UuaW5jbHVkZXMoJy9kZXNjcmliZScpID8gJ0EgcG90ZW50aWFsIHByb2JsZW0gd2l0aCBwZXJtaXNzaW9ucycgOiAnJztcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxuICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlLXdyYXBwZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtc2dcIj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIm1lc3NhZ2U7IGVsc2UgZGVmYXVsdE1lc3NhZ2VcIiBjbGFzcz1cIm1lc3NhZ2UtdGl0bGVcIj5cbiAgICAgICAgICA8cD57eyBtZXNzYWdlIH19PC9wPlxuXG4gICAgICAgICAgPHAgKm5nSWY9XCJzdWJNZXNzYWdlXCIgY2xhc3M9XCJtZXNzYWdlLXRpdGxlXCI+e3sgc3ViTWVzc2FnZSB9fTwvcD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0TWVzc2FnZT5SZWNvcmQgbm90IGZvdW5kPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,20 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { RouterModule } from '@angular/router';
4
+ import { RecordNotFoundComponent } from './record-not-found.component';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/router";
7
+ const routes = [{ path: '', component: RecordNotFoundComponent }];
8
+ export class RecordNotFoundModule {
9
+ }
10
+ RecordNotFoundModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RecordNotFoundModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ RecordNotFoundModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RecordNotFoundModule, declarations: [RecordNotFoundComponent], imports: [CommonModule, i1.RouterModule] });
12
+ RecordNotFoundModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RecordNotFoundModule, imports: [[CommonModule, RouterModule.forChild(routes)]] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RecordNotFoundModule, decorators: [{
14
+ type: NgModule,
15
+ args: [{
16
+ declarations: [RecordNotFoundComponent],
17
+ imports: [CommonModule, RouterModule.forChild(routes)],
18
+ }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLW5vdC1mb3VuZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9zcmMvcGFnZXMvcmVjb3JkLW5vdC1mb3VuZC9yZWNvcmQtbm90LWZvdW5kLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7OztBQUV2RSxNQUFNLE1BQU0sR0FBVyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQyxDQUFDO0FBTTFFLE1BQU0sT0FBTyxvQkFBb0I7O2tIQUFwQixvQkFBb0I7bUhBQXBCLG9CQUFvQixpQkFIaEIsdUJBQXVCLGFBQzVCLFlBQVk7bUhBRVgsb0JBQW9CLFlBRnRCLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7NEZBRTNDLG9CQUFvQjtrQkFKaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDdkMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQ3ZEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUsIFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBSZWNvcmROb3RGb3VuZENvbXBvbmVudCB9IGZyb20gJy4vcmVjb3JkLW5vdC1mb3VuZC5jb21wb25lbnQnO1xuXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFt7IHBhdGg6ICcnLCBjb21wb25lbnQ6IFJlY29yZE5vdEZvdW5kQ29tcG9uZW50IH1dO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtSZWNvcmROb3RGb3VuZENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpXSxcbn0pXG5leHBvcnQgY2xhc3MgUmVjb3JkTm90Rm91bmRNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,117 @@
1
+ import { ChangeDetectionStrategy, Component, Inject, Optional, } from '@angular/core';
2
+ import { ToastType } from '@veloce/components';
3
+ import { UITemplateComponentType, UITemplateType, } from '@veloce/core';
4
+ import { BehaviorSubject, catchError, map, of, Subject, switchMap, takeUntil, tap } from 'rxjs';
5
+ import { FLOW_CUSTOMIZATION } from '../../types';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@veloce/api";
8
+ import * as i2 from "@veloce/sdk/core";
9
+ import * as i3 from "@veloce/components";
10
+ import * as i4 from "@veloce/sdk/cms";
11
+ import * as i5 from "@angular/common";
12
+ export class ShoppingCartComponent {
13
+ constructor(templatesApi, contextService, cdr, toastService, customizationService) {
14
+ var _a;
15
+ this.templatesApi = templatesApi;
16
+ this.contextService = contextService;
17
+ this.cdr = cdr;
18
+ this.toastService = toastService;
19
+ this.customizationService = customizationService;
20
+ this.uiDefinition = undefined;
21
+ this.state$ = new BehaviorSubject({ loading: true, failure: false });
22
+ this.templateApiName = '';
23
+ this.destroyed$ = new Subject();
24
+ this.templateApiName = (_a = this.contextService.resolve().properties.cartTemplateApiName) !== null && _a !== void 0 ? _a : '';
25
+ }
26
+ ngOnInit() {
27
+ this.generateUIDefinition$()
28
+ .pipe(tap(uiDef => {
29
+ if (!uiDef) {
30
+ throw new Error(`Component with name '${this.templateApiName}' not found.`);
31
+ }
32
+ this.uiDefinition = uiDef;
33
+ this.state$.next({ loading: false, failure: false });
34
+ }), catchError(err => {
35
+ var _a;
36
+ const message = 'Failed to resolve Shopping cart component. ' + ((_a = err.message) !== null && _a !== void 0 ? _a : '');
37
+ this.toastService.add({ severity: ToastType.error, summary: message, sticky: true });
38
+ this.uiDefinition = undefined;
39
+ this.state$.next({ loading: false, failure: true });
40
+ return of();
41
+ }), takeUntil(this.destroyed$))
42
+ .subscribe(() => this.cdr.detectChanges());
43
+ }
44
+ ngOnDestroy() {
45
+ this.destroyed$.next();
46
+ this.destroyed$.complete();
47
+ }
48
+ getTemplateRootComponent$(template) {
49
+ return this.templatesApi
50
+ .fetchComponents$(template.id)
51
+ .pipe(map(components => { var _a; return (_a = components.find(c => c.type === UITemplateComponentType.ROOT)) !== null && _a !== void 0 ? _a : undefined; }));
52
+ }
53
+ getLocalShoppingCartComponentMeta$() {
54
+ var _a, _b;
55
+ if (!((_a = this.customizationService) === null || _a === void 0 ? void 0 : _a.getShoppingCartComponent)) {
56
+ return of(undefined);
57
+ }
58
+ return (_b = this.customizationService) === null || _b === void 0 ? void 0 : _b.getShoppingCartComponent(this.templateApiName).pipe(map(component => {
59
+ if (!component) {
60
+ return;
61
+ }
62
+ return {
63
+ html: component.html,
64
+ css: component.css,
65
+ js: component.js,
66
+ json: component.json,
67
+ };
68
+ }));
69
+ }
70
+ getShoppingCartComponentMeta$() {
71
+ return this.templatesApi.fetchTemplates$().pipe(map(templates => templates.find(template => template.type === UITemplateType.SHOPPING_CART && template.name === this.templateApiName)), switchMap(template => (template ? this.getTemplateRootComponent$(template) : of(undefined))), switchMap(component => component ? this.templatesApi.fetchComponentAttachments$(component.uiTemplateId, component) : of(undefined)));
72
+ }
73
+ generateUIDefinition$() {
74
+ return of(undefined).pipe(tap(() => {
75
+ if (!this.templateApiName) {
76
+ throw new Error("Flow Query parameter 'cartTemplateApiName' is missing.");
77
+ }
78
+ }), switchMap(() => this.getLocalShoppingCartComponentMeta$()), switchMap(meta => (meta ? of(meta) : this.getShoppingCartComponentMeta$())), map(meta => {
79
+ if (!meta) {
80
+ return;
81
+ }
82
+ const uiDef = {
83
+ name: '',
84
+ createdTimestamp: 0,
85
+ primary: true,
86
+ type: 'DEFAULT',
87
+ version: 2,
88
+ children: [
89
+ {
90
+ children: [],
91
+ template: meta.html && btoa(meta.html),
92
+ script: meta.js && btoa(meta.js),
93
+ styles: meta.css && btoa(meta.css),
94
+ },
95
+ ],
96
+ };
97
+ return uiDef;
98
+ }));
99
+ }
100
+ }
101
+ ShoppingCartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ShoppingCartComponent, deps: [{ token: i1.UITemplatesApiService }, { token: i2.ContextService }, { token: i0.ChangeDetectorRef }, { token: i3.ToastService }, { token: FLOW_CUSTOMIZATION, optional: true }], target: i0.ɵɵFactoryTarget.Component });
102
+ ShoppingCartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: ShoppingCartComponent, selector: "vl-flow-shopping-cart", ngImport: i0, template: "<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", styles: [""], components: [{ type: i3.LoaderComponent, selector: "vl-loader", inputs: ["label", "overlayVisible"] }, { type: i4.PreviewComponent, selector: "vl-cms-preview", inputs: ["modelId", "uiDefinition", "clearState"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
103
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ShoppingCartComponent, decorators: [{
104
+ type: Component,
105
+ args: [{
106
+ selector: 'vl-flow-shopping-cart',
107
+ templateUrl: './shopping-cart.component.html',
108
+ styleUrls: ['./shopping-cart.component.scss'],
109
+ changeDetection: ChangeDetectionStrategy.OnPush,
110
+ }]
111
+ }], ctorParameters: function () { return [{ type: i1.UITemplatesApiService }, { type: i2.ContextService }, { type: i0.ChangeDetectorRef }, { type: i3.ToastService }, { type: undefined, decorators: [{
112
+ type: Optional
113
+ }, {
114
+ type: Inject,
115
+ args: [FLOW_CUSTOMIZATION]
116
+ }] }]; } });
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvcHBpbmctY2FydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9zcmMvcGFnZXMvc2hvcHBpbmctY2FydC9zaG9wcGluZy1jYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9wYWdlcy9zaG9wcGluZy1jYXJ0L3Nob3BwaW5nLWNhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsTUFBTSxFQUdOLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdELE9BQU8sRUFJTCx1QkFBdUIsRUFDdkIsY0FBYyxHQUNmLE1BQU0sY0FBYyxDQUFDO0FBRXRCLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVHLE9BQU8sRUFBcUIsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7Ozs7QUFhcEUsTUFBTSxPQUFPLHFCQUFxQjtJQU9oQyxZQUNVLFlBQW1DLEVBQ25DLGNBQThCLEVBQzlCLEdBQXNCLEVBQ3RCLFlBQTBCLEVBQ2Msb0JBQXdDOztRQUpoRixpQkFBWSxHQUFaLFlBQVksQ0FBdUI7UUFDbkMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQ2MseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFvQjtRQVhuRixpQkFBWSxHQUFrQixTQUFTLENBQUM7UUFDeEMsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFRLEVBQUUsT0FBTyxF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aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEluamVjdCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVJVGVtcGxhdGVzQXBpU2VydmljZSB9IGZyb20gJ0B2ZWxvY2UvYXBpJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSwgVG9hc3RUeXBlIH0gZnJvbSAnQHZlbG9jZS9jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIENvbXBvbmVudEF0dGFjaG1lbnRzLFxuICBUZW1wbGF0ZUNvbXBvbmVudCxcbiAgVUlUZW1wbGF0ZSxcbiAgVUlUZW1wbGF0ZUNvbXBvbmVudFR5cGUsXG4gIFVJVGVtcGxhdGVUeXBlLFxufSBmcm9tICdAdmVsb2NlL2NvcmUnO1xuaW1wb3J0IHsgQ29udGV4dFNlcnZpY2UsIFVJRGVmaW5pdGlvbiB9IGZyb20gJ0B2ZWxvY2Uvc2RrL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjYXRjaEVycm9yLCBtYXAsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGbG93Q3VzdG9taXphdGlvbiwgRkxPV19DVVNUT01JWkFUSU9OIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5pbnRlcmZhY2UgU3RhdGUge1xuICBsb2FkaW5nOiBib29sZWFuO1xuICBmYWlsdXJlOiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2bC1mbG93LXNob3BwaW5nLWNhcnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2hvcHBpbmctY2FydC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Nob3BwaW5nLWNhcnQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNob3BwaW5nQ2FydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIHVpRGVmaW5pdGlvbj86IFVJRGVmaW5pdGlvbiA9IHVuZGVmaW5lZDtcbiAgcHVibGljIHN0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U3RhdGU+KHsgbG9hZGluZzogdHJ1ZSwgZmFpbHVyZTogZmFsc2UgfSk7XG5cbiAgcHJpdmF0ZSB0ZW1wbGF0ZUFwaU5hbWUgPSAnJztcbiAgcHJpdmF0ZSBkZXN0cm95ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRlbXBsYXRlc0FwaTogVUlUZW1wbGF0ZXNBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRkxPV19DVVNUT01JWkFUSU9OKSBwcml2YXRlIGN1c3RvbWl6YXRpb25TZXJ2aWNlPzogRmxvd0N1c3RvbWl6YXRpb24sXG4gICkge1xuICAgIHRoaXMudGVtcGxhdGVBcGlOYW1lID0gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCkucHJvcGVydGllcy5jYXJ0VGVtcGxhdGVBcGlOYW1lID8/ICcnO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5nZW5lcmF0ZVVJRGVmaW5pdGlvbiQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCh1aURlZiA9PiB7XG4gICAgICAgICAgaWYgKCF1aURlZikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb21wb25lbnQgd2l0aCBuYW1lICcke3RoaXMudGVtcGxhdGVBcGlOYW1lfScgbm90IGZvdW5kLmApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMudWlEZWZpbml0aW9uID0gdWlEZWY7XG4gICAgICAgICAgdGhpcy5zdGF0ZSQubmV4dCh7IGxvYWRpbmc6IGZhbHNlLCBmYWlsdXJlOiBmYWxzZSB9KTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcbiAgICAgICAgICBjb25zdCBtZXNzYWdlID0gJ0ZhaWxlZCB0byByZXNvbHZlIFNob3BwaW5nIGNhcnQgY29tcG9uZW50LiAnICsgKGVyci5tZXNzYWdlID8/ICcnKTtcbiAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5hZGQoeyBzZXZlcml0eTogVG9hc3RUeXBlLmVycm9yLCBzdW1tYXJ5OiBtZXNzYWdlLCBzdGlja3k6IHRydWUgfSk7XG5cbiAgICAgICAgICB0aGlzLnVpRGVmaW5pdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICB0aGlzLnN0YXRlJC5uZXh0KHsgbG9hZGluZzogZmFsc2UsIGZhaWx1cmU6IHRydWUgfSk7XG4gICAgICAgICAgcmV0dXJuIG9mKCk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveWVkJC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95ZWQkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGdldFRlbXBsYXRlUm9vdENvbXBvbmVudCQodGVtcGxhdGU6IFVJVGVtcGxhdGUpOiBPYnNlcnZhYmxlPFRlbXBsYXRlQ29tcG9uZW50IHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMudGVtcGxhdGVzQXBpXG4gICAgICAuZmV0Y2hDb21wb25lbnRzJCh0ZW1wbGF0ZS5pZClcbiAgICAgIC5waXBlKG1hcChjb21wb25lbnRzID0+IGNvbXBvbmVudHMuZmluZChjID0+IGMudHlwZSA9PT0gVUlUZW1wbGF0ZUNvbXBvbmVudFR5cGUuUk9PVCkgPz8gdW5kZWZpbmVkKSk7XG4gIH1cblxuICBwcml2YXRlIGdldExvY2FsU2hvcHBpbmdDYXJ0Q29tcG9uZW50TWV0YSQoKTogT2JzZXJ2YWJsZTxDb21wb25lbnRBdHRhY2htZW50cyB8IHVuZGVmaW5lZD4ge1xuICAgIGlmICghdGhpcy5jdXN0b21pemF0aW9uU2VydmljZT8uZ2V0U2hvcHBpbmdDYXJ0Q29tcG9uZW50KSB7XG4gICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jdXN0b21pemF0aW9uU2VydmljZT8uZ2V0U2hvcHBpbmdDYXJ0Q29tcG9uZW50KHRoaXMudGVtcGxhdGVBcGlOYW1lKS5waXBlKFxuICAgICAgbWFwKGNvbXBvbmVudCA9PiB7XG4gICAgICAgIGlmICghY29tcG9uZW50KSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIDxDb21wb25lbnRBdHRhY2htZW50cz57XG4gICAgICAgICAgaHRtbDogY29tcG9uZW50Lmh0bWwsXG4gICAgICAgICAgY3NzOiBjb21wb25lbnQuY3NzLFxuICAgICAgICAgIGpzOiBjb21wb25lbnQuanMsXG4gICAgICAgICAganNvbjogY29tcG9uZW50Lmpzb24sXG4gICAgICAgIH07XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTaG9wcGluZ0NhcnRDb21wb25lbnRNZXRhJCgpIHtcbiAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZXNBcGkuZmV0Y2hUZW1wbGF0ZXMkKCkucGlwZShcbiAgICAgIG1hcDxVSVRlbXBsYXRlW10sIFVJVGVtcGxhdGUgfCB1bmRlZmluZWQ+KHRlbXBsYXRlcyA9PlxuICAgICAgICB0ZW1wbGF0ZXMuZmluZChcbiAgICAgICAgICB0ZW1wbGF0ZSA9PiB0ZW1wbGF0ZS50eXBlID09PSBVSVRlbXBsYXRlVHlwZS5TSE9QUElOR19DQVJUICYmIHRlbXBsYXRlLm5hbWUgPT09IHRoaXMudGVtcGxhdGVBcGlOYW1lLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICAgIHN3aXRjaE1hcCh0ZW1wbGF0ZSA9PiAodGVtcGxhdGUgPyB0aGlzLmdldFRlbXBsYXRlUm9vdENvbXBvbmVudCQodGVtcGxhdGUpIDogb2YodW5kZWZpbmVkKSkpLFxuICAgICAgc3dpdGNoTWFwKGNvbXBvbmVudCA9PlxuICAgICAgICBjb21wb25lbnQgPyB0aGlzLnRlbXBsYXRlc0FwaS5mZXRjaENvbXBvbmVudEF0dGFjaG1lbnRzJChjb21wb25lbnQudWlUZW1wbGF0ZUlkLCBjb21wb25lbnQpIDogb2YodW5kZWZpbmVkKSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVVSURlZmluaXRpb24kKCk6IE9ic2VydmFibGU8VUlEZWZpbml0aW9uIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIG9mKHVuZGVmaW5lZCkucGlwZShcbiAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy50ZW1wbGF0ZUFwaU5hbWUpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJGbG93IFF1ZXJ5IHBhcmFtZXRlciAnY2FydFRlbXBsYXRlQXBpTmFtZScgaXMgbWlzc2luZy5cIik7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuZ2V0TG9jYWxTaG9wcGluZ0NhcnRDb21wb25lbnRNZXRhJCgpKSxcbiAgICAgIHN3aXRjaE1hcChtZXRhID0+IChtZXRhID8gb2YobWV0YSkgOiB0aGlzLmdldFNob3BwaW5nQ2FydENvbXBvbmVudE1ldGEkKCkpKSxcbiAgICAgIG1hcChtZXRhID0+IHtcbiAgICAgICAgaWYgKCFtZXRhKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdWlEZWY6IFVJRGVmaW5pdGlvbiA9IHtcbiAgICAgICAgICBuYW1lOiAnJyxcbiAgICAgICAgICBjcmVhdGVkVGltZXN0YW1wOiAwLFxuICAgICAgICAgIHByaW1hcnk6IHRydWUsXG4gICAgICAgICAgdHlwZTogJ0RFRkFVTFQnLFxuICAgICAgICAgIHZlcnNpb246IDIsXG4gICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgICAgICAgICB0ZW1wbGF0ZTogbWV0YS5odG1sICYmIGJ0b2EobWV0YS5odG1sKSxcbiAgICAgICAgICAgICAgc2NyaXB0OiBtZXRhLmpzICYmIGJ0b2EobWV0YS5qcyksXG4gICAgICAgICAgICAgIHN0eWxlczogbWV0YS5jc3MgJiYgYnRvYShtZXRhLmNzcyksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHVpRGVmO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0YXRlJCB8IGFzeW5jIGFzIHN0YXRlXCI+XG4gIDx2bC1sb2FkZXIgKm5nSWY9XCJzdGF0ZS5sb2FkaW5nOyBlbHNlIGNvbnRlbnRcIiBbbGFiZWxdPVwiJ0xvYWRpbmcgVUknXCI+PC92bC1sb2FkZXI+XG5cbiAgPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc3RhdGUuZmFpbHVyZVwiPlxuICAgICAgPHZsLWNtcy1wcmV2aWV3IFt1aURlZmluaXRpb25dPVwidWlEZWZpbml0aW9uXCI+PC92bC1jbXMtcHJldmlldz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -0,0 +1,20 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { LoaderModule } from '@veloce/components';
4
+ import { PreviewModule } from '@veloce/sdk/cms';
5
+ import { ShoppingCartComponent } from './shopping-cart.component';
6
+ import * as i0 from "@angular/core";
7
+ export class ShoppingCartModule {
8
+ }
9
+ ShoppingCartModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ShoppingCartModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ ShoppingCartModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ShoppingCartModule, declarations: [ShoppingCartComponent], imports: [CommonModule, PreviewModule, LoaderModule], exports: [ShoppingCartComponent] });
11
+ ShoppingCartModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ShoppingCartModule, imports: [[CommonModule, PreviewModule, LoaderModule]] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ShoppingCartModule, decorators: [{
13
+ type: NgModule,
14
+ args: [{
15
+ declarations: [ShoppingCartComponent],
16
+ imports: [CommonModule, PreviewModule, LoaderModule],
17
+ exports: [ShoppingCartComponent],
18
+ }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvcHBpbmctY2FydC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9zcmMvcGFnZXMvc2hvcHBpbmctY2FydC9zaG9wcGluZy1jYXJ0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQU9sRSxNQUFNLE9BQU8sa0JBQWtCOztnSEFBbEIsa0JBQWtCO2lIQUFsQixrQkFBa0IsaUJBSmQscUJBQXFCLGFBQzFCLFlBQVksRUFBRSxhQUFhLEVBQUUsWUFBWSxhQUN6QyxxQkFBcUI7aUhBRXBCLGtCQUFrQixZQUhwQixDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsWUFBWSxDQUFDOzRGQUd6QyxrQkFBa0I7a0JBTDlCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMscUJBQXFCLENBQUM7b0JBQ3JDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsWUFBWSxDQUFDO29CQUNwRCxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvYWRlck1vZHVsZSB9IGZyb20gJ0B2ZWxvY2UvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBQcmV2aWV3TW9kdWxlIH0gZnJvbSAnQHZlbG9jZS9zZGsvY21zJztcbmltcG9ydCB7IFNob3BwaW5nQ2FydENvbXBvbmVudCB9IGZyb20gJy4vc2hvcHBpbmctY2FydC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTaG9wcGluZ0NhcnRDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBQcmV2aWV3TW9kdWxlLCBMb2FkZXJNb2R1bGVdLFxuICBleHBvcnRzOiBbU2hvcHBpbmdDYXJ0Q29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2hvcHBpbmdDYXJ0TW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,58 @@
1
+ import { HttpErrorResponse } from '@angular/common/http';
2
+ import { Injectable } from '@angular/core';
3
+ import { map } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/router";
6
+ import * as i2 from "@veloce/api";
7
+ import * as i3 from "../services/flow-router.service";
8
+ export class FlowResolver {
9
+ constructor(router, flowsApiService, routerService) {
10
+ this.router = router;
11
+ this.flowsApiService = flowsApiService;
12
+ this.routerService = routerService;
13
+ }
14
+ handleError(route, message, queryParams) {
15
+ const parentUrl = this.routerService.getFlowRootPath(route);
16
+ return this.router.navigate([parentUrl, '404'], {
17
+ queryParams,
18
+ state: {
19
+ message: message,
20
+ },
21
+ });
22
+ }
23
+ resolve(route) {
24
+ const { queryParams } = route;
25
+ const { flowId } = queryParams;
26
+ if (!flowId) {
27
+ return this.handleError(route);
28
+ }
29
+ return this.flowsApiService.getFlow(flowId).pipe(map(flow => {
30
+ if (!flow) {
31
+ return this.handleError(route, `Flow with flowId=${flowId} is not defined`);
32
+ }
33
+ const { properties } = flow;
34
+ const { queryParams: flowQueryParams, entryPath } = properties;
35
+ const isProductFlow = entryPath.includes('/product');
36
+ const mergedParams = Object.assign(Object.assign(Object.assign({}, queryParams), flowQueryParams), Object.assign({}, (isProductFlow && { standalone: true })));
37
+ const parentUrl = this.routerService.getFlowRootPath(route);
38
+ const entryUrl = String(entryPath !== null && entryPath !== void 0 ? entryPath : '')
39
+ .split('/')
40
+ .filter(Boolean);
41
+ return this.router
42
+ .navigate([parentUrl, ...entryUrl], {
43
+ queryParams: mergedParams,
44
+ replaceUrl: true,
45
+ })
46
+ .catch(e => {
47
+ const message = e instanceof HttpErrorResponse ? e.error.message : e;
48
+ return this.handleError(route, message, mergedParams);
49
+ });
50
+ }));
51
+ }
52
+ }
53
+ FlowResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowResolver, deps: [{ token: i1.Router }, { token: i2.FlowsApiService }, { token: i3.FlowRouterService }], target: i0.ɵɵFactoryTarget.Injectable });
54
+ FlowResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowResolver });
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowResolver, decorators: [{
56
+ type: Injectable
57
+ }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.FlowsApiService }, { type: i3.FlowRouterService }]; } });
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy5yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9yZXNvbHZlcnMvZmxvdy5yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFJckMsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFDVSxNQUFjLEVBQ2QsZUFBZ0MsRUFDaEMsYUFBZ0M7UUFGaEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxrQkFBYSxHQUFiLGFBQWEsQ0FBbUI7SUFDdkMsQ0FBQztJQUVJLFdBQVcsQ0FDakIsS0FBNkIsRUFDN0IsT0FBZ0IsRUFDaEIsV0FBNkI7UUFFN0IsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsRUFBRTtZQUM5QyxXQUFXO1lBQ1gsS0FBSyxFQUFFO2dCQUNMLE9BQU8sRUFBRSxPQUFPO2FBQ2pCO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUE2QjtRQUNuQyxNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBQzlCLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxXQUFXLENBQUM7UUFFL0IsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNoQztRQUVELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUM5QyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDVCxJQUFJLENBQUMsSUFBSSxFQUFFO2dCQUNULE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsb0JBQW9CLE1BQU0saUJBQWlCLENBQUMsQ0FBQzthQUM3RTtZQUVELE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxJQUFJLENBQUM7WUFDNUIsTUFBTSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLEdBQUcsVUFBVSxDQUFDO1lBQy9ELE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDckQsTUFBTSxZQUFZLGlEQUNiLFdBQVcsR0FDWCxlQUFlLEdBQ2Qsa0JBQ0MsQ0FBQyxhQUFhLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FDMUMsQ0FDSCxDQUFDO1lBRUYsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsYUFBVCxTQUFTLGNBQVQsU0FBUyxHQUFJLEVBQUUsQ0FBQztpQkFDckMsS0FBSyxDQUFDLEdBQUcsQ0FBQztpQkFDVixNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFbkIsT0FBTyxJQUFJLENBQUMsTUFBTTtpQkFDZixRQUFRLENBQUMsQ0FBQyxTQUFTLEVBQUUsR0FBRyxRQUFRLENBQUMsRUFBRTtnQkFDbEMsV0FBVyxFQUFFLFlBQVk7Z0JBQ3pCLFVBQVUsRUFBRSxJQUFJO2FBQ2pCLENBQUM7aUJBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNULE1BQU0sT0FBTyxHQUFHLENBQUMsWUFBWSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDckUsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDeEQsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7MEdBOURVLFlBQVk7OEdBQVosWUFBWTs0RkFBWixZQUFZO2tCQUR4QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBSZXNvbHZlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRmxvd3NBcGlTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZS9hcGknO1xuaW1wb3J0IHsgRmxvd1F1ZXJ5UGFyYW1zIH0gZnJvbSAnQHZlbG9jZS9jb3JlJztcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRmxvd1JvdXRlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9mbG93LXJvdXRlci5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZsb3dSZXNvbHZlciBpbXBsZW1lbnRzIFJlc29sdmU8UHJvbWlzZTxib29sZWFuPj4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgZmxvd3NBcGlTZXJ2aWNlOiBGbG93c0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXJTZXJ2aWNlOiBGbG93Um91dGVyU2VydmljZSxcbiAgKSB7fVxuXG4gIHByaXZhdGUgaGFuZGxlRXJyb3IoXG4gICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4gICAgbWVzc2FnZT86IHN0cmluZyxcbiAgICBxdWVyeVBhcmFtcz86IERpY3Rpb25hcnk8YW55PixcbiAgKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgcGFyZW50VXJsID0gdGhpcy5yb3V0ZXJTZXJ2aWNlLmdldEZsb3dSb290UGF0aChyb3V0ZSk7XG4gICAgcmV0dXJuIHRoaXMucm91dGVyLm5hdmlnYXRlKFtwYXJlbnRVcmwsICc0MDQnXSwge1xuICAgICAgcXVlcnlQYXJhbXMsXG4gICAgICBzdGF0ZToge1xuICAgICAgICBtZXNzYWdlOiBtZXNzYWdlLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHJlc29sdmUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpIHtcbiAgICBjb25zdCB7IHF1ZXJ5UGFyYW1zIH0gPSByb3V0ZTtcbiAgICBjb25zdCB7IGZsb3dJZCB9ID0gcXVlcnlQYXJhbXM7XG5cbiAgICBpZiAoIWZsb3dJZCkge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlRXJyb3Iocm91dGUpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmZsb3dzQXBpU2VydmljZS5nZXRGbG93KGZsb3dJZCkucGlwZShcbiAgICAgIG1hcChmbG93ID0+IHtcbiAgICAgICAgaWYgKCFmbG93KSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlRXJyb3Iocm91dGUsIGBGbG93IHdpdGggZmxvd0lkPSR7Zmxvd0lkfSBpcyBub3QgZGVmaW5lZGApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyBwcm9wZXJ0aWVzIH0gPSBmbG93O1xuICAgICAgICBjb25zdCB7IHF1ZXJ5UGFyYW1zOiBmbG93UXVlcnlQYXJhbXMsIGVudHJ5UGF0aCB9ID0gcHJvcGVydGllcztcbiAgICAgICAgY29uc3QgaXNQcm9kdWN0RmxvdyA9IGVudHJ5UGF0aC5pbmNsdWRlcygnL3Byb2R1Y3QnKTtcbiAgICAgICAgY29uc3QgbWVyZ2VkUGFyYW1zID0ge1xuICAgICAgICAgIC4uLnF1ZXJ5UGFyYW1zLFxuICAgICAgICAgIC4uLmZsb3dRdWVyeVBhcmFtcyxcbiAgICAgICAgICAuLi4oPEZsb3dRdWVyeVBhcmFtcz57XG4gICAgICAgICAgICAuLi4oaXNQcm9kdWN0RmxvdyAmJiB7IHN0YW5kYWxvbmU6IHRydWUgfSksXG4gICAgICAgICAgfSksXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgcGFyZW50VXJsID0gdGhpcy5yb3V0ZXJTZXJ2aWNlLmdldEZsb3dSb290UGF0aChyb3V0ZSk7XG4gICAgICAgIGNvbnN0IGVudHJ5VXJsID0gU3RyaW5nKGVudHJ5UGF0aCA/PyAnJylcbiAgICAgICAgICAuc3BsaXQoJy8nKVxuICAgICAgICAgIC5maWx0ZXIoQm9vbGVhbik7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucm91dGVyXG4gICAgICAgICAgLm5hdmlnYXRlKFtwYXJlbnRVcmwsIC4uLmVudHJ5VXJsXSwge1xuICAgICAgICAgICAgcXVlcnlQYXJhbXM6IG1lcmdlZFBhcmFtcyxcbiAgICAgICAgICAgIHJlcGxhY2VVcmw6IHRydWUsXG4gICAgICAgICAgfSlcbiAgICAgICAgICAuY2F0Y2goZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gZSBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlID8gZS5lcnJvci5tZXNzYWdlIDogZTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmhhbmRsZUVycm9yKHJvdXRlLCBtZXNzYWdlLCBtZXJnZWRQYXJhbXMpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,45 @@
1
+ import { HttpErrorResponse } from '@angular/common/http';
2
+ import { Injectable } from '@angular/core';
3
+ import { catchError, from, of, switchMap } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/router";
6
+ import * as i2 from "@veloce/sdk/core";
7
+ import * as i3 from "../services/flow-router.service";
8
+ export class QuoteResolver {
9
+ constructor(router, quoteDraftService, routerService, contextService, flowConfiguration) {
10
+ this.router = router;
11
+ this.quoteDraftService = quoteDraftService;
12
+ this.routerService = routerService;
13
+ this.contextService = contextService;
14
+ this.flowConfiguration = flowConfiguration;
15
+ }
16
+ handleError(route, message) {
17
+ const parentUrl = this.routerService.getFlowRootPath(route);
18
+ return from(this.router.navigate([parentUrl, '404'], { state: { message } }));
19
+ }
20
+ initFlow$() {
21
+ if (this.quoteDraftService.isStandalone) {
22
+ return of(undefined);
23
+ }
24
+ return this.flowConfiguration.initialize$();
25
+ }
26
+ resolve(route) {
27
+ const { headerId } = this.contextService.resolve();
28
+ const quote = this.quoteDraftService.quoteSnapshot;
29
+ if (quote && quote.quoteId === headerId) {
30
+ return of(true);
31
+ }
32
+ const { queryParams } = route;
33
+ this.contextService.update({ properties: queryParams });
34
+ return this.quoteDraftService.init(headerId, queryParams).pipe(switchMap(() => this.initFlow$()), catchError(e => {
35
+ const message = e instanceof HttpErrorResponse ? e.error.message : e;
36
+ return this.handleError(route, message);
37
+ }));
38
+ }
39
+ }
40
+ QuoteResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: QuoteResolver, deps: [{ token: i1.Router }, { token: i2.QuoteDraftService }, { token: i3.FlowRouterService }, { token: i2.ContextService }, { token: i2.FlowConfigurationService }], target: i0.ɵɵFactoryTarget.Injectable });
41
+ QuoteResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: QuoteResolver });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: QuoteResolver, decorators: [{
43
+ type: Injectable
44
+ }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.QuoteDraftService }, { type: i3.FlowRouterService }, { type: i2.ContextService }, { type: i2.FlowConfigurationService }]; } });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVvdGUucmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9zcmMvcmVzb2x2ZXJzL3F1b3RlLnJlc29sdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFJbkUsTUFBTSxPQUFPLGFBQWE7SUFDeEIsWUFDVSxNQUFjLEVBQ2QsaUJBQW9DLEVBQ3BDLGFBQWdDLEVBQ2hDLGNBQThCLEVBQzlCLGlCQUEyQztRQUozQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2Qsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxrQkFBYSxHQUFiLGFBQWEsQ0FBbUI7UUFDaEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBMEI7SUFDbEQsQ0FBQztJQUVJLFdBQVcsQ0FBQyxLQUE2QixFQUFFLE9BQWU7UUFDaEUsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRU8sU0FBUztRQUNmLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRTtZQUN2QyxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN0QjtRQUVELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBNkI7UUFDbkMsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQztRQUVuRCxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLFFBQVEsRUFBRTtZQUN2QyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNqQjtRQUVELE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFDOUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUV4RCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FDNUQsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUNqQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDYixNQUFNLE9BQU8sR0FBRyxDQUFDLFlBQVksaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckUsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7MkdBeENVLGFBQWE7K0dBQWIsYUFBYTs0RkFBYixhQUFhO2tCQUR6QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBSZXNvbHZlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ29udGV4dFNlcnZpY2UsIEZsb3dDb25maWd1cmF0aW9uU2VydmljZSwgUXVvdGVEcmFmdFNlcnZpY2UgfSBmcm9tICdAdmVsb2NlL3Nkay9jb3JlJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZyb20sIE9ic2VydmFibGUsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZsb3dSb3V0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZmxvdy1yb3V0ZXIuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBRdW90ZVJlc29sdmVyIGltcGxlbWVudHMgUmVzb2x2ZTx2b2lkIHwgYm9vbGVhbj4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcXVvdGVEcmFmdFNlcnZpY2U6IFF1b3RlRHJhZnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyU2VydmljZTogRmxvd1JvdXRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmbG93Q29uZmlndXJhdGlvbjogRmxvd0NvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICApIHt9XG5cbiAgcHJpdmF0ZSBoYW5kbGVFcnJvcihyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgbWVzc2FnZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgY29uc3QgcGFyZW50VXJsID0gdGhpcy5yb3V0ZXJTZXJ2aWNlLmdldEZsb3dSb290UGF0aChyb3V0ZSk7XG4gICAgcmV0dXJuIGZyb20odGhpcy5yb3V0ZXIubmF2aWdhdGUoW3BhcmVudFVybCwgJzQwNCddLCB7IHN0YXRlOiB7IG1lc3NhZ2UgfSB9KSk7XG4gIH1cblxuICBwcml2YXRlIGluaXRGbG93JCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmICh0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLmlzU3RhbmRhbG9uZSkge1xuICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZmxvd0NvbmZpZ3VyYXRpb24uaW5pdGlhbGl6ZSQoKTtcbiAgfVxuXG4gIHJlc29sdmUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPHZvaWQgfCBib29sZWFuPiB7XG4gICAgY29uc3QgeyBoZWFkZXJJZCB9ID0gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCk7XG4gICAgY29uc3QgcXVvdGUgPSB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnF1b3RlU25hcHNob3Q7XG5cbiAgICBpZiAocXVvdGUgJiYgcXVvdGUucXVvdGVJZCA9PT0gaGVhZGVySWQpIHtcbiAgICAgIHJldHVybiBvZih0cnVlKTtcbiAgICB9XG5cbiAgICBjb25zdCB7IHF1ZXJ5UGFyYW1zIH0gPSByb3V0ZTtcbiAgICB0aGlzLmNvbnRleHRTZXJ2aWNlLnVwZGF0ZSh7IHByb3BlcnRpZXM6IHF1ZXJ5UGFyYW1zIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMucXVvdGVEcmFmdFNlcnZpY2UuaW5pdChoZWFkZXJJZCwgcXVlcnlQYXJhbXMpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5pbml0RmxvdyQoKSksXG4gICAgICBjYXRjaEVycm9yKGUgPT4ge1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gZSBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlID8gZS5lcnJvci5tZXNzYWdlIDogZTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlRXJyb3Iocm91dGUsIG1lc3NhZ2UpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,80 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { FlowDialogComponent } from '../components/dialog/dialog.component';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "primeng/dynamicdialog";
5
+ import * as i2 from "@veloce/sdk/core";
6
+ export class FlowDialogService {
7
+ constructor(dialogService, contextService) {
8
+ this.dialogService = dialogService;
9
+ this.contextService = contextService;
10
+ }
11
+ show(config) {
12
+ return this.dialogService.open(FlowDialogComponent, {
13
+ dismissableMask: true,
14
+ closeOnEscape: true,
15
+ closable: true,
16
+ showHeader: true,
17
+ header: config.title,
18
+ width: '440px',
19
+ data: { config },
20
+ }).onClose;
21
+ }
22
+ showEmptyCartDialog() {
23
+ return this.show({
24
+ title: 'No Products in Quote',
25
+ description: 'There are no products in your Quote. To save a Quote, add at least one product.',
26
+ primaryButton: 'OK',
27
+ });
28
+ }
29
+ showReadonlyModeDialog() {
30
+ const ctx = this.contextService.resolve();
31
+ const objectName = ctx.mode ? ctx.mode[0].toUpperCase() + ctx.mode.substring(1).toLowerCase() : 'Object';
32
+ return this.show({
33
+ title: 'Error',
34
+ description: `${objectName} Cannot be Saved`,
35
+ primaryButton: 'OK',
36
+ });
37
+ }
38
+ showQuoteReadonlyModeDialog() {
39
+ return this.show({
40
+ title: 'Quote Cannot be Saved',
41
+ description: 'It is only possible to save quotes with the “Draft” status. Please create a new quote to make and save changes.',
42
+ primaryButton: 'OK',
43
+ });
44
+ }
45
+ showAccountNoChangesDialog() {
46
+ return this.show({
47
+ title: 'No Changes to Save',
48
+ description: 'There are no changes since the last update. Please make changes to proceed.',
49
+ primaryButton: 'OK',
50
+ });
51
+ }
52
+ showUnsavedChangesDialog() {
53
+ return this.show({
54
+ title: 'Unsaved Changes',
55
+ description: 'Are you sure you want to leave this page and discard your unsaved changes?',
56
+ primaryButton: 'Keep Editing',
57
+ secondaryButton: 'Discard Changes',
58
+ });
59
+ }
60
+ showReadonlyQuoteSubmitFailureDialog() {
61
+ return this.show({
62
+ title: 'Cannot Submit for Approval',
63
+ description: 'It is only possible to submit for approval quotes with the “Draft“ status. Please create a new quote to proceed.',
64
+ primaryButton: 'OK',
65
+ });
66
+ }
67
+ showAccountSubmitFailureDialog() {
68
+ return this.show({
69
+ title: 'Save Changes',
70
+ description: 'To submit for approval, save the quote first, and then submit it for approval from the Shopping Cart.',
71
+ primaryButton: 'OK',
72
+ });
73
+ }
74
+ }
75
+ FlowDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowDialogService, deps: [{ token: i1.DialogService }, { token: i2.ContextService }], target: i0.ɵɵFactoryTarget.Injectable });
76
+ FlowDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowDialogService });
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowDialogService, decorators: [{
78
+ type: Injectable
79
+ }], ctorParameters: function () { return [{ type: i1.DialogService }, { type: i2.ContextService }]; } });
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1kaWFsb2cuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9zZXJ2aWNlcy9mbG93LWRpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7QUFJNUUsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUFvQixhQUE0QixFQUFVLGNBQThCO1FBQXBFLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO0lBQUcsQ0FBQztJQUVyRixJQUFJLENBQUMsTUFBd0I7UUFDbEMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUNsRCxlQUFlLEVBQUUsSUFBSTtZQUNyQixhQUFhLEVBQUUsSUFBSTtZQUNuQixRQUFRLEVBQUUsSUFBSTtZQUNkLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLE1BQU0sRUFBRSxNQUFNLENBQUMsS0FBSztZQUNwQixLQUFLLEVBQUUsT0FBTztZQUNkLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRTtTQUNqQixDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ2IsQ0FBQztJQUVNLG1CQUFtQjtRQUN4QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDZixLQUFLLEVBQUUsc0JBQXNCO1lBQzdCLFdBQVcsRUFBRSxpRkFBaUY7WUFDOUYsYUFBYSxFQUFFLElBQUk7U0FDcEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLHNCQUFzQjtRQUMzQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzFDLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUV6RyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDZixLQUFLLEVBQUUsT0FBTztZQUNkLFdBQVcsRUFBRSxHQUFHLFVBQVUsa0JBQWtCO1lBQzVDLGFBQWEsRUFBRSxJQUFJO1NBQ3BCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSwyQkFBMkI7UUFDaEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ2YsS0FBSyxFQUFFLHVCQUF1QjtZQUM5QixXQUFXLEVBQ1QsaUhBQWlIO1lBQ25ILGFBQWEsRUFBRSxJQUFJO1NBQ3BCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSwwQkFBMEI7UUFDL0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ2YsS0FBSyxFQUFFLG9CQUFvQjtZQUMzQixXQUFXLEVBQUUsNkVBQTZFO1lBQzFGLGFBQWEsRUFBRSxJQUFJO1NBQ3BCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSx3QkFBd0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ2YsS0FBSyxFQUFFLGlCQUFpQjtZQUN4QixXQUFXLEVBQUUsNEVBQTRFO1lBQ3pGLGFBQWEsRUFBRSxjQUFjO1lBQzdCLGVBQWUsRUFBRSxpQkFBaUI7U0FDbkMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLG9DQUFvQztRQUN6QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDZixLQUFLLEVBQUUsNEJBQTRCO1lBQ25DLFdBQVcsRUFDVCxrSEFBa0g7WUFDcEgsYUFBYSxFQUFFLElBQUk7U0FDcEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLDhCQUE4QjtRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDZixLQUFLLEVBQUUsY0FBYztZQUNyQixXQUFXLEVBQ1QsdUdBQXVHO1lBQ3pHLGFBQWEsRUFBRSxJQUFJO1NBQ3BCLENBQUMsQ0FBQztJQUNMLENBQUM7OytHQTVFVSxpQkFBaUI7bUhBQWpCLGlCQUFpQjs0RkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udGV4dFNlcnZpY2UgfSBmcm9tICdAdmVsb2NlL3Nkay9jb3JlJztcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmxvd0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmxvd0RpYWxvZ0NvbmZpZyB9IGZyb20gJy4uL2NvbXBvbmVudHMvZGlhbG9nL2RpYWxvZy50eXBlcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGbG93RGlhbG9nU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSwgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UpIHt9XG5cbiAgcHVibGljIHNob3coY29uZmlnOiBGbG93RGlhbG9nQ29uZmlnKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKEZsb3dEaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIGRpc21pc3NhYmxlTWFzazogdHJ1ZSxcbiAgICAgIGNsb3NlT25Fc2NhcGU6IHRydWUsXG4gICAgICBjbG9zYWJsZTogdHJ1ZSxcbiAgICAgIHNob3dIZWFkZXI6IHRydWUsXG4gICAgICBoZWFkZXI6IGNvbmZpZy50aXRsZSxcbiAgICAgIHdpZHRoOiAnNDQwcHgnLFxuICAgICAgZGF0YTogeyBjb25maWcgfSxcbiAgICB9KS5vbkNsb3NlO1xuICB9XG5cbiAgcHVibGljIHNob3dFbXB0eUNhcnREaWFsb2coKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdyh7XG4gICAgICB0aXRsZTogJ05vIFByb2R1Y3RzIGluIFF1b3RlJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlcmUgYXJlIG5vIHByb2R1Y3RzIGluIHlvdXIgUXVvdGUuIFRvIHNhdmUgYSBRdW90ZSwgYWRkIGF0IGxlYXN0IG9uZSBwcm9kdWN0LicsXG4gICAgICBwcmltYXJ5QnV0dG9uOiAnT0snLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNob3dSZWFkb25seU1vZGVEaWFsb2coKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgY29uc3QgY3R4ID0gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCk7XG4gICAgY29uc3Qgb2JqZWN0TmFtZSA9IGN0eC5tb2RlID8gY3R4Lm1vZGVbMF0udG9VcHBlckNhc2UoKSArIGN0eC5tb2RlLnN1YnN0cmluZygxKS50b0xvd2VyQ2FzZSgpIDogJ09iamVjdCc7XG5cbiAgICByZXR1cm4gdGhpcy5zaG93KHtcbiAgICAgIHRpdGxlOiAnRXJyb3InLFxuICAgICAgZGVzY3JpcHRpb246IGAke29iamVjdE5hbWV9IENhbm5vdCBiZSBTYXZlZGAsXG4gICAgICBwcmltYXJ5QnV0dG9uOiAnT0snLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNob3dRdW90ZVJlYWRvbmx5TW9kZURpYWxvZygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zaG93KHtcbiAgICAgIHRpdGxlOiAnUXVvdGUgQ2Fubm90IGJlIFNhdmVkJyxcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAnSXQgaXMgb25seSBwb3NzaWJsZSB0byBzYXZlIHF1b3RlcyB3aXRoIHRoZSDigJxEcmFmdOKAnSBzdGF0dXMuIFBsZWFzZSBjcmVhdGUgYSBuZXcgcXVvdGUgdG8gbWFrZSBhbmQgc2F2ZSBjaGFuZ2VzLicsXG4gICAgICBwcmltYXJ5QnV0dG9uOiAnT0snLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNob3dBY2NvdW50Tm9DaGFuZ2VzRGlhbG9nKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnNob3coe1xuICAgICAgdGl0bGU6ICdObyBDaGFuZ2VzIHRvIFNhdmUnLFxuICAgICAgZGVzY3JpcHRpb246ICdUaGVyZSBhcmUgbm8gY2hhbmdlcyBzaW5jZSB0aGUgbGFzdCB1cGRhdGUuIFBsZWFzZSBtYWtlIGNoYW5nZXMgdG8gcHJvY2VlZC4nLFxuICAgICAgcHJpbWFyeUJ1dHRvbjogJ09LJyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93VW5zYXZlZENoYW5nZXNEaWFsb2coKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdyh7XG4gICAgICB0aXRsZTogJ1Vuc2F2ZWQgQ2hhbmdlcycsXG4gICAgICBkZXNjcmlwdGlvbjogJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBsZWF2ZSB0aGlzIHBhZ2UgYW5kIGRpc2NhcmQgeW91ciB1bnNhdmVkIGNoYW5nZXM/JyxcbiAgICAgIHByaW1hcnlCdXR0b246ICdLZWVwIEVkaXRpbmcnLFxuICAgICAgc2Vjb25kYXJ5QnV0dG9uOiAnRGlzY2FyZCBDaGFuZ2VzJyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93UmVhZG9ubHlRdW90ZVN1Ym1pdEZhaWx1cmVEaWFsb2coKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdyh7XG4gICAgICB0aXRsZTogJ0Nhbm5vdCBTdWJtaXQgZm9yIEFwcHJvdmFsJyxcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAnSXQgaXMgb25seSBwb3NzaWJsZSB0byBzdWJtaXQgZm9yIGFwcHJvdmFsIHF1b3RlcyB3aXRoIHRoZSDigJxEcmFmdOKAnCBzdGF0dXMuIFBsZWFzZSBjcmVhdGUgYSBuZXcgcXVvdGUgdG8gcHJvY2VlZC4nLFxuICAgICAgcHJpbWFyeUJ1dHRvbjogJ09LJyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93QWNjb3VudFN1Ym1pdEZhaWx1cmVEaWFsb2coKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdyh7XG4gICAgICB0aXRsZTogJ1NhdmUgQ2hhbmdlcycsXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgJ1RvIHN1Ym1pdCBmb3IgYXBwcm92YWwsIHNhdmUgdGhlIHF1b3RlIGZpcnN0LCBhbmQgdGhlbiBzdWJtaXQgaXQgZm9yIGFwcHJvdmFsIGZyb20gdGhlIFNob3BwaW5nIENhcnQuJyxcbiAgICAgIHByaW1hcnlCdXR0b246ICdPSycsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==