@veloceapps/sdk 12.0.0-13 → 12.0.0-15

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 (348) hide show
  1. package/cms/index.d.ts +921 -15
  2. package/core/index.d.ts +525 -8
  3. package/fesm2022/veloceapps-sdk-cms.mjs +2617 -0
  4. package/fesm2022/veloceapps-sdk-cms.mjs.map +1 -0
  5. package/{fesm2020 → fesm2022}/veloceapps-sdk-core.mjs +117 -112
  6. package/fesm2022/veloceapps-sdk-core.mjs.map +1 -0
  7. package/{fesm2020 → fesm2022}/veloceapps-sdk.mjs +170 -170
  8. package/fesm2022/veloceapps-sdk.mjs.map +1 -0
  9. package/index.d.ts +330 -1
  10. package/package.json +17 -34
  11. package/cms/cms.actions.d.ts +0 -154
  12. package/cms/cms.default.d.ts +0 -5
  13. package/cms/cms.elements.d.ts +0 -4
  14. package/cms/cms.layouts.d.ts +0 -4
  15. package/cms/components/element-children/element-children.component.d.ts +0 -22
  16. package/cms/components/element-children/element-children.module.d.ts +0 -11
  17. package/cms/components/element-drop-handle/element-drop-handle.component.d.ts +0 -12
  18. package/cms/components/element-drop-handle/element-drop-handle.module.d.ts +0 -9
  19. package/cms/components/element-renderer/element-renderer.component.d.ts +0 -29
  20. package/cms/components/element-renderer/element-renderer.module.d.ts +0 -7
  21. package/cms/components/element-tools-panel/element-tools-panel.component.d.ts +0 -14
  22. package/cms/components/element.component.d.ts +0 -17
  23. package/cms/components/index.d.ts +0 -1
  24. package/cms/components/plugin.component.d.ts +0 -15
  25. package/cms/components/preview/index.d.ts +0 -3
  26. package/cms/components/preview/preview.component.d.ts +0 -32
  27. package/cms/components/preview/preview.module.d.ts +0 -13
  28. package/cms/components/preview/preview.types.d.ts +0 -20
  29. package/cms/decorators/element.decorator.d.ts +0 -2
  30. package/cms/decorators/index.d.ts +0 -1
  31. package/cms/definitions/index.d.ts +0 -1
  32. package/cms/definitions/ui-builder.definitions.d.ts +0 -6
  33. package/cms/directives/custom-template.directive.d.ts +0 -17
  34. package/cms/engine/models/entity.d.ts +0 -11
  35. package/cms/engine/models/plugin.d.ts +0 -5
  36. package/cms/injection-tokens.d.ts +0 -9
  37. package/cms/launcher.module.d.ts +0 -12
  38. package/cms/modules/federated/default-options.d.ts +0 -4
  39. package/cms/modules/federated/export.d.ts +0 -1
  40. package/cms/modules/federated/federated-host.directive.d.ts +0 -8
  41. package/cms/modules/federated/federated.component.d.ts +0 -25
  42. package/cms/modules/federated/federated.module.d.ts +0 -10
  43. package/cms/modules/federated/federated.types.d.ts +0 -26
  44. package/cms/modules/migrations/index.d.ts +0 -2
  45. package/cms/modules/migrations/migrations.d.ts +0 -2
  46. package/cms/modules/migrations/migrations.module.d.ts +0 -6
  47. package/cms/modules/migrations/services/migrations.service.d.ts +0 -10
  48. package/cms/modules/migrations/types/migrations.types.d.ts +0 -2
  49. package/cms/modules/runtime/index.d.ts +0 -3
  50. package/cms/modules/runtime/runtime.module.d.ts +0 -8
  51. package/cms/modules/runtime/services/compilation.service.d.ts +0 -19
  52. package/cms/modules/runtime/services/runtime-editor.service.d.ts +0 -20
  53. package/cms/modules/runtime/services/runtime.service.d.ts +0 -33
  54. package/cms/modules/runtime/tokens.d.ts +0 -3
  55. package/cms/modules/runtime/types/compilation.types.d.ts +0 -8
  56. package/cms/modules/runtime/types/runtime.actions.d.ts +0 -12
  57. package/cms/plugins/element-hover.plugin.d.ts +0 -33
  58. package/cms/plugins/io.plugin.d.ts +0 -9
  59. package/cms/plugins/page.plugin.d.ts +0 -15
  60. package/cms/plugins/region.plugin.d.ts +0 -17
  61. package/cms/plugins/script.plugin.d.ts +0 -10
  62. package/cms/services/element-context.service.d.ts +0 -7
  63. package/cms/services/index.d.ts +0 -2
  64. package/cms/services/io-provider.service.d.ts +0 -15
  65. package/cms/services/resources.service.d.ts +0 -21
  66. package/cms/services/templates.service.d.ts +0 -14
  67. package/cms/types/common.types.d.ts +0 -130
  68. package/cms/types/elements.types.d.ts +0 -2
  69. package/cms/types/index.d.ts +0 -6
  70. package/cms/types/layouts.types.d.ts +0 -102
  71. package/cms/types/pages.types.d.ts +0 -1
  72. package/cms/types/path.types.d.ts +0 -11
  73. package/cms/utils/element-metadata-worker.d.ts +0 -11
  74. package/cms/utils/element.utils.d.ts +0 -20
  75. package/cms/utils/elements-resolver.d.ts +0 -28
  76. package/cms/utils/encoding.utils.d.ts +0 -2
  77. package/cms/utils/index.d.ts +0 -9
  78. package/cms/utils/inject.d.ts +0 -1
  79. package/cms/utils/path.utils.d.ts +0 -3
  80. package/cms/utils/script.utils.d.ts +0 -2
  81. package/cms/utils/transpilation-worker.d.ts +0 -13
  82. package/cms/utils/ui-builder-layout.utils.d.ts +0 -4
  83. package/cms/utils/ui-definition.utils.d.ts +0 -6
  84. package/cms/vendor-map.d.ts +0 -86
  85. package/core/core.module.d.ts +0 -10
  86. package/core/directives/directives.module.d.ts +0 -7
  87. package/core/directives/index.d.ts +0 -2
  88. package/core/directives/primeng-calendar.directive.d.ts +0 -14
  89. package/core/modules/configuration/configuration.module.d.ts +0 -8
  90. package/core/modules/configuration/index.d.ts +0 -6
  91. package/core/modules/configuration/services/configuration-runtime.service.d.ts +0 -19
  92. package/core/modules/configuration/services/configuration-state.service.d.ts +0 -60
  93. package/core/modules/configuration/services/configuration.service.d.ts +0 -38
  94. package/core/modules/configuration/services/guided-selling.service.d.ts +0 -15
  95. package/core/modules/configuration/services/test-mode-configuration.service.d.ts +0 -26
  96. package/core/modules/configuration/types/configuration-runtime.types.d.ts +0 -3
  97. package/core/modules/configuration/types/configuration.types.d.ts +0 -20
  98. package/core/modules/configuration/types/index.d.ts +0 -2
  99. package/core/modules/flow-configuration/flow-configuration.module.d.ts +0 -7
  100. package/core/modules/flow-configuration/index.d.ts +0 -1
  101. package/core/modules/flow-configuration/services/flow-configuration.service.d.ts +0 -23
  102. package/core/modules/index.d.ts +0 -2
  103. package/core/operators/filter-successful-execute.operator.d.ts +0 -3
  104. package/core/operators/index.d.ts +0 -1
  105. package/core/pipes/action-code.pipe.d.ts +0 -8
  106. package/core/pipes/date.pipe.d.ts +0 -13
  107. package/core/pipes/index.d.ts +0 -5
  108. package/core/pipes/number.pipe.d.ts +0 -10
  109. package/core/pipes/pipes.module.d.ts +0 -10
  110. package/core/pipes/price.pipe.d.ts +0 -10
  111. package/core/services/catalog-products.service.d.ts +0 -11
  112. package/core/services/flow-info.service.d.ts +0 -44
  113. package/core/services/flow-state-configuration.service.d.ts +0 -25
  114. package/core/services/flow-state.service.d.ts +0 -70
  115. package/core/services/index.d.ts +0 -8
  116. package/core/services/integration.state.d.ts +0 -16
  117. package/core/services/product-images.service.d.ts +0 -12
  118. package/core/services/runtime-settings.service.d.ts +0 -24
  119. package/core/services/sales-transaction.service.d.ts +0 -27
  120. package/core/types/flow-customization.types.d.ts +0 -10
  121. package/core/types/flow-state.types.d.ts +0 -12
  122. package/core/types/formatting-settings.types.d.ts +0 -13
  123. package/core/types/index.d.ts +0 -5
  124. package/core/types/integration.types.d.ts +0 -10
  125. package/core/types/pipe.types.d.ts +0 -1
  126. package/core/types/ui-definition.types.d.ts +0 -1
  127. package/core/utils/index.d.ts +0 -4
  128. package/core/utils/pcm.utils.d.ts +0 -5
  129. package/core/utils/transaction-item.utils.d.ts +0 -10
  130. package/core/utils/transaction-item.worker.d.ts +0 -8
  131. package/core/utils/ui-definition.utils.d.ts +0 -2
  132. package/esm2020/cms/cms.actions.mjs +0 -151
  133. package/esm2020/cms/cms.default.mjs +0 -5
  134. package/esm2020/cms/cms.elements.mjs +0 -52
  135. package/esm2020/cms/cms.layouts.mjs +0 -239
  136. package/esm2020/cms/components/element-children/element-children.component.mjs +0 -41
  137. package/esm2020/cms/components/element-children/element-children.module.mjs +0 -21
  138. package/esm2020/cms/components/element-drop-handle/element-drop-handle.component.mjs +0 -28
  139. package/esm2020/cms/components/element-drop-handle/element-drop-handle.module.mjs +0 -19
  140. package/esm2020/cms/components/element-renderer/element-renderer.component.mjs +0 -117
  141. package/esm2020/cms/components/element-renderer/element-renderer.module.mjs +0 -16
  142. package/esm2020/cms/components/element-tools-panel/element-tools-panel.component.mjs +0 -35
  143. package/esm2020/cms/components/element.component.mjs +0 -45
  144. package/esm2020/cms/components/index.mjs +0 -2
  145. package/esm2020/cms/components/plugin.component.mjs +0 -17
  146. package/esm2020/cms/components/preview/index.mjs +0 -4
  147. package/esm2020/cms/components/preview/preview.component.mjs +0 -75
  148. package/esm2020/cms/components/preview/preview.module.mjs +0 -42
  149. package/esm2020/cms/components/preview/preview.types.mjs +0 -2
  150. package/esm2020/cms/decorators/element.decorator.mjs +0 -6
  151. package/esm2020/cms/decorators/index.mjs +0 -2
  152. package/esm2020/cms/definitions/index.mjs +0 -2
  153. package/esm2020/cms/definitions/ui-builder.definitions.mjs +0 -18
  154. package/esm2020/cms/directives/custom-template.directive.mjs +0 -38
  155. package/esm2020/cms/engine/models/entity.mjs +0 -17
  156. package/esm2020/cms/engine/models/plugin.mjs +0 -6
  157. package/esm2020/cms/index.mjs +0 -16
  158. package/esm2020/cms/injection-tokens.mjs +0 -7
  159. package/esm2020/cms/launcher.module.mjs +0 -24
  160. package/esm2020/cms/modules/federated/default-options.mjs +0 -5
  161. package/esm2020/cms/modules/federated/export.mjs +0 -2
  162. package/esm2020/cms/modules/federated/federated-host.directive.mjs +0 -16
  163. package/esm2020/cms/modules/federated/federated.component.mjs +0 -74
  164. package/esm2020/cms/modules/federated/federated.module.mjs +0 -20
  165. package/esm2020/cms/modules/federated/federated.types.mjs +0 -2
  166. package/esm2020/cms/modules/migrations/index.mjs +0 -3
  167. package/esm2020/cms/modules/migrations/migrations.mjs +0 -22
  168. package/esm2020/cms/modules/migrations/migrations.module.mjs +0 -15
  169. package/esm2020/cms/modules/migrations/services/migrations.service.mjs +0 -47
  170. package/esm2020/cms/modules/migrations/types/migrations.types.mjs +0 -2
  171. package/esm2020/cms/modules/runtime/index.mjs +0 -4
  172. package/esm2020/cms/modules/runtime/runtime.module.mjs +0 -32
  173. package/esm2020/cms/modules/runtime/services/compilation.service.mjs +0 -93
  174. package/esm2020/cms/modules/runtime/services/runtime-editor.service.mjs +0 -30
  175. package/esm2020/cms/modules/runtime/services/runtime.service.mjs +0 -117
  176. package/esm2020/cms/modules/runtime/tokens.mjs +0 -3
  177. package/esm2020/cms/modules/runtime/types/compilation.types.mjs +0 -2
  178. package/esm2020/cms/modules/runtime/types/runtime.actions.mjs +0 -2
  179. package/esm2020/cms/plugins/element-hover.plugin.mjs +0 -121
  180. package/esm2020/cms/plugins/io.plugin.mjs +0 -45
  181. package/esm2020/cms/plugins/page.plugin.mjs +0 -37
  182. package/esm2020/cms/plugins/region.plugin.mjs +0 -59
  183. package/esm2020/cms/plugins/script.plugin.mjs +0 -31
  184. package/esm2020/cms/services/element-context.service.mjs +0 -10
  185. package/esm2020/cms/services/index.mjs +0 -3
  186. package/esm2020/cms/services/io-provider.service.mjs +0 -53
  187. package/esm2020/cms/services/resources.service.mjs +0 -71
  188. package/esm2020/cms/services/templates.service.mjs +0 -32
  189. package/esm2020/cms/types/common.types.mjs +0 -2
  190. package/esm2020/cms/types/elements.types.mjs +0 -2
  191. package/esm2020/cms/types/index.mjs +0 -7
  192. package/esm2020/cms/types/layouts.types.mjs +0 -71
  193. package/esm2020/cms/types/pages.types.mjs +0 -2
  194. package/esm2020/cms/types/path.types.mjs +0 -2
  195. package/esm2020/cms/utils/element-metadata-worker.mjs +0 -31
  196. package/esm2020/cms/utils/element.utils.mjs +0 -182
  197. package/esm2020/cms/utils/elements-resolver.mjs +0 -206
  198. package/esm2020/cms/utils/encoding.utils.mjs +0 -29
  199. package/esm2020/cms/utils/index.mjs +0 -10
  200. package/esm2020/cms/utils/inject.mjs +0 -27
  201. package/esm2020/cms/utils/path.utils.mjs +0 -44
  202. package/esm2020/cms/utils/script.utils.mjs +0 -46
  203. package/esm2020/cms/utils/transpilation-worker.mjs +0 -52
  204. package/esm2020/cms/utils/ui-builder-layout.utils.mjs +0 -46
  205. package/esm2020/cms/utils/ui-definition.utils.mjs +0 -85
  206. package/esm2020/cms/veloceapps-sdk-cms.mjs +0 -5
  207. package/esm2020/cms/vendor-map.mjs +0 -83
  208. package/esm2020/core/core.module.mjs +0 -54
  209. package/esm2020/core/directives/directives.module.mjs +0 -16
  210. package/esm2020/core/directives/index.mjs +0 -3
  211. package/esm2020/core/directives/primeng-calendar.directive.mjs +0 -41
  212. package/esm2020/core/index.mjs +0 -9
  213. package/esm2020/core/modules/configuration/configuration.module.mjs +0 -34
  214. package/esm2020/core/modules/configuration/index.mjs +0 -7
  215. package/esm2020/core/modules/configuration/services/configuration-runtime.service.mjs +0 -38
  216. package/esm2020/core/modules/configuration/services/configuration-state.service.mjs +0 -381
  217. package/esm2020/core/modules/configuration/services/configuration.service.mjs +0 -172
  218. package/esm2020/core/modules/configuration/services/guided-selling.service.mjs +0 -62
  219. package/esm2020/core/modules/configuration/services/test-mode-configuration.service.mjs +0 -97
  220. package/esm2020/core/modules/configuration/types/configuration-runtime.types.mjs +0 -2
  221. package/esm2020/core/modules/configuration/types/configuration.types.mjs +0 -2
  222. package/esm2020/core/modules/configuration/types/index.mjs +0 -3
  223. package/esm2020/core/modules/flow-configuration/flow-configuration.module.mjs +0 -17
  224. package/esm2020/core/modules/flow-configuration/index.mjs +0 -2
  225. package/esm2020/core/modules/flow-configuration/services/flow-configuration.service.mjs +0 -80
  226. package/esm2020/core/modules/index.mjs +0 -3
  227. package/esm2020/core/operators/filter-successful-execute.operator.mjs +0 -5
  228. package/esm2020/core/operators/index.mjs +0 -2
  229. package/esm2020/core/pipes/action-code.pipe.mjs +0 -20
  230. package/esm2020/core/pipes/date.pipe.mjs +0 -44
  231. package/esm2020/core/pipes/index.mjs +0 -6
  232. package/esm2020/core/pipes/number.pipe.mjs +0 -27
  233. package/esm2020/core/pipes/pipes.module.mjs +0 -19
  234. package/esm2020/core/pipes/price.pipe.mjs +0 -30
  235. package/esm2020/core/services/catalog-products.service.mjs +0 -25
  236. package/esm2020/core/services/flow-info.service.mjs +0 -146
  237. package/esm2020/core/services/flow-state-configuration.service.mjs +0 -120
  238. package/esm2020/core/services/flow-state.service.mjs +0 -417
  239. package/esm2020/core/services/index.mjs +0 -9
  240. package/esm2020/core/services/integration.state.mjs +0 -36
  241. package/esm2020/core/services/product-images.service.mjs +0 -30
  242. package/esm2020/core/services/runtime-settings.service.mjs +0 -112
  243. package/esm2020/core/services/sales-transaction.service.mjs +0 -67
  244. package/esm2020/core/types/flow-customization.types.mjs +0 -3
  245. package/esm2020/core/types/flow-state.types.mjs +0 -2
  246. package/esm2020/core/types/formatting-settings.types.mjs +0 -3
  247. package/esm2020/core/types/index.mjs +0 -6
  248. package/esm2020/core/types/integration.types.mjs +0 -2
  249. package/esm2020/core/types/pipe.types.mjs +0 -2
  250. package/esm2020/core/types/ui-definition.types.mjs +0 -2
  251. package/esm2020/core/utils/index.mjs +0 -5
  252. package/esm2020/core/utils/pcm.utils.mjs +0 -15
  253. package/esm2020/core/utils/transaction-item.utils.mjs +0 -144
  254. package/esm2020/core/utils/transaction-item.worker.mjs +0 -16
  255. package/esm2020/core/utils/ui-definition.utils.mjs +0 -9
  256. package/esm2020/core/veloceapps-sdk-core.mjs +0 -5
  257. package/esm2020/index.mjs +0 -2
  258. package/esm2020/src/components/dialog/dialog.component.mjs +0 -36
  259. package/esm2020/src/components/dialog/dialog.module.mjs +0 -19
  260. package/esm2020/src/components/dialog/dialog.types.mjs +0 -2
  261. package/esm2020/src/components/flow-header/flow-header.component.mjs +0 -107
  262. package/esm2020/src/components/flow-header/flow-header.module.mjs +0 -19
  263. package/esm2020/src/components/flow-header/index.mjs +0 -2
  264. package/esm2020/src/components/guided-selling/guided-selling.component.mjs +0 -107
  265. package/esm2020/src/components/guided-selling/guided-selling.module.mjs +0 -19
  266. package/esm2020/src/configure-primeng.mjs +0 -33
  267. package/esm2020/src/constants.mjs +0 -2
  268. package/esm2020/src/flow-routing.module.mjs +0 -97
  269. package/esm2020/src/flow.component.mjs +0 -39
  270. package/esm2020/src/flow.module.mjs +0 -60
  271. package/esm2020/src/guards/flow.guard.mjs +0 -35
  272. package/esm2020/src/guards/product-unload.guard.mjs +0 -49
  273. package/esm2020/src/guards/root.guard.mjs +0 -46
  274. package/esm2020/src/index.mjs +0 -5
  275. package/esm2020/src/pages/assets/assets.component.mjs +0 -106
  276. package/esm2020/src/pages/assets/assets.module.mjs +0 -20
  277. package/esm2020/src/pages/catalog/catalog.component.mjs +0 -106
  278. package/esm2020/src/pages/catalog/catalog.module.mjs +0 -20
  279. package/esm2020/src/pages/debug/debug.component.mjs +0 -49
  280. package/esm2020/src/pages/debug/debug.module.mjs +0 -46
  281. package/esm2020/src/pages/product/product.component.mjs +0 -55
  282. package/esm2020/src/pages/product/product.module.mjs +0 -20
  283. package/esm2020/src/pages/record-not-found/record-not-found.component.mjs +0 -27
  284. package/esm2020/src/pages/record-not-found/record-not-found.module.mjs +0 -20
  285. package/esm2020/src/pages/shopping-cart/shopping-cart.component.mjs +0 -106
  286. package/esm2020/src/pages/shopping-cart/shopping-cart.module.mjs +0 -20
  287. package/esm2020/src/resolvers/flow.resolver.mjs +0 -50
  288. package/esm2020/src/resolvers/pcm-model.resolver.mjs +0 -12
  289. package/esm2020/src/resolvers/sales-transaction.resolver.mjs +0 -64
  290. package/esm2020/src/resolvers/ui-definition.resolver.mjs +0 -44
  291. package/esm2020/src/services/flow-dialog.service.mjs +0 -91
  292. package/esm2020/src/services/flow-router.service.mjs +0 -173
  293. package/esm2020/src/services/flow.service.mjs +0 -102
  294. package/esm2020/src/services/guided-selling.service.mjs +0 -34
  295. package/esm2020/src/services/index.mjs +0 -4
  296. package/esm2020/src/types/index.mjs +0 -2
  297. package/esm2020/src/types/route.types.mjs +0 -2
  298. package/esm2020/veloceapps-sdk.mjs +0 -5
  299. package/fesm2015/veloceapps-sdk-cms.mjs +0 -2514
  300. package/fesm2015/veloceapps-sdk-cms.mjs.map +0 -1
  301. package/fesm2015/veloceapps-sdk-core.mjs +0 -2104
  302. package/fesm2015/veloceapps-sdk-core.mjs.map +0 -1
  303. package/fesm2015/veloceapps-sdk.mjs +0 -1598
  304. package/fesm2015/veloceapps-sdk.mjs.map +0 -1
  305. package/fesm2020/veloceapps-sdk-cms.mjs +0 -2613
  306. package/fesm2020/veloceapps-sdk-cms.mjs.map +0 -1
  307. package/fesm2020/veloceapps-sdk-core.mjs.map +0 -1
  308. package/fesm2020/veloceapps-sdk.mjs.map +0 -1
  309. package/src/components/dialog/dialog.component.d.ts +0 -13
  310. package/src/components/dialog/dialog.module.d.ts +0 -9
  311. package/src/components/dialog/dialog.types.d.ts +0 -7
  312. package/src/components/flow-header/flow-header.component.d.ts +0 -25
  313. package/src/components/flow-header/flow-header.module.d.ts +0 -9
  314. package/src/components/flow-header/index.d.ts +0 -1
  315. package/src/components/guided-selling/guided-selling.component.d.ts +0 -25
  316. package/src/components/guided-selling/guided-selling.module.d.ts +0 -9
  317. package/src/configure-primeng.d.ts +0 -1
  318. package/src/constants.d.ts +0 -1
  319. package/src/flow-routing.module.d.ts +0 -11
  320. package/src/flow.component.d.ts +0 -21
  321. package/src/flow.module.d.ts +0 -16
  322. package/src/guards/flow.guard.d.ts +0 -2
  323. package/src/guards/product-unload.guard.d.ts +0 -16
  324. package/src/guards/root.guard.d.ts +0 -14
  325. package/src/index.d.ts +0 -4
  326. package/src/pages/assets/assets.component.d.ts +0 -31
  327. package/src/pages/assets/assets.module.d.ts +0 -10
  328. package/src/pages/catalog/catalog.component.d.ts +0 -31
  329. package/src/pages/catalog/catalog.module.d.ts +0 -10
  330. package/src/pages/debug/debug.component.d.ts +0 -21
  331. package/src/pages/debug/debug.module.d.ts +0 -14
  332. package/src/pages/product/product.component.d.ts +0 -24
  333. package/src/pages/product/product.module.d.ts +0 -10
  334. package/src/pages/record-not-found/record-not-found.component.d.ts +0 -12
  335. package/src/pages/record-not-found/record-not-found.module.d.ts +0 -9
  336. package/src/pages/shopping-cart/shopping-cart.component.d.ts +0 -31
  337. package/src/pages/shopping-cart/shopping-cart.module.d.ts +0 -10
  338. package/src/resolvers/flow.resolver.d.ts +0 -14
  339. package/src/resolvers/pcm-model.resolver.d.ts +0 -3
  340. package/src/resolvers/sales-transaction.resolver.d.ts +0 -18
  341. package/src/resolvers/ui-definition.resolver.d.ts +0 -3
  342. package/src/services/flow-dialog.service.d.ts +0 -23
  343. package/src/services/flow-router.service.d.ts +0 -42
  344. package/src/services/flow.service.d.ts +0 -21
  345. package/src/services/guided-selling.service.d.ts +0 -13
  346. package/src/services/index.d.ts +0 -3
  347. package/src/types/index.d.ts +0 -1
  348. package/src/types/route.types.d.ts +0 -4
