zek 14.2.91 → 16.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (429) hide show
  1. package/README.md +1 -1
  2. package/{esm2020 → esm2022}/lib/components/args.mjs +1 -1
  3. package/esm2022/lib/components/base.component.mjs +97 -0
  4. package/esm2022/lib/components/core-ui.component.mjs +195 -0
  5. package/esm2022/lib/components/core.component.mjs +40 -0
  6. package/esm2022/lib/components/edit-base.component.mjs +237 -0
  7. package/{esm2020 → esm2022}/lib/components/index.mjs +7 -7
  8. package/esm2022/lib/components/list-base.component.mjs +254 -0
  9. package/{esm2020 → esm2022}/lib/components/types.mjs +1 -1
  10. package/{esm2020 → esm2022}/lib/models/alert-type.mjs +11 -11
  11. package/{esm2020 → esm2022}/lib/models/captcha.model.mjs +1 -1
  12. package/{esm2020 → esm2022}/lib/models/ctor.mjs +1 -1
  13. package/{esm2020 → esm2022}/lib/models/edit-base.model.mjs +2 -2
  14. package/{esm2020 → esm2022}/lib/models/file.model.mjs +19 -19
  15. package/{esm2020 → esm2022}/lib/models/filter.model.mjs +11 -11
  16. package/{esm2020 → esm2022}/lib/models/gender.model.mjs +5 -5
  17. package/{esm2020 → esm2022}/lib/models/index.mjs +17 -17
  18. package/{esm2020 → esm2022}/lib/models/key-pair.model.mjs +13 -13
  19. package/{esm2020 → esm2022}/lib/models/list-base.model.mjs +2 -2
  20. package/{esm2020 → esm2022}/lib/models/login.model.mjs +1 -1
  21. package/{esm2020 → esm2022}/lib/models/month.model.mjs +15 -15
  22. package/{esm2020 → esm2022}/lib/models/nav.model.mjs +1 -1
  23. package/{esm2020 → esm2022}/lib/models/pager.model.mjs +31 -31
  24. package/{esm2020 → esm2022}/lib/models/print.model.mjs +5 -5
  25. package/{esm2020 → esm2022}/lib/models/tree.model.mjs +3 -3
  26. package/{esm2020 → esm2022}/lib/models/valid-event-args.model.mjs +5 -5
  27. package/esm2022/lib/modules/age/age.module.mjs +23 -0
  28. package/esm2022/lib/modules/age/age.pipe.mjs +22 -0
  29. package/{esm2020 → esm2022}/lib/modules/age/index.mjs +2 -2
  30. package/esm2022/lib/modules/alert/alert/alert.mjs +55 -0
  31. package/esm2022/lib/modules/alert/alert.module.mjs +36 -0
  32. package/{esm2020 → esm2022}/lib/modules/alert/index.mjs +5 -5
  33. package/esm2022/lib/modules/alert/toast/toast.mjs +110 -0
  34. package/esm2022/lib/modules/alert/validation/validation.mjs +86 -0
  35. package/esm2022/lib/modules/autocomplete/autocomplete.directive.mjs +25 -0
  36. package/esm2022/lib/modules/autocomplete/autocomplete.module.mjs +23 -0
  37. package/{esm2020 → esm2022}/lib/modules/autocomplete/index.mjs +2 -2
  38. package/esm2022/lib/modules/bb/bb-modal-base.component.mjs +75 -0
  39. package/esm2022/lib/modules/bb/bb-modal-toolbar.mjs +45 -0
  40. package/esm2022/lib/modules/bb/bb.component.mjs +189 -0
  41. package/esm2022/lib/modules/bb/bb.module.mjs +38 -0
  42. package/{esm2020 → esm2022}/lib/modules/bb/index.mjs +4 -4
  43. package/esm2022/lib/modules/callback/callback.module.mjs +23 -0
  44. package/esm2022/lib/modules/callback/callback.pipe.mjs +23 -0
  45. package/{esm2020 → esm2022}/lib/modules/callback/index.mjs +2 -2
  46. package/esm2022/lib/modules/card/card/card.component.mjs +48 -0
  47. package/esm2022/lib/modules/card/card.module.mjs +19 -0
  48. package/{esm2020 → esm2022}/lib/modules/card/index.mjs +2 -2
  49. package/esm2022/lib/modules/date-ago/date-ago.pipe.mjs +47 -0
  50. package/esm2022/lib/modules/date-ago/date.module.mjs +23 -0
  51. package/{esm2020 → esm2022}/lib/modules/date-ago/index.mjs +2 -2
  52. package/esm2022/lib/modules/datepicker/date-value-accessor.mjs +189 -0
  53. package/esm2022/lib/modules/datepicker/datepicker.module.mjs +32 -0
  54. package/{esm2020 → esm2022}/lib/modules/datepicker/index.mjs +2 -2
  55. package/esm2022/lib/modules/edit-toolbar/edit-toolbar.component.mjs +75 -0
  56. package/esm2022/lib/modules/edit-toolbar/edit-toolbar.module.mjs +27 -0
  57. package/{esm2020 → esm2022}/lib/modules/edit-toolbar/index.mjs +2 -2
  58. package/esm2022/lib/modules/file/file-size.pipe.mjs +48 -0
  59. package/esm2022/lib/modules/file/file.module.mjs +23 -0
  60. package/{esm2020 → esm2022}/lib/modules/file/index.mjs +2 -2
  61. package/esm2022/lib/modules/file-viewer/file-viewer.mjs +52 -0
  62. package/{esm2020 → esm2022}/lib/modules/file-viewer/index.mjs +2 -2
  63. package/esm2022/lib/modules/file-viewer/module.mjs +31 -0
  64. package/esm2022/lib/modules/grid-toolbar/grid-toolbar/grid-toolbar.component.mjs +146 -0
  65. package/esm2022/lib/modules/grid-toolbar/grid-toolbar-bar/grid-toolbar-bar.component.mjs +15 -0
  66. package/esm2022/lib/modules/grid-toolbar/grid-toolbar.module.mjs +34 -0
  67. package/{esm2020 → esm2022}/lib/modules/grid-toolbar/index.mjs +3 -3
  68. package/{esm2020 → esm2022}/lib/modules/index.mjs +32 -32
  69. package/{esm2020 → esm2022}/lib/modules/list-toolbar/index.mjs +2 -2
  70. package/esm2022/lib/modules/list-toolbar/list-toolbar.component.mjs +110 -0
  71. package/esm2022/lib/modules/list-toolbar/list-toolbar.module.mjs +25 -0
  72. package/{esm2020 → esm2022}/lib/modules/loading/index.mjs +3 -3
  73. package/esm2022/lib/modules/loading/loading-interceptor.mjs +80 -0
  74. package/esm2022/lib/modules/loading/loading.component.mjs +36 -0
  75. package/esm2022/lib/modules/loading/loading.module.mjs +33 -0
  76. package/esm2022/lib/modules/modal/filter-modal/filter-modal.component.mjs +27 -0
  77. package/{esm2020 → esm2022}/lib/modules/modal/index.mjs +4 -4
  78. package/esm2022/lib/modules/modal/modal/modal.component.mjs +313 -0
  79. package/esm2022/lib/modules/modal/modal.module.mjs +63 -0
  80. package/esm2022/lib/modules/modal/sum-modal/sum-modal.component.mjs +28 -0
  81. package/{esm2020 → esm2022}/lib/modules/page-title/index.mjs +2 -2
  82. package/esm2022/lib/modules/page-title/page-title.component.mjs +32 -0
  83. package/esm2022/lib/modules/page-title/page-title.module.mjs +27 -0
  84. package/{esm2020 → esm2022}/lib/modules/pager/index.mjs +2 -2
  85. package/esm2022/lib/modules/pager/pager/pager.component.mjs +51 -0
  86. package/esm2022/lib/modules/pager/pager.module.mjs +27 -0
  87. package/{esm2020 → esm2022}/lib/modules/password/index.mjs +2 -2
  88. package/{esm2020 → esm2022}/lib/modules/password/password.component.mjs +48 -47
  89. package/esm2022/lib/modules/password/password.module.mjs +31 -0
  90. package/{esm2020 → esm2022}/lib/modules/progress/index.mjs +2 -2
  91. package/esm2022/lib/modules/progress/module.mjs +27 -0
  92. package/esm2022/lib/modules/progress/progress.mjs +98 -0
  93. package/{esm2020 → esm2022}/lib/modules/radio/index.mjs +2 -2
  94. package/esm2022/lib/modules/radio/radio-button.component.mjs +135 -0
  95. package/esm2022/lib/modules/radio/radio.module.mjs +23 -0
  96. package/{esm2020 → esm2022}/lib/modules/readonly/index.mjs +2 -2
  97. package/esm2022/lib/modules/readonly/readonly.directive.mjs +26 -0
  98. package/esm2022/lib/modules/readonly/readonly.module.mjs +23 -0
  99. package/{esm2020 → esm2022}/lib/modules/recaptcha/index.mjs +3 -3
  100. package/{esm2020 → esm2022}/lib/modules/recaptcha/loader.mjs +12 -12
  101. package/{esm2020 → esm2022}/lib/modules/recaptcha/recaptcha.model.mjs +1 -1
  102. package/esm2022/lib/modules/recaptcha/recaptcha.module.mjs +33 -0
  103. package/esm2022/lib/modules/recaptcha/recaptcha.service.mjs +120 -0
  104. package/{esm2020 → esm2022}/lib/modules/safe/index.mjs +2 -2
  105. package/esm2022/lib/modules/safe/safe.module.mjs +21 -0
  106. package/esm2022/lib/modules/safe/safe.pipe.mjs +38 -0
  107. package/{esm2020 → esm2022}/lib/modules/select/index.mjs +2 -2
  108. package/{esm2020 → esm2022}/lib/modules/select/model.mjs +3 -3
  109. package/esm2022/lib/modules/select/module.mjs +29 -0
  110. package/esm2022/lib/modules/select/select.mjs +199 -0
  111. package/{esm2020 → esm2022}/lib/modules/select2/index.mjs +2 -2
  112. package/esm2022/lib/modules/select2/select2.component.mjs +171 -0
  113. package/esm2022/lib/modules/select2/select2.module.mjs +29 -0
  114. package/{esm2020 → esm2022}/lib/modules/select2-multiple/index.mjs +2 -2
  115. package/esm2022/lib/modules/select2-multiple/select2-multiple.component.mjs +133 -0
  116. package/esm2022/lib/modules/select2-multiple/select2-multiple.module.mjs +29 -0
  117. package/{esm2020 → esm2022}/lib/modules/sort/index.mjs +3 -3
  118. package/esm2022/lib/modules/sort/sort-button-group/sort-button-group.component.mjs +80 -0
  119. package/esm2022/lib/modules/sort/sort.directive.mjs +118 -0
  120. package/esm2022/lib/modules/sort/sort.module.mjs +34 -0
  121. package/{esm2020 → esm2022}/lib/modules/time/index.mjs +3 -3
  122. package/esm2022/lib/modules/time/time.module.mjs +28 -0
  123. package/esm2022/lib/modules/time/time.pipe.mjs +41 -0
  124. package/esm2022/lib/modules/time/timer-service.mjs +90 -0
  125. package/{esm2020 → esm2022}/lib/modules/validator/field-validator.mjs +21 -20
  126. package/{esm2020 → esm2022}/lib/modules/validator/index.mjs +2 -2
  127. package/esm2022/lib/modules/validator/validator.module.mjs +27 -0
  128. package/esm2022/lib/modules/validators/directive.mjs +76 -0
  129. package/{esm2020 → esm2022}/lib/modules/validators/index.mjs +3 -3
  130. package/esm2022/lib/modules/validators/module.mjs +23 -0
  131. package/{esm2020 → esm2022}/lib/modules/validators/validator.mjs +71 -71
  132. package/{esm2020 → esm2022}/lib/modules/wizard/index.mjs +3 -3
  133. package/esm2022/lib/modules/wizard/wizard/wizard.component.mjs +66 -0
  134. package/esm2022/lib/modules/wizard/wizard.module.mjs +34 -0
  135. package/esm2022/lib/modules/wizard/wizard2/wizard2.component.mjs +14 -0
  136. package/esm2022/lib/services/alert.service.mjs +77 -0
  137. package/esm2022/lib/services/auth-guard.service.mjs +29 -0
  138. package/esm2022/lib/services/auth.service.mjs +204 -0
  139. package/{esm2020 → esm2022}/lib/services/base.service.mjs +7 -7
  140. package/{esm2020 → esm2022}/lib/services/crud.service.mjs +42 -42
  141. package/esm2022/lib/services/http-error-handler.service.mjs +142 -0
  142. package/{esm2020 → esm2022}/lib/services/index.mjs +6 -6
  143. package/esm2022/lib/services/web.api.mjs +127 -0
  144. package/{esm2020 → esm2022}/lib/tokens.mjs +5 -5
  145. package/{esm2020 → esm2022}/lib/utils/array-helper.mjs +113 -113
  146. package/{esm2020 → esm2022}/lib/utils/base64-helper.mjs +8 -8
  147. package/{esm2020 → esm2022}/lib/utils/bitwise-helper.mjs +13 -13
  148. package/{esm2020 → esm2022}/lib/utils/bootstrap.helper.mjs +126 -126
  149. package/{esm2020 → esm2022}/lib/utils/convert.mjs +34 -34
  150. package/{esm2020 → esm2022}/lib/utils/css-helper.mjs +40 -40
  151. package/esm2022/lib/utils/date-helper.mjs +236 -0
  152. package/{esm2020 → esm2022}/lib/utils/file.helper.mjs +25 -25
  153. package/{esm2020 → esm2022}/lib/utils/filter-helper.mjs +12 -12
  154. package/{esm2020 → esm2022}/lib/utils/handler.mjs +23 -23
  155. package/{esm2020 → esm2022}/lib/utils/html-helper.mjs +65 -65
  156. package/{esm2020 → esm2022}/lib/utils/index.mjs +22 -22
  157. package/{esm2020 → esm2022}/lib/utils/math-helper.mjs +6 -6
  158. package/{esm2020 → esm2022}/lib/utils/object-helper.mjs +63 -63
  159. package/{esm2020 → esm2022}/lib/utils/overlap-helper.mjs +72 -72
  160. package/{esm2020 → esm2022}/lib/utils/pager-helper.mjs +62 -62
  161. package/{esm2020 → esm2022}/lib/utils/random-helper.mjs +10 -10
  162. package/{esm2020 → esm2022}/lib/utils/storage-helper.mjs +27 -27
  163. package/{esm2020 → esm2022}/lib/utils/string-helper.mjs +31 -31
  164. package/{esm2020 → esm2022}/lib/utils/thenBy.mjs +40 -40
  165. package/{esm2020 → esm2022}/lib/utils/time-helper.mjs +46 -46
  166. package/{esm2020 → esm2022}/lib/utils/url-helper.mjs +25 -25
  167. package/esm2022/lib/utils/validation-helper.mjs +11 -0
  168. package/esm2022/lib/zek.module.mjs +34 -0
  169. package/{esm2020 → esm2022}/public-api.mjs +10 -10
  170. package/{esm2020 → esm2022}/zek.mjs +4 -4
  171. package/{fesm2020 → fesm2022}/zek.mjs +6415 -6404
  172. package/fesm2022/zek.mjs.map +1 -0
  173. package/index.d.ts +5 -5
  174. package/lib/components/args.d.ts +5 -5
  175. package/lib/components/base.component.d.ts +24 -24
  176. package/lib/components/core-ui.component.d.ts +86 -86
  177. package/lib/components/core.component.d.ts +15 -15
  178. package/lib/components/edit-base.component.d.ts +59 -59
  179. package/lib/components/index.d.ts +7 -7
  180. package/lib/components/list-base.component.d.ts +61 -61
  181. package/lib/components/types.d.ts +3 -3
  182. package/lib/models/alert-type.d.ts +10 -10
  183. package/lib/models/captcha.model.d.ts +3 -3
  184. package/lib/models/ctor.d.ts +3 -3
  185. package/lib/models/edit-base.model.d.ts +5 -5
  186. package/lib/models/file.model.d.ts +14 -14
  187. package/lib/models/filter.model.d.ts +9 -9
  188. package/lib/models/gender.model.d.ts +4 -4
  189. package/lib/models/index.d.ts +16 -16
  190. package/lib/models/key-pair.model.d.ts +14 -14
  191. package/lib/models/list-base.model.d.ts +4 -4
  192. package/lib/models/login.model.d.ts +28 -28
  193. package/lib/models/month.model.d.ts +14 -14
  194. package/lib/models/nav.model.d.ts +19 -19
  195. package/lib/models/pager.model.d.ts +21 -21
  196. package/lib/models/print.model.d.ts +4 -4
  197. package/lib/models/tree.model.d.ts +8 -8
  198. package/lib/models/valid-event-args.model.d.ts +3 -3
  199. package/lib/modules/age/age.module.d.ts +8 -8
  200. package/lib/modules/age/age.pipe.d.ts +7 -7
  201. package/lib/modules/age/index.d.ts +2 -2
  202. package/lib/modules/alert/alert/alert.d.ts +16 -16
  203. package/lib/modules/alert/alert.module.d.ts +10 -10
  204. package/lib/modules/alert/index.d.ts +5 -5
  205. package/lib/modules/alert/toast/toast.d.ts +20 -20
  206. package/lib/modules/alert/validation/validation.d.ts +17 -17
  207. package/lib/modules/autocomplete/autocomplete.directive.d.ts +11 -11
  208. package/lib/modules/autocomplete/autocomplete.module.d.ts +8 -8
  209. package/lib/modules/autocomplete/index.d.ts +2 -2
  210. package/lib/modules/bb/bb-modal-base.component.d.ts +26 -26
  211. package/lib/modules/bb/bb-modal-toolbar.d.ts +16 -16
  212. package/lib/modules/bb/bb.component.d.ts +52 -52
  213. package/lib/modules/bb/bb.module.d.ts +11 -11
  214. package/lib/modules/bb/index.d.ts +4 -4
  215. package/lib/modules/callback/callback.module.d.ts +8 -8
  216. package/lib/modules/callback/callback.pipe.d.ts +7 -7
  217. package/lib/modules/callback/index.d.ts +2 -2
  218. package/lib/modules/card/card/card.component.d.ts +21 -21
  219. package/lib/modules/card/card.module.d.ts +8 -8
  220. package/lib/modules/card/index.d.ts +2 -2
  221. package/lib/modules/date-ago/date-ago.pipe.d.ts +7 -7
  222. package/lib/modules/date-ago/date.module.d.ts +8 -8
  223. package/lib/modules/date-ago/index.d.ts +2 -2
  224. package/lib/modules/datepicker/date-value-accessor.d.ts +24 -24
  225. package/lib/modules/datepicker/datepicker.module.d.ts +14 -14
  226. package/lib/modules/datepicker/index.d.ts +2 -2
  227. package/lib/modules/edit-toolbar/edit-toolbar.component.d.ts +25 -25
  228. package/lib/modules/edit-toolbar/edit-toolbar.module.d.ts +9 -9
  229. package/lib/modules/edit-toolbar/index.d.ts +2 -2
  230. package/lib/modules/file/file-size.pipe.d.ts +8 -8
  231. package/lib/modules/file/file.module.d.ts +8 -8
  232. package/lib/modules/file/index.d.ts +2 -2
  233. package/lib/modules/file-viewer/file-viewer.d.ts +10 -10
  234. package/lib/modules/file-viewer/index.d.ts +2 -2
  235. package/lib/modules/file-viewer/module.d.ts +10 -10
  236. package/lib/modules/grid-toolbar/grid-toolbar/grid-toolbar.component.d.ts +50 -50
  237. package/lib/modules/grid-toolbar/grid-toolbar-bar/grid-toolbar-bar.component.d.ts +6 -6
  238. package/lib/modules/grid-toolbar/grid-toolbar.module.d.ts +10 -10
  239. package/lib/modules/grid-toolbar/index.d.ts +3 -3
  240. package/lib/modules/index.d.ts +31 -31
  241. package/lib/modules/list-toolbar/index.d.ts +2 -2
  242. package/lib/modules/list-toolbar/list-toolbar.component.d.ts +41 -41
  243. package/lib/modules/list-toolbar/list-toolbar.module.d.ts +9 -9
  244. package/lib/modules/loading/index.d.ts +2 -2
  245. package/lib/modules/loading/loading-interceptor.d.ts +21 -21
  246. package/lib/modules/loading/loading.component.d.ts +13 -13
  247. package/lib/modules/loading/loading.module.d.ts +8 -8
  248. package/lib/modules/modal/filter-modal/filter-modal.component.d.ts +10 -10
  249. package/lib/modules/modal/index.d.ts +4 -4
  250. package/lib/modules/modal/modal/modal.component.d.ts +90 -90
  251. package/lib/modules/modal/modal.module.d.ts +12 -12
  252. package/lib/modules/modal/sum-modal/sum-modal.component.d.ts +8 -8
  253. package/lib/modules/page-title/index.d.ts +2 -2
  254. package/lib/modules/page-title/page-title.component.d.ts +12 -12
  255. package/lib/modules/page-title/page-title.module.d.ts +9 -9
  256. package/lib/modules/pager/index.d.ts +2 -2
  257. package/lib/modules/pager/pager/pager.component.d.ts +17 -17
  258. package/lib/modules/pager/pager.module.d.ts +9 -9
  259. package/lib/modules/password/index.d.ts +2 -2
  260. package/lib/modules/password/password.component.d.ts +18 -18
  261. package/lib/modules/password/password.module.d.ts +10 -10
  262. package/lib/modules/progress/index.d.ts +2 -2
  263. package/lib/modules/progress/module.d.ts +9 -9
  264. package/lib/modules/progress/progress.d.ts +33 -33
  265. package/lib/modules/radio/index.d.ts +2 -2
  266. package/lib/modules/radio/radio-button.component.d.ts +44 -41
  267. package/lib/modules/radio/radio.module.d.ts +8 -8
  268. package/lib/modules/readonly/index.d.ts +2 -2
  269. package/lib/modules/readonly/readonly.directive.d.ts +8 -8
  270. package/lib/modules/readonly/readonly.module.d.ts +8 -8
  271. package/lib/modules/recaptcha/index.d.ts +3 -3
  272. package/lib/modules/recaptcha/loader.d.ts +12 -12
  273. package/lib/modules/recaptcha/recaptcha.model.d.ts +109 -109
  274. package/lib/modules/recaptcha/recaptcha.module.d.ts +10 -10
  275. package/lib/modules/recaptcha/recaptcha.service.d.ts +60 -60
  276. package/lib/modules/safe/index.d.ts +2 -2
  277. package/lib/modules/safe/safe.module.d.ts +8 -8
  278. package/lib/modules/safe/safe.pipe.d.ts +16 -16
  279. package/lib/modules/select/index.d.ts +2 -2
  280. package/lib/modules/select/model.d.ts +5 -5
  281. package/lib/modules/select/module.d.ts +9 -9
  282. package/lib/modules/select/select.d.ts +42 -42
  283. package/lib/modules/select2/index.d.ts +2 -2
  284. package/lib/modules/select2/select2.component.d.ts +31 -31
  285. package/lib/modules/select2/select2.module.d.ts +9 -9
  286. package/lib/modules/select2-multiple/index.d.ts +2 -2
  287. package/lib/modules/select2-multiple/select2-multiple.component.d.ts +30 -30
  288. package/lib/modules/select2-multiple/select2-multiple.module.d.ts +9 -9
  289. package/lib/modules/sort/index.d.ts +3 -3
  290. package/lib/modules/sort/sort-button-group/sort-button-group.component.d.ts +34 -34
  291. package/lib/modules/sort/sort.directive.d.ts +34 -34
  292. package/lib/modules/sort/sort.module.d.ts +10 -10
  293. package/lib/modules/time/index.d.ts +3 -3
  294. package/lib/modules/time/time.module.d.ts +8 -8
  295. package/lib/modules/time/time.pipe.d.ts +11 -11
  296. package/lib/modules/time/timer-service.d.ts +21 -21
  297. package/lib/modules/validator/field-validator.d.ts +7 -7
  298. package/lib/modules/validator/index.d.ts +2 -2
  299. package/lib/modules/validator/validator.module.d.ts +9 -9
  300. package/lib/modules/validators/directive.d.ts +67 -67
  301. package/lib/modules/validators/index.d.ts +3 -3
  302. package/lib/modules/validators/module.d.ts +8 -8
  303. package/lib/modules/validators/validator.d.ts +33 -33
  304. package/lib/modules/wizard/index.d.ts +3 -3
  305. package/lib/modules/wizard/wizard/wizard.component.d.ts +19 -19
  306. package/lib/modules/wizard/wizard.module.d.ts +10 -10
  307. package/lib/modules/wizard/wizard2/wizard2.component.d.ts +6 -6
  308. package/lib/services/alert.service.d.ts +33 -33
  309. package/lib/services/auth-guard.service.d.ts +12 -12
  310. package/lib/services/auth.service.d.ts +30 -30
  311. package/lib/services/base.service.d.ts +8 -8
  312. package/lib/services/crud.service.d.ts +32 -32
  313. package/lib/services/http-error-handler.service.d.ts +39 -39
  314. package/lib/services/index.d.ts +6 -6
  315. package/lib/services/web.api.d.ts +31 -31
  316. package/lib/tokens.d.ts +5 -5
  317. package/lib/utils/array-helper.d.ts +14 -14
  318. package/lib/utils/base64-helper.d.ts +4 -4
  319. package/lib/utils/bitwise-helper.d.ts +4 -4
  320. package/lib/utils/bootstrap.helper.d.ts +25 -25
  321. package/lib/utils/convert.d.ts +7 -7
  322. package/lib/utils/css-helper.d.ts +5 -5
  323. package/lib/utils/date-helper.d.ts +43 -43
  324. package/lib/utils/file.helper.d.ts +3 -3
  325. package/lib/utils/filter-helper.d.ts +3 -3
  326. package/lib/utils/handler.d.ts +4 -4
  327. package/lib/utils/html-helper.d.ts +7 -7
  328. package/lib/utils/index.d.ts +22 -22
  329. package/lib/utils/math-helper.d.ts +3 -3
  330. package/lib/utils/object-helper.d.ts +13 -13
  331. package/lib/utils/overlap-helper.d.ts +22 -22
  332. package/lib/utils/pager-helper.d.ts +4 -4
  333. package/lib/utils/random-helper.d.ts +3 -3
  334. package/lib/utils/storage-helper.d.ts +4 -4
  335. package/lib/utils/string-helper.d.ts +8 -8
  336. package/lib/utils/thenBy.d.ts +4 -4
  337. package/lib/utils/time-helper.d.ts +7 -7
  338. package/lib/utils/url-helper.d.ts +5 -5
  339. package/lib/utils/validation-helper.d.ts +4 -4
  340. package/lib/zek.module.d.ts +14 -14
  341. package/package.json +9 -15
  342. package/public-api.d.ts +7 -7
  343. package/esm2020/lib/components/base.component.mjs +0 -96
  344. package/esm2020/lib/components/core-ui.component.mjs +0 -194
  345. package/esm2020/lib/components/core.component.mjs +0 -39
  346. package/esm2020/lib/components/edit-base.component.mjs +0 -234
  347. package/esm2020/lib/components/list-base.component.mjs +0 -253
  348. package/esm2020/lib/modules/age/age.module.mjs +0 -22
  349. package/esm2020/lib/modules/age/age.pipe.mjs +0 -21
  350. package/esm2020/lib/modules/alert/alert/alert.mjs +0 -54
  351. package/esm2020/lib/modules/alert/alert.module.mjs +0 -35
  352. package/esm2020/lib/modules/alert/toast/toast.mjs +0 -109
  353. package/esm2020/lib/modules/alert/validation/validation.mjs +0 -85
  354. package/esm2020/lib/modules/autocomplete/autocomplete.directive.mjs +0 -24
  355. package/esm2020/lib/modules/autocomplete/autocomplete.module.mjs +0 -22
  356. package/esm2020/lib/modules/bb/bb-modal-base.component.mjs +0 -74
  357. package/esm2020/lib/modules/bb/bb-modal-toolbar.mjs +0 -44
  358. package/esm2020/lib/modules/bb/bb.component.mjs +0 -188
  359. package/esm2020/lib/modules/bb/bb.module.mjs +0 -37
  360. package/esm2020/lib/modules/callback/callback.module.mjs +0 -22
  361. package/esm2020/lib/modules/callback/callback.pipe.mjs +0 -22
  362. package/esm2020/lib/modules/card/card/card.component.mjs +0 -47
  363. package/esm2020/lib/modules/card/card.module.mjs +0 -18
  364. package/esm2020/lib/modules/date-ago/date-ago.pipe.mjs +0 -46
  365. package/esm2020/lib/modules/date-ago/date.module.mjs +0 -22
  366. package/esm2020/lib/modules/datepicker/date-value-accessor.mjs +0 -188
  367. package/esm2020/lib/modules/datepicker/datepicker.module.mjs +0 -31
  368. package/esm2020/lib/modules/edit-toolbar/edit-toolbar.component.mjs +0 -74
  369. package/esm2020/lib/modules/edit-toolbar/edit-toolbar.module.mjs +0 -26
  370. package/esm2020/lib/modules/file/file-size.pipe.mjs +0 -47
  371. package/esm2020/lib/modules/file/file.module.mjs +0 -22
  372. package/esm2020/lib/modules/file-viewer/file-viewer.mjs +0 -51
  373. package/esm2020/lib/modules/file-viewer/module.mjs +0 -30
  374. package/esm2020/lib/modules/grid-toolbar/grid-toolbar/grid-toolbar.component.mjs +0 -145
  375. package/esm2020/lib/modules/grid-toolbar/grid-toolbar-bar/grid-toolbar-bar.component.mjs +0 -14
  376. package/esm2020/lib/modules/grid-toolbar/grid-toolbar.module.mjs +0 -33
  377. package/esm2020/lib/modules/list-toolbar/list-toolbar.component.mjs +0 -109
  378. package/esm2020/lib/modules/list-toolbar/list-toolbar.module.mjs +0 -24
  379. package/esm2020/lib/modules/loading/loading-interceptor.mjs +0 -79
  380. package/esm2020/lib/modules/loading/loading.component.mjs +0 -35
  381. package/esm2020/lib/modules/loading/loading.module.mjs +0 -32
  382. package/esm2020/lib/modules/modal/filter-modal/filter-modal.component.mjs +0 -26
  383. package/esm2020/lib/modules/modal/modal/modal.component.mjs +0 -307
  384. package/esm2020/lib/modules/modal/modal.module.mjs +0 -62
  385. package/esm2020/lib/modules/modal/sum-modal/sum-modal.component.mjs +0 -27
  386. package/esm2020/lib/modules/page-title/page-title.component.mjs +0 -31
  387. package/esm2020/lib/modules/page-title/page-title.module.mjs +0 -26
  388. package/esm2020/lib/modules/pager/pager/pager.component.mjs +0 -50
  389. package/esm2020/lib/modules/pager/pager.module.mjs +0 -26
  390. package/esm2020/lib/modules/password/password.module.mjs +0 -30
  391. package/esm2020/lib/modules/progress/module.mjs +0 -26
  392. package/esm2020/lib/modules/progress/progress.mjs +0 -97
  393. package/esm2020/lib/modules/radio/radio-button.component.mjs +0 -123
  394. package/esm2020/lib/modules/radio/radio.module.mjs +0 -22
  395. package/esm2020/lib/modules/readonly/readonly.directive.mjs +0 -25
  396. package/esm2020/lib/modules/readonly/readonly.module.mjs +0 -22
  397. package/esm2020/lib/modules/recaptcha/recaptcha.module.mjs +0 -32
  398. package/esm2020/lib/modules/recaptcha/recaptcha.service.mjs +0 -119
  399. package/esm2020/lib/modules/safe/safe.module.mjs +0 -20
  400. package/esm2020/lib/modules/safe/safe.pipe.mjs +0 -37
  401. package/esm2020/lib/modules/select/module.mjs +0 -28
  402. package/esm2020/lib/modules/select/select.mjs +0 -198
  403. package/esm2020/lib/modules/select2/select2.component.mjs +0 -170
  404. package/esm2020/lib/modules/select2/select2.module.mjs +0 -28
  405. package/esm2020/lib/modules/select2-multiple/select2-multiple.component.mjs +0 -132
  406. package/esm2020/lib/modules/select2-multiple/select2-multiple.module.mjs +0 -28
  407. package/esm2020/lib/modules/sort/sort-button-group/sort-button-group.component.mjs +0 -79
  408. package/esm2020/lib/modules/sort/sort.directive.mjs +0 -117
  409. package/esm2020/lib/modules/sort/sort.module.mjs +0 -33
  410. package/esm2020/lib/modules/time/time.module.mjs +0 -27
  411. package/esm2020/lib/modules/time/time.pipe.mjs +0 -40
  412. package/esm2020/lib/modules/time/timer-service.mjs +0 -89
  413. package/esm2020/lib/modules/validator/validator.module.mjs +0 -26
  414. package/esm2020/lib/modules/validators/directive.mjs +0 -75
  415. package/esm2020/lib/modules/validators/module.mjs +0 -22
  416. package/esm2020/lib/modules/wizard/wizard/wizard.component.mjs +0 -65
  417. package/esm2020/lib/modules/wizard/wizard.module.mjs +0 -33
  418. package/esm2020/lib/modules/wizard/wizard2/wizard2.component.mjs +0 -13
  419. package/esm2020/lib/services/alert.service.mjs +0 -76
  420. package/esm2020/lib/services/auth-guard.service.mjs +0 -28
  421. package/esm2020/lib/services/auth.service.mjs +0 -203
  422. package/esm2020/lib/services/http-error-handler.service.mjs +0 -141
  423. package/esm2020/lib/services/web.api.mjs +0 -126
  424. package/esm2020/lib/utils/date-helper.mjs +0 -235
  425. package/esm2020/lib/utils/validation-helper.mjs +0 -10
  426. package/esm2020/lib/zek.module.mjs +0 -33
  427. package/fesm2015/zek.mjs +0 -6682
  428. package/fesm2015/zek.mjs.map +0 -1
  429. package/fesm2020/zek.mjs.map +0 -1
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Zek
2
2
 
