@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,333 @@
1
+ import { AXDataSource } from '@acorex/components/common';
2
+ import { AXPSchemaRegistryService } from '@acorex/platform/schema';
3
+ import { Injectable, InjectionToken, inject } from '@angular/core';
4
+ import { cloneDeep } from 'lodash-es';
5
+ import { BehaviorSubject, defaultIfEmpty, first, map, of, switchMap } from 'rxjs';
6
+ import { AXPEntityListViewConfigEmpty, AXPEntityRegistryService, AXPLayoutService, } from '../../../shared';
7
+ import * as i0 from "@angular/core";
8
+ export class AXPListViewLoaderDefault {
9
+ constructor(config, schemaService) {
10
+ this.config = config;
11
+ this.schemaService = schemaService;
12
+ this._dataSource = new AXDataSource(this.entity.dataSource);
13
+ this._inlineFilterItems = [];
14
+ this._props$ = new BehaviorSubject(this.props);
15
+ this.getProp = (name) => this.entity.properties.find((c) => c.name == name);
16
+ //****************** Views ******************//
17
+ this._currentView = 'default';
18
+ this._views$ = new BehaviorSubject(this.views);
19
+ //****************** Columns ******************//
20
+ this._currentDisplayColumns$ = new BehaviorSubject([]);
21
+ this._columns$ = new BehaviorSubject(this.columns);
22
+ //****************** Sort ******************//
23
+ this._currentSorts$ = new BehaviorSubject([]);
24
+ //****************** Conditions ******************//
25
+ this._currentConditions$ = new BehaviorSubject([]);
26
+ this.setView(this.views[0].name);
27
+ this._inlineFilterItems = this.entity.properties
28
+ .filter((property) => property.canInlineFilter)
29
+ .map((item) => {
30
+ const schema = this.schemaService.resolve(item.schema);
31
+ return { name: item.name, dataType: schema?.dataType, title: item.title };
32
+ });
33
+ }
34
+ get entity() {
35
+ if (!this._config) {
36
+ this._config = cloneDeep(this.config);
37
+ }
38
+ return this._config;
39
+ }
40
+ get dataSource() {
41
+ return this._dataSource;
42
+ }
43
+ //****************** Properties ******************//
44
+ get props() {
45
+ return this.entity.properties;
46
+ }
47
+ get properties$() {
48
+ return this._props$;
49
+ }
50
+ get views() {
51
+ return this.entity.views.list.views;
52
+ }
53
+ get views$() {
54
+ return this._views$;
55
+ }
56
+ get view$() {
57
+ return this.views$.pipe(switchMap((views) => {
58
+ const view = views.find((c) => c.name === this._currentView);
59
+ if (view) {
60
+ return of(view);
61
+ }
62
+ else if (this.views.length > 0) {
63
+ return of(this.views[0]);
64
+ }
65
+ else {
66
+ return of(AXPEntityListViewConfigEmpty);
67
+ }
68
+ }));
69
+ }
70
+ get publicViews$() {
71
+ return this.views$.pipe(map((c) => c.filter((v) => v.fixed)));
72
+ }
73
+ get customViews$() {
74
+ return this.views$.pipe(map((c) => c.filter((v) => !v.fixed)));
75
+ }
76
+ get hasCustomViews$() {
77
+ return this.customViews$.pipe(map((c) => c.length > 0));
78
+ }
79
+ setView(name) {
80
+ let propNames = [];
81
+ this.properties$.pipe(first()).subscribe((properties) => {
82
+ propNames = properties.map((p) => p.name);
83
+ });
84
+ this._currentView = name;
85
+ const updatedView = this._views$.value.find((c) => c.name === this._currentView) || AXPEntityListViewConfigEmpty;
86
+ const currentViews = this._views$.value;
87
+ const updatedViews = currentViews.map((view) => {
88
+ if (view.name === updatedView.name) {
89
+ return updatedView;
90
+ }
91
+ else {
92
+ return view;
93
+ }
94
+ });
95
+ this._currentConditions$.next(cloneDeep(updatedView.conditions.filter((c) => propNames.includes(c.name))));
96
+ this._currentSorts$.next(cloneDeep(updatedView.sorts.filter((s) => propNames.includes(s.name))));
97
+ // this._columns$.next(updatedView.columns);
98
+ this._currentDisplayColumns$.next(cloneDeep(updatedView.columns.filter((c) => propNames.includes(c.name))));
99
+ this._views$.next(updatedViews);
100
+ //apply conditions and sorts:
101
+ this.dataSource.filter({
102
+ field: null,
103
+ logic: 'and',
104
+ operator: null,
105
+ filters: updatedView.conditions.map((c) => ({
106
+ field: c.name,
107
+ value: c.value,
108
+ operator: { type: c.operator },
109
+ })),
110
+ });
111
+ const convertedSortItems = updatedView.sorts.map((s) => ({
112
+ field: s.name,
113
+ dir: s.dir,
114
+ }));
115
+ this.dataSource.sort(...convertedSortItems);
116
+ this.dataSource.refresh();
117
+ }
118
+ createView(newView) {
119
+ const currentViews = this._views$.getValue();
120
+ currentViews.push(newView);
121
+ this._views$.next(currentViews);
122
+ this.setView(newView.name);
123
+ }
124
+ updateView(updatedView) {
125
+ const currentViews = this._views$.getValue().map((view) => (view.name === updatedView.name ? updatedView : view));
126
+ this._views$.next(currentViews);
127
+ this.setView(updatedView.name);
128
+ }
129
+ deleteView(viewName) {
130
+ const currentViews = this._views$.getValue().filter((view) => view.name !== viewName);
131
+ this._views$.next(currentViews);
132
+ this.setView(this.views[0].name);
133
+ }
134
+ get columns() {
135
+ return this.entity.properties.map((p) => ({
136
+ name: p.name,
137
+ title: p.title,
138
+ schema: p.schema,
139
+ }));
140
+ }
141
+ get columns$() {
142
+ return this._columns$.pipe(defaultIfEmpty([]));
143
+ }
144
+ get displayColumns$() {
145
+ return this._currentDisplayColumns$.pipe(defaultIfEmpty([]));
146
+ }
147
+ get displayColumnsCount$() {
148
+ return this.view$.pipe(map((view) => {
149
+ return view.columns.filter((column) => column.visible).length;
150
+ }));
151
+ }
152
+ updateColumns(items) {
153
+ this.view$.pipe(first()).subscribe((view) => {
154
+ view.columns = cloneDeep(items);
155
+ this._views$.next(this._views$.value.map((v) => (v.name === this._currentView ? view : v)));
156
+ });
157
+ }
158
+ resetColumns() {
159
+ this.view$.pipe(first()).subscribe((view) => {
160
+ this._currentDisplayColumns$.next(cloneDeep(view.columns));
161
+ });
162
+ }
163
+ setColumnVisibility(name, visible) {
164
+ const updatedColumns = this._currentDisplayColumns$.getValue().map((column) => {
165
+ if (column.name === name) {
166
+ return { ...column, visible };
167
+ }
168
+ else {
169
+ return column;
170
+ }
171
+ });
172
+ this._currentDisplayColumns$.next(updatedColumns);
173
+ }
174
+ get sorts$() {
175
+ return this._currentSorts$.pipe(defaultIfEmpty([]));
176
+ }
177
+ get sortsCount$() {
178
+ return this.view$.pipe(map((c) => c.sorts.length));
179
+ }
180
+ addSort() {
181
+ this.view$.pipe(first()).subscribe((view) => {
182
+ const currentSorts = this._currentSorts$.getValue();
183
+ const name = view.columns.find((c) => !currentSorts.some((s) => s.name == c.name))?.name ?? '';
184
+ if (name) {
185
+ const sorts = [...currentSorts, { name, dir: 'asc' }];
186
+ this._currentSorts$.next(sorts);
187
+ }
188
+ });
189
+ }
190
+ removeSort(item) {
191
+ const currentSorts = this._currentSorts$.getValue();
192
+ const sorts = currentSorts.filter((c) => c != item);
193
+ this._currentSorts$.next(sorts);
194
+ }
195
+ resetSort() {
196
+ this.view$.pipe(first()).subscribe((view) => {
197
+ this._currentSorts$.next(cloneDeep(view.sorts));
198
+ });
199
+ }
200
+ updateSort(items) {
201
+ this.view$.pipe(first()).subscribe((view) => {
202
+ view.sorts = cloneDeep(items);
203
+ this._views$.next(this._views$.value.map((v) => (v.name === this._currentView ? view : v)));
204
+ const convertedSortItems = items.map((s) => ({
205
+ field: s.name,
206
+ dir: s.dir,
207
+ }));
208
+ this.dataSource.sort(...convertedSortItems);
209
+ this.dataSource.refresh();
210
+ });
211
+ }
212
+ get conditions$() {
213
+ return this._currentConditions$.pipe(defaultIfEmpty([]));
214
+ }
215
+ get conditionsCount$() {
216
+ return this.view$.pipe(map((c) => c.conditions.length));
217
+ }
218
+ getInlineFilterTitles() {
219
+ return this._inlineFilterItems.map((item) => item.title);
220
+ }
221
+ addCondition(selectedFields) {
222
+ const prevConditions = this._currentConditions$.getValue();
223
+ const conditionsMap = new Map(prevConditions.map((item) => [item.name, item]));
224
+ const newFields = selectedFields.map((field) => conditionsMap.get(field.name) || { name: field.name, operator: field.opr });
225
+ this._currentConditions$.next(newFields);
226
+ }
227
+ removeCondition(item) {
228
+ const currentConditions = this._currentConditions$.getValue();
229
+ const conditions = currentConditions.filter((c) => c != item);
230
+ this._currentConditions$.next(conditions);
231
+ }
232
+ updateConditions(items) {
233
+ this.view$.pipe(first()).subscribe((view) => {
234
+ view.conditions = cloneDeep(items);
235
+ this._views$.next(this._views$.value.map((v) => (v.name === this._currentView ? view : v)));
236
+ });
237
+ this.applyAllConditions();
238
+ }
239
+ handleInlineSearch(value) {
240
+ const inlineConditions = [];
241
+ this._inlineFilterItems?.forEach((property) => {
242
+ if (property?.dataType == 'string' || property?.dataType == 'number') {
243
+ inlineConditions.push({
244
+ name: property.name,
245
+ value: property.dataType == 'number' ? parseFloat(value) : value,
246
+ operator: property.dataType == 'string' ? 'contains' : 'equal',
247
+ });
248
+ }
249
+ });
250
+ this.view$.pipe(first()).subscribe((view) => {
251
+ view.inlineConditions = cloneDeep(inlineConditions);
252
+ });
253
+ this.applyAllConditions();
254
+ }
255
+ applyAllConditions() {
256
+ const inlineConditions = {
257
+ field: null,
258
+ operator: null,
259
+ logic: 'or',
260
+ filters: [],
261
+ };
262
+ const mainConditions = {
263
+ field: null,
264
+ operator: null,
265
+ logic: 'and',
266
+ filters: [],
267
+ };
268
+ this.view$.pipe(first()).subscribe((view) => {
269
+ if (view.inlineConditions && view.inlineConditions.length) {
270
+ view.inlineConditions?.forEach((c) => {
271
+ if (c.value) {
272
+ inlineConditions.filters?.push({
273
+ field: c.name,
274
+ operator: { type: c.operator },
275
+ value: c.value,
276
+ });
277
+ }
278
+ });
279
+ }
280
+ if (view.conditions.length) {
281
+ view.conditions.forEach((c) => {
282
+ mainConditions.filters?.push({
283
+ field: c.name,
284
+ operator: { type: c.operator },
285
+ value: c.value,
286
+ });
287
+ });
288
+ }
289
+ this.dataSource.filter({
290
+ field: null,
291
+ logic: 'and',
292
+ operator: null,
293
+ filters: [mainConditions, inlineConditions],
294
+ });
295
+ this.dataSource.refresh();
296
+ this._views$.next(this._views$.value.map((v) => (v.name === this._currentView ? view : v)));
297
+ });
298
+ }
299
+ resetConditions() {
300
+ this.view$.pipe(first()).subscribe((view) => {
301
+ this._currentConditions$.next(cloneDeep(view.conditions));
302
+ });
303
+ }
304
+ }
305
+ export const AXP_LISTVIEW_LOADER = new InjectionToken('AXP_LISTVIEW_LOADER');
306
+ export class AXPListViewLoaderFactory {
307
+ constructor() {
308
+ this.cache = new Map();
309
+ this.entityService = inject(AXPEntityRegistryService);
310
+ this.schemaService = inject(AXPSchemaRegistryService);
311
+ this.layout = inject(AXPLayoutService);
312
+ }
313
+ async create(moduleName, entityName) {
314
+ this.layout.setNavigationLoading(true);
315
+ const config = await this.entityService.resolve(moduleName, entityName);
316
+ let result = this.cache.get(config.name);
317
+ if (result) {
318
+ this.layout.setNavigationLoading(false);
319
+ return result;
320
+ }
321
+ result = new AXPListViewLoaderDefault(config, this.schemaService);
322
+ this.cache.set(config.name, result);
323
+ this.layout.setNavigationLoading(false);
324
+ return result;
325
+ }
326
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPListViewLoaderFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
327
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPListViewLoaderFactory, providedIn: 'root' }); }
328
+ }
329
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPListViewLoaderFactory, decorators: [{
330
+ type: Injectable,
331
+ args: [{ providedIn: 'root' }]
332
+ }] });
333
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0cy9zcmMvbGliL2FkbWluL2VudGl0eS1sYXlvdXQvZW50aXR5LWxpc3Qtdmlldy9saXN0LXZpZXcuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQW9ELE1BQU0sMkJBQTJCLENBQUM7QUFDM0csT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdEMsT0FBTyxFQUFFLGVBQWUsRUFBYyxjQUFjLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlGLE9BQU8sRUFPTCw0QkFBNEIsRUFFNUIsd0JBQXdCLEVBQ3hCLGdCQUFnQixHQUNqQixNQUFNLGlCQUFpQixDQUFDOztBQTRDekIsTUFBTSxPQUFPLHdCQUF3QjtJQUtuQyxZQUFvQixNQUF1QixFQUFVLGFBQXVDO1FBQXhFLFdBQU0sR0FBTixNQUFNLENBQWlCO1FBQVUsa0JBQWEsR0FBYixhQUFhLENBQTBCO1FBSHBGLGdCQUFXLEdBQWlCLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckUsdUJBQWtCLEdBQW9FLEVBQUUsQ0FBQztRQTRCekYsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFzQixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFNaEUsWUFBTyxHQUFHLENBQUMsSUFBWSxFQUFpQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFB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RSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFL0UsTUFBTSxTQUFTLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FDbEMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FDdEYsQ0FBQztRQUNGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsU0FBMkMsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxlQUFlLENBQUMsSUFBa0M7UUFDaEQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUQsTUFBTSxVQUFVLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsS0FBcUM7UUFDcEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUMxQyxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENB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QUUsVUFBa0I7UUFDeEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN4RSxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEMsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztRQUNELE1BQU0sR0FBRyxJQUFJLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7OEdBbEJVLHdCQUF3QjtrSEFBeEIsd0JBQXdCLGNBRFgsTUFBTTs7MkZBQ25CLHdCQUF3QjtrQkFEcEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWERhdGFTb3VyY2UsIEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbiwgQVhEYXRhU291cmNlU29ydE9wdGlvbiB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgQVhQU2NoZW1hUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9zY2hlbWEnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgZGVmYXVsdElmRW1wdHksIGZpcnN0LCBtYXAsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIEFYUEVudGl0eUNvbmZpZyxcbiAgQVhQRW50aXR5TGlzdENvbHVtbkNvbmZpZyxcbiAgQVhQRW50aXR5TGlzdENvbmRpdGlvbkNvbmZpZyxcbiAgQVhQRW50aXR5TGlzdERpc3BsYXlDb2x1bW5Db25maWcsXG4gIEFYUEVudGl0eUxpc3RTb3J0Q29uZmlnLFxuICBBWFBFbnRpdHlMaXN0Vmlld0NvbmZpZyxcbiAgQVhQRW50aXR5TGlzdFZpZXdDb25maWdFbXB0eSxcbiAgQVhQRW50aXR5UHJvcGVydHksXG4gIEFYUEVudGl0eVJlZ2lzdHJ5U2VydmljZSxcbiAgQVhQTGF5b3V0U2VydmljZSxcbn0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkJztcblxuZXhwb3J0IGludGVyZmFjZSBBWFBMaXN0Vmlld0xvYWRlciB7XG4gIGdldCBwcm9wZXJ0aWVzJCgpOiBPYnNlcnZhYmxlPEFYUEVudGl0eVByb3BlcnR5W10+O1xuICBnZXRQcm9wKG5hbWU6IHN0cmluZyk6IEFYUEVudGl0eVByb3BlcnR5IHwgdW5kZWZpbmVkO1xuXG4gIGdldCB2aWV3cyQoKTogT2JzZXJ2YWJsZTxBWFBFbnRpdHlMaXN0Vmlld0NvbmZpZ1tdPjtcbiAgZ2V0IHB1YmxpY1ZpZXdzJCgpOiBPYnNlcnZhYmxlPEFYUEVudGl0eUxpc3RWaWV3Q29uZmlnW10+O1xuICBnZXQgY3VzdG9tVmlld3MkKCk6IE9ic2VydmFibGU8QVhQRW50aXR5TGlzdFZpZXdDb25maWdbXT47XG4gIGdldCBoYXNDdXN0b21WaWV3cyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgZ2V0IHZpZXckKCk6IE9ic2VydmFibGU8QVhQRW50aXR5TGlzdFZpZXdDb25maWc+O1xuICBzZXRWaWV3KG5hbWU6IHN0cmluZyk6IHZvaWQ7XG4gIGNyZWF0ZVZpZXcodmlldzogQVhQRW50aXR5TGlzdFZpZXdDb25maWcpOiB2b2lkO1xuICB1cGRhdGVWaWV3KHZpZXc6IEFYUEVudGl0eUxpc3RWaWV3Q29uZmlnKTogdm9pZDtcbiAgZGVsZXRlVmlldyh2aWV3TmFtZTogc3RyaW5nKTogdm9pZDtcblxuICBnZXQgY29sdW1ucyQoKTogT2JzZXJ2YWJsZTxBWFBFbnRpdHlMaXN0Q29sdW1uQ29uZmlnW10+O1xuICBnZXQgZGlzcGxheUNvbHVtbnMkKCk6IE9ic2VydmFibGU8QVhQRW50aXR5TGlzdERpc3BsYXlDb2x1bW5Db25maWdbXT47XG4gIGdldCBkaXNwbGF5Q29sdW1uc0NvdW50JCgpOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gIHNldENvbHVtblZpc2liaWxpdHkobmFtZTogc3RyaW5nLCB2aXNpYmxlOiBib29sZWFuKTogdm9pZDtcbiAgdXBkYXRlQ29sdW1ucyhpdGVtczogQVhQRW50aXR5TGlzdERpc3BsYXlDb2x1bW5Db25maWdbXSk6IHZvaWQ7XG4gIHJlc2V0Q29sdW1ucygpOiB2b2lkO1xuXG4gIGdldCBzb3J0cyQoKTogT2JzZXJ2YWJsZTxBWFBFbnRpdHlMaXN0U29ydENvbmZpZ1tdPjtcbiAgZ2V0IHNvcnRzQ291bnQkKCk6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgYWRkU29ydCgpOiB2b2lkO1xuICByZXNldFNvcnQoKTogdm9pZDtcbiAgcmVtb3ZlU29ydChpdGVtOiBBWFBFbnRpdHlMaXN0U29ydENvbmZpZyk6IHZvaWQ7XG4gIHVwZGF0ZVNvcnQoaXRlbXM6IEFYUEVudGl0eUxpc3RTb3J0Q29uZmlnW10pOiB2b2lkO1xuXG4gIGdldCBjb25kaXRpb25zJCgpOiBPYnNlcnZhYmxlPEFYUEVudGl0eUxpc3RDb25kaXRpb25Db25maWdbXT47XG4gIGdldCBjb25kaXRpb25zQ291bnQkKCk6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgZ2V0SW5saW5lRmlsdGVyVGl0bGVzKCk6IHN0cmluZ1tdO1xuXG4gIGFkZENvbmRpdGlvbihzZWxlY3RlZEZpZWxkczogeyBuYW1lOiBzdHJpbmc7IG9wcjogc3RyaW5nIH1bXSk6IHZvaWQ7XG4gIHJlc2V0Q29uZGl0aW9ucygpOiB2b2lkO1xuICByZW1vdmVDb25kaXRpb24oaXRlbTogQVhQRW50aXR5TGlzdENvbmRpdGlvbkNvbmZpZyk6IHZvaWQ7XG4gIGhhbmRsZUlubGluZVNlYXJjaCh2YWx1ZTogc3RyaW5nKTogdm9pZDtcbiAgdXBkYXRlQ29uZGl0aW9ucyhpdGVtczogQVhQRW50aXR5TGlzdENvbmRpdGlvbkNvbmZpZ1tdKTogdm9pZDtcblxuICBnZXQgZGF0YVNvdXJjZSgpOiBBWERhdGFTb3VyY2U7XG4gIGdldCBlbnRpdHkoKTogQVhQRW50aXR5Q29uZmlnO1xufVxuXG5leHBvcnQgY2xhc3MgQVhQTGlzdFZpZXdMb2FkZXJEZWZhdWx0IGltcGxlbWVudHMgQVhQTGlzdFZpZXdMb2FkZXIge1xuICBwcml2YXRlIF9jb25maWchOiBBWFBFbnRpdHlDb25maWc7XG4gIHByaXZhdGUgX2RhdGFTb3VyY2U6IEFYRGF0YVNvdXJjZSA9IG5ldyBBWERhdGFTb3VyY2UodGhpcy5lbnRpdHkuZGF0YVNvdXJjZSk7XG4gIHByaXZhdGUgX2lubGluZUZpbHRlckl0ZW1zOiB7IG5hbWU6IHN0cmluZzsgZGF0YVR5cGU6IHN0cmluZyB8IHVuZGVmaW5lZDsgdGl0bGU6IHN0cmluZyB9W10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZzogQVhQRW50aXR5Q29uZmlnLCBwcml2YXRlIHNjaGVtYVNlcnZpY2U6IEFYUFNjaGVtYVJlZ2lzdHJ5U2VydmljZSkge1xuICAgIHRoaXMuc2V0Vmlldyh0aGlzLnZpZXdzWzBdLm5hbWUpO1xuXG4gICAgdGhpcy5faW5saW5lRmlsdGVySXRlbXMgPSB0aGlzLmVudGl0eS5wcm9wZXJ0aWVzXG4gICAgICAuZmlsdGVyKChwcm9wZXJ0eSkgPT4gcHJvcGVydHkuY2FuSW5saW5lRmlsdGVyKVxuICAgICAgLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICBjb25zdCBzY2hlbWEgPSB0aGlzLnNjaGVtYVNlcnZpY2UucmVzb2x2ZShpdGVtLnNjaGVtYSk7XG4gICAgICAgIHJldHVybiB7IG5hbWU6IGl0ZW0ubmFtZSwgZGF0YVR5cGU6IHNjaGVtYT8uZGF0YVR5cGUsIHRpdGxlOiBpdGVtLnRpdGxlIH07XG4gICAgICB9KTtcbiAgfVxuXG4gIGdldCBlbnRpdHkoKTogQVhQRW50aXR5Q29uZmlnIHtcbiAgICBpZiAoIXRoaXMuX2NvbmZpZykge1xuICAgICAgdGhpcy5fY29uZmlnID0gY2xvbmVEZWVwKHRoaXMuY29uZmlnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZztcbiAgfVxuXG4gIGdldCBkYXRhU291cmNlKCk6IEFYRGF0YVNvdXJjZSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGFTb3VyY2U7XG4gIH1cblxuICAvLyoqKioqKioqKioqKioqKioqKiBQcm9wZXJ0aWVzICoqKioqKioqKioqKioqKioqKi8vXG4gIHByaXZhdGUgZ2V0IHByb3BzKCk6IEFYUEVudGl0eVByb3BlcnR5W10ge1xuICAgIHJldHVybiB0aGlzLmVudGl0eS5wcm9wZXJ0aWVzO1xuICB9XG4gIHByaXZhdGUgX3Byb3BzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QVhQRW50aXR5UHJvcGVydHlbXT4odGhpcy5wcm9wcyk7XG5cbiAgcHVibGljIGdldCBwcm9wZXJ0aWVzJCgpOiBPYnNlcnZhYmxlPEFYUEVudGl0eVByb3BlcnR5W10+IHtcbiAgICByZXR1cm4gdGhpcy5fcHJvcHMkO1xuICB9XG5cbiAgcHVibGljIGdldFByb3AgPSAobmFtZTogc3RyaW5nKTogQVhQRW50aXR5UHJvcGVydHkgfCB1bmRlZmluZWQgPT4gdGhpcy5lbnRpdHkucHJvcGVydGllcy5maW5kKChjKSA9PiBjLm5hbWUgPT0gbmFtZSk7XG5cbiAgLy8qKioqKioqKioqKioqKioqKiogVmlld3MgKioqKioqKioqKioqKioqKioqLy9cblxuICBwcml2YXRlIF9jdXJyZW50VmlldyA9ICdkZWZhdWx0JztcblxuICBwcml2YXRlIGdldCB2aWV3cygpIHtcbiAgICByZXR1cm4gdGhpcy5lbnRpdHkudmlld3MubGlzdC52aWV3cztcbiAgfVxuXG4gIHByaXZhdGUgX3ZpZXdzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QVhQRW50aXR5TGlzdFZpZXdDb25maWdbXT4odGhpcy52aWV3cyk7XG4gIHB1YmxpYyBnZXQgdmlld3MkKCk6IE9ic2VydmFibGU8QVhQRW50aXR5TGlzdFZpZXdDb25maWdbXT4ge1xuICAgIHJldHVybiB0aGlzLl92aWV3cyQ7XG4gIH1cbiAgcHVibGljIGdldCB2aWV3JCgpOiBPYnNlcnZhYmxlPEFYUEVudGl0eUxpc3RWaWV3Q29uZmlnPiB7XG4gICAgcmV0dXJuIHRoaXMudmlld3MkLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKHZpZXdzKSA9PiB7XG4gICAgICAgIGNvbnN0IHZpZXcgPSB2aWV3cy5maW5kKChjKSA9PiBjLm5hbWUgPT09IHRoaXMuX2N1cnJlbnRWaWV3KTtcbiAgICAgICAgaWYgKHZpZXcpIHtcbiAgICAgICAgICByZXR1cm4gb2Yodmlldyk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy52aWV3cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcmV0dXJuIG9mKHRoaXMudmlld3NbMF0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBvZihBWFBFbnRpdHlMaXN0Vmlld0NvbmZpZ0VtcHR5KTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCBwdWJsaWNWaWV3cyQoKTogT2JzZXJ2YWJsZTxBWFBFbnRpdHlMaXN0Vmlld0NvbmZpZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMudmlld3MkLnBpcGUobWFwKChjKSA9PiBjLmZpbHRlcigodikgPT4gdi5maXhlZCkpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY3VzdG9tVmlld3MkKCk6IE9ic2VydmFibGU8QVhQRW50aXR5TGlzdFZpZXdDb25maWdbXT4ge1xuICAgIHJldHVybiB0aGlzLnZpZXdzJC5waXBlKG1hcCgoYykgPT4gYy5maWx0ZXIoKHYpID0+ICF2LmZpeGVkKSkpO1xuICB9XG5cbiAgcHVibGljIGdldCBoYXNDdXN0b21WaWV3cyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuY3VzdG9tVmlld3MkLnBpcGUobWFwKChjKSA9PiBjLmxlbmd0aCA+IDApKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRWaWV3KG5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGxldCBwcm9wTmFtZXM6IHN0cmluZ1tdID0gW107XG4gICAgdGhpcy5wcm9wZXJ0aWVzJC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgocHJvcGVydGllcykgPT4ge1xuICAgICAgcHJvcE5hbWVzID0gcHJvcGVydGllcy5tYXAoKHApID0+IHAubmFtZSk7XG4gICAgfSk7XG4gICAgdGhpcy5fY3VycmVudFZpZXcgPSBuYW1lO1xuICAgIGNvbnN0IHVwZGF0ZWRWaWV3ID0gdGhpcy5fdmlld3MkLnZhbHVlLmZpbmQoKGMpID0+IGMubmFtZSA9PT0gdGhpcy5fY3VycmVudFZpZXcpIHx8IEFYUEVudGl0eUxpc3RWaWV3Q29uZmlnRW1wdHk7XG4gICAgY29uc3QgY3VycmVudFZpZXdzID0gdGhpcy5fdmlld3MkLnZhbHVlO1xuICAgIGNvbnN0IHVwZGF0ZWRWaWV3cyA9IGN1cnJlbnRWaWV3cy5tYXAoKHZpZXcpID0+IHtcbiAgICAgIGlmICh2aWV3Lm5hbWUgPT09IHVwZGF0ZWRWaWV3Lm5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZWRWaWV3O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHZpZXc7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLl9jdXJyZW50Q29uZGl0aW9ucyQubmV4dChjbG9uZURlZXAodXBkYXRlZFZpZXcuY29uZGl0aW9ucy5maWx0ZXIoKGMpID0+IHByb3BOYW1lcy5pbmNsdWRlcyhjLm5hbWUpKSkpO1xuICAgIHRoaXMuX2N1cnJlbnRTb3J0cyQubmV4dChjbG9uZURlZXAodXBkYXRlZFZpZXcuc29ydHMuZmlsdGVyKChzKSA9PiBwcm9wTmFtZXMuaW5jbHVkZXMocy5uYW1lKSkpKTtcbiAgICAvLyB0aGlzLl9jb2x1bW5zJC5uZXh0KHVwZGF0ZWRWaWV3LmNvbHVtbnMpO1xuICAgIHRoaXMuX2N1cnJlbnREaXNwbGF5Q29sdW1ucyQubmV4dChjbG9uZURlZXAodXBkYXRlZFZpZXcuY29sdW1ucy5maWx0ZXIoKGMpID0+IHByb3BOYW1lcy5pbmNsdWRlcyhjLm5hbWUpKSkpO1xuICAgIHRoaXMuX3ZpZXdzJC5uZXh0KHVwZGF0ZWRWaWV3cyk7XG5cbiAgICAvL2FwcGx5IGNvbmRpdGlvbnMgYW5kIHNvcnRzOlxuICAgIHRoaXMuZGF0YVNvdXJjZS5maWx0ZXIoe1xuICAgICAgZmllbGQ6IG51bGwgYXMgYW55LFxuICAgICAgbG9naWM6ICdhbmQnLFxuICAgICAgb3BlcmF0b3I6IG51bGwgYXMgYW55LFxuICAgICAgZmlsdGVyczogdXBkYXRlZFZpZXcuY29uZGl0aW9ucy5tYXAoKGMpID0+ICh7XG4gICAgICAgIGZpZWxkOiBjLm5hbWUsXG4gICAgICAgIHZhbHVlOiBjLnZhbHVlLFxuICAgICAgICBvcGVyYXRvcjogeyB0eXBlOiBjLm9wZXJhdG9yIH0sXG4gICAgICB9KSkgYXMgYW55LFxuICAgIH0pO1xuICAgIGNvbnN0IGNvbnZlcnRlZFNvcnRJdGVtczogQVhEYXRhU291cmNlU29ydE9wdGlvbltdID0gdXBkYXRlZFZpZXcuc29ydHMubWFwKChzKSA9PiAoe1xuICAgICAgZmllbGQ6IHMubmFtZSxcbiAgICAgIGRpcjogcy5kaXIsXG4gICAgfSkpO1xuICAgIHRoaXMuZGF0YVNvdXJjZS5zb3J0KC4uLmNvbnZlcnRlZFNvcnRJdGVtcyk7XG5cbiAgICB0aGlzLmRhdGFTb3VyY2UucmVmcmVzaCgpO1xuICB9XG5cbiAgY3JlYXRlVmlldyhuZXdWaWV3OiBBWFBFbnRpdHlMaXN0Vmlld0NvbmZpZyk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRWaWV3cyA9IHRoaXMuX3ZpZXdzJC5nZXRWYWx1ZSgpO1xuICAgIGN1cnJlbnRWaWV3cy5wdXNoKG5ld1ZpZXcpO1xuICAgIHRoaXMuX3ZpZXdzJC5uZXh0KGN1cnJlbnRWaWV3cyk7XG4gICAgdGhpcy5zZXRWaWV3KG5ld1ZpZXcubmFtZSk7XG4gIH1cbiAgdXBkYXRlVmlldyh1cGRhdGVkVmlldzogQVhQRW50aXR5TGlzdFZpZXdDb25maWcpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50Vmlld3MgPSB0aGlzLl92aWV3cyQuZ2V0VmFsdWUoKS5tYXAoKHZpZXcpID0+ICh2aWV3Lm5hbWUgPT09IHVwZGF0ZWRWaWV3Lm5hbWUgPyB1cGRhdGVkVmlldyA6IHZpZXcpKTtcbiAgICB0aGlzLl92aWV3cyQubmV4dChjdXJyZW50Vmlld3MpO1xuICAgIHRoaXMuc2V0Vmlldyh1cGRhdGVkVmlldy5uYW1lKTtcbiAgfVxuICBkZWxldGVWaWV3KHZpZXdOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50Vmlld3MgPSB0aGlzLl92aWV3cyQuZ2V0VmFsdWUoKS5maWx0ZXIoKHZpZXcpID0+IHZpZXcubmFtZSAhPT0gdmlld05hbWUpO1xuICAgIHRoaXMuX3ZpZXdzJC5uZXh0KGN1cnJlbnRWaWV3cyk7XG4gICAgdGhpcy5zZXRWaWV3KHRoaXMudmlld3NbMF0ubmFtZSk7XG4gIH1cblxuICAvLyoqKioqKioqKioqKioqKioqKiBDb2x1bW5zICoqKioqKioqKioqKioqKioqKi8vXG5cbiAgcHJpdmF0ZSBfY3VycmVudERpc3BsYXlDb2x1bW5zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QVhQRW50aXR5TGlzdERpc3BsYXlDb2x1bW5Db25maWdbXT4oW10pO1xuXG4gIHByaXZhdGUgZ2V0IGNvbHVtbnMoKTogQVhQRW50aXR5TGlzdENvbHVtbkNvbmZpZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5lbnRpdHkucHJvcGVydGllcy5tYXAoKHApID0+ICh7XG4gICAgICBuYW1lOiBwLm5hbWUsXG4gICAgICB0aXRsZTogcC50aXRsZSxcbiAgICAgIHNjaGVtYTogcC5zY2hlbWEsXG4gICAgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY29sdW1ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFYUEVudGl0eUxpc3RDb2x1bW5Db25maWdbXT4odGhpcy5jb2x1bW5zKTtcblxuICBwdWJsaWMgZ2V0IGNvbHVtbnMkKCk6IE9ic2VydmFibGU8QVhQRW50aXR5TGlzdENvbHVtbkNvbmZpZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbHVtbnMkLnBpcGUoZGVmYXVsdElmRW1wdHkoW10pKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzcGxheUNvbHVtbnMkKCk6IE9ic2VydmFibGU8QVhQRW50aXR5TGlzdERpc3BsYXlDb2x1bW5Db25maWdbXT4ge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50RGlzcGxheUNvbHVtbnMkLnBpcGUoZGVmYXVsdElmRW1wdHkoW10pKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzcGxheUNvbHVtbnNDb3VudCQoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy52aWV3JC5waXBlKFxuICAgICAgbWFwKCh2aWV3KSA9PiB7XG4gICAgICAgIHJldHVybiB2aWV3LmNvbHVtbnMuZmlsdGVyKChjb2x1bW4pID0+IGNvbHVtbi52aXNpYmxlKS5sZW5ndGg7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICB1cGRhdGVDb2x1bW5zKGl0ZW1zOiBBWFBFbnRpdHlMaXN0RGlzcGxheUNvbHVtbkNvbmZpZ1tdKTogdm9pZCB7XG4gICAgdGhpcy52aWV3JC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgodmlldykgPT4ge1xuICAgICAgdmlldy5jb2x1bW5zID0gY2xvbmVEZWVwKGl0ZW1zKTtcbiAgICAgIHRoaXMuX3ZpZXdzJC5uZXh0KHRoaXMuX3ZpZXdzJC52YWx1ZS5tYXAoKHYpID0+ICh2Lm5hbWUgPT09IHRoaXMuX2N1cnJlbnRWaWV3ID8gdmlldyA6IHYpKSk7XG4gICAgfSk7XG4gIH1cblxuICByZXNldENvbHVtbnMoKTogdm9pZCB7XG4gICAgdGhpcy52aWV3JC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgodmlldykgPT4ge1xuICAgICAgdGhpcy5fY3VycmVudERpc3BsYXlDb2x1bW5zJC5uZXh0KGNsb25lRGVlcCh2aWV3LmNvbHVtbnMpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHNldENvbHVtblZpc2liaWxpdHkobmFtZTogc3RyaW5nLCB2aXNpYmxlOiBib29sZWFuKSB7XG4gICAgY29uc3QgdXBkYXRlZENvbHVtbnMgPSB0aGlzLl9jdXJyZW50RGlzcGxheUNvbHVtbnMkLmdldFZhbHVlKCkubWFwKChjb2x1bW4pID0+IHtcbiAgICAgIGlmIChjb2x1bW4ubmFtZSA9PT0gbmFtZSkge1xuICAgICAgICByZXR1cm4geyAuLi5jb2x1bW4sIHZpc2libGUgfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBjb2x1bW47XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5fY3VycmVudERpc3BsYXlDb2x1bW5zJC5uZXh0KHVwZGF0ZWRDb2x1bW5zKTtcbiAgfVxuXG4gIC8vKioqKioqKioqKioqKioqKioqIFNvcnQgKioqKioqKioqKioqKioqKioqLy9cbiAgcHJpdmF0ZSBfY3VycmVudFNvcnRzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QVhQRW50aXR5TGlzdFNvcnRDb25maWdbXT4oW10pO1xuXG4gIHB1YmxpYyBnZXQgc29ydHMkKCk6IE9ic2VydmFibGU8QVhQRW50aXR5TGlzdFNvcnRDb25maWdbXT4ge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50U29ydHMkLnBpcGUoZGVmYXVsdElmRW1wdHkoW10pKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc29ydHNDb3VudCQoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy52aWV3JC5waXBlKG1hcCgoYykgPT4gYy5zb3J0cy5sZW5ndGgpKTtcbiAgfVxuXG4gIGFkZFNvcnQoKTogdm9pZCB7XG4gICAgdGhpcy52aWV3JC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgodmlldykgPT4ge1xuICAgICAgY29uc3QgY3VycmVudFNvcnRzID0gdGhpcy5fY3VycmVudFNvcnRzJC5nZXRWYWx1ZSgpO1xuICAgICAgY29uc3QgbmFtZSA9IHZpZXcuY29sdW1ucy5maW5kKChjKSA9PiAhY3VycmVudFNvcnRzLnNvbWUoKHMpID0+IHMubmFtZSA9PSBjLm5hbWUpKT8ubmFtZSA/PyAnJztcbiAgICAgIGlmIChuYW1lKSB7XG4gICAgICAgIGNvbnN0IHNvcnRzID0gWy4uLmN1cnJlbnRTb3J0cywgeyBuYW1lLCBkaXI6ICdhc2MnIH0gYXMgQVhQRW50aXR5TGlzdFNvcnRDb25maWddO1xuICAgICAgICB0aGlzLl9jdXJyZW50U29ydHMkLm5leHQoc29ydHMpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmVtb3ZlU29ydChpdGVtOiBBWFBFbnRpdHlMaXN0U29ydENvbmZpZyk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRTb3J0cyA9IHRoaXMuX2N1cnJlbnRTb3J0cyQuZ2V0VmFsdWUoKTtcbiAgICBjb25zdCBzb3J0cyA9IGN1cnJlbnRTb3J0cy5maWx0ZXIoKGMpID0+IGMgIT0gaXRlbSk7XG4gICAgdGhpcy5fY3VycmVudFNvcnRzJC5uZXh0KHNvcnRzKTtcbiAgfVxuXG4gIHJlc2V0U29ydCgpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXckLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCh2aWV3KSA9PiB7XG4gICAgICB0aGlzLl9jdXJyZW50U29ydHMkLm5leHQoY2xvbmVEZWVwKHZpZXcuc29ydHMpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHVwZGF0ZVNvcnQoaXRlbXM6IEFYUEVudGl0eUxpc3RTb3J0Q29uZmlnW10pOiB2b2lkIHtcbiAgICB0aGlzLnZpZXckLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCh2aWV3KSA9PiB7XG4gICAgICB2aWV3LnNvcnRzID0gY2xvbmVEZWVwKGl0ZW1zKTtcbiAgICAgIHRoaXMuX3ZpZXdzJC5uZXh0KHRoaXMuX3ZpZXdzJC52YWx1ZS5tYXAoKHYpID0+ICh2Lm5hbWUgPT09IHRoaXMuX2N1cnJlbnRWaWV3ID8gdmlldyA6IHYpKSk7XG4gICAgICBjb25zdCBjb252ZXJ0ZWRTb3J0SXRlbXM6IEFYRGF0YVNvdXJjZVNvcnRPcHRpb25bXSA9IGl0ZW1zLm1hcCgocykgPT4gKHtcbiAgICAgICAgZmllbGQ6IHMubmFtZSxcbiAgICAgICAgZGlyOiBzLmRpcixcbiAgICAgIH0pKTtcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5zb3J0KC4uLmNvbnZlcnRlZFNvcnRJdGVtcyk7XG4gICAgICB0aGlzLmRhdGFTb3VyY2UucmVmcmVzaCgpO1xuICAgIH0pO1xuICB9XG5cbiAgLy8qKioqKioqKioqKioqKioqKiogQ29uZGl0aW9ucyAqKioqKioqKioqKioqKioqKiovL1xuXG4gIHByaXZhdGUgX2N1cnJlbnRDb25kaXRpb25zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QVhQRW50aXR5TGlzdENvbmRpdGlvbkNvbmZpZ1tdPihbXSk7XG5cbiAgcHVibGljIGdldCBjb25kaXRpb25zJCgpOiBPYnNlcnZhYmxlPEFYUEVudGl0eUxpc3RDb25kaXRpb25Db25maWdbXT4ge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50Q29uZGl0aW9ucyQucGlwZShkZWZhdWx0SWZFbXB0eShbXSkpO1xuICB9XG4gIHB1YmxpYyBnZXQgY29uZGl0aW9uc0NvdW50JCgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLnZpZXckLnBpcGUobWFwKChjKSA9PiBjLmNvbmRpdGlvbnMubGVuZ3RoKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0SW5saW5lRmlsdGVyVGl0bGVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5faW5saW5lRmlsdGVySXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLnRpdGxlKTtcbiAgfVxuXG4gIGFkZENvbmRpdGlvbihzZWxlY3RlZEZpZWxkczogeyBuYW1lOiBzdHJpbmc7IG9wcjogYW55OyB2YWx1ZT86IGFueSB9W10pOiB2b2lkIHtcbiAgICBjb25zdCBwcmV2Q29uZGl0aW9ucyA9IHRoaXMuX2N1cnJlbnRDb25kaXRpb25zJC5nZXRWYWx1ZSgpO1xuICAgIGNvbnN0IGNvbmRpdGlvbnNNYXAgPSBuZXcgTWFwKHByZXZDb25kaXRpb25zLm1hcCgoaXRlbSkgPT4gW2l0ZW0ubmFtZSwgaXRlbV0pKTtcblxuICAgIGNvbnN0IG5ld0ZpZWxkcyA9IHNlbGVjdGVkRmllbGRzLm1hcChcbiAgICAgIChmaWVsZCkgPT4gY29uZGl0aW9uc01hcC5nZXQoZmllbGQubmFtZSkgfHwgeyBuYW1lOiBmaWVsZC5uYW1lLCBvcGVyYXRvcjogZmllbGQub3ByIH1cbiAgICApO1xuICAgIHRoaXMuX2N1cnJlbnRDb25kaXRpb25zJC5uZXh0KG5ld0ZpZWxkcyBhcyBBWFBFbnRpdHlMaXN0Q29uZGl0aW9uQ29uZmlnW10pO1xuICB9XG5cbiAgcmVtb3ZlQ29uZGl0aW9uKGl0ZW06IEFYUEVudGl0eUxpc3RDb25kaXRpb25Db25maWcpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50Q29uZGl0aW9ucyA9IHRoaXMuX2N1cnJlbnRDb25kaXRpb25zJC5nZXRWYWx1ZSgpO1xuICAgIGNvbnN0IGNvbmRpdGlvbnMgPSBjdXJyZW50Q29uZGl0aW9ucy5maWx0ZXIoKGMpID0+IGMgIT0gaXRlbSk7XG4gICAgdGhpcy5fY3VycmVudENvbmRpdGlvbnMkLm5leHQoY29uZGl0aW9ucyk7XG4gIH1cbiAgdXBkYXRlQ29uZGl0aW9ucyhpdGVtczogQVhQRW50aXR5TGlzdENvbmRpdGlvbkNvbmZpZ1tdKTogdm9pZCB7XG4gICAgdGhpcy52aWV3JC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgodmlldykgPT4ge1xuICAgICAgdmlldy5jb25kaXRpb25zID0gY2xvbmVEZWVwKGl0ZW1zKTtcbiAgICAgIHRoaXMuX3ZpZXdzJC5uZXh0KHRoaXMuX3ZpZXdzJC52YWx1ZS5tYXAoKHYpID0+ICh2Lm5hbWUgPT09IHRoaXMuX2N1cnJlbnRWaWV3ID8gdmlldyA6IHYpKSk7XG4gICAgfSk7XG4gICAgdGhpcy5hcHBseUFsbENvbmRpdGlvbnMoKTtcbiAgfVxuXG4gIGhhbmRsZUlubGluZVNlYXJjaCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgY29uc3QgaW5saW5lQ29uZGl0aW9uczogQVhQRW50aXR5TGlzdENvbmRpdGlvbkNvbmZpZ1tdID0gW107XG5cbiAgICB0aGlzLl9pbmxpbmVGaWx0ZXJJdGVtcz8uZm9yRWFjaCgocHJvcGVydHkpID0+IHtcbiAgICAgIGlmIChwcm9wZXJ0eT8uZGF0YVR5cGUgPT0gJ3N0cmluZycgfHwgcHJvcGVydHk/LmRhdGFUeXBlID09ICdudW1iZXInKSB7XG4gICAgICAgIGlubGluZUNvbmRpdGlvbnMucHVzaCh7XG4gICAgICAgICAgbmFtZTogcHJvcGVydHkubmFtZSxcbiAgICAgICAgICB2YWx1ZTogcHJvcGVydHkuZGF0YVR5cGUgPT0gJ251bWJlcicgPyBwYXJzZUZsb2F0KHZhbHVlKSA6IHZhbHVlLFxuICAgICAgICAgIG9wZXJhdG9yOiBwcm9wZXJ0eS5kYXRhVHlwZSA9PSAnc3RyaW5nJyA/ICdjb250YWlucycgOiAnZXF1YWwnLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnZpZXckLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCh2aWV3KSA9PiB7XG4gICAgICB2aWV3LmlubGluZUNvbmRpdGlvbnMgPSBjbG9uZURlZXAoaW5saW5lQ29uZGl0aW9ucyk7XG4gICAgfSk7XG4gICAgdGhpcy5hcHBseUFsbENvbmRpdGlvbnMoKTtcbiAgfVxuXG4gIGFwcGx5QWxsQ29uZGl0aW9ucygpIHtcbiAgICBjb25zdCBpbmxpbmVDb25kaXRpb25zOiBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb24gPSB7XG4gICAgICBmaWVsZDogbnVsbCBhcyBhbnksXG4gICAgICBvcGVyYXRvcjogbnVsbCBhcyBhbnksXG4gICAgICBsb2dpYzogJ29yJyxcbiAgICAgIGZpbHRlcnM6IFtdLFxuICAgIH07XG5cbiAgICBjb25zdCBtYWluQ29uZGl0aW9uczogQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uID0ge1xuICAgICAgZmllbGQ6IG51bGwgYXMgYW55LFxuICAgICAgb3BlcmF0b3I6IG51bGwgYXMgYW55LFxuICAgICAgbG9naWM6ICdhbmQnLFxuICAgICAgZmlsdGVyczogW10sXG4gICAgfTtcblxuICAgIHRoaXMudmlldyQucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKHZpZXcpID0+IHtcbiAgICAgIGlmICh2aWV3LmlubGluZUNvbmRpdGlvbnMgJiYgdmlldy5pbmxpbmVDb25kaXRpb25zLmxlbmd0aCkge1xuICAgICAgICB2aWV3LmlubGluZUNvbmRpdGlvbnM/LmZvckVhY2goKGMpID0+IHtcbiAgICAgICAgICBpZiAoYy52YWx1ZSkge1xuICAgICAgICAgICAgaW5saW5lQ29uZGl0aW9ucy5maWx0ZXJzPy5wdXNoKHtcbiAgICAgICAgICAgICAgZmllbGQ6IGMubmFtZSxcbiAgICAgICAgICAgICAgb3BlcmF0b3I6IHsgdHlwZTogYy5vcGVyYXRvciB9IGFzIGFueSxcbiAgICAgICAgICAgICAgdmFsdWU6IGMudmFsdWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKHZpZXcuY29uZGl0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgdmlldy5jb25kaXRpb25zLmZvckVhY2goKGMpID0+IHtcbiAgICAgICAgICBtYWluQ29uZGl0aW9ucy5maWx0ZXJzPy5wdXNoKHtcbiAgICAgICAgICAgIGZpZWxkOiBjLm5hbWUsXG4gICAgICAgICAgICBvcGVyYXRvcjogeyB0eXBlOiBjLm9wZXJhdG9yIH0gYXMgYW55LFxuICAgICAgICAgICAgdmFsdWU6IGMudmFsdWUsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgdGhpcy5kYXRhU291cmNlLmZpbHRlcih7XG4gICAgICAgIGZpZWxkOiBudWxsIGFzIGFueSxcbiAgICAgICAgbG9naWM6ICdhbmQnLFxuICAgICAgICBvcGVyYXRvcjogbnVsbCBhcyBhbnksXG4gICAgICAgIGZpbHRlcnM6IFttYWluQ29uZGl0aW9ucywgaW5saW5lQ29uZGl0aW9uc10sXG4gICAgICB9KTtcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5yZWZyZXNoKCk7XG4gICAgICB0aGlzLl92aWV3cyQubmV4dCh0aGlzLl92aWV3cyQudmFsdWUubWFwKCh2KSA9PiAodi5uYW1lID09PSB0aGlzLl9jdXJyZW50VmlldyA/IHZpZXcgOiB2KSkpO1xuICAgIH0pO1xuICB9XG5cbiAgcmVzZXRDb25kaXRpb25zKCk6IHZvaWQge1xuICAgIHRoaXMudmlldyQucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKHZpZXcpID0+IHtcbiAgICAgIHRoaXMuX2N1cnJlbnRDb25kaXRpb25zJC5uZXh0KGNsb25lRGVlcCh2aWV3LmNvbmRpdGlvbnMpKTtcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgQVhQX0xJU1RWSUVXX0xPQURFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBWFBMaXN0Vmlld0xvYWRlcj4oJ0FYUF9MSVNUVklFV19MT0FERVInKTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBWFBMaXN0Vmlld0xvYWRlckZhY3Rvcnkge1xuICBwcml2YXRlIGNhY2hlOiBNYXA8c3RyaW5nLCBBWFBMaXN0Vmlld0xvYWRlcj4gPSBuZXcgTWFwKCk7XG4gIHByaXZhdGUgZW50aXR5U2VydmljZSA9IGluamVjdChBWFBFbnRpdHlSZWdpc3RyeVNlcnZpY2UpO1xuICBwcml2YXRlIHNjaGVtYVNlcnZpY2UgPSBpbmplY3QoQVhQU2NoZW1hUmVnaXN0cnlTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBsYXlvdXQgPSBpbmplY3QoQVhQTGF5b3V0U2VydmljZSk7XG5cbiAgcHVibGljIGFzeW5jIGNyZWF0ZShtb2R1bGVOYW1lOiBzdHJpbmcsIGVudGl0eU5hbWU6IHN0cmluZyk6IFByb21pc2U8QVhQTGlzdFZpZXdMb2FkZXI+IHtcbiAgICB0aGlzLmxheW91dC5zZXROYXZpZ2F0aW9uTG9hZGluZyh0cnVlKTtcbiAgICBjb25zdCBjb25maWcgPSBhd2FpdCB0aGlzLmVudGl0eVNlcnZpY2UucmVzb2x2ZShtb2R1bGVOYW1lLCBlbnRpdHlOYW1lKTtcbiAgICBsZXQgcmVzdWx0ID0gdGhpcy5jYWNoZS5nZXQoY29uZmlnLm5hbWUpO1xuICAgIGlmIChyZXN1bHQpIHtcbiAgICAgIHRoaXMubGF5b3V0LnNldE5hdmlnYXRpb25Mb2FkaW5nKGZhbHNlKTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIHJlc3VsdCA9IG5ldyBBWFBMaXN0Vmlld0xvYWRlckRlZmF1bHQoY29uZmlnLCB0aGlzLnNjaGVtYVNlcnZpY2UpO1xuICAgIHRoaXMuY2FjaGUuc2V0KGNvbmZpZy5uYW1lLCByZXN1bHQpO1xuICAgIHRoaXMubGF5b3V0LnNldE5hdmlnYXRpb25Mb2FkaW5nKGZhbHNlKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,156 @@
1
+ import { AXActionSheetModule } from '@acorex/components/action-sheet';
2
+ import { AXBadgeModule } from '@acorex/components/badge';
3
+ import { AXButtonModule } from '@acorex/components/button';
4
+ import { AXCollapseModule } from '@acorex/components/collapse';
5
+ import { AXCommonModule } from '@acorex/components/common';
6
+ import { AXDataTableModule } from '@acorex/components/data-table';
7
+ import { AXDecoratorModule } from '@acorex/components/decorators';
8
+ import { AXDialogModule } from '@acorex/components/dialog';
9
+ import { AXDrawerModule } from '@acorex/components/drawer';
10
+ import { AXDropdownModule } from '@acorex/components/dropdown';
11
+ import { AXFormModule } from '@acorex/components/form';
12
+ import { AXImageModule } from '@acorex/components/image';
13
+ import { AXListModule } from '@acorex/components/list';
14
+ import { AXLoadingModule } from '@acorex/components/loading';
15
+ import { AXPopoverModule } from '@acorex/components/popover';
16
+ import { AXSelectBoxModule } from '@acorex/components/select-box';
17
+ import { AXSwitchModule } from '@acorex/components/switch';
18
+ import { AXTabsModule } from '@acorex/components/tabs';
19
+ import { AXTextBoxModule } from '@acorex/components/text-box';
20
+ import { CdkDrag, CdkDragHandle, CdkDragPlaceholder, CdkDropList } from '@angular/cdk/drag-drop';
21
+ import { CommonModule } from '@angular/common';
22
+ import { NgModule } from '@angular/core';
23
+ import { FormsModule } from '@angular/forms';
24
+ import { AXPListViewOptionConditionsComponent, AXPListViewOptionFilterOperatorComponent, AXPListViewOptionSortingComponent, AXPListViewOptionsColumnsComponent, } from './components';
25
+ import { AXPEntityListViewComponent } from './entity-list-view.component';
26
+ import { AXDropdownButtonModule } from '@acorex/components/dropdown-button';
27
+ import { AXLabelModule } from '@acorex/components/label';
28
+ import { AXSearchBoxModule } from '@acorex/components/search-box';
29
+ import { AXSelectionListModule } from '@acorex/components/selection-list';
30
+ import { AXPSchemaModule } from '@acorex/platform/schema';
31
+ import { PortalModule } from '@angular/cdk/portal';
32
+ import { AXPCommonWidgetModule } from '../../../widgets/common-widgets.module';
33
+ import { AXPEntityCreateCustomViewComponent } from './components/entity-custom-view/entity-custom-view.component';
34
+ import * as i0 from "@angular/core";
35
+ export class AXPListViewModule {
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPListViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
37
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: AXPListViewModule, declarations: [AXPEntityListViewComponent,
38
+ AXPEntityCreateCustomViewComponent,
39
+ AXPListViewOptionsColumnsComponent,
40
+ AXPListViewOptionConditionsComponent,
41
+ AXPListViewOptionFilterOperatorComponent,
42
+ AXPListViewOptionSortingComponent], imports: [CommonModule,
43
+ FormsModule,
44
+ AXCommonModule,
45
+ AXDataTableModule,
46
+ AXButtonModule,
47
+ AXDecoratorModule,
48
+ AXBadgeModule,
49
+ AXDropdownModule,
50
+ AXPopoverModule,
51
+ AXImageModule,
52
+ AXSwitchModule,
53
+ AXDrawerModule,
54
+ AXLoadingModule,
55
+ AXTabsModule,
56
+ AXSelectBoxModule,
57
+ AXFormModule,
58
+ AXListModule,
59
+ AXTextBoxModule,
60
+ AXSearchBoxModule,
61
+ AXLabelModule,
62
+ AXCollapseModule,
63
+ AXActionSheetModule,
64
+ AXSelectionListModule,
65
+ AXImageModule,
66
+ AXDialogModule,
67
+ AXDropdownButtonModule,
68
+ //
69
+ CdkDropList,
70
+ CdkDrag,
71
+ CdkDragPlaceholder,
72
+ CdkDragHandle,
73
+ PortalModule,
74
+ AXPSchemaModule,
75
+ AXPCommonWidgetModule] }); }
76
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPListViewModule, imports: [CommonModule,
77
+ FormsModule,
78
+ AXCommonModule,
79
+ AXDataTableModule,
80
+ AXButtonModule,
81
+ AXDecoratorModule,
82
+ AXBadgeModule,
83
+ AXDropdownModule,
84
+ AXPopoverModule,
85
+ AXImageModule,
86
+ AXSwitchModule,
87
+ AXDrawerModule,
88
+ AXLoadingModule,
89
+ AXTabsModule,
90
+ AXSelectBoxModule,
91
+ AXFormModule,
92
+ AXListModule,
93
+ AXTextBoxModule,
94
+ AXSearchBoxModule,
95
+ AXLabelModule,
96
+ AXCollapseModule,
97
+ AXActionSheetModule,
98
+ AXSelectionListModule,
99
+ AXImageModule,
100
+ AXDialogModule,
101
+ AXDropdownButtonModule,
102
+ PortalModule,
103
+ AXPSchemaModule,
104
+ AXPCommonWidgetModule] }); }
105
+ }
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPListViewModule, decorators: [{
107
+ type: NgModule,
108
+ args: [{
109
+ imports: [
110
+ CommonModule,
111
+ FormsModule,
112
+ AXCommonModule,
113
+ AXDataTableModule,
114
+ AXButtonModule,
115
+ AXDecoratorModule,
116
+ AXBadgeModule,
117
+ AXDropdownModule,
118
+ AXPopoverModule,
119
+ AXImageModule,
120
+ AXSwitchModule,
121
+ AXDrawerModule,
122
+ AXLoadingModule,
123
+ AXTabsModule,
124
+ AXSelectBoxModule,
125
+ AXFormModule,
126
+ AXListModule,
127
+ AXTextBoxModule,
128
+ AXSearchBoxModule,
129
+ AXLabelModule,
130
+ AXCollapseModule,
131
+ AXActionSheetModule,
132
+ AXSelectionListModule,
133
+ AXImageModule,
134
+ AXDialogModule,
135
+ AXDropdownButtonModule,
136
+ //
137
+ CdkDropList,
138
+ CdkDrag,
139
+ CdkDragPlaceholder,
140
+ CdkDragHandle,
141
+ PortalModule,
142
+ AXPSchemaModule,
143
+ AXPCommonWidgetModule,
144
+ ],
145
+ declarations: [
146
+ AXPEntityListViewComponent,
147
+ AXPEntityCreateCustomViewComponent,
148
+ AXPListViewOptionsColumnsComponent,
149
+ AXPListViewOptionConditionsComponent,
150
+ AXPListViewOptionFilterOperatorComponent,
151
+ AXPListViewOptionSortingComponent,
152
+ ],
153
+ providers: [],
154
+ }]
155
+ }] });
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0cy9zcmMvbGliL2FkbWluL2VudGl0eS1sYXlvdXQvZW50aXR5LWxpc3Qtdmlldy9saXN0LXZpZXcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFB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QkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsWUFBWTt3QkFDWixZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixxQkFBcUI7d0JBQ3JCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxzQkFBc0I7d0JBQ3RCLEVBQUU7d0JBQ0YsV0FBVzt3QkFDWCxPQUFPO3dCQUNQLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixZQUFZO3dCQUNaLGVBQWU7d0JBQ2YscUJBQXFCO3FCQUN0QjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osMEJBQTBCO3dCQUMxQixrQ0FBa0M7d0JBQ2xDLGtDQUFrQzt3QkFDbEMsb0NBQW9DO3dCQUNwQyx3Q0FBd0M7d0JBQ3hDLGlDQUFpQztxQkFDbEM7b0JBQ0QsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEFjdGlvblNoZWV0TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2FjdGlvbi1zaGVldCc7XG5pbXBvcnQgeyBBWEJhZGdlTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2JhZGdlJztcbmltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWENvbGxhcHNlTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbGxhcHNlJztcbmltcG9ydCB7IEFYQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBBWERhdGFUYWJsZU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kYXRhLXRhYmxlJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhEaWFsb2dNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7IEFYRHJhd2VyTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RyYXdlcic7XG5pbXBvcnQgeyBBWERyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IEFYRm9ybU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9mb3JtJztcbmltcG9ydCB7IEFYSW1hZ2VNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvaW1hZ2UnO1xuaW1wb3J0IHsgQVhMaXN0TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xpc3QnO1xuaW1wb3J0IHsgQVhMb2FkaW5nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmcnO1xuaW1wb3J0IHsgQVhQb3BvdmVyTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BvcG92ZXInO1xuaW1wb3J0IHsgQVhTZWxlY3RCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvc2VsZWN0LWJveCc7XG5pbXBvcnQgeyBBWFN3aXRjaE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9zd2l0Y2gnO1xuaW1wb3J0IHsgQVhUYWJzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RhYnMnO1xuaW1wb3J0IHsgQVhUZXh0Qm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RleHQtYm94JztcbmltcG9ydCB7IENka0RyYWcsIENka0RyYWdIYW5kbGUsIENka0RyYWdQbGFjZWhvbGRlciwgQ2RrRHJvcExpc3QgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBBWFBMaXN0Vmlld09wdGlvbkNvbmRpdGlvbnNDb21wb25lbnQsXG4gIEFYUExpc3RWaWV3T3B0aW9uRmlsdGVyT3BlcmF0b3JDb21wb25lbnQsXG4gIEFYUExpc3RWaWV3T3B0aW9uU29ydGluZ0NvbXBvbmVudCxcbiAgQVhQTGlzdFZpZXdPcHRpb25zQ29sdW1uc0NvbXBvbmVudCxcbn0gZnJvbSAnLi9jb21wb25lbnRzJztcbmltcG9ydCB7IEFYUEVudGl0eUxpc3RWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9lbnRpdHktbGlzdC12aWV3LmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IEFYRHJvcGRvd25CdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZHJvcGRvd24tYnV0dG9uJztcbmltcG9ydCB7IEFYTGFiZWxNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbGFiZWwnO1xuaW1wb3J0IHsgQVhTZWFyY2hCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvc2VhcmNoLWJveCc7XG5pbXBvcnQgeyBBWFNlbGVjdGlvbkxpc3RNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvc2VsZWN0aW9uLWxpc3QnO1xuaW1wb3J0IHsgQVhQU2NoZW1hTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9zY2hlbWEnO1xuaW1wb3J0IHsgUG9ydGFsTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBBWFBDb21tb25XaWRnZXRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi93aWRnZXRzL2NvbW1vbi13aWRnZXRzLm1vZHVsZSc7XG5pbXBvcnQgeyBBWFBFbnRpdHlDcmVhdGVDdXN0b21WaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2VudGl0eS1jdXN0b20tdmlldy9lbnRpdHktY3VzdG9tLXZpZXcuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBBWENvbW1vbk1vZHVsZSxcbiAgICBBWERhdGFUYWJsZU1vZHVsZSxcbiAgICBBWEJ1dHRvbk1vZHVsZSxcbiAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICBBWEJhZGdlTW9kdWxlLFxuICAgIEFYRHJvcGRvd25Nb2R1bGUsXG4gICAgQVhQb3BvdmVyTW9kdWxlLFxuICAgIEFYSW1hZ2VNb2R1bGUsXG4gICAgQVhTd2l0Y2hNb2R1bGUsXG4gICAgQVhEcmF3ZXJNb2R1bGUsXG4gICAgQVhMb2FkaW5nTW9kdWxlLFxuICAgIEFYVGFic01vZHVsZSxcbiAgICBBWFNlbGVjdEJveE1vZHVsZSxcbiAgICBBWEZvcm1Nb2R1bGUsXG4gICAgQVhMaXN0TW9kdWxlLFxuICAgIEFYVGV4dEJveE1vZHVsZSxcbiAgICBBWFNlYXJjaEJveE1vZHVsZSxcbiAgICBBWExhYmVsTW9kdWxlLFxuICAgIEFYQ29sbGFwc2VNb2R1bGUsXG4gICAgQVhBY3Rpb25TaGVldE1vZHVsZSxcbiAgICBBWFNlbGVjdGlvbkxpc3RNb2R1bGUsXG4gICAgQVhJbWFnZU1vZHVsZSxcbiAgICBBWERpYWxvZ01vZHVsZSxcbiAgICBBWERyb3Bkb3duQnV0dG9uTW9kdWxlLFxuICAgIC8vXG4gICAgQ2RrRHJvcExpc3QsXG4gICAgQ2RrRHJhZyxcbiAgICBDZGtEcmFnUGxhY2Vob2xkZXIsXG4gICAgQ2RrRHJhZ0hhbmRsZSxcbiAgICBQb3J0YWxNb2R1bGUsXG4gICAgQVhQU2NoZW1hTW9kdWxlLFxuICAgIEFYUENvbW1vbldpZGdldE1vZHVsZSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQVhQRW50aXR5TGlzdFZpZXdDb21wb25lbnQsXG4gICAgQVhQRW50aXR5Q3JlYXRlQ3VzdG9tVmlld0NvbXBvbmVudCxcbiAgICBBWFBMaXN0Vmlld09wdGlvbnNDb2x1bW5zQ29tcG9uZW50LFxuICAgIEFYUExpc3RWaWV3T3B0aW9uQ29uZGl0aW9uc0NvbXBvbmVudCxcbiAgICBBWFBMaXN0Vmlld09wdGlvbkZpbHRlck9wZXJhdG9yQ29tcG9uZW50LFxuICAgIEFYUExpc3RWaWV3T3B0aW9uU29ydGluZ0NvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQTGlzdFZpZXdNb2R1bGUge31cbiJdfQ==