@acorex/platform 1.0.6 → 18.0.1

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 (1162) hide show
  1. package/README.md +7 -7
  2. package/auth/README.md +3 -3
  3. package/auth/lib/auth.strategy.d.ts +6 -3
  4. package/common/README.md +3 -3
  5. package/common/index.d.ts +5 -3
  6. package/common/lib/app/application.types.d.ts +234 -0
  7. package/common/lib/app/index.d.ts +2 -0
  8. package/common/lib/common.module.d.ts +6 -4
  9. package/common/lib/configs/app.config.d.ts +1 -1
  10. package/common/lib/layout/beardcrumb.type.d.ts +6 -0
  11. package/common/lib/layout/grid-layout/grid-layout.directive.d.ts +15 -0
  12. package/common/lib/layout/grid-layout/grid-layout.types.d.ts +19 -0
  13. package/common/lib/layout/grid-layout/index.d.ts +2 -0
  14. package/common/lib/layout/index.d.ts +9 -0
  15. package/common/lib/layout/logo/index.d.ts +2 -0
  16. package/common/lib/layout/sticky.directive.d.ts +25 -0
  17. package/common/lib/layout/theme/components/slots/index.d.ts +3 -0
  18. package/common/lib/layout/theme/components/slots/navbar-slot.component.d.ts +10 -0
  19. package/common/lib/layout/theme/store/admin-layout.selectors.d.ts +5 -0
  20. package/common/lib/schema/entity/entity.class.d.ts +155 -0
  21. package/common/lib/schema/index.d.ts +8 -0
  22. package/common/lib/schema/schema.types.d.ts +15 -0
  23. package/common/lib/schema/widget/index.d.ts +5 -0
  24. package/common/lib/schema/widget/widget-base.d.ts +45 -0
  25. package/common/lib/schema/widget/widget-token.d.ts +16 -0
  26. package/common/lib/schema/widgets/avatar/avatar-widget-edit.component.d.ts +16 -0
  27. package/common/lib/schema/widgets/avatar/avatar-widget-view.component.d.ts +13 -0
  28. package/common/lib/schema/widgets/checkbox/checkbox-widget-column.component.d.ts +11 -0
  29. package/common/lib/schema/widgets/checkbox/checkbox-widget-edit.component.d.ts +6 -0
  30. package/common/lib/schema/widgets/checkbox/checkbox-widget-view.component.d.ts +11 -0
  31. package/common/lib/schema/widgets/common-widget-filter/boolean-widget-filter.component.d.ts +18 -0
  32. package/common/lib/schema/widgets/common-widget-filter/number-widget-filter.component.d.ts +12 -0
  33. package/common/lib/schema/widgets/common-widget-filter/string-widget-filter.component.d.ts +12 -0
  34. package/common/lib/schema/widgets/common-widgets.module.d.ts +32 -0
  35. package/common/lib/schema/widgets/dateTime/dateTime-widget-column.component.d.ts +11 -0
  36. package/common/lib/schema/widgets/dateTime/dateTime-widget-edit.component.d.ts +26 -0
  37. package/common/lib/schema/widgets/dateTime/dateTime-widget-filter.component.d.ts +16 -0
  38. package/common/lib/schema/widgets/dateTime/dateTime-widget-view.component.d.ts +11 -0
  39. package/common/lib/schema/widgets/email/email-widget-column.component.d.ts +16 -0
  40. package/common/lib/schema/widgets/email/email-widget-edit.component.d.ts +28 -0
  41. package/common/lib/schema/widgets/email/email-widget-view.component.d.ts +16 -0
  42. package/common/lib/schema/widgets/file/file-widget-column.component.d.ts +8 -0
  43. package/common/lib/schema/widgets/file/file-widget-edit.component.d.ts +17 -0
  44. package/common/lib/schema/widgets/file/file-widget-filter.component.d.ts +6 -0
  45. package/common/lib/schema/widgets/file/file-widget-view.component.d.ts +17 -0
  46. package/common/lib/schema/widgets/gallery/gallery-widget-edit.component.d.ts +15 -0
  47. package/common/lib/schema/widgets/gallery/gallery-widget-filter.component.d.ts +6 -0
  48. package/common/lib/schema/widgets/gallery/gallery-widget-view.component.d.ts +16 -0
  49. package/common/lib/schema/widgets/lookup/lookup-widget-column.component.d.ts +17 -0
  50. package/common/lib/schema/widgets/lookup/lookup-widget-edit.component.d.ts +15 -0
  51. package/common/lib/schema/widgets/lookup/lookup-widget-filter.component.d.ts +17 -0
  52. package/common/lib/schema/widgets/lookup/lookup-widget-view.component.d.ts +17 -0
  53. package/common/lib/schema/widgets/map/map-widget-edit.component.d.ts +15 -0
  54. package/common/lib/schema/widgets/map/map-widget-view.component.d.ts +17 -0
  55. package/common/lib/schema/widgets/messenger/messenger-widget-column.component.d.ts +15 -0
  56. package/common/lib/schema/widgets/messenger/messenger-widget-edit.component.d.ts +14 -0
  57. package/common/lib/schema/widgets/messenger/messenger-widget-view.component.d.ts +17 -0
  58. package/common/lib/schema/widgets/number/number-widget-edit.component.d.ts +7 -0
  59. package/common/lib/schema/widgets/number/number-widget-view.component.d.ts +8 -0
  60. package/common/lib/schema/widgets/password/password-widget-column.component.d.ts +14 -0
  61. package/common/lib/schema/widgets/password/password-widget-edit.component.d.ts +6 -0
  62. package/common/lib/schema/widgets/password/password-widget-view.component.d.ts +18 -0
  63. package/common/lib/schema/widgets/phone/phone-widget-column.component.d.ts +15 -0
  64. package/common/lib/schema/widgets/phone/phone-widget-edit.component.d.ts +29 -0
  65. package/common/lib/schema/widgets/phone/phone-widget-view.component.d.ts +18 -0
  66. package/common/lib/schema/widgets/rich-text/rich-text-widget-column.component.d.ts +11 -0
  67. package/common/lib/schema/widgets/rich-text/rich-text-widget-edit.component.d.ts +33 -0
  68. package/common/lib/schema/widgets/rich-text/rich-text-widget-view.component.d.ts +10 -0
  69. package/common/lib/schema/widgets/selection-list/selection-list-widget-column.component.d.ts +16 -0
  70. package/common/lib/schema/widgets/selection-list/selection-list-widget-edit.component.d.ts +12 -0
  71. package/common/lib/schema/widgets/selection-list/selection-list-widget-filter.component.d.ts +9 -0
  72. package/common/lib/schema/widgets/selection-list/selection-list-widget-view.component.d.ts +15 -0
  73. package/common/lib/schema/widgets/signature-pad/signature-pad-widget-edit.component.d.ts +19 -0
  74. package/common/lib/schema/widgets/signature-pad/signature-pad-widget-view.component.d.ts +8 -0
  75. package/common/lib/schema/widgets/text/largetext-widget-edit.component.d.ts +6 -0
  76. package/common/lib/schema/widgets/text/text-widget-column.component.d.ts +12 -0
  77. package/common/lib/schema/widgets/text/text-widget-edit.component.d.ts +23 -0
  78. package/common/lib/schema/widgets/text/text-widget-view.component.d.ts +11 -0
  79. package/common/lib/schema/widgets/toggle/toggle-widget-column.component.d.ts +11 -0
  80. package/common/lib/schema/widgets/toggle/toggle-widget-edit.component.d.ts +6 -0
  81. package/common/lib/schema/widgets/toggle/toggle-widget-view.component.d.ts +11 -0
  82. package/common/lib/store/common.actions.d.ts +1 -0
  83. package/common/lib/utils/data-generator.d.ts +12 -0
  84. package/common/lib/utils/index.d.ts +1 -1
  85. package/common/lib/utils/router-util.service.d.ts +1 -1
  86. package/common/lib/workflows/common.workflow.d.ts +38 -0
  87. package/common/lib/workflows/error-handler.d.ts +8 -0
  88. package/esm2022/auth/index.mjs +1 -1
  89. package/esm2022/auth/lib/application/application.loader.mjs +1 -1
  90. package/esm2022/auth/lib/application/application.types.mjs +1 -1
  91. package/esm2022/auth/lib/auth-registry.service.mjs +1 -1
  92. package/esm2022/auth/lib/auth.guard.mjs +1 -1
  93. package/esm2022/auth/lib/auth.module.mjs +1 -1
  94. package/esm2022/auth/lib/auth.strategy.mjs +1 -1
  95. package/esm2022/auth/lib/errors.types.mjs +1 -1
  96. package/esm2022/auth/lib/feature/feature.directive.mjs +1 -1
  97. package/esm2022/auth/lib/feature/feature.guard.mjs +1 -1
  98. package/esm2022/auth/lib/feature/feature.loader.mjs +1 -1
  99. package/esm2022/auth/lib/feature/feature.types.mjs +1 -1
  100. package/esm2022/auth/lib/feature/index.mjs +1 -1
  101. package/esm2022/auth/lib/permission/index.mjs +1 -1
  102. package/esm2022/auth/lib/permission/permission.directive.mjs +1 -1
  103. package/esm2022/auth/lib/permission/permission.guard.mjs +1 -1
  104. package/esm2022/auth/lib/permission/permission.loader.mjs +1 -1
  105. package/esm2022/auth/lib/permission/permission.types.mjs +1 -1
  106. package/esm2022/auth/lib/session.service.mjs +4 -2
  107. package/esm2022/auth/lib/session.types.mjs +1 -1
  108. package/esm2022/auth/lib/tenant/tenant.loader.mjs +1 -1
  109. package/esm2022/auth/lib/tenant/tenant.types.mjs +1 -1
  110. package/esm2022/auth/lib/user/user.types.mjs +1 -1
  111. package/esm2022/common/index.mjs +6 -4
  112. package/esm2022/common/lib/app/application.types.mjs +39 -0
  113. package/esm2022/common/lib/app/index.mjs +3 -0
  114. package/esm2022/common/lib/app/operators.mjs +50 -0
  115. package/esm2022/common/lib/common.module.mjs +20 -44
  116. package/esm2022/common/lib/configs/app.config.mjs +2 -2
  117. package/esm2022/common/lib/configs/config.types.mjs +3 -0
  118. package/esm2022/common/lib/data/data-provider.types.mjs +1 -1
  119. package/esm2022/common/lib/errors/error-handler-registry.service.mjs +1 -1
  120. package/esm2022/common/lib/errors/error-handler.types.mjs +1 -1
  121. package/esm2022/common/lib/errors/global-error-handler.mjs +1 -1
  122. package/esm2022/common/lib/errors/index.mjs +1 -1
  123. package/esm2022/common/lib/layout/beardcrumb.type.mjs +2 -0
  124. package/esm2022/common/lib/layout/component-slot/component-slot-loader.service.mjs +56 -0
  125. package/esm2022/common/lib/layout/component-slot/component-slot-registery.service.mjs +28 -0
  126. package/esm2022/common/lib/layout/component-slot/component-slot.directive.mjs +24 -0
  127. package/esm2022/common/lib/layout/component-slot/component-slot.module.mjs +72 -0
  128. package/esm2022/common/lib/layout/component-slot/component-slot.types.mjs +2 -0
  129. package/esm2022/common/lib/layout/component-slot/index.mjs +6 -0
  130. package/esm2022/common/lib/layout/grid-layout/grid-layout.directive.mjs +61 -0
  131. package/esm2022/common/lib/layout/grid-layout/grid-layout.types.mjs +2 -0
  132. package/esm2022/common/lib/layout/grid-layout/index.mjs +3 -0
  133. package/esm2022/common/lib/layout/index.mjs +10 -0
  134. package/esm2022/common/lib/layout/layout.service.mjs +79 -0
  135. package/esm2022/common/lib/layout/logo/index.mjs +3 -0
  136. package/esm2022/common/lib/layout/logo/logo.component.mjs +38 -0
  137. package/esm2022/common/lib/layout/logo/logo.types.mjs +21 -0
  138. package/esm2022/common/lib/layout/menu/index.mjs +3 -0
  139. package/esm2022/common/lib/layout/menu/menu.loader.mjs +39 -0
  140. package/esm2022/common/lib/layout/menu/menu.types.mjs +2 -0
  141. package/esm2022/common/lib/layout/sticky.directive.mjs +78 -0
  142. package/esm2022/common/lib/layout/theme/components/slots/footer-text-slot.component.mjs +20 -0
  143. package/esm2022/common/lib/layout/theme/components/slots/index.mjs +4 -0
  144. package/esm2022/common/lib/layout/theme/components/slots/navbar-slot.component.mjs +36 -0
  145. package/esm2022/common/lib/layout/theme/components/slots/theme-slot.component.mjs +48 -0
  146. package/esm2022/common/lib/layout/theme/store/admin-layout.actions.mjs +12 -0
  147. package/esm2022/common/lib/layout/theme/store/admin-layout.effects.mjs +29 -0
  148. package/esm2022/common/lib/layout/theme/store/admin-layout.reducers.mjs +60 -0
  149. package/esm2022/common/lib/layout/theme/store/admin-layout.selectors.mjs +8 -0
  150. package/esm2022/common/lib/layout/theme/store/admin-layout.state.mjs +16 -0
  151. package/esm2022/common/lib/layout/theme/store/index.mjs +6 -0
  152. package/esm2022/common/lib/schema/component-loader.mjs +2 -0
  153. package/esm2022/common/lib/schema/entity/entity-registery.service.mjs +70 -0
  154. package/esm2022/common/lib/schema/entity/entity.class.mjs +32 -0
  155. package/esm2022/common/lib/schema/entity/entity.loader.mjs +13 -0
  156. package/esm2022/common/lib/schema/entity/index.mjs +4 -0
  157. package/esm2022/common/lib/schema/formats.mjs +2 -0
  158. package/esm2022/common/lib/schema/index.mjs +9 -0
  159. package/esm2022/common/lib/schema/schema-registery.service.mjs +33 -0
  160. package/esm2022/common/lib/schema/schema.module.mjs +23 -0
  161. package/esm2022/common/lib/schema/schema.types.mjs +2 -0
  162. package/esm2022/common/lib/schema/widget/index.mjs +6 -0
  163. package/esm2022/common/lib/schema/widget/widget-base.mjs +113 -0
  164. package/esm2022/common/lib/schema/widget/widget-column-renderer.mjs +118 -0
  165. package/esm2022/common/lib/schema/widget/widget-filter-renderer.mjs +133 -0
  166. package/esm2022/common/lib/schema/widget/widget-renderer.mjs +144 -0
  167. package/esm2022/common/lib/schema/widget/widget-token.mjs +3 -0
  168. package/esm2022/common/lib/schema/widgets/avatar/avatar-widget-edit.component.mjs +160 -0
  169. package/esm2022/common/lib/schema/widgets/avatar/avatar-widget-view.component.mjs +63 -0
  170. package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-column.component.mjs +53 -0
  171. package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-edit.component.mjs +22 -0
  172. package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-view.component.mjs +47 -0
  173. package/esm2022/common/lib/schema/widgets/common-widget-filter/boolean-widget-filter.component.mjs +147 -0
  174. package/esm2022/common/lib/schema/widgets/common-widget-filter/number-widget-filter.component.mjs +135 -0
  175. package/esm2022/common/lib/schema/widgets/common-widget-filter/string-widget-filter.component.mjs +125 -0
  176. package/esm2022/common/lib/schema/widgets/common-widgets.module.mjs +505 -0
  177. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-column.component.mjs +44 -0
  178. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-edit.component.mjs +178 -0
  179. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-filter.component.mjs +213 -0
  180. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-view.component.mjs +71 -0
  181. package/esm2022/common/lib/schema/widgets/email/email-widget-column.component.mjs +73 -0
  182. package/esm2022/common/lib/schema/widgets/email/email-widget-edit.component.mjs +249 -0
  183. package/esm2022/common/lib/schema/widgets/email/email-widget-view.component.mjs +108 -0
  184. package/esm2022/common/lib/schema/widgets/file/file-widget-column.component.mjs +27 -0
  185. package/esm2022/common/lib/schema/widgets/file/file-widget-edit.component.mjs +200 -0
  186. package/esm2022/common/lib/schema/widgets/file/file-widget-filter.component.mjs +27 -0
  187. package/esm2022/common/lib/schema/widgets/file/file-widget-view.component.mjs +153 -0
  188. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-edit.component.mjs +189 -0
  189. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-filter.component.mjs +27 -0
  190. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-types.mjs +2 -0
  191. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-view.component.mjs +173 -0
  192. package/esm2022/common/lib/schema/widgets/index.mjs +2 -0
  193. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-column.component.mjs +43 -0
  194. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-edit.component.mjs +74 -0
  195. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-filter.component.mjs +115 -0
  196. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-view.component.mjs +54 -0
  197. package/esm2022/common/lib/schema/widgets/map/map-widget-edit.component.mjs +91 -0
  198. package/esm2022/common/lib/schema/widgets/map/map-widget-view.component.mjs +63 -0
  199. package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-column.component.mjs +71 -0
  200. package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-edit.component.mjs +136 -0
  201. package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-view.component.mjs +132 -0
  202. package/esm2022/common/lib/schema/widgets/number/number-widget-edit.component.mjs +46 -0
  203. package/esm2022/common/lib/schema/widgets/number/number-widget-view.component.mjs +30 -0
  204. package/esm2022/common/lib/schema/widgets/password/change-password.component.mjs +174 -0
  205. package/esm2022/common/lib/schema/widgets/password/password-widget-column.component.mjs +67 -0
  206. package/esm2022/common/lib/schema/widgets/password/password-widget-edit.component.mjs +41 -0
  207. package/esm2022/common/lib/schema/widgets/password/password-widget-view.component.mjs +109 -0
  208. package/esm2022/common/lib/schema/widgets/phone/phone-widget-column.component.mjs +91 -0
  209. package/esm2022/common/lib/schema/widgets/phone/phone-widget-edit.component.mjs +245 -0
  210. package/esm2022/common/lib/schema/widgets/phone/phone-widget-view.component.mjs +123 -0
  211. package/esm2022/common/lib/schema/widgets/rich-text/rich-text-widget-column.component.mjs +61 -0
  212. package/esm2022/common/lib/schema/widgets/rich-text/rich-text-widget-edit.component.mjs +67 -0
  213. package/esm2022/common/lib/schema/widgets/rich-text/rich-text-widget-view.component.mjs +34 -0
  214. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-column.component.mjs +45 -0
  215. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-edit.component.mjs +53 -0
  216. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-filter.component.mjs +41 -0
  217. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-view.component.mjs +45 -0
  218. package/esm2022/common/lib/schema/widgets/signature-pad/signature-pad-widget-edit.component.mjs +128 -0
  219. package/esm2022/common/lib/schema/widgets/signature-pad/signature-pad-widget-view.component.mjs +41 -0
  220. package/esm2022/common/lib/schema/widgets/text/largetext-widget-edit.component.mjs +37 -0
  221. package/esm2022/common/lib/schema/widgets/text/text-widget-column.component.mjs +46 -0
  222. package/esm2022/common/lib/schema/widgets/text/text-widget-edit.component.mjs +162 -0
  223. package/esm2022/common/lib/schema/widgets/text/text-widget-view.component.mjs +66 -0
  224. package/esm2022/common/lib/schema/widgets/toggle/toggle-widget-column.component.mjs +57 -0
  225. package/esm2022/common/lib/schema/widgets/toggle/toggle-widget-edit.component.mjs +25 -0
  226. package/esm2022/common/lib/schema/widgets/toggle/toggle-widget-view.component.mjs +49 -0
  227. package/esm2022/common/lib/settings/index.mjs +1 -1
  228. package/esm2022/common/lib/settings/settings.loader.mjs +1 -1
  229. package/esm2022/common/lib/settings/settings.service.mjs +1 -1
  230. package/esm2022/common/lib/settings/settings.types.mjs +1 -1
  231. package/esm2022/common/lib/store/common.actions.mjs +2 -1
  232. package/esm2022/common/lib/store/common.effects.mjs +1 -1
  233. package/esm2022/common/lib/store/index.mjs +1 -1
  234. package/esm2022/common/lib/utils/clipboard-service.mjs +1 -1
  235. package/esm2022/common/lib/utils/data-generator.mjs +47 -0
  236. package/esm2022/common/lib/utils/index.mjs +2 -2
  237. package/esm2022/common/lib/utils/router-util.service.mjs +1 -1
  238. package/esm2022/common/lib/workflows/common.workflow.mjs +68 -0
  239. package/esm2022/common/lib/workflows/error-handler.mjs +24 -0
  240. package/esm2022/common/lib/workflows/index.mjs +3 -0
  241. package/esm2022/index.mjs +1 -1
  242. package/esm2022/layout/builder/acorex-platform-layout-builder.mjs +5 -0
  243. package/esm2022/layout/builder/index.mjs +2 -0
  244. package/esm2022/layout/builder/lib/builder/builder.module.mjs +67 -0
  245. package/esm2022/layout/builder/lib/builder/builder.service.mjs +81 -0
  246. package/esm2022/layout/builder/lib/builder/index.mjs +9 -0
  247. package/esm2022/layout/builder/lib/builder/layout.types.mjs +2 -0
  248. package/esm2022/layout/builder/lib/builder/widget-column-renderer.mjs +110 -0
  249. package/esm2022/layout/builder/lib/builder/widget-container.component.mjs +55 -0
  250. package/esm2022/layout/builder/lib/builder/widget-registery.service.mjs +33 -0
  251. package/esm2022/layout/builder/lib/builder/widget-renderer.component.mjs +293 -0
  252. package/esm2022/layout/builder/lib/builder/widget.types.mjs +74 -0
  253. package/esm2022/layout/entity/acorex-platform-layout-entity.mjs +5 -0
  254. package/esm2022/layout/entity/index.mjs +2 -0
  255. package/esm2022/layout/entity/lib/entity-detail-list.viewmodel.mjs +154 -0
  256. package/esm2022/layout/entity/lib/entity-master-create.viewmodel.mjs +128 -0
  257. package/esm2022/layout/entity/lib/entity-master-list.viewmodel.mjs +278 -0
  258. package/esm2022/layout/entity/lib/entity-master-single.viewmodel.mjs +230 -0
  259. package/esm2022/layout/entity/lib/entity-master-update.viewmodel.mjs +101 -0
  260. package/esm2022/layout/entity/lib/entity-registery.service.mjs +69 -0
  261. package/esm2022/layout/entity/lib/entity.config.mjs +4 -0
  262. package/esm2022/layout/entity/lib/entity.module.mjs +134 -0
  263. package/esm2022/layout/entity/lib/entity.viewmodel.mjs +32 -0
  264. package/esm2022/layout/entity/lib/index.mjs +9 -0
  265. package/esm2022/layout/entity/lib/widgets/lookup-widget/index.mjs +8 -0
  266. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-column.component.mjs +19 -0
  267. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-designer.component.mjs +19 -0
  268. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.mjs +127 -0
  269. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-filter.component.mjs +20 -0
  270. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-print.component.mjs +19 -0
  271. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.component.mjs +105 -0
  272. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.viewmodel.mjs +85 -0
  273. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-view.component.mjs +19 -0
  274. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget.config.mjs +24 -0
  275. package/esm2022/layout/entity/lib/workflows/create-entity.workflow.mjs +93 -0
  276. package/esm2022/layout/entity/lib/workflows/delete-entity.workflow.mjs +123 -0
  277. package/esm2022/layout/entity/lib/workflows/modify-section.workflow.mjs +104 -0
  278. package/esm2022/layout/entity/lib/workflows/show-details.workflow.mjs +36 -0
  279. package/esm2022/layouts/index.mjs +1 -3
  280. package/esm2022/layouts/lib/admin/admin.module.mjs +9 -17
  281. package/esm2022/layouts/lib/admin/admin.routes.mjs +7 -8
  282. package/esm2022/layouts/lib/admin/custom-reuse.strategy.mjs +1 -1
  283. package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.component.mjs +6 -6
  284. package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.config.mjs +3 -2
  285. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/detail-view.config.mjs +3 -2
  286. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.mjs +8 -11
  287. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/index.mjs +1 -1
  288. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/entity-custom-view/entity-custom-view.component.mjs +5 -5
  289. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/index.mjs +1 -1
  290. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-columns/list-view-option-columns.component.mjs +4 -4
  291. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.mjs +6 -9
  292. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-filter-operator.component.mjs +19 -19
  293. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-sorting/list-view-option-sorting.component.mjs +6 -8
  294. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.mjs +6 -7
  295. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/index.mjs +1 -1
  296. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.config.mjs +3 -3
  297. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.module.mjs +2 -3
  298. package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.component.mjs +5 -5
  299. package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.config.mjs +3 -2
  300. package/esm2022/layouts/lib/admin/entity-layout/entity-quick-view/entity-quick-view.component.mjs +5 -6
  301. package/esm2022/layouts/lib/admin/entity-layout/index.mjs +1 -1
  302. package/esm2022/layouts/lib/admin/entity-layout/workflows/create-entity.workflow.mjs +2 -2
  303. package/esm2022/layouts/lib/admin/entity-layout/workflows/delete-entity.workflow.mjs +2 -2
  304. package/esm2022/layouts/lib/admin/entity-layout/workflows/index.mjs +4 -1
  305. package/esm2022/layouts/lib/admin/entity-layout/workflows/modify-entity.workflow.mjs +2 -2
  306. package/esm2022/layouts/lib/admin/entity-layout/workflows/modify-section.workflow.mjs +85 -0
  307. package/esm2022/layouts/lib/admin/entity-layout/workflows/show-details.workflow.mjs +27 -1
  308. package/esm2022/layouts/lib/admin/entity-layout/workflows/show-list.workflow.mjs +26 -1
  309. package/esm2022/layouts/lib/admin/entity-layout/workflows/show-quick-view.workflow.mjs +41 -1
  310. package/esm2022/layouts/lib/admin/entity.resolver.mjs +1 -1
  311. package/esm2022/layouts/lib/admin/index.mjs +1 -3
  312. package/esm2022/layouts/lib/layout.module.mjs +9 -14
  313. package/esm2022/mocks/index.mjs +1 -1
  314. package/esm2022/mocks/lib/mocks.module.mjs +1 -1
  315. package/esm2022/mocks/lib/services/mocker.service.mjs +1 -1
  316. package/esm2022/mocks/lib/storage/storage.mock.service.mjs +1 -1
  317. package/esm2022/native/index.mjs +1 -1
  318. package/esm2022/native/lib/native.service.mjs +1 -1
  319. package/esm2022/widgets/index.mjs +1 -1
  320. package/esm2022/widgets/lib/editors/checkbox/checkbox-widget-column.component.mjs +45 -0
  321. package/esm2022/widgets/lib/editors/checkbox/checkbox-widget-edit.component.mjs +10 -10
  322. package/esm2022/widgets/lib/editors/checkbox/checkbox-widget-view.component.mjs +54 -0
  323. package/esm2022/widgets/lib/editors/checkbox/checkbox-widget.config.mjs +10 -4
  324. package/esm2022/widgets/lib/editors/checkbox/index.mjs +1 -1
  325. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-column.component.mjs +32 -7
  326. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-designer.component.mjs +2 -2
  327. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-edit.component.mjs +54 -54
  328. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-filter.component.mjs +2 -2
  329. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-print.component.mjs +2 -2
  330. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-view.component.mjs +18 -18
  331. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget.config.mjs +1 -1
  332. package/esm2022/widgets/lib/editors/date-time-box-widget/index.mjs +1 -1
  333. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-column.component.mjs +54 -7
  334. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-designer.component.mjs +2 -2
  335. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-edit.component.mjs +173 -141
  336. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-filter.component.mjs +2 -2
  337. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-print.component.mjs +2 -2
  338. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-view.component.mjs +70 -70
  339. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget.config.mjs +1 -1
  340. package/esm2022/widgets/lib/editors/email-box-widget/index.mjs +1 -1
  341. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-column.component.mjs +2 -2
  342. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-designer.component.mjs +2 -2
  343. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-edit.component.mjs +112 -112
  344. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-filter.component.mjs +2 -2
  345. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-print.component.mjs +2 -2
  346. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-view.component.mjs +64 -64
  347. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget.config.mjs +1 -1
  348. package/esm2022/widgets/lib/editors/file-box-widget/index.mjs +1 -1
  349. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-column.component.mjs +2 -2
  350. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-designer.component.mjs +2 -2
  351. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-edit.component.mjs +108 -108
  352. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-filter.component.mjs +2 -2
  353. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-print.component.mjs +2 -2
  354. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-types.mjs +1 -1
  355. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-view.component.mjs +98 -98
  356. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget.config.mjs +1 -1
  357. package/esm2022/widgets/lib/editors/gallery-widget/index.mjs +1 -1
  358. package/esm2022/widgets/lib/editors/map-box-widget/index.mjs +1 -1
  359. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-column.component.mjs +2 -2
  360. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-designer.component.mjs +2 -2
  361. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-edit.component.mjs +6 -6
  362. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-filter.component.mjs +2 -2
  363. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-print.component.mjs +2 -2
  364. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-view.component.mjs +6 -6
  365. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget.config.mjs +1 -1
  366. package/esm2022/widgets/lib/editors/number-box-widget/index.mjs +1 -1
  367. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-column.component.mjs +26 -7
  368. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-designer.component.mjs +2 -2
  369. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-edit.component.mjs +68 -68
  370. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-filter.component.mjs +2 -2
  371. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-print.component.mjs +2 -2
  372. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-view.component.mjs +33 -19
  373. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget.config.mjs +4 -1
  374. package/esm2022/widgets/lib/editors/password-box-widget/index.mjs +1 -1
  375. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-column.component.mjs +2 -2
  376. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-designer.component.mjs +2 -2
  377. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-edit.component.mjs +10 -10
  378. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-filter.component.mjs +2 -2
  379. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-print.component.mjs +2 -2
  380. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-view.component.mjs +46 -46
  381. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget.config.mjs +1 -1
  382. package/esm2022/widgets/lib/editors/phone-box-widget/index.mjs +1 -1
  383. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-column.component.mjs +54 -7
  384. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-designer.component.mjs +2 -2
  385. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-edit.component.mjs +162 -134
  386. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-filter.component.mjs +2 -2
  387. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-print.component.mjs +2 -2
  388. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-view.component.mjs +70 -70
  389. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget.config.mjs +1 -1
  390. package/esm2022/widgets/lib/editors/rich-text-widget/index.mjs +1 -1
  391. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-column.component.mjs +2 -2
  392. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-designer.component.mjs +2 -2
  393. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-edit.component.mjs +10 -10
  394. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-filter.component.mjs +2 -2
  395. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-print.component.mjs +2 -2
  396. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-view.component.mjs +10 -10
  397. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget.config.mjs +1 -1
  398. package/esm2022/widgets/lib/editors/select-box-widget/index.mjs +1 -1
  399. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-column.component.mjs +5 -5
  400. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-designer.component.mjs +2 -2
  401. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-edit.component.mjs +26 -26
  402. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-filter.component.mjs +2 -2
  403. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-print.component.mjs +2 -2
  404. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-view.component.mjs +24 -18
  405. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget.config.mjs +1 -1
  406. package/esm2022/widgets/lib/editors/selection-list-widget/index.mjs +1 -1
  407. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-column.component.mjs +30 -8
  408. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-designer.component.mjs +2 -2
  409. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-edit.component.mjs +32 -32
  410. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-filter.component.mjs +2 -2
  411. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-print.component.mjs +2 -2
  412. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-view.component.mjs +29 -8
  413. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget.config.mjs +1 -1
  414. package/esm2022/widgets/lib/editors/signature-pad-widget/index.mjs +1 -1
  415. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-column.component.mjs +2 -2
  416. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-designer.component.mjs +2 -2
  417. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-edit.component.mjs +56 -56
  418. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-filter.component.mjs +2 -2
  419. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-print.component.mjs +2 -2
  420. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-view.component.mjs +18 -18
  421. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget.config.mjs +1 -1
  422. package/esm2022/widgets/lib/editors/text-box-widget/index.mjs +1 -1
  423. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-column.component.mjs +7 -6
  424. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-designer.component.mjs +2 -2
  425. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-edit.component.mjs +62 -62
  426. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-filter.component.mjs +2 -2
  427. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-print.component.mjs +2 -2
  428. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-view.component.mjs +18 -18
  429. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget.config.mjs +2 -1
  430. package/esm2022/widgets/lib/editors/toggle-widget/index.mjs +8 -0
  431. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-column.component.mjs +47 -0
  432. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-designer.component.mjs +19 -0
  433. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-edit.component.mjs +27 -0
  434. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-filter.component.mjs +20 -0
  435. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-print.component.mjs +19 -0
  436. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-view.component.mjs +47 -0
  437. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget.config.mjs +24 -0
  438. package/esm2022/widgets/lib/layout/block-widget/block-widget.component.mjs +14 -14
  439. package/esm2022/widgets/lib/layout/block-widget/block-widget.config.mjs +1 -1
  440. package/esm2022/widgets/lib/layout/block-widget/index.mjs +1 -1
  441. package/esm2022/widgets/lib/widgets.module.mjs +6 -3
  442. package/esm2022/workflow/index.mjs +1 -1
  443. package/esm2022/workflow/lib/errors.types.mjs +1 -1
  444. package/esm2022/workflow/lib/workflow-event-dispatcher.service.mjs +1 -1
  445. package/esm2022/workflow/lib/workflow-registery.service.mjs +1 -1
  446. package/esm2022/workflow/lib/workflow.module.mjs +1 -1
  447. package/esm2022/workflow/lib/workflow.service.mjs +1 -1
  448. package/esm2022/workflow/lib/workflow.types.mjs +1 -1
  449. package/fesm2022/acorex-platform-auth.mjs +3 -1
  450. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  451. package/fesm2022/acorex-platform-common-avatar-widget-edit.component-DAmNXjDm.mjs +178 -0
  452. package/fesm2022/acorex-platform-common-avatar-widget-edit.component-DAmNXjDm.mjs.map +1 -0
  453. package/fesm2022/acorex-platform-common-avatar-widget-view.component-BlA_cFkP.mjs +85 -0
  454. package/fesm2022/acorex-platform-common-avatar-widget-view.component-BlA_cFkP.mjs.map +1 -0
  455. package/fesm2022/acorex-platform-common-boolean-widget-filter.component-CEqibiML.mjs +169 -0
  456. package/fesm2022/acorex-platform-common-boolean-widget-filter.component-CEqibiML.mjs.map +1 -0
  457. package/fesm2022/acorex-platform-common-change-password.component-NvrMMq9e.mjs +177 -0
  458. package/fesm2022/acorex-platform-common-change-password.component-NvrMMq9e.mjs.map +1 -0
  459. package/fesm2022/acorex-platform-common-checkbox-widget-column.component-BiUHPDqV.mjs +76 -0
  460. package/fesm2022/acorex-platform-common-checkbox-widget-column.component-BiUHPDqV.mjs.map +1 -0
  461. package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-BVG9_XXh.mjs +46 -0
  462. package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-BVG9_XXh.mjs.map +1 -0
  463. package/fesm2022/acorex-platform-common-checkbox-widget-view.component-CfGkMcDi.mjs +70 -0
  464. package/fesm2022/acorex-platform-common-checkbox-widget-view.component-CfGkMcDi.mjs.map +1 -0
  465. package/fesm2022/acorex-platform-common-dateTime-widget-column.component-BlXTU887.mjs +66 -0
  466. package/fesm2022/acorex-platform-common-dateTime-widget-column.component-BlXTU887.mjs.map +1 -0
  467. package/fesm2022/acorex-platform-common-dateTime-widget-edit.component-B0s6FN-g.mjs +198 -0
  468. package/fesm2022/acorex-platform-common-dateTime-widget-edit.component-B0s6FN-g.mjs.map +1 -0
  469. package/fesm2022/acorex-platform-common-dateTime-widget-filter.component-B7KBCsUt.mjs +233 -0
  470. package/fesm2022/acorex-platform-common-dateTime-widget-filter.component-B7KBCsUt.mjs.map +1 -0
  471. package/fesm2022/acorex-platform-common-dateTime-widget-view.component-Dy7pAkGG.mjs +93 -0
  472. package/fesm2022/acorex-platform-common-dateTime-widget-view.component-Dy7pAkGG.mjs.map +1 -0
  473. package/fesm2022/acorex-platform-common-email-widget-column.component-D_UNn2dW.mjs +97 -0
  474. package/fesm2022/acorex-platform-common-email-widget-column.component-D_UNn2dW.mjs.map +1 -0
  475. package/fesm2022/acorex-platform-common-email-widget-edit.component-DWT24mCM.mjs +269 -0
  476. package/fesm2022/acorex-platform-common-email-widget-edit.component-DWT24mCM.mjs.map +1 -0
  477. package/fesm2022/acorex-platform-common-email-widget-view.component-B6puyycL.mjs +130 -0
  478. package/fesm2022/acorex-platform-common-email-widget-view.component-B6puyycL.mjs.map +1 -0
  479. package/fesm2022/acorex-platform-common-file-widget-column.component-C1faGR4K.mjs +49 -0
  480. package/fesm2022/acorex-platform-common-file-widget-column.component-C1faGR4K.mjs.map +1 -0
  481. package/fesm2022/acorex-platform-common-file-widget-edit.component-CTvS9ls8.mjs +221 -0
  482. package/fesm2022/acorex-platform-common-file-widget-edit.component-CTvS9ls8.mjs.map +1 -0
  483. package/fesm2022/acorex-platform-common-file-widget-filter.component-D4AMg5M0.mjs +51 -0
  484. package/fesm2022/acorex-platform-common-file-widget-filter.component-D4AMg5M0.mjs.map +1 -0
  485. package/fesm2022/acorex-platform-common-file-widget-view.component-CHI4VCvt.mjs +174 -0
  486. package/fesm2022/acorex-platform-common-file-widget-view.component-CHI4VCvt.mjs.map +1 -0
  487. package/fesm2022/acorex-platform-common-gallery-widget-edit.component-CAOctYzV.mjs +209 -0
  488. package/fesm2022/acorex-platform-common-gallery-widget-edit.component-CAOctYzV.mjs.map +1 -0
  489. package/fesm2022/acorex-platform-common-gallery-widget-filter.component-lgaYDZeD.mjs +50 -0
  490. package/fesm2022/acorex-platform-common-gallery-widget-filter.component-lgaYDZeD.mjs.map +1 -0
  491. package/fesm2022/acorex-platform-common-gallery-widget-view.component-Ci50jeO5.mjs +193 -0
  492. package/fesm2022/acorex-platform-common-gallery-widget-view.component-Ci50jeO5.mjs.map +1 -0
  493. package/fesm2022/acorex-platform-common-largetext-widget-edit.component-DFKG-kum.mjs +60 -0
  494. package/fesm2022/acorex-platform-common-largetext-widget-edit.component-DFKG-kum.mjs.map +1 -0
  495. package/fesm2022/acorex-platform-common-lookup-widget-column.component-CFzCGcqA.mjs +66 -0
  496. package/fesm2022/acorex-platform-common-lookup-widget-column.component-CFzCGcqA.mjs.map +1 -0
  497. package/fesm2022/acorex-platform-common-lookup-widget-edit.component-CYTSeEOq.mjs +96 -0
  498. package/fesm2022/acorex-platform-common-lookup-widget-edit.component-CYTSeEOq.mjs.map +1 -0
  499. package/fesm2022/acorex-platform-common-lookup-widget-filter.component-BkxT9_Hh.mjs +135 -0
  500. package/fesm2022/acorex-platform-common-lookup-widget-filter.component-BkxT9_Hh.mjs.map +1 -0
  501. package/fesm2022/acorex-platform-common-lookup-widget-view.component-5YeixMp7.mjs +77 -0
  502. package/fesm2022/acorex-platform-common-lookup-widget-view.component-5YeixMp7.mjs.map +1 -0
  503. package/fesm2022/acorex-platform-common-map-widget-edit.component-CE3QQBmX.mjs +114 -0
  504. package/fesm2022/acorex-platform-common-map-widget-edit.component-CE3QQBmX.mjs.map +1 -0
  505. package/fesm2022/acorex-platform-common-map-widget-view.component-Cv4OCTxz.mjs +86 -0
  506. package/fesm2022/acorex-platform-common-map-widget-view.component-Cv4OCTxz.mjs.map +1 -0
  507. package/fesm2022/acorex-platform-common-messenger-widget-column.component-CJdh6TKb.mjs +95 -0
  508. package/fesm2022/acorex-platform-common-messenger-widget-column.component-CJdh6TKb.mjs.map +1 -0
  509. package/fesm2022/acorex-platform-common-messenger-widget-edit.component-kiEHxJia.mjs +157 -0
  510. package/fesm2022/acorex-platform-common-messenger-widget-edit.component-kiEHxJia.mjs.map +1 -0
  511. package/fesm2022/acorex-platform-common-messenger-widget-view.component-DzbjgZA7.mjs +154 -0
  512. package/fesm2022/acorex-platform-common-messenger-widget-view.component-DzbjgZA7.mjs.map +1 -0
  513. package/fesm2022/acorex-platform-common-number-widget-edit.component-BRuIP96Y.mjs +68 -0
  514. package/fesm2022/acorex-platform-common-number-widget-edit.component-BRuIP96Y.mjs.map +1 -0
  515. package/fesm2022/acorex-platform-common-number-widget-filter.component-jQ4DaFQH.mjs +157 -0
  516. package/fesm2022/acorex-platform-common-number-widget-filter.component-jQ4DaFQH.mjs.map +1 -0
  517. package/fesm2022/acorex-platform-common-number-widget-view.component-BzUWjT8m.mjs +54 -0
  518. package/fesm2022/acorex-platform-common-number-widget-view.component-BzUWjT8m.mjs.map +1 -0
  519. package/fesm2022/acorex-platform-common-password-widget-column.component-BRzyuK5c.mjs +89 -0
  520. package/fesm2022/acorex-platform-common-password-widget-column.component-BRzyuK5c.mjs.map +1 -0
  521. package/fesm2022/acorex-platform-common-password-widget-edit.component-q6R2dw5k.mjs +64 -0
  522. package/fesm2022/acorex-platform-common-password-widget-edit.component-q6R2dw5k.mjs.map +1 -0
  523. package/fesm2022/acorex-platform-common-password-widget-view.component-CKaQItON.mjs +128 -0
  524. package/fesm2022/acorex-platform-common-password-widget-view.component-CKaQItON.mjs.map +1 -0
  525. package/fesm2022/acorex-platform-common-phone-widget-column.component-BD7BScjW.mjs +115 -0
  526. package/fesm2022/acorex-platform-common-phone-widget-column.component-BD7BScjW.mjs.map +1 -0
  527. package/fesm2022/acorex-platform-common-phone-widget-edit.component-D8tGKfNj.mjs +265 -0
  528. package/fesm2022/acorex-platform-common-phone-widget-edit.component-D8tGKfNj.mjs.map +1 -0
  529. package/fesm2022/acorex-platform-common-phone-widget-view.component-CFiMsGOB.mjs +145 -0
  530. package/fesm2022/acorex-platform-common-phone-widget-view.component-CFiMsGOB.mjs.map +1 -0
  531. package/fesm2022/acorex-platform-common-rich-text-widget-column.component-BPzwY_8L.mjs +85 -0
  532. package/fesm2022/acorex-platform-common-rich-text-widget-column.component-BPzwY_8L.mjs.map +1 -0
  533. package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-CA2xRfVg.mjs +89 -0
  534. package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-CA2xRfVg.mjs.map +1 -0
  535. package/fesm2022/acorex-platform-common-rich-text-widget-view.component-DYfTZ64H.mjs +58 -0
  536. package/fesm2022/acorex-platform-common-rich-text-widget-view.component-DYfTZ64H.mjs.map +1 -0
  537. package/fesm2022/acorex-platform-common-selection-list-widget-column.component-_MglaOmo.mjs +69 -0
  538. package/fesm2022/acorex-platform-common-selection-list-widget-column.component-_MglaOmo.mjs.map +1 -0
  539. package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-QKw_tyOd.mjs +76 -0
  540. package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-QKw_tyOd.mjs.map +1 -0
  541. package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-DRToTnHQ.mjs +65 -0
  542. package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-DRToTnHQ.mjs.map +1 -0
  543. package/fesm2022/acorex-platform-common-selection-list-widget-view.component-CjDiuUdj.mjs +69 -0
  544. package/fesm2022/acorex-platform-common-selection-list-widget-view.component-CjDiuUdj.mjs.map +1 -0
  545. package/fesm2022/acorex-platform-common-signature-pad-widget-edit.component-DF29uWl2.mjs +148 -0
  546. package/fesm2022/acorex-platform-common-signature-pad-widget-edit.component-DF29uWl2.mjs.map +1 -0
  547. package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-BWzoR4HM.mjs +63 -0
  548. package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-BWzoR4HM.mjs.map +1 -0
  549. package/fesm2022/acorex-platform-common-string-widget-filter.component-Di_GFHme.mjs +147 -0
  550. package/fesm2022/acorex-platform-common-string-widget-filter.component-Di_GFHme.mjs.map +1 -0
  551. package/fesm2022/acorex-platform-common-text-widget-column.component-BSYd1CbC.mjs +70 -0
  552. package/fesm2022/acorex-platform-common-text-widget-column.component-BSYd1CbC.mjs.map +1 -0
  553. package/fesm2022/acorex-platform-common-text-widget-edit.component-K9z9N1qw.mjs +183 -0
  554. package/fesm2022/acorex-platform-common-text-widget-edit.component-K9z9N1qw.mjs.map +1 -0
  555. package/fesm2022/acorex-platform-common-text-widget-view.component-WbZtm_bf.mjs +90 -0
  556. package/fesm2022/acorex-platform-common-text-widget-view.component-WbZtm_bf.mjs.map +1 -0
  557. package/fesm2022/acorex-platform-common-toggle-widget-column.component-ZCBSYMuz.mjs +80 -0
  558. package/fesm2022/acorex-platform-common-toggle-widget-column.component-ZCBSYMuz.mjs.map +1 -0
  559. package/fesm2022/acorex-platform-common-toggle-widget-edit.component-rkDfLA-J.mjs +46 -0
  560. package/fesm2022/acorex-platform-common-toggle-widget-edit.component-rkDfLA-J.mjs.map +1 -0
  561. package/fesm2022/acorex-platform-common-toggle-widget-view.component-DLDIrci1.mjs +72 -0
  562. package/fesm2022/acorex-platform-common-toggle-widget-view.component-DLDIrci1.mjs.map +1 -0
  563. package/fesm2022/acorex-platform-common.mjs +2056 -246
  564. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  565. package/fesm2022/acorex-platform-layout-builder.mjs +687 -0
  566. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -0
  567. package/fesm2022/acorex-platform-layout-entity.mjs +1848 -0
  568. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -0
  569. package/fesm2022/acorex-platform-layouts-entity-create-view.component-BmSMt95H.mjs +107 -0
  570. package/fesm2022/acorex-platform-layouts-entity-create-view.component-BmSMt95H.mjs.map +1 -0
  571. package/fesm2022/acorex-platform-layouts-entity-modify-view.component-D1h1xORH.mjs +88 -0
  572. package/fesm2022/acorex-platform-layouts-entity-modify-view.component-D1h1xORH.mjs.map +1 -0
  573. package/fesm2022/acorex-platform-layouts.mjs +1058 -2553
  574. package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
  575. package/fesm2022/acorex-platform-mocks.mjs.map +1 -1
  576. package/fesm2022/acorex-platform-native.mjs.map +1 -1
  577. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-Cx6WLV3_.mjs +48 -0
  578. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-Cx6WLV3_.mjs.map +1 -0
  579. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-C_68pr-9.mjs +57 -0
  580. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-C_68pr-9.mjs.map +1 -0
  581. package/fesm2022/acorex-platform-widgets.mjs +1755 -1293
  582. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  583. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  584. package/fesm2022/acorex-platform.mjs.map +1 -1
  585. package/layout/builder/README.md +4 -0
  586. package/layout/builder/index.d.ts +1 -0
  587. package/layout/builder/lib/builder/builder.module.d.ts +23 -0
  588. package/layout/builder/lib/builder/builder.service.d.ts +27 -0
  589. package/layout/builder/lib/builder/index.d.ts +8 -0
  590. package/layout/builder/lib/builder/layout.types.d.ts +30 -0
  591. package/layout/builder/lib/builder/widget-column-renderer.d.ts +31 -0
  592. package/layout/builder/lib/builder/widget-container.component.d.ts +15 -0
  593. package/layout/builder/lib/builder/widget-renderer.component.d.ts +43 -0
  594. package/layout/builder/lib/builder/widget.types.d.ts +74 -0
  595. package/layout/entity/README.md +4 -0
  596. package/layout/entity/index.d.ts +1 -0
  597. package/layout/entity/lib/entity-detail-list.viewmodel.d.ts +32 -0
  598. package/layout/entity/lib/entity-master-create.viewmodel.d.ts +49 -0
  599. package/layout/entity/lib/entity-master-list.viewmodel.d.ts +82 -0
  600. package/layout/entity/lib/entity-master-single.viewmodel.d.ts +62 -0
  601. package/layout/entity/lib/entity-master-update.viewmodel.d.ts +39 -0
  602. package/layout/entity/lib/entity-registery.service.d.ts +34 -0
  603. package/layout/entity/lib/entity.config.d.ts +21 -0
  604. package/layout/entity/lib/entity.module.d.ts +9 -0
  605. package/layout/entity/lib/entity.viewmodel.d.ts +22 -0
  606. package/layout/entity/lib/index.d.ts +8 -0
  607. package/layout/entity/lib/widgets/lookup-widget/index.d.ts +7 -0
  608. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-column.component.d.ts +6 -0
  609. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-designer.component.d.ts +6 -0
  610. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.d.ts +27 -0
  611. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-filter.component.d.ts +6 -0
  612. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-print.component.d.ts +6 -0
  613. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.component.d.ts +13 -0
  614. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.viewmodel.d.ts +15 -0
  615. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-view.component.d.ts +6 -0
  616. package/layout/entity/lib/widgets/lookup-widget/lookup-widget.config.d.ts +2 -0
  617. package/layout/entity/lib/workflows/create-entity.workflow.d.ts +29 -0
  618. package/layout/entity/lib/workflows/delete-entity.workflow.d.ts +26 -0
  619. package/layout/entity/lib/workflows/modify-section.workflow.d.ts +34 -0
  620. package/layout/entity/lib/workflows/show-details.workflow.d.ts +10 -0
  621. package/layouts/README.md +3 -3
  622. package/layouts/index.d.ts +0 -2
  623. package/layouts/lib/admin/admin.module.d.ts +3 -6
  624. package/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.component.d.ts +1 -1
  625. package/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.config.d.ts +3 -3
  626. package/layouts/lib/admin/entity-layout/entity-details-view/detail-view.config.d.ts +3 -3
  627. package/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.d.ts +1 -1
  628. package/layouts/lib/admin/entity-layout/entity-list-view/components/entity-custom-view/entity-custom-view.component.d.ts +2 -3
  629. package/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-columns/list-view-option-columns.component.d.ts +1 -1
  630. package/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.d.ts +4 -6
  631. package/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-filter-operator.component.d.ts +1 -1
  632. package/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-sorting/list-view-option-sorting.component.d.ts +3 -4
  633. package/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.d.ts +6 -6
  634. package/layouts/lib/admin/entity-layout/entity-list-view/list-view.config.d.ts +5 -6
  635. package/layouts/lib/admin/entity-layout/entity-list-view/list-view.module.d.ts +3 -4
  636. package/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.component.d.ts +1 -1
  637. package/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.config.d.ts +3 -3
  638. package/layouts/lib/admin/entity-layout/entity-quick-view/entity-quick-view.component.d.ts +2 -2
  639. package/layouts/lib/admin/entity-layout/workflows/index.d.ts +3 -0
  640. package/layouts/lib/admin/entity-layout/workflows/modify-section.workflow.d.ts +12 -0
  641. package/layouts/lib/admin/entity-layout/workflows/show-details.workflow.d.ts +9 -1
  642. package/layouts/lib/admin/entity-layout/workflows/show-list.workflow.d.ts +9 -1
  643. package/layouts/lib/admin/entity-layout/workflows/show-quick-view.workflow.d.ts +11 -1
  644. package/layouts/lib/admin/index.d.ts +0 -2
  645. package/layouts/lib/layout.module.d.ts +4 -4
  646. package/mocks/README.md +3 -3
  647. package/package.json +29 -20
  648. package/widgets/README.md +3 -3
  649. package/widgets/lib/editors/checkbox/checkbox-widget-column.component.d.ts +9 -0
  650. package/widgets/lib/editors/checkbox/checkbox-widget-edit.component.d.ts +1 -1
  651. package/widgets/lib/editors/checkbox/checkbox-widget-view.component.d.ts +9 -0
  652. package/widgets/lib/editors/checkbox/checkbox-widget.config.d.ts +1 -1
  653. package/widgets/lib/editors/date-time-box-widget/date-time-box-widget-column.component.d.ts +11 -3
  654. package/widgets/lib/editors/date-time-box-widget/date-time-box-widget-designer.component.d.ts +1 -1
  655. package/widgets/lib/editors/date-time-box-widget/date-time-box-widget-edit.component.d.ts +1 -1
  656. package/widgets/lib/editors/date-time-box-widget/date-time-box-widget-filter.component.d.ts +1 -1
  657. package/widgets/lib/editors/date-time-box-widget/date-time-box-widget-print.component.d.ts +1 -1
  658. package/widgets/lib/editors/date-time-box-widget/date-time-box-widget-view.component.d.ts +1 -1
  659. package/widgets/lib/editors/date-time-box-widget/date-time-box-widget.config.d.ts +1 -1
  660. package/widgets/lib/editors/email-box-widget/email-box-widget-column.component.d.ts +13 -3
  661. package/widgets/lib/editors/email-box-widget/email-box-widget-designer.component.d.ts +1 -1
  662. package/widgets/lib/editors/email-box-widget/email-box-widget-edit.component.d.ts +7 -1
  663. package/widgets/lib/editors/email-box-widget/email-box-widget-filter.component.d.ts +1 -1
  664. package/widgets/lib/editors/email-box-widget/email-box-widget-print.component.d.ts +1 -1
  665. package/widgets/lib/editors/email-box-widget/email-box-widget-view.component.d.ts +1 -1
  666. package/widgets/lib/editors/email-box-widget/email-box-widget.config.d.ts +1 -1
  667. package/widgets/lib/editors/file-box-widget/file-box-widget-column.component.d.ts +1 -1
  668. package/widgets/lib/editors/file-box-widget/file-box-widget-designer.component.d.ts +1 -1
  669. package/widgets/lib/editors/file-box-widget/file-box-widget-edit.component.d.ts +1 -1
  670. package/widgets/lib/editors/file-box-widget/file-box-widget-filter.component.d.ts +1 -1
  671. package/widgets/lib/editors/file-box-widget/file-box-widget-print.component.d.ts +1 -1
  672. package/widgets/lib/editors/file-box-widget/file-box-widget-view.component.d.ts +1 -1
  673. package/widgets/lib/editors/file-box-widget/file-box-widget.config.d.ts +1 -1
  674. package/widgets/lib/editors/gallery-widget/gallery-widget-column.component.d.ts +1 -1
  675. package/widgets/lib/editors/gallery-widget/gallery-widget-designer.component.d.ts +1 -1
  676. package/widgets/lib/editors/gallery-widget/gallery-widget-edit.component.d.ts +1 -1
  677. package/widgets/lib/editors/gallery-widget/gallery-widget-filter.component.d.ts +1 -1
  678. package/widgets/lib/editors/gallery-widget/gallery-widget-print.component.d.ts +1 -1
  679. package/widgets/lib/editors/gallery-widget/gallery-widget-view.component.d.ts +1 -1
  680. package/widgets/lib/editors/gallery-widget/gallery-widget.config.d.ts +1 -1
  681. package/widgets/lib/editors/map-box-widget/map-box-widget-column.component.d.ts +1 -1
  682. package/widgets/lib/editors/map-box-widget/map-box-widget-designer.component.d.ts +1 -1
  683. package/widgets/lib/editors/map-box-widget/map-box-widget-edit.component.d.ts +1 -1
  684. package/widgets/lib/editors/map-box-widget/map-box-widget-filter.component.d.ts +1 -1
  685. package/widgets/lib/editors/map-box-widget/map-box-widget-print.component.d.ts +1 -1
  686. package/widgets/lib/editors/map-box-widget/map-box-widget-view.component.d.ts +1 -1
  687. package/widgets/lib/editors/map-box-widget/map-box-widget.config.d.ts +1 -1
  688. package/widgets/lib/editors/number-box-widget/number-box-widget-column.component.d.ts +5 -3
  689. package/widgets/lib/editors/number-box-widget/number-box-widget-designer.component.d.ts +1 -1
  690. package/widgets/lib/editors/number-box-widget/number-box-widget-edit.component.d.ts +2 -2
  691. package/widgets/lib/editors/number-box-widget/number-box-widget-filter.component.d.ts +1 -1
  692. package/widgets/lib/editors/number-box-widget/number-box-widget-print.component.d.ts +1 -1
  693. package/widgets/lib/editors/number-box-widget/number-box-widget-view.component.d.ts +8 -2
  694. package/widgets/lib/editors/number-box-widget/number-box-widget.config.d.ts +1 -1
  695. package/widgets/lib/editors/password-box-widget/password-box-widget-column.component.d.ts +1 -1
  696. package/widgets/lib/editors/password-box-widget/password-box-widget-designer.component.d.ts +1 -1
  697. package/widgets/lib/editors/password-box-widget/password-box-widget-edit.component.d.ts +1 -1
  698. package/widgets/lib/editors/password-box-widget/password-box-widget-filter.component.d.ts +1 -1
  699. package/widgets/lib/editors/password-box-widget/password-box-widget-print.component.d.ts +1 -1
  700. package/widgets/lib/editors/password-box-widget/password-box-widget-view.component.d.ts +1 -1
  701. package/widgets/lib/editors/password-box-widget/password-box-widget.config.d.ts +1 -1
  702. package/widgets/lib/editors/phone-box-widget/phone-box-widget-column.component.d.ts +13 -3
  703. package/widgets/lib/editors/phone-box-widget/phone-box-widget-designer.component.d.ts +1 -1
  704. package/widgets/lib/editors/phone-box-widget/phone-box-widget-edit.component.d.ts +6 -1
  705. package/widgets/lib/editors/phone-box-widget/phone-box-widget-filter.component.d.ts +1 -1
  706. package/widgets/lib/editors/phone-box-widget/phone-box-widget-print.component.d.ts +1 -1
  707. package/widgets/lib/editors/phone-box-widget/phone-box-widget-view.component.d.ts +1 -1
  708. package/widgets/lib/editors/phone-box-widget/phone-box-widget.config.d.ts +1 -1
  709. package/widgets/lib/editors/rich-text-widget/rich-text-widget-column.component.d.ts +1 -1
  710. package/widgets/lib/editors/rich-text-widget/rich-text-widget-designer.component.d.ts +1 -1
  711. package/widgets/lib/editors/rich-text-widget/rich-text-widget-edit.component.d.ts +1 -1
  712. package/widgets/lib/editors/rich-text-widget/rich-text-widget-filter.component.d.ts +1 -1
  713. package/widgets/lib/editors/rich-text-widget/rich-text-widget-print.component.d.ts +1 -1
  714. package/widgets/lib/editors/rich-text-widget/rich-text-widget-view.component.d.ts +1 -1
  715. package/widgets/lib/editors/rich-text-widget/rich-text-widget.config.d.ts +1 -1
  716. package/widgets/lib/editors/select-box-widget/select-box-widget-column.component.d.ts +3 -3
  717. package/widgets/lib/editors/select-box-widget/select-box-widget-designer.component.d.ts +1 -1
  718. package/widgets/lib/editors/select-box-widget/select-box-widget-edit.component.d.ts +1 -1
  719. package/widgets/lib/editors/select-box-widget/select-box-widget-filter.component.d.ts +1 -1
  720. package/widgets/lib/editors/select-box-widget/select-box-widget-print.component.d.ts +1 -1
  721. package/widgets/lib/editors/select-box-widget/select-box-widget-view.component.d.ts +1 -1
  722. package/widgets/lib/editors/select-box-widget/select-box-widget.config.d.ts +1 -1
  723. package/widgets/lib/editors/selection-list-widget/selection-list-widget-column.component.d.ts +11 -3
  724. package/widgets/lib/editors/selection-list-widget/selection-list-widget-designer.component.d.ts +1 -1
  725. package/widgets/lib/editors/selection-list-widget/selection-list-widget-edit.component.d.ts +1 -1
  726. package/widgets/lib/editors/selection-list-widget/selection-list-widget-filter.component.d.ts +1 -1
  727. package/widgets/lib/editors/selection-list-widget/selection-list-widget-print.component.d.ts +1 -1
  728. package/widgets/lib/editors/selection-list-widget/selection-list-widget-view.component.d.ts +7 -2
  729. package/widgets/lib/editors/selection-list-widget/selection-list-widget.config.d.ts +1 -1
  730. package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-column.component.d.ts +1 -1
  731. package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-designer.component.d.ts +1 -1
  732. package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-edit.component.d.ts +1 -1
  733. package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-filter.component.d.ts +1 -1
  734. package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-print.component.d.ts +1 -1
  735. package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-view.component.d.ts +1 -1
  736. package/widgets/lib/editors/signature-pad-widget/signature-pad-widget.config.d.ts +1 -1
  737. package/widgets/lib/editors/text-box-widget/text-box-widget-column.component.d.ts +3 -3
  738. package/widgets/lib/editors/text-box-widget/text-box-widget-designer.component.d.ts +1 -1
  739. package/widgets/lib/editors/text-box-widget/text-box-widget-edit.component.d.ts +2 -2
  740. package/widgets/lib/editors/text-box-widget/text-box-widget-filter.component.d.ts +1 -1
  741. package/widgets/lib/editors/text-box-widget/text-box-widget-print.component.d.ts +1 -1
  742. package/widgets/lib/editors/text-box-widget/text-box-widget-view.component.d.ts +1 -1
  743. package/widgets/lib/editors/text-box-widget/text-box-widget.config.d.ts +1 -1
  744. package/widgets/lib/editors/toggle-widget/index.d.ts +7 -0
  745. package/widgets/lib/editors/toggle-widget/toggle-widget-column.component.d.ts +9 -0
  746. package/widgets/lib/editors/toggle-widget/toggle-widget-designer.component.d.ts +6 -0
  747. package/widgets/lib/editors/toggle-widget/toggle-widget-edit.component.d.ts +7 -0
  748. package/widgets/lib/editors/toggle-widget/toggle-widget-filter.component.d.ts +6 -0
  749. package/widgets/lib/editors/toggle-widget/toggle-widget-print.component.d.ts +6 -0
  750. package/widgets/lib/editors/toggle-widget/toggle-widget-view.component.d.ts +9 -0
  751. package/widgets/lib/editors/toggle-widget/toggle-widget.config.d.ts +2 -0
  752. package/widgets/lib/layout/block-widget/block-widget.component.d.ts +2 -2
  753. package/widgets/lib/layout/block-widget/block-widget.config.d.ts +1 -1
  754. package/widgets/lib/widgets.module.d.ts +1 -1
  755. package/workflow/README.md +3 -3
  756. package/workflow/lib/workflow.types.d.ts +2 -2
  757. package/common/lib/shared/state-persistence/index.d.ts +0 -3
  758. package/common/lib/shared/state-persistence/state-persistence.actions.d.ts +0 -1
  759. package/common/lib/shared/state-persistence/state-persistence.module.d.ts +0 -8
  760. package/common/lib/shared/state-persistence/state-persistence.reducers.d.ts +0 -3
  761. package/common/lib/utils/sticky.directive.d.ts +0 -24
  762. package/core/README.md +0 -4
  763. package/core/index.d.ts +0 -4
  764. package/core/lib/app/application.types.d.ts +0 -144
  765. package/core/lib/core.module.d.ts +0 -6
  766. package/esm2022/common/lib/menu/index.mjs +0 -3
  767. package/esm2022/common/lib/menu/menu.loader.mjs +0 -39
  768. package/esm2022/common/lib/menu/menu.types.mjs +0 -2
  769. package/esm2022/common/lib/shared/logo.types.mjs +0 -21
  770. package/esm2022/common/lib/shared/state-persistence/index.mjs +0 -4
  771. package/esm2022/common/lib/shared/state-persistence/state-persistence.actions.mjs +0 -3
  772. package/esm2022/common/lib/shared/state-persistence/state-persistence.module.mjs +0 -36
  773. package/esm2022/common/lib/shared/state-persistence/state-persistence.reducers.mjs +0 -30
  774. package/esm2022/common/lib/utils/sticky.directive.mjs +0 -74
  775. package/esm2022/core/acorex-platform-core.mjs +0 -5
  776. package/esm2022/core/index.mjs +0 -5
  777. package/esm2022/core/lib/app/application.types.mjs +0 -19
  778. package/esm2022/core/lib/app/operators.mjs +0 -50
  779. package/esm2022/core/lib/configs/config.types.mjs +0 -3
  780. package/esm2022/core/lib/core.module.mjs +0 -16
  781. package/esm2022/layout/acorex-platform-layout.mjs +0 -5
  782. package/esm2022/layout/index.mjs +0 -3
  783. package/esm2022/layout/lib/builder/builder.module.mjs +0 -66
  784. package/esm2022/layout/lib/builder/context.service.mjs +0 -64
  785. package/esm2022/layout/lib/builder/index.mjs +0 -8
  786. package/esm2022/layout/lib/builder/widget-column-renderer.mjs +0 -75
  787. package/esm2022/layout/lib/builder/widget-container.mjs +0 -45
  788. package/esm2022/layout/lib/builder/widget-registery.service.mjs +0 -33
  789. package/esm2022/layout/lib/builder/widget-renderer.mjs +0 -279
  790. package/esm2022/layout/lib/builder/widget.types.mjs +0 -49
  791. package/esm2022/layout/lib/component-slot/component-slot-loader.service.mjs +0 -56
  792. package/esm2022/layout/lib/component-slot/component-slot-registery.service.mjs +0 -28
  793. package/esm2022/layout/lib/component-slot/component-slot.directive.mjs +0 -24
  794. package/esm2022/layout/lib/component-slot/component-slot.module.mjs +0 -72
  795. package/esm2022/layout/lib/component-slot/component-slot.types.mjs +0 -2
  796. package/esm2022/layout/lib/component-slot/index.mjs +0 -6
  797. package/esm2022/layouts/lib/admin/admin-child-layout/admin-child-features-list.component.mjs +0 -58
  798. package/esm2022/layouts/lib/admin/admin-child-layout/admin-child-layout.component.mjs +0 -50
  799. package/esm2022/layouts/lib/admin/admin-child-layout/admin-child-layout.module.mjs +0 -57
  800. package/esm2022/layouts/lib/admin/admin-child-layout/index.mjs +0 -4
  801. package/esm2022/layouts/lib/admin/admin-root-layout/admin-root-layout.component.mjs +0 -74
  802. package/esm2022/layouts/lib/admin/admin-root-layout/admin-root-layout.module.mjs +0 -92
  803. package/esm2022/layouts/lib/admin/admin-root-layout/components/admin-footer/admin-footer.component.mjs +0 -14
  804. package/esm2022/layouts/lib/admin/admin-root-layout/components/admin-header/admin-header.component.mjs +0 -29
  805. package/esm2022/layouts/lib/admin/admin-root-layout/index.mjs +0 -5
  806. package/esm2022/layouts/lib/admin/store/admin-layout.actions.mjs +0 -12
  807. package/esm2022/layouts/lib/admin/store/admin-layout.effects.mjs +0 -29
  808. package/esm2022/layouts/lib/admin/store/admin-layout.reducers.mjs +0 -60
  809. package/esm2022/layouts/lib/admin/store/admin-layout.selectors.mjs +0 -8
  810. package/esm2022/layouts/lib/admin/store/admin-layout.state.mjs +0 -16
  811. package/esm2022/layouts/lib/admin/store/index.mjs +0 -6
  812. package/esm2022/layouts/lib/layout.routes.mjs +0 -15
  813. package/esm2022/layouts/lib/shared/components/content-view/content-view.page.mjs +0 -64
  814. package/esm2022/layouts/lib/shared/components/content-view/content-view.type.mjs +0 -2
  815. package/esm2022/layouts/lib/shared/components/error-401/error-401.component.mjs +0 -28
  816. package/esm2022/layouts/lib/shared/components/error-404/error-404.component.mjs +0 -22
  817. package/esm2022/layouts/lib/shared/components/error-offline/error-offline.component.mjs +0 -16
  818. package/esm2022/layouts/lib/shared/components/index.mjs +0 -10
  819. package/esm2022/layouts/lib/shared/components/logo/logo.component.mjs +0 -38
  820. package/esm2022/layouts/lib/shared/components/slots/footer-text-slot.component.mjs +0 -20
  821. package/esm2022/layouts/lib/shared/components/slots/navbar-slot.component.mjs +0 -36
  822. package/esm2022/layouts/lib/shared/components/slots/theme-slot.component.mjs +0 -48
  823. package/esm2022/layouts/lib/shared/entity/entity-registery.service.mjs +0 -70
  824. package/esm2022/layouts/lib/shared/entity/entity.class.mjs +0 -32
  825. package/esm2022/layouts/lib/shared/entity/entity.loader.mjs +0 -13
  826. package/esm2022/layouts/lib/shared/entity/index.mjs +0 -4
  827. package/esm2022/layouts/lib/shared/index.mjs +0 -5
  828. package/esm2022/layouts/lib/shared/services/index.mjs +0 -2
  829. package/esm2022/layouts/lib/shared/services/layout.service.mjs +0 -79
  830. package/esm2022/layouts/lib/shared/workflows/common.workflow.mjs +0 -147
  831. package/esm2022/layouts/lib/shared/workflows/error-handler.mjs +0 -24
  832. package/esm2022/layouts/lib/shared/workflows/index.mjs +0 -3
  833. package/esm2022/layouts/lib/themes/default/entity-layouts/entity-details-view/entity-details-view.component.mjs +0 -73
  834. package/esm2022/layouts/lib/themes/default/entity-layouts/entity-details.viewmodel.mjs +0 -99
  835. package/esm2022/layouts/lib/themes/default/index.mjs +0 -3
  836. package/esm2022/layouts/lib/widgets/avatar/avatar-widget-edit.component.mjs +0 -160
  837. package/esm2022/layouts/lib/widgets/avatar/avatar-widget-view.component.mjs +0 -61
  838. package/esm2022/layouts/lib/widgets/checkbox/checkbox-widget-column.component.mjs +0 -53
  839. package/esm2022/layouts/lib/widgets/checkbox/checkbox-widget-edit.component.mjs +0 -22
  840. package/esm2022/layouts/lib/widgets/checkbox/checkbox-widget-view.component.mjs +0 -47
  841. package/esm2022/layouts/lib/widgets/common-widget-filter/boolean-widget-filter.component.mjs +0 -147
  842. package/esm2022/layouts/lib/widgets/common-widget-filter/number-widget-filter.component.mjs +0 -135
  843. package/esm2022/layouts/lib/widgets/common-widget-filter/string-widget-filter.component.mjs +0 -125
  844. package/esm2022/layouts/lib/widgets/common-widgets.module.mjs +0 -504
  845. package/esm2022/layouts/lib/widgets/dateTime/dateTime-widget-column.component.mjs +0 -44
  846. package/esm2022/layouts/lib/widgets/dateTime/dateTime-widget-edit.component.mjs +0 -178
  847. package/esm2022/layouts/lib/widgets/dateTime/dateTime-widget-filter.component.mjs +0 -214
  848. package/esm2022/layouts/lib/widgets/dateTime/dateTime-widget-view.component.mjs +0 -71
  849. package/esm2022/layouts/lib/widgets/email/email-widget-column.component.mjs +0 -73
  850. package/esm2022/layouts/lib/widgets/email/email-widget-edit.component.mjs +0 -249
  851. package/esm2022/layouts/lib/widgets/email/email-widget-view.component.mjs +0 -108
  852. package/esm2022/layouts/lib/widgets/file/file-widget-column.component.mjs +0 -27
  853. package/esm2022/layouts/lib/widgets/file/file-widget-edit.component.mjs +0 -200
  854. package/esm2022/layouts/lib/widgets/file/file-widget-filter.component.mjs +0 -27
  855. package/esm2022/layouts/lib/widgets/file/file-widget-view.component.mjs +0 -153
  856. package/esm2022/layouts/lib/widgets/gallery/gallery-widget-edit.component.mjs +0 -189
  857. package/esm2022/layouts/lib/widgets/gallery/gallery-widget-filter.component.mjs +0 -27
  858. package/esm2022/layouts/lib/widgets/gallery/gallery-widget-types.mjs +0 -2
  859. package/esm2022/layouts/lib/widgets/gallery/gallery-widget-view.component.mjs +0 -173
  860. package/esm2022/layouts/lib/widgets/index.mjs +0 -2
  861. package/esm2022/layouts/lib/widgets/lookup/lookup-widget-column.component.mjs +0 -43
  862. package/esm2022/layouts/lib/widgets/lookup/lookup-widget-edit.component.mjs +0 -74
  863. package/esm2022/layouts/lib/widgets/lookup/lookup-widget-filter.component.mjs +0 -115
  864. package/esm2022/layouts/lib/widgets/lookup/lookup-widget-view.component.mjs +0 -54
  865. package/esm2022/layouts/lib/widgets/map/map-widget-edit.component.mjs +0 -91
  866. package/esm2022/layouts/lib/widgets/map/map-widget-view.component.mjs +0 -63
  867. package/esm2022/layouts/lib/widgets/messenger/messenger-widget-column.component.mjs +0 -71
  868. package/esm2022/layouts/lib/widgets/messenger/messenger-widget-edit.component.mjs +0 -136
  869. package/esm2022/layouts/lib/widgets/messenger/messenger-widget-view.component.mjs +0 -132
  870. package/esm2022/layouts/lib/widgets/number/number-widget-edit.component.mjs +0 -46
  871. package/esm2022/layouts/lib/widgets/number/number-widget-view.component.mjs +0 -30
  872. package/esm2022/layouts/lib/widgets/password/change-password.component.mjs +0 -175
  873. package/esm2022/layouts/lib/widgets/password/password-widget-column.component.mjs +0 -67
  874. package/esm2022/layouts/lib/widgets/password/password-widget-edit.component.mjs +0 -41
  875. package/esm2022/layouts/lib/widgets/password/password-widget-view.component.mjs +0 -109
  876. package/esm2022/layouts/lib/widgets/phone/phone-widget-column.component.mjs +0 -91
  877. package/esm2022/layouts/lib/widgets/phone/phone-widget-edit.component.mjs +0 -231
  878. package/esm2022/layouts/lib/widgets/phone/phone-widget-view.component.mjs +0 -123
  879. package/esm2022/layouts/lib/widgets/rich-text/rich-text-widget-column.component.mjs +0 -61
  880. package/esm2022/layouts/lib/widgets/rich-text/rich-text-widget-edit.component.mjs +0 -67
  881. package/esm2022/layouts/lib/widgets/rich-text/rich-text-widget-view.component.mjs +0 -34
  882. package/esm2022/layouts/lib/widgets/selection-list/selection-list-widget-column.component.mjs +0 -43
  883. package/esm2022/layouts/lib/widgets/selection-list/selection-list-widget-edit.component.mjs +0 -53
  884. package/esm2022/layouts/lib/widgets/selection-list/selection-list-widget-filter.component.mjs +0 -41
  885. package/esm2022/layouts/lib/widgets/selection-list/selection-list-widget-view.component.mjs +0 -45
  886. package/esm2022/layouts/lib/widgets/signature-pad/signature-pad-widget-edit.component.mjs +0 -128
  887. package/esm2022/layouts/lib/widgets/signature-pad/signature-pad-widget-view.component.mjs +0 -41
  888. package/esm2022/layouts/lib/widgets/text/largetext-widget-edit.component.mjs +0 -37
  889. package/esm2022/layouts/lib/widgets/text/text-widget-column.component.mjs +0 -46
  890. package/esm2022/layouts/lib/widgets/text/text-widget-edit.component.mjs +0 -162
  891. package/esm2022/layouts/lib/widgets/text/text-widget-view.component.mjs +0 -66
  892. package/esm2022/layouts/lib/widgets/toggle/toggle-widget-column.component.mjs +0 -57
  893. package/esm2022/layouts/lib/widgets/toggle/toggle-widget-edit.component.mjs +0 -25
  894. package/esm2022/layouts/lib/widgets/toggle/toggle-widget-view.component.mjs +0 -49
  895. package/esm2022/schema/acorex-platform-schema.mjs +0 -5
  896. package/esm2022/schema/index.mjs +0 -14
  897. package/esm2022/schema/lib/component-loader.mjs +0 -2
  898. package/esm2022/schema/lib/formats.mjs +0 -2
  899. package/esm2022/schema/lib/operators.mjs +0 -50
  900. package/esm2022/schema/lib/schema-registery.service.mjs +0 -33
  901. package/esm2022/schema/lib/schema.module.mjs +0 -23
  902. package/esm2022/schema/lib/schema.types.mjs +0 -2
  903. package/esm2022/schema/lib/widget/widget-base.mjs +0 -113
  904. package/esm2022/schema/lib/widget/widget-column-renderer.mjs +0 -118
  905. package/esm2022/schema/lib/widget/widget-filter-renderer.mjs +0 -133
  906. package/esm2022/schema/lib/widget/widget-renderer.mjs +0 -144
  907. package/esm2022/schema/lib/widget/widget-token.mjs +0 -3
  908. package/fesm2022/acorex-platform-core.mjs +0 -94
  909. package/fesm2022/acorex-platform-core.mjs.map +0 -1
  910. package/fesm2022/acorex-platform-layout.mjs +0 -756
  911. package/fesm2022/acorex-platform-layout.mjs.map +0 -1
  912. package/fesm2022/acorex-platform-layouts-avatar-widget-edit.component-a_eCmVu5.mjs +0 -162
  913. package/fesm2022/acorex-platform-layouts-avatar-widget-edit.component-a_eCmVu5.mjs.map +0 -1
  914. package/fesm2022/acorex-platform-layouts-avatar-widget-view.component-wwI7L0Kc.mjs +0 -64
  915. package/fesm2022/acorex-platform-layouts-avatar-widget-view.component-wwI7L0Kc.mjs.map +0 -1
  916. package/fesm2022/acorex-platform-layouts-boolean-widget-filter.component-CHW4rgxA.mjs +0 -150
  917. package/fesm2022/acorex-platform-layouts-boolean-widget-filter.component-CHW4rgxA.mjs.map +0 -1
  918. package/fesm2022/acorex-platform-layouts-change-password.component-vUZy2W_B.mjs +0 -178
  919. package/fesm2022/acorex-platform-layouts-change-password.component-vUZy2W_B.mjs.map +0 -1
  920. package/fesm2022/acorex-platform-layouts-checkbox-widget-column.component-BNEtAS7g.mjs +0 -56
  921. package/fesm2022/acorex-platform-layouts-checkbox-widget-column.component-BNEtAS7g.mjs.map +0 -1
  922. package/fesm2022/acorex-platform-layouts-checkbox-widget-edit.component-Cqn_QBcv.mjs +0 -25
  923. package/fesm2022/acorex-platform-layouts-checkbox-widget-edit.component-Cqn_QBcv.mjs.map +0 -1
  924. package/fesm2022/acorex-platform-layouts-checkbox-widget-view.component-DQLggJ9x.mjs +0 -50
  925. package/fesm2022/acorex-platform-layouts-checkbox-widget-view.component-DQLggJ9x.mjs.map +0 -1
  926. package/fesm2022/acorex-platform-layouts-dateTime-widget-column.component-D0eNN66F.mjs +0 -47
  927. package/fesm2022/acorex-platform-layouts-dateTime-widget-column.component-D0eNN66F.mjs.map +0 -1
  928. package/fesm2022/acorex-platform-layouts-dateTime-widget-edit.component-BLqAWdRX.mjs +0 -181
  929. package/fesm2022/acorex-platform-layouts-dateTime-widget-edit.component-BLqAWdRX.mjs.map +0 -1
  930. package/fesm2022/acorex-platform-layouts-dateTime-widget-filter.component-tvc-cTos.mjs +0 -217
  931. package/fesm2022/acorex-platform-layouts-dateTime-widget-filter.component-tvc-cTos.mjs.map +0 -1
  932. package/fesm2022/acorex-platform-layouts-dateTime-widget-view.component-CjChqiJw.mjs +0 -74
  933. package/fesm2022/acorex-platform-layouts-dateTime-widget-view.component-CjChqiJw.mjs.map +0 -1
  934. package/fesm2022/acorex-platform-layouts-email-widget-column.component-CUnxKERe.mjs +0 -76
  935. package/fesm2022/acorex-platform-layouts-email-widget-column.component-CUnxKERe.mjs.map +0 -1
  936. package/fesm2022/acorex-platform-layouts-email-widget-edit.component-DqnNien2.mjs +0 -252
  937. package/fesm2022/acorex-platform-layouts-email-widget-edit.component-DqnNien2.mjs.map +0 -1
  938. package/fesm2022/acorex-platform-layouts-email-widget-view.component-BZsLYW2w.mjs +0 -111
  939. package/fesm2022/acorex-platform-layouts-email-widget-view.component-BZsLYW2w.mjs.map +0 -1
  940. package/fesm2022/acorex-platform-layouts-entity-create-view.component-C3TUCnB2.mjs +0 -108
  941. package/fesm2022/acorex-platform-layouts-entity-create-view.component-C3TUCnB2.mjs.map +0 -1
  942. package/fesm2022/acorex-platform-layouts-entity-modify-view.component-BnSfJlc5.mjs +0 -89
  943. package/fesm2022/acorex-platform-layouts-entity-modify-view.component-BnSfJlc5.mjs.map +0 -1
  944. package/fesm2022/acorex-platform-layouts-file-widget-column.component-f54Z9E5C.mjs +0 -30
  945. package/fesm2022/acorex-platform-layouts-file-widget-column.component-f54Z9E5C.mjs.map +0 -1
  946. package/fesm2022/acorex-platform-layouts-file-widget-edit.component-CW9ESi46.mjs +0 -203
  947. package/fesm2022/acorex-platform-layouts-file-widget-edit.component-CW9ESi46.mjs.map +0 -1
  948. package/fesm2022/acorex-platform-layouts-file-widget-filter.component-K3mC1xLX.mjs +0 -30
  949. package/fesm2022/acorex-platform-layouts-file-widget-filter.component-K3mC1xLX.mjs.map +0 -1
  950. package/fesm2022/acorex-platform-layouts-file-widget-view.component-DVlbi33v.mjs +0 -156
  951. package/fesm2022/acorex-platform-layouts-file-widget-view.component-DVlbi33v.mjs.map +0 -1
  952. package/fesm2022/acorex-platform-layouts-gallery-widget-edit.component-BUlkUU5u.mjs +0 -192
  953. package/fesm2022/acorex-platform-layouts-gallery-widget-edit.component-BUlkUU5u.mjs.map +0 -1
  954. package/fesm2022/acorex-platform-layouts-gallery-widget-filter.component-BYFQSXOV.mjs +0 -30
  955. package/fesm2022/acorex-platform-layouts-gallery-widget-filter.component-BYFQSXOV.mjs.map +0 -1
  956. package/fesm2022/acorex-platform-layouts-gallery-widget-view.component-BqVO3rDH.mjs +0 -176
  957. package/fesm2022/acorex-platform-layouts-gallery-widget-view.component-BqVO3rDH.mjs.map +0 -1
  958. package/fesm2022/acorex-platform-layouts-largetext-widget-edit.component-CmH9daul.mjs +0 -40
  959. package/fesm2022/acorex-platform-layouts-largetext-widget-edit.component-CmH9daul.mjs.map +0 -1
  960. package/fesm2022/acorex-platform-layouts-lookup-widget-column.component-C4Bb5AYW.mjs +0 -46
  961. package/fesm2022/acorex-platform-layouts-lookup-widget-column.component-C4Bb5AYW.mjs.map +0 -1
  962. package/fesm2022/acorex-platform-layouts-lookup-widget-edit.component-B2Qyoi4Q.mjs +0 -120
  963. package/fesm2022/acorex-platform-layouts-lookup-widget-edit.component-B2Qyoi4Q.mjs.map +0 -1
  964. package/fesm2022/acorex-platform-layouts-lookup-widget-filter.component-JJzSun3D.mjs +0 -158
  965. package/fesm2022/acorex-platform-layouts-lookup-widget-filter.component-JJzSun3D.mjs.map +0 -1
  966. package/fesm2022/acorex-platform-layouts-lookup-widget-view.component-Bmp_zVcQ.mjs +0 -57
  967. package/fesm2022/acorex-platform-layouts-lookup-widget-view.component-Bmp_zVcQ.mjs.map +0 -1
  968. package/fesm2022/acorex-platform-layouts-map-widget-edit.component-EWlgQnx5.mjs +0 -94
  969. package/fesm2022/acorex-platform-layouts-map-widget-edit.component-EWlgQnx5.mjs.map +0 -1
  970. package/fesm2022/acorex-platform-layouts-map-widget-view.component-cB5Mq7G7.mjs +0 -66
  971. package/fesm2022/acorex-platform-layouts-map-widget-view.component-cB5Mq7G7.mjs.map +0 -1
  972. package/fesm2022/acorex-platform-layouts-messenger-widget-column.component-DWgWrdmz.mjs +0 -74
  973. package/fesm2022/acorex-platform-layouts-messenger-widget-column.component-DWgWrdmz.mjs.map +0 -1
  974. package/fesm2022/acorex-platform-layouts-messenger-widget-edit.component-C7VOe49a.mjs +0 -139
  975. package/fesm2022/acorex-platform-layouts-messenger-widget-edit.component-C7VOe49a.mjs.map +0 -1
  976. package/fesm2022/acorex-platform-layouts-messenger-widget-view.component-uciMJWYn.mjs +0 -135
  977. package/fesm2022/acorex-platform-layouts-messenger-widget-view.component-uciMJWYn.mjs.map +0 -1
  978. package/fesm2022/acorex-platform-layouts-number-widget-edit.component-CXTwKvM4.mjs +0 -49
  979. package/fesm2022/acorex-platform-layouts-number-widget-edit.component-CXTwKvM4.mjs.map +0 -1
  980. package/fesm2022/acorex-platform-layouts-number-widget-filter.component-ARH7BdkE.mjs +0 -138
  981. package/fesm2022/acorex-platform-layouts-number-widget-filter.component-ARH7BdkE.mjs.map +0 -1
  982. package/fesm2022/acorex-platform-layouts-number-widget-view.component-B0duuEhX.mjs +0 -33
  983. package/fesm2022/acorex-platform-layouts-number-widget-view.component-B0duuEhX.mjs.map +0 -1
  984. package/fesm2022/acorex-platform-layouts-password-widget-column.component-Cav_zCe4.mjs +0 -70
  985. package/fesm2022/acorex-platform-layouts-password-widget-column.component-Cav_zCe4.mjs.map +0 -1
  986. package/fesm2022/acorex-platform-layouts-password-widget-edit.component-Dm2E5zA_.mjs +0 -44
  987. package/fesm2022/acorex-platform-layouts-password-widget-edit.component-Dm2E5zA_.mjs.map +0 -1
  988. package/fesm2022/acorex-platform-layouts-password-widget-view.component-BaipF6fT.mjs +0 -112
  989. package/fesm2022/acorex-platform-layouts-password-widget-view.component-BaipF6fT.mjs.map +0 -1
  990. package/fesm2022/acorex-platform-layouts-phone-widget-column.component-BtZ5Qke0.mjs +0 -94
  991. package/fesm2022/acorex-platform-layouts-phone-widget-column.component-BtZ5Qke0.mjs.map +0 -1
  992. package/fesm2022/acorex-platform-layouts-phone-widget-edit.component-BugCYS-l.mjs +0 -234
  993. package/fesm2022/acorex-platform-layouts-phone-widget-edit.component-BugCYS-l.mjs.map +0 -1
  994. package/fesm2022/acorex-platform-layouts-phone-widget-view.component-C7EN8qDk.mjs +0 -126
  995. package/fesm2022/acorex-platform-layouts-phone-widget-view.component-C7EN8qDk.mjs.map +0 -1
  996. package/fesm2022/acorex-platform-layouts-rich-text-widget-column.component-B99s2Zhi.mjs +0 -64
  997. package/fesm2022/acorex-platform-layouts-rich-text-widget-column.component-B99s2Zhi.mjs.map +0 -1
  998. package/fesm2022/acorex-platform-layouts-rich-text-widget-edit.component-Di1P6EQV.mjs +0 -70
  999. package/fesm2022/acorex-platform-layouts-rich-text-widget-edit.component-Di1P6EQV.mjs.map +0 -1
  1000. package/fesm2022/acorex-platform-layouts-rich-text-widget-view.component-B_QG0YJc.mjs +0 -37
  1001. package/fesm2022/acorex-platform-layouts-rich-text-widget-view.component-B_QG0YJc.mjs.map +0 -1
  1002. package/fesm2022/acorex-platform-layouts-selection-list-widget-column.component-Cx9QqR9f.mjs +0 -46
  1003. package/fesm2022/acorex-platform-layouts-selection-list-widget-column.component-Cx9QqR9f.mjs.map +0 -1
  1004. package/fesm2022/acorex-platform-layouts-selection-list-widget-edit.component-DU-U-Af-.mjs +0 -56
  1005. package/fesm2022/acorex-platform-layouts-selection-list-widget-edit.component-DU-U-Af-.mjs.map +0 -1
  1006. package/fesm2022/acorex-platform-layouts-selection-list-widget-filter.component-B8y8heXR.mjs +0 -44
  1007. package/fesm2022/acorex-platform-layouts-selection-list-widget-filter.component-B8y8heXR.mjs.map +0 -1
  1008. package/fesm2022/acorex-platform-layouts-selection-list-widget-view.component-BDupWZy-.mjs +0 -48
  1009. package/fesm2022/acorex-platform-layouts-selection-list-widget-view.component-BDupWZy-.mjs.map +0 -1
  1010. package/fesm2022/acorex-platform-layouts-signature-pad-widget-edit.component-bEDsl8mg.mjs +0 -131
  1011. package/fesm2022/acorex-platform-layouts-signature-pad-widget-edit.component-bEDsl8mg.mjs.map +0 -1
  1012. package/fesm2022/acorex-platform-layouts-signature-pad-widget-view.component-DB903O2F.mjs +0 -44
  1013. package/fesm2022/acorex-platform-layouts-signature-pad-widget-view.component-DB903O2F.mjs.map +0 -1
  1014. package/fesm2022/acorex-platform-layouts-string-widget-filter.component-D3ZxVk6S.mjs +0 -128
  1015. package/fesm2022/acorex-platform-layouts-string-widget-filter.component-D3ZxVk6S.mjs.map +0 -1
  1016. package/fesm2022/acorex-platform-layouts-text-widget-column.component-D8WDAbQB.mjs +0 -49
  1017. package/fesm2022/acorex-platform-layouts-text-widget-column.component-D8WDAbQB.mjs.map +0 -1
  1018. package/fesm2022/acorex-platform-layouts-text-widget-edit.component-BrDbNXgJ.mjs +0 -165
  1019. package/fesm2022/acorex-platform-layouts-text-widget-edit.component-BrDbNXgJ.mjs.map +0 -1
  1020. package/fesm2022/acorex-platform-layouts-text-widget-view.component-XHN41M3T.mjs +0 -69
  1021. package/fesm2022/acorex-platform-layouts-text-widget-view.component-XHN41M3T.mjs.map +0 -1
  1022. package/fesm2022/acorex-platform-layouts-toggle-widget-column.component-BjIyTuZj.mjs +0 -60
  1023. package/fesm2022/acorex-platform-layouts-toggle-widget-column.component-BjIyTuZj.mjs.map +0 -1
  1024. package/fesm2022/acorex-platform-layouts-toggle-widget-edit.component-BKbBile6.mjs +0 -28
  1025. package/fesm2022/acorex-platform-layouts-toggle-widget-edit.component-BKbBile6.mjs.map +0 -1
  1026. package/fesm2022/acorex-platform-layouts-toggle-widget-view.component-CyjhQSiV.mjs +0 -52
  1027. package/fesm2022/acorex-platform-layouts-toggle-widget-view.component-CyjhQSiV.mjs.map +0 -1
  1028. package/fesm2022/acorex-platform-schema.mjs +0 -594
  1029. package/fesm2022/acorex-platform-schema.mjs.map +0 -1
  1030. package/layout/README.md +0 -4
  1031. package/layout/index.d.ts +0 -2
  1032. package/layout/lib/builder/builder.module.d.ts +0 -23
  1033. package/layout/lib/builder/context.service.d.ts +0 -17
  1034. package/layout/lib/builder/index.d.ts +0 -7
  1035. package/layout/lib/builder/widget-column-renderer.d.ts +0 -30
  1036. package/layout/lib/builder/widget-container.d.ts +0 -13
  1037. package/layout/lib/builder/widget-renderer.d.ts +0 -41
  1038. package/layout/lib/builder/widget.types.d.ts +0 -55
  1039. package/layouts/lib/admin/admin-child-layout/admin-child-features-list.component.d.ts +0 -22
  1040. package/layouts/lib/admin/admin-child-layout/admin-child-layout.component.d.ts +0 -21
  1041. package/layouts/lib/admin/admin-child-layout/admin-child-layout.module.d.ts +0 -17
  1042. package/layouts/lib/admin/admin-child-layout/index.d.ts +0 -3
  1043. package/layouts/lib/admin/admin-root-layout/admin-root-layout.component.d.ts +0 -30
  1044. package/layouts/lib/admin/admin-root-layout/admin-root-layout.module.d.ts +0 -25
  1045. package/layouts/lib/admin/admin-root-layout/components/admin-footer/admin-footer.component.d.ts +0 -5
  1046. package/layouts/lib/admin/admin-root-layout/components/admin-header/admin-header.component.d.ts +0 -10
  1047. package/layouts/lib/admin/admin-root-layout/index.d.ts +0 -4
  1048. package/layouts/lib/admin/store/admin-layout.selectors.d.ts +0 -5
  1049. package/layouts/lib/layout.routes.d.ts +0 -2
  1050. package/layouts/lib/shared/components/content-view/content-view.page.d.ts +0 -23
  1051. package/layouts/lib/shared/components/content-view/content-view.type.d.ts +0 -16
  1052. package/layouts/lib/shared/components/error-401/error-401.component.d.ts +0 -10
  1053. package/layouts/lib/shared/components/error-404/error-404.component.d.ts +0 -8
  1054. package/layouts/lib/shared/components/error-offline/error-offline.component.d.ts +0 -9
  1055. package/layouts/lib/shared/components/index.d.ts +0 -9
  1056. package/layouts/lib/shared/components/slots/navbar-slot.component.d.ts +0 -10
  1057. package/layouts/lib/shared/entity/entity.class.d.ts +0 -153
  1058. package/layouts/lib/shared/index.d.ts +0 -4
  1059. package/layouts/lib/shared/services/index.d.ts +0 -1
  1060. package/layouts/lib/shared/workflows/common.workflow.d.ts +0 -61
  1061. package/layouts/lib/shared/workflows/error-handler.d.ts +0 -8
  1062. package/layouts/lib/themes/default/entity-layouts/entity-details-view/entity-details-view.component.d.ts +0 -11
  1063. package/layouts/lib/themes/default/entity-layouts/entity-details.viewmodel.d.ts +0 -34
  1064. package/layouts/lib/themes/default/index.d.ts +0 -2
  1065. package/layouts/lib/widgets/avatar/avatar-widget-edit.component.d.ts +0 -16
  1066. package/layouts/lib/widgets/avatar/avatar-widget-view.component.d.ts +0 -13
  1067. package/layouts/lib/widgets/checkbox/checkbox-widget-column.component.d.ts +0 -11
  1068. package/layouts/lib/widgets/checkbox/checkbox-widget-edit.component.d.ts +0 -6
  1069. package/layouts/lib/widgets/checkbox/checkbox-widget-view.component.d.ts +0 -11
  1070. package/layouts/lib/widgets/common-widget-filter/boolean-widget-filter.component.d.ts +0 -17
  1071. package/layouts/lib/widgets/common-widget-filter/number-widget-filter.component.d.ts +0 -11
  1072. package/layouts/lib/widgets/common-widget-filter/string-widget-filter.component.d.ts +0 -11
  1073. package/layouts/lib/widgets/common-widgets.module.d.ts +0 -32
  1074. package/layouts/lib/widgets/dateTime/dateTime-widget-column.component.d.ts +0 -11
  1075. package/layouts/lib/widgets/dateTime/dateTime-widget-edit.component.d.ts +0 -26
  1076. package/layouts/lib/widgets/dateTime/dateTime-widget-filter.component.d.ts +0 -16
  1077. package/layouts/lib/widgets/dateTime/dateTime-widget-view.component.d.ts +0 -11
  1078. package/layouts/lib/widgets/email/email-widget-column.component.d.ts +0 -16
  1079. package/layouts/lib/widgets/email/email-widget-edit.component.d.ts +0 -28
  1080. package/layouts/lib/widgets/email/email-widget-view.component.d.ts +0 -16
  1081. package/layouts/lib/widgets/file/file-widget-column.component.d.ts +0 -8
  1082. package/layouts/lib/widgets/file/file-widget-edit.component.d.ts +0 -17
  1083. package/layouts/lib/widgets/file/file-widget-filter.component.d.ts +0 -6
  1084. package/layouts/lib/widgets/file/file-widget-view.component.d.ts +0 -17
  1085. package/layouts/lib/widgets/gallery/gallery-widget-edit.component.d.ts +0 -15
  1086. package/layouts/lib/widgets/gallery/gallery-widget-filter.component.d.ts +0 -6
  1087. package/layouts/lib/widgets/gallery/gallery-widget-view.component.d.ts +0 -16
  1088. package/layouts/lib/widgets/lookup/lookup-widget-column.component.d.ts +0 -16
  1089. package/layouts/lib/widgets/lookup/lookup-widget-edit.component.d.ts +0 -15
  1090. package/layouts/lib/widgets/lookup/lookup-widget-filter.component.d.ts +0 -16
  1091. package/layouts/lib/widgets/lookup/lookup-widget-view.component.d.ts +0 -17
  1092. package/layouts/lib/widgets/map/map-widget-edit.component.d.ts +0 -15
  1093. package/layouts/lib/widgets/map/map-widget-view.component.d.ts +0 -17
  1094. package/layouts/lib/widgets/messenger/messenger-widget-column.component.d.ts +0 -15
  1095. package/layouts/lib/widgets/messenger/messenger-widget-edit.component.d.ts +0 -14
  1096. package/layouts/lib/widgets/messenger/messenger-widget-view.component.d.ts +0 -17
  1097. package/layouts/lib/widgets/number/number-widget-edit.component.d.ts +0 -7
  1098. package/layouts/lib/widgets/number/number-widget-view.component.d.ts +0 -8
  1099. package/layouts/lib/widgets/password/password-widget-column.component.d.ts +0 -14
  1100. package/layouts/lib/widgets/password/password-widget-edit.component.d.ts +0 -6
  1101. package/layouts/lib/widgets/password/password-widget-view.component.d.ts +0 -18
  1102. package/layouts/lib/widgets/phone/phone-widget-column.component.d.ts +0 -15
  1103. package/layouts/lib/widgets/phone/phone-widget-edit.component.d.ts +0 -29
  1104. package/layouts/lib/widgets/phone/phone-widget-view.component.d.ts +0 -18
  1105. package/layouts/lib/widgets/rich-text/rich-text-widget-column.component.d.ts +0 -11
  1106. package/layouts/lib/widgets/rich-text/rich-text-widget-edit.component.d.ts +0 -33
  1107. package/layouts/lib/widgets/rich-text/rich-text-widget-view.component.d.ts +0 -10
  1108. package/layouts/lib/widgets/selection-list/selection-list-widget-column.component.d.ts +0 -16
  1109. package/layouts/lib/widgets/selection-list/selection-list-widget-edit.component.d.ts +0 -12
  1110. package/layouts/lib/widgets/selection-list/selection-list-widget-filter.component.d.ts +0 -9
  1111. package/layouts/lib/widgets/selection-list/selection-list-widget-view.component.d.ts +0 -15
  1112. package/layouts/lib/widgets/signature-pad/signature-pad-widget-edit.component.d.ts +0 -19
  1113. package/layouts/lib/widgets/signature-pad/signature-pad-widget-view.component.d.ts +0 -8
  1114. package/layouts/lib/widgets/text/largetext-widget-edit.component.d.ts +0 -6
  1115. package/layouts/lib/widgets/text/text-widget-column.component.d.ts +0 -12
  1116. package/layouts/lib/widgets/text/text-widget-edit.component.d.ts +0 -23
  1117. package/layouts/lib/widgets/text/text-widget-view.component.d.ts +0 -11
  1118. package/layouts/lib/widgets/toggle/toggle-widget-column.component.d.ts +0 -11
  1119. package/layouts/lib/widgets/toggle/toggle-widget-edit.component.d.ts +0 -6
  1120. package/layouts/lib/widgets/toggle/toggle-widget-view.component.d.ts +0 -11
  1121. package/schema/README.md +0 -3
  1122. package/schema/index.d.ts +0 -11
  1123. package/schema/lib/operators.d.ts +0 -22
  1124. package/schema/lib/schema.types.d.ts +0 -16
  1125. package/schema/lib/widget/widget-base.d.ts +0 -45
  1126. package/schema/lib/widget/widget-token.d.ts +0 -16
  1127. /package/{core → common}/lib/app/operators.d.ts +0 -0
  1128. /package/{core → common}/lib/configs/config.types.d.ts +0 -0
  1129. /package/{layout/lib → common/lib/layout}/component-slot/component-slot-loader.service.d.ts +0 -0
  1130. /package/{layout/lib → common/lib/layout}/component-slot/component-slot-registery.service.d.ts +0 -0
  1131. /package/{layout/lib → common/lib/layout}/component-slot/component-slot.directive.d.ts +0 -0
  1132. /package/{layout/lib → common/lib/layout}/component-slot/component-slot.module.d.ts +0 -0
  1133. /package/{layout/lib → common/lib/layout}/component-slot/component-slot.types.d.ts +0 -0
  1134. /package/{layout/lib → common/lib/layout}/component-slot/index.d.ts +0 -0
  1135. /package/{layouts/lib/shared/services → common/lib/layout}/layout.service.d.ts +0 -0
  1136. /package/{layouts/lib/shared/components → common/lib/layout}/logo/logo.component.d.ts +0 -0
  1137. /package/common/lib/{shared → layout/logo}/logo.types.d.ts +0 -0
  1138. /package/common/lib/{menu → layout/menu}/index.d.ts +0 -0
  1139. /package/common/lib/{menu → layout/menu}/menu.loader.d.ts +0 -0
  1140. /package/common/lib/{menu → layout/menu}/menu.types.d.ts +0 -0
  1141. /package/{layouts/lib/shared → common/lib/layout/theme}/components/slots/footer-text-slot.component.d.ts +0 -0
  1142. /package/{layouts/lib/shared → common/lib/layout/theme}/components/slots/theme-slot.component.d.ts +0 -0
  1143. /package/{layouts/lib/admin → common/lib/layout/theme}/store/admin-layout.actions.d.ts +0 -0
  1144. /package/{layouts/lib/admin → common/lib/layout/theme}/store/admin-layout.effects.d.ts +0 -0
  1145. /package/{layouts/lib/admin → common/lib/layout/theme}/store/admin-layout.reducers.d.ts +0 -0
  1146. /package/{layouts/lib/admin → common/lib/layout/theme}/store/admin-layout.state.d.ts +0 -0
  1147. /package/{layouts/lib/admin → common/lib/layout/theme}/store/index.d.ts +0 -0
  1148. /package/{schema/lib → common/lib/schema}/component-loader.d.ts +0 -0
  1149. /package/{layouts/lib/shared → common/lib/schema}/entity/entity-registery.service.d.ts +0 -0
  1150. /package/{layouts/lib/shared → common/lib/schema}/entity/entity.loader.d.ts +0 -0
  1151. /package/{layouts/lib/shared → common/lib/schema}/entity/index.d.ts +0 -0
  1152. /package/{schema/lib → common/lib/schema}/formats.d.ts +0 -0
  1153. /package/{schema/lib → common/lib/schema}/schema-registery.service.d.ts +0 -0
  1154. /package/{schema/lib → common/lib/schema}/schema.module.d.ts +0 -0
  1155. /package/{schema/lib → common/lib/schema}/widget/widget-column-renderer.d.ts +0 -0
  1156. /package/{schema/lib → common/lib/schema}/widget/widget-filter-renderer.d.ts +0 -0
  1157. /package/{schema/lib → common/lib/schema}/widget/widget-renderer.d.ts +0 -0
  1158. /package/{layouts/lib → common/lib/schema}/widgets/gallery/gallery-widget-types.d.ts +0 -0
  1159. /package/{layouts/lib → common/lib/schema}/widgets/index.d.ts +0 -0
  1160. /package/{layouts/lib → common/lib/schema}/widgets/password/change-password.component.d.ts +0 -0
  1161. /package/{layouts/lib/shared → common/lib}/workflows/index.d.ts +0 -0
  1162. /package/layout/{lib → builder/lib}/builder/widget-registery.service.d.ts +0 -0
