tin-spa 2.13.15 → 9.1.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 (375) hide show
  1. package/README.md +2 -2
  2. package/bundles/tin-spa.umd.js +6694 -0
  3. package/bundles/tin-spa.umd.js.map +1 -0
  4. package/bundles/tin-spa.umd.min.js +16 -0
  5. package/bundles/tin-spa.umd.min.js.map +1 -0
  6. package/esm2015/lib/classes/Classes.js +254 -0
  7. package/esm2015/lib/classes/TinCore.js +137 -0
  8. package/esm2015/lib/components/activity/activity.component.js +92 -0
  9. package/esm2015/lib/components/attach/attach.component.js +181 -0
  10. package/esm2015/lib/components/change-password/change-password.component.js +179 -0
  11. package/esm2015/lib/components/check/check.component.js +69 -0
  12. package/esm2015/lib/components/chips/chips.component.js +107 -0
  13. package/esm2015/lib/components/create-account/create-account.component.js +160 -0
  14. package/esm2015/lib/components/date/date.component.js +66 -0
  15. package/esm2015/lib/components/datetime/datetime.component.js +57 -0
  16. package/esm2015/lib/components/filter/filter.component.js +64 -0
  17. package/esm2015/lib/components/html/html.component.js +102 -0
  18. package/esm2015/lib/components/label/label.component.js +117 -0
  19. package/esm2015/lib/components/loader/loader.component.js +53 -0
  20. package/esm2015/lib/components/login/login.component.js +240 -0
  21. package/esm2015/lib/components/logs/logs.component.js +195 -0
  22. package/esm2015/lib/components/message/messageDialog.component.js +142 -0
  23. package/esm2015/lib/components/money/currency-input-mask.directive.js +187 -0
  24. package/esm2015/lib/components/money/currency-input-mask.module.js +30 -0
  25. package/esm2015/lib/components/money/money.component.js +152 -0
  26. package/esm2015/lib/components/nav-menu/nav-menu.component.js +204 -0
  27. package/esm2015/lib/components/option/option.component.js +129 -0
  28. package/esm2015/lib/components/profile/profile.component.js +198 -0
  29. package/esm2015/lib/components/recover-account/recover-account.component.js +74 -0
  30. package/esm2015/lib/components/roles/addRoleDialog.component.js +132 -0
  31. package/esm2015/lib/components/roles/roles.component.js +211 -0
  32. package/esm2015/lib/components/select/select.component.js +133 -0
  33. package/esm2015/lib/components/settings/settings.component.js +118 -0
  34. package/esm2015/lib/components/signup/signup.component.js +139 -0
  35. package/esm2015/lib/components/steps/steps.component.js +114 -0
  36. package/esm2015/lib/components/table/table.component.js +375 -0
  37. package/esm2015/lib/components/text/text.component.js +240 -0
  38. package/esm2015/lib/components/tiles/tiles.component.js +95 -0
  39. package/esm2015/lib/components/timeout/timeout.component.js +133 -0
  40. package/esm2015/lib/components/tin-spa.component.js +26 -0
  41. package/esm2015/lib/components/users/users.component.js +373 -0
  42. package/esm2015/lib/components/viewer/viewer.component.js +92 -0
  43. package/esm2015/lib/components/viewer/viewerDialog.component.js +131 -0
  44. package/esm2015/lib/dnd.directive.js +56 -0
  45. package/esm2015/lib/modules/spa-admin.module.js +81 -0
  46. package/esm2015/lib/modules/spa-index.module.js +58 -0
  47. package/esm2015/lib/modules/spa-mat.module.js +68 -0
  48. package/esm2015/lib/modules/spa-user.module.js +55 -0
  49. package/esm2015/lib/services/auth.service.js +142 -0
  50. package/esm2015/lib/services/data.service.js +111 -0
  51. package/esm2015/lib/services/export.service.js +29 -0
  52. package/esm2015/lib/services/http.service.js +79 -0
  53. package/esm2015/lib/services/loader-interceptor.service.js +77 -0
  54. package/esm2015/lib/services/loader.service.js +17 -0
  55. package/esm2015/lib/services/log.service.js +76 -0
  56. package/esm2015/lib/services/message.service.js +52 -0
  57. package/esm2015/lib/services/storage.service.js +43 -0
  58. package/esm2015/lib/services/tin-spa.service.js +14 -0
  59. package/esm2015/lib/tin-spa.module.js +156 -0
  60. package/esm2015/public-api.js +56 -0
  61. package/esm2015/tin-spa.js +5 -0
  62. package/esm5/lib/classes/Classes.js +313 -0
  63. package/esm5/lib/classes/TinCore.js +164 -0
  64. package/esm5/lib/components/activity/activity.component.js +94 -0
  65. package/esm5/lib/components/attach/attach.component.js +195 -0
  66. package/esm5/lib/components/change-password/change-password.component.js +182 -0
  67. package/esm5/lib/components/check/check.component.js +71 -0
  68. package/esm5/lib/components/chips/chips.component.js +110 -0
  69. package/esm5/lib/components/create-account/create-account.component.js +163 -0
  70. package/esm5/lib/components/date/date.component.js +68 -0
  71. package/esm5/lib/components/datetime/datetime.component.js +59 -0
  72. package/esm5/lib/components/filter/filter.component.js +66 -0
  73. package/esm5/lib/components/html/html.component.js +104 -0
  74. package/esm5/lib/components/label/label.component.js +119 -0
  75. package/esm5/lib/components/loader/loader.component.js +56 -0
  76. package/esm5/lib/components/login/login.component.js +244 -0
  77. package/esm5/lib/components/logs/logs.component.js +198 -0
  78. package/esm5/lib/components/message/messageDialog.component.js +144 -0
  79. package/esm5/lib/components/money/currency-input-mask.directive.js +193 -0
  80. package/esm5/lib/components/money/currency-input-mask.module.js +34 -0
  81. package/esm5/lib/components/money/money.component.js +154 -0
  82. package/esm5/lib/components/nav-menu/nav-menu.component.js +207 -0
  83. package/esm5/lib/components/option/option.component.js +131 -0
  84. package/esm5/lib/components/profile/profile.component.js +203 -0
  85. package/esm5/lib/components/recover-account/recover-account.component.js +77 -0
  86. package/esm5/lib/components/roles/addRoleDialog.component.js +135 -0
  87. package/esm5/lib/components/roles/roles.component.js +218 -0
  88. package/esm5/lib/components/select/select.component.js +136 -0
  89. package/esm5/lib/components/settings/settings.component.js +122 -0
  90. package/esm5/lib/components/signup/signup.component.js +142 -0
  91. package/esm5/lib/components/steps/steps.component.js +128 -0
  92. package/esm5/lib/components/table/table.component.js +378 -0
  93. package/esm5/lib/components/text/text.component.js +244 -0
  94. package/esm5/lib/components/tiles/tiles.component.js +97 -0
  95. package/esm5/lib/components/timeout/timeout.component.js +136 -0
  96. package/esm5/lib/components/tin-spa.component.js +25 -0
  97. package/esm5/lib/components/users/users.component.js +380 -0
  98. package/esm5/lib/components/viewer/viewer.component.js +94 -0
  99. package/esm5/lib/components/viewer/viewerDialog.component.js +133 -0
  100. package/esm5/lib/dnd.directive.js +58 -0
  101. package/esm5/lib/modules/spa-admin.module.js +85 -0
  102. package/esm5/lib/modules/spa-index.module.js +62 -0
  103. package/esm5/lib/modules/spa-mat.module.js +72 -0
  104. package/esm5/lib/modules/spa-user.module.js +59 -0
  105. package/esm5/lib/services/auth.service.js +145 -0
  106. package/esm5/lib/services/data.service.js +113 -0
  107. package/esm5/lib/services/export.service.js +31 -0
  108. package/esm5/lib/services/http.service.js +81 -0
  109. package/esm5/lib/services/loader-interceptor.service.js +80 -0
  110. package/esm5/lib/services/loader.service.js +19 -0
  111. package/esm5/lib/services/log.service.js +114 -0
  112. package/esm5/lib/services/message.service.js +54 -0
  113. package/esm5/lib/services/storage.service.js +76 -0
  114. package/esm5/lib/services/tin-spa.service.js +17 -0
  115. package/esm5/lib/tin-spa.module.js +160 -0
  116. package/esm5/public-api.js +56 -0
  117. package/esm5/tin-spa.js +5 -0
  118. package/fesm2015/tin-spa.js +6204 -0
  119. package/fesm2015/tin-spa.js.map +1 -0
  120. package/fesm5/tin-spa.js +6453 -0
  121. package/fesm5/tin-spa.js.map +1 -0
  122. package/lib/classes/Classes.d.ts +228 -375
  123. package/lib/classes/TinCore.d.ts +11 -43
  124. package/lib/components/activity/activity.component.d.ts +2 -2
  125. package/lib/components/attach/attach.component.d.ts +27 -15
  126. package/lib/{pages → components}/change-password/change-password.component.d.ts +4 -4
  127. package/lib/components/check/check.component.d.ts +3 -8
  128. package/lib/components/chips/chips.component.d.ts +2 -2
  129. package/lib/{pages → components}/create-account/create-account.component.d.ts +4 -8
  130. package/lib/components/date/date.component.d.ts +12 -24
  131. package/lib/components/datetime/datetime.component.d.ts +2 -6
  132. package/lib/components/filter/filter.component.d.ts +2 -7
  133. package/lib/components/html/html.component.d.ts +10 -11
  134. package/lib/components/label/label.component.d.ts +2 -4
  135. package/lib/components/loader/loader.component.d.ts +2 -2
  136. package/lib/components/login/login.component.d.ts +32 -0
  137. package/lib/components/logs/logs.component.d.ts +18 -0
  138. package/lib/components/message/messageDialog.component.d.ts +2 -2
  139. package/lib/components/money/currency-input-mask.directive.d.ts +2 -2
  140. package/lib/components/money/currency-input-mask.module.d.ts +2 -3
  141. package/lib/components/money/money.component.d.ts +3 -13
  142. package/lib/components/nav-menu/nav-menu.component.d.ts +4 -22
  143. package/lib/components/option/option.component.d.ts +3 -14
  144. package/lib/{pages → components}/profile/profile.component.d.ts +4 -6
  145. package/lib/{pages → components}/recover-account/recover-account.component.d.ts +3 -3
  146. package/lib/components/roles/addRoleDialog.component.d.ts +22 -0
  147. package/lib/components/roles/roles.component.d.ts +30 -0
  148. package/lib/components/select/select.component.d.ts +20 -20
  149. package/lib/{pages → components}/settings/settings.component.d.ts +3 -3
  150. package/lib/{pages → components}/signup/signup.component.d.ts +4 -4
  151. package/lib/components/steps/steps.component.d.ts +10 -19
  152. package/lib/components/table/table.component.d.ts +21 -84
  153. package/lib/components/text/text.component.d.ts +14 -36
  154. package/lib/components/tiles/tiles.component.d.ts +7 -21
  155. package/lib/components/timeout/timeout.component.d.ts +24 -0
  156. package/lib/components/tin-spa.component.d.ts +6 -3
  157. package/lib/{pages → components}/users/users.component.d.ts +18 -11
  158. package/lib/components/viewer/viewer.component.d.ts +5 -11
  159. package/lib/components/viewer/viewerDialog.component.d.ts +4 -6
  160. package/lib/dnd.directive.d.ts +11 -0
  161. package/lib/modules/spa-admin.module.d.ts +10 -10
  162. package/lib/modules/spa-index.module.d.ts +7 -8
  163. package/lib/modules/spa-mat.module.d.ts +2 -8
  164. package/lib/modules/spa-user.module.d.ts +6 -6
  165. package/lib/services/auth.service.d.ts +4 -16
  166. package/lib/services/data.service.d.ts +38 -0
  167. package/lib/services/export.service.d.ts +6 -2
  168. package/lib/services/http.service.d.ts +2 -2
  169. package/lib/services/loader-interceptor.service.d.ts +3 -4
  170. package/lib/services/loader.service.d.ts +2 -2
  171. package/lib/services/log.service.d.ts +3 -3
  172. package/lib/services/message.service.d.ts +3 -4
  173. package/lib/services/storage.service.d.ts +2 -2
  174. package/lib/services/tin-spa.service.d.ts +2 -2
  175. package/lib/tin-spa.module.d.ts +34 -83
  176. package/package.json +16 -24
  177. package/public-api.d.ts +16 -47
  178. package/esm2020/lib/classes/Classes.mjs +0 -112
  179. package/esm2020/lib/classes/LibClasses.mjs +0 -180
  180. package/esm2020/lib/classes/TinCore.mjs +0 -568
  181. package/esm2020/lib/components/activity/activity.component.mjs +0 -24
  182. package/esm2020/lib/components/alert/alert.component.mjs +0 -43
  183. package/esm2020/lib/components/attach/attach.component.mjs +0 -102
  184. package/esm2020/lib/components/capsules/capsules.component.mjs +0 -63
  185. package/esm2020/lib/components/cards/cards.component.mjs +0 -103
  186. package/esm2020/lib/components/check/check.component.mjs +0 -67
  187. package/esm2020/lib/components/chips/chips.component.mjs +0 -58
  188. package/esm2020/lib/components/date/date.component.mjs +0 -103
  189. package/esm2020/lib/components/datetime/datetime.component.mjs +0 -55
  190. package/esm2020/lib/components/email/email.component.mjs +0 -133
  191. package/esm2020/lib/components/filter/filter.component.mjs +0 -58
  192. package/esm2020/lib/components/form/form.component.mjs +0 -296
  193. package/esm2020/lib/components/html/html.component.mjs +0 -34
  194. package/esm2020/lib/components/label/label.component.mjs +0 -31
  195. package/esm2020/lib/components/list-dialog/list-dialog.component.mjs +0 -68
  196. package/esm2020/lib/components/loader/loader.component.mjs +0 -25
  197. package/esm2020/lib/components/message/messageDialog.component.mjs +0 -33
  198. package/esm2020/lib/components/money/currency-input-mask.directive.mjs +0 -185
  199. package/esm2020/lib/components/money/currency-input-mask.module.mjs +0 -28
  200. package/esm2020/lib/components/money/money.component.mjs +0 -137
  201. package/esm2020/lib/components/multi-select/multi-select.component.mjs +0 -165
  202. package/esm2020/lib/components/multi-text/multi-text.component.mjs +0 -208
  203. package/esm2020/lib/components/nav-menu/nav-menu.component.mjs +0 -88
  204. package/esm2020/lib/components/notes/notes.component.mjs +0 -62
  205. package/esm2020/lib/components/number/number.component.mjs +0 -131
  206. package/esm2020/lib/components/option/option.component.mjs +0 -92
  207. package/esm2020/lib/components/page/page.component.mjs +0 -101
  208. package/esm2020/lib/components/search/search.component.mjs +0 -36
  209. package/esm2020/lib/components/select/select.component.mjs +0 -75
  210. package/esm2020/lib/components/select-bitwise/select-bitwise.component.mjs +0 -87
  211. package/esm2020/lib/components/select-common/select-common.component.mjs +0 -206
  212. package/esm2020/lib/components/select-internal/select-internal.component.mjs +0 -75
  213. package/esm2020/lib/components/select-lite/select-lite.component.mjs +0 -18
  214. package/esm2020/lib/components/statuses/statuses.component.mjs +0 -44
  215. package/esm2020/lib/components/steps/steps.component.mjs +0 -112
  216. package/esm2020/lib/components/suffix/suffix.component.mjs +0 -70
  217. package/esm2020/lib/components/table/detailsDialog.component.mjs +0 -406
  218. package/esm2020/lib/components/table/table.component.mjs +0 -440
  219. package/esm2020/lib/components/table-action/table-action.component.mjs +0 -80
  220. package/esm2020/lib/components/table-header/table-header.component.mjs +0 -148
  221. package/esm2020/lib/components/table-internal/detailsDialog-internal.component.mjs +0 -406
  222. package/esm2020/lib/components/table-internal/table-internal.component.mjs +0 -441
  223. package/esm2020/lib/components/table-lite/detailsDialog-lite.component.mjs +0 -404
  224. package/esm2020/lib/components/table-lite/table-lite.component.mjs +0 -441
  225. package/esm2020/lib/components/table-row/table-row.component.mjs +0 -93
  226. package/esm2020/lib/components/tabs/tabs.component.mjs +0 -74
  227. package/esm2020/lib/components/text/text.component.mjs +0 -255
  228. package/esm2020/lib/components/tiles/tiles.component.mjs +0 -99
  229. package/esm2020/lib/components/tin-spa.component.mjs +0 -19
  230. package/esm2020/lib/components/viewer/viewer.component.mjs +0 -83
  231. package/esm2020/lib/components/viewer/viewerDialog.component.mjs +0 -95
  232. package/esm2020/lib/modules/admin/admin-routing.module.mjs +0 -71
  233. package/esm2020/lib/modules/admin/admin.module.mjs +0 -26
  234. package/esm2020/lib/modules/index/index-routing.module.mjs +0 -27
  235. package/esm2020/lib/modules/index/index.module.mjs +0 -26
  236. package/esm2020/lib/modules/spa-admin.module.mjs +0 -71
  237. package/esm2020/lib/modules/spa-index.module.mjs +0 -54
  238. package/esm2020/lib/modules/spa-mat.module.mjs +0 -84
  239. package/esm2020/lib/modules/spa-user.module.mjs +0 -47
  240. package/esm2020/lib/modules/user/user-routing.module.mjs +0 -23
  241. package/esm2020/lib/modules/user/user.module.mjs +0 -26
  242. package/esm2020/lib/pages/accounts/accountDialog.component.mjs +0 -56
  243. package/esm2020/lib/pages/accounts/accounts.component.mjs +0 -70
  244. package/esm2020/lib/pages/app-models/app-models.component.mjs +0 -56
  245. package/esm2020/lib/pages/approvals/approvals.component.mjs +0 -19
  246. package/esm2020/lib/pages/approvals-config/approvals-config.component.mjs +0 -165
  247. package/esm2020/lib/pages/bug/bug.component.mjs +0 -14
  248. package/esm2020/lib/pages/change-password/change-password.component.mjs +0 -92
  249. package/esm2020/lib/pages/create-account/create-account.component.mjs +0 -110
  250. package/esm2020/lib/pages/customers/customers.component.mjs +0 -21
  251. package/esm2020/lib/pages/departments/departments.component.mjs +0 -22
  252. package/esm2020/lib/pages/employees/employees.component.mjs +0 -20
  253. package/esm2020/lib/pages/grades/grades.component.mjs +0 -14
  254. package/esm2020/lib/pages/inventory/inventory.component.mjs +0 -99
  255. package/esm2020/lib/pages/inventory/quantityDialog.component.mjs +0 -53
  256. package/esm2020/lib/pages/invitations-table/invitations-table.component.mjs +0 -71
  257. package/esm2020/lib/pages/login/login.component.mjs +0 -166
  258. package/esm2020/lib/pages/logs/logs.component.mjs +0 -42
  259. package/esm2020/lib/pages/membership/membership.component.mjs +0 -44
  260. package/esm2020/lib/pages/notifications/notifications.component.mjs +0 -90
  261. package/esm2020/lib/pages/notifications-config/notifications-config.component.mjs +0 -113
  262. package/esm2020/lib/pages/plans/plans.component.mjs +0 -44
  263. package/esm2020/lib/pages/positions/positions.component.mjs +0 -21
  264. package/esm2020/lib/pages/profile/profile.component.mjs +0 -94
  265. package/esm2020/lib/pages/recover-account/recover-account.component.mjs +0 -46
  266. package/esm2020/lib/pages/roles/addRoleDialog.component.mjs +0 -60
  267. package/esm2020/lib/pages/roles/roles.component.mjs +0 -151
  268. package/esm2020/lib/pages/settings/settings.component.mjs +0 -54
  269. package/esm2020/lib/pages/signup/signup.component.mjs +0 -50
  270. package/esm2020/lib/pages/suppliers/suppliers.component.mjs +0 -22
  271. package/esm2020/lib/pages/tasks/tasks.component.mjs +0 -86
  272. package/esm2020/lib/pages/tenant-settings/tenant-settings.component.mjs +0 -228
  273. package/esm2020/lib/pages/tenants/tenants.component.mjs +0 -47
  274. package/esm2020/lib/pages/transactions/transactDialog.component.mjs +0 -80
  275. package/esm2020/lib/pages/transactions/transactions.component.mjs +0 -101
  276. package/esm2020/lib/pages/users/users.component.mjs +0 -167
  277. package/esm2020/lib/pages/welcome/welcome.component.mjs +0 -86
  278. package/esm2020/lib/pipes/camelToWords.pipe.mjs +0 -17
  279. package/esm2020/lib/select-context.directive.mjs +0 -23
  280. package/esm2020/lib/services/auth.service.mjs +0 -175
  281. package/esm2020/lib/services/button.service.mjs +0 -162
  282. package/esm2020/lib/services/condition.service.mjs +0 -32
  283. package/esm2020/lib/services/csv.service.mjs +0 -49
  284. package/esm2020/lib/services/datalib.service.mjs +0 -860
  285. package/esm2020/lib/services/dialog.service.mjs +0 -125
  286. package/esm2020/lib/services/export.service.mjs +0 -16
  287. package/esm2020/lib/services/http.service.mjs +0 -79
  288. package/esm2020/lib/services/loader-interceptor.service.mjs +0 -86
  289. package/esm2020/lib/services/loader.service.mjs +0 -17
  290. package/esm2020/lib/services/log.service.mjs +0 -77
  291. package/esm2020/lib/services/message.service.mjs +0 -59
  292. package/esm2020/lib/services/notifications.service.mjs +0 -33
  293. package/esm2020/lib/services/storage.service.mjs +0 -34
  294. package/esm2020/lib/services/table-config.service.mjs +0 -78
  295. package/esm2020/lib/services/tin-spa.service.mjs +0 -14
  296. package/esm2020/lib/tin-spa.module.mjs +0 -225
  297. package/esm2020/public-api.mjs +0 -90
  298. package/esm2020/tin-spa.mjs +0 -5
  299. package/fesm2015/tin-spa.mjs +0 -11736
  300. package/fesm2015/tin-spa.mjs.map +0 -1
  301. package/fesm2020/tin-spa.mjs +0 -11738
  302. package/fesm2020/tin-spa.mjs.map +0 -1
  303. package/lib/classes/LibClasses.d.ts +0 -173
  304. package/lib/components/alert/alert.component.d.ts +0 -15
  305. package/lib/components/capsules/capsules.component.d.ts +0 -26
  306. package/lib/components/cards/cards.component.d.ts +0 -39
  307. package/lib/components/email/email.component.d.ts +0 -40
  308. package/lib/components/form/form.component.d.ts +0 -47
  309. package/lib/components/list-dialog/list-dialog.component.d.ts +0 -23
  310. package/lib/components/multi-select/multi-select.component.d.ts +0 -47
  311. package/lib/components/multi-text/multi-text.component.d.ts +0 -56
  312. package/lib/components/notes/notes.component.d.ts +0 -19
  313. package/lib/components/number/number.component.d.ts +0 -41
  314. package/lib/components/page/page.component.d.ts +0 -38
  315. package/lib/components/search/search.component.d.ts +0 -15
  316. package/lib/components/select-bitwise/select-bitwise.component.d.ts +0 -31
  317. package/lib/components/select-common/select-common.component.d.ts +0 -53
  318. package/lib/components/select-internal/select-internal.component.d.ts +0 -23
  319. package/lib/components/select-lite/select-lite.component.d.ts +0 -8
  320. package/lib/components/statuses/statuses.component.d.ts +0 -12
  321. package/lib/components/suffix/suffix.component.d.ts +0 -23
  322. package/lib/components/table/detailsDialog.component.d.ts +0 -86
  323. package/lib/components/table-action/table-action.component.d.ts +0 -25
  324. package/lib/components/table-header/table-header.component.d.ts +0 -46
  325. package/lib/components/table-internal/detailsDialog-internal.component.d.ts +0 -86
  326. package/lib/components/table-internal/table-internal.component.d.ts +0 -91
  327. package/lib/components/table-lite/detailsDialog-lite.component.d.ts +0 -86
  328. package/lib/components/table-lite/table-lite.component.d.ts +0 -91
  329. package/lib/components/table-row/table-row.component.d.ts +0 -31
  330. package/lib/components/tabs/tabs.component.d.ts +0 -32
  331. package/lib/modules/admin/admin-routing.module.d.ts +0 -7
  332. package/lib/modules/admin/admin.module.d.ts +0 -9
  333. package/lib/modules/index/index-routing.module.d.ts +0 -7
  334. package/lib/modules/index/index.module.d.ts +0 -9
  335. package/lib/modules/user/user-routing.module.d.ts +0 -7
  336. package/lib/modules/user/user.module.d.ts +0 -9
  337. package/lib/pages/accounts/accountDialog.component.d.ts +0 -27
  338. package/lib/pages/accounts/accounts.component.d.ts +0 -25
  339. package/lib/pages/app-models/app-models.component.d.ts +0 -15
  340. package/lib/pages/approvals/approvals.component.d.ts +0 -10
  341. package/lib/pages/approvals-config/approvals-config.component.d.ts +0 -24
  342. package/lib/pages/bug/bug.component.d.ts +0 -8
  343. package/lib/pages/customers/customers.component.d.ts +0 -12
  344. package/lib/pages/departments/departments.component.d.ts +0 -14
  345. package/lib/pages/employees/employees.component.d.ts +0 -12
  346. package/lib/pages/grades/grades.component.d.ts +0 -8
  347. package/lib/pages/inventory/inventory.component.d.ts +0 -25
  348. package/lib/pages/inventory/quantityDialog.component.d.ts +0 -23
  349. package/lib/pages/invitations-table/invitations-table.component.d.ts +0 -19
  350. package/lib/pages/login/login.component.d.ts +0 -46
  351. package/lib/pages/logs/logs.component.d.ts +0 -14
  352. package/lib/pages/membership/membership.component.d.ts +0 -13
  353. package/lib/pages/notifications/notifications.component.d.ts +0 -16
  354. package/lib/pages/notifications-config/notifications-config.component.d.ts +0 -17
  355. package/lib/pages/plans/plans.component.d.ts +0 -13
  356. package/lib/pages/positions/positions.component.d.ts +0 -12
  357. package/lib/pages/roles/addRoleDialog.component.d.ts +0 -24
  358. package/lib/pages/roles/roles.component.d.ts +0 -42
  359. package/lib/pages/suppliers/suppliers.component.d.ts +0 -14
  360. package/lib/pages/tasks/tasks.component.d.ts +0 -27
  361. package/lib/pages/tenant-settings/tenant-settings.component.d.ts +0 -47
  362. package/lib/pages/tenants/tenants.component.d.ts +0 -17
  363. package/lib/pages/transactions/transactDialog.component.d.ts +0 -26
  364. package/lib/pages/transactions/transactions.component.d.ts +0 -31
  365. package/lib/pages/welcome/welcome.component.d.ts +0 -25
  366. package/lib/pipes/camelToWords.pipe.d.ts +0 -7
  367. package/lib/select-context.directive.d.ts +0 -10
  368. package/lib/services/button.service.d.ts +0 -30
  369. package/lib/services/condition.service.d.ts +0 -10
  370. package/lib/services/csv.service.d.ts +0 -10
  371. package/lib/services/datalib.service.d.ts +0 -125
  372. package/lib/services/dialog.service.d.ts +0 -20
  373. package/lib/services/notifications.service.d.ts +0 -12
  374. package/lib/services/table-config.service.d.ts +0 -17
  375. /package/{index.d.ts → tin-spa.d.ts} +0 -0
