@abp/ng.theme.shared 4.4.3 → 5.0.0-beta.3

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 (312) 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 +711 -1164
  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 +58 -31
  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 +4 -3
  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/document-dir.handler.js +33 -0
  141. package/esm2015/lib/handlers/document-dir.handler.js.map +1 -0
  142. package/esm2015/lib/handlers/error.handler.js +28 -37
  143. package/esm2015/lib/handlers/error.handler.js.map +1 -0
  144. package/esm2015/lib/handlers/index.js +2 -2
  145. package/esm2015/lib/handlers/index.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 +81 -47
  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 -2
  181. package/esm2015/lib/tokens/index.js.map +1 -0
  182. package/esm2015/lib/tokens/ngx-datatable-messages.token.js +1 -1
  183. package/esm2015/lib/tokens/ngx-datatable-messages.token.js.map +1 -0
  184. package/esm2015/lib/tokens/suppress-unsaved-changes-warning.token.js +1 -2
  185. package/esm2015/lib/tokens/suppress-unsaved-changes-warning.token.js.map +1 -0
  186. package/esm2015/lib/utils/date-parser-formatter.js +13 -10
  187. package/esm2015/lib/utils/date-parser-formatter.js.map +1 -0
  188. package/esm2015/lib/utils/index.js +1 -2
  189. package/esm2015/lib/utils/index.js.map +1 -0
  190. package/esm2015/lib/utils/validation-utils.js +1 -1
  191. package/esm2015/lib/utils/validation-utils.js.map +1 -0
  192. package/esm2015/public-api.js +1 -2
  193. package/esm2015/public-api.js.map +1 -0
  194. package/esm2015/testing/abp-ng.theme.shared-testing.js +1 -1
  195. package/esm2015/testing/abp-ng.theme.shared-testing.js.map +1 -0
  196. package/esm2015/testing/lib/models/config.js +1 -1
  197. package/esm2015/testing/lib/models/config.js.map +1 -0
  198. package/esm2015/testing/lib/models/index.js +1 -1
  199. package/esm2015/testing/lib/models/index.js.map +1 -0
  200. package/esm2015/testing/lib/theme-shared-testing.module.js +12 -7
  201. package/esm2015/testing/lib/theme-shared-testing.module.js.map +1 -0
  202. package/esm2015/testing/public-api.js +1 -1
  203. package/esm2015/testing/public-api.js.map +1 -0
  204. package/extensions/abp-ng.theme.shared-extensions.d.ts +1 -4
  205. package/extensions/lib/adapters/date-time.adapter.d.ts +3 -0
  206. package/extensions/lib/adapters/date.adapter.d.ts +3 -0
  207. package/extensions/lib/adapters/time.adapter.d.ts +3 -0
  208. package/extensions/lib/components/abstract-actions/abstract-actions.component.d.ts +3 -0
  209. package/extensions/lib/components/date-time-picker/date-time-picker.component.d.ts +3 -0
  210. package/extensions/lib/components/extensible-form/extensible-form-prop.component.d.ts +3 -0
  211. package/extensions/lib/components/extensible-form/extensible-form.component.d.ts +3 -0
  212. package/extensions/lib/components/extensible-table/extensible-table.component.d.ts +9 -4
  213. package/extensions/lib/components/grid-actions/grid-actions.component.d.ts +3 -0
  214. package/extensions/lib/components/page-toolbar/page-toolbar.component.d.ts +3 -0
  215. package/extensions/lib/directives/disabled.directive.d.ts +3 -0
  216. package/extensions/lib/directives/prop-data.directive.d.ts +3 -0
  217. package/extensions/lib/models/entity-props.d.ts +5 -2
  218. package/extensions/lib/services/extensions.service.d.ts +3 -0
  219. package/extensions/lib/tokens/extensions.token.d.ts +3 -1
  220. package/extensions/lib/ui-extensions.module.d.ts +19 -0
  221. package/extensions/lib/utils/state.util.d.ts +1 -1
  222. package/extensions/package.json +0 -1
  223. package/fesm2015/abp-ng.theme.shared-extensions.js +540 -409
  224. package/fesm2015/abp-ng.theme.shared-extensions.js.map +1 -1
  225. package/fesm2015/abp-ng.theme.shared-testing.js +11 -6
  226. package/fesm2015/abp-ng.theme.shared-testing.js.map +1 -1
  227. package/fesm2015/abp-ng.theme.shared.js +947 -1274
  228. package/fesm2015/abp-ng.theme.shared.js.map +1 -1
  229. package/lib/components/breadcrumb/breadcrumb.component.d.ts +3 -0
  230. package/lib/components/breadcrumb-items/breadcrumb-items.component.d.ts +6 -0
  231. package/lib/components/button/button.component.d.ts +4 -1
  232. package/lib/components/confirmation/confirmation.component.d.ts +3 -0
  233. package/lib/components/http-error-wrapper/http-error-wrapper.component.d.ts +6 -3
  234. package/lib/components/index.d.ts +2 -5
  235. package/lib/components/loader-bar/loader-bar.component.d.ts +3 -0
  236. package/lib/components/loading/loading.component.d.ts +4 -4
  237. package/lib/components/modal/modal-close.directive.d.ts +3 -0
  238. package/lib/components/modal/modal-ref.service.d.ts +3 -0
  239. package/lib/components/modal/modal.component.d.ts +4 -18
  240. package/lib/components/toast/toast.component.d.ts +5 -4
  241. package/lib/components/toast-container/toast-container.component.d.ts +5 -1
  242. package/lib/constants/styles.d.ts +1 -2
  243. package/lib/directives/ellipsis.directive.d.ts +6 -0
  244. package/lib/directives/index.d.ts +1 -2
  245. package/lib/directives/loading.directive.d.ts +3 -0
  246. package/lib/directives/ngx-datatable-default.directive.d.ts +3 -0
  247. package/lib/directives/ngx-datatable-list.directive.d.ts +3 -0
  248. package/lib/handlers/document-dir.handler.d.ts +13 -0
  249. package/lib/handlers/error.handler.d.ts +9 -7
  250. package/lib/handlers/index.d.ts +1 -1
  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/tokens/index.d.ts +0 -1
  262. package/lib/utils/date-parser-formatter.d.ts +3 -0
  263. package/lib/utils/index.d.ts +0 -1
  264. package/package.json +6 -8
  265. package/public-api.d.ts +0 -1
  266. package/testing/abp-ng.theme.shared-testing.d.ts +1 -0
  267. package/testing/lib/theme-shared-testing.module.d.ts +6 -0
  268. package/testing/package.json +0 -1
  269. package/abp-ng.theme.shared.metadata.json +0 -1
  270. package/bundles/abp-ng.theme.shared-extensions-testing.umd.js +0 -28
  271. package/bundles/abp-ng.theme.shared-extensions-testing.umd.js.map +0 -1
  272. package/bundles/abp-ng.theme.shared-extensions-testing.umd.min.js +0 -2
  273. package/bundles/abp-ng.theme.shared-extensions-testing.umd.min.js.map +0 -1
  274. package/bundles/abp-ng.theme.shared-extensions.umd.min.js +0 -17
  275. package/bundles/abp-ng.theme.shared-extensions.umd.min.js.map +0 -1
  276. package/bundles/abp-ng.theme.shared-testing.umd.min.js +0 -2
  277. package/bundles/abp-ng.theme.shared-testing.umd.min.js.map +0 -1
  278. package/bundles/abp-ng.theme.shared.umd.min.js +0 -2
  279. package/bundles/abp-ng.theme.shared.umd.min.js.map +0 -1
  280. package/esm2015/extensions/testing/abp-ng.theme.shared-extensions-testing.js +0 -5
  281. package/esm2015/extensions/testing/lib/ui-extensions-testing.module.js +0 -11
  282. package/esm2015/extensions/testing/public-api.js +0 -2
  283. package/esm2015/lib/components/chart/chart.component.js +0 -120
  284. package/esm2015/lib/components/modal/modal-container.component.js +0 -16
  285. package/esm2015/lib/components/sort-order-icon/sort-order-icon.component.js +0 -62
  286. package/esm2015/lib/components/table/table.component.js +0 -71
  287. package/esm2015/lib/components/table-empty-message/table-empty-message.component.js +0 -29
  288. package/esm2015/lib/directives/table-sort.directive.js +0 -43
  289. package/esm2015/lib/handlers/lazy-style.handler.js +0 -90
  290. package/esm2015/lib/services/modal.service.js +0 -46
  291. package/esm2015/lib/tokens/lazy-styles.token.js +0 -3
  292. package/esm2015/lib/utils/widget-utils.js +0 -13
  293. package/extensions/abp-ng.theme.shared-extensions.metadata.json +0 -1
  294. package/extensions/testing/abp-ng.theme.shared-extensions-testing.d.ts +0 -4
  295. package/extensions/testing/abp-ng.theme.shared-extensions-testing.metadata.json +0 -1
  296. package/extensions/testing/lib/ui-extensions-testing.module.d.ts +0 -2
  297. package/extensions/testing/package.json +0 -11
  298. package/extensions/testing/public-api.d.ts +0 -1
  299. package/fesm2015/abp-ng.theme.shared-extensions-testing.js +0 -18
  300. package/fesm2015/abp-ng.theme.shared-extensions-testing.js.map +0 -1
  301. package/lib/components/chart/chart.component.d.ts +0 -30
  302. package/lib/components/modal/modal-container.component.d.ts +0 -7
  303. package/lib/components/sort-order-icon/sort-order-icon.component.d.ts +0 -18
  304. package/lib/components/table/table.component.d.ts +0 -30
  305. package/lib/components/table-empty-message/table-empty-message.component.d.ts +0 -7
  306. package/lib/directives/table-sort.directive.d.ts +0 -21
  307. package/lib/handlers/lazy-style.handler.d.ts +0 -20
  308. package/lib/services/modal.service.d.ts +0 -16
  309. package/lib/tokens/lazy-styles.token.d.ts +0 -2
  310. package/lib/utils/widget-utils.d.ts +0 -3
  311. package/styles/bootstrap-rtl.min.css +0 -7
  312. package/testing/abp-ng.theme.shared-testing.metadata.json +0 -1
@@ -1,20 +1,20 @@
1
1
  import { animation, style, animate, keyframes, trigger, state, transition, useAnimation, query } from '@angular/animations';
2
- import { __rest } from 'tslib';
3
- import * as i1 from '@abp/ng.core';
4
- import { getRoutePath, SubscriptionService, RoutesService, RouterEvents, HttpWaitService, RouterWaitService, PROJECTION_STRATEGY, ContentProjectionService, uuid, LocalizationService, SortPipe, RestOccurError, AuthService, getLocaleDirection, LazyLoadService, LOADING_STRATEGY, InternalStore, DomInsertionService, CONTENT_STRATEGY, ConfigStateService, CoreModule, noop } from '@abp/ng.core';
5
2
  import * as i0 from '@angular/core';
6
- import { Component, ChangeDetectionStrategy, ChangeDetectorRef, EventEmitter, Renderer2, Input, Output, ViewChild, ElementRef, ViewEncapsulation, Injectable, InjectionToken, isDevMode, Optional, Inject, ContentChild, Directive, HostListener, ViewContainerRef, ComponentFactoryResolver, Injector, HostBinding, Host, Self, NgModule, ApplicationRef, RendererFactory2, APP_INITIALIZER, inject, LOCALE_ID } from '@angular/core';
7
- import { Router, ResolveEnd } from '@angular/router';
8
- import { startWith, map, debounceTime, filter, takeUntil, distinctUntilChanged, take, catchError, switchMap } from 'rxjs/operators';
9
- import { ReplaySubject, BehaviorSubject, fromEvent, Subscription, combineLatest, timer, Subject, throwError, Observable, of } from 'rxjs';
10
- import snq from 'snq';
11
- import { NgbModal, NgbInputDatepickerConfig, NgbTypeaheadConfig, NgbDateParserFormatter, NgbPaginationModule } from '@ng-bootstrap/ng-bootstrap';
3
+ import { Component, Input, ChangeDetectionStrategy, EventEmitter, Output, ViewChild, ViewEncapsulation, Injectable, InjectionToken, Optional, Inject, ContentChild, Directive, HostListener, HostBinding, NgModule, ComponentFactoryResolver, RendererFactory2, ApplicationRef, APP_INITIALIZER, inject, LOCALE_ID } from '@angular/core';
4
+ import * as i1 from '@angular/common';
12
5
  import { DOCUMENT, formatDate, DatePipe } from '@angular/common';
13
- import { ColumnMode, DatatableComponent, NgxDatatableModule } from '@swimlane/ngx-datatable';
14
- import clone from 'just-clone';
6
+ import * as i1$1 from '@angular/router';
7
+ import { ResolveEnd } from '@angular/router';
8
+ import * as i2 from '@abp/ng.core';
9
+ import { getRoutePath, SubscriptionService, PROJECTION_STRATEGY, uuid, LocalizationService, getLocaleDirection, HttpErrorReporterService, RouterEvents, AuthService, RoutesService, InternalStore, DomInsertionService, CONTENT_STRATEGY, CoreModule, noop, ConfigStateService } from '@abp/ng.core';
10
+ import { __rest } from 'tslib';
11
+ import { startWith, map, debounceTime, filter, takeUntil, distinctUntilChanged, take, catchError, switchMap } from 'rxjs/operators';
12
+ import { fromEvent, Subscription, combineLatest, timer, ReplaySubject, Subject, BehaviorSubject, throwError, Observable, of } from 'rxjs';
13
+ import * as i3 from '@ng-bootstrap/ng-bootstrap';
14
+ import { NgbInputDatepickerConfig, NgbTypeaheadConfig, NgbDateParserFormatter, NgbPaginationModule } from '@ng-bootstrap/ng-bootstrap';
15
+ import * as i1$2 from '@swimlane/ngx-datatable';
16
+ import { ColumnMode, NgxDatatableModule } from '@swimlane/ngx-datatable';
15
17
  import { HttpErrorResponse } from '@angular/common/http';
16
- import * as i1$1 from '@ngxs/store';
17
- import { ofActionSuccessful, Actions } from '@ngxs/store';
18
18
  import { NgxValidateCoreModule, VALIDATION_BLUEPRINTS, VALIDATION_MAP_ERRORS_FN, defaultMapErrorsFn, VALIDATION_VALIDATE_ON_SUBMIT, validatePassword } from '@ngx-validate/core';
19
19
  import { Validators } from '@angular/forms';
20
20
 
@@ -23,15 +23,15 @@ const bounceIn = animation([
23
23
  animate('{{ time}} {{ easing }}', keyframes([
24
24
  style({ opacity: '0', transform: '{{ transform }} scale(0.0)', offset: 0 }),
25
25
  style({ opacity: '0', transform: '{{ transform }} scale(0.8)', offset: 0.5 }),
26
- style({ opacity: '1', transform: '{{ transform }} scale(1.0)', offset: 1 })
27
- ]))
26
+ style({ opacity: '1', transform: '{{ transform }} scale(1.0)', offset: 1 }),
27
+ ])),
28
28
  ], {
29
29
  params: {
30
30
  time: '350ms',
31
31
  easing: 'cubic-bezier(.7,.31,.72,1.47)',
32
32
  display: 'block',
33
- transform: 'translate(-50%, -50%)'
34
- }
33
+ transform: 'translate(-50%, -50%)',
34
+ },
35
35
  });
36
36
 
37
37
  const collapseY = animation([
@@ -148,6 +148,23 @@ const toastInOut = trigger('toastInOut', [
148
148
  ]),
149
149
  ]);
150
150
 
151
+ class BreadcrumbItemsComponent {
152
+ constructor() {
153
+ this.items = [];
154
+ }
155
+ }
156
+ BreadcrumbItemsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: BreadcrumbItemsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
157
+ BreadcrumbItemsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: BreadcrumbItemsComponent, selector: "abp-breadcrumb-items", inputs: { items: "items" }, ngImport: i0, template: "<ol class=\"breadcrumb\" *ngIf=\"items.length\">\n <li class=\"breadcrumb-item\">\n <a routerLink=\"/\"><i class=\"fa fa-home\"></i> </a>\n </li>\n <li\n *ngFor=\"let item of items; let last = last\"\n class=\"breadcrumb-item\"\n [class.active]=\"last\"\n aria-current=\"page\"\n >\n <ng-container\n *ngTemplateOutlet=\"item.path ? linkTemplate : textTemplate; context: { $implicit: item }\"\n ></ng-container>\n </li>\n</ol>\n\n<ng-template #linkTemplate let-item>\n <a [routerLink]=\"item.path\"> {{ item.name | abpLocalization }}</a>\n</ng-template>\n\n<ng-template #textTemplate let-item>\n {{ item.name | abpLocalization }}\n</ng-template>\n", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "abpLocalization": i2.LocalizationPipe } });
158
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: BreadcrumbItemsComponent, decorators: [{
159
+ type: Component,
160
+ args: [{
161
+ selector: 'abp-breadcrumb-items',
162
+ templateUrl: './breadcrumb-items.component.html',
163
+ }]
164
+ }], propDecorators: { items: [{
165
+ type: Input
166
+ }] } });
167
+
151
168
  class BreadcrumbComponent {
152
169
  constructor(cdRef, router, routes, subscription, routerEvents) {
153
170
  this.cdRef = cdRef;
@@ -158,15 +175,13 @@ class BreadcrumbComponent {
158
175
  this.segments = [];
159
176
  }
160
177
  ngOnInit() {
161
- this.subscription.addOne(this.routerEvents.getNavigationEvents('End').pipe(
162
- // tslint:disable-next-line:deprecation
163
- startWith(null), map(() => this.routes.search({ path: getRoutePath(this.router) }))), route => {
178
+ this.subscription.addOne(this.routerEvents.getNavigationEvents('End').pipe(startWith(null), map(() => this.routes.search({ path: getRoutePath(this.router) }))), route => {
164
179
  this.segments = [];
165
180
  if (route) {
166
181
  let node = { parent: route };
167
182
  while (node.parent) {
168
183
  node = node.parent;
169
- const { parent, children, isLeaf } = node, segment = __rest(node, ["parent", "children", "isLeaf"]);
184
+ const { parent, children, isLeaf, path } = node, segment = __rest(node, ["parent", "children", "isLeaf", "path"]);
170
185
  if (!isAdministration(segment))
171
186
  this.segments.unshift(segment);
172
187
  }
@@ -175,21 +190,17 @@ class BreadcrumbComponent {
175
190
  });
176
191
  }
177
192
  }
178
- BreadcrumbComponent.decorators = [
179
- { type: Component, args: [{
180
- selector: 'abp-breadcrumb',
181
- template: "<ol class=\"breadcrumb\" *ngIf=\"segments.length\">\n <li class=\"breadcrumb-item\">\n <a routerLink=\"/\"><i class=\"fa fa-home\"></i> </a>\n </li>\n <li\n *ngFor=\"let segment of segments; let last = last\"\n class=\"breadcrumb-item\"\n [class.active]=\"last\"\n aria-current=\"page\"\n >\n {{ segment.name | abpLocalization }}\n </li>\n</ol>\n",
182
- changeDetection: ChangeDetectionStrategy.OnPush,
183
- providers: [SubscriptionService]
184
- },] }
185
- ];
186
- BreadcrumbComponent.ctorParameters = () => [
187
- { type: ChangeDetectorRef },
188
- { type: Router },
189
- { type: RoutesService },
190
- { type: SubscriptionService },
191
- { type: RouterEvents }
192
- ];
193
+ BreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: BreadcrumbComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.Router }, { token: i2.RoutesService }, { token: i2.SubscriptionService }, { token: i2.RouterEvents }], target: i0.ɵɵFactoryTarget.Component });
194
+ BreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: BreadcrumbComponent, selector: "abp-breadcrumb", providers: [SubscriptionService], ngImport: i0, template: "<abp-breadcrumb-items [items]=\"segments\"></abp-breadcrumb-items>\n", components: [{ type: BreadcrumbItemsComponent, selector: "abp-breadcrumb-items", inputs: ["items"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
195
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: BreadcrumbComponent, decorators: [{
196
+ type: Component,
197
+ args: [{
198
+ selector: 'abp-breadcrumb',
199
+ templateUrl: './breadcrumb.component.html',
200
+ changeDetection: ChangeDetectionStrategy.OnPush,
201
+ providers: [SubscriptionService],
202
+ }]
203
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1$1.Router }, { type: i2.RoutesService }, { type: i2.SubscriptionService }, { type: i2.RouterEvents }]; } });
193
204
  function isAdministration(route) {
194
205
  return route.name === "AbpUiNavigation::Menu:Administration" /* Administration */;
195
206
  }
@@ -202,11 +213,9 @@ class ButtonComponent {
202
213
  this.buttonType = 'button';
203
214
  this.loading = false;
204
215
  this.disabled = false;
205
- // tslint:disable
206
216
  this.click = new EventEmitter();
207
217
  this.focus = new EventEmitter();
208
218
  this.blur = new EventEmitter();
209
- // tslint:enable
210
219
  this.abpClick = new EventEmitter();
211
220
  this.abpFocus = new EventEmitter();
212
221
  this.abpBlur = new EventEmitter();
@@ -222,10 +231,8 @@ class ButtonComponent {
222
231
  }
223
232
  }
224
233
  }