@@ -1,15 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { MigrationsService } from './services/migrations.service';
3
- import * as i0 from "@angular/core";
4
- export class MigrationsModule {
5
- }
6
- MigrationsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MigrationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7
- MigrationsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: MigrationsModule });
8
- MigrationsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MigrationsModule, providers: [MigrationsService] });
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MigrationsModule, decorators: [{
10
- type: NgModule,
11
- args: [{
12
- providers: [MigrationsService],
13
- }]
14
- }] });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlncmF0aW9ucy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvbW9kdWxlcy9taWdyYXRpb25zL21pZ3JhdGlvbnMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBS2xFLE1BQU0sT0FBTyxnQkFBZ0I7OzZHQUFoQixnQkFBZ0I7OEdBQWhCLGdCQUFnQjs4R0FBaEIsZ0JBQWdCLGFBRmhCLENBQUMsaUJBQWlCLENBQUM7MkZBRW5CLGdCQUFnQjtrQkFINUIsUUFBUTttQkFBQztvQkFDUixTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztpQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWlncmF0aW9uc1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL21pZ3JhdGlvbnMuc2VydmljZSc7XG5cbkBOZ01vZHVsZSh7XG4gIHByb3ZpZGVyczogW01pZ3JhdGlvbnNTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgTWlncmF0aW9uc01vZHVsZSB7fVxuIl19
@@ -1,47 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { ToastService, ToastType } from '@veloceapps/components';
3
- import { UI_DEFINITION_VERSION } from '@veloceapps/sdk/core';
4
- import { cloneDeep } from 'lodash';
5
- import { migrations } from '../migrations';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@veloceapps/components";
8
- export class MigrationsService {
9
- constructor(toastService) {
10
- this.toastService = toastService;
11
- }
12
- migrateUIDefinition(uiDef) {
13
- const currentVersion = uiDef.version;
14
- const targetVersion = UI_DEFINITION_VERSION;
15
- const migrateVersions = Object.keys(migrations)
16
- .reduce((acc, version) => {
17
- const v = Number(version);
18
- if (v > currentVersion && v <= targetVersion) {
19
- acc.push(v);
20
- }
21
- return acc;
22
- }, [])
23
- .sort();
24
- try {
25
- let result = cloneDeep(uiDef);
26
- for (const version of migrateVersions) {
27
- const migration = migrations[version];
28
- if (!migration) {
29
- throw `V=${version} migration strategy is not defined`;
30
- }
31
- result = migration(result);
32
- }
33
- return result;
34
- }
35
- catch (e) {
36
- this.toastService.add({ summary: String(e), severity: ToastType.error });
37
- return;
38
- }
39
- }
40
- }
41
- MigrationsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MigrationsService, deps: [{ token: i1.ToastService }], target: i0.ɵɵFactoryTarget.Injectable });
42
- MigrationsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MigrationsService, providedIn: 'root' });
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MigrationsService, decorators: [{
44
- type: Injectable,
45
- args: [{ providedIn: 'root' }]
46
- }], ctorParameters: function () { return [{ type: i1.ToastService }]; } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlncmF0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL21vZHVsZXMvbWlncmF0aW9ucy9zZXJ2aWNlcy9taWdyYXRpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDbkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRzNDLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFBb0IsWUFBMEI7UUFBMUIsaUJBQVksR0FBWixZQUFZLENBQWM7SUFBRyxDQUFDO0lBRTNDLG1CQUFtQixDQUFDLEtBQW1CO1FBQzVDLE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDckMsTUFBTSxhQUFhLEdBQUcscUJBQXFCLENBQUM7UUFFNUMsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7YUFDNUMsTUFBTSxDQUFDLENBQUMsR0FBYSxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ2pDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsR0FBRyxjQUFjLElBQUksQ0FBQyxJQUFJLGFBQWEsRUFBRTtnQkFDNUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNiO1lBRUQsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDO2FBQ0wsSUFBSSxFQUFFLENBQUM7UUFFVixJQUFJO1lBQ0YsSUFBSSxNQUFNLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRTlCLEtBQUssTUFBTSxPQUFPLElBQUksZUFBZSxFQUFFO2dCQUNyQyxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxTQUFTLEVBQUU7b0JBQ2QsTUFBTSxLQUFLLE9BQU8sb0NBQW9DLENBQUM7aUJBQ3hEO2dCQUVELE1BQU0sR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDNUI7WUFFRCxPQUFPLE1BQU0sQ0FBQztTQUNmO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3pFLE9BQU87U0FDUjtJQUNILENBQUM7OzhHQW5DVSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQURKLE1BQU07MkZBQ25CLGlCQUFpQjtrQkFEN0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UsIFRvYXN0VHlwZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgVUlEZWZpbml0aW9uIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBVSV9ERUZJTklUSU9OX1ZFUlNJT04gfSBmcm9tICdAdmVsb2NlYXBwcy9zZGsvY29yZSc7XG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgbWlncmF0aW9ucyB9IGZyb20gJy4uL21pZ3JhdGlvbnMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE1pZ3JhdGlvbnNTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSkge31cblxuICBwdWJsaWMgbWlncmF0ZVVJRGVmaW5pdGlvbih1aURlZjogVUlEZWZpbml0aW9uKTogVUlEZWZpbml0aW9uIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBjdXJyZW50VmVyc2lvbiA9IHVpRGVmLnZlcnNpb247XG4gICAgY29uc3QgdGFyZ2V0VmVyc2lvbiA9IFVJX0RFRklOSVRJT05fVkVSU0lPTjtcblxuICAgIGNvbnN0IG1pZ3JhdGVWZXJzaW9ucyA9IE9iamVjdC5rZXlzKG1pZ3JhdGlvbnMpXG4gICAgICAucmVkdWNlKChhY2M6IG51bWJlcltdLCB2ZXJzaW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHYgPSBOdW1iZXIodmVyc2lvbik7XG4gICAgICAgIGlmICh2ID4gY3VycmVudFZlcnNpb24gJiYgdiA8PSB0YXJnZXRWZXJzaW9uKSB7XG4gICAgICAgICAgYWNjLnB1c2godik7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwgW10pXG4gICAgICAuc29ydCgpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGxldCByZXN1bHQgPSBjbG9uZURlZXAodWlEZWYpO1xuXG4gICAgICBmb3IgKGNvbnN0IHZlcnNpb24gb2YgbWlncmF0ZVZlcnNpb25zKSB7XG4gICAgICAgIGNvbnN0IG1pZ3JhdGlvbiA9IG1pZ3JhdGlvbnNbdmVyc2lvbl07XG4gICAgICAgIGlmICghbWlncmF0aW9uKSB7XG4gICAgICAgICAgdGhyb3cgYFY9JHt2ZXJzaW9ufSBtaWdyYXRpb24gc3RyYXRlZ3kgaXMgbm90IGRlZmluZWRgO1xuICAgICAgICB9XG5cbiAgICAgICAgcmVzdWx0ID0gbWlncmF0aW9uKHJlc3VsdCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy50b2FzdFNlcnZpY2UuYWRkKHsgc3VtbWFyeTogU3RyaW5nKGUpLCBzZXZlcml0eTogVG9hc3RUeXBlLmVycm9yIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlncmF0aW9ucy50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy9tb2R1bGVzL21pZ3JhdGlvbnMvdHlwZXMvbWlncmF0aW9ucy50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVUlEZWZpbml0aW9uIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5cbmV4cG9ydCB0eXBlIFVJRGVmaW5pdGlvbk1pZ3JhdGlvbkZuID0gKHVpRGVmOiBVSURlZmluaXRpb24pID0+IFVJRGVmaW5pdGlvbjtcbiJdfQ==
@@ -1,4 +0,0 @@
1
- export * from './runtime.module';
2
- export * from './services/runtime-editor.service';
3
- export * from './services/runtime.service';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvbW9kdWxlcy9ydW50aW1lL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ydW50aW1lLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL3J1bnRpbWUtZWRpdG9yLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9ydW50aW1lLnNlcnZpY2UnO1xuIl19
@@ -1,32 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { CoreModule } from '@veloceapps/core';
4
- import { DialogService } from 'primeng/dynamicdialog';
5
- import { CompilationService } from './services/compilation.service';
6
- import { RuntimeEditorService } from './services/runtime-editor.service';
7
- import { RuntimeService } from './services/runtime.service';
8
- import { CMS_COMPILATION_SERVICE } from './tokens';
9
- import * as i0 from "@angular/core";
10
- export class RuntimeModule {
11
- }
12
- RuntimeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RuntimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
- RuntimeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: RuntimeModule, imports: [CommonModule, CoreModule] });
14
- RuntimeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RuntimeModule, providers: [
15
- DialogService,
16
- RuntimeService,
17
- RuntimeEditorService,
18
- { provide: CMS_COMPILATION_SERVICE, useClass: CompilationService },
19
- ], imports: [CommonModule, CoreModule] });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RuntimeModule, decorators: [{
21
- type: NgModule,
22
- args: [{
23
- imports: [CommonModule, CoreModule],
24
- providers: [
25
- DialogService,
26
- RuntimeService,
27
- RuntimeEditorService,
28
- { provide: CMS_COMPILATION_SERVICE, useClass: CompilationService },
29
- ],
30
- }]
31
- }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvbW9kdWxlcy9ydW50aW1lL3J1bnRpbWUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFXbkQsTUFBTSxPQUFPLGFBQWE7OzBHQUFiLGFBQWE7MkdBQWIsYUFBYSxZQVJkLFlBQVksRUFBRSxVQUFVOzJHQVF2QixhQUFhLGFBUGI7UUFDVCxhQUFhO1FBQ2IsY0FBYztRQUNkLG9CQUFvQjtRQUNwQixFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUU7S0FDbkUsWUFOUyxZQUFZLEVBQUUsVUFBVTsyRkFRdkIsYUFBYTtrQkFUekIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDO29CQUNuQyxTQUFTLEVBQUU7d0JBQ1QsYUFBYTt3QkFDYixjQUFjO3dCQUNkLG9CQUFvQjt3QkFDcEIsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFO3FCQUNuRTtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29yZU1vZHVsZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XG5pbXBvcnQgeyBDb21waWxhdGlvblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2NvbXBpbGF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgUnVudGltZUVkaXRvclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3J1bnRpbWUtZWRpdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgUnVudGltZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3J1bnRpbWUuc2VydmljZSc7XG5pbXBvcnQgeyBDTVNfQ09NUElMQVRJT05fU0VSVklDRSB9IGZyb20gJy4vdG9rZW5zJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQ29yZU1vZHVsZV0sXG4gIHByb3ZpZGVyczogW1xuICAgIERpYWxvZ1NlcnZpY2UsXG4gICAgUnVudGltZVNlcnZpY2UsXG4gICAgUnVudGltZUVkaXRvclNlcnZpY2UsXG4gICAgeyBwcm92aWRlOiBDTVNfQ09NUElMQVRJT05fU0VSVklDRSwgdXNlQ2xhc3M6IENvbXBpbGF0aW9uU2VydmljZSB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBSdW50aW1lTW9kdWxlIHt9XG4iXX0=
@@ -1,93 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { DragDropModule } from '@angular/cdk/drag-drop';
3
- import { ScrollingModule } from '@angular/cdk/scrolling';
4
- import { CommonModule } from '@angular/common';
5
- import { createNgModule, Injectable, Injector, NgModule } from '@angular/core';
6
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
7
- import { ErrorTooltipModule, HiddenTextTooltipModule, LetDirectiveModule } from '@veloceapps/components';
8
- import { SdkPipesModule } from '@veloceapps/sdk/core';
9
- import { DndModule } from 'ngx-drag-drop';
10
- import { combineLatest, map, of, switchMap } from 'rxjs';
11
- import { ElementChildrenModule } from '../../../components/element-children/element-children.module';
12
- import { ElementDropHandleModule } from '../../../components/element-drop-handle/element-drop-handle.module';
13
- import { ElementRendererModule } from '../../../components/element-renderer/element-renderer.module';
14
- import { CustomTemplateDirectiveModule } from '../../../directives/custom-template.directive';
15
- import { ElementMetadataWorker, ElementsResolver, TranspilationWorker } from '../../../utils';
16
- import { FederatedModule } from '../../federated/federated.module';
17
- import * as i0 from "@angular/core";
18
- export class CompilationService {
19
- constructor(injector) {
20
- this.injector = injector;
21
- }
22
- compileUIDefinition$(uiDefinition, config) {
23
- return of([]).pipe(map(() => {
24
- const { children, pages, components, ...uiDefinitionMeta } = uiDefinition;
25
- this.uiDefinitionMeta = uiDefinitionMeta;
26
- const elements = [...(children ?? []), ...(pages ?? [])];
27
- const sharedElements = components ?? [];
28
- return [elements, sharedElements];
29
- }), switchMap(elementsChunks => combineLatest(elementsChunks.map(chunk => new ElementMetadataWorker(chunk).get$()))), switchMap(dataChunks => combineLatest(dataChunks.map(chunk => new TranspilationWorker(chunk).get$()))), map(([metadata, sharedMetadata]) => {
30
- this.elementsResolver = new ElementsResolver(uiDefinition, metadata ?? [], sharedMetadata, config);
31
- const componentTypes = this.elementsResolver.getNgComponents();
32
- const module = this.getModule(componentTypes);
33
- return {
34
- moduleRef: createNgModule(module, this.injector),
35
- elements: this.elementsResolver?.elements ?? [],
36
- componentTypes,
37
- };
38
- }));
39
- }
40
- compileElement$(element) {
41
- if (!this.uiDefinitionMeta) {
42
- throw 'No UI Definition context';
43
- }
44
- return of(this.uiDefinitionMeta).pipe(map(uiDefinition => {
45
- const elementsResolver = this.elementsResolver ?? new ElementsResolver(uiDefinition, []);
46
- elementsResolver.addElement(element);
47
- const componentTypes = elementsResolver.getNgComponents();
48
- const module = this.getModule(componentTypes);
49
- return {
50
- moduleRef: createNgModule(module, this.injector),
51
- elements: this.elementsResolver?.elements ?? [],
52
- componentTypes,
53
- };
54
- }));
55
- }
56
- clear() {
57
- this.uiDefinitionMeta = undefined;
58
- }
59
- getModule(components) {
60
- let DynamicModule = class DynamicModule {
61
- };
62
- DynamicModule = __decorate([
63
- NgModule({
64
- imports: [
65
- CommonModule,
66
- FormsModule,
67
- ReactiveFormsModule,
68
- DragDropModule,
69
- DndModule,
70
- ScrollingModule,
71
- ElementChildrenModule,
72
- ElementRendererModule,
73
- ElementDropHandleModule,
74
- CustomTemplateDirectiveModule,
75
- FederatedModule,
76
- SdkPipesModule,
77
- LetDirectiveModule,
78
- HiddenTextTooltipModule,
79
- ErrorTooltipModule,
80
- ],
81
- declarations: Object.values(components),
82
- jit: true,
83
- })
84
- ], DynamicModule);
85
- return DynamicModule;
86
- }
87
- }
88
- CompilationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CompilationService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
89
- CompilationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CompilationService });
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CompilationService, decorators: [{
91
- type: Injectable
92
- }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGlsYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy9tb2R1bGVzL3J1bnRpbWUvc2VydmljZXMvY29tcGlsYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHVCQUF1QixFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFekcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUNyRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUM3RyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUVyRyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUk5RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxn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QUFJLEVBQUU7Z0JBQy9DLGNBQWM7YUFDZixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFNBQVMsQ0FBQztJQUNwQyxDQUFDO0lBRU8sU0FBUyxDQUFDLFVBQXdDO1FBc0J4RCxJQUFNLGFBQWEsR0FBbkIsTUFBTSxhQUFhO1NBQUcsQ0FBQTtRQUFoQixhQUFhO1lBckJsQixRQUFRLENBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osV0FBVztvQkFDWCxtQkFBbUI7b0JBQ25CLGNBQWM7b0JBQ2QsU0FBUztvQkFDVCxlQUFlO29CQUNmLHFCQUFxQjtvQkFDckIscUJBQXFCO29CQUNyQix1QkFBdUI7b0JBQ3ZCLDZCQUE2QjtvQkFDN0IsZUFBZTtvQkFDZixjQUFjO29CQUNkLGtCQUFrQjtvQkFDbEIsdUJBQXVCO29CQUN2QixrQkFBa0I7aUJBQ25CO2dCQUNELFlBQVksRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztnQkFDdkMsR0FBRyxFQUFFLElBQUk7YUFDVixDQUFDO1dBQ0ksYUFBYSxDQUFHO1FBRXRCLE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUM7OytHQWxGVSxrQkFBa0I7bUhBQWxCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IFNjcm9sbGluZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGNyZWF0ZU5nTW9kdWxlLCBJbmplY3RhYmxlLCBJbmplY3RvciwgTmdNb2R1bGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRXJyb3JUb29sdGlwTW9kdWxlLCBIaWRkZW5UZXh0VG9vbHRpcE1vZHVsZSwgTGV0RGlyZWN0aXZlTW9kdWxlIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBVSURlZmluaXRpb24sIFVJRGVmaW5pdGlvbk1ldGFkYXRhIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBTZGtQaXBlc01vZHVsZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL3Nkay9jb3JlJztcbmltcG9ydCB7IERuZE1vZHVsZSB9IGZyb20gJ25neC1kcmFnLWRyb3AnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFbGVtZW50Q2hpbGRyZW5Nb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2VsZW1lbnQtY2hpbGRyZW4vZWxlbWVudC1jaGlsZHJlbi5tb2R1bGUnO1xuaW1wb3J0IHsgRWxlbWVudERyb3BIYW5kbGVNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2VsZW1lbnQtZHJvcC1oYW5kbGUvZWxlbWVudC1kcm9wLWhhbmRsZS5tb2R1bGUnO1xuaW1wb3J0IHsgRWxlbWVudFJlbmRlcmVyTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9lbGVtZW50LXJlbmRlcmVyL2VsZW1lbnQtcmVuZGVyZXIubW9kdWxlJztcbmltcG9ydCB7IENNU1ByZXZpZXdDb25maWcgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL3ByZXZpZXcnO1xuaW1wb3J0IHsgQ3VzdG9tVGVtcGxhdGVEaXJlY3RpdmVNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzL2N1c3RvbS10ZW1wbGF0ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSAnLi4vLi4vLi4vZW5naW5lL21vZGVscy9lbnRpdHknO1xuaW1wb3J0IHsgQ29tcGlsYXRpb25SZXN1bHQgfSBmcm9tICcuLi8uLi8uLi9tb2R1bGVzL3J1bnRpbWUvdHlwZXMvY29tcGlsYXRpb24udHlwZXMnO1xuaW1wb3J0IHsgRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvY29tbW9uLnR5cGVzJztcbmltcG9ydCB7IEVsZW1lbnRNZXRhZGF0YVdvcmtlciwgRWxlbWVudHNSZXNvbHZlciwgVHJhbnNwaWxhdGlvbldvcmtlciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEZlZGVyYXRlZE1vZHVsZSB9IGZyb20gJy4uLy4uL2ZlZGVyYXRlZC9mZWRlcmF0ZWQubW9kdWxlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbXBpbGF0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgdWlEZWZpbml0aW9uTWV0YT86IFVJRGVmaW5pdGlvbk1ldGFkYXRhO1xuICBwcml2YXRlIGVsZW1lbnRzUmVzb2x2ZXI/OiBFbGVtZW50c1Jlc29sdmVyO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7fVxuXG4gIHB1YmxpYyBjb21waWxlVUlEZWZpbml0aW9uJCh1aURlZmluaXRpb246IFVJRGVmaW5pdGlvbiwgY29uZmlnPzogQ01TUHJldmlld0NvbmZpZyk6IE9ic2VydmFibGU8Q29tcGlsYXRpb25SZXN1bHQ+IHtcbiAgICByZXR1cm4gb2YoW10pLnBpcGUoXG4gICAgICBtYXAoKCkgPT4ge1xuICAgICAgICBjb25zdCB7IGNoaWxkcmVuLCBwYWdlcywgY29tcG9uZW50cywgLi4udWlEZWZpbml0aW9uTWV0YSB9ID0gdWlEZWZpbml0aW9uO1xuICAgICAgICB0aGlzLnVpRGVmaW5pdGlvbk1ldGEgPSB1aURlZmluaXRpb25NZXRhO1xuXG4gICAgICAgIGNvbnN0IGVsZW1lbnRzID0gWy4uLihjaGlsZHJlbiA/PyBbXSksIC4uLihwYWdlcyA/PyBbXSldO1xuICAgICAgICBjb25zdCBzaGFyZWRFbGVtZW50cyA9IGNvbXBvbmVudHMgPz8gW107XG4gICAgICAgIHJldHVybiBbZWxlbWVudHMsIHNoYXJlZEVsZW1lbnRzXTtcbiAgICAgIH0pLFxuICAgICAgc3dpdGNoTWFwKGVsZW1lbnRzQ2h1bmtzID0+IGNvbWJpbmVMYXRlc3QoZWxlbWVudHNDaHVua3MubWFwKGNodW5rID0+IG5ldyBFbGVtZW50TWV0YWRhdGFXb3JrZXIoY2h1bmspLmdldCQoKSkpKSxcbiAgICAgIHN3aXRjaE1hcChkYXRhQ2h1bmtzID0+IGNvbWJpbmVMYXRlc3QoZGF0YUNodW5rcy5tYXAoY2h1bmsgPT4gbmV3IFRyYW5zcGlsYXRpb25Xb3JrZXIoY2h1bmspLmdldCQoKSkpKSxcbiAgICAgIG1hcCgoW21ldGFkYXRhLCBzaGFyZWRNZXRhZGF0YV0pID0+IHtcbiAgICAgICAgdGhpcy5lbGVtZW50c1Jlc29sdmVyID0gbmV3IEVsZW1lbnRzUmVzb2x2ZXIodWlEZWZpbml0aW9uLCBtZXRhZGF0YSA/PyBbXSwgc2hhcmVkTWV0YWRhdGEsIGNvbmZpZyk7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFR5cGVzID0gdGhpcy5lbGVtZW50c1Jlc29sdmVyLmdldE5nQ29tcG9uZW50cygpO1xuICAgICAgICBjb25zdCBtb2R1bGUgPSB0aGlzLmdldE1vZHVsZShjb21wb25lbnRUeXBlcyk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBtb2R1bGVSZWY6IGNyZWF0ZU5nTW9kdWxlKG1vZHVsZSwgdGhpcy5pbmplY3RvciksXG4gICAgICAgICAgZWxlbWVudHM6IHRoaXMuZWxlbWVudHNSZXNvbHZlcj8uZWxlbWVudHMgPz8gW10sXG4gICAgICAgICAgY29tcG9uZW50VHlwZXMsXG4gICAgICAgIH07XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGNvbXBpbGVFbGVtZW50JChlbGVtZW50OiBFbGVtZW50TWV0YWRhdGEpOiBPYnNlcnZhYmxlPENvbXBpbGF0aW9uUmVzdWx0PiB7XG4gICAgaWYgKCF0aGlzLnVpRGVmaW5pdGlvbk1ldGEpIHtcbiAgICAgIHRocm93ICdObyBVSSBEZWZpbml0aW9uIGNvbnRleHQnO1xuICAgIH1cblxuICAgIHJldHVybiBvZih0aGlzLnVpRGVmaW5pdGlvbk1ldGEpLnBpcGUoXG4gICAgICBtYXAodWlEZWZpbml0aW9uID0+IHtcbiAgICAgICAgY29uc3QgZWxlbWVudHNSZXNvbHZlciA9IHRoaXMuZWxlbWVudHNSZXNvbHZlciA/PyBuZXcgRWxlbWVudHNSZXNvbHZlcih1aURlZmluaXRpb24sIFtdKTtcbiAgICAgICAgZWxlbWVudHNSZXNvbHZlci5hZGRFbGVtZW50KGVsZW1lbnQpO1xuICAgICAgICBjb25zdCBjb21wb25lbnRUeXBlcyA9IGVsZW1lbnRzUmVzb2x2ZXIuZ2V0TmdDb21wb25lbnRzKCk7XG4gICAgICAgIGNvbnN0IG1vZHVsZSA9IHRoaXMuZ2V0TW9kdWxlKGNvbXBvbmVudFR5cGVzKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG1vZHVsZVJlZjogY3JlYXRlTmdNb2R1bGUobW9kdWxlLCB0aGlzLmluamVjdG9yKSxcbiAgICAgICAgICBlbGVtZW50czogdGhpcy5lbGVtZW50c1Jlc29sdmVyPy5lbGVtZW50cyA/PyBbXSxcbiAgICAgICAgICBjb21wb25lbnRUeXBlcyxcbiAgICAgICAgfTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy51aURlZmluaXRpb25NZXRhID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNb2R1bGUoY29tcG9uZW50czogUmVjb3JkPHN0cmluZywgVHlwZTxFbnRpdHk+Pik6IFR5cGU8TmdNb2R1bGU+IHtcbiAgICBATmdNb2R1bGUoe1xuICAgICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBEcmFnRHJvcE1vZHVsZSxcbiAgICAgICAgRG5kTW9kdWxlLFxuICAgICAgICBTY3JvbGxpbmdNb2R1bGUsXG4gICAgICAgIEVsZW1lbnRDaGlsZHJlbk1vZHVsZSxcbiAgICAgICAgRWxlbWVudFJlbmRlcmVyTW9kdWxlLFxuICAgICAgICBFbGVtZW50RHJvcEhhbmRsZU1vZHVsZSxcbiAgICAgICAgQ3VzdG9tVGVtcGxhdGVEaXJlY3RpdmVNb2R1bGUsXG4gICAgICAgIEZlZGVyYXRlZE1vZHVsZSxcbiAgICAgICAgU2RrUGlwZXNNb2R1bGUsXG4gICAgICAgIExldERpcmVjdGl2ZU1vZHVsZSxcbiAgICAgICAgSGlkZGVuVGV4dFRvb2x0aXBNb2R1bGUsXG4gICAgICAgIEVycm9yVG9vbHRpcE1vZHVsZSxcbiAgICAgIF0sXG4gICAgICBkZWNsYXJhdGlvbnM6IE9iamVjdC52YWx1ZXMoY29tcG9uZW50cyksXG4gICAgICBqaXQ6IHRydWUsXG4gICAgfSlcbiAgICBjbGFzcyBEeW5hbWljTW9kdWxlIHt9XG5cbiAgICByZXR1cm4gRHluYW1pY01vZHVsZTtcbiAgfVxufVxuIl19
@@ -1,30 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { BehaviorSubject, ReplaySubject } from 'rxjs';
3
- import { RuntimeService } from './runtime.service';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./runtime.service";
6
- export class RuntimeEditorService {
7
- constructor(runtimeService) {
8
- this.runtimeService = runtimeService;
9
- this.editorModeSubj$ = new BehaviorSubject(false);
10
- this.onElementDropped$ = new ReplaySubject();
11
- this.onElementDeleted$ = new ReplaySubject();
12
- this.onElementSettingsToggled$ = new ReplaySubject();
13
- this.dragMode$ = new BehaviorSubject(false);
14
- this.selectedElementPath$ = new BehaviorSubject(null);
15
- this.editorMode$ = this.editorModeSubj$.asObservable();
16
- this.runtimeService.isInitialized$.subscribe(() => this.editorModeSubj$.next(Boolean(this.runtimeService.config?.uiBuilderMode)));
17
- }
18
- applyPatch$(patch) {
19
- return this.runtimeService.applyPatch$(patch);
20
- }
21
- toggleEditorMode() {
22
- this.editorModeSubj$.next(!this.editorModeSubj$.value);
23
- }
24
- }
25
- RuntimeEditorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RuntimeEditorService, deps: [{ token: i1.RuntimeService }], target: i0.ɵɵFactoryTarget.Injectable });
26
- RuntimeEditorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RuntimeEditorService });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RuntimeEditorService, decorators: [{
28
- type: Injectable
29
- }], ctorParameters: function () { return [{ type: i1.RuntimeService }]; } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1lZGl0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy9tb2R1bGVzL3J1bnRpbWUvc2VydmljZXMvcnVudGltZS1lZGl0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBR25ELE1BQU0sT0FBTyxvQkFBb0I7SUFXL0IsWUFBb0IsY0FBOEI7UUFBOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBVjFDLG9CQUFlLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUMsc0JBQWlCLEdBQUcsSUFBSSxhQUFhLEVBQTJCLENBQUM7UUFDakUsc0JBQWlCLEdBQUcsSUFBSSxhQUFhLEVBQTZCLENBQUM7UUFDbkUsOEJBQXlCLEdBQUcsSUFBSSxhQUFhLEVBQTRCLENBQUM7UUFHMUUsY0FBUyxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLHlCQUFvQixHQUFHLElBQUksZUFBZSxDQUFnQixJQUFJLENBQUMsQ0FBQztRQUdyRSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdkQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUNoRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FDOUUsQ0FBQztJQUNKLENBQUM7SUFFTSxXQUFXLENBQUMsS0FBWTtRQUM3QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pELENBQUM7O2lIQXhCVSxvQkFBb0I7cUhBQXBCLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGF0Y2ggfSBmcm9tICdyZmM2OTAyJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUnVudGltZUVsZW1lbnREZWxldGVFdmVudCwgUnVudGltZUVsZW1lbnREcm9wRXZlbnQsIFJ1bnRpbWVTaG93U2V0dGluZ3NFdmVudCB9IGZyb20gJy4uL3R5cGVzL3J1bnRpbWUuYWN0aW9ucyc7XG5pbXBvcnQgeyBSdW50aW1lU2VydmljZSB9IGZyb20gJy4vcnVudGltZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJ1bnRpbWVFZGl0b3JTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBlZGl0b3JNb2RlU3ViaiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICBwdWJsaWMgb25FbGVtZW50RHJvcHBlZCQgPSBuZXcgUmVwbGF5U3ViamVjdDxSdW50aW1lRWxlbWVudERyb3BFdmVudD4oKTtcbiAgcHVibGljIG9uRWxlbWVudERlbGV0ZWQkID0gbmV3IFJlcGxheVN1YmplY3Q8UnVudGltZUVsZW1lbnREZWxldGVFdmVudD4oKTtcbiAgcHVibGljIG9uRWxlbWVudFNldHRpbmdzVG9nZ2xlZCQgPSBuZXcgUmVwbGF5U3ViamVjdDxSdW50aW1lU2hvd1NldHRpbmdzRXZlbnQ+KCk7XG5cbiAgcHVibGljIGVkaXRvck1vZGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBwdWJsaWMgZHJhZ01vZGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHB1YmxpYyBzZWxlY3RlZEVsZW1lbnRQYXRoJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBydW50aW1lU2VydmljZTogUnVudGltZVNlcnZpY2UpIHtcbiAgICB0aGlzLmVkaXRvck1vZGUkID0gdGhpcy5lZGl0b3JNb2RlU3ViaiQuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5ydW50aW1lU2VydmljZS5pc0luaXRpYWxpemVkJC5zdWJzY3JpYmUoKCkgPT5cbiAgICAgIHRoaXMuZWRpdG9yTW9kZVN1YmokLm5leHQoQm9vbGVhbih0aGlzLnJ1bnRpbWVTZXJ2aWNlLmNvbmZpZz8udWlCdWlsZGVyTW9kZSkpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYXBwbHlQYXRjaCQocGF0Y2g6IFBhdGNoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMucnVudGltZVNlcnZpY2UuYXBwbHlQYXRjaCQocGF0Y2gpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZUVkaXRvck1vZGUoKTogdm9pZCB7XG4gICAgdGhpcy5lZGl0b3JNb2RlU3ViaiQubmV4dCghdGhpcy5lZGl0b3JNb2RlU3ViaiQudmFsdWUpO1xuICB9XG59XG4iXX0=
@@ -1,117 +0,0 @@
1
- import { Injectable, Injector } from '@angular/core';
2
- import { IntegrationState } from '@veloceapps/sdk/core';
3
- import { cloneDeep } from 'lodash';
4
- import { applyPatch } from 'rfc6902';
5
- import { BehaviorSubject, distinctUntilChanged, map, of, startWith, Subject, switchMap, tap } from 'rxjs';
6
- import { CmsAction } from '../../../cms.actions';
7
- import { findElementByPath } from '../../../utils/ui-definition.utils';
8
- import { CMS_COMPILATION_SERVICE } from '../tokens';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@veloceapps/sdk/core";
11
- export class RuntimeService {
12
- constructor(injector, integrationState) {
13
- this.injector = injector;
14
- this.integrationState = integrationState;
15
- this.moduleRefs = [];
16
- this.componentRefs = {};
17
- this.componentTypes = {};
18
- this.applicationTree = [];
19
- this.isInitialized$ = new BehaviorSubject(false);
20
- this.updated$ = new Subject();
21
- this.selectedPageName$ = new BehaviorSubject(null);
22
- this.selectedOverlayNames$ = new BehaviorSubject([]);
23
- this.compilationService = this.injector.get(CMS_COMPILATION_SERVICE);
24
- this.integrationState
25
- .listen$(CmsAction.GO_TO_PAGE)
26
- .pipe(map(({ pageName }) => pageName), distinctUntilChanged())
27
- .subscribe(pageName => this.selectedPageName$.next(pageName));
28
- this.integrationState
29
- .listen$(CmsAction.SHOW_OVERLAY)
30
- .pipe(map(({ name }) => name))
31
- .subscribe(overlayName => {
32
- const overlayNames = this.selectedOverlayNames$.value;
33
- if (!overlayNames.includes(overlayName)) {
34
- this.selectedOverlayNames$.next([...overlayNames, overlayName]);
35
- }
36
- });
37
- this.integrationState
38
- .listen$(CmsAction.HIDE_OVERLAY)
39
- .pipe(map(({ name }) => name))
40
- .subscribe(overlayName => {
41
- const overlayNames = this.selectedOverlayNames$.value;
42
- this.selectedOverlayNames$.next(overlayNames.filter(name => name !== overlayName));
43
- });
44
- this.integrationState.listen$(CmsAction.HIDE_ALL_OVERLAYS).subscribe(() => this.selectedOverlayNames$.next([]));
45
- }
46
- initialize$(uiDefinition, config) {
47
- this.config = config;
48
- if (!uiDefinition) {
49
- return of([]);
50
- }
51
- return this.compilationService.compileUIDefinition$(uiDefinition, config).pipe(map(result => {
52
- this.applicationTree = result.elements;
53
- this.componentTypes = {
54
- ...this.componentTypes,
55
- ...result.componentTypes,
56
- };
57
- this.moduleRefs.push(result.moduleRef);
58
- return result.elements;
59
- }), tap(() => this.isInitialized$.next(true)));
60
- }
61
- applyPatch$(patch) {
62
- let observable$ = of(undefined);
63
- patch.forEach(operation => {
64
- switch (operation.op) {
65
- case 'add': {
66
- observable$ = observable$.pipe(switchMap(() => this.addElement$(operation)));
67
- break;
68
- }
69
- case 'remove': {
70
- observable$ = observable$.pipe(map(() => this.deleteElement(operation)));
71
- break;
72
- }
73
- case 'replace': {
74
- observable$ = observable$.pipe(switchMap(() => {
75
- this.deleteElement({ op: 'remove', path: operation.path });
76
- return this.addElement$({ op: 'add', path: operation.path, value: operation.value });
77
- }));
78
- break;
79
- }
80
- default:
81
- observable$ = of();
82
- }
83
- });
84
- return observable$.pipe(tap(() => this.updated$.next()));
85
- }
86
- getCompiledElement$(path) {
87
- return this.updated$.pipe(startWith(undefined), map(() => findElementByPath(this.applicationTree, path)), distinctUntilChanged());
88
- }
89
- clear() {
90
- this.compilationService.clear();
91
- this.moduleRefs.forEach(m => m.destroy());
92
- this.moduleRefs = [];
93
- this.componentRefs = {};
94
- this.applicationTree = [];
95
- this.componentTypes = {};
96
- this.isInitialized$.next(false);
97
- }
98
- addElement$(operation) {
99
- return this.compilationService.compileElement$(operation.value).pipe(map(result => {
100
- this.componentTypes = {
101
- ...this.componentTypes,
102
- ...result.componentTypes,
103
- };
104
- this.moduleRefs.push(result.moduleRef);
105
- applyPatch(this.applicationTree, [{ ...operation, value: cloneDeep(result.elements[0]) }]);
106
- }));
107
- }
108
- deleteElement(operation) {
109
- applyPatch(this.applicationTree, [operation]);
110
- }
111
- }
112
- RuntimeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RuntimeService, deps: [{ token: i0.Injector }, { token: i1.IntegrationState }], target: i0.ɵɵFactoryTarget.Injectable });
113
- RuntimeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RuntimeService });
114
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RuntimeService, decorators: [{
115
- type: Injectable
116
- }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.IntegrationState }]; } });
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL21vZHVsZXMvcnVudGltZS9zZXJ2aWNlcy9ydW50aW1lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixVQUFVLEVBQUUsUUFBUSxFQUErQixNQUFNLGVBQWUsQ0FBQztBQUVoRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sUUFBUSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQVMsTUFBTSxTQUFTLENBQUM7QUFFNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0SCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFJakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sV0FBVyxDQUFDOzs7QUFJcEQsTUFBTSxPQUFPLGNBQWM7SUFhekIsWUFBb0IsUUFBa0IsRUFBVSxnQkFBa0M7UUFBOUQsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUFVLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFaM0UsZUFBVSxHQUE0QixFQUFFLENBQUM7UUFDekMsa0JBQWEsR0FBaUQsRUFBRSxDQUFDO1FBQ2pFLG1CQUFjLEdBQWlDLEVBQUUsQ0FBQztRQUNsRCxvQkFBZSxHQUFzQixFQUFFLENBQUM7UUFFeEMsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FB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Q0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN2QyxVQUFVLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLEVBQUUsR0FBRyxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDN0YsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFTyxhQUFhLENBQUMsU0FBMEI7UUFDOUMsVUFBVSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7OzJHQWpJVSxjQUFjOytHQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFJlZiwgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIE5nTW9kdWxlLCBOZ01vZHVsZVJlZiwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVUlEZWZpbml0aW9uIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBJbnRlZ3JhdGlvblN0YXRlIH0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2NvcmUnO1xuaW1wb3J0IHsgY2xvbmVEZWVwLCBEaWN0aW9uYXJ5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IGFwcGx5UGF0Y2gsIFBhdGNoIH0gZnJvbSAncmZjNjkwMic7XG5pbXBvcnQgeyBBZGRPcGVyYXRpb24sIFJlbW92ZU9wZXJhdGlvbiB9IGZyb20gJ3JmYzY5MDIvZGlmZic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIE9ic2VydmFibGUsIG9mLCBzdGFydFdpdGgsIFN1YmplY3QsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDbXNBY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9jbXMuYWN0aW9ucyc7XG5pbXBvcnQgeyBDTVNQcmV2aWV3Q29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9wcmV2aWV3L3ByZXZpZXcudHlwZXMnO1xuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSAnLi4vLi4vLi4vZW5naW5lL21vZGVscy9lbnRpdHknO1xuaW1wb3J0IHsgRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgZmluZEVsZW1lbnRCeVBhdGggfSBmcm9tICcuLi8uLi8uLi91dGlscy91aS1kZWZpbml0aW9uLnV0aWxzJztcbmltcG9ydCB7IENNU19DT01QSUxBVElPTl9TRVJWSUNFIH0gZnJvbSAnLi4vdG9rZW5zJztcbmltcG9ydCB0eXBlIHsgQ29tcGlsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9jb21waWxhdGlvbi5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJ1bnRpbWVTZXJ2aWNlIHtcbiAgcHVibGljIG1vZHVsZVJlZnM6IE5nTW9kdWxlUmVmPE5nTW9kdWxlPltdID0gW107XG4gIHB1YmxpYyBjb21wb25lbnRSZWZzOiBEaWN0aW9uYXJ5PENvbXBvbmVudFJlZjxFbnRpdHk+IHwgdW5kZWZpbmVkPiA9IHt9O1xuICBwdWJsaWMgY29tcG9uZW50VHlwZXM6IFJlY29yZDxzdHJpbmcsIFR5cGU8RW50aXR5Pj4gPSB7fTtcbiAgcHVibGljIGFwcGxpY2F0aW9uVHJlZTogRWxlbWVudE1ldGFkYXRhW10gPSBbXTtcbiAgcHVibGljIGNvbmZpZz86IENNU1ByZXZpZXdDb25maWc7XG4gIHB1YmxpYyBpc0luaXRpYWxpemVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwdWJsaWMgdXBkYXRlZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwdWJsaWMgc2VsZWN0ZWRQYWdlTmFtZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZyB8IG51bGw+KG51bGwpO1xuICBwdWJsaWMgc2VsZWN0ZWRPdmVybGF5TmFtZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmdbXT4oW10pO1xuXG4gIHByaXZhdGUgY29tcGlsYXRpb25TZXJ2aWNlOiBDb21waWxhdGlvblNlcnZpY2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsIHByaXZhdGUgaW50ZWdyYXRpb25TdGF0ZTogSW50ZWdyYXRpb25TdGF0ZSkge1xuICAgIHRoaXMuY29tcGlsYXRpb25TZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoQ01TX0NPTVBJTEFUSU9OX1NFUlZJQ0UpO1xuXG4gICAgdGhpcy5pbnRlZ3JhdGlvblN0YXRlXG4gICAgICAubGlzdGVuJDx7IHBhZ2VOYW1lOiBzdHJpbmcgfT4oQ21zQWN0aW9uLkdPX1RPX1BBR0UpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh7IHBhZ2VOYW1lIH0pID0+IHBhZ2VOYW1lKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUocGFnZU5hbWUgPT4gdGhpcy5zZWxlY3RlZFBhZ2VOYW1lJC5uZXh0KHBhZ2VOYW1lKSk7XG5cbiAgICB0aGlzLmludGVncmF0aW9uU3RhdGVcbiAgICAgIC5saXN0ZW4kPHsgbmFtZTogc3RyaW5nIH0+KENtc0FjdGlvbi5TSE9XX09WRVJMQVkpXG4gICAgICAucGlwZShtYXAoKHsgbmFtZSB9KSA9PiBuYW1lKSlcbiAgICAgIC5zdWJzY3JpYmUob3ZlcmxheU5hbWUgPT4ge1xuICAgICAgICBjb25zdCBvdmVybGF5TmFtZXMgPSB0aGlzLnNlbGVjdGVkT3ZlcmxheU5hbWVzJC52YWx1ZTtcbiAgICAgICAgaWYgKCFvdmVybGF5TmFtZXMuaW5jbHVkZXMob3ZlcmxheU5hbWUpKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZE92ZXJsYXlOYW1lcyQubmV4dChbLi4ub3ZlcmxheU5hbWVzLCBvdmVybGF5TmFtZV0pO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMuaW50ZWdyYXRpb25TdGF0ZVxuICAgICAgLmxpc3RlbiQ8eyBuYW1lOiBzdHJpbmcgfT4oQ21zQWN0aW9uLkhJREVfT1ZFUkxBWSlcbiAgICAgIC5waXBlKG1hcCgoeyBuYW1lIH0pID0+IG5hbWUpKVxuICAgICAgLnN1YnNjcmliZShvdmVybGF5TmFtZSA9PiB7XG4gICAgICAgIGNvbnN0IG92ZXJsYXlOYW1lcyA9IHRoaXMuc2VsZWN0ZWRPdmVybGF5TmFtZXMkLnZhbHVlO1xuICAgICAgICB0aGlzLnNlbGVjdGVkT3ZlcmxheU5hbWVzJC5uZXh0KG92ZXJsYXlOYW1lcy5maWx0ZXIobmFtZSA9PiBuYW1lICE9PSBvdmVybGF5TmFtZSkpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLmludGVncmF0aW9uU3RhdGUubGlzdGVuJChDbXNBY3Rpb24uSElERV9BTExfT1ZFUkxBWVMpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnNlbGVjdGVkT3ZlcmxheU5hbWVzJC5uZXh0KFtdKSk7XG4gIH1cblxuICBwdWJsaWMgaW5pdGlhbGl6ZSQodWlEZWZpbml0aW9uPzogVUlEZWZpbml0aW9uLCBjb25maWc/OiBDTVNQcmV2aWV3Q29uZmlnKTogT2JzZXJ2YWJsZTxFbGVtZW50TWV0YWRhdGFbXT4ge1xuICAgIHRoaXMuY29uZmlnID0gY29uZmlnO1xuXG4gICAgaWYgKCF1aURlZmluaXRpb24pIHtcbiAgICAgIHJldHVybiBvZihbXSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY29tcGlsYXRpb25TZXJ2aWNlLmNvbXBpbGVVSURlZmluaXRpb24kKHVpRGVmaW5pdGlvbiwgY29uZmlnKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiB7XG4gICAgICAgIHRoaXMuYXBwbGljYXRpb25UcmVlID0gcmVzdWx0LmVsZW1lbnRzO1xuICAgICAgICB0aGlzLmNvbXBvbmVudFR5cGVzID0ge1xuICAgICAgICAgIC4uLnRoaXMuY29tcG9uZW50VHlwZXMsXG4gICAgICAgICAgLi4ucmVzdWx0LmNvbXBvbmVudFR5cGVzLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLm1vZHVsZVJlZnMucHVzaChyZXN1bHQubW9kdWxlUmVmKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5lbGVtZW50cztcbiAgICAgIH0pLFxuICAgICAgdGFwKCgpID0+IHRoaXMuaXNJbml0aWFsaXplZCQubmV4dCh0cnVlKSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhcHBseVBhdGNoJChwYXRjaDogUGF0Y2gpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBsZXQgb2JzZXJ2YWJsZSQ6IE9ic2VydmFibGU8dm9pZD4gPSBvZih1bmRlZmluZWQpO1xuXG4gICAgcGF0Y2guZm9yRWFjaChvcGVyYXRpb24gPT4ge1xuICAgICAgc3dpdGNoIChvcGVyYXRpb24ub3ApIHtcbiAgICAgICAgY2FzZSAnYWRkJzoge1xuICAgICAgICAgIG9ic2VydmFibGUkID0gb2JzZXJ2YWJsZSQucGlwZShzd2l0Y2hNYXAoKCkgPT4gdGhpcy5hZGRFbGVtZW50JChvcGVyYXRpb24pKSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAncmVtb3ZlJzoge1xuICAgICAgICAgIG9ic2VydmFibGUkID0gb2JzZXJ2YWJsZSQucGlwZShtYXAoKCkgPT4gdGhpcy5kZWxldGVFbGVtZW50KG9wZXJhdGlvbikpKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlICdyZXBsYWNlJzoge1xuICAgICAgICAgIG9ic2VydmFibGUkID0gb2JzZXJ2YWJsZSQucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuZGVsZXRlRWxlbWVudCh7IG9wOiAncmVtb3ZlJywgcGF0aDogb3BlcmF0aW9uLnBhdGggfSk7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLmFkZEVsZW1lbnQkKHsgb3A6ICdhZGQnLCBwYXRoOiBvcGVyYXRpb24ucGF0aCwgdmFsdWU6IG9wZXJhdGlvbi52YWx1ZSB9KTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBvYnNlcnZhYmxlJCA9IG9mKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gb2JzZXJ2YWJsZSQucGlwZSh0YXAoKCkgPT4gdGhpcy51cGRhdGVkJC5uZXh0KCkpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb21waWxlZEVsZW1lbnQkKHBhdGg6IHN0cmluZyk6IE9ic2VydmFibGU8RWxlbWVudE1ldGFkYXRhIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMudXBkYXRlZCQucGlwZShcbiAgICAgIHN0YXJ0V2l0aCh1bmRlZmluZWQpLFxuICAgICAgbWFwKCgpID0+IGZpbmRFbGVtZW50QnlQYXRoKHRoaXMuYXBwbGljYXRpb25UcmVlLCBwYXRoKSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5jb21waWxhdGlvblNlcnZpY2UuY2xlYXIoKTtcbiAgICB0aGlzLm1vZHVsZVJlZnMuZm9yRWFjaChtID0+IG0uZGVzdHJveSgpKTtcbiAgICB0aGlzLm1vZHVsZVJlZnMgPSBbXTtcbiAgICB0aGlzLmNvbXBvbmVudFJlZnMgPSB7fTtcbiAgICB0aGlzLmFwcGxpY2F0aW9uVHJlZSA9IFtdO1xuICAgIHRoaXMuY29tcG9uZW50VHlwZXMgPSB7fTtcbiAgICB0aGlzLmlzSW5pdGlhbGl6ZWQkLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRFbGVtZW50JChvcGVyYXRpb246IEFkZE9wZXJhdGlvbik6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmNvbXBpbGF0aW9uU2VydmljZS5jb21waWxlRWxlbWVudCQob3BlcmF0aW9uLnZhbHVlKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiB7XG4gICAgICAgIHRoaXMuY29tcG9uZW50VHlwZXMgPSB7XG4gICAgICAgICAgLi4udGhpcy5jb21wb25lbnRUeXBlcyxcbiAgICAgICAgICAuLi5yZXN1bHQuY29tcG9uZW50VHlwZXMsXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMubW9kdWxlUmVmcy5wdXNoKHJlc3VsdC5tb2R1bGVSZWYpO1xuICAgICAgICBhcHBseVBhdGNoKHRoaXMuYXBwbGljYXRpb25UcmVlLCBbeyAuLi5vcGVyYXRpb24sIHZhbHVlOiBjbG9uZURlZXAocmVzdWx0LmVsZW1lbnRzWzBdKSB9XSk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBkZWxldGVFbGVtZW50KG9wZXJhdGlvbjogUmVtb3ZlT3BlcmF0aW9uKTogdm9pZCB7XG4gICAgYXBwbHlQYXRjaCh0aGlzLmFwcGxpY2F0aW9uVHJlZSwgW29wZXJhdGlvbl0pO1xuICB9XG59XG4iXX0=
@@ -1,3 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- export const CMS_COMPILATION_SERVICE = new InjectionToken('VENDOR_MAP');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL21vZHVsZXMvcnVudGltZS90b2tlbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvQyxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLGNBQWMsQ0FBcUIsWUFBWSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBDb21waWxhdGlvblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2NvbXBpbGF0aW9uLnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgQ01TX0NPTVBJTEFUSU9OX1NFUlZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29tcGlsYXRpb25TZXJ2aWNlPignVkVORE9SX01BUCcpO1xuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGlsYXRpb24udHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvbW9kdWxlcy9ydW50aW1lL3R5cGVzL2NvbXBpbGF0aW9uLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTmdNb2R1bGVSZWYsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVudGl0eSB9IGZyb20gJy4uLy4uLy4uL2VuZ2luZS9tb2RlbHMvZW50aXR5JztcbmltcG9ydCB7IEVsZW1lbnRNZXRhZGF0YSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2NvbW1vbi50eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGlsYXRpb25SZXN1bHQge1xuICBlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW107XG4gIG1vZHVsZVJlZjogTmdNb2R1bGVSZWY8TmdNb2R1bGU+O1xuICBjb21wb25lbnRUeXBlczogUmVjb3JkPHN0cmluZywgVHlwZTxFbnRpdHk+Pjtcbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL21vZHVsZXMvcnVudGltZS90eXBlcy9ydW50aW1lLmFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRNZXRhZGF0YSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBSdW50aW1lRWxlbWVudERyb3BFdmVudCB7XG4gIGVsZW1lbnQ6IEVsZW1lbnRNZXRhZGF0YTtcbiAgcGF0aDogc3RyaW5nO1xuICBpbmRleDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJ1bnRpbWVFbGVtZW50RGVsZXRlRXZlbnQge1xuICBwYXRoOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUnVudGltZVNob3dTZXR0aW5nc0V2ZW50IHtcbiAgcGF0aDogc3RyaW5nO1xufVxuIl19
@@ -1,121 +0,0 @@
1
- import { DOCUMENT } from '@angular/common';
2
- import { ApplicationRef, ElementRef, Injectable, createComponent, inject } from '@angular/core';
3
- import { BehaviorSubject, Subject, combineLatest, takeUntil } from 'rxjs';
4
- import { ElementToolsPanelComponent } from '../components/element-tools-panel/element-tools-panel.component';
5
- import { ElementComponent } from '../components/element.component';
6
- import { ELEMENT_METADATA } from '../injection-tokens';
7
- import { RuntimeEditorService } from '../modules/runtime/services/runtime-editor.service';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "../components/element.component";
10
- export class ElementHoverPlugin {
11
- constructor(host) {
12
- this.host = host;
13
- this.hoverClassName = 'element-hover';
14
- this.metadata = inject(ELEMENT_METADATA);
15
- this.appRef = inject(ApplicationRef);
16
- this.el = inject(ElementRef);
17
- this.document = inject(DOCUMENT);
18
- this.runtimeEditorService = inject(RuntimeEditorService);
19
- this.isHovered$ = new BehaviorSubject(false);
20
- this.isSelected$ = new BehaviorSubject(false);
21
- this.destroyed$ = new Subject();
22
- this.listenersAttached = false;
23
- this.mouseOverListenerBound = this.mouseOverListener.bind(this);
24
- this.mouseLeaveListenerBound = this.mouseLeaveListener.bind(this);
25
- this.clickListenerBound = this.clickListener.bind(this);
26
- combineLatest([this.runtimeEditorService.editorMode$, this.isHovered$, this.isSelected$])
27
- .pipe(takeUntil(this.destroyed$))
28
- .subscribe(([editorMode]) => {
29
- if (!editorMode) {
30
- this.detachListeners();
31
- this.removeHighlight();
32
- return;
33
- }
34
- this.attachListeners();
35
- this.updateHighlight();
36
- });
37
- this.runtimeEditorService.selectedElementPath$.pipe(takeUntil(this.destroyed$)).subscribe(path => {
38
- const isSelected = this.metadata.path === path;
39
- if (this.isSelected$.value !== isSelected) {
40
- this.isSelected$.next(isSelected);
41
- }
42
- });
43
- }
44
- ngOnDestroy() {
45
- this.destroyed$.next();
46
- this.destroyed$.complete();
47
- this.detachListeners();
48
- }
49
- attachListeners() {
50
- if (this.listenersAttached) {
51
- return;
52
- }
53
- this.el.nativeElement.addEventListener('mouseover', this.mouseOverListenerBound);
54
- this.el.nativeElement.addEventListener('mouseleave', this.mouseLeaveListenerBound);
55
- this.el.nativeElement.addEventListener('click', this.clickListenerBound);
56
- this.listenersAttached = true;
57
- }
58
- detachListeners() {
59
- if (!this.listenersAttached) {
60
- return;
61
- }
62
- this.el.nativeElement.removeEventListener('mouseover', this.mouseOverListenerBound);
63
- this.el.nativeElement.removeEventListener('mouseleave', this.mouseLeaveListenerBound);
64
- this.el.nativeElement.removeEventListener('click', this.clickListenerBound);
65
- this.listenersAttached = false;
66
- }
67
- mouseOverListener(e) {
68
- const path = e.composedPath();
69
- const innerPath = path.slice(0, path.indexOf(this.el.nativeElement));
70
- const hasChildHovered = innerPath.some(target => {
71
- const t = target;
72
- return t.tagName === 'VL-ELEMENT' && t.classList.contains(this.hoverClassName);
73
- });
74
- const isHovered = !hasChildHovered;
75
- if (this.isHovered$.value !== isHovered) {
76
- this.isHovered$.next(isHovered);
77
- }
78
- }
79
- clickListener(e) {
80
- if (this.el.nativeElement === e.target) {
81
- this.runtimeEditorService.selectedElementPath$.next(this.metadata.path);
82
- }
83
- }
84
- mouseLeaveListener() {
85
- this.isHovered$.next(false);
86
- }
87
- addHighlight() {
88
- this.el.nativeElement.classList.add(this.hoverClassName);
89
- this.overlayEl = this.document.createElement('div');
90
- this.el.nativeElement.appendChild(this.overlayEl);
91
- const ref = createComponent(ElementToolsPanelComponent, {
92
- environmentInjector: this.appRef.injector,
93
- hostElement: this.overlayEl,
94
- elementInjector: this.host.injector,
95
- });
96
- ref.instance.runtimeEditorService = this.runtimeEditorService;
97
- ref.changeDetectorRef.detectChanges();
98
- }
99
- removeHighlight() {
100
- this.el.nativeElement.classList.remove(this.hoverClassName);
101
- if (this.overlayEl) {
102
- this.el.nativeElement.removeChild(this.overlayEl);
103
- this.overlayEl = undefined;
104
- }
105
- }
106
- updateHighlight() {
107
- const hasOverlay = (this.overlayEl && this.el.nativeElement.contains(this.overlayEl)) ?? false;
108
- if ((this.isHovered$.value || this.isSelected$.value) && !hasOverlay) {
109
- setTimeout(() => this.addHighlight());
110
- }
111
- if (!this.isHovered$.value && !this.isSelected$.value && hasOverlay) {
112
- this.removeHighlight();
113
- }
114
- }
115
- }
116
- ElementHoverPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ElementHoverPlugin, deps: [{ token: i1.ElementComponent }], target: i0.ɵɵFactoryTarget.Injectable });
117
- ElementHoverPlugin.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ElementHoverPlugin });
118
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ElementHoverPlugin, decorators: [{
119
- type: Injectable
120
- }], ctorParameters: function () { return [{ type: i1.ElementComponent }]; } });
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1ob3Zlci5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvcGx1Z2lucy9lbGVtZW50LWhvdmVyLnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFhLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0csT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQzs7O0FBRzFGLE1BQU0sT0FBTyxrQkFBa0I7SUFtQjdCLFlBQW1CLElBQXNCO1FBQXRCLFNBQUksR0FBSixJQUFJLENBQWtCO1FBbEJ4QixtQkFBYyxHQUFHLGVBQWUsQ0FBQztRQUVqQyxhQUFRLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDcEMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNoQyxPQUFFLEdBQUcsTUFBTSxDQUEwQixVQUFVLENBQUMsQ0FBQztRQUNqRCxhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLHlCQUFvQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRzdELGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4Qyxn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SSxDQUFDLFVBQVUsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNwRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7U0FDdkM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxVQUFVLEVBQUU7WUFDbkUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQzs7K0dBcklVLGtCQUFrQjttSEFBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblJlZiwgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBjcmVhdGVDb21wb25lbnQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVsZW1lbnRUb29sc1BhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9lbGVtZW50LXRvb2xzLXBhbmVsL2VsZW1lbnQtdG9vbHMtcGFuZWwuY29tcG9uZW50JztcbmltcG9ydCB7IEVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2VsZW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IFBsdWdpbkNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvcGx1Z2luLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFTEVNRU5UX01FVEFEQVRBIH0gZnJvbSAnLi4vaW5qZWN0aW9uLXRva2Vucyc7XG5pbXBvcnQgeyBSdW50aW1lRWRpdG9yU2VydmljZSB9IGZyb20gJy4uL21vZHVsZXMvcnVudGltZS9zZXJ2aWNlcy9ydW50aW1lLWVkaXRvci5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEVsZW1lbnRIb3ZlclBsdWdpbiBpbXBsZW1lbnRzIFBsdWdpbkNvbXBvbmVudCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSByZWFkb25seSBob3ZlckNsYXNzTmFtZSA9ICdlbGVtZW50LWhvdmVyJztcblxuICBwcml2YXRlIHJlYWRvbmx5IG1ldGFkYXRhID0gaW5qZWN0KEVMRU1FTlRfTUVUQURBVEEpO1xuICBwcml2YXRlIHJlYWRvbmx5IGFwcFJlZiA9IGluamVjdChBcHBsaWNhdGlvblJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWwgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcbiAgcHJpdmF0ZSByZWFkb25seSBydW50aW1lRWRpdG9yU2VydmljZSA9IGluamVjdChSdW50aW1lRWRpdG9yU2VydmljZSk7XG5cbiAgcHJpdmF0ZSBvdmVybGF5RWw/OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBpc0hvdmVyZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByaXZhdGUgaXNTZWxlY3RlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgcHJpdmF0ZSBkZXN0cm95ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBsaXN0ZW5lcnNBdHRhY2hlZCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgbW91c2VPdmVyTGlzdGVuZXJCb3VuZDogKGU6IE1vdXNlRXZlbnQpID0+IHZvaWQ7XG4gIHByaXZhdGUgbW91c2VMZWF2ZUxpc3RlbmVyQm91bmQ6IChlOiBNb3VzZUV2ZW50KSA9PiB2b2lkO1xuICBwcml2YXRlIGNsaWNrTGlzdGVuZXJCb3VuZDogKGU6IE1vdXNlRXZlbnQpID0+IHZvaWQ7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGhvc3Q6IEVsZW1lbnRDb21wb25lbnQpIHtcbiAgICB0aGlzLm1vdXNlT3Zlckxpc3RlbmVyQm91bmQgPSB0aGlzLm1vdXNlT3Zlckxpc3RlbmVyLmJpbmQodGhpcyk7XG4gICAgdGhpcy5tb3VzZUxlYXZlTGlzdGVuZXJCb3VuZCA9IHRoaXMubW91c2VMZWF2ZUxpc3RlbmVyLmJpbmQodGhpcyk7XG4gICAgdGhpcy5jbGlja0xpc3RlbmVyQm91bmQgPSB0aGlzLmNsaWNrTGlzdGVuZXIuYmluZCh0aGlzKTtcblxuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMucnVudGltZUVkaXRvclNlcnZpY2UuZWRpdG9yTW9kZSQsIHRoaXMuaXNIb3ZlcmVkJCwgdGhpcy5pc1NlbGVjdGVkJF0pXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKFtlZGl0b3JNb2RlXSkgPT4ge1xuICAgICAgICBpZiAoIWVkaXRvck1vZGUpIHtcbiAgICAgICAgICB0aGlzLmRldGFjaExpc3RlbmVycygpO1xuICAgICAgICAgIHRoaXMucmVtb3ZlSGlnaGxpZ2h0KCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hdHRhY2hMaXN0ZW5lcnMoKTtcbiAgICAgICAgdGhpcy51cGRhdGVIaWdobGlnaHQoKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5ydW50aW1lRWRpdG9yU2VydmljZS5zZWxlY3RlZEVsZW1lbnRQYXRoJC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKS5zdWJzY3JpYmUocGF0aCA9PiB7XG4gICAgICBjb25zdCBpc1NlbGVjdGVkID0gdGhpcy5tZXRhZGF0YS5wYXRoID09PSBwYXRoO1xuICAgICAgaWYgKHRoaXMuaXNTZWxlY3RlZCQudmFsdWUgIT09IGlzU2VsZWN0ZWQpIHtcbiAgICAgICAgdGhpcy5pc1NlbGVjdGVkJC5uZXh0KGlzU2VsZWN0ZWQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveWVkJC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95ZWQkLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5kZXRhY2hMaXN0ZW5lcnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXR0YWNoTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxpc3RlbmVyc0F0dGFjaGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlb3ZlcicsIHRoaXMubW91c2VPdmVyTGlzdGVuZXJCb3VuZCk7XG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCB0aGlzLm1vdXNlTGVhdmVMaXN0ZW5lckJvdW5kKTtcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLmNsaWNrTGlzdGVuZXJCb3VuZCk7XG4gICAgdGhpcy5saXN0ZW5lcnNBdHRhY2hlZCA9IHRydWU7XG4gIH1cblxuICBwcml2YXRlIGRldGFjaExpc3RlbmVycygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubGlzdGVuZXJzQXR0YWNoZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2VvdmVyJywgdGhpcy5tb3VzZU92ZXJMaXN0ZW5lckJvdW5kKTtcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsIHRoaXMubW91c2VMZWF2ZUxpc3RlbmVyQm91bmQpO1xuICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuY2xpY2tMaXN0ZW5lckJvdW5kKTtcbiAgICB0aGlzLmxpc3RlbmVyc0F0dGFjaGVkID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIG1vdXNlT3Zlckxpc3RlbmVyKGU6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBwYXRoID0gZS5jb21wb3NlZFBhdGgoKTtcbiAgICBjb25zdCBpbm5lclBhdGggPSBwYXRoLnNsaWNlKDAsIHBhdGguaW5kZXhPZih0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpKTtcbiAgICBjb25zdCBoYXNDaGlsZEhvdmVyZWQgPSBpbm5lclBhdGguc29tZSh0YXJnZXQgPT4ge1xuICAgICAgY29uc3QgdCA9IHRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICAgIHJldHVybiB0LnRhZ05hbWUgPT09ICdWTC1FTEVNRU5UJyAmJiB0LmNsYXNzTGlzdC5jb250YWlucyh0aGlzLmhvdmVyQ2xhc3NOYW1lKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGlzSG92ZXJlZCA9ICFoYXNDaGlsZEhvdmVyZWQ7XG5cbiAgICBpZiAodGhpcy5pc0hvdmVyZWQkLnZhbHVlICE9PSBpc0hvdmVyZWQpIHtcbiAgICAgIHRoaXMuaXNIb3ZlcmVkJC5uZXh0KGlzSG92ZXJlZCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjbGlja0xpc3RlbmVyKGU6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5lbC5uYXRpdmVFbGVtZW50ID09PSBlLnRhcmdldCkge1xuICAgICAgdGhpcy5ydW50aW1lRWRpdG9yU2VydmljZS5zZWxlY3RlZEVsZW1lbnRQYXRoJC5uZXh0KHRoaXMubWV0YWRhdGEucGF0aCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBtb3VzZUxlYXZlTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgdGhpcy5pc0hvdmVyZWQkLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRIaWdobGlnaHQoKTogdm9pZCB7XG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQodGhpcy5ob3ZlckNsYXNzTmFtZSk7XG5cbiAgICB0aGlzLm92ZXJsYXlFbCA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMub3ZlcmxheUVsKTtcblxuICAgIGNvbnN0IHJlZiA9IGNyZWF0ZUNvbXBvbmVudChFbGVtZW50VG9vbHNQYW5lbENvbXBvbmVudCwge1xuICAgICAgZW52aXJvbm1lbnRJbmplY3RvcjogdGhpcy5hcHBSZWYuaW5qZWN0b3IsXG4gICAgICBob3N0RWxlbWVudDogdGhpcy5vdmVybGF5RWwsXG4gICAgICBlbGVtZW50SW5qZWN0b3I6IHRoaXMuaG9zdC5pbmplY3RvcixcbiAgICB9KTtcblxuICAgIHJlZi5pbnN0YW5jZS5ydW50aW1lRWRpdG9yU2VydmljZSA9IHRoaXMucnVudGltZUVkaXRvclNlcnZpY2U7XG4gICAgcmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlSGlnaGxpZ2h0KCk6IHZvaWQge1xuICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuaG92ZXJDbGFzc05hbWUpO1xuXG4gICAgaWYgKHRoaXMub3ZlcmxheUVsKSB7XG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5vdmVybGF5RWwpO1xuICAgICAgdGhpcy5vdmVybGF5RWwgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVIaWdobGlnaHQoKTogdm9pZCB7XG4gICAgY29uc3QgaGFzT3ZlcmxheSA9ICh0aGlzLm92ZXJsYXlFbCAmJiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGhpcy5vdmVybGF5RWwpKSA/PyBmYWxzZTtcblxuICAgIGlmICgodGhpcy5pc0hvdmVyZWQkLnZhbHVlIHx8IHRoaXMuaXNTZWxlY3RlZCQudmFsdWUpICYmICFoYXNPdmVybGF5KSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuYWRkSGlnaGxpZ2h0KCkpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5pc0hvdmVyZWQkLnZhbHVlICYmICF0aGlzLmlzU2VsZWN0ZWQkLnZhbHVlICYmIGhhc092ZXJsYXkpIHtcbiAgICAgIHRoaXMucmVtb3ZlSGlnaGxpZ2h0KCk7XG4gICAgfVxuICB9XG59XG4iXX0=