@abp/ng.theme.shared 4.4.1 → 5.0.0-beta.1-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 (305) hide show
  1. package/abp-ng.theme.shared.d.ts +1 -34
  2. package/bundles/abp-ng.theme.shared-extensions.umd.js +473 -361
  3. package/bundles/abp-ng.theme.shared-extensions.umd.js.map +1 -1
  4. package/bundles/abp-ng.theme.shared-testing.umd.js +33 -7
  5. package/bundles/abp-ng.theme.shared-testing.umd.js.map +1 -1
  6. package/bundles/abp-ng.theme.shared.umd.js +691 -1078
  7. package/bundles/abp-ng.theme.shared.umd.js.map +1 -1
  8. package/esm2015/abp-ng.theme.shared.js +1 -34
  9. package/esm2015/abp-ng.theme.shared.js.map +1 -0
  10. package/esm2015/extensions/abp-ng.theme.shared-extensions.js +1 -5
  11. package/esm2015/extensions/abp-ng.theme.shared-extensions.js.map +1 -0
  12. package/esm2015/extensions/lib/adapters/date-time.adapter.js +7 -4
  13. package/esm2015/extensions/lib/adapters/date-time.adapter.js.map +1 -0
  14. package/esm2015/extensions/lib/adapters/date.adapter.js +7 -4
  15. package/esm2015/extensions/lib/adapters/date.adapter.js.map +1 -0
  16. package/esm2015/extensions/lib/adapters/time.adapter.js +7 -4
  17. package/esm2015/extensions/lib/adapters/time.adapter.js.map +1 -0
  18. package/esm2015/extensions/lib/components/abstract-actions/abstract-actions.component.js +9 -12
  19. package/esm2015/extensions/lib/components/abstract-actions/abstract-actions.component.js.map +1 -0
  20. package/esm2015/extensions/lib/components/date-time-picker/date-time-picker.component.js +74 -35
  21. package/esm2015/extensions/lib/components/date-time-picker/date-time-picker.component.js.map +1 -0
  22. package/esm2015/extensions/lib/components/extensible-form/extensible-form-prop.component.js +49 -34
  23. package/esm2015/extensions/lib/components/extensible-form/extensible-form-prop.component.js.map +1 -0
  24. package/esm2015/extensions/lib/components/extensible-form/extensible-form.component.js +42 -30
  25. package/esm2015/extensions/lib/components/extensible-form/extensible-form.component.js.map +1 -0
  26. package/esm2015/extensions/lib/components/extensible-table/extensible-table.component.js +59 -28
  27. package/esm2015/extensions/lib/components/extensible-table/extensible-table.component.js.map +1 -0
  28. package/esm2015/extensions/lib/components/grid-actions/grid-actions.component.js +34 -23
  29. package/esm2015/extensions/lib/components/grid-actions/grid-actions.component.js.map +1 -0
  30. package/esm2015/extensions/lib/components/page-toolbar/page-toolbar.component.js +26 -18
  31. package/esm2015/extensions/lib/components/page-toolbar/page-toolbar.component.js.map +1 -0
  32. package/esm2015/extensions/lib/constants/extra-properties.js +1 -1
  33. package/esm2015/extensions/lib/constants/extra-properties.js.map +1 -0
  34. package/esm2015/extensions/lib/directives/disabled.directive.js +15 -12
  35. package/esm2015/extensions/lib/directives/disabled.directive.js.map +1 -0
  36. package/esm2015/extensions/lib/directives/prop-data.directive.js +21 -18
  37. package/esm2015/extensions/lib/directives/prop-data.directive.js.map +1 -0
  38. package/esm2015/extensions/lib/enums/props.enum.js +1 -1
  39. package/esm2015/extensions/lib/enums/props.enum.js.map +1 -0
  40. package/esm2015/extensions/lib/models/actions.js +1 -2
  41. package/esm2015/extensions/lib/models/actions.js.map +1 -0
  42. package/esm2015/extensions/lib/models/entity-actions.js +1 -1
  43. package/esm2015/extensions/lib/models/entity-actions.js.map +1 -0
  44. package/esm2015/extensions/lib/models/entity-props.js +3 -1
  45. package/esm2015/extensions/lib/models/entity-props.js.map +1 -0
  46. package/esm2015/extensions/lib/models/form-props.js +1 -2
  47. package/esm2015/extensions/lib/models/form-props.js.map +1 -0
  48. package/esm2015/extensions/lib/models/internal/object-extensions.js +1 -1
  49. package/esm2015/extensions/lib/models/internal/object-extensions.js.map +1 -0
  50. package/esm2015/extensions/lib/models/object-extensions.js +1 -1
  51. package/esm2015/extensions/lib/models/object-extensions.js.map +1 -0
  52. package/esm2015/extensions/lib/models/props.js +1 -2
  53. package/esm2015/extensions/lib/models/props.js.map +1 -0
  54. package/esm2015/extensions/lib/models/toolbar-actions.js +1 -1
  55. package/esm2015/extensions/lib/models/toolbar-actions.js.map +1 -0
  56. package/esm2015/extensions/lib/services/extensions.service.js +9 -7
  57. package/esm2015/extensions/lib/services/extensions.service.js.map +1 -0
  58. package/esm2015/extensions/lib/tokens/extensions.token.js +2 -1
  59. package/esm2015/extensions/lib/tokens/extensions.token.js.map +1 -0
  60. package/esm2015/extensions/lib/ui-extensions.module.js +75 -39
  61. package/esm2015/extensions/lib/ui-extensions.module.js.map +1 -0
  62. package/esm2015/extensions/lib/utils/actions.util.js +1 -1
  63. package/esm2015/extensions/lib/utils/actions.util.js.map +1 -0
  64. package/esm2015/extensions/lib/utils/enum.util.js +1 -1
  65. package/esm2015/extensions/lib/utils/enum.util.js.map +1 -0
  66. package/esm2015/extensions/lib/utils/factory.util.js +1 -1
  67. package/esm2015/extensions/lib/utils/factory.util.js.map +1 -0
  68. package/esm2015/extensions/lib/utils/form-props.util.js +1 -1
  69. package/esm2015/extensions/lib/utils/form-props.util.js.map +1 -0
  70. package/esm2015/extensions/lib/utils/localization.util.js +1 -1
  71. package/esm2015/extensions/lib/utils/localization.util.js.map +1 -0
  72. package/esm2015/extensions/lib/utils/props.util.js +1 -1
  73. package/esm2015/extensions/lib/utils/props.util.js.map +1 -0
  74. package/esm2015/extensions/lib/utils/state.util.js +1 -1
  75. package/esm2015/extensions/lib/utils/state.util.js.map +1 -0
  76. package/esm2015/extensions/lib/utils/typeahead.util.js +1 -1
  77. package/esm2015/extensions/lib/utils/typeahead.util.js.map +1 -0
  78. package/esm2015/extensions/lib/utils/validation.util.js +1 -1
  79. package/esm2015/extensions/lib/utils/validation.util.js.map +1 -0
  80. package/esm2015/extensions/public-api.js +1 -1
  81. package/esm2015/extensions/public-api.js.map +1 -0
  82. package/esm2015/lib/animations/bounce.animations.js +5 -5
  83. package/esm2015/lib/animations/bounce.animations.js.map +1 -0
  84. package/esm2015/lib/animations/collapse.animations.js +1 -1
  85. package/esm2015/lib/animations/collapse.animations.js.map +1 -0
  86. package/esm2015/lib/animations/fade.animations.js +1 -1
  87. package/esm2015/lib/animations/fade.animations.js.map +1 -0
  88. package/esm2015/lib/animations/index.js +1 -1
  89. package/esm2015/lib/animations/index.js.map +1 -0
  90. package/esm2015/lib/animations/modal.animations.js +1 -1
  91. package/esm2015/lib/animations/modal.animations.js.map +1 -0
  92. package/esm2015/lib/animations/slide.animations.js +1 -1
  93. package/esm2015/lib/animations/slide.animations.js.map +1 -0
  94. package/esm2015/lib/animations/toast.animations.js +1 -1
  95. package/esm2015/lib/animations/toast.animations.js.map +1 -0
  96. package/esm2015/lib/components/breadcrumb/breadcrumb.component.js +19 -21
  97. package/esm2015/lib/components/breadcrumb/breadcrumb.component.js.map +1 -0
  98. package/esm2015/lib/components/breadcrumb-items/breadcrumb-items.component.js +22 -0
  99. package/esm2015/lib/components/breadcrumb-items/breadcrumb-items.component.js.map +1 -0
  100. package/esm2015/lib/components/button/button.component.js +57 -30
  101. package/esm2015/lib/components/button/button.component.js.map +1 -0
  102. package/esm2015/lib/components/confirmation/confirmation.component.js +14 -8
  103. package/esm2015/lib/components/confirmation/confirmation.component.js.map +1 -0
  104. package/esm2015/lib/components/http-error-wrapper/http-error-wrapper.component.js +25 -20
  105. package/esm2015/lib/components/http-error-wrapper/http-error-wrapper.component.js.map +1 -0
  106. package/esm2015/lib/components/index.js +3 -6
  107. package/esm2015/lib/components/index.js.map +1 -0
  108. package/esm2015/lib/components/loader-bar/loader-bar.component.js +34 -21
  109. package/esm2015/lib/components/loader-bar/loader-bar.component.js.map +1 -0
  110. package/esm2015/lib/components/loading/loading.component.js +20 -13
  111. package/esm2015/lib/components/loading/loading.component.js.map +1 -0
  112. package/esm2015/lib/components/modal/modal-close.directive.js +14 -10
  113. package/esm2015/lib/components/modal/modal-close.directive.js.map +1 -0
  114. package/esm2015/lib/components/modal/modal-ref.service.js +7 -5
  115. package/esm2015/lib/components/modal/modal-ref.service.js.map +1 -0
  116. package/esm2015/lib/components/modal/modal.component.js +57 -65
  117. package/esm2015/lib/components/modal/modal.component.js.map +1 -0
  118. package/esm2015/lib/components/toast/toast.component.js +25 -22
  119. package/esm2015/lib/components/toast/toast.component.js.map +1 -0
  120. package/esm2015/lib/components/toast-container/toast-container.component.js +25 -16
  121. package/esm2015/lib/components/toast-container/toast-container.component.js.map +1 -0
  122. package/esm2015/lib/constants/styles.js +1 -1
  123. package/esm2015/lib/constants/styles.js.map +1 -0
  124. package/esm2015/lib/constants/validation.js +1 -1
  125. package/esm2015/lib/constants/validation.js.map +1 -0
  126. package/esm2015/lib/directives/ellipsis.directive.js +40 -24
  127. package/esm2015/lib/directives/ellipsis.directive.js.map +1 -0
  128. package/esm2015/lib/directives/index.js +2 -3
  129. package/esm2015/lib/directives/index.js.map +1 -0
  130. package/esm2015/lib/directives/loading.directive.js +20 -17
  131. package/esm2015/lib/directives/loading.directive.js.map +1 -0
  132. package/esm2015/lib/directives/ngx-datatable-default.directive.js +21 -16
  133. package/esm2015/lib/directives/ngx-datatable-default.directive.js.map +1 -0
  134. package/esm2015/lib/directives/ngx-datatable-list.directive.js +22 -18
  135. package/esm2015/lib/directives/ngx-datatable-list.directive.js.map +1 -0
  136. package/esm2015/lib/enums/index.js +1 -1
  137. package/esm2015/lib/enums/index.js.map +1 -0
  138. package/esm2015/lib/enums/route-names.js +1 -1
  139. package/esm2015/lib/enums/route-names.js.map +1 -0
  140. package/esm2015/lib/handlers/error.handler.js +28 -37
  141. package/esm2015/lib/handlers/error.handler.js.map +1 -0
  142. package/esm2015/lib/handlers/index.js +1 -1
  143. package/esm2015/lib/handlers/index.js.map +1 -0
  144. package/esm2015/lib/handlers/lazy-style.handler.js +9 -10
  145. package/esm2015/lib/handlers/lazy-style.handler.js.map +1 -0
  146. package/esm2015/lib/models/common.js +1 -1
  147. package/esm2015/lib/models/common.js.map +1 -0
  148. package/esm2015/lib/models/confirmation.js +1 -1
  149. package/esm2015/lib/models/confirmation.js.map +1 -0
  150. package/esm2015/lib/models/index.js +1 -1
  151. package/esm2015/lib/models/index.js.map +1 -0
  152. package/esm2015/lib/models/nav-item.js +1 -1
  153. package/esm2015/lib/models/nav-item.js.map +1 -0
  154. package/esm2015/lib/models/statistics.js +1 -1
  155. package/esm2015/lib/models/statistics.js.map +1 -0
  156. package/esm2015/lib/models/toaster.js +1 -1
  157. package/esm2015/lib/models/toaster.js.map +1 -0
  158. package/esm2015/lib/providers/index.js +1 -1
  159. package/esm2015/lib/providers/index.js.map +1 -0
  160. package/esm2015/lib/providers/ng-bootstrap-config.provider.js +1 -1
  161. package/esm2015/lib/providers/ng-bootstrap-config.provider.js.map +1 -0
  162. package/esm2015/lib/providers/route.provider.js +1 -1
  163. package/esm2015/lib/providers/route.provider.js.map +1 -0
  164. package/esm2015/lib/services/confirmation.service.js +7 -8
  165. package/esm2015/lib/services/confirmation.service.js.map +1 -0
  166. package/esm2015/lib/services/index.js +2 -3
  167. package/esm2015/lib/services/index.js.map +1 -0
  168. package/esm2015/lib/services/nav-items.service.js +7 -5
  169. package/esm2015/lib/services/nav-items.service.js.map +1 -0
  170. package/esm2015/lib/services/page-alert.service.js +7 -6
  171. package/esm2015/lib/services/page-alert.service.js.map +1 -0
  172. package/esm2015/lib/services/toaster.service.js +22 -21
  173. package/esm2015/lib/services/toaster.service.js.map +1 -0
  174. package/esm2015/lib/theme-shared.module.js +72 -39
  175. package/esm2015/lib/theme-shared.module.js.map +1 -0
  176. package/esm2015/lib/tokens/append-content.token.js +1 -3
  177. package/esm2015/lib/tokens/append-content.token.js.map +1 -0
  178. package/esm2015/lib/tokens/http-error.token.js +1 -1
  179. package/esm2015/lib/tokens/http-error.token.js.map +1 -0
  180. package/esm2015/lib/tokens/index.js +1 -1
  181. package/esm2015/lib/tokens/index.js.map +1 -0
  182. package/esm2015/lib/tokens/lazy-styles.token.js +1 -1
  183. package/esm2015/lib/tokens/lazy-styles.token.js.map +1 -0
  184. package/esm2015/lib/tokens/ngx-datatable-messages.token.js +1 -1
  185. package/esm2015/lib/tokens/ngx-datatable-messages.token.js.map +1 -0
  186. package/esm2015/lib/tokens/suppress-unsaved-changes-warning.token.js +1 -2
  187. package/esm2015/lib/tokens/suppress-unsaved-changes-warning.token.js.map +1 -0
  188. package/esm2015/lib/utils/date-parser-formatter.js +13 -10
  189. package/esm2015/lib/utils/date-parser-formatter.js.map +1 -0
  190. package/esm2015/lib/utils/index.js +1 -2
  191. package/esm2015/lib/utils/index.js.map +1 -0
  192. package/esm2015/lib/utils/validation-utils.js +1 -1
  193. package/esm2015/lib/utils/validation-utils.js.map +1 -0
  194. package/esm2015/public-api.js +1 -1
  195. package/esm2015/public-api.js.map +1 -0
  196. package/esm2015/testing/abp-ng.theme.shared-testing.js +1 -1
  197. package/esm2015/testing/abp-ng.theme.shared-testing.js.map +1 -0
  198. package/esm2015/testing/lib/models/config.js +1 -1
  199. package/esm2015/testing/lib/models/config.js.map +1 -0
  200. package/esm2015/testing/lib/models/index.js +1 -1
  201. package/esm2015/testing/lib/models/index.js.map +1 -0
  202. package/esm2015/testing/lib/theme-shared-testing.module.js +12 -7
  203. package/esm2015/testing/lib/theme-shared-testing.module.js.map +1 -0
  204. package/esm2015/testing/public-api.js +1 -1
  205. package/esm2015/testing/public-api.js.map +1 -0
  206. package/extensions/abp-ng.theme.shared-extensions.d.ts +1 -4
  207. package/extensions/lib/adapters/date-time.adapter.d.ts +3 -0
  208. package/extensions/lib/adapters/date.adapter.d.ts +3 -0
  209. package/extensions/lib/adapters/time.adapter.d.ts +3 -0
  210. package/extensions/lib/components/abstract-actions/abstract-actions.component.d.ts +3 -0
  211. package/extensions/lib/components/date-time-picker/date-time-picker.component.d.ts +3 -0
  212. package/extensions/lib/components/extensible-form/extensible-form-prop.component.d.ts +3 -0
  213. package/extensions/lib/components/extensible-form/extensible-form.component.d.ts +3 -0
  214. package/extensions/lib/components/extensible-table/extensible-table.component.d.ts +9 -4
  215. package/extensions/lib/components/grid-actions/grid-actions.component.d.ts +3 -0
  216. package/extensions/lib/components/page-toolbar/page-toolbar.component.d.ts +3 -0
  217. package/extensions/lib/directives/disabled.directive.d.ts +3 -0
  218. package/extensions/lib/directives/prop-data.directive.d.ts +3 -0
  219. package/extensions/lib/models/entity-props.d.ts +5 -2
  220. package/extensions/lib/services/extensions.service.d.ts +3 -0
  221. package/extensions/lib/tokens/extensions.token.d.ts +3 -1
  222. package/extensions/lib/ui-extensions.module.d.ts +19 -0
  223. package/extensions/lib/utils/state.util.d.ts +1 -1
  224. package/extensions/package.json +0 -1
  225. package/fesm2015/abp-ng.theme.shared-extensions.js +540 -409
  226. package/fesm2015/abp-ng.theme.shared-extensions.js.map +1 -1
  227. package/fesm2015/abp-ng.theme.shared-testing.js +11 -6
  228. package/fesm2015/abp-ng.theme.shared-testing.js.map +1 -1
  229. package/fesm2015/abp-ng.theme.shared.js +645 -917
  230. package/fesm2015/abp-ng.theme.shared.js.map +1 -1
  231. package/lib/components/breadcrumb/breadcrumb.component.d.ts +3 -0
  232. package/lib/components/breadcrumb-items/breadcrumb-items.component.d.ts +6 -0
  233. package/lib/components/button/button.component.d.ts +4 -1
  234. package/lib/components/confirmation/confirmation.component.d.ts +3 -0
  235. package/lib/components/http-error-wrapper/http-error-wrapper.component.d.ts +6 -3
  236. package/lib/components/index.d.ts +2 -5
  237. package/lib/components/loader-bar/loader-bar.component.d.ts +3 -0
  238. package/lib/components/loading/loading.component.d.ts +4 -4
  239. package/lib/components/modal/modal-close.directive.d.ts +3 -0
  240. package/lib/components/modal/modal-ref.service.d.ts +3 -0
  241. package/lib/components/modal/modal.component.d.ts +4 -18
  242. package/lib/components/toast/toast.component.d.ts +5 -4
  243. package/lib/components/toast-container/toast-container.component.d.ts +5 -1
  244. package/lib/directives/ellipsis.directive.d.ts +6 -0
  245. package/lib/directives/index.d.ts +1 -2
  246. package/lib/directives/loading.directive.d.ts +3 -0
  247. package/lib/directives/ngx-datatable-default.directive.d.ts +3 -0
  248. package/lib/directives/ngx-datatable-list.directive.d.ts +3 -0
  249. package/lib/handlers/error.handler.d.ts +9 -7
  250. package/lib/handlers/lazy-style.handler.d.ts +3 -0
  251. package/lib/models/confirmation.d.ts +3 -3
  252. package/lib/models/toaster.d.ts +5 -5
  253. package/lib/providers/ng-bootstrap-config.provider.d.ts +1 -1
  254. package/lib/providers/route.provider.d.ts +1 -1
  255. package/lib/services/confirmation.service.d.ts +3 -0
  256. package/lib/services/index.d.ts +1 -2
  257. package/lib/services/nav-items.service.d.ts +3 -0
  258. package/lib/services/page-alert.service.d.ts +3 -0
  259. package/lib/services/toaster.service.d.ts +4 -1
  260. package/lib/theme-shared.module.d.ts +26 -0
  261. package/lib/utils/date-parser-formatter.d.ts +3 -0
  262. package/lib/utils/index.d.ts +0 -1
  263. package/package.json +4 -6
  264. package/testing/abp-ng.theme.shared-testing.d.ts +1 -0
  265. package/testing/lib/theme-shared-testing.module.d.ts +6 -0
  266. package/testing/package.json +0 -1
  267. package/abp-ng.theme.shared.metadata.json +0 -1
  268. package/bundles/abp-ng.theme.shared-extensions-testing.umd.js +0 -28
  269. package/bundles/abp-ng.theme.shared-extensions-testing.umd.js.map +0 -1
  270. package/bundles/abp-ng.theme.shared-extensions-testing.umd.min.js +0 -2
  271. package/bundles/abp-ng.theme.shared-extensions-testing.umd.min.js.map +0 -1
  272. package/bundles/abp-ng.theme.shared-extensions.umd.min.js +0 -17
  273. package/bundles/abp-ng.theme.shared-extensions.umd.min.js.map +0 -1
  274. package/bundles/abp-ng.theme.shared-testing.umd.min.js +0 -2
  275. package/bundles/abp-ng.theme.shared-testing.umd.min.js.map +0 -1
  276. package/bundles/abp-ng.theme.shared.umd.min.js +0 -2
  277. package/bundles/abp-ng.theme.shared.umd.min.js.map +0 -1
  278. package/esm2015/extensions/testing/abp-ng.theme.shared-extensions-testing.js +0 -5
  279. package/esm2015/extensions/testing/lib/ui-extensions-testing.module.js +0 -11
  280. package/esm2015/extensions/testing/public-api.js +0 -2
  281. package/esm2015/lib/components/chart/chart.component.js +0 -120
  282. package/esm2015/lib/components/modal/modal-container.component.js +0 -16
  283. package/esm2015/lib/components/sort-order-icon/sort-order-icon.component.js +0 -62
  284. package/esm2015/lib/components/table/table.component.js +0 -71
  285. package/esm2015/lib/components/table-empty-message/table-empty-message.component.js +0 -29
  286. package/esm2015/lib/directives/table-sort.directive.js +0 -43
  287. package/esm2015/lib/services/modal.service.js +0 -46
  288. package/esm2015/lib/utils/widget-utils.js +0 -13
  289. package/extensions/abp-ng.theme.shared-extensions.metadata.json +0 -1
  290. package/extensions/testing/abp-ng.theme.shared-extensions-testing.d.ts +0 -4
  291. package/extensions/testing/abp-ng.theme.shared-extensions-testing.metadata.json +0 -1
  292. package/extensions/testing/lib/ui-extensions-testing.module.d.ts +0 -2
  293. package/extensions/testing/package.json +0 -11
  294. package/extensions/testing/public-api.d.ts +0 -1
  295. package/fesm2015/abp-ng.theme.shared-extensions-testing.js +0 -18
  296. package/fesm2015/abp-ng.theme.shared-extensions-testing.js.map +0 -1
  297. package/lib/components/chart/chart.component.d.ts +0 -30
  298. package/lib/components/modal/modal-container.component.d.ts +0 -7
  299. package/lib/components/sort-order-icon/sort-order-icon.component.d.ts +0 -18
  300. package/lib/components/table/table.component.d.ts +0 -30
  301. package/lib/components/table-empty-message/table-empty-message.component.d.ts +0 -7
  302. package/lib/directives/table-sort.directive.d.ts +0 -21
  303. package/lib/services/modal.service.d.ts +0 -16
  304. package/lib/utils/widget-utils.d.ts +0 -3
  305. package/testing/abp-ng.theme.shared-testing.metadata.json +0 -1