225
- ButtonComponent.decorators = [
226
- { type: Component, args: [{
227
- selector: 'abp-button',
228
- template: `
234
+ ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ButtonComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
235
+ ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: ButtonComponent, selector: "abp-button", inputs: { buttonId: "buttonId", buttonClass: "buttonClass", buttonType: "buttonType", iconClass: "iconClass", loading: "loading", disabled: "disabled", attributes: "attributes" }, outputs: { click: "click", focus: "focus", blur: "blur", abpClick: "abpClick", abpFocus: "abpFocus", abpBlur: "abpBlur" }, viewQueries: [{ propertyName: "buttonRef", first: true, predicate: ["button"], descendants: true, static: true }], ngImport: i0, template: `
229
236
  <button
230
237
  #button
231
238
  [id]="buttonId"
@@ -236,159 +243,58 @@ ButtonComponent.decorators = [
236
243
  (focus)="focus.next($event); abpFocus.next($event)"
237
244
  (blur)="blur.next($event); abpBlur.next($event)"
238
245
  >
239
- <i [ngClass]="icon" class="mr-1"></i><ng-content></ng-content>
246
+ <i [ngClass]="icon" class="me-1"></i><ng-content></ng-content>
240
247
  </button>
241
- `
242
- },] }
243
- ];
244
- ButtonComponent.ctorParameters = () => [
245
- { type: Renderer2 }
246
- ];
247
- ButtonComponent.propDecorators = {
248
- buttonId: [{ type: Input }],
249
- buttonClass: [{ type: Input }],
250
- buttonType: [{ type: Input }],
251
- iconClass: [{ type: Input }],
252
- loading: [{ type: Input }],
253
- disabled: [{ type: Input }],
254
- attributes: [{ type: Input }],
255
- click: [{ type: Output }],
256
- focus: [{ type: Output }],
257
- blur: [{ type: Output }],
258
- abpClick: [{ type: Output }],
259
- abpFocus: [{ type: Output }],
260
- abpBlur: [{ type: Output }],
261
- buttonRef: [{ type: ViewChild, args: ['button', { static: true },] }]
262
- };
263
-
264
- function getRandomBackgroundColor(count) {
265
- const colors = [];
266
- for (let i = 0; i < count; i++) {
267
- const r = ((i + 5) * (i + 5) * 474) % 255;
268
- const g = ((i + 5) * (i + 5) * 1600) % 255;
269
- const b = ((i + 5) * (i + 5) * 84065) % 255;
270
- colors.push('rgba(' + r + ', ' + g + ', ' + b + ', 0.7)');
271
- }
272
- return colors;
273
- }
274
- const chartJsLoaded$ = new ReplaySubject(1);
275
-
276
- class ChartComponent {
277
- constructor(el, cdRef) {
278
- this.el = el;
279
- this.cdRef = cdRef;
280
- this.options = {};
281
- this.plugins = [];
282
- this.responsive = true;
283
- // tslint:disable-next-line: no-output-on-prefix
284
- this.onDataSelect = new EventEmitter();
285
- this.initialized = new BehaviorSubject(this);
286
- this.onCanvasClick = event => {
287
- if (this.chart) {
288
- const element = this.chart.getElementAtEvent(event);
289
- const dataset = this.chart.getDatasetAtEvent(event);
290
- if (element && element.length && dataset) {
291
- this.onDataSelect.emit({
292
- originalEvent: event,
293
- element: element[0],
294
- dataset,
295
- });
296
- }
297
- }
298
- };
299
- this.initChart = () => {
300
- const opts = this.options || {};
301
- opts.responsive = this.responsive;
302
- // allows chart to resize in responsive mode
303
- if (opts.responsive && (this.height || this.width)) {
304
- opts.maintainAspectRatio = false;
305
- }
306
- this.chart = new Chart(this.canvas, {
307
- type: this.type,
308
- data: this.data,
309
- options: this.options,
310
- plugins: this.plugins,
311
- });
312
- this.cdRef.detectChanges();
313
- };
314
- this.generateLegend = () => {
315
- if (this.chart) {
316
- return this.chart.generateLegend();
317
- }
318
- };
319
- this.refresh = () => {
320
- if (this.chart) {
321
- this.chart.update();
322
- this.cdRef.detectChanges();
323
- }
324
- };
325
- this.reinit = () => {
326
- if (this.chart) {
327
- this.chart.destroy();
328
- this.initChart();
329
- }
330
- };
331
- }
332
- get data() {
333
- return this._data;
334
- }
335
- set data(val) {
336
- this._data = val;
337
- this.reinit();
338
- }
339
- get canvas() {
340
- return this.el.nativeElement.children[0].children[0];
341
- }
342
- get base64Image() {
343
- return this.chart.toBase64Image();
344
- }
345
- ngAfterViewInit() {
346
- chartJsLoaded$.subscribe(() => {
347
- this.testChartJs();
348
- this.initChart();
349
- this._initialized = true;
350
- });
351
- }
352
- testChartJs() {
353
- try {
354
- // tslint:disable-next-line: no-unused-expression
355
- Chart;
356
- }
357
- catch (error) {
358
- throw new Error(`Chart is not found. Import the Chart from app.module like shown below:
359
- import('chart.js');
360
- `);
361
- }
362
- }
363
- ngOnDestroy() {
364
- if (this.chart) {
365
- this.chart.destroy();
366
- this._initialized = false;
367
- this.chart = null;
368
- }
369
- }
370
- }
371
- ChartComponent.decorators = [
372
- { type: Component, args: [{
373
- selector: 'abp-chart',
374
- template: "<div\n style=\"position:relative\"\n [style.width]=\"responsive && !width ? null : width\"\n [style.height]=\"responsive && !height ? null : height\"\n>\n <canvas\n [attr.width]=\"responsive && !width ? null : width\"\n [attr.height]=\"responsive && !height ? null : height\"\n (click)=\"onCanvasClick($event)\"\n ></canvas>\n</div>\n"
375
- },] }
376
- ];
377
- ChartComponent.ctorParameters = () => [
378
- { type: ElementRef },
379
- { type: ChangeDetectorRef }
380
- ];
381
- ChartComponent.propDecorators = {
382
- type: [{ type: Input }],
383
- options: [{ type: Input }],
384
- plugins: [{ type: Input }],
385
- width: [{ type: Input }],
386
- height: [{ type: Input }],
387
- responsive: [{ type: Input }],
388
- onDataSelect: [{ type: Output }],
389
- initialized: [{ type: Output }],
390
- data: [{ type: Input }]
391
- };
248
+ `, isInline: true, directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }] });
249
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ButtonComponent, decorators: [{
250
+ type: Component,
251
+ args: [{
252
+ selector: 'abp-button',
253
+ template: `
254
+ <button
255
+ #button
256
+ [id]="buttonId"
257
+ [attr.type]="buttonType"
258
+ [ngClass]="buttonClass"
259
+ [disabled]="loading || disabled"
260
+ (click.stop)="click.next($event); abpClick.next($event)"
261
+ (focus)="focus.next($event); abpFocus.next($event)"
262
+ (blur)="blur.next($event); abpBlur.next($event)"
263
+ >
264
+ <i [ngClass]="icon" class="me-1"></i><ng-content></ng-content>
265
+ </button>
266
+ `,
267
+ }]
268
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }]; }, propDecorators: { buttonId: [{
269
+ type: Input
270
+ }], buttonClass: [{
271
+ type: Input
272
+ }], buttonType: [{
273
+ type: Input
274
+ }], iconClass: [{
275
+ type: Input
276
+ }], loading: [{
277
+ type: Input
278
+ }], disabled: [{
279
+ type: Input
280
+ }], attributes: [{
281
+ type: Input
282
+ }], click: [{
283
+ type: Output
284
+ }], focus: [{
285
+ type: Output
286
+ }], blur: [{
287
+ type: Output
288
+ }], abpClick: [{
289
+ type: Output
290
+ }], abpFocus: [{
291
+ type: Output
292
+ }], abpBlur: [{
293
+ type: Output
294
+ }], buttonRef: [{
295
+ type: ViewChild,
296
+ args: ['button', { static: true }]
297
+ }] } });
392
298
 
393
299
  var Confirmation;
394
300
  (function (Confirmation) {
@@ -424,13 +330,16 @@ class ConfirmationComponent {
424
330
  }
425
331
  }
426
332
  }
427
- ConfirmationComponent.decorators = [
428
- { type: Component, args: [{
429
- selector: 'abp-confirmation',
430
- template: "<div class=\"confirmation\" *ngIf=\"confirmation$ | async as data\">\n <div\n class=\"confirmation-backdrop\"\n (click)=\"data.options?.dismissible ? close(dismiss) : null\"\n ></div>\n <div class=\"confirmation-dialog\">\n <div class=\"icon-container\" [ngClass]=\"data.severity\" *ngIf=\"data.severity\">\n <i class=\"fa icon\" [ngClass]=\"getIconClass(data)\"></i>\n </div>\n <div class=\"content\">\n <h1\n class=\"title\"\n *ngIf=\"data.title\"\n [innerHTML]=\"data.title | abpLocalization: data.options?.titleLocalizationParams\"\n ></h1>\n <p\n class=\"message\"\n *ngIf=\"data.message\"\n [innerHTML]=\"data.message | abpLocalization: data.options?.messageLocalizationParams\"\n ></p>\n </div>\n <div class=\"footer\">\n <button\n id=\"cancel\"\n class=\"confirmation-button confirmation-button--reject\"\n [innerHTML]=\"data.options?.cancelText || 'AbpUi::Cancel' | abpLocalization\"\n *ngIf=\"!data?.options?.hideCancelBtn\"\n (click)=\"close(reject)\"\n ></button>\n <button\n id=\"confirm\"\n class=\"confirmation-button confirmation-button--approve\"\n [innerHTML]=\"data.options?.yesText || 'AbpUi::Yes' | abpLocalization\"\n *ngIf=\"!data?.options?.hideYesBtn\"\n (click)=\"close(confirm)\"\n ></button>\n </div>\n </div>\n</div>\n",
431
- styles: [".confirmation{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:1060}.confirmation .confirmation-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1061!important}.confirmation .confirmation-dialog{display:flex;flex-direction:column;margin:20px auto;padding:0;width:450px;min-height:300px;z-index:1062!important}@media screen and (max-width:500px){.confirmation .confirmation-dialog{width:90vw}}.confirmation .confirmation-dialog .icon-container{display:flex;align-items:center;justify-content:center;margin:0 0 10px;padding:20px}.confirmation .confirmation-dialog .icon-container .icon{width:100px;height:100px;stroke-width:1;font-size:80px;text-align:center}.confirmation .confirmation-dialog .content{flex-grow:1;display:block}.confirmation .confirmation-dialog .content .title{display:block;margin:0;padding:0;font-size:27px;font-weight:600;text-align:center}.confirmation .confirmation-dialog .content .message{display:block;margin:10px auto;padding:20px;font-size:16px;font-weight:400;text-align:center}.confirmation .confirmation-dialog .footer{display:flex;align-items:center;justify-content:flex-end;margin:10px 0 0;padding:20px;width:100%}.confirmation .confirmation-dialog .footer .confirmation-button{display:inline-block;margin:0 5px;padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:600}"]
432
- },] }
433
- ];
333
+ ConfirmationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ConfirmationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
334
+ ConfirmationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: ConfirmationComponent, selector: "abp-confirmation", ngImport: i0, template: "<div class=\"confirmation\" *ngIf=\"confirmation$ | async as data\">\n <div\n class=\"confirmation-backdrop\"\n (click)=\"data.options?.dismissible ? close(dismiss) : null\"\n ></div>\n <div class=\"confirmation-dialog\">\n <div class=\"icon-container\" [ngClass]=\"data.severity\" *ngIf=\"data.severity\">\n <i class=\"fa icon\" [ngClass]=\"getIconClass(data)\"></i>\n </div>\n <div class=\"content\">\n <h1\n class=\"title\"\n *ngIf=\"data.title\"\n [innerHTML]=\"data.title | abpLocalization: data.options?.titleLocalizationParams\"\n ></h1>\n <p\n class=\"message\"\n *ngIf=\"data.message\"\n [innerHTML]=\"data.message | abpLocalization: data.options?.messageLocalizationParams\"\n ></p>\n </div>\n <div class=\"footer\">\n <button\n id=\"cancel\"\n class=\"confirmation-button confirmation-button--reject\"\n [innerHTML]=\"data.options?.cancelText || 'AbpUi::Cancel' | abpLocalization\"\n *ngIf=\"!data?.options?.hideCancelBtn\"\n (click)=\"close(reject)\"\n ></button>\n <button\n id=\"confirm\"\n class=\"confirmation-button confirmation-button--approve\"\n [innerHTML]=\"data.options?.yesText || 'AbpUi::Yes' | abpLocalization\"\n *ngIf=\"!data?.options?.hideYesBtn\"\n (click)=\"close(confirm)\"\n ></button>\n </div>\n </div>\n</div>\n", styles: [".confirmation{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:1060}.confirmation .confirmation-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1061!important}.confirmation .confirmation-dialog{display:flex;flex-direction:column;margin:20px auto;padding:0;width:450px;min-height:300px;z-index:1062!important}@media screen and (max-width: 500px){.confirmation .confirmation-dialog{width:90vw}}.confirmation .confirmation-dialog .icon-container{display:flex;align-items:center;justify-content:center;margin:0 0 10px;padding:20px}.confirmation .confirmation-dialog .icon-container .icon{width:100px;height:100px;stroke-width:1;font-size:80px;text-align:center}.confirmation .confirmation-dialog .content{flex-grow:1;display:block}.confirmation .confirmation-dialog .content .title{display:block;margin:0;padding:0;font-size:27px;font-weight:600;text-align:center}.confirmation .confirmation-dialog .content .message{display:block;margin:10px auto;padding:20px;font-size:16px;font-weight:400;text-align:center}.confirmation .confirmation-dialog .footer{display:flex;align-items:center;justify-content:flex-end;margin:10px 0 0;padding:20px;width:100%}.confirmation .confirmation-dialog .footer .confirmation-button{display:inline-block;margin:0 5px;padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:600}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "async": i1.AsyncPipe, "abpLocalization": i2.LocalizationPipe } });
335
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ConfirmationComponent, decorators: [{
336
+ type: Component,
337
+ args: [{
338
+ selector: 'abp-confirmation',
339
+ templateUrl: './confirmation.component.html',
340
+ styleUrls: ['./confirmation.component.scss'],
341
+ }]
342
+ }] });
434
343
 
435
344
  class HttpErrorWrapperComponent {
436
345
  constructor(subscription) {
@@ -446,9 +355,9 @@ class HttpErrorWrapperComponent {
446
355
  return this.status ? `[${this.status}]` : '';
447
356
  }
448
357
  ngOnInit() {
358
+ var _a;
449
359
  this.backgroundColor =
450
- snq(() => window.getComputedStyle(document.body).getPropertyValue('background-color')) ||
451
- '#fff';
360
+ ((_a = window.getComputedStyle(document.body)) === null || _a === void 0 ? void 0 : _a.getPropertyValue('background-color')) || '#fff';
452
361
  }
453
362
  ngAfterViewInit() {
454
363
  if (this.customComponent) {
@@ -464,26 +373,28 @@ class HttpErrorWrapperComponent {
464
373
  const keyup$ = fromEvent(document, 'keyup').pipe(debounceTime(150), filter((key) => key && key.key === 'Escape'));
465
374
  this.subscription.addOne(keyup$, () => this.destroy());
466
375
  }
467
- ngOnDestroy() { }
376
+ ngOnDestroy() {
377
+ this.destroy();
378
+ }
468
379
  destroy() {
469
380
  this.destroy$.next();
470
381
  this.destroy$.complete();
471
382
  }
472
383
  }
473
- HttpErrorWrapperComponent.decorators = [
474
- { type: Component, args: [{
475
- selector: 'abp-http-error-wrapper',
476
- template: "<div\n #container\n id=\"abp-http-error-container\"\n class=\"error\"\n [style.backgroundColor]=\"backgroundColor\"\n>\n <button\n *ngIf=\"!hideCloseIcon\"\n id=\"abp-close-button\"\n type=\"button\"\n class=\"close mr-2\"\n (click)=\"destroy()\"\n >\n <span aria-hidden=\"true\">&times;</span>\n </button>\n\n <div *ngIf=\"!customComponent\" class=\"row centered\">\n <div class=\"col-md-12\">\n <div class=\"error-template\">\n <h1>{{ statusText }} {{ title | abpLocalization }}</h1>\n <div class=\"error-details\">\n {{ details | abpLocalization }}\n </div>\n <div class=\"error-actions\">\n <a\n *ngIf=\"isHomeShow\"\n (click)=\"destroy()\"\n routerLink=\"/\"\n class=\"btn btn-primary btn-md mt-2\"\n ><span class=\"glyphicon glyphicon-home\"></span>\n {{ { key: '::Menu:Home', defaultValue: 'Home' } | abpLocalization }}\n </a>\n </div>\n </div>\n </div>\n </div>\n</div>\n",
477
- providers: [SubscriptionService],
478
- styles: [".error{position:fixed;top:0;width:100vw;height:100vh;z-index:999999}.centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}"]
479
- },] }
480
- ];
481
- HttpErrorWrapperComponent.ctorParameters = () => [
482
- { type: SubscriptionService }
483
- ];
484
- HttpErrorWrapperComponent.propDecorators = {
485
- containerRef: [{ type: ViewChild, args: ['container', { static: false },] }]
486
- };
384
+ HttpErrorWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: HttpErrorWrapperComponent, deps: [{ token: i2.SubscriptionService }], target: i0.ɵɵFactoryTarget.Component });
385
+ HttpErrorWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: HttpErrorWrapperComponent, selector: "abp-http-error-wrapper", providers: [SubscriptionService], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: "<div\n #container\n id=\"abp-http-error-container\"\n class=\"error\"\n [style.backgroundColor]=\"backgroundColor\"\n>\n <button\n *ngIf=\"!hideCloseIcon\"\n id=\"abp-close-button\"\n type=\"button\"\n class=\"close me-2\"\n (click)=\"destroy()\"\n >\n <span aria-hidden=\"true\">&times;</span>\n </button>\n\n <div *ngIf=\"!customComponent\" class=\"row centered\">\n <div class=\"col-md-12\">\n <div class=\"error-template\">\n <h1>{{ statusText }} {{ title | abpLocalization }}</h1>\n <div class=\"error-details\">\n {{ details | abpLocalization }}\n </div>\n <div class=\"error-actions\">\n <a\n *ngIf=\"isHomeShow\"\n (click)=\"destroy()\"\n routerLink=\"/\"\n class=\"btn btn-primary btn-md mt-2\"\n ><span class=\"glyphicon glyphicon-home\"></span>\n {{ { key: '::Menu:Home', defaultValue: 'Home' } | abpLocalization }}\n </a>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".error{position:fixed;top:0;width:100vw;height:100vh;z-index:999999}.centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }], pipes: { "abpLocalization": i2.LocalizationPipe } });
386
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: HttpErrorWrapperComponent, decorators: [{
387
+ type: Component,
388
+ args: [{
389
+ selector: 'abp-http-error-wrapper',
390
+ templateUrl: './http-error-wrapper.component.html',
391
+ styleUrls: ['http-error-wrapper.component.scss'],
392
+ providers: [SubscriptionService],
393
+ }]
394
+ }], ctorParameters: function () { return [{ type: i2.SubscriptionService }]; }, propDecorators: { containerRef: [{
395
+ type: ViewChild,
396
+ args: ['container', { static: false }]
397
+ }] } });
487
398
 