@@ -0,0 +1,278 @@
1
+ import { cloneDeep } from "lodash-es";
2
+ import { Injectable, Injector, computed, inject, signal } from "@angular/core";
3
+ import { AXPEntityDefinitionRegistryService } from "./entity-registery.service";
4
+ import { AXPEntityCommandTriggerViewModel, AXPEntityListViewColumnViewModel } from "./entity.viewmodel";
5
+ import { AXFormatService } from "@acorex/core/format";
6
+ import { AXPSessionService } from "@acorex/platform/auth";
7
+ import { AXDataSource } from "@acorex/components/common";
8
+ import { AXPWorkflowService } from "@acorex/platform/workflow";
9
+ import { AXPEntityCommandScope, AXPLayoutService } from "@acorex/platform/common";
10
+ import * as i0 from "@angular/core";
11
+ export class AXPEntityMasterListViewQueryViewModel {
12
+ constructor(entity, section, view) {
13
+ this.entity = entity;
14
+ this.section = section;
15
+ this.view = view;
16
+ this.name = this.view.name;
17
+ this.title = this.view.title;
18
+ this.sorts = this.view.sorts;
19
+ this.columns = this.view.columns;
20
+ this.conditions = this.view.conditions;
21
+ }
22
+ }
23
+ export class AXPEntityMasterListViewModel {
24
+ constructor(injector, config) {
25
+ this.injector = injector;
26
+ this.config = config;
27
+ this.entityDef = cloneDeep(this.config);
28
+ this._viewDef = cloneDeep(this.entityDef.interfaces?.master?.list);
29
+ this.formatService = this.injector.get(AXFormatService);
30
+ this.session = this.injector.get(AXPSessionService);
31
+ this.workflow = this.injector.get(AXPWorkflowService);
32
+ this.dataSource = new AXDataSource({
33
+ byKey: (key) => {
34
+ const func = this.entityDef.queries.byKey.execute;
35
+ return func();
36
+ },
37
+ load: (e) => {
38
+ const func = this.entityDef.queries.list?.execute;
39
+ return func(e);
40
+ },
41
+ pageSize: 10,
42
+ key: 'id'
43
+ });
44
+ this.selectedItems = signal([]);
45
+ this.hasSelectedItems = computed(() => {
46
+ return this.selectedItems().length > 0;
47
+ });
48
+ //****************** Title ******************//
49
+ this.title = computed(() => {
50
+ return this._viewDef.title ?? this.entityDef.formats.plural;
51
+ });
52
+ //****************** Description ******************//
53
+ this.description = computed(() => {
54
+ return this._viewDef.description ?? null;
55
+ });
56
+ //****************** Inline filter ******************//
57
+ this.inlineFiltersPlaceholders = computed(() => {
58
+ return this.entityDef.properties.filter(p => p.options?.filter?.inline?.enabled).map(c => c.title);
59
+ });
60
+ this.hasInlineFilters = computed(() => {
61
+ return this.inlineFiltersPlaceholders().length > 0;
62
+ });
63
+ //****************** Beardcrumbs ******************//
64
+ this.beardcrumbs = computed(() => {
65
+ return [
66
+ {
67
+ title: "Home",
68
+ icon: "fa-solid fa-home ax-text-xs ax-me-2",
69
+ url: [`/${this.session.application?.name}`]
70
+ },
71
+ {
72
+ title: this.title(),
73
+ url: [`/${this.session.application?.name}`, 'm', `${this.entityDef.module}`, 'e', `${this.entityDef.name}`, 'list']
74
+ }
75
+ ];
76
+ });
77
+ //****************** Actions ******************//
78
+ this.actions = computed(() => {
79
+ const list = this.entityDef.interfaces?.master?.list?.actions ?? [];
80
+ return list
81
+ .filter(a => (a.scope == AXPEntityCommandScope.Selected && this.hasSelectedItems()) ||
82
+ (a.scope != AXPEntityCommandScope.Selected && !this.hasSelectedItems()))
83
+ .map((tr) => new AXPEntityCommandTriggerViewModel(this.entityDef, tr)) ?? [];
84
+ });
85
+ this.primaryActions = computed(() => {
86
+ return this.actions().filter(c => c.priority == 'primary');
87
+ });
88
+ this.secondaryActions = computed(() => {
89
+ return this.actions().filter(c => c.priority == 'secondary');
90
+ });
91
+ //****************** Filter ******************//
92
+ this.inlineFilters = {
93
+ field: null,
94
+ logic: 'or',
95
+ operator: null,
96
+ filters: []
97
+ };
98
+ this.advanceFilters = {
99
+ field: null,
100
+ logic: 'and',
101
+ operator: null,
102
+ filters: []
103
+ };
104
+ //****************** Columns ******************//
105
+ this.allAvailableColumns = () => {
106
+ const props = cloneDeep(this.entityDef.properties.filter(c => c.schema.hidden != true && c.options?.table?.enabled));
107
+ return props.map(e => {
108
+ return new AXPEntityListViewColumnViewModel(e);
109
+ });
110
+ };
111
+ this.visibleColumnCount = () => {
112
+ return this.columns().filter(c => c.visible == true).length;
113
+ };
114
+ this.columns = signal([]);
115
+ //****************** Sort ******************//
116
+ this.sortableFields = () => {
117
+ const props = this.entityDef.properties.filter(c => c.options?.sort?.enabled);
118
+ return props.map(e => {
119
+ return {
120
+ name: e.name,
121
+ title: e.title,
122
+ dir: 'asc'
123
+ };
124
+ });
125
+ };
126
+ this.sortableFieldsCount = () => {
127
+ return this.entityDef.properties.filter(c => c.options?.sort?.enabled).length ?? 0;
128
+ };
129
+ this.canSort = () => {
130
+ return this.sortableFieldsCount() > 0;
131
+ };
132
+ this.canAddMoreSort = () => {
133
+ return this.sortedCount() < this.sortableFieldsCount();
134
+ };
135
+ this.sortedCount = () => {
136
+ return this.sortedFields().length;
137
+ };
138
+ this.sortedFields = signal([]);
139
+ this.views = computed(() => {
140
+ const views = this.entityDef.interfaces?.master?.list?.views ?? [];
141
+ return views.map(v => {
142
+ return new AXPEntityMasterListViewQueryViewModel(this.entityDef, this, v);
143
+ });
144
+ });
145
+ this.view = signal(this.views()[0]);
146
+ }
147
+ clearSelection() {
148
+ this.selectedItems.set([]);
149
+ }
150
+ applyInlineFilter(value) {
151
+ const props = this.entityDef.properties.filter(c => c.options?.filter?.inline?.enabled);
152
+ this.inlineFilters.filters = [];
153
+ if (value) {
154
+ props.forEach(p => {
155
+ this.inlineFilters.filters?.push({
156
+ field: p.name,
157
+ operator: {
158
+ type: 'contains'
159
+ },
160
+ value
161
+ });
162
+ });
163
+ }
164
+ this.applyFilterAndSort();
165
+ }
166
+ applyFilterAndSort() {
167
+ this.dataSource.clearFilter();
168
+ //
169
+ this.dataSource.sort(...this.sortedFields().map(s => ({ dir: s.dir, field: s.name })));
170
+ //
171
+ const inline = this.inlineFilters.filters?.length ?? 0;
172
+ const advance = this.advanceFilters.filters?.length ?? 0;
173
+ debugger;
174
+ if (inline && !advance) {
175
+ this.dataSource.filter(this.inlineFilters);
176
+ }
177
+ else if (!inline && advance) {
178
+ this.dataSource.filter(this.advanceFilters);
179
+ }
180
+ else if (inline && advance) {
181
+ this.dataSource.filter({
182
+ field: null,
183
+ logic: 'and',
184
+ operator: null,
185
+ filters: [this.inlineFilters, this.advanceFilters]
186
+ });
187
+ }
188
+ //
189
+ this.dataSource.refresh();
190
+ }
191
+ resetColumns() {
192
+ this.applyViewColumns();
193
+ }
194
+ applyColumns() {
195
+ //this.columns.set(this.clonedColumns())
196
+ }
197
+ applyViewColumns() {
198
+ const cols = this.view().columns;
199
+ const cloned = this.allAvailableColumns()
200
+ .map(c => {
201
+ const col = new AXPEntityListViewColumnViewModel(this.entityDef.properties.find(p => p.name == c.name));
202
+ col.visible = !cols.some(c => c == col.name);
203
+ return col;
204
+ });
205
+ this.columns.set(cloned);
206
+ }
207
+ resetSorts() {
208
+ this.applyViewSorts();
209
+ }
210
+ applySorts() {
211
+ this.applyFilterAndSort();
212
+ }
213
+ addSort() {
214
+ const prop = this.sortableFields().find(c => !this.sortedFields().some(s => s.name == c.name));
215
+ if (prop) {
216
+ this.sortedFields.set([...this.sortedFields(), ...[prop]]);
217
+ }
218
+ }
219
+ removeSort(name) {
220
+ this.sortedFields.set(this.sortedFields().filter(c => c.name != name));
221
+ }
222
+ applyViewSorts() {
223
+ const fileds = this.view().sorts.map(c => ({
224
+ name: c.name,
225
+ title: c.name,
226
+ dir: c.dir ?? 'asc'
227
+ }));
228
+ this.sortedFields.set(fileds);
229
+ }
230
+ //****************** Views ******************//
231
+ setView(viewName = null) {
232
+ if (viewName != this.view().name) {
233
+ this.view.set(this.views().find(c => c.name == viewName) ?? this.views()[0]);
234
+ this.applyViewSorts();
235
+ this.applyViewColumns();
236
+ this.applyFilterAndSort();
237
+ }
238
+ }
239
+ //****************** Commands ******************//
240
+ async executeCommand(commandName, data = null) {
241
+ // debugger
242
+ const action = this.actions().find(c => c.name == commandName);
243
+ this.workflow.execute(commandName, {
244
+ payload: {
245
+ module: this.entityDef.module,
246
+ entity: this.entityDef.name,
247
+ data: action?.scope == AXPEntityCommandScope.Selected ? this.selectedItems : data
248
+ }
249
+ });
250
+ }
251
+ }
252
+ export class AXPEntityListViewModelFactory {
253
+ constructor() {
254
+ this.entityService = inject(AXPEntityDefinitionRegistryService);
255
+ this.layout = inject(AXPLayoutService);
256
+ this.injector = inject(Injector);
257
+ }
258
+ async create(moduleName, entityName) {
259
+ this.layout.setNavigationLoading(true);
260
+ const config = await this.entityService.resolve(moduleName, entityName);
261
+ this.layout.setNavigationLoading(false);
262
+ return new AXPEntityMasterListViewModel(this.injector, config);
263
+ }
264
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPEntityListViewModelFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
265
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPEntityListViewModelFactory, providedIn: 'root' }); }
266
+ }
267
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPEntityListViewModelFactory, decorators: [{
268
+ type: Injectable,
269
+ args: [{ providedIn: 'root' }]
270
+ }] });
271
+ export const AXPEntityListViewModelResolver = (route, state, service = inject(AXPEntityListViewModelFactory)) => {
272
+ const appName = route.parent?.paramMap.get('app');
273
+ const moduleName = route.parent?.paramMap.get('module');
274
+ const entityName = route.paramMap.get('entity');
275
+ //
276
+ return service.create(moduleName, entityName);
277
+ };
278
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LW1hc3Rlci1saXN0LnZpZXdtb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2VudGl0eS9zcmMvbGliL2VudGl0eS1tYXN0ZXItbGlzdC52aWV3bW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVoRixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBb0QsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQTBDLHFCQUFxQixFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBYTFILE1BQU0sT0FBTyxxQ0FBcUM7SUFFOUMsWUFBb0IsTUFBaUIsRUFBVSxPQUFxQyxFQUFVLElBQWtCO1FBQTVGLFdBQU0sR0FBTixNQUFNLENBQVc7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUE4QjtRQUFVLFNBQUksR0FBSixJQUFJLENBQWM7UUFJaEgsU0FBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3RCLFVBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN4QixVQUFLLEdB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S0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFrQixFQUFFLFVBQWtCO1FBQ3RELElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QyxPQUFPLElBQUksNEJBQTRCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNuRSxDQUFDOzhHQVZRLDZCQUE2QjtrSEFBN0IsNkJBQTZCLGNBRGhCLE1BQU07OzJGQUNuQiw2QkFBNkI7a0JBRHpDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOztBQWNsQyxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBcUQsQ0FDNUYsS0FBNkIsRUFDN0IsS0FBMEIsRUFDMUIsVUFBeUMsTUFBTSxDQUFDLDZCQUE2QixDQUFDLEVBQ3pDLEVBQUU7SUFDdkMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBVyxDQUFDO0lBQzVELE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQVcsQ0FBQztJQUNsRSxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQVcsQ0FBQztJQUMxRCxFQUFFO0lBQ0YsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUNsRCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tIFwibG9kYXNoLWVzXCI7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yLCBjb21wdXRlZCwgaW5qZWN0LCBzaWduYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSBcIi4vZW50aXR5LXJlZ2lzdGVyeS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJlc29sdmVGbiwgUm91dGVyU3RhdGVTbmFwc2hvdCB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgQVhQRW50aXR5Q29tbWFuZFRyaWdnZXJWaWV3TW9kZWwsIEFYUEVudGl0eUxpc3RWaWV3Q29sdW1uVmlld01vZGVsIH0gZnJvbSBcIi4vZW50aXR5LnZpZXdtb2RlbFwiO1xyXG5pbXBvcnQgeyBBWEZvcm1hdFNlcnZpY2UgfSBmcm9tIFwiQGFjb3JleC9jb3JlL2Zvcm1hdFwiO1xyXG5pbXBvcnQgeyBBWFBTZXNzaW9uU2VydmljZSB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2F1dGhcIjtcclxuaW1wb3J0IHsgQVhEYXRhU291cmNlLCBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb24sIEFYRGF0YVNvdXJjZVNvcnRPcHRpb24gfSBmcm9tIFwiQGFjb3JleC9jb21wb25lbnRzL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBBWFBXb3JrZmxvd1NlcnZpY2UgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvd1wiO1xyXG5pbXBvcnQgeyBBWFBFbnRpdHksIEFYUFF1ZXJ5VmlldywgQVhQQmVhcmRDcnVtYiwgQVhQRW50aXR5Q29tbWFuZFNjb3BlLCBBWFBMYXlvdXRTZXJ2aWNlIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vY29tbW9uXCI7XHJcblxyXG5cclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFYUEVudGl0eU1hc3Rlckxpc3RWaWV3U29ydFByb3BWaWV3TW9kZWwge1xyXG5cclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICBkaXI6IHN0cmluZztcclxufVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlNYXN0ZXJMaXN0Vmlld1F1ZXJ5Vmlld01vZGVsIHtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVudGl0eTogQVhQRW50aXR5LCBwcml2YXRlIHNlY3Rpb246IEFYUEVudGl0eU1hc3Rlckxpc3RWaWV3TW9kZWwsIHByaXZhdGUgdmlldzogQVhQUXVlcnlWaWV3KSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIG5hbWUgPSB0aGlzLnZpZXcubmFtZTtcclxuICAgIHRpdGxlID0gdGhpcy52aWV3LnRpdGxlO1xyXG4gICAgc29ydHMgPSB0aGlzLnZpZXcuc29ydHM7XHJcbiAgICBjb2x1bW5zID0gdGhpcy52aWV3LmNvbHVtbnM7XHJcbiAgICBjb25kaXRpb25zID0gdGhpcy52aWV3LmNvbmRpdGlvbnM7XHJcblxyXG59XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eU1hc3Rlckxpc3RWaWV3TW9kZWwge1xyXG5cclxuXHJcbiAgICBwcml2YXRlIGVudGl0eURlZiA9IGNsb25lRGVlcCh0aGlzLmNvbmZpZykhO1xyXG4gICAgcHJpdmF0ZSBfdmlld0RlZiA9IGNsb25lRGVlcCh0aGlzLmVudGl0eURlZi5pbnRlcmZhY2VzPy5tYXN0ZXI/Lmxpc3QpIVxyXG4gICAgcHJpdmF0ZSBmb3JtYXRTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoQVhGb3JtYXRTZXJ2aWNlKVxyXG4gICAgcHJpdmF0ZSBzZXNzaW9uID0gdGhpcy5pbmplY3Rvci5nZXQoQVhQU2Vzc2lvblNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSB3b3JrZmxvdyA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFYUFdvcmtmbG93U2VydmljZSk7XHJcblxyXG5cclxuXHJcbiAgICBkYXRhU291cmNlID0gbmV3IEFYRGF0YVNvdXJjZSh7XHJcbiAgICAgICAgYnlLZXk6IChrZXkpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZnVuYyA9IHRoaXMuZW50aXR5RGVmLnF1ZXJpZXMuYnlLZXkuZXhlY3V0ZSBhcyBGdW5jdGlvbjtcclxuICAgICAgICAgICAgcmV0dXJuIGZ1bmMoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGxvYWQ6IChlKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZ1bmMgPSB0aGlzLmVudGl0eURlZi5xdWVyaWVzLmxpc3Q/LmV4ZWN1dGUgYXMgRnVuY3Rpb247XHJcbiAgICAgICAgICAgIHJldHVybiBmdW5jKGUpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcGFnZVNpemU6IDEwLFxyXG4gICAgICAgIGtleTogJ2lkJ1xyXG5cclxuICAgIH0pXHJcblxyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgICAgIHByaXZhdGUgY29uZmlnOiBBWFBFbnRpdHlcclxuICAgICkge1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZWxlY3RlZEl0ZW1zID0gc2lnbmFsPGFueVtdPihbXSk7XHJcblxyXG4gICAgcHVibGljIGhhc1NlbGVjdGVkSXRlbXMgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtcygpLmxlbmd0aCA+IDBcclxuICAgIH0pO1xyXG5cclxuICAgIHB1YmxpYyBjbGVhclNlbGVjdGlvbigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMuc2V0KFtdKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyoqKioqKioqKioqKioqKioqKiBUaXRsZSAqKioqKioqKioqKioqKioqKiovL1xyXG4gICAgcHVibGljIHRpdGxlID0gY29tcHV0ZWQ8c3RyaW5nPigoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZpZXdEZWYudGl0bGUgPz8gdGhpcy5lbnRpdHlEZWYuZm9ybWF0cy5wbHVyYWwhO1xyXG4gICAgfSk7XHJcbiAgICAvLyoqKioqKioqKioqKioqKioqKiBEZXNjcmlwdGlvbiAqKioqKioqKioqKioqKioqKiovL1xyXG4gICAgcHVibGljIGRlc2NyaXB0aW9uID0gY29tcHV0ZWQ8c3RyaW5nIHwgbnVsbD4oKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl92aWV3RGVmLmRlc2NyaXB0aW9uID8/IG51bGw7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyoqKioqKioqKioqKioqKioqKiBJbmxpbmUgZmlsdGVyICoqKioqKioqKioqKioqKioqKi8vXHJcbiAgICBwdWJsaWMgaW5saW5lRmlsdGVyc1BsYWNlaG9sZGVycyA9IGNvbXB1dGVkPHN0cmluZ1tdPigoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZW50aXR5RGVmLnByb3BlcnRpZXMuZmlsdGVyKHAgPT4gcC5vcHRpb25zPy5maWx0ZXI/LmlubGluZT8uZW5hYmxlZCkubWFwKGMgPT4gYy50aXRsZSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBwdWJsaWMgaGFzSW5saW5lRmlsdGVycyA9IGNvbXB1dGVkPGJvb2xlYW4+KCgpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pbmxpbmVGaWx0ZXJzUGxhY2Vob2xkZXJzKCkubGVuZ3RoID4gMDtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vKioqKioqKioqKioqKioqKioqIEJlYXJkY3J1bWJzICoqKioqKioqKioqKioqKioqKi8vXHJcbiAgICBwdWJsaWMgYmVhcmRjcnVtYnMgPSBjb21wdXRlZDxBWFBCZWFyZENydW1iW10+KCgpID0+IHtcclxuICAgICAgICByZXR1cm4gW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJIb21lXCIsXHJcbiAgICAgICAgICAgICAgICBpY29uOiBcImZhLXNvbGlkIGZhLWhvbWUgYXgtdGV4dC14cyBheC1tZS0yXCIsXHJcbiAgICAgICAgICAgICAgICB1cmw6IFtgLyR7dGhpcy5zZXNzaW9uLmFwcGxpY2F0aW9uPy5uYW1lfWBdXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRpdGxlKCksXHJcbiAgICAgICAgICAgICAgICB1cmw6IFtgLyR7dGhpcy5zZXNzaW9uLmFwcGxpY2F0aW9uPy5uYW1lfWAsICdtJywgYCR7dGhpcy5lbnRpdHlEZWYubW9kdWxlfWAsICdlJywgYCR7dGhpcy5lbnRpdHlEZWYubmFtZX1gLCAnbGlzdCddXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBdXHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyoqKioqKioqKioqKioqKioqKiBBY3Rpb25zICoqKioqKioqKioqKioqKioqKi8vXHJcbiAgICBwcml2YXRlIGFjdGlvbnMgPSBjb21wdXRlZDxBWFBFbnRpdHlDb21tYW5kVHJpZ2dlclZpZXdNb2RlbFtdPigoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgbGlzdCA9IHRoaXMuZW50aXR5RGVmLmludGVyZmFjZXM/Lm1hc3Rlcj8ubGlzdD8uYWN0aW9ucyA/PyBbXTtcclxuICAgICAgICByZXR1cm4gbGlzdFxyXG4gICAgICAgICAgICAuZmlsdGVyKGEgPT5cclxuICAgICAgICAgICAgICAgIChhLnNjb3BlID09IEFYUEVudGl0eUNvbW1hbmRTY29wZS5TZWxlY3RlZCAmJiB0aGlzLmhhc1NlbGVjdGVkSXRlbXMoKSkgfHxcclxuICAgICAgICAgICAgICAgIChhLnNjb3BlICE9IEFYUEVudGl0eUNvbW1hbmRTY29wZS5TZWxlY3RlZCAmJiAhdGhpcy5oYXNTZWxlY3RlZEl0ZW1zKCkpXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLm1hcCgodHIpID0+IG5ldyBBWFBFbnRpdHlDb21tYW5kVHJpZ2dlclZpZXdNb2RlbCh0aGlzLmVudGl0eURlZiwgdHIpKSA/PyBbXTtcclxuICAgIH0pO1xyXG5cclxuICAgIHB1YmxpYyBwcmltYXJ5QWN0aW9ucyA9IGNvbXB1dGVkPEFYUEVudGl0eUNvbW1hbmRUcmlnZ2VyVmlld01vZGVsW10+KCgpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hY3Rpb25zKCkuZmlsdGVyKGMgPT4gYy5wcmlvcml0eSA9PSAncHJpbWFyeScpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcHVibGljIHNlY29uZGFyeUFjdGlvbnMgPSBjb21wdXRlZDxBWFBFbnRpdHlDb21tYW5kVHJpZ2dlclZpZXdNb2RlbFtdPigoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWN0aW9ucygpLmZpbHRlcihjID0+IGMucHJpb3JpdHkgPT0gJ3NlY29uZGFyeScpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgLy8qKioqKioqKioqKioqKioqKiogRmlsdGVyICoqKioqKioqKioqKioqKioqKi8vXHJcblxyXG4gICAgcHJpdmF0ZSBpbmxpbmVGaWx0ZXJzOiBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb24gPSB7XHJcbiAgICAgICAgZmllbGQ6IG51bGwgYXMgYW55LFxyXG4gICAgICAgIGxvZ2ljOiAnb3InLFxyXG4gICAgICAgIG9wZXJhdG9yOiBudWxsIGFzIGFueSxcclxuICAgICAgICBmaWx0ZXJzOiBbXVxyXG4gICAgfTtcclxuXHJcbiAgICBwcml2YXRlIGFkdmFuY2VGaWx0ZXJzOiBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb24gPSB7XHJcbiAgICAgICAgZmllbGQ6IG51bGwgYXMgYW55LFxyXG4gICAgICAgIGxvZ2ljOiAnYW5kJyxcclxuICAgICAgICBvcGVyYXRvcjogbnVsbCBhcyBhbnksXHJcbiAgICAgICAgZmlsdGVyczogW11cclxuICAgIH07XHJcblxyXG4gICAgYXBwbHlJbmxpbmVGaWx0ZXIodmFsdWU6IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IHByb3BzID0gdGhpcy5lbnRpdHlEZWYucHJvcGVydGllcy5maWx0ZXIoYyA9PiBjLm9wdGlvbnM/LmZpbHRlcj8uaW5saW5lPy5lbmFibGVkKTtcclxuICAgICAgICB0aGlzLmlubGluZUZpbHRlcnMuZmlsdGVycyA9IFtdO1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICBwcm9wcy5mb3JFYWNoKHAgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbmxpbmVGaWx0ZXJzLmZpbHRlcnM/LnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBwLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2NvbnRhaW5zJ1xyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuYXBwbHlGaWx0ZXJBbmRTb3J0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXBwbHlGaWx0ZXJBbmRTb3J0KCkge1xyXG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS5jbGVhckZpbHRlcigpO1xyXG4gICAgICAgIC8vXHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLnNvcnQoLi4udGhpcy5zb3J0ZWRGaWVsZHMoKS5tYXAocyA9PiAoeyBkaXI6IHMuZGlyLCBmaWVsZDogcy5uYW1lIH0gYXMgQVhEYXRhU291cmNlU29ydE9wdGlvbikpKTtcclxuICAgICAgICAvL1xyXG4gICAgICAgIGNvbnN0IGlubGluZSA9IHRoaXMuaW5saW5lRmlsdGVycy5maWx0ZXJzPy5sZW5ndGggPz8gMDtcclxuICAgICAgICBjb25zdCBhZHZhbmNlID0gdGhpcy5hZHZhbmNlRmlsdGVycy5maWx0ZXJzPy5sZW5ndGggPz8gMDtcclxuICAgICAgICBkZWJ1Z2dlclxyXG4gICAgICAgIGlmIChpbmxpbmUgJiYgIWFkdmFuY2UpIHtcclxuICAgICAgICAgICAgdGhpcy5kYXRhU291cmNlLmZpbHRlcih0aGlzLmlubGluZUZpbHRlcnMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmICghaW5saW5lICYmIGFkdmFuY2UpIHtcclxuICAgICAgICAgICAgdGhpcy5kYXRhU291cmNlLmZpbHRlcih0aGlzLmFkdmFuY2VGaWx0ZXJzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5saW5lICYmIGFkdmFuY2UpIHtcclxuICAgICAgICAgICAgdGhpcy5kYXRhU291cmNlLmZpbHRlcih7XHJcbiAgICAgICAgICAgICAgICBmaWVsZDogbnVsbCBhcyBhbnksXHJcbiAgICAgICAgICAgICAgICBsb2dpYzogJ2FuZCcsXHJcbiAgICAgICAgICAgICAgICBvcGVyYXRvcjogbnVsbCBhcyBhbnksXHJcbiAgICAgICAgICAgICAgICBmaWx0ZXJzOiBbdGhpcy5pbmxpbmVGaWx0ZXJzLCB0aGlzLmFkdmFuY2VGaWx0ZXJzXVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9cclxuICAgICAgICB0aGlzLmRhdGFTb3VyY2UucmVmcmVzaCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vKioqKioqKioqKioqKioqKioqIENvbHVtbnMgKioqKioqKioqKioqKioqKioqLy9cclxuXHJcbiAgICBwcml2YXRlIGFsbEF2YWlsYWJsZUNvbHVtbnMgPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcHJvcHMgPSBjbG9uZURlZXAodGhpcy5lbnRpdHlEZWYucHJvcGVydGllcy5maWx0ZXIoYyA9PiBjLnNjaGVtYS5oaWRkZW4gIT0gdHJ1ZSAmJiBjLm9wdGlvbnM/LnRhYmxlPy5lbmFibGVkKSk7XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLm1hcChlID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBBWFBFbnRpdHlMaXN0Vmlld0NvbHVtblZpZXdNb2RlbChlKTtcclxuICAgICAgICB9KVxyXG4gICAgfTtcclxuXHJcbiAgICB2aXNpYmxlQ29sdW1uQ291bnQgPSAoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29sdW1ucygpLmZpbHRlcihjID0+IGMudmlzaWJsZSA9PSB0cnVlKS5sZW5ndGg7XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbHVtbnMgPSBzaWduYWw8QVhQRW50aXR5TGlzdFZpZXdDb2x1bW5WaWV3TW9kZWxbXT4oW10pO1xyXG5cclxuICAgIHJlc2V0Q29sdW1ucygpIHtcclxuICAgICAgICB0aGlzLmFwcGx5Vmlld0NvbHVtbnMoKTtcclxuICAgIH1cclxuXHJcbiAgICBhcHBseUNvbHVtbnMoKSB7XHJcbiAgICAgICAgLy90aGlzLmNvbHVtbnMuc2V0KHRoaXMuY2xvbmVkQ29sdW1ucygpKVxyXG4gICAgfVxyXG5cclxuICAgIGFwcGx5Vmlld0NvbHVtbnMoKSB7XHJcbiAgICAgICAgY29uc3QgY29scyA9IHRoaXMudmlldygpLmNvbHVtbnM7XHJcbiAgICAgICAgY29uc3QgY2xvbmVkID0gdGhpcy5hbGxBdmFpbGFibGVDb2x1bW5zKClcclxuICAgICAgICAgICAgLm1hcChjID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNvbCA9IG5ldyBBWFBFbnRpdHlMaXN0Vmlld0NvbHVtblZpZXdNb2RlbCh0aGlzLmVudGl0eURlZi5wcm9wZXJ0aWVzLmZpbmQocCA9PiBwLm5hbWUgPT0gYy5uYW1lKSEpXHJcbiAgICAgICAgICAgICAgICBjb2wudmlzaWJsZSA9ICFjb2xzLnNvbWUoYyA9PiBjID09IGNvbC5uYW1lKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBjb2w7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgdGhpcy5jb2x1bW5zLnNldChjbG9uZWQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vKioqKioqKioqKioqKioqKioqIFNvcnQgKioqKioqKioqKioqKioqKioqLy9cclxuXHJcbiAgICBzb3J0YWJsZUZpZWxkcyA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBwcm9wcyA9IHRoaXMuZW50aXR5RGVmLnByb3BlcnRpZXMuZmlsdGVyKGMgPT4gYy5vcHRpb25zPy5zb3J0Py5lbmFibGVkKTtcclxuICAgICAgICByZXR1cm4gcHJvcHMubWFwKGUgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgbmFtZTogZS5uYW1lLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IGUudGl0bGUsXHJcbiAgICAgICAgICAgICAgICBkaXI6ICdhc2MnXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSlcclxuICAgIH07XHJcblxyXG4gICAgc29ydGFibGVGaWVsZHNDb3VudCA9ICgpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5lbnRpdHlEZWYucHJvcGVydGllcy5maWx0ZXIoYyA9PiBjLm9wdGlvbnM/LnNvcnQ/LmVuYWJsZWQpLmxlbmd0aCA/PyAwO1xyXG4gICAgfVxyXG5cclxuICAgIGNhblNvcnQgPSAoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc29ydGFibGVGaWVsZHNDb3VudCgpID4gMFxyXG4gICAgfTtcclxuXHJcbiAgICBjYW5BZGRNb3JlU29ydCA9ICgpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zb3J0ZWRDb3VudCgpIDwgdGhpcy5zb3J0YWJsZUZpZWxkc0NvdW50KCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHNvcnRlZENvdW50ID0gKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNvcnRlZEZpZWxkcygpLmxlbmd0aFxyXG4gICAgfTtcclxuXHJcbiAgICBzb3J0ZWRGaWVsZHMgPSBzaWduYWw8QVhQRW50aXR5TWFzdGVyTGlzdFZpZXdTb3J0UHJvcFZpZXdNb2RlbFtdPihbXSk7XHJcblxyXG4gICAgcmVzZXRTb3J0cygpIHtcclxuICAgICAgICB0aGlzLmFwcGx5Vmlld1NvcnRzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXBwbHlTb3J0cygpIHtcclxuICAgICAgICB0aGlzLmFwcGx5RmlsdGVyQW5kU29ydCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZFNvcnQoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgcHJvcCA9IHRoaXMuc29ydGFibGVGaWVsZHMoKS5maW5kKGMgPT4gIXRoaXMuc29ydGVkRmllbGRzKCkuc29tZShzID0+IHMubmFtZSA9PSBjLm5hbWUpKVxyXG4gICAgICAgIGlmIChwcm9wKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc29ydGVkRmllbGRzLnNldChbLi4udGhpcy5zb3J0ZWRGaWVsZHMoKSwgLi4uW3Byb3BdXSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZVNvcnQobmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zb3J0ZWRGaWVsZHMuc2V0KHRoaXMuc29ydGVkRmllbGRzKCkuZmlsdGVyKGMgPT4gYy5uYW1lICE9IG5hbWUpKTtcclxuICAgIH1cclxuXHJcbiAgICBhcHBseVZpZXdTb3J0cygpIHtcclxuICAgICAgICBjb25zdCBmaWxlZHMgPSB0aGlzLnZpZXcoKS5zb3J0cy5tYXAoYyA9PiAoe1xyXG4gICAgICAgICAgICBuYW1lOiBjLm5hbWUsXHJcbiAgICAgICAgICAgIHRpdGxlOiBjLm5hbWUsXHJcbiAgICAgICAgICAgIGRpcjogYy5kaXIgPz8gJ2FzYydcclxuICAgICAgICB9KSk7XHJcbiAgICAgICAgdGhpcy5zb3J0ZWRGaWVsZHMuc2V0KGZpbGVkcyk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8qKioqKioqKioqKioqKioqKiogVmlld3MgKioqKioqKioqKioqKioqKioqLy9cclxuXHJcblxyXG4gICAgc2V0Vmlldyh2aWV3TmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGwpIHtcclxuICAgICAgICBpZiAodmlld05hbWUgIT0gdGhpcy52aWV3KCkubmFtZSkge1xyXG4gICAgICAgICAgICB0aGlzLnZpZXcuc2V0KHRoaXMudmlld3MoKS5maW5kKGMgPT4gYy5uYW1lID09IHZpZXdOYW1lKSA/PyB0aGlzLnZpZXdzKClbMF0pO1xyXG4gICAgICAgICAgICB0aGlzLmFwcGx5Vmlld1NvcnRzKCk7XHJcbiAgICAgICAgICAgIHRoaXMuYXBwbHlWaWV3Q29sdW1ucygpO1xyXG4gICAgICAgICAgICB0aGlzLmFwcGx5RmlsdGVyQW5kU29ydCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB2aWV3cyA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgICAgICBjb25zdCB2aWV3cyA9IHRoaXMuZW50aXR5RGVmLmludGVyZmFjZXM/Lm1hc3Rlcj8ubGlzdD8udmlld3MgPz8gW107XHJcbiAgICAgICAgcmV0dXJuIHZpZXdzLm1hcCh2ID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBBWFBFbnRpdHlNYXN0ZXJMaXN0Vmlld1F1ZXJ5Vmlld01vZGVsKHRoaXMuZW50aXR5RGVmLCB0aGlzLCB2KTtcclxuICAgICAgICB9KVxyXG4gICAgfSk7XHJcblxyXG4gICAgdmlldyA9IHNpZ25hbDxBWFBFbnRpdHlNYXN0ZXJMaXN0Vmlld1F1ZXJ5Vmlld01vZGVsPih0aGlzLnZpZXdzKClbMF0pO1xyXG5cclxuXHJcbiAgICAvLyoqKioqKioqKioqKioqKioqKiAgQ29tbWFuZHMgKioqKioqKioqKioqKioqKioqLy9cclxuICAgIHB1YmxpYyBhc3luYyBleGVjdXRlQ29tbWFuZChjb21tYW5kTmFtZTogc3RyaW5nLCBkYXRhOiBhbnkgPSBudWxsKSB7XHJcbiAgICAgICAgLy8gZGVidWdnZXJcclxuICAgICAgICBjb25zdCBhY3Rpb24gPSB0aGlzLmFjdGlvbnMoKS5maW5kKGMgPT4gYy5uYW1lID09IGNvbW1hbmROYW1lKTtcclxuICAgICAgICB0aGlzLndvcmtmbG93LmV4ZWN1dGUoY29tbWFuZE5hbWUsIHtcclxuICAgICAgICAgICAgcGF5bG9hZDoge1xyXG4gICAgICAgICAgICAgICAgbW9kdWxlOiB0aGlzLmVudGl0eURlZi5tb2R1bGUsXHJcbiAgICAgICAgICAgICAgICBlbnRpdHk6IHRoaXMuZW50aXR5RGVmLm5hbWUsXHJcbiAgICAgICAgICAgICAgICBkYXRhOiBhY3Rpb24/LnNjb3BlID09IEFYUEVudGl0eUNvbW1hbmRTY29wZS5TZWxlY3RlZCA/IHRoaXMuc2VsZWN0ZWRJdGVtcyA6IGRhdGFcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcblxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eUxpc3RWaWV3TW9kZWxGYWN0b3J5IHtcclxuICAgIHByaXZhdGUgZW50aXR5U2VydmljZSA9IGluamVjdChBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlKTtcclxuICAgIHByaXZhdGUgbGF5b3V0ID0gaW5qZWN0KEFYUExheW91dFNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGNyZWF0ZShtb2R1bGVOYW1lOiBzdHJpbmcsIGVudGl0eU5hbWU6IHN0cmluZyk6IFByb21pc2U8QVhQRW50aXR5TWFzdGVyTGlzdFZpZXdNb2RlbD4ge1xyXG4gICAgICAgIHRoaXMubGF5b3V0LnNldE5hdmlnYXRpb25Mb2FkaW5nKHRydWUpO1xyXG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IGF3YWl0IHRoaXMuZW50aXR5U2VydmljZS5yZXNvbHZlKG1vZHVsZU5hbWUsIGVudGl0eU5hbWUpO1xyXG4gICAgICAgIHRoaXMubGF5b3V0LnNldE5hdmlnYXRpb25Mb2FkaW5nKGZhbHNlKTtcclxuICAgICAgICByZXR1cm4gbmV3IEFYUEVudGl0eU1hc3Rlckxpc3RWaWV3TW9kZWwodGhpcy5pbmplY3RvciwgY29uZmlnKTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IEFYUEVudGl0eUxpc3RWaWV3TW9kZWxSZXNvbHZlcjogUmVzb2x2ZUZuPFByb21pc2U8QVhQRW50aXR5TWFzdGVyTGlzdFZpZXdNb2RlbD4+ID0gKFxyXG4gICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXHJcbiAgICBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCxcclxuICAgIHNlcnZpY2U6IEFYUEVudGl0eUxpc3RWaWV3TW9kZWxGYWN0b3J5ID0gaW5qZWN0KEFYUEVudGl0eUxpc3RWaWV3TW9kZWxGYWN0b3J5KVxyXG4pOiBQcm9taXNlPEFYUEVudGl0eU1hc3Rlckxpc3RWaWV3TW9kZWw+ID0+IHtcclxuICAgIGNvbnN0IGFwcE5hbWUgPSByb3V0ZS5wYXJlbnQ/LnBhcmFtTWFwLmdldCgnYXBwJykgYXMgc3RyaW5nO1xyXG4gICAgY29uc3QgbW9kdWxlTmFtZSA9IHJvdXRlLnBhcmVudD8ucGFyYW1NYXAuZ2V0KCdtb2R1bGUnKSBhcyBzdHJpbmc7XHJcbiAgICBjb25zdCBlbnRpdHlOYW1lID0gcm91dGUucGFyYW1NYXAuZ2V0KCdlbnRpdHknKSBhcyBzdHJpbmc7XHJcbiAgICAvL1xyXG4gICAgcmV0dXJuIHNlcnZpY2UuY3JlYXRlKG1vZHVsZU5hbWUsIGVudGl0eU5hbWUpO1xyXG59O1xyXG5cclxuXHJcblxyXG4iXX0=
@@ -0,0 +1,230 @@
1
+ import { AXFormatService } from "@acorex/core/format";
2
+ import { cloneDeep, merge, set } from "lodash-es";
3
+ import { Injectable, Injector, computed, inject, signal } from "@angular/core";
4
+ import { AXPWorkflowService, ofType } from "@acorex/platform/workflow";
5
+ import { AXPSessionService } from "@acorex/platform/auth";
6
+ import { AXPEntityDefinitionRegistryService } from "./entity-registery.service";
7
+ import { AXPEntityCommandTriggerViewModel } from "./entity.viewmodel";
8
+ import { AXPEntityDeletedEvent } from "./workflows/delete-entity.workflow";
9
+ import { AXPEntityModifyEvent } from "./workflows/modify-section.workflow";
10
+ import { AXPEntityDetailListViewModel } from "./entity-detail-list.viewmodel";
11
+ import { AXPEntityCommandScope, AXPLayoutService } from "@acorex/platform/common";
12
+ import * as i0 from "@angular/core";
13
+ export class AXPEntityMasterSingleViewGroupViewModel {
14
+ constructor(entity, group) {
15
+ this.entity = entity;
16
+ this.group = group;
17
+ this.name = signal(this.group.id);
18
+ this.isLoading = signal(false);
19
+ this.title = computed(() => {
20
+ if (this.group.title)
21
+ return this.group.title;
22
+ return this.group.id;
23
+ });
24
+ this.description = computed(() => {
25
+ if (this.group.description)
26
+ return this.group.description;
27
+ return null;
28
+ });
29
+ this.layout = computed(() => {
30
+ const source = cloneDeep(this.group.layout ?? {});
31
+ set(source, "positions.default.colSpan", 12);
32
+ return source;
33
+ });
34
+ this.props = computed(() => {
35
+ const props = this.entity.properties.filter(c => c.groupId == this.group.id && c.schema.hidden != true && c.options?.view?.enabled != false);
36
+ return props.map(e => {
37
+ return new AXPEntityMasterSingleElementViewModel(this.entity, this, e);
38
+ });
39
+ });
40
+ this.editableProps = computed(() => {
41
+ const props = this.entity.properties.filter(c => c.groupId == this.group.id && c.schema.hidden != true && c.options?.update?.enabled != false);
42
+ return props.map(e => {
43
+ return new AXPEntityMasterSingleElementViewModel(this.entity, this, e);
44
+ });
45
+ });
46
+ this.editable = computed(() => {
47
+ return this.editableProps().length > 0;
48
+ });
49
+ }
50
+ }
51
+ export class AXPEntityMasterSingleElementViewModel {
52
+ constructor(entity, section, property) {
53
+ this.entity = entity;
54
+ this.section = section;
55
+ this.property = property;
56
+ this.name = signal(this.property.name);
57
+ this.title = signal(this.property.title);
58
+ this.description = signal(this.property.description);
59
+ this.order = signal(this.property.options?.view?.layout?.order ?? 0);
60
+ this.layout = computed(() => {
61
+ const source = cloneDeep(this.property.options?.view?.layout ?? {});
62
+ set(source, "positions.default.colSpan", 12);
63
+ return source;
64
+ });
65
+ this.node = computed(() => {
66
+ const schema = this.property.schema;
67
+ const widget = schema.interface;
68
+ return {
69
+ type: widget.type,
70
+ mode: 'view',
71
+ path: this.name(),
72
+ children: widget.children,
73
+ formula: widget.formula,
74
+ options: merge(schema.interface?.options, this.property.options?.create?.widget, { validationRules: this.property.validations })
75
+ };
76
+ });
77
+ }
78
+ }
79
+ export class AXPEntityMasterSingleViewModel {
80
+ constructor(injector, config, entityData) {
81
+ this.injector = injector;
82
+ this.config = config;
83
+ this.entityData = entityData;
84
+ this.entityDef = cloneDeep(this.config);
85
+ this._viewDef = cloneDeep(this.entityDef.interfaces?.master?.single);
86
+ this.session = this.injector.get(AXPSessionService);
87
+ this.formatService = this.injector.get(AXFormatService);
88
+ this.workflow = this.injector.get(AXPWorkflowService);
89
+ this.context = signal(cloneDeep(this.entityData));
90
+ this.actions = computed(() => {
91
+ return this.entityDef.interfaces?.master?.single?.actions?.map((tr) => new AXPEntityCommandTriggerViewModel(this.entityDef, tr)) ?? [];
92
+ });
93
+ this.primaryActions = computed(() => {
94
+ return this.actions().filter(c => c.priority == 'primary');
95
+ });
96
+ this.secondaryActions = computed(() => {
97
+ return this.actions().filter(c => c.priority == 'secondary');
98
+ });
99
+ this.sections = computed(() => {
100
+ const props = this.entityDef.properties.filter(c => c.groupId && c.schema.hidden != true && c.options?.view?.enabled != false);
101
+ const groups = this.entityDef.groups?.filter(g => props.some(p => p.groupId == g.id));
102
+ const result = groups?.map((section) => {
103
+ return new AXPEntityMasterSingleViewGroupViewModel(this.entityDef, section);
104
+ });
105
+ return (result ?? []);
106
+ });
107
+ //****************** Title ******************//
108
+ this.title = computed(() => {
109
+ const suggestedProps = this.entityDef.properties.find((c) => ['title', 'name', 'code'].includes(c.name));
110
+ let suggestedFormat = 'Item #{{id}}';
111
+ if (suggestedProps)
112
+ suggestedFormat = `{{${suggestedProps.name}}}`;
113
+ return this.formatService.format(this._viewDef.title ?? suggestedFormat, 'string', this.context());
114
+ });
115
+ //****************** Description ******************//
116
+ this.description = computed(() => {
117
+ return this._viewDef.description ? this.formatService.format(this._viewDef.description, 'string', this.context()) : null;
118
+ });
119
+ //****************** Beardcrumbs ******************//
120
+ this.beardcrumbs = computed(() => {
121
+ return [
122
+ {
123
+ title: "Home",
124
+ icon: "fa-solid fa-home ax-text-xs ax-me-2",
125
+ url: [`/${this.session.application?.name}`]
126
+ },
127
+ {
128
+ title: this.entityDef.formats.plural ?? this.entityDef.formats.individual,
129
+ url: [`/${this.session.application?.name}`, 'm', `${this.entityDef.module}`, 'e', `${this.entityDef.name}`, 'list']
130
+ },
131
+ {
132
+ title: this.title(),
133
+ }
134
+ ];
135
+ });
136
+ this.relatedEntities = computed(() => {
137
+ return this.entityDef.relatedEntities?.map(re => new AXPEntityDetailListViewModel(this.injector, re, { entity: this.entityDef, data: this.entityData })) ?? [];
138
+ });
139
+ this.workflow.events$.pipe(ofType(AXPEntityDeletedEvent)).subscribe((event) => {
140
+ // if (
141
+ // event.payload.entity == this.loader.entity.name &&
142
+ // event.payload.module == this.loader.entity.module &&
143
+ // event.payload.id.includes(this.loader.data.id)
144
+ // ) {
145
+ // this.workflow.execute('show-list-view', {
146
+ // payload: {
147
+ // module: this.loader.entity.module,
148
+ // entity: this.loader.entity.name,
149
+ // },
150
+ // });
151
+ //}
152
+ });
153
+ this.workflow.events$.pipe(ofType(AXPEntityModifyEvent)).subscribe(async (event) => {
154
+ if (event.payload.entity == this.entityDef.name &&
155
+ event.payload.module == this.entityDef.module &&
156
+ event.payload.updateValues.id === this.context().id) {
157
+ this.context.set(event.payload.updateValues);
158
+ }
159
+ });
160
+ }
161
+ async executeCommand(commandName, data = null) {
162
+ // debugger
163
+ //TODO: syntact for workflow
164
+ switch (commandName) {
165
+ case 'delete-entity':
166
+ this.workflow.execute('delete-entity', {
167
+ module: this.entityDef.module,
168
+ entity: this.entityDef.name,
169
+ ids: [this.context().id],
170
+ });
171
+ break;
172
+ case 'modify-entity-section': {
173
+ this.workflow.execute('modify-entity-section', {
174
+ payload: {
175
+ properties: data.editableProps().map(m => m.name()),
176
+ id: this.entityData.id,
177
+ module: this.entityDef.module,
178
+ entity: this.entityDef.name,
179
+ },
180
+ });
181
+ break;
182
+ }
183
+ default:
184
+ {
185
+ const action = this.actions().find(c => c.name == commandName);
186
+ this.workflow.execute(commandName, {
187
+ payload: {
188
+ module: this.entityDef.module,
189
+ entity: this.entityDef.name,
190
+ data: action?.scope == AXPEntityCommandScope.Individual ? data : null
191
+ }
192
+ });
193
+ }
194
+ }
195
+ }
196
+ }
197
+ export class AXPEntityDetailViewModelFactory {
198
+ constructor() {
199
+ this.entityService = inject(AXPEntityDefinitionRegistryService);
200
+ this.layout = inject(AXPLayoutService);
201
+ this.injector = inject(Injector);
202
+ }
203
+ async create(moduleName, entityName, id) {
204
+ const config = await this.entityService.resolve(moduleName, entityName);
205
+ this.layout.setNavigationLoading(true);
206
+ if (config.queries.byKey) {
207
+ const func = config.queries.byKey.execute;
208
+ const data = await func(id);
209
+ this.layout.setNavigationLoading(false);
210
+ return new AXPEntityMasterSingleViewModel(this.injector, config, data);
211
+ }
212
+ this.layout.setNavigationLoading(false);
213
+ return Promise.reject('cannot fetch ');
214
+ }
215
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPEntityDetailViewModelFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
216
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPEntityDetailViewModelFactory, providedIn: 'root' }); }
217
+ }
218
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPEntityDetailViewModelFactory, decorators: [{
219
+ type: Injectable,
220
+ args: [{ providedIn: 'root' }]
221
+ }] });
222
+ export const AXPEntityDetailViewModelResolver = (route, state, service = inject(AXPEntityDetailViewModelFactory)) => {
223
+ const appName = route.parent?.paramMap.get('app');
224
+ const moduleName = route.parent?.paramMap.get('module');
225
+ const entityName = route.paramMap.get('entity');
226
+ const id = route.paramMap.get('id');
227
+ //
228
+ return service.create(moduleName, entityName, id);
229
+ };
230
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LW1hc3Rlci1zaW5nbGUudmlld21vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5L3NyYy9saWIvZW50aXR5LW1hc3Rlci1zaW5nbGUudmlld21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlFLE9BQU8sRUFBNEIscUJBQXFCLEVBQW1FLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBRzdLLE1BQU0sT0FBTyx1Q0FBdUM7SUFFaEQsWUFBb0IsTUFBaUIsRUFBVSxLQUE2QjtRQUF4RCxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBd0I7UUFJNUUsU0FBSSxHQUFHLE1BQU0sQ0FBQyxJ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QUFJLENBQVcsQ0FBQztJQUM5QyxFQUFFO0lBQ0YsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDdEQsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhGb3JtYXRTZXJ2aWNlIH0gZnJvbSBcIkBhY29yZXgvY29yZS9mb3JtYXRcIjtcclxuaW1wb3J0IHsgY2xvbmVEZWVwLCBtZXJnZSwgc2V0IH0gZnJvbSBcImxvZGFzaC1lc1wiO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciwgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUmVzb2x2ZUZuLCBSb3V0ZXJTdGF0ZVNuYXBzaG90IH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBBWFBXb3JrZmxvd1NlcnZpY2UsIG9mVHlwZSB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93XCI7XHJcbmltcG9ydCB7IEFYUFNlc3Npb25TZXJ2aWNlIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vYXV0aFwiO1xyXG5pbXBvcnQgeyBBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSBcIi4vZW50aXR5LXJlZ2lzdGVyeS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEFYUEVudGl0eUNvbW1hbmRUcmlnZ2VyVmlld01vZGVsIH0gZnJvbSBcIi4vZW50aXR5LnZpZXdtb2RlbFwiO1xyXG5pbXBvcnQgeyBBWFBXaWRnZXROb2RlIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXJcIjtcclxuaW1wb3J0IHsgQVhQRW50aXR5RGVsZXRlZEV2ZW50IH0gZnJvbSBcIi4vd29ya2Zsb3dzL2RlbGV0ZS1lbnRpdHkud29ya2Zsb3dcIjtcclxuaW1wb3J0IHsgQVhQRW50aXR5TW9kaWZ5RXZlbnQgfSBmcm9tIFwiLi93b3JrZmxvd3MvbW9kaWZ5LXNlY3Rpb24ud29ya2Zsb3dcIjtcclxuaW1wb3J0IHsgQVhQRW50aXR5RGV0YWlsTGlzdFZpZXdNb2RlbCB9IGZyb20gXCIuL2VudGl0eS1kZXRhaWwtbGlzdC52aWV3bW9kZWxcIjtcclxuaW1wb3J0IHsgQVhQQmVhcmRDcnVtYiwgQVhQRW50aXR5LCBBWFBFbnRpdHlDb21tYW5kU2NvcGUsIEFYUEVudGl0eVByb3BlcnR5LCBBWFBFbnRpdHlQcm9wZXJ0eUdyb3VwLCBBWFBHcmlkTGF5b3V0T3B0aW9ucywgQVhQTGF5b3V0U2VydmljZSB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2NvbW1vblwiO1xyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlNYXN0ZXJTaW5nbGVWaWV3R3JvdXBWaWV3TW9kZWwge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZW50aXR5OiBBWFBFbnRpdHksIHByaXZhdGUgZ3JvdXA6IEFYUEVudGl0eVByb3BlcnR5R3JvdXApIHtcclxuICAgIH1cclxuXHJcblxyXG4gICAgbmFtZSA9IHNpZ25hbCh0aGlzLmdyb3VwLmlkKTtcclxuICAgIGlzTG9hZGluZyA9IHNpZ25hbChmYWxzZSk7XHJcblxyXG4gICAgdGl0bGUgPSBjb21wdXRlZDxzdHJpbmc+KCgpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5ncm91cC50aXRsZSlcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ3JvdXAudGl0bGU7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ3JvdXAuaWQ7XHJcbiAgICB9KTtcclxuXHJcbiAgICBkZXNjcmlwdGlvbiA9IGNvbXB1dGVkPHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ+KCgpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5ncm91cC5kZXNjcmlwdGlvbilcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ3JvdXAuZGVzY3JpcHRpb247XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9KTtcclxuXHJcbiAgICBsYXlvdXQgPSBjb21wdXRlZDxBWFBHcmlkTGF5b3V0T3B0aW9ucz4oKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHNvdXJjZSA9IGNsb25lRGVlcCh0aGlzLmdyb3VwLmxheW91dCA/PyB7fSkgYXMgb2JqZWN0O1xyXG4gICAgICAgIHNldChzb3VyY2UsIFwicG9zaXRpb25zLmRlZmF1bHQuY29sU3BhblwiLCAxMik7XHJcbiAgICAgICAgcmV0dXJuIHNvdXJjZSBhcyBBWFBHcmlkTGF5b3V0T3B0aW9ucztcclxuICAgIH0pO1xyXG5cclxuXHJcbiAgICBwcm9wcyA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgICAgICBjb25zdCBwcm9wcyA9IHRoaXMuZW50aXR5LnByb3BlcnRpZXMuZmlsdGVyKGMgPT4gYy5ncm91cElkID09IHRoaXMuZ3JvdXAuaWQgJiYgYy5zY2hlbWEuaGlkZGVuICE9IHRydWUgJiYgYy5vcHRpb25zPy52aWV3Py5lbmFibGVkICE9IGZhbHNlKTtcclxuICAgICAgICByZXR1cm4gcHJvcHMubWFwKGUgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IEFYUEVudGl0eU1hc3RlclNpbmdsZUVsZW1lbnRWaWV3TW9kZWwodGhpcy5lbnRpdHksIHRoaXMsIGUpO1xyXG4gICAgICAgIH0pXHJcbiAgICB9KTtcclxuXHJcbiAgICBlZGl0YWJsZVByb3BzID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHByb3BzID0gdGhpcy5lbnRpdHkucHJvcGVydGllcy5maWx0ZXIoYyA9PiBjLmdyb3VwSWQgPT0gdGhpcy5ncm91cC5pZCAmJiBjLnNjaGVtYS5oaWRkZW4gIT0gdHJ1ZSAmJiBjLm9wdGlvbnM/LnVwZGF0ZT8uZW5hYmxlZCAhPSBmYWxzZSk7XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLm1hcChlID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBBWFBFbnRpdHlNYXN0ZXJTaW5nbGVFbGVtZW50Vmlld01vZGVsKHRoaXMuZW50aXR5LCB0aGlzLCBlKTtcclxuICAgICAgICB9KVxyXG4gICAgfSk7XHJcblxyXG4gICAgZWRpdGFibGUgPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZWRpdGFibGVQcm9wcygpLmxlbmd0aCA+IDBcclxuICAgIH0pO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5TWFzdGVyU2luZ2xlRWxlbWVudFZpZXdNb2RlbCB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbnRpdHk6IEFYUEVudGl0eSwgcHJpdmF0ZSBzZWN0aW9uOiBBWFBFbnRpdHlNYXN0ZXJTaW5nbGVWaWV3R3JvdXBWaWV3TW9kZWwsIHByaXZhdGUgcHJvcGVydHk6IEFYUEVudGl0eVByb3BlcnR5KSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIG5hbWUgPSBzaWduYWwodGhpcy5wcm9wZXJ0eS5uYW1lKTtcclxuICAgIHRpdGxlID0gc2lnbmFsKHRoaXMucHJvcGVydHkudGl0bGUpO1xyXG4gICAgZGVzY3JpcHRpb24gPSBzaWduYWwodGhpcy5wcm9wZXJ0eS5kZXNjcmlwdGlvbik7XHJcblxyXG4gICAgb3JkZXIgPSBzaWduYWwodGhpcy5wcm9wZXJ0eS5vcHRpb25zPy52aWV3Py5sYXlvdXQ/Lm9yZGVyID8/IDApO1xyXG5cclxuICAgIGxheW91dCA9IGNvbXB1dGVkPEFYUEdyaWRMYXlvdXRPcHRpb25zPigoKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgc291cmNlID0gY2xvbmVEZWVwKHRoaXMucHJvcGVydHkub3B0aW9ucz8udmlldz8ubGF5b3V0ID8/IHt9KSBhcyBvYmplY3Q7XHJcbiAgICAgICAgc2V0KHNvdXJjZSwgXCJwb3NpdGlvbnMuZGVmYXVsdC5jb2xTcGFuXCIsIDEyKTtcclxuICAgICAgICByZXR1cm4gc291cmNlIGFzIEFYUEdyaWRMYXlvdXRPcHRpb25zO1xyXG4gICAgfSk7XHJcblxyXG4gICAgbm9kZSA9IGNvbXB1dGVkPEFYUFdpZGdldE5vZGU+KCgpID0+IHtcclxuICAgICAgICBjb25zdCBzY2hlbWEgPSB0aGlzLnByb3BlcnR5LnNjaGVtYSE7XHJcbiAgICAgICAgY29uc3Qgd2lkZ2V0ID0gc2NoZW1hLmludGVyZmFjZSE7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgdHlwZTogd2lkZ2V0LnR5cGUsXHJcbiAgICAgICAgICAgIG1vZGU6ICd2aWV3JyxcclxuICAgICAgICAgICAgcGF0aDogdGhpcy5uYW1lKCksXHJcbiAgICAgICAgICAgIGNoaWxkcmVuOiB3aWRnZXQuY2hpbGRyZW4sXHJcbiAgICAgICAgICAgIGZvcm11bGE6IHdpZGdldC5mb3JtdWxhLFxyXG4gICAgICAgICAgICBvcHRpb25zOiBtZXJnZShcclxuICAgICAgICAgICAgICAgIHNjaGVtYS5pbnRlcmZhY2U/Lm9wdGlvbnMsXHJcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BlcnR5Lm9wdGlvbnM/LmNyZWF0ZT8ud2lkZ2V0LFxyXG4gICAgICAgICAgICAgICAgeyB2YWxpZGF0aW9uUnVsZXM6IHRoaXMucHJvcGVydHkudmFsaWRhdGlvbnMgfSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgIH0gYXMgQVhQV2lkZ2V0Tm9kZTtcclxuICAgIH0pXHJcbn1cclxuXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eU1hc3RlclNpbmdsZVZpZXdNb2RlbCB7XHJcblxyXG4gICAgcHJpdmF0ZSBlbnRpdHlEZWYgPSBjbG9uZURlZXAodGhpcy5jb25maWcpITtcclxuICAgIHByaXZhdGUgX3ZpZXdEZWYgPSBjbG9uZURlZXAodGhpcy5lbnRpdHlEZWYuaW50ZXJmYWNlcz8ubWFzdGVyPy5zaW5nbGUpIVxyXG4gICAgcHJpdmF0ZSBzZXNzaW9uID0gdGhpcy5pbmplY3Rvci5nZXQoQVhQU2Vzc2lvblNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSBmb3JtYXRTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoQVhGb3JtYXRTZXJ2aWNlKVxyXG4gICAgcHJpdmF0ZSB3b3JrZmxvdyA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFYUFdvcmtmbG93U2VydmljZSlcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgICAgICBwcml2YXRlIGNvbmZpZzogQVhQRW50aXR5LFxyXG4gICAgICAgIHByaXZhdGUgZW50aXR5RGF0YTogYW55LFxyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy53b3JrZmxvdy5ldmVudHMkLnBpcGUob2ZUeXBlKEFYUEVudGl0eURlbGV0ZWRFdmVudCkpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuICAgICAgICAgICAgLy8gaWYgKFxyXG4gICAgICAgICAgICAvLyAgIGV2ZW50LnBheWxvYWQuZW50aXR5ID09IHRoaXMubG9hZGVyLmVudGl0eS5uYW1lICYmXHJcbiAgICAgICAgICAgIC8vICAgZXZlbnQucGF5bG9hZC5tb2R1bGUgPT0gdGhpcy5sb2FkZXIuZW50aXR5Lm1vZHVsZSAmJlxyXG4gICAgICAgICAgICAvLyAgIGV2ZW50LnBheWxvYWQuaWQuaW5jbHVkZXModGhpcy5sb2FkZXIuZGF0YS5pZClcclxuICAgICAgICAgICAgLy8gKSB7XHJcbiAgICAgICAgICAgIC8vICAgdGhpcy53b3JrZmxvdy5leGVjdXRlKCdzaG93LWxpc3QtdmlldycsIHtcclxuICAgICAgICAgICAgLy8gICAgIHBheWxvYWQ6IHtcclxuICAgICAgICAgICAgLy8gICAgICAgbW9kdWxlOiB0aGlzLmxvYWRlci5lbnRpdHkubW9kdWxlLFxyXG4gICAgICAgICAgICAvLyAgICAgICBlbnRpdHk6IHRoaXMubG9hZGVyLmVudGl0eS5uYW1lLFxyXG4gICAgICAgICAgICAvLyAgICAgfSxcclxuICAgICAgICAgICAgLy8gICB9KTtcclxuICAgICAgICAgICAgLy99XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy53b3JrZmxvdy5ldmVudHMkLnBpcGUob2ZUeXBlKEFYUEVudGl0eU1vZGlmeUV2ZW50KSkuc3Vic2NyaWJlKGFzeW5jIChldmVudCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICBldmVudC5wYXlsb2FkLmVudGl0eSA9PSB0aGlzLmVudGl0eURlZi5uYW1lICYmXHJcbiAgICAgICAgICAgICAgICBldmVudC5wYXlsb2FkLm1vZHVsZSA9PSB0aGlzLmVudGl0eURlZi5tb2R1bGUgJiZcclxuICAgICAgICAgICAgICAgIGV2ZW50LnBheWxvYWQudXBkYXRlVmFsdWVzLmlkID09PSB0aGlzLmNvbnRleHQoKS5pZFxyXG4gICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5zZXQoZXZlbnQucGF5bG9hZC51cGRhdGVWYWx1ZXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHB1YmxpYyBjb250ZXh0ID0gc2lnbmFsPGFueT4oY2xvbmVEZWVwKHRoaXMuZW50aXR5RGF0YSkpO1xyXG5cclxuICAgIHByaXZhdGUgYWN0aW9ucyA9IGNvbXB1dGVkPEFYUEVudGl0eUNvbW1hbmRUcmlnZ2VyVmlld01vZGVsW10+KCgpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5lbnRpdHlEZWYuaW50ZXJmYWNlcz8ubWFzdGVyPy5zaW5nbGU/LmFjdGlvbnM/Lm1hcCgodHIpID0+IG5ldyBBWFBFbnRpdHlDb21tYW5kVHJpZ2dlclZpZXdNb2RlbCh0aGlzLmVudGl0eURlZiwgdHIpKSA/PyBbXTtcclxuICAgIH0pO1xyXG5cclxuICAgIHB1YmxpYyBwcmltYXJ5QWN0aW9ucyA9IGNvbXB1dGVkPEFYUEVudGl0eUNvbW1hbmRUcmlnZ2VyVmlld01vZGVsW10+KCgpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hY3Rpb25zKCkuZmlsdGVyKGMgPT4gYy5wcmlvcml0eSA9PSAncHJpbWFyeScpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcHVibGljIHNlY29uZGFyeUFjdGlvbnMgPSBjb21wdXRlZDxBWFBFbnRpdHlDb21tYW5kVHJpZ2dlclZpZXdNb2RlbFtdPigoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWN0aW9ucygpLmZpbHRlcihjID0+IGMucHJpb3JpdHkgPT0gJ3NlY29uZGFyeScpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcHVibGljIHNlY3Rpb25zID0gY29tcHV0ZWQ8QVhQRW50aXR5TWFzdGVyU2luZ2xlVmlld0dyb3VwVmlld01vZGVsW10+KCgpID0+IHtcclxuICAgICAgICBjb25zdCBwcm9wcyA9IHRoaXMuZW50aXR5RGVmLnByb3BlcnRpZXMuZmlsdGVyKGMgPT4gYy5ncm91cElkICYmIGMuc2NoZW1hLmhpZGRlbiAhPSB0cnVlICYmIGMub3B0aW9ucz8udmlldz8uZW5hYmxlZCAhPSBmYWxzZSk7XHJcbiAgICAgICAgY29uc3QgZ3JvdXBzID0gdGhpcy5lbnRpdHlEZWYuZ3JvdXBzPy5maWx0ZXIoZyA9PiBwcm9wcy5zb21lKHAgPT4gcC5ncm91cElkID09IGcuaWQpKTtcclxuICAgICAgICBjb25zdCByZXN1bHQgPSBncm91cHM/Lm1hcCgoc2VjdGlvbikgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IEFYUEVudGl0eU1hc3RlclNpbmdsZVZpZXdHcm91cFZpZXdNb2RlbCh0aGlzLmVudGl0eURlZiwgc2VjdGlvbilcclxuICAgICAgICB9KVxyXG4gICAgICAgIHJldHVybiAocmVzdWx0ID8/IFtdKSBhcyBBWFBFbnRpdHlNYXN0ZXJTaW5nbGVWaWV3R3JvdXBWaWV3TW9kZWxbXTtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vKioqKioqKioqKioqKioqKioqIFRpdGxlICoqKioqKioqKioqKioqKioqKi8vXHJcbiAgICBwdWJsaWMgdGl0bGUgPSBjb21wdXRlZDxzdHJpbmc+KCgpID0+IHtcclxuICAgICAgICBjb25zdCBzdWdnZXN0ZWRQcm9wcyA9IHRoaXMuZW50aXR5RGVmLnByb3BlcnRpZXMuZmluZCgoYykgPT4gWyd0aXRsZScsICduYW1lJywgJ2NvZGUnXS5pbmNsdWRlcyhjLm5hbWUpKTtcclxuICAgICAgICBsZXQgc3VnZ2VzdGVkRm9ybWF0ID0gJ0l0ZW0gI3t7aWR9fSc7XHJcbiAgICAgICAgaWYgKHN1Z2dlc3RlZFByb3BzKSBzdWdnZXN0ZWRGb3JtYXQgPSBge3ske3N1Z2dlc3RlZFByb3BzLm5hbWV9fX1gO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdFNlcnZpY2UuZm9ybWF0KHRoaXMuX3ZpZXdEZWYudGl0bGUgPz8gc3VnZ2VzdGVkRm9ybWF0LFxyXG4gICAgICAgICAgICAnc3RyaW5nJyxcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0KClcclxuICAgICAgICApO1xyXG4gICAgfSk7XHJcbiAgICAvLyoqKioqKioqKioqKioqKioqKiBEZXNjcmlwdGlvbiAqKioqKioqKioqKioqKioqKiovL1xyXG4gICAgcHVibGljIGRlc2NyaXB0aW9uID0gY29tcHV0ZWQ8c3RyaW5nIHwgbnVsbD4oKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl92aWV3RGVmLmRlc2NyaXB0aW9uID8gdGhpcy5mb3JtYXRTZXJ2aWNlLmZvcm1hdCh0aGlzLl92aWV3RGVmLmRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAnc3RyaW5nJyxcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0KClcclxuICAgICAgICApIDogbnVsbDtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vKioqKioqKioqKioqKioqKioqIEJlYXJkY3J1bWJzICoqKioqKioqKioqKioqKioqKi8vXHJcbiAgICBwdWJsaWMgYmVhcmRjcnVtYnMgPSBjb21wdXRlZDxBWFBCZWFyZENydW1iW10+KCgpID0+IHtcclxuICAgICAgICByZXR1cm4gW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJIb21lXCIsXHJcbiAgICAgICAgICAgICAgICBpY29uOiBcImZhLXNvbGlkIGZhLWhvbWUgYXgtdGV4dC14cyBheC1tZS0yXCIsXHJcbiAgICAgICAgICAgICAgICB1cmw6IFtgLyR7dGhpcy5zZXNzaW9uLmFwcGxpY2F0aW9uPy5uYW1lfWBdXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHRpdGxlOiB0aGlzLmVudGl0eURlZi5mb3JtYXRzLnBsdXJhbCA/PyB0aGlzLmVudGl0eURlZi5mb3JtYXRzLmluZGl2aWR1YWwsXHJcbiAgICAgICAgICAgICAgICB1cmw6IFtgLyR7dGhpcy5zZXNzaW9uLmFwcGxpY2F0aW9uPy5uYW1lfWAsICdtJywgYCR7dGhpcy5lbnRpdHlEZWYubW9kdWxlfWAsICdlJywgYCR7dGhpcy5lbnRpdHlEZWYubmFtZX1gLCAnbGlzdCddXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRpdGxlKCksXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBdXHJcbiAgICB9KTtcclxuXHJcblxyXG4gICAgcHVibGljIHJlbGF0ZWRFbnRpdGllcyA9IGNvbXB1dGVkPEFYUEVudGl0eURldGFpbExpc3RWaWV3TW9kZWxbXT4oKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVudGl0eURlZi5yZWxhdGVkRW50aXRpZXM/Lm1hcChyZSA9PlxyXG4gICAgICAgICAgICBuZXcgQVhQRW50aXR5RGV0YWlsTGlzdFZpZXdNb2RlbCh0aGlzLmluamVjdG9yLCByZSwgeyBlbnRpdHk6IHRoaXMuZW50aXR5RGVmLCBkYXRhOiB0aGlzLmVudGl0eURhdGEgfSlcclxuICAgICAgICApID8/IFtdXHJcbiAgICB9KTtcclxuXHJcblxyXG4gICAgcHVibGljIGFzeW5jIGV4ZWN1dGVDb21tYW5kKGNvbW1hbmROYW1lOiBzdHJpbmcsIGRhdGE6IGFueSA9IG51bGwpIHtcclxuICAgICAgICAvLyBkZWJ1Z2dlclxyXG4gICAgICAgIC8vVE9ETzogc3ludGFjdCBmb3Igd29ya2Zsb3dcclxuICAgICAgICBzd2l0Y2ggKGNvbW1hbmROYW1lKSB7XHJcbiAgICAgICAgICAgIGNhc2UgJ2RlbGV0ZS1lbnRpdHknOlxyXG4gICAgICAgICAgICAgICAgdGhpcy53b3JrZmxvdy5leGVjdXRlKCdkZWxldGUtZW50aXR5Jywge1xyXG4gICAgICAgICAgICAgICAgICAgIG1vZHVsZTogdGhpcy5lbnRpdHlEZWYubW9kdWxlLFxyXG4gICAgICAgICAgICAgICAgICAgIGVudGl0eTogdGhpcy5lbnRpdHlEZWYubmFtZSxcclxuICAgICAgICAgICAgICAgICAgICBpZHM6IFt0aGlzLmNvbnRleHQoKS5pZF0sXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdtb2RpZnktZW50aXR5LXNlY3Rpb24nOiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLndvcmtmbG93LmV4ZWN1dGUoJ21vZGlmeS1lbnRpdHktc2VjdGlvbicsIHtcclxuICAgICAgICAgICAgICAgICAgICBwYXlsb2FkOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IChkYXRhIGFzIEFYUEVudGl0eU1hc3RlclNpbmdsZVZpZXdHcm91cFZpZXdNb2RlbCkuZWRpdGFibGVQcm9wcygpLm1hcChtID0+IG0ubmFtZSgpKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHRoaXMuZW50aXR5RGF0YS5pZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlOiB0aGlzLmVudGl0eURlZi5tb2R1bGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eTogdGhpcy5lbnRpdHlEZWYubmFtZSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFjdGlvbiA9IHRoaXMuYWN0aW9ucygpLmZpbmQoYyA9PiBjLm5hbWUgPT0gY29tbWFuZE5hbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMud29ya2Zsb3cuZXhlY3V0ZShjb21tYW5kTmFtZSwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXlsb2FkOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2R1bGU6IHRoaXMuZW50aXR5RGVmLm1vZHVsZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eTogdGhpcy5lbnRpdHlEZWYubmFtZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IGFjdGlvbj8uc2NvcGUgPT0gQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwgPyBkYXRhIDogbnVsbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlEZXRhaWxWaWV3TW9kZWxGYWN0b3J5IHtcclxuICAgIHByaXZhdGUgZW50aXR5U2VydmljZSA9IGluamVjdChBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlKTtcclxuICAgIHByaXZhdGUgbGF5b3V0ID0gaW5qZWN0KEFYUExheW91dFNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGNyZWF0ZShtb2R1bGVOYW1lOiBzdHJpbmcsIGVudGl0eU5hbWU6IHN0cmluZywgaWQ6IHN0cmluZyk6IFByb21pc2U8QVhQRW50aXR5TWFzdGVyU2luZ2xlVmlld01vZGVsPiB7XHJcbiAgICAgICAgY29uc3QgY29uZmlnID0gYXdhaXQgdGhpcy5lbnRpdHlTZXJ2aWNlLnJlc29sdmUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XHJcbiAgICAgICAgdGhpcy5sYXlvdXQuc2V0TmF2aWdhdGlvbkxvYWRpbmcodHJ1ZSk7XHJcbiAgICAgICAgaWYgKGNvbmZpZy5xdWVyaWVzLmJ5S2V5KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZ1bmMgPSBjb25maWcucXVlcmllcy5ieUtleS5leGVjdXRlIGFzIEZ1bmN0aW9uO1xyXG4gICAgICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgZnVuYyhpZCk7XHJcbiAgICAgICAgICAgIHRoaXMubGF5b3V0LnNldE5hdmlnYXRpb25Mb2FkaW5nKGZhbHNlKTtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBBWFBFbnRpdHlNYXN0ZXJTaW5nbGVWaWV3TW9kZWwodGhpcy5pbmplY3RvciwgY29uZmlnLCBkYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5sYXlvdXQuc2V0TmF2aWdhdGlvbkxvYWRpbmcoZmFsc2UpO1xyXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgnY2Fubm90IGZldGNoICcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuZXhwb3J0IGNvbnN0IEFYUEVudGl0eURldGFpbFZpZXdNb2RlbFJlc29sdmVyOiBSZXNvbHZlRm48UHJvbWlzZTxBWFBFbnRpdHlNYXN0ZXJTaW5nbGVWaWV3TW9kZWw+PiA9IChcclxuICAgIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxyXG4gICAgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QsXHJcbiAgICBzZXJ2aWNlOiBBWFBFbnRpdHlEZXRhaWxWaWV3TW9kZWxGYWN0b3J5ID0gaW5qZWN0KEFYUEVudGl0eURldGFpbFZpZXdNb2RlbEZhY3RvcnkpXHJcbik6IFByb21pc2U8QVhQRW50aXR5TWFzdGVyU2luZ2xlVmlld01vZGVsPiA9PiB7XHJcbiAgICBjb25zdCBhcHBOYW1lID0gcm91dGUucGFyZW50Py5wYXJhbU1hcC5nZXQoJ2FwcCcpIGFzIHN0cmluZztcclxuICAgIGNvbnN0IG1vZHVsZU5hbWUgPSByb3V0ZS5wYXJlbnQ/LnBhcmFtTWFwLmdldCgnbW9kdWxlJykgYXMgc3RyaW5nO1xyXG4gICAgY29uc3QgZW50aXR5TmFtZSA9IHJvdXRlLnBhcmFtTWFwLmdldCgnZW50aXR5JykgYXMgc3RyaW5nO1xyXG4gICAgY29uc3QgaWQgPSByb3V0ZS5wYXJhbU1hcC5nZXQoJ2lkJykgYXMgc3RyaW5nO1xyXG4gICAgLy9cclxuICAgIHJldHVybiBzZXJ2aWNlLmNyZWF0ZShtb2R1bGVOYW1lLCBlbnRpdHlOYW1lLCBpZCk7XHJcbn07XHJcblxyXG5cclxuIl19