@@ -1,10 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@ng-bootstrap/ng-bootstrap'), require('@angular/forms'), require('@abp/ng.core'), require('rxjs'), require('rxjs/operators'), require('snq'), require('@abp/utils'), require('@abp/ng.theme.shared'), require('@ngx-validate/core')) :
3
- typeof define === 'function' && define.amd ? define('@abp/ng.theme.shared/extensions', ['exports', '@angular/core', '@angular/common', '@ng-bootstrap/ng-bootstrap', '@angular/forms', '@abp/ng.core', 'rxjs', 'rxjs/operators', 'snq', '@abp/utils', '@abp/ng.theme.shared', '@ngx-validate/core'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.abp = global.abp || {}, global.abp.ng = global.abp.ng || {}, global.abp.ng.theme = global.abp.ng.theme || {}, global.abp.ng.theme.shared = global.abp.ng.theme.shared || {}, global.abp.ng.theme.shared.extensions = {}), global.ng.core, global.ng.common, global.ngBootstrap, global.ng.forms, global.ng_core, global.rxjs, global.rxjs.operators, global.snq, global.utils, global.abp.ng.theme.shared, global.core));
5
- }(this, (function (exports, i0, common, ngBootstrap, forms, ng_core, rxjs, operators, snq, utils, ng_theme_shared, core) { 'use strict';
6
-
7
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@ng-bootstrap/ng-bootstrap'), require('@angular/forms'), require('@ngx-validate/core'), require('@abp/ng.core'), require('rxjs'), require('rxjs/operators'), require('@abp/utils'), require('@swimlane/ngx-datatable'), require('@abp/ng.theme.shared')) :
3
+ typeof define === 'function' && define.amd ? define('@abp/ng.theme.shared/extensions', ['exports', '@angular/core', '@angular/common', '@ng-bootstrap/ng-bootstrap', '@angular/forms', '@ngx-validate/core', '@abp/ng.core', 'rxjs', 'rxjs/operators', '@abp/utils', '@swimlane/ngx-datatable', '@abp/ng.theme.shared'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.abp = global.abp || {}, global.abp.ng = global.abp.ng || {}, global.abp.ng.theme = global.abp.ng.theme || {}, global.abp.ng.theme.shared = global.abp.ng.theme.shared || {}, global.abp.ng.theme.shared.extensions = {}), global.ng.core, global.ng.common, global.i2, global.ng.forms, global.i6, global.i1, global.rxjs, global.rxjs.operators, global.utils, global.i2$2, global.abp.ng.theme.shared));
5
+ }(this, (function (exports, i0, i5, i2, i2$1, i6, i1, rxjs, operators, utils, i2$2, i4) { 'use strict';
8
6
 
9
7
  function _interopNamespace(e) {
10
8
  if (e && e.__esModule) return e;
@@ -27,7 +25,13 @@
27
25
  }
28
26
 
29
27
  var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
30
- var snq__default = /*#__PURE__*/_interopDefaultLegacy(snq);
28
+ var i5__namespace = /*#__PURE__*/_interopNamespace(i5);
29
+ var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
30
+ var i2__namespace$1 = /*#__PURE__*/_interopNamespace(i2$1);
31
+ var i6__namespace = /*#__PURE__*/_interopNamespace(i6);
32
+ var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
33
+ var i2__namespace$2 = /*#__PURE__*/_interopNamespace(i2$2);
34
+ var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
31
35
 
32
36
  var DateTimeAdapter = /** @class */ (function () {
33
37
  function DateTimeAdapter() {
@@ -58,9 +62,11 @@
58
62
  };
59
63
  return DateTimeAdapter;
60
64
  }());
61
- DateTimeAdapter.decorators = [
62
- { type: i0.Injectable }
63
- ];
65
+ DateTimeAdapter.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: DateTimeAdapter, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
66
+ DateTimeAdapter.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: DateTimeAdapter });
67
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: DateTimeAdapter, decorators: [{
68
+ type: i0.Injectable
69
+ }] });
64
70
 
65
71
  /*! *****************************************************************************
66
72
  Copyright (c) Microsoft Corporation.
@@ -297,7 +303,7 @@
297
303
  ar[i] = from[i];
298
304
  }
299
305
  }
300
- return to.concat(ar || from);
306
+ return to.concat(ar || Array.prototype.slice.call(from));
301
307
  }
302
308
  function __await(v) {
303
309
  return this instanceof __await ? (this.v = v, this) : new __await(v);
@@ -407,7 +413,7 @@
407
413
  if (!value)
408
414
  return '';
409
415
  var date = new Date(value.year, value.month - 1, value.day);
410
- var formattedDate = common.formatDate(date, 'yyyy-MM-dd', 'en');
416
+ var formattedDate = i5.formatDate(date, 'yyyy-MM-dd', 'en');
411
417
  return formattedDate;
412
418
  };
413
419
  DateAdapter.prototype.dateOf = function (value) {
@@ -415,10 +421,12 @@
415
421
  return new Date(dateUtc.getTime() + Math.abs(dateUtc.getTimezoneOffset() * 60000));
416
422
  };
417
423
  return DateAdapter;
418
- }(ngBootstrap.NgbDateAdapter));
419
- DateAdapter.decorators = [
420
- { type: i0.Injectable }
421
- ];
424
+ }(i2.NgbDateAdapter));
425
+ DateAdapter.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: DateAdapter, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
426
+ DateAdapter.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: DateAdapter });
427
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: DateAdapter, decorators: [{
428
+ type: i0.Injectable
429
+ }] });
422
430
 
423
431
  var TimeAdapter = /** @class */ (function (_super) {
424
432
  __extends(TimeAdapter, _super);
@@ -429,7 +437,7 @@
429
437
  if (!value)
430
438
  return null;
431
439
  var date = isTimeStr(value)
432
- ? new (Date.bind.apply(Date, __spread([void 0, 0, 0, 1], value.split(':').map(Number))))() : new Date(value);
440
+ ? new (Date.bind.apply(Date, __spreadArray([void 0, 0, 0, 1], __read(value.split(':').map(Number)))))() : new Date(value);
433
441
  if (isNaN(date))
434
442
  return null;
435
443
  return {
@@ -442,14 +450,16 @@
442
450
  if (!value)
443
451
  return '';
444
452
  var date = new Date(0, 0, 1, value.hour, value.minute, value.second);
445
- var formattedDate = common.formatDate(date, 'HH:mm', 'en');
453
+ var formattedDate = i5.formatDate(date, 'HH:mm', 'en');
446
454
  return formattedDate;
447
455
  };
448
456
  return TimeAdapter;
449
- }(ngBootstrap.NgbTimeAdapter));
450
- TimeAdapter.decorators = [
451
- { type: i0.Injectable }
452
- ];
457
+ }(i2.NgbTimeAdapter));
458
+ TimeAdapter.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: TimeAdapter, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
459
+ TimeAdapter.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: TimeAdapter });
460
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: TimeAdapter, decorators: [{
461
+ type: i0.Injectable
462
+ }] });
453
463
  function isTimeStr(value) {
454
464
  return /^((2[123])|[01][0-9])(\:[0-5][0-9]){1,2}$/.test(String(value));
455
465
  }
@@ -458,7 +468,6 @@
458
468
  return dependency;
459
469
  }
460
470
 
461
- var ɵ0$2 = selfFactory;
462
471
  var DateTimePickerComponent = /** @class */ (function () {
463
472
  function DateTimePickerComponent(cdRef) {
464
473
  this.cdRef = cdRef;
@@ -472,38 +481,56 @@
472
481
  };
473
482
  return DateTimePickerComponent;
474
483
  }());
475
- DateTimePickerComponent.decorators = [
476
- { type: i0.Component, args: [{
477
- exportAs: 'abpDateTimePicker',
478
- selector: 'abp-date-time-picker',
479
- template: "\n <input\n [id]=\"prop.id\"\n [formControlName]=\"prop.name\"\n (ngModelChange)=\"setTime($event)\"\n (click)=\"datepicker.open()\"\n (keyup.space)=\"datepicker.open()\"\n ngbDatepicker\n #datepicker=\"ngbDatepicker\"\n type=\"text\"\n class=\"form-control\"\n />\n <ngb-timepicker\n #timepicker\n [formControlName]=\"prop.name\"\n (ngModelChange)=\"setDate($event)\"\n [meridian]=\"meridian\"\n ></ngb-timepicker>\n ",
480
- changeDetection: i0.ChangeDetectionStrategy.OnPush,
481
- viewProviders: [
482
- {
483
- provide: forms.ControlContainer,
484
- useFactory: ɵ0$2,
485
- deps: [[new i0.Optional(), new i0.SkipSelf(), forms.ControlContainer]],
486
- },
487
- {
488
- provide: ngBootstrap.NgbDateAdapter,
489
- useClass: DateTimeAdapter,
490
- },
491
- {
492
- provide: ngBootstrap.NgbTimeAdapter,
493
- useClass: DateTimeAdapter,
494
- },
495
- ]
496
- },] }
497
- ];
498
- DateTimePickerComponent.ctorParameters = function () { return [
499
- { type: i0.ChangeDetectorRef }
500
- ]; };
501
- DateTimePickerComponent.propDecorators = {
502
- prop: [{ type: i0.Input }],
503
- meridian: [{ type: i0.Input }],
504
- date: [{ type: i0.ViewChild, args: [ngBootstrap.NgbInputDatepicker,] }],
505
- time: [{ type: i0.ViewChild, args: [ngBootstrap.NgbTimepicker,] }]
506
- };
484
+ DateTimePickerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: DateTimePickerComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
485
+ DateTimePickerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: DateTimePickerComponent, selector: "abp-date-time-picker", inputs: { prop: "prop", meridian: "meridian" }, viewQueries: [{ propertyName: "date", first: true, predicate: i2.NgbInputDatepicker, descendants: true }, { propertyName: "time", first: true, predicate: i2.NgbTimepicker, descendants: true }], exportAs: ["abpDateTimePicker"], ngImport: i0__namespace, template: "\n <input\n [id]=\"prop.id\"\n [formControlName]=\"prop.name\"\n (ngModelChange)=\"setTime($event)\"\n (click)=\"datepicker.open()\"\n (keyup.space)=\"datepicker.open()\"\n ngbDatepicker\n #datepicker=\"ngbDatepicker\"\n type=\"text\"\n class=\"form-control\"\n />\n <ngb-timepicker\n #timepicker\n [formControlName]=\"prop.name\"\n (ngModelChange)=\"setDate($event)\"\n [meridian]=\"meridian\"\n ></ngb-timepicker>\n ", isInline: true, components: [{ type: i2__namespace.NgbTimepicker, selector: "ngb-timepicker", inputs: ["meridian", "spinners", "seconds", "hourStep", "minuteStep", "secondStep", "readonlyInputs", "size"] }], directives: [{ type: i2__namespace.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["disabled", "autoClose", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "restoreFocus", "showWeekdays", "showWeekNumbers", "startDate", "container", "positionTarget"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { type: i2__namespace$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i6__namespace.ValidationDirective, selector: "[formControl],[formControlName]", inputs: ["blueprints", "errorTemplate", "invalidClasses", "mapErrorsFn", "skipValidation", "targetSelector", "validateOnSubmit"] }], viewProviders: [
486
+ {
487
+ provide: i2$1.ControlContainer,
488
+ useFactory: selfFactory,
489
+ deps: [[new i0.Optional(), new i0.SkipSelf(), i2$1.ControlContainer]],
490
+ },
491
+ {
492
+ provide: i2.NgbDateAdapter,
493
+ useClass: DateTimeAdapter,
494
+ },
495
+ {
496
+ provide: i2.NgbTimeAdapter,
497
+ useClass: DateTimeAdapter,
498
+ },
499
+ ], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
500
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: DateTimePickerComponent, decorators: [{
501
+ type: i0.Component,
502
+ args: [{
503
+ exportAs: 'abpDateTimePicker',
504
+ selector: 'abp-date-time-picker',
505
+ template: "\n <input\n [id]=\"prop.id\"\n [formControlName]=\"prop.name\"\n (ngModelChange)=\"setTime($event)\"\n (click)=\"datepicker.open()\"\n (keyup.space)=\"datepicker.open()\"\n ngbDatepicker\n #datepicker=\"ngbDatepicker\"\n type=\"text\"\n class=\"form-control\"\n />\n <ngb-timepicker\n #timepicker\n [formControlName]=\"prop.name\"\n (ngModelChange)=\"setDate($event)\"\n [meridian]=\"meridian\"\n ></ngb-timepicker>\n ",
506
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
507
+ viewProviders: [
508
+ {
509
+ provide: i2$1.ControlContainer,
510
+ useFactory: selfFactory,
511
+ deps: [[new i0.Optional(), new i0.SkipSelf(), i2$1.ControlContainer]],
512
+ },
513
+ {
514
+ provide: i2.NgbDateAdapter,
515
+ useClass: DateTimeAdapter,
516
+ },
517
+ {
518
+ provide: i2.NgbTimeAdapter,
519
+ useClass: DateTimeAdapter,
520
+ },
521
+ ],
522
+ }]
523
+ }], ctorParameters: function () { return [{ type: i0__namespace.ChangeDetectorRef }]; }, propDecorators: { prop: [{
524
+ type: i0.Input
525
+ }], meridian: [{
526
+ type: i0.Input
527
+ }], date: [{
528
+ type: i0.ViewChild,
529
+ args: [i2.NgbInputDatepicker]
530
+ }], time: [{
531
+ type: i0.ViewChild,
532
+ args: [i2.NgbTimepicker]
533
+ }] } });
507
534
 
508
535
  var EXTRA_PROPERTIES_KEY = 'extraProperties';
509
536
 
@@ -514,7 +541,7 @@
514
541
  var _a;
515
542
  return searchText
516
543
  ? data
517
- .getInjected(ng_core.RestService)
544
+ .getInjected(i1.RestService)
518
545
  .request({
519
546
  method: 'GET',
520
547
  url: lookup.url,
@@ -559,7 +586,34 @@
559
586
  return name.replace(TYPEAHEAD_TEXT_SUFFIX_REGEX, '');
560
587
  }
561
588
 
562
- var ɵ0$1 = selfFactory;
589
+ var DisabledDirective = /** @class */ (function () {
590
+ function DisabledDirective(ngControl) {
591
+ this.ngControl = ngControl;
592
+ }
593
+ // Related issue: https://github.com/angular/angular/issues/35330
594
+ DisabledDirective.prototype.ngOnChanges = function (_a) {
595
+ var abpDisabled = _a.abpDisabled;
596
+ if (this.ngControl.control && abpDisabled) {
597
+ this.ngControl.control[abpDisabled.currentValue ? 'disable' : 'enable']();
598
+ }
599
+ };
600
+ return DisabledDirective;
601
+ }());
602
+ DisabledDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: DisabledDirective, deps: [{ token: i2__namespace$1.NgControl, host: true }], target: i0__namespace.ɵɵFactoryTarget.Directive });
603
+ DisabledDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.6", type: DisabledDirective, selector: "[abpDisabled]", inputs: { abpDisabled: "abpDisabled" }, usesOnChanges: true, ngImport: i0__namespace });
604
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: DisabledDirective, decorators: [{
605
+ type: i0.Directive,
606
+ args: [{
607
+ selector: '[abpDisabled]',
608
+ }]
609
+ }], ctorParameters: function () {
610
+ return [{ type: i2__namespace$1.NgControl, decorators: [{
611
+ type: i0.Host
612
+ }] }];
613
+ }, propDecorators: { abpDisabled: [{
614
+ type: i0.Input
615
+ }] } });
616
+
563
617
  var ExtensibleFormPropComponent = /** @class */ (function () {
564
618
  function ExtensibleFormPropComponent(cdRef, track, configState, groupDirective) {
565
619
  var _this = this;
@@ -656,7 +710,7 @@
656
710
  };
657
711
  ExtensibleFormPropComponent.prototype.ngOnChanges = function (_a) {
658
712
  var prop = _a.prop;
659
- var currentProp = snq__default['default'](function () { return prop.currentValue; });
713
+ var currentProp = prop === null || prop === void 0 ? void 0 : prop.currentValue;
660
714
  var _b = currentProp || {}, options = _b.options, readonly = _b.readonly, disabled = _b.disabled, validators = _b.validators;
661
715
  if (options)
662
716
  this.options$ = options(this.data);
@@ -674,38 +728,52 @@
674
728
  };
675
729
  return ExtensibleFormPropComponent;
676
730
  }());
677
- ExtensibleFormPropComponent.decorators = [
678
- { type: i0.Component, args: [{
679
- selector: 'abp-extensible-form-prop',
680
- template: "<div class=\"form-group\" *abpPermission=\"prop.permission\" [ngSwitch]=\"getComponent(prop)\">\n <ng-template ngSwitchCase=\"input\">\n <ng-template [ngTemplateOutlet]=\"label\"></ng-template>\n <input\n #field\n [id]=\"prop.id\"\n [formControlName]=\"prop.name\"\n [autocomplete]=\"prop.autocomplete\"\n [type]=\"getType(prop)\"\n [abpDisabled]=\"disabled\"\n [readonly]=\"readonly\"\n class=\"form-control\"\n />\n </ng-template>\n\n <ng-template ngSwitchCase=\"hidden\">\n <input [formControlName]=\"prop.name\" type=\"hidden\" />\n </ng-template>\n\n <ng-template ngSwitchCase=\"checkbox\">\n <div class=\"custom-checkbox custom-control\" validationTarget>\n <input\n #field\n [id]=\"prop.id\"\n [formControlName]=\"prop.name\"\n [abpDisabled]=\"disabled\"\n type=\"checkbox\"\n class=\"custom-control-input\"\n />\n <ng-template\n [ngTemplateOutlet]=\"label\"\n [ngTemplateOutletContext]=\"{ $implicit: 'custom-control-label' }\"\n ></ng-template>\n </div>\n </ng-template>\n\n <ng-template ngSwitchCase=\"select\">\n <ng-template [ngTemplateOutlet]=\"label\"></ng-template>\n <select\n #field\n [id]=\"prop.id\"\n [formControlName]=\"prop.name\"\n [abpDisabled]=\"disabled\"\n class=\"custom-select form-control\"\n >\n <option\n *ngFor=\"let option of options$ | async; trackBy: track.by('value')\"\n [ngValue]=\"option.value\"\n >\n {{ option.key }}\n </option>\n </select>\n </ng-template>\n\n <ng-template ngSwitchCase=\"multiselect\">\n <ng-template [ngTemplateOutlet]=\"label\"></ng-template>\n <select\n #field\n [id]=\"prop.id\"\n [formControlName]=\"prop.name\"\n [abpDisabled]=\"disabled\"\n multiple=\"multiple\"\n class=\"custom-select form-control\"\n >\n <option\n *ngFor=\"let option of options$ | async; trackBy: track.by('value')\"\n [ngValue]=\"option.value\"\n >\n {{ option.key }}\n </option>\n </select>\n </ng-template>\n\n <ng-template ngSwitchCase=\"typeahead\">\n <ng-template [ngTemplateOutlet]=\"label\"></ng-template>\n <div #typeahead class=\"position-relative\" validationStyle validationTarget>\n <input\n #field\n [id]=\"prop.id\"\n [autocomplete]=\"prop.autocomplete\"\n [abpDisabled]=\"disabled\"\n [ngbTypeahead]=\"search\"\n [editable]=\"false\"\n [inputFormatter]=\"typeaheadFormatter\"\n [resultFormatter]=\"typeaheadFormatter\"\n [ngModelOptions]=\"{ standalone: true }\"\n [(ngModel)]=\"typeaheadModel\"\n (selectItem)=\"setTypeaheadValue($event.item)\"\n (blur)=\"setTypeaheadValue(typeaheadModel)\"\n [class.is-invalid]=\"typeahead.classList.contains('is-invalid')\"\n class=\"form-control\"\n />\n <input [formControlName]=\"prop.name\" type=\"hidden\" />\n </div>\n </ng-template>\n\n <ng-template ngSwitchCase=\"date\">\n <ng-template [ngTemplateOutlet]=\"label\"></ng-template>\n <input\n [id]=\"prop.id\"\n [formControlName]=\"prop.name\"\n (click)=\"datepicker.open()\"\n (keyup.space)=\"datepicker.open()\"\n ngbDatepicker\n #datepicker=\"ngbDatepicker\"\n type=\"text\"\n class=\"form-control\"\n />\n </ng-template>\n\n <ng-template ngSwitchCase=\"time\">\n <ng-template [ngTemplateOutlet]=\"label\"></ng-template>\n <ngb-timepicker [formControlName]=\"prop.name\"></ngb-timepicker>\n </ng-template>\n\n <ng-template ngSwitchCase=\"dateTime\">\n <ng-template [ngTemplateOutlet]=\"label\"></ng-template>\n <abp-date-time-picker [prop]=\"prop\" [meridian]=\"meridian\"></abp-date-time-picker>\n </ng-template>\n\n <ng-template ngSwitchCase=\"textarea\">\n <ng-template [ngTemplateOutlet]=\"label\"></ng-template>\n <textarea\n #field\n [id]=\"prop.id\"\n [formControlName]=\"prop.name\"\n [abpDisabled]=\"disabled\"\n [readonly]=\"readonly\"\n class=\"form-control\"\n ></textarea>\n </ng-template>\n</div>\n\n<ng-template #label let-classes>\n <label [htmlFor]=\"prop.id\" [ngClass]=\"classes\"\n >{{ prop.displayName | abpLocalization }} {{ asterisk }}</label\n >\n</ng-template>\n",
681
- changeDetection: i0.ChangeDetectionStrategy.OnPush,
682
- viewProviders: [
683
- {
684
- provide: forms.ControlContainer,
685
- useFactory: ɵ0$1,
686
- deps: [[new i0.Optional(), new i0.SkipSelf(), forms.ControlContainer]],
687
- },
688
- { provide: ngBootstrap.NgbDateAdapter, useClass: DateAdapter },
689
- { provide: ngBootstrap.NgbTimeAdapter, useClass: TimeAdapter },
690
- ]
691
- },] }
692
- ];
693
- ExtensibleFormPropComponent.ctorParameters = function () { return [
694
- { type: i0.ChangeDetectorRef },
695
- { type: ng_core.TrackByService },
696
- { type: ng_core.ConfigStateService },
697
- { type: forms.FormGroupDirective }
698
- ]; };
699
- ExtensibleFormPropComponent.propDecorators = {
700
- data: [{ type: i0.Input }],
701
- prop: [{ type: i0.Input }],
702
- first: [{ type: i0.Input }],
703
- fieldRef: [{ type: i0.ViewChild, args: ['field',] }]
704
- };
731
+ ExtensibleFormPropComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: ExtensibleFormPropComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }, { token: i1__namespace.TrackByService }, { token: i1__namespace.ConfigStateService }, { token: i2__namespace$1.FormGroupDirective }], target: i0__namespace.ɵɵFactoryTarget.Component });
732
+ ExtensibleFormPropComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: ExtensibleFormPropComponent, selector: "abp-extensible-form-prop", inputs: { data: "data", prop: "prop", first: "first" }, viewQueries: [{ propertyName: "fieldRef", first: true, predicate: ["field"], descendants: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<div class=\"form-group\" *abpPermission=\"prop.permission\" [ngSwitch]=\"getComponent(prop)\">\n <ng-template ngSwitchCase=\"input\">\n <ng-template [ngTemplateOutlet]=\"label\"></ng-template>\n <input\n #field\n [id]=\"prop.id\"\n [formControlName]=\"prop.name\"\n [autocomplete]=\"prop.autocomplete\"\n [type]=\"getType(prop)\"\n [abpDisabled]=\"disabled\"\n [readonly]=\"readonly\"\n class=\"form-control\"\n />\n </ng-template>\n\n <ng-template ngSwitchCase=\"hidden\">\n <input [formControlName]=\"prop.name\" type=\"hidden\" />\n </ng-template>\n\n <ng-template ngSwitchCase=\"checkbox\">\n <div class=\"custom-checkbox custom-control\" validationTarget>\n <input\n #field\n [id]=\"prop.id\"\n [formControlName]=\"prop.name\"\n [abpDisabled]=\"disabled\"\n type=\"checkbox\"\n class=\"custom-control-input\"\n />\n <ng-template\n [ngTemplateOutlet]=\"label\"\n [ngTemplateOutletContext]=\"{ $implicit: 'custom-control-label' }\"\n ></ng-template>\n </div>\n </ng-template>\n\n <ng-template ngSwitchCase=\"select\">\n <ng-template [ngTemplateOutlet]=\"label\"></ng-template>\n <select\n #field\n [id]=\"prop.id\"\n [formControlName]=\"prop.name\"\n [abpDisabled]=\"disabled\"\n class=\"custom-select form-control\"\n >\n <option\n *ngFor=\"let option of options$ | async; trackBy: track.by('value')\"\n [ngValue]=\"option.value\"\n >\n {{ option.key }}\n </option>\n </select>\n </ng-template>\n\n <ng-template ngSwitchCase=\"multiselect\">\n <ng-template [ngTemplateOutlet]=\"label\"></ng-template>\n <select\n #field\n [id]=\"prop.id\"\n [formControlName]=\"prop.name\"\n [abpDisabled]=\"disabled\"\n multiple=\"multiple\"\n class=\"custom-select form-control\"\n >\n <option\n *ngFor=\"let option of options$ | async; trackBy: track.by('value')\"\n [ngValue]=\"option.value\"\n >\n {{ option.key }}\n </option>\n </select>\n </ng-template>\n\n <ng-template ngSwitchCase=\"typeahead\">\n <ng-template [ngTemplateOutlet]=\"label\"></ng-template>\n <div #typeahead class=\"position-relative\" validationStyle validationTarget>\n <input\n #field\n [id]=\"prop.id\"\n [autocomplete]=\"prop.autocomplete\"\n [abpDisabled]=\"disabled\"\n [ngbTypeahead]=\"search\"\n [editable]=\"false\"\n [inputFormatter]=\"typeaheadFormatter\"\n [resultFormatter]=\"typeaheadFormatter\"\n [ngModelOptions]=\"{ standalone: true }\"\n [(ngModel)]=\"typeaheadModel\"\n (selectItem)=\"setTypeaheadValue($event.item)\"\n (blur)=\"setTypeaheadValue(typeaheadModel)\"\n [class.is-invalid]=\"typeahead.classList.contains('is-invalid')\"\n class=\"form-control\"\n />\n <input [formControlName]=\"prop.name\" type=\"hidden\" />\n </div>\n </ng-template>\n\n <ng-template ngSwitchCase=\"date\">\n <ng-template [ngTemplateOutlet]=\"label\"></ng-template>\n <input\n [id]=\"prop.id\"\n [formControlName]=\"prop.name\"\n (click)=\"datepicker.open()\"\n (keyup.space)=\"datepicker.open()\"\n ngbDatepicker\n #datepicker=\"ngbDatepicker\"\n type=\"text\"\n class=\"form-control\"\n />\n </ng-template>\n\n <ng-template ngSwitchCase=\"time\">\n <ng-template [ngTemplateOutlet]=\"label\"></ng-template>\n <ngb-timepicker [formControlName]=\"prop.name\"></ngb-timepicker>\n </ng-template>\n\n <ng-template ngSwitchCase=\"dateTime\">\n <ng-template [ngTemplateOutlet]=\"label\"></ng-template>\n <abp-date-time-picker [prop]=\"prop\" [meridian]=\"meridian\"></abp-date-time-picker>\n </ng-template>\n\n <ng-template ngSwitchCase=\"textarea\">\n <ng-template [ngTemplateOutlet]=\"label\"></ng-template>\n <textarea\n #field\n [id]=\"prop.id\"\n [formControlName]=\"prop.name\"\n [abpDisabled]=\"disabled\"\n [readonly]=\"readonly\"\n class=\"form-control\"\n ></textarea>\n </ng-template>\n</div>\n\n<ng-template #label let-classes>\n <label [htmlFor]=\"prop.id\" [ngClass]=\"classes\"\n >{{ prop.displayName | abpLocalization }} {{ asterisk }}</label\n >\n</ng-template>\n", components: [{ type: i2__namespace.NgbTimepicker, selector: "ngb-timepicker", inputs: ["meridian", "spinners", "seconds", "hourStep", "minuteStep", "secondStep", "readonlyInputs", "size"] }, { type: DateTimePickerComponent, selector: "abp-date-time-picker", inputs: ["prop", "meridian"], exportAs: ["abpDateTimePicker"] }], directives: [{ type: i1__namespace.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission"] }, { type: i5__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i5__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2__namespace$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i6__namespace.ValidationDirective, selector: "[formControl],[formControlName]", inputs: ["blueprints", "errorTemplate", "invalidClasses", "mapErrorsFn", "skipValidation", "targetSelector", "validateOnSubmit"] }, { type: DisabledDirective, selector: "[abpDisabled]", inputs: ["abpDisabled"] }, { type: i6__namespace.ValidationTargetDirective, selector: "[validationTarget]" }, { type: i2__namespace$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i2__namespace$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2__namespace$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2__namespace$1.SelectMultipleControlValueAccessor, selector: "select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]", inputs: ["compareWith"] }, { type: i6__namespace.ValidationStyleDirective, selector: "[validationStyle]" }, { type: i2__namespace.NgbTypeahead, selector: "input[ngbTypeahead]", inputs: ["autocomplete", "placement", "container", "editable", "focusFirst", "showHint", "inputFormatter", "ngbTypeahead", "resultFormatter", "resultTemplate"], outputs: ["selectItem"], exportAs: ["ngbTypeahead"] }, { type: i2__namespace$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2__namespace.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["disabled", "autoClose", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "restoreFocus", "showWeekdays", "showWeekNumbers", "startDate", "container", "positionTarget"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { type: i5__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "async": i5__namespace.AsyncPipe, "abpLocalization": i1__namespace.LocalizationPipe }, viewProviders: [
733
+ {
734
+ provide: i2$1.ControlContainer,
735
+ useFactory: selfFactory,
736
+ deps: [[new i0.Optional(), new i0.SkipSelf(), i2$1.ControlContainer]],
737
+ },
738
+ { provide: i2.NgbDateAdapter, useClass: DateAdapter },
739
+ { provide: i2.NgbTimeAdapter, useClass: TimeAdapter },
740
+ ], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
741
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: ExtensibleFormPropComponent, decorators: [{
742
+ type: i0.Component,
743
+ args: [{
744
+ selector: 'abp-extensible-form-prop',
745
+ templateUrl: './extensible-form-prop.component.html',
746
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
747
+ viewProviders: [
748
+ {
749
+ provide: i2$1.ControlContainer,
750
+ useFactory: selfFactory,
751
+ deps: [[new i0.Optional(), new i0.SkipSelf(), i2$1.ControlContainer]],
752
+ },
753
+ { provide: i2.NgbDateAdapter, useClass: DateAdapter },
754
+ { provide: i2.NgbTimeAdapter, useClass: TimeAdapter },
755
+ ],
756
+ }]
757
+ }], ctorParameters: function () { return [{ type: i0__namespace.ChangeDetectorRef }, { type: i1__namespace.TrackByService }, { type: i1__namespace.ConfigStateService }, { type: i2__namespace$1.FormGroupDirective }]; }, propDecorators: { data: [{
758
+ type: i0.Input
759
+ }], prop: [{
760
+ type: i0.Input
761
+ }], first: [{
762
+ type: i0.Input
763
+ }], fieldRef: [{
764
+ type: i0.ViewChild,
765
+ args: ['field']
766
+ }] } });
705
767
  function isRequired(validator) {
706
- return validator === forms.Validators.required || validator === ng_core.AbpValidators.required;
768
+ return validator === i2$1.Validators.required || validator === i1.AbpValidators.required;
707
769
  }
708
770
 
771
+ var EXTENSIONS_IDENTIFIER = new i0.InjectionToken('EXTENSIONS_IDENTIFIER');
772
+ var EXTENSIONS_ACTION_TYPE = new i0.InjectionToken('EXTENSIONS_ACTION_TYPE');
773
+ var EXTENSIONS_ACTION_DATA = new i0.InjectionToken('EXTENSIONS_ACTION_DATA');
774
+ var EXTENSIONS_ACTION_CALLBACK = new i0.InjectionToken('EXTENSIONS_ACTION_DATA');
775
+ var PROP_DATA_STREAM = new i0.InjectionToken('PROP_DATA_STREAM');
776
+
709
777
  var ActionList = /** @class */ (function (_super) {
710
778
  __extends(ActionList, _super);
711
779
  function ActionList() {
@@ -782,7 +850,7 @@
782
850
  var EntityActions = /** @class */ (function (_super) {
783
851
  __extends(EntityActions, _super);
784
852
  function EntityActions() {
785
- var _this = _super.apply(this, __spread(arguments)) || this;
853
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
786
854
  _this._ctor = EntityActionList;
787
855
  return _this;
788
856
  }
@@ -791,7 +859,7 @@
791
859
  var EntityActionsFactory = /** @class */ (function (_super) {
792
860
  __extends(EntityActionsFactory, _super);
793
861
  function EntityActionsFactory() {
794
- var _this = _super.apply(this, __spread(arguments)) || this;
862
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
795
863
  _this._ctor = EntityActions;
796
864
  return _this;
797
865
  }
@@ -894,7 +962,7 @@
894
962
  var EntityProps = /** @class */ (function (_super) {
895
963
  __extends(EntityProps, _super);
896
964
  function EntityProps() {
897
- var _this = _super.apply(this, __spread(arguments)) || this;
965
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
898
966
  _this._ctor = EntityPropList;
899
967
  return _this;
900
968
  }
@@ -903,7 +971,7 @@
903
971
  var EntityPropsFactory = /** @class */ (function (_super) {
904
972
  __extends(EntityPropsFactory, _super);
905
973
  function EntityPropsFactory() {
906
- var _this = _super.apply(this, __spread(arguments)) || this;
974
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
907
975
  _this._ctor = EntityProps;
908
976
  return _this;
909
977
  }
@@ -917,6 +985,8 @@
917
985
  _this.sortable = options.sortable || false;
918
986
  _this.valueResolver = options.valueResolver || (function (data) { return rxjs.of(data.record[_this.name]); });
919
987
  _this.action = options.action;
988
+ _this.component = options.component;
989
+ _this.enumList = options.enumList;
920
990
  return _this;
921
991
  }
922
992
  EntityProp.create = function (options) {
@@ -938,7 +1008,7 @@
938
1008
  var FormProps = /** @class */ (function (_super) {
939
1009
  __extends(FormProps, _super);
940
1010
  function FormProps() {
941
- var _this = _super.apply(this, __spread(arguments)) || this;
1011
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
942
1012
  _this._ctor = FormPropList;
943
1013
  return _this;
944
1014
  }
@@ -947,7 +1017,7 @@
947
1017
  var CreateFormPropsFactory = /** @class */ (function (_super) {
948
1018
  __extends(CreateFormPropsFactory, _super);
949
1019
  function CreateFormPropsFactory() {
950
- var _this = _super.apply(this, __spread(arguments)) || this;
1020
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
951
1021
  _this._ctor = FormProps;
952
1022
  return _this;
953
1023
  }
@@ -956,7 +1026,7 @@
956
1026
  var EditFormPropsFactory = /** @class */ (function (_super) {
957
1027
  __extends(EditFormPropsFactory, _super);
958
1028
  function EditFormPropsFactory() {
959
- var _this = _super.apply(this, __spread(arguments)) || this;
1029
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
960
1030
  _this._ctor = FormProps;
961
1031
  return _this;
962
1032
  }
@@ -990,7 +1060,6 @@
990
1060
  function FormPropData(injector, record) {
991
1061
  var _this = _super.call(this) || this;
992
1062
  _this.record = record;
993
- // tslint:disable-next-line
994
1063
  _this.getInjected = injector.get.bind(injector);
995
1064
  return _this;
996
1065
  }
@@ -1010,7 +1079,7 @@
1010
1079
  var ToolbarActions = /** @class */ (function (_super) {
1011
1080
  __extends(ToolbarActions, _super);
1012
1081
  function ToolbarActions() {
1013
- var _this = _super.apply(this, __spread(arguments)) || this;
1082
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
1014
1083
  _this._ctor = ToolbarActionList;
1015
1084
  return _this;
1016
1085
  }
@@ -1019,7 +1088,7 @@
1019
1088
  var ToolbarActionsFactory = /** @class */ (function (_super) {
1020
1089
  __extends(ToolbarActionsFactory, _super);
1021
1090
  function ToolbarActionsFactory() {
1022
- var _this = _super.apply(this, __spread(arguments)) || this;
1091
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
1023
1092
  _this._ctor = ToolbarActions;
1024
1093
  return _this;
1025
1094
  }
@@ -1067,19 +1136,55 @@
1067
1136
  }
1068
1137
  return ExtensionsService;
1069
1138
  }());
1070
- ExtensionsService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function ExtensionsService_Factory() { return new ExtensionsService(); }, token: ExtensionsService, providedIn: "root" });
1071
- ExtensionsService.decorators = [
1072
- { type: i0.Injectable, args: [{
1073
- providedIn: 'root',
1074
- },] }
1075
- ];
1139
+ ExtensionsService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: ExtensionsService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
1140
+ ExtensionsService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: ExtensionsService, providedIn: 'root' });
1141
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: ExtensionsService, decorators: [{
1142
+ type: i0.Injectable,
1143
+ args: [{
1144
+ providedIn: 'root',
1145
+ }]
1146
+ }] });
1076
1147
 
1077
- var EXTENSIONS_IDENTIFIER = new i0.InjectionToken('EXTENSIONS_IDENTIFIER');
1078
- var EXTENSIONS_ACTION_TYPE = new i0.InjectionToken('EXTENSIONS_ACTION_TYPE');
1079
- var EXTENSIONS_ACTION_DATA = new i0.InjectionToken('EXTENSIONS_ACTION_DATA');
1080
- var EXTENSIONS_ACTION_CALLBACK = new i0.InjectionToken('EXTENSIONS_ACTION_DATA');
1148
+ var PropDataDirective = /** @class */ (function (_super) {
1149
+ __extends(PropDataDirective, _super);
1150
+ function PropDataDirective(tempRef, vcRef, injector) {
1151
+ var _this = _super.call(this) || this;
1152
+ _this.tempRef = tempRef;
1153
+ _this.vcRef = vcRef;
1154
+ _this.getInjected = injector.get.bind(injector);
1155
+ return _this;
1156
+ }
1157
+ PropDataDirective.prototype.ngOnChanges = function () {
1158
+ this.vcRef.clear();
1159
+ this.vcRef.createEmbeddedView(this.tempRef, {
1160
+ $implicit: this.data,
1161
+ index: 0,
1162
+ });
1163
+ };
1164
+ PropDataDirective.prototype.ngOnDestroy = function () {
1165
+ this.vcRef.clear();
1166
+ };
1167
+ return PropDataDirective;
1168
+ }(PropData));
1169
+ PropDataDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: PropDataDirective, deps: [{ token: i0__namespace.TemplateRef }, { token: i0__namespace.ViewContainerRef }, { token: i0__namespace.Injector }], target: i0__namespace.ɵɵFactoryTarget.Directive });
1170
+ PropDataDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.6", type: PropDataDirective, selector: "[abpPropData]", inputs: { propList: ["abpPropDataFromList", "propList"], record: ["abpPropDataWithRecord", "record"], index: ["abpPropDataAtIndex", "index"] }, exportAs: ["abpPropData"], usesInheritance: true, usesOnChanges: true, ngImport: i0__namespace });
1171
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: PropDataDirective, decorators: [{
1172
+ type: i0.Directive,
1173
+ args: [{
1174
+ exportAs: 'abpPropData',
1175
+ selector: '[abpPropData]',
1176
+ }]
1177
+ }], ctorParameters: function () { return [{ type: i0__namespace.TemplateRef }, { type: i0__namespace.ViewContainerRef }, { type: i0__namespace.Injector }]; }, propDecorators: { propList: [{
1178
+ type: i0.Input,
1179
+ args: ['abpPropDataFromList']
1180
+ }], record: [{
1181
+ type: i0.Input,
1182
+ args: ['abpPropDataWithRecord']
1183
+ }], index: [{
1184
+ type: i0.Input,
1185
+ args: ['abpPropDataAtIndex']
1186
+ }] } });
1081
1187
 
1082
- var ɵ0 = selfFactory;
1083
1188
  var ExtensibleFormComponent = /** @class */ (function () {
1084
1189
  function ExtensibleFormComponent(cdRef, track, container, extensions, identifier) {
1085
1190
  this.cdRef = cdRef;
@@ -1114,47 +1219,118 @@
1114
1219
  });
1115
1220
  return ExtensibleFormComponent;
1116
1221
  }());
1117
- ExtensibleFormComponent.decorators = [
1118
- { type: i0.Component, args: [{
1119
- exportAs: 'abpExtensibleForm',
1120
- selector: 'abp-extensible-form',
1121
- template: "<ng-container *ngIf=\"form\">\n <ng-container *abpPropData=\"let data; fromList: propList; withRecord: record\">\n <ng-container *ngFor=\"let prop of propList; let first = first; trackBy: track.by('name')\">\n <ng-container *ngIf=\"prop.visible(data)\">\n <ng-container\n [formGroupName]=\"extraPropertiesKey\"\n *ngIf=\"extraProperties.controls[prop.name]; else tempDefault\"\n >\n <abp-extensible-form-prop [prop]=\"prop\" [data]=\"data\"></abp-extensible-form-prop>\n </ng-container>\n\n <ng-template #tempDefault>\n <abp-extensible-form-prop\n *ngIf=\"form.get(prop.name)\"\n [prop]=\"prop\"\n [data]=\"data\"\n [first]=\"first\"\n ></abp-extensible-form-prop>\n </ng-template>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-container>\n",
1122
- changeDetection: i0.ChangeDetectionStrategy.OnPush,
1123
- viewProviders: [
1124
- {
1125
- provide: forms.ControlContainer,
1126
- useFactory: ɵ0,
1127
- deps: [[new i0.Optional(), new i0.SkipSelf(), forms.ControlContainer]],
1128
- },
1129
- ]
1130
- },] }
1131
- ];
1132
- ExtensibleFormComponent.ctorParameters = function () { return [
1133
- { type: i0.ChangeDetectorRef },
1134
- { type: ng_core.TrackByService },
1135
- { type: forms.ControlContainer },
1136
- { type: ExtensionsService },
1137
- { type: String, decorators: [{ type: i0.Inject, args: [EXTENSIONS_IDENTIFIER,] }] }
1138
- ]; };
1139
- ExtensibleFormComponent.propDecorators = {
1140
- formProps: [{ type: i0.ViewChildren, args: [ExtensibleFormPropComponent,] }],
1141
- selectedRecord: [{ type: i0.Input }]
1142
- };
1222
+ ExtensibleFormComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: ExtensibleFormComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }, { token: i1__namespace.TrackByService }, { token: i2__namespace$1.ControlContainer }, { token: ExtensionsService }, { token: EXTENSIONS_IDENTIFIER }], target: i0__namespace.ɵɵFactoryTarget.Component });
1223
+ ExtensibleFormComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: ExtensibleFormComponent, selector: "abp-extensible-form", inputs: { selectedRecord: "selectedRecord" }, viewQueries: [{ propertyName: "formProps", predicate: ExtensibleFormPropComponent, descendants: true }], exportAs: ["abpExtensibleForm"], ngImport: i0__namespace, template: "<ng-container *ngIf=\"form\">\n <ng-container *abpPropData=\"let data; fromList: propList; withRecord: record\">\n <ng-container *ngFor=\"let prop of propList; let first = first; trackBy: track.by('name')\">\n <ng-container *ngIf=\"prop.visible(data)\">\n <ng-container\n [formGroupName]=\"extraPropertiesKey\"\n *ngIf=\"extraProperties.controls[prop.name]; else tempDefault\"\n >\n <abp-extensible-form-prop [prop]=\"prop\" [data]=\"data\"></abp-extensible-form-prop>\n </ng-container>\n\n <ng-template #tempDefault>\n <abp-extensible-form-prop\n *ngIf=\"form.get(prop.name)\"\n [prop]=\"prop\"\n [data]=\"data\"\n [first]=\"first\"\n ></abp-extensible-form-prop>\n </ng-template>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-container>\n", components: [{ type: ExtensibleFormPropComponent, selector: "abp-extensible-form-prop", inputs: ["data", "prop", "first"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: PropDataDirective, selector: "[abpPropData]", inputs: ["abpPropDataFromList", "abpPropDataWithRecord", "abpPropDataAtIndex"], exportAs: ["abpPropData"] }, { type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2__namespace$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i6__namespace.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", inputs: ["blueprints", "errorTemplate", "invalidClasses", "mapErrorsFn", "skipValidation", "targetSelector", "validateOnSubmit"] }], viewProviders: [
1224
+ {
1225
+ provide: i2$1.ControlContainer,
1226
+ useFactory: selfFactory,
1227
+ deps: [[new i0.Optional(), new i0.SkipSelf(), i2$1.ControlContainer]],
1228
+ },
1229
+ ], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1230
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: ExtensibleFormComponent, decorators: [{
1231
+ type: i0.Component,
1232
+ args: [{
1233
+ exportAs: 'abpExtensibleForm',
1234
+ selector: 'abp-extensible-form',
1235
+ templateUrl: './extensible-form.component.html',
1236
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1237
+ viewProviders: [
1238
+ {
1239
+ provide: i2$1.ControlContainer,
1240
+ useFactory: selfFactory,
1241
+ deps: [[new i0.Optional(), new i0.SkipSelf(), i2$1.ControlContainer]],
1242
+ },
1243
+ ],
1244
+ }]
1245
+ }], ctorParameters: function () {
1246
+ return [{ type: i0__namespace.ChangeDetectorRef }, { type: i1__namespace.TrackByService }, { type: i2__namespace$1.ControlContainer }, { type: ExtensionsService }, { type: undefined, decorators: [{
1247
+ type: i0.Inject,
1248
+ args: [EXTENSIONS_IDENTIFIER]
1249
+ }] }];
1250
+ }, propDecorators: { formProps: [{
1251
+ type: i0.ViewChildren,
1252
+ args: [ExtensibleFormPropComponent]
1253
+ }], selectedRecord: [{
1254
+ type: i0.Input
1255
+ }] } });
1256
+
1257
+ // Fix for https://github.com/angular/angular/issues/23904
1258
+ // @dynamic
1259
+ var AbstractActionsComponent = /** @class */ (function (_super) {
1260
+ __extends(AbstractActionsComponent, _super);
1261
+ function AbstractActionsComponent(injector) {
1262
+ var _this = _super.call(this) || this;
1263
+ _this.getInjected = injector.get.bind(injector);
1264
+ var extensions = injector.get(ExtensionsService);
1265
+ var name = injector.get(EXTENSIONS_IDENTIFIER);
1266
+ var type = injector.get(EXTENSIONS_ACTION_TYPE);
1267
+ _this.actionList = extensions[type].get(name).actions;
1268
+ return _this;
1269
+ }
1270
+ return AbstractActionsComponent;
1271
+ }(ActionData));
1272
+ AbstractActionsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: AbstractActionsComponent, deps: [{ token: i0__namespace.Injector }], target: i0__namespace.ɵɵFactoryTarget.Directive });
1273
+ AbstractActionsComponent.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.6", type: AbstractActionsComponent, inputs: { record: "record" }, usesInheritance: true, ngImport: i0__namespace });
1274
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: AbstractActionsComponent, decorators: [{
1275
+ type: i0.Directive
1276
+ }], ctorParameters: function () { return [{ type: i0__namespace.Injector }]; }, propDecorators: { record: [{
1277
+ type: i0.Input
1278
+ }] } });
1279
+
1280
+ var GridActionsComponent = /** @class */ (function (_super) {
1281
+ __extends(GridActionsComponent, _super);
1282
+ function GridActionsComponent(injector) {
1283
+ var _this = _super.call(this, injector) || this;
1284
+ _this.icon = 'fa fa-cog';
1285
+ _this.text = '';
1286
+ _this.trackByFn = function (_, item) { return item.text; };
1287
+ return _this;
1288
+ }
1289
+ return GridActionsComponent;
1290
+ }(AbstractActionsComponent));
1291
+ GridActionsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: GridActionsComponent, deps: [{ token: i0__namespace.Injector }], target: i0__namespace.ɵɵFactoryTarget.Component });
1292
+ GridActionsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: GridActionsComponent, selector: "abp-grid-actions", inputs: { icon: "icon", index: "index", text: "text" }, providers: [
1293
+ {
1294
+ provide: EXTENSIONS_ACTION_TYPE,
1295
+ useValue: 'entityActions',
1296
+ },
1297
+ ], exportAs: ["abpGridActions"], usesInheritance: true, ngImport: i0__namespace, template: "<div *ngIf=\"actionList.length > 1\" ngbDropdown container=\"body\" class=\"d-inline-block\">\n <button\n class=\"btn btn-primary btn-sm dropdown-toggle\"\n data-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n ngbDropdownToggle\n >\n <i [ngClass]=\"icon\" [class.mr-1]=\"icon\"></i>{{ text | abpLocalization }}\n </button>\n <div ngbDropdownMenu>\n <ng-container\n *ngFor=\"let action of actionList; trackBy: trackByFn\"\n [ngTemplateOutlet]=\"btnItem\"\n [ngTemplateOutletContext]=\"{ $implicit: action }\"\n >\n </ng-container>\n </div>\n</div>\n\n<ng-container\n *ngIf=\"actionList.length === 1\"\n [ngTemplateOutlet]=\"btnItem\"\n [ngTemplateOutletContext]=\"{ $implicit: actionList.get(0).value }\"\n></ng-container>\n\n<ng-template #btnItem let-action>\n <ng-container *ngIf=\"action.visible(data)\">\n <button\n ngbDropdownItem\n *abpPermission=\"action.permission\"\n (click)=\"action.action(data)\"\n type=\"button\"\n class=\"{{ actionList.length === 1 ? 'btn btn-primary' : '' }}\"\n [class.text-center]=\"actionList.length === 1\"\n >\n <i [ngClass]=\"action.icon\" [class.mr-1]=\"action.icon\"></i>\n <span *ngIf=\"action.icon; else ellipsis\">{{ action.text | abpLocalization }}</span>\n <ng-template #ellipsis>\n <div abpEllipsis>{{ action.text | abpLocalization }}</div>\n </ng-template>\n </button>\n </ng-container>\n</ng-template>\n", directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgbDropdown, selector: "[ngbDropdown]", inputs: ["open", "placement", "container", "autoClose", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { type: i2__namespace.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { type: i5__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2__namespace.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1__namespace.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission"] }, { type: i2__namespace.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { type: i4__namespace.EllipsisDirective, selector: "[abpEllipsis]", inputs: ["abpEllipsis", "title", "abpEllipsisEnabled"] }], pipes: { "abpLocalization": i1__namespace.LocalizationPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1298
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: GridActionsComponent, decorators: [{
1299
+ type: i0.Component,
1300
+ args: [{
1301
+ exportAs: 'abpGridActions',
1302
+ selector: 'abp-grid-actions',
1303
+ templateUrl: './grid-actions.component.html',
1304
+ providers: [
1305
+ {
1306
+ provide: EXTENSIONS_ACTION_TYPE,
1307
+ useValue: 'entityActions',
1308
+ },
1309
+ ],
1310
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1311
+ }]
1312
+ }], ctorParameters: function () { return [{ type: i0__namespace.Injector }]; }, propDecorators: { icon: [{
1313
+ type: i0.Input
1314
+ }], index: [{
1315
+ type: i0.Input
1316
+ }], text: [{
1317
+ type: i0.Input
1318
+ }] } });
1143
1319
 
1144
1320
  var DEFAULT_ACTIONS_COLUMN_WIDTH = 150;
1145
1321
  var ExtensibleTableComponent = /** @class */ (function () {
1146
1322
  function ExtensibleTableComponent(locale, config, injector) {
1147
1323
  this.locale = locale;
1148
1324
  this.config = config;
1325
+ this.injector = injector;
1149
1326
  this.trackByFn = function (_, item) { return item.name; };
1150
- // tslint:disable-next-line
1151
1327
  this.getInjected = injector.get.bind(injector);
1152
1328
  var extensions = injector.get(ExtensionsService);
1153
1329
  var name = injector.get(EXTENSIONS_IDENTIFIER);
1154
1330
  this.propList = extensions.entityProps.get(name).props;
1155
1331
  this.actionList = extensions['entityActions'].get(name)
1156
1332
  .actions;
1157
- var permissionService = injector.get(ng_core.PermissionService);
1333
+ var permissionService = injector.get(i1.PermissionService);
1158
1334
  this.hasAtLeastOnePermittedAction =
1159
1335
  permissionService.filterItemsByPolicy(this.actionList.toArray().map(function (action) { return ({ requiredPolicy: action.permission }); })).length > 0;
1160
1336
  this.setColumnWidths(DEFAULT_ACTIONS_COLUMN_WIDTH);
@@ -1186,13 +1362,22 @@
1186
1362
  this.columnWidths = widths;
1187
1363
  };
1188
1364
  ExtensibleTableComponent.prototype.getDate = function (value, format) {
1189
- return value ? common.formatDate(value, format, this.locale) : '';
1365
+ return value ? i5.formatDate(value, format, this.locale) : '';
1190
1366
  };
1191
1367
  ExtensibleTableComponent.prototype.getIcon = function (value) {
1192
1368
  return value
1193
1369
  ? '<div class="text-center text-success"><i class="fa fa-check"></i></div>'
1194
1370
  : '<div class="text-center text-danger"><i class="fa fa-times"></i></div>';
1195
1371
  };
1372
+ ExtensibleTableComponent.prototype.getEnum = function (rowValue, list) {
1373
+ if (!list)
1374
+ return rowValue;
1375
+ var key = list.find(function (_b) {
1376
+ var value = _b.value;
1377
+ return value === rowValue;
1378
+ }).key;
1379
+ return key;
1380
+ };
1196
1381
  ExtensibleTableComponent.prototype.getContent = function (prop, data) {
1197
1382
  var _this = this;
1198
1383
  return prop.valueResolver(data).pipe(operators.map(function (value) {
@@ -1200,11 +1385,13 @@
1200
1385
  case "boolean" /* Boolean */:
1201
1386
  return _this.getIcon(value);
1202
1387
  case "date" /* Date */:
1203
- return _this.getDate(value, ng_core.getShortDateFormat(_this.config));
1388
+ return _this.getDate(value, i1.getShortDateFormat(_this.config));
1204
1389
  case "time" /* Time */:
1205
- return _this.getDate(value, ng_core.getShortTimeFormat(_this.config));
1390
+ return _this.getDate(value, i1.getShortTimeFormat(_this.config));
1206
1391
  case "dateTime" /* DateTime */:
1207
- return _this.getDate(value, ng_core.getShortDateShortTimeFormat(_this.config));
1392
+ return _this.getDate(value, i1.getShortDateShortTimeFormat(_this.config));
1393
+ case "enum" /* Enum */:
1394
+ return _this.getEnum(value, prop.enumList);
1208
1395
  default:
1209
1396
  return value;
1210
1397
  // More types can be handled in the future
@@ -1219,98 +1406,56 @@
1219
1406
  this.data = data.currentValue.map(function (record, index) {
1220
1407
  _this.propList.forEach(function (prop) {
1221
1408
  var propData = { getInjected: _this.getInjected, record: record, index: index };
1222
- record["_" + prop.value.name] = {
1409
+ var value = _this.getContent(prop.value, propData);
1410
+ var propKey = "_" + prop.value.name;
1411
+ record[propKey] = {
1223
1412
  visible: prop.value.visible(propData),
1224
- value: _this.getContent(prop.value, propData),
1413
+ value: value,
1225
1414
  };
1415
+ if (prop.value.component) {
1416
+ var injector = i0.Injector.create([
1417
+ {
1418
+ provide: PROP_DATA_STREAM,
1419
+ useValue: value,
1420
+ },
1421
+ ], _this.injector);
1422
+ record[propKey].injector = injector;
1423
+ record[propKey].component = prop.value.component;
1424
+ }
1226
1425
  });
1227
1426
  return record;
1228
1427
  });
1229
1428
  };
1230
1429
  return ExtensibleTableComponent;
1231
1430
  }());
1232
- ExtensibleTableComponent.decorators = [
1233
- { type: i0.Component, args: [{
1234
- exportAs: 'abpExtensibleTable',
1235
- selector: 'abp-extensible-table',
1236
- template: "<ngx-datatable default [rows]=\"data\" [count]=\"recordsTotal\" [list]=\"list\">\n <ngx-datatable-column\n *ngIf=\"actionsTemplate || (actionList.length && hasAtLeastOnePermittedAction)\"\n [name]=\"actionsText | abpLocalization\"\n [maxWidth]=\"columnWidths[0]\"\n [width]=\"columnWidths[0]\"\n [sortable]=\"false\"\n >\n <ng-template let-row=\"row\" let-i=\"rowIndex\" ngx-datatable-cell-template>\n <ng-container\n *ngTemplateOutlet=\"actionsTemplate || gridActions; context: { $implicit: row, index: i }\"\n ></ng-container>\n <ng-template #gridActions>\n <abp-grid-actions [index]=\"i\" [record]=\"row\" text=\"AbpUi::Actions\"></abp-grid-actions>\n </ng-template>\n </ng-template>\n </ngx-datatable-column>\n\n <ng-container *ngFor=\"let prop of propList; let i = index; trackBy: trackByFn\">\n <ngx-datatable-column\n [width]=\"columnWidths[i + 1] || 200\"\n [name]=\"prop.displayName | abpLocalization\"\n [prop]=\"prop.name\"\n [sortable]=\"prop.sortable\"\n >\n <ng-template let-row=\"row\" let-i=\"index\" ngx-datatable-cell-template>\n <ng-container *abpPermission=\"prop.permission\">\n <div\n *ngIf=\"row['_' + prop.name]?.visible\"\n [innerHTML]=\"row['_' + prop.name]?.value | async\"\n (click)=\"\n prop.action && prop.action({ getInjected: getInjected, record: row, index: i })\n \"\n [class.pointer]=\"prop.action\"\n ></div>\n </ng-container>\n </ng-template>\n </ngx-datatable-column>\n </ng-container>\n</ngx-datatable>\n",
1237
- changeDetection: i0.ChangeDetectionStrategy.OnPush
1238
- },] }
1239
- ];
1240
- ExtensibleTableComponent.ctorParameters = function () { return [
1241
- { type: String, decorators: [{ type: i0.Inject, args: [i0.LOCALE_ID,] }] },
1242
- { type: ng_core.ConfigStateService },
1243
- { type: i0.Injector }
1244
- ]; };
1245
- ExtensibleTableComponent.propDecorators = {
1246
- actionsText: [{ type: i0.Input }],
1247
- data: [{ type: i0.Input }],
1248
- list: [{ type: i0.Input }],
1249
- recordsTotal: [{ type: i0.Input }],
1250
- actionsColumnWidth: [{ type: i0.Input }],
1251
- actionsTemplate: [{ type: i0.Input }]
1252
- };
1253
-
1254
- // tslint:disable: directive-class-suffix
1255
- // Fix for https://github.com/angular/angular/issues/23904
1256
- // @dynamic
1257
- var AbstractActionsComponent = /** @class */ (function (_super) {
1258
- __extends(AbstractActionsComponent, _super);
1259
- function AbstractActionsComponent(injector) {
1260
- var _this = _super.call(this) || this;
1261
- // tslint:disable-next-line
1262
- _this.getInjected = injector.get.bind(injector);
1263
- var extensions = injector.get(ExtensionsService);
1264
- var name = injector.get(EXTENSIONS_IDENTIFIER);
1265
- var type = injector.get(EXTENSIONS_ACTION_TYPE);
1266
- _this.actionList = extensions[type].get(name).actions;
1267
- return _this;
1268
- }
1269
- return AbstractActionsComponent;
1270
- }(ActionData));
1271
- AbstractActionsComponent.decorators = [
1272
- { type: i0.Directive }
1273
- ];
1274
- AbstractActionsComponent.ctorParameters = function () { return [
1275
- { type: i0.Injector }
1276
- ]; };
1277
- AbstractActionsComponent.propDecorators = {
1278
- record: [{ type: i0.Input }]
1279
- };
1280
-
1281
- var GridActionsComponent = /** @class */ (function (_super) {
1282
- __extends(GridActionsComponent, _super);
1283
- function GridActionsComponent(injector) {
1284
- var _this = _super.call(this, injector) || this;
1285
- _this.icon = 'fa fa-cog';
1286
- _this.text = '';
1287
- _this.trackByFn = function (_, item) { return item.text; };
1288
- return _this;
1289
- }
1290
- return GridActionsComponent;
1291
- }(AbstractActionsComponent));
1292
- GridActionsComponent.decorators = [
1293
- { type: i0.Component, args: [{
1294
- exportAs: 'abpGridActions',
1295
- selector: 'abp-grid-actions',
1296
- template: "<div *ngIf=\"actionList.length > 1\" ngbDropdown container=\"body\" class=\"d-inline-block\">\n <button\n class=\"btn btn-primary btn-sm dropdown-toggle\"\n data-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n ngbDropdownToggle\n >\n <i [ngClass]=\"icon\" [class.mr-1]=\"icon\"></i>{{ text | abpLocalization }}\n </button>\n <div ngbDropdownMenu>\n <ng-container\n *ngFor=\"let action of actionList; trackBy: trackByFn\"\n [ngTemplateOutlet]=\"btnItem\"\n [ngTemplateOutletContext]=\"{ $implicit: action }\"\n >\n </ng-container>\n </div>\n</div>\n\n<ng-container\n *ngIf=\"actionList.length === 1\"\n [ngTemplateOutlet]=\"btnItem\"\n [ngTemplateOutletContext]=\"{ $implicit: actionList.get(0).value }\"\n></ng-container>\n\n<ng-template #btnItem let-action>\n <ng-container *ngIf=\"action.visible(data)\">\n <button\n ngbDropdownItem\n *abpPermission=\"action.permission\"\n (click)=\"action.action(data)\"\n type=\"button\"\n class=\"{{ actionList.length === 1 ? 'btn btn-primary' : '' }}\"\n [class.text-center]=\"actionList.length === 1\"\n >\n <i [ngClass]=\"action.icon\" [class.mr-1]=\"action.icon\"></i>\n <span *ngIf=\"action.icon; else ellipsis\">{{ action.text | abpLocalization }}</span>\n <ng-template #ellipsis>\n <div abpEllipsis>{{ action.text | abpLocalization }}</div>\n </ng-template>\n </button>\n </ng-container>\n</ng-template>\n",
1297
- providers: [
1298
- {
1299
- provide: EXTENSIONS_ACTION_TYPE,
1300
- useValue: 'entityActions',
1301
- },
1302
- ],
1303
- changeDetection: i0.ChangeDetectionStrategy.OnPush
1304
- },] }
1305
- ];
1306
- GridActionsComponent.ctorParameters = function () { return [
1307
- { type: i0.Injector }
1308
- ]; };
1309
- GridActionsComponent.propDecorators = {
1310
- icon: [{ type: i0.Input }],
1311
- index: [{ type: i0.Input }],
1312
- text: [{ type: i0.Input }]
1313
- };
1431
+ ExtensibleTableComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: ExtensibleTableComponent, deps: [{ token: i0.LOCALE_ID }, { token: i1__namespace.ConfigStateService }, { token: i0__namespace.Injector }], target: i0__namespace.ɵɵFactoryTarget.Component });
1432
+ ExtensibleTableComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: ExtensibleTableComponent, selector: "abp-extensible-table", inputs: { actionsText: "actionsText", data: "data", list: "list", recordsTotal: "recordsTotal", actionsColumnWidth: "actionsColumnWidth", actionsTemplate: "actionsTemplate" }, exportAs: ["abpExtensibleTable"], usesOnChanges: true, ngImport: i0__namespace, template: "<ngx-datatable default [rows]=\"data\" [count]=\"recordsTotal\" [list]=\"list\">\n <ngx-datatable-column\n *ngIf=\"actionsTemplate || (actionList.length && hasAtLeastOnePermittedAction)\"\n [name]=\"actionsText | abpLocalization\"\n [maxWidth]=\"columnWidths[0]\"\n [width]=\"columnWidths[0]\"\n [sortable]=\"false\"\n >\n <ng-template let-row=\"row\" let-i=\"rowIndex\" ngx-datatable-cell-template>\n <ng-container\n *ngTemplateOutlet=\"actionsTemplate || gridActions; context: { $implicit: row, index: i }\"\n ></ng-container>\n <ng-template #gridActions>\n <abp-grid-actions [index]=\"i\" [record]=\"row\" text=\"AbpUi::Actions\"></abp-grid-actions>\n </ng-template>\n </ng-template>\n </ngx-datatable-column>\n\n <ng-container *ngFor=\"let prop of propList; let i = index; trackBy: trackByFn\">\n <ngx-datatable-column\n [width]=\"columnWidths[i + 1] || 200\"\n [name]=\"prop.displayName | abpLocalization\"\n [prop]=\"prop.name\"\n [sortable]=\"prop.sortable\"\n >\n <ng-template let-row=\"row\" let-i=\"index\" ngx-datatable-cell-template>\n <ng-container *abpPermission=\"prop.permission\">\n <ng-container *ngIf=\"row['_' + prop.name]?.visible\">\n <div\n *ngIf=\"!row['_' + prop.name].component; else component\"\n [innerHTML]=\"row['_' + prop.name]?.value | async\"\n (click)=\"\n prop.action && prop.action({ getInjected: getInjected, record: row, index: i })\n \"\n [class.pointer]=\"prop.action\"\n ></div>\n </ng-container>\n <ng-template #component>\n <ng-container\n *ngComponentOutlet=\"\n row['_' + prop.name].component;\n injector: row['_' + prop.name].injector\n \"\n ></ng-container>\n </ng-template>\n </ng-container>\n </ng-template>\n </ngx-datatable-column>\n </ng-container>\n</ngx-datatable>\n", components: [{ type: i2__namespace$2.DatatableComponent, selector: "ngx-datatable", inputs: ["selected", "scrollbarV", "scrollbarH", "rowHeight", "columnMode", "headerHeight", "footerHeight", "externalPaging", "externalSorting", "loadingIndicator", "reorderable", "swapColumns", "sortType", "sorts", "cssClasses", "messages", "groupExpansionDefault", "selectAllRowsOnPage", "virtualization", "summaryRow", "summaryHeight", "summaryPosition", "rowIdentity", "rows", "groupedRows", "groupRowsBy", "columns", "limit", "count", "offset", "targetMarkerTemplate", "selectionType", "rowClass", "selectCheck", "displayCheck", "trackByProp", "treeFromRelation", "treeToRelation"], outputs: ["scroll", "activate", "select", "sort", "page", "reorder", "resize", "tableContextmenu", "treeAction"] }, { type: GridActionsComponent, selector: "abp-grid-actions", inputs: ["icon", "index", "text"], exportAs: ["abpGridActions"] }], directives: [{ type: i4__namespace.NgxDatatableDefaultDirective, selector: "ngx-datatable[default]", inputs: ["class"], exportAs: ["ngxDatatableDefault"] }, { type: i4__namespace.NgxDatatableListDirective, selector: "ngx-datatable[list]", inputs: ["list"], exportAs: ["ngxDatatableList"] }, { type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace$2.DataTableColumnDirective, selector: "ngx-datatable-column", inputs: ["name", "prop", "frozenLeft", "frozenRight", "flexGrow", "resizeable", "comparator", "pipe", "sortable", "draggable", "canAutoResize", "minWidth", "width", "maxWidth", "checkboxable", "headerCheckboxable", "headerClass", "cellClass", "isTreeColumn", "treeLevelIndent", "summaryFunc", "summaryTemplate", "cellTemplate", "headerTemplate", "treeToggleTemplate"] }, { type: i2__namespace$2.DataTableColumnCellDirective, selector: "[ngx-datatable-cell-template]" }, { type: i5__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1__namespace.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission"] }, { type: i5__namespace.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModuleFactory"] }], pipes: { "abpLocalization": i1__namespace.LocalizationPipe, "async": i5__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1433
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: ExtensibleTableComponent, decorators: [{
1434
+ type: i0.Component,
1435
+ args: [{
1436
+ exportAs: 'abpExtensibleTable',
1437
+ selector: 'abp-extensible-table',
1438
+ templateUrl: './extensible-table.component.html',
1439
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1440
+ }]
1441
+ }], ctorParameters: function () {
1442
+ return [{ type: undefined, decorators: [{
1443
+ type: i0.Inject,
1444
+ args: [i0.LOCALE_ID]
1445
+ }] }, { type: i1__namespace.ConfigStateService }, { type: i0__namespace.Injector }];
1446
+ }, propDecorators: { actionsText: [{
1447
+ type: i0.Input
1448
+ }], data: [{
1449
+ type: i0.Input
1450
+ }], list: [{
1451
+ type: i0.Input
1452
+ }], recordsTotal: [{
1453
+ type: i0.Input
1454
+ }], actionsColumnWidth: [{
1455
+ type: i0.Input
1456
+ }], actionsTemplate: [{
1457
+ type: i0.Input
1458
+ }] } });
1314
1459
 
1315
1460
  var PageToolbarComponent = /** @class */ (function (_super) {
1316
1461
  __extends(PageToolbarComponent, _super);
@@ -1336,87 +1481,28 @@
1336
1481
  };
1337
1482
  return PageToolbarComponent;
1338
1483
  }(AbstractActionsComponent));
1339
- PageToolbarComponent.decorators = [
1340
- { type: i0.Component, args: [{
1341
- exportAs: 'abpPageToolbar',
1342
- selector: 'abp-page-toolbar',
1343
- template: "<div class=\"row justify-content-end mx-n1\" id=\"AbpContentToolbar\">\n <div class=\"col-auto px-1 pt-0 pt-md-2\" *ngFor=\"let action of actionList; trackBy: trackByFn\">\n <ng-container *ngIf=\"action.visible(data)\">\n <ng-container *abpPermission=\"action.permission\">\n <ng-container *ngIf=\"action.component as component; else button\">\n <ng-container\n *ngComponentOutlet=\"component; injector: createInjector(action)\"\n ></ng-container>\n </ng-container>\n\n <ng-template #button>\n <button (click)=\"action.action(data)\" type=\"button\" class=\"btn btn-primary btn-sm\">\n <i [ngClass]=\"action.icon\" [class.mr-1]=\"action.icon\"></i>\n {{ action.text | abpLocalization }}\n </button>\n </ng-template>\n </ng-container>\n </ng-container>\n </div>\n</div>\n",
1344
- providers: [
1345
- {
1346
- provide: EXTENSIONS_ACTION_TYPE,
1347
- useValue: 'toolbarActions',
1348
- },
1349
- ],
1350
- changeDetection: i0.ChangeDetectionStrategy.OnPush
1351
- },] }
1352
- ];
1353
- PageToolbarComponent.ctorParameters = function () { return [
1354
- { type: i0.Injector }
1355
- ]; };
1356
-
1357
- var DisabledDirective = /** @class */ (function () {
1358
- function DisabledDirective(ngControl) {
1359
- this.ngControl = ngControl;
1360
- }
1361
- // Related issue: https://github.com/angular/angular/issues/35330
1362
- DisabledDirective.prototype.ngOnChanges = function (_a) {
1363
- var abpDisabled = _a.abpDisabled;
1364
- if (this.ngControl.control && abpDisabled) {
1365
- this.ngControl.control[abpDisabled.currentValue ? 'disable' : 'enable']();
1366
- }
1367
- };
1368
- return DisabledDirective;
1369
- }());
1370
- DisabledDirective.decorators = [
1371
- { type: i0.Directive, args: [{
1372
- selector: '[abpDisabled]',
1373
- },] }
1374
- ];
1375
- DisabledDirective.ctorParameters = function () { return [
1376
- { type: forms.NgControl, decorators: [{ type: i0.Host }] }
1377
- ]; };
1378
- DisabledDirective.propDecorators = {
1379
- abpDisabled: [{ type: i0.Input }]
1380
- };
1381
-
1382
- var PropDataDirective = /** @class */ (function (_super) {
1383
- __extends(PropDataDirective, _super);
1384
- function PropDataDirective(tempRef, vcRef, injector) {
1385
- var _this = _super.call(this) || this;
1386
- _this.tempRef = tempRef;
1387
- _this.vcRef = vcRef;
1388
- // tslint:disable-next-line
1389
- _this.getInjected = injector.get.bind(injector);
1390
- return _this;
1391
- }
1392
- PropDataDirective.prototype.ngOnChanges = function () {
1393
- this.vcRef.clear();
1394
- this.vcRef.createEmbeddedView(this.tempRef, {
1395
- $implicit: this.data,
1396
- index: 0,
1397
- });
1398
- };
1399
- PropDataDirective.prototype.ngOnDestroy = function () {
1400
- this.vcRef.clear();
1401
- };
1402
- return PropDataDirective;
1403
- }(PropData));
1404
- PropDataDirective.decorators = [
1405
- { type: i0.Directive, args: [{
1406
- exportAs: 'abpPropData',
1407
- selector: '[abpPropData]',
1408
- },] }
1409
- ];
1410
- PropDataDirective.ctorParameters = function () { return [
1411
- { type: i0.TemplateRef },
1412
- { type: i0.ViewContainerRef },
1413
- { type: i0.Injector }
1414
- ]; };
1415
- PropDataDirective.propDecorators = {
1416
- propList: [{ type: i0.Input, args: ['abpPropDataFromList',] }],
1417
- record: [{ type: i0.Input, args: ['abpPropDataWithRecord',] }],
1418
- index: [{ type: i0.Input, args: ['abpPropDataAtIndex',] }]
1419
- };
1484
+ PageToolbarComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: PageToolbarComponent, deps: [{ token: i0__namespace.Injector }], target: i0__namespace.ɵɵFactoryTarget.Component });
1485
+ PageToolbarComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: PageToolbarComponent, selector: "abp-page-toolbar", providers: [
1486
+ {
1487
+ provide: EXTENSIONS_ACTION_TYPE,
1488
+ useValue: 'toolbarActions',
1489
+ },
1490
+ ], exportAs: ["abpPageToolbar"], usesInheritance: true, ngImport: i0__namespace, template: "<div class=\"row justify-content-end mx-n1\" id=\"AbpContentToolbar\">\n <div class=\"col-auto px-1 pt-0 pt-md-2\" *ngFor=\"let action of actionList; trackBy: trackByFn\">\n <ng-container *ngIf=\"action.visible(data)\">\n <ng-container *abpPermission=\"action.permission\">\n <ng-container *ngIf=\"action.component as component; else button\">\n <ng-container\n *ngComponentOutlet=\"component; injector: createInjector(action)\"\n ></ng-container>\n </ng-container>\n\n <ng-template #button>\n <button (click)=\"action.action(data)\" type=\"button\" class=\"btn btn-primary btn-sm\">\n <i [ngClass]=\"action.icon\" [class.mr-1]=\"action.icon\"></i>\n {{ action.text | abpLocalization }}\n </button>\n </ng-template>\n </ng-container>\n </ng-container>\n </div>\n</div>\n", directives: [{ type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission"] }, { type: i5__namespace.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModuleFactory"] }, { type: i5__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "abpLocalization": i1__namespace.LocalizationPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1491
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: PageToolbarComponent, decorators: [{
1492
+ type: i0.Component,
1493
+ args: [{
1494
+ exportAs: 'abpPageToolbar',
1495
+ selector: 'abp-page-toolbar',
1496
+ templateUrl: './page-toolbar.component.html',
1497
+ providers: [
1498
+ {
1499
+ provide: EXTENSIONS_ACTION_TYPE,
1500
+ useValue: 'toolbarActions',
1501
+ },
1502
+ ],
1503
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1504
+ }]
1505
+ }], ctorParameters: function () { return [{ type: i0__namespace.Injector }]; } });
1420
1506
 
1421
1507
  var objectExtensions = /*#__PURE__*/Object.freeze({
1422
1508
  __proto__: null
@@ -1427,49 +1513,84 @@
1427
1513
  }
1428
1514
  return BaseUiExtensionsModule;
1429
1515
  }());
1430
- BaseUiExtensionsModule.decorators = [
1431
- { type: i0.NgModule, args: [{
1432
- exports: [
1433
- DateTimePickerComponent,
1434
- PageToolbarComponent,
1435
- GridActionsComponent,
1436
- ExtensibleFormComponent,
1437
- ExtensibleTableComponent,
1438
- PropDataDirective,
1439
- DisabledDirective,
1440
- ],
1441
- declarations: [
1442
- DateTimePickerComponent,
1443
- PageToolbarComponent,
1444
- GridActionsComponent,
1445
- ExtensibleFormPropComponent,
1446
- ExtensibleFormComponent,
1447
- ExtensibleTableComponent,
1448
- PropDataDirective,
1449
- DisabledDirective,
1450
- ],
1451
- imports: [
1452
- ng_core.CoreModule,
1453
- ng_theme_shared.ThemeSharedModule,
1454
- core.NgxValidateCoreModule,
1455
- ngBootstrap.NgbDatepickerModule,
1456
- ngBootstrap.NgbDropdownModule,
1457
- ngBootstrap.NgbTimepickerModule,
1458
- ngBootstrap.NgbTypeaheadModule,
1459
- ],
1460
- },] }
1461
- ];
1516
+ BaseUiExtensionsModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: BaseUiExtensionsModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1517
+ BaseUiExtensionsModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: BaseUiExtensionsModule, declarations: [DateTimePickerComponent,
1518
+ PageToolbarComponent,
1519
+ GridActionsComponent,
1520
+ ExtensibleFormPropComponent,
1521
+ ExtensibleFormComponent,
1522
+ ExtensibleTableComponent,
1523
+ PropDataDirective,
1524
+ DisabledDirective], imports: [i1.CoreModule,
1525
+ i4.ThemeSharedModule,
1526
+ i6.NgxValidateCoreModule,
1527
+ i2.NgbDatepickerModule,
1528
+ i2.NgbDropdownModule,
1529
+ i2.NgbTimepickerModule,
1530
+ i2.NgbTypeaheadModule], exports: [DateTimePickerComponent,
1531
+ PageToolbarComponent,
1532
+ GridActionsComponent,
1533
+ ExtensibleFormComponent,
1534
+ ExtensibleTableComponent,
1535
+ PropDataDirective,
1536
+ DisabledDirective] });
1537
+ BaseUiExtensionsModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: BaseUiExtensionsModule, imports: [[
1538
+ i1.CoreModule,
1539
+ i4.ThemeSharedModule,
1540
+ i6.NgxValidateCoreModule,
1541
+ i2.NgbDatepickerModule,
1542
+ i2.NgbDropdownModule,
1543
+ i2.NgbTimepickerModule,
1544
+ i2.NgbTypeaheadModule,
1545
+ ]] });
1546
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: BaseUiExtensionsModule, decorators: [{
1547
+ type: i0.NgModule,
1548
+ args: [{
1549
+ exports: [
1550
+ DateTimePickerComponent,
1551
+ PageToolbarComponent,
1552
+ GridActionsComponent,
1553
+ ExtensibleFormComponent,
1554
+ ExtensibleTableComponent,
1555
+ PropDataDirective,
1556
+ DisabledDirective,
1557
+ ],
1558
+ declarations: [
1559
+ DateTimePickerComponent,
1560
+ PageToolbarComponent,
1561
+ GridActionsComponent,
1562
+ ExtensibleFormPropComponent,
1563
+ ExtensibleFormComponent,
1564
+ ExtensibleTableComponent,
1565
+ PropDataDirective,
1566
+ DisabledDirective,
1567
+ ],
1568
+ imports: [
1569
+ i1.CoreModule,
1570
+ i4.ThemeSharedModule,
1571
+ i6.NgxValidateCoreModule,
1572
+ i2.NgbDatepickerModule,
1573
+ i2.NgbDropdownModule,
1574
+ i2.NgbTimepickerModule,
1575
+ i2.NgbTypeaheadModule,
1576
+ ],
1577
+ }]
1578
+ }] });
1462
1579
  var UiExtensionsModule = /** @class */ (function () {
1463
1580
  function UiExtensionsModule() {
1464
1581
  }
1465
1582
  return UiExtensionsModule;
1466
1583
  }());
1467
- UiExtensionsModule.decorators = [
1468
- { type: i0.NgModule, args: [{
1469
- exports: [BaseUiExtensionsModule],
1470
- imports: [BaseUiExtensionsModule],
1471
- },] }
1472
- ];
1584
+ UiExtensionsModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: UiExtensionsModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1585
+ UiExtensionsModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: UiExtensionsModule, imports: [BaseUiExtensionsModule], exports: [BaseUiExtensionsModule] });
1586
+ UiExtensionsModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: UiExtensionsModule, imports: [[BaseUiExtensionsModule], BaseUiExtensionsModule] });
1587
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0__namespace, type: UiExtensionsModule, decorators: [{
1588
+ type: i0.NgModule,
1589
+ args: [{
1590
+ exports: [BaseUiExtensionsModule],
1591
+ imports: [BaseUiExtensionsModule],
1592
+ }]
1593
+ }] });
1473
1594
 
1474
1595
  function mergeWithDefaultActions(extension, defaultActions) {
1475
1596
  var contributors = [];
@@ -1487,8 +1608,8 @@
1487
1608
  function generateFormFromProps(data) {
1488
1609
  var extensions = data.getInjected(ExtensionsService);
1489
1610
  var identifier = data.getInjected(EXTENSIONS_IDENTIFIER);
1490
- var form = new forms.FormGroup({});
1491
- var extraForm = new forms.FormGroup({});
1611
+ var form = new i2$1.FormGroup({});
1612
+ var extraForm = new i2$1.FormGroup({});
1492
1613
  form.addControl(EXTRA_PROPERTIES_KEY, extraForm);
1493
1614
  var record = data.record || {};
1494
1615
  var type = JSON.stringify(record) === '{}' ? 'create' : 'edit';
@@ -1520,7 +1641,7 @@
1520
1641
  break;
1521
1642
  }
1522
1643
  }
1523
- var formControl = new forms.FormControl(value, {
1644
+ var formControl = new i2$1.FormControl(value, {
1524
1645
  asyncValidators: prop.asyncValidators(data),
1525
1646
  validators: prop.validators(data),
1526
1647
  });
@@ -1557,14 +1678,14 @@
1557
1678
  return function (data) {
1558
1679
  var value = data.record[EXTRA_PROPERTIES_KEY][propName];
1559
1680
  var key = lookupEnum.transformed[value];
1560
- var l10n = data.getInjected(ng_core.LocalizationService);
1681
+ var l10n = data.getInjected(i1.LocalizationService);
1561
1682
  var localizeEnum = createEnumLocalizer(l10n, enumType, lookupEnum);
1562
1683
  return createLocalizationStream(l10n, localizeEnum(key));
1563
1684
  };
1564
1685
  }
1565
1686
  function createEnumOptions(enumType, lookupEnum) {
1566
1687
  return function (data) {
1567
- var l10n = data.getInjected(ng_core.LocalizationService);
1688
+ var l10n = data.getInjected(i1.LocalizationService);
1568
1689
  var localizeEnum = createEnumLocalizer(l10n, enumType, lookupEnum);
1569
1690
  return createLocalizationStream(l10n, lookupEnum.fields.map(function (_a) {
1570
1691
  var name = _a.name, value = _a.value;
@@ -1588,7 +1709,7 @@
1588
1709
  }
1589
1710
 
1590
1711
  function createDisplayNameLocalizationPipeKeyGenerator(localization) {
1591
- var generateLocalizationPipeKey = ng_core.createLocalizationPipeKeyGenerator(localization);
1712
+ var generateLocalizationPipeKey = i1.createLocalizationPipeKeyGenerator(localization);
1592
1713
  return function (displayName, fallback) {
1593
1714
  if (displayName && displayName.name)
1594
1715
  return generateLocalizationPipeKey([displayName.resource], [displayName.name], displayName.name);
@@ -1602,8 +1723,8 @@
1602
1723
  function getValidatorsFromProperty(property) {
1603
1724
  var validators = [];
1604
1725
  property.attributes.forEach(function (attr) {
1605
- if (attr.typeSimple in ng_core.AbpValidators)
1606
- validators.push(ng_core.AbpValidators[attr.typeSimple](attr.config));
1726
+ if (attr.typeSimple in i1.AbpValidators)
1727
+ validators.push(i1.AbpValidators[attr.typeSimple](attr.config));
1607
1728
  });
1608
1729
  return validators;
1609
1730
  }
@@ -1758,6 +1879,7 @@
1758
1879
  exports.FormProps = FormProps;
1759
1880
  exports.GridActionsComponent = GridActionsComponent;
1760
1881
  exports.ObjectExtensions = objectExtensions;
1882
+ exports.PROP_DATA_STREAM = PROP_DATA_STREAM;
1761
1883
  exports.PageToolbarComponent = PageToolbarComponent;
1762
1884
  exports.PropDataDirective = PropDataDirective;
1763
1885
  exports.PropList = PropList;
@@ -1774,16 +1896,6 @@
1774
1896
  exports.mapEntitiesToContributors = mapEntitiesToContributors;
1775
1897
  exports.mergeWithDefaultActions = mergeWithDefaultActions;
1776
1898
  exports.mergeWithDefaultProps = mergeWithDefaultProps;
1777
- exports.ɵa = ActionData;
1778
- exports.ɵb = Action;
1779
- exports.ɵc = ActionsFactory;
1780
- exports.ɵd = Actions;
1781
- exports.ɵe = PropData;
1782
- exports.ɵf = Prop;
1783
- exports.ɵg = PropsFactory;
1784
- exports.ɵh = Props;
1785
- exports.ɵi = selfFactory;
1786
- exports.ɵj = AbstractActionsComponent;
1787
1899
 
1788
1900
  Object.defineProperty(exports, '__esModule', { value: true });
1789
1901