488
399
  class LoaderBarComponent {
489
400
  constructor(router, cdRef, subscription, httpWaitService, routerWaitService) {
@@ -561,10 +472,25 @@ class LoaderBarComponent {
561
472
  this.timer = timer(this.stopDelay).subscribe(this.clearProgress);
562
473
  }
563
474
  }
564
- LoaderBarComponent.decorators = [
565
- { type: Component, args: [{
566
- selector: 'abp-loader-bar',
567
- template: `
475
+ LoaderBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: LoaderBarComponent, deps: [{ token: i1$1.Router }, { token: i0.ChangeDetectorRef }, { token: i2.SubscriptionService }, { token: i2.HttpWaitService }, { token: i2.RouterWaitService }], target: i0.ɵɵFactoryTarget.Component });
476
+ LoaderBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: LoaderBarComponent, selector: "abp-loader-bar", inputs: { isLoading: "isLoading", containerClass: "containerClass", color: "color" }, providers: [SubscriptionService], ngImport: i0, template: `
477
+ <div id="abp-loader-bar" [ngClass]="containerClass" [class.is-loading]="isLoading">
478
+ <div
479
+ class="abp-progress"
480
+ [class.progressing]="progressLevel"
481
+ [style.width.vw]="progressLevel"
482
+ [ngStyle]="{
483
+ 'background-color': color,
484
+ 'box-shadow': boxShadow
485
+ }"
486
+ ></div>
487
+ </div>
488
+ `, isInline: true, styles: [".abp-loader-bar{left:0;opacity:0;position:fixed;top:0;transition:opacity .4s linear .4s;z-index:99999}.abp-loader-bar.is-loading{opacity:1;transition:none}.abp-loader-bar .abp-progress{height:3px;left:0;position:fixed;top:0}.abp-loader-bar .abp-progress.progressing{transition:width .4s ease}\n"], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
489
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: LoaderBarComponent, decorators: [{
490
+ type: Component,
491
+ args: [{
492
+ selector: 'abp-loader-bar',
493
+ template: `
568
494
  <div id="abp-loader-bar" [ngClass]="containerClass" [class.is-loading]="isLoading">
569
495
  <div
570
496
  class="abp-progress"
@@ -577,37 +503,37 @@ LoaderBarComponent.decorators = [
577
503
  ></div>
578
504
  </div>
579
505
  `,
580
- providers: [SubscriptionService],
581
- styles: [".abp-loader-bar{left:0;opacity:0;position:fixed;top:0;transition:opacity .4s linear .4s;z-index:99999}.abp-loader-bar.is-loading{opacity:1;transition:none}.abp-loader-bar .abp-progress{height:3px;left:0;position:fixed;top:0}.abp-loader-bar .abp-progress.progressing{transition:width .4s ease}"]
582
- },] }
583
- ];
584
- LoaderBarComponent.ctorParameters = () => [
585
- { type: Router },
586
- { type: ChangeDetectorRef },
587
- { type: SubscriptionService },
588
- { type: HttpWaitService },
589
- { type: RouterWaitService }
590
- ];
591
- LoaderBarComponent.propDecorators = {
592
- isLoading: [{ type: Input }],
593
- containerClass: [{ type: Input }],
594
- color: [{ type: Input }]
595
- };
506
+ styleUrls: ['./loader-bar.component.scss'],
507
+ providers: [SubscriptionService],
508
+ }]
509
+ }], ctorParameters: function () { return [{ type: i1$1.Router }, { type: i0.ChangeDetectorRef }, { type: i2.SubscriptionService }, { type: i2.HttpWaitService }, { type: i2.RouterWaitService }]; }, propDecorators: { isLoading: [{
510
+ type: Input
511
+ }], containerClass: [{
512
+ type: Input
513
+ }], color: [{
514
+ type: Input
515
+ }] } });
596
516
 
597
517
  class LoadingComponent {
598
- constructor() { }
599
- ngOnInit() { }
600
518
  }
601
- LoadingComponent.decorators = [
602
- { type: Component, args: [{
603
- selector: 'abp-loading',
604
- template: `
519
+ LoadingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: LoadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
520
+ LoadingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: LoadingComponent, selector: "abp-loading", ngImport: i0, template: `
521
+ <div class="abp-loading">
522
+ <i class="fa fa-spinner fa-pulse abp-spinner"></i>
523
+ </div>
524
+ `, isInline: true, styles: ["\n .abp-loading {\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n z-index: 1040;\n }\n\n .abp-loading .abp-spinner {\n position: absolute;\n top: 50%;\n left: 50%;\n font-size: 14px;\n -moz-transform: translateX(-50%) translateY(-50%);\n -o-transform: translateX(-50%) translateY(-50%);\n -ms-transform: translateX(-50%) translateY(-50%);\n -webkit-transform: translateX(-50%) translateY(-50%);\n transform: translateX(-50%) translateY(-50%);\n }\n "], encapsulation: i0.ViewEncapsulation.None });
525
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: LoadingComponent, decorators: [{
526
+ type: Component,
527
+ args: [{
528
+ selector: 'abp-loading',
529
+ template: `
605
530
  <div class="abp-loading">
606
531
  <i class="fa fa-spinner fa-pulse abp-spinner"></i>
607
532
  </div>
608
533
  `,
609
- encapsulation: ViewEncapsulation.None,
610
- styles: [`
534
+ encapsulation: ViewEncapsulation.None,
535
+ styles: [
536
+ `
611
537
  .abp-loading {
612
538
  position: absolute;
613
539
  width: 100%;
@@ -628,10 +554,10 @@ LoadingComponent.decorators = [
628
554
  -webkit-transform: translateX(-50%) translateY(-50%);
629
555
  transform: translateX(-50%) translateY(-50%);
630
556
  }
631
- `]
632
- },] }
633
- ];
634
- LoadingComponent.ctorParameters = () => [];
557
+ `,
558
+ ],
559
+ }]
560
+ }] });
635
561
 
636
562
  class ConfirmationService {
637
563
  constructor(contentProjectionService) {
@@ -686,15 +612,13 @@ class ConfirmationService {
686
612
  });
687
613
  }
688
614
  }
689
- ConfirmationService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ConfirmationService_Factory() { return new ConfirmationService(i0.ɵɵinject(i1.ContentProjectionService)); }, token: ConfirmationService, providedIn: "root" });
690
- ConfirmationService.decorators = [
691
- { type: Injectable, args: [{ providedIn: 'root' },] }
692
- ];
693
- ConfirmationService.ctorParameters = () => [
694
- { type: ContentProjectionService }
695
- ];
615
+ ConfirmationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ConfirmationService, deps: [{ token: i2.ContentProjectionService }], target: i0.ɵɵFactoryTarget.Injectable });
616
+ ConfirmationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ConfirmationService, providedIn: 'root' });
617
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ConfirmationService, decorators: [{
618
+ type: Injectable,
619
+ args: [{ providedIn: 'root' }]
620
+ }], ctorParameters: function () { return [{ type: i2.ContentProjectionService }]; } });
696
621
 
697
- // TODO: Should be documented
698
622
  const SUPPRESS_UNSAVED_CHANGES_WARNING = new InjectionToken('SUPPRESS_UNSAVED_CHANGES_WARNING');
699
623
 
700
624
  class ModalRefService {
@@ -714,10 +638,12 @@ class ModalRefService {
714
638
  this.modalRefs.forEach(modal => modal.dismiss(mode));
715
639
  }
716
640
  }
717
- ModalRefService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ModalRefService_Factory() { return new ModalRefService(); }, token: ModalRefService, providedIn: "root" });
718
- ModalRefService.decorators = [
719
- { type: Injectable, args: [{ providedIn: 'root' },] }
720
- ];
641
+ ModalRefService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ModalRefService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
642
+ ModalRefService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ModalRefService, providedIn: 'root' });
643
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ModalRefService, decorators: [{
644
+ type: Injectable,
645
+ args: [{ providedIn: 'root' }]
646
+ }] });
721
647
 
722
648
  class ModalComponent {
723
649
  constructor(confirmationService, subscription, suppressUnsavedChangesWarningToken, modal, modalRefService) {
@@ -726,18 +652,6 @@ class ModalComponent {
726
652
  this.suppressUnsavedChangesWarningToken = suppressUnsavedChangesWarningToken;
727
653
  this.modal = modal;
728
654
  this.modalRefService = modalRefService;
729
- /**
730
- * @deprecated Use centered property of options input instead. To be deleted in v5.0.
731
- */
732
- this.centered = false;
733
- /**
734
- * @deprecated Use windowClass property of options input instead. To be deleted in v5.0.
735
- */
736
- this.modalClass = '';
737
- /**
738
- * @deprecated Use size property of options input instead. To be deleted in v5.0.
739
- */
740
- this.size = 'lg';
741
655
  this.options = {};
742
656
  this.suppressUnsavedChangesWarning = this.suppressUnsavedChangesWarningToken;
743
657
  this.visibleChange = new EventEmitter();
@@ -804,14 +718,12 @@ class ModalComponent {
804
718
  return;
805
719
  }
806
720
  setTimeout(() => this.listen(), 0);
807
- this.modalRef = this.modal.open(this.modalContent, Object.assign(Object.assign({
808
- // TODO: set size to 'lg' when removed the size variable
809
- size: this.size, centered: this.centered, keyboard: false, scrollable: true, beforeDismiss: () => {
721
+ this.modalRef = this.modal.open(this.modalContent, Object.assign(Object.assign({ size: 'md', centered: false, keyboard: false, scrollable: true, beforeDismiss: () => {
810
722
  if (!this.visible)
811
723
  return true;
812
724
  this.close();
813
725
  return !this.visible;
814
- } }, this.options), { windowClass: `${this.modalClass} ${this.options.windowClass || ''} ${this.modalIdentifier}` }));
726
+ } }, this.options), { windowClass: `${this.options.windowClass || ''} ${this.modalIdentifier}` }));
815
727
  this.appear.emit();
816
728
  }
817
729
  ngOnDestroy() {
@@ -854,56 +766,56 @@ class ModalComponent {
854
766
  delete event.returnValue;
855
767
  }
856
768
  });
857
- setTimeout(() => {
858
- if (!this.abpClose)
859
- return;
860
- this.warnForDeprecatedClose();
861
- fromEvent(this.abpClose.nativeElement, 'click')
862
- .pipe(takeUntil(this.destroy$))
863
- .subscribe(() => this.close());
864
- }, 0);
865
769
  this.init.emit();
866
770
  }
867
- warnForDeprecatedClose() {
868
- if (isDevMode()) {
869
- console.warn('Please use abpClose directive instead of #abpClose template variable. #abpClose will be removed in v5.0');
870
- }
871
- }
872
771
  }
873
- ModalComponent.decorators = [
874
- { type: Component, args: [{
875
- selector: 'abp-modal',
876
- template: "<ng-content></ng-content>\n\n<ng-template #modalContent let-modal>\n <div id=\"abp-modal-header\" class=\"modal-header\">\n <ng-container *ngTemplateOutlet=\"abpHeader\"></ng-container>\n \u200B\n <button\n id=\"abp-modal-close-button\"\n type=\"button\"\n class=\"close\"\n aria-label=\"Close\"\n (click)=\"modal.dismiss()\"\n >\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n <div id=\"abp-modal-body\" class=\"modal-body\">\n <ng-container *ngTemplateOutlet=\"abpBody\"></ng-container>\n </div>\n <div *ngIf=\"abpFooter\" id=\"abp-modal-footer\" class=\"modal-footer\">\n <ng-container *ngTemplateOutlet=\"abpFooter\"></ng-container>\n </div>\n</ng-template>\n",
877
- providers: [SubscriptionService],
878
- styles: [".modal.show{display:block!important}.modal-backdrop{opacity:.8}.modal::-webkit-scrollbar{width:7px}.modal::-webkit-scrollbar-track{background:#ddd}.modal::-webkit-scrollbar-thumb{background:#8a8686}.modal-dialog{z-index:1050}"]
879
- },] }
880
- ];
881
- ModalComponent.ctorParameters = () => [
882
- { type: ConfirmationService },
883
- { type: SubscriptionService },
884
- { type: Boolean, decorators: [{ type: Optional }, { type: Inject, args: [SUPPRESS_UNSAVED_CHANGES_WARNING,] }] },
885
- { type: NgbModal },
886
- { type: ModalRefService }
887
- ];
888
- ModalComponent.propDecorators = {
889
- centered: [{ type: Input }],
890
- modalClass: [{ type: Input }],
891
- size: [{ type: Input }],
892
- visible: [{ type: Input }],
893
- busy: [{ type: Input }],
894
- options: [{ type: Input }],
895
- suppressUnsavedChangesWarning: [{ type: Input }],
896
- modalContent: [{ type: ViewChild, args: ['modalContent',] }],
897
- abpHeader: [{ type: ContentChild, args: ['abpHeader', { static: false },] }],
898
- abpBody: [{ type: ContentChild, args: ['abpBody', { static: false },] }],
899
- abpFooter: [{ type: ContentChild, args: ['abpFooter', { static: false },] }],
900
- abpSubmit: [{ type: ContentChild, args: [ButtonComponent, { static: false, read: ButtonComponent },] }],
901
- abpClose: [{ type: ContentChild, args: ['abpClose', { static: false, read: ElementRef },] }],
902
- visibleChange: [{ type: Output }],
903
- init: [{ type: Output }],
904
- appear: [{ type: Output }],
905
- disappear: [{ type: Output }]
906
- };
772
+ ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ModalComponent, deps: [{ token: ConfirmationService }, { token: i2.SubscriptionService }, { token: SUPPRESS_UNSAVED_CHANGES_WARNING, optional: true }, { token: i3.NgbModal }, { token: ModalRefService }], target: i0.ɵɵFactoryTarget.Component });
773
+ ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: ModalComponent, selector: "abp-modal", inputs: { visible: "visible", busy: "busy", options: "options", suppressUnsavedChangesWarning: "suppressUnsavedChangesWarning" }, outputs: { visibleChange: "visibleChange", init: "init", appear: "appear", disappear: "disappear" }, providers: [SubscriptionService], queries: [{ propertyName: "abpHeader", first: true, predicate: ["abpHeader"], descendants: true }, { propertyName: "abpBody", first: true, predicate: ["abpBody"], descendants: true }, { propertyName: "abpFooter", first: true, predicate: ["abpFooter"], descendants: true }, { propertyName: "abpSubmit", first: true, predicate: ButtonComponent, descendants: true, read: ButtonComponent }], viewQueries: [{ propertyName: "modalContent", first: true, predicate: ["modalContent"], descendants: true }], ngImport: i0, template: "<ng-content></ng-content>\n\n<ng-template #modalContent let-modal>\n <div id=\"abp-modal-header\" class=\"modal-header\">\n <ng-container *ngTemplateOutlet=\"abpHeader\"></ng-container>\n \u200B\n <button\n id=\"abp-modal-close-button\"\n type=\"button\"\n class=\"btn-sm btn-close\"\n aria-label=\"Close\"\n (click)=\"modal.dismiss()\"\n ></button>\n </div>\n <div id=\"abp-modal-body\" class=\"modal-body\">\n <ng-container *ngTemplateOutlet=\"abpBody\"></ng-container>\n </div>\n <div *ngIf=\"abpFooter\" id=\"abp-modal-footer\" class=\"modal-footer\">\n <ng-container *ngTemplateOutlet=\"abpFooter\"></ng-container>\n </div>\n</ng-template>\n", styles: [".modal.show{display:block!important}.modal-backdrop{opacity:.8}.modal::-webkit-scrollbar{width:7px}.modal::-webkit-scrollbar-track{background:#ddd}.modal::-webkit-scrollbar-thumb{background:#8a8686}.modal-dialog{z-index:1050}\n"], directives: [{ type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
774
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ModalComponent, decorators: [{
775
+ type: Component,
776
+ args: [{
777
+ selector: 'abp-modal',
778
+ templateUrl: './modal.component.html',
779
+ styleUrls: ['./modal.component.scss'],
780
+ providers: [SubscriptionService],
781
+ }]
782
+ }], ctorParameters: function () { return [{ type: ConfirmationService }, { type: i2.SubscriptionService }, { type: undefined, decorators: [{
783
+ type: Optional
784
+ }, {
785
+ type: Inject,
786
+ args: [SUPPRESS_UNSAVED_CHANGES_WARNING]
787
+ }] }, { type: i3.NgbModal }, { type: ModalRefService }]; }, propDecorators: { visible: [{
788
+ type: Input
789
+ }], busy: [{
790
+ type: Input
791
+ }], options: [{
792
+ type: Input
793
+ }], suppressUnsavedChangesWarning: [{
794
+ type: Input
795
+ }], modalContent: [{
796
+ type: ViewChild,
797
+ args: ['modalContent']
798
+ }], abpHeader: [{
799
+ type: ContentChild,
800
+ args: ['abpHeader', { static: false }]
801
+ }], abpBody: [{
802
+ type: ContentChild,
803
+ args: ['abpBody', { static: false }]
804
+ }], abpFooter: [{
805
+ type: ContentChild,
806
+ args: ['abpFooter', { static: false }]
807
+ }], abpSubmit: [{
808
+ type: ContentChild,
809
+ args: [ButtonComponent, { static: false, read: ButtonComponent }]
810
+ }], visibleChange: [{
811
+ type: Output
812
+ }], init: [{
813
+ type: Output
814
+ }], appear: [{
815
+ type: Output
816
+ }], disappear: [{
817
+ type: Output
818
+ }] } });
907
819
 
