tin-spa 2.13.14 → 9.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 (443) hide show
  1. package/README.md +2 -2
  2. package/__ivy_ngcc__/fesm2015/tin-spa.js +6813 -0
  3. package/__ivy_ngcc__/fesm2015/tin-spa.js.map +1 -0
  4. package/bundles/tin-spa.umd.js +3867 -0
  5. package/bundles/tin-spa.umd.js.map +1 -0
  6. package/bundles/tin-spa.umd.min.js +16 -0
  7. package/bundles/tin-spa.umd.min.js.map +1 -0
  8. package/esm2015/lib/classes/Classes.js +241 -0
  9. package/esm2015/lib/components/activity/activity.component.js +26 -0
  10. package/esm2015/lib/components/attach/attach.component.js +107 -0
  11. package/esm2015/lib/components/change-password/change-password.component.js +91 -0
  12. package/esm2015/lib/components/check/check.component.js +63 -0
  13. package/esm2015/lib/components/chips/chips.component.js +67 -0
  14. package/esm2015/lib/components/create-account/create-account.component.js +78 -0
  15. package/esm2015/lib/components/date/date.component.js +45 -0
  16. package/esm2015/lib/components/datetime/datetime.component.js +44 -0
  17. package/esm2015/lib/components/html/html.component.js +97 -0
  18. package/esm2015/lib/components/label/label.component.js +29 -0
  19. package/esm2015/lib/components/loader/loader.component.js +30 -0
  20. package/esm2015/lib/components/login/login.component.js +122 -0
  21. package/esm2015/lib/components/logs/logs.component.js +43 -0
  22. package/esm2015/lib/components/message/messageDialog.component.js +31 -0
  23. package/esm2015/lib/components/money/money.component.js +50 -0
  24. package/esm2015/lib/components/nav-menu/nav-menu.component.js +51 -0
  25. package/esm2015/lib/components/option/option.component.js +62 -0
  26. package/esm2015/lib/components/profile/profile.component.js +108 -0
  27. package/esm2015/lib/components/profiles/profiles.component.js +16 -0
  28. package/esm2015/lib/components/recover-account/recover-account.component.js +52 -0
  29. package/esm2015/lib/components/roles/addRoleDialog.component.js +59 -0
  30. package/esm2015/lib/components/roles/editRoleDialog.component.js +57 -0
  31. package/esm2015/lib/components/roles/roles.component.js +131 -0
  32. package/esm2015/lib/components/roles/viewRoleDialog.component.js +38 -0
  33. package/esm2015/lib/components/select/select.component.js +73 -0
  34. package/esm2015/lib/components/settings/settings.component.js +63 -0
  35. package/esm2015/lib/components/signup/signup.component.js +56 -0
  36. package/esm2015/lib/components/steps/steps.component.js +98 -0
  37. package/esm2015/lib/components/table/table.component.js +109 -0
  38. package/esm2015/lib/components/text/text.component.js +165 -0
  39. package/esm2015/lib/components/tiles/tiles.component.js +41 -0
  40. package/esm2015/lib/components/timeout/timeout.component.js +90 -0
  41. package/esm2015/lib/components/tin-spa.component.js +19 -0
  42. package/esm2015/lib/components/users/addUserDialog.component.js +53 -0
  43. package/esm2015/lib/components/users/editUserDialog.component.js +96 -0
  44. package/esm2015/lib/components/users/users.component.js +130 -0
  45. package/esm2015/lib/components/viewer/viewer.component.js +67 -0
  46. package/esm2015/lib/components/viewer/viewerDialog.component.js +76 -0
  47. package/esm2015/lib/dnd.directive.js +51 -0
  48. package/esm2015/lib/modules/spa-admin.module.js +67 -0
  49. package/esm2015/lib/modules/spa-index.module.js +33 -0
  50. package/esm2015/lib/modules/spa-mat.module.js +53 -0
  51. package/esm2015/lib/modules/spa-user.module.js +31 -0
  52. package/esm2015/lib/services/auth.service.js +153 -0
  53. package/esm2015/lib/services/data.service.js +78 -0
  54. package/esm2015/lib/services/export.service.js +29 -0
  55. package/esm2015/lib/services/loader-interceptor.service.js +77 -0
  56. package/esm2015/lib/services/loader.service.js +17 -0
  57. package/esm2015/lib/services/log.service.js +76 -0
  58. package/esm2015/lib/services/message.service.js +58 -0
  59. package/esm2015/lib/services/storage.service.js +42 -0
  60. package/esm2015/lib/services/tin-spa.service.js +14 -0
  61. package/esm2015/lib/tin-spa.module.js +91 -0
  62. package/esm2015/public-api.js +58 -0
  63. package/esm2015/tin-spa.js +9 -0
  64. package/esm5/lib/classes/Classes.js +298 -0
  65. package/esm5/lib/components/activity/activity.component.js +27 -0
  66. package/esm5/lib/components/attach/attach.component.js +119 -0
  67. package/esm5/lib/components/change-password/change-password.component.js +93 -0
  68. package/esm5/lib/components/check/check.component.js +64 -0
  69. package/esm5/lib/components/chips/chips.component.js +69 -0
  70. package/esm5/lib/components/create-account/create-account.component.js +80 -0
  71. package/esm5/lib/components/date/date.component.js +46 -0
  72. package/esm5/lib/components/datetime/datetime.component.js +45 -0
  73. package/esm5/lib/components/html/html.component.js +98 -0
  74. package/esm5/lib/components/label/label.component.js +30 -0
  75. package/esm5/lib/components/loader/loader.component.js +32 -0
  76. package/esm5/lib/components/login/login.component.js +125 -0
  77. package/esm5/lib/components/logs/logs.component.js +45 -0
  78. package/esm5/lib/components/message/messageDialog.component.js +32 -0
  79. package/esm5/lib/components/money/money.component.js +51 -0
  80. package/esm5/lib/components/nav-menu/nav-menu.component.js +53 -0
  81. package/esm5/lib/components/option/option.component.js +63 -0
  82. package/esm5/lib/components/profile/profile.component.js +112 -0
  83. package/esm5/lib/components/profiles/profiles.component.js +18 -0
  84. package/esm5/lib/components/recover-account/recover-account.component.js +54 -0
  85. package/esm5/lib/components/roles/addRoleDialog.component.js +61 -0
  86. package/esm5/lib/components/roles/editRoleDialog.component.js +59 -0
  87. package/esm5/lib/components/roles/roles.component.js +138 -0
  88. package/esm5/lib/components/roles/viewRoleDialog.component.js +39 -0
  89. package/esm5/lib/components/select/select.component.js +75 -0
  90. package/esm5/lib/components/settings/settings.component.js +66 -0
  91. package/esm5/lib/components/signup/signup.component.js +58 -0
  92. package/esm5/lib/components/steps/steps.component.js +110 -0
  93. package/esm5/lib/components/table/table.component.js +111 -0
  94. package/esm5/lib/components/text/text.component.js +168 -0
  95. package/esm5/lib/components/tiles/tiles.component.js +42 -0
  96. package/esm5/lib/components/timeout/timeout.component.js +92 -0
  97. package/esm5/lib/components/tin-spa.component.js +17 -0
  98. package/esm5/lib/components/users/addUserDialog.component.js +55 -0
  99. package/esm5/lib/components/users/editUserDialog.component.js +99 -0
  100. package/esm5/lib/components/users/users.component.js +135 -0
  101. package/esm5/lib/components/viewer/viewer.component.js +68 -0
  102. package/esm5/lib/components/viewer/viewerDialog.component.js +77 -0
  103. package/esm5/lib/dnd.directive.js +52 -0
  104. package/esm5/lib/modules/spa-admin.module.js +70 -0
  105. package/esm5/lib/modules/spa-index.module.js +36 -0
  106. package/esm5/lib/modules/spa-mat.module.js +56 -0
  107. package/esm5/lib/modules/spa-user.module.js +34 -0
  108. package/esm5/lib/services/auth.service.js +155 -0
  109. package/esm5/lib/services/data.service.js +79 -0
  110. package/esm5/lib/services/export.service.js +30 -0
  111. package/esm5/lib/services/loader-interceptor.service.js +79 -0
  112. package/esm5/lib/services/loader.service.js +18 -0
  113. package/esm5/lib/services/log.service.js +112 -0
  114. package/esm5/lib/services/message.service.js +59 -0
  115. package/esm5/lib/services/storage.service.js +74 -0
  116. package/esm5/lib/services/tin-spa.service.js +16 -0
  117. package/esm5/lib/tin-spa.module.js +94 -0
  118. package/esm5/public-api.js +58 -0
  119. package/esm5/tin-spa.js +9 -0
  120. package/fesm2015/tin-spa.js +3398 -0
  121. package/fesm2015/tin-spa.js.map +1 -0
  122. package/fesm5/tin-spa.js +3623 -0
  123. package/fesm5/tin-spa.js.map +1 -0
  124. package/lib/classes/Classes.d.ts +216 -374
  125. package/lib/components/activity/activity.component.d.ts +5 -3
  126. package/lib/components/activity/activity.component.d.ts.__ivy_ngcc_bak +8 -0
  127. package/lib/components/attach/attach.component.d.ts +30 -16
  128. package/lib/components/attach/attach.component.d.ts.__ivy_ngcc_bak +39 -0
  129. package/lib/components/change-password/change-password.component.d.ts +25 -0
  130. package/lib/components/change-password/change-password.component.d.ts.__ivy_ngcc_bak +20 -0
  131. package/lib/components/check/check.component.d.ts +6 -9
  132. package/lib/components/check/check.component.d.ts.__ivy_ngcc_bak +16 -0
  133. package/lib/components/chips/chips.component.d.ts +5 -3
  134. package/lib/components/chips/chips.component.d.ts.__ivy_ngcc_bak +15 -0
  135. package/lib/components/create-account/create-account.component.d.ts +30 -0
  136. package/lib/components/create-account/create-account.component.d.ts.__ivy_ngcc_bak +25 -0
  137. package/lib/components/date/date.component.d.ts +15 -26
  138. package/lib/components/date/date.component.d.ts.__ivy_ngcc_bak +13 -0
  139. package/lib/components/datetime/datetime.component.d.ts +5 -7
  140. package/lib/components/datetime/datetime.component.d.ts.__ivy_ngcc_bak +12 -0
  141. package/lib/components/html/html.component.d.ts +13 -12
  142. package/lib/components/html/html.component.d.ts.__ivy_ngcc_bak +12 -0
  143. package/lib/components/label/label.component.d.ts +5 -5
  144. package/lib/components/label/label.component.d.ts.__ivy_ngcc_bak +8 -0
  145. package/lib/components/loader/loader.component.d.ts +5 -3
  146. package/lib/components/loader/loader.component.d.ts.__ivy_ngcc_bak +9 -0
  147. package/lib/components/login/login.component.d.ts +34 -0
  148. package/lib/components/login/login.component.d.ts.__ivy_ngcc_bak +29 -0
  149. package/lib/components/logs/logs.component.d.ts +22 -0
  150. package/lib/components/logs/logs.component.d.ts.__ivy_ngcc_bak +17 -0
  151. package/lib/components/message/messageDialog.component.d.ts +5 -3
  152. package/lib/components/message/messageDialog.component.d.ts.__ivy_ngcc_bak +12 -0
  153. package/lib/components/money/money.component.d.ts +8 -29
  154. package/lib/components/money/money.component.d.ts.__ivy_ngcc_bak +14 -0
  155. package/lib/components/nav-menu/nav-menu.component.d.ts +7 -23
  156. package/lib/components/nav-menu/nav-menu.component.d.ts.__ivy_ngcc_bak +17 -0
  157. package/lib/components/option/option.component.d.ts +6 -16
  158. package/lib/components/option/option.component.d.ts.__ivy_ngcc_bak +17 -0
  159. package/lib/components/profile/profile.component.d.ts +35 -0
  160. package/lib/components/profile/profile.component.d.ts.__ivy_ngcc_bak +30 -0
  161. package/lib/components/profiles/profiles.component.d.ts +10 -0
  162. package/lib/components/profiles/profiles.component.d.ts.__ivy_ngcc_bak +5 -0
  163. package/lib/components/recover-account/recover-account.component.d.ts +20 -0
  164. package/lib/components/recover-account/recover-account.component.d.ts.__ivy_ngcc_bak +15 -0
  165. package/lib/components/roles/addRoleDialog.component.d.ts +24 -0
  166. package/lib/components/roles/addRoleDialog.component.d.ts.__ivy_ngcc_bak +19 -0
  167. package/lib/components/roles/editRoleDialog.component.d.ts +24 -0
  168. package/lib/components/roles/editRoleDialog.component.d.ts.__ivy_ngcc_bak +19 -0
  169. package/lib/components/roles/roles.component.d.ts +34 -0
  170. package/lib/components/roles/roles.component.d.ts.__ivy_ngcc_bak +29 -0
  171. package/lib/components/roles/viewRoleDialog.component.d.ts +20 -0
  172. package/lib/components/roles/viewRoleDialog.component.d.ts.__ivy_ngcc_bak +15 -0
  173. package/lib/components/select/select.component.d.ts +23 -21
  174. package/lib/components/select/select.component.d.ts.__ivy_ngcc_bak +20 -0
  175. package/lib/components/settings/settings.component.d.ts +21 -0
  176. package/lib/{pages/settings/settings.component.d.ts → components/settings/settings.component.d.ts.__ivy_ngcc_bak} +2 -5
  177. package/lib/components/signup/signup.component.d.ts +25 -0
  178. package/lib/{pages/signup/signup.component.d.ts → components/signup/signup.component.d.ts.__ivy_ngcc_bak} +4 -7
  179. package/lib/components/steps/steps.component.d.ts +13 -20
  180. package/lib/components/steps/steps.component.d.ts.__ivy_ngcc_bak +15 -0
  181. package/lib/components/table/table.component.d.ts +24 -85
  182. package/lib/components/table/table.component.d.ts.__ivy_ngcc_bak +25 -0
  183. package/lib/components/text/text.component.d.ts +17 -38
  184. package/lib/components/text/text.component.d.ts.__ivy_ngcc_bak +37 -0
  185. package/lib/components/tiles/tiles.component.d.ts +10 -22
  186. package/lib/components/tiles/tiles.component.d.ts.__ivy_ngcc_bak +11 -0
  187. package/lib/components/timeout/timeout.component.d.ts +26 -0
  188. package/lib/components/timeout/timeout.component.d.ts.__ivy_ngcc_bak +21 -0
  189. package/lib/components/tin-spa.component.d.ts +9 -4
  190. package/lib/components/tin-spa.component.d.ts.__ivy_ngcc_bak +5 -0
  191. package/lib/components/users/addUserDialog.component.d.ts +21 -0
  192. package/lib/components/users/addUserDialog.component.d.ts.__ivy_ngcc_bak +16 -0
  193. package/lib/components/users/editUserDialog.component.d.ts +32 -0
  194. package/lib/components/users/editUserDialog.component.d.ts.__ivy_ngcc_bak +27 -0
  195. package/lib/components/users/users.component.d.ts +40 -0
  196. package/lib/components/users/users.component.d.ts.__ivy_ngcc_bak +35 -0
  197. package/lib/components/viewer/viewer.component.d.ts +8 -12
  198. package/lib/components/viewer/viewer.component.d.ts.__ivy_ngcc_bak +16 -0
  199. package/lib/components/viewer/viewerDialog.component.d.ts +8 -8
  200. package/lib/components/viewer/viewerDialog.component.d.ts.__ivy_ngcc_bak +19 -0
  201. package/lib/dnd.directive.d.ts +13 -0
  202. package/lib/dnd.directive.d.ts.__ivy_ngcc_bak +8 -0
  203. package/lib/modules/spa-admin.module.d.ts +19 -13
  204. package/lib/modules/spa-admin.module.d.ts.__ivy_ngcc_bak +2 -0
  205. package/lib/modules/spa-index.module.d.ts +11 -11
  206. package/lib/modules/spa-index.module.d.ts.__ivy_ngcc_bak +2 -0
  207. package/lib/modules/spa-mat.module.d.ts +32 -36
  208. package/lib/modules/spa-mat.module.d.ts.__ivy_ngcc_bak +2 -0
  209. package/lib/modules/spa-user.module.d.ts +10 -9
  210. package/lib/modules/spa-user.module.d.ts.__ivy_ngcc_bak +2 -0
  211. package/lib/services/auth.service.d.ts +15 -27
  212. package/lib/services/auth.service.d.ts.__ivy_ngcc_bak +45 -0
  213. package/lib/services/data.service.d.ts +27 -0
  214. package/lib/services/data.service.d.ts.__ivy_ngcc_bak +23 -0
  215. package/lib/services/export.service.d.ts +8 -3
  216. package/lib/services/export.service.d.ts.__ivy_ngcc_bak +7 -0
  217. package/lib/services/loader-interceptor.service.d.ts +6 -5
  218. package/lib/services/loader-interceptor.service.d.ts.__ivy_ngcc_bak +18 -0
  219. package/lib/services/loader.service.d.ts +4 -3
  220. package/lib/services/loader.service.d.ts.__ivy_ngcc_bak +5 -0
  221. package/lib/services/log.service.d.ts +5 -4
  222. package/lib/services/log.service.d.ts.__ivy_ngcc_bak +16 -0
  223. package/lib/services/message.service.d.ts +5 -5
  224. package/lib/services/message.service.d.ts.__ivy_ngcc_bak +12 -0
  225. package/lib/services/storage.service.d.ts +4 -3
  226. package/lib/services/storage.service.d.ts.__ivy_ngcc_bak +7 -0
  227. package/lib/services/tin-spa.service.d.ts +4 -3
  228. package/lib/services/tin-spa.service.d.ts.__ivy_ngcc_bak +3 -0
  229. package/lib/tin-spa.module.d.ts +35 -84
  230. package/lib/tin-spa.module.d.ts.__ivy_ngcc_bak +2 -0
  231. package/package.json +23 -23
  232. package/public-api.d.ts +21 -50
  233. package/tin-spa.d.ts +10 -0
  234. package/tin-spa.d.ts.__ivy_ngcc_bak +8 -0
  235. package/tin-spa.metadata.json +1 -0
  236. package/esm2020/lib/classes/Classes.mjs +0 -112
  237. package/esm2020/lib/classes/LibClasses.mjs +0 -180
  238. package/esm2020/lib/classes/TinCore.mjs +0 -569
  239. package/esm2020/lib/components/activity/activity.component.mjs +0 -24
  240. package/esm2020/lib/components/alert/alert.component.mjs +0 -43
  241. package/esm2020/lib/components/attach/attach.component.mjs +0 -102
  242. package/esm2020/lib/components/capsules/capsules.component.mjs +0 -63
  243. package/esm2020/lib/components/cards/cards.component.mjs +0 -103
  244. package/esm2020/lib/components/check/check.component.mjs +0 -67
  245. package/esm2020/lib/components/chips/chips.component.mjs +0 -58
  246. package/esm2020/lib/components/date/date.component.mjs +0 -106
  247. package/esm2020/lib/components/datetime/datetime.component.mjs +0 -55
  248. package/esm2020/lib/components/email/email.component.mjs +0 -133
  249. package/esm2020/lib/components/filter/filter.component.mjs +0 -58
  250. package/esm2020/lib/components/form/form.component.mjs +0 -293
  251. package/esm2020/lib/components/html/html.component.mjs +0 -34
  252. package/esm2020/lib/components/label/label.component.mjs +0 -31
  253. package/esm2020/lib/components/list-dialog/list-dialog.component.mjs +0 -68
  254. package/esm2020/lib/components/loader/loader.component.mjs +0 -25
  255. package/esm2020/lib/components/message/messageDialog.component.mjs +0 -33
  256. package/esm2020/lib/components/money/currency-input-mask.directive.mjs +0 -185
  257. package/esm2020/lib/components/money/currency-input-mask.module.mjs +0 -28
  258. package/esm2020/lib/components/money/money.component.mjs +0 -137
  259. package/esm2020/lib/components/multi-select/multi-select.component.mjs +0 -165
  260. package/esm2020/lib/components/multi-text/multi-text.component.mjs +0 -208
  261. package/esm2020/lib/components/nav-menu/nav-menu.component.mjs +0 -88
  262. package/esm2020/lib/components/notes/notes.component.mjs +0 -62
  263. package/esm2020/lib/components/number/number.component.mjs +0 -131
  264. package/esm2020/lib/components/option/option.component.mjs +0 -92
  265. package/esm2020/lib/components/page/page.component.mjs +0 -101
  266. package/esm2020/lib/components/search/search.component.mjs +0 -36
  267. package/esm2020/lib/components/select/select.component.mjs +0 -75
  268. package/esm2020/lib/components/select-bitwise/select-bitwise.component.mjs +0 -87
  269. package/esm2020/lib/components/select-common/select-common.component.mjs +0 -206
  270. package/esm2020/lib/components/select-internal/select-internal.component.mjs +0 -75
  271. package/esm2020/lib/components/select-lite/select-lite.component.mjs +0 -18
  272. package/esm2020/lib/components/statuses/statuses.component.mjs +0 -44
  273. package/esm2020/lib/components/steps/steps.component.mjs +0 -112
  274. package/esm2020/lib/components/suffix/suffix.component.mjs +0 -70
  275. package/esm2020/lib/components/table/detailsDialog.component.mjs +0 -406
  276. package/esm2020/lib/components/table/table.component.mjs +0 -440
  277. package/esm2020/lib/components/table-action/table-action.component.mjs +0 -80
  278. package/esm2020/lib/components/table-header/table-header.component.mjs +0 -148
  279. package/esm2020/lib/components/table-internal/detailsDialog-internal.component.mjs +0 -406
  280. package/esm2020/lib/components/table-internal/table-internal.component.mjs +0 -441
  281. package/esm2020/lib/components/table-lite/detailsDialog-lite.component.mjs +0 -404
  282. package/esm2020/lib/components/table-lite/table-lite.component.mjs +0 -441
  283. package/esm2020/lib/components/table-row/table-row.component.mjs +0 -93
  284. package/esm2020/lib/components/tabs/tabs.component.mjs +0 -74
  285. package/esm2020/lib/components/text/text.component.mjs +0 -259
  286. package/esm2020/lib/components/tiles/tiles.component.mjs +0 -99
  287. package/esm2020/lib/components/tin-spa.component.mjs +0 -19
  288. package/esm2020/lib/components/viewer/viewer.component.mjs +0 -83
  289. package/esm2020/lib/components/viewer/viewerDialog.component.mjs +0 -95
  290. package/esm2020/lib/modules/admin/admin-routing.module.mjs +0 -71
  291. package/esm2020/lib/modules/admin/admin.module.mjs +0 -26
  292. package/esm2020/lib/modules/index/index-routing.module.mjs +0 -27
  293. package/esm2020/lib/modules/index/index.module.mjs +0 -26
  294. package/esm2020/lib/modules/spa-admin.module.mjs +0 -71
  295. package/esm2020/lib/modules/spa-index.module.mjs +0 -54
  296. package/esm2020/lib/modules/spa-mat.module.mjs +0 -84
  297. package/esm2020/lib/modules/spa-user.module.mjs +0 -47
  298. package/esm2020/lib/modules/user/user-routing.module.mjs +0 -23
  299. package/esm2020/lib/modules/user/user.module.mjs +0 -26
  300. package/esm2020/lib/pages/accounts/accountDialog.component.mjs +0 -56
  301. package/esm2020/lib/pages/accounts/accounts.component.mjs +0 -70
  302. package/esm2020/lib/pages/app-models/app-models.component.mjs +0 -56
  303. package/esm2020/lib/pages/approvals/approvals.component.mjs +0 -19
  304. package/esm2020/lib/pages/approvals-config/approvals-config.component.mjs +0 -165
  305. package/esm2020/lib/pages/bug/bug.component.mjs +0 -14
  306. package/esm2020/lib/pages/change-password/change-password.component.mjs +0 -92
  307. package/esm2020/lib/pages/create-account/create-account.component.mjs +0 -110
  308. package/esm2020/lib/pages/customers/customers.component.mjs +0 -21
  309. package/esm2020/lib/pages/departments/departments.component.mjs +0 -22
  310. package/esm2020/lib/pages/employees/employees.component.mjs +0 -20
  311. package/esm2020/lib/pages/grades/grades.component.mjs +0 -14
  312. package/esm2020/lib/pages/inventory/inventory.component.mjs +0 -99
  313. package/esm2020/lib/pages/inventory/quantityDialog.component.mjs +0 -53
  314. package/esm2020/lib/pages/invitations-table/invitations-table.component.mjs +0 -71
  315. package/esm2020/lib/pages/login/login.component.mjs +0 -166
  316. package/esm2020/lib/pages/logs/logs.component.mjs +0 -42
  317. package/esm2020/lib/pages/membership/membership.component.mjs +0 -44
  318. package/esm2020/lib/pages/notifications/notifications.component.mjs +0 -90
  319. package/esm2020/lib/pages/notifications-config/notifications-config.component.mjs +0 -113
  320. package/esm2020/lib/pages/plans/plans.component.mjs +0 -44
  321. package/esm2020/lib/pages/positions/positions.component.mjs +0 -21
  322. package/esm2020/lib/pages/profile/profile.component.mjs +0 -94
  323. package/esm2020/lib/pages/recover-account/recover-account.component.mjs +0 -46
  324. package/esm2020/lib/pages/roles/addRoleDialog.component.mjs +0 -60
  325. package/esm2020/lib/pages/roles/roles.component.mjs +0 -151
  326. package/esm2020/lib/pages/settings/settings.component.mjs +0 -54
  327. package/esm2020/lib/pages/signup/signup.component.mjs +0 -50
  328. package/esm2020/lib/pages/suppliers/suppliers.component.mjs +0 -22
  329. package/esm2020/lib/pages/tasks/tasks.component.mjs +0 -86
  330. package/esm2020/lib/pages/tenant-settings/tenant-settings.component.mjs +0 -228
  331. package/esm2020/lib/pages/tenants/tenants.component.mjs +0 -47
  332. package/esm2020/lib/pages/transactions/transactDialog.component.mjs +0 -80
  333. package/esm2020/lib/pages/transactions/transactions.component.mjs +0 -101
  334. package/esm2020/lib/pages/users/users.component.mjs +0 -141
  335. package/esm2020/lib/pages/welcome/welcome.component.mjs +0 -86
  336. package/esm2020/lib/pipes/camelToWords.pipe.mjs +0 -17
  337. package/esm2020/lib/select-context.directive.mjs +0 -23
  338. package/esm2020/lib/services/auth.service.mjs +0 -175
  339. package/esm2020/lib/services/button.service.mjs +0 -162
  340. package/esm2020/lib/services/condition.service.mjs +0 -32
  341. package/esm2020/lib/services/csv.service.mjs +0 -49
  342. package/esm2020/lib/services/datalib.service.mjs +0 -861
  343. package/esm2020/lib/services/dialog.service.mjs +0 -125
  344. package/esm2020/lib/services/export.service.mjs +0 -16
  345. package/esm2020/lib/services/http.service.mjs +0 -79
  346. package/esm2020/lib/services/loader-interceptor.service.mjs +0 -86
  347. package/esm2020/lib/services/loader.service.mjs +0 -17
  348. package/esm2020/lib/services/log.service.mjs +0 -77
  349. package/esm2020/lib/services/message.service.mjs +0 -59
  350. package/esm2020/lib/services/notifications.service.mjs +0 -33
  351. package/esm2020/lib/services/storage.service.mjs +0 -34
  352. package/esm2020/lib/services/table-config.service.mjs +0 -78
  353. package/esm2020/lib/services/tin-spa.service.mjs +0 -14
  354. package/esm2020/lib/tin-spa.module.mjs +0 -225
  355. package/esm2020/public-api.mjs +0 -90
  356. package/esm2020/tin-spa.mjs +0 -5
  357. package/fesm2015/tin-spa.mjs +0 -11711
  358. package/fesm2015/tin-spa.mjs.map +0 -1
  359. package/fesm2020/tin-spa.mjs +0 -11718
  360. package/fesm2020/tin-spa.mjs.map +0 -1
  361. package/index.d.ts +0 -5
  362. package/lib/classes/LibClasses.d.ts +0 -173
  363. package/lib/classes/TinCore.d.ts +0 -59
  364. package/lib/components/alert/alert.component.d.ts +0 -15
  365. package/lib/components/capsules/capsules.component.d.ts +0 -26
  366. package/lib/components/cards/cards.component.d.ts +0 -39
  367. package/lib/components/email/email.component.d.ts +0 -40
  368. package/lib/components/filter/filter.component.d.ts +0 -20
  369. package/lib/components/form/form.component.d.ts +0 -47
  370. package/lib/components/list-dialog/list-dialog.component.d.ts +0 -23
  371. package/lib/components/money/currency-input-mask.directive.d.ts +0 -41
  372. package/lib/components/money/currency-input-mask.module.d.ts +0 -9
  373. package/lib/components/multi-select/multi-select.component.d.ts +0 -47
  374. package/lib/components/multi-text/multi-text.component.d.ts +0 -56
  375. package/lib/components/notes/notes.component.d.ts +0 -19
  376. package/lib/components/number/number.component.d.ts +0 -41
  377. package/lib/components/page/page.component.d.ts +0 -38
  378. package/lib/components/search/search.component.d.ts +0 -15
  379. package/lib/components/select-bitwise/select-bitwise.component.d.ts +0 -31
  380. package/lib/components/select-common/select-common.component.d.ts +0 -53
  381. package/lib/components/select-internal/select-internal.component.d.ts +0 -23
  382. package/lib/components/select-lite/select-lite.component.d.ts +0 -8
  383. package/lib/components/statuses/statuses.component.d.ts +0 -12
  384. package/lib/components/suffix/suffix.component.d.ts +0 -23
  385. package/lib/components/table/detailsDialog.component.d.ts +0 -86
  386. package/lib/components/table-action/table-action.component.d.ts +0 -25
  387. package/lib/components/table-header/table-header.component.d.ts +0 -46
  388. package/lib/components/table-internal/detailsDialog-internal.component.d.ts +0 -86
  389. package/lib/components/table-internal/table-internal.component.d.ts +0 -91
  390. package/lib/components/table-lite/detailsDialog-lite.component.d.ts +0 -86
  391. package/lib/components/table-lite/table-lite.component.d.ts +0 -91
  392. package/lib/components/table-row/table-row.component.d.ts +0 -31
  393. package/lib/components/tabs/tabs.component.d.ts +0 -32
  394. package/lib/modules/admin/admin-routing.module.d.ts +0 -7
  395. package/lib/modules/admin/admin.module.d.ts +0 -9
  396. package/lib/modules/index/index-routing.module.d.ts +0 -7
  397. package/lib/modules/index/index.module.d.ts +0 -9
  398. package/lib/modules/user/user-routing.module.d.ts +0 -7
  399. package/lib/modules/user/user.module.d.ts +0 -9
  400. package/lib/pages/accounts/accountDialog.component.d.ts +0 -27
  401. package/lib/pages/accounts/accounts.component.d.ts +0 -25
  402. package/lib/pages/app-models/app-models.component.d.ts +0 -15
  403. package/lib/pages/approvals/approvals.component.d.ts +0 -10
  404. package/lib/pages/approvals-config/approvals-config.component.d.ts +0 -24
  405. package/lib/pages/bug/bug.component.d.ts +0 -8
  406. package/lib/pages/change-password/change-password.component.d.ts +0 -27
  407. package/lib/pages/create-account/create-account.component.d.ts +0 -34
  408. package/lib/pages/customers/customers.component.d.ts +0 -12
  409. package/lib/pages/departments/departments.component.d.ts +0 -14
  410. package/lib/pages/employees/employees.component.d.ts +0 -12
  411. package/lib/pages/grades/grades.component.d.ts +0 -8
  412. package/lib/pages/inventory/inventory.component.d.ts +0 -25
  413. package/lib/pages/inventory/quantityDialog.component.d.ts +0 -23
  414. package/lib/pages/invitations-table/invitations-table.component.d.ts +0 -19
  415. package/lib/pages/login/login.component.d.ts +0 -46
  416. package/lib/pages/logs/logs.component.d.ts +0 -14
  417. package/lib/pages/membership/membership.component.d.ts +0 -13
  418. package/lib/pages/notifications/notifications.component.d.ts +0 -16
  419. package/lib/pages/notifications-config/notifications-config.component.d.ts +0 -17
  420. package/lib/pages/plans/plans.component.d.ts +0 -13
  421. package/lib/pages/positions/positions.component.d.ts +0 -12
  422. package/lib/pages/profile/profile.component.d.ts +0 -35
  423. package/lib/pages/recover-account/recover-account.component.d.ts +0 -18
  424. package/lib/pages/roles/addRoleDialog.component.d.ts +0 -24
  425. package/lib/pages/roles/roles.component.d.ts +0 -42
  426. package/lib/pages/suppliers/suppliers.component.d.ts +0 -14
  427. package/lib/pages/tasks/tasks.component.d.ts +0 -27
  428. package/lib/pages/tenant-settings/tenant-settings.component.d.ts +0 -47
  429. package/lib/pages/tenants/tenants.component.d.ts +0 -17
  430. package/lib/pages/transactions/transactDialog.component.d.ts +0 -26
  431. package/lib/pages/transactions/transactions.component.d.ts +0 -31
  432. package/lib/pages/users/users.component.d.ts +0 -28
  433. package/lib/pages/welcome/welcome.component.d.ts +0 -25
  434. package/lib/pipes/camelToWords.pipe.d.ts +0 -7
  435. package/lib/select-context.directive.d.ts +0 -10
  436. package/lib/services/button.service.d.ts +0 -30
  437. package/lib/services/condition.service.d.ts +0 -10
  438. package/lib/services/csv.service.d.ts +0 -10
  439. package/lib/services/datalib.service.d.ts +0 -125
  440. package/lib/services/dialog.service.d.ts +0 -20
  441. package/lib/services/http.service.d.ts +0 -22
  442. package/lib/services/notifications.service.d.ts +0 -12
  443. package/lib/services/table-config.service.d.ts +0 -17
