@acorex/platform 1.0.0

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 (561) hide show
  1. package/README.md +7 -0
  2. package/auth/README.md +3 -0
  3. package/auth/index.d.ts +16 -0
  4. package/auth/lib/application/application.loader.d.ts +9 -0
  5. package/auth/lib/application/application.types.d.ts +10 -0
  6. package/auth/lib/auth-registry.service.d.ts +12 -0
  7. package/auth/lib/auth.guard.d.ts +2 -0
  8. package/auth/lib/auth.module.d.ts +20 -0
  9. package/auth/lib/auth.strategy.d.ts +28 -0
  10. package/auth/lib/errors.types.d.ts +6 -0
  11. package/auth/lib/feature/feature.loader.d.ts +7 -0
  12. package/auth/lib/feature/feature.types.d.ts +6 -0
  13. package/auth/lib/permission/permission.directive.d.ts +16 -0
  14. package/auth/lib/permission/permission.guard.d.ts +2 -0
  15. package/auth/lib/permission/permission.loader.d.ts +7 -0
  16. package/auth/lib/permission/permission.types.d.ts +1 -0
  17. package/auth/lib/session.service.d.ts +51 -0
  18. package/auth/lib/tenant/tenant.loader.d.ts +9 -0
  19. package/auth/lib/tenant/tenant.types.d.ts +8 -0
  20. package/auth/lib/user/user.types.d.ts +6 -0
  21. package/common/README.md +3 -0
  22. package/common/index.d.ts +11 -0
  23. package/common/lib/common.module.d.ts +21 -0
  24. package/common/lib/configs/app.config.d.ts +19 -0
  25. package/common/lib/data/data-provider.types.d.ts +11 -0
  26. package/common/lib/data/index.d.ts +1 -0
  27. package/common/lib/errors/error-handler-registry.service.d.ts +12 -0
  28. package/common/lib/errors/error-handler.types.d.ts +3 -0
  29. package/common/lib/errors/global-error-handler.d.ts +11 -0
  30. package/common/lib/errors/index.d.ts +3 -0
  31. package/common/lib/layout/component-slot/component-slot-loader.service.d.ts +11 -0
  32. package/common/lib/layout/component-slot/component-slot-registery.service.d.ts +9 -0
  33. package/common/lib/layout/component-slot/component-slot.directive.d.ts +12 -0
  34. package/common/lib/layout/component-slot/component-slot.module.d.ts +15 -0
  35. package/common/lib/layout/component-slot/component-slot.types.d.ts +14 -0
  36. package/common/lib/layout/component-slot/index.d.ts +5 -0
  37. package/common/lib/menu/index.d.ts +2 -0
  38. package/common/lib/menu/menu.loader.d.ts +17 -0
  39. package/common/lib/menu/menu.types.d.ts +13 -0
  40. package/common/lib/settings/index.d.ts +3 -0
  41. package/common/lib/settings/settings.loader.d.ts +8 -0
  42. package/common/lib/settings/settings.service.d.ts +9 -0
  43. package/common/lib/settings/settings.types.d.ts +5 -0
  44. package/common/lib/shared/logo.types.d.ts +19 -0
  45. package/common/lib/shared/state-persistence/index.d.ts +3 -0
  46. package/common/lib/shared/state-persistence/state-persistence.actions.d.ts +1 -0
  47. package/common/lib/shared/state-persistence/state-persistence.module.d.ts +8 -0
  48. package/common/lib/shared/state-persistence/state-persistence.reducers.d.ts +3 -0
  49. package/common/lib/store/common.actions.d.ts +14 -0
  50. package/common/lib/store/common.effects.d.ts +11 -0
  51. package/common/lib/store/index.d.ts +2 -0
  52. package/common/lib/utils/clipboard-service.d.ts +7 -0
  53. package/common/lib/utils/index.d.ts +3 -0
  54. package/common/lib/utils/router-util.service.d.ts +12 -0
  55. package/common/lib/utils/sticky.directive.d.ts +24 -0
  56. package/esm2022/acorex-platform.mjs +5 -0
  57. package/esm2022/auth/acorex-platform-auth.mjs +5 -0
  58. package/esm2022/auth/index.mjs +17 -0
  59. package/esm2022/auth/lib/application/application.loader.mjs +26 -0
  60. package/esm2022/auth/lib/application/application.types.mjs +2 -0
  61. package/esm2022/auth/lib/auth-registry.service.mjs +29 -0
  62. package/esm2022/auth/lib/auth.guard.mjs +18 -0
  63. package/esm2022/auth/lib/auth.module.mjs +84 -0
  64. package/esm2022/auth/lib/auth.strategy.mjs +2 -0
  65. package/esm2022/auth/lib/errors.types.mjs +13 -0
  66. package/esm2022/auth/lib/feature/feature.loader.mjs +14 -0
  67. package/esm2022/auth/lib/feature/feature.types.mjs +2 -0
  68. package/esm2022/auth/lib/permission/permission.directive.mjs +51 -0
  69. package/esm2022/auth/lib/permission/permission.guard.mjs +16 -0
  70. package/esm2022/auth/lib/permission/permission.loader.mjs +14 -0
  71. package/esm2022/auth/lib/permission/permission.types.mjs +2 -0
  72. package/esm2022/auth/lib/session.service.mjs +240 -0
  73. package/esm2022/auth/lib/tenant/tenant.loader.mjs +23 -0
  74. package/esm2022/auth/lib/tenant/tenant.types.mjs +2 -0
  75. package/esm2022/auth/lib/user/user.types.mjs +2 -0
  76. package/esm2022/common/acorex-platform-common.mjs +5 -0
  77. package/esm2022/common/index.mjs +12 -0
  78. package/esm2022/common/lib/common.module.mjs +123 -0
  79. package/esm2022/common/lib/configs/app.config.mjs +27 -0
  80. package/esm2022/common/lib/data/data-provider.types.mjs +3 -0
  81. package/esm2022/common/lib/data/index.mjs +2 -0
  82. package/esm2022/common/lib/errors/error-handler-registry.service.mjs +29 -0
  83. package/esm2022/common/lib/errors/error-handler.types.mjs +2 -0
  84. package/esm2022/common/lib/errors/global-error-handler.mjs +36 -0
  85. package/esm2022/common/lib/errors/index.mjs +4 -0
  86. package/esm2022/common/lib/layout/component-slot/component-slot-loader.service.mjs +56 -0
  87. package/esm2022/common/lib/layout/component-slot/component-slot-registery.service.mjs +28 -0
  88. package/esm2022/common/lib/layout/component-slot/component-slot.directive.mjs +24 -0
  89. package/esm2022/common/lib/layout/component-slot/component-slot.module.mjs +72 -0
  90. package/esm2022/common/lib/layout/component-slot/component-slot.types.mjs +2 -0
  91. package/esm2022/common/lib/layout/component-slot/index.mjs +6 -0
  92. package/esm2022/common/lib/menu/index.mjs +3 -0
  93. package/esm2022/common/lib/menu/menu.loader.mjs +39 -0
  94. package/esm2022/common/lib/menu/menu.types.mjs +2 -0
  95. package/esm2022/common/lib/settings/index.mjs +4 -0
  96. package/esm2022/common/lib/settings/settings.loader.mjs +17 -0
  97. package/esm2022/common/lib/settings/settings.service.mjs +20 -0
  98. package/esm2022/common/lib/settings/settings.types.mjs +2 -0
  99. package/esm2022/common/lib/shared/logo.types.mjs +21 -0
  100. package/esm2022/common/lib/shared/state-persistence/index.mjs +4 -0
  101. package/esm2022/common/lib/shared/state-persistence/state-persistence.actions.mjs +3 -0
  102. package/esm2022/common/lib/shared/state-persistence/state-persistence.module.mjs +36 -0
  103. package/esm2022/common/lib/shared/state-persistence/state-persistence.reducers.mjs +30 -0
  104. package/esm2022/common/lib/store/common.actions.mjs +5 -0
  105. package/esm2022/common/lib/store/common.effects.mjs +31 -0
  106. package/esm2022/common/lib/store/index.mjs +3 -0
  107. package/esm2022/common/lib/utils/clipboard-service.mjs +26 -0
  108. package/esm2022/common/lib/utils/index.mjs +4 -0
  109. package/esm2022/common/lib/utils/router-util.service.mjs +43 -0
  110. package/esm2022/common/lib/utils/sticky.directive.mjs +74 -0
  111. package/esm2022/index.mjs +2 -0
  112. package/esm2022/layouts/acorex-platform-layouts.mjs +5 -0
  113. package/esm2022/layouts/index.mjs +5 -0
  114. package/esm2022/layouts/lib/admin/admin-child-layout/admin-child-features-list.component.mjs +58 -0
  115. package/esm2022/layouts/lib/admin/admin-child-layout/admin-child-layout.component.mjs +50 -0
  116. package/esm2022/layouts/lib/admin/admin-child-layout/admin-child-layout.module.mjs +57 -0
  117. package/esm2022/layouts/lib/admin/admin-child-layout/index.mjs +4 -0
  118. package/esm2022/layouts/lib/admin/admin-root-layout/admin-root-layout.component.mjs +74 -0
  119. package/esm2022/layouts/lib/admin/admin-root-layout/admin-root-layout.module.mjs +92 -0
  120. package/esm2022/layouts/lib/admin/admin-root-layout/components/admin-footer/admin-footer.component.mjs +14 -0
  121. package/esm2022/layouts/lib/admin/admin-root-layout/components/admin-header/admin-header.component.mjs +29 -0
  122. package/esm2022/layouts/lib/admin/admin-root-layout/index.mjs +5 -0
  123. package/esm2022/layouts/lib/admin/admin.module.mjs +75 -0
  124. package/esm2022/layouts/lib/admin/admin.routes.mjs +37 -0
  125. package/esm2022/layouts/lib/admin/custom-reuse.strategy.mjs +20 -0
  126. package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.component.mjs +105 -0
  127. package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.config.mjs +137 -0
  128. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/detail-view.config.mjs +125 -0
  129. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.mjs +180 -0
  130. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/index.mjs +3 -0
  131. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/entity-custom-view/entity-custom-view.component.mjs +200 -0
  132. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/index.mjs +6 -0
  133. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-columns/list-view-option-columns.component.mjs +56 -0
  134. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.mjs +108 -0
  135. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-filter-operator.component.mjs +76 -0
  136. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-sorting/list-view-option-sorting.component.mjs +57 -0
  137. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.mjs +283 -0
  138. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/index.mjs +5 -0
  139. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.config.mjs +333 -0
  140. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.module.mjs +156 -0
  141. package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.component.mjs +86 -0
  142. package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.config.mjs +66 -0
  143. package/esm2022/layouts/lib/admin/entity-layout/entity-quick-view/entity-quick-view.component.mjs +82 -0
  144. package/esm2022/layouts/lib/admin/entity-layout/entity-quick-view/index.mjs +2 -0
  145. package/esm2022/layouts/lib/admin/entity-layout/index.mjs +4 -0
  146. package/esm2022/layouts/lib/admin/entity-layout/store/entity.actions.mjs +18 -0
  147. package/esm2022/layouts/lib/admin/entity-layout/store/entity.effects.mjs +76 -0
  148. package/esm2022/layouts/lib/admin/entity-layout/workflows/create-entity.workflow.mjs +91 -0
  149. package/esm2022/layouts/lib/admin/entity-layout/workflows/delete-entity.workflow.mjs +153 -0
  150. package/esm2022/layouts/lib/admin/entity-layout/workflows/modify-entity.workflow.mjs +98 -0
  151. package/esm2022/layouts/lib/admin/entity.resolver.mjs +21 -0
  152. package/esm2022/layouts/lib/admin/index.mjs +8 -0
  153. package/esm2022/layouts/lib/admin/store/admin-layout.actions.mjs +12 -0
  154. package/esm2022/layouts/lib/admin/store/admin-layout.effects.mjs +29 -0
  155. package/esm2022/layouts/lib/admin/store/admin-layout.reducers.mjs +60 -0
  156. package/esm2022/layouts/lib/admin/store/admin-layout.selectors.mjs +8 -0
  157. package/esm2022/layouts/lib/admin/store/admin-layout.state.mjs +16 -0
  158. package/esm2022/layouts/lib/admin/store/index.mjs +6 -0
  159. package/esm2022/layouts/lib/layout.module.mjs +63 -0
  160. package/esm2022/layouts/lib/layout.routes.mjs +15 -0
  161. package/esm2022/layouts/lib/shared/components/content-view/content-view.page.mjs +64 -0
  162. package/esm2022/layouts/lib/shared/components/content-view/content-view.type.mjs +2 -0
  163. package/esm2022/layouts/lib/shared/components/error-401/error-401.component.mjs +29 -0
  164. package/esm2022/layouts/lib/shared/components/error-404/error-404.component.mjs +22 -0
  165. package/esm2022/layouts/lib/shared/components/error-offline/error-offline.component.mjs +16 -0
  166. package/esm2022/layouts/lib/shared/components/index.mjs +9 -0
  167. package/esm2022/layouts/lib/shared/components/logo/logo.component.mjs +38 -0
  168. package/esm2022/layouts/lib/shared/components/slots/footer-text-slot.component.mjs +20 -0
  169. package/esm2022/layouts/lib/shared/components/slots/navbar-slot.component.mjs +36 -0
  170. package/esm2022/layouts/lib/shared/components/slots/theme-slot.component.mjs +48 -0
  171. package/esm2022/layouts/lib/shared/entity/entity-registery.service.mjs +70 -0
  172. package/esm2022/layouts/lib/shared/entity/entity.class.mjs +32 -0
  173. package/esm2022/layouts/lib/shared/entity/entity.loader.mjs +13 -0
  174. package/esm2022/layouts/lib/shared/entity/index.mjs +4 -0
  175. package/esm2022/layouts/lib/shared/index.mjs +5 -0
  176. package/esm2022/layouts/lib/shared/services/index.mjs +2 -0
  177. package/esm2022/layouts/lib/shared/services/layout.service.mjs +79 -0
  178. package/esm2022/layouts/lib/shared/workflows/common.workflow.mjs +110 -0
  179. package/esm2022/layouts/lib/shared/workflows/error-handler.mjs +24 -0
  180. package/esm2022/layouts/lib/shared/workflows/index.mjs +3 -0
  181. package/esm2022/layouts/lib/widgets/avatar/avatar-widget-edit.component.mjs +102 -0
  182. package/esm2022/layouts/lib/widgets/avatar/avatar-widget-view.component.mjs +33 -0
  183. package/esm2022/layouts/lib/widgets/checkbox/checkbox-widget-column.component.mjs +53 -0
  184. package/esm2022/layouts/lib/widgets/checkbox/checkbox-widget-edit.component.mjs +22 -0
  185. package/esm2022/layouts/lib/widgets/checkbox/checkbox-widget-view.component.mjs +47 -0
  186. package/esm2022/layouts/lib/widgets/common-widget-filter/boolean-widget-filter.component.mjs +147 -0
  187. package/esm2022/layouts/lib/widgets/common-widget-filter/number-widget-filter.component.mjs +135 -0
  188. package/esm2022/layouts/lib/widgets/common-widget-filter/string-widget-filter.component.mjs +125 -0
  189. package/esm2022/layouts/lib/widgets/common-widgets.module.mjs +479 -0
  190. package/esm2022/layouts/lib/widgets/dateTime/dateTime-widget-column.component.mjs +44 -0
  191. package/esm2022/layouts/lib/widgets/dateTime/dateTime-widget-edit.component.mjs +175 -0
  192. package/esm2022/layouts/lib/widgets/dateTime/dateTime-widget-filter.component.mjs +230 -0
  193. package/esm2022/layouts/lib/widgets/dateTime/dateTime-widget-view.component.mjs +71 -0
  194. package/esm2022/layouts/lib/widgets/email/email-widget-column.component.mjs +73 -0
  195. package/esm2022/layouts/lib/widgets/email/email-widget-edit.component.mjs +249 -0
  196. package/esm2022/layouts/lib/widgets/email/email-widget-view.component.mjs +108 -0
  197. package/esm2022/layouts/lib/widgets/file/file-widget-column.component.mjs +27 -0
  198. package/esm2022/layouts/lib/widgets/file/file-widget-edit.component.mjs +200 -0
  199. package/esm2022/layouts/lib/widgets/file/file-widget-filter.component.mjs +27 -0
  200. package/esm2022/layouts/lib/widgets/file/file-widget-view.component.mjs +153 -0
  201. package/esm2022/layouts/lib/widgets/gallery/gallery-widget-edit.component.mjs +189 -0
  202. package/esm2022/layouts/lib/widgets/gallery/gallery-widget-filter.component.mjs +27 -0
  203. package/esm2022/layouts/lib/widgets/gallery/gallery-widget-types.mjs +2 -0
  204. package/esm2022/layouts/lib/widgets/gallery/gallery-widget-view.component.mjs +173 -0
  205. package/esm2022/layouts/lib/widgets/index.mjs +2 -0
  206. package/esm2022/layouts/lib/widgets/lookup/lookup-widget-column.component.mjs +43 -0
  207. package/esm2022/layouts/lib/widgets/lookup/lookup-widget-edit.component.mjs +74 -0
  208. package/esm2022/layouts/lib/widgets/lookup/lookup-widget-filter.component.mjs +139 -0
  209. package/esm2022/layouts/lib/widgets/lookup/lookup-widget-view.component.mjs +54 -0
  210. package/esm2022/layouts/lib/widgets/map/map-widget-edit.component.mjs +91 -0
  211. package/esm2022/layouts/lib/widgets/map/map-widget-view.component.mjs +63 -0
  212. package/esm2022/layouts/lib/widgets/messenger/messenger-widget-column.component.mjs +71 -0
  213. package/esm2022/layouts/lib/widgets/messenger/messenger-widget-edit.component.mjs +136 -0
  214. package/esm2022/layouts/lib/widgets/messenger/messenger-widget-view.component.mjs +132 -0
  215. package/esm2022/layouts/lib/widgets/number/number-widget-edit.component.mjs +46 -0
  216. package/esm2022/layouts/lib/widgets/number/number-widget-view.component.mjs +30 -0
  217. package/esm2022/layouts/lib/widgets/password/change-password.component.mjs +175 -0
  218. package/esm2022/layouts/lib/widgets/password/password-widget-column.component.mjs +77 -0
  219. package/esm2022/layouts/lib/widgets/password/password-widget-edit.component.mjs +34 -0
  220. package/esm2022/layouts/lib/widgets/password/password-widget-view.component.mjs +109 -0
  221. package/esm2022/layouts/lib/widgets/phone/phone-widget-column.component.mjs +91 -0
  222. package/esm2022/layouts/lib/widgets/phone/phone-widget-edit.component.mjs +315 -0
  223. package/esm2022/layouts/lib/widgets/phone/phone-widget-view.component.mjs +123 -0
  224. package/esm2022/layouts/lib/widgets/rich-text/rich-text-widget-column.component.mjs +69 -0
  225. package/esm2022/layouts/lib/widgets/rich-text/rich-text-widget-edit.component.mjs +67 -0
  226. package/esm2022/layouts/lib/widgets/rich-text/rich-text-widget-view.component.mjs +34 -0
  227. package/esm2022/layouts/lib/widgets/selection-list/selection-list-widget-column.component.mjs +43 -0
  228. package/esm2022/layouts/lib/widgets/selection-list/selection-list-widget-edit.component.mjs +53 -0
  229. package/esm2022/layouts/lib/widgets/selection-list/selection-list-widget-filter.component.mjs +41 -0
  230. package/esm2022/layouts/lib/widgets/selection-list/selection-list-widget-view.component.mjs +45 -0
  231. package/esm2022/layouts/lib/widgets/signature-pad/signature-pad-widget-edit.component.mjs +128 -0
  232. package/esm2022/layouts/lib/widgets/signature-pad/signature-pad-widget-view.component.mjs +41 -0
  233. package/esm2022/layouts/lib/widgets/text/largetext-widget-edit.component.mjs +37 -0
  234. package/esm2022/layouts/lib/widgets/text/text-widget-column.component.mjs +47 -0
  235. package/esm2022/layouts/lib/widgets/text/text-widget-edit.component.mjs +162 -0
  236. package/esm2022/layouts/lib/widgets/text/text-widget-view.component.mjs +66 -0
  237. package/esm2022/layouts/lib/widgets/toggle/toggle-widget-column.component.mjs +57 -0
  238. package/esm2022/layouts/lib/widgets/toggle/toggle-widget-edit.component.mjs +25 -0
  239. package/esm2022/layouts/lib/widgets/toggle/toggle-widget-view.component.mjs +49 -0
  240. package/esm2022/mocks/acorex-platform-mocks.mjs +5 -0
  241. package/esm2022/mocks/index.mjs +7 -0
  242. package/esm2022/mocks/lib/mocks.module.mjs +15 -0
  243. package/esm2022/mocks/lib/services/mocker.service.mjs +124 -0
  244. package/esm2022/mocks/lib/storage/storage.mock.service.mjs +186 -0
  245. package/esm2022/native/acorex-platform-native.mjs +5 -0
  246. package/esm2022/native/index.mjs +3 -0
  247. package/esm2022/native/lib/native.module.mjs +16 -0
  248. package/esm2022/native/lib/native.service.mjs +133 -0
  249. package/esm2022/schema/acorex-platform-schema.mjs +5 -0
  250. package/esm2022/schema/index.mjs +14 -0
  251. package/esm2022/schema/lib/component-loader.mjs +2 -0
  252. package/esm2022/schema/lib/formats.mjs +2 -0
  253. package/esm2022/schema/lib/operators.mjs +50 -0
  254. package/esm2022/schema/lib/schema-registery.service.mjs +33 -0
  255. package/esm2022/schema/lib/schema.mjs +2 -0
  256. package/esm2022/schema/lib/schema.module.mjs +23 -0
  257. package/esm2022/schema/lib/widget/widget-base.mjs +110 -0
  258. package/esm2022/schema/lib/widget/widget-column-renderer.mjs +99 -0
  259. package/esm2022/schema/lib/widget/widget-filter-renderer.mjs +133 -0
  260. package/esm2022/schema/lib/widget/widget-renderer.mjs +144 -0
  261. package/esm2022/schema/lib/widget/widget-token.mjs +3 -0
  262. package/esm2022/workflow/acorex-platform-workflow.mjs +5 -0
  263. package/esm2022/workflow/index.mjs +7 -0
  264. package/esm2022/workflow/lib/errors.types.mjs +8 -0
  265. package/esm2022/workflow/lib/workflow-event-dispatcher.service.mjs +23 -0
  266. package/esm2022/workflow/lib/workflow-registery.service.mjs +39 -0
  267. package/esm2022/workflow/lib/workflow.module.mjs +96 -0
  268. package/esm2022/workflow/lib/workflow.service.mjs +141 -0
  269. package/esm2022/workflow/lib/workflow.types.mjs +52 -0
  270. package/fesm2022/acorex-platform-auth.mjs +502 -0
  271. package/fesm2022/acorex-platform-auth.mjs.map +1 -0
  272. package/fesm2022/acorex-platform-common.mjs +699 -0
  273. package/fesm2022/acorex-platform-common.mjs.map +1 -0
  274. package/fesm2022/acorex-platform-layouts-avatar-widget-edit.component-PZr1lXj-.mjs +104 -0
  275. package/fesm2022/acorex-platform-layouts-avatar-widget-edit.component-PZr1lXj-.mjs.map +1 -0
  276. package/fesm2022/acorex-platform-layouts-avatar-widget-view.component-pJJYkvdH.mjs +36 -0
  277. package/fesm2022/acorex-platform-layouts-avatar-widget-view.component-pJJYkvdH.mjs.map +1 -0
  278. package/fesm2022/acorex-platform-layouts-boolean-widget-filter.component-H056Q5Gz.mjs +150 -0
  279. package/fesm2022/acorex-platform-layouts-boolean-widget-filter.component-H056Q5Gz.mjs.map +1 -0
  280. package/fesm2022/acorex-platform-layouts-change-password.component-QMAm6dxN.mjs +178 -0
  281. package/fesm2022/acorex-platform-layouts-change-password.component-QMAm6dxN.mjs.map +1 -0
  282. package/fesm2022/acorex-platform-layouts-checkbox-widget-column.component-vRJI5S-w.mjs +56 -0
  283. package/fesm2022/acorex-platform-layouts-checkbox-widget-column.component-vRJI5S-w.mjs.map +1 -0
  284. package/fesm2022/acorex-platform-layouts-checkbox-widget-edit.component-P4cD_Nwg.mjs +25 -0
  285. package/fesm2022/acorex-platform-layouts-checkbox-widget-edit.component-P4cD_Nwg.mjs.map +1 -0
  286. package/fesm2022/acorex-platform-layouts-checkbox-widget-view.component-m6bF8XFR.mjs +50 -0
  287. package/fesm2022/acorex-platform-layouts-checkbox-widget-view.component-m6bF8XFR.mjs.map +1 -0
  288. package/fesm2022/acorex-platform-layouts-dateTime-widget-column.component-qeQRJePy.mjs +47 -0
  289. package/fesm2022/acorex-platform-layouts-dateTime-widget-column.component-qeQRJePy.mjs.map +1 -0
  290. package/fesm2022/acorex-platform-layouts-dateTime-widget-edit.component-zeJXGXY8.mjs +178 -0
  291. package/fesm2022/acorex-platform-layouts-dateTime-widget-edit.component-zeJXGXY8.mjs.map +1 -0
  292. package/fesm2022/acorex-platform-layouts-dateTime-widget-filter.component-DJ6esclU.mjs +233 -0
  293. package/fesm2022/acorex-platform-layouts-dateTime-widget-filter.component-DJ6esclU.mjs.map +1 -0
  294. package/fesm2022/acorex-platform-layouts-dateTime-widget-view.component-BrwycTWz.mjs +74 -0
  295. package/fesm2022/acorex-platform-layouts-dateTime-widget-view.component-BrwycTWz.mjs.map +1 -0
  296. package/fesm2022/acorex-platform-layouts-email-widget-column.component-ac8gqsFT.mjs +76 -0
  297. package/fesm2022/acorex-platform-layouts-email-widget-column.component-ac8gqsFT.mjs.map +1 -0
  298. package/fesm2022/acorex-platform-layouts-email-widget-edit.component-m2dI7y9X.mjs +252 -0
  299. package/fesm2022/acorex-platform-layouts-email-widget-edit.component-m2dI7y9X.mjs.map +1 -0
  300. package/fesm2022/acorex-platform-layouts-email-widget-view.component-XrV8va7z.mjs +111 -0
  301. package/fesm2022/acorex-platform-layouts-email-widget-view.component-XrV8va7z.mjs.map +1 -0
  302. package/fesm2022/acorex-platform-layouts-entity-create-view.component-8rtifIvM.mjs +108 -0
  303. package/fesm2022/acorex-platform-layouts-entity-create-view.component-8rtifIvM.mjs.map +1 -0
  304. package/fesm2022/acorex-platform-layouts-entity-modify-view.component-VeTkP3-n.mjs +89 -0
  305. package/fesm2022/acorex-platform-layouts-entity-modify-view.component-VeTkP3-n.mjs.map +1 -0
  306. package/fesm2022/acorex-platform-layouts-file-widget-column.component-v7kAdIQ9.mjs +30 -0
  307. package/fesm2022/acorex-platform-layouts-file-widget-column.component-v7kAdIQ9.mjs.map +1 -0
  308. package/fesm2022/acorex-platform-layouts-file-widget-edit.component-Wrq7ZL9R.mjs +203 -0
  309. package/fesm2022/acorex-platform-layouts-file-widget-edit.component-Wrq7ZL9R.mjs.map +1 -0
  310. package/fesm2022/acorex-platform-layouts-file-widget-filter.component-1-NJh38j.mjs +30 -0
  311. package/fesm2022/acorex-platform-layouts-file-widget-filter.component-1-NJh38j.mjs.map +1 -0
  312. package/fesm2022/acorex-platform-layouts-file-widget-view.component-mXBrKX0K.mjs +156 -0
  313. package/fesm2022/acorex-platform-layouts-file-widget-view.component-mXBrKX0K.mjs.map +1 -0
  314. package/fesm2022/acorex-platform-layouts-gallery-widget-edit.component-cWNvVwum.mjs +192 -0
  315. package/fesm2022/acorex-platform-layouts-gallery-widget-edit.component-cWNvVwum.mjs.map +1 -0
  316. package/fesm2022/acorex-platform-layouts-gallery-widget-filter.component-OCz0hj5i.mjs +30 -0
  317. package/fesm2022/acorex-platform-layouts-gallery-widget-filter.component-OCz0hj5i.mjs.map +1 -0
  318. package/fesm2022/acorex-platform-layouts-gallery-widget-view.component-xU52uaP0.mjs +176 -0
  319. package/fesm2022/acorex-platform-layouts-gallery-widget-view.component-xU52uaP0.mjs.map +1 -0
  320. package/fesm2022/acorex-platform-layouts-largetext-widget-edit.component-Um_eBRFi.mjs +40 -0
  321. package/fesm2022/acorex-platform-layouts-largetext-widget-edit.component-Um_eBRFi.mjs.map +1 -0
  322. package/fesm2022/acorex-platform-layouts-lookup-widget-column.component-Ts0MJe8O.mjs +46 -0
  323. package/fesm2022/acorex-platform-layouts-lookup-widget-column.component-Ts0MJe8O.mjs.map +1 -0
  324. package/fesm2022/acorex-platform-layouts-lookup-widget-edit.component-l5nSr9Cm.mjs +119 -0
  325. package/fesm2022/acorex-platform-layouts-lookup-widget-edit.component-l5nSr9Cm.mjs.map +1 -0
  326. package/fesm2022/acorex-platform-layouts-lookup-widget-filter.component-gp5skvmz.mjs +181 -0
  327. package/fesm2022/acorex-platform-layouts-lookup-widget-filter.component-gp5skvmz.mjs.map +1 -0
  328. package/fesm2022/acorex-platform-layouts-lookup-widget-view.component-ftFXFj6k.mjs +57 -0
  329. package/fesm2022/acorex-platform-layouts-lookup-widget-view.component-ftFXFj6k.mjs.map +1 -0
  330. package/fesm2022/acorex-platform-layouts-map-widget-edit.component-SOQvPhmX.mjs +94 -0
  331. package/fesm2022/acorex-platform-layouts-map-widget-edit.component-SOQvPhmX.mjs.map +1 -0
  332. package/fesm2022/acorex-platform-layouts-map-widget-view.component-1Lj9efbd.mjs +66 -0
  333. package/fesm2022/acorex-platform-layouts-map-widget-view.component-1Lj9efbd.mjs.map +1 -0
  334. package/fesm2022/acorex-platform-layouts-messenger-widget-column.component-W7ZY-W84.mjs +74 -0
  335. package/fesm2022/acorex-platform-layouts-messenger-widget-column.component-W7ZY-W84.mjs.map +1 -0
  336. package/fesm2022/acorex-platform-layouts-messenger-widget-edit.component-dAX8nirB.mjs +139 -0
  337. package/fesm2022/acorex-platform-layouts-messenger-widget-edit.component-dAX8nirB.mjs.map +1 -0
  338. package/fesm2022/acorex-platform-layouts-messenger-widget-view.component-9TJiFdq-.mjs +135 -0
  339. package/fesm2022/acorex-platform-layouts-messenger-widget-view.component-9TJiFdq-.mjs.map +1 -0
  340. package/fesm2022/acorex-platform-layouts-number-widget-edit.component-DDi-o_Zn.mjs +49 -0
  341. package/fesm2022/acorex-platform-layouts-number-widget-edit.component-DDi-o_Zn.mjs.map +1 -0
  342. package/fesm2022/acorex-platform-layouts-number-widget-filter.component-DPGSzdNm.mjs +138 -0
  343. package/fesm2022/acorex-platform-layouts-number-widget-filter.component-DPGSzdNm.mjs.map +1 -0
  344. package/fesm2022/acorex-platform-layouts-number-widget-view.component-hqkAR0LG.mjs +33 -0
  345. package/fesm2022/acorex-platform-layouts-number-widget-view.component-hqkAR0LG.mjs.map +1 -0
  346. package/fesm2022/acorex-platform-layouts-password-widget-column.component-ic1jykZL.mjs +80 -0
  347. package/fesm2022/acorex-platform-layouts-password-widget-column.component-ic1jykZL.mjs.map +1 -0
  348. package/fesm2022/acorex-platform-layouts-password-widget-edit.component-D8xI17yk.mjs +37 -0
  349. package/fesm2022/acorex-platform-layouts-password-widget-edit.component-D8xI17yk.mjs.map +1 -0
  350. package/fesm2022/acorex-platform-layouts-password-widget-view.component-E2vtPKRO.mjs +112 -0
  351. package/fesm2022/acorex-platform-layouts-password-widget-view.component-E2vtPKRO.mjs.map +1 -0
  352. package/fesm2022/acorex-platform-layouts-phone-widget-column.component-s04WZfzv.mjs +94 -0
  353. package/fesm2022/acorex-platform-layouts-phone-widget-column.component-s04WZfzv.mjs.map +1 -0
  354. package/fesm2022/acorex-platform-layouts-phone-widget-edit.component-MKzlZ0_B.mjs +318 -0
  355. package/fesm2022/acorex-platform-layouts-phone-widget-edit.component-MKzlZ0_B.mjs.map +1 -0
  356. package/fesm2022/acorex-platform-layouts-phone-widget-view.component-NEO22XO7.mjs +126 -0
  357. package/fesm2022/acorex-platform-layouts-phone-widget-view.component-NEO22XO7.mjs.map +1 -0
  358. package/fesm2022/acorex-platform-layouts-rich-text-widget-column.component-P0YzXTIB.mjs +72 -0
  359. package/fesm2022/acorex-platform-layouts-rich-text-widget-column.component-P0YzXTIB.mjs.map +1 -0
  360. package/fesm2022/acorex-platform-layouts-rich-text-widget-edit.component-ro2yg7PR.mjs +70 -0
  361. package/fesm2022/acorex-platform-layouts-rich-text-widget-edit.component-ro2yg7PR.mjs.map +1 -0
  362. package/fesm2022/acorex-platform-layouts-rich-text-widget-view.component--Rzxm2a6.mjs +37 -0
  363. package/fesm2022/acorex-platform-layouts-rich-text-widget-view.component--Rzxm2a6.mjs.map +1 -0
  364. package/fesm2022/acorex-platform-layouts-selection-list-widget-column.component-9FTkDGmq.mjs +46 -0
  365. package/fesm2022/acorex-platform-layouts-selection-list-widget-column.component-9FTkDGmq.mjs.map +1 -0
  366. package/fesm2022/acorex-platform-layouts-selection-list-widget-edit.component-FpOQ12Ie.mjs +56 -0
  367. package/fesm2022/acorex-platform-layouts-selection-list-widget-edit.component-FpOQ12Ie.mjs.map +1 -0
  368. package/fesm2022/acorex-platform-layouts-selection-list-widget-filter.component-hGk-ZZ78.mjs +44 -0
  369. package/fesm2022/acorex-platform-layouts-selection-list-widget-filter.component-hGk-ZZ78.mjs.map +1 -0
  370. package/fesm2022/acorex-platform-layouts-selection-list-widget-view.component-s9xq___Y.mjs +48 -0
  371. package/fesm2022/acorex-platform-layouts-selection-list-widget-view.component-s9xq___Y.mjs.map +1 -0
  372. package/fesm2022/acorex-platform-layouts-signature-pad-widget-edit.component-W28Uk9zO.mjs +131 -0
  373. package/fesm2022/acorex-platform-layouts-signature-pad-widget-edit.component-W28Uk9zO.mjs.map +1 -0
  374. package/fesm2022/acorex-platform-layouts-signature-pad-widget-view.component-R40Ml757.mjs +44 -0
  375. package/fesm2022/acorex-platform-layouts-signature-pad-widget-view.component-R40Ml757.mjs.map +1 -0
  376. package/fesm2022/acorex-platform-layouts-string-widget-filter.component-4oZ6BVis.mjs +128 -0
  377. package/fesm2022/acorex-platform-layouts-string-widget-filter.component-4oZ6BVis.mjs.map +1 -0
  378. package/fesm2022/acorex-platform-layouts-text-widget-column.component-qhh6MT79.mjs +50 -0
  379. package/fesm2022/acorex-platform-layouts-text-widget-column.component-qhh6MT79.mjs.map +1 -0
  380. package/fesm2022/acorex-platform-layouts-text-widget-edit.component-TC127Dq8.mjs +165 -0
  381. package/fesm2022/acorex-platform-layouts-text-widget-edit.component-TC127Dq8.mjs.map +1 -0
  382. package/fesm2022/acorex-platform-layouts-text-widget-view.component-65eOj0qR.mjs +69 -0
  383. package/fesm2022/acorex-platform-layouts-text-widget-view.component-65eOj0qR.mjs.map +1 -0
  384. package/fesm2022/acorex-platform-layouts-toggle-widget-column.component-uxOXR-bL.mjs +60 -0
  385. package/fesm2022/acorex-platform-layouts-toggle-widget-column.component-uxOXR-bL.mjs.map +1 -0
  386. package/fesm2022/acorex-platform-layouts-toggle-widget-edit.component-R44L1pgJ.mjs +28 -0
  387. package/fesm2022/acorex-platform-layouts-toggle-widget-edit.component-R44L1pgJ.mjs.map +1 -0
  388. package/fesm2022/acorex-platform-layouts-toggle-widget-view.component-DTOeAUiy.mjs +52 -0
  389. package/fesm2022/acorex-platform-layouts-toggle-widget-view.component-DTOeAUiy.mjs.map +1 -0
  390. package/fesm2022/acorex-platform-layouts.mjs +3732 -0
  391. package/fesm2022/acorex-platform-layouts.mjs.map +1 -0
  392. package/fesm2022/acorex-platform-mocks.mjs +332 -0
  393. package/fesm2022/acorex-platform-mocks.mjs.map +1 -0
  394. package/fesm2022/acorex-platform-native.mjs +154 -0
  395. package/fesm2022/acorex-platform-native.mjs.map +1 -0
  396. package/fesm2022/acorex-platform-schema.mjs +572 -0
  397. package/fesm2022/acorex-platform-schema.mjs.map +1 -0
  398. package/fesm2022/acorex-platform-workflow.mjs +350 -0
  399. package/fesm2022/acorex-platform-workflow.mjs.map +1 -0
  400. package/fesm2022/acorex-platform.mjs +6 -0
  401. package/fesm2022/acorex-platform.mjs.map +1 -0
  402. package/index.d.ts +2 -0
  403. package/layouts/README.md +3 -0
  404. package/layouts/index.d.ts +4 -0
  405. package/layouts/lib/admin/admin-child-layout/admin-child-features-list.component.d.ts +22 -0
  406. package/layouts/lib/admin/admin-child-layout/admin-child-layout.component.d.ts +21 -0
  407. package/layouts/lib/admin/admin-child-layout/admin-child-layout.module.d.ts +17 -0
  408. package/layouts/lib/admin/admin-child-layout/index.d.ts +3 -0
  409. package/layouts/lib/admin/admin-root-layout/admin-root-layout.component.d.ts +30 -0
  410. package/layouts/lib/admin/admin-root-layout/admin-root-layout.module.d.ts +25 -0
  411. package/layouts/lib/admin/admin-root-layout/components/admin-footer/admin-footer.component.d.ts +5 -0
  412. package/layouts/lib/admin/admin-root-layout/components/admin-header/admin-header.component.d.ts +10 -0
  413. package/layouts/lib/admin/admin-root-layout/index.d.ts +4 -0
  414. package/layouts/lib/admin/admin.module.d.ts +11 -0
  415. package/layouts/lib/admin/admin.routes.d.ts +2 -0
  416. package/layouts/lib/admin/custom-reuse.strategy.d.ts +8 -0
  417. package/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.component.d.ts +20 -0
  418. package/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.config.d.ts +54 -0
  419. package/layouts/lib/admin/entity-layout/entity-details-view/detail-view.config.d.ts +48 -0
  420. package/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.d.ts +41 -0
  421. package/layouts/lib/admin/entity-layout/entity-details-view/index.d.ts +2 -0
  422. package/layouts/lib/admin/entity-layout/entity-list-view/components/entity-custom-view/entity-custom-view.component.d.ts +47 -0
  423. package/layouts/lib/admin/entity-layout/entity-list-view/components/index.d.ts +5 -0
  424. package/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-columns/list-view-option-columns.component.d.ts +22 -0
  425. package/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.d.ts +35 -0
  426. package/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-filter-operator.component.d.ts +18 -0
  427. package/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-sorting/list-view-option-sorting.component.d.ts +22 -0
  428. package/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.d.ts +63 -0
  429. package/layouts/lib/admin/entity-layout/entity-list-view/index.d.ts +4 -0
  430. package/layouts/lib/admin/entity-layout/entity-list-view/list-view.config.d.ts +110 -0
  431. package/layouts/lib/admin/entity-layout/entity-list-view/list-view.module.d.ts +41 -0
  432. package/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.component.d.ts +25 -0
  433. package/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.config.d.ts +31 -0
  434. package/layouts/lib/admin/entity-layout/entity-quick-view/entity-quick-view.component.d.ts +22 -0
  435. package/layouts/lib/admin/entity-layout/entity-quick-view/index.d.ts +1 -0
  436. package/layouts/lib/admin/entity-layout/index.d.ts +3 -0
  437. package/layouts/lib/admin/entity-layout/store/entity.actions.d.ts +48 -0
  438. package/layouts/lib/admin/entity-layout/store/entity.effects.d.ts +22 -0
  439. package/layouts/lib/admin/entity-layout/workflows/create-entity.workflow.d.ts +28 -0
  440. package/layouts/lib/admin/entity-layout/workflows/delete-entity.workflow.d.ts +33 -0
  441. package/layouts/lib/admin/entity-layout/workflows/modify-entity.workflow.d.ts +31 -0
  442. package/layouts/lib/admin/entity.resolver.d.ts +4 -0
  443. package/layouts/lib/admin/index.d.ts +7 -0
  444. package/layouts/lib/admin/store/admin-layout.actions.d.ts +8 -0
  445. package/layouts/lib/admin/store/admin-layout.effects.d.ts +10 -0
  446. package/layouts/lib/admin/store/admin-layout.reducers.d.ts +24 -0
  447. package/layouts/lib/admin/store/admin-layout.selectors.d.ts +5 -0
  448. package/layouts/lib/admin/store/admin-layout.state.d.ts +14 -0
  449. package/layouts/lib/admin/store/index.d.ts +5 -0
  450. package/layouts/lib/layout.module.d.ts +9 -0
  451. package/layouts/lib/layout.routes.d.ts +2 -0
  452. package/layouts/lib/shared/components/content-view/content-view.page.d.ts +23 -0
  453. package/layouts/lib/shared/components/content-view/content-view.type.d.ts +16 -0
  454. package/layouts/lib/shared/components/error-401/error-401.component.d.ts +13 -0
  455. package/layouts/lib/shared/components/error-404/error-404.component.d.ts +8 -0
  456. package/layouts/lib/shared/components/error-offline/error-offline.component.d.ts +9 -0
  457. package/layouts/lib/shared/components/index.d.ts +8 -0
  458. package/layouts/lib/shared/components/logo/logo.component.d.ts +8 -0
  459. package/layouts/lib/shared/components/slots/footer-text-slot.component.d.ts +6 -0
  460. package/layouts/lib/shared/components/slots/navbar-slot.component.d.ts +10 -0
  461. package/layouts/lib/shared/components/slots/theme-slot.component.d.ts +8 -0
  462. package/layouts/lib/shared/entity/entity-registery.service.d.ts +34 -0
  463. package/layouts/lib/shared/entity/entity.class.d.ts +145 -0
  464. package/layouts/lib/shared/entity/entity.loader.d.ts +9 -0
  465. package/layouts/lib/shared/entity/index.d.ts +3 -0
  466. package/layouts/lib/shared/index.d.ts +4 -0
  467. package/layouts/lib/shared/services/index.d.ts +1 -0
  468. package/layouts/lib/shared/services/layout.service.d.ts +19 -0
  469. package/layouts/lib/shared/workflows/common.workflow.d.ts +52 -0
  470. package/layouts/lib/shared/workflows/error-handler.d.ts +8 -0
  471. package/layouts/lib/shared/workflows/index.d.ts +2 -0
  472. package/layouts/lib/widgets/avatar/avatar-widget-edit.component.d.ts +10 -0
  473. package/layouts/lib/widgets/avatar/avatar-widget-view.component.d.ts +8 -0
  474. package/layouts/lib/widgets/checkbox/checkbox-widget-column.component.d.ts +11 -0
  475. package/layouts/lib/widgets/checkbox/checkbox-widget-edit.component.d.ts +6 -0
  476. package/layouts/lib/widgets/checkbox/checkbox-widget-view.component.d.ts +11 -0
  477. package/layouts/lib/widgets/common-widget-filter/boolean-widget-filter.component.d.ts +17 -0
  478. package/layouts/lib/widgets/common-widget-filter/number-widget-filter.component.d.ts +11 -0
  479. package/layouts/lib/widgets/common-widget-filter/string-widget-filter.component.d.ts +11 -0
  480. package/layouts/lib/widgets/common-widgets.module.d.ts +32 -0
  481. package/layouts/lib/widgets/dateTime/dateTime-widget-column.component.d.ts +11 -0
  482. package/layouts/lib/widgets/dateTime/dateTime-widget-edit.component.d.ts +24 -0
  483. package/layouts/lib/widgets/dateTime/dateTime-widget-filter.component.d.ts +16 -0
  484. package/layouts/lib/widgets/dateTime/dateTime-widget-view.component.d.ts +11 -0
  485. package/layouts/lib/widgets/email/email-widget-column.component.d.ts +16 -0
  486. package/layouts/lib/widgets/email/email-widget-edit.component.d.ts +28 -0
  487. package/layouts/lib/widgets/email/email-widget-view.component.d.ts +16 -0
  488. package/layouts/lib/widgets/file/file-widget-column.component.d.ts +8 -0
  489. package/layouts/lib/widgets/file/file-widget-edit.component.d.ts +17 -0
  490. package/layouts/lib/widgets/file/file-widget-filter.component.d.ts +6 -0
  491. package/layouts/lib/widgets/file/file-widget-view.component.d.ts +17 -0
  492. package/layouts/lib/widgets/gallery/gallery-widget-edit.component.d.ts +15 -0
  493. package/layouts/lib/widgets/gallery/gallery-widget-filter.component.d.ts +6 -0
  494. package/layouts/lib/widgets/gallery/gallery-widget-types.d.ts +10 -0
  495. package/layouts/lib/widgets/gallery/gallery-widget-view.component.d.ts +16 -0
  496. package/layouts/lib/widgets/index.d.ts +1 -0
  497. package/layouts/lib/widgets/lookup/lookup-widget-column.component.d.ts +16 -0
  498. package/layouts/lib/widgets/lookup/lookup-widget-edit.component.d.ts +15 -0
  499. package/layouts/lib/widgets/lookup/lookup-widget-filter.component.d.ts +16 -0
  500. package/layouts/lib/widgets/lookup/lookup-widget-view.component.d.ts +17 -0
  501. package/layouts/lib/widgets/map/map-widget-edit.component.d.ts +15 -0
  502. package/layouts/lib/widgets/map/map-widget-view.component.d.ts +17 -0
  503. package/layouts/lib/widgets/messenger/messenger-widget-column.component.d.ts +15 -0
  504. package/layouts/lib/widgets/messenger/messenger-widget-edit.component.d.ts +14 -0
  505. package/layouts/lib/widgets/messenger/messenger-widget-view.component.d.ts +17 -0
  506. package/layouts/lib/widgets/number/number-widget-edit.component.d.ts +7 -0
  507. package/layouts/lib/widgets/number/number-widget-view.component.d.ts +8 -0
  508. package/layouts/lib/widgets/password/change-password.component.d.ts +16 -0
  509. package/layouts/lib/widgets/password/password-widget-column.component.d.ts +14 -0
  510. package/layouts/lib/widgets/password/password-widget-edit.component.d.ts +6 -0
  511. package/layouts/lib/widgets/password/password-widget-view.component.d.ts +18 -0
  512. package/layouts/lib/widgets/phone/phone-widget-column.component.d.ts +15 -0
  513. package/layouts/lib/widgets/phone/phone-widget-edit.component.d.ts +29 -0
  514. package/layouts/lib/widgets/phone/phone-widget-view.component.d.ts +18 -0
  515. package/layouts/lib/widgets/rich-text/rich-text-widget-column.component.d.ts +11 -0
  516. package/layouts/lib/widgets/rich-text/rich-text-widget-edit.component.d.ts +33 -0
  517. package/layouts/lib/widgets/rich-text/rich-text-widget-view.component.d.ts +10 -0
  518. package/layouts/lib/widgets/selection-list/selection-list-widget-column.component.d.ts +16 -0
  519. package/layouts/lib/widgets/selection-list/selection-list-widget-edit.component.d.ts +10 -0
  520. package/layouts/lib/widgets/selection-list/selection-list-widget-filter.component.d.ts +9 -0
  521. package/layouts/lib/widgets/selection-list/selection-list-widget-view.component.d.ts +15 -0
  522. package/layouts/lib/widgets/signature-pad/signature-pad-widget-edit.component.d.ts +19 -0
  523. package/layouts/lib/widgets/signature-pad/signature-pad-widget-view.component.d.ts +8 -0
  524. package/layouts/lib/widgets/text/largetext-widget-edit.component.d.ts +6 -0
  525. package/layouts/lib/widgets/text/text-widget-column.component.d.ts +11 -0
  526. package/layouts/lib/widgets/text/text-widget-edit.component.d.ts +23 -0
  527. package/layouts/lib/widgets/text/text-widget-view.component.d.ts +11 -0
  528. package/layouts/lib/widgets/toggle/toggle-widget-column.component.d.ts +11 -0
  529. package/layouts/lib/widgets/toggle/toggle-widget-edit.component.d.ts +6 -0
  530. package/layouts/lib/widgets/toggle/toggle-widget-view.component.d.ts +11 -0
  531. package/mocks/README.md +3 -0
  532. package/mocks/index.d.ts +3 -0
  533. package/mocks/lib/mocks.module.d.ts +7 -0
  534. package/mocks/lib/services/mocker.service.d.ts +29 -0
  535. package/mocks/lib/storage/storage.mock.service.d.ts +25 -0
  536. package/native/README.md +4 -0
  537. package/native/index.d.ts +2 -0
  538. package/native/lib/native.module.d.ts +6 -0
  539. package/native/lib/native.service.d.ts +26 -0
  540. package/package.json +67 -0
  541. package/schema/README.md +3 -0
  542. package/schema/index.d.ts +11 -0
  543. package/schema/lib/component-loader.d.ts +24 -0
  544. package/schema/lib/formats.d.ts +8 -0
  545. package/schema/lib/operators.d.ts +22 -0
  546. package/schema/lib/schema-registery.service.d.ts +20 -0
  547. package/schema/lib/schema.d.ts +21 -0
  548. package/schema/lib/schema.module.d.ts +12 -0
  549. package/schema/lib/widget/widget-base.d.ts +43 -0
  550. package/schema/lib/widget/widget-column-renderer.d.ts +27 -0
  551. package/schema/lib/widget/widget-filter-renderer.d.ts +30 -0
  552. package/schema/lib/widget/widget-renderer.d.ts +26 -0
  553. package/schema/lib/widget/widget-token.d.ts +15 -0
  554. package/workflow/README.md +4 -0
  555. package/workflow/index.d.ts +6 -0
  556. package/workflow/lib/errors.types.d.ts +4 -0
  557. package/workflow/lib/workflow-event-dispatcher.service.d.ts +10 -0
  558. package/workflow/lib/workflow-registery.service.d.ts +17 -0
  559. package/workflow/lib/workflow.module.d.ts +25 -0
  560. package/workflow/lib/workflow.service.d.ts +23 -0
  561. package/workflow/lib/workflow.types.d.ts +61 -0