908
820
  class ModalCloseDirective {
909
821
  constructor(modal) {
@@ -917,174 +829,73 @@ class ModalCloseDirective {
917
829
  (_a = this.modal) === null || _a === void 0 ? void 0 : _a.close();
918
830
  }
919
831
  }
920
- ModalCloseDirective.decorators = [
921
- { type: Directive, args: [{ selector: '[abpClose]' },] }
922
- ];
923
- ModalCloseDirective.ctorParameters = () => [
924
- { type: ModalComponent, decorators: [{ type: Optional }] }
925
- ];
926
- ModalCloseDirective.propDecorators = {
927
- onClick: [{ type: HostListener, args: ['click',] }]
928
- };
832
+ ModalCloseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ModalCloseDirective, deps: [{ token: ModalComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
833
+ ModalCloseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.6", type: ModalCloseDirective, selector: "[abpClose]", host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
834
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ModalCloseDirective, decorators: [{
835
+ type: Directive,
836
+ args: [{ selector: '[abpClose]' }]
837
+ }], ctorParameters: function () { return [{ type: ModalComponent, decorators: [{
838
+ type: Optional
839
+ }] }]; }, propDecorators: { onClick: [{
840
+ type: HostListener,
841
+ args: ['click']
842
+ }] } });
929
843
 
930
- /**
931
- * @deprecated To be deleted in v5.0. Use ngx-datatale instead.
932
- */
933
- class SortOrderIconComponent {
844
+ class ToastComponent {
934
845
  constructor() {
935
- this.orderChange = new EventEmitter();
936
- this.selectedSortKeyChange = new EventEmitter();
937
- }
938
- set selectedSortKey(value) {
939
- this._selectedSortKey = value;
940
- this.selectedSortKeyChange.emit(value);
941
- }
942
- get selectedSortKey() {
943
- return this._selectedSortKey;
846
+ this.remove = new EventEmitter();
944
847
  }
945
- set order(value) {
946
- this._order = value;
947
- this.orderChange.emit(value);
948
- }
949
- get order() {
950
- return this._order;
848
+ get severityClass() {
849
+ if (!this.toast || !this.toast.severity)
850
+ return '';
851
+ return `abp-toast-${this.toast.severity}`;
951
852
  }
952
- get icon() {
953
- if (this.selectedSortKey === this.sortKey)
954
- return `sorting_${this.order}`;
955
- else
956
- return 'sorting';
957
- }
958
- sort(key) {
959
- this.selectedSortKey = key;
960
- switch (this.order) {
961
- case '':
962
- this.order = 'asc';
963
- this.orderChange.emit('asc');
964
- break;
965
- case 'asc':
966
- this.order = 'desc';
967
- this.orderChange.emit('desc');
968
- break;
969
- case 'desc':
970
- this.order = '';
971
- this.orderChange.emit('');
972
- break;
853
+ get iconClass() {
854
+ switch (this.toast.severity) {
855
+ case 'success':
856
+ return 'fa-check-circle';
857
+ case 'info':
858
+ return 'fa-info-circle';
859
+ case 'warning':
860
+ return 'fa-exclamation-triangle';
861
+ case 'error':
862
+ return 'fa-times-circle';
863
+ default:
864
+ return 'fa-exclamation-circle';
973
865
  }
974
866
  }
975
- }
976
- SortOrderIconComponent.decorators = [
977
- { type: Component, args: [{
978
- selector: 'abp-sort-order-icon',
979
- template: "<div class=\"float-right {{ iconClass }}\">\n <span class=\"{{ icon }}\"></span>\n</div>\n"
980
- },] }
981
- ];
982
- SortOrderIconComponent.propDecorators = {
983
- sortKey: [{ type: Input }],
984
- selectedSortKey: [{ type: Input }],
985
- order: [{ type: Input }],
986
- orderChange: [{ type: Output }],
987
- selectedSortKeyChange: [{ type: Output }],
988
- iconClass: [{ type: Input }]
989
- };
990
-
991
- class TableEmptyMessageComponent {
992
- constructor() {
993
- this.colspan = 2;
994
- this.localizationResource = 'AbpAccount';
995
- this.localizationProp = 'NoDataAvailableInDatatable';
996
- }
997
- get emptyMessage() {
998
- return this.message || `${this.localizationResource}::${this.localizationProp}`;
999
- }
1000
- }
1001
- TableEmptyMessageComponent.decorators = [
1002
- { type: Component, args: [{
1003
- // tslint:disable-next-line: component-selector
1004
- selector: '[abp-table-empty-message]',
1005
- template: `
1006
- <td class="text-center" [attr.colspan]="colspan">
1007
- {{ emptyMessage | abpLocalization }}
1008
- </td>
1009
- `
1010
- },] }
1011
- ];
1012
- TableEmptyMessageComponent.propDecorators = {
1013
- colspan: [{ type: Input }],
1014
- message: [{ type: Input }],
1015
- localizationResource: [{ type: Input }],
1016
- localizationProp: [{ type: Input }]
1017
- };
1018
-
1019
- /**
1020
- *
1021
- * @deprecated To be deleted in v5.0. Use ngx-datatale instead.
1022
- */
1023
- class TableComponent {
1024
- constructor() {
1025
- this.bodyScrollLeft = 0;
1026
- this.page = 1;
1027
- this.trackingProp = 'id';
1028
- this.emptyMessage = 'AbpAccount::NoDataAvailableInDatatable';
1029
- this.pageChange = new EventEmitter();
1030
- this.trackByFn = (_, value) => {
1031
- return typeof value === 'object' ? value[this.trackingProp] || value : value;
1032
- };
1033
- }
1034
- get totalRecords() {
1035
- return this._totalRecords || this.value.length;
1036
- }
1037
- set totalRecords(newValue) {
1038
- if (newValue < 0)
1039
- this._totalRecords = 0;
1040
- this._totalRecords = newValue;
1041
- }
1042
- get totalPages() {
1043
- if (!this.rows) {
867
+ ngOnInit() {
868
+ const { sticky, life } = this.toast.options || {};
869
+ if (sticky)
1044
870
  return;
1045
- }
1046
- return Math.ceil(this.totalRecords / this.rows);
871
+ const timeout = life || 5000;
872
+ setTimeout(() => {
873
+ this.close();
874
+ }, timeout);
1047
875
  }
1048
- get slicedValue() {
1049
- if (!this.rows || this.rows >= this.value.length) {
1050
- return this.value;
1051
- }
1052
- const start = (this.page - 1) * this.rows;
1053
- return this.value.slice(start, start + this.rows);
876
+ close() {
877
+ this.remove.emit(this.toast.options.id);
1054
878
  }
1055
- ngOnInit() {
1056
- this.marginCalculator = document.body.dir === 'rtl' ? rtlCalculator : ltrCalculator;
879
+ tap() {
880
+ var _a;
881
+ if ((_a = this.toast.options) === null || _a === void 0 ? void 0 : _a.tapToDismiss)
882
+ this.close();
1057
883
  }
1058
884
  }
1059
- TableComponent.decorators = [
1060
- { type: Component, args: [{
1061
- selector: 'abp-table',
1062
- template: "<div #wrapper class=\"ui-table ui-widget\">\n <div class=\"ui-table-wrapper\">\n <ng-container\n *ngTemplateOutlet=\"scrollable ? scrollableTemplate : defaultTemplate\"\n ></ng-container>\n <div class=\"pagination-wrapper\">\n <ngb-pagination\n [class.op-0]=\"!totalPages\"\n [collectionSize]=\"totalPages\"\n [pageSize]=\"1\"\n [page]=\"page\"\n (pageChange)=\"pageChange.emit($event)\"\n [maxSize]=\"3\"\n [rotate]=\"true\"\n ></ngb-pagination>\n </div>\n </div>\n</div>\n\n<ng-template #scrollableTemplate>\n <div class=\"ui-table-scrollable-wrapper\">\n <div class=\"ui-table-scrollable-view\"></div>\n <div class=\"ui-table-scrollable-header ui-widget-header\">\n <div #header class=\"ui-table-scrollable-header-box\">\n <table class=\"ui-table-scrollable-header-table\">\n <ng-container *ngTemplateOutlet=\"colGroup\"></ng-container>\n <ng-container *ngTemplateOutlet=\"head\"></ng-container>\n <tbody></tbody>\n </table>\n </div>\n </div>\n <div\n #scrollableBody\n (scroll)=\"header.style.margin = marginCalculator(scrollableBody)\"\n class=\"ui-table-scrollable-body\"\n [style.max-height]=\"scrollHeight\"\n >\n <table class=\"ui-table-scrollable-body-table\">\n <ng-container *ngTemplateOutlet=\"colGroup\"></ng-container>\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\n </table>\n </div>\n </div>\n</ng-template>\n\n<ng-template #defaultTemplate>\n <table>\n <ng-container *ngTemplateOutlet=\"colGroup\"></ng-container>\n <ng-container *ngTemplateOutlet=\"head\"></ng-container>\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\n </table>\n</ng-template>\n\n<ng-template #colGroup>\n <ng-container *ngTemplateOutlet=\"colgroupTemplate\"></ng-container>\n</ng-template>\n\n<ng-template #head>\n <thead class=\"ui-table-thead\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </thead>\n</ng-template>\n\n<ng-template #body>\n <tbody class=\"ui-table-tbody\" *ngIf=\"value && value.length; else emptyTemplate\">\n <ng-template\n #bodyTemplateWrapper\n *ngFor=\"let val of slicedValue; let index = index; trackBy: trackByFn\"\n [ngTemplateOutlet]=\"bodyTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: val, rowIndex: index }\"\n ></ng-template>\n </tbody>\n</ng-template>\n\n<ng-template #emptyTemplate>\n <caption class=\"ui-table-empty\">\n {{\n emptyMessage | abpLocalization\n }}\n </caption>\n</ng-template>\n",
1063
- encapsulation: ViewEncapsulation.None,
1064
- styles: [".ui-table{position:relative}.ui-table .ui-table-tbody>tr:hover,.ui-table .ui-table-tbody>tr:nth-child(2n):hover{filter:brightness(90%)}.ui-table .ui-table-empty{padding:20px 0;text-align:center;border:1px solid #e0e0e0;border-top:0 solid #e0e0e0}.ui-table .ui-table-caption,.ui-table .ui-table-summary{background-color:#f4f4f4;color:#333;border:1px solid #c8c8c8;padding:.571em 1em}.ui-table .ui-table-caption,.ui-table .ui-table-summary{font-weight:700}.ui-table .ui-table-thead>tr>th{padding:.571em .857em;border:1px solid #c8c8c8;font-weight:700;color:#333;background-color:#f4f4f4}.ui-table .ui-table-tbody>tr>td{padding:.571em .857em}.ui-table .ui-table-tfoot>tr>td{padding:.571em .857em;border:1px solid #c8c8c8;font-weight:700;color:#333;background-color:#fff}.ui-table .ui-sortable-column{transition:box-shadow .2s}.ui-table .ui-sortable-column:focus{outline:0 none;outline-offset:0;box-shadow:inset 0 0 0 .2em #8dcdff}.ui-table .ui-sortable-column .ui-sortable-column-icon{color:#848484}.ui-table .ui-sortable-column:not(.ui-state-highlight):hover{background-color:#e0e0e0;color:#333}.ui-table .ui-sortable-column:not(.ui-state-highlight):hover .ui-sortable-column-icon{color:#333}.ui-table .ui-sortable-column.ui-state-highlight{background-color:#007ad9;color:#fff}.ui-table .ui-sortable-column.ui-state-highlight .ui-sortable-column-icon{color:#fff}.ui-table .ui-editable-column input{font-size:14px;font-family:Open Sans,Helvetica Neue,sans-serif}.ui-table .ui-editable-column input:focus{outline:1px solid #007ad9;outline-offset:2px}.ui-table .ui-table-tbody>tr{background-color:#fff;color:#333}.ui-table .ui-table-tbody>tr>td{background-color:inherit;border:1px solid #c8c8c8}.ui-table .ui-table-tbody>tr.ui-state-highlight{background-color:#007ad9;color:#fff}.ui-table .ui-table-tbody>tr.ui-state-highlight a{color:#fff}.ui-table .ui-table-tbody>tr.ui-contextmenu-selected{background-color:#007ad9;color:#fff}.ui-table .ui-table-tbody>tr.ui-table-dragpoint-top>td{box-shadow:inset 0 2px 0 0 #007ad9}.ui-table .ui-table-tbody>tr.ui-table-dragpoint-bottom>td{box-shadow:inset 0 -2px 0 0 #007ad9}.ui-table .ui-table-tbody>tr:nth-child(2n){background-color:#f9f9f9}.ui-table .ui-table-tbody>tr:nth-child(2n).ui-state-highlight{background-color:#007ad9;color:#fff}.ui-table .ui-table-tbody>tr:nth-child(2n).ui-state-highlight a{color:#fff}.ui-table .ui-table-tbody>tr:nth-child(2n).ui-contextmenu-selected{background-color:#007ad9;color:#fff}.ui-table.ui-table-hoverable-rows .ui-table-tbody>tr.ui-selectable-row:not(.ui-state-highlight):not(.ui-contextmenu-selected):hover{cursor:pointer;background-color:#eaeaea;color:#333}.ui-table .ui-column-resizer-helper{background-color:#007ad9}@media screen and (max-width:40em){.ui-table.ui-table-responsive .ui-table-tbody>tr>td{border:0}}.ui-table table{border-collapse:collapse;width:100%;table-layout:fixed}.ui-table .ui-table-tbody>tr>td,.ui-table .ui-table-tfoot>tr>td,.ui-table .ui-table-thead>tr>th{padding:.571em .857em}.ui-table .ui-sortable-column{cursor:pointer}.ui-table p-sorticon{vertical-align:middle}.ui-table .ui-table-auto-layout>.ui-table-wrapper{overflow-x:auto}.ui-table .ui-table-auto-layout>.ui-table-wrapper>table{table-layout:auto}.ui-table .ui-table-caption,.ui-table .ui-table-summary{padding:.25em .5em;text-align:center;font-weight:700}.ui-table .ui-table-caption{border-bottom:0}.ui-table .ui-table-summary{border-top:0}.ui-table .ui-table-scrollable-wrapper{position:relative}.ui-table .ui-table-scrollable-footer,.ui-table .ui-table-scrollable-header{overflow:hidden;border:0}.ui-table .ui-table-scrollable-body{overflow:auto;position:relative}.ui-table .ui-table-virtual-table{position:absolute}.ui-table .ui-table-loading-virtual-table{display:none}.ui-table .ui-table-frozen-view .ui-table-scrollable-body{overflow:hidden}.ui-table .ui-table-frozen-view>.ui-table-scrollable-body>table>.ui-table-tbody>tr>td:last-child{border-right:0}.ui-table .ui-table-unfrozen-view{position:absolute;top:0}.ui-table .ui-table-resizable>.ui-table-wrapper{overflow-x:auto}.ui-table .ui-table-resizable .ui-table-tbody>tr>td,.ui-table .ui-table-resizable .ui-table-tfoot>tr>td,.ui-table .ui-table-resizable .ui-table-thead>tr>th{overflow:hidden}.ui-table .ui-table-resizable .ui-resizable-column{background-clip:padding-box;position:relative}.ui-table .ui-table-resizable-fit .ui-resizable-column:last-child .ui-column-resizer{display:none}.ui-table .ui-column-resizer{display:block;position:absolute!important;top:0;right:0;margin:0;width:.5em;height:100%;padding:0;cursor:col-resize;border:1px solid transparent}.ui-table .ui-column-resizer-helper{width:1px;position:absolute;z-index:10;display:none}.ui-table .ui-table-tbody>tr>td.ui-editing-cell{padding:0}.ui-table .ui-table-tbody>tr>td.ui-editing-cell p-celleditor>*{width:100%}.ui-table .ui-table-reorder-indicator-down,.ui-table .ui-table-reorder-indicator-up{position:absolute;display:none}.ui-table .ui-table-responsive .ui-table-tbody>tr>td .ui-column-title{display:none}@media screen and (max-width:40em){.ui-table .ui-table-responsive .ui-table-tfoot>tr>td,.ui-table .ui-table-responsive .ui-table-thead>tr>th,.ui-table .ui-table-responsive colgroup{display:none!important}.ui-table .ui-table-responsive .ui-table-tbody>tr>td{text-align:left;display:block;border:0;width:100%!important;box-sizing:border-box;float:left;clear:left}.ui-table .ui-table-responsive .ui-table-tbody>tr>td .ui-column-title{padding:.4em;min-width:30%;display:inline-block;margin:-.4em 1em -.4em -.4em;font-weight:700}}.ui-table .ui-widget{font-family:Open Sans,Helvetica Neue,sans-serif;font-size:14px;text-decoration:none}.ui-table .page-item.disabled .page-link,.ui-table .page-link{background-color:transparent;border:none}.ui-table .page-item.disabled .page-link{box-shadow:none}.ui-table .pagination{margin-bottom:0}.ui-table .pagination-wrapper{display:flex;justify-content:center;border-top:0;padding:0}.ui-table .op-0{opacity:0}"]
1065
- },] }
1066
- ];
1067
- TableComponent.propDecorators = {
1068
- value: [{ type: Input }],
1069
- headerTemplate: [{ type: Input }],
1070
- bodyTemplate: [{ type: Input }],
1071
- colgroupTemplate: [{ type: Input }],
1072
- scrollHeight: [{ type: Input }],
1073
- scrollable: [{ type: Input }],
1074
- rows: [{ type: Input }],
1075
- page: [{ type: Input }],
1076
- trackingProp: [{ type: Input }],
1077
- emptyMessage: [{ type: Input }],
1078
- pageChange: [{ type: Output }],
1079
- wrapperRef: [{ type: ViewChild, args: ['wrapper', { read: ElementRef },] }],
1080
- totalRecords: [{ type: Input }]
1081
- };
1082
- function ltrCalculator(div) {
1083
- return `0 auto 0 -${div.scrollLeft}px`;
1084
- }
1085
- function rtlCalculator(div) {
1086
- return `0 ${-(div.scrollWidth - div.clientWidth - div.scrollLeft)}px 0 auto`;
1087
- }
885
+ ToastComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ToastComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
886
+ ToastComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: ToastComponent, selector: "abp-toast", inputs: { toast: "toast" }, outputs: { remove: "remove" }, ngImport: i0, template: "<div class=\"abp-toast\" [ngClass]=\"severityClass\" (click)=\"tap()\">\n <div class=\"abp-toast-icon\">\n <i class=\"fa icon\" [ngClass]=\"iconClass\"></i>\n </div>\n <div class=\"abp-toast-content\">\n <button class=\"abp-toast-close-button\" (click)=\"close()\" *ngIf=\"toast.options.closable\">\n <i class=\"fa fa-times\"></i>\n </button>\n <div class=\"abp-toast-title\">\n {{ toast.title | abpLocalization: toast.options?.titleLocalizationParams }}\n </div>\n <p\n class=\"abp-toast-message\"\n [innerHTML]=\"toast.message | abpLocalization: toast.options?.messageLocalizationParams\"\n ></p>\n </div>\n</div>\n", styles: [".abp-toast{display:grid;grid-template-columns:50px 1fr;grid-gap:10px;gap:10px;margin:5px 0;padding:10px;border-radius:0;width:350px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:9999;border:2px solid #f0f0f0;background-color:#f0f0f0;color:#000;box-shadow:0 0 10px -5px #0006;opacity:1}.abp-toast:hover{border:2px solid #e3e3e3;background-color:#e3e3e3;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-success{border:2px solid #51a351;background-color:#51a351;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-success:hover{border:2px solid #499249;background-color:#499249;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-info{border:2px solid #2f96b4;background-color:#2f96b4;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-info:hover{border:2px solid #2a85a0;background-color:#2a85a0;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-warning{border:2px solid #f89406;background-color:#f89406;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-warning:hover{border:2px solid #df8505;background-color:#df8505;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-error{border:2px solid #bd362f;background-color:#bd362f;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-error:hover{border:2px solid #a9302a;background-color:#a9302a;box-shadow:0 0 15px -5px #0006}.abp-toast .abp-toast-icon{display:flex;align-items:center;justify-content:center}.abp-toast .abp-toast-icon .icon{font-size:36px}.abp-toast .abp-toast-content{position:relative}.abp-toast .abp-toast-content .abp-toast-close-button{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;margin:0;padding:0 5px 0 0;width:25px;height:25px;border:none;border-radius:50%;background:transparent;color:inherit}.abp-toast .abp-toast-content .abp-toast-close-button:focus{outline:none}.abp-toast .abp-toast-content .abp-toast-title{margin:0;padding:0;font-size:1rem;font-weight:600}.abp-toast .abp-toast-content .abp-toast-message{margin:0;padding:0;max-width:240px}\n"], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "abpLocalization": i2.LocalizationPipe } });
887
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ToastComponent, decorators: [{
888
+ type: Component,
889
+ args: [{
890
+ selector: 'abp-toast',
891
+ templateUrl: './toast.component.html',
892
+ styleUrls: ['./toast.component.scss'],
893
+ }]
894
+ }], propDecorators: { toast: [{
895
+ type: Input
896
+ }], remove: [{
897
+ type: Output
898
+ }] } });
1088
899
 
1089
900
  class ToastContainerComponent {
1090
901
  constructor() {
@@ -1107,376 +918,113 @@ class ToastContainerComponent {
1107
918
  return toast.options.id;
1108
919
  }
1109
920
  }
1110
- ToastContainerComponent.decorators = [
1111
- { type: Component, args: [{
1112
- selector: 'abp-toast-container',
1113
- template: "<div\n class=\"abp-toast-container\"\n [style.top]=\"top || 'auto'\"\n [style.right]=\"right || 'auto'\"\n [style.bottom]=\"bottom || 'auto'\"\n [style.left]=\"left || 'auto'\"\n [style.display]=\"toasts.length ? 'flex' : 'none'\"\n [@toastInOut]=\"toasts.length\"\n>\n <abp-toast [toast]=\"toast\" *ngFor=\"let toast of toasts; trackBy: trackByFunc\"></abp-toast>\n</div>\n",
1114
- animations: [toastInOut],
1115
- styles: [".abp-toast-container{position:fixed;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:350px;min-height:80px;z-index:1900}.abp-toast-container.new-on-top{flex-direction:column-reverse}"]
1116
- },] }
1117
- ];
1118
- ToastContainerComponent.propDecorators = {
1119
- top: [{ type: Input }],
1120
- right: [{ type: Input }],
1121
- bottom: [{ type: Input }],
1122
- left: [{ type: Input }],
1123
- toastKey: [{ type: Input }]
921
+ ToastContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ToastContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
922
+ ToastContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: ToastContainerComponent, selector: "abp-toast-container", inputs: { top: "top", right: "right", bottom: "bottom", left: "left", toastKey: "toastKey" }, ngImport: i0, template: "<div\n class=\"abp-toast-container\"\n [style.top]=\"top || 'auto'\"\n [style.right]=\"right || 'auto'\"\n [style.bottom]=\"bottom || 'auto'\"\n [style.left]=\"left || 'auto'\"\n [style.display]=\"toasts.length ? 'flex' : 'none'\"\n [@toastInOut]=\"toasts.length\"\n>\n <abp-toast\n [toast]=\"toast\"\n *ngFor=\"let toast of toasts; trackBy: trackByFunc\"\n (remove)=\"remove($event)\"\n ></abp-toast>\n</div>\n", styles: [".abp-toast-container{position:fixed;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:350px;min-height:80px;z-index:1900}.abp-toast-container.new-on-top{flex-direction:column-reverse}\n"], components: [{ type: ToastComponent, selector: "abp-toast", inputs: ["toast"], outputs: ["remove"] }], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], animations: [toastInOut] });
923
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ToastContainerComponent, decorators: [{
924
+ type: Component,
925
+ args: [{
926
+ selector: 'abp-toast-container',
927
+ templateUrl: './toast-container.component.html',
928
+ styleUrls: ['./toast-container.component.scss'],
929
+ animations: [toastInOut],
930
+ }]
931
+ }], propDecorators: { top: [{
932
+ type: Input
933
+ }], right: [{
934
+ type: Input
935
+ }], bottom: [{
936
+ type: Input
937
+ }], left: [{
938
+ type: Input
939
+ }], toastKey: [{
940
+ type: Input
941
+ }] } });
942
+
943
+ const DEFAULT_VALIDATION_BLUEPRINTS = {
944
+ creditCard: 'AbpValidation::ThisFieldIsNotAValidCreditCardNumber.',
945
+ email: 'AbpValidation::ThisFieldIsNotAValidEmailAddress.',
946
+ invalid: 'AbpValidation::ThisFieldIsNotValid.',
947
+ max: 'AbpValidation::ThisFieldMustBeBetween{0}And{1}[{{ min }},{{ max }}]',
948
+ maxlength: 'AbpValidation::ThisFieldMustBeAStringOrArrayTypeWithAMaximumLengthOf{0}[{{ requiredLength }}]',
949
+ min: 'AbpValidation::ThisFieldMustBeBetween{0}And{1}[{{ min }},{{ max }}]',
950
+ minlength: 'AbpValidation::ThisFieldMustBeAStringOrArrayTypeWithAMinimumLengthOf{0}[{{ requiredLength }}]',
951
+ ngbDate: 'AbpValidation::ThisFieldIsNotValid.',
952
+ passwordMismatch: 'AbpIdentity::Volo.Abp.Identity:PasswordConfirmationFailed',
953
+ range: 'AbpValidation::ThisFieldMustBeBetween{0}And{1}[{{ min }},{{ max }}]',
954
+ required: 'AbpValidation::ThisFieldIsRequired.',
955
+ url: 'AbpValidation::ThisFieldIsNotAValidFullyQualifiedHttpHttpsOrFtpUrl',
1124
956
  };
1125
957
 
1126
- class ToasterService {
1127
- constructor(contentProjectionService) {
1128
- this.contentProjectionService = contentProjectionService;
1129
- this.toasts$ = new ReplaySubject(1);
1130
- this.lastId = -1;
1131
- this.toasts = [];
958
+ class EllipsisDirective {
959
+ constructor(cdRef, elRef) {
960
+ this.cdRef = cdRef;
961
+ this.elRef = elRef;
962
+ this.enabled = true;
1132
963
  }
1133
- setContainer() {
1134
- this.containerComponentRef = this.contentProjectionService.projectContent(PROJECTION_STRATEGY.AppendComponentToBody(ToastContainerComponent, { toasts$: this.toasts$ }));
1135
- this.containerComponentRef.changeDetectorRef.detectChanges();
964
+ get inlineClass() {
965
+ return this.enabled && this.width;
1136
966
  }
1137
- /**
1138
- * Creates an info toast with given parameters.
1139
- * @param message Content of the toast
1140
- * @param title Title of the toast
1141
- * @param options Spesific style or structural options for individual toast
1142
- */
1143
- info(message, title, options) {
1144
- return this.show(message, title, 'info', options);
967
+ get class() {
968
+ return this.enabled && !this.width;
1145
969
  }
1146
- /**
1147
- * Creates a success toast with given parameters.
1148
- * @param message Content of the toast
1149
- * @param title Title of the toast
1150
- * @param options Spesific style or structural options for individual toast
1151
- */
1152
- success(message, title, options) {
1153
- return this.show(message, title, 'success', options);
970
+ get maxWidth() {
971
+ return this.enabled && this.width ? this.width || '170px' : undefined;
1154
972
  }
1155
- /**
1156
- * Creates a warning toast with given parameters.
1157
- * @param message Content of the toast
1158
- * @param title Title of the toast
1159
- * @param options Spesific style or structural options for individual toast
1160
- */
1161
- warn(message, title, options) {
1162
- return this.show(message, title, 'warning', options);
973
+ ngAfterViewInit() {
974
+ this.title = this.title || this.elRef.nativeElement.innerText;
975
+ this.cdRef.detectChanges();
1163
976
  }
1164
- /**
1165
- * Creates an error toast with given parameters.
1166
- * @param message Content of the toast
1167
- * @param title Title of the toast
1168
- * @param options Spesific style or structural options for individual toast
1169
- */
1170
- error(message, title, options) {
1171
- return this.show(message, title, 'error', options);
1172
- }
1173
- /**
1174
- * Creates a toast with given parameters.
1175
- * @param message Content of the toast
1176
- * @param title Title of the toast
1177
- * @param severity Sets color of the toast. "success", "warning" etc.
1178
- * @param options Spesific style or structural options for individual toast
1179
- */
1180
- show(message, title = null, severity = 'neutral', options = {}) {
1181
- if (!this.containerComponentRef)
1182
- this.setContainer();
1183
- const id = ++this.lastId;
1184
- this.toasts.push({
1185
- message,
1186
- title,
1187
- severity,
1188
- options: Object.assign({ closable: true, id }, options),
1189
- });
1190
- this.toasts$.next(this.toasts);
1191
- return id;
1192
- }
1193
- /**
1194
- * Removes the toast with given id.
1195
- * @param id ID of the toast to be removed.
1196
- */
1197
- remove(id) {
1198
- this.toasts = this.toasts.filter(toast => snq(() => toast.options.id) !== id);
1199
- this.toasts$.next(this.toasts);
1200
- }
1201
- /**
1202
- * Removes all open toasts at once.
1203
- */
1204
- clear(containerKey) {
1205
- this.toasts = !containerKey
1206
- ? []
1207
- : this.toasts.filter(toast => snq(() => toast.options.containerKey) !== containerKey);
1208
- this.toasts$.next(this.toasts);
1209
- }
1210
- }
1211
- ToasterService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ToasterService_Factory() { return new ToasterService(i0.ɵɵinject(i1.ContentProjectionService)); }, token: ToasterService, providedIn: "root" });
1212
- ToasterService.decorators = [
1213
- { type: Injectable, args: [{
1214
- providedIn: 'root',
1215
- },] }
1216
- ];
1217
- ToasterService.ctorParameters = () => [
1218
- { type: ContentProjectionService }
1219
- ];
1220
-
1221
- class ToastComponent {
1222
- constructor(toasterService) {
1223
- this.toasterService = toasterService;
1224
- }
1225
- get severityClass() {
1226
- if (!this.toast || !this.toast.severity)
1227
- return '';
1228
- return `abp-toast-${this.toast.severity}`;
1229
- }
1230
- get iconClass() {
1231
- switch (this.toast.severity) {
1232
- case 'success':
1233
- return 'fa-check-circle';
1234
- case 'info':
1235
- return 'fa-info-circle';
1236
- case 'warning':
1237
- return 'fa-exclamation-triangle';
1238
- case 'error':
1239
- return 'fa-times-circle';
1240
- default:
1241
- return 'fa-exclamation-circle';
1242
- }
1243
- }
1244
- ngOnInit() {
1245
- if (snq(() => this.toast.options.sticky))
1246
- return;
1247
- const timeout = snq(() => this.toast.options.life) || 5000;
1248
- setTimeout(() => {
1249
- this.close();
1250
- }, timeout);
1251
- }
1252
- close() {
1253
- this.toasterService.remove(this.toast.options.id);
1254
- }
1255
- tap() {
1256
- var _a;
1257
- if ((_a = this.toast.options) === null || _a === void 0 ? void 0 : _a.tapToDismiss)
1258
- this.close();
1259
- }
1260
- }
1261
- ToastComponent.decorators = [
1262
- { type: Component, args: [{
1263
- selector: 'abp-toast',
1264
- template: "<div class=\"abp-toast\" [ngClass]=\"severityClass\" (click)=\"tap()\">\n <div class=\"abp-toast-icon\">\n <i class=\"fa icon\" [ngClass]=\"iconClass\"></i>\n </div>\n <div class=\"abp-toast-content\">\n <button class=\"abp-toast-close-button\" (click)=\"close()\" *ngIf=\"toast.options.closable\">\n <i class=\"fa fa-times\"></i>\n </button>\n <div class=\"abp-toast-title\">\n {{ toast.title | abpLocalization: toast.options?.titleLocalizationParams }}\n </div>\n <p\n class=\"abp-toast-message\"\n [innerHTML]=\"toast.message | abpLocalization: toast.options?.messageLocalizationParams\"\n ></p>\n </div>\n</div>\n",
1265
- styles: [".abp-toast{display:grid;grid-template-columns:50px 1fr;gap:10px;margin:5px 0;padding:10px;border-radius:0;width:350px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:9999;border:2px solid #f0f0f0;background-color:#f0f0f0;color:#000;box-shadow:0 0 10px -5px rgba(0,0,0,.4);opacity:1}.abp-toast:hover{border:2px solid #e3e3e3;background-color:#e3e3e3;box-shadow:0 0 15px -5px rgba(0,0,0,.4)}.abp-toast.abp-toast-success{border:2px solid #51a351;background-color:#51a351;color:#fff;box-shadow:0 0 10px -5px rgba(0,0,0,.4)}.abp-toast.abp-toast-success:hover{border:2px solid #499249;background-color:#499249;box-shadow:0 0 15px -5px rgba(0,0,0,.4)}.abp-toast.abp-toast-info{border:2px solid #2f96b4;background-color:#2f96b4;color:#fff;box-shadow:0 0 10px -5px rgba(0,0,0,.4)}.abp-toast.abp-toast-info:hover{border:2px solid #2a85a0;background-color:#2a85a0;box-shadow:0 0 15px -5px rgba(0,0,0,.4)}.abp-toast.abp-toast-warning{border:2px solid #f89406;background-color:#f89406;color:#fff;box-shadow:0 0 10px -5px rgba(0,0,0,.4)}.abp-toast.abp-toast-warning:hover{border:2px solid #df8505;background-color:#df8505;box-shadow:0 0 15px -5px rgba(0,0,0,.4)}.abp-toast.abp-toast-error{border:2px solid #bd362f;background-color:#bd362f;color:#fff;box-shadow:0 0 10px -5px rgba(0,0,0,.4)}.abp-toast.abp-toast-error:hover{border:2px solid #a9302a;background-color:#a9302a;box-shadow:0 0 15px -5px rgba(0,0,0,.4)}.abp-toast .abp-toast-icon{display:flex;align-items:center;justify-content:center}.abp-toast .abp-toast-icon .icon{font-size:36px}.abp-toast .abp-toast-content{position:relative}.abp-toast .abp-toast-content .abp-toast-close-button{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;margin:0;padding:0 5px 0 0;width:25px;height:25px;border:none;border-radius:50%;background:transparent;color:inherit}.abp-toast .abp-toast-content .abp-toast-close-button:focus{outline:none}.abp-toast .abp-toast-content .abp-toast-title{margin:0;padding:0;font-size:1rem;font-weight:600}.abp-toast .abp-toast-content .abp-toast-message{margin:0;padding:0;max-width:240px}"]
1266
- },] }
1267
- ];
1268
- ToastComponent.ctorParameters = () => [
1269
- { type: ToasterService }
1270
- ];
1271
- ToastComponent.propDecorators = {
1272
- toast: [{ type: Input }]
1273
- };
1274
-
1275
- var styles = `
1276
- .is-invalid .form-control {
1277
- border-color: #dc3545;
1278
- border-style: solid !important;
1279
- padding-right: calc(1.5em + .75rem);
1280
- background-image: url(data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e);
1281
- background-repeat: no-repeat;
1282
- background-position: right calc(.375em + .1875rem) center;
1283
- background-size: calc(.75em + .375rem) calc(.75em + .375rem);
1284
- }
1285
-
1286
- .is-invalid .invalid-feedback,
1287
- .is-invalid + * .invalid-feedback {
1288
- display: block;
1289
- }
1290
-
1291
- .data-tables-filter {
1292
- text-align: right;
1293
- }
1294
-
1295
- [dir=rtl] .data-tables-filter {
1296
- text-align: left;
1297
- }
1298
-
1299
- .pointer {
1300
- cursor: pointer;
1301
- }
1302
-
1303
- .navbar .dropdown-submenu a::after {
1304
- transform: rotate(-90deg);
1305
- position: absolute;
1306
- right: 16px;
1307
- top: 18px;
1308
- }
1309
-
1310
- .navbar .dropdown-menu {
1311
- min-width: 215px;
1312
- }
1313
-
1314
- .datatable-scroll {
1315
- margin-bottom: 5px !important;
1316
- width: unset !important;
1317
- }
1318
-
1319
- .ui-table-scrollable-body::-webkit-scrollbar {
1320
- height: 5px !important;
1321
- width: 5px !important;
1322
- }
1323
-
1324
- .ui-table-scrollable-body::-webkit-scrollbar-track {
1325
- background: #ddd;
1326
- }
1327
-
1328
- .ui-table-scrollable-body::-webkit-scrollbar-thumb {
1329
- background: #8a8686;
1330
- }
1331
-
1332
- .abp-ellipsis-inline {
1333
- display: inline-block;
1334
- overflow: hidden;
1335
- text-overflow: ellipsis;
1336
- white-space: nowrap;
1337
- }
1338
-
1339
- .abp-ellipsis {
1340
- overflow: hidden !important;
1341
- text-overflow: ellipsis;
1342
- white-space: nowrap;
1343
- }
1344
-
1345
- .ui-widget-overlay {
1346
- z-index: 1000;
1347
- }
1348
-
1349
- .color-white {
1350
- color: #FFF !important;
1351
- }
1352
-
1353
- .custom-checkbox > label {
1354
- cursor: pointer;
1355
- }
1356
-
1357
- /* <animations */
1358
-
1359
- .fade-in-top {
1360
- animation: fadeInTop 0.2s ease-in-out;
1361
- }
1362
-
1363
- .fade-out-top {
1364
- animation: fadeOutTop 0.2s ease-in-out;
1365
- }
1366
-
1367
- .abp-collapsed-height {
1368
- -moz-transition: max-height linear 0.35s;
1369
- -ms-transition: max-height linear 0.35s;
1370
- -o-transition: max-height linear 0.35s;
1371
- -webkit-transition: max-height linear 0.35s;
1372
- overflow:hidden;
1373
- transition:max-height 0.35s linear;
1374
- height:auto;
1375
- max-height: 0;
1376
- }
1377
-
1378
- .abp-mh-25 {
1379
- max-height: 25vh;
1380
- }
1381
-
1382
- .abp-mh-50 {
1383
- transition:max-height 0.65s linear;
1384
- max-height: 50vh;
1385
- }
1386
-
1387
- .abp-mh-75 {
1388
- transition:max-height 0.85s linear;
1389
- max-height: 75vh;
1390
- }
1391
-
1392
- .abp-mh-100 {
1393
- transition:max-height 1s linear;
1394
- max-height: 100vh;
1395
- }
1396
-
1397
- [class^="sorting"] {
1398
- opacity: .3;
1399
- cursor: pointer;
1400
- }
1401
- [class^="sorting"]:before {
1402
- right: 0.5rem;
1403
- content: "↑";
1404
- }
1405
- [class^="sorting"]:after {
1406
- right: 0.5rem;
1407
- content: "↓";
1408
- }
1409
-
1410
- .sorting_desc {
1411
- opacity: 1;
1412
- }
1413
- .sorting_desc:before {
1414
- opacity: .3;
1415
- }
1416
-
1417
- .sorting_asc {
1418
- opacity: 1;
1419
- }
1420
- .sorting_asc:after {
1421
- opacity: .3;
1422
- }
1423
- .ngx-datatable.material {
1424
- box-shadow: none;
1425
- }
1426
- ngb-typeahead-window, ngb-typeahead-window.dropdown-menu {
1427
- max-height: 25em;
1428
- overflow-y: scroll !important;
1429
- z-index: 1050;
1430
- }
1431
-
1432
- @keyframes fadeInTop {
1433
- from {
1434
- transform: translateY(-5px);
1435
- opacity: 0;
1436
- }
1437
-
1438
- to {
1439
- transform: translateY(0px);
1440
- opacity: 1;
1441
- }
1442
- }
1443
-
1444
- @keyframes fadeOutTop {
1445
- to {
1446
- transform: translateY(-5px);
1447
- opacity: 0;
1448
- }
1449
- }
1450
-
1451
- /* </animations */
1452
-
1453
- `;
1454
- const BOOTSTRAP = 'bootstrap-{{dir}}.min.css';
1455
-
1456
- const DEFAULT_VALIDATION_BLUEPRINTS = {
1457
- creditCard: 'AbpValidation::ThisFieldIsNotAValidCreditCardNumber.',
1458
- email: 'AbpValidation::ThisFieldIsNotAValidEmailAddress.',
1459
- invalid: 'AbpValidation::ThisFieldIsNotValid.',
1460
- max: 'AbpValidation::ThisFieldMustBeBetween{0}And{1}[{{ min }},{{ max }}]',
1461
- maxlength: 'AbpValidation::ThisFieldMustBeAStringOrArrayTypeWithAMaximumLengthOf{0}[{{ requiredLength }}]',
1462
- min: 'AbpValidation::ThisFieldMustBeBetween{0}And{1}[{{ min }},{{ max }}]',
1463
- minlength: 'AbpValidation::ThisFieldMustBeAStringOrArrayTypeWithAMinimumLengthOf{0}[{{ requiredLength }}]',
1464
- ngbDate: 'AbpValidation::ThisFieldIsNotValid.',
1465
- passwordMismatch: 'AbpIdentity::Volo.Abp.Identity:PasswordConfirmationFailed',
1466
- range: 'AbpValidation::ThisFieldMustBeBetween{0}And{1}[{{ min }},{{ max }}]',
1467
- required: 'AbpValidation::ThisFieldIsRequired.',
1468
- url: 'AbpValidation::ThisFieldIsNotAValidFullyQualifiedHttpHttpsOrFtpUrl',
1469
- };
1470
-
1471
- class LoadingDirective {
1472
- constructor(elRef, vcRef, cdRes, injector, renderer) {
1473
- this.elRef = elRef;
1474
- this.vcRef = vcRef;
1475
- this.cdRes = cdRes;
1476
- this.injector = injector;
1477
- this.renderer = renderer;
1478
- this.position = 'relative';
1479
- this.delay = 0;
977
+ }
978
+ EllipsisDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: EllipsisDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
979
+ EllipsisDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.6", type: EllipsisDirective, selector: "[abpEllipsis]", inputs: { width: ["abpEllipsis", "width"], title: "title", enabled: ["abpEllipsisEnabled", "enabled"] }, host: { properties: { "title": "this.title", "class.abp-ellipsis-inline": "this.inlineClass", "class.abp-ellipsis": "this.class", "style.max-width": "this.maxWidth" } }, ngImport: i0 });
980
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: EllipsisDirective, decorators: [{
981
+ type: Directive,
982
+ args: [{
983
+ selector: '[abpEllipsis]',
984
+ }]
985
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { width: [{
986
+ type: Input,
987
+ args: ['abpEllipsis']
988
+ }], title: [{
989
+ type: HostBinding,
990
+ args: ['title']
991
+ }, {
992
+ type: Input
993
+ }], enabled: [{
994
+ type: Input,
995
+ args: ['abpEllipsisEnabled']
996
+ }], inlineClass: [{
997
+ type: HostBinding,
998
+ args: ['class.abp-ellipsis-inline']
999
+ }], class: [{
1000
+ type: HostBinding,
1001
+ args: ['class.abp-ellipsis']
1002
+ }], maxWidth: [{
1003
+ type: HostBinding,
1004
+ args: ['style.max-width']
1005
+ }] } });
1006
+ class EllipsisModule {
1007
+ }
1008
+ EllipsisModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: EllipsisModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1009
+ EllipsisModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: EllipsisModule, declarations: [EllipsisDirective], exports: [EllipsisDirective] });
1010
+ EllipsisModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: EllipsisModule });
1011
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: EllipsisModule, decorators: [{
1012
+ type: NgModule,
1013
+ args: [{
1014
+ exports: [EllipsisDirective],
1015
+ declarations: [EllipsisDirective],
1016
+ }]
1017
+ }] });
1018
+
1019
+ class LoadingDirective {
1020
+ constructor(elRef, vcRef, cdRes, injector, renderer) {
1021
+ this.elRef = elRef;
1022
+ this.vcRef = vcRef;
1023
+ this.cdRes = cdRes;
1024
+ this.injector = injector;
1025
+ this.renderer = renderer;
1026
+ this.position = 'relative';
1027
+ this.delay = 0;
1480
1028
  }
1481
1029
  get loading() {
1482
1030
  return this._loading;
@@ -1531,22 +1079,24 @@ class LoadingDirective {
1531
1079
  }
1532
1080
  }
1533
1081
  }
1534
- LoadingDirective.decorators = [
1535
- { type: Directive, args: [{ selector: '[abpLoading]' },] }
1536
- ];
1537
- LoadingDirective.ctorParameters = () => [
1538
- { type: ElementRef },
1539
- { type: ViewContainerRef },
1540
- { type: ComponentFactoryResolver },
1541
- { type: Injector },
1542
- { type: Renderer2 }
1543
- ];
1544
- LoadingDirective.propDecorators = {
1545
- position: [{ type: HostBinding, args: ['style.position',] }],
1546
- loading: [{ type: Input, args: ['abpLoading',] }],
1547
- targetElement: [{ type: Input, args: ['abpLoadingTargetElement',] }],
1548
- delay: [{ type: Input, args: ['abpLoadingDelay',] }]
1549
- };
1082
+ LoadingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: LoadingDirective, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
1083
+ LoadingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.6", type: LoadingDirective, selector: "[abpLoading]", inputs: { loading: ["abpLoading", "loading"], targetElement: ["abpLoadingTargetElement", "targetElement"], delay: ["abpLoadingDelay", "delay"] }, host: { properties: { "style.position": "this.position" } }, ngImport: i0 });
1084
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: LoadingDirective, decorators: [{
1085
+ type: Directive,
1086
+ args: [{ selector: '[abpLoading]' }]
1087
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: i0.ComponentFactoryResolver }, { type: i0.Injector }, { type: i0.Renderer2 }]; }, propDecorators: { position: [{
1088
+ type: HostBinding,
1089
+ args: ['style.position']
1090
+ }], loading: [{
1091
+ type: Input,
1092
+ args: ['abpLoading']
1093
+ }], targetElement: [{
1094
+ type: Input,
1095
+ args: ['abpLoadingTargetElement']
1096
+ }], delay: [{
1097
+ type: Input,
1098
+ args: ['abpLoadingDelay']
1099
+ }] } });
1550
1100
 
1551
1101
  class NgxDatatableDefaultDirective {
1552
1102
  constructor(table, document) {
@@ -1597,21 +1147,24 @@ class NgxDatatableDefaultDirective {
1597
1147
  this.subscription.unsubscribe();
1598
1148
  }
1599
1149
  }
1600
- NgxDatatableDefaultDirective.decorators = [
1601
- { type: Directive, args: [{
1602
- // tslint:disable-next-line
1603
- selector: 'ngx-datatable[default]',
1604
- exportAs: 'ngxDatatableDefault',
1605
- },] }
1606
- ];
1607
- NgxDatatableDefaultDirective.ctorParameters = () => [
1608
- { type: DatatableComponent },
1609
- { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
1610
- ];
1611
- NgxDatatableDefaultDirective.propDecorators = {
1612
- class: [{ type: Input }],
1613
- classes: [{ type: HostBinding, args: ['class',] }]
1614
- };
1150
+ NgxDatatableDefaultDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: NgxDatatableDefaultDirective, deps: [{ token: i1$2.DatatableComponent }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
1151
+ NgxDatatableDefaultDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.6", type: NgxDatatableDefaultDirective, selector: "ngx-datatable[default]", inputs: { class: "class" }, host: { properties: { "class": "this.classes" } }, exportAs: ["ngxDatatableDefault"], ngImport: i0 });
1152
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: NgxDatatableDefaultDirective, decorators: [{
1153
+ type: Directive,
1154
+ args: [{
1155
+ // eslint-disable-next-line @angular-eslint/directive-selector
1156
+ selector: 'ngx-datatable[default]',
1157
+ exportAs: 'ngxDatatableDefault',
1158
+ }]
1159
+ }], ctorParameters: function () { return [{ type: i1$2.DatatableComponent }, { type: undefined, decorators: [{
1160
+ type: Inject,
1161
+ args: [DOCUMENT]
1162
+ }] }]; }, propDecorators: { class: [{
1163
+ type: Input
1164
+ }], classes: [{
1165
+ type: HostBinding,
1166
+ args: ['class']
1167
+ }] } });
1615
1168
 
1616
1169
  const defaultNgxDatatableMessages = {
1617
1170
  emptyMessage: 'AbpUi::NoDataAvailableInDatatable',
@@ -1688,106 +1241,51 @@ class NgxDatatableListDirective {
1688
1241
  this.subscribeToSort();
1689
1242
  }
1690
1243
  }
1691
- NgxDatatableListDirective.decorators = [
1692
- { type: Directive, args: [{
1693
- // tslint:disable-next-line
1694
- selector: 'ngx-datatable[list]',
1695
- exportAs: 'ngxDatatableList',
1696
- },] }
1697
- ];
1698
- NgxDatatableListDirective.ctorParameters = () => [
1699
- { type: DatatableComponent },
1700
- { type: ChangeDetectorRef },
1701
- { type: LocalizationService },
1702
- { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [NGX_DATATABLE_MESSAGES,] }] }
1703
- ];
1704
- NgxDatatableListDirective.propDecorators = {
1705
- list: [{ type: Input }]
1706
- };
1707
-
1708
- /**
1709
- *
1710
- * @deprecated To be deleted in v5.0
1711
- */
1712
- class TableSortDirective {
1713
- constructor(abpTable, sortPipe, cdRef) {
1714
- this.abpTable = abpTable;
1715
- this.sortPipe = sortPipe;
1716
- this.cdRef = cdRef;
1717
- this.value = [];
1718
- }
1719
- get table() {
1720
- return (this.abpTable || snq(() => this.cdRef['_view'].component) || snq(() => this.cdRef['context']) // 'context' for ivy
1721
- );
1722
- }
1723
- ngOnChanges({ value, abpTableSort }) {
1724
- if (this.table && (value || abpTableSort)) {
1725
- this.abpTableSort = this.abpTableSort || {};
1726
- this.table.value = this.sortPipe.transform(clone(this.value), this.abpTableSort.order, this.abpTableSort.key);
1727
- }
1728
- }
1729
- }
1730
- TableSortDirective.decorators = [
1731
- { type: Directive, args: [{
1732
- selector: '[abpTableSort]',
1733
- providers: [SortPipe],
1734
- },] }
1735
- ];
1736
- TableSortDirective.ctorParameters = () => [
1737
- { type: TableComponent, decorators: [{ type: Host }, { type: Optional }, { type: Self }] },
1738
- { type: SortPipe },
1739
- { type: ChangeDetectorRef }
1740
- ];
1741
- TableSortDirective.propDecorators = {
1742
- abpTableSort: [{ type: Input }],
1743
- value: [{ type: Input }]
1744
- };
1745
-
1746
- class EllipsisDirective {
1747
- constructor(cdRef, elRef) {
1748
- this.cdRef = cdRef;
1749
- this.elRef = elRef;
1750
- this.enabled = true;
1751
- }
1752
- get inlineClass() {
1753
- return this.enabled && this.width;
1754
- }
1755
- get class() {
1756
- return this.enabled && !this.width;
1244
+ NgxDatatableListDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: NgxDatatableListDirective, deps: [{ token: i1$2.DatatableComponent }, { token: i0.ChangeDetectorRef }, { token: i2.LocalizationService }, { token: NGX_DATATABLE_MESSAGES, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1245
+ NgxDatatableListDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.6", type: NgxDatatableListDirective, selector: "ngx-datatable[list]", inputs: { list: "list" }, exportAs: ["ngxDatatableList"], usesOnChanges: true, ngImport: i0 });
1246
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: NgxDatatableListDirective, decorators: [{
1247
+ type: Directive,
1248
+ args: [{
1249
+ // eslint-disable-next-line @angular-eslint/directive-selector
1250
+ selector: 'ngx-datatable[list]',
1251
+ exportAs: 'ngxDatatableList',
1252
+ }]
1253
+ }], ctorParameters: function () { return [{ type: i1$2.DatatableComponent }, { type: i0.ChangeDetectorRef }, { type: i2.LocalizationService }, { type: undefined, decorators: [{
1254
+ type: Optional
1255
+ }, {
1256
+ type: Inject,
1257
+ args: [NGX_DATATABLE_MESSAGES]
1258
+ }] }]; }, propDecorators: { list: [{
1259
+ type: Input
1260
+ }] } });
1261
+
1262
+ class DocumentDirHandlerService {
1263
+ constructor(injector) {
1264
+ this.injector = injector;
1265
+ this.dir = new BehaviorSubject('ltr');
1266
+ this.dir$ = this.dir.asObservable();
1267
+ this.listenToLanguageChanges();
1757
1268
  }
1758
- get maxWidth() {
1759
- return this.enabled && this.width ? this.width || '170px' : undefined;
1269
+ listenToLanguageChanges() {
1270
+ const l10n = this.injector.get(LocalizationService);
1271
+ // will always listen, no need to unsubscribe
1272
+ l10n.languageChange$
1273
+ .pipe(startWith(l10n.currentLang), map(locale => getLocaleDirection(locale)))
1274
+ .subscribe(dir => {
1275
+ this.dir.next(dir);
1276
+ this.setBodyDir(dir);
1277
+ });
1760
1278
  }
1761
- ngAfterViewInit() {
1762
- this.title = this.title || this.elRef.nativeElement.innerText;
1763
- this.cdRef.detectChanges();
1279
+ setBodyDir(dir) {
1280
+ document.body.dir = dir;
1281
+ document.dir = dir;
1764
1282
  }
1765
1283
  }
1766
- EllipsisDirective.decorators = [
1767
- { type: Directive, args: [{
1768
- selector: '[abpEllipsis]',
1769
- },] }
1770
- ];
1771
- EllipsisDirective.ctorParameters = () => [
1772
- { type: ChangeDetectorRef },
1773
- { type: ElementRef }
1774
- ];
1775
- EllipsisDirective.propDecorators = {
1776
- width: [{ type: Input, args: ['abpEllipsis',] }],
1777
- title: [{ type: HostBinding, args: ['title',] }, { type: Input }],
1778
- enabled: [{ type: Input, args: ['abpEllipsisEnabled',] }],
1779
- inlineClass: [{ type: HostBinding, args: ['class.abp-ellipsis-inline',] }],
1780
- class: [{ type: HostBinding, args: ['class.abp-ellipsis',] }],
1781
- maxWidth: [{ type: HostBinding, args: ['style.max-width',] }]
1782
- };
1783
- class EllipsisModule {
1784
- }
1785
- EllipsisModule.decorators = [
1786
- { type: NgModule, args: [{
1787
- exports: [EllipsisDirective],
1788
- declarations: [EllipsisDirective],
1789
- },] }
1790
- ];
1284
+ DocumentDirHandlerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: DocumentDirHandlerService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
1285
+ DocumentDirHandlerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: DocumentDirHandlerService });
1286
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: DocumentDirHandlerService, decorators: [{
1287
+ type: Injectable
1288
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
1791
1289
 
1792
1290
  function httpErrorConfigFactory(config = {}) {
1793
1291
  if (config.errorScreen && config.errorScreen.component && !config.errorScreen.forWhichErrors) {
@@ -1843,14 +1341,8 @@ const DEFAULT_ERROR_LOCALIZATIONS = {
1843
1341
  },
1844
1342
  };
1845
1343
  class ErrorHandler {
1846
- constructor(actions, routerEvents, confirmationService, cfRes, rendererFactory, injector, httpErrorConfig) {
1847
- this.actions = actions;
1848
- this.routerEvents = routerEvents;
1849
- this.confirmationService = confirmationService;
1850
- this.cfRes = cfRes;
1851
- this.rendererFactory = rendererFactory;
1344
+ constructor(injector) {
1852
1345
  this.injector = injector;
1853
- this.httpErrorConfig = httpErrorConfig;
1854
1346
  this.httpErrorHandler = this.injector.get(HTTP_ERROR_HANDLER, (_, err) => throwError(err));
1855
1347
  this.executeErrorHandler = error => {
1856
1348
  const returnValue = this.httpErrorHandler(this.injector, error);
@@ -1865,9 +1357,16 @@ class ErrorHandler {
1865
1357
  return this.httpErrorConfig.skipHandledErrorCodes.findIndex(code => code === status) < 0;
1866
1358
  };
1867
1359
  this.filterRouteErrors = (navigationError) => {
1868
- return (snq(() => navigationError.error.message.indexOf('Cannot match') > -1) &&
1360
+ var _a, _b;
1361
+ return (((_b = (_a = navigationError.error) === null || _a === void 0 ? void 0 : _a.message) === null || _b === void 0 ? void 0 : _b.indexOf('Cannot match')) > -1 &&
1869
1362
  this.httpErrorConfig.skipHandledErrorCodes.findIndex(code => code === 404) < 0);
1870
1363
  };
1364
+ this.httpErrorReporter = injector.get(HttpErrorReporterService);
1365
+ this.routerEvents = injector.get(RouterEvents);
1366
+ this.confirmationService = injector.get(ConfirmationService);
1367
+ this.cfRes = injector.get(ComponentFactoryResolver);
1368
+ this.rendererFactory = injector.get(RendererFactory2);
1369
+ this.httpErrorConfig = injector.get('HTTP_ERROR_CONFIG');
1871
1370
  this.listenToRestError();
1872
1371
  this.listenToRouterError();
1873
1372
  this.listenToRouterDataResolved();
@@ -1888,15 +1387,16 @@ class ErrorHandler {
1888
1387
  });
1889
1388
  }
1890
1389
  listenToRestError() {
1891
- this.actions
1892
- .pipe(ofActionSuccessful(RestOccurError), map(action => action.payload), filter(this.filterRestErrors), switchMap(this.executeErrorHandler))
1390
+ this.httpErrorReporter.reporter$
1391
+ .pipe(filter(this.filterRestErrors), switchMap(this.executeErrorHandler))
1893
1392
  .subscribe();
1894
1393
  }
1895
1394
  handleError(err) {
1896
- const body = snq(() => err.error.error, {
1395
+ var _a;
1396
+ const body = ((_a = err === null || err === void 0 ? void 0 : err.error) === null || _a === void 0 ? void 0 : _a.error) || {
1897
1397
  key: DEFAULT_ERROR_LOCALIZATIONS.defaultError.title,
1898
1398
  defaultValue: DEFAULT_ERROR_MESSAGES.defaultError.title,
1899
- });
1399
+ };
1900
1400
  if (err instanceof HttpErrorResponse && err.headers.get('_AbpErrorFormat')) {
1901
1401
  const confirmation$ = this.showError(null, null, body);
1902
1402
  if (err.status === 401) {
@@ -2033,7 +1533,7 @@ class ErrorHandler {
2033
1533
  .create(this.injector);
2034
1534
  for (const key in instance) {
2035
1535
  /* istanbul ignore else */
2036
- if (this.componentRef.instance.hasOwnProperty(key)) {
1536
+ if (Object.prototype.hasOwnProperty.call(this.componentRef.instance, key)) {
2037
1537
  this.componentRef.instance[key] = instance[key];
2038
1538
  }
2039
1539
  }
@@ -2055,277 +1555,410 @@ class ErrorHandler {
2055
1555
  });
2056
1556
  }
2057
1557
  canCreateCustomError(status) {
2058
- return snq(() => this.httpErrorConfig.errorScreen.component &&
2059
- this.httpErrorConfig.errorScreen.forWhichErrors.indexOf(status) > -1);
1558
+ var _a, _b, _c, _d, _e;
1559
+ return (((_b = (_a = this.httpErrorConfig) === null || _a === void 0 ? void 0 : _a.errorScreen) === null || _b === void 0 ? void 0 : _b.component) &&
1560
+ ((_e = (_d = (_c = this.httpErrorConfig) === null || _c === void 0 ? void 0 : _c.errorScreen) === null || _d === void 0 ? void 0 : _d.forWhichErrors) === null || _e === void 0 ? void 0 : _e.indexOf(status)) > -1);
2060
1561
  }
2061
1562
  }
2062
- ErrorHandler.ɵprov = i0.ɵɵdefineInjectable({ factory: function ErrorHandler_Factory() { return new ErrorHandler(i0.ɵɵinject(i1$1.Actions), i0.ɵɵinject(i1.RouterEvents), i0.ɵɵinject(ConfirmationService), i0.ɵɵinject(i0.ComponentFactoryResolver), i0.ɵɵinject(i0.RendererFactory2), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject("HTTP_ERROR_CONFIG")); }, token: ErrorHandler, providedIn: "root" });
2063
- ErrorHandler.decorators = [
2064
- { type: Injectable, args: [{ providedIn: 'root' },] }
1563
+ ErrorHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ErrorHandler, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
1564
+ ErrorHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ErrorHandler, providedIn: 'root' });
1565
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ErrorHandler, decorators: [{
1566
+ type: Injectable,
1567
+ args: [{ providedIn: 'root' }]
1568
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
1569
+
1570
+ class NavItem {
1571
+ constructor(props) {
1572
+ props = Object.assign(Object.assign({}, props), { visible: props.visible || (() => true) });
1573
+ Object.assign(this, props);
1574
+ }
1575
+ }
1576
+
1577
+ const NG_BOOTSTRAP_CONFIG_PROVIDERS = [
1578
+ {
1579
+ provide: APP_INITIALIZER,
1580
+ useFactory: configureNgBootstrap,
1581
+ deps: [NgbInputDatepickerConfig, NgbTypeaheadConfig],
1582
+ multi: true,
1583
+ },
2065
1584
  ];
2066
- ErrorHandler.ctorParameters = () => [
2067
- { type: Actions },
2068
- { type: RouterEvents },
2069
- { type: ConfirmationService },
2070
- { type: ComponentFactoryResolver },
2071
- { type: RendererFactory2 },
2072
- { type: Injector },
2073
- { type: undefined, decorators: [{ type: Inject, args: ['HTTP_ERROR_CONFIG',] }] }
2074
- ];
2075
-
2076
- const LAZY_STYLES = new InjectionToken('LAZY_STYLES');
2077
-
2078
- class LazyStyleHandler {
2079
- constructor(injector) {
2080
- this._dir = 'ltr';
2081
- this.loaded = new Map();
2082
- this.setStyles(injector);
2083
- this.setLazyLoad(injector);
2084
- this.listenToLanguageChanges(injector);
2085
- }
2086
- set dir(dir) {
2087
- if (dir === this._dir)
1585
+ function configureNgBootstrap(datepicker, typeahead) {
1586
+ return () => {
1587
+ datepicker.container = 'body';
1588
+ typeahead.container = 'body';
1589
+ };
1590
+ }
1591
+
1592
+ const THEME_SHARED_ROUTE_PROVIDERS = [
1593
+ { provide: APP_INITIALIZER, useFactory: configureRoutes, deps: [RoutesService], multi: true },
1594
+ ];
1595
+ function configureRoutes(routesService) {
1596
+ return () => {
1597
+ routesService.add([
1598
+ {
1599
+ path: undefined,
1600
+ name: "AbpUiNavigation::Menu:Administration" /* Administration */,
1601
+ iconClass: 'fa fa-wrench',
1602
+ order: 100,
1603
+ },
1604
+ ]);
1605
+ };
1606
+ }
1607
+
1608
+ class NavItemsService {
1609
+ constructor() {
1610
+ this._items$ = new BehaviorSubject([]);
1611
+ }
1612
+ get items() {
1613
+ return this._items$.value;
1614
+ }
1615
+ get items$() {
1616
+ return this._items$.asObservable();
1617
+ }
1618
+ addItems(newItems) {
1619
+ const items = [...this.items];
1620
+ newItems.forEach(item => items.push(new NavItem(item)));
1621
+ items.sort(sortItems);
1622
+ this._items$.next(items);
1623
+ }
1624
+ removeItem(id) {
1625
+ const index = this.items.findIndex(item => item.id === id);
1626
+ if (index < 0)
2088
1627
  return;
2089
- this.switchCSS(dir);
2090
- this.setBodyDir(dir);
2091
- this._dir = dir;
1628
+ const items = [...this.items.slice(0, index), ...this.items.slice(index + 1)];
1629
+ this._items$.next(items);
2092
1630
  }
2093
- get dir() {
2094
- return this._dir;
1631
+ patchItem(id, item) {
1632
+ const index = this.items.findIndex(i => i.id === id);
1633
+ if (index < 0)
1634
+ return;
1635
+ const items = [...this.items];
1636
+ items[index] = new NavItem(Object.assign(Object.assign({}, items[index]), item));
1637
+ items.sort(sortItems);
1638
+ this._items$.next(items);
2095
1639
  }
2096
- getHrefFromLink(link) {
2097
- if (!link)
2098
- return '';
2099
- const a = document.createElement('a');
2100
- a.href = link.href;
2101
- return a.pathname.replace(/^\//, '');
2102
- }
2103
- getLoadedBootstrap() {
2104
- const href = createLazyStyleHref(BOOTSTRAP, this.dir);
2105
- const selector = `[href*="${href.replace(/\.css$/, '')}"]`;
2106
- const link = document.querySelector(selector);
2107
- return { href, link };
2108
- }
2109
- listenToLanguageChanges(injector) {
2110
- const l10n = injector.get(LocalizationService);
2111
- // will always listen, no need to unsubscribe
2112
- l10n.languageChange$.pipe(startWith(l10n.currentLang)).subscribe(locale => {
2113
- this.dir = getLocaleDirection(locale);
2114
- });
1640
+ }
1641
+ NavItemsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: NavItemsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1642
+ NavItemsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: NavItemsService, providedIn: 'root' });
1643
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: NavItemsService, decorators: [{
1644
+ type: Injectable,
1645
+ args: [{ providedIn: 'root' }]
1646
+ }] });
1647
+ function sortItems(a, b) {
1648
+ if (!a.order)
1649
+ return 1;
1650
+ if (!b.order)
1651
+ return -1;
1652
+ return a.order - b.order;
1653
+ }
1654
+
1655
+ class PageAlertService {
1656
+ constructor() {
1657
+ this.alerts = new InternalStore([]);
1658
+ this.alerts$ = this.alerts.sliceState(state => state);
2115
1659
  }
2116
- setBodyDir(dir) {
2117
- document.body.dir = dir;
1660
+ show(alert) {
1661
+ var _a;
1662
+ const newAlert = Object.assign(Object.assign({}, alert), { dismissible: (_a = alert.dismissible) !== null && _a !== void 0 ? _a : true });
1663
+ this.alerts.set([newAlert, ...this.alerts.state]);
2118
1664
  }
2119
- setLazyLoad(injector) {
2120
- this.lazyLoad = injector.get(LazyLoadService);
2121
- const { href, link } = this.getLoadedBootstrap();
2122
- this.lazyLoad.loaded.set(href, link);
2123
- }
2124
- setStyles(injector) {
2125
- this.styles = injector.get(LAZY_STYLES, [BOOTSTRAP]);
2126
- }
2127
- switchCSS(dir) {
2128
- this.styles.forEach(style => {
2129
- const oldHref = createLazyStyleHref(style, this.dir);
2130
- const newHref = createLazyStyleHref(style, dir);
2131
- const link = this.loaded.get(newHref);
2132
- const href = this.getHrefFromLink(link) || newHref;
2133
- const strategy = LOADING_STRATEGY.PrependAnonymousStyleToHead(href);
2134
- this.lazyLoad.load(strategy).subscribe(() => {
2135
- const oldLink = this.lazyLoad.loaded.get(oldHref);
2136
- this.loaded.delete(newHref);
2137
- this.loaded.set(oldHref, oldLink);
2138
- const newLink = this.lazyLoad.loaded.get(href);
2139
- this.lazyLoad.loaded.delete(href);
2140
- this.lazyLoad.loaded.set(newHref, newLink);
2141
- this.lazyLoad.remove(oldHref);
2142
- });
2143
- });
1665
+ remove(index) {
1666
+ const alerts = [...this.alerts.state];
1667
+ alerts.splice(index, 1);
1668
+ this.alerts.set(alerts);
2144
1669
  }
2145
1670
  }
2146
- LazyStyleHandlerprov = i0.ɵɵdefineInjectable({ factory: function LazyStyleHandler_Factory() { return new LazyStyleHandler(i0.ɵɵinject(i0.INJECTOR)); }, token: LazyStyleHandler, providedIn: "root" });
2147
- LazyStyleHandler.decorators = [
2148
- { type: Injectable, args: [{
2149
- providedIn: 'root',
2150
- },] }
2151
- ];
2152
- LazyStyleHandler.ctorParameters = () => [
2153
- { type: Injector }
2154
- ];
2155
- function createLazyStyleHref(style, dir) {
2156
- return style.replace(/{{\s*dir\s*}}/g, dir);
1671
+ PageAlertServicefac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: PageAlertService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1672
+ PageAlertService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: PageAlertService, providedIn: 'root' });
1673
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: PageAlertService, decorators: [{
1674
+ type: Injectable,
1675
+ args: [{ providedIn: 'root' }]
1676
+ }], ctorParameters: function () { return []; } });
1677
+
1678
+ class ToasterService {
1679
+ constructor(contentProjectionService) {
1680
+ this.contentProjectionService = contentProjectionService;
1681
+ this.toasts$ = new ReplaySubject(1);
1682
+ this.lastId = -1;
1683
+ this.toasts = [];
1684
+ /**
1685
+ * Removes the toast with given id.
1686
+ * @param id ID of the toast to be removed.
1687
+ */
1688
+ this.remove = (id) => {
1689
+ this.toasts = this.toasts.filter(toast => { var _a; return ((_a = toast.options) === null || _a === void 0 ? void 0 : _a.id) !== id; });
1690
+ this.toasts$.next(this.toasts);
1691
+ };
1692
+ }
1693
+ setContainer() {
1694
+ this.containerComponentRef = this.contentProjectionService.projectContent(PROJECTION_STRATEGY.AppendComponentToBody(ToastContainerComponent, {
1695
+ toasts$: this.toasts$,
1696
+ remove: this.remove,
1697
+ }));
1698
+ this.containerComponentRef.changeDetectorRef.detectChanges();
1699
+ }
1700
+ /**
1701
+ * Creates an info toast with given parameters.
1702
+ * @param message Content of the toast
1703
+ * @param title Title of the toast
1704
+ * @param options Spesific style or structural options for individual toast
1705
+ */
1706
+ info(message, title, options) {
1707
+ return this.show(message, title, 'info', options);
1708
+ }
1709
+ /**
1710
+ * Creates a success toast with given parameters.
1711
+ * @param message Content of the toast
1712
+ * @param title Title of the toast
1713
+ * @param options Spesific style or structural options for individual toast
1714
+ */
1715
+ success(message, title, options) {
1716
+ return this.show(message, title, 'success', options);
1717
+ }
1718
+ /**
1719
+ * Creates a warning toast with given parameters.
1720
+ * @param message Content of the toast
1721
+ * @param title Title of the toast
1722
+ * @param options Spesific style or structural options for individual toast
1723
+ */
1724
+ warn(message, title, options) {
1725
+ return this.show(message, title, 'warning', options);
1726
+ }
1727
+ /**
1728
+ * Creates an error toast with given parameters.
1729
+ * @param message Content of the toast
1730
+ * @param title Title of the toast
1731
+ * @param options Spesific style or structural options for individual toast
1732
+ */
1733
+ error(message, title, options) {
1734
+ return this.show(message, title, 'error', options);
1735
+ }
1736
+ /**
1737
+ * Creates a toast with given parameters.
1738
+ * @param message Content of the toast
1739
+ * @param title Title of the toast
1740
+ * @param severity Sets color of the toast. "success", "warning" etc.
1741
+ * @param options Spesific style or structural options for individual toast
1742
+ */
1743
+ show(message, title = null, severity = 'neutral', options = {}) {
1744
+ if (!this.containerComponentRef)
1745
+ this.setContainer();
1746
+ const id = ++this.lastId;
1747
+ this.toasts.push({
1748
+ message,
1749
+ title,
1750
+ severity,
1751
+ options: Object.assign({ closable: true, id }, options),
1752
+ });
1753
+ this.toasts$.next(this.toasts);
1754
+ return id;
1755
+ }
1756
+ /**
1757
+ * Removes all open toasts at once.
1758
+ */
1759
+ clear(containerKey) {
1760
+ this.toasts = !containerKey
1761
+ ? []
1762
+ : this.toasts.filter(toast => { var _a; return ((_a = toast.options) === null || _a === void 0 ? void 0 : _a.containerKey) !== containerKey; });
1763
+ this.toasts$.next(this.toasts);
1764
+ }
2157
1765
  }
2158
- function initLazyStyleHandler(injector) {
2159
- return () => new LazyStyleHandler(injector);
1766
+ ToasterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ToasterService, deps: [{ token: i2.ContentProjectionService }], target: i0.ɵɵFactoryTarget.Injectable });
1767
+ ToasterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ToasterService, providedIn: 'root' });
1768
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ToasterService, decorators: [{
1769
+ type: Injectable,
1770
+ args: [{
1771
+ providedIn: 'root',
1772
+ }]
1773
+ }], ctorParameters: function () { return [{ type: i2.ContentProjectionService }]; } });
1774
+
1775
+ var styles = `
1776
+ .is-invalid .form-control {
1777
+ border-color: #dc3545;
1778
+ border-style: solid !important;
1779
+ padding-right: calc(1.5em + .75rem);
1780
+ background-image: url(data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e);
1781
+ background-repeat: no-repeat;
1782
+ background-position: right calc(.375em + .1875rem) center;
1783
+ background-size: calc(.75em + .375rem) calc(.75em + .375rem);
1784
+ }
1785
+
1786
+ .is-invalid .invalid-feedback,
1787
+ .is-invalid + * .invalid-feedback {
1788
+ display: block;
1789
+ }
1790
+
1791
+ .data-tables-filter {
1792
+ text-align: right;
1793
+ }
1794
+
1795
+ [dir=rtl] .data-tables-filter {
1796
+ text-align: left;
1797
+ }
1798
+
1799
+ .pointer {
1800
+ cursor: pointer;
1801
+ }
1802
+
1803
+ .navbar .dropdown-submenu a::after {
1804
+ transform: rotate(-90deg);
1805
+ position: absolute;
1806
+ right: 16px;
1807
+ top: 18px;
2160
1808
  }
2161
1809
 
2162
- class NavItem {
2163
- constructor(props) {
2164
- props = Object.assign(Object.assign({}, props), { visible: props.visible || (() => true) });
2165
- Object.assign(this, props);
2166
- }
1810
+ .navbar .dropdown-menu {
1811
+ min-width: 215px;
2167
1812
  }
2168
1813
 
2169
- const NG_BOOTSTRAP_CONFIG_PROVIDERS = [
2170
- {
2171
- provide: APP_INITIALIZER,
2172
- useFactory: configureNgBootstrap,
2173
- deps: [NgbInputDatepickerConfig, NgbTypeaheadConfig],
2174
- multi: true,
2175
- },
2176
- ];
2177
- function configureNgBootstrap(datepicker, typeahead) {
2178
- return () => {
2179
- datepicker.container = 'body';
2180
- typeahead.container = 'body';
2181
- };
1814
+ .datatable-scroll {
1815
+ margin-bottom: 5px !important;
1816
+ width: unset !important;
2182
1817
  }
2183
1818
 
2184
- const THEME_SHARED_ROUTE_PROVIDERS = [
2185
- { provide: APP_INITIALIZER, useFactory: configureRoutes, deps: [RoutesService], multi: true },
2186
- ];
2187
- function configureRoutes(routesService) {
2188
- return () => {
2189
- routesService.add([
2190
- {
2191
- path: undefined,
2192
- name: "AbpUiNavigation::Menu:Administration" /* Administration */,
2193
- iconClass: 'fa fa-wrench',
2194
- order: 100,
2195
- },
2196
- ]);
2197
- };
1819
+ .ui-table-scrollable-body::-webkit-scrollbar {
1820
+ height: 5px !important;
1821
+ width: 5px !important;
2198
1822
  }
2199
1823
 
2200
- /**
2201
- * @deprecated To be removed in v5.0
2202
- */
2203
- class ModalContainerComponent {
2204
- }
2205
- ModalContainerComponent.decorators = [
2206
- { type: Component, args: [{
2207
- selector: 'abp-modal-container',
2208
- template: '<ng-container #container></ng-container>'
2209
- },] }
2210
- ];
2211
- ModalContainerComponent.propDecorators = {
2212
- container: [{ type: ViewChild, args: ['container', { static: true, read: ViewContainerRef },] }]
2213
- };
1824
+ .ui-table-scrollable-body::-webkit-scrollbar-track {
1825
+ background: #ddd;
1826
+ }
2214
1827
 
2215
- /**
2216
- * @deprecated Use ng-bootstrap modal. To be deleted in v5.0.
2217
- */
2218
- class ModalService {
2219
- constructor(contentProjectionService) {
2220
- this.contentProjectionService = contentProjectionService;
2221
- this.setContainer();
2222
- }
2223
- setContainer() {
2224
- this.containerComponentRef = this.contentProjectionService.projectContent(PROJECTION_STRATEGY.AppendComponentToBody(ModalContainerComponent));
2225
- this.containerComponentRef.changeDetectorRef.detectChanges();
2226
- }
2227
- clearModal() {
2228
- this.getContainer().clear();
2229
- this.detectChanges();
2230
- }
2231
- detectChanges() {
2232
- this.containerComponentRef.changeDetectorRef.detectChanges();
2233
- }
2234
- getContainer() {
2235
- return this.containerComponentRef.instance.container;
2236
- }
2237
- renderTemplate(template, context) {
2238
- const containerRef = this.getContainer();
2239
- const strategy = PROJECTION_STRATEGY.ProjectTemplateToContainer(template, containerRef, context);
2240
- this.contentProjectionService.projectContent(strategy);
2241
- }
2242
- ngOnDestroy() {
2243
- this.containerComponentRef.destroy();
2244
- }
2245
- }
2246
- ModalService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ModalService_Factory() { return new ModalService(i0.ɵɵinject(i1.ContentProjectionService)); }, token: ModalService, providedIn: "root" });
2247
- ModalService.decorators = [
2248
- { type: Injectable, args: [{
2249
- providedIn: 'root',
2250
- },] }
2251
- ];
2252
- ModalService.ctorParameters = () => [
2253
- { type: ContentProjectionService }
2254
- ];
1828
+ .ui-table-scrollable-body::-webkit-scrollbar-thumb {
1829
+ background: #8a8686;
1830
+ }
2255
1831
 
2256
- class NavItemsService {
2257
- constructor() {
2258
- this._items$ = new BehaviorSubject([]);
2259
- }
2260
- get items() {
2261
- return this._items$.value;
2262
- }
2263
- get items$() {
2264
- return this._items$.asObservable();
2265
- }
2266
- addItems(newItems) {
2267
- const items = [...this.items];
2268
- newItems.forEach(item => items.push(new NavItem(item)));
2269
- items.sort(sortItems);
2270
- this._items$.next(items);
2271
- }
2272
- removeItem(id) {
2273
- const index = this.items.findIndex(item => item.id === id);
2274
- if (index < 0)
2275
- return;
2276
- const items = [...this.items.slice(0, index), ...this.items.slice(index + 1)];
2277
- this._items$.next(items);
2278
- }
2279
- patchItem(id, item) {
2280
- const index = this.items.findIndex(i => i.id === id);
2281
- if (index < 0)
2282
- return;
2283
- const items = [...this.items];
2284
- items[index] = new NavItem(Object.assign(Object.assign({}, items[index]), item));
2285
- items.sort(sortItems);
2286
- this._items$.next(items);
2287
- }
2288
- }
2289
- NavItemsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function NavItemsService_Factory() { return new NavItemsService(); }, token: NavItemsService, providedIn: "root" });
2290
- NavItemsService.decorators = [
2291
- { type: Injectable, args: [{ providedIn: 'root' },] }
2292
- ];
2293
- function sortItems(a, b) {
2294
- if (!a.order)
2295
- return 1;
2296
- if (!b.order)
2297
- return -1;
2298
- return a.order - b.order;
1832
+ .abp-ellipsis-inline {
1833
+ display: inline-block;
1834
+ overflow: hidden;
1835
+ text-overflow: ellipsis;
1836
+ white-space: nowrap;
2299
1837
  }
2300
1838
 
2301
- class PageAlertService {
2302
- constructor() {
2303
- this.alerts = new InternalStore([]);
2304
- this.alerts$ = this.alerts.sliceState(state => state);
2305
- }
2306
- show(alert) {
2307
- var _a;
2308
- const newAlert = Object.assign(Object.assign({}, alert), { dismissible: (_a = alert.dismissible) !== null && _a !== void 0 ? _a : true });
2309
- this.alerts.set([newAlert, ...this.alerts.state]);
2310
- }
2311
- remove(index) {
2312
- const alerts = [...this.alerts.state];
2313
- alerts.splice(index, 1);
2314
- this.alerts.set(alerts);
2315
- }
2316
- }
2317
- PageAlertService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PageAlertService_Factory() { return new PageAlertService(); }, token: PageAlertService, providedIn: "root" });
2318
- PageAlertService.decorators = [
2319
- { type: Injectable, args: [{ providedIn: 'root' },] }
2320
- ];
2321
- PageAlertService.ctorParameters = () => [];
1839
+ .abp-ellipsis {
1840
+ overflow: hidden !important;
1841
+ text-overflow: ellipsis;
1842
+ white-space: nowrap;
1843
+ }
1844
+
1845
+ .ui-widget-overlay {
1846
+ z-index: 1000;
1847
+ }
1848
+
1849
+ .color-white {
1850
+ color: #FFF !important;
1851
+ }
1852
+
1853
+ .custom-checkbox > label {
1854
+ cursor: pointer;
1855
+ }
1856
+
1857
+ /* <animations */
1858
+
1859
+ .fade-in-top {
1860
+ animation: fadeInTop 0.2s ease-in-out;
1861
+ }
1862
+
1863
+ .fade-out-top {
1864
+ animation: fadeOutTop 0.2s ease-in-out;
1865
+ }
1866
+
1867
+ .abp-collapsed-height {
1868
+ -moz-transition: max-height linear 0.35s;
1869
+ -ms-transition: max-height linear 0.35s;
1870
+ -o-transition: max-height linear 0.35s;
1871
+ -webkit-transition: max-height linear 0.35s;
1872
+ overflow:hidden;
1873
+ transition:max-height 0.35s linear;
1874
+ height:auto;
1875
+ max-height: 0;
1876
+ }
1877
+
1878
+ .abp-mh-25 {
1879
+ max-height: 25vh;
1880
+ }
1881
+
1882
+ .abp-mh-50 {
1883
+ transition:max-height 0.65s linear;
1884
+ max-height: 50vh;
1885
+ }
1886
+
1887
+ .abp-mh-75 {
1888
+ transition:max-height 0.85s linear;
1889
+ max-height: 75vh;
1890
+ }
1891
+
1892
+ .abp-mh-100 {
1893
+ transition:max-height 1s linear;
1894
+ max-height: 100vh;
1895
+ }
1896
+
1897
+ [class^="sorting"] {
1898
+ opacity: .3;
1899
+ cursor: pointer;
1900
+ }
1901
+ [class^="sorting"]:before {
1902
+ right: 0.5rem;
1903
+ content: "↑";
1904
+ }
1905
+ [class^="sorting"]:after {
1906
+ right: 0.5rem;
1907
+ content: "↓";
1908
+ }
1909
+
1910
+ .sorting_desc {
1911
+ opacity: 1;
1912
+ }
1913
+ .sorting_desc:before {
1914
+ opacity: .3;
1915
+ }
1916
+
1917
+ .sorting_asc {
1918
+ opacity: 1;
1919
+ }
1920
+ .sorting_asc:after {
1921
+ opacity: .3;
1922
+ }
1923
+ .ngx-datatable.material {
1924
+ box-shadow: none;
1925
+ }
1926
+ ngb-typeahead-window, ngb-typeahead-window.dropdown-menu {
1927
+ max-height: 25em;
1928
+ overflow-y: scroll !important;
1929
+ z-index: 1050;
1930
+ }
1931
+
1932
+ @keyframes fadeInTop {
1933
+ from {
1934
+ transform: translateY(-5px);
1935
+ opacity: 0;
1936
+ }
1937
+
1938
+ to {
1939
+ transform: translateY(0px);
1940
+ opacity: 1;
1941
+ }
1942
+ }
1943
+
1944
+ @keyframes fadeOutTop {
1945
+ to {
1946
+ transform: translateY(-5px);
1947
+ opacity: 0;
1948
+ }
1949
+ }
1950
+
1951
+ /* </animations */
1952
+ .ngb-dp-body {
1953
+ z-index: 1055 !important;
1954
+ }
1955
+ `;
2322
1956
 
2323
1957
  const THEME_SHARED_APPEND_CONTENT = new InjectionToken('THEME_SHARED_APPEND_CONTENT', {
2324
1958
  providedIn: 'root',
2325
1959
  factory: () => {
2326
1960
  const domInsertion = inject(DomInsertionService);
2327
1961
  domInsertion.insertContent(CONTENT_STRATEGY.AppendStyleToHead(styles));
2328
- import('chart.js').then(() => chartJsLoaded$.next(true));
2329
1962
  },
2330
1963
  });
2331
1964
 
@@ -2364,63 +1997,98 @@ class DateParserFormatter extends NgbDateParserFormatter {
2364
1997
  return null;
2365
1998
  }
2366
1999
  format(date) {
2000
+ var _a, _b;
2367
2001
  if (!date)
2368
2002
  return '';
2369
2003
  const localization = this.configState.getOne('localization');
2370
- const dateFormat = snq(() => localization.currentCulture.dateTimeFormat.shortDatePattern) || 'yyyy-MM-dd';
2004
+ const dateFormat = ((_b = (_a = localization.currentCulture) === null || _a === void 0 ? void 0 : _a.dateTimeFormat) === null || _b === void 0 ? void 0 : _b.shortDatePattern) || 'yyyy-MM-dd';
2371
2005
  return formatDate(new Date(date.year, date.month - 1, date.day), dateFormat, this.locale);
2372
2006
  }
2373
2007
  }
2374
- DateParserFormatter.decorators = [
2375
- { type: Injectable }
2376
- ];
2377
- DateParserFormatter.ctorParameters = () => [
2378
- { type: ConfigStateService },
2379
- { type: String, decorators: [{ type: Inject, args: [LOCALE_ID,] }] }
2380
- ];
2008
+ DateParserFormatter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: DateParserFormatter, deps: [{ token: i2.ConfigStateService }, { token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Injectable });
2009
+ DateParserFormatter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: DateParserFormatter });
2010
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: DateParserFormatter, decorators: [{
2011
+ type: Injectable
2012
+ }], ctorParameters: function () { return [{ type: i2.ConfigStateService }, { type: undefined, decorators: [{
2013
+ type: Inject,
2014
+ args: [LOCALE_ID]
2015
+ }] }]; } });
2381
2016
 
2382
2017
  const declarationsWithExports = [
2383
2018
  BreadcrumbComponent,
2019
+ BreadcrumbItemsComponent,
2384
2020
  ButtonComponent,
2385
- ChartComponent,
2386
2021
  ConfirmationComponent,
2387
2022
  LoaderBarComponent,
2388
2023
  LoadingComponent,
2389
2024
  ModalComponent,
2390
- TableComponent,
2391
- TableEmptyMessageComponent,
2392
2025
  ToastComponent,
2393
2026
  ToastContainerComponent,
2394
- SortOrderIconComponent,
2395
2027
  NgxDatatableDefaultDirective,
2396
2028
  NgxDatatableListDirective,
2397
2029
  LoadingDirective,
2398
- TableSortDirective,
2399
2030
  ModalCloseDirective,
2400
2031
  ];
2401
2032
  class BaseThemeSharedModule {
2402
2033
  }
2403
- BaseThemeSharedModule.decorators = [
2404
- { type: NgModule, args: [{
2405
- imports: [
2406
- CoreModule,
2407
- NgxDatatableModule,
2408
- NgxValidateCoreModule,
2409
- NgbPaginationModule,
2410
- EllipsisModule,
2411
- ],
2412
- declarations: [...declarationsWithExports, HttpErrorWrapperComponent, ModalContainerComponent],
2413
- exports: [NgxDatatableModule, EllipsisModule, ...declarationsWithExports],
2414
- providers: [DatePipe],
2415
- entryComponents: [
2416
- HttpErrorWrapperComponent,
2417
- LoadingComponent,
2418
- ModalContainerComponent,
2419
- ToastContainerComponent,
2420
- ConfirmationComponent,
2421
- ],
2422
- },] }
2423
- ];
2034
+ BaseThemeSharedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: BaseThemeSharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2035
+ BaseThemeSharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: BaseThemeSharedModule, declarations: [BreadcrumbComponent,
2036
+ BreadcrumbItemsComponent,
2037
+ ButtonComponent,
2038
+ ConfirmationComponent,
2039
+ LoaderBarComponent,
2040
+ LoadingComponent,
2041
+ ModalComponent,
2042
+ ToastComponent,
2043
+ ToastContainerComponent,
2044
+ NgxDatatableDefaultDirective,
2045
+ NgxDatatableListDirective,
2046
+ LoadingDirective,
2047
+ ModalCloseDirective, HttpErrorWrapperComponent], imports: [CoreModule,
2048
+ NgxDatatableModule,
2049
+ NgxValidateCoreModule,
2050
+ NgbPaginationModule,
2051
+ EllipsisModule], exports: [NgxDatatableModule, EllipsisModule, BreadcrumbComponent,
2052
+ BreadcrumbItemsComponent,
2053
+ ButtonComponent,
2054
+ ConfirmationComponent,
2055
+ LoaderBarComponent,
2056
+ LoadingComponent,
2057
+ ModalComponent,
2058
+ ToastComponent,
2059
+ ToastContainerComponent,
2060
+ NgxDatatableDefaultDirective,
2061
+ NgxDatatableListDirective,
2062
+ LoadingDirective,
2063
+ ModalCloseDirective] });
2064
+ BaseThemeSharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: BaseThemeSharedModule, providers: [DatePipe], imports: [[
2065
+ CoreModule,
2066
+ NgxDatatableModule,
2067
+ NgxValidateCoreModule,
2068
+ NgbPaginationModule,
2069
+ EllipsisModule,
2070
+ ], NgxDatatableModule, EllipsisModule] });
2071
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: BaseThemeSharedModule, decorators: [{
2072
+ type: NgModule,
2073
+ args: [{
2074
+ imports: [
2075
+ CoreModule,
2076
+ NgxDatatableModule,
2077
+ NgxValidateCoreModule,
2078
+ NgbPaginationModule,
2079
+ EllipsisModule,
2080
+ ],
2081
+ declarations: [...declarationsWithExports, HttpErrorWrapperComponent],
2082
+ exports: [NgxDatatableModule, EllipsisModule, ...declarationsWithExports],
2083
+ providers: [DatePipe],
2084
+ entryComponents: [
2085
+ HttpErrorWrapperComponent,
2086
+ LoadingComponent,
2087
+ ToastContainerComponent,
2088
+ ConfirmationComponent,
2089
+ ],
2090
+ }]
2091
+ }] });
2424
2092
  class ThemeSharedModule {
2425
2093
  static forRoot({ httpErrorConfig, validation = {} } = {}) {
2426
2094
  return {
@@ -2439,12 +2107,6 @@ class ThemeSharedModule {
2439
2107
  deps: [THEME_SHARED_APPEND_CONTENT],
2440
2108
  useFactory: noop,
2441
2109
  },
2442
- {
2443
- provide: APP_INITIALIZER,
2444
- multi: true,
2445
- deps: [Injector],
2446
- useFactory: initLazyStyleHandler,
2447
- },
2448
2110
  { provide: HTTP_ERROR_CONFIG, useValue: httpErrorConfig },
2449
2111
  {
2450
2112
  provide: 'HTTP_ERROR_CONFIG',
@@ -2465,16 +2127,27 @@ class ThemeSharedModule {
2465
2127
  provide: VALIDATION_VALIDATE_ON_SUBMIT,
2466
2128
  useValue: validation.validateOnSubmit,
2467
2129
  },
2130
+ DocumentDirHandlerService,
2131
+ {
2132
+ provide: APP_INITIALIZER,
2133
+ useFactory: noop,
2134
+ multi: true,
2135
+ deps: [DocumentDirHandlerService],
2136
+ },
2468
2137
  ],
2469
2138
  };
2470
2139
  }
2471
2140
  }
2472
- ThemeSharedModule.decorators = [
2473
- { type: NgModule, args: [{
2474
- imports: [BaseThemeSharedModule],
2475
- exports: [BaseThemeSharedModule],
2476
- },] }
2477
- ];
2141
+ ThemeSharedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ThemeSharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2142
+ ThemeSharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ThemeSharedModule, imports: [BaseThemeSharedModule], exports: [BaseThemeSharedModule] });
2143
+ ThemeSharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ThemeSharedModule, imports: [[BaseThemeSharedModule], BaseThemeSharedModule] });
2144
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ThemeSharedModule, decorators: [{
2145
+ type: NgModule,
2146
+ args: [{
2147
+ imports: [BaseThemeSharedModule],
2148
+ exports: [BaseThemeSharedModule],
2149
+ }]
2150
+ }] });
2478
2151
 
2479
2152
  const { minLength, maxLength } = Validators;
2480
2153
  function getPasswordValidators(injector) {
@@ -2514,5 +2187,5 @@ function getRuleFn(injector) {
2514
2187
  * Generated bundle index. Do not edit.
2515
2188
  */
2516
2189
 
2517
- export { BOOTSTRAP, BaseThemeSharedModule, BreadcrumbComponent, ButtonComponent, ChartComponent, Confirmation, ConfirmationComponent, ConfirmationService, DEFAULT_ERROR_LOCALIZATIONS, DEFAULT_ERROR_MESSAGES, DEFAULT_VALIDATION_BLUEPRINTS, DateParserFormatter, EllipsisDirective, EllipsisModule, ErrorHandler, HTTP_ERROR_CONFIG, HTTP_ERROR_HANDLER, HttpErrorWrapperComponent, LAZY_STYLES, LazyStyleHandler, LoaderBarComponent, LoadingComponent, LoadingDirective, ModalCloseDirective, ModalComponent, ModalRefService, ModalService, NGX_DATATABLE_MESSAGES, NG_BOOTSTRAP_CONFIG_PROVIDERS, NavItem, NavItemsService, NgxDatatableDefaultDirective, NgxDatatableListDirective, PageAlertService, SUPPRESS_UNSAVED_CHANGES_WARNING, SortOrderIconComponent, THEME_SHARED_APPEND_CONTENT, THEME_SHARED_ROUTE_PROVIDERS, TableComponent, TableEmptyMessageComponent, TableSortDirective, ThemeSharedModule, ToastComponent, ToastContainerComponent, ToasterService, bounceIn, chartJsLoaded$, collapse, collapseLinearWithMargin, collapseWithMargin, collapseX, collapseY, collapseYWithMargin, configureNgBootstrap, configureRoutes, createLazyStyleHref, defaultNgxDatatableMessages, dialogAnimation, expandX, expandY, expandYWithMargin, fadeAnimation, fadeIn, fadeInDown, fadeInLeft, fadeInRight, fadeInUp, fadeOut, fadeOutDown, fadeOutLeft, fadeOutRight, fadeOutUp, getPasswordValidators, getRandomBackgroundColor, httpErrorConfigFactory, initLazyStyleHandler, slideFromBottom, toastInOut, EllipsisDirective as ɵa, EllipsisModule as ɵb, HttpErrorWrapperComponent as ɵba, ModalContainerComponent as ɵbb, ErrorHandler as ɵbc, THEME_SHARED_ROUTE_PROVIDERS as ɵbe, configureRoutes as ɵbf, THEME_SHARED_APPEND_CONTENT as ɵbg, initLazyStyleHandler as ɵbh, httpErrorConfigFactory as ɵbi, HTTP_ERROR_CONFIG as ɵbj, DateParserFormatter as ɵbk, NG_BOOTSTRAP_CONFIG_PROVIDERS as ɵbl, BreadcrumbComponent as ɵc, ButtonComponent as ɵd, ChartComponent as ɵe, ConfirmationComponent as ɵf, LoaderBarComponent as ɵg, LoadingComponent as ɵh, ModalComponent as ɵi, SUPPRESS_UNSAVED_CHANGES_WARNING as ɵj, ConfirmationService as ɵk, ModalRefService as ɵl, TableComponent as ɵm, TableEmptyMessageComponent as ɵn, ToastComponent as ɵo, ToasterService as ɵp, ToastContainerComponent as ɵq, toastInOut as ɵr, SortOrderIconComponent as ɵs, NgxDatatableDefaultDirective as ɵt, NgxDatatableListDirective as ɵu, NGX_DATATABLE_MESSAGES as ɵw, LoadingDirective as ɵx, TableSortDirective as ɵy, ModalCloseDirective as ɵz };
2190
+ export { BaseThemeSharedModule, BreadcrumbComponent, BreadcrumbItemsComponent, ButtonComponent, Confirmation, ConfirmationComponent, ConfirmationService, DEFAULT_ERROR_LOCALIZATIONS, DEFAULT_ERROR_MESSAGES, DEFAULT_VALIDATION_BLUEPRINTS, DateParserFormatter, DocumentDirHandlerService, EllipsisDirective, EllipsisModule, ErrorHandler, HTTP_ERROR_CONFIG, HTTP_ERROR_HANDLER, HttpErrorWrapperComponent, LoaderBarComponent, LoadingComponent, LoadingDirective, ModalCloseDirective, ModalComponent, ModalRefService, NGX_DATATABLE_MESSAGES, NG_BOOTSTRAP_CONFIG_PROVIDERS, NavItem, NavItemsService, NgxDatatableDefaultDirective, NgxDatatableListDirective, PageAlertService, SUPPRESS_UNSAVED_CHANGES_WARNING, THEME_SHARED_APPEND_CONTENT, THEME_SHARED_ROUTE_PROVIDERS, ThemeSharedModule, ToastComponent, ToastContainerComponent, ToasterService, bounceIn, collapse, collapseLinearWithMargin, collapseWithMargin, collapseX, collapseY, collapseYWithMargin, configureNgBootstrap, configureRoutes, defaultNgxDatatableMessages, dialogAnimation, expandX, expandY, expandYWithMargin, fadeAnimation, fadeIn, fadeInDown, fadeInLeft, fadeInRight, fadeInUp, fadeOut, fadeOutDown, fadeOutLeft, fadeOutRight, fadeOutUp, getPasswordValidators, httpErrorConfigFactory, slideFromBottom, toastInOut };
2518
2191
  //# sourceMappingURL=abp-ng.theme.shared.js.map