3
- This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 14.0.0.
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.0.0.
4
4
 
5
5
  ## Code scaffolding
6
6
 
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL2NvbXBvbmVudHMvYXJncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDYW5jZWxBcmdzIHtcclxuICAgIC8vIC8qKlxyXG4gICAgLy8gICpcclxuICAgIC8vICAqL1xyXG4gICAgLy8gY29uc3RydWN0b3Iob2xkVmFsdWU6IGFueSwgbmV3VmFsdWU6IGFueSwgY2FuY2VsID0gZmFsc2UpIHtcclxuICAgIC8vICAgICB0aGlzLm9sZFZhbHVlID0gb2xkVmFsdWU7XHJcbiAgICAvLyAgICAgdGhpcy5uZXdWYWx1ZSA9IG5ld1ZhbHVlO1xyXG4gICAgLy8gICAgIHRoaXMuY2FuY2VsID0gY2FuY2VsO1xyXG4gICAgLy8gfVxyXG5cclxuICAgIG5ld1ZhbHVlOiBhbnk7XHJcblxyXG4gICAgb2xkVmFsdWU6IGFueTtcclxuXHJcbiAgICBjYW5jZWw/OiBib29sZWFuIHwgbnVsbDtcclxufSJdfQ==
@@ -0,0 +1,97 @@
1
+ import { Input, Directive } from '@angular/core';
2
+ import { PRIMARY_OUTLET } from '@angular/router';
3
+ import { AppBaseModule } from '../zek.module';
4
+ import { PrintType } from '../models/print.model';
5
+ import { WebApiClient } from '../services';
6
+ import { CoreComponent } from './core.component';
7
+ import { Convert, UrlHelper } from '../utils';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/router";
10
+ class BaseComponent extends CoreComponent {
11
+ constructor(route, router) {
12
+ super();
13
+ this.route = route;
14
+ this.router = router;
15
+ this._readOnly = false;
16
+ this._url = null;
17
+ }
18
+ get readOnly() {
19
+ return this._readOnly;
20
+ }
21
+ set readOnly(v) {
22
+ this._readOnly = Convert.toBooleanProperty(v);
23
+ }
24
+ get url() {
25
+ if (!this._url)
26
+ this._url = UrlHelper.getNoParam(this.router.url);
27
+ return this._url;
28
+ }
29
+ getParam(name) {
30
+ return this.route.snapshot.paramMap.get(name);
31
+ }
32
+ getQueryParam(name) {
33
+ return this.route.snapshot.queryParamMap.get(name);
34
+ }
35
+ navigateReturnUrl() {
36
+ const returnUrl = this.getQueryParam('returnUrl') || this.getParam('returnUrl');
37
+ if (returnUrl) {
38
+ let urlTree = this.router.parseUrl(returnUrl);
39
+ const urlWithoutParams = urlTree.root.children[PRIMARY_OUTLET].segments.map(it => it.path).join('/');
40
+ this.router.navigate([urlWithoutParams, urlTree.root.children[PRIMARY_OUTLET].segments[urlTree.root.children[PRIMARY_OUTLET].segments.length - 1].parameters]);
41
+ return;
42
+ }
43
+ this.router.navigate([this.router.url.substring(0, this.router.url.lastIndexOf('/'))]);
44
+ }
45
+ cancel() {
46
+ this.navigateReturnUrl();
47
+ }
48
+ downloadFile(blob, fileName, type) {
49
+ if (!blob)
50
+ return;
51
+ const nav = window.navigator;
52
+ if (nav && nav.msSaveOrOpenBlob) {
53
+ nav.msSaveOrOpenBlob(blob, fileName);
54
+ }
55
+ else {
56
+ let a = document.createElement('a');
57
+ a.href = URL.createObjectURL(blob);
58
+ a.download = fileName;
59
+ document.body.appendChild(a);
60
+ a.click();
61
+ document.body.removeChild(a);
62
+ }
63
+ }
64
+ print(id, printType) {
65
+ const split = this.url.split('/');
66
+ if (split.length < 2) {
67
+ return;
68
+ }
69
+ const template = split[1];
70
+ let api = AppBaseModule.injector.get(WebApiClient);
71
+ let actionName;
72
+ switch (printType) {
73
+ case PrintType.Pdf:
74
+ actionName = 'PrintPdfIdLink';
75
+ break;
76
+ default:
77
+ actionName = 'ShowIdLink';
78
+ break;
79
+ }
80
+ api.getString(`api/Reports/${actionName}`, { template, id }).subscribe(url => {
81
+ if (url) {
82
+ window.open(url, '_blank');
83
+ }
84
+ });
85
+ }
86
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: BaseComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Directive }); }
87
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.1", type: BaseComponent, inputs: { readOnly: "readOnly", model: "model" }, usesInheritance: true, ngImport: i0 }); }
88
+ }
89
+ export { BaseComponent };
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: BaseComponent, decorators: [{
91
+ type: Directive
92
+ }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i1.Router }]; }, propDecorators: { readOnly: [{
93
+ type: Input
94
+ }], model: [{
95
+ type: Input
96
+ }] } });
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9jb21wb25lbnRzL2Jhc2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBMEIsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7OztBQUU5QyxNQUNhLGFBQTRCLFNBQVEsYUFBYTtJQUMxRCxZQUN1QixLQUFxQixFQUNyQixNQUFjO1FBRWpDLEtBQUssRUFBRSxDQUFDO1FBSFcsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQU03QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBU2xCLFNBQUksR0FBa0IsSUFBSSxDQUFDO0lBWm5DLENBQUM7SUFJRCxJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLENBQWU7UUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUdELElBQWMsR0FBRztRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUNWLElBQUksQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFD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QUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFCLElBQUksR0FBRyxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFlLFlBQWtDLENBQUMsQ0FBQztRQUV2RixJQUFJLFVBQWtCLENBQUM7UUFHdkIsUUFBUSxTQUFTLEVBQUU7WUFDZixLQUFLLFNBQVMsQ0FBQyxHQUFHO2dCQUNkLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQztnQkFDOUIsTUFBTTtZQUVWO2dCQUNJLFVBQVUsR0FBRyxZQUFZLENBQUE7Z0JBQ3pCLE1BQU07U0FDYjtRQUNELEdBQUcsQ0FBQyxTQUFTLENBQUMsZUFBZSxVQUFVLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN6RSxJQUFJLEdBQUcsRUFBRTtnQkFDTCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQzthQUM5QjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0E5RlEsYUFBYTtrR0FBYixhQUFhOztTQUFiLGFBQWE7MkZBQWIsYUFBYTtrQkFEekIsU0FBUzswSEFZRixRQUFRO3NCQURYLEtBQUs7Z0JBZUcsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXQsIERpcmVjdGl2ZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyLCBQUklNQVJZX09VVExFVCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEFwcEJhc2VNb2R1bGUgfSBmcm9tICcuLi96ZWsubW9kdWxlJztcclxuXHJcbmltcG9ydCB7IFByaW50VHlwZSB9IGZyb20gJy4uL21vZGVscy9wcmludC5tb2RlbCc7XHJcbmltcG9ydCB7IFdlYkFwaUNsaWVudCB9IGZyb20gJy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgQ29yZUNvbXBvbmVudCB9IGZyb20gJy4vY29yZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICcuL3R5cGVzJztcclxuaW1wb3J0IHsgQ29udmVydCwgVXJsSGVscGVyIH0gZnJvbSAnLi4vdXRpbHMnO1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBjbGFzcyBCYXNlQ29tcG9uZW50PFRNb2RlbCA9IGFueT4gZXh0ZW5kcyBDb3JlQ29tcG9uZW50IHtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIF9yZWFkT25seSA9IGZhbHNlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCByZWFkT25seSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcmVhZE9ubHk7XHJcbiAgICB9XHJcbiAgICBzZXQgcmVhZE9ubHkodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fcmVhZE9ubHkgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3VybDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgICBwcm90ZWN0ZWQgZ2V0IHVybCgpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICghdGhpcy5fdXJsKVxyXG4gICAgICAgICAgICB0aGlzLl91cmwgPSBVcmxIZWxwZXIuZ2V0Tm9QYXJhbSh0aGlzLnJvdXRlci51cmwpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLl91cmw7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KCkgbW9kZWw/OiBUTW9kZWwgfCBudWxsO1xyXG5cclxuXHJcblxyXG4gICAgcHJvdGVjdGVkIGdldFBhcmFtKG5hbWU6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtTWFwLmdldChuYW1lKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBnZXRRdWVyeVBhcmFtKG5hbWU6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KG5hbWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcm90ZWN0ZWQgbmF2aWdhdGVSZXR1cm5VcmwoKSB7XHJcbiAgICAgICAgY29uc3QgcmV0dXJuVXJsID0gdGhpcy5nZXRRdWVyeVBhcmFtKCdyZXR1cm5VcmwnKSB8fCB0aGlzLmdldFBhcmFtKCdyZXR1cm5VcmwnKTtcclxuICAgICAgICBpZiAocmV0dXJuVXJsKSB7XHJcbiAgICAgICAgICAgIGxldCB1cmxUcmVlID0gdGhpcy5yb3V0ZXIucGFyc2VVcmwocmV0dXJuVXJsKTtcclxuICAgICAgICAgICAgY29uc3QgdXJsV2l0aG91dFBhcmFtcyA9IHVybFRyZWUucm9vdC5jaGlsZHJlbltQUklNQVJZX09VVExFVF0uc2VnbWVudHMubWFwKGl0ID0+IGl0LnBhdGgpLmpvaW4oJy8nKVxyXG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdXJsV2l0aG91dFBhcmFtcywgdXJsVHJlZS5yb290LmNoaWxkcmVuW1BSSU1BUllfT1VUTEVUXS5zZWdtZW50c1t1cmxUcmVlLnJvb3QuY2hpbGRyZW5bUFJJTUFSWV9PVVRMRVRdLnNlZ21lbnRzLmxlbmd0aCAtIDFdLnBhcmFtZXRlcnNdKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMucm91dGVyLnVybC5zdWJzdHJpbmcoMCwgdGhpcy5yb3V0ZXIudXJsLmxhc3RJbmRleE9mKCcvJykpXSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGNhbmNlbCgpIHtcclxuICAgICAgICB0aGlzLm5hdmlnYXRlUmV0dXJuVXJsKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZG93bmxvYWRGaWxlKGJsb2I6IEJsb2IgfCBudWxsLCBmaWxlTmFtZTogc3RyaW5nLCB0eXBlOiBzdHJpbmcpIHtcclxuICAgICAgICBpZiAoIWJsb2IpIHJldHVybjtcclxuXHJcbiAgICAgICAgY29uc3QgbmF2ID0gKHdpbmRvdy5uYXZpZ2F0b3IgYXMgYW55KTtcclxuICAgICAgICBpZiAobmF2ICYmIG5hdi5tc1NhdmVPck9wZW5CbG9iKSB7XHJcbiAgICAgICAgICAgIG5hdi5tc1NhdmVPck9wZW5CbG9iKGJsb2IsIGZpbGVOYW1lKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBsZXQgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgICAgICAgICAgYS5ocmVmID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcclxuICAgICAgICAgICAgYS5kb3dubG9hZCA9IGZpbGVOYW1lO1xyXG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO1xyXG4gICAgICAgICAgICBhLmNsaWNrKCk7XHJcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoYSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHJpbnQoaWQ/OiBudW1iZXIgfCBudWxsLCBwcmludFR5cGU/OiBQcmludFR5cGUpIHtcclxuICAgICAgICBjb25zdCBzcGxpdCA9IHRoaXMudXJsLnNwbGl0KCcvJyk7XHJcbiAgICAgICAgaWYgKHNwbGl0Lmxlbmd0aCA8IDIpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB0ZW1wbGF0ZSA9IHNwbGl0WzFdO1xyXG4gICAgICAgIGxldCBhcGkgPSBBcHBCYXNlTW9kdWxlLmluamVjdG9yLmdldDxXZWJBcGlDbGllbnQ+KFdlYkFwaUNsaWVudCBhcyBUeXBlPFdlYkFwaUNsaWVudD4pO1xyXG5cclxuICAgICAgICBsZXQgYWN0aW9uTmFtZTogc3RyaW5nO1xyXG5cclxuXHJcbiAgICAgICAgc3dpdGNoIChwcmludFR5cGUpIHtcclxuICAgICAgICAgICAgY2FzZSBQcmludFR5cGUuUGRmOlxyXG4gICAgICAgICAgICAgICAgYWN0aW9uTmFtZSA9ICdQcmludFBkZklkTGluayc7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICBhY3Rpb25OYW1lID0gJ1Nob3dJZExpbmsnXHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgICAgYXBpLmdldFN0cmluZyhgYXBpL1JlcG9ydHMvJHthY3Rpb25OYW1lfWAsIHsgdGVtcGxhdGUsIGlkIH0pLnN1YnNjcmliZSh1cmwgPT4ge1xyXG4gICAgICAgICAgICBpZiAodXJsKSB7XHJcbiAgICAgICAgICAgICAgICB3aW5kb3cub3Blbih1cmwsICdfYmxhbmsnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,195 @@
1
+ import { Directive, EventEmitter, Input, Output } from "@angular/core";
2
+ import { Convert } from "../utils";
3
+ import { CoreComponent } from "./core.component";
4
+ import * as i0 from "@angular/core";
5
+ let uniqueId = 0;
6
+ class CoreUiComponent extends CoreComponent {
7
+ constructor(_renderer, _elementRef
8
+ //private _changeDetector: ChangeDetectorRef
9
+ ) {
10
+ super();
11
+ this._renderer = _renderer;
12
+ this._elementRef = _elementRef;
13
+ /** The method to be called in order to update ngModel */
14
+ this._onChange = () => { };
15
+ /**
16
+ * onTouch function registered via registerOnTouch (ControlValueAccessor).
17
+ * @docs-private
18
+ */
19
+ this._onTouched = () => { };
20
+ this.change = new EventEmitter();
21
+ this.changing = new EventEmitter();
22
+ this._name = `zek-${++uniqueId}`;
23
+ this._isInitialized = false;
24
+ this._value = null;
25
+ this._readonly = false;
26
+ this._disabled = false;
27
+ this._required = false;
28
+ }
29
+ /**
30
+ * Helper method that sets a property on a target element using the current Renderer
31
+ * implementation.
32
+ * @nodoc
33
+ */
34
+ setProperty(key, value) {
35
+ this._renderer.setProperty(this._elementRef.nativeElement, key, value);
36
+ }
37
+ get name() {
38
+ return this._name;
39
+ }
40
+ set name(value) {
41
+ if (this._name !== value) {
42
+ this._name = value;
43
+ this.onNameChanged();
44
+ }
45
+ }
46
+ onNameChanged() { }
47
+ get isInitialized() {
48
+ return this._isInitialized;
49
+ }
50
+ get value() {
51
+ return this._value;
52
+ }
53
+ set value(newValue) {
54
+ if (this._value !== newValue) {
55
+ let cancelEventArgs = {
56
+ oldValue: this._value,
57
+ newValue: newValue
58
+ };
59
+ this.onValueChanging(cancelEventArgs);
60
+ if (cancelEventArgs.cancel === true)
61
+ return;
62
+ // Set this before proceeding to ensure no circular loop occurs with selection.
63
+ this._value = newValue;
64
+ this.onValueChanged();
65
+ }
66
+ }
67
+ onValueChanging(e) {
68
+ this.changing.emit(e);
69
+ }
70
+ onValueChanged() { }
71
+ /**
72
+ * Use this method for client side change
73
+ * @param newValue
74
+ */
75
+ setNgModel(newValue) {
76
+ if (!this.disabled) {
77
+ if (this._value !== newValue) {
78
+ this.value = newValue;
79
+ this._emitChangeEvent();
80
+ this._onChange(this._value); //write value to NgModel
81
+ }
82
+ }
83
+ }
84
+ /** Whether the component is disabled */
85
+ get readonly() {
86
+ return this._readonly;
87
+ }
88
+ set readonly(value) {
89
+ let v = Convert.toBooleanProperty(value);
90
+ if (this._readonly !== v) {
91
+ this._readonly = v;
92
+ this.onReadOnlyChanged();
93
+ }
94
+ }
95
+ onReadOnlyChanged() { }
96
+ /** Whether the component is disabled */
97
+ get disabled() {
98
+ return this._disabled;
99
+ }
100
+ set disabled(value) {
101
+ let v = Convert.toBooleanProperty(value);
102
+ if (this._disabled !== v) {
103
+ this._disabled = v;
104
+ this.onDisabledChanged();
105
+ }
106
+ }
107
+ onDisabledChanged() { }
108
+ /** Whether the component is required */
109
+ get required() {
110
+ return this._required;
111
+ }
112
+ set required(value) {
113
+ let v = Convert.toBooleanProperty(value);
114
+ if (this._required !== v) {
115
+ this._required = v;
116
+ this.onRequiredChanged();
117
+ }
118
+ }
119
+ onRequiredChanged() { }
120
+ _onInputInteraction(event) {
121
+ // We always have to stop propagation on the change event.
122
+ // Otherwise the change event, from the input element, will bubble up and
123
+ // emit its event object to the `change` output.
124
+ event.stopPropagation();
125
+ this.setNgModel(event.target.value);
126
+ }
127
+ /** Dispatch change event with current value. */
128
+ _emitChangeEvent() {
129
+ if (this._isInitialized) {
130
+ this.change.emit(this._value);
131
+ }
132
+ }
133
+ ngAfterContentInit() {
134
+ // Mark this component as initialized in AfterContentInit because the initial value can
135
+ // possibly be set by NgModel on component, and it is possible that the OnInit of the
136
+ // NgModel occurs *after* the OnInit of the component.
137
+ this._isInitialized = true;
138
+ }
139
+ /**
140
+ * Sets the model value. Implemented as part of ControlValueAccessor.
141
+ * (write from model to el.nativeElement)
142
+ * @param value
143
+ */
144
+ writeValue(value) {
145
+ this.value = value;
146
+ //this._changeDetector.markForCheck();
147
+ //this._renderer.setProperty(this._elementRef.nativeElement, 'value', value);
148
+ }
149
+ /**
150
+ * Registers a callback to be triggered when the model value changes.
151
+ * Implemented as part of ControlValueAccessor.
152
+ * @param fn Callback to be registered.
153
+ */
154
+ registerOnChange(fn) {
155
+ this._onChange = fn;
156
+ }
157
+ /**
158
+ * Registers a callback to be triggered when the control is touched.
159
+ * Implemented as part of ControlValueAccessor.
160
+ * @param fn Callback to be registered.
161
+ */
162
+ registerOnTouched(fn) {
163
+ this._onTouched = fn;
164
+ }
165
+ /**
166
+ * Sets the disabled state of the control. Implemented as a part of ControlValueAccessor.
167
+ * @param isDisabled Whether the control should be disabled.
168
+ */
169
+ setDisabledState(isDisabled) {
170
+ this.disabled = isDisabled;
171
+ //this._changeDetector.markForCheck();
172
+ //this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled);
173
+ }
174
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: CoreUiComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
175
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.1", type: CoreUiComponent, inputs: { name: "name", value: "value", readonly: "readonly", disabled: "disabled", required: "required" }, outputs: { change: "change", changing: "changing" }, usesInheritance: true, ngImport: i0 }); }
176
+ }
177
+ export { CoreUiComponent };
178
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: CoreUiComponent, decorators: [{
179
+ type: Directive
180
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { change: [{
181
+ type: Output
182
+ }], changing: [{
183
+ type: Output
184
+ }], name: [{
185
+ type: Input
186
+ }], value: [{
187
+ type: Input
188
+ }], readonly: [{
189
+ type: Input
190
+ }], disabled: [{
191
+ type: Input
192
+ }], required: [{
193
+ type: Input
194
+ }] } });
195
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS11aS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUtdWkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUMsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRW5JLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFbkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUdqRCxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFFakIsTUFDYSxlQUFnQixTQUFRLGFBQWE7SUFFOUMsWUFDYyxTQUFvQixFQUNwQixXQUF1QjtJQUNqQyw0Q0FBNEM7O1FBRTVDLEtBQUssRUFBRSxDQUFDO1FBSkUsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQU1yQyx5REFBeUQ7UUFDekQsY0FBUyxHQUF5QixHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFNUM7OztXQUdHO1FBQ0gsZUFBVSxHQUFjLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQVlmLFdBQU0sR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNwRCxhQUFRLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7UUFFL0UsVUFBSyxHQUFXLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQztRQWNwQyxtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUs5QixXQUFNLEdBQVEsSUFBSSxDQUFDO1FBd0NyQixjQUFTLEdBQVksS0FBSyxDQUFDO1FBZ0IzQixjQUFTLEdBQVksS0FBSyxDQUFDO1FBZ0IzQixjQUFTLEdBQVksS0FBSyxDQUFDO0lBbkhuQyxDQUFDO0lBWUQ7Ozs7S0FJQztJQUNTLFdBQVcsQ0FBQyxHQUFXLEVBQUUs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RSxDQUFDO0lBQ3pCLENBQUM7SUFHRDs7O09BR0c7SUFDSCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNoQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztRQUMzQixzQ0FBc0M7UUFDdEMscUZBQXFGO0lBQ3pGLENBQUM7OEdBek1RLGVBQWU7a0dBQWYsZUFBZTs7U0FBZixlQUFlOzJGQUFmLGVBQWU7a0JBRDNCLFNBQVM7eUhBOEJhLE1BQU07c0JBQXhCLE1BQU07Z0JBQ1ksUUFBUTtzQkFBMUIsTUFBTTtnQkFPSCxJQUFJO3NCQURQLEtBQUs7Z0JBb0JGLEtBQUs7c0JBRFIsS0FBSztnQkEwQ0YsUUFBUTtzQkFEWCxLQUFLO2dCQWlCRixRQUFRO3NCQURYLEtBQUs7Z0JBaUJGLFFBQVE7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgUmVuZGVyZXIyIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQ29udmVydCB9IGZyb20gXCIuLi91dGlsc1wiO1xyXG5pbXBvcnQgeyBDYW5jZWxBcmdzIH0gZnJvbSBcIi4vYXJnc1wiO1xyXG5pbXBvcnQgeyBDb3JlQ29tcG9uZW50IH0gZnJvbSBcIi4vY29yZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSBcIi4vdHlwZXNcIjtcclxuXHJcbmxldCB1bmlxdWVJZCA9IDA7XHJcblxyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIENvcmVVaUNvbXBvbmVudCBleHRlbmRzIENvcmVDb21wb25lbnRcclxuICAgIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJvdGVjdGVkIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgICAgIHByb3RlY3RlZCBfZWxlbWVudFJlZjogRWxlbWVudFJlZlxyXG4gICAgICAgIC8vcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBUaGUgbWV0aG9kIHRvIGJlIGNhbGxlZCBpbiBvcmRlciB0byB1cGRhdGUgbmdNb2RlbCAqL1xyXG4gICAgX29uQ2hhbmdlOiAodmFsdWU6IGFueSkgPT4gdm9pZCA9ICgpID0+IHsgfTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIG9uVG91Y2ggZnVuY3Rpb24gcmVnaXN0ZXJlZCB2aWEgcmVnaXN0ZXJPblRvdWNoIChDb250cm9sVmFsdWVBY2Nlc3NvcikuXHJcbiAgICAgKiBAZG9jcy1wcml2YXRlXHJcbiAgICAgKi9cclxuICAgIF9vblRvdWNoZWQ6ICgpID0+IGFueSA9ICgpID0+IHsgfTtcclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICogSGVscGVyIG1ldGhvZCB0aGF0IHNldHMgYSBwcm9wZXJ0eSBvbiBhIHRhcmdldCBlbGVtZW50IHVzaW5nIHRoZSBjdXJyZW50IFJlbmRlcmVyXHJcbiAgICogaW1wbGVtZW50YXRpb24uXHJcbiAgICogQG5vZG9jXHJcbiAgICovXHJcbiAgICBwcm90ZWN0ZWQgc2V0UHJvcGVydHkoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGtleSwgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKSByZWFkb25seSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgY2hhbmdpbmc6IEV2ZW50RW1pdHRlcjxDYW5jZWxBcmdzPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2FuY2VsQXJncz4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9uYW1lOiBzdHJpbmcgPSBgemVrLSR7Kyt1bmlxdWVJZH1gO1xyXG4gICAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbmFtZTtcclxuICAgIH1cclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgbmFtZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX25hbWUgIT09IHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX25hbWUgPSB2YWx1ZTtcclxuICAgICAgICAgICAgdGhpcy5vbk5hbWVDaGFuZ2VkKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgb25OYW1lQ2hhbmdlZCgpIHsgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIF9pc0luaXRpYWxpemVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBnZXQgaXNJbml0aWFsaXplZCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faXNJbml0aWFsaXplZDtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgX3ZhbHVlOiBhbnkgPSBudWxsO1xyXG4gICAgZ2V0IHZhbHVlKCk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gICAgfVxyXG4gICAgQElucHV0KClcclxuICAgIHNldCB2YWx1ZShuZXdWYWx1ZTogYW55KSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3ZhbHVlICE9PSBuZXdWYWx1ZSkge1xyXG4gICAgICAgICAgICBsZXQgY2FuY2VsRXZlbnRBcmdzOiBDYW5jZWxBcmdzID0ge1xyXG4gICAgICAgICAgICAgICAgb2xkVmFsdWU6IHRoaXMuX3ZhbHVlLFxyXG4gICAgICAgICAgICAgICAgbmV3VmFsdWU6IG5ld1ZhbHVlXHJcbiAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICB0aGlzLm9uVmFsdWVDaGFuZ2luZyhjYW5jZWxFdmVudEFyZ3MpO1xyXG4gICAgICAgICAgICBpZiAoY2FuY2VsRXZlbnRBcmdzLmNhbmNlbCA9PT0gdHJ1ZSlcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgICAgIC8vIFNldCB0aGlzIGJlZm9yZSBwcm9jZWVkaW5nIHRvIGVuc3VyZSBubyBjaXJjdWxhciBsb29wIG9jY3VycyB3aXRoIHNlbGVjdGlvbi5cclxuICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSBuZXdWYWx1ZTtcclxuICAgICAgICAgICAgdGhpcy5vblZhbHVlQ2hhbmdlZCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIG9uVmFsdWVDaGFuZ2luZyhlOiBDYW5jZWxBcmdzKSB7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2luZy5lbWl0KGUpO1xyXG4gICAgfVxyXG4gICAgb25WYWx1ZUNoYW5nZWQoKSB7IH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFVzZSB0aGlzIG1ldGhvZCBmb3IgY2xpZW50IHNpZGUgY2hhbmdlXHJcbiAgICAgKiBAcGFyYW0gbmV3VmFsdWUgXHJcbiAgICAgKi9cclxuICAgIHNldE5nTW9kZWwobmV3VmFsdWU6IGFueSkge1xyXG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fdmFsdWUgIT09IG5ld1ZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gbmV3VmFsdWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9lbWl0Q2hhbmdlRXZlbnQoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX29uQ2hhbmdlKHRoaXMuX3ZhbHVlKTsvL3dyaXRlIHZhbHVlIHRvIE5nTW9kZWxcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9yZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgLyoqIFdoZXRoZXIgdGhlIGNvbXBvbmVudCBpcyBkaXNhYmxlZCAqL1xyXG4gICAgZ2V0IHJlYWRvbmx5KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9yZWFkb25seTtcclxuICAgIH1cclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgcmVhZG9ubHkodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIGxldCB2ID0gQ29udmVydC50b0Jvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XHJcbiAgICAgICAgaWYgKHRoaXMuX3JlYWRvbmx5ICE9PSB2KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3JlYWRvbmx5ID0gdjtcclxuICAgICAgICAgICAgdGhpcy5vblJlYWRPbmx5Q2hhbmdlZCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIG9uUmVhZE9ubHlDaGFuZ2VkKCkgeyB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICAvKiogV2hldGhlciB0aGUgY29tcG9uZW50IGlzIGRpc2FibGVkICovXHJcbiAgICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xyXG4gICAgfVxyXG4gICAgQElucHV0KClcclxuICAgIHNldCBkaXNhYmxlZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgbGV0IHYgPSBDb252ZXJ0LnRvQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICAgICAgICBpZiAodGhpcy5fZGlzYWJsZWQgIT09IHYpIHtcclxuICAgICAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSB2O1xyXG4gICAgICAgICAgICB0aGlzLm9uRGlzYWJsZWRDaGFuZ2VkKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgb25EaXNhYmxlZENoYW5nZWQoKSB7IH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIC8qKiBXaGV0aGVyIHRoZSBjb21wb25lbnQgaXMgcmVxdWlyZWQgKi9cclxuICAgIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWQ7XHJcbiAgICB9XHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IHJlcXVpcmVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICBsZXQgdiA9IENvbnZlcnQudG9Cb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gICAgICAgIGlmICh0aGlzLl9yZXF1aXJlZCAhPT0gdikge1xyXG4gICAgICAgICAgICB0aGlzLl9yZXF1aXJlZCA9IHY7XHJcbiAgICAgICAgICAgIHRoaXMub25SZXF1aXJlZENoYW5nZWQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBvblJlcXVpcmVkQ2hhbmdlZCgpIHsgfVxyXG5cclxuXHJcbiAgICBfb25JbnB1dEludGVyYWN0aW9uKGV2ZW50OiBFdmVudCkge1xyXG4gICAgICAgIC8vIFdlIGFsd2F5cyBoYXZlIHRvIHN0b3AgcHJvcGFnYXRpb24gb24gdGhlIGNoYW5nZSBldmVudC5cclxuICAgICAgICAvLyBPdGhlcndpc2UgdGhlIGNoYW5nZSBldmVudCwgZnJvbSB0aGUgaW5wdXQgZWxlbWVudCwgd2lsbCBidWJibGUgdXAgYW5kXHJcbiAgICAgICAgLy8gZW1pdCBpdHMgZXZlbnQgb2JqZWN0IHRvIHRoZSBgY2hhbmdlYCBvdXRwdXQuXHJcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgdGhpcy5zZXROZ01vZGVsKChldmVudC50YXJnZXQgYXMgYW55KS52YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIERpc3BhdGNoIGNoYW5nZSBldmVudCB3aXRoIGN1cnJlbnQgdmFsdWUuICovXHJcbiAgICBfZW1pdENoYW5nZUV2ZW50KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLl9pc0luaXRpYWxpemVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlLmVtaXQodGhpcy5fdmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xyXG4gICAgICAgIC8vIE1hcmsgdGhpcyBjb21wb25lbnQgYXMgaW5pdGlhbGl6ZWQgaW4gQWZ0ZXJDb250ZW50SW5pdCBiZWNhdXNlIHRoZSBpbml0aWFsIHZhbHVlIGNhblxyXG4gICAgICAgIC8vIHBvc3NpYmx5IGJlIHNldCBieSBOZ01vZGVsIG9uIGNvbXBvbmVudCwgYW5kIGl0IGlzIHBvc3NpYmxlIHRoYXQgdGhlIE9uSW5pdCBvZiB0aGVcclxuICAgICAgICAvLyBOZ01vZGVsIG9jY3VycyAqYWZ0ZXIqIHRoZSBPbkluaXQgb2YgdGhlIGNvbXBvbmVudC5cclxuICAgICAgICB0aGlzLl9pc0luaXRpYWxpemVkID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXRzIHRoZSBtb2RlbCB2YWx1ZS4gSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBDb250cm9sVmFsdWVBY2Nlc3Nvci5cclxuICAgICAqICh3cml0ZSBmcm9tIG1vZGVsIHRvIGVsLm5hdGl2ZUVsZW1lbnQpXHJcbiAgICAgKiBAcGFyYW0gdmFsdWVcclxuICAgICAqL1xyXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIC8vdGhpcy5fY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgLy90aGlzLl9yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd2YWx1ZScsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlZ2lzdGVycyBhIGNhbGxiYWNrIHRvIGJlIHRyaWdnZXJlZCB3aGVuIHRoZSBtb2RlbCB2YWx1ZSBjaGFuZ2VzLlxyXG4gICAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBDb250cm9sVmFsdWVBY2Nlc3Nvci5cclxuICAgICAqIEBwYXJhbSBmbiBDYWxsYmFjayB0byBiZSByZWdpc3RlcmVkLlxyXG4gICAgICovXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoXzogYW55KSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fb25DaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlZ2lzdGVycyBhIGNhbGxiYWNrIHRvIGJlIHRyaWdnZXJlZCB3aGVuIHRoZSBjb250cm9sIGlzIHRvdWNoZWQuXHJcbiAgICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxyXG4gICAgICogQHBhcmFtIGZuIENhbGxiYWNrIHRvIGJlIHJlZ2lzdGVyZWQuXHJcbiAgICAgKi9cclxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcclxuICAgICAgICB0aGlzLl9vblRvdWNoZWQgPSBmbjtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXRzIHRoZSBkaXNhYmxlZCBzdGF0ZSBvZiB0aGUgY29udHJvbC4gSW1wbGVtZW50ZWQgYXMgYSBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxyXG4gICAgICogQHBhcmFtIGlzRGlzYWJsZWQgV2hldGhlciB0aGUgY29udHJvbCBzaG91bGQgYmUgZGlzYWJsZWQuXHJcbiAgICAgKi9cclxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gICAgICAgIC8vdGhpcy5fY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgLy90aGlzLl9yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcsIGlzRGlzYWJsZWQpO1xyXG4gICAgfVxyXG59Il19
@@ -0,0 +1,40 @@
1
+ import { Directive } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ class CoreComponent {
4
+ constructor() {
5
+ this.loading = false;
6
+ }
7
+ ngOnInit() {
8
+ this.load();
9
+ }
10
+ ngOnDestroy() {
11
+ this.destroy();
12
+ }
13
+ async load() {
14
+ try {
15
+ if (this.loading)
16
+ return;
17
+ this.loading = true;
18
+ await this.init();
19
+ await this.bindModel();
20
+ await this.bindDictionary();
21
+ await this.onBound();
22
+ }
23
+ finally {
24
+ this.loading = false;
25
+ }
26
+ }
27
+ init() { }
28
+ bindModel() { }
29
+ bindDictionary() { }
30
+ onBound() { }
31
+ async destroy() {
32
+ }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: CoreComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
34
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.1", type: CoreComponent, ngImport: i0 }); }
35
+ }
36
+ export { CoreComponent };
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: CoreComponent, decorators: [{
38
+ type: Directive
39
+ }] });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7O0FBSzdELE1BQ2EsYUFBYTtJQUQxQjtRQUVJLFlBQU8sR0FBRyxLQUFLLENBQUM7S0FnQ25CO0lBNUJHLFFBQVE7UUFDSixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUNELFdBQVc7UUFDUCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJO1FBQ04sSUFBSTtZQUNBLElBQUksSUFBSSxDQUFDLE9BQU87Z0JBQUUsT0FBTztZQUV6QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNsQixNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN2QixNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUM1QixNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUN4QjtnQkFDTztZQUNKLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDO0lBQ1YsU0FBUyxLQUFLLENBQUM7SUFDZixjQUFjLEtBQUssQ0FBQztJQUNwQixPQUFPLEtBQUssQ0FBQztJQUViLEtBQUssQ0FBQyxPQUFPO0lBQ2IsQ0FBQzs4R0FoQ1EsYUFBYTtrR0FBYixhQUFhOztTQUFiLGFBQWE7MkZBQWIsYUFBYTtrQkFEekIsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9uSW5pdCwgRGlyZWN0aXZlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udmVydCB9IGZyb20gJy4uL3V0aWxzJztcclxuXHJcblxyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBjbGFzcyBDb3JlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgbG9hZGluZyA9IGZhbHNlO1xyXG5cclxuXHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5sb2FkKCk7XHJcbiAgICB9XHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLmRlc3Ryb3koKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBsb2FkKCkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmxvYWRpbmcpIHJldHVybjtcclxuXHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuaW5pdCgpO1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmJpbmRNb2RlbCgpO1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmJpbmREaWN0aW9uYXJ5KCk7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMub25Cb3VuZCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmaW5hbGx5IHtcclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaW5pdCgpIHsgfVxyXG4gICAgYmluZE1vZGVsKCkgeyB9XHJcbiAgICBiaW5kRGljdGlvbmFyeSgpIHsgfVxyXG4gICAgb25Cb3VuZCgpIHsgfVxyXG5cclxuICAgIGFzeW5jIGRlc3Ryb3koKSB7XHJcbiAgICB9XHJcbn0iXX0=