@@ -1,125 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Observable } from 'rxjs';
3
- import { DetailsDialogProcessor } from '../classes/TinCore';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/material/dialog";
6
- import * as i2 from "@angular/cdk/layout";
7
- // import { Button } from 'tin-spa';
8
- export class DialogService {
9
- constructor(dialog, breakpointObserver) {
10
- this.dialog = dialog;
11
- this.breakpointObserver = breakpointObserver;
12
- this.smallScreen = false;
13
- // Detect screen size changes
14
- this.breakpointObserver.observe(["(max-width: 600px)"]).subscribe((result) => {
15
- this.smallScreen = result.matches;
16
- });
17
- }
18
- openDetailsDialog(config, dialogComponent) {
19
- const hasTables = config.tableConfigs?.length > 0;
20
- const dialogOptions = {
21
- width: config.options?.width ? config.options?.width : (this.smallScreen ? '900px' : (hasTables ? '90%' : '900px')),
22
- height: config.options?.height ? config.options?.height : (hasTables ? '90%' : 'auto'),
23
- data: config
24
- };
25
- const dialogRef = this.dialog.open(dialogComponent, dialogOptions);
26
- return {
27
- afterClosed: dialogRef.afterClosed(),
28
- inputChange: dialogRef.componentInstance.inputChange,
29
- dialogRef: dialogRef
30
- };
31
- }
32
- openConfiguredDetailsDialog(button, row, dialogComponent) {
33
- // const button = column ? { name: column.name, dialog: true, detailsConfig: column.detailsConfig } : config.buttons?.find(b => b.name === buttonName);
34
- // console.log('button', button);
35
- if (!button || !button.dialog) {
36
- return new Observable(observer => {
37
- observer.next({ action: 'doAction', name: button.name, row: row });
38
- observer.complete();
39
- });
40
- }
41
- let config = button.detailsConfig;
42
- //approval message
43
- if (row?.pendingApproval && !['Approval', 'Approval Action'].includes(config?.formConfig.title)) { //if pending and not the actual view approval dialog //&& config?.formConfig.title != 'Approval'
44
- let approvalAlerts = { messages: [{ type: 'info', content: 'Waiting for approval', hiddenCondition: x => !x.pendingApproval }] };
45
- if (!config.formConfig.alertConfig) {
46
- config.formConfig.alertConfig = approvalAlerts;
47
- }
48
- else if (config.formConfig.alertConfig.messages.filter(x => x.content === approvalAlerts.messages[0].content).length === 0) {
49
- config.formConfig.alertConfig.messages.push(approvalAlerts.messages[0]);
50
- }
51
- }
52
- let dialogConfig = {
53
- formConfig: config.formConfig,
54
- buttons: config.buttons,
55
- details: row,
56
- stepConfig: config.stepConfig
57
- // heroField : config.heroField,
58
- };
59
- if (button.detailsConfig) {
60
- dialogConfig = button.name === 'create' ? { ...button.detailsConfig, tableConfigs: undefined, stepConfig: undefined } : DetailsDialogProcessor.processDetailsConfig({ ...button.detailsConfig }, row);
61
- }
62
- else {
63
- dialogConfig = DetailsDialogProcessor.processDetailsConfig({ ...dialogConfig }, row);
64
- }
65
- if (button.detailsConfig && button.detailsConfig.mode) {
66
- dialogConfig.formConfig.mode = button.detailsConfig.mode;
67
- }
68
- else {
69
- dialogConfig.formConfig.mode = button.name === 'create' ? 'create' : (button.name === 'edit' ? 'edit' : 'view');
70
- }
71
- if (button.name === 'create') {
72
- dialogConfig.heroField = config.heroField;
73
- dialogConfig.heroValue = config.heroValue;
74
- }
75
- if (row?.updatedByDetails && dialogConfig.formConfig.includeAudit === true && !dialogConfig.formConfig.fields.some(f => f.name === 'updatedByDetails')) {
76
- dialogConfig.formConfig.fields.push({ name: 'updatedByDetails', type: 'string', span: true, readonly: true, size: '12px', });
77
- }
78
- const dialogResult = this.openDetailsDialog(dialogConfig, dialogComponent);
79
- return new Observable(observer => {
80
- dialogResult.afterClosed.subscribe(result => {
81
- observer.next(result);
82
- observer.complete();
83
- });
84
- dialogResult.inputChange.subscribe(change => {
85
- observer.next({ action: 'inputChange', change: change });
86
- });
87
- });
88
- }
89
- openPrintDialog(htmlContent) {
90
- // Create hidden iframe for silent printing
91
- const iframe = document.createElement('iframe');
92
- iframe.style.position = 'absolute';
93
- iframe.style.width = '0';
94
- iframe.style.height = '0';
95
- iframe.style.border = 'none';
96
- iframe.style.visibility = 'hidden';
97
- document.body.appendChild(iframe);
98
- if (iframe.contentWindow) {
99
- iframe.contentWindow.document.open();
100
- iframe.contentWindow.document.write(htmlContent);
101
- iframe.contentWindow.document.close();
102
- // Wait for content to load, then print silently
103
- iframe.onload = () => {
104
- setTimeout(() => {
105
- if (iframe.contentWindow) {
106
- iframe.contentWindow.print();
107
- // Remove iframe after printing
108
- setTimeout(() => {
109
- document.body.removeChild(iframe);
110
- }, 1000);
111
- }
112
- }, 250);
113
- };
114
- }
115
- }
116
- }
117
- DialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DialogService, deps: [{ token: i1.MatDialog }, { token: i2.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Injectable });
118
- DialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DialogService, providedIn: 'root' });
119
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DialogService, decorators: [{
120
- type: Injectable,
121
- args: [{
122
- providedIn: 'root'
123
- }]
124
- }], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.BreakpointObserver }]; } });
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90aW4tc3BhL3NyYy9saWIvc2VydmljZXMvZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSWxDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBQzVELG9DQUFvQztBQUtwQyxNQUFNLE9BQU8sYUFBYTtJQUd4QixZQUNVLE1BQWlCLEVBQ2pCLGtCQUFzQztRQUR0QyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFKeEMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFNMUIsNkJBQTZCO1FBQzdCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBdUIsRUFBRSxFQUFFO1lBQzVGLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxpQkFBaUIsQ0FBSyxNQUEyQixFQUFFLGVBQTBDO1FBSzNGLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxZQUFZLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUVsRCxNQUFNLGFBQWEsR0FBRztZQUNwQixLQUFLLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFT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QUksTUFBTSxDQUFDLGFBQWEsRUFBRTtZQUN4QixNQUFNLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyQyxNQUFNLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDakQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7WUFFdEMsZ0RBQWdEO1lBQ2hELE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFO2dCQUNuQixVQUFVLENBQUMsR0FBRyxFQUFFO29CQUNkLElBQUksTUFBTSxDQUFDLGFBQWEsRUFBRTt3QkFDeEIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQzt3QkFDN0IsK0JBQStCO3dCQUMvQixVQUFVLENBQUMsR0FBRyxFQUFFOzRCQUNkLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUNwQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7cUJBQ1Y7Z0JBQ0gsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ1YsQ0FBQyxDQUFDO1NBQ0g7SUFDSCxDQUFDOzswR0FuSlUsYUFBYTs4R0FBYixhQUFhLGNBRlosTUFBTTsyRkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFsZXJ0TWVzc2FnZSwgQWxlcnRDb25maWcsIEJ1dHRvbiwgQ29sdW1uLCBEZXRhaWxzRGlhbG9nQ29uZmlnLCBUYWJsZUNvbmZpZyB9IGZyb20gJy4uL2NsYXNzZXMvQ2xhc3Nlcyc7XHJcbi8vIGltcG9ydCB7IERldGFpbHNEaWFsb2cgfSBmcm9tICcuLi9jb21wb25lbnRzL3RhYmxlL2RldGFpbHNEaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyLCBCcmVha3BvaW50U3RhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcclxuaW1wb3J0IHsgRGV0YWlsc0RpYWxvZ1Byb2Nlc3NvciB9IGZyb20gJy4uL2NsYXNzZXMvVGluQ29yZSc7XHJcbi8vIGltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJ3Rpbi1zcGEnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlhbG9nU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBzbWFsbFNjcmVlbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyXHJcbiAgKSB7XHJcbiAgICAvLyBEZXRlY3Qgc2NyZWVuIHNpemUgY2hhbmdlc1xyXG4gICAgdGhpcy5icmVha3BvaW50T2JzZXJ2ZXIub2JzZXJ2ZShbXCIobWF4LXdpZHRoOiA2MDBweClcIl0pLnN1YnNjcmliZSgocmVzdWx0OiBCcmVha3BvaW50U3RhdGUpID0+IHtcclxuICAgICAgdGhpcy5zbWFsbFNjcmVlbiA9IHJlc3VsdC5tYXRjaGVzO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvcGVuRGV0YWlsc0RpYWxvZzxUPiggY29uZmlnOiBEZXRhaWxzRGlhbG9nQ29uZmlnLCBkaWFsb2dDb21wb25lbnQ6IG5ldyAoLi4uYXJnczogYW55W10pID0+IFQgICk6IHtcclxuICAgIGFmdGVyQ2xvc2VkOiBPYnNlcnZhYmxlPGFueT4sXHJcbiAgICBpbnB1dENoYW5nZTogT2JzZXJ2YWJsZTxhbnk+LFxyXG4gICAgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VD5cclxuICB9IHtcclxuICAgIGNvbnN0IGhhc1RhYmxlcyA9IGNvbmZpZy50YWJsZUNvbmZpZ3M/Lmxlbmd0aCA+IDA7XHJcblxyXG4gICAgY29uc3QgZGlhbG9nT3B0aW9ucyA9IHtcclxuICAgICAgd2lkdGg6IGNvbmZpZy5vcHRpb25zPy53aWR0aCA/IGNvbmZpZy5vcHRpb25zPy53aWR0aCA6ICh0aGlzLnNtYWxsU2NyZWVuID8gJzkwMHB4JyA6IChoYXNUYWJsZXMgPyAnOTAlJyA6ICc5MDBweCcpKSxcclxuICAgICAgaGVpZ2h0OiBjb25maWcub3B0aW9ucz8uaGVpZ2h0ID8gY29uZmlnLm9wdGlvbnM/LmhlaWdodCA6IChoYXNUYWJsZXMgPyAnOTAlJyA6ICdhdXRvJyksXHJcbiAgICAgIGRhdGE6IGNvbmZpZ1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKGRpYWxvZ0NvbXBvbmVudCwgZGlhbG9nT3B0aW9ucyk7XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgYWZ0ZXJDbG9zZWQ6IGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLFxyXG4gICAgICBpbnB1dENoYW5nZTogKGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZSBhcyBhbnkpLmlucHV0Q2hhbmdlLFxyXG4gICAgICBkaWFsb2dSZWY6IGRpYWxvZ1JlZlxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIG9wZW5Db25maWd1cmVkRGV0YWlsc0RpYWxvZzxUPiggYnV0dG9uOiBCdXR0b24sIHJvdzogYW55LCBkaWFsb2dDb21wb25lbnQ6IG5ldyAoLi4uYXJnczogYW55W10pID0+IFQgKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHJcbiAgICAvLyBjb25zdCBidXR0b24gPSBjb2x1bW4gPyB7IG5hbWU6IGNvbHVtbi5uYW1lLCBkaWFsb2c6IHRydWUsIGRldGFpbHNDb25maWc6IGNvbHVtbi5kZXRhaWxzQ29uZmlnIH0gOiBjb25maWcuYnV0dG9ucz8uZmluZChiID0+IGIubmFtZSA9PT0gYnV0dG9uTmFtZSk7XHJcblxyXG4gICAgLy8gY29uc29sZS5sb2coJ2J1dHRvbicsIGJ1dHRvbik7XHJcblxyXG4gICAgaWYgKCFidXR0b24gfHwgIWJ1dHRvbi5kaWFsb2cpIHtcclxuICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKG9ic2VydmVyID0+IHtcclxuICAgICAgICBvYnNlcnZlci5uZXh0KHsgYWN0aW9uOiAnZG9BY3Rpb24nLCBuYW1lOiBidXR0b24ubmFtZSwgcm93OiByb3cgfSk7XHJcbiAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGNvbmZpZyA9IGJ1dHRvbi5kZXRhaWxzQ29uZmlnO1xyXG5cclxuICAgIC8vYXBwcm92YWwgbWVzc2FnZVxyXG4gICAgaWYgKHJvdz8ucGVuZGluZ0FwcHJvdmFsICYmICFbJ0FwcHJvdmFsJywgJ0FwcHJvdmFsIEFjdGlvbiddLmluY2x1ZGVzKGNvbmZpZz8uZm9ybUNvbmZpZy50aXRsZSkpIHsgLy9pZiBwZW5kaW5nIGFuZCBub3QgdGhlIGFjdHVhbCB2aWV3IGFwcHJvdmFsIGRpYWxvZyAvLyYmIGNvbmZpZz8uZm9ybUNvbmZpZy50aXRsZSAhPSAnQXBwcm92YWwnXHJcbiAgICAgIGxldCBhcHByb3ZhbEFsZXJ0czogQWxlcnRDb25maWcgPSB7IG1lc3NhZ2VzOiBbeyB0eXBlOiAnaW5mbycsIGNvbnRlbnQ6ICdXYWl0aW5nIGZvciBhcHByb3ZhbCcsIGhpZGRlbkNvbmRpdGlvbjogeCA9PiAheC5wZW5kaW5nQXBwcm92YWwgfV0gfVxyXG4gICAgICBpZiAoIWNvbmZpZy5mb3JtQ29uZmlnLmFsZXJ0Q29uZmlnKXtcclxuICAgICAgICBjb25maWcuZm9ybUNvbmZpZy5hbGVydENvbmZpZyA9IGFwcHJvdmFsQWxlcnRzO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKGNvbmZpZy5mb3JtQ29uZmlnLmFsZXJ0Q29uZmlnLm1lc3NhZ2VzLmZpbHRlcih4ID0+IHguY29udGVudCA9PT0gYXBwcm92YWxBbGVydHMubWVzc2FnZXNbMF0uY29udGVudCkubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgY29uZmlnLmZvcm1Db25maWcuYWxlcnRDb25maWcubWVzc2FnZXMucHVzaChhcHByb3ZhbEFsZXJ0cy5tZXNzYWdlc1swXSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIGxldCBkaWFsb2dDb25maWc6IERldGFpbHNEaWFsb2dDb25maWcgPSB7XHJcbiAgICAgIGZvcm1Db25maWc6IGNvbmZpZy5mb3JtQ29uZmlnLFxyXG4gICAgICBidXR0b25zOiBjb25maWcuYnV0dG9ucyxcclxuICAgICAgZGV0YWlsczogcm93LFxyXG4gICAgICBzdGVwQ29uZmlnIDogY29uZmlnLnN0ZXBDb25maWdcclxuICAgICAgLy8gaGVyb0ZpZWxkIDogY29uZmlnLmhlcm9GaWVsZCxcclxuXHJcbiAgICB9O1xyXG5cclxuXHJcblxyXG5cclxuICAgIGlmIChidXR0b24uZGV0YWlsc0NvbmZpZykge1xyXG4gICAgICBkaWFsb2dDb25maWcgPSBidXR0b24ubmFtZSA9PT0gJ2NyZWF0ZScgPyB7Li4uYnV0dG9uLmRldGFpbHNDb25maWcsIHRhYmxlQ29uZmlncyA6IHVuZGVmaW5lZCwgc3RlcENvbmZpZyA6IHVuZGVmaW5lZH0gOiBEZXRhaWxzRGlhbG9nUHJvY2Vzc29yLnByb2Nlc3NEZXRhaWxzQ29uZmlnKHsgLi4uYnV0dG9uLmRldGFpbHNDb25maWcgfSwgcm93KTtcclxuICAgIH1lbHNle1xyXG4gICAgICBkaWFsb2dDb25maWcgPSBEZXRhaWxzRGlhbG9nUHJvY2Vzc29yLnByb2Nlc3NEZXRhaWxzQ29uZmlnKHsuLi5kaWFsb2dDb25maWd9LCByb3cpO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgaWYgKGJ1dHRvbi5kZXRhaWxzQ29uZmlnICYmIGJ1dHRvbi5kZXRhaWxzQ29uZmlnLm1vZGUpIHtcclxuICAgICAgZGlhbG9nQ29uZmlnLmZvcm1Db25maWcubW9kZSA9IGJ1dHRvbi5kZXRhaWxzQ29uZmlnLm1vZGU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBkaWFsb2dDb25maWcuZm9ybUNvbmZpZy5tb2RlID0gYnV0dG9uLm5hbWUgPT09ICdjcmVhdGUnID8gJ2NyZWF0ZScgOiAoYnV0dG9uLm5hbWUgPT09ICdlZGl0JyA/ICdlZGl0JyA6ICd2aWV3Jyk7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICBpZiAoYnV0dG9uLm5hbWUgPT09ICdjcmVhdGUnKSB7XHJcbiAgICAgIGRpYWxvZ0NvbmZpZy5oZXJvRmllbGQgPSBjb25maWcuaGVyb0ZpZWxkO1xyXG4gICAgICBkaWFsb2dDb25maWcuaGVyb1ZhbHVlID0gY29uZmlnLmhlcm9WYWx1ZTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIGlmIChyb3c/LnVwZGF0ZWRCeURldGFpbHMgJiYgZGlhbG9nQ29uZmlnLmZvcm1Db25maWcuaW5jbHVkZUF1ZGl0ID09PSB0cnVlICYmICFkaWFsb2dDb25maWcuZm9ybUNvbmZpZy5maWVsZHMuc29tZShmID0+IGYubmFtZSA9PT0gJ3VwZGF0ZWRCeURldGFpbHMnKSkge1xyXG4gICAgICBkaWFsb2dDb25maWcuZm9ybUNvbmZpZy5maWVsZHMucHVzaChcclxuICAgICAgICB7IG5hbWU6ICd1cGRhdGVkQnlEZXRhaWxzJywgdHlwZTogJ3N0cmluZycsIHNwYW46IHRydWUsIHJlYWRvbmx5OiB0cnVlLCBzaXplOiAnMTJweCcsfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGRpYWxvZ1Jlc3VsdCA9IHRoaXMub3BlbkRldGFpbHNEaWFsb2coZGlhbG9nQ29uZmlnLCBkaWFsb2dDb21wb25lbnQpO1xyXG5cclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlciA9PiB7XHJcbiAgICAgIGRpYWxvZ1Jlc3VsdC5hZnRlckNsb3NlZC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgICBvYnNlcnZlci5uZXh0KHJlc3VsdCk7XHJcbiAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICBkaWFsb2dSZXN1bHQuaW5wdXRDaGFuZ2Uuc3Vic2NyaWJlKGNoYW5nZSA9PiB7XHJcbiAgICAgICAgb2JzZXJ2ZXIubmV4dCh7IGFjdGlvbjogJ2lucHV0Q2hhbmdlJywgY2hhbmdlOiBjaGFuZ2UgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvcGVuUHJpbnREaWFsb2coaHRtbENvbnRlbnQ6IGFueSkge1xyXG4gICAgLy8gQ3JlYXRlIGhpZGRlbiBpZnJhbWUgZm9yIHNpbGVudCBwcmludGluZ1xyXG4gICAgY29uc3QgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7XHJcbiAgICBpZnJhbWUuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xyXG4gICAgaWZyYW1lLnN0eWxlLndpZHRoID0gJzAnO1xyXG4gICAgaWZyYW1lLnN0eWxlLmhlaWdodCA9ICcwJztcclxuICAgIGlmcmFtZS5zdHlsZS5ib3JkZXIgPSAnbm9uZSc7XHJcbiAgICBpZnJhbWUuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xyXG4gICAgXHJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7XHJcbiAgICBcclxuICAgIGlmIChpZnJhbWUuY29udGVudFdpbmRvdykge1xyXG4gICAgICBpZnJhbWUuY29udGVudFdpbmRvdy5kb2N1bWVudC5vcGVuKCk7XHJcbiAgICAgIGlmcmFtZS5jb250ZW50V2luZG93LmRvY3VtZW50LndyaXRlKGh0bWxDb250ZW50KTtcclxuICAgICAgaWZyYW1lLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQuY2xvc2UoKTtcclxuICAgICAgXHJcbiAgICAgIC8vIFdhaXQgZm9yIGNvbnRlbnQgdG8gbG9hZCwgdGhlbiBwcmludCBzaWxlbnRseVxyXG4gICAgICBpZnJhbWUub25sb2FkID0gKCkgPT4ge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgaWYgKGlmcmFtZS5jb250ZW50V2luZG93KSB7XHJcbiAgICAgICAgICAgIGlmcmFtZS5jb250ZW50V2luZG93LnByaW50KCk7XHJcbiAgICAgICAgICAgIC8vIFJlbW92ZSBpZnJhbWUgYWZ0ZXIgcHJpbnRpbmdcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChpZnJhbWUpO1xyXG4gICAgICAgICAgICB9LCAxMDAwKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LCAyNTApO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,16 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- // import * as FileSaver from 'file-saver';
4
- // import * as XLSX from 'xlsx';
5
- export class ExportService {
6
- constructor() { }
7
- }
8
- ExportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ExportService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
9
- ExportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ExportService, providedIn: 'root' });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ExportService, decorators: [{
11
- type: Injectable,
12
- args: [{
13
- providedIn: 'root'
14
- }]
15
- }], ctorParameters: function () { return []; } });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90aW4tc3BhL3NyYy9saWIvc2VydmljZXMvZXhwb3J0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFDM0MsMkNBQTJDO0FBQzNDLGdDQUFnQztBQUtoQyxNQUFNLE9BQU8sYUFBYTtJQUV4QixnQkFBZ0IsQ0FBQzs7MEdBRk4sYUFBYTs4R0FBYixhQUFhLGNBRlosTUFBTTsyRkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuLy8gaW1wb3J0ICogYXMgRmlsZVNhdmVyIGZyb20gJ2ZpbGUtc2F2ZXInO1xyXG4vLyBpbXBvcnQgKiBhcyBYTFNYIGZyb20gJ3hsc3gnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRXhwb3J0U2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIC8vIGZpbGVUeXBlID0gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0O2NoYXJzZXQ9VVRGLTgnO1xyXG4gIC8vIGZpbGVFeHRlbnNpb24gPSAnLnhsc3gnO1xyXG5cclxuICAvLyBwdWJsaWMgZXhwb3J0RXhjZWwoanNvbkRhdGE6IGFueVtdLCBmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XHJcblxyXG4gIC8vICAgY29uc3Qgd3M6IFhMU1guV29ya1NoZWV0ID0gWExTWC51dGlscy5qc29uX3RvX3NoZWV0KGpzb25EYXRhKTtcclxuICAvLyAgIGNvbnN0IHdiOiBYTFNYLldvcmtCb29rID0geyBTaGVldHM6IHsgJ2RhdGEnOiB3cyB9LCBTaGVldE5hbWVzOiBbJ2RhdGEnXSB9O1xyXG4gIC8vICAgY29uc3QgZXhjZWxCdWZmZXI6IGFueSA9IFhMU1gud3JpdGUod2IsIHsgYm9va1R5cGU6ICd4bHN4JywgdHlwZTogJ2FycmF5JyB9KTtcclxuICAvLyAgIHRoaXMuc2F2ZUV4Y2VsRmlsZShleGNlbEJ1ZmZlciwgZmlsZU5hbWUpO1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gcHJpdmF0ZSBzYXZlRXhjZWxGaWxlKGJ1ZmZlcjogYW55LCBmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgLy8gICBjb25zdCBkYXRhOiBCbG9iID0gbmV3IEJsb2IoW2J1ZmZlcl0sIHsgdHlwZTogdGhpcy5maWxlVHlwZSB9KTtcclxuICAvLyAgIEZpbGVTYXZlci5zYXZlQXMoZGF0YSwgZmlsZU5hbWUgKyB0aGlzLmZpbGVFeHRlbnNpb24pO1xyXG4gIC8vIH1cclxufVxyXG4iXX0=
@@ -1,79 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import { HttpHeaders, } from "@angular/common/http";
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common/http";
5
- import * as i2 from "@angular/router";
6
- export class HttpService {
7
- constructor(httpClient, router) {
8
- this.httpClient = httpClient;
9
- this.router = router;
10
- //----Set apiUrl from the data service of the project---//
11
- this.apiUrl = "https://api.solinc.co.zw/"; //default
12
- this.httpOptions_Legacy = {
13
- headers: new HttpHeaders({
14
- Accept: "application/json",
15
- "Content-Type": "application/json",
16
- Authorization: "Basic " + btoa("emptyUser:emptyToken"),
17
- }),
18
- resposeType: "json",
19
- };
20
- this.httpOptions_Files = {
21
- headers: new HttpHeaders({
22
- Authorization: "Basic " + btoa("tnyagato:j5Toszfr@ys"),
23
- }),
24
- resposeType: "json",
25
- };
26
- }
27
- //POST
28
- Post(service, data) {
29
- return this.httpClient.post(this.apiUrl + service, data, this.httpOptions_Legacy);
30
- }
31
- //PUT
32
- Put(service, data) {
33
- return this.httpClient.put(this.apiUrl + service, data, this.httpOptions_Legacy);
34
- }
35
- //POST RAW
36
- Post_Raw(url, data) {
37
- return this.httpClient.post(url, data, this.httpOptions_Legacy);
38
- }
39
- //POST with file
40
- Post_WithFile(service, data, file) {
41
- let formData = new FormData();
42
- if (file) {
43
- formData.append("uploadFile", file, file.name);
44
- }
45
- formData.append("data", JSON.stringify(data));
46
- return this.httpClient.post(this.apiUrl + service, formData, this.httpOptions_Files);
47
- }
48
- // //POST with files
49
- Post_FormData(service, formData) {
50
- return this.httpClient.post(this.apiUrl + service, formData, this.httpOptions_Files);
51
- }
52
- //GET
53
- Get(service) {
54
- return this.httpClient.get(this.apiUrl + service, this.httpOptions_Legacy);
55
- }
56
- //Get RAW
57
- Get_Raw(url) {
58
- return this.httpClient.get(url, this.httpOptions_Legacy);
59
- }
60
- //ERROR
61
- Error(error) {
62
- if (error.statusText == "Unauthorized") {
63
- this.router.navigate(["login"]);
64
- return "Unauthorized";
65
- }
66
- else {
67
- return "Connection failed";
68
- }
69
- }
70
- }
71
- HttpService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HttpService, deps: [{ token: i1.HttpClient }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
72
- HttpService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HttpService, providedIn: "root" });
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HttpService, decorators: [{
74
- type: Injectable,
75
- args: [{
76
- providedIn: "root",
77
- }]
78
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.Router }]; } });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL3NlcnZpY2VzL2h0dHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBYyxXQUFXLEdBQXNCLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFNbkYsTUFBTSxPQUFPLFdBQVc7SUFFdEIsWUFBb0IsVUFBc0IsRUFBVSxNQUFjO1FBQTlDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBR2xFLDBEQUEwRDtRQUNuRCxXQUFNLEdBQUcsMkJBQTJCLENBQUMsQ0FBQyxTQUFTO1FBNkQ5Qyx1QkFBa0IsR0FBRztZQUMzQixPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUM7Z0JBQ3ZCLE1BQU0sRUFBRSxrQkFBa0I7Z0JBQzFCLGNBQWMsRUFBRSxrQkFBa0I7Z0JBQ2xDLGFBQWEsRUFBRSxRQUFRLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDO2FBQ3ZELENBQUM7WUFDRixXQUFXLEVBQUUsTUFBTTtTQUNwQixDQUFDO1FBRU0sc0JBQWlCLEdBQUc7WUFDMUIsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDO2dCQUN2QixhQUFhLEVBQUUsUUFBUSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQzthQUN2RCxDQUFDO1lBQ0YsV0FBVyxFQUFFLE1BQU07U0FDcEIsQ0FBQztJQS9Fb0UsQ0FBQztJQVF2RSxNQUFNO0lBQ0MsSUFBSSxDQUFDLE9BQWUsRUFBRSxJQUFTO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxLQUFLO0lBQ0UsR0FBRyxDQUFDLE9BQWUsRUFBRSxJQUFTO1FBQ25DLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFHRCxVQUFVO0lBQ0gsUUFBUSxDQUFDLEdBQVcsRUFBRSxJQUFTO1FBRXBDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsZ0JBQWdCO0lBQ1QsYUFBYSxDQUFDLE9BQWUsRUFBRSxJQUFTLEVBQUUsSUFBVTtRQUV6RCxJQUFJLFFBQVEsR0FBYSxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBRXhDLElBQUksSUFBSSxFQUFFO1lBQ1IsUUFBUSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNoRDtRQUVELFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUU5QyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQscUJBQXFCO0lBQ2QsYUFBYSxDQUFDLE9BQWUsRUFBRSxRQUFrQjtRQUV0RCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQsS0FBSztJQUNFLEdBQUcsQ0FBQyxPQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELFNBQVM7SUFDRixPQUFPLENBQUMsR0FBVztRQUN4QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsT0FBTztJQUNBLEtBQUssQ0FBQyxLQUF3QjtRQUNuQyxJQUFJLEtBQUssQ0FBQyxVQUFVLElBQUksY0FBYyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNoQyxPQUFPLGNBQWMsQ0FBQztTQUN2QjthQUFNO1lBQ0wsT0FBTyxtQkFBbUIsQ0FBQztTQUM1QjtJQUNILENBQUM7O3dHQWpFVSxXQUFXOzRHQUFYLFdBQVcsY0FGVixNQUFNOzJGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwRXJyb3JSZXNwb25zZSwgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSHR0cFNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHsgfVxyXG5cclxuXHJcbiAgLy8tLS0tU2V0IGFwaVVybCBmcm9tIHRoZSBkYXRhIHNlcnZpY2Ugb2YgdGhlIHByb2plY3QtLS0vL1xyXG4gIHB1YmxpYyBhcGlVcmwgPSBcImh0dHBzOi8vYXBpLnNvbGluYy5jby56dy9cIjsgLy9kZWZhdWx0XHJcblxyXG5cclxuXHJcbiAgLy9QT1NUXHJcbiAgcHVibGljIFBvc3Qoc2VydmljZTogc3RyaW5nLCBkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KHRoaXMuYXBpVXJsICsgc2VydmljZSwgZGF0YSwgdGhpcy5odHRwT3B0aW9uc19MZWdhY3kpO1xyXG4gIH1cclxuXHJcbiAgLy9QVVRcclxuICBwdWJsaWMgUHV0KHNlcnZpY2U6IHN0cmluZywgZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucHV0KHRoaXMuYXBpVXJsICsgc2VydmljZSwgZGF0YSwgdGhpcy5odHRwT3B0aW9uc19MZWdhY3kpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vUE9TVCBSQVdcclxuICBwdWJsaWMgUG9zdF9SYXcodXJsOiBzdHJpbmcsIGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KHVybCwgZGF0YSwgdGhpcy5odHRwT3B0aW9uc19MZWdhY3kpO1xyXG4gIH1cclxuXHJcbiAgLy9QT1NUIHdpdGggZmlsZVxyXG4gIHB1YmxpYyBQb3N0X1dpdGhGaWxlKHNlcnZpY2U6IHN0cmluZywgZGF0YTogYW55LCBmaWxlOiBGaWxlKSB7XHJcblxyXG4gICAgbGV0IGZvcm1EYXRhOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xyXG5cclxuICAgIGlmIChmaWxlKSB7XHJcbiAgICAgIGZvcm1EYXRhLmFwcGVuZChcInVwbG9hZEZpbGVcIiwgZmlsZSwgZmlsZS5uYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICBmb3JtRGF0YS5hcHBlbmQoXCJkYXRhXCIsIEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QodGhpcy5hcGlVcmwgKyBzZXJ2aWNlLCBmb3JtRGF0YSwgdGhpcy5odHRwT3B0aW9uc19GaWxlcyk7XHJcbiAgfVxyXG5cclxuICAvLyAgLy9QT1NUIHdpdGggZmlsZXNcclxuICBwdWJsaWMgUG9zdF9Gb3JtRGF0YShzZXJ2aWNlOiBzdHJpbmcsIGZvcm1EYXRhOiBGb3JtRGF0YSkge1xyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdCh0aGlzLmFwaVVybCArIHNlcnZpY2UsIGZvcm1EYXRhLCB0aGlzLmh0dHBPcHRpb25zX0ZpbGVzKTtcclxuICB9XHJcblxyXG4gIC8vR0VUXHJcbiAgcHVibGljIEdldChzZXJ2aWNlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQodGhpcy5hcGlVcmwgKyBzZXJ2aWNlLCB0aGlzLmh0dHBPcHRpb25zX0xlZ2FjeSk7XHJcbiAgfVxyXG5cclxuICAvL0dldCBSQVdcclxuICBwdWJsaWMgR2V0X1Jhdyh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldCh1cmwsIHRoaXMuaHR0cE9wdGlvbnNfTGVnYWN5KTtcclxuICB9XHJcblxyXG4gIC8vRVJST1JcclxuICBwdWJsaWMgRXJyb3IoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSB7XHJcbiAgICBpZiAoZXJyb3Iuc3RhdHVzVGV4dCA9PSBcIlVuYXV0aG9yaXplZFwiKSB7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcImxvZ2luXCJdKTtcclxuICAgICAgcmV0dXJuIFwiVW5hdXRob3JpemVkXCI7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gXCJDb25uZWN0aW9uIGZhaWxlZFwiO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBodHRwT3B0aW9uc19MZWdhY3kgPSB7XHJcbiAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICBBY2NlcHQ6IFwiYXBwbGljYXRpb24vanNvblwiLFxyXG4gICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcclxuICAgICAgQXV0aG9yaXphdGlvbjogXCJCYXNpYyBcIiArIGJ0b2EoXCJlbXB0eVVzZXI6ZW1wdHlUb2tlblwiKSxcclxuICAgIH0pLFxyXG4gICAgcmVzcG9zZVR5cGU6IFwianNvblwiLFxyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgaHR0cE9wdGlvbnNfRmlsZXMgPSB7XHJcbiAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICBBdXRob3JpemF0aW9uOiBcIkJhc2ljIFwiICsgYnRvYShcInRueWFnYXRvOmo1VG9zemZyQHlzXCIpLFxyXG4gICAgfSksXHJcbiAgICByZXNwb3NlVHlwZTogXCJqc29uXCIsXHJcbiAgfTtcclxufVxyXG4iXX0=
@@ -1,86 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { HttpResponse } from '@angular/common/http';
3
- import { Observable } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./loader.service";
6
- import * as i2 from "./message.service";
7
- import * as i3 from "./auth.service";
8
- import * as i4 from "@angular/router";
9
- import * as i5 from "./log.service";
10
- export class LoaderInterceptor {
11
- constructor(loaderService, messageService, authService, router, logService) {
12
- this.loaderService = loaderService;
13
- this.messageService = messageService;
14
- this.authService = authService;
15
- this.router = router;
16
- this.logService = logService;
17
- this.requests = [];
18
- }
19
- removeRequest(req) {
20
- const i = this.requests.indexOf(req);
21
- if (i >= 0) {
22
- this.requests.splice(i, 1);
23
- }
24
- this.loaderService.isLoading.next(this.requests.length > 0);
25
- }
26
- showError(userMessage, error) {
27
- console.log(error);
28
- let url = new URL(window.location.href);
29
- if (url.host.includes('localhost')) {
30
- this.messageService.error(error.error.Message);
31
- }
32
- else {
33
- this.messageService.toast(userMessage);
34
- }
35
- }
36
- intercept(request, next) {
37
- let requestClone = request.clone({
38
- setHeaders: {
39
- Authorization: "Bearer " + this.authService.tokenSource.value,
40
- }
41
- });
42
- this.requests.push(requestClone);
43
- if (this.requests.length > 1) {
44
- this.logService.info("Multiple connections detected >= " + this.requests.length);
45
- }
46
- this.loaderService.isLoading.next(true);
47
- return Observable.create(observer => {
48
- const subscription = next.handle(requestClone).subscribe(event => {
49
- if (event instanceof HttpResponse) {
50
- this.removeRequest(requestClone);
51
- observer.next(event);
52
- }
53
- }, (error) => {
54
- this.removeRequest(requestClone);
55
- observer.error(error);
56
- if (error.status === 401) {
57
- this.authService.sessionExpired();
58
- this.messageService.toast('Unauthorised: Please login again');
59
- }
60
- else if (error.status === 500) {
61
- this.showError("System Error", error);
62
- }
63
- else if (error.statusText == 'Unknown Error') {
64
- this.showError("Connection Error", error);
65
- }
66
- else {
67
- this.showError("Error", error);
68
- }
69
- }, () => {
70
- this.removeRequest(requestClone);
71
- observer.complete();
72
- });
73
- // remove request from queue when cancelled
74
- return () => {
75
- this.removeRequest(requestClone);
76
- subscription.unsubscribe();
77
- };
78
- });
79
- }
80
- }
81
- LoaderInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LoaderInterceptor, deps: [{ token: i1.LoaderService }, { token: i2.MessageService }, { token: i3.AuthService }, { token: i4.Router }, { token: i5.LogService }], target: i0.ɵɵFactoryTarget.Injectable });
82
- LoaderInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LoaderInterceptor });
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LoaderInterceptor, decorators: [{
84
- type: Injectable
85
- }], ctorParameters: function () { return [{ type: i1.LoaderService }, { type: i2.MessageService }, { type: i3.AuthService }, { type: i4.Router }, { type: i5.LogService }]; } });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLWludGVyY2VwdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90aW4tc3BhL3NyYy9saWIvc2VydmljZXMvbG9hZGVyLWludGVyY2VwdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUEyRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFLbEMsTUFBTSxPQUFPLGlCQUFpQjtJQUk1QixZQUFvQixhQUE0QixFQUFVLGNBQThCLEVBQVUsV0FBd0IsRUFBVSxNQUFjLEVBQVUsVUFBc0I7UUFBOUosa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBRjFLLGFBQVEsR0FBdUIsRUFBRSxDQUFDO0lBRTRJLENBQUM7SUFHdkwsYUFBYSxDQUFDLEdBQXFCO1FBRWpDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXJDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNWLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUM1QjtRQUVELElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsU0FBUyxDQUFDLFdBQW9CLEVBQUcsS0FBeUI7UUFFeEQsT0FBTyxDQUFD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aUI7MkZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJy4vbWVzc2FnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwUmVzcG9uc2UsIEh0dHBSZXF1ZXN0LCBIdHRwSGFuZGxlciwgSHR0cEV2ZW50LCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IExvYWRlclNlcnZpY2UgfSBmcm9tICcuL2xvYWRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9nU2VydmljZSB9IGZyb20gJy4vbG9nLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTG9hZGVySW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xyXG5cclxuICBwcml2YXRlIHJlcXVlc3RzOiBIdHRwUmVxdWVzdDxhbnk+W10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2FkZXJTZXJ2aWNlOiBMb2FkZXJTZXJ2aWNlLCBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSwgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgbG9nU2VydmljZTogTG9nU2VydmljZSkgeyB9XHJcblxyXG5cclxuICByZW1vdmVSZXF1ZXN0KHJlcTogSHR0cFJlcXVlc3Q8YW55Pikge1xyXG5cclxuICAgIGNvbnN0IGkgPSB0aGlzLnJlcXVlc3RzLmluZGV4T2YocmVxKTtcclxuXHJcbiAgICBpZiAoaSA+PSAwKSB7XHJcbiAgICAgIHRoaXMucmVxdWVzdHMuc3BsaWNlKGksIDEpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubG9hZGVyU2VydmljZS5pc0xvYWRpbmcubmV4dCh0aGlzLnJlcXVlc3RzLmxlbmd0aCA+IDApO1xyXG4gIH1cclxuXHJcbiAgc2hvd0Vycm9yKHVzZXJNZXNzYWdlIDogc3RyaW5nLCAgZXJyb3IgOiBIdHRwRXJyb3JSZXNwb25zZSl7XHJcblxyXG4gICAgY29uc29sZS5sb2coZXJyb3IpXHJcblxyXG4gICAgbGV0IHVybCA9IG5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpO1xyXG5cclxuICAgIGlmICh1cmwuaG9zdC5pbmNsdWRlcygnbG9jYWxob3N0JykpIHtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5lcnJvcihlcnJvci5lcnJvci5NZXNzYWdlKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdCh1c2VyTWVzc2FnZSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcclxuXHJcblxyXG4gICAgbGV0IHJlcXVlc3RDbG9uZSA9IHJlcXVlc3QuY2xvbmUoe1xyXG4gICAgICBzZXRIZWFkZXJzOiB7XHJcbiAgICAgICAgQXV0aG9yaXphdGlvbjogXCJCZWFyZXIgXCIgKyB0aGlzLmF1dGhTZXJ2aWNlLnRva2VuU291cmNlLnZhbHVlLFxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcblxyXG4gICAgdGhpcy5yZXF1ZXN0cy5wdXNoKHJlcXVlc3RDbG9uZSk7XHJcblxyXG4gICAgaWYgKHRoaXMucmVxdWVzdHMubGVuZ3RoID4gMSkge1xyXG4gICAgICB0aGlzLmxvZ1NlcnZpY2UuaW5mbyhcIk11bHRpcGxlIGNvbm5lY3Rpb25zIGRldGVjdGVkID49IFwiICsgdGhpcy5yZXF1ZXN0cy5sZW5ndGgpXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5sb2FkZXJTZXJ2aWNlLmlzTG9hZGluZy5uZXh0KHRydWUpO1xyXG5cclxuICAgIHJldHVybiBPYnNlcnZhYmxlLmNyZWF0ZShvYnNlcnZlciA9PiB7XHJcblxyXG4gICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSBuZXh0LmhhbmRsZShyZXF1ZXN0Q2xvbmUpLnN1YnNjcmliZShldmVudCA9PiB7XHJcblxyXG4gICAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBIdHRwUmVzcG9uc2UpIHtcclxuICAgICAgICAgICAgICB0aGlzLnJlbW92ZVJlcXVlc3QocmVxdWVzdENsb25lKTtcclxuICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KGV2ZW50KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuXHJcblxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuXHJcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlUmVxdWVzdChyZXF1ZXN0Q2xvbmUpO1xyXG4gICAgICAgICAgICBvYnNlcnZlci5lcnJvcihlcnJvcik7XHJcblxyXG4gICAgICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDEpIHtcclxuICAgICAgICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLnNlc3Npb25FeHBpcmVkKClcclxuICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KCdVbmF1dGhvcmlzZWQ6IFBsZWFzZSBsb2dpbiBhZ2FpbicpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoZXJyb3Iuc3RhdHVzID09PTUwMCl7XHJcbiAgICAgICAgICAgICAgdGhpcy5zaG93RXJyb3IoXCJTeXN0ZW0gRXJyb3JcIiwgZXJyb3IpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoZXJyb3Iuc3RhdHVzVGV4dCA9PSAnVW5rbm93biBFcnJvcicpe1xyXG4gICAgICAgICAgICAgIHRoaXMuc2hvd0Vycm9yKFwiQ29ubmVjdGlvbiBFcnJvclwiLCBlcnJvcilcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgIHRoaXMuc2hvd0Vycm9yKFwiRXJyb3JcIiwgZXJyb3IpXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnJlbW92ZVJlcXVlc3QocmVxdWVzdENsb25lKTtcclxuICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgICAgIH0pO1xyXG5cclxuXHJcbiAgICAgIC8vIHJlbW92ZSByZXF1ZXN0IGZyb20gcXVldWUgd2hlbiBjYW5jZWxsZWRcclxuICAgICAgcmV0dXJuICgpID0+IHtcclxuICAgICAgICB0aGlzLnJlbW92ZVJlcXVlc3QocmVxdWVzdENsb25lKTtcclxuICAgICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgfTtcclxuXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,17 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class LoaderService {
5
- constructor() {
6
- this.isLoading = new BehaviorSubject(false);
7
- }
8
- }
9
- LoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
10
- LoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LoaderService, providedIn: 'root' });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LoaderService, decorators: [{
12
- type: Injectable,
13
- args: [{
14
- providedIn: 'root'
15
- }]
16
- }], ctorParameters: function () { return []; } });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90aW4tc3BhL3NyYy9saWIvc2VydmljZXMvbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUt2QyxNQUFNLE9BQU8sYUFBYTtJQUd4QjtRQURPLGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDOzswR0FITixhQUFhOzhHQUFiLGFBQWEsY0FGWixNQUFNOzJGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIExvYWRlclNlcnZpY2Uge1xyXG5cclxuICBwdWJsaWMgaXNMb2FkaW5nID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxufVxyXG4iXX0=
@@ -1,77 +0,0 @@
1
- // import { Core } from 'tin-core';
2
- import { Injectable } from "@angular/core";
3
- import { Core } from '../classes/TinCore';
4
- import { LogLevel } from "../classes/LibClasses";
5
- import * as i0 from "@angular/core";
6
- export class LogService {
7
- constructor() {
8
- this.level = LogLevel.All;
9
- this.logToConsole = true;
10
- this.logToApi = false;
11
- }
12
- debug(msg, ...optionalParams) {
13
- this.writeToLog(msg, LogLevel.Debug, optionalParams);
14
- }
15
- info(msg, ...optionalParams) {
16
- this.writeToLog(msg, LogLevel.Info, optionalParams);
17
- }
18
- warn(msg, ...optionalParams) {
19
- this.writeToLog(msg, LogLevel.Warn, optionalParams);
20
- }
21
- error(msg, ...optionalParams) {
22
- this.writeToLog(msg, LogLevel.Error, optionalParams);
23
- }
24
- fatal(msg, ...optionalParams) {
25
- this.writeToLog(msg, LogLevel.Fatal, optionalParams);
26
- }
27
- log(msg, ...optionalParams) {
28
- this.writeToLog(msg, LogLevel.All, optionalParams);
29
- }
30
- writeToLog(msg, level, params) {
31
- if (this.shouldLog(level)) {
32
- // Build log string
33
- let value = Core.getFormatedDate(Date(), false).replace("T", " ");
34
- // value += " - Type: " + LogLevel[this.level];
35
- value += " - Message: " + msg;
36
- if (params.length) {
37
- value += " - Extra Info: " + this.formatParams(params);
38
- }
39
- // Log the value
40
- if (this.logToConsole) {
41
- console.log(value);
42
- }
43
- if (this.logToApi) {
44
- //Call API post
45
- }
46
- }
47
- }
48
- formatParams(params) {
49
- let ret = params.join(",");
50
- // Is there at least one object in the array?
51
- if (params.some((p) => typeof p == "object")) {
52
- ret = "";
53
- // Build comma-delimited string
54
- for (let item of params) {
55
- ret += JSON.stringify(item) + ",";
56
- }
57
- }
58
- return ret;
59
- }
60
- shouldLog(level) {
61
- let ret = false;
62
- if ((level >= this.level && level !== LogLevel.Off) ||
63
- this.level === LogLevel.All) {
64
- ret = true;
65
- }
66
- return ret;
67
- }
68
- }
69
- LogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
70
- LogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LogService, providedIn: "root" });
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LogService, decorators: [{
72
- type: Injectable,
73
- args: [{
74
- providedIn: "root",
75
- }]
76
- }], ctorParameters: function () { return []; } });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90aW4tc3BhL3NyYy9saWIvc2VydmljZXMvbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUNBQW1DO0FBQ25DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFLakQsTUFBTSxPQUFPLFVBQVU7SUFDckI7UUFFQSxVQUFLLEdBQWEsUUFBUSxDQUFDLEdBQUcsQ0FBQztRQUUvQixpQkFBWSxHQUFZLElBQUksQ0FBQztRQUU3QixhQUFRLEdBQVksS0FBSyxDQUFDO0lBTlYsQ0FBQztJQVFqQixLQUFLLENBQUMsR0FBVyxFQUFFLEdBQUcsY0FBcUI7UUFDekMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLEtBQUssRUFBRSxjQUFjLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsSUFBSSxDQUFDLEdBQVcsRUFBRSxHQUFHLGNBQXFCO1FBQ3hDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELElBQUksQ0FBQyxHQUFXLEVBQUUsR0FBRyxjQUFxQjtRQUN4QyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxLQUFLLENBQUMsR0FBVyxFQUFFLEdBQUcsY0FBcUI7UUFDekMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLEtBQUssRUFBRSxjQUFjLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQVcsRUFBRSxHQUFHLGNBQXFCO1FBQ3pDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxLQUFLLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELEdBQUcsQ0FBQyxHQUFXLEVBQUUsR0FBRyxjQUFxQjtRQUN2QyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBRXJELENBQUM7SUFFTyxVQUFVLENBQUMsR0FBVyxFQUFFLEtBQWUsRUFBRSxNQUFhO1FBRTVELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUV6QixtQkFBbUI7WUFDbkIsSUFBSSxLQUFLLEdBQVcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzFFLCtDQUErQztZQUMvQyxLQUFLLElBQUksY0FBYyxHQUFHLEdBQUcsQ0FBQztZQUc5QixJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUU7Z0JBQ2pCLEtBQUssSUFBSSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3hEO1lBRUQsZ0JBQWdCO1lBQ2hCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDckIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNwQjtZQUVELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDakIsZUFBZTthQUNoQjtTQUVGO0lBQ0gsQ0FBQztJQUVPLFlBQVksQ0FBQyxNQUFhO1FBRWhDLElBQUksR0FBRyxHQUFXLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkMsNkNBQTZDO1FBQzdDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksUUFBUSxDQUFDLEVBQUU7WUFDNUMsR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUNULCtCQUErQjtZQUMvQixLQUFLLElBQUksSUFBSSxJQUFJLE1BQU0sRUFBRTtnQkFDdkIsR0FBRyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDO2FBQ25DO1NBQ0Y7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFTyxTQUFTLENBQUMsS0FBZTtRQUUvQixJQUFJLEdBQUcsR0FBWSxLQUFLLENBQUM7UUFFekIsSUFDRSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssS0FBSyxRQUFRLENBQUMsR0FBRyxDQUFDO1lBQy9DLElBQUksQ0FBQyxLQUFLLEtBQUssUUFBUSxDQUFDLEdBQUcsRUFDM0I7WUFDQSxHQUFHLEdBQUcsSUFBSSxDQUFDO1NBQ1o7UUFFRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7O3VHQXRGVSxVQUFVOzJHQUFWLFVBQVUsY0FGVCxNQUFNOzJGQUVQLFVBQVU7a0JBSHRCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaW1wb3J0IHsgQ29yZSB9IGZyb20gJ3Rpbi1jb3JlJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvcmUgfSBmcm9tICcuLi9jbGFzc2VzL1RpbkNvcmUnO1xyXG5pbXBvcnQgeyBMb2dMZXZlbCB9IGZyb20gXCIuLi9jbGFzc2VzL0xpYkNsYXNzZXNcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIExvZ1NlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIGxldmVsOiBMb2dMZXZlbCA9IExvZ0xldmVsLkFsbDtcclxuXHJcbiAgbG9nVG9Db25zb2xlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgbG9nVG9BcGk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgZGVidWcobXNnOiBzdHJpbmcsIC4uLm9wdGlvbmFsUGFyYW1zOiBhbnlbXSkge1xyXG4gICAgdGhpcy53cml0ZVRvTG9nKG1zZywgTG9nTGV2ZWwuRGVidWcsIG9wdGlvbmFsUGFyYW1zKTtcclxuICB9XHJcblxyXG4gIGluZm8obXNnOiBzdHJpbmcsIC4uLm9wdGlvbmFsUGFyYW1zOiBhbnlbXSkge1xyXG4gICAgdGhpcy53cml0ZVRvTG9nKG1zZywgTG9nTGV2ZWwuSW5mbywgb3B0aW9uYWxQYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgd2Fybihtc2c6IHN0cmluZywgLi4ub3B0aW9uYWxQYXJhbXM6IGFueVtdKSB7XHJcbiAgICB0aGlzLndyaXRlVG9Mb2cobXNnLCBMb2dMZXZlbC5XYXJuLCBvcHRpb25hbFBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICBlcnJvcihtc2c6IHN0cmluZywgLi4ub3B0aW9uYWxQYXJhbXM6IGFueVtdKSB7XHJcbiAgICB0aGlzLndyaXRlVG9Mb2cobXNnLCBMb2dMZXZlbC5FcnJvciwgb3B0aW9uYWxQYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgZmF0YWwobXNnOiBzdHJpbmcsIC4uLm9wdGlvbmFsUGFyYW1zOiBhbnlbXSkge1xyXG4gICAgdGhpcy53cml0ZVRvTG9nKG1zZywgTG9nTGV2ZWwuRmF0YWwsIG9wdGlvbmFsUGFyYW1zKTtcclxuICB9XHJcblxyXG4gIGxvZyhtc2c6IHN0cmluZywgLi4ub3B0aW9uYWxQYXJhbXM6IGFueVtdKSB7XHJcbiAgICB0aGlzLndyaXRlVG9Mb2cobXNnLCBMb2dMZXZlbC5BbGwsIG9wdGlvbmFsUGFyYW1zKTtcclxuXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHdyaXRlVG9Mb2cobXNnOiBzdHJpbmcsIGxldmVsOiBMb2dMZXZlbCwgcGFyYW1zOiBhbnlbXSkge1xyXG5cclxuICAgIGlmICh0aGlzLnNob3VsZExvZyhsZXZlbCkpIHtcclxuXHJcbiAgICAgIC8vIEJ1aWxkIGxvZyBzdHJpbmdcclxuICAgICAgbGV0IHZhbHVlOiBzdHJpbmcgPSBDb3JlLmdldEZvcm1hdGVkRGF0ZShEYXRlKCksIGZhbHNlKS5yZXBsYWNlKFwiVFwiLCBcIiBcIik7XHJcbiAgICAgIC8vIHZhbHVlICs9IFwiIC0gVHlwZTogXCIgKyBMb2dMZXZlbFt0aGlzLmxldmVsXTtcclxuICAgICAgdmFsdWUgKz0gXCIgLSBNZXNzYWdlOiBcIiArIG1zZztcclxuXHJcblxyXG4gICAgICBpZiAocGFyYW1zLmxlbmd0aCkge1xyXG4gICAgICAgIHZhbHVlICs9IFwiIC0gRXh0cmEgSW5mbzogXCIgKyB0aGlzLmZvcm1hdFBhcmFtcyhwYXJhbXMpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBMb2cgdGhlIHZhbHVlXHJcbiAgICAgIGlmICh0aGlzLmxvZ1RvQ29uc29sZSkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKHZhbHVlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRoaXMubG9nVG9BcGkpIHtcclxuICAgICAgICAvL0NhbGwgQVBJIHBvc3RcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZm9ybWF0UGFyYW1zKHBhcmFtczogYW55W10pOiBzdHJpbmcge1xyXG5cclxuICAgIGxldCByZXQ6IHN0cmluZyA9IHBhcmFtcy5qb2luKFwiLFwiKTtcclxuICAgIC8vIElzIHRoZXJlIGF0IGxlYXN0IG9uZSBvYmplY3QgaW4gdGhlIGFycmF5P1xyXG4gICAgaWYgKHBhcmFtcy5zb21lKChwKSA9PiB0eXBlb2YgcCA9PSBcIm9iamVjdFwiKSkge1xyXG4gICAgICByZXQgPSBcIlwiO1xyXG4gICAgICAvLyBCdWlsZCBjb21tYS1kZWxpbWl0ZWQgc3RyaW5nXHJcbiAgICAgIGZvciAobGV0IGl0ZW0gb2YgcGFyYW1zKSB7XHJcbiAgICAgICAgcmV0ICs9IEpTT04uc3RyaW5naWZ5KGl0ZW0pICsgXCIsXCI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiByZXQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNob3VsZExvZyhsZXZlbDogTG9nTGV2ZWwpOiBib29sZWFuIHtcclxuXHJcbiAgICBsZXQgcmV0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICAobGV2ZWwgPj0gdGhpcy5sZXZlbCAmJiBsZXZlbCAhPT0gTG9nTGV2ZWwuT2ZmKSB8fFxyXG4gICAgICB0aGlzLmxldmVsID09PSBMb2dMZXZlbC5BbGxcclxuICAgICkge1xyXG4gICAgICByZXQgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXQ7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcbiJdfQ==
@@ -1,59 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import { messageDialog } from "../components/message/messageDialog.component";
3
- import { of } from 'rxjs';
4
- import { mergeMap } from 'rxjs/operators';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/material/snack-bar";
7
- import * as i2 from "@angular/material/dialog";
8
- export class MessageService {
9
- constructor(snackBar, dialog) {
10
- this.snackBar = snackBar;
11
- this.dialog = dialog;
12
- }
13
- toast(msg) {
14
- this.snackBar.open(msg, "OK", { duration: 5000 });
15
- }
16
- info(details) {
17
- let type = "info";
18
- const dialogRef = this.dialog.open(messageDialog, {
19
- width: "600px",
20
- data: { type, details },
21
- });
22
- }
23
- infoWithSubject(subject, details) {
24
- let type = "info";
25
- const dialogRef = this.dialog.open(messageDialog, {
26
- width: "600px",
27
- data: { type, subject, details },
28
- });
29
- }
30
- error(details) {
31
- let type = "error";
32
- let subject;
33
- const dialogRef = this.dialog.open(messageDialog, {
34
- width: "600px",
35
- data: { type, subject, details },
36
- });
37
- }
38
- confirm(msg) {
39
- let type = "confirm";
40
- let subject = "";
41
- let details = msg;
42
- const dialogRef = this.dialog.open(messageDialog, {
43
- width: "400px",
44
- data: { type, subject, details },
45
- });
46
- return dialogRef.afterClosed().pipe(mergeMap((result) => {
47
- return of(result);
48
- }));
49
- }
50
- }
51
- MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MessageService, deps: [{ token: i1.MatSnackBar }, { token: i2.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
52
- MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MessageService, providedIn: "root" });
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MessageService, decorators: [{
54
- type: Injectable,
55
- args: [{
56
- providedIn: "root",
57
- }]
58
- }], ctorParameters: function () { return [{ type: i1.MatSnackBar }, { type: i2.MatDialog }]; } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUM5RSxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUsxQyxNQUFNLE9BQU8sY0FBYztJQUN6QixZQUFvQixRQUFxQixFQUFTLE1BQWlCO1FBQS9DLGFBQVEsR0FBUixRQUFRLENBQWE7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFXO0lBQUksQ0FBQztJQUVqRSxLQUFLLENBQUMsR0FBVztRQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVNLElBQUksQ0FBQyxPQUFlO1FBRXpCLElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQztRQUVsQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDaEQsS0FBSyxFQUFFLE9BQU87WUFDZCxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO1NBQ3hCLENBQUMsQ0FBQztJQUVMLENBQUM7SUFFTSxlQUFlLENBQUMsT0FBZSxFQUFFLE9BQWU7UUFFckQsSUFBSSxJQUFJLEdBQUcsTUFBTSxDQUFDO1FBRWxCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNoRCxLQUFLLEVBQUUsT0FBTztZQUNkLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFO1NBQ2pDLENBQUMsQ0FBQztJQUVMLENBQUM7SUFFTSxLQUFLLENBQUMsT0FBZTtRQUUxQixJQUFJLElBQUksR0FBRyxPQUFPLENBQUM7UUFDbkIsSUFBSSxPQUFXLENBQUM7UUFFaEIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ2hELEtBQUssRUFBRSxPQUFPO1lBQ2QsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUU7U0FDakMsQ0FBQyxDQUFDO0lBRUwsQ0FBQztJQUVNLE9BQU8sQ0FBQyxHQUFXO1FBRXhCLElBQUksSUFBSSxHQUFHLFNBQVMsQ0FBQztRQUNyQixJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBSSxPQUFPLEdBQUcsR0FBRyxDQUFBO1FBRWpCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNoRCxLQUFLLEVBQUUsT0FBTztZQUNkLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFO1NBQ2pDLENBQUMsQ0FBQztRQUVILE9BQU8sU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUV0RCxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVwQixDQUFDLENBRUEsQ0FBQyxDQUFDO0lBRUwsQ0FBQzs7MkdBNURVLGNBQWM7K0dBQWQsY0FBYyxjQUZiLE1BQU07MkZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyXCI7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHsgbWVzc2FnZURpYWxvZyB9IGZyb20gXCIuLi9jb21wb25lbnRzL21lc3NhZ2UvbWVzc2FnZURpYWxvZy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWVyZ2VNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZXNzYWdlU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzbmFja0JhcjogTWF0U25hY2tCYXIsIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZykgeyB9XHJcblxyXG4gIHB1YmxpYyB0b2FzdChtc2c6IHN0cmluZykge1xyXG4gICAgdGhpcy5zbmFja0Jhci5vcGVuKG1zZywgXCJPS1wiLCB7IGR1cmF0aW9uOiA1MDAwIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGluZm8oZGV0YWlsczogc3RyaW5nKSB7XHJcblxyXG4gICAgbGV0IHR5cGUgPSBcImluZm9cIjtcclxuXHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKG1lc3NhZ2VEaWFsb2csIHtcclxuICAgICAgd2lkdGg6IFwiNjAwcHhcIixcclxuICAgICAgZGF0YTogeyB0eXBlLCBkZXRhaWxzIH0sXHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaW5mb1dpdGhTdWJqZWN0KHN1YmplY3Q6IHN0cmluZywgZGV0YWlsczogc3RyaW5nKSB7XHJcblxyXG4gICAgbGV0IHR5cGUgPSBcImluZm9cIjtcclxuXHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKG1lc3NhZ2VEaWFsb2csIHtcclxuICAgICAgd2lkdGg6IFwiNjAwcHhcIixcclxuICAgICAgZGF0YTogeyB0eXBlLCBzdWJqZWN0LCBkZXRhaWxzIH0sXHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZXJyb3IoZGV0YWlsczogc3RyaW5nKSB7XHJcblxyXG4gICAgbGV0IHR5cGUgPSBcImVycm9yXCI7XHJcbiAgICBsZXQgc3ViamVjdDogXCJcIjtcclxuXHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKG1lc3NhZ2VEaWFsb2csIHtcclxuICAgICAgd2lkdGg6IFwiNjAwcHhcIixcclxuICAgICAgZGF0YTogeyB0eXBlLCBzdWJqZWN0LCBkZXRhaWxzIH0sXHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY29uZmlybShtc2c6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcblxyXG4gICAgbGV0IHR5cGUgPSBcImNvbmZpcm1cIjtcclxuICAgIGxldCBzdWJqZWN0ID0gXCJcIjtcclxuICAgIGxldCBkZXRhaWxzID0gbXNnXHJcblxyXG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihtZXNzYWdlRGlhbG9nLCB7XHJcbiAgICAgIHdpZHRoOiBcIjQwMHB4XCIsXHJcbiAgICAgIGRhdGE6IHsgdHlwZSwgc3ViamVjdCwgZGV0YWlscyB9LFxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnBpcGUobWVyZ2VNYXAoKHJlc3VsdCkgPT4ge1xyXG5cclxuICAgICAgcmV0dXJuIG9mKHJlc3VsdCk7XHJcblxyXG4gICAgfVxyXG5cclxuICAgICkpO1xyXG5cclxuICB9XHJcblxyXG5cclxufVxyXG4iXX0=
@@ -1,33 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./datalib.service";
5
- export class NotificationsService {
6
- constructor(dataService) {
7
- this.dataService = dataService;
8
- this.notificationCount = new BehaviorSubject(0);
9
- this.notificationCount$ = this.notificationCount.asObservable();
10
- // this.loadNotifications();
11
- }
12
- loadNotifications() {
13
- // Using the dedicated count endpoint for better performance
14
- this.dataService.CallApi({ url: 'notifications/count/x' }).subscribe((apiResponse) => {
15
- // console.log(apiResponse)
16
- if (apiResponse.success) {
17
- this.notificationCount.next(apiResponse.data);
18
- }
19
- });
20
- }
21
- refreshCount() {
22
- this.loadNotifications();
23
- }
24
- }
25
- NotificationsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NotificationsService, deps: [{ token: i1.DataServiceLib }], target: i0.ɵɵFactoryTarget.Injectable });
26
- NotificationsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NotificationsService, providedIn: 'root' });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NotificationsService, decorators: [{
28
- type: Injectable,
29
- args: [{
30
- providedIn: 'root'
31
- }]
32
- }], ctorParameters: function () { return [{ type: i1.DataServiceLib }]; } });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL3NlcnZpY2VzL25vdGlmaWNhdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQU92QyxNQUFNLE9BQU8sb0JBQW9CO0lBSy9CLFlBQW9CLFdBQTJCO1FBQTNCLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUh2QyxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUMzRCx1QkFBa0IsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFHekQsNEJBQTRCO0lBQzlCLENBQUM7SUFFRCxpQkFBaUI7UUFDZiw0REFBNEQ7UUFDNUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQXdCLEVBQUUsRUFBRTtZQUNoRywyQkFBMkI7WUFDM0IsSUFBSSxXQUFXLENBQUMsT0FBTyxFQUFFO2dCQUN2QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUMvQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBRUwsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDOztpSEF0QlUsb0JBQW9CO3FIQUFwQixvQkFBb0IsY0FGbkIsTUFBTTsyRkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2VMaWIgfSBmcm9tICcuL2RhdGFsaWIuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwaVJlc3BvbnNlIH0gZnJvbSAnLi4vY2xhc3Nlcy9DbGFzc2VzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbnNTZXJ2aWNlIHtcclxuXHJcbiAgcHJpdmF0ZSBub3RpZmljYXRpb25Db3VudCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcclxuICBub3RpZmljYXRpb25Db3VudCQgPSB0aGlzLm5vdGlmaWNhdGlvbkNvdW50LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZUxpYikge1xyXG4gICAgLy8gdGhpcy5sb2FkTm90aWZpY2F0aW9ucygpO1xyXG4gIH1cclxuXHJcbiAgbG9hZE5vdGlmaWNhdGlvbnMoKSB7XHJcbiAgICAvLyBVc2luZyB0aGUgZGVkaWNhdGVkIGNvdW50IGVuZHBvaW50IGZvciBiZXR0ZXIgcGVyZm9ybWFuY2VcclxuICAgIHRoaXMuZGF0YVNlcnZpY2UuQ2FsbEFwaSh7IHVybDogJ25vdGlmaWNhdGlvbnMvY291bnQveCcgfSkuc3Vic2NyaWJlKChhcGlSZXNwb25zZTogQXBpUmVzcG9uc2UpID0+IHtcclxuICAgICAgLy8gY29uc29sZS5sb2coYXBpUmVzcG9uc2UpXHJcbiAgICAgIGlmIChhcGlSZXNwb25zZS5zdWNjZXNzKSB7XHJcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25Db3VudC5uZXh0KGFwaVJlc3BvbnNlLmRhdGEpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICByZWZyZXNoQ291bnQoKSB7XHJcbiAgICB0aGlzLmxvYWROb3RpZmljYXRpb25zKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,34 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class StorageService {
4
- constructor() { }
5
- // Store the value
6
- async store(storageKey, value) {
7
- const encryptedValue = btoa(escape(JSON.stringify(value)));
8
- // const encryptedValue = JSON.stringify(value);
9
- await localStorage.setItem(storageKey, encryptedValue);
10
- }
11
- // Get the value
12
- async get(storageKey) {
13
- const ret = await localStorage.getItem(storageKey);
14
- return JSON.parse(unescape(atob(ret)));
15
- // return JSON.parse(ret);
16
- }
17
- // Remove
18
- async removeStorageItem(storageKey) {
19
- await localStorage.removeItem(storageKey);
20
- }
21
- // Clear storage
22
- async clear() {
23
- await localStorage.clear();
24
- }
25
- }
26
- StorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: StorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
27
- StorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: StorageService, providedIn: 'root' });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: StorageService, decorators: [{
29
- type: Injectable,
30
- args: [{
31
- providedIn: 'root'
32
- }]
33
- }], ctorParameters: function () { return []; } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL3NlcnZpY2VzL3N0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sY0FBYztJQUV6QixnQkFBZ0IsQ0FBQztJQUVqQixrQkFBa0I7SUFDbEIsS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFrQixFQUFFLEtBQVU7UUFDeEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRCxnREFBZ0Q7UUFDaEQsTUFBTSxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsZ0JBQWdCO0lBQ2hCLEtBQUssQ0FBQyxHQUFHLENBQUMsVUFBa0I7UUFDMUIsTUFBTSxHQUFHLEdBQUcsTUFBTSxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25ELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2QywwQkFBMEI7SUFDNUIsQ0FBQztJQUVELFNBQVM7SUFDVCxLQUFLLENBQUMsaUJBQWlCLENBQUMsVUFBa0I7UUFDeEMsTUFBTSxZQUFZLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxnQkFBZ0I7SUFDaEIsS0FBSyxDQUFDLEtBQUs7UUFDVCxNQUFNLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3QixDQUFDOzsyR0ExQlUsY0FBYzsrR0FBZCxjQUFjLGNBRmIsTUFBTTsyRkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0b3JhZ2VTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgLy8gU3RvcmUgdGhlIHZhbHVlXHJcbiAgYXN5bmMgc3RvcmUoc3RvcmFnZUtleTogc3RyaW5nLCB2YWx1ZTogYW55KSB7XHJcbiAgICBjb25zdCBlbmNyeXB0ZWRWYWx1ZSA9IGJ0b2EoZXNjYXBlKEpTT04uc3RyaW5naWZ5KHZhbHVlKSkpO1xyXG4gICAgLy8gY29uc3QgZW5jcnlwdGVkVmFsdWUgPSBKU09OLnN0cmluZ2lmeSh2YWx1ZSk7XHJcbiAgICBhd2FpdCBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShzdG9yYWdlS2V5LCBlbmNyeXB0ZWRWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvLyBHZXQgdGhlIHZhbHVlXHJcbiAgYXN5bmMgZ2V0KHN0b3JhZ2VLZXk6IHN0cmluZykge1xyXG4gICAgY29uc3QgcmV0ID0gYXdhaXQgbG9jYWxTdG9yYWdlLmdldEl0ZW0oc3RvcmFnZUtleSk7XHJcbiAgICByZXR1cm4gSlNPTi5wYXJzZSh1bmVzY2FwZShhdG9iKHJldCkpKTtcclxuICAgIC8vIHJldHVybiBKU09OLnBhcnNlKHJldCk7XHJcbiAgfVxyXG5cclxuICAvLyBSZW1vdmVcclxuICBhc3luYyByZW1vdmVTdG9yYWdlSXRlbShzdG9yYWdlS2V5OiBzdHJpbmcpIHtcclxuICAgIGF3YWl0IGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHN0b3JhZ2VLZXkpO1xyXG4gIH1cclxuXHJcbiAgLy8gQ2xlYXIgc3RvcmFnZVxyXG4gIGFzeW5jIGNsZWFyKCkge1xyXG4gICAgYXdhaXQgbG9jYWxTdG9yYWdlLmNsZWFyKCk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=