@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,479 @@
1
+ import { AXToastModule } from '@acorex/components/toast';
2
+ import { AXPSchemaRegistryService, BETWEEN_OPER, CONTAINS_OPER, DATE_OPERATORS, EQ_OPER, NUMBER_OPERATORS, STRING_OPERATORS, } from '@acorex/platform/schema';
3
+ import { NgModule } from '@angular/core';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@acorex/platform/schema";
6
+ export const widgetSchemas = {
7
+ //*Sharing schema list with other modules
8
+ text: 'text',
9
+ largetext: 'largetext',
10
+ number: 'number',
11
+ currency: 'currency',
12
+ phone: 'phone',
13
+ email: 'email',
14
+ dateTime: 'dateTime',
15
+ date: 'date',
16
+ time: 'time',
17
+ toggle: 'toggle',
18
+ checkbox: 'checkbox',
19
+ password: 'password',
20
+ file: 'file',
21
+ lookup: 'lookup',
22
+ selectionList: 'selection-list',
23
+ richText: 'rich-text',
24
+ map: 'map',
25
+ avatar: 'avatar',
26
+ messenger: 'messenger',
27
+ gallery: 'gallery',
28
+ signaturePad: 'signature-pad',
29
+ };
30
+ export class AXPCommonWidgetModule {
31
+ constructor(service) {
32
+ //text
33
+ service.register({
34
+ component: {
35
+ view: {
36
+ component: () => import('./text/text-widget-view.component').then((c) => c.AXPTextWidgetViewComponent),
37
+ },
38
+ filter: {
39
+ component: () => import('./common-widget-filter/string-widget-filter.component').then((c) => c.AXPStringWidgetFilterComponent),
40
+ },
41
+ edit: {
42
+ component: () => import('./text/text-widget-edit.component').then((c) => c.AXPTextWidgetEditComponent),
43
+ },
44
+ column: {
45
+ component: () => import('./text/text-widget-column.component').then((c) => c.AXPTextWidgetColumnComponent),
46
+ },
47
+ },
48
+ filterOptions: {
49
+ operators: [...STRING_OPERATORS],
50
+ default: CONTAINS_OPER,
51
+ },
52
+ name: widgetSchemas.text,
53
+ dataType: 'string',
54
+ });
55
+ service.extend('text', {
56
+ name: widgetSchemas.largetext,
57
+ component: {
58
+ edit: {
59
+ component: () => import('./text/largetext-widget-edit.component').then((c) => c.AXPLargeTextWidgetEditComponent),
60
+ },
61
+ column: {
62
+ options: {
63
+ width: '400px',
64
+ },
65
+ },
66
+ },
67
+ });
68
+ //
69
+ service.register({
70
+ component: {
71
+ view: {
72
+ component: () => import('./number/number-widget-view.component').then((c) => c.AXPNumberWidgetViewComponent),
73
+ },
74
+ filter: {
75
+ component: () => import('./common-widget-filter/number-widget-filter.component').then((c) => c.AXPNumberWidgetFilterComponent),
76
+ },
77
+ edit: {
78
+ component: () => import('./number/number-widget-edit.component').then((c) => c.AXPNumberWidgetEditComponent),
79
+ },
80
+ column: {
81
+ component: () => import('./number/number-widget-view.component').then((c) => c.AXPNumberWidgetViewComponent),
82
+ },
83
+ },
84
+ name: widgetSchemas.number,
85
+ filterOptions: {
86
+ operators: [...NUMBER_OPERATORS],
87
+ default: BETWEEN_OPER,
88
+ },
89
+ dataType: 'number',
90
+ });
91
+ service.extend('number', {
92
+ name: widgetSchemas.currency,
93
+ formats: {
94
+ default: 'EN-GB',
95
+ },
96
+ component: {
97
+ edit: {
98
+ options: {
99
+ clearButton: false,
100
+ },
101
+ },
102
+ },
103
+ });
104
+ //phone
105
+ service.register({
106
+ component: {
107
+ view: {
108
+ component: () => import('./phone/phone-widget-view.component').then((c) => c.AXPPhoneWidgetViewComponent),
109
+ },
110
+ column: {
111
+ component: () => import('./phone/phone-widget-column.component').then((c) => c.AXPPhoneWidgetColumnComponent),
112
+ },
113
+ edit: {
114
+ component: () => import('./phone/phone-widget-edit.component').then((c) => c.AXPPhoneWidgetEditComponent),
115
+ },
116
+ filter: {
117
+ component: () => import('./common-widget-filter/string-widget-filter.component').then((c) => c.AXPStringWidgetFilterComponent),
118
+ },
119
+ },
120
+ name: widgetSchemas.phone,
121
+ filterOptions: {
122
+ operators: [...STRING_OPERATORS],
123
+ default: CONTAINS_OPER,
124
+ },
125
+ dataType: 'object',
126
+ });
127
+ //email
128
+ service.register({
129
+ component: {
130
+ view: {
131
+ component: () => import('./email/email-widget-view.component').then((c) => c.AXPEmailWidgetViewComponent),
132
+ },
133
+ edit: {
134
+ component: () => import('./email/email-widget-edit.component').then((c) => c.AXPEmailWidgetEditComponent),
135
+ },
136
+ filter: {
137
+ component: () => import('./common-widget-filter/string-widget-filter.component').then((c) => c.AXPStringWidgetFilterComponent),
138
+ },
139
+ column: {
140
+ component: () => import('./email/email-widget-column.component').then((c) => c.AXPEmailWidgetColumnComponent),
141
+ },
142
+ },
143
+ name: widgetSchemas.email,
144
+ filterOptions: {
145
+ operators: [...STRING_OPERATORS],
146
+ default: CONTAINS_OPER,
147
+ },
148
+ dataType: 'object',
149
+ });
150
+ // dateTime
151
+ service.register({
152
+ component: {
153
+ view: {
154
+ component: () => import('./dateTime/dateTime-widget-view.component').then((c) => c.AXPDateTimeWidgetViewComponent),
155
+ },
156
+ edit: {
157
+ component: () => import('./dateTime/dateTime-widget-edit.component').then((c) => c.AXPDateTimeWidgetEditComponent),
158
+ },
159
+ filter: {
160
+ component: () => import('./dateTime/dateTime-widget-filter.component').then((c) => c.AXPDateTimeWidgetFilterComponent),
161
+ },
162
+ column: {
163
+ component: () => import('./dateTime/dateTime-widget-column.component').then((c) => c.AXPDateTimeWidgetColumnComponent),
164
+ options: {
165
+ width: '150px',
166
+ },
167
+ },
168
+ },
169
+ formats: {
170
+ default: 'date time',
171
+ },
172
+ filterOptions: {
173
+ operators: [...DATE_OPERATORS],
174
+ default: BETWEEN_OPER,
175
+ },
176
+ name: widgetSchemas.dateTime,
177
+ dataType: 'date',
178
+ });
179
+ service.extend(widgetSchemas.dateTime, {
180
+ name: widgetSchemas.date,
181
+ formats: {
182
+ default: 'date',
183
+ },
184
+ component: {
185
+ column: {
186
+ options: {
187
+ width: '120px',
188
+ },
189
+ },
190
+ },
191
+ });
192
+ service.extend(widgetSchemas.dateTime, {
193
+ name: widgetSchemas.time,
194
+ formats: {
195
+ default: 'time',
196
+ },
197
+ component: {
198
+ column: {
199
+ options: {
200
+ width: '80px',
201
+ },
202
+ },
203
+ },
204
+ });
205
+ //toggle
206
+ service.register({
207
+ component: {
208
+ view: {
209
+ component: () => import('./toggle/toggle-widget-view.component').then((c) => c.AXPToggleWidgetViewComponent),
210
+ },
211
+ edit: {
212
+ component: () => import('./toggle/toggle-widget-edit.component').then((c) => c.AXPToggleWidgetEditComponent),
213
+ },
214
+ filter: {
215
+ component: () => import('./common-widget-filter/boolean-widget-filter.component').then((c) => c.AXPBooleanWidgetFilterComponent),
216
+ },
217
+ column: {
218
+ component: () => import('./toggle/toggle-widget-column.component').then((c) => c.AXPToggleWidgetColumnComponent),
219
+ options: {
220
+ width: '100px',
221
+ },
222
+ },
223
+ },
224
+ filterOptions: {
225
+ operators: [],
226
+ default: EQ_OPER,
227
+ },
228
+ name: widgetSchemas.toggle,
229
+ dataType: 'boolean',
230
+ });
231
+ //checkbox
232
+ service.register({
233
+ component: {
234
+ view: {
235
+ component: () => import('./checkbox/checkbox-widget-view.component').then((c) => c.AXPCheckboxWidgetViewComponent),
236
+ },
237
+ edit: {
238
+ component: () => import('./checkbox/checkbox-widget-edit.component').then((c) => c.AXPCheckboxWidgetEditComponent),
239
+ },
240
+ filter: {
241
+ component: () => import('./common-widget-filter/boolean-widget-filter.component').then((c) => c.AXPBooleanWidgetFilterComponent),
242
+ },
243
+ column: {
244
+ component: () => import('./checkbox/checkbox-widget-column.component').then((c) => c.AXPCheckboxWidgetColumnComponent),
245
+ options: {
246
+ width: '100px',
247
+ },
248
+ },
249
+ },
250
+ filterOptions: {
251
+ operators: [],
252
+ default: EQ_OPER,
253
+ },
254
+ name: widgetSchemas.checkbox,
255
+ dataType: 'boolean',
256
+ });
257
+ //password
258
+ service.register({
259
+ component: {
260
+ view: {
261
+ component: () => import('./password/password-widget-view.component').then((c) => c.AXPPasswordWidgetViewComponent),
262
+ },
263
+ column: {
264
+ component: () => import('./password/password-widget-column.component').then((c) => c.AXPPasswordWidgetColumnComponent),
265
+ },
266
+ edit: {
267
+ component: () => import('./password/password-widget-edit.component').then((c) => c.AXPPasswordWidgetEditComponent),
268
+ },
269
+ },
270
+ filterOptions: {
271
+ operators: [],
272
+ default: EQ_OPER,
273
+ },
274
+ name: widgetSchemas.password,
275
+ dataType: 'string',
276
+ });
277
+ //file
278
+ service.register({
279
+ component: {
280
+ view: {
281
+ component: () => import('./file/file-widget-view.component').then((c) => c.AXPFileWidgetViewComponent),
282
+ },
283
+ column: {
284
+ component: () => import('./file/file-widget-column.component').then((c) => c.AXPFileWidgetColumnComponent),
285
+ },
286
+ edit: {
287
+ component: () => import('./file/file-widget-edit.component').then((c) => c.AXPFileWidgetEditComponent),
288
+ },
289
+ filter: {
290
+ component: () => import('./file/file-widget-filter.component').then((c) => c.AXPFileWidgetFilterComponent),
291
+ },
292
+ },
293
+ filterOptions: {
294
+ operators: [],
295
+ default: EQ_OPER,
296
+ },
297
+ name: widgetSchemas.file,
298
+ dataType: 'object',
299
+ });
300
+ // look up
301
+ service.register({
302
+ component: {
303
+ view: {
304
+ component: () => import('./lookup/lookup-widget-view.component').then((c) => c.AXPLookupWidgetViewComponent),
305
+ },
306
+ edit: {
307
+ component: () => import('./lookup/lookup-widget-edit.component').then((c) => c.AXPLookupWidgetEditComponent),
308
+ },
309
+ filter: {
310
+ component: () => import('./lookup/lookup-widget-filter.component').then((c) => c.AXPLookupWidgetFilterComponent),
311
+ },
312
+ column: {
313
+ component: () => import('./lookup/lookup-widget-column.component').then((c) => c.AXPLookupWidgetColumnComponent),
314
+ },
315
+ },
316
+ filterOptions: {
317
+ operators: [],
318
+ default: CONTAINS_OPER,
319
+ },
320
+ name: widgetSchemas.lookup,
321
+ dataType: 'object',
322
+ });
323
+ // selection list
324
+ service.register({
325
+ component: {
326
+ view: {
327
+ component: () => import('./selection-list/selection-list-widget-view.component').then((c) => c.AXPSelectionListWidgetViewComponent),
328
+ },
329
+ edit: {
330
+ component: () => import('./selection-list/selection-list-widget-edit.component').then((c) => c.AXPSelectionListWidgetEditComponent),
331
+ },
332
+ column: {
333
+ component: () => import('./selection-list/selection-list-widget-column.component').then((c) => c.AXPSelectionListWidgetColumnComponent),
334
+ },
335
+ filter: {
336
+ component: () => import('./selection-list/selection-list-widget-filter.component').then((c) => c.AXPSelectionListWidgetFilterComponent),
337
+ },
338
+ },
339
+ filterOptions: {
340
+ operators: [],
341
+ default: CONTAINS_OPER,
342
+ },
343
+ name: widgetSchemas.selectionList,
344
+ dataType: 'object',
345
+ });
346
+ // rich text
347
+ service.register({
348
+ component: {
349
+ view: {
350
+ component: () => import('./rich-text/rich-text-widget-view.component').then((c) => c.AXPRichTextWidgetViewComponent),
351
+ },
352
+ edit: {
353
+ component: () => import('./rich-text/rich-text-widget-edit.component').then((c) => c.AXPRichTextWidgetEditComponent),
354
+ },
355
+ column: {
356
+ component: () => import('./rich-text/rich-text-widget-column.component').then((c) => c.AXPRichTextWidgetColumnComponent),
357
+ options: {
358
+ width: '400px',
359
+ },
360
+ },
361
+ filter: {
362
+ component: () => import('./common-widget-filter/string-widget-filter.component').then((c) => c.AXPStringWidgetFilterComponent),
363
+ },
364
+ },
365
+ filterOptions: {
366
+ operators: [...STRING_OPERATORS],
367
+ default: CONTAINS_OPER,
368
+ },
369
+ name: widgetSchemas.richText,
370
+ dataType: 'object',
371
+ });
372
+ // map
373
+ service.register({
374
+ component: {
375
+ view: {
376
+ component: () => import('./map/map-widget-view.component').then((c) => c.AXPMapWidgetViewComponent),
377
+ },
378
+ edit: {
379
+ component: () => import('./map/map-widget-edit.component').then((c) => c.AXPMapWidgetEditComponent),
380
+ },
381
+ },
382
+ filterOptions: {
383
+ operators: [],
384
+ default: EQ_OPER,
385
+ },
386
+ name: widgetSchemas.map,
387
+ dataType: 'object',
388
+ });
389
+ // avatar
390
+ service.register({
391
+ component: {
392
+ view: {
393
+ component: () => import('./avatar/avatar-widget-view.component').then((c) => c.AXPAvatarWidgetViewComponent),
394
+ },
395
+ edit: {
396
+ component: () => import('./avatar/avatar-widget-edit.component').then((c) => c.AXPAvatarWidgetEditComponent),
397
+ },
398
+ },
399
+ filterOptions: {
400
+ operators: [],
401
+ default: EQ_OPER,
402
+ },
403
+ name: widgetSchemas.avatar,
404
+ dataType: 'object',
405
+ });
406
+ // messenger
407
+ service.register({
408
+ component: {
409
+ view: {
410
+ component: () => import('./messenger/messenger-widget-view.component').then((c) => c.AXPMessengerWidgetViewComponent),
411
+ },
412
+ edit: {
413
+ component: () => import('./messenger/messenger-widget-edit.component').then((c) => c.AXPMessengerWidgetEditComponent),
414
+ },
415
+ column: {
416
+ component: () => import('./messenger/messenger-widget-column.component').then((c) => c.AXPMessengerWidgetColumnComponent),
417
+ },
418
+ },
419
+ filterOptions: {
420
+ operators: [],
421
+ default: EQ_OPER,
422
+ },
423
+ name: widgetSchemas.messenger,
424
+ dataType: 'object',
425
+ });
426
+ //
427
+ // gallery
428
+ service.register({
429
+ component: {
430
+ view: {
431
+ component: () => import('./gallery/gallery-widget-view.component').then((c) => c.AXPGalleryWidgetViewComponent),
432
+ },
433
+ edit: {
434
+ component: () => import('./gallery/gallery-widget-edit.component').then((c) => c.AXPGalleryWidgetEditComponent),
435
+ },
436
+ filter: {
437
+ component: () => import('./gallery/gallery-widget-filter.component').then((c) => c.AXPGalleryWidgetFilterComponent),
438
+ },
439
+ },
440
+ filterOptions: {
441
+ operators: [],
442
+ default: EQ_OPER,
443
+ },
444
+ name: widgetSchemas.gallery,
445
+ dataType: 'object',
446
+ });
447
+ // signature-pad
448
+ service.register({
449
+ component: {
450
+ view: {
451
+ component: () => import('./signature-pad/signature-pad-widget-view.component').then((c) => c.AXPSignaturePadWidgetViewComponent),
452
+ },
453
+ edit: {
454
+ component: () => import('./signature-pad/signature-pad-widget-edit.component').then((c) => c.AXPSignaturePadWidgetEditComponent),
455
+ },
456
+ },
457
+ filterOptions: {
458
+ operators: [],
459
+ default: EQ_OPER,
460
+ },
461
+ name: widgetSchemas.signaturePad,
462
+ dataType: 'object',
463
+ });
464
+ //
465
+ }
466
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPCommonWidgetModule, deps: [{ token: i1.AXPSchemaRegistryService }], target: i0.ɵɵFactoryTarget.NgModule }); }
467
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: AXPCommonWidgetModule, imports: [AXToastModule] }); }
468
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPCommonWidgetModule, imports: [AXToastModule] }); }
469
+ }
470
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPCommonWidgetModule, decorators: [{
471
+ type: NgModule,
472
+ args: [{
473
+ imports: [AXToastModule],
474
+ exports: [],
475
+ declarations: [],
476
+ providers: [],
477
+ }]
478
+ }], ctorParameters: () => [{ type: i1.AXPSchemaRegistryService }] });
479
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXdpZGdldHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXRzL3NyYy9saWIvd2lkZ2V0cy9jb21tb24td2lkZ2V0cy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsWUFBWSxFQUNaLGFBQWEsRUFDYixjQUFjLEVBQ2QsT0FBTyxFQUNQLGdCQUFnQixFQUNoQixnQkFBZ0IsR0FDakIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFFekMsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHO0lBQzNCLHlDQUF5QztJQUN6QyxJQUFJLEVBQUUsTUFBTTtJQUNaLFNBQVMsRUFBRSxXQUFXO0lBQ3RCLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLEtBQUssRUFBRSxPQUFPO0lBQ2QsS0FBSyxFQUFFLE9BQU87SUFDZCxRQUFRLEVBQUUsVUFBVTtJQUNwQixJQUFJLEVBQUUsTUFBTTtJQUNaLElBQUksRUFBRSxNQUFNO0lBQ1osTUFBTSxFQUFFLFFBQVE7SUFDaEIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsSUFBSSxFQUFFLE1BQU07SUFDWixNQUFNLEVBQUUsUUFBUTtJQUNoQixhQUFhLEVBQUUsZ0JBQWdCO0lBQy9CLFFBQVEsRUFBRSxXQUFXO0lBQ3JCLEdBQUcsRUFBRSxLQUFLO0lBQ1YsTUFBTSxFQUFFLFFBQVE7SUFDaEIsU0FBUyxFQUFFLFdBQVc7SUFDdEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsWUFBWSxFQUFFLGVBQWU7Q0FDOUIsQ0FBQztBQVFGLE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMs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O1FBQ0gsRUFBRTtJQUNKLENBQUM7OEdBamZVLHFCQUFxQjsrR0FBckIscUJBQXFCLFlBTHRCLGFBQWE7K0dBS1oscUJBQXFCLFlBTHRCLGFBQWE7OzJGQUtaLHFCQUFxQjtrQkFOakMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7b0JBQ3hCLE9BQU8sRUFBRSxFQUFFO29CQUNYLFlBQVksRUFBRSxFQUFFO29CQUNoQixTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYVG9hc3RNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdG9hc3QnO1xuaW1wb3J0IHtcbiAgQVhQU2NoZW1hUmVnaXN0cnlTZXJ2aWNlLFxuICBCRVRXRUVOX09QRVIsXG4gIENPTlRBSU5TX09QRVIsXG4gIERBVEVfT1BFUkFUT1JTLFxuICBFUV9PUEVSLFxuICBOVU1CRVJfT1BFUkFUT1JTLFxuICBTVFJJTkdfT1BFUkFUT1JTLFxufSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3NjaGVtYSc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3Qgd2lkZ2V0U2NoZW1hcyA9IHtcbiAgLy8qU2hhcmluZyBzY2hlbWEgbGlzdCB3aXRoIG90aGVyIG1vZHVsZXNcbiAgdGV4dDogJ3RleHQnLFxuICBsYXJnZXRleHQ6ICdsYXJnZXRleHQnLFxuICBudW1iZXI6ICdudW1iZXInLFxuICBjdXJyZW5jeTogJ2N1cnJlbmN5JyxcbiAgcGhvbmU6ICdwaG9uZScsXG4gIGVtYWlsOiAnZW1haWwnLFxuICBkYXRlVGltZTogJ2RhdGVUaW1lJyxcbiAgZGF0ZTogJ2RhdGUnLFxuICB0aW1lOiAndGltZScsXG4gIHRvZ2dsZTogJ3RvZ2dsZScsXG4gIGNoZWNrYm94OiAnY2hlY2tib3gnLFxuICBwYXNzd29yZDogJ3Bhc3N3b3JkJyxcbiAgZmlsZTogJ2ZpbGUnLFxuICBsb29rdXA6ICdsb29rdXAnLFxuICBzZWxlY3Rpb25MaXN0OiAnc2VsZWN0aW9uLWxpc3QnLFxuICByaWNoVGV4dDogJ3JpY2gtdGV4dCcsXG4gIG1hcDogJ21hcCcsXG4gIGF2YXRhcjogJ2F2YXRhcicsXG4gIG1lc3NlbmdlcjogJ21lc3NlbmdlcicsXG4gIGdhbGxlcnk6ICdnYWxsZXJ5JyxcbiAgc2lnbmF0dXJlUGFkOiAnc2lnbmF0dXJlLXBhZCcsXG59O1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQVhUb2FzdE1vZHVsZV0sXG4gIGV4cG9ydHM6IFtdLFxuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBwcm92aWRlcnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBDb21tb25XaWRnZXRNb2R1bGUge1xuICBjb25zdHJ1Y3RvcihzZXJ2aWNlOiBBWFBTY2hlbWFSZWdpc3RyeVNlcnZpY2UpIHtcbiAgICAvL3RleHRcbiAgICBzZXJ2aWNlLnJlZ2lzdGVyKHtcbiAgICAgIGNvbXBvbmVudDoge1xuICAgICAgICB2aWV3OiB7XG4gICAgICAgICAgY29tcG9uZW50OiAoKSA9PiBpbXBvcnQoJy4vdGV4dC90ZXh0LXdpZGdldC12aWV3LmNvbXBvbmVudCcpLnRoZW4oKGMpID0+IGMuQVhQVGV4dFdpZGdldFZpZXdDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICBmaWx0ZXI6IHtcbiAgICAgICAgICBjb21wb25lbnQ6ICgpID0+XG4gICAgICAgICAgICBpbXBvcnQoJy4vY29tbW9uLXdpZGdldC1maWx0ZXIvc3RyaW5nLXdpZGdldC1maWx0ZXIuY29tcG9uZW50JykudGhlbihcbiAgICAgICAgICAgICAgKGMpID0+IGMuQVhQU3RyaW5nV2lkZ2V0RmlsdGVyQ29tcG9uZW50XG4gICAgICAgICAgICApLFxuICAgICAgICB9LFxuICAgICAgICBlZGl0OiB7XG4gICAgICAgICAgY29tcG9uZW50OiAoKSA9PiBpbXBvcnQoJy4vdGV4dC90ZXh0LXdpZGdldC1lZGl0LmNvbXBvbmVudCcpLnRoZW4oKGMpID0+IGMuQVhQVGV4dFdpZGdldEVkaXRDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICBjb2x1bW46IHtcbiAgICAgICAgICBjb21wb25lbnQ6ICgpID0+IGltcG9ydCgnLi90ZXh0L3RleHQtd2lkZ2V0LWNvbHVtbi5jb21wb25lbnQnKS50aGVuKChjKSA9PiBjLkFYUFRleHRXaWRnZXRDb2x1bW5Db21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGZpbHRlck9wdGlvbnM6IHtcbiAgICAgICAgb3BlcmF0b3JzOiBbLi4uU1RSSU5HX09QRVJBVE9SU10sXG4gICAgICAgIGRlZmF1bHQ6IENPTlRBSU5TX09QRVIsXG4gICAgICB9LFxuICAgICAgbmFtZTogd2lkZ2V0U2NoZW1hcy50ZXh0LFxuICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgIH0pO1xuICAgIHNlcnZpY2UuZXh0ZW5kKCd0ZXh0Jywge1xuICAgICAgbmFtZTogd2lkZ2V0U2NoZW1hcy5sYXJnZXRleHQsXG4gICAgICBjb21wb25lbnQ6IHtcbiAgICAgICAgZWRpdDoge1xuICAgICAgICAgIGNvbXBvbmVudDogKCkgPT5cbiAgICAgICAgICAgIGltcG9ydCgnLi90ZXh0L2xhcmdldGV4dC13aWRnZXQtZWRpdC5jb21wb25lbnQnKS50aGVuKChjKSA9PiBjLkFYUExhcmdlVGV4dFdpZGdldEVkaXRDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICBjb2x1bW46IHtcbiAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICB3aWR0aDogJzQwMHB4JyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgICAvL1xuICAgIHNlcnZpY2UucmVnaXN0ZXIoe1xuICAgICAgY29tcG9uZW50OiB7XG4gICAgICAgIHZpZXc6IHtcbiAgICAgICAgICBjb21wb25lbnQ6ICgpID0+IGltcG9ydCgnLi9udW1iZXIvbnVtYmVyLXdpZGdldC12aWV3LmNvbXBvbmVudCcpLnRoZW4oKGMpID0+IGMuQVhQTnVtYmVyV2lkZ2V0Vmlld0NvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIGZpbHRlcjoge1xuICAgICAgICAgIGNvbXBvbmVudDogKCkgPT5cbiAgICAgICAgICAgIGltcG9ydCgnLi9jb21tb24td2lkZ2V0LWZpbHRlci9udW1iZXItd2lkZ2V0LWZpbHRlci5jb21wb25lbnQnKS50aGVuKFxuICAgICAgICAgICAgICAoYykgPT4gYy5BWFBOdW1iZXJXaWRnZXRGaWx0ZXJDb21wb25lbnRcbiAgICAgICAgICAgICksXG4gICAgICAgIH0sXG4gICAgICAgIGVkaXQ6IHtcbiAgICAgICAgICBjb21wb25lbnQ6ICgpID0+IGltcG9ydCgnLi9udW1iZXIvbnVtYmVyLXdpZGdldC1lZGl0LmNvbXBvbmVudCcpLnRoZW4oKGMpID0+IGMuQVhQTnVtYmVyV2lkZ2V0RWRpdENvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIGNvbHVtbjoge1xuICAgICAgICAgIGNvbXBvbmVudDogKCkgPT4gaW1wb3J0KCcuL251bWJlci9udW1iZXItd2lkZ2V0LXZpZXcuY29tcG9uZW50JykudGhlbigoYykgPT4gYy5BWFBOdW1iZXJXaWRnZXRWaWV3Q29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBuYW1lOiB3aWRnZXRTY2hlbWFzLm51bWJlcixcbiAgICAgIGZpbHRlck9wdGlvbnM6IHtcbiAgICAgICAgb3BlcmF0b3JzOiBbLi4uTlVNQkVSX09QRVJBVE9SU10sXG4gICAgICAgIGRlZmF1bHQ6IEJFVFdFRU5fT1BFUixcbiAgICAgIH0sXG4gICAgICBkYXRhVHlwZTogJ251bWJlcicsXG4gICAgfSk7XG4gICAgc2VydmljZS5leHRlbmQoJ251bWJlcicsIHtcbiAgICAgIG5hbWU6IHdpZGdldFNjaGVtYXMuY3VycmVuY3ksXG4gICAgICBmb3JtYXRzOiB7XG4gICAgICAgIGRlZmF1bHQ6ICdFTi1HQicsXG4gICAgICB9LFxuICAgICAgY29tcG9uZW50OiB7XG4gICAgICAgIGVkaXQ6IHtcbiAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICBjbGVhckJ1dHRvbjogZmFsc2UsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgLy9waG9uZVxuICAgIHNlcnZpY2UucmVnaXN0ZXIoe1xuICAgICAgY29tcG9uZW50OiB7XG4gICAgICAgIHZpZXc6IHtcbiAgICAgICAgICBjb21wb25lbnQ6ICgpID0+IGltcG9ydCgnLi9waG9uZS9waG9uZS13aWRnZXQtdmlldy5jb21wb25lbnQnKS50aGVuKChjKSA9PiBjLkFYUFBob25lV2lkZ2V0Vmlld0NvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIGNvbHVtbjoge1xuICAgICAgICAgIGNvbXBvbmVudDogKCkgPT4gaW1wb3J0KCcuL3Bob25lL3Bob25lLXdpZGdldC1jb2x1bW4uY29tcG9uZW50JykudGhlbigoYykgPT4gYy5BWFBQaG9uZVdpZGdldENvbHVtbkNvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIGVkaXQ6IHtcbiAgICAgICAgICBjb21wb25lbnQ6ICgpID0+IGltcG9ydCgnLi9waG9uZS9waG9uZS13aWRnZXQtZWRpdC5jb21wb25lbnQnKS50aGVuKChjKSA9PiBjLkFYUFBob25lV2lkZ2V0RWRpdENvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIGZpbHRlcjoge1xuICAgICAgICAgIGNvbXBvbmVudDogKCkgPT5cbiAgICAgICAgICAgIGltcG9ydCgnLi9jb21tb24td2lkZ2V0LWZpbHRlci9zdHJpbmctd2lkZ2V0LWZpbHRlci5jb21wb25lbnQnKS50aGVuKFxuICAgICAgICAgICAgICAoYykgPT4gYy5BWFBTdHJpbmdXaWRnZXRGaWx0ZXJDb21wb25lbnRcbiAgICAgICAgICAgICksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgbmFtZTogd2lkZ2V0U2NoZW1hcy5waG9uZSxcbiAgICAgIGZpbHRlck9wdGlvbnM6IHtcbiAgICAgICAgb3BlcmF0b3JzOiBbLi4uU1RSSU5HX09QRVJBVE9SU10sXG4gICAgICAgIGRlZmF1bHQ6IENPTlRBSU5TX09QRVIsXG4gICAgICB9LFxuICAgICAgZGF0YVR5cGU6ICdvYmplY3QnLFxuICAgIH0pO1xuICAgIC8vZW1haWxcbiAgICBzZXJ2aWNlLnJlZ2lzdGVyKHtcbiAgICAgIGNvbXBvbmVudDoge1xuICAgICAgICB2aWV3OiB7XG4gICAgICAgICAgY29tcG9uZW50OiAoKSA9PiBpbXBvcnQoJy4vZW1haWwvZW1haWwtd2lkZ2V0LXZpZXcuY29tcG9uZW50JykudGhlbigoYykgPT4gYy5BWFBFbWFpbFdpZGdldFZpZXdDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICBlZGl0OiB7XG4gICAgICAgICAgY29tcG9uZW50OiAoKSA9PiBpbXBvcnQoJy4vZW1haWwvZW1haWwtd2lkZ2V0LWVkaXQuY29tcG9uZW50JykudGhlbigoYykgPT4gYy5BWFBFbWFpbFdpZGdldEVkaXRDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICBmaWx0ZXI6IHtcbiAgICAgICAgICBjb21wb25lbnQ6ICgpID0+XG4gICAgICAgICAgICBpbXBvcnQoJy4vY29tbW9uLXdpZGdldC1maWx0ZXIvc3RyaW5nLXdpZGdldC1maWx0ZXIuY29tcG9uZW50JykudGhlbihcbiAgICAgICAgICAgICAgKGMpID0+IGMuQVhQU3RyaW5nV2lkZ2V0RmlsdGVyQ29tcG9uZW50XG4gICAgICAgICAgICApLFxuICAgICAgICB9LFxuICAgICAgICBjb2x1bW46IHtcbiAgICAgICAgICBjb21wb25lbnQ6ICgpID0+IGltcG9ydCgnLi9lbWFpbC9lbWFpbC13aWRnZXQtY29sdW1uLmNvbXBvbmVudCcpLnRoZW4oKGMpID0+IGMuQVhQRW1haWxXaWRnZXRDb2x1bW5Db21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIG5hbWU6IHdpZGdldFNjaGVtYXMuZW1haWwsXG4gICAgICBmaWx0ZXJPcHRpb25zOiB7XG4gICAgICAgIG9wZXJhdG9yczogWy4uLlNUUklOR19PUEVSQVRPUlNdLFxuICAgICAgICBkZWZhdWx0OiBDT05UQUlOU19PUEVSLFxuICAgICAgfSxcbiAgICAgIGRhdGFUeXBlOiAnb2JqZWN0JyxcbiAgICB9KTtcbiAgICAvLyBkYXRlVGltZVxuICAgIHNlcnZpY2UucmVnaXN0ZXIoe1xuICAgICAgY29tcG9uZW50OiB7XG4gICAgICAgIHZpZXc6IHtcbiAgICAgICAgICBjb21wb25lbnQ6ICgpID0+XG4gICAgICAgICAgICBpbXBvcnQoJy4vZGF0ZVRpbWUvZGF0ZVRpbWUtd2lkZ2V0LXZpZXcuY29tcG9uZW50JykudGhlbigoYykgPT4gYy5BWFBEYXRlVGltZVdpZGdldFZpZXdDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICBlZGl0OiB7XG4gICAgICAgICAgY29tcG9uZW50OiAoKSA9PlxuICAgICAgICAgICAgaW1wb3J0KCcuL2RhdGVUaW1lL2RhdGVUaW1lLXdpZGdldC1lZGl0LmNvbXBvbmVudCcpLnRoZW4oKGMpID0+IGMuQVhQRGF0ZVRpbWVXaWRnZXRFZGl0Q29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAgZmlsdGVyOiB7XG4gICAgICAgICAgY29tcG9uZW50OiAoKSA9PlxuICAgICAgICAgICAgaW1wb3J0KCcuL2RhdGVUaW1lL2RhdGVUaW1lLXdpZGdldC1maWx0ZXIuY29tcG9uZW50JykudGhlbigoYykgPT4gYy5BWFBEYXRlVGltZVdpZGdldEZpbHRlckNvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIGNvbHVtbjoge1xuICAgICAgICAgIGNvbXBvbmVudDogKCkgPT5cbiAgICAgICAgICAgIGltcG9ydCgnLi9kYXRlVGltZS9kYXRlVGltZS13aWRnZXQtY29sdW1uLmNvbXBvbmVudCcpLnRoZW4oKGMpID0+IGMuQVhQRGF0ZVRpbWVXaWRnZXRDb2x1bW5Db21wb25lbnQpLFxuICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgIHdpZHRoOiAnMTUwcHgnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgZm9ybWF0czoge1xuICAgICAgICBkZWZhdWx0OiAnZGF0ZSB0aW1lJyxcbiAgICAgIH0sXG4gICAgICBmaWx0ZXJPcHRpb25zOiB7XG4gICAgICAgIG9wZXJhdG9yczogWy4uLkRBVEVfT1BFUkFUT1JTXSxcbiAgICAgICAgZGVmYXVsdDogQkVUV0VFTl9PUEVSLFxuICAgICAgfSxcbiAgICAgIG5hbWU6IHdpZGdldFNjaGVtYXMuZGF0ZVRpbWUsXG4gICAgICBkYXRhVHlwZTogJ2RhdGUnLFxuICAgIH0pO1xuICAgIHNlcnZpY2UuZXh0ZW5kKHdpZGdldFNjaGVtYXMuZGF0ZVRpbWUsIHtcbiAgICAgIG5hbWU6IHdpZGdldFNjaGVtYXMuZGF0ZSxcbiAgICAgIGZvcm1hdHM6IHtcbiAgICAgICAgZGVmYXVsdDogJ2RhdGUnLFxuICAgICAgfSxcbiAgICAgIGNvbXBvbmVudDoge1xuICAgICAgICBjb2x1bW46IHtcbiAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICB3aWR0aDogJzEyMHB4JyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBzZXJ2aWNlLmV4dGVuZCh3aWRnZXRTY2hlbWFzLmRhdGVUaW1lLCB7XG4gICAgICBuYW1lOiB3aWRnZXRTY2hlbWFzLnRpbWUsXG4gICAgICBmb3JtYXRzOiB7XG4gICAgICAgIGRlZmF1bHQ6ICd0aW1lJyxcbiAgICAgIH0sXG4gICAgICBjb21wb25lbnQ6IHtcbiAgICAgICAgY29sdW1uOiB7XG4gICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgd2lkdGg6ICc4MHB4JyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgICAvL3RvZ2dsZVxuICAgIHNlcnZpY2UucmVnaXN0ZXIoe1xuICAgICAgY29tcG9uZW50OiB7XG4gICAgICAgIHZpZXc6IHtcbiAgICAgICAgICBjb21wb25lbnQ6ICgpID0+IGltcG9ydCgnLi90b2dnbGUvdG9nZ2xlLXdpZGdldC12aWV3LmNvbXBvbmVudCcpLnRoZW4oKGMpID0+IGMuQVhQVG9nZ2xlV2lkZ2V0Vmlld0NvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIGVkaXQ6IHtcbiAgICAgICAgICBjb21wb25lbnQ6ICgpID0+IGltcG9ydCgnLi90b2dnbGUvdG9nZ2xlLXdpZGdldC1lZGl0LmNvbXBvbmVudCcpLnRoZW4oKGMpID0+IGMuQVhQVG9nZ2xlV2lkZ2V0RWRpdENvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIGZpbHRlcjoge1xuICAgICAgICAgIGNvbXBvbmVudDogKCkgPT5cbiAgICAgICAgICAgIGltcG9ydCgnLi9jb21tb24td2lkZ2V0LWZpbHRlci9ib29sZWFuLXdpZGdldC1maWx0ZXIuY29tcG9uZW50JykudGhlbihcbiAgICAgICAgICAgICAgKGMpID0+IGMuQVhQQm9vbGVhbldpZGdldEZpbHRlckNvbXBvbmVudFxuICAgICAgICAgICAgKSxcbiAgICAgICAgfSxcbiAgICAgICAgY29sdW1uOiB7XG4gICAgICAgICAgY29tcG9uZW50OiAoKSA9PlxuICAgICAgICAgICAgaW1wb3J0KCcuL3RvZ2dsZS90b2dnbGUtd2lkZ2V0LWNvbHVtbi5jb21wb25lbnQnKS50aGVuKChjKSA9PiBjLkFYUFRvZ2dsZVdpZGdldENvbHVtbkNvbXBvbmVudCksXG4gICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgd2lkdGg6ICcxMDBweCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBmaWx0ZXJPcHRpb25zOiB7XG4gICAgICAgIG9wZXJhdG9yczogW10sXG4gICAgICAgIGRlZmF1bHQ6IEVRX09QRVIsXG4gICAgICB9LFxuICAgICAgbmFtZTogd2lkZ2V0U2NoZW1hcy50b2dnbGUsXG4gICAgICBkYXRhVHlwZTogJ2Jvb2xlYW4nLFxuICAgIH0pO1xuICAgIC8vY2hlY2tib3hcbiAgICBzZXJ2aWNlLnJlZ2lzdGVyKHtcbiAgICAgIGNvbXBvbmVudDoge1xuICAgICAgICB2aWV3OiB7XG4gICAgICAgICAgY29tcG9uZW50OiAoKSA9PlxuICAgICAgICAgICAgaW1wb3J0KCcuL2NoZWNrYm94L2NoZWNrYm94LXdpZGdldC12aWV3LmNvbXBvbmVudCcpLnRoZW4oKGMpID0+IGMuQVhQQ2hlY2tib3hXaWRnZXRWaWV3Q29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAgZWRpdDoge1xuICAgICAgICAgIGNvbXBvbmVudDogKCkgPT5cbiAgICAgICAgICAgIGltcG9ydCgnLi9jaGVja2JveC9jaGVja2JveC13aWRnZXQtZWRpdC5jb21wb25lbnQnKS50aGVuKChjKSA9PiBjLkFYUENoZWNrYm94V2lkZ2V0RWRpdENvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIGZpbHRlcjoge1xuICAgICAgICAgIGNvbXBvbmVudDogKCkgPT5cbiAgICAgICAgICAgIGltcG9ydCgnLi9jb21tb24td2lkZ2V0LWZpbHRlci9ib29sZWFuLXdpZGdldC1maWx0ZXIuY29tcG9uZW50JykudGhlbihcbiAgICAgICAgICAgICAgKGMpID0+IGMuQVhQQm9vbGVhbldpZGdldEZpbHRlckNvbXBvbmVudFxuICAgICAgICAgICAgKSxcbiAgICAgICAgfSxcbiAgICAgICAgY29sdW1uOiB7XG4gICAgICAgICAgY29tcG9uZW50OiAoKSA9PlxuICAgICAgICAgICAgaW1wb3J0KCcuL2NoZWNrYm94L2NoZWNrYm94LXdpZGdldC1jb2x1bW4uY29tcG9uZW50JykudGhlbigoYykgPT4gYy5BWFBDaGVja2JveFdpZGdldENvbHVtbkNvbXBvbmVudCksXG4gICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgd2lkdGg6ICcxMDBweCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBmaWx0ZXJPcHRpb25zOiB7XG4gICAgICAgIG9wZXJhdG9yczogW10sXG4gICAgICAgIGRlZmF1bHQ6IEVRX09QRVIsXG4gICAgICB9LFxuICAgICAgbmFtZTogd2lkZ2V0U2NoZW1hcy5jaGVja2JveCxcbiAgICAgIGRhdGFUeXBlOiAnYm9vbGVhbicsXG4gICAgfSk7XG4gICAgLy9wYXNzd29yZFxuICAgIHNlcnZpY2UucmVnaXN0ZXIoe1xuICAgICAgY29tcG9uZW50OiB7XG4gICAgICAgIHZpZXc6IHtcbiAgICAgICAgICBjb21wb25lbnQ6ICgpID0+XG4gICAgICAgICAgICBpbXBvcnQoJy4vcGFzc3dvcmQvcGFzc3dvcmQtd2lkZ2V0LXZpZXcuY29tcG9uZW50JykudGhlbigoYykgPT4gYy5BWFBQYXNzd29yZFdpZGdldFZpZXdDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICBjb2x1bW46IHtcbiAgICAgICAgICBjb21wb25lbnQ6ICgpID0+XG4gICAgICAgICAgICBpbXBvcnQoJy4vcGFzc3dvcmQvcGFzc3dvcmQtd2lkZ2V0LWNvbHVtbi5jb21wb25lbnQnKS50aGVuKChjKSA9PiBjLkFYUFBhc3N3b3JkV2lkZ2V0Q29sdW1uQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAgZWRpdDoge1xuICAgICAgICAgIGNvbXBvbmVudDogKCkgPT5cbiAgICAgICAgICAgIGltcG9ydCgnLi9wYXNzd29yZC9wYXNzd29yZC13aWRnZXQtZWRpdC5jb21wb25lbnQnKS50aGVuKChjKSA9PiBjLkFYUFBhc3N3b3JkV2lkZ2V0RWRpdENvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgZmlsdGVyT3B0aW9uczoge1xuICAgICAgICBvcGVyYXRvcnM6IFtdLFxuICAgICAgICBkZWZhdWx0OiBFUV9PUEVSLFxuICAgICAgfSxcbiAgICAgIG5hbWU6IHdpZGdldFNjaGVtYXMucGFzc3dvcmQsXG4gICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgfSk7XG4gICAgLy9maWxlXG4gICAgc2VydmljZS5yZWdpc3Rlcih7XG4gICAgICBjb21wb25lbnQ6IHtcbiAgICAgICAgdmlldzoge1xuICAgICAgICAgIGNvbXBvbmVudDogKCkgPT4gaW1wb3J0KCcuL2ZpbGUvZmlsZS13aWRnZXQtdmlldy5jb21wb25lbnQnKS50aGVuKChjKSA9PiBjLkFYUEZpbGVXaWRnZXRWaWV3Q29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAgY29sdW1uOiB7XG4gICAgICAgICAgY29tcG9uZW50OiAoKSA9PiBpbXBvcnQoJy4vZmlsZS9maWxlLXdpZGdldC1jb2x1bW4uY29tcG9uZW50JykudGhlbigoYykgPT4gYy5BWFBGaWxlV2lkZ2V0Q29sdW1uQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAgZWRpdDoge1xuICAgICAgICAgIGNvbXBvbmVudDogKCkgPT4gaW1wb3J0KCcuL2ZpbGUvZmlsZS13aWRnZXQtZWRpdC5jb21wb25lbnQnKS50aGVuKChjKSA9PiBjLkFYUEZpbGVXaWRnZXRFZGl0Q29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAgZmlsdGVyOiB7XG4gICAgICAgICAgY29tcG9uZW50OiAoKSA9PiBpbXBvcnQoJy4vZmlsZS9maWxlLXdpZGdldC1maWx0ZXIuY29tcG9uZW50JykudGhlbigoYykgPT4gYy5BWFBGaWxlV2lkZ2V0RmlsdGVyQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBmaWx0ZXJPcHRpb25zOiB7XG4gICAgICAgIG9wZXJhdG9yczogW10sXG4gICAgICAgIGRlZmF1bHQ6IEVRX09QRVIsXG4gICAgICB9LFxuICAgICAgbmFtZTogd2lkZ2V0U2NoZW1hcy5maWxlLFxuICAgICAgZGF0YVR5cGU6ICdvYmplY3QnLFxuICAgIH0pO1xuICAgIC8vIGxvb2sgdXBcbiAgICBzZXJ2aWNlLnJlZ2lzdGVyKHtcbiAgICAgIGNvbXBvbmVudDoge1xuICAgICAgICB2aWV3OiB7XG4gICAgICAgICAgY29tcG9uZW50OiAoKSA9PiBpbXBvcnQoJy4vbG9va3VwL2xvb2t1cC13aWRnZXQtdmlldy5jb21wb25lbnQnKS50aGVuKChjKSA9PiBjLkFYUExvb2t1cFdpZGdldFZpZXdDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICBlZGl0OiB7XG4gICAgICAgICAgY29tcG9uZW50OiAoKSA9PiBpbXBvcnQoJy4vbG9va3VwL2xvb2t1cC13aWRnZXQtZWRpdC5jb21wb25lbnQnKS50aGVuKChjKSA9PiBjLkFYUExvb2t1cFdpZGdldEVkaXRDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICBmaWx0ZXI6IHtcbiAgICAgICAgICBjb21wb25lbnQ6ICgpID0+XG4gICAgICAgICAgICBpbXBvcnQoJy4vbG9va3VwL2xvb2t1cC13aWRnZXQtZmlsdGVyLmNvbXBvbmVudCcpLnRoZW4oKGMpID0+IGMuQVhQTG9va3VwV2lkZ2V0RmlsdGVyQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAgY29sdW1uOiB7XG4gICAgICAgICAgY29tcG9uZW50OiAoKSA9PlxuICAgICAgICAgICAgaW1wb3J0KCcuL2xvb2t1cC9sb29rdXAtd2lkZ2V0LWNvbHVtbi5jb21wb25lbnQnKS50aGVuKChjKSA9PiBjLkFYUExvb2t1cFdpZGdldENvbHVtbkNvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgZmlsdGVyT3B0aW9uczoge1xuICAgICAgICBvcGVyYXRvcnM6IFtdLFxuICAgICAgICBkZWZhdWx0OiBDT05UQUlOU19PUEVSLFxuICAgICAgfSxcbiAgICAgIG5hbWU6IHdpZGdldFNjaGVtYXMubG9va3VwLFxuICAgICAgZGF0YVR5cGU6ICdvYmplY3QnLFxuICAgIH0pO1xuICAgIC8vIHNlbGVjdGlvbiBsaXN0XG4gICAgc2VydmljZS5yZWdpc3Rlcih7XG4gICAgICBjb21wb25lbnQ6IHtcbiAgICAgICAgdmlldzoge1xuICAgICAgICAgIGNvbXBvbmVudDogKCkgPT5cbiAgICAgICAgICAgIGltcG9ydCgnLi9zZWxlY3Rpb24tbGlzdC9zZWxlY3Rpb24tbGlzdC13aWRnZXQtdmlldy5jb21wb25lbnQnKS50aGVuKFxuICAgICAgICAgICAgICAoYykgPT4gYy5BWFBTZWxlY3Rpb25MaXN0V2lkZ2V0Vmlld0NvbXBvbmVudFxuICAgICAgICAgICAgKSxcbiAgICAgICAgfSxcbiAgICAgICAgZWRpdDoge1xuICAgICAgICAgIGNvbXBvbmVudDogKCkgPT5cbiAgICAgICAgICAgIGltcG9ydCgnLi9zZWxlY3Rpb24tbGlzdC9zZWxlY3Rpb24tbGlzdC13aWRnZXQtZWRpdC5jb21wb25lbnQnKS50aGVuKFxuICAgICAgICAgICAgICAoYykgPT4gYy5BWFBTZWxlY3Rpb25MaXN0V2lkZ2V0RWRpdENvbXBvbmVudFxuICAgICAgICAgICAgKSxcbiAgICAgICAgfSxcbiAgICAgICAgY29sdW1uOiB7XG4gICAgICAgICAgY29tcG9uZW50OiAoKSA9PlxuICAgICAgICAgICAgaW1wb3J0KCcuL3NlbGVjdGlvbi1saXN0L3NlbGVjdGlvbi1saXN0LXdpZGdldC1jb2x1bW4uY29tcG9uZW50JykudGhlbihcbiAgICAgICAgICAgICAgKGMpID0+IGMuQVhQU2VsZWN0aW9uTGlzdFdpZGdldENvbHVtbkNvbXBvbmVudFxuICAgICAgICAgICAgKSxcbiAgICAgICAgfSxcbiAgICAgICAgZmlsdGVyOiB7XG4gICAgICAgICAgY29tcG9uZW50OiAoKSA9PlxuICAgICAgICAgICAgaW1wb3J0KCcuL3NlbGVjdGlvbi1saXN0L3NlbGVjdGlvbi1saXN0LXdpZGdldC1maWx0ZXIuY29tcG9uZW50JykudGhlbihcbiAgICAgICAgICAgICAgKGMpID0+IGMuQVhQU2VsZWN0aW9uTGlzdFdpZGdldEZpbHRlckNvbXBvbmVudFxuICAgICAgICAgICAgKSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBmaWx0ZXJPcHRpb25zOiB7XG4gICAgICAgIG9wZXJhdG9yczogW10sXG4gICAgICAgIGRlZmF1bHQ6IENPTlRBSU5TX09QRVIsXG4gICAgICB9LFxuICAgICAgbmFtZTogd2lkZ2V0U2NoZW1hcy5zZWxlY3Rpb25MaXN0LFxuICAgICAgZGF0YVR5cGU6ICdvYmplY3QnLFxuICAgIH0pO1xuICAgIC8vIHJpY2ggdGV4dFxuICAgIHNlcnZpY2UucmVnaXN0ZXIoe1xuICAgICAgY29tcG9uZW50OiB7XG4gICAgICAgIHZpZXc6IHtcbiAgICAgICAgICBjb21wb25lbnQ6ICgpID0+XG4gICAgICAgICAgICBpbXBvcnQoJy4vcmljaC10ZXh0L3JpY2gtdGV4dC13aWRnZXQtdmlldy5jb21wb25lbnQnKS50aGVuKChjKSA9PiBjLkFYUFJpY2hUZXh0V2lkZ2V0Vmlld0NvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIGVkaXQ6IHtcbiAgICAgICAgICBjb21wb25lbnQ6ICgpID0+XG4gICAgICAgICAgICBpbXBvcnQoJy4vcmljaC10ZXh0L3JpY2gtdGV4dC13aWRnZXQtZWRpdC5jb21wb25lbnQnKS50aGVuKChjKSA9PiBjLkFYUFJpY2hUZXh0V2lkZ2V0RWRpdENvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIGNvbHVtbjoge1xuICAgICAgICAgIGNvbXBvbmVudDogKCkgPT5cbiAgICAgICAgICAgIGltcG9ydCgnLi9yaWNoLXRleHQvcmljaC10ZXh0LXdpZGdldC1jb2x1bW4uY29tcG9uZW50JykudGhlbigoYykgPT4gYy5BWFBSaWNoVGV4dFdpZGdldENvbHVtbkNvbXBvbmVudCksXG4gICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgd2lkdGg6ICc0MDBweCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgZmlsdGVyOiB7XG4gICAgICAgICAgY29tcG9uZW50OiAoKSA9PlxuICAgICAgICAgICAgaW1wb3J0KCcuL2NvbW1vbi13aWRnZXQtZmlsdGVyL3N0cmluZy13aWRnZXQtZmlsdGVyLmNvbXBvbmVudCcpLnRoZW4oXG4gICAgICAgICAgICAgIChjKSA9PiBjLkFYUFN0cmluZ1dpZGdldEZpbHRlckNvbXBvbmVudFxuICAgICAgICAgICAgKSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBmaWx0ZXJPcHRpb25zOiB7XG4gICAgICAgIG9wZXJhdG9yczogWy4uLlNUUklOR19PUEVSQVRPUlNdLFxuICAgICAgICBkZWZhdWx0OiBDT05UQUlOU19PUEVSLFxuICAgICAgfSxcbiAgICAgIG5hbWU6IHdpZGdldFNjaGVtYXMucmljaFRleHQsXG4gICAgICBkYXRhVHlwZTogJ29iamVjdCcsXG4gICAgfSk7XG4gICAgLy8gbWFwXG4gICAgc2VydmljZS5yZWdpc3Rlcih7XG4gICAgICBjb21wb25lbnQ6IHtcbiAgICAgICAgdmlldzoge1xuICAgICAgICAgIGNvbXBvbmVudDogKCkgPT4gaW1wb3J0KCcuL21hcC9tYXAtd2lkZ2V0LXZpZXcuY29tcG9uZW50JykudGhlbigoYykgPT4gYy5BWFBNYXBXaWRnZXRWaWV3Q29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAgZWRpdDoge1xuICAgICAgICAgIGNvbXBvbmVudDogKCkgPT4gaW1wb3J0KCcuL21hcC9tYXAtd2lkZ2V0LWVkaXQuY29tcG9uZW50JykudGhlbigoYykgPT4gYy5BWFBNYXBXaWRnZXRFZGl0Q29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBmaWx0ZXJPcHRpb25zOiB7XG4gICAgICAgIG9wZXJhdG9yczogW10sXG4gICAgICAgIGRlZmF1bHQ6IEVRX09QRVIsXG4gICAgICB9LFxuICAgICAgbmFtZTogd2lkZ2V0U2NoZW1hcy5tYXAsXG4gICAgICBkYXRhVHlwZTogJ29iamVjdCcsXG4gICAgfSk7XG4gICAgLy8gYXZhdGFyXG4gICAgc2VydmljZS5yZWdpc3Rlcih7XG4gICAgICBjb21wb25lbnQ6IHtcbiAgICAgICAgdmlldzoge1xuICAgICAgICAgIGNvbXBvbmVudDogKCkgPT4gaW1wb3J0KCcuL2F2YXRhci9hdmF0YXItd2lkZ2V0LXZpZXcuY29tcG9uZW50JykudGhlbigoYykgPT4gYy5BWFBBdmF0YXJXaWRnZXRWaWV3Q29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAgZWRpdDoge1xuICAgICAgICAgIGNvbXBvbmVudDogKCkgPT4gaW1wb3J0KCcuL2F2YXRhci9hdmF0YXItd2lkZ2V0LWVkaXQuY29tcG9uZW50JykudGhlbigoYykgPT4gYy5BWFBBdmF0YXJXaWRnZXRFZGl0Q29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBmaWx0ZXJPcHRpb25zOiB7XG4gICAgICAgIG9wZXJhdG9yczogW10sXG4gICAgICAgIGRlZmF1bHQ6IEVRX09QRVIsXG4gICAgICB9LFxuICAgICAgbmFtZTogd2lkZ2V0U2NoZW1hcy5hdmF0YXIsXG4gICAgICBkYXRhVHlwZTogJ29iamVjdCcsXG4gICAgfSk7XG4gICAgLy8gbWVzc2VuZ2VyXG4gICAgc2VydmljZS5yZWdpc3Rlcih7XG4gICAgICBjb21wb25lbnQ6IHtcbiAgICAgICAgdmlldzoge1xuICAgICAgICAgIGNvbXBvbmVudDogKCkgPT5cbiAgICAgICAgICAgIGltcG9ydCgnLi9tZXNzZW5nZXIvbWVzc2VuZ2VyLXdpZGdldC12aWV3LmNvbXBvbmVudCcpLnRoZW4oKGMpID0+IGMuQVhQTWVzc2VuZ2VyV2lkZ2V0Vmlld0NvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIGVkaXQ6IHtcbiAgICAgICAgICBjb21wb25lbnQ6ICgpID0+XG4gICAgICAgICAgICBpbXBvcnQoJy4vbWVzc2VuZ2VyL21lc3Nlbmdlci13aWRnZXQtZWRpdC5jb21wb25lbnQnKS50aGVuKChjKSA9PiBjLkFYUE1lc3NlbmdlcldpZGdldEVkaXRDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICBjb2x1bW46IHtcbiAgICAgICAgICBjb21wb25lbnQ6ICgpID0+XG4gICAgICAgICAgICBpbXBvcnQoJy4vbWVzc2VuZ2VyL21lc3Nlbmdlci13aWRnZXQtY29sdW1uLmNvbXBvbmVudCcpLnRoZW4oKGMpID0+IGMuQVhQTWVzc2VuZ2VyV2lkZ2V0Q29sdW1uQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBmaWx0ZXJPcHRpb25zOiB7XG4gICAgICAgIG9wZXJhdG9yczogW10sXG4gICAgICAgIGRlZmF1bHQ6IEVRX09QRVIsXG4gICAgICB9LFxuICAgICAgbmFtZTogd2lkZ2V0U2NoZW1hcy5tZXNzZW5nZXIsXG4gICAgICBkYXRhVHlwZTogJ29iamVjdCcsXG4gICAgfSk7XG4gICAgLy9cbiAgICAvLyBnYWxsZXJ5XG4gICAgc2VydmljZS5yZWdpc3Rlcih7XG4gICAgICBjb21wb25lbnQ6IHtcbiAgICAgICAgdmlldzoge1xuICAgICAgICAgIGNvbXBvbmVudDogKCkgPT5cbiAgICAgICAgICAgIGltcG9ydCgnLi9nYWxsZXJ5L2dhbGxlcnktd2lkZ2V0LXZpZXcuY29tcG9uZW50JykudGhlbigoYykgPT4gYy5BWFBHYWxsZXJ5V2lkZ2V0Vmlld0NvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIGVkaXQ6IHtcbiAgICAgICAgICBjb21wb25lbnQ6ICgpID0+XG4gICAgICAgICAgICBpbXBvcnQoJy4vZ2FsbGVyeS9nYWxsZXJ5LXdpZGdldC1lZGl0LmNvbXBvbmVudCcpLnRoZW4oKGMpID0+IGMuQVhQR2FsbGVyeVdpZGdldEVkaXRDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICBmaWx0ZXI6IHtcbiAgICAgICAgICBjb21wb25lbnQ6ICgpID0+XG4gICAgICAgICAgICBpbXBvcnQoJy4vZ2FsbGVyeS9nYWxsZXJ5LXdpZGdldC1maWx0ZXIuY29tcG9uZW50JykudGhlbigoYykgPT4gYy5BWFBHYWxsZXJ5V2lkZ2V0RmlsdGVyQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBmaWx0ZXJPcHRpb25zOiB7XG4gICAgICAgIG9wZXJhdG9yczogW10sXG4gICAgICAgIGRlZmF1bHQ6IEVRX09QRVIsXG4gICAgICB9LFxuICAgICAgbmFtZTogd2lkZ2V0U2NoZW1hcy5nYWxsZXJ5LFxuICAgICAgZGF0YVR5cGU6ICdvYmplY3QnLFxuICAgIH0pO1xuICAgIC8vIHNpZ25hdHVyZS1wYWRcbiAgICBzZXJ2aWNlLnJlZ2lzdGVyKHtcbiAgICAgIGNvbXBvbmVudDoge1xuICAgICAgICB2aWV3OiB7XG4gICAgICAgICAgY29tcG9uZW50OiAoKSA9PlxuICAgICAgICAgICAgaW1wb3J0KCcuL3NpZ25hdHVyZS1wYWQvc2lnbmF0dXJlLXBhZC13aWRnZXQtdmlldy5jb21wb25lbnQnKS50aGVuKFxuICAgICAgICAgICAgICAoYykgPT4gYy5BWFBTaWduYXR1cmVQYWRXaWRnZXRWaWV3Q29tcG9uZW50XG4gICAgICAgICAgICApLFxuICAgICAgICB9LFxuICAgICAgICBlZGl0OiB7XG4gICAgICAgICAgY29tcG9uZW50OiAoKSA9PlxuICAgICAgICAgICAgaW1wb3J0KCcuL3NpZ25hdHVyZS1wYWQvc2lnbmF0dXJlLXBhZC13aWRnZXQtZWRpdC5jb21wb25lbnQnKS50aGVuKFxuICAgICAgICAgICAgICAoYykgPT4gYy5BWFBTaWduYXR1cmVQYWRXaWRnZXRFZGl0Q29tcG9uZW50XG4gICAgICAgICAgICApLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGZpbHRlck9wdGlvbnM6IHtcbiAgICAgICAgb3BlcmF0b3JzOiBbXSxcbiAgICAgICAgZGVmYXVsdDogRVFfT1BFUixcbiAgICAgIH0sXG4gICAgICBuYW1lOiB3aWRnZXRTY2hlbWFzLnNpZ25hdHVyZVBhZCxcbiAgICAgIGRhdGFUeXBlOiAnb2JqZWN0JyxcbiAgICB9KTtcbiAgICAvL1xuICB9XG59XG4iXX0=
@@ -0,0 +1,44 @@
1
+ import { AXDateTimeModule } from '@acorex/core/dateTime';
2
+ import { AXFormatModule } from '@acorex/core/format';
3
+ import { AXPWidgetBase } from '@acorex/platform/schema';
4
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
5
+ import * as i0 from "@angular/core";
6
+ export class AXPDateTimeWidgetColumnComponent extends AXPWidgetBase {
7
+ render() {
8
+ const rawValue = this.context[this.prop.name];
9
+ if (rawValue == null) {
10
+ this.convertedValue = null;
11
+ return;
12
+ }
13
+ if (this.isArray(rawValue)) {
14
+ this.convertedValue = rawValue.map((item) => this.formatValue(new Date(item))).join(', ');
15
+ }
16
+ else {
17
+ this.convertedValue = this.formatValue(new Date(rawValue));
18
+ }
19
+ }
20
+ formatValue(value) {
21
+ if (this.formats?.default) {
22
+ return this.formatService.format(value, 'datetime', { format: this.formats.default });
23
+ }
24
+ else {
25
+ return value.toISOString();
26
+ }
27
+ }
28
+ isArray(val) {
29
+ return Array.isArray(val);
30
+ }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPDateTimeWidgetColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AXPDateTimeWidgetColumnComponent, isStandalone: true, selector: "ng-component", inputs: { context: "context", value: "value", multiple: "multiple", width: "width" }, usesInheritance: true, ngImport: i0, template: ` <span [title]="convertedValue">{{ convertedValue }}</span> `, isInline: true, dependencies: [{ kind: "ngmodule", type: AXFormatModule }, { kind: "ngmodule", type: AXDateTimeModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
33
+ }
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPDateTimeWidgetColumnComponent, decorators: [{
35
+ type: Component,
36
+ args: [{
37
+ template: ` <span [title]="convertedValue">{{ convertedValue }}</span> `,
38
+ standalone: true,
39
+ imports: [AXFormatModule, AXDateTimeModule],
40
+ changeDetection: ChangeDetectionStrategy.OnPush,
41
+ inputs: ['context', 'value', 'multiple', 'width'],
42
+ }]
43
+ }] });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZVRpbWUtd2lkZ2V0LWNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dHMvc3JjL2xpYi93aWRnZXRzL2RhdGVUaW1lL2RhdGVUaW1lLXdpZGdldC1jb2x1bW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFTbkUsTUFBTSxPQUFPLGdDQUFpQyxTQUFRLGFBQWE7SUFJeEQsTUFBTTtRQUNiLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QyxJQUFJLFFBQVEsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztZQUMzQixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxjQUFjLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xHLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDN0QsQ0FBQztJQUNILENBQUM7SUFFUyxXQUFXLENBQUMsS0FBVztRQUMvQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFDMUIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN4RixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO0lBRVMsT0FBTyxDQUFDLEdBQVE7UUFDeEIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7OEdBM0JVLGdDQUFnQztrR0FBaEMsZ0NBQWdDLHFMQU5qQyw4REFBOEQsMkRBRTlELGNBQWMsOEJBQUUsZ0JBQWdCOzsyRkFJL0IsZ0NBQWdDO2tCQVA1QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw4REFBOEQ7b0JBQ3hFLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxjQUFjLEVBQUUsZ0JBQWdCLENBQUM7b0JBQzNDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUM7aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhEYXRlVGltZU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS9kYXRlVGltZSc7XG5pbXBvcnQgeyBBWEZvcm1hdE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS9mb3JtYXQnO1xuaW1wb3J0IHsgQVhQV2lkZ2V0QmFzZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vc2NoZW1hJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgIDxzcGFuIFt0aXRsZV09XCJjb252ZXJ0ZWRWYWx1ZVwiPnt7IGNvbnZlcnRlZFZhbHVlIH19PC9zcGFuPiBgLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQVhGb3JtYXRNb2R1bGUsIEFYRGF0ZVRpbWVNb2R1bGVdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW5wdXRzOiBbJ2NvbnRleHQnLCAndmFsdWUnLCAnbXVsdGlwbGUnLCAnd2lkdGgnXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQRGF0ZVRpbWVXaWRnZXRDb2x1bW5Db21wb25lbnQgZXh0ZW5kcyBBWFBXaWRnZXRCYXNlIHtcbiAgcHJvdGVjdGVkIGNvbnZlcnRlZFZhbHVlITogc3RyaW5nIHwgbnVsbDtcbiAgcHJvdGVjdGVkIG11bHRpcGxlITogYm9vbGVhbjtcblxuICBvdmVycmlkZSByZW5kZXIoKSB7XG4gICAgY29uc3QgcmF3VmFsdWUgPSB0aGlzLmNvbnRleHRbdGhpcy5wcm9wLm5hbWVdO1xuICAgIGlmIChyYXdWYWx1ZSA9PSBudWxsKSB7XG4gICAgICB0aGlzLmNvbnZlcnRlZFZhbHVlID0gbnVsbDtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMuaXNBcnJheShyYXdWYWx1ZSkpIHtcbiAgICAgIHRoaXMuY29udmVydGVkVmFsdWUgPSByYXdWYWx1ZS5tYXAoKGl0ZW06IERhdGUpID0+IHRoaXMuZm9ybWF0VmFsdWUobmV3IERhdGUoaXRlbSkpKS5qb2luKCcsICcpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvbnZlcnRlZFZhbHVlID0gdGhpcy5mb3JtYXRWYWx1ZShuZXcgRGF0ZShyYXdWYWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBmb3JtYXRWYWx1ZSh2YWx1ZTogRGF0ZSkge1xuICAgIGlmICh0aGlzLmZvcm1hdHM/LmRlZmF1bHQpIHtcbiAgICAgIHJldHVybiB0aGlzLmZvcm1hdFNlcnZpY2UuZm9ybWF0KHZhbHVlLCAnZGF0ZXRpbWUnLCB7IGZvcm1hdDogdGhpcy5mb3JtYXRzLmRlZmF1bHQgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB2YWx1ZS50b0lTT1N0cmluZygpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBpc0FycmF5KHZhbDogYW55KSB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsKTtcbiAgfVxufVxuIl19