@abp/ng.theme.shared 7.2.2 → 7.3.0-rc.2

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 (316) hide show
  1. package/README.md +129 -2
  2. package/{esm2020 → esm2022}/abp-ng.theme.shared.mjs +4 -4
  3. package/{esm2020 → esm2022}/extensions/abp-ng.theme.shared-extensions.mjs +4 -4
  4. package/esm2022/extensions/lib/adapters/date-time.adapter.mjs +45 -0
  5. package/esm2022/extensions/lib/adapters/date.adapter.mjs +42 -0
  6. package/esm2022/extensions/lib/adapters/time.adapter.mjs +37 -0
  7. package/esm2022/extensions/lib/components/abstract-actions/abstract-actions.component.mjs +26 -0
  8. package/esm2022/extensions/lib/components/date-time-picker/date-time-picker.component.mjs +110 -0
  9. package/esm2022/extensions/lib/components/extensible-form/extensible-form-prop.component.mjs +199 -0
  10. package/esm2022/extensions/lib/components/extensible-form/extensible-form.component.mjs +74 -0
  11. package/esm2022/extensions/lib/components/extensible-table/extensible-table.component.mjs +137 -0
  12. package/esm2022/extensions/lib/components/grid-actions/grid-actions.component.mjs +40 -0
  13. package/esm2022/extensions/lib/components/page-toolbar/page-toolbar.component.mjs +39 -0
  14. package/{esm2020 → esm2022}/extensions/lib/constants/extra-properties.mjs +1 -1
  15. package/esm2022/extensions/lib/directives/disabled.directive.mjs +30 -0
  16. package/esm2022/extensions/lib/directives/prop-data.directive.mjs +42 -0
  17. package/{esm2020 → esm2022}/extensions/lib/enums/components.mjs +1 -1
  18. package/{esm2020 → esm2022}/extensions/lib/enums/props.enum.mjs +1 -1
  19. package/{esm2020 → esm2022}/extensions/lib/models/actions.mjs +46 -46
  20. package/{esm2020 → esm2022}/extensions/lib/models/entity-actions.mjs +28 -28
  21. package/esm2022/extensions/lib/models/entity-props.mjs +44 -0
  22. package/esm2022/extensions/lib/models/form-props.mjs +76 -0
  23. package/{esm2020 → esm2022}/extensions/lib/models/internal/object-extensions.mjs +2 -2
  24. package/{esm2020 → esm2022}/extensions/lib/models/object-extensions.mjs +2 -2
  25. package/esm2022/extensions/lib/models/props.mjs +54 -0
  26. package/{esm2020 → esm2022}/extensions/lib/models/toolbar-actions.mjs +43 -43
  27. package/esm2022/extensions/lib/pipes/create-injector.pipe.mjs +37 -0
  28. package/esm2022/extensions/lib/services/extensions.service.mjs +25 -0
  29. package/{esm2020 → esm2022}/extensions/lib/tokens/extensible-form-view-provider.token.mjs +2 -2
  30. package/{esm2020 → esm2022}/extensions/lib/tokens/extensions.token.mjs +11 -11
  31. package/esm2022/extensions/lib/ui-extensions.module.mjs +100 -0
  32. package/{esm2020 → esm2022}/extensions/lib/utils/actions.util.mjs +8 -8
  33. package/{esm2020 → esm2022}/extensions/lib/utils/enum.util.mjs +41 -41
  34. package/{esm2020 → esm2022}/extensions/lib/utils/factory.util.mjs +3 -3
  35. package/esm2022/extensions/lib/utils/form-props.util.mjs +51 -0
  36. package/{esm2020 → esm2022}/extensions/lib/utils/localization.util.mjs +12 -12
  37. package/{esm2020 → esm2022}/extensions/lib/utils/props.util.mjs +13 -13
  38. package/esm2022/extensions/lib/utils/state.util.mjs +126 -0
  39. package/{esm2020 → esm2022}/extensions/lib/utils/typeahead.util.mjs +51 -51
  40. package/{esm2020 → esm2022}/extensions/lib/utils/validation.util.mjs +10 -10
  41. package/{esm2020 → esm2022}/extensions/public-api.mjs +30 -30
  42. package/{esm2020 → esm2022}/lib/animations/bounce.animations.mjs +16 -16
  43. package/{esm2020 → esm2022}/lib/animations/collapse.animations.mjs +49 -49
  44. package/{esm2020 → esm2022}/lib/animations/fade.animations.mjs +37 -37
  45. package/{esm2020 → esm2022}/lib/animations/index.mjs +6 -6
  46. package/{esm2020 → esm2022}/lib/animations/modal.animations.mjs +10 -10
  47. package/{esm2020 → esm2022}/lib/animations/slide.animations.mjs +7 -7
  48. package/{esm2020 → esm2022}/lib/animations/toast.animations.mjs +12 -12
  49. package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +44 -0
  50. package/esm2022/lib/components/breadcrumb-items/breadcrumb-items.component.mjs +20 -0
  51. package/esm2022/lib/components/button/button.component.mjs +103 -0
  52. package/{esm2020 → esm2022}/lib/components/card/card-body.component.mjs +27 -26
  53. package/esm2022/lib/components/card/card-footer.component.mjs +31 -0
  54. package/esm2022/lib/components/card/card-header.component.mjs +31 -0
  55. package/esm2022/lib/components/card/card-header.directive.mjs +20 -0
  56. package/esm2022/lib/components/card/card-img-top.directive.mjs +20 -0
  57. package/esm2022/lib/components/card/card-subtitle.directive.mjs +20 -0
  58. package/esm2022/lib/components/card/card-title.directive.mjs +20 -0
  59. package/esm2022/lib/components/card/card.component.mjs +24 -0
  60. package/esm2022/lib/components/card/card.module.mjs +50 -0
  61. package/{esm2020 → esm2022}/lib/components/card/index.mjs +9 -9
  62. package/esm2022/lib/components/checkbox/checkbox.component.mjs +89 -0
  63. package/esm2022/lib/components/confirmation/confirmation.component.mjs +46 -0
  64. package/esm2022/lib/components/form-input/form-input.component.mjs +95 -0
  65. package/esm2022/lib/components/http-error-wrapper/http-error-wrapper.component.mjs +60 -0
  66. package/{esm2020 → esm2022}/lib/components/index.mjs +16 -16
  67. package/esm2022/lib/components/loader-bar/loader-bar.component.mjs +122 -0
  68. package/esm2022/lib/components/loading/loading.component.mjs +20 -0
  69. package/esm2022/lib/components/modal/modal-close.directive.mjs +28 -0
  70. package/esm2022/lib/components/modal/modal-ref.service.mjs +27 -0
  71. package/esm2022/lib/components/modal/modal.component.mjs +190 -0
  72. package/esm2022/lib/components/password/password.component.mjs +39 -0
  73. package/esm2022/lib/components/toast/toast.component.mjs +56 -0
  74. package/esm2022/lib/components/toast-container/toast-container.component.mjs +59 -0
  75. package/{esm2020 → esm2022}/lib/constants/styles.mjs +1 -1
  76. package/{esm2020 → esm2022}/lib/constants/validation.mjs +19 -19
  77. package/esm2022/lib/directives/ellipsis.directive.mjs +65 -0
  78. package/{esm2020 → esm2022}/lib/directives/index.mjs +5 -5
  79. package/esm2022/lib/directives/loading.directive.mjs +90 -0
  80. package/esm2022/lib/directives/ngx-datatable-default.directive.mjs +76 -0
  81. package/esm2022/lib/directives/ngx-datatable-list.directive.mjs +95 -0
  82. package/esm2022/lib/directives/visible.directive.mjs +63 -0
  83. package/{esm2020 → esm2022}/lib/enums/form.mjs +5 -5
  84. package/{esm2020 → esm2022}/lib/enums/index.mjs +2 -2
  85. package/{esm2020 → esm2022}/lib/enums/route-names.mjs +1 -1
  86. package/esm2022/lib/handlers/document-dir.handler.mjs +32 -0
  87. package/esm2022/lib/handlers/error.handler.mjs +294 -0
  88. package/{esm2020 → esm2022}/lib/handlers/index.mjs +2 -2
  89. package/{esm2020 → esm2022}/lib/models/common.mjs +1 -1
  90. package/{esm2020 → esm2022}/lib/models/confirmation.mjs +9 -9
  91. package/{esm2020 → esm2022}/lib/models/index.mjs +7 -7
  92. package/{esm2020 → esm2022}/lib/models/nav-item.mjs +5 -5
  93. package/{esm2020 → esm2022}/lib/models/statistics.mjs +1 -1
  94. package/{esm2020 → esm2022}/lib/models/toaster.mjs +1 -1
  95. package/{esm2020 → esm2022}/lib/models/user-menu.mjs +3 -3
  96. package/{esm2020 → esm2022}/lib/models/validation.mjs +1 -1
  97. package/{esm2020 → esm2022}/lib/providers/index.mjs +2 -2
  98. package/{esm2020 → esm2022}/lib/providers/ng-bootstrap-config.provider.mjs +16 -16
  99. package/{esm2020 → esm2022}/lib/providers/route.provider.mjs +17 -17
  100. package/{esm2020 → esm2022}/lib/services/abstract-menu.service.mjs +49 -49
  101. package/esm2022/lib/services/confirmation.service.mjs +69 -0
  102. package/{esm2020 → esm2022}/lib/services/index.mjs +5 -5
  103. package/esm2022/lib/services/nav-items.service.mjs +18 -0
  104. package/esm2022/lib/services/page-alert.service.mjs +29 -0
  105. package/esm2022/lib/services/toaster.service.mjs +104 -0
  106. package/esm2022/lib/services/user-menu.service.mjs +18 -0
  107. package/esm2022/lib/theme-shared.module.mjs +202 -0
  108. package/{esm2020 → esm2022}/lib/tokens/append-content.token.mjs +10 -10
  109. package/{esm2020 → esm2022}/lib/tokens/confirmation-icons.token.mjs +10 -10
  110. package/{esm2020 → esm2022}/lib/tokens/http-error.token.mjs +13 -13
  111. package/{esm2020 → esm2022}/lib/tokens/index.mjs +4 -4
  112. package/{esm2020 → esm2022}/lib/tokens/ngx-datatable-messages.token.mjs +7 -7
  113. package/{esm2020 → esm2022}/lib/tokens/suppress-unsaved-changes-warning.token.mjs +2 -2
  114. package/esm2022/lib/utils/date-parser-formatter.mjs +59 -0
  115. package/{esm2020 → esm2022}/lib/utils/index.mjs +2 -2
  116. package/{esm2020 → esm2022}/lib/utils/validation-utils.mjs +61 -61
  117. package/{esm2020 → esm2022}/public-api.mjs +15 -15
  118. package/{esm2020 → esm2022}/testing/abp-ng.theme.shared-testing.mjs +4 -4
  119. package/{esm2020 → esm2022}/testing/lib/models/config.mjs +1 -1
  120. package/{esm2020 → esm2022}/testing/lib/models/index.mjs +1 -1
  121. package/esm2022/testing/lib/theme-shared-testing.module.mjs +47 -0
  122. package/{esm2020 → esm2022}/testing/public-api.mjs +3 -3
  123. package/extensions/index.d.ts +5 -5
  124. package/extensions/lib/adapters/date-time.adapter.d.ts +11 -11
  125. package/extensions/lib/adapters/date.adapter.d.ts +9 -9
  126. package/extensions/lib/adapters/time.adapter.d.ts +8 -8
  127. package/extensions/lib/components/abstract-actions/abstract-actions.component.d.ts +12 -12
  128. package/extensions/lib/components/date-time-picker/date-time-picker.component.d.ts +16 -16
  129. package/extensions/lib/components/extensible-form/extensible-form-prop.component.d.ts +43 -43
  130. package/extensions/lib/components/extensible-form/extensible-form.component.d.ts +25 -25
  131. package/extensions/lib/components/extensible-table/extensible-table.component.d.ts +38 -38
  132. package/extensions/lib/components/grid-actions/grid-actions.component.d.ts +13 -13
  133. package/extensions/lib/components/page-toolbar/page-toolbar.component.d.ts +20 -20
  134. package/extensions/lib/constants/extra-properties.d.ts +1 -1
  135. package/extensions/lib/directives/disabled.directive.d.ts +11 -11
  136. package/extensions/lib/directives/prop-data.directive.d.ts +19 -19
  137. package/extensions/lib/enums/components.d.ts +3 -3
  138. package/extensions/lib/enums/props.enum.d.ts +16 -16
  139. package/extensions/lib/models/actions.d.ts +36 -36
  140. package/extensions/lib/models/entity-actions.d.ts +22 -22
  141. package/extensions/lib/models/entity-props.d.ts +30 -29
  142. package/extensions/lib/models/form-props.d.ts +59 -58
  143. package/extensions/lib/models/internal/object-extensions.d.ts +86 -85
  144. package/extensions/lib/models/object-extensions.d.ts +2 -2
  145. package/extensions/lib/models/props.d.ts +45 -44
  146. package/extensions/lib/models/toolbar-actions.d.ts +38 -38
  147. package/extensions/lib/pipes/create-injector.pipe.d.ts +8 -8
  148. package/extensions/lib/services/extensions.service.d.ts +14 -14
  149. package/extensions/lib/tokens/extensible-form-view-provider.token.d.ts +5 -5
  150. package/extensions/lib/tokens/extensions.token.d.ts +20 -24
  151. package/extensions/lib/ui-extensions.module.d.ts +24 -24
  152. package/extensions/lib/utils/actions.util.d.ts +7 -7
  153. package/extensions/lib/utils/enum.util.d.ts +7 -7
  154. package/extensions/lib/utils/factory.util.d.ts +1 -1
  155. package/extensions/lib/utils/form-props.util.d.ts +3 -3
  156. package/extensions/lib/utils/localization.util.d.ts +3 -3
  157. package/extensions/lib/utils/props.util.d.ts +9 -9
  158. package/extensions/lib/utils/state.util.d.ts +5 -5
  159. package/extensions/lib/utils/typeahead.util.d.ts +11 -11
  160. package/extensions/lib/utils/validation.util.d.ts +3 -3
  161. package/extensions/public-api.d.ts +30 -30
  162. package/{fesm2020 → fesm2022}/abp-ng.theme.shared-extensions.mjs +1340 -1331
  163. package/fesm2022/abp-ng.theme.shared-extensions.mjs.map +1 -0
  164. package/{fesm2020 → fesm2022}/abp-ng.theme.shared-testing.mjs +40 -40
  165. package/{fesm2015 → fesm2022}/abp-ng.theme.shared-testing.mjs.map +1 -1
  166. package/{fesm2020 → fesm2022}/abp-ng.theme.shared.mjs +2292 -2290
  167. package/fesm2022/abp-ng.theme.shared.mjs.map +1 -0
  168. package/index.d.ts +5 -5
  169. package/lib/animations/bounce.animations.d.ts +1 -1
  170. package/lib/animations/collapse.animations.d.ts +9 -9
  171. package/lib/animations/fade.animations.d.ts +10 -10
  172. package/lib/animations/index.d.ts +6 -6
  173. package/lib/animations/modal.animations.d.ts +2 -2
  174. package/lib/animations/slide.animations.d.ts +1 -1
  175. package/lib/animations/toast.animations.d.ts +1 -1
  176. package/lib/components/breadcrumb/breadcrumb.component.d.ts +16 -16
  177. package/lib/components/breadcrumb-items/breadcrumb-items.component.d.ts +7 -7
  178. package/lib/components/button/button.component.d.ts +26 -26
  179. package/lib/components/card/card-body.component.d.ts +8 -8
  180. package/lib/components/card/card-footer.component.d.ts +8 -8
  181. package/lib/components/card/card-header.component.d.ts +8 -8
  182. package/lib/components/card/card-header.directive.d.ts +6 -6
  183. package/lib/components/card/card-img-top.directive.d.ts +6 -6
  184. package/lib/components/card/card-subtitle.directive.d.ts +6 -6
  185. package/lib/components/card/card-title.directive.d.ts +6 -6
  186. package/lib/components/card/card.component.d.ts +7 -7
  187. package/lib/components/card/card.module.d.ts +15 -15
  188. package/lib/components/card/index.d.ts +9 -9
  189. package/lib/components/checkbox/checkbox.component.d.ts +18 -18
  190. package/lib/components/confirmation/confirmation.component.d.ts +19 -19
  191. package/lib/components/form-input/form-input.component.d.ts +19 -19
  192. package/lib/components/http-error-wrapper/http-error-wrapper.component.d.ts +27 -27
  193. package/lib/components/index.d.ts +16 -16
  194. package/lib/components/loader-bar/loader-bar.component.d.ts +33 -33
  195. package/lib/components/loading/loading.component.d.ts +5 -5
  196. package/lib/components/modal/modal-close.directive.d.ts +9 -9
  197. package/lib/components/modal/modal-ref.service.d.ts +13 -13
  198. package/lib/components/modal/modal.component.d.ts +50 -50
  199. package/lib/components/password/password.component.d.ts +12 -12
  200. package/lib/components/toast/toast.component.d.ts +14 -14
  201. package/lib/components/toast-container/toast-container.component.d.ts +22 -22
  202. package/lib/constants/styles.d.ts +2 -2
  203. package/lib/constants/validation.d.ts +19 -19
  204. package/lib/directives/ellipsis.directive.d.ts +21 -21
  205. package/lib/directives/index.d.ts +5 -5
  206. package/lib/directives/loading.directive.d.ts +25 -25
  207. package/lib/directives/ngx-datatable-default.directive.d.ts +30 -30
  208. package/lib/directives/ngx-datatable-list.directive.d.ts +24 -24
  209. package/lib/directives/visible.directive.d.ts +18 -18
  210. package/lib/enums/form.d.ts +4 -4
  211. package/lib/enums/index.d.ts +2 -2
  212. package/lib/enums/route-names.d.ts +3 -3
  213. package/lib/handlers/document-dir.handler.d.ts +13 -13
  214. package/lib/handlers/error.handler.d.ts +83 -83
  215. package/lib/handlers/index.d.ts +2 -2
  216. package/lib/models/common.d.ts +21 -21
  217. package/lib/models/confirmation.d.ts +27 -27
  218. package/lib/models/index.d.ts +7 -7
  219. package/lib/models/nav-item.d.ts +13 -13
  220. package/lib/models/statistics.d.ts +12 -12
  221. package/lib/models/toaster.d.ts +30 -30
  222. package/lib/models/user-menu.d.ts +8 -8
  223. package/lib/models/validation.d.ts +1 -1
  224. package/lib/providers/index.d.ts +2 -2
  225. package/lib/providers/ng-bootstrap-config.provider.d.ts +8 -8
  226. package/lib/providers/route.provider.d.ts +8 -8
  227. package/lib/services/abstract-menu.service.d.ts +13 -13
  228. package/lib/services/confirmation.service.d.ts +21 -21
  229. package/lib/services/index.d.ts +5 -5
  230. package/lib/services/nav-items.service.d.ts +8 -8
  231. package/lib/services/page-alert.service.d.ts +18 -18
  232. package/lib/services/toaster.service.d.ts +60 -60
  233. package/lib/services/user-menu.service.d.ts +8 -8
  234. package/lib/theme-shared.module.d.ts +38 -38
  235. package/lib/tokens/append-content.token.d.ts +2 -2
  236. package/lib/tokens/confirmation-icons.token.d.ts +11 -11
  237. package/lib/tokens/http-error.token.d.ts +5 -5
  238. package/lib/tokens/index.d.ts +4 -4
  239. package/lib/tokens/ngx-datatable-messages.token.d.ts +12 -12
  240. package/lib/tokens/suppress-unsaved-changes-warning.token.d.ts +2 -2
  241. package/lib/utils/date-parser-formatter.d.ts +12 -12
  242. package/lib/utils/index.d.ts +2 -2
  243. package/lib/utils/validation-utils.d.ts +5 -5
  244. package/package.json +28 -24
  245. package/public-api.d.ts +12 -12
  246. package/testing/index.d.ts +5 -5
  247. package/testing/lib/models/config.d.ts +4 -4
  248. package/testing/lib/models/index.d.ts +1 -1
  249. package/testing/lib/theme-shared-testing.module.d.ts +14 -14
  250. package/testing/public-api.d.ts +3 -3
  251. package/esm2020/extensions/lib/adapters/date-time.adapter.mjs +0 -44
  252. package/esm2020/extensions/lib/adapters/date.adapter.mjs +0 -41
  253. package/esm2020/extensions/lib/adapters/time.adapter.mjs +0 -36
  254. package/esm2020/extensions/lib/components/abstract-actions/abstract-actions.component.mjs +0 -25
  255. package/esm2020/extensions/lib/components/date-time-picker/date-time-picker.component.mjs +0 -109
  256. package/esm2020/extensions/lib/components/extensible-form/extensible-form-prop.component.mjs +0 -198
  257. package/esm2020/extensions/lib/components/extensible-form/extensible-form.component.mjs +0 -73
  258. package/esm2020/extensions/lib/components/extensible-table/extensible-table.component.mjs +0 -135
  259. package/esm2020/extensions/lib/components/grid-actions/grid-actions.component.mjs +0 -39
  260. package/esm2020/extensions/lib/components/page-toolbar/page-toolbar.component.mjs +0 -38
  261. package/esm2020/extensions/lib/directives/disabled.directive.mjs +0 -29
  262. package/esm2020/extensions/lib/directives/prop-data.directive.mjs +0 -41
  263. package/esm2020/extensions/lib/models/entity-props.mjs +0 -43
  264. package/esm2020/extensions/lib/models/form-props.mjs +0 -75
  265. package/esm2020/extensions/lib/models/props.mjs +0 -53
  266. package/esm2020/extensions/lib/pipes/create-injector.pipe.mjs +0 -36
  267. package/esm2020/extensions/lib/services/extensions.service.mjs +0 -24
  268. package/esm2020/extensions/lib/ui-extensions.module.mjs +0 -95
  269. package/esm2020/extensions/lib/utils/form-props.util.mjs +0 -51
  270. package/esm2020/extensions/lib/utils/state.util.mjs +0 -123
  271. package/esm2020/lib/components/breadcrumb/breadcrumb.component.mjs +0 -43
  272. package/esm2020/lib/components/breadcrumb-items/breadcrumb-items.component.mjs +0 -19
  273. package/esm2020/lib/components/button/button.component.mjs +0 -102
  274. package/esm2020/lib/components/card/card-footer.component.mjs +0 -30
  275. package/esm2020/lib/components/card/card-header.component.mjs +0 -30
  276. package/esm2020/lib/components/card/card-header.directive.mjs +0 -19
  277. package/esm2020/lib/components/card/card-img-top.directive.mjs +0 -19
  278. package/esm2020/lib/components/card/card-subtitle.directive.mjs +0 -19
  279. package/esm2020/lib/components/card/card-title.directive.mjs +0 -19
  280. package/esm2020/lib/components/card/card.component.mjs +0 -23
  281. package/esm2020/lib/components/card/card.module.mjs +0 -49
  282. package/esm2020/lib/components/checkbox/checkbox.component.mjs +0 -88
  283. package/esm2020/lib/components/confirmation/confirmation.component.mjs +0 -45
  284. package/esm2020/lib/components/form-input/form-input.component.mjs +0 -94
  285. package/esm2020/lib/components/http-error-wrapper/http-error-wrapper.component.mjs +0 -59
  286. package/esm2020/lib/components/loader-bar/loader-bar.component.mjs +0 -121
  287. package/esm2020/lib/components/loading/loading.component.mjs +0 -19
  288. package/esm2020/lib/components/modal/modal-close.directive.mjs +0 -27
  289. package/esm2020/lib/components/modal/modal-ref.service.mjs +0 -26
  290. package/esm2020/lib/components/modal/modal.component.mjs +0 -189
  291. package/esm2020/lib/components/password/password.component.mjs +0 -38
  292. package/esm2020/lib/components/toast/toast.component.mjs +0 -55
  293. package/esm2020/lib/components/toast-container/toast-container.component.mjs +0 -58
  294. package/esm2020/lib/directives/ellipsis.directive.mjs +0 -63
  295. package/esm2020/lib/directives/loading.directive.mjs +0 -89
  296. package/esm2020/lib/directives/ngx-datatable-default.directive.mjs +0 -75
  297. package/esm2020/lib/directives/ngx-datatable-list.directive.mjs +0 -94
  298. package/esm2020/lib/directives/visible.directive.mjs +0 -62
  299. package/esm2020/lib/handlers/document-dir.handler.mjs +0 -31
  300. package/esm2020/lib/handlers/error.handler.mjs +0 -291
  301. package/esm2020/lib/services/confirmation.service.mjs +0 -68
  302. package/esm2020/lib/services/nav-items.service.mjs +0 -17
  303. package/esm2020/lib/services/page-alert.service.mjs +0 -28
  304. package/esm2020/lib/services/toaster.service.mjs +0 -103
  305. package/esm2020/lib/services/user-menu.service.mjs +0 -17
  306. package/esm2020/lib/theme-shared.module.mjs +0 -200
  307. package/esm2020/lib/utils/date-parser-formatter.mjs +0 -58
  308. package/esm2020/testing/lib/theme-shared-testing.module.mjs +0 -46
  309. package/fesm2015/abp-ng.theme.shared-extensions.mjs +0 -1460
  310. package/fesm2015/abp-ng.theme.shared-extensions.mjs.map +0 -1
  311. package/fesm2015/abp-ng.theme.shared-testing.mjs +0 -54
  312. package/fesm2015/abp-ng.theme.shared.mjs +0 -2767
  313. package/fesm2015/abp-ng.theme.shared.mjs.map +0 -1
  314. package/fesm2020/abp-ng.theme.shared-extensions.mjs.map +0 -1
  315. package/fesm2020/abp-ng.theme.shared-testing.mjs.map +0 -1
  316. package/fesm2020/abp-ng.theme.shared.mjs.map +0 -1