@@ -0,0 +1,75 @@
1
+ import { AXPWorkflowModule } from '@acorex/platform/workflow';
2
+ import { NgModule } from '@angular/core';
3
+ import { RouteReuseStrategy } from '@angular/router';
4
+ import { EffectsModule } from '@ngrx/effects';
5
+ import { StoreModule } from '@ngrx/store';
6
+ import { AXPAdminRootLayoutModule } from './admin-root-layout';
7
+ import { AXPCustomReuseStrategy } from './custom-reuse.strategy';
8
+ import { AXPListViewModule } from './entity-layout';
9
+ import { AXPEntityEffects } from './entity-layout/store/entity.effects';
10
+ import { AXPCreateEntityWorkflow, AXPEntityCreatePopupAction, AXPEntityCreateSubmittedAction, } from './entity-layout/workflows/create-entity.workflow';
11
+ import { AXPDeleteEntityWorkflow, AXPEntityPerformDeleteAction, AXPMyCustomFunc, } from './entity-layout/workflows/delete-entity.workflow';
12
+ import { AXPEntityModifyConfirmedAction, AXPEntityModifyPopupAction, AXPModifyEntityWorkflow, } from './entity-layout/workflows/modify-entity.workflow';
13
+ import { AXPLayoutEffects, AXPLayoutFeature } from './store';
14
+ import * as i0 from "@angular/core";
15
+ import * as i1 from "@ngrx/store";
16
+ import * as i2 from "@ngrx/effects";
17
+ import * as i3 from "@acorex/platform/workflow";
18
+ export class AXPAdminLayoutModule {
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPAdminLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
20
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: AXPAdminLayoutModule, imports: [i1.StoreFeatureModule, i2.EffectsFeatureModule, AXPAdminRootLayoutModule,
21
+ AXPListViewModule, i3.AXPWorkflowModule] }); }
22
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPAdminLayoutModule, providers: [{ provide: RouteReuseStrategy, useClass: AXPCustomReuseStrategy }], imports: [StoreModule.forFeature(AXPLayoutFeature),
23
+ EffectsModule.forFeature([AXPLayoutEffects, AXPEntityEffects]),
24
+ AXPAdminRootLayoutModule,
25
+ AXPListViewModule,
26
+ AXPWorkflowModule.forChild({
27
+ actions: {
28
+ AXPEntityPerformDeleteAction,
29
+ AXPEntityModifyPopupAction,
30
+ AXPEntityModifyConfirmedAction,
31
+ AXPEntityCreatePopupAction,
32
+ AXPEntityCreateSubmittedAction,
33
+ },
34
+ workflows: {
35
+ 'delete-entity': AXPDeleteEntityWorkflow,
36
+ 'modify-entity': AXPModifyEntityWorkflow,
37
+ 'create-entity': AXPCreateEntityWorkflow,
38
+ },
39
+ functions: {
40
+ test: AXPMyCustomFunc,
41
+ },
42
+ })] }); }
43
+ }
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPAdminLayoutModule, decorators: [{
45
+ type: NgModule,
46
+ args: [{
47
+ imports: [
48
+ StoreModule.forFeature(AXPLayoutFeature),
49
+ EffectsModule.forFeature([AXPLayoutEffects, AXPEntityEffects]),
50
+ AXPAdminRootLayoutModule,
51
+ AXPListViewModule,
52
+ AXPWorkflowModule.forChild({
53
+ actions: {
54
+ AXPEntityPerformDeleteAction,
55
+ AXPEntityModifyPopupAction,
56
+ AXPEntityModifyConfirmedAction,
57
+ AXPEntityCreatePopupAction,
58
+ AXPEntityCreateSubmittedAction,
59
+ },
60
+ workflows: {
61
+ 'delete-entity': AXPDeleteEntityWorkflow,
62
+ 'modify-entity': AXPModifyEntityWorkflow,
63
+ 'create-entity': AXPCreateEntityWorkflow,
64
+ },
65
+ functions: {
66
+ test: AXPMyCustomFunc,
67
+ },
68
+ }),
69
+ ],
70
+ exports: [],
71
+ declarations: [],
72
+ providers: [{ provide: RouteReuseStrategy, useClass: AXPCustomReuseStrategy }],
73
+ }]
74
+ }] });
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXRzL3NyYy9saWIvYWRtaW4vYWRtaW4ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsMEJBQTBCLEVBQzFCLDhCQUE4QixHQUMvQixNQUFNLGtEQUFrRCxDQUFDO0FBQzFELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsNEJBQTRCLEVBQzVCLGVBQWUsR0FDaEIsTUFBTSxrREFBa0QsQ0FBQztBQUMxRCxPQUFPLEVBQ0wsOEJBQThCLEVBQzlCLDBCQUEwQixFQUMxQix1QkFBdUIsR0FDeEIsTUFBTSxrREFBa0QsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxTQUFTLENBQUM7Ozs7O0FBOEI3RCxNQUFNLE9BQU8sb0JBQW9COzhHQUFwQixvQkFBb0I7K0dBQXBCLG9CQUFvQiw0REF4QjdCLHdCQUF3QjtZQUN4QixpQkFBaUI7K0dBdUJSLG9CQUFvQixhQUZwQixDQUFDLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxDQUFDLFlBeEI1RSxXQUFXLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDO1lBQ3hDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBQzlELHdCQUF3QjtZQUN4QixpQkFBaUI7WUFDakIsaUJBQWlCLENBQUMsUUFBUSxDQUFDO2dCQUN6QixPQUFPLEVBQUU7b0JBQ1AsNEJBQTRCO29CQUM1QiwwQkFBMEI7b0JBQzFCLDhCQUE4QjtvQkFDOUIsMEJBQTBCO29CQUMxQiw4QkFBOEI7aUJBQy9CO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxlQUFlLEVBQUUsdUJBQXVCO29CQUN4QyxlQUFlLEVBQUUsdUJBQXVCO29CQUN4QyxlQUFlLEVBQUUsdUJBQXVCO2lCQUN6QztnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsSUFBSSxFQUFFLGVBQWU7aUJBQ3RCO2FBQ0YsQ0FBQzs7MkZBTU8sb0JBQW9CO2tCQTVCaEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsV0FBVyxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQzt3QkFDeEMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLENBQUM7d0JBQzlELHdCQUF3Qjt3QkFDeEIsaUJBQWlCO3dCQUNqQixpQkFBaUIsQ0FBQyxRQUFRLENBQUM7NEJBQ3pCLE9BQU8sRUFBRTtnQ0FDUCw0QkFBNEI7Z0NBQzVCLDBCQUEwQjtnQ0FDMUIsOEJBQThCO2dDQUM5QiwwQkFBMEI7Z0NBQzFCLDhCQUE4Qjs2QkFDL0I7NEJBQ0QsU0FBUyxFQUFFO2dDQUNULGVBQWUsRUFBRSx1QkFBdUI7Z0NBQ3hDLGVBQWUsRUFBRSx1QkFBdUI7Z0NBQ3hDLGVBQWUsRUFBRSx1QkFBdUI7NkJBQ3pDOzRCQUNELFNBQVMsRUFBRTtnQ0FDVCxJQUFJLEVBQUUsZUFBZTs2QkFDdEI7eUJBQ0YsQ0FBQztxQkFDSDtvQkFDRCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxZQUFZLEVBQUUsRUFBRTtvQkFDaEIsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFLENBQUM7aUJBQy9FIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQV29ya2Zsb3dNb2R1bGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZVJldXNlU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRWZmZWN0c01vZHVsZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgU3RvcmVNb2R1bGUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBBWFBBZG1pblJvb3RMYXlvdXRNb2R1bGUgfSBmcm9tICcuL2FkbWluLXJvb3QtbGF5b3V0JztcbmltcG9ydCB7IEFYUEN1c3RvbVJldXNlU3RyYXRlZ3kgfSBmcm9tICcuL2N1c3RvbS1yZXVzZS5zdHJhdGVneSc7XG5pbXBvcnQgeyBBWFBMaXN0Vmlld01vZHVsZSB9IGZyb20gJy4vZW50aXR5LWxheW91dCc7XG5pbXBvcnQgeyBBWFBFbnRpdHlFZmZlY3RzIH0gZnJvbSAnLi9lbnRpdHktbGF5b3V0L3N0b3JlL2VudGl0eS5lZmZlY3RzJztcbmltcG9ydCB7XG4gIEFYUENyZWF0ZUVudGl0eVdvcmtmbG93LFxuICBBWFBFbnRpdHlDcmVhdGVQb3B1cEFjdGlvbixcbiAgQVhQRW50aXR5Q3JlYXRlU3VibWl0dGVkQWN0aW9uLFxufSBmcm9tICcuL2VudGl0eS1sYXlvdXQvd29ya2Zsb3dzL2NyZWF0ZS1lbnRpdHkud29ya2Zsb3cnO1xuaW1wb3J0IHtcbiAgQVhQRGVsZXRlRW50aXR5V29ya2Zsb3csXG4gIEFYUEVudGl0eVBlcmZvcm1EZWxldGVBY3Rpb24sXG4gIEFYUE15Q3VzdG9tRnVuYyxcbn0gZnJvbSAnLi9lbnRpdHktbGF5b3V0L3dvcmtmbG93cy9kZWxldGUtZW50aXR5LndvcmtmbG93JztcbmltcG9ydCB7XG4gIEFYUEVudGl0eU1vZGlmeUNvbmZpcm1lZEFjdGlvbixcbiAgQVhQRW50aXR5TW9kaWZ5UG9wdXBBY3Rpb24sXG4gIEFYUE1vZGlmeUVudGl0eVdvcmtmbG93LFxufSBmcm9tICcuL2VudGl0eS1sYXlvdXQvd29ya2Zsb3dzL21vZGlmeS1lbnRpdHkud29ya2Zsb3cnO1xuaW1wb3J0IHsgQVhQTGF5b3V0RWZmZWN0cywgQVhQTGF5b3V0RmVhdHVyZSB9IGZyb20gJy4vc3RvcmUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgU3RvcmVNb2R1bGUuZm9yRmVhdHVyZShBWFBMYXlvdXRGZWF0dXJlKSxcbiAgICBFZmZlY3RzTW9kdWxlLmZvckZlYXR1cmUoW0FYUExheW91dEVmZmVjdHMsIEFYUEVudGl0eUVmZmVjdHNdKSxcbiAgICBBWFBBZG1pblJvb3RMYXlvdXRNb2R1bGUsXG4gICAgQVhQTGlzdFZpZXdNb2R1bGUsXG4gICAgQVhQV29ya2Zsb3dNb2R1bGUuZm9yQ2hpbGQoe1xuICAgICAgYWN0aW9uczoge1xuICAgICAgICBBWFBFbnRpdHlQZXJmb3JtRGVsZXRlQWN0aW9uLFxuICAgICAgICBBWFBFbnRpdHlNb2RpZnlQb3B1cEFjdGlvbixcbiAgICAgICAgQVhQRW50aXR5TW9kaWZ5Q29uZmlybWVkQWN0aW9uLFxuICAgICAgICBBWFBFbnRpdHlDcmVhdGVQb3B1cEFjdGlvbixcbiAgICAgICAgQVhQRW50aXR5Q3JlYXRlU3VibWl0dGVkQWN0aW9uLFxuICAgICAgfSxcbiAgICAgIHdvcmtmbG93czoge1xuICAgICAgICAnZGVsZXRlLWVudGl0eSc6IEFYUERlbGV0ZUVudGl0eVdvcmtmbG93LFxuICAgICAgICAnbW9kaWZ5LWVudGl0eSc6IEFYUE1vZGlmeUVudGl0eVdvcmtmbG93LFxuICAgICAgICAnY3JlYXRlLWVudGl0eSc6IEFYUENyZWF0ZUVudGl0eVdvcmtmbG93LFxuICAgICAgfSxcbiAgICAgIGZ1bmN0aW9uczoge1xuICAgICAgICB0ZXN0OiBBWFBNeUN1c3RvbUZ1bmMsXG4gICAgICB9LFxuICAgIH0pLFxuICBdLFxuICBleHBvcnRzOiBbXSxcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBSb3V0ZVJldXNlU3RyYXRlZ3ksIHVzZUNsYXNzOiBBWFBDdXN0b21SZXVzZVN0cmF0ZWd5IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBBZG1pbkxheW91dE1vZHVsZSB7fVxuIl19
@@ -0,0 +1,37 @@
1
+ import { AXPEntityDetailsViewComponent, AXPEntityListViewComponent } from './entity-layout';
2
+ import { AXPEntityDetailViewLoaderResolver, AXPListViewLoaderResolver } from './entity.resolver';
3
+ import { AXPAuthGuard } from '@acorex/platform/auth';
4
+ export const AX_ADMIN_ROUTES = [
5
+ {
6
+ path: ':app',
7
+ canActivate: [AXPAuthGuard],
8
+ children: [
9
+ {
10
+ path: ':module',
11
+ children: [
12
+ {
13
+ path: 'e/:entity/:id/view/:section',
14
+ resolve: { loader: AXPEntityDetailViewLoaderResolver },
15
+ component: AXPEntityDetailsViewComponent,
16
+ },
17
+ {
18
+ path: 'e/:entity/:id/view',
19
+ resolve: { loader: AXPEntityDetailViewLoaderResolver },
20
+ component: AXPEntityDetailsViewComponent,
21
+ },
22
+ {
23
+ path: 'e/:entity',
24
+ redirectTo: ':entity/list',
25
+ pathMatch: 'full',
26
+ },
27
+ {
28
+ path: 'e/:entity/list',
29
+ component: AXPEntityListViewComponent,
30
+ resolve: { loader: AXPListViewLoaderResolver },
31
+ },
32
+ ],
33
+ },
34
+ ],
35
+ },
36
+ ];
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4ucm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXRzL3NyYy9saWIvYWRtaW4vYWRtaW4ucm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVGLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVyRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQVk7SUFDdEM7UUFDRSxJQUFJLEVBQUUsTUFBTTtRQUNaLFdBQVcsRUFBRSxDQUFDLFlBQVksQ0FBQztRQUMzQixRQUFRLEVBQUU7WUFDUjtnQkFDRSxJQUFJLEVBQUUsU0FBUztnQkFDZixRQUFRLEVBQUU7b0JBQ1I7d0JBQ0UsSUFBSSxFQUFFLDZCQUE2Qjt3QkFDbkMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLGlDQUFpQyxFQUFFO3dCQUN0RCxTQUFTLEVBQUUsNkJBQTZCO3FCQUN6QztvQkFDRDt3QkFDRSxJQUFJLEVBQUUsb0JBQW9CO3dCQUMxQixPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsaUNBQWlDLEVBQUU7d0JBQ3RELFNBQVMsRUFBRSw2QkFBNkI7cUJBQ3pDO29CQUNEO3dCQUNFLElBQUksRUFBRSxXQUFXO3dCQUNqQixVQUFVLEVBQUUsY0FBYzt3QkFDMUIsU0FBUyxFQUFFLE1BQU07cUJBQ2xCO29CQUNEO3dCQUNFLElBQUksRUFBRSxnQkFBZ0I7d0JBQ3RCLFNBQVMsRUFBRSwwQkFBMEI7d0JBQ3JDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSx5QkFBeUIsRUFBRTtxQkFDL0M7aUJBQ0Y7YUFDRjtTQUNGO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQVhQRW50aXR5RGV0YWlsc1ZpZXdDb21wb25lbnQsIEFYUEVudGl0eUxpc3RWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9lbnRpdHktbGF5b3V0JztcbmltcG9ydCB7IEFYUEVudGl0eURldGFpbFZpZXdMb2FkZXJSZXNvbHZlciwgQVhQTGlzdFZpZXdMb2FkZXJSZXNvbHZlciB9IGZyb20gJy4vZW50aXR5LnJlc29sdmVyJztcbmltcG9ydCB7IEFYUEF1dGhHdWFyZCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vYXV0aCc7XG5cbmV4cG9ydCBjb25zdCBBWF9BRE1JTl9ST1VURVM6IFJvdXRlW10gPSBbXG4gIHtcbiAgICBwYXRoOiAnOmFwcCcsXG4gICAgY2FuQWN0aXZhdGU6IFtBWFBBdXRoR3VhcmRdLFxuICAgIGNoaWxkcmVuOiBbXG4gICAgICB7XG4gICAgICAgIHBhdGg6ICc6bW9kdWxlJyxcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwYXRoOiAnZS86ZW50aXR5LzppZC92aWV3LzpzZWN0aW9uJyxcbiAgICAgICAgICAgIHJlc29sdmU6IHsgbG9hZGVyOiBBWFBFbnRpdHlEZXRhaWxWaWV3TG9hZGVyUmVzb2x2ZXIgfSxcbiAgICAgICAgICAgIGNvbXBvbmVudDogQVhQRW50aXR5RGV0YWlsc1ZpZXdDb21wb25lbnQsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwYXRoOiAnZS86ZW50aXR5LzppZC92aWV3JyxcbiAgICAgICAgICAgIHJlc29sdmU6IHsgbG9hZGVyOiBBWFBFbnRpdHlEZXRhaWxWaWV3TG9hZGVyUmVzb2x2ZXIgfSxcbiAgICAgICAgICAgIGNvbXBvbmVudDogQVhQRW50aXR5RGV0YWlsc1ZpZXdDb21wb25lbnQsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwYXRoOiAnZS86ZW50aXR5JyxcbiAgICAgICAgICAgIHJlZGlyZWN0VG86ICc6ZW50aXR5L2xpc3QnLFxuICAgICAgICAgICAgcGF0aE1hdGNoOiAnZnVsbCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwYXRoOiAnZS86ZW50aXR5L2xpc3QnLFxuICAgICAgICAgICAgY29tcG9uZW50OiBBWFBFbnRpdHlMaXN0Vmlld0NvbXBvbmVudCxcbiAgICAgICAgICAgIHJlc29sdmU6IHsgbG9hZGVyOiBBWFBMaXN0Vmlld0xvYWRlclJlc29sdmVyIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbl07XG4iXX0=
@@ -0,0 +1,20 @@
1
+ import { AXPEntityDetailsViewComponent, AXPEntityListViewComponent } from './entity-layout';
2
+ export class AXPCustomReuseStrategy {
3
+ shouldDetach(route) {
4
+ return false;
5
+ }
6
+ store(route, detachedTree) { }
7
+ shouldAttach(route) {
8
+ return false;
9
+ }
10
+ retrieve(route) {
11
+ return null;
12
+ }
13
+ shouldReuseRoute(future, curr) {
14
+ if (future.component === AXPEntityListViewComponent || future.component === AXPEntityDetailsViewComponent) {
15
+ return false;
16
+ }
17
+ return future.routeConfig === curr.routeConfig;
18
+ }
19
+ }
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXJldXNlLnN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXRzL3NyYy9saWIvYWRtaW4vY3VzdG9tLXJldXNlLnN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzVGLE1BQU0sT0FBTyxzQkFBc0I7SUFDL0IsWUFBWSxDQUFDLEtBQTZCO1FBQ3RDLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBNkIsRUFBRSxZQUFpQyxJQUFVLENBQUM7SUFFakYsWUFBWSxDQUFDLEtBQTZCO1FBQ3RDLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBNkI7UUFDbEMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLE1BQThCLEVBQUUsSUFBNEI7UUFDekUsSUFBSSxNQUFNLENBQUMsU0FBUyxLQUFLLDBCQUEwQixJQUFJLE1BQU0sQ0FBQyxTQUFTLEtBQUssNkJBQTZCLEVBQUUsQ0FBQztZQUN4RyxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUMsV0FBVyxLQUFLLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDbkQsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUm91dGVSZXVzZVN0cmF0ZWd5LCBEZXRhY2hlZFJvdXRlSGFuZGxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFYUEVudGl0eURldGFpbHNWaWV3Q29tcG9uZW50LCBBWFBFbnRpdHlMaXN0Vmlld0NvbXBvbmVudCB9IGZyb20gJy4vZW50aXR5LWxheW91dCc7XG5cblxuZXhwb3J0IGNsYXNzIEFYUEN1c3RvbVJldXNlU3RyYXRlZ3kgaW1wbGVtZW50cyBSb3V0ZVJldXNlU3RyYXRlZ3kge1xuICAgIHNob3VsZERldGFjaChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgc3RvcmUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGRldGFjaGVkVHJlZTogRGV0YWNoZWRSb3V0ZUhhbmRsZSk6IHZvaWQgeyB9XG5cbiAgICBzaG91bGRBdHRhY2gocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHJpZXZlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogRGV0YWNoZWRSb3V0ZUhhbmRsZSB8IG51bGwge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBzaG91bGRSZXVzZVJvdXRlKGZ1dHVyZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgY3VycjogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoZnV0dXJlLmNvbXBvbmVudCA9PT0gQVhQRW50aXR5TGlzdFZpZXdDb21wb25lbnQgfHwgZnV0dXJlLmNvbXBvbmVudCA9PT0gQVhQRW50aXR5RGV0YWlsc1ZpZXdDb21wb25lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmdXR1cmUucm91dGVDb25maWcgPT09IGN1cnIucm91dGVDb25maWc7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,105 @@
1
+ import { AXButtonModule } from '@acorex/components/button';
2
+ import { AXDecoratorModule } from '@acorex/components/decorators';
3
+ import { AXDialogModule } from '@acorex/components/dialog';
4
+ import { AXDropdownButtonModule } from '@acorex/components/dropdown-button';
5
+ import { AXFormModule } from '@acorex/components/form';
6
+ import { AXLabelModule } from '@acorex/components/label';
7
+ import { AXLoadingModule } from '@acorex/components/loading';
8
+ import { AXBasePageComponent } from '@acorex/components/page';
9
+ import { AXTabsModule } from '@acorex/components/tabs';
10
+ import { AXTooltipModule } from '@acorex/components/tooltip';
11
+ import { AXPSchemaModule } from '@acorex/platform/schema';
12
+ import { CommonModule } from '@angular/common';
13
+ import { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core';
14
+ import { FormsModule } from '@angular/forms';
15
+ import { AXValidationModule } from '@acorex/core/validation';
16
+ import { AXDropdownModule } from '@acorex/components/dropdown';
17
+ import { AXPStickyDirective } from '@acorex/platform/common';
18
+ import { AXPWorkflowService } from '@acorex/platform/workflow';
19
+ import * as i0 from "@angular/core";
20
+ import * as i1 from "@angular/common";
21
+ import * as i2 from "@acorex/components/form";
22
+ import * as i3 from "@acorex/components/decorators";
23
+ import * as i4 from "@acorex/components/button";
24
+ import * as i5 from "@acorex/components/loading";
25
+ import * as i6 from "@acorex/platform/schema";
26
+ import * as i7 from "@acorex/components/label";
27
+ import * as i8 from "@acorex/components/dropdown-button";
28
+ export class AXPEntityCreateViewComponent extends AXBasePageComponent {
29
+ constructor() {
30
+ super(...arguments);
31
+ this.workflow = inject(AXPWorkflowService);
32
+ this.submitLoading = signal(false);
33
+ }
34
+ handleCloseClick() {
35
+ this.close();
36
+ }
37
+ async handleBackClick() {
38
+ await this.loader.back();
39
+ }
40
+ async handleNextClick(form) {
41
+ const formResult = await form.validate();
42
+ if (formResult.result) {
43
+ await this.loader.next();
44
+ }
45
+ }
46
+ async handleSaveClick(form) {
47
+ const formResult = await form.validate();
48
+ if (formResult.result) {
49
+ if (this.entity.commands?.create) {
50
+ this.submitLoading.set(true);
51
+ const record = await this.entity.commands.create(this.loader.data);
52
+ if (record) {
53
+ this.submitLoading.set(false);
54
+ this.close({ save: true, recordId: record.id, redirect: true });
55
+ }
56
+ }
57
+ }
58
+ }
59
+ async handleSaveAndNewClick(form) {
60
+ const formResult = await form.validate();
61
+ if (formResult.result) {
62
+ if (this.entity.commands?.create) {
63
+ this.submitLoading.set(true);
64
+ const record = await this.entity.commands.create(this.loader.data);
65
+ if (record) {
66
+ this.submitLoading.set(false);
67
+ this.close({ save: true, recordId: record.id, redirect: false });
68
+ }
69
+ }
70
+ this.workflow.execute('create-entity', {
71
+ payload: {
72
+ module: this.loader.entity.module,
73
+ entity: this.loader.entity.name,
74
+ },
75
+ });
76
+ }
77
+ }
78
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPEntityCreateViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
79
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: AXPEntityCreateViewComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"ax-min-h-[25vh]\">\n @if((loader.hasSections$ | async)) {\n <ol\n class=\"ax-flex ax-items-center ax-w-full ax-space-x-2 ax-text-sm ax-font-medium ax-text-center ax-text-gray-500 ax-bg-white dark:ax-text-gray-400 sm:ax-text-base ax-p-4 sm:ax-space-x-4 rtl:ax-space-x-reverse ax-sticky ax-top-0 ax-z-10\"\n [axpSticky]=\"'ax-bg-surface ax-drop-shadow-lg'\" [stickyParent]=\"'.ax-popup-body-container'\">\n @for(section of (loader.sections$ | async); track section.name;let index = $index;let last = $last;let count=\n $count) {\n <li class=\"ax-flex ax-items-center\">\n <span\n class=\"ax-flex ax-items-center ax-justify-center ax-w-5 ax-h-5 ax-me-2 ax-text-xs ax-text-white ax-bg-neutral-500 ax-rounded-full ax-shrink-0\"\n [class.!ax-bg-primary-500]=\"(loader.section$ | async) == section\"\n [class.!ax-bg-success-500]=\"index < ((loader.currentIndex$ | async) || 0)\">\n {{ index + 1 }}\n </span>\n <p class=\"ax-font-normal\" [class.!ax-text-primary-500]=\"(loader.section$ | async) == section\"\n [class.!ax-text-success-500]=\"index < ((loader.currentIndex$ | async) || 0)\"\n [class.!ax-font-semibold]=\"(loader.section$ | async) == section\">\n {{ section.title }}\n </p>\n\n <i *ngIf=\"!last\" [class.!ax-text-primary-500]=\"(loader.section$ | async) == section\"\n [class.!ax-text-success-500]=\"index < ((loader.currentIndex$ | async) || 0)\"\n class=\"ax-text-xs ax-text-neutral-500 fa-solid fa-chevrons-right ax-ms-2 sm:ax-ms-4 rtl:ax-rotate-180\"></i>\n </li>\n }\n </ol>\n }\n\n <ax-form class=\"ax-flex ax-flex-col ax-gap-6 ax-p-4\" #form [messageStyle]=\"'bottom'\" [updateOn]=\"'blur'\">\n @for(section of (loader.section$ | async)?.sections; track section.name;) {\n <div class=\"ax-flex ax-flex-col ax-pb-4\">\n @if(((loader.section$ | async)?.sections?.length ?? 0) > 1) {\n <div class=\"ax-pb-4\">\n <span class=\"ax-font-bold ax-text-2xl\">{{ section.title }}</span>\n @if(section.description) {\n <p class=\"ax-text-sm ax-text-gray-500\">{{ section.description }}</p>\n }\n </div>\n }\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4 ax-py-2 first:ax-pt-0 last:ax-pb-0\">\n @for(name of section.properties; track name) {\n <ng-container *ngIf=\"loader.getProp(name) as prop\">\n <!-- lg:ax-col-span-6 -->\n <!-- lg:ax-col-start-1 -->\n <ax-form-field class=\"ax-col-span-12 ax-col-start-1 lg:ax-col-span-{{\n prop.layout?.positions?.default?.span || 12\n }} lg:ax-col-start-{{ prop.layout?.positions?.default?.start || 1 }} ax-flex ax-flex-col\">\n <ax-label class=\"ax-font-semibold ax-text-sm\" [required]=\"loader.isRequired(name)\">{{ prop.title\n }}</ax-label>\n <axp-widget-renderer [schema]=\"prop.schema\" [prop]=\"prop\" [mode]=\"'edit'\"\n [context]=\"loader.data\"></axp-widget-renderer>\n </ax-form-field>\n </ng-container>\n }\n </div>\n </div>\n }\n </ax-form>\n <ax-footer>\n <ax-prefix> </ax-prefix>\n <ax-suffix>\n @if((loader.hasSections$| async) && !(loader.isFirst$| async)) {\n <ax-button look=\"solid\" color=\"ghost\" text=\"Back\" (onClick)=\"handleBackClick()\"> </ax-button>\n } @else {\n <ax-button look=\"solid\" color=\"ghost\" text=\"Cancel\" (onClick)=\"handleCloseClick()\"> </ax-button>\n } @if((loader.isLast$ | async)) {\n <ax-dropdown-button [disabled]=\"submitLoading()\" color=\"primary\" text=\"Save\" look=\"solid\"\n (onClick)=\"handleSaveClick(form)\">\n <ax-loading *ngIf=\"submitLoading()\"></ax-loading>\n <ax-button-item-list>\n <ax-button-item text=\"Save & Create New\" (onClick)=\"handleSaveAndNewClick(form)\"> </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n\n } @else {\n <ax-button look=\"solid\" color=\"primary\" text=\"Continue\" (onClick)=\"handleNextClick(form)\"> </ax-button>\n }\n </ax-suffix>\n </ax-footer>\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i2.AXFormFieldComponent, selector: "ax-form-field" }, { kind: "component", type: i2.AXFormComponent, selector: "ax-form", inputs: ["messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title , ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "component", type: i4.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i4.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i5.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXTabsModule }, { kind: "ngmodule", type: AXPSchemaModule }, { kind: "component", type: i6.AXPWidgetRendererComponent, selector: "axp-widget-renderer", inputs: ["context", "prop", "mode", "schema"] }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "ngmodule", type: AXValidationModule }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i7.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXDropdownButtonModule }, { kind: "component", type: i8.AXDropdownButtonComponent, selector: "ax-dropdown-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "type", "mode"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "directive", type:
80
+ //
81
+ AXPStickyDirective, selector: "[axpSticky]", inputs: ["axpSticky", "stickyParent", "stickyTarget"], outputs: ["isStickyChange"], exportAs: ["axpSticky"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
82
+ }
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPEntityCreateViewComponent, decorators: [{
84
+ type: Component,
85
+ args: [{ imports: [
86
+ CommonModule,
87
+ FormsModule,
88
+ AXFormModule,
89
+ AXDecoratorModule,
90
+ CommonModule,
91
+ AXButtonModule,
92
+ AXDialogModule,
93
+ AXLoadingModule,
94
+ AXTabsModule,
95
+ AXPSchemaModule,
96
+ AXTooltipModule,
97
+ AXValidationModule,
98
+ AXLabelModule,
99
+ AXDropdownModule,
100
+ AXDropdownButtonModule,
101
+ //
102
+ AXPStickyDirective,
103
+ ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ax-min-h-[25vh]\">\n @if((loader.hasSections$ | async)) {\n <ol\n class=\"ax-flex ax-items-center ax-w-full ax-space-x-2 ax-text-sm ax-font-medium ax-text-center ax-text-gray-500 ax-bg-white dark:ax-text-gray-400 sm:ax-text-base ax-p-4 sm:ax-space-x-4 rtl:ax-space-x-reverse ax-sticky ax-top-0 ax-z-10\"\n [axpSticky]=\"'ax-bg-surface ax-drop-shadow-lg'\" [stickyParent]=\"'.ax-popup-body-container'\">\n @for(section of (loader.sections$ | async); track section.name;let index = $index;let last = $last;let count=\n $count) {\n <li class=\"ax-flex ax-items-center\">\n <span\n class=\"ax-flex ax-items-center ax-justify-center ax-w-5 ax-h-5 ax-me-2 ax-text-xs ax-text-white ax-bg-neutral-500 ax-rounded-full ax-shrink-0\"\n [class.!ax-bg-primary-500]=\"(loader.section$ | async) == section\"\n [class.!ax-bg-success-500]=\"index < ((loader.currentIndex$ | async) || 0)\">\n {{ index + 1 }}\n </span>\n <p class=\"ax-font-normal\" [class.!ax-text-primary-500]=\"(loader.section$ | async) == section\"\n [class.!ax-text-success-500]=\"index < ((loader.currentIndex$ | async) || 0)\"\n [class.!ax-font-semibold]=\"(loader.section$ | async) == section\">\n {{ section.title }}\n </p>\n\n <i *ngIf=\"!last\" [class.!ax-text-primary-500]=\"(loader.section$ | async) == section\"\n [class.!ax-text-success-500]=\"index < ((loader.currentIndex$ | async) || 0)\"\n class=\"ax-text-xs ax-text-neutral-500 fa-solid fa-chevrons-right ax-ms-2 sm:ax-ms-4 rtl:ax-rotate-180\"></i>\n </li>\n }\n </ol>\n }\n\n <ax-form class=\"ax-flex ax-flex-col ax-gap-6 ax-p-4\" #form [messageStyle]=\"'bottom'\" [updateOn]=\"'blur'\">\n @for(section of (loader.section$ | async)?.sections; track section.name;) {\n <div class=\"ax-flex ax-flex-col ax-pb-4\">\n @if(((loader.section$ | async)?.sections?.length ?? 0) > 1) {\n <div class=\"ax-pb-4\">\n <span class=\"ax-font-bold ax-text-2xl\">{{ section.title }}</span>\n @if(section.description) {\n <p class=\"ax-text-sm ax-text-gray-500\">{{ section.description }}</p>\n }\n </div>\n }\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4 ax-py-2 first:ax-pt-0 last:ax-pb-0\">\n @for(name of section.properties; track name) {\n <ng-container *ngIf=\"loader.getProp(name) as prop\">\n <!-- lg:ax-col-span-6 -->\n <!-- lg:ax-col-start-1 -->\n <ax-form-field class=\"ax-col-span-12 ax-col-start-1 lg:ax-col-span-{{\n prop.layout?.positions?.default?.span || 12\n }} lg:ax-col-start-{{ prop.layout?.positions?.default?.start || 1 }} ax-flex ax-flex-col\">\n <ax-label class=\"ax-font-semibold ax-text-sm\" [required]=\"loader.isRequired(name)\">{{ prop.title\n }}</ax-label>\n <axp-widget-renderer [schema]=\"prop.schema\" [prop]=\"prop\" [mode]=\"'edit'\"\n [context]=\"loader.data\"></axp-widget-renderer>\n </ax-form-field>\n </ng-container>\n }\n </div>\n </div>\n }\n </ax-form>\n <ax-footer>\n <ax-prefix> </ax-prefix>\n <ax-suffix>\n @if((loader.hasSections$| async) && !(loader.isFirst$| async)) {\n <ax-button look=\"solid\" color=\"ghost\" text=\"Back\" (onClick)=\"handleBackClick()\"> </ax-button>\n } @else {\n <ax-button look=\"solid\" color=\"ghost\" text=\"Cancel\" (onClick)=\"handleCloseClick()\"> </ax-button>\n } @if((loader.isLast$ | async)) {\n <ax-dropdown-button [disabled]=\"submitLoading()\" color=\"primary\" text=\"Save\" look=\"solid\"\n (onClick)=\"handleSaveClick(form)\">\n <ax-loading *ngIf=\"submitLoading()\"></ax-loading>\n <ax-button-item-list>\n <ax-button-item text=\"Save & Create New\" (onClick)=\"handleSaveAndNewClick(form)\"> </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n\n } @else {\n <ax-button look=\"solid\" color=\"primary\" text=\"Continue\" (onClick)=\"handleNextClick(form)\"> </ax-button>\n }\n </ax-suffix>\n </ax-footer>\n</div>" }]
104
+ }] });
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWNyZWF0ZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0cy9zcmMvbGliL2FkbWluL2VudGl0eS1sYXlvdXQvZW50aXR5LWNyZWF0ZS12aWV3L2VudGl0eS1jcmVhdGUtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dHMvc3JjL2xpYi9hZG1pbi9lbnRpdHktbGF5b3V0L2VudGl0eS1jcmVhdGUtdmlldy9lbnRpdHktY3JlYXRlLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxPQUFPLEVBQW1CLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8s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QVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUNuRSxDQUFDO1lBQ0gsQ0FBQztZQUNELElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRTtnQkFDckMsT0FBTyxFQUFFO29CQUNQLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNO29CQUNqQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSTtpQkFDaEM7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQzs4R0FyRFUsNEJBQTRCO2tHQUE1Qiw0QkFBNEIsK0ZDL0N6Qyw0aklBK0VNLDJDRHJERixZQUFZLHVMQUNaLFdBQVcsOEJBQ1gsWUFBWSxzUUFDWixpQkFBaUIsdVBBRWpCLGNBQWMsb3JCQUNkLGNBQWMsOEJBQ2QsZUFBZSw4S0FDZixZQUFZLDhCQUNaLGVBQWUsMEtBQ2YsZUFBZSw4QkFDZixrQkFBa0IsOEJBQ2xCLGFBQWEsZ0tBQ2IsZ0JBQWdCLDhCQUNoQixzQkFBc0I7Z0JBQ3RCLEVBQUU7Z0JBQ0Ysa0JBQWtCOzsyRkFLVCw0QkFBNEI7a0JBeEJ4QyxTQUFTOzhCQUVDO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixzQkFBc0I7d0JBQ3RCLEVBQUU7d0JBQ0Ysa0JBQWtCO3FCQUNuQixjQUNXLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYRGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RpYWxvZyc7XG5pbXBvcnQgeyBBWERyb3Bkb3duQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Ryb3Bkb3duLWJ1dHRvbic7XG5pbXBvcnQgeyBBWEZvcm1Db21wb25lbnQsIEFYRm9ybU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9mb3JtJztcbmltcG9ydCB7IEFYTGFiZWxNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbGFiZWwnO1xuaW1wb3J0IHsgQVhMb2FkaW5nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmcnO1xuaW1wb3J0IHsgQVhCYXNlUGFnZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wYWdlJztcbmltcG9ydCB7IEFYVGFic01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90YWJzJztcbmltcG9ydCB7IEFYVG9vbHRpcE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90b29sdGlwJztcbmltcG9ydCB7IEFYUFNjaGVtYU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vc2NoZW1hJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBXcml0YWJsZVNpZ25hbCwgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQVhQRW50aXR5Q3JlYXRlVmlld0xvYWRlciB9IGZyb20gJy4vZW50aXR5LWNyZWF0ZS12aWV3LmNvbmZpZyc7XG5cbmltcG9ydCB7IEFYVmFsaWRhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS92YWxpZGF0aW9uJztcblxuaW1wb3J0IHsgQVhEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kcm9wZG93bic7XG5pbXBvcnQgeyBBWFBTdGlja3lEaXJlY3RpdmUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IEFYUEVudGl0eUNvbmZpZyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZCc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vZW50aXR5LWNyZWF0ZS12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBBWEZvcm1Nb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgIEFYRGlhbG9nTW9kdWxlLFxuICAgIEFYTG9hZGluZ01vZHVsZSxcbiAgICBBWFRhYnNNb2R1bGUsXG4gICAgQVhQU2NoZW1hTW9kdWxlLFxuICAgIEFYVG9vbHRpcE1vZHVsZSxcbiAgICBBWFZhbGlkYXRpb25Nb2R1bGUsXG4gICAgQVhMYWJlbE1vZHVsZSxcbiAgICBBWERyb3Bkb3duTW9kdWxlLFxuICAgIEFYRHJvcGRvd25CdXR0b25Nb2R1bGUsXG4gICAgLy9cbiAgICBBWFBTdGlja3lEaXJlY3RpdmUsXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlDcmVhdGVWaWV3Q29tcG9uZW50IGV4dGVuZHMgQVhCYXNlUGFnZUNvbXBvbmVudCB7XG4gIHByb3RlY3RlZCBsb2FkZXIhOiBBWFBFbnRpdHlDcmVhdGVWaWV3TG9hZGVyO1xuICBwcm90ZWN0ZWQgZW50aXR5ITogQVhQRW50aXR5Q29uZmlnO1xuICBwcm90ZWN0ZWQgd29ya2Zsb3cgPSBpbmplY3QoQVhQV29ya2Zsb3dTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHN1Ym1pdExvYWRpbmc6IFdyaXRhYmxlU2lnbmFsPGJvb2xlYW4+ID0gc2lnbmFsKGZhbHNlKTtcblxuICBwcm90ZWN0ZWQgaGFuZGxlQ2xvc2VDbGljaygpIHtcbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlQmFja0NsaWNrKCkge1xuICAgIGF3YWl0IHRoaXMubG9hZGVyLmJhY2soKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVOZXh0Q2xpY2soZm9ybTogQVhGb3JtQ29tcG9uZW50KSB7XG4gICAgY29uc3QgZm9ybVJlc3VsdCA9IGF3YWl0IGZvcm0udmFsaWRhdGUoKTtcbiAgICBpZiAoZm9ybVJlc3VsdC5yZXN1bHQpIHtcbiAgICAgIGF3YWl0IHRoaXMubG9hZGVyLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlU2F2ZUNsaWNrKGZvcm06IEFYRm9ybUNvbXBvbmVudCkge1xuICAgIGNvbnN0IGZvcm1SZXN1bHQgPSBhd2FpdCBmb3JtLnZhbGlkYXRlKCk7XG4gICAgaWYgKGZvcm1SZXN1bHQucmVzdWx0KSB7XG4gICAgICBpZiAodGhpcy5lbnRpdHkuY29tbWFuZHM/LmNyZWF0ZSkge1xuICAgICAgICB0aGlzLnN1Ym1pdExvYWRpbmcuc2V0KHRydWUpO1xuICAgICAgICBjb25zdCByZWNvcmQgPSBhd2FpdCB0aGlzLmVudGl0eS5jb21tYW5kcy5jcmVhdGUodGhpcy5sb2FkZXIuZGF0YSk7XG4gICAgICAgIGlmIChyZWNvcmQpIHtcbiAgICAgICAgICB0aGlzLnN1Ym1pdExvYWRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgICB0aGlzLmNsb3NlKHsgc2F2ZTogdHJ1ZSwgcmVjb3JkSWQ6IHJlY29yZC5pZCwgcmVkaXJlY3Q6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlU2F2ZUFuZE5ld0NsaWNrKGZvcm06IEFYRm9ybUNvbXBvbmVudCkge1xuICAgIGNvbnN0IGZvcm1SZXN1bHQgPSBhd2FpdCBmb3JtLnZhbGlkYXRlKCk7XG4gICAgaWYgKGZvcm1SZXN1bHQucmVzdWx0KSB7XG4gICAgICBpZiAodGhpcy5lbnRpdHkuY29tbWFuZHM/LmNyZWF0ZSkge1xuICAgICAgICB0aGlzLnN1Ym1pdExvYWRpbmcuc2V0KHRydWUpO1xuICAgICAgICBjb25zdCByZWNvcmQgPSBhd2FpdCB0aGlzLmVudGl0eS5jb21tYW5kcy5jcmVhdGUodGhpcy5sb2FkZXIuZGF0YSk7XG4gICAgICAgIGlmIChyZWNvcmQpIHtcbiAgICAgICAgICB0aGlzLnN1Ym1pdExvYWRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgICB0aGlzLmNsb3NlKHsgc2F2ZTogdHJ1ZSwgcmVjb3JkSWQ6IHJlY29yZC5pZCwgcmVkaXJlY3Q6IGZhbHNlIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLndvcmtmbG93LmV4ZWN1dGUoJ2NyZWF0ZS1lbnRpdHknLCB7XG4gICAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgICBtb2R1bGU6IHRoaXMubG9hZGVyLmVudGl0eS5tb2R1bGUsXG4gICAgICAgICAgZW50aXR5OiB0aGlzLmxvYWRlci5lbnRpdHkubmFtZSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImF4LW1pbi1oLVsyNXZoXVwiPlxuICBAaWYoKGxvYWRlci5oYXNTZWN0aW9ucyQgfCBhc3luYykpIHtcbiAgPG9sXG4gICAgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC13LWZ1bGwgYXgtc3BhY2UteC0yIGF4LXRleHQtc20gYXgtZm9udC1tZWRpdW0gYXgtdGV4dC1jZW50ZXIgYXgtdGV4dC1ncmF5LTUwMCBheC1iZy13aGl0ZSBkYXJrOmF4LXRleHQtZ3JheS00MDAgc206YXgtdGV4dC1iYXNlIGF4LXAtNCBzbTpheC1zcGFjZS14LTQgcnRsOmF4LXNwYWNlLXgtcmV2ZXJzZSBheC1zdGlja3kgYXgtdG9wLTAgYXgtei0xMFwiXG4gICAgW2F4cFN0aWNreV09XCInYXgtYmctc3VyZmFjZSBheC1kcm9wLXNoYWRvdy1sZydcIiBbc3RpY2t5UGFyZW50XT1cIicuYXgtcG9wdXAtYm9keS1jb250YWluZXInXCI+XG4gICAgQGZvcihzZWN0aW9uIG9mIChsb2FkZXIuc2VjdGlvbnMkIHwgYXN5bmMpOyB0cmFjayBzZWN0aW9uLm5hbWU7bGV0IGluZGV4ID0gJGluZGV4O2xldCBsYXN0ID0gJGxhc3Q7bGV0IGNvdW50PVxuICAgICRjb3VudCkge1xuICAgIDxsaSBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyXCI+XG4gICAgICA8c3BhblxuICAgICAgICBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktY2VudGVyIGF4LXctNSBheC1oLTUgYXgtbWUtMiBheC10ZXh0LXhzIGF4LXRleHQtd2hpdGUgYXgtYmctbmV1dHJhbC01MDAgYXgtcm91bmRlZC1mdWxsIGF4LXNocmluay0wXCJcbiAgICAgICAgW2NsYXNzLiFheC1iZy1wcmltYXJ5LTUwMF09XCIobG9hZGVyLnNlY3Rpb24kIHwgYXN5bmMpID09IHNlY3Rpb25cIlxuICAgICAgICBbY2xhc3MuIWF4LWJnLXN1Y2Nlc3MtNTAwXT1cImluZGV4IDwgKChsb2FkZXIuY3VycmVudEluZGV4JCB8IGFzeW5jKSB8fCAwKVwiPlxuICAgICAgICB7eyBpbmRleCArIDEgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxwIGNsYXNzPVwiYXgtZm9udC1ub3JtYWxcIiBbY2xhc3MuIWF4LXRleHQtcHJpbWFyeS01MDBdPVwiKGxvYWRlci5zZWN0aW9uJCB8IGFzeW5jKSA9PSBzZWN0aW9uXCJcbiAgICAgICAgW2NsYXNzLiFheC10ZXh0LXN1Y2Nlc3MtNTAwXT1cImluZGV4IDwgKChsb2FkZXIuY3VycmVudEluZGV4JCB8IGFzeW5jKSB8fCAwKVwiXG4gICAgICAgIFtjbGFzcy4hYXgtZm9udC1zZW1pYm9sZF09XCIobG9hZGVyLnNlY3Rpb24kIHwgYXN5bmMpID09IHNlY3Rpb25cIj5cbiAgICAgICAge3sgc2VjdGlvbi50aXRsZSB9fVxuICAgICAgPC9wPlxuXG4gICAgICA8aSAqbmdJZj1cIiFsYXN0XCIgW2NsYXNzLiFheC10ZXh0LXByaW1hcnktNTAwXT1cIihsb2FkZXIuc2VjdGlvbiQgfCBhc3luYykgPT0gc2VjdGlvblwiXG4gICAgICAgIFtjbGFzcy4hYXgtdGV4dC1zdWNjZXNzLTUwMF09XCJpbmRleCA8ICgobG9hZGVyLmN1cnJlbnRJbmRleCQgfCBhc3luYykgfHwgMClcIlxuICAgICAgICBjbGFzcz1cImF4LXRleHQteHMgYXgtdGV4dC1uZXV0cmFsLTUwMCBmYS1zb2xpZCBmYS1jaGV2cm9ucy1yaWdodCBheC1tcy0yIHNtOmF4LW1zLTQgcnRsOmF4LXJvdGF0ZS0xODBcIj48L2k+XG4gICAgPC9saT5cbiAgICB9XG4gIDwvb2w+XG4gIH1cblxuICA8YXgtZm9ybSBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTYgYXgtcC00XCIgI2Zvcm0gW21lc3NhZ2VTdHlsZV09XCInYm90dG9tJ1wiIFt1cGRhdGVPbl09XCInYmx1cidcIj5cbiAgICBAZm9yKHNlY3Rpb24gb2YgKGxvYWRlci5zZWN0aW9uJCB8IGFzeW5jKT8uc2VjdGlvbnM7IHRyYWNrIHNlY3Rpb24ubmFtZTspIHtcbiAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1wYi00XCI+XG4gICAgICBAaWYoKChsb2FkZXIuc2VjdGlvbiQgfCBhc3luYyk/LnNlY3Rpb25zPy5sZW5ndGggPz8gMCkgPiAxKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtcGItNFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImF4LWZvbnQtYm9sZCBheC10ZXh0LTJ4bFwiPnt7IHNlY3Rpb24udGl0bGUgfX08L3NwYW4+XG4gICAgICAgIEBpZihzZWN0aW9uLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgIDxwIGNsYXNzPVwiYXgtdGV4dC1zbSBheC10ZXh0LWdyYXktNTAwXCI+e3sgc2VjdGlvbi5kZXNjcmlwdGlvbiB9fTwvcD5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtZ3JpZCBheC1ncmlkLWNvbHMtMTIgYXgtZ2FwLTQgYXgtcHktMiBmaXJzdDpheC1wdC0wIGxhc3Q6YXgtcGItMFwiPlxuICAgICAgICBAZm9yKG5hbWUgb2Ygc2VjdGlvbi5wcm9wZXJ0aWVzOyB0cmFjayBuYW1lKSB7XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkZXIuZ2V0UHJvcChuYW1lKSBhcyBwcm9wXCI+XG4gICAgICAgICAgPCEtLSBsZzpheC1jb2wtc3Bhbi02IC0tPlxuICAgICAgICAgIDwhLS0gbGc6YXgtY29sLXN0YXJ0LTEgLS0+XG4gICAgICAgICAgPGF4LWZvcm0tZmllbGQgY2xhc3M9XCJheC1jb2wtc3Bhbi0xMiBheC1jb2wtc3RhcnQtMSBsZzpheC1jb2wtc3Bhbi17e1xuICAgICAgICAgICAgICBwcm9wLmxheW91dD8ucG9zaXRpb25zPy5kZWZhdWx0Py5zcGFuIHx8IDEyXG4gICAgICAgICAgICB9fSAgbGc6YXgtY29sLXN0YXJ0LXt7IHByb3AubGF5b3V0Py5wb3NpdGlvbnM/LmRlZmF1bHQ/LnN0YXJ0IHx8IDEgfX0gYXgtZmxleCBheC1mbGV4LWNvbFwiPlxuICAgICAgICAgICAgPGF4LWxhYmVsIGNsYXNzPVwiYXgtZm9udC1zZW1pYm9sZCBheC10ZXh0LXNtXCIgW3JlcXVpcmVkXT1cImxvYWRlci5pc1JlcXVpcmVkKG5hbWUpXCI+e3sgcHJvcC50aXRsZVxuICAgICAgICAgICAgICB9fTwvYXgtbGFiZWw+XG4gICAgICAgICAgICA8YXhwLXdpZGdldC1yZW5kZXJlciBbc2NoZW1hXT1cInByb3Auc2NoZW1hXCIgW3Byb3BdPVwicHJvcFwiIFttb2RlXT1cIidlZGl0J1wiXG4gICAgICAgICAgICAgIFtjb250ZXh0XT1cImxvYWRlci5kYXRhXCI+PC9heHAtd2lkZ2V0LXJlbmRlcmVyPlxuICAgICAgICAgIDwvYXgtZm9ybS1maWVsZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIH1cbiAgPC9heC1mb3JtPlxuICA8YXgtZm9vdGVyPlxuICAgIDxheC1wcmVmaXg+IDwvYXgtcHJlZml4PlxuICAgIDxheC1zdWZmaXg+XG4gICAgICBAaWYoKGxvYWRlci5oYXNTZWN0aW9ucyR8IGFzeW5jKSAmJiAhKGxvYWRlci5pc0ZpcnN0JHwgYXN5bmMpKSB7XG4gICAgICA8YXgtYnV0dG9uIGxvb2s9XCJzb2xpZFwiIGNvbG9yPVwiZ2hvc3RcIiB0ZXh0PVwiQmFja1wiIChvbkNsaWNrKT1cImhhbmRsZUJhY2tDbGljaygpXCI+IDwvYXgtYnV0dG9uPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICA8YXgtYnV0dG9uIGxvb2s9XCJzb2xpZFwiIGNvbG9yPVwiZ2hvc3RcIiB0ZXh0PVwiQ2FuY2VsXCIgKG9uQ2xpY2spPVwiaGFuZGxlQ2xvc2VDbGljaygpXCI+IDwvYXgtYnV0dG9uPlxuICAgICAgfSBAaWYoKGxvYWRlci5pc0xhc3QkIHwgYXN5bmMpKSB7XG4gICAgICA8YXgtZHJvcGRvd24tYnV0dG9uIFtkaXNhYmxlZF09XCJzdWJtaXRMb2FkaW5nKClcIiBjb2xvcj1cInByaW1hcnlcIiB0ZXh0PVwiU2F2ZVwiIGxvb2s9XCJzb2xpZFwiXG4gICAgICAgIChvbkNsaWNrKT1cImhhbmRsZVNhdmVDbGljayhmb3JtKVwiPlxuICAgICAgICA8YXgtbG9hZGluZyAqbmdJZj1cInN1Ym1pdExvYWRpbmcoKVwiPjwvYXgtbG9hZGluZz5cbiAgICAgICAgPGF4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtIHRleHQ9XCJTYXZlICYgQ3JlYXRlIE5ld1wiIChvbkNsaWNrKT1cImhhbmRsZVNhdmVBbmROZXdDbGljayhmb3JtKVwiPiA8L2F4LWJ1dHRvbi1pdGVtPlxuICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICA8L2F4LWRyb3Bkb3duLWJ1dHRvbj5cblxuICAgICAgfSBAZWxzZSB7XG4gICAgICA8YXgtYnV0dG9uIGxvb2s9XCJzb2xpZFwiIGNvbG9yPVwicHJpbWFyeVwiIHRleHQ9XCJDb250aW51ZVwiIChvbkNsaWNrKT1cImhhbmRsZU5leHRDbGljayhmb3JtKVwiPiA8L2F4LWJ1dHRvbj5cbiAgICAgIH1cbiAgICA8L2F4LXN1ZmZpeD5cbiAgPC9heC1mb290ZXI+XG48L2Rpdj4iXX0=
@@ -0,0 +1,137 @@
1
+ import { AXFormatService } from '@acorex/core/format';
2
+ import { Injectable, inject } from '@angular/core';
3
+ import { Store } from '@ngrx/store';
4
+ import { cloneDeep } from 'lodash-es';
5
+ import { BehaviorSubject, defaultIfEmpty, map, of, switchMap } from 'rxjs';
6
+ import { AXPEntityRegistryService, AXPLayoutService, } from '../../../shared';
7
+ import * as i0 from "@angular/core";
8
+ export class AXPEntityCreateLoaderDefault {
9
+ constructor(config, store, formatService) {
10
+ this.config = config;
11
+ this.store = store;
12
+ this.formatService = formatService;
13
+ this._data = {};
14
+ this._currentSection = 'default';
15
+ this._sections$ = new BehaviorSubject(this.sections);
16
+ //****************** Properties ******************//
17
+ this.getProp = (name) => this.entity.properties.find((c) => c.name == name);
18
+ this.isRequired = (name) => this.getProp(name)?.validationRules?.some(c => c.rule == 'required') || false;
19
+ this._currentSection = this.sections[0]?.name || 'default';
20
+ }
21
+ get entity() {
22
+ if (!this._config) {
23
+ this._config = cloneDeep(this.config);
24
+ }
25
+ return this._config;
26
+ }
27
+ get data() {
28
+ return this._data;
29
+ }
30
+ get view() {
31
+ return this.entity.views.createView;
32
+ }
33
+ //****************** Sections ******************//
34
+ get sections() {
35
+ return this.view.root.sections?.length
36
+ ? this.view.root.sections
37
+ : [
38
+ {
39
+ name: 'default',
40
+ title: 'Default',
41
+ properties: this.view.root.properties,
42
+ },
43
+ ];
44
+ }
45
+ get sections$() {
46
+ return this._sections$.pipe(defaultIfEmpty([]));
47
+ }
48
+ get section$() {
49
+ return this.sections$.pipe(switchMap((sections) => {
50
+ const section = sections.find((c) => c.name === this._currentSection) ?? this.sections[0];
51
+ if (!section.sections?.length) {
52
+ section.sections = [
53
+ {
54
+ name: 'default',
55
+ title: 'Details',
56
+ properties: section.properties,
57
+ },
58
+ ];
59
+ }
60
+ return of(section);
61
+ }));
62
+ }
63
+ get hasSections$() {
64
+ return this.sections$.pipe(map((c) => c.length > 1));
65
+ }
66
+ get isLast$() {
67
+ return this.sections$.pipe(map((c) => this.sections.length - this.sections.findIndex((c) => c.name == this._currentSection) == 1));
68
+ }
69
+ get isFirst$() {
70
+ return this.sections$.pipe(map((c) => this.sections.findIndex((c) => c.name == this._currentSection) == 0));
71
+ }
72
+ get currentIndex$() {
73
+ return this.sections$.pipe(map((c) => this.sections.findIndex((c) => c.name == this._currentSection)));
74
+ }
75
+ setSection(name) {
76
+ this._currentSection = name ?? 'default';
77
+ const updatedSection = this.sections.find((c) => c.name === this._currentSection) || {
78
+ name: 'default',
79
+ title: 'Default',
80
+ properties: this.view.root.properties,
81
+ };
82
+ const currentSections = this._sections$.value;
83
+ const updatedSections = currentSections.map((section) => {
84
+ if (section.name === updatedSection.name) {
85
+ return updatedSection;
86
+ }
87
+ else {
88
+ return section;
89
+ }
90
+ });
91
+ this._sections$.next(updatedSections);
92
+ }
93
+ next() {
94
+ const nextIndex = this.sections.findIndex((c) => c.name == this._currentSection) + 1;
95
+ if (nextIndex >= this.sections.length) {
96
+ return Promise.resolve();
97
+ }
98
+ else {
99
+ this.setSection(this.sections[nextIndex].name);
100
+ return Promise.resolve();
101
+ }
102
+ }
103
+ back() {
104
+ const prevIndex = this.sections.findIndex((c) => c.name == this._currentSection) - 1;
105
+ if (prevIndex < 0) {
106
+ return Promise.resolve();
107
+ }
108
+ else {
109
+ this.setSection(this.sections[prevIndex].name);
110
+ return Promise.resolve();
111
+ }
112
+ }
113
+ }
114
+ export class AXPEntityCreateViewLoaderFactory {
115
+ constructor() {
116
+ this.entityService = inject(AXPEntityRegistryService);
117
+ this.formatService = inject(AXFormatService);
118
+ this.layout = inject(AXPLayoutService);
119
+ this.store = inject(Store);
120
+ }
121
+ async create(moduleName, entityName) {
122
+ const config = await this.entityService.resolve(moduleName, entityName);
123
+ this.layout.setNavigationLoading(true);
124
+ if (config.dataSource.byKey) {
125
+ this.layout.setNavigationLoading(false);
126
+ return new AXPEntityCreateLoaderDefault(config, this.store, this.formatService);
127
+ }
128
+ return Promise.reject('cannot fetch ');
129
+ }
130
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPEntityCreateViewLoaderFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
131
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPEntityCreateViewLoaderFactory, providedIn: 'root' }); }
132
+ }
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPEntityCreateViewLoaderFactory, decorators: [{
134
+ type: Injectable,
135
+ args: [{ providedIn: 'root' }]
136
+ }] });
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWNyZWF0ZS12aWV3LmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0cy9zcmMvbGliL2FkbWluL2VudGl0eS1sYXlvdXQvZW50aXR5LWNyZWF0ZS12aWV3L2VudGl0eS1jcmVhdGUtdmlldy5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsZUFBZSxFQUFjLGNBQWMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RixPQUFPLEVBR0wsd0JBQXdCLEVBR3hCLGdCQUFnQixHQUNqQixNQUFNLGlCQUFpQixDQUFDOztBQW9CekIsTUFBTSxPQUFPLDRCQUE0QjtJQUt2QyxZQUFvQixNQUF1QixFQUFVLEtBQVksRUFBVSxhQUE4QjtRQUFyRixXQUFNLEdBQU4sTUFBTSxDQUFpQjtRQUFVLFVBQUssR0FBTCxLQUFLLENBQU87UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBaUI7UUFIakcsVUFBSyxHQUFRLEVBQUUsQ0FBQztRQUNoQixvQkFBZSxHQUFHLFNBQVMsQ0FBQztRQW1DNUIsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFvQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFnRjNGLG9EQUFvRDtRQUM3QyxZQUFPLEdBQUcsQ0FBQyxJQUFZLEVBQWlDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxD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LENBQUMsQ0FBQztZQUMvQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQztDQUtGO0FBR0QsTUFBTSxPQUFPLGdDQUFnQztJQUQ3QztRQUVVLGtCQUFhLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDakQsa0JBQWEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDeEMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xDLFVBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7S0FXL0I7SUFUUSxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQWtCLEVBQUUsVUFBa0I7UUFDeEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4QyxPQUFPLElBQUksNEJBQTRCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2xGLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDekMsQ0FBQzs4R0FkVSxnQ0FBZ0M7a0hBQWhDLGdDQUFnQyxjQURuQixNQUFNOzsyRkFDbkIsZ0NBQWdDO2tCQUQ1QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRm9ybWF0U2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS9mb3JtYXQnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGRlZmF1bHRJZkVtcHR5LCBtYXAsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIEFYUEVudGl0eUNvbmZpZyxcbiAgQVhQRW50aXR5UHJvcGVydHksXG4gIEFYUEVudGl0eVJlZ2lzdHJ5U2VydmljZSxcbiAgQVhQRW50aXR5Vmlld0NoaWxkU2VjdGlvbkNvbmZpZyxcbiAgQVhQRW50aXR5Vmlld0NvbmZpZyxcbiAgQVhQTGF5b3V0U2VydmljZSxcbn0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkJztcblxuZXhwb3J0IGludGVyZmFjZSBBWFBFbnRpdHlDcmVhdGVWaWV3TG9hZGVyIHtcbiAgZ2V0IGVudGl0eSgpOiBBWFBFbnRpdHlDb25maWc7XG4gIGdldCBkYXRhKCk6IGFueTtcblxuICBnZXQgc2VjdGlvbnMkKCk6IE9ic2VydmFibGU8QVhQRW50aXR5Vmlld0NoaWxkU2VjdGlvbkNvbmZpZ1tdPjtcbiAgZ2V0IGhhc1NlY3Rpb25zJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBnZXQgaXNMYXN0JCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBnZXQgaXNGaXJzdCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgZ2V0IGN1cnJlbnRJbmRleCQoKTogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICBnZXQgc2VjdGlvbiQoKTogT2JzZXJ2YWJsZTxBWFBFbnRpdHlWaWV3Q2hpbGRTZWN0aW9uQ29uZmlnPjtcbiAgc2V0U2VjdGlvbihuYW1lOiBzdHJpbmcpOiB2b2lkO1xuICBuZXh0KCk6IFByb21pc2U8dm9pZD47XG4gIGJhY2soKTogUHJvbWlzZTx2b2lkPjtcblxuICBnZXRQcm9wKG5hbWU6IHN0cmluZyk6IEFYUEVudGl0eVByb3BlcnR5IHwgdW5kZWZpbmVkO1xuICBpc1JlcXVpcmVkKG5hbWU6IHN0cmluZyk6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlDcmVhdGVMb2FkZXJEZWZhdWx0IGltcGxlbWVudHMgQVhQRW50aXR5Q3JlYXRlVmlld0xvYWRlciB7XG4gIHByaXZhdGUgX2NvbmZpZyE6IEFYUEVudGl0eUNvbmZpZztcbiAgcHJpdmF0ZSBfZGF0YTogYW55ID0ge307XG4gIHByaXZhdGUgX2N1cnJlbnRTZWN0aW9uID0gJ2RlZmF1bHQnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlnOiBBWFBFbnRpdHlDb25maWcsIHByaXZhdGUgc3RvcmU6IFN0b3JlLCBwcml2YXRlIGZvcm1hdFNlcnZpY2U6IEFYRm9ybWF0U2VydmljZSkge1xuICAgIHRoaXMuX2N1cnJlbnRTZWN0aW9uID0gdGhpcy5zZWN0aW9uc1swXT8ubmFtZSB8fCAnZGVmYXVsdCc7XG4gIH1cblxuICBnZXQgZW50aXR5KCk6IEFYUEVudGl0eUNvbmZpZyB7XG4gICAgaWYgKCF0aGlzLl9jb25maWcpIHtcbiAgICAgIHRoaXMuX2NvbmZpZyA9IGNsb25lRGVlcCh0aGlzLmNvbmZpZyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9jb25maWc7XG4gIH1cblxuICBnZXQgZGF0YSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9kYXRhO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgdmlldygpOiBBWFBFbnRpdHlWaWV3Q29uZmlnIHtcbiAgICByZXR1cm4gdGhpcy5lbnRpdHkudmlld3MuY3JlYXRlVmlldyBhcyBBWFBFbnRpdHlWaWV3Q29uZmlnO1xuICB9XG5cbiAgLy8qKioqKioqKioqKioqKioqKiogU2VjdGlvbnMgKioqKioqKioqKioqKioqKioqLy9cblxuICBwcml2YXRlIGdldCBzZWN0aW9ucygpOiBBWFBFbnRpdHlWaWV3Q2hpbGRTZWN0aW9uQ29uZmlnW10ge1xuICAgIHJldHVybiB0aGlzLnZpZXcucm9vdC5zZWN0aW9ucz8ubGVuZ3RoXG4gICAgICA/IHRoaXMudmlldy5yb290LnNlY3Rpb25zXG4gICAgICA6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdkZWZhdWx0JyxcbiAgICAgICAgICB0aXRsZTogJ0RlZmF1bHQnLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHRoaXMudmlldy5yb290LnByb3BlcnRpZXMsXG4gICAgICAgIH0sXG4gICAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2VjdGlvbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBWFBFbnRpdHlWaWV3Q2hpbGRTZWN0aW9uQ29uZmlnW10+KHRoaXMuc2VjdGlvbnMpO1xuXG4gIHB1YmxpYyBnZXQgc2VjdGlvbnMkKCk6IE9ic2VydmFibGU8QVhQRW50aXR5Vmlld0NoaWxkU2VjdGlvbkNvbmZpZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlY3Rpb25zJC5waXBlKGRlZmF1bHRJZkVtcHR5KFtdKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlY3Rpb24kKCk6IE9ic2VydmFibGU8QVhQRW50aXR5Vmlld0NoaWxkU2VjdGlvbkNvbmZpZz4ge1xuICAgIHJldHVybiB0aGlzLnNlY3Rpb25zJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKChzZWN0aW9ucykgPT4ge1xuICAgICAgICBjb25zdCBzZWN0aW9uID0gc2VjdGlvbnMuZmluZCgoYykgPT4gYy5uYW1lID09PSB0aGlzLl9jdXJyZW50U2VjdGlvbikgPz8gdGhpcy5zZWN0aW9uc1swXTtcbiAgICAgICAgaWYgKCFzZWN0aW9uLnNlY3Rpb25zPy5sZW5ndGgpIHtcbiAgICAgICAgICBzZWN0aW9uLnNlY3Rpb25zID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnZGVmYXVsdCcsXG4gICAgICAgICAgICAgIHRpdGxlOiAnRGV0YWlscycsXG4gICAgICAgICAgICAgIHByb3BlcnRpZXM6IHNlY3Rpb24ucHJvcGVydGllcyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2Yoc2VjdGlvbik7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc1NlY3Rpb25zJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zZWN0aW9ucyQucGlwZShtYXAoKGMpID0+IGMubGVuZ3RoID4gMSkpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0xhc3QkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnNlY3Rpb25zJC5waXBlKFxuICAgICAgbWFwKChjKSA9PiB0aGlzLnNlY3Rpb25zLmxlbmd0aCAtIHRoaXMuc2VjdGlvbnMuZmluZEluZGV4KChjKSA9PiBjLm5hbWUgPT0gdGhpcy5fY3VycmVudFNlY3Rpb24pID09IDEpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNGaXJzdCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2VjdGlvbnMkLnBpcGUobWFwKChjKSA9PiB0aGlzLnNlY3Rpb25zLmZpbmRJbmRleCgoYykgPT4gYy5uYW1lID09IHRoaXMuX2N1cnJlbnRTZWN0aW9uKSA9PSAwKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGN1cnJlbnRJbmRleCQoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy5zZWN0aW9ucyQucGlwZShtYXAoKGMpID0+IHRoaXMuc2VjdGlvbnMuZmluZEluZGV4KChjKSA9PiBjLm5hbWUgPT0gdGhpcy5fY3VycmVudFNlY3Rpb24pKSk7XG4gIH1cblxuICBwdWJsaWMgc2V0U2VjdGlvbihuYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9jdXJyZW50U2VjdGlvbiA9IG5hbWUgPz8gJ2RlZmF1bHQnO1xuICAgIGNvbnN0IHVwZGF0ZWRTZWN0aW9uID0gdGhpcy5zZWN0aW9ucy5maW5kKChjKSA9PiBjLm5hbWUgPT09IHRoaXMuX2N1cnJlbnRTZWN0aW9uKSB8fCB7XG4gICAgICBuYW1lOiAnZGVmYXVsdCcsXG4gICAgICB0aXRsZTogJ0RlZmF1bHQnLFxuICAgICAgcHJvcGVydGllczogdGhpcy52aWV3LnJvb3QucHJvcGVydGllcyxcbiAgICB9O1xuICAgIGNvbnN0IGN1cnJlbnRTZWN0aW9ucyA9IHRoaXMuX3NlY3Rpb25zJC52YWx1ZTtcbiAgICBjb25zdCB1cGRhdGVkU2VjdGlvbnMgPSBjdXJyZW50U2VjdGlvbnMubWFwKChzZWN0aW9uKSA9PiB7XG4gICAgICBpZiAoc2VjdGlvbi5uYW1lID09PSB1cGRhdGVkU2VjdGlvbi5uYW1lKSB7XG4gICAgICAgIHJldHVybiB1cGRhdGVkU2VjdGlvbjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBzZWN0aW9uO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuX3NlY3Rpb25zJC5uZXh0KHVwZGF0ZWRTZWN0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgbmV4dCgpIHtcbiAgICBjb25zdCBuZXh0SW5kZXggPSB0aGlzLnNlY3Rpb25zLmZpbmRJbmRleCgoYykgPT4gYy5uYW1lID09IHRoaXMuX2N1cnJlbnRTZWN0aW9uKSArIDE7XG4gICAgaWYgKG5leHRJbmRleCA+PSB0aGlzLnNlY3Rpb25zLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldFNlY3Rpb24odGhpcy5zZWN0aW9uc1tuZXh0SW5kZXhdLm5hbWUpO1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBiYWNrKCkge1xuICAgIGNvbnN0IHByZXZJbmRleCA9IHRoaXMuc2VjdGlvbnMuZmluZEluZGV4KChjKSA9PiBjLm5hbWUgPT0gdGhpcy5fY3VycmVudFNlY3Rpb24pIC0gMTtcbiAgICBpZiAocHJldkluZGV4IDwgMCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldFNlY3Rpb24odGhpcy5zZWN0aW9uc1twcmV2SW5kZXhdLm5hbWUpO1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8vKioqKioqKioqKioqKioqKioqIFByb3BlcnRpZXMgKioqKioqKioqKioqKioqKioqLy9cbiAgcHVibGljIGdldFByb3AgPSAobmFtZTogc3RyaW5nKTogQVhQRW50aXR5UHJvcGVydHkgfCB1bmRlZmluZWQgPT4gdGhpcy5lbnRpdHkucHJvcGVydGllcy5maW5kKChjKSA9PiBjLm5hbWUgPT0gbmFtZSk7XG4gIHB1YmxpYyBpc1JlcXVpcmVkID0gKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4gPT4gdGhpcy5nZXRQcm9wKG5hbWUpPy52YWxpZGF0aW9uUnVsZXM/LnNvbWUoYyA9PiBjLnJ1bGUgPT0gJ3JlcXVpcmVkJykgfHwgZmFsc2U7XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5Q3JlYXRlVmlld0xvYWRlckZhY3Rvcnkge1xuICBwcml2YXRlIGVudGl0eVNlcnZpY2UgPSBpbmplY3QoQVhQRW50aXR5UmVnaXN0cnlTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBmb3JtYXRTZXJ2aWNlID0gaW5qZWN0KEFYRm9ybWF0U2VydmljZSk7XG4gIHByaXZhdGUgbGF5b3V0ID0gaW5qZWN0KEFYUExheW91dFNlcnZpY2UpO1xuICBwcml2YXRlIHN0b3JlID0gaW5qZWN0KFN0b3JlKTtcblxuICBwdWJsaWMgYXN5bmMgY3JlYXRlKG1vZHVsZU5hbWU6IHN0cmluZywgZW50aXR5TmFtZTogc3RyaW5nKTogUHJvbWlzZTxBWFBFbnRpdHlDcmVhdGVWaWV3TG9hZGVyPiB7XG4gICAgY29uc3QgY29uZmlnID0gYXdhaXQgdGhpcy5lbnRpdHlTZXJ2aWNlLnJlc29sdmUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XG4gICAgdGhpcy5sYXlvdXQuc2V0TmF2aWdhdGlvbkxvYWRpbmcodHJ1ZSk7XG4gICAgaWYgKGNvbmZpZy5kYXRhU291cmNlLmJ5S2V5KSB7XG4gICAgICB0aGlzLmxheW91dC5zZXROYXZpZ2F0aW9uTG9hZGluZyhmYWxzZSk7XG4gICAgICByZXR1cm4gbmV3IEFYUEVudGl0eUNyZWF0ZUxvYWRlckRlZmF1bHQoY29uZmlnLCB0aGlzLnN0b3JlLCB0aGlzLmZvcm1hdFNlcnZpY2UpO1xuICAgIH1cbiAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoJ2Nhbm5vdCBmZXRjaCAnKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,125 @@
1
+ import { AXFormatService } from '@acorex/core/format';
2
+ import { Injectable, inject } from '@angular/core';
3
+ import { Store } from '@ngrx/store';
4
+ import { assign, cloneDeep } from 'lodash-es';
5
+ import { BehaviorSubject, defaultIfEmpty, map, of, switchMap } from 'rxjs';
6
+ import { AXPEntityRegistryService, AXPLayoutService, } from '../../../shared';
7
+ import * as i0 from "@angular/core";
8
+ export class AXPEntityDetailLoaderDefault {
9
+ constructor(config, store, entityData, formatService) {
10
+ this.config = config;
11
+ this.store = store;
12
+ this.entityData = entityData;
13
+ this.formatService = formatService;
14
+ this._currentSection = 'default';
15
+ this._sections$ = new BehaviorSubject(this.sections);
16
+ //****************** Properties ******************//
17
+ this.getProp = (name) => this.entity.properties.find((c) => c.name == name);
18
+ }
19
+ get entity() {
20
+ if (!this._config) {
21
+ this._config = cloneDeep(this.config);
22
+ }
23
+ return this._config;
24
+ }
25
+ get data() {
26
+ return this.entityData;
27
+ }
28
+ get view() {
29
+ return (this.entity.views.detailView ?? this.entity.views.quickView);
30
+ }
31
+ //****************** Titles ******************//
32
+ get title() {
33
+ const suggestedProps = this.entity.properties.find((c) => ['title', 'name', 'code'].includes(c.name));
34
+ let suggestedFormat = 'Item #{{id}}';
35
+ if (suggestedProps)
36
+ suggestedFormat = `{{${suggestedProps.name}}}`;
37
+ const title = this.formatService.format(this.entity.formats?.header ?? this.entity.formats?.default ?? suggestedFormat, 'string', this.data);
38
+ return title;
39
+ }
40
+ get sectionTitle() {
41
+ return `${this.entity.title}`;
42
+ }
43
+ //****************** Sections ******************//
44
+ get sections() {
45
+ return this.view.root.sections?.length
46
+ ? this.view.root.sections
47
+ : [
48
+ {
49
+ name: 'default',
50
+ title: 'Default',
51
+ properties: this.view.root.properties,
52
+ },
53
+ ];
54
+ }
55
+ get sections$() {
56
+ return this._sections$.pipe(defaultIfEmpty([]));
57
+ }
58
+ get section$() {
59
+ return this.sections$.pipe(switchMap((sections) => {
60
+ const section = sections.find((c) => c.name === this._currentSection) ?? this.sections[0];
61
+ if (!section.sections?.length) {
62
+ section.sections = [
63
+ {
64
+ name: 'default',
65
+ title: 'Details',
66
+ properties: section.properties,
67
+ },
68
+ ];
69
+ }
70
+ return of(section);
71
+ }));
72
+ }
73
+ get hasSections$() {
74
+ return this.sections$.pipe(map((c) => c.length > 1));
75
+ }
76
+ setSection(name) {
77
+ this._currentSection = name ?? 'default';
78
+ const updatedSection = this.sections.find((c) => c.name === this._currentSection) || {
79
+ name: 'default',
80
+ title: 'Default',
81
+ properties: this.view.root.properties,
82
+ };
83
+ const currentSections = this._sections$.value;
84
+ const updatedSections = currentSections.map((section) => {
85
+ if (section.name === updatedSection.name) {
86
+ return updatedSection;
87
+ }
88
+ else {
89
+ return section;
90
+ }
91
+ });
92
+ this._sections$.next(updatedSections);
93
+ }
94
+ //****************** Update ******************//
95
+ async update(values) {
96
+ assign(this.data, values);
97
+ this.setSection(this._currentSection);
98
+ }
99
+ }
100
+ export class AXPEntityDetailViewLoaderFactory {
101
+ constructor() {
102
+ this.entityService = inject(AXPEntityRegistryService);
103
+ this.formatService = inject(AXFormatService);
104
+ this.layout = inject(AXPLayoutService);
105
+ this.store = inject(Store);
106
+ }
107
+ async create(moduleName, entityName, id) {
108
+ const config = await this.entityService.resolve(moduleName, entityName);
109
+ this.layout.setNavigationLoading(true);
110
+ if (config.dataSource.byKey) {
111
+ const data = await config.dataSource.byKey(id);
112
+ this.layout.setNavigationLoading(false);
113
+ return new AXPEntityDetailLoaderDefault(config, this.store, data, this.formatService);
114
+ }
115
+ this.layout.setNavigationLoading(false);
116
+ return Promise.reject('cannot fetch ');
117
+ }
118
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPEntityDetailViewLoaderFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
119
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPEntityDetailViewLoaderFactory, providedIn: 'root' }); }
120
+ }
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPEntityDetailViewLoaderFactory, decorators: [{
122
+ type: Injectable,
123
+ args: [{ providedIn: 'root' }]
124
+ }] });
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsLXZpZXcuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXRzL3NyYy9saWIvYWRtaW4vZW50aXR5LWxheW91dC9lbnRpdHktZGV0YWlscy12aWV3L2RldGFpbC12aWV3LmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFjLGNBQWMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RixPQUFPLEVBR0wsd0JBQXdCLEVBR3hCLGdCQUFnQixHQUNqQixNQUFNLGlCQUFpQixDQUFDOztBQWlCekIsTUFBTSxPQUFPLDRCQUE0QjtJQUl2QyxZQUNVLE1BQXVCLEVBQ3ZCLEtBQVksRUFDWixVQUFlLEVBQ2YsYUFBOEI7UUFIOUIsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7UUFDdkIsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUNaLGVBQVUsR0FBVixVQUFVLENBQUs7UUFDZixrQkFBYSxHQUFiLGFBQWEsQ0FBaUI7UUFOaEMsb0JBQWUsR0FBRyxTQUFTLENBQUM7UUF1RDVCLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBb0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBOEMzRixvREFBb0Q7UUFDN0MsWUFBTyxHQUFHLENBQUMsSUFBWSxFQUFpQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDO0lBL0ZsSCxDQUFDO0lBRUosSUFBSSxNQUFNO1FBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFZLElBQUk7UUFDZCxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBd0IsQ0FBQztJQUM5RixDQUFDO0lBRUQsZ0RBQWdEO0lBQ2hELElBQUksS0FBSztRQUNQLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN0RyxJQUFJLGVBQWUsR0FBRyxjQUFjLENBQUM7UUFDckMsSUFBSSxjQUFjO1lBQUUsZUFBZSxHQUFHLEtBQUssY0FBYyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ25FLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsT0FBTyxJQUFJLGVBQWUsRUFDOUUsUUFBUSxFQUNSLElBQUksQ0FBQyxJQUFJLENBQ1YsQ0FBQztRQUNGLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxrREFBa0Q7SUFFbEQsSUFBWSxRQUFRO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU07WUFDcEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVE7WUFDekIsQ0FBQyxDQUFDO2dCQUNFO29CQUNFLElBQUksRUFBRSxTQUFTO29CQUNmLEtBQUssRUFBRSxTQUFTO29CQUNoQixVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtpQkFDdEM7YUFDRixDQUFDO0lBQ1IsQ0FBQztJQUlELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDeEIsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDckIsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxRixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQztnQkFDOUIsT0FBTyxDQUFDLFFBQVEsR0FBRztvQkFDakI7d0JBQ0UsSUFBSSxFQUFFLFNBQVM7d0JBQ2YsS0FBSyxFQUFFLFNBQVM7d0JBQ2hCLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVTtxQkFDL0I7aUJBQ0YsQ0FBQztZQUNKLENBQUM7WUFDRCxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFTSxVQUFVLENBQUMsSUFBWTtRQUM1QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksSUFBSSxTQUFTLENBQUM7UUFDekMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJO1lBQ25GLElBQUksRUFBRSxTQUFTO1lBQ2YsS0FBSyxFQUFFLFNBQVM7WUFDaEIsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVU7U0FDdEMsQ0FBQztRQUNGLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBQzlDLE1BQU0sZUFBZSxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN0RCxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUN6QyxPQUFPLGNBQWMsQ0FBQztZQUN4QixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxPQUFPLENBQUM7WUFDakIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUtELGdEQUFnRDtJQUN6QyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQVc7UUFDN0IsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDeEMsQ0FBQztDQUNGO0FBR0QsTUFBTSxPQUFPLGdDQUFnQztJQUQ3QztRQUVVLGtCQUFhLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDakQsa0JBQWEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDeEMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xDLFVBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7S0FhL0I7SUFYUSxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQWtCLEVBQUUsVUFBa0IsRUFBRSxFQUFVO1FBQ3BFLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzVCLE1BQU0sSUFBSSxHQUFHLE1BQU0sTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4QyxPQUFPLElBQUksNEJBQTRCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4RixDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QyxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDekMsQ0FBQzs4R0FoQlUsZ0NBQWdDO2tIQUFoQyxnQ0FBZ0MsY0FEbkIsTUFBTTs7MkZBQ25CLGdDQUFnQztrQkFENUMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEZvcm1hdFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvZm9ybWF0JztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBhc3NpZ24sIGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGRlZmF1bHRJZkVtcHR5LCBtYXAsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIEFYUEVudGl0eUNvbmZpZyxcbiAgQVhQRW50aXR5UHJvcGVydHksXG4gIEFYUEVudGl0eVJlZ2lzdHJ5U2VydmljZSxcbiAgQVhQRW50aXR5Vmlld0NoaWxkU2VjdGlvbkNvbmZpZyxcbiAgQVhQRW50aXR5Vmlld0NvbmZpZyxcbiAgQVhQTGF5b3V0U2VydmljZSxcbn0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkJztcblxuZXhwb3J0IGludGVyZmFjZSBBWFBFbnRpdHlEZXRhaWxWaWV3TG9hZGVyIHtcbiAgZ2V0IGVudGl0eSgpOiBBWFBFbnRpdHlDb25maWc7XG4gIGdldCBkYXRhKCk6IGFueTtcbiAgZ2V0IHRpdGxlKCk6IHN0cmluZztcblxuICBnZXQgc2VjdGlvblRpdGxlKCk6IHN0cmluZztcbiAgZ2V0IHNlY3Rpb25zJCgpOiBPYnNlcnZhYmxlPEFYUEVudGl0eVZpZXdDaGlsZFNlY3Rpb25Db25maWdbXT47XG4gIGdldCBoYXNTZWN0aW9ucyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgZ2V0IHNlY3Rpb24kKCk6IE9ic2VydmFibGU8QVhQRW50aXR5Vmlld0NoaWxkU2VjdGlvbkNvbmZpZz47XG4gIHNldFNlY3Rpb24obmFtZTogc3RyaW5nKTogdm9pZDtcblxuICBnZXRQcm9wKG5hbWU6IHN0cmluZyk6IEFYUEVudGl0eVByb3BlcnR5IHwgdW5kZWZpbmVkO1xuICB1cGRhdGUodmFsdWVzOiBhbnkpOiBQcm9taXNlPGFueT47XG59XG5cbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlEZXRhaWxMb2FkZXJEZWZhdWx0IGltcGxlbWVudHMgQVhQRW50aXR5RGV0YWlsVmlld0xvYWRlciB7XG4gIHByaXZhdGUgX2NvbmZpZyE6IEFYUEVudGl0eUNvbmZpZztcbiAgcHJpdmF0ZSBfY3VycmVudFNlY3Rpb24gPSAnZGVmYXVsdCc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb25maWc6IEFYUEVudGl0eUNvbmZpZyxcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBwcml2YXRlIGVudGl0eURhdGE6IGFueSxcbiAgICBwcml2YXRlIGZvcm1hdFNlcnZpY2U6IEFYRm9ybWF0U2VydmljZVxuICApIHt9XG5cbiAgZ2V0IGVudGl0eSgpOiBBWFBFbnRpdHlDb25maWcge1xuICAgIGlmICghdGhpcy5fY29uZmlnKSB7XG4gICAgICB0aGlzLl9jb25maWcgPSBjbG9uZURlZXAodGhpcy5jb25maWcpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fY29uZmlnO1xuICB9XG5cbiAgZ2V0IGRhdGEoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5lbnRpdHlEYXRhO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgdmlldygpOiBBWFBFbnRpdHlWaWV3Q29uZmlnIHtcbiAgICByZXR1cm4gKHRoaXMuZW50aXR5LnZpZXdzLmRldGFpbFZpZXcgPz8gdGhpcy5lbnRpdHkudmlld3MucXVpY2tWaWV3KSBhcyBBWFBFbnRpdHlWaWV3Q29uZmlnO1xuICB9XG5cbiAgLy8qKioqKioqKioqKioqKioqKiogVGl0bGVzICoqKioqKioqKioqKioqKioqKi8vXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHN1Z2dlc3RlZFByb3BzID0gdGhpcy5lbnRpdHkucHJvcGVydGllcy5maW5kKChjKSA9PiBbJ3RpdGxlJywgJ25hbWUnLCAnY29kZSddLmluY2x1ZGVzKGMubmFtZSkpO1xuICAgIGxldCBzdWdnZXN0ZWRGb3JtYXQgPSAnSXRlbSAje3tpZH19JztcbiAgICBpZiAoc3VnZ2VzdGVkUHJvcHMpIHN1Z2dlc3RlZEZvcm1hdCA9IGB7eyR7c3VnZ2VzdGVkUHJvcHMubmFtZX19fWA7XG4gICAgY29uc3QgdGl0bGUgPSB0aGlzLmZvcm1hdFNlcnZpY2UuZm9ybWF0KFxuICAgICAgdGhpcy5lbnRpdHkuZm9ybWF0cz8uaGVhZGVyID8/IHRoaXMuZW50aXR5LmZvcm1hdHM/LmRlZmF1bHQgPz8gc3VnZ2VzdGVkRm9ybWF0LFxuICAgICAgJ3N0cmluZycsXG4gICAgICB0aGlzLmRhdGFcbiAgICApO1xuICAgIHJldHVybiB0aXRsZTtcbiAgfVxuXG4gIGdldCBzZWN0aW9uVGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5lbnRpdHkudGl0bGV9YDtcbiAgfVxuXG4gIC8vKioqKioqKioqKioqKioqKioqIFNlY3Rpb25zICoqKioqKioqKioqKioqKioqKi8vXG5cbiAgcHJpdmF0ZSBnZXQgc2VjdGlvbnMoKTogQVhQRW50aXR5Vmlld0NoaWxkU2VjdGlvbkNvbmZpZ1tdIHtcbiAgICByZXR1cm4gdGhpcy52aWV3LnJvb3Quc2VjdGlvbnM/Lmxlbmd0aFxuICAgICAgPyB0aGlzLnZpZXcucm9vdC5zZWN0aW9uc1xuICAgICAgOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ2RlZmF1bHQnLFxuICAgICAgICAgICAgdGl0bGU6ICdEZWZhdWx0JyxcbiAgICAgICAgICAgIHByb3BlcnRpZXM6IHRoaXMudmlldy5yb290LnByb3BlcnRpZXMsXG4gICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgfVxuXG4gIHByaXZhdGUgX3NlY3Rpb25zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QVhQRW50aXR5Vmlld0NoaWxkU2VjdGlvbkNvbmZpZ1tdPih0aGlzLnNlY3Rpb25zKTtcblxuICBwdWJsaWMgZ2V0IHNlY3Rpb25zJCgpOiBPYnNlcnZhYmxlPEFYUEVudGl0eVZpZXdDaGlsZFNlY3Rpb25Db25maWdbXT4ge1xuICAgIHJldHVybiB0aGlzLl9zZWN0aW9ucyQucGlwZShkZWZhdWx0SWZFbXB0eShbXSkpO1xuICB9XG5cbiAgcHVibGljIGdldCBzZWN0aW9uJCgpOiBPYnNlcnZhYmxlPEFYUEVudGl0eVZpZXdDaGlsZFNlY3Rpb25Db25maWc+IHtcbiAgICByZXR1cm4gdGhpcy5zZWN0aW9ucyQucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoc2VjdGlvbnMpID0+IHtcbiAgICAgICAgY29uc3Qgc2VjdGlvbiA9IHNlY3Rpb25zLmZpbmQoKGMpID0+IGMubmFtZSA9PT0gdGhpcy5fY3VycmVudFNlY3Rpb24pID8/IHRoaXMuc2VjdGlvbnNbMF07XG4gICAgICAgIGlmICghc2VjdGlvbi5zZWN0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICAgICAgc2VjdGlvbi5zZWN0aW9ucyA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2RlZmF1bHQnLFxuICAgICAgICAgICAgICB0aXRsZTogJ0RldGFpbHMnLFxuICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiBzZWN0aW9uLnByb3BlcnRpZXMsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9mKHNlY3Rpb24pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCBoYXNTZWN0aW9ucyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2VjdGlvbnMkLnBpcGUobWFwKChjKSA9PiBjLmxlbmd0aCA+IDEpKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRTZWN0aW9uKG5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuX2N1cnJlbnRTZWN0aW9uID0gbmFtZSA/PyAnZGVmYXVsdCc7XG4gICAgY29uc3QgdXBkYXRlZFNlY3Rpb24gPSB0aGlzLnNlY3Rpb25zLmZpbmQoKGMpID0+IGMubmFtZSA9PT0gdGhpcy5fY3VycmVudFNlY3Rpb24pIHx8IHtcbiAgICAgIG5hbWU6ICdkZWZhdWx0JyxcbiAgICAgIHRpdGxlOiAnRGVmYXVsdCcsXG4gICAgICBwcm9wZXJ0aWVzOiB0aGlzLnZpZXcucm9vdC5wcm9wZXJ0aWVzLFxuICAgIH07XG4gICAgY29uc3QgY3VycmVudFNlY3Rpb25zID0gdGhpcy5fc2VjdGlvbnMkLnZhbHVlO1xuICAgIGNvbnN0IHVwZGF0ZWRTZWN0aW9ucyA9IGN1cnJlbnRTZWN0aW9ucy5tYXAoKHNlY3Rpb24pID0+IHtcbiAgICAgIGlmIChzZWN0aW9uLm5hbWUgPT09IHVwZGF0ZWRTZWN0aW9uLm5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZWRTZWN0aW9uO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHNlY3Rpb247XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5fc2VjdGlvbnMkLm5leHQodXBkYXRlZFNlY3Rpb25zKTtcbiAgfVxuXG4gIC8vKioqKioqKioqKioqKioqKioqIFByb3BlcnRpZXMgKioqKioqKioqKioqKioqKioqLy9cbiAgcHVibGljIGdldFByb3AgPSAobmFtZTogc3RyaW5nKTogQVhQRW50aXR5UHJvcGVydHkgfCB1bmRlZmluZWQgPT4gdGhpcy5lbnRpdHkucHJvcGVydGllcy5maW5kKChjKSA9PiBjLm5hbWUgPT0gbmFtZSk7XG5cbiAgLy8qKioqKioqKioqKioqKioqKiogVXBkYXRlICoqKioqKioqKioqKioqKioqKi8vXG4gIHB1YmxpYyBhc3luYyB1cGRhdGUodmFsdWVzOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIGFzc2lnbih0aGlzLmRhdGEsIHZhbHVlcyk7XG4gICAgdGhpcy5zZXRTZWN0aW9uKHRoaXMuX2N1cnJlbnRTZWN0aW9uKTtcbiAgfVxufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eURldGFpbFZpZXdMb2FkZXJGYWN0b3J5IHtcbiAgcHJpdmF0ZSBlbnRpdHlTZXJ2aWNlID0gaW5qZWN0KEFYUEVudGl0eVJlZ2lzdHJ5U2VydmljZSk7XG4gIHByaXZhdGUgZm9ybWF0U2VydmljZSA9IGluamVjdChBWEZvcm1hdFNlcnZpY2UpO1xuICBwcml2YXRlIGxheW91dCA9IGluamVjdChBWFBMYXlvdXRTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBzdG9yZSA9IGluamVjdChTdG9yZSk7XG5cbiAgcHVibGljIGFzeW5jIGNyZWF0ZShtb2R1bGVOYW1lOiBzdHJpbmcsIGVudGl0eU5hbWU6IHN0cmluZywgaWQ6IHN0cmluZyk6IFByb21pc2U8QVhQRW50aXR5RGV0YWlsVmlld0xvYWRlcj4ge1xuICAgIGNvbnN0IGNvbmZpZyA9IGF3YWl0IHRoaXMuZW50aXR5U2VydmljZS5yZXNvbHZlKG1vZHVsZU5hbWUsIGVudGl0eU5hbWUpO1xuICAgIHRoaXMubGF5b3V0LnNldE5hdmlnYXRpb25Mb2FkaW5nKHRydWUpO1xuICAgIGlmIChjb25maWcuZGF0YVNvdXJjZS5ieUtleSkge1xuICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IGNvbmZpZy5kYXRhU291cmNlLmJ5S2V5KGlkKTtcbiAgICAgIHRoaXMubGF5b3V0LnNldE5hdmlnYXRpb25Mb2FkaW5nKGZhbHNlKTtcbiAgICAgIHJldHVybiBuZXcgQVhQRW50aXR5RGV0YWlsTG9hZGVyRGVmYXVsdChjb25maWcsIHRoaXMuc3RvcmUsIGRhdGEsIHRoaXMuZm9ybWF0U2VydmljZSk7XG4gICAgfVxuICAgIHRoaXMubGF5b3V0LnNldE5hdmlnYXRpb25Mb2FkaW5nKGZhbHNlKTtcbiAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoJ2Nhbm5vdCBmZXRjaCAnKTtcbiAgfVxufVxuIl19