@@ -0,0 +1,56 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../services/loader.service";
4
+ import * as i2 from "@angular/common";
5
+ function LoaderComponent_img_2_Template(rf, ctx) { if (rf & 1) {
6
+ i0.ɵɵelement(0, "img", 5);
7
+ } }
8
+ function LoaderComponent_img_3_Template(rf, ctx) { if (rf & 1) {
9
+ i0.ɵɵelement(0, "img", 6);
10
+ } if (rf & 2) {
11
+ var ctx_r1 = i0.ɵɵnextContext();
12
+ i0.ɵɵproperty("src", ctx_r1.logo, i0.ɵɵsanitizeUrl);
13
+ } }
14
+ var LoaderComponent = /** @class */ (function () {
15
+ function LoaderComponent(loaderService) {
16
+ var _this = this;
17
+ this.loaderService = loaderService;
18
+ this.logo = "";
19
+ this.loaderService.isLoading.subscribe(function (v) {
20
+ _this.loading = v;
21
+ });
22
+ }
23
+ LoaderComponent.prototype.ngOnInit = function () {
24
+ };
25
+ LoaderComponent.ɵfac = function LoaderComponent_Factory(t) { return new (t || LoaderComponent)(i0.ɵɵdirectiveInject(i1.LoaderService)); };
26
+ LoaderComponent.ɵcmp = i0.ɵɵdefineComponent({ type: LoaderComponent, selectors: [["spa-loader"]], inputs: { logo: "logo" }, decls: 6, vars: 3, consts: [[1, "progress-loader", 2, "z-index", "9999", 3, "hidden"], [1, "loading-spinner"], ["style", "width: 100px;", "src", "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTAgMjUwIj4KICAgIDxwYXRoIGZpbGw9IiNERDAwMzEiIGQ9Ik0xMjUgMzBMMzEuOSA2My4ybDE0LjIgMTIzLjFMMTI1IDIzMGw3OC45LTQzLjcgMTQuMi0xMjMuMXoiIC8+CiAgICA8cGF0aCBmaWxsPSIjQzMwMDJGIiBkPSJNMTI1IDMwdjIyLjItLjFWMjMwbDc4LjktNDMuNyAxNC4yLTEyMy4xTDEyNSAzMHoiIC8+CiAgICA8cGF0aCAgZmlsbD0iI0ZGRkZGRiIgZD0iTTEyNSA1Mi4xTDY2LjggMTgyLjZoMjEuN2wxMS43LTI5LjJoNDkuNGwxMS43IDI5LjJIMTgzTDEyNSA1Mi4xem0xNyA4My4zaC0zNGwxNy00MC45IDE3IDQwLjl6IiAvPgogIDwvc3ZnPg==", 4, "ngIf"], ["style", "width: 100px;", 3, "src", 4, "ngIf"], ["id", "loadingMessage", 1, "loading-message"], ["src", "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTAgMjUwIj4KICAgIDxwYXRoIGZpbGw9IiNERDAwMzEiIGQ9Ik0xMjUgMzBMMzEuOSA2My4ybDE0LjIgMTIzLjFMMTI1IDIzMGw3OC45LTQzLjcgMTQuMi0xMjMuMXoiIC8+CiAgICA8cGF0aCBmaWxsPSIjQzMwMDJGIiBkPSJNMTI1IDMwdjIyLjItLjFWMjMwbDc4LjktNDMuNyAxNC4yLTEyMy4xTDEyNSAzMHoiIC8+CiAgICA8cGF0aCAgZmlsbD0iI0ZGRkZGRiIgZD0iTTEyNSA1Mi4xTDY2LjggMTgyLjZoMjEuN2wxMS43LTI5LjJoNDkuNGwxMS43IDI5LjJIMTgzTDEyNSA1Mi4xem0xNyA4My4zaC0zNGwxNy00MC45IDE3IDQwLjl6IiAvPgogIDwvc3ZnPg==", 2, "width", "100px"], [2, "width", "100px", 3, "src"]], template: function LoaderComponent_Template(rf, ctx) { if (rf & 1) {
27
+ i0.ɵɵelementStart(0, "div", 0);
28
+ i0.ɵɵelementStart(1, "div", 1);
29
+ i0.ɵɵtemplate(2, LoaderComponent_img_2_Template, 1, 0, "img", 2);
30
+ i0.ɵɵtemplate(3, LoaderComponent_img_3_Template, 1, 1, "img", 3);
31
+ i0.ɵɵelementStart(4, "span", 4);
32
+ i0.ɵɵtext(5, "Please wait...");
33
+ i0.ɵɵelementEnd();
34
+ i0.ɵɵelementEnd();
35
+ i0.ɵɵelementEnd();
36
+ } if (rf & 2) {
37
+ i0.ɵɵproperty("hidden", !ctx.loading);
38
+ i0.ɵɵadvance(2);
39
+ i0.ɵɵproperty("ngIf", ctx.logo == "");
40
+ i0.ɵɵadvance(1);
41
+ i0.ɵɵproperty("ngIf", ctx.logo != "");
42
+ } }, directives: [i2.NgIf], styles: [".loading-spinner[_ngcontent-%COMP%]{background-color:#0000001f;position:absolute;width:100%;top:0;left:0;height:100vh;align-items:center;justify-content:center;display:-ms-grid;display:grid}.loading-spinner[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{-ms-grid-row-align:end;align-self:end}.loading-message[_ngcontent-%COMP%]{text-align:center;-ms-grid-row-align:start;align-self:start}"] });
43
+ return LoaderComponent;
44
+ }());
45
+ export { LoaderComponent };
46
+ /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(LoaderComponent, [{
47
+ type: Component,
48
+ args: [{
49
+ selector: 'spa-loader',
50
+ templateUrl: './loader.component.html',
51
+ styleUrls: ['./loader.component.css']
52
+ }]
53
+ }], function () { return [{ type: i1.LoaderService }]; }, { logo: [{
54
+ type: Input
55
+ }] }); })();
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL3Rpbi1zcGEvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudC50cyIsImxpYi9jb21wb25lbnRzL2xvYWRlci9sb2FkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0lDR25ELHlCQUtBOzs7SUFBQSx5QkFHQTs7O0lBSHNCLG1EQUFZOztBREx4QztJQU9FLHlCQUFvQixhQUE0QjtRQUFoRCxpQkFNQztRQU5tQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQVV2QyxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBUmpCLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxVQUFDLENBQUM7WUFDdkMsS0FBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7SUFFTCxDQUFDO0lBQ0Qsa0NBQVEsR0FBUjtJQUNBLENBQUM7a0ZBVlUsZUFBZTt3REFBZixlQUFlO1lDUjVCLDhCQUNFO1lBQUEsOEJBRUk7WUFBQSxnRUFLQTtZQUFBLGdFQUdBO1lBQUEsK0JBQWtEO1lBQUEsOEJBQWM7WUFBQSxpQkFBTztZQUMzRSxpQkFBTTtZQUNSLGlCQUFNOztZQWI4QyxxQ0FBbUI7WUFHNUQsZUFBZ0I7WUFBaEIscUNBQWdCO1lBS2hCLGVBQWdCO1lBQWhCLHFDQUFnQjs7MEJEUjNCO0NBdUJDLEFBcEJELElBb0JDO1NBZlksZUFBZTtrREFBZixlQUFlO2NBTDNCLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsWUFBWTtnQkFDdEIsV0FBVyxFQUFFLHlCQUF5QjtnQkFDdEMsU0FBUyxFQUFFLENBQUMsd0JBQXdCLENBQUM7YUFDdEM7O2tCQWFFLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTG9hZGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvYWRlci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3BhLWxvYWRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xvYWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbG9hZGVyLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9hZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2FkZXJTZXJ2aWNlOiBMb2FkZXJTZXJ2aWNlKSB7XHJcblxyXG4gICAgdGhpcy5sb2FkZXJTZXJ2aWNlLmlzTG9hZGluZy5zdWJzY3JpYmUoKHYpID0+IHtcclxuICAgICAgdGhpcy5sb2FkaW5nID0gdjtcclxuICAgIH0pO1xyXG5cclxuICB9XHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBsb2dvID0gXCJcIjtcclxuICBsb2FkaW5nOiBib29sZWFuO1xyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicHJvZ3Jlc3MtbG9hZGVyXCIgc3R5bGU9XCJ6LWluZGV4OiA5OTk5O1wiIFtoaWRkZW5dPVwiIWxvYWRpbmdcIj5cclxuICA8ZGl2IGNsYXNzPVwibG9hZGluZy1zcGlubmVyXCI+XHJcblxyXG4gICAgICA8aW1nICpuZ0lmPVwibG9nbz09JydcIiBzdHlsZT1cIndpZHRoOiAxMDBweDtcIlxyXG4gICAgICBzcmM9XCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeU5UQWdNalV3SWo0S0lDQWdJRHh3WVhSb0lHWnBiR3c5SWlORVJEQXdNekVpSUdROUlrMHhNalVnTXpCTU16RXVPU0EyTXk0eWJERTBMaklnTVRJekxqRk1NVEkxSURJek1HdzNPQzQ1TFRRekxqY2dNVFF1TWkweE1qTXVNWG9pSUM4K0NpQWdJQ0E4Y0dGMGFDQm1hV3hzUFNJalF6TXdNREpHSWlCa1BTSk5NVEkxSURNd2RqSXlMakl0TGpGV01qTXdiRGM0TGprdE5ETXVOeUF4TkM0eUxURXlNeTR4VERFeU5TQXpNSG9pSUM4K0NpQWdJQ0E4Y0dGMGFDQWdabWxzYkQwaUkwWkdSa1pHUmlJZ1pEMGlUVEV5TlNBMU1pNHhURFkyTGpnZ01UZ3lMalpvTWpFdU4yd3hNUzQzTFRJNUxqSm9ORGt1Tkd3eE1TNDNJREk1TGpKSU1UZ3pUREV5TlNBMU1pNHhlbTB4TnlBNE15NHphQzB6Tkd3eE55MDBNQzQ1SURFM0lEUXdMamw2SWlBdlBnb2dJRHd2YzNablBnPT1cIlxyXG5cclxuICAgICAgPlxyXG5cclxuICAgICAgPGltZyAqbmdJZj1cImxvZ28hPScnXCIgW3NyY109XCJsb2dvXCIgc3R5bGU9XCJ3aWR0aDogMTAwcHg7XCIgLz5cclxuXHJcblxyXG4gICAgICA8c3BhbiBpZD1cImxvYWRpbmdNZXNzYWdlXCIgY2xhc3M9XCJsb2FkaW5nLW1lc3NhZ2VcIj5QbGVhc2Ugd2FpdC4uLjwvc3Bhbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -0,0 +1,244 @@
1
+ import { Component } from "@angular/core";
2
+ import { User, AppConfig } from "../../classes/Classes";
3
+ import { Constants } from "../../classes/TinCore";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../services/http.service";
6
+ import * as i2 from "../../services/storage.service";
7
+ import * as i3 from "@angular/router";
8
+ import * as i4 from "../../services/message.service";
9
+ import * as i5 from "../../services/data.service";
10
+ import * as i6 from "../../services/auth.service";
11
+ import * as i7 from "./../../services/log.service";
12
+ import * as i8 from "@angular/common";
13
+ import * as i9 from "@angular/material/card";
14
+ import * as i10 from "../text/text.component";
15
+ import * as i11 from "@angular/material/form-field";
16
+ import * as i12 from "@angular/material/input";
17
+ import * as i13 from "@angular/forms";
18
+ import * as i14 from "@angular/material/button";
19
+ import * as i15 from "@angular/material/icon";
20
+ function LoginComponent_div_1_img_1_Template(rf, ctx) { if (rf & 1) {
21
+ i0.ɵɵelement(0, "img", 21);
22
+ } if (rf & 2) {
23
+ var ctx_r4 = i0.ɵɵnextContext(2);
24
+ i0.ɵɵproperty("src", ctx_r4.appConfig.logo, i0.ɵɵsanitizeUrl);
25
+ } }
26
+ function LoginComponent_div_1_img_2_Template(rf, ctx) { if (rf & 1) {
27
+ i0.ɵɵelement(0, "img", 22);
28
+ } if (rf & 2) {
29
+ var ctx_r5 = i0.ɵɵnextContext(2);
30
+ i0.ɵɵproperty("src", ctx_r5.appConfig.logo, i0.ɵɵsanitizeUrl);
31
+ } }
32
+ function LoginComponent_div_1_img_3_Template(rf, ctx) { if (rf & 1) {
33
+ i0.ɵɵelement(0, "img", 23);
34
+ } if (rf & 2) {
35
+ var ctx_r6 = i0.ɵɵnextContext(2);
36
+ i0.ɵɵproperty("src", ctx_r6.appConfig.logo, i0.ɵɵsanitizeUrl);
37
+ } }
38
+ function LoginComponent_div_1_Template(rf, ctx) { if (rf & 1) {
39
+ i0.ɵɵelementStart(0, "div", 17);
40
+ i0.ɵɵtemplate(1, LoginComponent_div_1_img_1_Template, 1, 1, "img", 18);
41
+ i0.ɵɵtemplate(2, LoginComponent_div_1_img_2_Template, 1, 1, "img", 19);
42
+ i0.ɵɵtemplate(3, LoginComponent_div_1_img_3_Template, 1, 1, "img", 20);
43
+ i0.ɵɵelementEnd();
44
+ } if (rf & 2) {
45
+ var ctx_r0 = i0.ɵɵnextContext();
46
+ i0.ɵɵadvance(1);
47
+ i0.ɵɵproperty("ngIf", ctx_r0.appConfig.logoSize == "normal");
48
+ i0.ɵɵadvance(1);
49
+ i0.ɵɵproperty("ngIf", ctx_r0.appConfig.logoSize == "medium");
50
+ i0.ɵɵadvance(1);
51
+ i0.ɵɵproperty("ngIf", ctx_r0.appConfig.logoSize == "large");
52
+ } }
53
+ function LoginComponent_div_2_Template(rf, ctx) { if (rf & 1) {
54
+ i0.ɵɵelement(0, "div", 24);
55
+ } }
56
+ function LoginComponent_div_25_Template(rf, ctx) { if (rf & 1) {
57
+ var _r8 = i0.ɵɵgetCurrentView();
58
+ i0.ɵɵelementStart(0, "div", 13);
59
+ i0.ɵɵelementStart(1, "button", 25);
60
+ i0.ɵɵlistener("click", function LoginComponent_div_25_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r8); var ctx_r7 = i0.ɵɵnextContext(); return ctx_r7.signup(); });
61
+ i0.ɵɵtext(2, "Signup");
62
+ i0.ɵɵelementEnd();
63
+ i0.ɵɵelementEnd();
64
+ } }
65
+ function LoginComponent_div_26_Template(rf, ctx) { if (rf & 1) {
66
+ var _r10 = i0.ɵɵgetCurrentView();
67
+ i0.ɵɵelementStart(0, "div");
68
+ i0.ɵɵelement(1, "br");
69
+ i0.ɵɵelementStart(2, "a", 26);
70
+ i0.ɵɵlistener("click", function LoginComponent_div_26_Template_a_click_2_listener() { i0.ɵɵrestoreView(_r10); var ctx_r9 = i0.ɵɵnextContext(); return ctx_r9.recoverAccount(); });
71
+ i0.ɵɵtext(3, "Forgot your password ?");
72
+ i0.ɵɵelementEnd();
73
+ i0.ɵɵelementEnd();
74
+ } }
75
+ var LoginComponent = /** @class */ (function () {
76
+ function LoginComponent(httpService, storageService, router, messageService, dataService, authService, logService, route) {
77
+ this.httpService = httpService;
78
+ this.storageService = storageService;
79
+ this.router = router;
80
+ this.messageService = messageService;
81
+ this.dataService = dataService;
82
+ this.authService = authService;
83
+ this.logService = logService;
84
+ this.route = route;
85
+ this.user = new User();
86
+ this.hide = true;
87
+ this.isProcessing = false;
88
+ this.appConfig = new AppConfig();
89
+ }
90
+ LoginComponent.prototype.ngOnInit = function () {
91
+ var _this = this;
92
+ this.authService.Updateloggedin(false);
93
+ this.authService.UpdateRole(null);
94
+ this.storageService.clear();
95
+ this.dataService.appConfigObserv.subscribe(function (x) { return _this.appConfig = x; });
96
+ if (this.route.snapshot.queryParams.redirectTo != undefined) {
97
+ this.redirectPath = this.route.snapshot.queryParams.redirectTo;
98
+ }
99
+ else {
100
+ this.redirectPath = "home";
101
+ }
102
+ };
103
+ LoginComponent.prototype.signup = function () {
104
+ this.router.navigate(["signup"]);
105
+ };
106
+ LoginComponent.prototype.recoverAccount = function () {
107
+ this.router.navigate(["recover-account"]);
108
+ };
109
+ LoginComponent.prototype.login = function () {
110
+ var _this = this;
111
+ if (this.user.userName == "" || this.user.password == "") {
112
+ this.messageService.toast("Please enter your credentials");
113
+ return;
114
+ }
115
+ this.logService.info("logging in");
116
+ this.isProcessing = true;
117
+ this.user.userName = this.user.userName;
118
+ this.dataService.Login(this.user).subscribe(function (apiResponse) {
119
+ _this.isProcessing = false;
120
+ if (apiResponse.success) {
121
+ if (apiResponse.data.authType == 'local' && !_this.appConfig.localAuth) {
122
+ _this.messageService.toast("Contact Admin: Authentication Type error");
123
+ return;
124
+ }
125
+ if (apiResponse.data.authType == 'AD' && !_this.appConfig.ADAuth) {
126
+ _this.messageService.toast("Contact Admin: Authentication Type error");
127
+ return;
128
+ }
129
+ _this.authService.Updateloggedin(true);
130
+ _this.authService.UpdateToken(apiResponse.data.token);
131
+ _this.storageService.store(Constants.AUTH_TOKEN, apiResponse.data.token);
132
+ _this.authService.UpdateTokenExpire(apiResponse.data.expiration);
133
+ _this.storageService.store(Constants.AUTH_TOKEN_EXPIRE, apiResponse.data.expiration);
134
+ _this.authService.UpdateCurrentUser(_this.user.userName);
135
+ _this.storageService.store(Constants.AUTH_USER, _this.user.userName);
136
+ _this.authService.updateLoggedUserFullName(apiResponse.data.firstName);
137
+ _this.storageService.store(Constants.AUTH_NAME, apiResponse.data.firstName);
138
+ _this.authService.UpdateRole(apiResponse.data.role);
139
+ _this.storageService.store(Constants.AUTH_ROLES, JSON.stringify(apiResponse.data.role));
140
+ _this.logService.info("logged in");
141
+ if (apiResponse.data.changePassword == true && apiResponse.data.authType == 'local') {
142
+ _this.router.navigate(["home/user/change-password"], {
143
+ queryParams: { redirectTo: _this.redirectPath },
144
+ queryParamsHandling: 'merge',
145
+ skipLocationChange: false
146
+ });
147
+ return;
148
+ }
149
+ _this.router.navigate([_this.redirectPath]);
150
+ }
151
+ else {
152
+ _this.messageService.toast("Error: " + apiResponse.message);
153
+ _this.user.password = "";
154
+ }
155
+ }, function (error) {
156
+ _this.isProcessing = false;
157
+ _this.messageService.toast(_this.httpService.Error(error));
158
+ });
159
+ };
160
+ LoginComponent.ɵfac = function LoginComponent_Factory(t) { return new (t || LoginComponent)(i0.ɵɵdirectiveInject(i1.HttpService), i0.ɵɵdirectiveInject(i2.StorageService), i0.ɵɵdirectiveInject(i3.Router), i0.ɵɵdirectiveInject(i4.MessageService), i0.ɵɵdirectiveInject(i5.DataServiceLib), i0.ɵɵdirectiveInject(i6.AuthService), i0.ɵɵdirectiveInject(i7.LogService), i0.ɵɵdirectiveInject(i3.ActivatedRoute)); };
161
+ LoginComponent.ɵcmp = i0.ɵɵdefineComponent({ type: LoginComponent, selectors: [["spa-login"]], decls: 27, vars: 12, consts: [[1, "tin-bg-login", "login-page"], ["class", "d-flex justify-content-center row align-items-center", "style", "margin-top:3em;margin-bottom:1em", 4, "ngIf"], ["style", "margin-top:2em", 4, "ngIf"], [1, "d-flex", "justify-content-center", "row", "align-items-center", 2, "margin-top", "3em"], [1, "d-none", "d-sm-block"], [2, "margin-left", "1em"], [1, "mat-elevation-z3", 2, "width", "400px"], [1, "tin-input", "mt-2"], ["id", "txtuserName", "display", "Username", 3, "value", "valueChange"], ["id", "txtPassword", "matInput", "", "autocomplete", "off", 3, "type", "ngModel", "keyup.enter", "ngModelChange"], ["mat-icon-button", "", "matSuffix", "", 3, "click"], [2, "font-size", "18px"], [1, "row"], [1, "col", "d-flex", "justify-content-center"], ["id", "btnLogin", "mat-raised-button", "", "color", "primary", 2, "width", "100px", 3, "disabled", "click"], ["class", "col d-flex justify-content-center", 4, "ngIf"], [4, "ngIf"], [1, "d-flex", "justify-content-center", "row", "align-items-center", 2, "margin-top", "3em", "margin-bottom", "1em"], ["style", "height:100px;margin-right:3em;margin-left:3em", 3, "src", 4, "ngIf"], ["style", "height:150px;margin-right:3em;margin-left:3em", 3, "src", 4, "ngIf"], ["style", "height:250px;margin-right:3em;margin-left:3em", 3, "src", 4, "ngIf"], [2, "height", "100px", "margin-right", "3em", "margin-left", "3em", 3, "src"], [2, "height", "150px", "margin-right", "3em", "margin-left", "3em", 3, "src"], [2, "height", "250px", "margin-right", "3em", "margin-left", "3em", 3, "src"], [2, "margin-top", "2em"], ["id", "btnSignup", "mat-stroked-button", "", "color", "primary", 2, "width", "100px", 3, "click"], ["mat-button", "", "id", "lnkRecover", 2, "margin-left", "1em", 3, "click"]], template: function LoginComponent_Template(rf, ctx) { if (rf & 1) {
162
+ i0.ɵɵelementStart(0, "div", 0);
163
+ i0.ɵɵtemplate(1, LoginComponent_div_1_Template, 4, 3, "div", 1);
164
+ i0.ɵɵtemplate(2, LoginComponent_div_2_Template, 1, 0, "div", 2);
165
+ i0.ɵɵelementStart(3, "div", 3);
166
+ i0.ɵɵelement(4, "div", 4);
167
+ i0.ɵɵelementStart(5, "div", 5);
168
+ i0.ɵɵelementStart(6, "mat-card", 6);
169
+ i0.ɵɵelementStart(7, "mat-card-header");
170
+ i0.ɵɵelementStart(8, "mat-card-title");
171
+ i0.ɵɵtext(9);
172
+ i0.ɵɵelementEnd();
173
+ i0.ɵɵelementEnd();
174
+ i0.ɵɵelementStart(10, "mat-card-content");
175
+ i0.ɵɵelementStart(11, "div", 7);
176
+ i0.ɵɵelementStart(12, "spa-text", 8);
177
+ i0.ɵɵlistener("valueChange", function LoginComponent_Template_spa_text_valueChange_12_listener($event) { return ctx.user.userName = $event; });
178
+ i0.ɵɵelementEnd();
179
+ i0.ɵɵelementStart(13, "mat-form-field");
180
+ i0.ɵɵelementStart(14, "mat-label");
181
+ i0.ɵɵtext(15, "Password");
182
+ i0.ɵɵelementEnd();
183
+ i0.ɵɵelementStart(16, "input", 9);
184
+ i0.ɵɵlistener("keyup.enter", function LoginComponent_Template_input_keyup_enter_16_listener() { return ctx.login(); })("ngModelChange", function LoginComponent_Template_input_ngModelChange_16_listener($event) { return ctx.user.password = $event; });
185
+ i0.ɵɵelementEnd();
186
+ i0.ɵɵelementStart(17, "button", 10);
187
+ i0.ɵɵlistener("click", function LoginComponent_Template_button_click_17_listener() { return ctx.hide = !ctx.hide; });
188
+ i0.ɵɵelementStart(18, "mat-icon", 11);
189
+ i0.ɵɵtext(19);
190
+ i0.ɵɵelementEnd();
191
+ i0.ɵɵelementEnd();
192
+ i0.ɵɵelementEnd();
193
+ i0.ɵɵelementEnd();
194
+ i0.ɵɵelementEnd();
195
+ i0.ɵɵelementStart(20, "mat-card-actions");
196
+ i0.ɵɵelementStart(21, "div", 12);
197
+ i0.ɵɵelementStart(22, "div", 13);
198
+ i0.ɵɵelementStart(23, "button", 14);
199
+ i0.ɵɵlistener("click", function LoginComponent_Template_button_click_23_listener() { return ctx.login(); });
200
+ i0.ɵɵtext(24, "Login");
201
+ i0.ɵɵelementEnd();
202
+ i0.ɵɵelementEnd();
203
+ i0.ɵɵtemplate(25, LoginComponent_div_25_Template, 3, 0, "div", 15);
204
+ i0.ɵɵelementEnd();
205
+ i0.ɵɵelementEnd();
206
+ i0.ɵɵelementEnd();
207
+ i0.ɵɵtemplate(26, LoginComponent_div_26_Template, 4, 0, "div", 16);
208
+ i0.ɵɵelementEnd();
209
+ i0.ɵɵelementEnd();
210
+ i0.ɵɵelementEnd();
211
+ } if (rf & 2) {
212
+ i0.ɵɵadvance(1);
213
+ i0.ɵɵproperty("ngIf", ctx.appConfig.logo != "");
214
+ i0.ɵɵadvance(1);
215
+ i0.ɵɵproperty("ngIf", ctx.appConfig.logo == "");
216
+ i0.ɵɵadvance(7);
217
+ i0.ɵɵtextInterpolate(ctx.appConfig.appName);
218
+ i0.ɵɵadvance(3);
219
+ i0.ɵɵproperty("value", ctx.user.userName);
220
+ i0.ɵɵadvance(4);
221
+ i0.ɵɵproperty("type", ctx.hide ? "password" : "text")("ngModel", ctx.user.password);
222
+ i0.ɵɵadvance(1);
223
+ i0.ɵɵattribute("aria-label", "Hide password")("aria-pressed", ctx.hide);
224
+ i0.ɵɵadvance(2);
225
+ i0.ɵɵtextInterpolate(ctx.hide ? "visibility_off" : "visibility");
226
+ i0.ɵɵadvance(4);
227
+ i0.ɵɵproperty("disabled", ctx.isProcessing);
228
+ i0.ɵɵadvance(2);
229
+ i0.ɵɵproperty("ngIf", ctx.appConfig.selfService);
230
+ i0.ɵɵadvance(1);
231
+ i0.ɵɵproperty("ngIf", ctx.appConfig.selfService);
232
+ } }, directives: [i8.NgIf, i9.MatCard, i9.MatCardHeader, i9.MatCardTitle, i9.MatCardContent, i10.TextComponent, i11.MatFormField, i11.MatLabel, i12.MatInput, i13.DefaultValueAccessor, i13.NgControlStatus, i13.NgModel, i14.MatButton, i11.MatSuffix, i15.MatIcon, i9.MatCardActions, i14.MatAnchor], styles: [".login-page[_ngcontent-%COMP%]{position:absolute;top:0;left:0;right:0;bottom:0;overflow:auto}.tin-bg-login[_ngcontent-%COMP%]{background-image:url(~/assets/login-bg.jpg);background-size:100%}"] });
233
+ return LoginComponent;
234
+ }());
235
+ export { LoginComponent };
236
+ /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(LoginComponent, [{
237
+ type: Component,
238
+ args: [{
239
+ selector: "spa-login",
240
+ templateUrl: "./login.component.html",
241
+ styleUrls: ["./login.component.scss"],
242
+ }]
243
+ }], function () { return [{ type: i1.HttpService }, { type: i2.StorageService }, { type: i3.Router }, { type: i4.MessageService }, { type: i5.DataServiceLib }, { type: i6.AuthService }, { type: i7.LogService }, { type: i3.ActivatedRoute }]; }, null); })();
244
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGluLXNwYS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudC50cyIsImxpYi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxTQUFTLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBSXpELE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFeEQsT0FBTyxFQUFlLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNKekQsMEJBQ0E7OztJQUQyQyw2REFBc0I7OztJQUNqRSwwQkFDQTs7O0lBRDJDLDZEQUFzQjs7O0lBQ2pFLDBCQUVGOzs7SUFGNEMsNkRBQXNCOzs7SUFKbEUsK0JBRUU7SUFBQSxzRUFDQTtJQUFBLHNFQUNBO0lBQUEsc0VBRUY7SUFBQSxpQkFBTTs7O0lBSkMsZUFBb0M7SUFBcEMsNERBQW9DO0lBQ3BDLGVBQW9DO0lBQXBDLDREQUFvQztJQUNwQyxlQUFtQztJQUFuQywyREFBbUM7OztJQUsxQywwQkFFTTs7OztJQTJDSSwrQkFDRTtJQUFBLGtDQUFvRztJQUFuQiw2S0FBa0I7SUFBQyxzQkFBTTtJQUFBLGlCQUFTO0lBQ3JILGlCQUFNOzs7O0lBUVosMkJBQ0U7SUFBQSxxQkFDQTtJQUFBLDZCQUFtRjtJQUEzQixpTEFBMEI7SUFBQyxzQ0FBc0I7SUFBQSxpQkFBSTtJQUMvRyxpQkFBTTs7QUQzRGQ7SUFPRSx3QkFBb0IsV0FBd0IsRUFBVSxjQUE4QixFQUFTLE1BQWMsRUFBVSxjQUE4QixFQUFTLFdBQTJCLEVBQzlLLFdBQXdCLEVBQVUsVUFBc0IsRUFBVSxLQUFxQjtRQUQ1RSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFTLFdB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QkFBVztZQUVwRix1Q0FDRTtZQUFBLGtDQUFXO1lBQUEseUJBQVE7WUFBQSxpQkFBWTtZQUMvQixpQ0FDQTtZQURzRSx1R0FBZSxXQUFPLElBQUMsa0lBQUE7WUFBN0YsaUJBQ0E7WUFBQSxtQ0FDRTtZQURnQyxvSEFBc0I7WUFDdEQscUNBQW1DO1lBQUEsYUFBMEM7WUFBQSxpQkFBVztZQUMxRixpQkFBUztZQUNYLGlCQUFpQjtZQUVuQixpQkFBTTtZQUVSLGlCQUFtQjtZQUduQix5Q0FFRTtZQUFBLGdDQUVFO1lBQUEsZ0NBQ0U7WUFBQSxtQ0FBMkg7WUFBbEMsNEZBQVMsV0FBTyxJQUFDO1lBQWlCLHNCQUFLO1lBQUEsaUJBQVM7WUFDM0ksaUJBQU07WUFFTixrRUFDRTtZQUdKLGlCQUFNO1lBRVIsaUJBQW1CO1lBRXJCLGlCQUFXO1lBRVgsa0VBQ0U7WUFJSixpQkFBTTtZQUVSLGlCQUFNO1lBRVIsaUJBQU07O1lBekVDLGVBQTBCO1lBQTFCLCtDQUEwQjtZQVMxQixlQUEyQjtZQUEzQiwrQ0FBMkI7WUFlUixlQUFxQjtZQUFyQiwyQ0FBcUI7WUFPVyxlQUF5QjtZQUF6Qix5Q0FBeUI7WUFJcEMsZUFBbUM7WUFBbkMscURBQW1DLDhCQUFBO1lBQ1gsZUFBbUM7WUFBbkMsNkNBQW1DLDBCQUFBO1lBQ3ZELGVBQTBDO1lBQTFDLGdFQUEwQztZQWN0QyxlQUF5QjtZQUF6QiwyQ0FBeUI7WUFHckIsZUFBNkI7WUFBN0IsZ0RBQTZCO1lBVTdFLGVBQTZCO1lBQTdCLGdEQUE2Qjs7eUJEbkUxQztDQXNJQyxBQTNIRCxJQTJIQztTQXRIWSxjQUFjO2tEQUFkLGNBQWM7Y0FMMUIsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUNyQixXQUFXLEVBQUUsd0JBQXdCO2dCQUNyQyxTQUFTLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQzthQUN0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9zdG9yYWdlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlTGliIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2RhdGEuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBMb2dTZXJ2aWNlIH0gZnJvbSBcIi4vLi4vLi4vc2VydmljZXMvbG9nLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVXNlciwgQXBwQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NsYXNzZXMvQ2xhc3Nlc1wiO1xyXG5pbXBvcnQgeyBIdHRwU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9odHRwLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQXBpUmVzcG9uc2UsIENvbnN0YW50cyB9IGZyb20gXCIuLi8uLi9jbGFzc2VzL1RpbkNvcmVcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcInNwYS1sb2dpblwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vbG9naW4uY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vbG9naW4uY29tcG9uZW50LnNjc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2dpbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cFNlcnZpY2U6IEh0dHBTZXJ2aWNlLCBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSwgcHVibGljIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSwgcHVibGljIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZUxpYixcclxuICAgIHB1YmxpYyBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsIHByaXZhdGUgbG9nU2VydmljZTogTG9nU2VydmljZSwgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGVcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuYXV0aFNlcnZpY2UuVXBkYXRlbG9nZ2VkaW4oZmFsc2UpO1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5VcGRhdGVSb2xlKG51bGwpO1xyXG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5jbGVhcigpO1xyXG5cclxuICAgIHRoaXMuZGF0YVNlcnZpY2UuYXBwQ29uZmlnT2JzZXJ2LnN1YnNjcmliZSh4ID0+IHRoaXMuYXBwQ29uZmlnID0geCk7XHJcblxyXG4gICAgaWYgKHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMucmVkaXJlY3RUbyAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5yZWRpcmVjdFBhdGggPSB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zLnJlZGlyZWN0VG9cclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLnJlZGlyZWN0UGF0aCA9IFwiaG9tZVwiXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgcmVkaXJlY3RQYXRoXHJcblxyXG4gIHB1YmxpYyB1c2VyID0gbmV3IFVzZXIoKTtcclxuICBoaWRlID0gdHJ1ZTtcclxuICBpc1Byb2Nlc3Npbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgYXBwQ29uZmlnID0gbmV3IEFwcENvbmZpZygpO1xyXG5cclxuICBwdWJsaWMgc2lnbnVwKCkge1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wic2lnbnVwXCJdKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWNvdmVyQWNjb3VudCgpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcInJlY292ZXItYWNjb3VudFwiXSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbG9naW4oKSB7XHJcblxyXG4gICAgaWYgKHRoaXMudXNlci51c2VyTmFtZSA9PSBcIlwiIHx8IHRoaXMudXNlci5wYXNzd29yZCA9PSBcIlwiKSB7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJQbGVhc2UgZW50ZXIgeW91ciBjcmVkZW50aWFsc1wiKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICB0aGlzLmxvZ1NlcnZpY2UuaW5mbyhcImxvZ2dpbmcgaW5cIik7XHJcblxyXG4gICAgdGhpcy5pc1Byb2Nlc3NpbmcgPSB0cnVlO1xyXG5cclxuXHJcbiAgICB0aGlzLnVzZXIudXNlck5hbWUgPSB0aGlzLnVzZXIudXNlck5hbWVcclxuICAgIHRoaXMuZGF0YVNlcnZpY2UuTG9naW4odGhpcy51c2VyKS5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlOiBBcGlSZXNwb25zZSkgPT4ge1xyXG5cclxuICAgICAgdGhpcy5pc1Byb2Nlc3NpbmcgPSBmYWxzZTtcclxuXHJcblxyXG4gICAgICBpZiAoYXBpUmVzcG9uc2Uuc3VjY2Vzcykge1xyXG5cclxuICAgICAgICBpZiAoYXBpUmVzcG9uc2UuZGF0YS5hdXRoVHlwZSA9PSAnbG9jYWwnICYmICF0aGlzLmFwcENvbmZpZy5sb2NhbEF1dGgpIHtcclxuICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJDb250YWN0IEFkbWluOiBBdXRoZW50aWNhdGlvbiBUeXBlIGVycm9yXCIpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGFwaVJlc3BvbnNlLmRhdGEuYXV0aFR5cGUgPT0gJ0FEJyAmJiAhdGhpcy5hcHBDb25maWcuQURBdXRoKSB7XHJcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiQ29udGFjdCBBZG1pbjogQXV0aGVudGljYXRpb24gVHlwZSBlcnJvclwiKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLlVwZGF0ZWxvZ2dlZGluKHRydWUpO1xyXG5cclxuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLlVwZGF0ZVRva2VuKGFwaVJlc3BvbnNlLmRhdGEudG9rZW4pO1xyXG4gICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc3RvcmUoQ29uc3RhbnRzLkFVVEhfVE9LRU4sIGFwaVJlc3BvbnNlLmRhdGEudG9rZW4pO1xyXG5cclxuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLlVwZGF0ZVRva2VuRXhwaXJlKGFwaVJlc3BvbnNlLmRhdGEuZXhwaXJhdGlvbik7XHJcbiAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zdG9yZShDb25zdGFudHMuQVVUSF9UT0tFTl9FWFBJUkUsIGFwaVJlc3BvbnNlLmRhdGEuZXhwaXJhdGlvbik7XHJcblxyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UuVXBkYXRlQ3VycmVudFVzZXIodGhpcy51c2VyLnVzZXJOYW1lKTtcclxuICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnN0b3JlKENvbnN0YW50cy5BVVRIX1VTRVIsIHRoaXMudXNlci51c2VyTmFtZSk7XHJcblxyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UudXBkYXRlTG9nZ2VkVXNlckZ1bGxOYW1lKGFwaVJlc3BvbnNlLmRhdGEuZmlyc3ROYW1lKTtcclxuICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnN0b3JlKENvbnN0YW50cy5BVVRIX05BTUUsIGFwaVJlc3BvbnNlLmRhdGEuZmlyc3ROYW1lKTtcclxuXHJcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5VcGRhdGVSb2xlKGFwaVJlc3BvbnNlLmRhdGEucm9sZSk7XHJcbiAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zdG9yZShDb25zdGFudHMuQVVUSF9ST0xFUywgSlNPTi5zdHJpbmdpZnkoYXBpUmVzcG9uc2UuZGF0YS5yb2xlKSk7XHJcblxyXG5cclxuICAgICAgICB0aGlzLmxvZ1NlcnZpY2UuaW5mbyhcImxvZ2dlZCBpblwiKTtcclxuXHJcblxyXG4gICAgICAgIGlmIChhcGlSZXNwb25zZS5kYXRhLmNoYW5nZVBhc3N3b3JkID09IHRydWUgJiYgYXBpUmVzcG9uc2UuZGF0YS5hdXRoVHlwZSA9PSAnbG9jYWwnKSB7XHJcblxyXG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiaG9tZS91c2VyL2NoYW5nZS1wYXNzd29yZFwiXSwge1xyXG4gICAgICAgICAgICBxdWVyeVBhcmFtczogeyByZWRpcmVjdFRvOiB0aGlzLnJlZGlyZWN0UGF0aCB9LFxyXG4gICAgICAgICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnLFxyXG4gICAgICAgICAgICBza2lwTG9jYXRpb25DaGFuZ2U6IGZhbHNlXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHJldHVyblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMucmVkaXJlY3RQYXRoXSk7XHJcblxyXG5cclxuXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIkVycm9yOiBcIiArIGFwaVJlc3BvbnNlLm1lc3NhZ2UpO1xyXG4gICAgICAgIHRoaXMudXNlci5wYXNzd29yZCA9IFwiXCI7XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICAgIChlcnJvcikgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNQcm9jZXNzaW5nID0gZmFsc2U7XHJcblxyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QodGhpcy5odHRwU2VydmljZS5FcnJvcihlcnJvcikpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcblxyXG59XHJcbiIsIlxyXG4gIDxkaXYgY2xhc3M9XCJ0aW4tYmctbG9naW4gbG9naW4tcGFnZVwiPlxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCJhcHBDb25maWcubG9nbyE9JydcIiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIiBzdHlsZT1cIm1hcmdpbi10b3A6M2VtO21hcmdpbi1ib3R0b206MWVtXCI+XHJcblxyXG4gICAgICA8aW1nICpuZ0lmPVwiYXBwQ29uZmlnLmxvZ29TaXplPT0nbm9ybWFsJ1wiICBbc3JjXT1cImFwcENvbmZpZy5sb2dvXCIgc3R5bGU9XCJoZWlnaHQ6MTAwcHg7bWFyZ2luLXJpZ2h0OjNlbTttYXJnaW4tbGVmdDozZW1cIiAvPlxyXG4gICAgICA8aW1nICpuZ0lmPVwiYXBwQ29uZmlnLmxvZ29TaXplPT0nbWVkaXVtJ1wiICBbc3JjXT1cImFwcENvbmZpZy5sb2dvXCIgc3R5bGU9XCJoZWlnaHQ6MTUwcHg7bWFyZ2luLXJpZ2h0OjNlbTttYXJnaW4tbGVmdDozZW1cIiAvPlxyXG4gICAgICA8aW1nICpuZ0lmPVwiYXBwQ29uZmlnLmxvZ29TaXplPT0nbGFyZ2UnXCIgIFtzcmNdPVwiYXBwQ29uZmlnLmxvZ29cIiBzdHlsZT1cImhlaWdodDoyNTBweDttYXJnaW4tcmlnaHQ6M2VtO21hcmdpbi1sZWZ0OjNlbVwiIC8+XHJcblxyXG4gICAgPC9kaXY+XHJcblxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCJhcHBDb25maWcubG9nbyA9PScnXCIgc3R5bGU9XCJtYXJnaW4tdG9wOjJlbVwiPlxyXG4gICAgICAgIDwhLS0gQWRkIG1hcmdpbiB0b3Agd2hlbiB0aGVyZSBpcyBubyBsb2dvIC0tPlxyXG4gICAgPC9kaXY+XHJcblxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciByb3cgYWxpZ24taXRlbXMtY2VudGVyXCIgc3R5bGU9XCJtYXJnaW4tdG9wOjNlbVwiPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImQtbm9uZSBkLXNtLWJsb2NrXCI+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBzdHlsZT1cIm1hcmdpbi1sZWZ0OjFlbVwiPlxyXG5cclxuICAgICAgICA8bWF0LWNhcmQgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXozXCIgc3R5bGU9XCJ3aWR0aDo0MDBweDsgXCI+XHJcblxyXG4gICAgICAgICAgPG1hdC1jYXJkLWhlYWRlcj5cclxuICAgICAgICAgICAgPG1hdC1jYXJkLXRpdGxlPnt7YXBwQ29uZmlnLmFwcE5hbWV9fTwvbWF0LWNhcmQtdGl0bGU+XHJcbiAgICAgICAgICA8L21hdC1jYXJkLWhlYWRlcj5cclxuXHJcbiAgICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW4taW5wdXQgbXQtMlwiPlxyXG5cclxuICAgICAgICAgICAgICA8c3BhLXRleHQgaWQ9XCJ0eHR1c2VyTmFtZVwiIGRpc3BsYXk9XCJVc2VybmFtZVwiIFsodmFsdWUpXT1cInVzZXIudXNlck5hbWVcIiA+PC9zcGEtdGV4dD5cclxuXHJcbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkID5cclxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+UGFzc3dvcmQ8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cInR4dFBhc3N3b3JkXCIgbWF0SW5wdXQgW3R5cGVdPVwiaGlkZSA/ICdwYXNzd29yZCcgOiAndGV4dCdcIiAgKGtleXVwLmVudGVyKT1cImxvZ2luKClcIiBbKG5nTW9kZWwpXT1cInVzZXIucGFzc3dvcmRcIiBhdXRvY29tcGxldGU9XCJvZmZcIiA+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBtYXRTdWZmaXggKGNsaWNrKT1cImhpZGUgPSAhaGlkZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0hpZGUgcGFzc3dvcmQnXCIgW2F0dHIuYXJpYS1wcmVzc2VkXT1cImhpZGVcIj5cclxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIHN0eWxlPVwiZm9udC1zaXplOiAxOHB4O1wiPnt7aGlkZSA/ICd2aXNpYmlsaXR5X29mZicgOiAndmlzaWJpbGl0eSd9fTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG5cclxuXHJcbiAgICAgICAgICA8bWF0LWNhcmQtYWN0aW9ucz5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgXCI+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gaWQ9XCJidG5Mb2dpblwiICBtYXQtcmFpc2VkLWJ1dHRvbiBbZGlzYWJsZWRdPVwiaXNQcm9jZXNzaW5nXCIgc3R5bGU9XCJ3aWR0aDogMTAwcHg7XCIgKGNsaWNrKT1cImxvZ2luKClcIiBjb2xvcj1cInByaW1hcnlcIj5Mb2dpbjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCIgKm5nSWY9XCJhcHBDb25maWcuc2VsZlNlcnZpY2VcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gaWQ9XCJidG5TaWdudXBcIiBtYXQtc3Ryb2tlZC1idXR0b24gIGNvbG9yPVwicHJpbWFyeVwiIHN0eWxlPVwid2lkdGg6IDEwMHB4O1wiIChjbGljayk9XCJzaWdudXAoKVwiPlNpZ251cDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPC9tYXQtY2FyZC1hY3Rpb25zPlxyXG5cclxuICAgICAgICA8L21hdC1jYXJkPlxyXG5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiYXBwQ29uZmlnLnNlbGZTZXJ2aWNlXCI+XHJcbiAgICAgICAgICA8YnIgLz5cclxuICAgICAgICAgIDxhIG1hdC1idXR0b24gaWQ9XCJsbmtSZWNvdmVyXCIgIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDFlbVwiIChjbGljayk9XCJyZWNvdmVyQWNjb3VudCgpXCI+Rm9yZ290IHlvdXIgcGFzc3dvcmQgPzwvYT5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG5cclxuICA8L2Rpdj5cclxuXHJcbiJdfQ==
@@ -0,0 +1,198 @@
1
+ import { Component, ViewChild } from '@angular/core';
2
+ import { MatTableDataSource } from '@angular/material/table';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../services/auth.service";
5
+ import * as i2 from "../../services/data.service";
6
+ import * as i3 from "../filter/filter.component";
7
+ import * as i4 from "@angular/common";
8
+ import * as i5 from "@angular/material/paginator";
9
+ import * as i6 from "@angular/material/table";
10
+ var _c0 = ["logsPaginator"];
11
+ function LogsComponent_p_8_Template(rf, ctx) { if (rf & 1) {
12
+ i0.ɵɵelementStart(0, "p");
13
+ i0.ɵɵelementStart(1, "em");
14
+ i0.ɵɵtext(2, "Loading...");
15
+ i0.ɵɵelementEnd();
16
+ i0.ɵɵelementEnd();
17
+ } }
18
+ function LogsComponent_div_9_th_3_Template(rf, ctx) { if (rf & 1) {
19
+ i0.ɵɵelementStart(0, "th", 21);
20
+ i0.ɵɵtext(1, " User ");
21
+ i0.ɵɵelementEnd();
22
+ } }
23
+ function LogsComponent_div_9_td_4_Template(rf, ctx) { if (rf & 1) {
24
+ i0.ɵɵelementStart(0, "td", 22);
25
+ i0.ɵɵtext(1);
26
+ i0.ɵɵelementEnd();
27
+ } if (rf & 2) {
28
+ var log_r15 = ctx.$implicit;
29
+ i0.ɵɵadvance(1);
30
+ i0.ɵɵtextInterpolate1(" ", log_r15.userName, " ");
31
+ } }
32
+ function LogsComponent_div_9_th_6_Template(rf, ctx) { if (rf & 1) {
33
+ i0.ɵɵelementStart(0, "th", 23);
34
+ i0.ɵɵtext(1, " Date Logged ");
35
+ i0.ɵɵelementEnd();
36
+ } }
37
+ function LogsComponent_div_9_td_7_Template(rf, ctx) { if (rf & 1) {
38
+ i0.ɵɵelementStart(0, "td", 22);
39
+ i0.ɵɵtext(1);
40
+ i0.ɵɵpipe(2, "date");
41
+ i0.ɵɵelementEnd();
42
+ } if (rf & 2) {
43
+ var log_r16 = ctx.$implicit;
44
+ i0.ɵɵadvance(1);
45
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, log_r16.dateLogged, "dd MMM yy HH:mm:ss"), " ");
46
+ } }
47
+ function LogsComponent_div_9_th_9_Template(rf, ctx) { if (rf & 1) {
48
+ i0.ɵɵelementStart(0, "th", 21);
49
+ i0.ɵɵtext(1, " Source ");
50
+ i0.ɵɵelementEnd();
51
+ } }
52
+ function LogsComponent_div_9_td_10_Template(rf, ctx) { if (rf & 1) {
53
+ i0.ɵɵelementStart(0, "td", 22);
54
+ i0.ɵɵtext(1);
55
+ i0.ɵɵelementEnd();
56
+ } if (rf & 2) {
57
+ var log_r17 = ctx.$implicit;
58
+ i0.ɵɵadvance(1);
59
+ i0.ɵɵtextInterpolate1(" ", log_r17.source, " ");
60
+ } }
61
+ function LogsComponent_div_9_th_12_Template(rf, ctx) { if (rf & 1) {
62
+ i0.ɵɵelementStart(0, "th", 21);
63
+ i0.ɵɵtext(1, " Details ");
64
+ i0.ɵɵelementEnd();
65
+ } }
66
+ function LogsComponent_div_9_td_13_Template(rf, ctx) { if (rf & 1) {
67
+ i0.ɵɵelementStart(0, "td", 22);
68
+ i0.ɵɵtext(1);
69
+ i0.ɵɵelementEnd();
70
+ } if (rf & 2) {
71
+ var log_r18 = ctx.$implicit;
72
+ i0.ɵɵadvance(1);
73
+ i0.ɵɵtextInterpolate1(" ", log_r18.details, " ");
74
+ } }
75
+ function LogsComponent_div_9_th_15_Template(rf, ctx) { if (rf & 1) {
76
+ i0.ɵɵelementStart(0, "th", 21);
77
+ i0.ɵɵtext(1, " Name ");
78
+ i0.ɵɵelementEnd();
79
+ } }
80
+ function LogsComponent_div_9_td_16_Template(rf, ctx) { if (rf & 1) {
81
+ i0.ɵɵelementStart(0, "td", 22);
82
+ i0.ɵɵtext(1);
83
+ i0.ɵɵelementEnd();
84
+ } if (rf & 2) {
85
+ var log_r19 = ctx.$implicit;
86
+ i0.ɵɵadvance(1);
87
+ i0.ɵɵtextInterpolate2("", log_r19.user.firstName, " ", log_r19.user.lastName, "");
88
+ } }
89
+ function LogsComponent_div_9_tr_17_Template(rf, ctx) { if (rf & 1) {
90
+ i0.ɵɵelement(0, "tr", 24);
91
+ } }
92
+ function LogsComponent_div_9_tr_18_Template(rf, ctx) { if (rf & 1) {
93
+ i0.ɵɵelement(0, "tr", 25);
94
+ } }
95
+ function LogsComponent_div_9_Template(rf, ctx) { if (rf & 1) {
96
+ i0.ɵɵelementStart(0, "div", 9);
97
+ i0.ɵɵelementStart(1, "table", 10);
98
+ i0.ɵɵelementContainerStart(2, 11);
99
+ i0.ɵɵtemplate(3, LogsComponent_div_9_th_3_Template, 2, 0, "th", 12);
100
+ i0.ɵɵtemplate(4, LogsComponent_div_9_td_4_Template, 2, 1, "td", 13);
101
+ i0.ɵɵelementContainerEnd();
102
+ i0.ɵɵelementContainerStart(5, 14);
103
+ i0.ɵɵtemplate(6, LogsComponent_div_9_th_6_Template, 2, 0, "th", 15);
104
+ i0.ɵɵtemplate(7, LogsComponent_div_9_td_7_Template, 3, 4, "td", 13);
105
+ i0.ɵɵelementContainerEnd();
106
+ i0.ɵɵelementContainerStart(8, 16);
107
+ i0.ɵɵtemplate(9, LogsComponent_div_9_th_9_Template, 2, 0, "th", 12);
108
+ i0.ɵɵtemplate(10, LogsComponent_div_9_td_10_Template, 2, 1, "td", 13);
109
+ i0.ɵɵelementContainerEnd();
110
+ i0.ɵɵelementContainerStart(11, 17);
111
+ i0.ɵɵtemplate(12, LogsComponent_div_9_th_12_Template, 2, 0, "th", 12);
112
+ i0.ɵɵtemplate(13, LogsComponent_div_9_td_13_Template, 2, 1, "td", 13);
113
+ i0.ɵɵelementContainerEnd();
114
+ i0.ɵɵelementContainerStart(14, 18);
115
+ i0.ɵɵtemplate(15, LogsComponent_div_9_th_15_Template, 2, 0, "th", 12);
116
+ i0.ɵɵtemplate(16, LogsComponent_div_9_td_16_Template, 2, 2, "td", 13);
117
+ i0.ɵɵelementContainerEnd();
118
+ i0.ɵɵtemplate(17, LogsComponent_div_9_tr_17_Template, 1, 0, "tr", 19);
119
+ i0.ɵɵtemplate(18, LogsComponent_div_9_tr_18_Template, 1, 0, "tr", 20);
120
+ i0.ɵɵelementEnd();
121
+ i0.ɵɵelementEnd();
122
+ } if (rf & 2) {
123
+ var ctx_r1 = i0.ɵɵnextContext();
124
+ i0.ɵɵadvance(1);
125
+ i0.ɵɵproperty("dataSource", ctx_r1.logs);
126
+ i0.ɵɵadvance(16);
127
+ i0.ɵɵproperty("matHeaderRowDef", ctx_r1.displayedColumns);
128
+ i0.ɵɵadvance(1);
129
+ i0.ɵɵproperty("matRowDefColumns", ctx_r1.displayedColumns);
130
+ } }
131
+ var _c1 = function () { return [50, 100, 200]; };
132
+ var LogsComponent = /** @class */ (function () {
133
+ function LogsComponent(authService, dataService) {
134
+ this.authService = authService;
135
+ this.dataService = dataService;
136
+ this.isProcessing = false;
137
+ this.displayedColumns = ["dateLogged", "userName", "fullName", "source", "details"];
138
+ }
139
+ LogsComponent.prototype.ngOnInit = function () {
140
+ this.authService.isAuthorised(this.dataService.capLogs.name);
141
+ this.loadLogs();
142
+ };
143
+ LogsComponent.prototype.loadLogs = function () {
144
+ var _this = this;
145
+ this.dataService.GetLog("all", "").subscribe(function (apiResponse) {
146
+ _this.logs = new MatTableDataSource(apiResponse);
147
+ _this.logs.paginator = _this.logsPaginator;
148
+ });
149
+ };
150
+ LogsComponent.ɵfac = function LogsComponent_Factory(t) { return new (t || LogsComponent)(i0.ɵɵdirectiveInject(i1.AuthService), i0.ɵɵdirectiveInject(i2.DataServiceLib)); };
151
+ LogsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: LogsComponent, selectors: [["spa-logs"]], viewQuery: function LogsComponent_Query(rf, ctx) { if (rf & 1) {
152
+ i0.ɵɵviewQuery(_c0, true);
153
+ } if (rf & 2) {
154
+ var _t;
155
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.logsPaginator = _t.first);
156
+ } }, decls: 12, vars: 5, consts: [[1, "container-fluid"], [1, "row", "justify-content-between", 2, "padding-bottom", "10px"], [1, "col-2"], [1, "d-flex", "justify-content-end"], [3, "data", "refreshClick"], [4, "ngIf"], ["class", "mat-elevation-z8", 4, "ngIf"], ["showFirstLastButtons", "", 3, "pageSizeOptions"], ["logsPaginator", ""], [1, "mat-elevation-z8"], ["id", "tblTable", "mat-table", "", 3, "dataSource"], ["matColumnDef", "userName"], ["mat-header-cell", "", 4, "matHeaderCellDef"], ["mat-cell", "", 4, "matCellDef"], ["matColumnDef", "dateLogged"], ["mat-header-cell", "", "class", "datetime", 4, "matHeaderCellDef"], ["matColumnDef", "source"], ["matColumnDef", "details"], ["matColumnDef", "fullName"], ["mat-header-row", "", 4, "matHeaderRowDef"], ["mat-row", "", 4, "matRowDef", "matRowDefColumns"], ["mat-header-cell", ""], ["mat-cell", ""], ["mat-header-cell", "", 1, "datetime"], ["mat-header-row", ""], ["mat-row", ""]], template: function LogsComponent_Template(rf, ctx) { if (rf & 1) {
157
+ i0.ɵɵelementStart(0, "h4");
158
+ i0.ɵɵtext(1, "Logs");
159
+ i0.ɵɵelementEnd();
160
+ i0.ɵɵelement(2, "hr");
161
+ i0.ɵɵelementStart(3, "div", 0);
162
+ i0.ɵɵelementStart(4, "div", 1);
163
+ i0.ɵɵelement(5, "div", 2);
164
+ i0.ɵɵelementStart(6, "div", 3);
165
+ i0.ɵɵelementStart(7, "spa-filter", 4);
166
+ i0.ɵɵlistener("refreshClick", function LogsComponent_Template_spa_filter_refreshClick_7_listener() { return ctx.loadLogs(); });
167
+ i0.ɵɵelementEnd();
168
+ i0.ɵɵelementEnd();
169
+ i0.ɵɵelementEnd();
170
+ i0.ɵɵtemplate(8, LogsComponent_p_8_Template, 3, 0, "p", 5);
171
+ i0.ɵɵtemplate(9, LogsComponent_div_9_Template, 19, 3, "div", 6);
172
+ i0.ɵɵelement(10, "mat-paginator", 7, 8);
173
+ i0.ɵɵelementEnd();
174
+ } if (rf & 2) {
175
+ i0.ɵɵadvance(7);
176
+ i0.ɵɵproperty("data", ctx.logs);
177
+ i0.ɵɵadvance(1);
178
+ i0.ɵɵproperty("ngIf", !ctx.logs);
179
+ i0.ɵɵadvance(1);
180
+ i0.ɵɵproperty("ngIf", ctx.logs);
181
+ i0.ɵɵadvance(1);
182
+ i0.ɵɵproperty("pageSizeOptions", i0.ɵɵpureFunction0(4, _c1));
183
+ } }, directives: [i3.FilterComponent, i4.NgIf, i5.MatPaginator, i6.MatTable, i6.MatColumnDef, i6.MatHeaderCellDef, i6.MatCellDef, i6.MatHeaderRowDef, i6.MatRowDef, i6.MatHeaderCell, i6.MatCell, i6.MatHeaderRow, i6.MatRow], pipes: [i4.DatePipe], styles: [".mat-mini-fab[_ngcontent-%COMP%]{width:32px;height:32px}.mat-mini-fab[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;margin-top:-3px}.refreshIcon[_ngcontent-%COMP%]{font-size:22px!important;margin-top:-7px!important}"] });
184
+ return LogsComponent;
185
+ }());
186
+ export { LogsComponent };
187
+ /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(LogsComponent, [{
188
+ type: Component,
189
+ args: [{
190
+ selector: 'spa-logs',
191
+ templateUrl: './logs.component.html',
192
+ styleUrls: ['./logs.component.css']
193
+ }]
194
+ }], function () { return [{ type: i1.AuthService }, { type: i2.DataServiceLib }]; }, { logsPaginator: [{
195
+ type: ViewChild,
196
+ args: ["logsPaginator"]
197
+ }] }); })();
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9ncy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aW4tc3BhLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvbG9ncy9sb2dzLmNvbXBvbmVudC50cyIsImxpYi9jb21wb25lbnRzL2xvZ3MvbG9ncy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7OztJQ2MzRCx5QkFBaUI7SUFBQSwwQkFBSTtJQUFBLDBCQUFVO0lBQUEsaUJBQUs7SUFBQSxpQkFBSTs7O0lBU2xDLDhCQUF1QztJQUFBLHNCQUFLO0lBQUEsaUJBQUs7OztJQUNqRCw4QkFBb0M7SUFBQSxZQUFpQjtJQUFBLGlCQUFLOzs7SUFBdEIsZUFBaUI7SUFBakIsaURBQWlCOzs7SUFLckQsOEJBQXdEO0lBQUEsNkJBQVk7SUFBQSxpQkFBSzs7O0lBQ3pFLDhCQUFvQztJQUFBLFlBQWdEOztJQUFBLGlCQUFLOzs7SUFBckQsZUFBZ0Q7SUFBaEQsK0ZBQWdEOzs7SUFJcEYsOEJBQXVDO0lBQUEsd0JBQU87SUFBQSxpQkFBSzs7O0lBQ25ELDhCQUFvQztJQUFBLFlBQWU7SUFBQSxpQkFBSzs7O0lBQXBCLGVBQWU7SUFBZiwrQ0FBZTs7O0lBSW5ELDhCQUF1QztJQUFBLHlCQUFRO0lBQUEsaUJBQUs7OztJQUNwRCw4QkFBb0M7SUFBQSxZQUFnQjtJQUFBLGlCQUFLOzs7SUFBckIsZUFBZ0I7SUFBaEIsZ0RBQWdCOzs7SUFJcEQsOEJBQXVDO0lBQUEsc0JBQUs7SUFBQSxpQkFBSzs7O0lBQ2pELDhCQUFtQztJQUFBLFlBQTRDO0lBQUEsaUJBQUs7OztJQUFqRCxlQUE0QztJQUE1QyxpRkFBNEM7OztJQU1qRix5QkFBNEQ7OztJQUM1RCx5QkFBa0U7OztJQW5DdEUsOEJBRUU7SUFBQSxpQ0FHRTtJQUFBLGlDQUNFO0lBQUEsbUVBQXVDO0lBQ3ZDLG1FQUFvQztJQUN0QywwQkFBZTtJQUdmLGlDQUNFO0lBQUEsbUVBQXdEO0lBQ3hELG1FQUFvQztJQUN0QywwQkFBZTtJQUVmLGlDQUNFO0lBQUEsbUVBQXVDO0lBQ3ZDLHFFQUFvQztJQUN0QywwQkFBZTtJQUVmLGtDQUNFO0lBQUEscUVBQXVDO0lBQ3ZDLHFFQUFvQztJQUN0QywwQkFBZTtJQUVmLGtDQUNFO0lBQUEscUVBQXVDO0lBQ3ZDLHFFQUFtQztJQUNyQywwQkFBZTtJQUtmLHFFQUF1RDtJQUN2RCxxRUFBNkQ7SUFHL0QsaUJBQVE7SUFFVixpQkFBTTs7O0lBdEMyQixlQUFtQjtJQUFuQix3Q0FBbUI7SUFnQzdCLGdCQUFtQztJQUFuQyx5REFBbUM7SUFDMUMsZUFBZ0Q7SUFBaEQsMERBQWdEOzs7QURqRGxFO0lBTUUsdUJBQW9CLFdBQXdCLEVBQVUsV0FBMkI7UUFBN0QsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFPakYsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFNOUIscUJBQWdCLEdBQWEsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFiSCxDQUFDO0lBRXZGLGdDQUFRLEdBQVI7UUFDRSxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQVVNLGdDQUFRLEdBQWY7UUFBQSxpQkFRQztRQVBDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBQyxXQUFXO1lBRXZELEtBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNoRCxLQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFJLENBQUMsYUFBYSxDQUFDO1FBRTNDLENBQUMsQ0FDQSxDQUFDO0lBQ0osQ0FBQzs4RUF4QlUsYUFBYTtzREFBYixhQUFhOzs7Ozs7WUNYMUIsMEJBQUk7WUFBQSxvQkFBSTtZQUFBLGlCQUFLO1lBQ2IscUJBRUE7WUFBQSw4QkFFRTtZQUFBLDhCQUVFO1lBQUEseUJBQ007WUFFTiw4QkFDRTtZQUFBLHFDQUFtRTtZQUF6Qyw0R0FBZ0IsY0FBVSxJQUFDO1lBQUMsaUJBQWE7WUFDdEUsaUJBQU07WUFDUCxpQkFBTTtZQUlOLDBEQUFpQjtZQUdqQiwrREFFRTtZQXdDRix1Q0FBc0c7WUFDeEcsaUJBQU07O1lBcERZLGVBQWE7WUFBYiwrQkFBYTtZQU0xQixlQUFhO1lBQWIsZ0NBQWE7WUFHYyxlQUFZO1lBQVosK0JBQVk7WUEwQ1osZUFBa0M7WUFBbEMsNERBQWtDOzt3QkQ5RGxFO0NBcUNDLEFBL0JELElBK0JDO1NBMUJZLGFBQWE7a0RBQWIsYUFBYTtjQUx6QixTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLFdBQVcsRUFBRSx1QkFBdUI7Z0JBQ3BDLFNBQVMsRUFBRSxDQUFDLHNCQUFzQixDQUFDO2FBQ3BDOztrQkFVRSxTQUFTO21CQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlTGliIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2RhdGEuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBNYXRQYWdpbmF0b3IgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xyXG5pbXBvcnQgeyBNYXRUYWJsZURhdGFTb3VyY2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3BhLWxvZ3MnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2dzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9sb2dzLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9nc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlTGliLCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5pc0F1dGhvcmlzZWQodGhpcy5kYXRhU2VydmljZS5jYXBMb2dzLm5hbWUpO1xyXG4gICAgdGhpcy5sb2FkTG9ncygpO1xyXG4gIH1cclxuXHJcbiAgaXNQcm9jZXNzaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQFZpZXdDaGlsZChcImxvZ3NQYWdpbmF0b3JcIikgbG9nc1BhZ2luYXRvcjogTWF0UGFnaW5hdG9yO1xyXG5cclxuXHJcbiAgbG9ncztcclxuXHJcbiAgZGlzcGxheWVkQ29sdW1uczogc3RyaW5nW10gPSBbXCJkYXRlTG9nZ2VkXCIsIFwidXNlck5hbWVcIiwgXCJmdWxsTmFtZVwiLCBcInNvdXJjZVwiLCBcImRldGFpbHNcIl07XHJcblxyXG4gIHB1YmxpYyBsb2FkTG9ncygpIHtcclxuICAgIHRoaXMuZGF0YVNlcnZpY2UuR2V0TG9nKFwiYWxsXCIsIFwiXCIpLnN1YnNjcmliZSgoYXBpUmVzcG9uc2UpID0+IHtcclxuXHJcbiAgICAgIHRoaXMubG9ncyA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UoYXBpUmVzcG9uc2UpO1xyXG4gICAgICB0aGlzLmxvZ3MucGFnaW5hdG9yID0gdGhpcy5sb2dzUGFnaW5hdG9yO1xyXG5cclxuICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8aDQ+TG9nczwvaDQ+XHJcbjxociAvPlxyXG5cclxuPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwicm93IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCIgc3R5bGU9XCJwYWRkaW5nLWJvdHRvbTogMTBweFwiPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMlwiPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICAgIDxzcGEtZmlsdGVyIFtkYXRhXT1cImxvZ3NcIiAocmVmcmVzaENsaWNrKT1cImxvYWRMb2dzKClcIj48L3NwYS1maWx0ZXI+XHJcbiAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuXHJcblxyXG4gIDxwICpuZ0lmPVwiIWxvZ3NcIj48ZW0+TG9hZGluZy4uLjwvZW0+PC9wPlxyXG5cclxuXHJcbiAgPGRpdiBjbGFzcz1cIm1hdC1lbGV2YXRpb24tejhcIiAqbmdJZj1cImxvZ3NcIj5cclxuXHJcbiAgICA8dGFibGUgaWQ9XCJ0YmxUYWJsZVwiIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJsb2dzXCI+XHJcblxyXG5cclxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJ1c2VyTmFtZVwiPlxyXG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IFVzZXIgPC90aD5cclxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgbG9nXCI+IHt7bG9nLnVzZXJOYW1lfX0gPC90ZD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG5cclxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJkYXRlTG9nZ2VkXCI+XHJcbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz1cImRhdGV0aW1lXCI+IERhdGUgTG9nZ2VkIDwvdGg+XHJcbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGxvZ1wiPiB7e2xvZy5kYXRlTG9nZ2VkIHwgZGF0ZTogJ2RkIE1NTSB5eSBISDptbTpzcyd9fSA8L3RkPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwic291cmNlXCI+XHJcbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gU291cmNlIDwvdGg+XHJcbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGxvZ1wiPiB7e2xvZy5zb3VyY2V9fSA8L3RkPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiZGV0YWlsc1wiPlxyXG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IERldGFpbHMgPC90aD5cclxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgbG9nXCI+IHt7bG9nLmRldGFpbHN9fSA8L3RkPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiZnVsbE5hbWVcIj5cclxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBOYW1lIDwvdGg+XHJcbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGxvZ1wiPnt7bG9nLnVzZXIuZmlyc3ROYW1lfX0ge3tsb2cudXNlci5sYXN0TmFtZX19PC90ZD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG5cclxuXHJcblxyXG4gICAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnNcIj48L3RyPlxyXG4gICAgICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1ucztcIj48L3RyPlxyXG5cclxuXHJcbiAgICA8L3RhYmxlPlxyXG5cclxuICA8L2Rpdj5cclxuXHJcbiAgPG1hdC1wYWdpbmF0b3IgI2xvZ3NQYWdpbmF0b3IgW3BhZ2VTaXplT3B0aW9uc109XCJbNTAsIDEwMCwgMjAwXVwiIHNob3dGaXJzdExhc3RCdXR0b25zPjwvbWF0LXBhZ2luYXRvcj5cclxuPC9kaXY+XHJcblxyXG4iXX0=