@@ -1,14 +1,14 @@
1
- import { of } from 'rxjs';
2
- import { EXTRA_PROPERTIES_KEY } from '../constants/extra-properties';
3
- export function createExtraPropertyValueResolver(name) {
4
- return (data) => of(data.record[EXTRA_PROPERTIES_KEY][name]);
5
- }
6
- export function mergeWithDefaultProps(extension, defaultProps, ...contributors) {
7
- Object.keys(defaultProps).forEach((name) => {
8
- const props = extension.get(name);
9
- props.clearContributors();
10
- props.addContributor((propList) => propList.addManyTail(defaultProps[name]));
11
- contributors.forEach(contributor => (contributor[name] || []).forEach((callback) => props.addContributor(callback)));
12
- });
13
- }
1
+ import { of } from 'rxjs';
2
+ import { EXTRA_PROPERTIES_KEY } from '../constants/extra-properties';
3
+ export function createExtraPropertyValueResolver(name) {
4
+ return (data) => of(data.record[EXTRA_PROPERTIES_KEY][name]);
5
+ }
6
+ export function mergeWithDefaultProps(extension, defaultProps, ...contributors) {
7
+ Object.keys(defaultProps).forEach((name) => {
8
+ const props = extension.get(name);
9
+ props.clearContributors();
10
+ props.addContributor((propList) => propList.addManyTail(defaultProps[name]));
11
+ contributors.forEach(contributor => (contributor[name] || []).forEach((callback) => props.addContributor(callback)));
12
+ });
13
+ }
14
14
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcHMudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9leHRlbnNpb25zL3NyYy9saWIvdXRpbHMvcHJvcHMudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBd0JyRSxNQUFNLFVBQVUsZ0NBQWdDLENBQzlDLElBQVk7SUFFWixPQUFPLENBQUMsSUFBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUUsSUFBSSxDQUFDLE1BQWlDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQzVGLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQ25DLFNBQVksRUFDWixZQUFxQyxFQUNyQyxHQUFHLFlBQW1EO0lBRXRELE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBWSxFQUFFLEVBQUU7UUFDakQsTUFBTSxLQUFLLEdBQXFCLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDMUIsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFFBQTBDLEVBQUUsRUFBRSxDQUNsRSxRQUFRLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUN6QyxDQUFDO1FBQ0YsWUFBWSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUNqQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFzQyxFQUFFLEVBQUUsQ0FDM0UsS0FBSyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FDL0IsQ0FDRixDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRVhUUkFfUFJPUEVSVElFU19LRVkgfSBmcm9tICcuLi9jb25zdGFudHMvZXh0cmEtcHJvcGVydGllcyc7XHJcbmltcG9ydCB7XHJcbiAgRW50aXR5UHJvcENvbnRyaWJ1dG9yQ2FsbGJhY2tzLFxyXG4gIEVudGl0eVByb3BEZWZhdWx0cyxcclxuICBFbnRpdHlQcm9wcyxcclxuICBFbnRpdHlQcm9wc0ZhY3RvcnksXHJcbn0gZnJvbSAnLi4vbW9kZWxzL2VudGl0eS1wcm9wcyc7XHJcbmltcG9ydCB7XHJcbiAgQ3JlYXRlRm9ybVByb3BDb250cmlidXRvckNhbGxiYWNrcyxcclxuICBDcmVhdGVGb3JtUHJvcERlZmF1bHRzLFxyXG4gIENyZWF0ZUZvcm1Qcm9wc0ZhY3RvcnksXHJcbiAgRWRpdEZvcm1Qcm9wQ29udHJpYnV0b3JDYWxsYmFja3MsXHJcbiAgRWRpdEZvcm1Qcm9wRGVmYXVsdHMsXHJcbiAgRWRpdEZvcm1Qcm9wc0ZhY3RvcnksXHJcbiAgRm9ybVByb3BzLFxyXG59IGZyb20gJy4uL21vZGVscy9mb3JtLXByb3BzJztcclxuaW1wb3J0IHtcclxuICBJbmZlcnJlZFByb3AsXHJcbiAgUHJvcENhbGxiYWNrLFxyXG4gIFByb3BDb250cmlidXRvckNhbGxiYWNrLFxyXG4gIFByb3BMaXN0LFxyXG4gIFByb3BzRmFjdG9yeSxcclxufSBmcm9tICcuLi9tb2RlbHMvcHJvcHMnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUV4dHJhUHJvcGVydHlWYWx1ZVJlc29sdmVyPFQ+KFxyXG4gIG5hbWU6IHN0cmluZyxcclxuKTogUHJvcENhbGxiYWNrPFQsIE9ic2VydmFibGU8YW55Pj4ge1xyXG4gIHJldHVybiAoZGF0YT8pID0+IG9mKChkYXRhLnJlY29yZCBhcyB7IFtrZXk6IHN0cmluZ106IGFueSB9KVtFWFRSQV9QUk9QRVJUSUVTX0tFWV1bbmFtZV0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VXaXRoRGVmYXVsdFByb3BzPEYgZXh0ZW5kcyBQcm9wc0ZhY3Rvcnk8YW55Pj4oXHJcbiAgZXh0ZW5zaW9uOiBGLFxyXG4gIGRlZmF1bHRQcm9wczogSW5mZXJyZWRQcm9wRGVmYXVsdHM8Rj4sXHJcbiAgLi4uY29udHJpYnV0b3JzOiBJbmZlcnJlZFByb3BDb250cmlidXRvckNhbGxiYWNrczxGPltdXHJcbikge1xyXG4gIE9iamVjdC5rZXlzKGRlZmF1bHRQcm9wcykuZm9yRWFjaCgobmFtZTogc3RyaW5nKSA9PiB7XHJcbiAgICBjb25zdCBwcm9wczogSW5mZXJyZWRQcm9wczxGPiA9IGV4dGVuc2lvbi5nZXQobmFtZSk7XHJcbiAgICBwcm9wcy5jbGVhckNvbnRyaWJ1dG9ycygpO1xyXG4gICAgcHJvcHMuYWRkQ29udHJpYnV0b3IoKHByb3BMaXN0OiBQcm9wTGlzdDxhbnksIEluZmVycmVkUHJvcDxhbnk+PikgPT5cclxuICAgICAgcHJvcExpc3QuYWRkTWFueVRhaWwoZGVmYXVsdFByb3BzW25hbWVdKSxcclxuICAgICk7XHJcbiAgICBjb250cmlidXRvcnMuZm9yRWFjaChjb250cmlidXRvciA9PlxyXG4gICAgICAoY29udHJpYnV0b3JbbmFtZV0gfHwgW10pLmZvckVhY2goKGNhbGxiYWNrOiBQcm9wQ29udHJpYnV0b3JDYWxsYmFjazxhbnk+KSA9PlxyXG4gICAgICAgIHByb3BzLmFkZENvbnRyaWJ1dG9yKGNhbGxiYWNrKSxcclxuICAgICAgKSxcclxuICAgICk7XHJcbiAgfSk7XHJcbn1cclxudHlwZSBJbmZlcnJlZFByb3BEZWZhdWx0czxGPiA9IEYgZXh0ZW5kcyBFbnRpdHlQcm9wc0ZhY3Rvcnk8aW5mZXIgUkU+XHJcbiAgPyBFbnRpdHlQcm9wRGVmYXVsdHM8UkU+XHJcbiAgOiBGIGV4dGVuZHMgQ3JlYXRlRm9ybVByb3BzRmFjdG9yeTxpbmZlciBSQ0Y+XHJcbiAgPyBDcmVhdGVGb3JtUHJvcERlZmF1bHRzPFJDRj5cclxuICA6IEYgZXh0ZW5kcyBFZGl0Rm9ybVByb3BzRmFjdG9yeTxpbmZlciBSRUY+XHJcbiAgPyBFZGl0Rm9ybVByb3BEZWZhdWx0czxSRUY+XHJcbiAgOiBuZXZlcjtcclxuXHJcbnR5cGUgSW5mZXJyZWRQcm9wQ29udHJpYnV0b3JDYWxsYmFja3M8Rj4gPSBGIGV4dGVuZHMgRW50aXR5UHJvcHNGYWN0b3J5PGluZmVyIFJFPlxyXG4gID8gRW50aXR5UHJvcENvbnRyaWJ1dG9yQ2FsbGJhY2tzPFJFPlxyXG4gIDogRiBleHRlbmRzIENyZWF0ZUZvcm1Qcm9wc0ZhY3Rvcnk8aW5mZXIgUkNGPlxyXG4gID8gQ3JlYXRlRm9ybVByb3BDb250cmlidXRvckNhbGxiYWNrczxSQ0Y+XHJcbiAgOiBGIGV4dGVuZHMgRWRpdEZvcm1Qcm9wc0ZhY3Rvcnk8aW5mZXIgUkVGPlxyXG4gID8gRWRpdEZvcm1Qcm9wQ29udHJpYnV0b3JDYWxsYmFja3M8UkVGPlxyXG4gIDogbmV2ZXI7XHJcblxyXG50eXBlIEluZmVycmVkUHJvcHM8Rj4gPSBGIGV4dGVuZHMgRW50aXR5UHJvcHNGYWN0b3J5PGluZmVyIFJFPlxyXG4gID8gRW50aXR5UHJvcHM8UkU+XHJcbiAgOiBGIGV4dGVuZHMgQ3JlYXRlRm9ybVByb3BzRmFjdG9yeTxpbmZlciBSQ0Y+XHJcbiAgPyBGb3JtUHJvcHM8UkNGPlxyXG4gIDogRiBleHRlbmRzIEVkaXRGb3JtUHJvcHNGYWN0b3J5PGluZmVyIFJFRj5cclxuICA/IEZvcm1Qcm9wczxSRUY+XHJcbiAgOiBuZXZlcjtcclxuIl19
@@ -0,0 +1,126 @@
1
+ import { pipe, zip } from 'rxjs';
2
+ import { filter, map, switchMap, take } from 'rxjs/operators';
3
+ import { EntityProp } from '../models/entity-props';
4
+ import { FormProp } from '../models/form-props';
5
+ import { createEnum, createEnumOptions, createEnumValueResolver } from './enum.util';
6
+ import { createDisplayNameLocalizationPipeKeyGenerator } from './localization.util';
7
+ import { createExtraPropertyValueResolver } from './props.util';
8
+ import { createTypeaheadDisplayNameGenerator, createTypeaheadOptions, getTypeaheadType, hasTypeaheadTextSuffix, } from './typeahead.util';
9
+ import { getValidatorsFromProperty } from './validation.util';
10
+ function selectObjectExtensions(configState) {
11
+ return configState.getOne$('objectExtensions');
12
+ }
13
+ function selectLocalization(configState) {
14
+ return configState.getOne$('localization');
15
+ }
16
+ function selectEnums(configState) {
17
+ return selectObjectExtensions(configState).pipe(map((extensions) => Object.keys(extensions.enums).reduce((acc, key) => {
18
+ const { fields, localizationResource } = extensions.enums[key];
19
+ acc[key] = {
20
+ fields,
21
+ localizationResource,
22
+ transformed: createEnum(fields),
23
+ };
24
+ return acc;
25
+ }, {})));
26
+ }
27
+ export function getObjectExtensionEntitiesFromStore(configState, moduleKey) {
28
+ return selectObjectExtensions(configState).pipe(map(extensions => {
29
+ if (!extensions)
30
+ return null;
31
+ return (extensions.modules[moduleKey] || {})
32
+ .entities;
33
+ }), map(entities => (isUndefined(entities) ? {} : entities)), filter(Boolean), take(1));
34
+ }
35
+ export function mapEntitiesToContributors(configState, resource) {
36
+ return pipe(switchMap((entities) => zip(selectLocalization(configState), selectEnums(configState)).pipe(map(([localization, enums]) => {
37
+ const generateDisplayName = createDisplayNameLocalizationPipeKeyGenerator(localization);
38
+ return Object.keys(entities).reduce((acc, key) => {
39
+ acc.prop[key] = [];
40
+ acc.createForm[key] = [];
41
+ acc.editForm[key] = [];
42
+ const entity = entities[key];
43
+ if (!entity)
44
+ return acc;
45
+ const properties = entity.properties;
46
+ if (!properties)
47
+ return acc;
48
+ const mapPropertiesToContributors = createPropertiesToContributorsMapper(generateDisplayName, resource, enums);
49
+ return mapPropertiesToContributors(properties, acc, key);
50
+ }, {
51
+ prop: {},
52
+ createForm: {},
53
+ editForm: {},
54
+ });
55
+ }))), take(1));
56
+ }
57
+ function createPropertiesToContributorsMapper(generateDisplayName, resource, enums) {
58
+ return (properties, contributors, key) => {
59
+ const isExtra = true;
60
+ const generateTypeaheadDisplayName = createTypeaheadDisplayNameGenerator(generateDisplayName, properties);
61
+ Object.keys(properties).forEach((name) => {
62
+ const property = properties[name];
63
+ const propName = name;
64
+ const lookup = property.ui.lookup || {};
65
+ const type = getTypeaheadType(lookup, name) || getTypeFromProperty(property);
66
+ const generateDN = hasTypeaheadTextSuffix(name)
67
+ ? generateTypeaheadDisplayName
68
+ : generateDisplayName;
69
+ const displayName = generateDN(property.displayName, { name, resource });
70
+ if (property.ui.onTable.isVisible) {
71
+ const sortable = Boolean(property.ui.onTable.isSortable);
72
+ const columnWidth = type === "boolean" /* ePropType.Boolean */ ? 150 : 250;
73
+ const valueResolver = type === "enum" /* ePropType.Enum */ &&
74
+ property.type
75
+ ? createEnumValueResolver(property.type, enums[property.type], propName)
76
+ : createExtraPropertyValueResolver(propName);
77
+ const entityProp = new EntityProp({
78
+ type,
79
+ name: propName,
80
+ displayName,
81
+ sortable,
82
+ columnWidth,
83
+ valueResolver,
84
+ isExtra,
85
+ });
86
+ const contributor = (propList) => propList.addTail(entityProp);
87
+ contributors.prop[key].push(contributor);
88
+ }
89
+ const isOnCreateForm = property.ui.onCreateForm.isVisible;
90
+ const isOnEditForm = property.ui.onEditForm.isVisible;
91
+ if (isOnCreateForm || isOnEditForm) {
92
+ const defaultValue = property.defaultValue;
93
+ const formText = property.formText;
94
+ const validators = () => getValidatorsFromProperty(property);
95
+ let options;
96
+ if (type === "enum" /* ePropType.Enum */)
97
+ options = createEnumOptions(propName, enums[property.type || '']);
98
+ else if (type === "typeahead" /* ePropType.Typeahead */)
99
+ options = createTypeaheadOptions(lookup);
100
+ const formProp = new FormProp({
101
+ type,
102
+ name: propName,
103
+ displayName,
104
+ options,
105
+ defaultValue,
106
+ validators,
107
+ isExtra,
108
+ formText,
109
+ });
110
+ const formContributor = (propList) => propList.addTail(formProp);
111
+ if (isOnCreateForm)
112
+ contributors.createForm[key].push(formContributor);
113
+ if (isOnEditForm)
114
+ contributors.editForm[key].push(formContributor);
115
+ }
116
+ });
117
+ return contributors;
118
+ };
119
+ }
120
+ function getTypeFromProperty(property) {
121
+ return property?.typeSimple?.replace(/\?$/, '');
122
+ }
123
+ function isUndefined(obj) {
124
+ return typeof obj === 'undefined';
125
+ }
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9leHRlbnNpb25zL3NyYy9saWIvdXRpbHMvc3RhdGUudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQWMsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUQsT0FBTyxFQUFFLFVBQVUsRUFBa0IsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsUUFBUSxFQUFnQixNQUFNLHNCQUFzQixDQUFDO0FBRzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckYsT0FBTyxFQUFFLDZDQUE2QyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEYsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hFLE9BQU8sRUFDTCxtQ0FBbUMsRUFDbkMsc0JBQXNCLEVBQ3RCLGdCQUFnQixFQUNoQixzQkFBc0IsR0FDdkIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU5RCxTQUFTLHNCQUFzQixDQUFDLFdBQStCO0lBQzdELE9BQU8sV0FBVyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBQ2pELENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUN6QixXQUErQjtJQUUvQixPQUFPLFdBQVcsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUNsQixXQUErQjtJQUUvQixPQUFPLHNCQUFzQixDQUFDLFdBQVcsQ0FBQyxD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QUksRUFBRSxDQUFDLENBQUMsQ0FBQztxQkFDL0QsSUFBSSxJQUFJLDBDQUF3QjtvQkFBRSxPQUFPLEdBQUcsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBRWhGLE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDO29CQUM1QixJQUFJO29CQUNKLElBQUksRUFBRSxRQUFRO29CQUNkLFdBQVc7b0JBQ1gsT0FBTztvQkFDUCxZQUFZO29CQUNaLFVBQVU7b0JBQ1YsT0FBTztvQkFDUCxRQUFRO2lCQUNULENBQUMsQ0FBQztnQkFFSCxNQUFNLGVBQWUsR0FBRyxDQUFDLFFBQXlCLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBRWxGLElBQUksY0FBYztvQkFBRSxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDdkUsSUFBSSxZQUFZO29CQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2FBQ3BFO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FBQyxRQUErQztJQUMxRSxPQUFPLFFBQVEsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQXdCLENBQUM7QUFDekUsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLEdBQVE7SUFDM0IsT0FBTyxPQUFPLEdBQUcsS0FBSyxXQUFXLENBQUM7QUFDcEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQUJQLFxyXG4gIEFwcGxpY2F0aW9uTG9jYWxpemF0aW9uQ29uZmlndXJhdGlvbkR0byxcclxuICBDb25maWdTdGF0ZVNlcnZpY2UsXHJcbiAgRXh0ZW5zaW9uRW51bUR0byxcclxuICBFeHRlbnNpb25Qcm9wZXJ0eVVpTG9va3VwRHRvLFxyXG4gIE9iamVjdEV4dGVuc2lvbnNEdG8sXHJcbn0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgcGlwZSwgemlwIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IGVQcm9wVHlwZSB9IGZyb20gJy4uL2VudW1zL3Byb3BzLmVudW0nO1xyXG5pbXBvcnQgeyBFbnRpdHlQcm9wLCBFbnRpdHlQcm9wTGlzdCB9IGZyb20gJy4uL21vZGVscy9lbnRpdHktcHJvcHMnO1xyXG5pbXBvcnQgeyBGb3JtUHJvcCwgRm9ybVByb3BMaXN0IH0gZnJvbSAnLi4vbW9kZWxzL2Zvcm0tcHJvcHMnO1xyXG5pbXBvcnQgeyBPYmplY3RFeHRlbnNpb25zIH0gZnJvbSAnLi4vbW9kZWxzL29iamVjdC1leHRlbnNpb25zJztcclxuaW1wb3J0IHsgUHJvcENhbGxiYWNrIH0gZnJvbSAnLi4vbW9kZWxzL3Byb3BzJztcclxuaW1wb3J0IHsgY3JlYXRlRW51bSwgY3JlYXRlRW51bU9wdGlvbnMsIGNyZWF0ZUVudW1WYWx1ZVJlc29sdmVyIH0gZnJvbSAnLi9lbnVtLnV0aWwnO1xyXG5pbXBvcnQgeyBjcmVhdGVEaXNwbGF5TmFtZUxvY2FsaXphdGlvblBpcGVLZXlHZW5lcmF0b3IgfSBmcm9tICcuL2xvY2FsaXphdGlvbi51dGlsJztcclxuaW1wb3J0IHsgY3JlYXRlRXh0cmFQcm9wZXJ0eVZhbHVlUmVzb2x2ZXIgfSBmcm9tICcuL3Byb3BzLnV0aWwnO1xyXG5pbXBvcnQge1xyXG4gIGNyZWF0ZVR5cGVhaGVhZERpc3BsYXlOYW1lR2VuZXJhdG9yLFxyXG4gIGNyZWF0ZVR5cGVhaGVhZE9wdGlvbnMsXHJcbiAgZ2V0VHlwZWFoZWFkVHlwZSxcclxuICBoYXNUeXBlYWhlYWRUZXh0U3VmZml4LFxyXG59IGZyb20gJy4vdHlwZWFoZWFkLnV0aWwnO1xyXG5pbXBvcnQgeyBnZXRWYWxpZGF0b3JzRnJvbVByb3BlcnR5IH0gZnJvbSAnLi92YWxpZGF0aW9uLnV0aWwnO1xyXG5cclxuZnVuY3Rpb24gc2VsZWN0T2JqZWN0RXh0ZW5zaW9ucyhjb25maWdTdGF0ZTogQ29uZmlnU3RhdGVTZXJ2aWNlKTogT2JzZXJ2YWJsZTxPYmplY3RFeHRlbnNpb25zRHRvPiB7XHJcbiAgcmV0dXJuIGNvbmZpZ1N0YXRlLmdldE9uZSQoJ29iamVjdEV4dGVuc2lvbnMnKTtcclxufVxyXG5cclxuZnVuY3Rpb24gc2VsZWN0TG9jYWxpemF0aW9uKFxyXG4gIGNvbmZpZ1N0YXRlOiBDb25maWdTdGF0ZVNlcnZpY2UsXHJcbik6IE9ic2VydmFibGU8QXBwbGljYXRpb25Mb2NhbGl6YXRpb25Db25maWd1cmF0aW9uRHRvPiB7XHJcbiAgcmV0dXJuIGNvbmZpZ1N0YXRlLmdldE9uZSQoJ2xvY2FsaXphdGlvbicpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBzZWxlY3RFbnVtcyhcclxuICBjb25maWdTdGF0ZTogQ29uZmlnU3RhdGVTZXJ2aWNlLFxyXG4pOiBPYnNlcnZhYmxlPFJlY29yZDxzdHJpbmcsIEV4dGVuc2lvbkVudW1EdG8+PiB7XHJcbiAgcmV0dXJuIHNlbGVjdE9iamVjdEV4dGVuc2lvbnMoY29uZmlnU3RhdGUpLnBpcGUoXHJcbiAgICBtYXAoKGV4dGVuc2lvbnM6IE9iamVjdEV4dGVuc2lvbnNEdG8pID0+XHJcbiAgICAgIE9iamVjdC5rZXlzKGV4dGVuc2lvbnMuZW51bXMpLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcclxuICAgICAgICBjb25zdCB7IGZpZWxkcywgbG9jYWxpemF0aW9uUmVzb3VyY2UgfSA9IGV4dGVuc2lvbnMuZW51bXNba2V5XTtcclxuICAgICAgICBhY2Nba2V5XSA9IHtcclxuICAgICAgICAgIGZpZWxkcyxcclxuICAgICAgICAgIGxvY2FsaXphdGlvblJlc291cmNlLFxyXG4gICAgICAgICAgdHJhbnNmb3JtZWQ6IGNyZWF0ZUVudW0oZmllbGRzKSxcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiBhY2M7XHJcbiAgICAgIH0sIHt9IGFzIFJlY29yZDxzdHJpbmcsIE9iamVjdEV4dGVuc2lvbnMuRXh0ZW5zaW9uRW51bUR0bz4pLFxyXG4gICAgKSxcclxuICApO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0T2JqZWN0RXh0ZW5zaW9uRW50aXRpZXNGcm9tU3RvcmUoXHJcbiAgY29uZmlnU3RhdGU6IENvbmZpZ1N0YXRlU2VydmljZSxcclxuICBtb2R1bGVLZXk6IHN0cmluZyxcclxuKSB7XHJcbiAgcmV0dXJuIHNlbGVjdE9iamVjdEV4dGVuc2lvbnMoY29uZmlnU3RhdGUpLnBpcGUoXHJcbiAgICBtYXAoZXh0ZW5zaW9ucyA9PiB7XHJcbiAgICAgIGlmICghZXh0ZW5zaW9ucykgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgICByZXR1cm4gKGV4dGVuc2lvbnMubW9kdWxlc1ttb2R1bGVLZXldIHx8ICh7fSBhcyBPYmplY3RFeHRlbnNpb25zLk1vZHVsZUV4dGVuc2lvbkR0bykpXHJcbiAgICAgICAgLmVudGl0aWVzO1xyXG4gICAgfSksXHJcbiAgICBtYXAoZW50aXRpZXMgPT4gKGlzVW5kZWZpbmVkKGVudGl0aWVzKSA/ICh7fSBhcyBhbnkpIDogZW50aXRpZXMpKSxcclxuICAgIGZpbHRlcjxPYmplY3RFeHRlbnNpb25zLkVudGl0eUV4dGVuc2lvbnM+KEJvb2xlYW4pLFxyXG4gICAgdGFrZSgxKSxcclxuICApO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbWFwRW50aXRpZXNUb0NvbnRyaWJ1dG9yczxUID0gYW55PihcclxuICBjb25maWdTdGF0ZTogQ29uZmlnU3RhdGVTZXJ2aWNlLFxyXG4gIHJlc291cmNlOiBzdHJpbmcsXHJcbikge1xyXG4gIHJldHVybiBwaXBlKFxyXG4gICAgc3dpdGNoTWFwKChlbnRpdGllczogYW55KSA9PlxyXG4gICAgICB6aXAoc2VsZWN0TG9jYWxpemF0aW9uKGNvbmZpZ1N0YXRlKSwgc2VsZWN0RW51bXMoY29uZmlnU3RhdGUpKS5waXBlKFxyXG4gICAgICAgIG1hcCgoW2xvY2FsaXphdGlvbiwgZW51bXNdKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBnZW5lcmF0ZURpc3BsYXlOYW1lID0gY3JlYXRlRGlzcGxheU5hbWVMb2NhbGl6YXRpb25QaXBlS2V5R2VuZXJhdG9yKGxvY2FsaXphdGlvbik7XHJcblxyXG4gICAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGVudGl0aWVzKS5yZWR1Y2UoXHJcbiAgICAgICAgICAgIChhY2MsIGtleToga2V5b2YgT2JqZWN0RXh0ZW5zaW9ucy5FbnRpdHlFeHRlbnNpb25zKSA9PiB7XHJcbiAgICAgICAgICAgICAgYWNjLnByb3Bba2V5XSA9IFtdO1xyXG4gICAgICAgICAgICAgIGFjYy5jcmVhdGVGb3JtW2tleV0gPSBbXTtcclxuICAgICAgICAgICAgICBhY2MuZWRpdEZvcm1ba2V5XSA9IFtdO1xyXG5cclxuICAgICAgICAgICAgICBjb25zdCBlbnRpdHk6IE9iamVjdEV4dGVuc2lvbnMuRW50aXR5RXh0ZW5zaW9uRHRvID0gZW50aXRpZXNba2V5XTtcclxuICAgICAgICAgICAgICBpZiAoIWVudGl0eSkgcmV0dXJuIGFjYztcclxuXHJcbiAgICAgICAgICAgICAgY29uc3QgcHJvcGVydGllcyA9IGVudGl0eS5wcm9wZXJ0aWVzO1xyXG4gICAgICAgICAgICAgIGlmICghcHJvcGVydGllcykgcmV0dXJuIGFjYztcclxuXHJcbiAgICAgICAgICAgICAgY29uc3QgbWFwUHJvcGVydGllc1RvQ29udHJpYnV0b3JzID0gY3JlYXRlUHJvcGVydGllc1RvQ29udHJpYnV0b3JzTWFwcGVyPFQ+KFxyXG4gICAgICAgICAgICAgICAgZ2VuZXJhdGVEaXNwbGF5TmFtZSxcclxuICAgICAgICAgICAgICAgIHJlc291cmNlLFxyXG4gICAgICAgICAgICAgICAgZW51bXMsXHJcbiAgICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgICAgcmV0dXJuIG1hcFByb3BlcnRpZXNUb0NvbnRyaWJ1dG9ycyhwcm9wZXJ0aWVzLCBhY2MsIGtleSk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBwcm9wOiB7fSxcclxuICAgICAgICAgICAgICBjcmVhdGVGb3JtOiB7fSxcclxuICAgICAgICAgICAgICBlZGl0Rm9ybToge30sXHJcbiAgICAgICAgICAgIH0gYXMgT2JqZWN0RXh0ZW5zaW9ucy5Qcm9wQ29udHJpYnV0b3JzLFxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9KSxcclxuICAgICAgKSxcclxuICAgICksXHJcbiAgICB0YWtlKDEpLFxyXG4gICk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNyZWF0ZVByb3BlcnRpZXNUb0NvbnRyaWJ1dG9yc01hcHBlcjxUID0gYW55PihcclxuICBnZW5lcmF0ZURpc3BsYXlOYW1lOiBPYmplY3RFeHRlbnNpb25zLkRpc3BsYXlOYW1lR2VuZXJhdG9yRm4sXHJcbiAgcmVzb3VyY2U6IHN0cmluZyxcclxuICBlbnVtczogUmVjb3JkPHN0cmluZywgT2JqZWN0RXh0ZW5zaW9ucy5FeHRlbnNpb25FbnVtRHRvPixcclxuKSB7XHJcbiAgcmV0dXJuIChcclxuICAgIHByb3BlcnRpZXM6IE9iamVjdEV4dGVuc2lvbnMuRW50aXR5RXh0ZW5zaW9uUHJvcGVydGllcyxcclxuICAgIGNvbnRyaWJ1dG9yczogT2JqZWN0RXh0ZW5zaW9ucy5Qcm9wQ29udHJpYnV0b3JzPFQ+LFxyXG4gICAga2V5OiBzdHJpbmcsXHJcbiAgKSA9PiB7XHJcbiAgICBjb25zdCBpc0V4dHJhID0gdHJ1ZTtcclxuICAgIGNvbnN0IGdlbmVyYXRlVHlwZWFoZWFkRGlzcGxheU5hbWUgPSBjcmVhdGVUeXBlYWhlYWREaXNwbGF5TmFtZUdlbmVyYXRvcihcclxuICAgICAgZ2VuZXJhdGVEaXNwbGF5TmFtZSxcclxuICAgICAgcHJvcGVydGllcyxcclxuICAgICk7XHJcblxyXG4gICAgT2JqZWN0LmtleXMocHJvcGVydGllcykuZm9yRWFjaCgobmFtZTogc3RyaW5nKSA9PiB7XHJcbiAgICAgIGNvbnN0IHByb3BlcnR5ID0gcHJvcGVydGllc1tuYW1lXTtcclxuICAgICAgY29uc3QgcHJvcE5hbWUgPSBuYW1lO1xyXG4gICAgICBjb25zdCBsb29rdXAgPSBwcm9wZXJ0eS51aS5sb29rdXAgfHwgKHt9IGFzIEV4dGVuc2lvblByb3BlcnR5VWlMb29rdXBEdG8pO1xyXG4gICAgICBjb25zdCB0eXBlID0gZ2V0VHlwZWFoZWFkVHlwZShsb29rdXAsIG5hbWUpIHx8IGdldFR5cGVGcm9tUHJvcGVydHkocHJvcGVydHkpO1xyXG4gICAgICBjb25zdCBnZW5lcmF0ZUROID0gaGFzVHlwZWFoZWFkVGV4dFN1ZmZpeChuYW1lKVxyXG4gICAgICAgID8gZ2VuZXJhdGVUeXBlYWhlYWREaXNwbGF5TmFtZVxyXG4gICAgICAgIDogZ2VuZXJhdGVEaXNwbGF5TmFtZTtcclxuICAgICAgY29uc3QgZGlzcGxheU5hbWUgPSBnZW5lcmF0ZUROKHByb3BlcnR5LmRpc3BsYXlOYW1lLCB7IG5hbWUsIHJlc291cmNlIH0pO1xyXG5cclxuICAgICAgaWYgKHByb3BlcnR5LnVpLm9uVGFibGUuaXNWaXNpYmxlKSB7XHJcbiAgICAgICAgY29uc3Qgc29ydGFibGUgPSBCb29sZWFuKHByb3BlcnR5LnVpLm9uVGFibGUuaXNTb3J0YWJsZSk7XHJcbiAgICAgICAgY29uc3QgY29sdW1uV2lkdGggPSB0eXBlID09PSBlUHJvcFR5cGUuQm9vbGVhbiA/IDE1MCA6IDI1MDtcclxuICAgICAgICBjb25zdCB2YWx1ZVJlc29sdmVyOiBQcm9wQ2FsbGJhY2s8VCwgT2JzZXJ2YWJsZTxhbnk+PiA9IHR5cGUgPT09IGVQcm9wVHlwZS5FbnVtICYmXHJcbiAgICAgICAgcHJvcGVydHkudHlwZVxyXG4gICAgICAgICAgPyBjcmVhdGVFbnVtVmFsdWVSZXNvbHZlcihwcm9wZXJ0eS50eXBlLCBlbnVtc1twcm9wZXJ0eS50eXBlXSwgcHJvcE5hbWUpXHJcbiAgICAgICAgICA6IGNyZWF0ZUV4dHJhUHJvcGVydHlWYWx1ZVJlc29sdmVyPFQ+KHByb3BOYW1lKTtcclxuXHJcbiAgICAgICAgY29uc3QgZW50aXR5UHJvcCA9IG5ldyBFbnRpdHlQcm9wPFQ+KHtcclxuICAgICAgICAgIHR5cGUsXHJcbiAgICAgICAgICBuYW1lOiBwcm9wTmFtZSxcclxuICAgICAgICAgIGRpc3BsYXlOYW1lLFxyXG4gICAgICAgICAgc29ydGFibGUsXHJcbiAgICAgICAgICBjb2x1bW5XaWR0aCxcclxuICAgICAgICAgIHZhbHVlUmVzb2x2ZXIsXHJcbiAgICAgICAgICBpc0V4dHJhLFxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBjb25zdCBjb250cmlidXRvciA9IChwcm9wTGlzdDogRW50aXR5UHJvcExpc3Q8VD4pID0+IHByb3BMaXN0LmFkZFRhaWwoZW50aXR5UHJvcCk7XHJcbiAgICAgICAgY29udHJpYnV0b3JzLnByb3Bba2V5XS5wdXNoKGNvbnRyaWJ1dG9yKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3QgaXNPbkNyZWF0ZUZvcm0gPSBwcm9wZXJ0eS51aS5vbkNyZWF0ZUZvcm0uaXNWaXNpYmxlO1xyXG4gICAgICBjb25zdCBpc09uRWRpdEZvcm0gPSBwcm9wZXJ0eS51aS5vbkVkaXRGb3JtLmlzVmlzaWJsZTtcclxuXHJcbiAgICAgIGlmIChpc09uQ3JlYXRlRm9ybSB8fCBpc09uRWRpdEZvcm0pIHtcclxuICAgICAgICBjb25zdCBkZWZhdWx0VmFsdWUgPSBwcm9wZXJ0eS5kZWZhdWx0VmFsdWU7XHJcbiAgICAgICAgY29uc3QgZm9ybVRleHQgPSBwcm9wZXJ0eS5mb3JtVGV4dDtcclxuICAgICAgICBjb25zdCB2YWxpZGF0b3JzID0gKCkgPT4gZ2V0VmFsaWRhdG9yc0Zyb21Qcm9wZXJ0eShwcm9wZXJ0eSk7XHJcbiAgICAgICAgbGV0IG9wdGlvbnM6IFByb3BDYWxsYmFjazxhbnksIE9ic2VydmFibGU8QUJQLk9wdGlvbjxhbnk+W10+PiB8IHVuZGVmaW5lZDtcclxuICAgICAgICBpZiAodHlwZSA9PT0gZVByb3BUeXBlLkVudW0pXHJcbiAgICAgICAgICBvcHRpb25zID0gY3JlYXRlRW51bU9wdGlvbnMocHJvcE5hbWUsIGVudW1zW3Byb3BlcnR5LnR5cGUgfHwgJyddKTtcclxuICAgICAgICBlbHNlIGlmICh0eXBlID09PSBlUHJvcFR5cGUuVHlwZWFoZWFkKSBvcHRpb25zID0gY3JlYXRlVHlwZWFoZWFkT3B0aW9ucyhsb29rdXApO1xyXG5cclxuICAgICAgICBjb25zdCBmb3JtUHJvcCA9IG5ldyBGb3JtUHJvcCh7XHJcbiAgICAgICAgICB0eXBlLFxyXG4gICAgICAgICAgbmFtZTogcHJvcE5hbWUsXHJcbiAgICAgICAgICBkaXNwbGF5TmFtZSxcclxuICAgICAgICAgIG9wdGlvbnMsXHJcbiAgICAgICAgICBkZWZhdWx0VmFsdWUsXHJcbiAgICAgICAgICB2YWxpZGF0b3JzLFxyXG4gICAgICAgICAgaXNFeHRyYSxcclxuICAgICAgICAgIGZvcm1UZXh0LFxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBjb25zdCBmb3JtQ29udHJpYnV0b3IgPSAocHJvcExpc3Q6IEZvcm1Qcm9wTGlzdDxUPikgPT4gcHJvcExpc3QuYWRkVGFpbChmb3JtUHJvcCk7XHJcblxyXG4gICAgICAgIGlmIChpc09uQ3JlYXRlRm9ybSkgY29udHJpYnV0b3JzLmNyZWF0ZUZvcm1ba2V5XS5wdXNoKGZvcm1Db250cmlidXRvcik7XHJcbiAgICAgICAgaWYgKGlzT25FZGl0Rm9ybSkgY29udHJpYnV0b3JzLmVkaXRGb3JtW2tleV0ucHVzaChmb3JtQ29udHJpYnV0b3IpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gY29udHJpYnV0b3JzO1xyXG4gIH07XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGdldFR5cGVGcm9tUHJvcGVydHkocHJvcGVydHk6IE9iamVjdEV4dGVuc2lvbnMuRXh0ZW5zaW9uUHJvcGVydHlEdG8pOiBlUHJvcFR5cGUge1xyXG4gIHJldHVybiBwcm9wZXJ0eT8udHlwZVNpbXBsZT8ucmVwbGFjZSgvXFw/JC8sICcnKSBhcyBzdHJpbmcgYXMgZVByb3BUeXBlO1xyXG59XHJcblxyXG5mdW5jdGlvbiBpc1VuZGVmaW5lZChvYmo6IGFueSk6IG9iaiBpcyB1bmRlZmluZWQge1xyXG4gIHJldHVybiB0eXBlb2Ygb2JqID09PSAndW5kZWZpbmVkJztcclxufVxyXG4iXX0=
@@ -1,52 +1,52 @@
1
- import { RestService } from '@abp/ng.core';
2
- import { of } from 'rxjs';
3
- import { map } from 'rxjs/operators';
4
- const TYPEAHEAD_TEXT_SUFFIX = '_Text';
5
- const TYPEAHEAD_TEXT_SUFFIX_REGEX = /_Text$/;
6
- export function createTypeaheadOptions(lookup) {
7
- return (data, searchText) => searchText && data
8
- ? data
9
- .getInjected(RestService)
10
- .request({
11
- method: 'GET',
12
- url: lookup.url || '',
13
- params: {
14
- [lookup.filterParamName || '']: searchText,
15
- },
16
- }, { apiName: 'Default' })
17
- .pipe(map((response) => {
18
- const list = response[lookup.resultListPropertyName || ''];
19
- const mapToOption = (item) => ({
20
- key: item[lookup.displayPropertyName || ''],
21
- value: item[lookup.valuePropertyName || ''],
22
- });
23
- return list.map(mapToOption);
24
- }))
25
- : of([]);
26
- }
27
- export function getTypeaheadType(lookup, name) {
28
- return Boolean(lookup.url)
29
- ? "typeahead" /* ePropType.Typeahead */
30
- : name.endsWith(TYPEAHEAD_TEXT_SUFFIX)
31
- ? "hidden" /* ePropType.Hidden */
32
- : undefined;
33
- }
34
- export function createTypeaheadDisplayNameGenerator(displayNameGeneratorFn, properties) {
35
- return (displayName, fallback) => {
36
- const name = removeTypeaheadTextSuffix(fallback.name || '');
37
- return displayNameGeneratorFn(displayName || properties[name].displayName, {
38
- name,
39
- resource: fallback.resource,
40
- });
41
- };
42
- }
43
- export function addTypeaheadTextSuffix(name) {
44
- return name + TYPEAHEAD_TEXT_SUFFIX;
45
- }
46
- export function hasTypeaheadTextSuffix(name) {
47
- return TYPEAHEAD_TEXT_SUFFIX_REGEX.test(name);
48
- }
49
- export function removeTypeaheadTextSuffix(name) {
50
- return name.replace(TYPEAHEAD_TEXT_SUFFIX_REGEX, '');
51
- }
1
+ import { RestService } from '@abp/ng.core';
2
+ import { of } from 'rxjs';
3
+ import { map } from 'rxjs/operators';
4
+ const TYPEAHEAD_TEXT_SUFFIX = '_Text';
5
+ const TYPEAHEAD_TEXT_SUFFIX_REGEX = /_Text$/;
6
+ export function createTypeaheadOptions(lookup) {
7
+ return (data, searchText) => searchText && data
8
+ ? data
9
+ .getInjected(RestService)
10
+ .request({
11
+ method: 'GET',
12
+ url: lookup.url || '',
13
+ params: {
14
+ [lookup.filterParamName || '']: searchText,
15
+ },
16
+ }, { apiName: 'Default' })
17
+ .pipe(map((response) => {
18
+ const list = response[lookup.resultListPropertyName || ''];
19
+ const mapToOption = (item) => ({
20
+ key: item[lookup.displayPropertyName || ''],
21
+ value: item[lookup.valuePropertyName || ''],
22
+ });
23
+ return list.map(mapToOption);
24
+ }))
25
+ : of([]);
26
+ }
27
+ export function getTypeaheadType(lookup, name) {
28
+ return Boolean(lookup.url)
29
+ ? "typeahead" /* ePropType.Typeahead */
30
+ : name.endsWith(TYPEAHEAD_TEXT_SUFFIX)
31
+ ? "hidden" /* ePropType.Hidden */
32
+ : undefined;
33
+ }
34
+ export function createTypeaheadDisplayNameGenerator(displayNameGeneratorFn, properties) {
35
+ return (displayName, fallback) => {
36
+ const name = removeTypeaheadTextSuffix(fallback.name || '');
37
+ return displayNameGeneratorFn(displayName || properties[name].displayName, {
38
+ name,
39
+ resource: fallback.resource,
40
+ });
41
+ };
42
+ }
43
+ export function addTypeaheadTextSuffix(name) {
44
+ return name + TYPEAHEAD_TEXT_SUFFIX;
45
+ }
46
+ export function hasTypeaheadTextSuffix(name) {
47
+ return TYPEAHEAD_TEXT_SUFFIX_REGEX.test(name);
48
+ }
49
+ export function removeTypeaheadTextSuffix(name) {
50
+ return name.replace(TYPEAHEAD_TEXT_SUFFIX_REGEX, '');
51
+ }
52
52
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWFoZWFkLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvZXh0ZW5zaW9ucy9zcmMvbGliL3V0aWxzL3R5cGVhaGVhZC51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUMsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlFLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS3JDLE1BQU0scUJBQXFCLEdBQUcsT0FBTyxDQUFDO0FBQ3RDLE1BQU0sMkJBQTJCLEdBQUcsUUFBUSxDQUFDO0FBRTdDLE1BQU0sVUFBVSxzQkFBc0IsQ0FDcEMsTUFBb0M7SUFFcEMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUMxQixVQUFVLElBQUksSUFBSTtRQUNoQixDQUFDLENBQUMsSUFBSTthQUNELFdBQVcsQ0FBQyxXQUFXLENBQUM7YUFDeEIsT0FBTyxDQUNOO1lBQ0UsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUcsSUFBSSxFQUFFO1lBQ3JCLE1BQU0sRUFBRTtnQkFDTixDQUFDLE1BQU0sQ0FBQyxlQUFlLElBQUksRUFBRSxDQUFDLEVBQUUsVUFBVTthQUMzQztTQUNGLEVBQ0QsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLENBQ3ZCO2FBQ0EsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQ3BCLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsc0JBQXNCLElBQUksRUFBRSxDQUFDLENBQUM7WUFDM0QsTUFBTSxXQUFXLEdBQUcsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2xDLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixJQUFJLEVBQUUsQ0FBQztnQkFDM0MsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLElBQUksRUFBRSxDQUFDO2FBQzVDLENBQUMsQ0FBQztZQUNILE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FDSDtRQUNMLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDZixDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE1BQW9DLEVBQUUsSUFBWTtJQUNqRixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO1FBQ3hCLENBQUM7UUFDRCxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQztZQUN0QyxDQUFDO1lBQ0QsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUNoQixDQUFDO0FBRUQsTUFBTSxVQUFVLG1DQUFtQyxDQUNqRCxzQkFBK0QsRUFDL0QsVUFBc0Q7SUFFdEQsT0FBTyxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsRUFBRTtRQUMvQixNQUFNLElBQUksR0FBRyx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzVELE9BQU8sc0JBQXNCLENBQUMsV0FBVyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUU7WUFDekUsSUFBSTtZQUNKLFFBQVEsRUFBRSxRQUFRLENBQUMsUUFBUTtTQUM1QixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLHNCQUFzQixDQUFDLElBQVk7SUFDakQsT0FBTyxJQUFJLEdBQUcscUJBQXFCLENBQUM7QUFDdEMsQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxJQUFZO0lBQ2pELE9BQU8sMkJBQTJCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2hELENBQUM7QUFFRCxNQUFNLFVBQVUseUJBQXlCLENBQUMsSUFBWTtJQUNwRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsMkJBQTJCLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDdkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCwgRXh0ZW5zaW9uUHJvcGVydHlVaUxvb2t1cER0bywgUmVzdFNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IGVQcm9wVHlwZSB9IGZyb20gJy4uL2VudW1zL3Byb3BzLmVudW0nO1xyXG5pbXBvcnQgeyBPYmplY3RFeHRlbnNpb25zIH0gZnJvbSAnLi4vbW9kZWxzL29iamVjdC1leHRlbnNpb25zJztcclxuaW1wb3J0IHsgUHJvcENhbGxiYWNrIH0gZnJvbSAnLi4vbW9kZWxzL3Byb3BzJztcclxuXHJcbmNvbnN0IFRZUEVBSEVBRF9URVhUX1NVRkZJWCA9ICdfVGV4dCc7XHJcbmNvbnN0IFRZUEVBSEVBRF9URVhUX1NVRkZJWF9SRUdFWCA9IC9fVGV4dCQvO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVR5cGVhaGVhZE9wdGlvbnMoXHJcbiAgbG9va3VwOiBFeHRlbnNpb25Qcm9wZXJ0eVVpTG9va3VwRHRvLFxyXG4pOiBQcm9wQ2FsbGJhY2s8YW55LCBPYnNlcnZhYmxlPEFCUC5PcHRpb248YW55PltdPj4ge1xyXG4gIHJldHVybiAoZGF0YSwgc2VhcmNoVGV4dCkgPT5cclxuICAgIHNlYXJjaFRleHQgJiYgZGF0YVxyXG4gICAgICA/IGRhdGFcclxuICAgICAgICAgIC5nZXRJbmplY3RlZChSZXN0U2VydmljZSlcclxuICAgICAgICAgIC5yZXF1ZXN0KFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgbWV0aG9kOiAnR0VUJyxcclxuICAgICAgICAgICAgICB1cmw6IGxvb2t1cC51cmwgfHwgJycsXHJcbiAgICAgICAgICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgICAgICAgICBbbG9va3VwLmZpbHRlclBhcmFtTmFtZSB8fCAnJ106IHNlYXJjaFRleHQsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyBhcGlOYW1lOiAnRGVmYXVsdCcgfSxcclxuICAgICAgICAgIClcclxuICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICBjb25zdCBsaXN0ID0gcmVzcG9uc2VbbG9va3VwLnJlc3VsdExpc3RQcm9wZXJ0eU5hbWUgfHwgJyddO1xyXG4gICAgICAgICAgICAgIGNvbnN0IG1hcFRvT3B0aW9uID0gKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgICAgICAgICAgIGtleTogaXRlbVtsb29rdXAuZGlzcGxheVByb3BlcnR5TmFtZSB8fCAnJ10sXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbVtsb29rdXAudmFsdWVQcm9wZXJ0eU5hbWUgfHwgJyddLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIHJldHVybiBsaXN0Lm1hcChtYXBUb09wdGlvbik7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgKVxyXG4gICAgICA6IG9mKFtdKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFR5cGVhaGVhZFR5cGUobG9va3VwOiBFeHRlbnNpb25Qcm9wZXJ0eVVpTG9va3VwRHRvLCBuYW1lOiBzdHJpbmcpIHtcclxuICByZXR1cm4gQm9vbGVhbihsb29rdXAudXJsKVxyXG4gICAgPyBlUHJvcFR5cGUuVHlwZWFoZWFkXHJcbiAgICA6IG5hbWUuZW5kc1dpdGgoVFlQRUFIRUFEX1RFWFRfU1VGRklYKVxyXG4gICAgPyBlUHJvcFR5cGUuSGlkZGVuXHJcbiAgICA6IHVuZGVmaW5lZDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVR5cGVhaGVhZERpc3BsYXlOYW1lR2VuZXJhdG9yKFxyXG4gIGRpc3BsYXlOYW1lR2VuZXJhdG9yRm46IE9iamVjdEV4dGVuc2lvbnMuRGlzcGxheU5hbWVHZW5lcmF0b3JGbixcclxuICBwcm9wZXJ0aWVzOiBPYmplY3RFeHRlbnNpb25zLkVudGl0eUV4dGVuc2lvblByb3BlcnRpZXMsXHJcbik6IE9iamVjdEV4dGVuc2lvbnMuRGlzcGxheU5hbWVHZW5lcmF0b3JGbiB7XHJcbiAgcmV0dXJuIChkaXNwbGF5TmFtZSwgZmFsbGJhY2spID0+IHtcclxuICAgIGNvbnN0IG5hbWUgPSByZW1vdmVUeXBlYWhlYWRUZXh0U3VmZml4KGZhbGxiYWNrLm5hbWUgfHwgJycpO1xyXG4gICAgcmV0dXJuIGRpc3BsYXlOYW1lR2VuZXJhdG9yRm4oZGlzcGxheU5hbWUgfHwgcHJvcGVydGllc1tuYW1lXS5kaXNwbGF5TmFtZSwge1xyXG4gICAgICBuYW1lLFxyXG4gICAgICByZXNvdXJjZTogZmFsbGJhY2sucmVzb3VyY2UsXHJcbiAgICB9KTtcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gYWRkVHlwZWFoZWFkVGV4dFN1ZmZpeChuYW1lOiBzdHJpbmcpIHtcclxuICByZXR1cm4gbmFtZSArIFRZUEVBSEVBRF9URVhUX1NVRkZJWDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGhhc1R5cGVhaGVhZFRleHRTdWZmaXgobmFtZTogc3RyaW5nKSB7XHJcbiAgcmV0dXJuIFRZUEVBSEVBRF9URVhUX1NVRkZJWF9SRUdFWC50ZXN0KG5hbWUpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlVHlwZWFoZWFkVGV4dFN1ZmZpeChuYW1lOiBzdHJpbmcpIHtcclxuICByZXR1cm4gbmFtZS5yZXBsYWNlKFRZUEVBSEVBRF9URVhUX1NVRkZJWF9SRUdFWCwgJycpO1xyXG59XHJcbiJdfQ==
@@ -1,11 +1,11 @@
1
- import { AbpValidators } from '@abp/ng.core';
2
- export function getValidatorsFromProperty(property) {
3
- const validators = [];
4
- property.attributes.forEach(attr => {
5
- if (attr.typeSimple && attr.typeSimple in AbpValidators) {
6
- validators.push(AbpValidators[attr.typeSimple](attr.config));
7
- }
8
- });
9
- return validators;
10
- }
1
+ import { AbpValidators } from '@abp/ng.core';
2
+ export function getValidatorsFromProperty(property) {
3
+ const validators = [];
4
+ property.attributes.forEach(attr => {
5
+ if (attr.typeSimple && attr.typeSimple in AbpValidators) {
6
+ validators.push(AbpValidators[attr.typeSimple](attr.config));
7
+ }
8
+ });
9
+ return validators;
10
+ }
11
11
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL2V4dGVuc2lvbnMvc3JjL2xpYi91dGlscy92YWxpZGF0aW9uLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUk3QyxNQUFNLFVBQVUseUJBQXlCLENBQ3ZDLFFBQStDO0lBRS9DLE1BQU0sVUFBVSxHQUFrQixFQUFFLENBQUM7SUFFckMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDakMsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksYUFBYSxFQUFFO1lBQ3ZELFVBQVUsQ0FBQyxJQUFJLENBQUUsYUFBcUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7U0FDdkU7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnBWYWxpZGF0b3JzIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE9iamVjdEV4dGVuc2lvbnMgfSBmcm9tICcuLi9tb2RlbHMvb2JqZWN0LWV4dGVuc2lvbnMnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFZhbGlkYXRvcnNGcm9tUHJvcGVydHkoXHJcbiAgcHJvcGVydHk6IE9iamVjdEV4dGVuc2lvbnMuRXh0ZW5zaW9uUHJvcGVydHlEdG8sXHJcbik6IFZhbGlkYXRvckZuW10ge1xyXG4gIGNvbnN0IHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW10gPSBbXTtcclxuXHJcbiAgcHJvcGVydHkuYXR0cmlidXRlcy5mb3JFYWNoKGF0dHIgPT4ge1xyXG4gICAgaWYgKGF0dHIudHlwZVNpbXBsZSAmJiBhdHRyLnR5cGVTaW1wbGUgaW4gQWJwVmFsaWRhdG9ycykge1xyXG4gICAgICB2YWxpZGF0b3JzLnB1c2goKEFicFZhbGlkYXRvcnMgYXMgYW55KVthdHRyLnR5cGVTaW1wbGVdKGF0dHIuY29uZmlnKSk7XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIHJldHVybiB2YWxpZGF0b3JzO1xyXG59XHJcbiJdfQ==
@@ -1,31 +1,31 @@
1
- export * from './lib/adapters/date-time.adapter';
2
- export * from './lib/adapters/date.adapter';
3
- export * from './lib/adapters/time.adapter';
4
- export * from './lib/components/date-time-picker/date-time-picker.component';
5
- export * from './lib/components/extensible-form/extensible-form-prop.component';
6
- export * from './lib/components/extensible-form/extensible-form.component';
7
- export * from './lib/components/extensible-table/extensible-table.component';
8
- export * from './lib/components/grid-actions/grid-actions.component';
9
- export * from './lib/components/page-toolbar/page-toolbar.component';
10
- export * from './lib/constants/extra-properties';
11
- export * from './lib/directives/disabled.directive';
12
- export * from './lib/directives/prop-data.directive';
13
- export * from './lib/enums/props.enum';
14
- export * from './lib/enums/components';
15
- export { ActionList, } from './lib/models/actions';
16
- export { EntityAction, EntityActionList, EntityActions, EntityActionsFactory, } from './lib/models/entity-actions';
17
- export { EntityProp, EntityPropList, EntityProps, EntityPropsFactory, } from './lib/models/entity-props';
18
- export { CreateFormPropsFactory, EditFormPropsFactory, FormProp, FormPropData, FormPropList, FormProps, } from './lib/models/form-props';
19
- export * from './lib/models/object-extensions';
20
- export { PropList, } from './lib/models/props';
21
- export { ToolbarAction, ToolbarActionList, ToolbarActions, ToolbarActionsFactory, ToolbarComponent, } from './lib/models/toolbar-actions';
22
- export * from './lib/pipes/create-injector.pipe';
23
- export * from './lib/services/extensions.service';
24
- export * from './lib/tokens/extensions.token';
25
- export * from './lib/tokens/extensible-form-view-provider.token';
26
- export * from './lib/ui-extensions.module';
27
- export * from './lib/utils/actions.util';
28
- export * from './lib/utils/form-props.util';
29
- export * from './lib/utils/props.util';
30
- export * from './lib/utils/state.util';
1
+ export * from './lib/adapters/date-time.adapter';
2
+ export * from './lib/adapters/date.adapter';
3
+ export * from './lib/adapters/time.adapter';
4
+ export * from './lib/components/date-time-picker/date-time-picker.component';
5
+ export * from './lib/components/extensible-form/extensible-form-prop.component';
6
+ export * from './lib/components/extensible-form/extensible-form.component';
7
+ export * from './lib/components/extensible-table/extensible-table.component';
8
+ export * from './lib/components/grid-actions/grid-actions.component';
9
+ export * from './lib/components/page-toolbar/page-toolbar.component';
10
+ export * from './lib/constants/extra-properties';
11
+ export * from './lib/directives/disabled.directive';
12
+ export * from './lib/directives/prop-data.directive';
13
+ export * from './lib/enums/props.enum';
14
+ export * from './lib/enums/components';
15
+ export { ActionList, } from './lib/models/actions';
16
+ export { EntityAction, EntityActionList, EntityActions, EntityActionsFactory, } from './lib/models/entity-actions';
17
+ export { EntityProp, EntityPropList, EntityProps, EntityPropsFactory, } from './lib/models/entity-props';
18
+ export { CreateFormPropsFactory, EditFormPropsFactory, FormProp, FormPropData, FormPropList, FormProps, } from './lib/models/form-props';
19
+ export * from './lib/models/object-extensions';
20
+ export { PropList, } from './lib/models/props';
21
+ export { ToolbarAction, ToolbarActionList, ToolbarActions, ToolbarActionsFactory, ToolbarComponent, } from './lib/models/toolbar-actions';
22
+ export * from './lib/pipes/create-injector.pipe';
23
+ export * from './lib/services/extensions.service';
24
+ export * from './lib/tokens/extensions.token';
25
+ export * from './lib/tokens/extensible-form-view-provider.token';
26
+ export * from './lib/ui-extensions.module';
27
+ export * from './lib/utils/actions.util';
28
+ export * from './lib/utils/form-props.util';
29
+ export * from './lib/utils/props.util';
30
+ export * from './lib/utils/state.util';
31
31
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9leHRlbnNpb25zL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyxpRUFBaUUsQ0FBQztBQUNoRixjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxPQUFPLEVBRUwsVUFBVSxHQUdYLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUNMLFlBQVksRUFFWixnQkFBZ0IsRUFFaEIsYUFBYSxFQUNiLG9CQUFvQixHQUNyQixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFDTCxVQUFVLEVBRVYsY0FBYyxFQUVkLFdBQVcsRUFDWCxrQkFBa0IsR0FDbkIsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBRUwsc0JBQXNCLEVBRXRCLG9CQUFvQixFQUNwQixRQUFRLEVBQ1IsWUFBWSxFQUNaLFlBQVksRUFFWixTQUFTLEdBQ1YsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLE9BQU8sRUFFTCxRQUFRLEdBR1QsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQ0wsYUFBYSxFQUViLGlCQUFpQixFQUVqQixjQUFjLEVBQ2QscUJBQXFCLEVBQ3JCLGdCQUFnQixHQUVqQixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvYWRhcHRlcnMvZGF0ZS10aW1lLmFkYXB0ZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hZGFwdGVycy9kYXRlLmFkYXB0ZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hZGFwdGVycy90aW1lLmFkYXB0ZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RhdGUtdGltZS1waWNrZXIvZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2V4dGVuc2libGUtZm9ybS9leHRlbnNpYmxlLWZvcm0tcHJvcC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2V4dGVuc2libGUtZm9ybS9leHRlbnNpYmxlLWZvcm0uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9leHRlbnNpYmxlLXRhYmxlL2V4dGVuc2libGUtdGFibGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncmlkLWFjdGlvbnMvZ3JpZC1hY3Rpb25zLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcGFnZS10b29sYmFyL3BhZ2UtdG9vbGJhci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25zdGFudHMvZXh0cmEtcHJvcGVydGllcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZGlzYWJsZWQuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9wcm9wLWRhdGEuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZW51bXMvcHJvcHMuZW51bSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VudW1zL2NvbXBvbmVudHMnO1xyXG5leHBvcnQge1xyXG4gIEFjdGlvbkNhbGxiYWNrLFxyXG4gIEFjdGlvbkxpc3QsXHJcbiAgQWN0aW9uUHJlZGljYXRlLFxyXG4gIFJlYWRvbmx5QWN0aW9uRGF0YSBhcyBBY3Rpb25EYXRhLFxyXG59IGZyb20gJy4vbGliL21vZGVscy9hY3Rpb25zJztcclxuZXhwb3J0IHtcclxuICBFbnRpdHlBY3Rpb24sXHJcbiAgRW50aXR5QWN0aW9uQ29udHJpYnV0b3JDYWxsYmFjayxcclxuICBFbnRpdHlBY3Rpb25MaXN0LFxyXG4gIEVudGl0eUFjdGlvbk9wdGlvbnMsXHJcbiAgRW50aXR5QWN0aW9ucyxcclxuICBFbnRpdHlBY3Rpb25zRmFjdG9yeSxcclxufSBmcm9tICcuL2xpYi9tb2RlbHMvZW50aXR5LWFjdGlvbnMnO1xyXG5leHBvcnQge1xyXG4gIEVudGl0eVByb3AsXHJcbiAgRW50aXR5UHJvcENvbnRyaWJ1dG9yQ2FsbGJhY2ssXHJcbiAgRW50aXR5UHJvcExpc3QsXHJcbiAgRW50aXR5UHJvcE9wdGlvbnMsXHJcbiAgRW50aXR5UHJvcHMsXHJcbiAgRW50aXR5UHJvcHNGYWN0b3J5LFxyXG59IGZyb20gJy4vbGliL21vZGVscy9lbnRpdHktcHJvcHMnO1xyXG5leHBvcnQge1xyXG4gIENyZWF0ZUZvcm1Qcm9wQ29udHJpYnV0b3JDYWxsYmFjayxcclxuICBDcmVhdGVGb3JtUHJvcHNGYWN0b3J5LFxyXG4gIEVkaXRGb3JtUHJvcENvbnRyaWJ1dG9yQ2FsbGJhY2ssXHJcbiAgRWRpdEZvcm1Qcm9wc0ZhY3RvcnksXHJcbiAgRm9ybVByb3AsXHJcbiAgRm9ybVByb3BEYXRhLFxyXG4gIEZvcm1Qcm9wTGlzdCxcclxuICBGb3JtUHJvcE9wdGlvbnMsXHJcbiAgRm9ybVByb3BzLFxyXG59IGZyb20gJy4vbGliL21vZGVscy9mb3JtLXByb3BzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL29iamVjdC1leHRlbnNpb25zJztcclxuZXhwb3J0IHtcclxuICBQcm9wQ2FsbGJhY2ssXHJcbiAgUHJvcExpc3QsXHJcbiAgUHJvcFByZWRpY2F0ZSxcclxuICBSZWFkb25seVByb3BEYXRhIGFzIFByb3BEYXRhLFxyXG59IGZyb20gJy4vbGliL21vZGVscy9wcm9wcyc7XHJcbmV4cG9ydCB7XHJcbiAgVG9vbGJhckFjdGlvbixcclxuICBUb29sYmFyQWN0aW9uQ29udHJpYnV0b3JDYWxsYmFjayxcclxuICBUb29sYmFyQWN0aW9uTGlzdCxcclxuICBUb29sYmFyQWN0aW9uT3B0aW9ucyxcclxuICBUb29sYmFyQWN0aW9ucyxcclxuICBUb29sYmFyQWN0aW9uc0ZhY3RvcnksXHJcbiAgVG9vbGJhckNvbXBvbmVudCxcclxuICBUb29sYmFyQ29tcG9uZW50T3B0aW9ucyxcclxufSBmcm9tICcuL2xpYi9tb2RlbHMvdG9vbGJhci1hY3Rpb25zJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvY3JlYXRlLWluamVjdG9yLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9leHRlbnNpb25zLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90b2tlbnMvZXh0ZW5zaW9ucy50b2tlbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rva2Vucy9leHRlbnNpYmxlLWZvcm0tdmlldy1wcm92aWRlci50b2tlbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWV4dGVuc2lvbnMubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMvYWN0aW9ucy51dGlsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMvZm9ybS1wcm9wcy51dGlsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMvcHJvcHMudXRpbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzL3N0YXRlLnV0aWwnO1xyXG4iXX0=
@@ -1,17 +1,17 @@
1
- import { animate, animation, keyframes, style } from '@angular/animations';
2
- export const bounceIn = animation([
3
- style({ opacity: '0', display: '{{ display }}' }),
4
- animate('{{ time}} {{ easing }}', keyframes([
5
- style({ opacity: '0', transform: '{{ transform }} scale(0.0)', offset: 0 }),
6
- style({ opacity: '0', transform: '{{ transform }} scale(0.8)', offset: 0.5 }),
7
- style({ opacity: '1', transform: '{{ transform }} scale(1.0)', offset: 1 }),
8
- ])),
9
- ], {
10
- params: {
11
- time: '350ms',
12
- easing: 'cubic-bezier(.7,.31,.72,1.47)',
13
- display: 'block',
14
- transform: 'translate(-50%, -50%)',
15
- },
16
- });
1
+ import { animate, animation, keyframes, style } from '@angular/animations';
2
+ export const bounceIn = animation([
3
+ style({ opacity: '0', display: '{{ display }}' }),
4
+ animate('{{ time}} {{ easing }}', keyframes([
5
+ style({ opacity: '0', transform: '{{ transform }} scale(0.0)', offset: 0 }),
6
+ style({ opacity: '0', transform: '{{ transform }} scale(0.8)', offset: 0.5 }),
7
+ style({ opacity: '1', transform: '{{ transform }} scale(1.0)', offset: 1 }),
8
+ ])),
9
+ ], {
10
+ params: {
11
+ time: '350ms',
12
+ easing: 'cubic-bezier(.7,.31,.72,1.47)',
13
+ display: 'block',
14
+ transform: 'translate(-50%, -50%)',
15
+ },
16
+ });
17
17
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm91bmNlLmFuaW1hdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9hbmltYXRpb25zL2JvdW5jZS5hbmltYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUzRSxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUMvQjtJQUNFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxDQUFDO0lBQ2pELE9BQU8sQ0FDTCx3QkFBd0IsRUFDeEIsU0FBUyxDQUFDO1FBQ1IsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQzNFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUM3RSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7S0FDNUUsQ0FBQyxDQUNIO0NBQ0YsRUFDRDtJQUNFLE1BQU0sRUFBRTtRQUNOLElBQUksRUFBRSxPQUFPO1FBQ2IsTUFBTSxFQUFFLCtCQUErQjtRQUN2QyxPQUFPLEVBQUUsT0FBTztRQUNoQixTQUFTLEVBQUUsdUJBQXVCO0tBQ25DO0NBQ0YsQ0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgYW5pbWF0aW9uLCBrZXlmcmFtZXMsIHN0eWxlIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcblxyXG5leHBvcnQgY29uc3QgYm91bmNlSW4gPSBhbmltYXRpb24oXHJcbiAgW1xyXG4gICAgc3R5bGUoeyBvcGFjaXR5OiAnMCcsIGRpc3BsYXk6ICd7eyBkaXNwbGF5IH19JyB9KSxcclxuICAgIGFuaW1hdGUoXHJcbiAgICAgICd7eyB0aW1lfX0ge3sgZWFzaW5nIH19JyxcclxuICAgICAga2V5ZnJhbWVzKFtcclxuICAgICAgICBzdHlsZSh7IG9wYWNpdHk6ICcwJywgdHJhbnNmb3JtOiAne3sgdHJhbnNmb3JtIH19IHNjYWxlKDAuMCknLCBvZmZzZXQ6IDAgfSksXHJcbiAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAnMCcsIHRyYW5zZm9ybTogJ3t7IHRyYW5zZm9ybSB9fSBzY2FsZSgwLjgpJywgb2Zmc2V0OiAwLjUgfSksXHJcbiAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAnMScsIHRyYW5zZm9ybTogJ3t7IHRyYW5zZm9ybSB9fSBzY2FsZSgxLjApJywgb2Zmc2V0OiAxIH0pLFxyXG4gICAgICBdKSxcclxuICAgICksXHJcbiAgXSxcclxuICB7XHJcbiAgICBwYXJhbXM6IHtcclxuICAgICAgdGltZTogJzM1MG1zJyxcclxuICAgICAgZWFzaW5nOiAnY3ViaWMtYmV6aWVyKC43LC4zMSwuNzIsMS40NyknLFxyXG4gICAgICBkaXNwbGF5OiAnYmxvY2snLFxyXG4gICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGUoLTUwJSwgLTUwJSknLFxyXG4gICAgfSxcclxuICB9LFxyXG4pO1xyXG4iXX0=
@@ -1,50 +1,50 @@
1
- import { animate, animation, trigger, state, style, transition, useAnimation, } from '@angular/animations';
2
- export const collapseY = animation([
3
- style({ height: '*', overflow: 'hidden', 'box-sizing': 'border-box' }),
4
- animate('{{ time }} {{ easing }}', style({ height: '0', padding: '0px' })),
5
- ], { params: { time: '350ms', easing: 'ease' } });
6
- export const collapseYWithMargin = animation([
7
- style({ 'margin-top': '0' }),
8
- animate('{{ time }} {{ easing }}', style({ 'margin-left': '-100%' })),
9
- ], {
10
- params: { time: '500ms', easing: 'ease' },
11
- });
12
- export const collapseX = animation([
13
- style({ width: '*', overflow: 'hidden', 'box-sizing': 'border-box' }),
14
- animate('{{ time }} {{ easing }}', style({ width: '0', padding: '0px' })),
15
- ], { params: { time: '350ms', easing: 'ease' } });
16
- export const expandY = animation([
17
- style({ height: '0', overflow: 'hidden', 'box-sizing': 'border-box' }),
18
- animate('{{ time }} {{ easing }}', style({ height: '*', padding: '*' })),
19
- ], { params: { time: '350ms', easing: 'ease' } });
20
- export const expandYWithMargin = animation([
21
- style({ 'margin-top': '-100%' }),
22
- animate('{{ time }} {{ easing }}', style({ 'margin-top': '0' })),
23
- ], {
24
- params: { time: '500ms', easing: 'ease' },
25
- });
26
- export const expandX = animation([
27
- style({ width: '0', overflow: 'hidden', 'box-sizing': 'border-box' }),
28
- animate('{{ time }} {{ easing }}', style({ width: '*', padding: '*' })),
29
- ], { params: { time: '350ms', easing: 'ease' } });
30
- export const collapse = trigger('collapse', [
31
- state('collapsed', style({ height: '0', overflow: 'hidden' })),
32
- state('expanded', style({ height: '*', overflow: 'hidden' })),
33
- transition('expanded => collapsed', useAnimation(collapseY)),
34
- transition('collapsed => expanded', useAnimation(expandY)),
35
- ]);
36
- export const collapseWithMargin = trigger('collapseWithMargin', [
37
- state('collapsed', style({ 'margin-top': '-100%' })),
38
- state('expanded', style({ 'margin-top': '0' })),
39
- transition('expanded => collapsed', useAnimation(collapseYWithMargin), {
40
- params: { time: '400ms', easing: 'linear' },
41
- }),
42
- transition('collapsed => expanded', useAnimation(expandYWithMargin)),
43
- ]);
44
- export const collapseLinearWithMargin = trigger('collapseLinearWithMargin', [
45
- state('collapsed', style({ 'margin-top': '-100vh' })),
46
- state('expanded', style({ 'margin-top': '0' })),
47
- transition('expanded => collapsed', useAnimation(collapseYWithMargin, { params: { time: '200ms', easing: 'linear' } })),
48
- transition('collapsed => expanded', useAnimation(expandYWithMargin, { params: { time: '250ms', easing: 'linear' } })),
49
- ]);
1
+ import { animate, animation, trigger, state, style, transition, useAnimation, } from '@angular/animations';
2
+ export const collapseY = animation([
3
+ style({ height: '*', overflow: 'hidden', 'box-sizing': 'border-box' }),
4
+ animate('{{ time }} {{ easing }}', style({ height: '0', padding: '0px' })),
5
+ ], { params: { time: '350ms', easing: 'ease' } });
6
+ export const collapseYWithMargin = animation([
7
+ style({ 'margin-top': '0' }),
8
+ animate('{{ time }} {{ easing }}', style({ 'margin-left': '-100%' })),
9
+ ], {
10
+ params: { time: '500ms', easing: 'ease' },
11
+ });
12
+ export const collapseX = animation([
13
+ style({ width: '*', overflow: 'hidden', 'box-sizing': 'border-box' }),
14
+ animate('{{ time }} {{ easing }}', style({ width: '0', padding: '0px' })),
15
+ ], { params: { time: '350ms', easing: 'ease' } });
16
+ export const expandY = animation([
17
+ style({ height: '0', overflow: 'hidden', 'box-sizing': 'border-box' }),
18
+ animate('{{ time }} {{ easing }}', style({ height: '*', padding: '*' })),
19
+ ], { params: { time: '350ms', easing: 'ease' } });
20
+ export const expandYWithMargin = animation([
21
+ style({ 'margin-top': '-100%' }),
22
+ animate('{{ time }} {{ easing }}', style({ 'margin-top': '0' })),
23
+ ], {
24
+ params: { time: '500ms', easing: 'ease' },
25
+ });
26
+ export const expandX = animation([
27
+ style({ width: '0', overflow: 'hidden', 'box-sizing': 'border-box' }),
28
+ animate('{{ time }} {{ easing }}', style({ width: '*', padding: '*' })),
29
+ ], { params: { time: '350ms', easing: 'ease' } });
30
+ export const collapse = trigger('collapse', [
31
+ state('collapsed', style({ height: '0', overflow: 'hidden' })),
32
+ state('expanded', style({ height: '*', overflow: 'hidden' })),
33
+ transition('expanded => collapsed', useAnimation(collapseY)),
34
+ transition('collapsed => expanded', useAnimation(expandY)),
35
+ ]);
36
+ export const collapseWithMargin = trigger('collapseWithMargin', [
37
+ state('collapsed', style({ 'margin-top': '-100%' })),
38
+ state('expanded', style({ 'margin-top': '0' })),
39
+ transition('expanded => collapsed', useAnimation(collapseYWithMargin), {
40
+ params: { time: '400ms', easing: 'linear' },
41
+ }),
42
+ transition('collapsed => expanded', useAnimation(expandYWithMargin)),
43
+ ]);
44
+ export const collapseLinearWithMargin = trigger('collapseLinearWithMargin', [
45
+ state('collapsed', style({ 'margin-top': '-100vh' })),
46
+ state('expanded', style({ 'margin-top': '0' })),
47
+ transition('expanded => collapsed', useAnimation(collapseYWithMargin, { params: { time: '200ms', easing: 'linear' } })),
48
+ transition('collapsed => expanded', useAnimation(expandYWithMargin, { params: { time: '250ms', easing: 'linear' } })),
49
+ ]);
50
50
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2UuYW5pbWF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvbGliL2FuaW1hdGlvbnMvY29sbGFwc2UuYW5pbWF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsT0FBTyxFQUNQLFNBQVMsRUFDVCxPQUFPLEVBQ1AsS0FBSyxFQUNMLEtBQUssRUFDTCxVQUFVLEVBQ1YsWUFBWSxHQUNiLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FDaEM7SUFDRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxDQUFDO0lBQ3RFLE9BQU8sQ0FBQyx5QkFBeUIsRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0NBQzNFLEVBQ0QsRUFBRSxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUM5QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsU0FBUyxDQUMxQztJQUNFLEtBQUssQ0FBQyxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUM1QixPQUFPLENBQUMseUJBQXlCLEVBQUUsS0FBSyxDQUFDLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7Q0FDdEUsRUFDRDtJQUNFLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRTtDQUMxQyxDQUNGLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUNoQztJQUNFLEtBQUssQ0FBQyxFQUFFLEtB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QixFQUFFLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0NBQ3JFLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLE9BQU8sQ0FBQywwQkFBMEIsRUFBRTtJQUMxRSxLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDL0MsVUFBVSxDQUNSLHVCQUF1QixFQUN2QixZQUFZLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQ25GO0lBQ0QsVUFBVSxDQUNSLHVCQUF1QixFQUN2QixZQUFZLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQ2pGO0NBQ0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBhbmltYXRlLFxyXG4gIGFuaW1hdGlvbixcclxuICB0cmlnZ2VyLFxyXG4gIHN0YXRlLFxyXG4gIHN0eWxlLFxyXG4gIHRyYW5zaXRpb24sXHJcbiAgdXNlQW5pbWF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IGNvbGxhcHNlWSA9IGFuaW1hdGlvbihcclxuICBbXHJcbiAgICBzdHlsZSh7IGhlaWdodDogJyonLCBvdmVyZmxvdzogJ2hpZGRlbicsICdib3gtc2l6aW5nJzogJ2JvcmRlci1ib3gnIH0pLFxyXG4gICAgYW5pbWF0ZSgne3sgdGltZSB9fSB7eyBlYXNpbmcgfX0nLCBzdHlsZSh7IGhlaWdodDogJzAnLCBwYWRkaW5nOiAnMHB4JyB9KSksXHJcbiAgXSxcclxuICB7IHBhcmFtczogeyB0aW1lOiAnMzUwbXMnLCBlYXNpbmc6ICdlYXNlJyB9IH0sXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgY29sbGFwc2VZV2l0aE1hcmdpbiA9IGFuaW1hdGlvbihcclxuICBbXHJcbiAgICBzdHlsZSh7ICdtYXJnaW4tdG9wJzogJzAnIH0pLFxyXG4gICAgYW5pbWF0ZSgne3sgdGltZSB9fSB7eyBlYXNpbmcgfX0nLCBzdHlsZSh7ICdtYXJnaW4tbGVmdCc6ICctMTAwJScgfSkpLFxyXG4gIF0sXHJcbiAge1xyXG4gICAgcGFyYW1zOiB7IHRpbWU6ICc1MDBtcycsIGVhc2luZzogJ2Vhc2UnIH0sXHJcbiAgfSxcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBjb2xsYXBzZVggPSBhbmltYXRpb24oXHJcbiAgW1xyXG4gICAgc3R5bGUoeyB3aWR0aDogJyonLCBvdmVyZmxvdzogJ2hpZGRlbicsICdib3gtc2l6aW5nJzogJ2JvcmRlci1ib3gnIH0pLFxyXG4gICAgYW5pbWF0ZSgne3sgdGltZSB9fSB7eyBlYXNpbmcgfX0nLCBzdHlsZSh7IHdpZHRoOiAnMCcsIHBhZGRpbmc6ICcwcHgnIH0pKSxcclxuICBdLFxyXG4gIHsgcGFyYW1zOiB7IHRpbWU6ICczNTBtcycsIGVhc2luZzogJ2Vhc2UnIH0gfSxcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBleHBhbmRZID0gYW5pbWF0aW9uKFxyXG4gIFtcclxuICAgIHN0eWxlKHsgaGVpZ2h0OiAnMCcsIG92ZXJmbG93OiAnaGlkZGVuJywgJ2JveC1zaXppbmcnOiAnYm9yZGVyLWJveCcgfSksXHJcbiAgICBhbmltYXRlKCd7eyB0aW1lIH19IHt7IGVhc2luZyB9fScsIHN0eWxlKHsgaGVpZ2h0OiAnKicsIHBhZGRpbmc6ICcqJyB9KSksXHJcbiAgXSxcclxuICB7IHBhcmFtczogeyB0aW1lOiAnMzUwbXMnLCBlYXNpbmc6ICdlYXNlJyB9IH0sXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgZXhwYW5kWVdpdGhNYXJnaW4gPSBhbmltYXRpb24oXHJcbiAgW1xyXG4gICAgc3R5bGUoeyAnbWFyZ2luLXRvcCc6ICctMTAwJScgfSksXHJcbiAgICBhbmltYXRlKCd7eyB0aW1lIH19IHt7IGVhc2luZyB9fScsIHN0eWxlKHsgJ21hcmdpbi10b3AnOiAnMCcgfSkpLFxyXG4gIF0sXHJcbiAge1xyXG4gICAgcGFyYW1zOiB7IHRpbWU6ICc1MDBtcycsIGVhc2luZzogJ2Vhc2UnIH0sXHJcbiAgfSxcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBleHBhbmRYID0gYW5pbWF0aW9uKFxyXG4gIFtcclxuICAgIHN0eWxlKHsgd2lkdGg6ICcwJywgb3ZlcmZsb3c6ICdoaWRkZW4nLCAnYm94LXNpemluZyc6ICdib3JkZXItYm94JyB9KSxcclxuICAgIGFuaW1hdGUoJ3t7IHRpbWUgfX0ge3sgZWFzaW5nIH19Jywgc3R5bGUoeyB3aWR0aDogJyonLCBwYWRkaW5nOiAnKicgfSkpLFxyXG4gIF0sXHJcbiAgeyBwYXJhbXM6IHsgdGltZTogJzM1MG1zJywgZWFzaW5nOiAnZWFzZScgfSB9LFxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IGNvbGxhcHNlID0gdHJpZ2dlcignY29sbGFwc2UnLCBbXHJcbiAgc3RhdGUoJ2NvbGxhcHNlZCcsIHN0eWxlKHsgaGVpZ2h0OiAnMCcsIG92ZXJmbG93OiAnaGlkZGVuJyB9KSksXHJcbiAgc3RhdGUoJ2V4cGFuZGVkJywgc3R5bGUoeyBoZWlnaHQ6ICcqJywgb3ZlcmZsb3c6ICdoaWRkZW4nIH0pKSxcclxuICB0cmFuc2l0aW9uKCdleHBhbmRlZCA9PiBjb2xsYXBzZWQnLCB1c2VBbmltYXRpb24oY29sbGFwc2VZKSksXHJcbiAgdHJhbnNpdGlvbignY29sbGFwc2VkID0+IGV4cGFuZGVkJywgdXNlQW5pbWF0aW9uKGV4cGFuZFkpKSxcclxuXSk7XHJcblxyXG5leHBvcnQgY29uc3QgY29sbGFwc2VXaXRoTWFyZ2luID0gdHJpZ2dlcignY29sbGFwc2VXaXRoTWFyZ2luJywgW1xyXG4gIHN0YXRlKCdjb2xsYXBzZWQnLCBzdHlsZSh7ICdtYXJnaW4tdG9wJzogJy0xMDAlJyB9KSksXHJcbiAgc3RhdGUoJ2V4cGFuZGVkJywgc3R5bGUoeyAnbWFyZ2luLXRvcCc6ICcwJyB9KSksXHJcbiAgdHJhbnNpdGlvbignZXhwYW5kZWQgPT4gY29sbGFwc2VkJywgdXNlQW5pbWF0aW9uKGNvbGxhcHNlWVdpdGhNYXJnaW4pLCB7XHJcbiAgICBwYXJhbXM6IHsgdGltZTogJzQwMG1zJywgZWFzaW5nOiAnbGluZWFyJyB9LFxyXG4gIH0pLFxyXG4gIHRyYW5zaXRpb24oJ2NvbGxhcHNlZCA9PiBleHBhbmRlZCcsIHVzZUFuaW1hdGlvbihleHBhbmRZV2l0aE1hcmdpbikpLFxyXG5dKTtcclxuXHJcbmV4cG9ydCBjb25zdCBjb2xsYXBzZUxpbmVhcldpdGhNYXJnaW4gPSB0cmlnZ2VyKCdjb2xsYXBzZUxpbmVhcldpdGhNYXJnaW4nLCBbXHJcbiAgc3RhdGUoJ2NvbGxhcHNlZCcsIHN0eWxlKHsgJ21hcmdpbi10b3AnOiAnLTEwMHZoJyB9KSksXHJcbiAgc3RhdGUoJ2V4cGFuZGVkJywgc3R5bGUoeyAnbWFyZ2luLXRvcCc6ICcwJyB9KSksXHJcbiAgdHJhbnNpdGlvbihcclxuICAgICdleHBhbmRlZCA9PiBjb2xsYXBzZWQnLFxyXG4gICAgdXNlQW5pbWF0aW9uKGNvbGxhcHNlWVdpdGhNYXJnaW4sIHsgcGFyYW1zOiB7IHRpbWU6ICcyMDBtcycsIGVhc2luZzogJ2xpbmVhcicgfSB9KSxcclxuICApLFxyXG4gIHRyYW5zaXRpb24oXHJcbiAgICAnY29sbGFwc2VkID0+IGV4cGFuZGVkJyxcclxuICAgIHVzZUFuaW1hdGlvbihleHBhbmRZV2l0aE1hcmdpbiwgeyBwYXJhbXM6IHsgdGltZTogJzI1MG1zJywgZWFzaW5nOiAnbGluZWFyJyB9IH0pLFxyXG4gICksXHJcbl0pO1xyXG4iXX0=