tin-spa 9.0.0 → 9.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. package/bundles/tin-spa.umd.js +4416 -1589
  2. package/bundles/tin-spa.umd.js.map +1 -1
  3. package/bundles/tin-spa.umd.min.js +2 -2
  4. package/bundles/tin-spa.umd.min.js.map +1 -1
  5. package/esm2015/lib/classes/Classes.js +58 -45
  6. package/esm2015/lib/classes/TinCore.js +137 -0
  7. package/esm2015/lib/components/activity/activity.component.js +84 -18
  8. package/esm2015/lib/components/attach/attach.component.js +101 -27
  9. package/esm2015/lib/components/change-password/change-password.component.js +122 -34
  10. package/esm2015/lib/components/check/check.component.js +39 -33
  11. package/esm2015/lib/components/chips/chips.component.js +75 -35
  12. package/esm2015/lib/components/create-account/create-account.component.js +124 -42
  13. package/esm2015/lib/components/date/date.component.js +54 -33
  14. package/esm2015/lib/components/datetime/datetime.component.js +43 -30
  15. package/esm2015/lib/components/filter/filter.component.js +64 -0
  16. package/esm2015/lib/components/html/html.component.js +30 -25
  17. package/esm2015/lib/components/label/label.component.js +109 -21
  18. package/esm2015/lib/components/loader/loader.component.js +43 -20
  19. package/esm2015/lib/components/login/login.component.js +194 -76
  20. package/esm2015/lib/components/logs/logs.component.js +180 -28
  21. package/esm2015/lib/components/message/messageDialog.component.js +128 -17
  22. package/esm2015/lib/components/money/currency-input-mask.directive.js +187 -0
  23. package/esm2015/lib/components/money/currency-input-mask.module.js +30 -0
  24. package/esm2015/lib/components/money/money.component.js +141 -39
  25. package/esm2015/lib/components/nav-menu/nav-menu.component.js +174 -21
  26. package/esm2015/lib/components/option/option.component.js +107 -40
  27. package/esm2015/lib/components/profile/profile.component.js +143 -53
  28. package/esm2015/lib/components/recover-account/recover-account.component.js +48 -26
  29. package/esm2015/lib/components/roles/addRoleDialog.component.js +99 -26
  30. package/esm2015/lib/components/roles/roles.component.js +153 -73
  31. package/esm2015/lib/components/select/select.component.js +108 -48
  32. package/esm2015/lib/components/settings/settings.component.js +76 -21
  33. package/esm2015/lib/components/signup/signup.component.js +107 -24
  34. package/esm2015/lib/components/steps/steps.component.js +47 -31
  35. package/esm2015/lib/components/table/table.component.js +301 -35
  36. package/esm2015/lib/components/text/text.component.js +146 -71
  37. package/esm2015/lib/components/tiles/tiles.component.js +75 -21
  38. package/esm2015/lib/components/timeout/timeout.component.js +65 -22
  39. package/esm2015/lib/components/tin-spa.component.js +19 -12
  40. package/esm2015/lib/components/users/users.component.js +308 -65
  41. package/esm2015/lib/components/viewer/viewer.component.js +64 -39
  42. package/esm2015/lib/components/viewer/viewerDialog.component.js +73 -18
  43. package/esm2015/lib/dnd.directive.js +30 -25
  44. package/esm2015/lib/modules/spa-admin.module.js +65 -51
  45. package/esm2015/lib/modules/spa-index.module.js +45 -20
  46. package/esm2015/lib/modules/spa-mat.module.js +40 -25
  47. package/esm2015/lib/modules/spa-user.module.js +43 -19
  48. package/esm2015/lib/services/auth.service.js +39 -50
  49. package/esm2015/lib/services/data.service.js +82 -49
  50. package/esm2015/lib/services/export.service.js +11 -11
  51. package/esm2015/lib/services/http.service.js +79 -0
  52. package/esm2015/lib/services/loader-interceptor.service.js +30 -30
  53. package/esm2015/lib/services/loader.service.js +11 -11
  54. package/esm2015/lib/services/log.service.js +12 -12
  55. package/esm2015/lib/services/message.service.js +11 -17
  56. package/esm2015/lib/services/storage.service.js +12 -11
  57. package/esm2015/lib/services/tin-spa.service.js +11 -11
  58. package/esm2015/lib/tin-spa.module.js +113 -48
  59. package/esm2015/public-api.js +4 -6
  60. package/esm2015/tin-spa.js +1 -5
  61. package/esm5/lib/classes/Classes.js +70 -55
  62. package/esm5/lib/classes/TinCore.js +164 -0
  63. package/esm5/lib/components/activity/activity.component.js +82 -15
  64. package/esm5/lib/components/attach/attach.component.js +100 -24
  65. package/esm5/lib/components/change-password/change-password.component.js +120 -31
  66. package/esm5/lib/components/check/check.component.js +37 -30
  67. package/esm5/lib/components/chips/chips.component.js +73 -32
  68. package/esm5/lib/components/create-account/create-account.component.js +122 -39
  69. package/esm5/lib/components/date/date.component.js +52 -30
  70. package/esm5/lib/components/datetime/datetime.component.js +41 -27
  71. package/esm5/lib/components/filter/filter.component.js +66 -0
  72. package/esm5/lib/components/html/html.component.js +28 -22
  73. package/esm5/lib/components/label/label.component.js +107 -18
  74. package/esm5/lib/components/loader/loader.component.js +41 -17
  75. package/esm5/lib/components/login/login.component.js +193 -74
  76. package/esm5/lib/components/logs/logs.component.js +178 -25
  77. package/esm5/lib/components/message/messageDialog.component.js +126 -14
  78. package/esm5/lib/components/money/currency-input-mask.directive.js +193 -0
  79. package/esm5/lib/components/money/currency-input-mask.module.js +34 -0
  80. package/esm5/lib/components/money/money.component.js +139 -36
  81. package/esm5/lib/components/nav-menu/nav-menu.component.js +172 -18
  82. package/esm5/lib/components/option/option.component.js +105 -37
  83. package/esm5/lib/components/profile/profile.component.js +141 -50
  84. package/esm5/lib/components/recover-account/recover-account.component.js +46 -23
  85. package/esm5/lib/components/roles/addRoleDialog.component.js +97 -23
  86. package/esm5/lib/components/roles/roles.component.js +152 -72
  87. package/esm5/lib/components/select/select.component.js +106 -45
  88. package/esm5/lib/components/settings/settings.component.js +74 -18
  89. package/esm5/lib/components/signup/signup.component.js +105 -21
  90. package/esm5/lib/components/steps/steps.component.js +46 -28
  91. package/esm5/lib/components/table/table.component.js +299 -32
  92. package/esm5/lib/components/text/text.component.js +144 -68
  93. package/esm5/lib/components/tiles/tiles.component.js +73 -18
  94. package/esm5/lib/components/timeout/timeout.component.js +63 -19
  95. package/esm5/lib/components/tin-spa.component.js +16 -8
  96. package/esm5/lib/components/users/users.component.js +307 -62
  97. package/esm5/lib/components/viewer/viewer.component.js +62 -36
  98. package/esm5/lib/components/viewer/viewerDialog.component.js +71 -15
  99. package/esm5/lib/dnd.directive.js +28 -22
  100. package/esm5/lib/modules/spa-admin.module.js +63 -48
  101. package/esm5/lib/modules/spa-index.module.js +43 -17
  102. package/esm5/lib/modules/spa-mat.module.js +38 -22
  103. package/esm5/lib/modules/spa-user.module.js +41 -16
  104. package/esm5/lib/services/auth.service.js +37 -47
  105. package/esm5/lib/services/data.service.js +89 -55
  106. package/esm5/lib/services/export.service.js +9 -8
  107. package/esm5/lib/services/http.service.js +81 -0
  108. package/esm5/lib/services/loader-interceptor.service.js +28 -27
  109. package/esm5/lib/services/loader.service.js +9 -8
  110. package/esm5/lib/services/log.service.js +11 -9
  111. package/esm5/lib/services/message.service.js +9 -14
  112. package/esm5/lib/services/storage.service.js +10 -8
  113. package/esm5/lib/services/tin-spa.service.js +9 -8
  114. package/esm5/lib/tin-spa.module.js +111 -45
  115. package/esm5/public-api.js +4 -6
  116. package/esm5/tin-spa.js +1 -5
  117. package/fesm2015/tin-spa.js +4418 -1612
  118. package/fesm2015/tin-spa.js.map +1 -1
  119. package/fesm5/tin-spa.js +4442 -1612
  120. package/fesm5/tin-spa.js.map +1 -1
  121. package/lib/classes/Classes.d.ts +55 -43
  122. package/lib/classes/TinCore.d.ts +27 -0
  123. package/lib/components/activity/activity.component.d.ts +3 -5
  124. package/lib/components/attach/attach.component.d.ts +3 -5
  125. package/lib/components/change-password/change-password.component.d.ts +11 -9
  126. package/lib/components/check/check.component.d.ts +3 -5
  127. package/lib/components/chips/chips.component.d.ts +3 -5
  128. package/lib/components/create-account/create-account.component.d.ts +13 -13
  129. package/lib/components/date/date.component.d.ts +6 -7
  130. package/lib/components/datetime/datetime.component.d.ts +3 -5
  131. package/lib/components/filter/filter.component.d.ts +15 -0
  132. package/lib/components/html/html.component.d.ts +3 -5
  133. package/lib/components/label/label.component.d.ts +3 -5
  134. package/lib/components/loader/loader.component.d.ts +3 -5
  135. package/lib/components/login/login.component.d.ts +12 -14
  136. package/lib/components/logs/logs.component.d.ts +5 -9
  137. package/lib/components/message/messageDialog.component.d.ts +3 -5
  138. package/lib/components/money/currency-input-mask.directive.d.ts +41 -0
  139. package/lib/components/money/currency-input-mask.module.d.ts +8 -0
  140. package/lib/components/money/money.component.d.ts +19 -8
  141. package/lib/components/nav-menu/nav-menu.component.d.ts +3 -5
  142. package/lib/components/option/option.component.d.ts +4 -5
  143. package/lib/components/profile/profile.component.d.ts +9 -11
  144. package/lib/components/recover-account/recover-account.component.d.ts +6 -8
  145. package/lib/components/roles/addRoleDialog.component.d.ts +5 -7
  146. package/lib/components/roles/roles.component.d.ts +6 -10
  147. package/lib/components/select/select.component.d.ts +4 -6
  148. package/lib/components/settings/settings.component.d.ts +5 -7
  149. package/lib/components/signup/signup.component.d.ts +6 -8
  150. package/lib/components/steps/steps.component.d.ts +3 -5
  151. package/lib/components/table/table.component.d.ts +3 -5
  152. package/lib/components/text/text.component.d.ts +4 -5
  153. package/lib/components/tiles/tiles.component.d.ts +3 -5
  154. package/lib/components/timeout/timeout.component.d.ts +3 -5
  155. package/lib/components/tin-spa.component.d.ts +3 -5
  156. package/lib/components/users/users.component.d.ts +8 -13
  157. package/lib/components/viewer/viewer.component.d.ts +3 -5
  158. package/lib/components/viewer/viewerDialog.component.d.ts +4 -6
  159. package/lib/dnd.directive.d.ts +3 -5
  160. package/lib/modules/spa-admin.module.d.ts +13 -19
  161. package/lib/modules/spa-index.module.d.ts +10 -11
  162. package/lib/modules/spa-mat.module.d.ts +30 -32
  163. package/lib/modules/spa-user.module.d.ts +9 -10
  164. package/lib/services/auth.service.d.ts +14 -14
  165. package/lib/services/data.service.d.ts +28 -17
  166. package/lib/services/export.service.d.ts +3 -4
  167. package/lib/services/http.service.d.ts +22 -0
  168. package/lib/services/loader-interceptor.service.d.ts +3 -5
  169. package/lib/services/loader.service.d.ts +3 -4
  170. package/lib/services/log.service.d.ts +3 -4
  171. package/lib/services/message.service.d.ts +3 -4
  172. package/lib/services/storage.service.d.ts +3 -4
  173. package/lib/services/tin-spa.service.d.ts +3 -4
  174. package/lib/tin-spa.module.d.ts +35 -35
  175. package/package.json +2 -10
  176. package/public-api.d.ts +3 -5
  177. package/tin-spa.d.ts +1 -6
  178. package/__ivy_ngcc__/fesm2015/tin-spa.js +0 -6813
  179. package/__ivy_ngcc__/fesm2015/tin-spa.js.map +0 -1
  180. package/esm2015/lib/components/profiles/profiles.component.js +0 -16
  181. package/esm2015/lib/components/roles/editRoleDialog.component.js +0 -57
  182. package/esm2015/lib/components/roles/viewRoleDialog.component.js +0 -38
  183. package/esm2015/lib/components/users/addUserDialog.component.js +0 -53
  184. package/esm2015/lib/components/users/editUserDialog.component.js +0 -96
  185. package/esm5/lib/components/profiles/profiles.component.js +0 -18
  186. package/esm5/lib/components/roles/editRoleDialog.component.js +0 -59
  187. package/esm5/lib/components/roles/viewRoleDialog.component.js +0 -39
  188. package/esm5/lib/components/users/addUserDialog.component.js +0 -55
  189. package/esm5/lib/components/users/editUserDialog.component.js +0 -99
  190. package/lib/components/activity/activity.component.d.ts.__ivy_ngcc_bak +0 -8
  191. package/lib/components/attach/attach.component.d.ts.__ivy_ngcc_bak +0 -39
  192. package/lib/components/change-password/change-password.component.d.ts.__ivy_ngcc_bak +0 -20
  193. package/lib/components/check/check.component.d.ts.__ivy_ngcc_bak +0 -16
  194. package/lib/components/chips/chips.component.d.ts.__ivy_ngcc_bak +0 -15
  195. package/lib/components/create-account/create-account.component.d.ts.__ivy_ngcc_bak +0 -25
  196. package/lib/components/date/date.component.d.ts.__ivy_ngcc_bak +0 -13
  197. package/lib/components/datetime/datetime.component.d.ts.__ivy_ngcc_bak +0 -12
  198. package/lib/components/html/html.component.d.ts.__ivy_ngcc_bak +0 -12
  199. package/lib/components/label/label.component.d.ts.__ivy_ngcc_bak +0 -8
  200. package/lib/components/loader/loader.component.d.ts.__ivy_ngcc_bak +0 -9
  201. package/lib/components/login/login.component.d.ts.__ivy_ngcc_bak +0 -29
  202. package/lib/components/logs/logs.component.d.ts.__ivy_ngcc_bak +0 -17
  203. package/lib/components/message/messageDialog.component.d.ts.__ivy_ngcc_bak +0 -12
  204. package/lib/components/money/money.component.d.ts.__ivy_ngcc_bak +0 -14
  205. package/lib/components/nav-menu/nav-menu.component.d.ts.__ivy_ngcc_bak +0 -17
  206. package/lib/components/option/option.component.d.ts.__ivy_ngcc_bak +0 -17
  207. package/lib/components/profile/profile.component.d.ts.__ivy_ngcc_bak +0 -30
  208. package/lib/components/profiles/profiles.component.d.ts +0 -10
  209. package/lib/components/profiles/profiles.component.d.ts.__ivy_ngcc_bak +0 -5
  210. package/lib/components/recover-account/recover-account.component.d.ts.__ivy_ngcc_bak +0 -15
  211. package/lib/components/roles/addRoleDialog.component.d.ts.__ivy_ngcc_bak +0 -19
  212. package/lib/components/roles/editRoleDialog.component.d.ts +0 -24
  213. package/lib/components/roles/editRoleDialog.component.d.ts.__ivy_ngcc_bak +0 -19
  214. package/lib/components/roles/roles.component.d.ts.__ivy_ngcc_bak +0 -29
  215. package/lib/components/roles/viewRoleDialog.component.d.ts +0 -20
  216. package/lib/components/roles/viewRoleDialog.component.d.ts.__ivy_ngcc_bak +0 -15
  217. package/lib/components/select/select.component.d.ts.__ivy_ngcc_bak +0 -20
  218. package/lib/components/settings/settings.component.d.ts.__ivy_ngcc_bak +0 -16
  219. package/lib/components/signup/signup.component.d.ts.__ivy_ngcc_bak +0 -20
  220. package/lib/components/steps/steps.component.d.ts.__ivy_ngcc_bak +0 -15
  221. package/lib/components/table/table.component.d.ts.__ivy_ngcc_bak +0 -25
  222. package/lib/components/text/text.component.d.ts.__ivy_ngcc_bak +0 -37
  223. package/lib/components/tiles/tiles.component.d.ts.__ivy_ngcc_bak +0 -11
  224. package/lib/components/timeout/timeout.component.d.ts.__ivy_ngcc_bak +0 -21
  225. package/lib/components/tin-spa.component.d.ts.__ivy_ngcc_bak +0 -5
  226. package/lib/components/users/addUserDialog.component.d.ts +0 -21
  227. package/lib/components/users/addUserDialog.component.d.ts.__ivy_ngcc_bak +0 -16
  228. package/lib/components/users/editUserDialog.component.d.ts +0 -32
  229. package/lib/components/users/editUserDialog.component.d.ts.__ivy_ngcc_bak +0 -27
  230. package/lib/components/users/users.component.d.ts.__ivy_ngcc_bak +0 -35
  231. package/lib/components/viewer/viewer.component.d.ts.__ivy_ngcc_bak +0 -16
  232. package/lib/components/viewer/viewerDialog.component.d.ts.__ivy_ngcc_bak +0 -19
  233. package/lib/dnd.directive.d.ts.__ivy_ngcc_bak +0 -8
  234. package/lib/modules/spa-admin.module.d.ts.__ivy_ngcc_bak +0 -2
  235. package/lib/modules/spa-index.module.d.ts.__ivy_ngcc_bak +0 -2
  236. package/lib/modules/spa-mat.module.d.ts.__ivy_ngcc_bak +0 -2
  237. package/lib/modules/spa-user.module.d.ts.__ivy_ngcc_bak +0 -2
  238. package/lib/services/auth.service.d.ts.__ivy_ngcc_bak +0 -45
  239. package/lib/services/data.service.d.ts.__ivy_ngcc_bak +0 -23
  240. package/lib/services/export.service.d.ts.__ivy_ngcc_bak +0 -7
  241. package/lib/services/loader-interceptor.service.d.ts.__ivy_ngcc_bak +0 -18
  242. package/lib/services/loader.service.d.ts.__ivy_ngcc_bak +0 -5
  243. package/lib/services/log.service.d.ts.__ivy_ngcc_bak +0 -16
  244. package/lib/services/message.service.d.ts.__ivy_ngcc_bak +0 -12
  245. package/lib/services/storage.service.d.ts.__ivy_ngcc_bak +0 -7
  246. package/lib/services/tin-spa.service.d.ts.__ivy_ngcc_bak +0 -3
  247. package/lib/tin-spa.module.d.ts.__ivy_ngcc_bak +0 -2
  248. package/tin-spa.d.ts.__ivy_ngcc_bak +0 -8
  249. package/tin-spa.metadata.json +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tin-spa.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://tin-spa/lib/services/tin-spa.service.ts","ng://tin-spa/lib/services/storage.service.ts","ng://tin-spa/lib/components/message/messageDialog.component.ts","ng://tin-spa/lib/services/message.service.ts","ng://tin-spa/lib/services/export.service.ts","ng://tin-spa/lib/classes/Classes.ts","ng://tin-spa/lib/services/log.service.ts","ng://tin-spa/lib/services/auth.service.ts","ng://tin-spa/lib/services/data.service.ts","ng://tin-spa/lib/services/loader.service.ts","ng://tin-spa/lib/components/loader/loader.component.ts","ng://tin-spa/lib/modules/spa-mat.module.ts","ng://tin-spa/lib/services/loader-interceptor.service.ts","ng://tin-spa/lib/components/tin-spa.component.ts","ng://tin-spa/lib/components/nav-menu/nav-menu.component.ts","ng://tin-spa/lib/components/timeout/timeout.component.ts","ng://tin-spa/lib/components/table/table.component.ts","ng://tin-spa/lib/components/tiles/tiles.component.ts","ng://tin-spa/lib/components/date/date.component.ts","ng://tin-spa/lib/components/text/text.component.ts","ng://tin-spa/lib/components/viewer/viewerDialog.component.ts","ng://tin-spa/lib/components/viewer/viewer.component.ts","ng://tin-spa/lib/components/select/select.component.ts","ng://tin-spa/lib/components/check/check.component.ts","ng://tin-spa/lib/components/attach/attach.component.ts","ng://tin-spa/lib/components/datetime/datetime.component.ts","ng://tin-spa/lib/components/money/money.component.ts","ng://tin-spa/lib/dnd.directive.ts","ng://tin-spa/lib/components/chips/chips.component.ts","ng://tin-spa/lib/components/activity/activity.component.ts","ng://tin-spa/lib/components/html/html.component.ts","ng://tin-spa/lib/components/option/option.component.ts","ng://tin-spa/lib/components/label/label.component.ts","ng://tin-spa/lib/components/steps/steps.component.ts","ng://tin-spa/lib/tin-spa.module.ts","ng://tin-spa/lib/components/login/login.component.ts","ng://tin-spa/lib/components/signup/signup.component.ts","ng://tin-spa/lib/components/recover-account/recover-account.component.ts","ng://tin-spa/lib/modules/spa-index.module.ts","ng://tin-spa/lib/components/change-password/change-password.component.ts","ng://tin-spa/lib/components/profile/profile.component.ts","ng://tin-spa/lib/modules/spa-user.module.ts","ng://tin-spa/lib/components/settings/settings.component.ts","ng://tin-spa/lib/components/logs/logs.component.ts","ng://tin-spa/lib/components/users/users.component.ts","ng://tin-spa/lib/components/users/addUserDialog.component.ts","ng://tin-spa/lib/components/users/editUserDialog.component.ts","ng://tin-spa/lib/components/roles/viewRoleDialog.component.ts","ng://tin-spa/lib/components/roles/addRoleDialog.component.ts","ng://tin-spa/lib/components/roles/editRoleDialog.component.ts","ng://tin-spa/lib/components/roles/roles.component.ts","ng://tin-spa/lib/components/profiles/profiles.component.ts","ng://tin-spa/lib/components/create-account/create-account.component.ts","ng://tin-spa/lib/modules/spa-admin.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TinSpaService {\r\n\r\n constructor() { }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StorageService {\r\n\r\n constructor() { }\r\n\r\n // Store the value\r\n async store(storageKey: string, value: any) {\r\n const encryptedValue = btoa(escape(JSON.stringify(value)));\r\n // const encryptedValue = JSON.stringify(value);\r\n await localStorage.setItem( storageKey, encryptedValue );\r\n }\r\n\r\n // Get the value\r\n async get(storageKey: string) {\r\n const ret = await localStorage.getItem( storageKey );\r\n return JSON.parse(unescape(atob(ret)));\r\n // return JSON.parse(ret);\r\n }\r\n\r\n // Remove\r\n async removeStorageItem(storageKey: string) {\r\n await localStorage.removeItem(storageKey);\r\n }\r\n\r\n // Clear storage\r\n async clear() {\r\n await localStorage.clear();\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialog, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\n\r\n@Component({\r\n selector: 'lib-app-message',\r\n templateUrl: './messageDialog.component.html'\r\n})\r\n\r\nexport class messageDialog implements OnInit {\r\n\r\n constructor(private dialogRef: MatDialogRef<messageDialog>, @Inject(MAT_DIALOG_DATA) public data) { }\r\n\r\n\r\n ngOnInit() {\r\n\r\n this.messageType = this.data.type\r\n this._messageSubject = this.data.subject;\r\n this._messageDetails = this.data.details;\r\n\r\n }\r\n\r\n messageType;\r\n _messageSubject;\r\n _messageDetails;\r\n\r\n response(resp: string) {\r\n\r\n this.dialogRef.close(resp);\r\n\r\n }\r\n\r\n};\r\n\r\n\r\n\r\n","import { Injectable } from \"@angular/core\";\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { messageDialog } from \"../components/message/messageDialog.component\";\r\nimport { Observable, of } from 'rxjs';\r\nimport { mergeMap } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class MessageService {\r\n constructor(private snackBar: MatSnackBar, public dialog: MatDialog) {}\r\n\r\n public toast(msg: string) {\r\n this.snackBar.open(msg, \"OK\", { duration: 5000 });\r\n }\r\n\r\n public info(subject: string, details: string) {\r\n\r\n let type = \"info\";\r\n\r\n const dialogRef = this.dialog.open(messageDialog, {\r\n width: \"600px\",\r\n data: {type, subject, details },\r\n });\r\n\r\n }\r\n\r\n public error( details: string) {\r\n\r\n let type = \"error\";\r\n let subject: \"\";\r\n\r\n const dialogRef = this.dialog.open(messageDialog, {\r\n width: \"600px\",\r\n data: {type, subject, details },\r\n });\r\n\r\n }\r\n\r\n public confirm(msg: string): Observable<any> {\r\n\r\n let type = \"confirm\";\r\n let subject = \"\";\r\n let details = msg\r\n\r\n const dialogRef = this.dialog.open(messageDialog, {\r\n width: \"400px\",\r\n data: {type, subject, details },\r\n });\r\n\r\n return dialogRef.afterClosed().pipe(mergeMap((result) => {\r\n\r\n return of(result);\r\n\r\n }\r\n\r\n ));\r\n\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as FileSaver from 'file-saver';\r\nimport * as XLSX from 'xlsx';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExportService {\r\n\r\n constructor() { }\r\n\r\n fileType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\n fileExtension = '.xlsx';\r\n\r\n public exportExcel(jsonData: any[], fileName: string): void {\r\n\r\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(jsonData);\r\n const wb: XLSX.WorkBook = { Sheets: { 'data': ws }, SheetNames: ['data'] };\r\n const excelBuffer: any = XLSX.write(wb, { bookType: 'xlsx', type: 'array' });\r\n this.saveExcelFile(excelBuffer, fileName);\r\n }\r\n\r\n private saveExcelFile(buffer: any, fileName: string): void {\r\n const data: Blob = new Blob([buffer], {type: this.fileType});\r\n FileSaver.saveAs(data, fileName + this.fileExtension);\r\n }\r\n}\r\n","\r\n\r\n\r\nimport { Core } from 'tin-core';\r\n\r\nexport enum LogLevel {\r\n All = 0,\r\n Debug = 1,\r\n Info = 2,\r\n Warn = 3,\r\n Error = 4,\r\n Fatal = 5,\r\n Off = 6,\r\n}\r\n\r\n\r\nexport class Tile{\r\n\r\n tileName: string;\r\n tileValue: string;\r\n tileColor: string;\r\n selected: string;\r\n visible?: boolean;\r\n info?: string;\r\n}\r\n\r\nexport class Step{\r\n name:string\r\n icon:string;\r\n}\r\n\r\nexport class TableConfig {\r\n\r\n enableFilter: boolean = false;\r\n create = new TableCreate();\r\n\r\n columns: TableColumn[];\r\n actions: TableAction[];\r\n\r\n greyout = new Condition();\r\n\r\n}\r\n\r\nexport class TableCreate{\r\n enabled: boolean\r\n display: string;\r\n}\r\n\r\nexport class TableColumn {\r\n\r\n constructor() {\r\n this.name = \"default\"\r\n this.display = \"default\"\r\n this.type = TableColumnType.String\r\n\r\n }\r\n\r\n public name: string;\r\n public display: string;\r\n public type?: TableColumnType;\r\n public icons?: Icon[];\r\n public color?: Color;\r\n}\r\n\r\nexport enum TableColumnType {\r\n String, Date, DateTime, Image, Icon, TextIcon, Chip\r\n}\r\n\r\n\r\n\r\nexport class Condition {\r\n constructor() {\r\n this.field = \"\";\r\n this.operator = Operator.Equal;\r\n this.value = \"\";\r\n }\r\n field: string;\r\n operator: Operator;\r\n value: string;\r\n}\r\n\r\nexport enum Operator{\r\nEqual, Less, Greater, NotEqual\r\n}\r\n\r\n\r\n\r\nexport class Color extends Condition {\r\n name: string;\r\n}\r\n\r\nexport class Icon extends Condition{\r\n name: string;\r\n hint?: string;\r\n color?: string;\r\n}\r\n\r\n\r\n\r\nexport class TableAction {\r\n\r\n name: string;\r\n show?: boolean;\r\n icon: string;\r\n color?: string;\r\n hint?: string;\r\n\r\n disappear?: Condition;\r\n disable?: Condition;\r\n\r\n}\r\n\r\n\r\n\r\nexport class ActionResponse {\r\n name: string;\r\n value;\r\n}\r\n\r\n\r\n\r\nexport class loginConfig{\r\n\r\n constructor(){\r\n this.appName = \"\";\r\n this.selfService = false;\r\n this.logo = \"\";\r\n this.logoSize = \"normal\";\r\n }\r\n\r\n appName: string;\r\n selfService: boolean;\r\n logo: string;\r\n logoSize: string;\r\n\r\n}\r\n\r\n\r\n export class AppConfig {\r\n constructor() {\r\n this.appName = \"App Name\";\r\n this.logo = \"\";\r\n this.ADAuth = true;\r\n this.localAuth = true;\r\n this.employees = false;\r\n this.approvals = false;\r\n }\r\n appName: string;\r\n logo: string;\r\n capItems: CapItem[];\r\n ADAuth: boolean;\r\n localAuth:boolean;\r\n employees: boolean;\r\n approvals: boolean;\r\n }\r\n\r\n export class CapItem {\r\n\r\n constructor(){\r\n this.name = \"\";\r\n this.display = \"New Cap Item\";\r\n this.enabled = false;\r\n this.type= \"\";\r\n this.newLine = false;\r\n this.showMenu =true;\r\n this.ignoreSubsDisplay = false;\r\n this.link = \"\";\r\n this.icon = \"navigate_next\";\r\n\r\n }\r\n\r\n name: string;\r\n display: string;\r\n enabled: boolean;\r\n showMenu: boolean;\r\n\r\n ignoreSubsDisplay: boolean;\r\n type: string;\r\n newLine: boolean;\r\n link: string;\r\n icon: string;\r\n capSubItems: CapItem[];\r\n\r\n\r\n\r\n }\r\n\r\n\r\n export class Role {\r\n\r\n constructor() {\r\n this.roleID = \"\" ;\r\n this.roleName = \"New Role\" ;\r\n this.cap1 = false ;\r\n this.cap2 = false ;\r\n this.cap3 = false ;\r\n this.cap4 = false ;\r\n this.cap5 = false ;\r\n this.cap6 = false ;\r\n this.cap7 = false ;\r\n this.cap8 = false ;\r\n this.cap9 = false ;\r\n this.cap10 = false ;\r\n this.cap11 = false ;\r\n this.cap12 = false ;\r\n this.cap13 = false ;\r\n this.cap14 = false ;\r\n this.cap15 = false ;\r\n this.cap16 = false ;\r\n this.cap17 = false ;\r\n this.cap18 = false ;\r\n this.cap19 = false ;\r\n this.cap20 = false ;\r\n this.cap21 = false ;\r\n this.cap22 = false ;\r\n this.cap23 = false ;\r\n this.cap24 = false ;\r\n this.cap25 = false ;\r\n this.cap26 = false ;\r\n this.cap27 = false ;\r\n this.cap28 = false ;\r\n this.cap29 = false ;\r\n this.cap30 = false ;\r\n this.cap31 = false ;\r\n this.cap32 = false ;\r\n this.cap33 = false ;\r\n this.cap34 = false ;\r\n this.cap35 = false ;\r\n this.cap36 = false ;\r\n this.cap37 = false ;\r\n this.cap38 = false ;\r\n this.cap39 = false ;\r\n this.cap40 = false ;\r\n this.cap41 = false ;\r\n this.cap42 = false ;\r\n this.cap43 = false ;\r\n this.cap44 = false ;\r\n this.cap45 = false ;\r\n this.cap46 = false ;\r\n this.cap47 = false ;\r\n this.cap48 = false ;\r\n this.cap49 = false ;\r\n this.cap50 = false ;\r\n this.cap51 = false ;\r\n this.cap52 = false ;\r\n this.cap53 = false ;\r\n this.cap54 = false ;\r\n this.cap55 = false ;\r\n this.cap56 = false ;\r\n this.cap57 = false ;\r\n this.cap58 = false ;\r\n this.cap59 = false ;\r\n this.cap60 = false ;\r\n this.cap61 = false ;\r\n this.cap62 = false ;\r\n this.cap63 = false ;\r\n this.cap64 = false ;\r\n this.cap65 = false ;\r\n this.cap66 = false ;\r\n this.cap67 = false ;\r\n this.cap68 = false ;\r\n this.cap69 = false ;\r\n this.cap70 = false ;\r\n this.cap71 = false ;\r\n this.cap72 = false ;\r\n this.cap73 = false ;\r\n this.cap74 = false ;\r\n this.cap75 = false ;\r\n this.cap76 = false ;\r\n this.cap77 = false ;\r\n this.cap78 = false ;\r\n this.cap79 = false ;\r\n this.cap80 = false ;\r\n this.cap81 = false ;\r\n this.cap82 = false ;\r\n this.cap83 = false ;\r\n this.cap84 = false ;\r\n this.cap85 = false ;\r\n this.cap86 = false ;\r\n this.cap87 = false ;\r\n this.cap88 = false ;\r\n this.cap89 = false ;\r\n this.cap90 = false ;\r\n this.cap91 = false ;\r\n this.cap92 = false ;\r\n this.cap93 = false ;\r\n this.cap94 = false ;\r\n this.cap95 = false ;\r\n this.cap96 = false ;\r\n this.cap97 = false ;\r\n this.cap98 = false ;\r\n this.cap99 = false ;\r\n this.cap100 = false ;\r\n }\r\n\r\n roleID: string;\r\n roleName: string;\r\n cap1: boolean;\r\n cap2: boolean;\r\n cap3: boolean;\r\n cap4: boolean;\r\n cap5: boolean;\r\n cap6: boolean;\r\n cap7: boolean;\r\n cap8: boolean;\r\n cap9: boolean;\r\n cap10: boolean;\r\n cap11: boolean;\r\n cap12: boolean;\r\n cap13: boolean;\r\n cap14: boolean;\r\n cap15: boolean;\r\n cap16: boolean;\r\n cap17: boolean;\r\n cap18: boolean;\r\n cap19: boolean;\r\n cap20: boolean;\r\n cap21: boolean;\r\n cap22: boolean;\r\n cap23: boolean;\r\n cap24: boolean;\r\n cap25: boolean;\r\n cap26: boolean;\r\n cap27: boolean;\r\n cap28: boolean;\r\n cap29: boolean;\r\n cap30: boolean;\r\n cap31: boolean;\r\n cap32: boolean;\r\n cap33: boolean;\r\n cap34: boolean;\r\n cap35: boolean;\r\n cap36: boolean;\r\n cap37: boolean;\r\n cap38: boolean;\r\n cap39: boolean;\r\n cap40: boolean;\r\n cap41: boolean;\r\n cap42: boolean;\r\n cap43: boolean;\r\n cap44: boolean;\r\n cap45: boolean;\r\n cap46: boolean;\r\n cap47: boolean;\r\n cap48: boolean;\r\n cap49: boolean;\r\n cap50: boolean;\r\n cap51: boolean;\r\n cap52: boolean;\r\n cap53: boolean;\r\n cap54: boolean;\r\n cap55: boolean;\r\n cap56: boolean;\r\n cap57: boolean;\r\n cap58: boolean;\r\n cap59: boolean;\r\n cap60: boolean;\r\n cap61: boolean;\r\n cap62: boolean;\r\n cap63: boolean;\r\n cap64: boolean;\r\n cap65: boolean;\r\n cap66: boolean;\r\n cap67: boolean;\r\n cap68: boolean;\r\n cap69: boolean;\r\n cap70: boolean;\r\n cap71: boolean;\r\n cap72: boolean;\r\n cap73: boolean;\r\n cap74: boolean;\r\n cap75: boolean;\r\n cap76: boolean;\r\n cap77: boolean;\r\n cap78: boolean;\r\n cap79: boolean;\r\n cap80: boolean;\r\n cap81: boolean;\r\n cap82: boolean;\r\n cap83: boolean;\r\n cap84: boolean;\r\n cap85: boolean;\r\n cap86: boolean;\r\n cap87: boolean;\r\n cap88: boolean;\r\n cap89: boolean;\r\n cap90: boolean;\r\n cap91: boolean;\r\n cap92: boolean;\r\n cap93: boolean;\r\n cap94: boolean;\r\n cap95: boolean;\r\n cap96: boolean;\r\n cap97: boolean;\r\n cap98: boolean;\r\n cap99: boolean;\r\n cap100: boolean;\r\n }\r\n\r\nexport class Account{\r\n user: User;\r\n profile: Profile;\r\n}\r\n\r\n\r\nexport class User {\r\n\r\n constructor(){\r\n\r\n this.userID = \"\";\r\n this.password = \"\";\r\n this.tries = \"0\";\r\n this.locked = \"0\";\r\n this.logged = \"0\";\r\n this.disabled = \"0\";\r\n this.changepassword = \"0\";\r\n this.dateCreated = Core.nowDate();\r\n this.dateUpdated = Core.nowDate();\r\n this.token = \"\";\r\n this.dateExpire = Core.nowDate();\r\n this.tokenExpire = Core.nowDate();\r\n this.authType = \"\";\r\n\r\n }\r\n\r\n userID: string;\r\n password: string;\r\n tries: string;\r\n locked: string;\r\n logged: string;\r\n disabled: string;\r\n changepassword: string;\r\n dateCreated: string;\r\n dateUpdated: string;\r\n dateExpire: string;\r\n token: string;\r\n tokenExpire: string;\r\n\r\n authType: string;\r\n}\r\n\r\nexport class ChangeUserPassword {\r\n\r\n constructor(){\r\n this.userID = \"\";\r\n this.currentPassword = \"\";\r\n this.newPassword = \"\";\r\n this.confirmPassword = \"\";\r\n }\r\n userID: string;\r\n currentPassword: string;\r\n newPassword: string;\r\n confirmPassword: string;\r\n}\r\n\r\nexport class Profile {\r\n\r\n constructor() {\r\n this.profileID = \"\" ;\r\n this.userID = \"\" ;\r\n this.roleID = \"1\" ;\r\n this.firstName = \"\" ;\r\n this.lastName = \"\" ;\r\n this.email = \"\" ;\r\n this.empID = \"\";\r\n this.arID = \"0\";\r\n this.authType = \"\";\r\n }\r\n\r\n profileID: string;\r\n userID: string;\r\n roleID: string;\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n empID: string;\r\n arID: string;\r\n authType: string;\r\n }\r\n\r\n\r\n\r\n","import { Core } from 'tin-core';\r\nimport { logging } from 'protractor';\r\nimport { Injectable } from \"@angular/core\";\r\nimport { LogLevel } from '../classes/Classes';\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class LogService {\r\n constructor() {}\r\n\r\n level: LogLevel = LogLevel.All;\r\n\r\n logToConsole: boolean = true;\r\n\r\n logToApi: boolean = false;\r\n\r\n debug(msg: string, ...optionalParams: any[]) {\r\n this.writeToLog(msg, LogLevel.Debug, optionalParams);\r\n }\r\n\r\n info(msg: string, ...optionalParams: any[]) {\r\n this.writeToLog(msg, LogLevel.Info, optionalParams);\r\n }\r\n\r\n warn(msg: string, ...optionalParams: any[]) {\r\n this.writeToLog(msg, LogLevel.Warn, optionalParams);\r\n }\r\n\r\n error(msg: string, ...optionalParams: any[]) {\r\n this.writeToLog(msg, LogLevel.Error, optionalParams);\r\n }\r\n\r\n fatal(msg: string, ...optionalParams: any[]) {\r\n this.writeToLog(msg, LogLevel.Fatal, optionalParams);\r\n }\r\n\r\n log(msg: string, ...optionalParams: any[]) {\r\n this.writeToLog(msg, LogLevel.All, optionalParams);\r\n\r\n }\r\n\r\n private writeToLog(msg: string, level: LogLevel, params: any[]) {\r\n\r\n if (this.shouldLog(level)) {\r\n\r\n // Build log string\r\n let value: string = Core.getFormatedDate(Date(),false).replace(\"T\",\" \");\r\n // value += \" - Type: \" + LogLevel[this.level];\r\n value += \" - Message: \" + msg;\r\n\r\n\r\n if (params.length) {\r\n value += \" - Extra Info: \" + this.formatParams(params);\r\n }\r\n\r\n // Log the value\r\n if (this.logToConsole){\r\n console.log(value);\r\n }\r\n\r\n if (this.logToApi){\r\n //Call API post\r\n }\r\n\r\n }\r\n }\r\n\r\n private formatParams(params: any[]): string {\r\n\r\n let ret: string = params.join(\",\");\r\n // Is there at least one object in the array?\r\n if (params.some((p) => typeof p == \"object\")) {\r\n ret = \"\";\r\n // Build comma-delimited string\r\n for (let item of params) {\r\n ret += JSON.stringify(item) + \",\";\r\n }\r\n }\r\n return ret;\r\n }\r\n\r\n private shouldLog(level: LogLevel): boolean {\r\n\r\n let ret: boolean = false;\r\n\r\n if (\r\n (level >= this.level && level !== LogLevel.Off) ||\r\n this.level === LogLevel.All\r\n ) {\r\n ret = true;\r\n }\r\n\r\n return ret;\r\n }\r\n}\r\n\r\n\r\n\r\n","import { MessageService } from './message.service';\r\n//-----------------Change for Build and Reference purposes for SERVICES ONLY---------//\r\nimport { Constants, HttpService } from 'tin-core';\r\n// import { HttpService, Constants } from 'tin-core';\r\n//----------------------------------------------------------------------------------//\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { Router, CanActivate } from '@angular/router';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { StorageService } from './storage.service';\r\nimport { LogService } from './log.service';\r\nimport { Role } from '../classes/Classes';\r\n// import { Constants } from \"tin-core\";\r\n\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class AuthService implements CanActivate {\r\n constructor(private storage: StorageService, public router: Router, private httpService: HttpService, private messageService: MessageService, private logService: LogService) {}\r\n\r\n\r\n //Logged in\r\n private loggedin: boolean = false;\r\n private loggedinSource = new BehaviorSubject(this.loggedin);\r\n public loggedinObserv = this.loggedinSource.asObservable();\r\n updateloggedin(loggedin: boolean) {\r\n this.loggedinSource.next(loggedin);\r\n this.loggedin = loggedin;\r\n }\r\n\r\n //Token\r\n private token: string = \"\";\r\n public tokenSource = new BehaviorSubject(this.token);\r\n public tokenObserv = this.tokenSource.asObservable();\r\n updateToken(newToken: string) {\r\n this.tokenSource.next(newToken);\r\n\r\n }\r\n\r\n //TokenExpire\r\n private tokenExpire: string = \"\";\r\n public tokenExpireSource = new BehaviorSubject(this.tokenExpire);\r\n public tokenExpireObserv = this.tokenExpireSource.asObservable();\r\n updateTokenExpire(newTokenExpire: string) {\r\n this.tokenExpireSource.next(newTokenExpire);\r\n\r\n }\r\n\r\n //Current User\r\n public currentUser: string = \"tnyagato\";\r\n private currentUserSource = new BehaviorSubject(this.currentUser);\r\n public currentUserObserv = this.currentUserSource.asObservable();\r\n updateCurrentUser(newUser: string) {\r\n this.currentUserSource.next(newUser.toLocaleLowerCase());\r\n this.currentUser = newUser.toLocaleLowerCase();\r\n }\r\n\r\n //Line Manager\r\n private islineManager: boolean = false;\r\n private isLineManagerSource = new BehaviorSubject(this.islineManager);\r\n public isLineManagerObserv = this.isLineManagerSource.asObservable();\r\n updateIsLineManager(manager: boolean) {\r\n this.isLineManagerSource.next(manager);\r\n }\r\n\r\n //Roles\r\n private currentRole = new Role;\r\n public currentRoleSource = new BehaviorSubject(this.currentRole);\r\n public myRoleObserv = this.currentRoleSource.asObservable();\r\n updateRole(role) {\r\n this.currentRoleSource.next(role);\r\n }\r\n\r\n //Logged in FirstName\r\n private loggedUserSource = new BehaviorSubject(\"tnyagato\");\r\n public loggedUserFullName = this.loggedUserSource.asObservable();\r\n updateLoggedUserFullName(username: string) {\r\n this.loggedUserSource.next(username);\r\n }\r\n\r\n\r\n //Authorisation\r\n isAuthorised(capName: string): boolean{\r\n\r\n\r\n\r\n if (!this.currentRoleSource.value[capName]) {\r\n // this.logService.info(`authorise: ${this.currentRoleSource.value.roleName} not authorised for ${capName}`);\r\n this.router.navigate([\"home\"]);\r\n this.messageService.toast(`Unauthorised: ${capName}`);\r\n\r\n return false;\r\n }else{\r\n return true;\r\n }\r\n\r\n }\r\n\r\n isValidToken(){\r\n\r\n\r\n let tokenExpire: Date = new Date(this.tokenExpireSource.value);\r\n let nowDate: Date = new Date();\r\n\r\n\r\n let valid: boolean = tokenExpire > nowDate;\r\n\r\n if (!valid){\r\n\r\n this.router.navigate([\"login\"]);\r\n this.messageService.toast(`Expired Session`);\r\n }\r\n\r\n return valid\r\n\r\n }\r\n\r\n canActivate() {\r\n\r\n\r\n if (this.loggedin && this.isValidToken()) {\r\n // this.logService.info(\"authentication: logged in\");\r\n return true;\r\n }\r\n\r\n if (localStorage.getItem(Constants.AUTH_USER) === null) {\r\n // this.logService.info(\"authentication: not logged and no cache\");\r\n\r\n this.updateloggedin(false);\r\n this.router.navigate([\"login\"]);\r\n return false;\r\n\r\n } else {\r\n // this.logService.info(\"authentication: not logged but allowed login\");\r\n\r\n this.updateloggedin(true);\r\n\r\n this.storage.get(Constants.AUTH_USER).then((resp: any) => {\r\n this.updateCurrentUser(resp);\r\n // console.log(\"user: \" + resp);\r\n });\r\n\r\n this.storage.get(Constants.AUTH_NAME).then((resp: any) => {\r\n this.updateLoggedUserFullName(resp);\r\n // console.log(\"name: \" + resp);\r\n });\r\n\r\n this.storage.get(Constants.AUTH_ROLES).then((resp) => {\r\n let ret = JSON.parse(resp);\r\n\r\n this.updateRole(ret);\r\n // console.log(\"role: \" + ret.roleName);\r\n });\r\n\r\n this.storage.get(Constants.AUTH_TOKEN).then((resp: any) => {\r\n this.updateToken(resp);\r\n // console.log(\"token: \" + resp);\r\n });\r\n\r\n this.storage.get(Constants.AUTH_TOKEN_EXPIRE).then((resp: any) => {\r\n this.updateTokenExpire(resp);\r\n this.isValidToken();\r\n });\r\n\r\n\r\n return true;\r\n }\r\n }\r\n}\r\n","import { AppConfig, HttpService } from 'tin-core';\r\nimport { Injectable } from '@angular/core';\r\nimport { CapItem, User } from '../classes/Classes';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DataService {\r\n\r\n constructor(private httpService: HttpService) {\r\n // httpService.apiUrl = \"http://localhost:20503/\";\r\n // httpService.apiUrl = \"http://localhost/basic/\";\r\n\r\n this.capUsers.name = \"cap3\";\r\n this.capUsers.display = \"Users\";\r\n this.capUsers.link = \"home/admin/users\";\r\n }\r\n\r\n capUsers = new CapItem;\r\n\r\n // public appConfig = new AppConfig; ///test\r\n\r\n public tmpProfileUserID = \"\";\r\n\r\n //Users\r\n\r\n public GetUser(by: string, val: string) {\r\n return this.httpService.Get(\"Basic/GetUser?by=\" + by + \"&val=\" + val);\r\n }\r\n\r\n public UpdateUser(user, action: string) {\r\n return this.httpService.Post(\"Basic/UpdateUser?action=\" + action, user);\r\n }\r\n\r\n public login(u: User) {\r\n return this.httpService.Post(\"Basic/login\", u);\r\n }\r\n\r\n public changePassword(u) {\r\n return this.httpService.Post(\"Basic/ChangePassword\", u);\r\n }\r\n\r\n public changePasswordAdmin(u) {\r\n return this.httpService.Post(\"Basic/ChangePasswordAdmin\", u);\r\n }\r\n\r\n public SelfReset(u: User): Observable<any> {\r\n return this.httpService.Post(\"Basic/SelfReset\", u);\r\n\r\n }\r\n\r\n\r\n //Roles\r\n\r\n public UpdateRole(role, action: string) {\r\n return this.httpService.Post(\"Basic/UpdateRole?action=\" + action, role);\r\n }\r\n\r\n public GetRole(by: string, val: string) {\r\n return this.httpService.Get(\"Basic/GetRole?by=\" + by + \"&val=\" + val);\r\n }\r\n\r\n\r\n //Account\r\n public UpdateAccount(account, action: string) {\r\n return this.httpService.Post(\"Basic/UpdateAccount?action=\" + action, account);\r\n }\r\n\r\n //Profile\r\n\r\n public GetProfile(by: string, val: string) {\r\n return this.httpService.Get(\"Basic/GetProfile?by=\" + by + \"&val=\" + val);\r\n }\r\n\r\n public UpdateProfile(profile, action: string) {\r\n return this.httpService.Post(\"Basic/UpdateProfile?action=\" + action, profile);\r\n }\r\n\r\n //Logs\r\n public GetLog(by: string, val: string) {\r\n return this.httpService.Get(\"Basic/GetLog?by=\" + by + \"&val=\" + val);\r\n }\r\n\r\n //Settings\r\n public GetSetting(by: string, val: string) {\r\n return this.httpService.Get(\"Basic/GetSetting?by=\" + by + \"&val=\" + val);\r\n }\r\n\r\n public UpdateSetting(setting, action: string) {\r\n return this.httpService.Post(\"Basic/UpdateSetting?action=\" + action, setting);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoaderService {\r\n\r\n public isLoading = new BehaviorSubject(false);\r\n constructor() { }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { LoaderService } from '../../services/loader.service';\r\n\r\n@Component({\r\n selector: 'spa-loader',\r\n templateUrl: './loader.component.html',\r\n styleUrls: ['./loader.component.css']\r\n})\r\nexport class LoaderComponent implements OnInit {\r\n\r\n constructor(private loaderService: LoaderService) {\r\n\r\n this.loaderService.isLoading.subscribe((v) => {\r\n // console.log(v);\r\n this.loading = v;\r\n });\r\n\r\n }\r\n ngOnInit() {\r\n }\r\n\r\n @Input() logo = \"\";\r\n loading: boolean;\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatNativeDateModule, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule, MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material/dialog';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSliderModule } from '@angular/material/slider';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n\r\n\r\n ],\r\n exports: [\r\n CommonModule,FormsModule, ReactiveFormsModule,\r\n MatMenuModule, MatSliderModule, MatTableModule, MatPaginatorModule,\r\n MatCheckboxModule, MatBadgeModule, MatButtonModule, MatIconModule, MatDialogModule, MatSnackBarModule,\r\n MatTabsModule, MatFormFieldModule, MatInputModule, MatCardModule, MatChipsModule, MatSelectModule,\r\n MatNativeDateModule, MatProgressSpinnerModule, MatListModule, MatAutocompleteModule, MatTooltipModule, MatSortModule,\r\n MatDatepickerModule, MatStepperModule, MatRadioModule,\r\n ],\r\n providers:[\r\n { provide: MAT_DIALOG_DEFAULT_OPTIONS, useValue: { disableClose: true, hasBackdrop: true } },\r\n { provide: MAT_DATE_LOCALE, useValue: \"en-GB\" },\r\n ]\r\n})\r\nexport class SpaMatModule { }\r\n","import { Router } from '@angular/router';\r\nimport { AuthService } from './auth.service';\r\nimport { MessageService } from './message.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpResponse, HttpRequest, HttpHandler, HttpEvent, HttpInterceptor, HttpErrorResponse} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { LoaderService } from './loader.service';\r\nimport { LogService } from './log.service';\r\n\r\n@Injectable()\r\nexport class LoaderInterceptor implements HttpInterceptor {\r\n private requests: HttpRequest<any>[] = [];\r\n\r\n constructor(private loaderService: LoaderService, private messageService: MessageService, private authService: AuthService, private router: Router, private logService: LogService) { }\r\n\r\n\r\n removeRequest(req: HttpRequest<any>) {\r\n const i = this.requests.indexOf(req);\r\n if (i >= 0) {\r\n this.requests.splice(i, 1);\r\n }\r\n this.loaderService.isLoading.next(this.requests.length > 0);\r\n }\r\n\r\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n\r\n\r\n let requestClone = request.clone({\r\n setHeaders: {\r\n Authorization: \"Basic \" + btoa(this.authService.currentUser + \":\" + this.authService.tokenSource.value)\r\n // Authorization: \"Basic \" + btoa(this.authService.currentUser + \":\" + \"j5Toszfr@ys\")\r\n }\r\n });\r\n\r\n this.requests.push(requestClone);\r\n\r\n if (this.requests.length > 1){\r\n this.logService.info(\"Multiple connections detected > \" + this.requests.length)\r\n }\r\n\r\n // this.logService.info(\"Executed > \" + requestClone.url)\r\n\r\n\r\n this.loaderService.isLoading.next(true);\r\n\r\n return Observable.create(observer => {\r\n\r\n const subscription = next.handle(requestClone)\r\n .subscribe(\r\n event => {\r\n if (event instanceof HttpResponse) {\r\n this.removeRequest(requestClone);\r\n observer.next(event);\r\n }\r\n },\r\n (err: HttpErrorResponse) => {\r\n\r\n this.messageService.toast('error: ' + err.statusText)\r\n\r\n this.removeRequest(requestClone);\r\n observer.error(err);\r\n\r\n if (err.status === 401) {\r\n //request is unathorised\r\n this.router.navigate([\"login\"]);\r\n }\r\n\r\n },\r\n () => {\r\n this.removeRequest(requestClone);\r\n observer.complete();\r\n });\r\n\r\n\r\n // remove request from queue when cancelled\r\n return () => {\r\n this.removeRequest(requestClone);\r\n subscription.unsubscribe();\r\n };\r\n\r\n });\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-tin-spa',\r\n template: `\r\n <p>\r\n tin-spa works!\r\n </p>\r\n `,\r\n styles: []\r\n})\r\nexport class TinSpaComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { DataService } from './../../services/data.service';\r\nimport { AppConfig } from './../../classes/Classes';\r\nimport { Component, OnInit, Input } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from '../../services/auth.service';\r\n\r\n@Component({\r\n selector: 'spa-nav-menu',\r\n templateUrl: './nav-menu.component.html',\r\n styleUrls: ['./nav-menu.component.css']\r\n})\r\nexport class NavMenuComponent {\r\n\r\n constructor(public router: Router, public authService: AuthService) { }\r\n\r\n ngOnInit() {\r\n\r\n this.authService.loggedUserFullName.subscribe(user => this.loggedUserFullName = user)\r\n this.authService.myRoleObserv.subscribe(rol => this.myRole = rol);\r\n this.authService.loggedinObserv.subscribe(obj => this.loggedin = obj)\r\n\r\n }\r\n\r\n myRole;\r\n loggedUserFullName: string;\r\n loggedin: boolean;\r\n isExpanded = false;\r\n\r\n @Input() appConfig = new AppConfig();\r\n\r\n\r\n\r\n collapse() {\r\n this.isExpanded = false;\r\n }\r\n\r\n toggle() {\r\n this.isExpanded = !this.isExpanded;\r\n }\r\n\r\n // logoff() {\r\n // // this.authService.updateloggedin(false);\r\n // // this.authService.updateRole(new Role());\r\n // this.router.navigate([\"login\"]);\r\n // // this.storageService.clear();\r\n // }\r\n\r\n redirectTo(link: string){\r\n\r\n if (link!=\"\"){\r\n this.router.navigate([link]);\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","import { Router } from '@angular/router';\r\nimport { Component, OnInit } from '@angular/core';\r\n\r\nimport {Idle, DEFAULT_INTERRUPTSOURCES} from '@ng-idle/core';\r\nimport {Keepalive} from '@ng-idle/keepalive';\r\nimport { AuthService } from '../../services/auth.service';\r\n\r\n@Component({\r\n selector: 'spa-timeout',\r\n templateUrl: './timeout.component.html',\r\n styleUrls: ['./timeout.component.css']\r\n})\r\nexport class TimeoutComponent implements OnInit {\r\n\r\n constructor(private idle: Idle, private keepalive: Keepalive, public authService: AuthService, private router: Router) {\r\n\r\n this.authService.loggedinObserv.subscribe(obj => {\r\n this.loggedin = obj;\r\n // if (this.loggedin){\r\n // this.startWatch();\r\n // }else{\r\n // this.stopWatch();\r\n // }\r\n\r\n })\r\n\r\n // sets an idle timeout of 5 seconds, for testing purposes.\r\n idle.setIdle(900);\r\n // sets a timeout period of 5 seconds. after 10 seconds of inactivity, the user will be considered timed out.\r\n idle.setTimeout(10);\r\n // sets the default interrupts, in this case, things like clicks, scrolls, touches to the document\r\n idle.setInterrupts(DEFAULT_INTERRUPTSOURCES);\r\n\r\n\r\n idle.onIdleStart.subscribe(() => {\r\n this.idleState = 'You\\'ve gone idle!';\r\n });\r\n\r\n idle.onIdleEnd.subscribe(() => {\r\n this.idleState = 'No longer idle.';\r\n this.isWarning = false;\r\n });\r\n\r\n idle.onTimeoutWarning.subscribe((countdown) => {\r\n this.idleState = 'You will be signed out in ' + countdown + ' seconds!';\r\n\r\n if (this.loggedin){\r\n this.isWarning = true;\r\n }\r\n\r\n });\r\n\r\n idle.onTimeout.subscribe(() => {\r\n this.idleState = 'Timed out!';\r\n this.timedOut = true;\r\n\r\n //action\r\n this.stopWatch();\r\n });\r\n\r\n\r\n\r\n\r\n\r\n // sets the ping interval to 15 seconds\r\n keepalive.interval(15);\r\n\r\n keepalive.onPing.subscribe(() => {\r\n this.lastPing = new Date();\r\n });\r\n\r\n this.startWatch();\r\n }\r\n\r\n loggedin = false;\r\n idleState = 'Not started.';\r\n timedOut = false;\r\n lastPing?: Date = null;\r\n isWarning = false;\r\n\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n startWatch() {\r\n this.idle.watch();\r\n this.idleState = 'Started.';\r\n this.timedOut = false;\r\n this.isWarning = false;\r\n }\r\n\r\n stopWatch(){\r\n this.idle.stop();\r\n this.isWarning = false;\r\n this.router.navigate(['login']);\r\n }\r\n\r\n using(){\r\n //remove message and continue\r\n this.isWarning = false;\r\n }\r\n\r\n\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActionResponse, Operator, TableColumnType, TableConfig } from '../../classes/Classes';\r\n\r\n@Component({\r\n selector: 'spa-table',\r\n templateUrl: './table.component.html',\r\n styleUrls: ['./table.component.css']\r\n})\r\nexport class TableComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n\r\n // console.log(\"Init\")\r\n this.config.columns.forEach(element => {\r\n this.displayedColumns.push(element.name);\r\n });\r\n\r\n this.displayedColumns.push(\"Action\")\r\n\r\n this.styleString = `width: ${50 * this.config.actions.length}px`;\r\n\r\n }\r\n\r\n ngOnChanges(){\r\n // console.log(\"OnChange\")\r\n this.data = new MatTableDataSource(this.data);\r\n this.data.paginator = this.tablePaginator;\r\n this.applyFilter(this._filterText);\r\n }\r\n\r\n\r\n @Input() config: TableConfig;\r\n @Input() data: any;\r\n @Output() dataChange = new EventEmitter();\r\n @Output() buttonClick = new EventEmitter();\r\n @Output() loadClick = new EventEmitter();\r\n @Output() createClick = new EventEmitter();\r\n\r\n @ViewChild('tablePaginator') tablePaginator: MatPaginator;\r\n\r\n colType = TableColumnType\r\n op = Operator\r\n\r\n displayedColumns: string[] = [];\r\n\r\n styleString: string;\r\n\r\n _filterText = \"\";\r\n applyFilter(filterValue: string) {\r\n this.data.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n do(name, item) {\r\n\r\n let resp = new ActionResponse();\r\n resp.name = name;\r\n resp.value = item;\r\n this.buttonClick.emit(resp);\r\n }\r\n\r\n\r\n create(){\r\n this.createClick.emit();\r\n }\r\n\r\n load(){\r\n this.loadClick.emit();\r\n }\r\n\r\n test(a:any, op: Operator, b: any){\r\n\r\n if (op == Operator.Equal){\r\n if (a == b){\r\n return true;\r\n }else{\r\n return false;\r\n }\r\n\r\n }\r\n\r\n if (op == Operator.Greater) {\r\n if (a > b) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n\r\n }\r\n\r\n if (op == Operator.Less) {\r\n if (a < b) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n\r\n }\r\n\r\n if (op == Operator.NotEqual) {\r\n if (a != b) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Tile } from '../../classes/Classes';\r\n\r\n\r\n@Component({\r\n selector: 'spa-tiles',\r\n templateUrl: './tiles.component.html',\r\n styleUrls: ['./tiles.component.css']\r\n})\r\nexport class TilesComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @Input() tiles: Tile[];\r\n\r\n @Input() clickable: boolean = false;\r\n @Output() tileClick = new EventEmitter();\r\n\r\n selected: string = \"\";\r\n\r\n clicked(v: Tile){\r\n\r\n if(!this.clickable) return;\r\n\r\n\r\n if(this.selected == v.tileName){\r\n this.tileClick.emit(\"\");\r\n this.selected = \"\";\r\n }else{\r\n this.tileClick.emit(v.tileName);\r\n this.selected = v.tileName;\r\n }\r\n\r\n\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit, Output } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { EventEmitter } from 'protractor';\r\nimport { Core } from \"tin-core\";\r\n\r\n@Component({\r\n selector: 'spa-date',\r\n templateUrl: './date.component.html',\r\n styleUrls: ['./date.component.css']\r\n})\r\nexport class DateComponent implements OnInit {\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @Input() date = new FormControl(new Date());\r\n @Input() display = \"\";\r\n @Input() readonly = false;\r\n\r\n currentYear = new Date().getFullYear();\r\n @Input() min = new FormControl(new Date(this.currentYear - 50, 0, 1));\r\n @Input() max = new FormControl(new Date(this.currentYear + 50, 0, 1));\r\n\r\n // @Output() dateChange = new EventEmitter();\r\n\r\n\r\n // minDate: Date = new Date(this.currentYear, 2, 2);\r\n // maxDate: Date = new Date(this.currentYear, 2, 10);\r\n\r\n\r\n onChangeEvent(d){\r\n // this.dateChange.emit(d);\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Observable } from 'rxjs';\r\nimport { map, startWith } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'spa-text',\r\n templateUrl: './text.component.html',\r\n styleUrls: ['./text.component.css']\r\n})\r\nexport class TextComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n\r\n if(this.options.length > 0){\r\n this.initFilter();\r\n }\r\n\r\n if (this.placeholder == \"\") {\r\n this.placeholder = this.display;\r\n }\r\n\r\n }\r\n\r\n ngAfterViewInit(){\r\n\r\n if (this.readonly) {\r\n this.control.setValidators(null);\r\n this.control.updateValueAndValidity();\r\n }\r\n if (!this.required && !this.readonly){\r\n\r\n this.control.setValidators([Validators.minLength(this.min), Validators.maxLength(this.max), Validators.pattern(this.regex)]);\r\n this.control.updateValueAndValidity();\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n // options: FormGroup;\r\n hideRequiredControl = new FormControl(true);\r\n\r\n @Input() readonly = false;\r\n @Input() hint = \"\";\r\n @Input() display = \"\";\r\n @Input() placeholder = \"\";\r\n @Input() value = \"\";\r\n @Output() valueChange = new EventEmitter();\r\n @Input() format = \"text\";\r\n\r\n @Output() leave = new EventEmitter();\r\n @Output() enterPress = new EventEmitter();\r\n\r\n @Input() rows = \"\";\r\n @Input() width = \"100%\"\r\n\r\n\r\n //Autocomplete items\r\n @Input() options: any = [];\r\n @Input() optionValue = \"\";\r\n @Input() optionDisplay = \"\";\r\n\r\n myControl = new FormControl();\r\n filteredOptions: Observable<string[]>;\r\n\r\n private initFilter() {\r\n this.filteredOptions = this.myControl.valueChanges.pipe(\r\n startWith(\"\"),\r\n map((value) => this._filter(value))\r\n );\r\n }\r\n\r\n private _filter(value: string): string[] {\r\n const filterValue = value.toLowerCase();\r\n\r\n return this.options.filter((option) => option[`${this.optionDisplay}`].toLowerCase().includes(filterValue));\r\n }\r\n\r\n\r\n\r\n\r\n\r\n //validations\r\n @Input() required = true;\r\n @Input() min = 0;\r\n @Input() max = 9000000000000000; //Math.max\r\n @Input() regex = \"\" //\"[a-zA-Z ]*\" //\"/\\S+@\\S+\\.\\S+/\";\r\n\r\n changed(){\r\n // console.log(\"value: \" + this.value)\r\n // console.log(\"cont: \" + this.myControl.value)\r\n\r\n // if (this.options.length > 0) {\r\n // this.value = this.myControl.value;\r\n // }\r\n\r\n this.valueChange.emit(this.value);\r\n\r\n }\r\n\r\n changed2() {\r\n // console.log(\"value: \" + this.value)\r\n // console.log(\"cont: \" + this.myControl.value)\r\n\r\n // if (this.options.length > 0) {\r\n // this.value = this.myControl.value;\r\n // }\r\n\r\n this.valueChange.emit(this.myControl.value);\r\n\r\n }\r\n\r\n leaved(){\r\n this.leave.emit();\r\n }\r\n\r\n enterPressed() {\r\n this.enterPress.emit();\r\n }\r\n\r\n control = new FormControl( this.value, [Validators.required, Validators.minLength(this.min), Validators.maxLength(this.max), Validators.pattern(this.regex) ]);\r\n\r\n validate() : string{\r\n\r\n\r\n if ((this.required || this.min > 0) && this.control.hasError('required') ){\r\n return `Required`;\r\n }\r\n\r\n if (this.control.hasError('minlength') ){\r\n return `Minimun length is ${this.min}`;\r\n }\r\n\r\n if (this.control.hasError('maxlength')) {\r\n return `Maximum length is ${this.max}`;\r\n }\r\n\r\n if (this.control.hasError('pattern')) {\r\n return `Invalid Input`;\r\n }\r\n\r\n\r\n // if (this.regex != \"\"){\r\n\r\n // let r = new RegExp(this.regex, \"g\");\r\n\r\n // if (!r.test(this.value)){\r\n // this.valid = false;\r\n // this.errorMessage = \"Invalid input\";\r\n // return this.errorMessage;\r\n // }\r\n // }\r\n\r\n return \"\";\r\n }\r\n\r\n}\r\n","//-------------------------------------------EDIT\r\n\r\nimport { Component, OnInit, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { HttpService } from 'tin-core';\r\n\r\n@Component({\r\n selector: 'app-editRequest',\r\n templateUrl: './viewerDialog.component.html',\r\n styleUrls: ['./viewer.component.css']\r\n})\r\nexport class viewerDialog implements OnInit {\r\n\r\n constructor(private httpService: HttpService, @Inject(MAT_DIALOG_DATA) public data) { }\r\n\r\n ngOnInit() {\r\n\r\n this.fileNames = this.data.fileNames;\r\n this.path = this.data.path;\r\n this.fileName = this.data.fileName;\r\n this.currIndex = this.data.fileNames.indexOf(this.fileName);\r\n this.setURL();\r\n\r\n }\r\n\r\n isProcessing: boolean = false;\r\n\r\n path: string;\r\n fileNames = new Array();\r\n fileName: string;\r\n currIndex = 0;\r\n\r\n currentFileUrl = \"\";\r\n\r\n\r\n previous() {\r\n\r\n if (this.fileNames.length == 0) {\r\n return;\r\n }\r\n\r\n if (this.currIndex -1 >= 0)\r\n {\r\n this.currIndex = this.currIndex - 1;\r\n }\r\n else if (this.currIndex == 0)\r\n {\r\n this.currIndex = this.fileNames.length -1;\r\n }\r\n\r\n this.setURL();\r\n\r\n }\r\n\r\n next() {\r\n\r\n if (this.fileNames.length == 0){\r\n return;\r\n }\r\n\r\n if (this.currIndex +1 < this.fileNames.length)\r\n {\r\n this.currIndex = this.currIndex + 1;\r\n }\r\n else if (this.currIndex +1 > this.fileNames.length -1)\r\n {\r\n this.currIndex = 0;\r\n }\r\n\r\n this.setURL();\r\n\r\n }\r\n\r\n imageDoc = false;\r\n setURL() {\r\n // this.currentFileUrl = this.httpService.apiUrl.replace(\"/api/\", \"/files/\") + '' + \"/\" + this.files[this.currIndex];\r\n\r\n this.currentFileUrl = `${this.httpService.apiUrl.replace(\"/api/\", \"/\")}${this.path.replace(\"//\", \"/\")}/${this.fileNames[this.currIndex]}` ;\r\n\r\n if (this.currentFileUrl.toLocaleLowerCase().endsWith(\".pdf\") || this.currentFileUrl.toLocaleLowerCase().endsWith(\".jpg\") || this.currentFileUrl.toLocaleLowerCase().endsWith(\".jpeg\")){\r\n this.imageDoc = true;\r\n }else{\r\n this.imageDoc = false\r\n window.open(this.currentFileUrl, '_blank');\r\n\r\n }\r\n\r\n }\r\n\r\n change(fileName){\r\n\r\n this.currIndex = this.fileNames.indexOf(fileName);\r\n this.setURL();\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { viewerDialog } from './viewerDialog.component';\r\n\r\n@Component({\r\n selector: 'spa-viewer',\r\n templateUrl: './viewer.component.html',\r\n styleUrls: ['./viewer.component.css']\r\n})\r\nexport class ViewerComponent implements OnInit {\r\n\r\n constructor(public dialog: MatDialog) { }\r\n\r\n ngOnInit(): void {\r\n // console.log(`${this.dir}/${this.folderName}`)\r\n }\r\n\r\n\r\n @Input() dir = \"\";\r\n @Input() folderName=\"\";\r\n @Input() fileNames = new Array()\r\n @Input() removable = false;\r\n @Output() remove = new EventEmitter();\r\n @Input() display = \"Documents\";\r\n @Input() title = \"Documents\";\r\n\r\n // fileList: string[];\r\n\r\n\r\n viewDocs(fileName: string) {\r\n\r\n if (typeof fileName != 'string') {\r\n return;\r\n }\r\n\r\n\r\n // console.log(\"opening doc: \" + fileName)\r\n\r\n const dialogRef = this.dialog.open(viewerDialog, {\r\n minWidth: '1500px',\r\n maxWidth: '80vw',\r\n\r\n data: { fileNames: this.fileNames, fileName: fileName, path:`${this.dir}/${this.folderName}` }\r\n });\r\n\r\n }\r\n\r\n removed(i){\r\n this.remove.emit(i);\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'spa-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.css']\r\n})\r\nexport class SelectComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n // this.displayValue = this.options.filter((m) => m.optionValue == this.value)\r\n // console.log(this.displayValue)\r\n // this.displayValue = this.value\r\n }\r\n\r\n ngOnChanges() {\r\n\r\n if (this.readonlyMode != \"\" && this.options.length > 0){\r\n this.displayValue = this.options.filter((m) => m[`${this.optionValue}`] == this.value)[0][`${this.optionDisplay}`]\r\n }\r\n\r\n }\r\n\r\n displayValue;\r\n\r\n @Input() width = \"100%\"\r\n @Input() readonly = false;\r\n @Input() readonlyMode = \"\";\r\n @Input() hint = \"\";\r\n\r\n\r\n @Input() display = \"\";\r\n @Input() value = \"\";\r\n @Input() options: any;\r\n @Input() optionValue = \"\";\r\n @Input() optionDisplay = \"\";\r\n @Input() optionDisplayExtra = \"\";\r\n\r\n @Output() valueChange = new EventEmitter();\r\n\r\n\r\n\r\n changed(){\r\n this.valueChange.emit(this.value);\r\n\r\n }\r\n\r\n selectChanged(){\r\n\r\n }\r\n\r\n}\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'spa-check',\r\n templateUrl: './check.component.html',\r\n styleUrls: ['./check.component.css']\r\n})\r\nexport class CheckComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @Input() readonly = false;\r\n @Input() display = \"\";\r\n @Input() value = false;\r\n @Output() valueChange = new EventEmitter();\r\n @Output() click = new EventEmitter();\r\n @Output() check = new EventEmitter();\r\n @Output() uncheck = new EventEmitter();\r\n\r\n changed(){\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n clicked(){\r\n this.click.emit();\r\n\r\n if(!this.value){\r\n this.checked();\r\n }else{\r\n this.unchecked();\r\n }\r\n }\r\n\r\n checked(){\r\n this.check.emit();\r\n }\r\n unchecked(){\r\n this.uncheck.emit();\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'spa-attach',\r\n templateUrl: './attach.component.html',\r\n styleUrls: ['./attach.component.scss']\r\n})\r\nexport class AttachComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @Input() message = \"Drag and drop files here\"\r\n @Input() files: any[] = [];\r\n @Output() filesChange = new EventEmitter();\r\n @Output() upload = new EventEmitter();\r\n\r\n\r\n @Input() enableUpload = false;\r\n\r\n\r\n /**\r\n * on file drop handler\r\n */\r\n onFileDropped($event) {\r\n this.prepareFilesList($event);\r\n }\r\n\r\n /**\r\n * handle file from browsing\r\n */\r\n fileBrowseHandler(files) {\r\n this.prepareFilesList(files);\r\n }\r\n\r\n /**\r\n * Delete file from files list\r\n * @param index (File index)\r\n */\r\n deleteFile(index: number) {\r\n this.files.splice(index, 1);\r\n }\r\n\r\n /**\r\n * Simulate the upload process\r\n */\r\n // uploadFilesSimulator(index: number) {\r\n // setTimeout(() => {\r\n // if (index === this.files.length) {\r\n // return;\r\n // } else {\r\n // const progressInterval = setInterval(() => {\r\n // if (this.files[index].progress === 100) {\r\n // clearInterval(progressInterval);\r\n // this.uploadFilesSimulator(index + 1);\r\n // } else {\r\n // this.files[index].progress += 5;\r\n // }\r\n // }, 200);\r\n // }\r\n // }, 1000);\r\n // }\r\n\r\n /**\r\n * Convert Files list to normal array list\r\n * @param files (Files List)\r\n */\r\n prepareFilesList(files: Array<any>) {\r\n for (const item of files) {\r\n item.progress = 0;\r\n this.files.push(item);\r\n }\r\n // this.uploadFilesSimulator(0);\r\n }\r\n\r\n /**\r\n * format bytes\r\n * @param bytes (File size in bytes)\r\n * @param decimals (Decimals point)\r\n */\r\n formatBytes(bytes, decimals) {\r\n if (bytes === 0) {\r\n return '0 Bytes';\r\n }\r\n const k = 1024;\r\n const dm = decimals <= 0 ? 0 : decimals || 2;\r\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\r\n const i = Math.floor(Math.log(bytes) / Math.log(k));\r\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\r\n }\r\n\r\n uploaded(){\r\n this.upload.emit();\r\n }\r\n\r\n filesChanged(){\r\n this.filesChange.emit(this.files);\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'spa-datetime',\r\n templateUrl: './datetime.component.html',\r\n styleUrls: ['./datetime.component.css']\r\n})\r\nexport class DatetimeComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @Input() display = \"\";\r\n @Input() value = \"\";\r\n @Output() valueChange = new EventEmitter();\r\n @Input() readonly = false;\r\n\r\n @Input() min = \"01 jan 1900\";\r\n\r\n @Input() max = \"31 dec 9999\";\r\n\r\n changed() {\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n// import { CurrencyPipe } from '@angular/common';\r\nimport { Core } from 'tin-core';\r\n\r\n@Component({\r\n selector: 'spa-money',\r\n templateUrl: './money.component.html',\r\n styleUrls: ['./money.component.css']\r\n})\r\nexport class MoneyComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n\r\n\r\n }\r\n\r\n ngOnChanges() {\r\n\r\n }\r\n\r\n @Input() readonly = false;\r\n @Input() display = \"\";\r\n @Input() value = \"\";\r\n @Output() valueChange = new EventEmitter();\r\n\r\n @Input() width = \"100%\"\r\n @Input() hint = \"\";\r\n @Input() currency = \"$\";\r\n\r\n\r\n\r\n\r\n\r\n changed(){\r\n\r\n this.valueChange.emit(this.value);\r\n\r\n }\r\n\r\n\r\n}\r\n","import {\r\n Directive,\r\n Output,\r\n Input,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appDnd]'\r\n})\r\nexport class DndDirective {\r\n @HostBinding('class.fileover') fileOver: boolean;\r\n @Output() fileDropped = new EventEmitter<any>();\r\n\r\n // Dragover listener\r\n @HostListener('dragover', ['$event']) onDragOver(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.fileOver = true;\r\n }\r\n\r\n // Dragleave listener\r\n @HostListener('dragleave', ['$event']) public onDragLeave(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.fileOver = false;\r\n }\r\n\r\n // Drop listener\r\n @HostListener('drop', ['$event']) public ondrop(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.fileOver = false;\r\n let files = evt.dataTransfer.files;\r\n if (files.length > 0) {\r\n this.fileDropped.emit(files);\r\n }\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { MessageService } from '../../services/message.service';\r\n@Component({\r\n selector: 'spa-chips',\r\n templateUrl: './chips.component.html',\r\n styleUrls: ['./chips.component.css']\r\n})\r\nexport class ChipsComponent implements OnInit {\r\n\r\n constructor(private messageService: MessageService) { }\r\n\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n\r\n @Input() icon = \"\";\r\n @Input() removable = false;\r\n @Input() addable = false;\r\n\r\n\r\n\r\n @Input() chips: string[];\r\n // @Output() chipClick = new EventEmitter();\r\n\r\n @Output() click = new EventEmitter();\r\n\r\n @Output() remove = new EventEmitter();\r\n\r\n clicked(chip: string) {\r\n\r\n console.log(\"Clicked chip: \" + chip)\r\n\r\n if (typeof chip != 'string') {\r\n return;\r\n }\r\n\r\n if (chip) {\r\n this.click.emit(chip);\r\n }\r\n }\r\n\r\n\r\n removed(chip) {\r\n\r\n // const index = this.chips.indexOf(chip);\r\n\r\n // if (index >= 0) {\r\n // this.chips.splice(index, 1);\r\n // }\r\n\r\n this.messageService.confirm(`Remove ${chip} ?`).subscribe((result) => {\r\n if (result == \"yes\") {\r\n\r\n this.remove.emit(chip);\r\n\r\n };\r\n });\r\n\r\n }\r\n\r\n}\r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'spa-activity',\r\n templateUrl: './activity.component.html',\r\n styleUrls: ['./activity.component.css']\r\n})\r\nexport class ActivityComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @Input() notes = new Array();\r\n notesMessage: string = \"Empty\";\r\n @Input() title = \"Notes\"\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\r\n\r\n@Component({\r\n selector: 'spa-html',\r\n templateUrl: './html.component.html',\r\n styleUrls: ['./html.component.css']\r\n})\r\nexport class HtmlComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @Input() value = \"\";\r\n @Output() valueChange = new EventEmitter();\r\n @Input() readonly = false;\r\n\r\n changed() {\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n ngOnChanges() {\r\n // console.log(\"OnChange\")\r\n this.config.editable = !this.readonly;\r\n\r\n }\r\n\r\n @Input() config: AngularEditorConfig = {\r\n editable: true,\r\n spellcheck: true,\r\n height: 'auto',\r\n minHeight: '5rem',\r\n placeholder: 'Enter text here...',\r\n translate: 'no',\r\n defaultParagraphSeparator: '',\r\n defaultFontName: 'Arial',\r\n toolbarHiddenButtons: [\r\n [\r\n 'bold',\r\n 'italic',\r\n 'underline',\r\n 'strikeThrough',\r\n 'subscript',\r\n 'superscript',\r\n 'justifyLeft',\r\n 'justifyCenter',\r\n 'justifyRight',\r\n 'justifyFull',\r\n 'indent',\r\n 'outdent',\r\n 'insertUnorderedList',\r\n 'insertOrderedList',\r\n 'heading',\r\n 'fontName'\r\n ],\r\n [\r\n 'fontSize',\r\n 'textColor',\r\n 'backgroundColor',\r\n 'customClasses',\r\n 'link',\r\n 'unlink',\r\n 'insertImage',\r\n 'insertVideo',\r\n 'insertHorizontalRule',\r\n 'removeFormat',\r\n 'toggleEditorMode'\r\n ]\r\n ],\r\n customClasses: [\r\n {\r\n name: \"quote\",\r\n class: \"quote\",\r\n },\r\n {\r\n name: 'redText',\r\n class: 'redText'\r\n },\r\n {\r\n name: \"titleText\",\r\n class: \"titleText\",\r\n tag: \"h1\",\r\n },\r\n ]\r\n };\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'spa-option',\r\n templateUrl: './option.component.html',\r\n styleUrls: ['./option.component.css']\r\n})\r\nexport class OptionComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n\r\n\r\n @Input() options: any;\r\n @Input() optionValue = \"\";\r\n @Input() optionDisplay = \"\";\r\n @Input() readonly = false;\r\n\r\n @Input() value = \"\";\r\n @Input() display = \"\";\r\n @Input() show: boolean = false;\r\n\r\n\r\n @Output() valueChange = new EventEmitter();\r\n @Output() enterPress = new EventEmitter();\r\n\r\n changed() {\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n enterPressed(){\r\n this.valueChange.emit();\r\n }\r\n\r\n resetValue(){\r\n this.value = \"\";\r\n this.changed();\r\n\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'spa-label',\r\n templateUrl: './label.component.html',\r\n styleUrls: ['./label.component.css']\r\n})\r\nexport class LabelComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @Input() display = \"\";\r\n @Input() value = \"\";\r\n @Input() format = \"text\";\r\n\r\n}\r\n","import { AfterViewInit, Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { MatStepper } from '@angular/material/stepper';\r\nimport { STEPPER_GLOBAL_OPTIONS } from '@angular/cdk/stepper';\r\nimport { Step } from '../../classes/Classes';\r\n\r\n@Component({\r\n selector: 'spa-steps',\r\n templateUrl: './steps.component.html',\r\n styleUrls: ['./steps.component.css'],\r\n providers: [{\r\n provide: STEPPER_GLOBAL_OPTIONS, useValue: { displayDefaultIndicatorType: false }\r\n }]\r\n})\r\nexport class StepsComponent implements OnInit, AfterViewInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n }\r\n\r\n ngOnChanges() {\r\n // console.log(\"OnChange\")\r\n this.pushSteps();\r\n }\r\n\r\n @ViewChild('stepper') stepper: MatStepper;\r\n @Input() value = \"\";\r\n @Input() steps: Step[];\r\n\r\n setStepper() {\r\n\r\n if (this.value == \"\") return;\r\n\r\n // console.log(this.value)\r\n\r\n // this.stepper.disableRipple = true;\r\n this.stepper.selectedIndex = 0;\r\n\r\n switch (this.value) {\r\n\r\n\r\n\r\n case \"Draft\":\r\n this.stepper.selectedIndex = 0;\r\n break;\r\n\r\n case \"Head Approval\":\r\n this.pushStepper(1)\r\n break;\r\n\r\n case \"CE Approval\":\r\n this.pushStepper(2)\r\n break;\r\n\r\n case \"Booking\":\r\n this.pushStepper(3)\r\n break;\r\n\r\n case \"BTA Approval\":\r\n this.pushStepper(4)\r\n break;\r\n\r\n case \"Travel\":\r\n this.pushStepper(5)\r\n break;\r\n\r\n case \"BTR Approval\":\r\n this.pushStepper(6)\r\n break;\r\n\r\n case \"Travel Closure\":\r\n this.pushStepper(7)\r\n break;\r\n\r\n }\r\n\r\n }\r\n\r\n pushStepper(count: number) {\r\n\r\n for (let index = 0; index < count + 1; index++) {\r\n // const element = array[index];\r\n this.stepper.selectedIndex = index;\r\n // console.log(\"pushed\")\r\n\r\n }\r\n\r\n }\r\n\r\n pushSteps(){\r\n\r\n if(this.steps.length == 0) return;\r\n if (this.value == \"\") return;\r\n this.stepper.selectedIndex = 0;\r\n\r\n\r\n let i = 0;\r\n\r\n for (let step of this.steps) {\r\n\r\n if (step.name != this.value) {\r\n\r\n this.stepper.selectedIndex = i;\r\n i++;\r\n\r\n } else {\r\n\r\n this.stepper.selectedIndex = i;\r\n // console.log(\"Stopped\")\r\n break;\r\n\r\n }\r\n }\r\n\r\n }\r\n\r\n}\r\n","import { LoaderComponent } from './components/loader/loader.component';\r\nimport { SpaMatModule } from \"./modules/spa-mat.module\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { LoaderInterceptor } from './services/loader-interceptor.service';\r\nimport { NgIdleKeepaliveModule } from '@ng-idle/keepalive';\r\nimport { MomentModule } from 'angular2-moment';\r\nimport { NgxDocViewerModule } from 'ngx-doc-viewer';\r\n\r\nimport { TinSpaComponent } from \"./components/tin-spa.component\";\r\nimport { NavMenuComponent } from \"./components/nav-menu/nav-menu.component\";\r\nimport { messageDialog } from \"./components/message/messageDialog.component\";\r\nimport { TimeoutComponent } from './components/timeout/timeout.component';\r\nimport { HashLocationStrategy, LocationStrategy } from '@angular/common';\r\nimport { TableComponent } from './components/table/table.component';\r\nimport { TilesComponent } from './components/tiles/tiles.component';\r\nimport { DateComponent } from './components/date/date.component';\r\nimport { TextComponent } from './components/text/text.component';\r\nimport { ViewerComponent } from './components/viewer/viewer.component';\r\nimport { SelectComponent } from './components/select/select.component';\r\nimport { CheckComponent } from './components/check/check.component';\r\nimport { AttachComponent } from './components/attach/attach.component';\r\nimport { DatetimeComponent } from './components/datetime/datetime.component';\r\nimport { MoneyComponent } from './components/money/money.component';\r\nimport { DndDirective } from './dnd.directive';\r\nimport { ChipsComponent } from './components/chips/chips.component';\r\nimport { ActivityComponent } from './components/activity/activity.component';\r\nimport { viewerDialog } from './components/viewer/viewerDialog.component';\r\nimport { HtmlComponent } from './components/html/html.component';\r\nimport { AngularEditorModule } from '@kolkov/angular-editor';\r\nimport { OptionComponent } from './components/option/option.component';\r\nimport { LabelComponent } from './components/label/label.component';\r\nimport { StepsComponent } from './components/steps/steps.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [DndDirective,TinSpaComponent, messageDialog, NavMenuComponent, LoaderComponent,\r\n TimeoutComponent, TableComponent, TilesComponent, DateComponent, TextComponent,\r\n ViewerComponent, SelectComponent, CheckComponent, AttachComponent, DatetimeComponent,\r\n MoneyComponent,\r\n ChipsComponent,\r\n ActivityComponent, viewerDialog, HtmlComponent, OptionComponent, LabelComponent, StepsComponent ],\r\n\r\n entryComponents: [messageDialog],\r\n\r\n imports: [\r\n ReactiveFormsModule.withConfig({ warnOnNgModelWithFormControl: \"never\" }),\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n SpaMatModule,\r\n MomentModule,\r\n NgxDocViewerModule,\r\n AngularEditorModule,\r\n\r\n NgIdleKeepaliveModule.forRoot()\r\n ],\r\n\r\n exports: [\r\n CommonModule,\r\n FormsModule,\r\n SpaMatModule,\r\n TinSpaComponent,\r\n messageDialog,\r\n NavMenuComponent,\r\n LoaderComponent,\r\n TimeoutComponent,\r\n TableComponent,\r\n TilesComponent,\r\n DateComponent,\r\n ViewerComponent,\r\n SelectComponent,\r\n TextComponent,\r\n DatetimeComponent,\r\n CheckComponent,\r\n AttachComponent,\r\n MoneyComponent,\r\n ChipsComponent,\r\n ActivityComponent,\r\n HtmlComponent,\r\n OptionComponent,\r\n LabelComponent,\r\n StepsComponent\r\n\r\n ],\r\n\r\n providers: [\r\n\r\n { provide: HTTP_INTERCEPTORS, useClass: LoaderInterceptor, multi: true },\r\n { provide: LocationStrategy, useClass: HashLocationStrategy}\r\n ],\r\n})\r\nexport class TinSpaModule {}\r\n","//-----------------Change for Build and Reference purposes for SERVICES ONLY---------//\r\nimport { HttpService, ApiResponse, Core, Constants } from \"tin-core\";\r\n// import { HttpService,ApiResponse, Core, Constants } from 'tin-core';\r\n//----------------------------------------------------------------------------------//\r\nimport { MessageService } from \"../../services/message.service\";\r\nimport { StorageService } from \"../../services/storage.service\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { Component, OnInit, Input } from \"@angular/core\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { DataService } from \"../../services/data.service\";\r\nimport { LogService } from \"./../../services/log.service\";\r\n// import { AuthService } from \"../services/auth.service\";\r\n// import { ApiResponse, Core } from \"../classes/TinCore\";\r\nimport { User, loginConfig, AppConfig } from \"../../classes/Classes\";\r\nimport { CurrencyPipe } from \"@angular/common\";\r\n// import { StorageService } from \"../services/storage.service\";\r\n// import { Constants } from \"../../classes/TinSpa\";\r\nimport { HttpErrorResponse } from \"@angular/common/http\";\r\n\r\n@Component({\r\n selector: \"spa-login\",\r\n templateUrl: \"./login.component.html\",\r\n styleUrls: [\"./login.component.scss\"],\r\n})\r\nexport class LoginComponent implements OnInit {\r\n constructor(\r\n private httpService: HttpService,\r\n private storageService: StorageService,\r\n public router: Router,\r\n private messageService: MessageService,\r\n private dataService: DataService,\r\n public authService: AuthService,\r\n private logService: LogService\r\n ) {}\r\n\r\n public user = new User();\r\n hide = true;\r\n isProcessing: boolean = false;\r\n @Input() config: loginConfig;\r\n\r\n ngOnInit() {\r\n this.authService.updateloggedin(false);\r\n this.authService.updateRole(null);\r\n this.storageService.clear();\r\n }\r\n\r\n @Input() appConfig = new AppConfig();\r\n\r\n public signup() {\r\n this.router.navigate([\"signup\"]);\r\n }\r\n\r\n public recoverAccount() {\r\n this.router.navigate([\"recover-account\"]);\r\n }\r\n\r\n public login() {\r\n\r\n if (this.user.userID == \"\" || this.user.password == \"\") {\r\n this.messageService.toast(\"Please enter your credentials\");\r\n return;\r\n }\r\n\r\n\r\n this.logService.info(\"logging in\");\r\n\r\n this.isProcessing = true;\r\n\r\n this.dataService.login(this.user).subscribe(\r\n (apiResponse: ApiResponse) => {\r\n this.isProcessing = false;\r\n\r\n if (apiResponse.message == \"success\") {\r\n\r\n\r\n if (apiResponse.ds.dtUser[0][\"authType\"] == 'local' && !this.appConfig.localAuth){\r\n this.messageService.toast(\"Contact Admin: Authentication Type error\");\r\n return;\r\n }\r\n\r\n if (apiResponse.ds.dtUser[0][\"authType\"] == 'AD' && !this.appConfig.ADAuth) {\r\n this.messageService.toast(\"Contact Admin: Authentication Type error\");\r\n return;\r\n }\r\n\r\n\r\n this.authService.updateloggedin(true);\r\n\r\n this.authService.updateToken(apiResponse.ds.dtUser[0][\"token\"]);\r\n this.storageService.store(Constants.AUTH_TOKEN, apiResponse.ds.dtUser[0][\"token\"]);\r\n\r\n this.authService.updateTokenExpire(apiResponse.ds.dtUser[0][\"tokenExpire\"]);\r\n this.storageService.store(Constants.AUTH_TOKEN_EXPIRE, apiResponse.ds.dtUser[0][\"tokenExpire\"]);\r\n\r\n this.authService.updateCurrentUser(this.user.userID);\r\n this.storageService.store(Constants.AUTH_USER, this.user.userID);\r\n\r\n this.authService.updateLoggedUserFullName( apiResponse.ds.dtProfile[0][\"firstName\"] );\r\n this.storageService.store(Constants.AUTH_NAME, apiResponse.ds.dtProfile[0][\"firstName\"]\r\n );\r\n\r\n this.authService.updateRole(apiResponse.ds.dtRole[0]);\r\n this.storageService.store(Constants.AUTH_ROLES, JSON.stringify(apiResponse.ds.dtRole[0]));\r\n // this.setRole(apiResponse.dt[0][\"accessLevel\"]);\r\n\r\n // this.setRole(\"1\");\r\n\r\n if (apiResponse.ds.dtUser[0][\"changePassword\"] == \"0\") {\r\n this.router.navigate([\"home\"]);\r\n // this.messageService.toast(\"Welcome\");\r\n this.logService.info(\"logged in\");\r\n } else {\r\n this.router.navigate([\"home/user/change-password\"]);\r\n }\r\n\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n this.user.password = \"\";\r\n }\r\n },\r\n (error) => {\r\n this.isProcessing = false;\r\n\r\n this.messageService.toast(this.httpService.Error(error));\r\n }\r\n );\r\n }\r\n\r\n setRole(roleID: string) {\r\n this.dataService\r\n .GetRole(\"id\", roleID)\r\n .subscribe((apiResponse: ApiResponse) => {\r\n this.authService.updateRole(apiResponse.dt[0]);\r\n\r\n this.storageService.store(\r\n Constants.AUTH_ROLES,\r\n JSON.stringify(apiResponse.dt[0])\r\n );\r\n });\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { HttpService, ApiResponse } from 'tin-core';\r\nimport { MessageService } from '../../services/message.service';\r\nimport { DataService } from '../../services/data.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { User, Profile, Account } from '../../classes/Classes';\r\n\r\n@Component({\r\n selector: 'spa-signup',\r\n templateUrl: './signup.component.html',\r\n styleUrls: ['./signup.component.css']\r\n})\r\nexport class SignupComponent implements OnInit {\r\n\r\n\r\n constructor(private httpService: HttpService, private messageService: MessageService, private dataService: DataService, private authService: AuthService,) { }\r\n\r\n ngOnInit() {\r\n\r\n this.account.user = this.user;\r\n this.account.profile = this.profile;\r\n }\r\n\r\n isProcessing: boolean = false;\r\n user = new User();\r\n profile = new Profile();\r\n\r\n account = new Account();\r\n\r\n confirmPassword: string;\r\n\r\n\r\ncreate(){\r\n\r\n this.profile.userID = this.user.userID;\r\n\r\n this.isProcessing = true;\r\n this.dataService.UpdateAccount(this.account,\"add\").subscribe(\r\n (apiResponse: ApiResponse) => {\r\n this.isProcessing = false;\r\n\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"Account Created\");\r\n\r\n this.user = new User();\r\n this.profile = new Profile();\r\n\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n },\r\n (error) => {\r\n this.isProcessing = false;\r\n this.messageService.toast(this.httpService.Error(error));\r\n }\r\n );\r\n}\r\n\r\n\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { DataService } from '../../services/data.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { MessageService } from '../../services/message.service';\r\nimport { User } from '../../classes/Classes';\r\nimport { ApiResponse } from 'tin-core';\r\nimport { Location } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'spa-recover-account',\r\n templateUrl: './recover-account.component.html',\r\n styleUrls: ['./recover-account.component.css']\r\n})\r\nexport class RecoverAccountComponent implements OnInit {\r\n\r\n constructor(private location: Location, private dataService: DataService, public authService: AuthService, private messageService: MessageService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n userID: string = \"\";\r\n\r\n recover(){\r\n\r\n\r\n if (this.userID == \"\") {\r\n\r\n this.messageService.toast(\"Please enter your userID\");\r\n return;\r\n } else {\r\n let u = new User();\r\n u.userID = this.userID;\r\n\r\n this.dataService.SelfReset(u).subscribe((apiResponse: ApiResponse) => {\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"The password has been sent to your email\");\r\n this.location.back();\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n });\r\n }\r\n }\r\n\r\n\r\n}\r\n","import { SpaMatModule } from \"./spa-mat.module\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { LoginComponent } from \"../components/login/login.component\";\r\nimport { SignupComponent } from \"../components/signup/signup.component\";\r\nimport { RecoverAccountComponent } from \"../components/recover-account/recover-account.component\";\r\n\r\n@NgModule({\r\n declarations: [LoginComponent, SignupComponent, RecoverAccountComponent],\r\n\r\n entryComponents: [],\r\n\r\n imports: [\r\n ReactiveFormsModule.withConfig({ warnOnNgModelWithFormControl: \"never\" }),\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n SpaMatModule,\r\n ],\r\n\r\n exports: [\r\n CommonModule,\r\n FormsModule,\r\n SpaMatModule,\r\n LoginComponent,\r\n SignupComponent,\r\n RecoverAccountComponent,\r\n ],\r\n})\r\nexport class SpaIndexModule {}\r\n","\r\nimport { ChangeUserPassword } from './../../classes/Classes';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { MessageService } from '../../services/message.service';\r\nimport { DataService } from '../../services/data.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { ApiResponse, HttpService } from 'tin-core';\r\nimport { Location } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'spa-change-password',\r\n templateUrl: './change-password.component.html',\r\n styleUrls: ['./change-password.component.css']\r\n})\r\nexport class ChangePasswordComponent implements OnInit {\r\n\r\n constructor(private location: Location, private httpService: HttpService,private messageService: MessageService, public dataService: DataService, private authService: AuthService) { }\r\n\r\n ngOnInit() {\r\n this.myRole = this.authService.currentRoleSource.value\r\n\r\n if (this.dataService.tmpProfileUserID==\"\"){\r\n this.changePassword.userID = this.authService.currentUser;\r\n\r\n }else{\r\n this.changePassword.userID = this.dataService.tmpProfileUserID;\r\n this.dataService.tmpProfileUserID = \"\";\r\n }\r\n\r\n // console.log(this.myRole)\r\n\r\n }\r\n\r\n myRole;\r\n\r\n\r\n\r\n\r\n\r\n isProcessing: boolean = false;\r\n\r\n changePassword = new ChangeUserPassword();\r\n\r\n public change() {\r\n\r\n\r\n if (!this.myRole[this.dataService.capUsers.name]){\r\n if (this.changePassword.currentPassword == \"\") {\r\n this.messageService.toast(\"Please enter current Password\");\r\n return;\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n if (this.changePassword.newPassword == \"\") {\r\n this.messageService.toast(\"Please enter new Password\");\r\n return;\r\n }\r\n\r\n if (this.changePassword.confirmPassword == \"\") {\r\n this.messageService.toast(\"Please confirm new Password\");\r\n return;\r\n }\r\n\r\n if (this.changePassword.confirmPassword != this.changePassword.newPassword ) {\r\n this.messageService.toast(\"Passwords do not match\");\r\n return;\r\n }\r\n\r\n this.isProcessing = true;\r\n\r\n if (this.myRole[this.dataService.capUsers.name]){\r\n\r\n this.dataService.changePasswordAdmin(this.changePassword).subscribe((apiResponse: ApiResponse) => {\r\n this.isProcessing = false;\r\n\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"Password Changed\");\r\n\r\n this.location.back();\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n }\r\n );\r\n\r\n }else{\r\n\r\n this.dataService.changePassword(this.changePassword).subscribe((apiResponse: ApiResponse) => {\r\n this.isProcessing = false;\r\n\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"Password Changed\");\r\n\r\n this.location.back();\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n }\r\n );\r\n\r\n }\r\n\r\n\r\n\r\n\r\n }\r\n\r\n\r\n}\r\n","import { AuthService } from './../../services/auth.service';\r\nimport { HttpService } from 'tin-core';\r\nimport { MessageService } from './../../services/message.service';\r\nimport { DataService } from './../../services/data.service';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { ApiResponse } from 'tin-core';\r\nimport { AppConfig, Profile } from '../../classes/Classes';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'spa-profile',\r\n templateUrl: './profile.component.html',\r\n styleUrls: ['./profile.component.css']\r\n})\r\nexport class ProfileComponent implements OnInit {\r\n isProcessing: boolean;\r\n\r\n constructor(public dataService: DataService, private messageService: MessageService, private httpService: HttpService, private router: Router, private authService: AuthService) { }\r\n\r\n ngOnInit() {\r\n\r\n this.myRole = this.authService.currentRoleSource.value\r\n\r\n // this.loadRoles();\r\n\r\n if (this.dataService.tmpProfileUserID==\"\"){\r\n this.loadProfile(this.authService.currentUser);\r\n\r\n }else{\r\n this.loadProfile(this.dataService.tmpProfileUserID);\r\n this.dataService.tmpProfileUserID = \"\";\r\n }\r\n\r\n\r\n // console.log(this.myRole);\r\n\r\n\r\n }\r\n\r\n myRole;\r\n @Input() appConfig = new AppConfig();\r\n\r\n\r\n selfProfile : boolean = false;\r\n\r\n profile = new Profile();\r\n roles;\r\n approvalRoles;\r\n employees;\r\n\r\n\r\n loadProfile(userID: string){\r\n\r\n let action = \"all\";\r\n\r\n if (this.appConfig.approvals && this.appConfig.employees){\r\n action = \"set\"\r\n }\r\n\r\n if (this.appConfig.approvals && !this.appConfig.employees){\r\n action = \"setapp\"\r\n }\r\n\r\n if (!this.appConfig.approvals && this.appConfig.employees){\r\n action = \"setemp\"\r\n }\r\n\r\n\r\n this.dataService.GetProfile(action, userID).subscribe(\r\n (apiResponse: ApiResponse) => {\r\n\r\n this.profile = apiResponse.ds.dtProfiles[0];\r\n\r\n if (this.profile.userID.toLocaleLowerCase() == this.authService.currentUser.toLocaleLowerCase()){\r\n this.selfProfile = true\r\n }\r\n\r\n //get more details\r\n this.roles = apiResponse.ds.dtRoles;\r\n this.approvalRoles = apiResponse.ds.dtApprovalRoles;\r\n this.employees = apiResponse.ds.dtEmployees;\r\n\r\n\r\n },\r\n (error) => {\r\n this.isProcessing = false;\r\n this.messageService.toast(this.httpService.Error(error));\r\n }\r\n );\r\n\r\n\r\n\r\n }\r\n\r\n loadRoles(){\r\n\r\n\r\n this.dataService.GetRole(\"all\", \"\").subscribe(\r\n (apiResponse: ApiResponse) => {\r\n\r\n this.roles = apiResponse.dt;\r\n },\r\n (error) => {\r\n this.isProcessing = false;\r\n this.messageService.toast(this.httpService.Error(error));\r\n }\r\n );\r\n\r\n\r\n\r\n }\r\n\r\n\r\n\r\n changePassword(){\r\n this.dataService.tmpProfileUserID = this.profile.userID;\r\n this.router.navigate([\"home/user/change-password\"]);\r\n }\r\n\r\n gotoUsers(){\r\n this.router.navigate([\"home/admin/users\"]);\r\n }\r\n\r\n update(){\r\n\r\n }\r\n\r\n updateProfile(){\r\n this.isProcessing = true;\r\n this.dataService.UpdateProfile(this.profile, \"edit\").subscribe(\r\n (apiResponse: ApiResponse) => {\r\n this.isProcessing = false;\r\n\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"Profile Updated\");\r\n\r\n\r\n\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n },\r\n (error) => {\r\n this.messageService.toast(\"Connection failed \");\r\n this.isProcessing = false;\r\n }\r\n );\r\n }\r\n\r\n\r\n\r\n\r\n}\r\n","import { SpaMatModule } from \"./spa-mat.module\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { ChangePasswordComponent } from \"../components/change-password/change-password.component\";\r\nimport { ProfileComponent } from \"../components/profile/profile.component\";\r\n\r\n@NgModule({\r\n declarations: [ChangePasswordComponent, ProfileComponent],\r\n\r\n entryComponents: [],\r\n\r\n imports: [\r\n ReactiveFormsModule.withConfig({ warnOnNgModelWithFormControl: \"never\" }),\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n SpaMatModule,\r\n ],\r\n\r\n exports: [\r\n CommonModule,\r\n FormsModule,\r\n SpaMatModule,\r\n ChangePasswordComponent,\r\n ProfileComponent,\r\n ],\r\n})\r\nexport class SpaUserModule {}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { DataService } from '../../services/data.service';\r\nimport { MessageService } from '../../services/message.service';\r\nimport { ApiResponse } from 'tin-core';\r\n\r\n@Component({\r\n selector: 'spa-settings',\r\n templateUrl: './settings.component.html',\r\n styleUrls: ['./settings.component.css']\r\n})\r\nexport class SettingsComponent implements OnInit {\r\n\r\n constructor(private dataService: DataService, private messageService: MessageService) { }\r\n\r\n ngOnInit(): void {\r\n this.loadSettings();\r\n }\r\n\r\n _filterText = \"\";\r\n settings;\r\n isProcessing = false;\r\n\r\n applyFilter(filterValue: string) {\r\n this.settings.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n loadSettings(){\r\n this.dataService.GetSetting(\"all\", \"\").subscribe(\r\n (apiResponse: ApiResponse) => {\r\n this.settings = apiResponse.dt;\r\n // this.applyFilter(this._filterText);\r\n }\r\n );\r\n\r\n }\r\n\r\n updateSetting(setting) {\r\n\r\n this.isProcessing = true;\r\n this.dataService.UpdateSetting(setting, \"edit\").subscribe((apiResponse: ApiResponse) => {\r\n this.isProcessing = false;\r\n\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(`Setting ${setting.sName} Updated`);\r\n this.loadSettings();\r\n\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n\r\n });\r\n\r\n };\r\n\r\n addSetting() {\r\n\r\n // const dialogRef = this.dialog.open(addRoleDialog, {\r\n // width: \"1100px\",\r\n // data: \"\",\r\n // });\r\n\r\n // dialogRef.afterClosed().subscribe((result) => {\r\n // if (result == \"success\") {\r\n // this.loadRoles();\r\n // }\r\n // });\r\n this.messageService.toast(\"Feature not Available\");\r\n\r\n }\r\n\r\n}\r\n","import { ApiResponse } from 'tin-core';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { DataService } from \"../../services/data.service\";\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { AuthService } from '../../services/auth.service';\r\n\r\n@Component({\r\n selector: 'spa-logs',\r\n templateUrl: './logs.component.html',\r\n styleUrls: ['./logs.component.css']\r\n})\r\nexport class LogsComponent implements OnInit {\r\n constructor( private authService: AuthService, private dataService: DataService,) {}\r\n\r\n ngOnInit() {\r\n this.loadLogs();\r\n }\r\n\r\n isProcessing: boolean = false;\r\n @ViewChild(\"logsPaginator\") logsPaginator: MatPaginator;\r\n\r\n _filterText = \"\";\r\n\r\n logs;\r\n\r\n displayedColumns: string[] = [ \"dateLogged\", \"userID\",\"fullName\",\"source\", \"details\"];\r\n\r\n public loadLogs() {\r\n this.dataService.GetLog(\"all\",\"\").subscribe(\r\n (apiResponse: ApiResponse) => {\r\n this.logs = new MatTableDataSource(apiResponse.dt);\r\n this.logs.paginator = this.logsPaginator;\r\n this.applyFilter(this._filterText);\r\n }\r\n );\r\n }\r\n\r\n applyFilter(filterValue: string) {\r\n this.logs.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n\r\n}\r\n","import { Component, OnInit, Inject, ViewChild } from \"@angular/core\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { DataService } from \"../../services/data.service\";\r\nimport { ApiResponse, Core,HttpService } from \"tin-core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { MessageService } from \"../../services/message.service\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { AddUserDialog } from './addUserDialog.component';\r\nimport { EditUserDialog } from './editUserDialog.component';\r\nimport { User } from '../../classes/Classes';\r\n\r\n\r\n\r\n@Component({\r\n selector: \"spa-users\",\r\n templateUrl: \"./users.component.html\",\r\n styleUrls: [\"./users.component.css\"],\r\n})\r\nexport class UsersComponent implements OnInit {\r\n constructor(private httpService: HttpService, public router: Router, private authService: AuthService, private dataService: DataService, public dialog: MatDialog, private messageService: MessageService) {}\r\n\r\n ngOnInit() {\r\n\r\n this.UpdateData();\r\n\r\n }\r\n\r\n isProcessing: boolean = false;\r\n @ViewChild(\"usersPaginator\") usersPaginator: MatPaginator;\r\n\r\n _filterText = \"\";\r\n\r\n users;\r\n // public myResponse;\r\n displayedColumns: string[] = [\"userID\", \"fullName\", \"roleName\", \"locked\", \"dateCreated\", \"Action\"];\r\n\r\n public UpdateData() {\r\n this.dataService.GetUser(\"all\",\"\").subscribe(\r\n (apiResponse: ApiResponse) => {\r\n //this.myData = apiResponse;\r\n this.users = new MatTableDataSource(apiResponse.dt);\r\n this.users.paginator = this.usersPaginator;\r\n this.applyFilter(this._filterText);\r\n },\r\n (error) => {\r\n this.isProcessing = false;\r\n this.messageService.toast(this.httpService.Error(error));\r\n }\r\n );\r\n }\r\n\r\n applyFilter(filterValue: string) {\r\n this.users.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n createAccount() {\r\n\r\n this.router.navigate([\"home/admin/create-account\"]);\r\n\r\n }\r\n\r\n viewProfile(user: User) {\r\n\r\n this.dataService.tmpProfileUserID = user.userID;\r\n this.router.navigate([\"home/user/profile\"]);\r\n\r\n }\r\n\r\n lock(u: User){\r\n u.locked = \"1\";\r\n this.updateUser(u);\r\n }\r\n\r\n unlock(u: User){\r\n u.locked = \"0\";\r\n u.tries = \"0\";\r\n this.updateUser(u);\r\n }\r\n\r\n enable(u: User){\r\n u.disabled = \"0\";\r\n this.updateUser(u);\r\n }\r\n\r\n disable(u: User){\r\n u.disabled = \"1\";\r\n this.updateUser(u);\r\n }\r\n\r\n recover(u: User){\r\n\r\n\r\n\r\n this.dataService.SelfReset(u).subscribe((apiResponse: ApiResponse) => {\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"The password has been sent on email\");\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n });\r\n\r\n}\r\n\r\n updateUser(user){\r\n this.isProcessing = true;\r\n this.dataService.UpdateUser(user, \"edit\").subscribe(\r\n (apiResponse: ApiResponse) => {\r\n this.isProcessing = false;\r\n\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"User Updated\");\r\n\r\n this.UpdateData();\r\n\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n },\r\n (error) => {\r\n this.messageService.toast(\"Connection failed \");\r\n this.isProcessing = false;\r\n }\r\n );\r\n }\r\n\r\n deleteUser(user: User){\r\n\r\n\r\n this.messageService.confirm(`Delete ${user.userID} ?`).subscribe((result) => {\r\n\r\n if (result == \"yes\"){\r\n\r\n this.isProcessing = true;\r\n this.dataService.UpdateUser(user, \"delete\").subscribe(\r\n (apiResponse: ApiResponse) => {\r\n this.isProcessing = false;\r\n\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"User Deleted\");\r\n\r\n this.UpdateData();\r\n\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n },\r\n (error) => {\r\n this.messageService.toast(\"Connection failed \");\r\n this.isProcessing = false;\r\n }\r\n );\r\n\r\n }\r\n })\r\n\r\n\r\n\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n","import { Component, OnInit, Inject, ViewChild } from \"@angular/core\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { SelectionModel } from \"@angular/cdk/collections\";\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { DataService } from \"../../services/data.service\";\r\nimport { User } from \"../../classes/Classes\";\r\nimport { ApiResponse, Core,HttpService } from \"tin-core\";\r\n// import { AuthService } from \"../../services/auth.service\";\r\nimport { Router } from \"@angular/router\";\r\nimport { MessageService } from \"../../services/message.service\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\n\r\n\r\n@Component({\r\n selector: \"spa-add-user\",\r\n templateUrl: \"./addUserDialog.component.html\",\r\n styleUrls: [\"./users.component.css\"],\r\n})\r\nexport class AddUserDialog implements OnInit {\r\n\r\n public currentCount = 0;\r\n user = new User();\r\n isProcessing: boolean = false;\r\n\r\n constructor(private dataserv: DataService, private messageService: MessageService, private dialogRef: MatDialogRef<AddUserDialog>) {}\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n\r\n\r\n\r\n public Signup() {\r\n\r\n // if (Core.emailIsValid(this.user.email)) {\r\n // this.messageService.toast(\"Invalid Email\");\r\n // return;\r\n // }\r\n\r\n this.user.dateCreated = Core.getFormatedDate(Core.nowDate());\r\n this.user.dateUpdated = Core.getFormatedDate(Core.nowDate());\r\n this.user.dateExpire = Core.getFormatedDate(Core.nowDate());\r\n\r\n this.isProcessing = true;\r\n this.dataserv.UpdateUser(this.user,\"add\").subscribe((apiResponse: ApiResponse) => {\r\n this.isProcessing = false;\r\n\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"User Added\");\r\n\r\n\r\n\r\n this.dialogRef.close(\"success\");\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n });\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit, Inject, ViewChild } from \"@angular/core\";\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { DataService } from \"../../services/data.service\";\r\nimport { User } from \"../../classes/Classes\";\r\nimport { ApiResponse, Core,HttpService } from \"tin-core\";\r\nimport { MessageService } from \"../../services/message.service\";\r\n\r\n\r\n@Component({\r\n selector: \"spa-edit-user\",\r\n templateUrl: \"./editUserDialog.component.html\",\r\n styleUrls: [\"./users.component.css\"],\r\n})\r\nexport class EditUserDialog implements OnInit {\r\n\r\n constructor(private dataserv: DataService, private messageService: MessageService, private dialogRef: MatDialogRef<EditUserDialog>, @Inject(MAT_DIALOG_DATA) public data) {}\r\n\r\n ngOnInit() {\r\n // this.loadDepartments();\r\n // this.loadRoles();\r\n // this.loadLineManagers();\r\n this.user = this.data;\r\n }\r\n\r\n user = new User();\r\n\r\n public myData;\r\n public myResponse;\r\n departments;\r\n lineManagers;\r\n roles;\r\n isProcessing: boolean = false;\r\n\r\n myUser = new User();\r\n\r\n public unlock() {\r\n this.user.locked = \"0\";\r\n }\r\n\r\n public lock() {\r\n this.user.locked = \"1\";\r\n }\r\n\r\n public enable() {\r\n this.user.disabled = \"0\";\r\n }\r\n\r\n public disable() {\r\n this.user.disabled = \"1\";\r\n }\r\n\r\n // loadDepartments() {\r\n // this.dataserv.GetDepartment(\"all\", \"\").subscribe((myApiResponse) => {\r\n // this.departments = myApiResponse;\r\n // });\r\n // }\r\n\r\n // loadLineManagers() {\r\n // this.dataserv.GetLineManagers().subscribe((apiResponse: ApiResponse) => {\r\n // this.lineManagers = apiResponse.dt;\r\n // });\r\n // }\r\n\r\n // loadRoles() {\r\n // this.dataserv.GetRole(\"all\", \"\").subscribe((apiResponse: ApiResponse) => {\r\n // this.roles = apiResponse.dt;\r\n // });\r\n // }\r\n\r\n public Update() {\r\n\r\n this.isProcessing = true;\r\n this.dataserv.UpdateUser(this.user,\"edit\").subscribe(\r\n (apiResponse: ApiResponse) => {\r\n this.isProcessing = false;\r\n\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"User Updated\");\r\n\r\n this.dialogRef.close(\"success\");\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n },\r\n (error) => {\r\n this.messageService.toast(\"Connection failed \");\r\n this.isProcessing = false;\r\n }\r\n );\r\n }\r\n\r\n public DeleteUser() {\r\n\r\n this.isProcessing = true;\r\n this.dataserv.UpdateUser(this.user, \"delete\").subscribe((myData) => {\r\n this.isProcessing = false;\r\n\r\n this.myData = myData;\r\n this.myResponse = this.myData.message;\r\n if (this.myResponse == \"success\") {\r\n this.messageService.toast(this.user.userID + \" Deleted\");\r\n this.dialogRef.close(\"success\");\r\n } else {\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialog, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { DataService } from '../../services/data.service';\r\n//import { AuthService } from '../../services/auth.service';\r\nimport { ApiResponse, Core } from 'tin-core';\r\nimport { MessageService } from '../../services/message.service';\r\nimport { AuthService } from '../../services/auth.service';\r\n\r\n@Component({\r\n selector: 'app-viewRole',\r\n templateUrl: './viewRoleDialog.component.html',\r\n styleUrls: ['./roles.component.css']\r\n})\r\nexport class viewRoleDialog implements OnInit {\r\n\r\n constructor(private messageService: MessageService, private dataserv: DataService, private authserv: AuthService, private dialogRef: MatDialogRef<viewRoleDialog>, @Inject(MAT_DIALOG_DATA) public data) { }\r\n\r\n ngOnInit() {\r\n\r\n\r\n\r\n }\r\n\r\n\r\n\r\n submit() {\r\n\r\n\r\n\r\n };\r\n};\r\n\r\n\r\n\r\n","import { MessageService } from '../../services/message.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialog, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { DataService } from '../../services/data.service';\r\n// import { AuthService } from '../../services/auth.service';\r\nimport { ApiResponse, Core } from 'tin-core';\r\nimport { Role } from '../../classes/Classes';\r\n\r\n@Component({\r\n selector: 'app-addRole',\r\n templateUrl: './addRoleDialog.component.html',\r\n styleUrls: ['./roles.component.css']\r\n})\r\nexport class addRoleDialog implements OnInit {\r\n\r\n constructor(private messageService: MessageService, private dataService: DataService, private authService: AuthService, private dialogRef: MatDialogRef<addRoleDialog>, @Inject(MAT_DIALOG_DATA) public data) { }\r\n ngOnInit() {\r\n this.capItems = this.data;\r\n }\r\n\r\n capItems;\r\n\r\n isProcessing: boolean;\r\n role = new Role();\r\n\r\n submit() {\r\n\r\n if (this.role.roleName == \"New Role\" || this.role.roleName == \"\"){\r\n this.messageService.toast(\"Please enter Role Name\");\r\n return;\r\n }\r\n\r\n\r\n this.isProcessing = true;\r\n this.dataService.UpdateRole(this.role, \"add\").subscribe((apiResponse: ApiResponse) => {\r\n this.isProcessing = false;\r\n\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"Role Added\");\r\n this.dialogRef.close(\"success\");\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n\r\n\r\n }, error => {\r\n this.messageService.toast(\"Connection failed\");\r\n this.isProcessing = false;\r\n });\r\n\r\n };\r\n};\r\n\r\n\r\n\r\n","import { MessageService } from '../../services/message.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialog, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { DataService } from '../../services/data.service';\r\n// import { AuthService } from '../../services/auth.service';\r\nimport { ApiResponse, Core } from 'tin-core';\r\nimport { Role } from '../../classes/Classes';\r\n\r\n@Component({\r\n selector: 'app-editRole',\r\n templateUrl: './editRoleDialog.component.html',\r\n styleUrls: ['./roles.component.css']\r\n})\r\nexport class editRoleDialog implements OnInit {\r\n\r\n constructor(private messageService: MessageService, private dataserv: DataService, private authserv: AuthService, private dialogRef: MatDialogRef<editRoleDialog>, @Inject(MAT_DIALOG_DATA) public data) { }\r\n\r\n ngOnInit() {\r\n this.role = this.data;\r\n this.isLoadComplete = true;\r\n }\r\n\r\n role = new Role;\r\n isLoadComplete: boolean = false;\r\n isProcessing: boolean;\r\n\r\n\r\n submit() {\r\n\r\n this.isProcessing = true;\r\n this.dataserv.UpdateRole(this.role, \"edit\").subscribe((apiResponse: ApiResponse) => {\r\n this.isProcessing = false;\r\n\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"Role Updated\");\r\n this.dialogRef.close(\"success\");\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n\r\n }, error => {\r\n this.messageService.toast(\"Connection failed \");\r\n this.isProcessing = false;\r\n });\r\n\r\n };\r\n};\r\n\r\n\r\n\r\n","import { AppConfig } from './../../classes/Classes';\r\nimport { Component, OnInit, Input } from \"@angular/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { DataService } from \"../../services/data.service\";\r\n// import { AuthService } from \"../../services/auth.service\";\r\nimport { ApiResponse, Core, HttpService } from \"tin-core\";\r\nimport { Role, CapItem } from \"../../classes/Classes\";\r\nimport { viewRoleDialog } from \"./viewRoleDialog.component\";\r\nimport { addRoleDialog } from \"./addRoleDialog.component\";\r\nimport { editRoleDialog } from \"./editRoleDialog.component\";\r\nimport { Router } from \"@angular/router\";\r\nimport { MessageService } from '../../services/message.service';\r\nimport { AuthService } from '../../services/auth.service';\r\n\r\n\r\n@Component({\r\n selector: \"spa-roles\",\r\n templateUrl: \"./roles.component.html\",\r\n styleUrls: [\"./roles.component.css\"],\r\n})\r\nexport class RolesComponent implements OnInit {\r\n constructor(private httpService: HttpService, private router: Router, private authService: AuthService, private dataService: DataService, public dialog: MatDialog, private messageService: MessageService) {}\r\n\r\n ngOnInit() {\r\n\r\n this.loadRoles();\r\n\r\n }\r\n\r\n isProcessing = false;\r\n // myRole: Rolev2;\r\n roles: Role[];\r\n\r\n\r\n\r\n @Input() appConfig = new AppConfig();\r\n\r\n\r\n // _filterText = \"\";\r\n // applyFilter(filterValue: string) {\r\n // this.roles.filter = filterValue.trim().toLowerCase();\r\n // }\r\n\r\n\r\n loadRoles() {\r\n this.dataService.GetRole(\"all\", \"\").subscribe(\r\n (apiResponse: ApiResponse) => {\r\n this.roles = apiResponse.dt;\r\n },\r\n (error) => {\r\n this.isProcessing = false;\r\n this.messageService.toast(this.httpService.Error(error));\r\n }\r\n );\r\n }\r\n\r\n refresh() {\r\n this.loadRoles();\r\n }\r\n\r\n addRole() {\r\n const dialogRef = this.dialog.open(addRoleDialog, {\r\n width: \"1100px\",\r\n data: this.appConfig.capItems,\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((result) => {\r\n if (result == \"success\") {\r\n this.loadRoles();\r\n }\r\n });\r\n }\r\n\r\n viewRole(role: Role) {\r\n const dialogRef = this.dialog.open(viewRoleDialog, {\r\n width: \"1100px\",\r\n data: role,\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((result) => {\r\n if (result == \"success\") {\r\n this.loadRoles();\r\n }\r\n });\r\n }\r\n\r\n editRole(role: Role) {\r\n const dialogRef = this.dialog.open(editRoleDialog, {\r\n width: \"1100px\",\r\n data: role,\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((result) => {\r\n if (result == \"success\") {\r\n this.loadRoles();\r\n }\r\n });\r\n }\r\n\r\n updateRole(role: Role) {\r\n\r\n this.messageService.confirm(`UPDATE ${role.roleName} ?`).subscribe((result) => {\r\n\r\n if (result == \"yes\"){\r\n\r\n this.dataService\r\n .UpdateRole(role, \"edit\")\r\n .subscribe((apiResponse: ApiResponse) => {\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"Role Updated\");\r\n this.loadRoles();\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n });\r\n\r\n }\r\n\r\n })\r\n\r\n\r\n };\r\n\r\n deleteRole(role: Role) {\r\n\r\n this.messageService.confirm(`DELETE ${role.roleName} ?`).subscribe((result) => {\r\n\r\n if (result == \"yes\"){\r\n\r\n this.dataService\r\n .UpdateRole(role, \"delete\")\r\n .subscribe((apiResponse: ApiResponse) => {\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"Role Deleted\");\r\n this.loadRoles();\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n });\r\n\r\n }\r\n\r\n })\r\n\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'spa-profiles',\r\n templateUrl: './profiles.component.html',\r\n styleUrls: ['./profiles.component.css']\r\n})\r\nexport class ProfilesComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { DataService } from './../../services/data.service';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { ApiResponse, HttpService } from 'tin-core';\r\nimport { MessageService } from '../../services/message.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { User, Profile, Account, AppConfig } from '../../classes/Classes';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'spa-create-account',\r\n templateUrl: './create-account.component.html',\r\n styleUrls: ['./create-account.component.css']\r\n})\r\nexport class CreateAccountComponent implements OnInit {\r\n\r\n constructor(private httpService: HttpService, private messageService: MessageService, private dataService: DataService, private authService: AuthService,public router: Router) { }\r\n\r\n ngOnInit() {\r\n\r\n\r\n }\r\n\r\n @Input() appConfig = new AppConfig();\r\n\r\n isProcessing: boolean = false;\r\n user = new User();\r\n profile = new Profile();\r\n\r\n account = new Account();\r\n\r\n confirmPassword: string;\r\n\r\n openProfile: boolean = true;\r\n\r\n\r\ncreate(){\r\n\r\n if(this.user.authType == \"\"){\r\n this.messageService.toast(\"Choose Authentication Type\");\r\n return;\r\n }\r\n\r\n this.account.user = this.user;\r\n this.account.profile = this.profile;\r\n\r\n this.profile.userID = this.user.userID;\r\n\r\n this.isProcessing = true;\r\n this.dataService.UpdateAccount(this.account,\"add\").subscribe(\r\n (apiResponse: ApiResponse) => {\r\n this.isProcessing = false;\r\n\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"Account Created\");\r\n\r\n if (this.openProfile){\r\n this.viewProfile(this.user);\r\n }else{\r\n this.user = new User();\r\n this.profile = new Profile();\r\n this.confirmPassword = \"\";\r\n }\r\n\r\n\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n },\r\n (error) => {\r\n this.isProcessing = false;\r\n this.messageService.toast(this.httpService.Error(error));\r\n }\r\n );\r\n}\r\n\r\nviewProfile(user: User) {\r\n\r\n this.dataService.tmpProfileUserID = user.userID;\r\n this.router.navigate([\"home/user/profile\"]);\r\n\r\n}\r\n\r\n\r\n\r\n}\r\n","import { SettingsComponent } from '../components/settings/settings.component';\r\nimport { LogsComponent } from '../components/logs/logs.component';\r\nimport { SpaMatModule } from \"./spa-mat.module\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { UsersComponent } from \"../components/users/users.component\";\r\nimport { AddUserDialog } from \"../components/users/addUserDialog.component\";\r\nimport { EditUserDialog } from \"../components/users/editUserDialog.component\";\r\nimport { RolesComponent } from \"../components/roles/roles.component\";\r\nimport { addRoleDialog } from \"../components/roles/addRoleDialog.component\";\r\nimport { editRoleDialog } from \"../components/roles/editRoleDialog.component\";\r\nimport { ProfilesComponent } from \"../components/profiles/profiles.component\";\r\nimport { CreateAccountComponent } from \"../components/create-account/create-account.component\";\r\nimport { viewRoleDialog } from \"../components/roles/viewRoleDialog.component\";\r\n\r\n@NgModule({\r\n declarations: [\r\n UsersComponent,\r\n AddUserDialog,\r\n EditUserDialog,\r\n RolesComponent,\r\n addRoleDialog,\r\n editRoleDialog,\r\n viewRoleDialog,\r\n ProfilesComponent,\r\n CreateAccountComponent,\r\n LogsComponent,\r\n SettingsComponent\r\n ],\r\n\r\n entryComponents: [\r\n AddUserDialog,\r\n EditUserDialog,\r\n addRoleDialog,\r\n editRoleDialog,\r\n viewRoleDialog,\r\n ],\r\n\r\n imports: [\r\n ReactiveFormsModule.withConfig({ warnOnNgModelWithFormControl: \"never\" }),\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n SpaMatModule,\r\n ],\r\n\r\n exports: [\r\n CommonModule,\r\n FormsModule,\r\n SpaMatModule,\r\n UsersComponent,\r\n AddUserDialog,\r\n EditUserDialog,\r\n RolesComponent,\r\n addRoleDialog,\r\n editRoleDialog,\r\n viewRoleDialog,\r\n ProfilesComponent,\r\n CreateAccountComponent,\r\n LogsComponent,\r\n SettingsComponent\r\n ],\r\n})\r\nexport class SpaAdminModule {}\r\n"],"names":["Injectable","MatDialogRef","Inject","MAT_DIALOG_DATA","Component","mergeMap","of","MatSnackBar","MatDialog","XLSX.utils","XLSX.write","FileSaver.saveAs","LogLevel","TableColumnType","Operator","Core","BehaviorSubject","Constants","Router","HttpService","Input","NgModule","CommonModule","FormsModule","ReactiveFormsModule","MatMenuModule","MatSliderModule","MatTableModule","MatPaginatorModule","MatCheckboxModule","MatBadgeModule","MatButtonModule","MatIconModule","MatDialogModule","MatSnackBarModule","MatTabsModule","MatFormFieldModule","MatInputModule","MatCardModule","MatChipsModule","MatSelectModule","MatNativeDateModule","MatProgressSpinnerModule","MatListModule","MatAutocompleteModule","MatTooltipModule","MatSortModule","MatDatepickerModule","MatStepperModule","MatRadioModule","MAT_DIALOG_DEFAULT_OPTIONS","MAT_DATE_LOCALE","Observable","HttpResponse","DEFAULT_INTERRUPTSOURCES","Idle","Keepalive","EventEmitter","MatTableDataSource","Output","ViewChild","FormControl","Validators","startWith","map","HostBinding","HostListener","Directive","STEPPER_GLOBAL_OPTIONS","MomentModule","NgxDocViewerModule","AngularEditorModule","NgIdleKeepaliveModule","HTTP_INTERCEPTORS","LocationStrategy","HashLocationStrategy","Location"],"mappings":"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,GAAI,KAAK,CAAE;YACpB,IAAI,CAAC,IAAI,GAAI,KAAK,CAAE;YACpB,IAAI,CAAC,IAAI,GAAI,KAAK,CAAE;YACpB,IAAI,CAAC,IAAI,GAAI,KAAK,CAAE;YACpB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IAAI,CAAC,KAAK,GAAI,KAAK,CAAE;YACrB,IA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"}
1
+ {"version":3,"file":"tin-spa.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://tin-spa/lib/services/tin-spa.service.ts","ng://tin-spa/lib/services/storage.service.ts","ng://tin-spa/lib/components/message/messageDialog.component.html","ng://tin-spa/lib/components/message/messageDialog.component.ts","ng://tin-spa/lib/services/message.service.ts","ng://tin-spa/lib/services/export.service.ts","ng://tin-spa/lib/classes/TinCore.ts","ng://tin-spa/lib/classes/Classes.ts","ng://tin-spa/lib/services/http.service.ts","ng://tin-spa/lib/services/log.service.ts","ng://tin-spa/lib/services/auth.service.ts","ng://tin-spa/lib/services/data.service.ts","ng://tin-spa/lib/services/loader.service.ts","ng://tin-spa/lib/components/loader/loader.component.html","ng://tin-spa/lib/components/loader/loader.component.ts","ng://tin-spa/lib/modules/spa-mat.module.ts","ng://tin-spa/lib/services/loader-interceptor.service.ts","ng://tin-spa/lib/components/tin-spa.component.ts","ng://tin-spa/lib/components/nav-menu/nav-menu.component.html","ng://tin-spa/lib/components/nav-menu/nav-menu.component.ts","ng://tin-spa/lib/components/timeout/timeout.component.ts","ng://tin-spa/lib/components/timeout/timeout.component.html","ng://tin-spa/lib/components/table/table.component.html","ng://tin-spa/lib/components/table/table.component.ts","ng://tin-spa/lib/components/tiles/tiles.component.html","ng://tin-spa/lib/components/tiles/tiles.component.ts","ng://tin-spa/lib/components/date/date.component.ts","ng://tin-spa/lib/components/date/date.component.html","ng://tin-spa/lib/components/text/text.component.html","ng://tin-spa/lib/components/text/text.component.ts","ng://tin-spa/lib/components/chips/chips.component.html","ng://tin-spa/lib/components/chips/chips.component.ts","ng://tin-spa/lib/components/viewer/viewerDialog.component.ts","ng://tin-spa/lib/components/viewer/viewerDialog.component.html","ng://tin-spa/lib/components/viewer/viewer.component.html","ng://tin-spa/lib/components/viewer/viewer.component.ts","ng://tin-spa/lib/components/select/select.component.html","ng://tin-spa/lib/components/select/select.component.ts","ng://tin-spa/lib/components/check/check.component.ts","ng://tin-spa/lib/components/check/check.component.html","ng://tin-spa/lib/dnd.directive.ts","ng://tin-spa/lib/components/attach/attach.component.html","ng://tin-spa/lib/components/attach/attach.component.ts","ng://tin-spa/lib/components/datetime/datetime.component.ts","ng://tin-spa/lib/components/datetime/datetime.component.html","ng://tin-spa/lib/components/money/currency-input-mask.directive.ts","ng://tin-spa/lib/components/money/money.component.html","ng://tin-spa/lib/components/money/money.component.ts","ng://tin-spa/lib/components/activity/activity.component.html","ng://tin-spa/lib/components/activity/activity.component.ts","ng://tin-spa/lib/components/html/html.component.ts","ng://tin-spa/lib/components/html/html.component.html","ng://tin-spa/lib/components/option/option.component.html","ng://tin-spa/lib/components/option/option.component.ts","ng://tin-spa/lib/components/label/label.component.html","ng://tin-spa/lib/components/label/label.component.ts","ng://tin-spa/lib/components/steps/steps.component.html","ng://tin-spa/lib/components/steps/steps.component.ts","ng://tin-spa/lib/components/filter/filter.component.ts","ng://tin-spa/lib/components/filter/filter.component.html","ng://tin-spa/lib/components/money/currency-input-mask.module.ts","ng://tin-spa/lib/tin-spa.module.ts","ng://tin-spa/lib/components/login/login.component.html","ng://tin-spa/lib/components/login/login.component.ts","ng://tin-spa/lib/components/signup/signup.component.ts","ng://tin-spa/lib/components/signup/signup.component.html","ng://tin-spa/lib/components/recover-account/recover-account.component.ts","ng://tin-spa/lib/components/recover-account/recover-account.component.html","ng://tin-spa/lib/modules/spa-index.module.ts","ng://tin-spa/lib/components/change-password/change-password.component.html","ng://tin-spa/lib/components/change-password/change-password.component.ts","ng://tin-spa/lib/components/profile/profile.component.html","ng://tin-spa/lib/components/profile/profile.component.ts","ng://tin-spa/lib/modules/spa-user.module.ts","ng://tin-spa/lib/components/settings/settings.component.html","ng://tin-spa/lib/components/settings/settings.component.ts","ng://tin-spa/lib/components/logs/logs.component.html","ng://tin-spa/lib/components/logs/logs.component.ts","ng://tin-spa/lib/components/users/users.component.html","ng://tin-spa/lib/components/users/users.component.ts","ng://tin-spa/lib/components/roles/addRoleDialog.component.html","ng://tin-spa/lib/components/roles/addRoleDialog.component.ts","ng://tin-spa/lib/components/roles/roles.component.html","ng://tin-spa/lib/components/roles/roles.component.ts","ng://tin-spa/lib/components/create-account/create-account.component.html","ng://tin-spa/lib/components/create-account/create-account.component.ts","ng://tin-spa/lib/modules/spa-admin.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TinSpaService {\r\n\r\n constructor() { }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StorageService {\r\n\r\n constructor() { }\r\n\r\n // Store the value\r\n async store(storageKey: string, value: any) {\r\n const encryptedValue = btoa(escape(JSON.stringify(value)));\r\n // const encryptedValue = JSON.stringify(value);\r\n await localStorage.setItem(storageKey, encryptedValue);\r\n }\r\n\r\n // Get the value\r\n async get(storageKey: string) {\r\n const ret = await localStorage.getItem(storageKey);\r\n return JSON.parse(unescape(atob(ret)));\r\n // return JSON.parse(ret);\r\n }\r\n\r\n // Remove\r\n async removeStorageItem(storageKey: string) {\r\n await localStorage.removeItem(storageKey);\r\n }\r\n\r\n // Clear storage\r\n async clear() {\r\n await localStorage.clear();\r\n }\r\n\r\n}\r\n","\r\n <h2 mat-dialog-title>\r\n\r\n <mat-label *ngIf=\"messageType=='confirm'\">Confirm</mat-label>\r\n <mat-label *ngIf=\"messageType=='info'\">Information</mat-label>\r\n <mat-label *ngIf=\"messageType=='error'\">Error</mat-label>\r\n\r\n </h2>\r\n\r\n <mat-dialog-content class=\"mat-typography\">\r\n\r\n\r\n <!-- Confirm -->\r\n <p *ngIf=\"messageType=='confirm'\">{{_messageDetails}}</p>\r\n\r\n\r\n <!-- Information -->\r\n <div *ngIf=\"messageType=='info'\">\r\n\r\n <h3>{{_messageSubject}}</h3>\r\n <mat-label>{{_messageDetails}}</mat-label>\r\n\r\n </div>\r\n\r\n\r\n <!-- Error -->\r\n <div *ngIf=\"messageType=='error'\">\r\n\r\n <mat-label>{{_messageDetails}}</mat-label>\r\n\r\n </div>\r\n\r\n\r\n </mat-dialog-content>\r\n\r\n<mat-dialog-actions>\r\n\r\n <button id=\"btnYes\" mat-stroked-button *ngIf=\"messageType=='confirm'\" (click)=\"response('yes')\" cdkFocusInitial>Yes</button>\r\n\r\n <button id=\"btnNo\" mat-stroked-button *ngIf=\"messageType=='confirm'\" (click)=\"response('no')\" >No</button>\r\n\r\n <button id=\"btnOK\" mat-stroked-button *ngIf=\"messageType=='info' || messageType=='error'\" (click)=\"response('ok')\" cdkFocusInitial>OK</button>\r\n\r\n</mat-dialog-actions>\r\n\r\n\r\n\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialog, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\n\r\n@Component({\r\n selector: 'lib-app-message',\r\n templateUrl: './messageDialog.component.html'\r\n})\r\n\r\nexport class messageDialog implements OnInit {\r\n\r\n constructor(private dialogRef: MatDialogRef<messageDialog>, @Inject(MAT_DIALOG_DATA) public data) { }\r\n\r\n\r\n ngOnInit() {\r\n\r\n this.messageType = this.data.type\r\n this._messageSubject = this.data.subject;\r\n this._messageDetails = this.data.details;\r\n\r\n }\r\n\r\n messageType;\r\n _messageSubject;\r\n _messageDetails;\r\n\r\n response(resp: string) {\r\n\r\n this.dialogRef.close(resp);\r\n\r\n }\r\n\r\n};\r\n\r\n\r\n\r\n","import { Injectable } from \"@angular/core\";\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { messageDialog } from \"../components/message/messageDialog.component\";\r\nimport { Observable, of } from 'rxjs';\r\nimport { mergeMap } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class MessageService {\r\n constructor(private snackBar: MatSnackBar, public dialog: MatDialog) { }\r\n\r\n public toast(msg: string) {\r\n this.snackBar.open(msg, \"OK\", { duration: 5000 });\r\n }\r\n\r\n public info(subject: string, details: string) {\r\n\r\n let type = \"info\";\r\n\r\n const dialogRef = this.dialog.open(messageDialog, {\r\n width: \"600px\",\r\n data: { type, subject, details },\r\n });\r\n\r\n }\r\n\r\n public error(details: string) {\r\n\r\n let type = \"error\";\r\n let subject: \"\";\r\n\r\n const dialogRef = this.dialog.open(messageDialog, {\r\n width: \"600px\",\r\n data: { type, subject, details },\r\n });\r\n\r\n }\r\n\r\n public confirm(msg: string): Observable<any> {\r\n\r\n let type = \"confirm\";\r\n let subject = \"\";\r\n let details = msg\r\n\r\n const dialogRef = this.dialog.open(messageDialog, {\r\n width: \"400px\",\r\n data: { type, subject, details },\r\n });\r\n\r\n return dialogRef.afterClosed().pipe(mergeMap((result) => {\r\n\r\n return of(result);\r\n\r\n }\r\n\r\n ));\r\n\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as FileSaver from 'file-saver';\r\nimport * as XLSX from 'xlsx';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExportService {\r\n\r\n constructor() { }\r\n\r\n fileType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\n fileExtension = '.xlsx';\r\n\r\n public exportExcel(jsonData: any[], fileName: string): void {\r\n\r\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(jsonData);\r\n const wb: XLSX.WorkBook = { Sheets: { 'data': ws }, SheetNames: ['data'] };\r\n const excelBuffer: any = XLSX.write(wb, { bookType: 'xlsx', type: 'array' });\r\n this.saveExcelFile(excelBuffer, fileName);\r\n }\r\n\r\n private saveExcelFile(buffer: any, fileName: string): void {\r\n const data: Blob = new Blob([buffer], { type: this.fileType });\r\n FileSaver.saveAs(data, fileName + this.fileExtension);\r\n }\r\n}\r\n","export class Core {\r\n\r\n public static getClone(x) {\r\n return JSON.parse(JSON.stringify(x))\r\n }\r\n\r\n public static getNumber(value: string) {\r\n\r\n if (value == null || value == \"\") {\r\n return 0;\r\n }\r\n\r\n const onlyNumbers = value.replace(/[^\\d.-]/g, '');\r\n return onlyNumbers\r\n }\r\n\r\n public static getFirstDayOfMonth() {\r\n const date = new Date();\r\n return new Date(date.getFullYear(), date.getMonth(), 1);\r\n }\r\n\r\n public static emailIsValid(email) {\r\n return /\\S+@\\S+\\.\\S+/.test(email)\r\n }\r\n\r\n public static isValidUNCPath(path: string) {\r\n return /\\\\\\\\([a-zA-Z0-9_.$●-]+)\\\\([a-zA-Z0-9_.$●-]+).*/.test(path)\r\n }\r\n\r\n public static isValidDate(date) {\r\n\r\n var parsedDate = Date.parse(date);\r\n\r\n\r\n if (isNaN(date) && !isNaN(parsedDate)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n\r\n }\r\n\r\n public static isValidEmailList(list: string) {\r\n\r\n if (list.includes(\";\")) {\r\n\r\n let emails = list.split(\";\")\r\n\r\n for (var email of emails) {\r\n if (this.emailIsValid(email) == false) {\r\n return false;\r\n }\r\n }\r\n\r\n\r\n } else {\r\n\r\n if (this.emailIsValid(list) == false) {\r\n return false;\r\n }\r\n\r\n }\r\n\r\n return true;\r\n\r\n }\r\n\r\n public static nullDate = \"01 Jan 1969\"\r\n\r\n public static isNumber(value: string | number): boolean {\r\n return ((value != null) &&\r\n (value !== '') &&\r\n !isNaN(Number(value.toString())));\r\n }\r\n\r\n public static getDiff(startDate, endDate = Date()) {\r\n\r\n var eventStartTime = new Date(startDate);\r\n var eventEndTime = new Date(endDate);\r\n var milliseconds = eventEndTime.valueOf() - eventStartTime.valueOf();\r\n\r\n function numberEnding(number: number) {\r\n\r\n if (number.toFixed() == '1') {\r\n return ''\r\n } else {\r\n return 's';\r\n }\r\n\r\n }\r\n\r\n var minutes = (milliseconds / (1000 * 60));\r\n\r\n var hours: number = (milliseconds / (1000 * 60 * 60));\r\n\r\n var days = (milliseconds / (1000 * 60 * 60 * 24));\r\n\r\n var weeks: number = (milliseconds / (1000 * 60 * 60 * 24 * 7));\r\n\r\n var months = (milliseconds / (1000 * 60 * 60 * 24 * 7 * 4));\r\n\r\n var years = (milliseconds / (1000 * 60 * 60 * 24 * 365));\r\n\r\n\r\n if (years >= 1) {\r\n\r\n return years.toFixed() + ' year' + numberEnding(years);\r\n\r\n } else if (months >= 1) {\r\n\r\n return months.toFixed() + ' month' + numberEnding(months);\r\n\r\n } else if (weeks >= 1) {\r\n\r\n return weeks.toFixed() + ' week' + numberEnding(weeks);\r\n\r\n } else if (days >= 1) {\r\n\r\n return days.toFixed() + ' day' + numberEnding(days);\r\n\r\n } else if (hours >= 1) {\r\n\r\n return hours.toFixed() + ' hour' + numberEnding(hours);\r\n\r\n } else if (minutes >= 1) {\r\n\r\n return minutes.toFixed() + ' minute' + numberEnding(minutes);\r\n\r\n } else if (milliseconds >= (-1000 * 60)) {\r\n\r\n return 'a minute';\r\n\r\n } else {\r\n\r\n return 'N/A';\r\n }\r\n\r\n }\r\n\r\n\r\n public static nowDate(NoTime: boolean = false) {\r\n\r\n if (NoTime) {\r\n return this.getFormatedDate(Date(), true);\r\n } else {\r\n return this.getFormatedDate(Date());\r\n }\r\n }\r\n\r\n public static getFormatedDate(dateString: string, NoTime: boolean = false) {\r\n\r\n let d: Date = new Date(dateString);\r\n d.setHours(d.getHours() + 2);\r\n\r\n if (NoTime == true) {\r\n return d.toISOString().split('T')[0];\r\n } else {\r\n return d.toISOString().split('.')[0];\r\n }\r\n\r\n }\r\n\r\n public static getBusinessDatesCount(startDate: string, endDate: string) {\r\n var count = 0;\r\n var _startDate = new Date(startDate);\r\n var _endDate = new Date(endDate);\r\n\r\n var curDate = _startDate;\r\n\r\n while (curDate < _endDate) {\r\n var dayOfWeek = curDate.getDay();\r\n if (!(dayOfWeek == 6 || dayOfWeek == 0)) count++;\r\n curDate.setDate(curDate.getDate() + 1);\r\n }\r\n\r\n return count;\r\n }\r\n\r\n}\r\n\r\n\r\nexport class ApiResponse {\r\n success: boolean;\r\n message: string;\r\n data;\r\n}\r\n\r\nexport class Constants {\r\n public static readonly AUTH_USER = 'a';\r\n public static readonly AUTH_NAME = 'b';\r\n public static readonly AUTH_ROLES = 'c';\r\n public static readonly AUTH_TOKEN = 'd';\r\n public static readonly AUTH_TOKEN_EXPIRE = 'e';\r\n}\r\n\r\n","import { Core } from \"./TinCore\";\r\n\r\nexport enum LogLevel {\r\n All = 0,\r\n Debug = 1,\r\n Info = 2,\r\n Warn = 3,\r\n Error = 4,\r\n Fatal = 5,\r\n Off = 6,\r\n}\r\n\r\nexport class Tile {\r\n\r\n tileName: string;\r\n tileValue: string;\r\n tileColor: string;\r\n selected: string;\r\n visible?: boolean;\r\n info?: string;\r\n}\r\n\r\nexport class Step {\r\n name: string\r\n icon: string;\r\n}\r\n\r\nexport class TableConfig {\r\n\r\n enableFilter: boolean = false;\r\n create = new TableCreate();\r\n\r\n columns: TableColumn[];\r\n actions: TableAction[];\r\n\r\n greyout = new Condition();\r\n\r\n}\r\n\r\nexport class TableCreate {\r\n enabled: boolean\r\n display: string;\r\n}\r\n\r\nexport class TableColumn {\r\n\r\n constructor() {\r\n this.name = \"default\"\r\n this.display = \"default\"\r\n this.type = TableColumnType.String\r\n\r\n }\r\n\r\n public name: string;\r\n public display: string;\r\n public type?: TableColumnType;\r\n public icons?: Icon[];\r\n public color?: Color;\r\n}\r\n\r\nexport enum TableColumnType {\r\n String, Date, DateTime, Image, Icon, TextIcon, Chip\r\n}\r\n\r\n\r\nexport class Condition {\r\n constructor() {\r\n this.field = \"\";\r\n this.operator = Operator.Equal;\r\n this.value = \"\";\r\n }\r\n field: string;\r\n operator: Operator;\r\n value: string;\r\n}\r\n\r\nexport enum Operator {\r\n Equal, Less, Greater, NotEqual\r\n}\r\n\r\n\r\n\r\nexport class Color extends Condition {\r\n name: string;\r\n}\r\n\r\nexport class Icon extends Condition {\r\n name: string;\r\n hint?: string;\r\n color?: string;\r\n}\r\n\r\n\r\nexport class TableAction {\r\n\r\n name: string;\r\n show?: boolean;\r\n icon: string;\r\n color?: string;\r\n hint?: string;\r\n\r\n disappear?: Condition;\r\n disable?: Condition;\r\n\r\n}\r\n\r\n\r\nexport class ActionResponse {\r\n name: string;\r\n value;\r\n}\r\n\r\n\r\nexport class loginConfig {\r\n\r\n constructor() {\r\n this.appName = \"\";\r\n this.selfService = false;\r\n this.logo = \"\";\r\n this.logoSize = \"normal\";\r\n }\r\n\r\n appName: string;\r\n selfService: boolean;\r\n logo: string;\r\n logoSize: string;\r\n}\r\n\r\n\r\nexport class AppConfig {\r\n constructor() {\r\n this.appName = \"App Name\";\r\n this.logo = \"\";\r\n this.logoSize = \"normal\";\r\n this.ADAuth = true;\r\n this.localAuth = true;\r\n this.selfService = false;\r\n }\r\n appName: string;\r\n logo: string;\r\n logoSize: string;\r\n ADAuth: boolean;\r\n localAuth: boolean;\r\n selfService: boolean;\r\n capItems: CapItem[];\r\n\r\n\r\n}\r\n\r\nexport class CapItem {\r\n\r\n constructor() {\r\n this.name = \"\";\r\n this.display = \"New Cap Item\";\r\n this.enabled = false;\r\n this.type = \"\";\r\n this.newLine = false;\r\n this.showMenu = true;\r\n this.ignoreSubsDisplay = false;\r\n this.link = \"\";\r\n this.icon = \"navigate_next\";\r\n\r\n }\r\n\r\n name: string;\r\n display: string;\r\n enabled: boolean;\r\n showMenu: boolean;\r\n\r\n ignoreSubsDisplay: boolean;\r\n type: string;\r\n newLine: boolean;\r\n link: string;\r\n icon: string;\r\n capSubItems: CapItem[];\r\n\r\n}\r\n\r\n\r\nexport class Account {\r\n user: User;\r\n profile: Profile;\r\n}\r\n\r\nexport class User {\r\n\r\n constructor() {\r\n\r\n\r\n this.userName = \"\";\r\n this.password = \"\";\r\n this.tries = \"0\";\r\n this.locked = \"0\";\r\n this.logged = \"0\";\r\n this.disabled = \"0\";\r\n this.changepassword = \"0\";\r\n this.dateCreated = Core.nowDate();\r\n this.dateUpdated = Core.nowDate();\r\n this.token = \"\";\r\n this.dateExpire = Core.nowDate();\r\n this.tokenExpire = Core.nowDate();\r\n this.authType = \"\";\r\n }\r\n\r\n userName:string;\r\n password: string;\r\n tries: string;\r\n locked: string;\r\n logged: string;\r\n disabled: string;\r\n changepassword: string;\r\n dateCreated: string;\r\n dateUpdated: string;\r\n dateExpire: string;\r\n token: string;\r\n tokenExpire: string;\r\n\r\n authType: string;\r\n}\r\n\r\nexport class ChangeUserPassword {\r\n\r\n constructor() {\r\n this.userName = \"\";\r\n this.currentPassword = \"\";\r\n this.newPassword = \"\";\r\n this.confirmPassword = \"\";\r\n }\r\n userName: string;\r\n currentPassword: string;\r\n newPassword: string;\r\n confirmPassword: string;\r\n}\r\n\r\nexport class Register {\r\n\r\n constructor() {\r\n this.userName = \"\";\r\n this.roleID = 1;\r\n this.firstName = \"\";\r\n this.lastName = \"\";\r\n this.email = \"\";\r\n this.authType = \"\";\r\n this.password = \"\";\r\n }\r\n\r\n userName: string;\r\n roleID: number;\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n authType: string;\r\n password: string;\r\n}\r\n\r\nexport class Profile {\r\n\r\n constructor() {\r\n this.profileID = \"\";\r\n this.userName = \"\";\r\n this.roleID = 1;\r\n this.firstName = \"\";\r\n this.lastName = \"\";\r\n this.email = \"\";\r\n this.empID = \"\";\r\n this.arID = \"0\";\r\n this.authType = \"\";\r\n this.password = \"\";\r\n this.role = new Role();\r\n }\r\n\r\n profileID: string;\r\n userName: string;\r\n roleID: number;\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n empID: string;\r\n arID: string;\r\n authType: string;\r\n password: string;\r\n role: Role\r\n}\r\n\r\n\r\nexport class Role {\r\n\r\n constructor() {\r\n this.roleID = 0;\r\n this.roleName = \"New Role\";\r\n this.cap1 = false;\r\n this.cap2 = false;\r\n this.cap3 = false;\r\n this.cap4 = false;\r\n this.cap5 = false;\r\n this.cap6 = false;\r\n this.cap7 = false;\r\n this.cap8 = false;\r\n this.cap9 = false;\r\n this.cap10 = false;\r\n this.cap11 = false;\r\n this.cap12 = false;\r\n this.cap13 = false;\r\n this.cap14 = false;\r\n this.cap15 = false;\r\n this.cap16 = false;\r\n this.cap17 = false;\r\n this.cap18 = false;\r\n this.cap19 = false;\r\n this.cap20 = false;\r\n this.cap21 = false;\r\n this.cap22 = false;\r\n this.cap23 = false;\r\n this.cap24 = false;\r\n this.cap25 = false;\r\n this.cap26 = false;\r\n this.cap27 = false;\r\n this.cap28 = false;\r\n this.cap29 = false;\r\n this.cap30 = false;\r\n this.cap31 = false;\r\n this.cap32 = false;\r\n this.cap33 = false;\r\n this.cap34 = false;\r\n this.cap35 = false;\r\n this.cap36 = false;\r\n this.cap37 = false;\r\n this.cap38 = false;\r\n this.cap39 = false;\r\n this.cap40 = false;\r\n this.cap41 = false;\r\n this.cap42 = false;\r\n this.cap43 = false;\r\n this.cap44 = false;\r\n this.cap45 = false;\r\n this.cap46 = false;\r\n this.cap47 = false;\r\n this.cap48 = false;\r\n this.cap49 = false;\r\n this.cap50 = false;\r\n this.cap51 = false;\r\n this.cap52 = false;\r\n this.cap53 = false;\r\n this.cap54 = false;\r\n this.cap55 = false;\r\n this.cap56 = false;\r\n this.cap57 = false;\r\n this.cap58 = false;\r\n this.cap59 = false;\r\n this.cap60 = false;\r\n this.cap61 = false;\r\n this.cap62 = false;\r\n this.cap63 = false;\r\n this.cap64 = false;\r\n this.cap65 = false;\r\n this.cap66 = false;\r\n this.cap67 = false;\r\n this.cap68 = false;\r\n this.cap69 = false;\r\n this.cap70 = false;\r\n this.cap71 = false;\r\n this.cap72 = false;\r\n this.cap73 = false;\r\n this.cap74 = false;\r\n this.cap75 = false;\r\n this.cap76 = false;\r\n this.cap77 = false;\r\n this.cap78 = false;\r\n this.cap79 = false;\r\n this.cap80 = false;\r\n this.cap81 = false;\r\n this.cap82 = false;\r\n this.cap83 = false;\r\n this.cap84 = false;\r\n this.cap85 = false;\r\n this.cap86 = false;\r\n this.cap87 = false;\r\n this.cap88 = false;\r\n this.cap89 = false;\r\n this.cap90 = false;\r\n this.cap91 = false;\r\n this.cap92 = false;\r\n this.cap93 = false;\r\n this.cap94 = false;\r\n this.cap95 = false;\r\n this.cap96 = false;\r\n this.cap97 = false;\r\n this.cap98 = false;\r\n this.cap99 = false;\r\n this.cap100 = false;\r\n }\r\n\r\n roleID: number;\r\n roleName: string;\r\n cap1: boolean;\r\n cap2: boolean;\r\n cap3: boolean;\r\n cap4: boolean;\r\n cap5: boolean;\r\n cap6: boolean;\r\n cap7: boolean;\r\n cap8: boolean;\r\n cap9: boolean;\r\n cap10: boolean;\r\n cap11: boolean;\r\n cap12: boolean;\r\n cap13: boolean;\r\n cap14: boolean;\r\n cap15: boolean;\r\n cap16: boolean;\r\n cap17: boolean;\r\n cap18: boolean;\r\n cap19: boolean;\r\n cap20: boolean;\r\n cap21: boolean;\r\n cap22: boolean;\r\n cap23: boolean;\r\n cap24: boolean;\r\n cap25: boolean;\r\n cap26: boolean;\r\n cap27: boolean;\r\n cap28: boolean;\r\n cap29: boolean;\r\n cap30: boolean;\r\n cap31: boolean;\r\n cap32: boolean;\r\n cap33: boolean;\r\n cap34: boolean;\r\n cap35: boolean;\r\n cap36: boolean;\r\n cap37: boolean;\r\n cap38: boolean;\r\n cap39: boolean;\r\n cap40: boolean;\r\n cap41: boolean;\r\n cap42: boolean;\r\n cap43: boolean;\r\n cap44: boolean;\r\n cap45: boolean;\r\n cap46: boolean;\r\n cap47: boolean;\r\n cap48: boolean;\r\n cap49: boolean;\r\n cap50: boolean;\r\n cap51: boolean;\r\n cap52: boolean;\r\n cap53: boolean;\r\n cap54: boolean;\r\n cap55: boolean;\r\n cap56: boolean;\r\n cap57: boolean;\r\n cap58: boolean;\r\n cap59: boolean;\r\n cap60: boolean;\r\n cap61: boolean;\r\n cap62: boolean;\r\n cap63: boolean;\r\n cap64: boolean;\r\n cap65: boolean;\r\n cap66: boolean;\r\n cap67: boolean;\r\n cap68: boolean;\r\n cap69: boolean;\r\n cap70: boolean;\r\n cap71: boolean;\r\n cap72: boolean;\r\n cap73: boolean;\r\n cap74: boolean;\r\n cap75: boolean;\r\n cap76: boolean;\r\n cap77: boolean;\r\n cap78: boolean;\r\n cap79: boolean;\r\n cap80: boolean;\r\n cap81: boolean;\r\n cap82: boolean;\r\n cap83: boolean;\r\n cap84: boolean;\r\n cap85: boolean;\r\n cap86: boolean;\r\n cap87: boolean;\r\n cap88: boolean;\r\n cap89: boolean;\r\n cap90: boolean;\r\n cap91: boolean;\r\n cap92: boolean;\r\n cap93: boolean;\r\n cap94: boolean;\r\n cap95: boolean;\r\n cap96: boolean;\r\n cap97: boolean;\r\n cap98: boolean;\r\n cap99: boolean;\r\n cap100: boolean;\r\n}\r\n","import { Injectable, Inject } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { HttpClient, HttpHeaders, HttpErrorResponse, } from \"@angular/common/http\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class HttpService {\r\n\r\n constructor(private httpClient: HttpClient, private router: Router) { }\r\n\r\n\r\n //----Set apiUrl from the data service of the project---//\r\n public apiUrl = \"https://api.solinc.co.zw/\"; //default\r\n\r\n\r\n\r\n //POST\r\n public Post(service: string, data: any): Observable<any> {\r\n return this.httpClient.post(this.apiUrl + service, data, this.httpOptions_Legacy);\r\n }\r\n\r\n //PUT\r\n public Put(service: string, data: any): Observable<any> {\r\n return this.httpClient.put(this.apiUrl + service, data, this.httpOptions_Legacy);\r\n }\r\n\r\n\r\n //POST RAW\r\n public Post_Raw(url: string, data: any): Observable<any> {\r\n\r\n return this.httpClient.post(url, data, this.httpOptions_Legacy);\r\n }\r\n\r\n //POST with file\r\n public Post_WithFile(service: string, data: any, file: File) {\r\n\r\n let formData: FormData = new FormData();\r\n\r\n if (file) {\r\n formData.append(\"uploadFile\", file, file.name);\r\n }\r\n\r\n formData.append(\"data\", JSON.stringify(data));\r\n\r\n return this.httpClient.post(this.apiUrl + service, formData, this.httpOptions_Files);\r\n }\r\n\r\n // //POST with files\r\n public Post_FormData(service: string, formData: FormData) {\r\n\r\n return this.httpClient.post(this.apiUrl + service, formData, this.httpOptions_Files);\r\n }\r\n\r\n //GET\r\n public Get(service: string): Observable<any> {\r\n return this.httpClient.get(this.apiUrl + service, this.httpOptions_Legacy);\r\n }\r\n\r\n //Get RAW\r\n public Get_Raw(url: string): Observable<any> {\r\n return this.httpClient.get(url, this.httpOptions_Legacy);\r\n }\r\n\r\n //ERROR\r\n public Error(error: HttpErrorResponse) {\r\n if (error.statusText == \"Unauthorized\") {\r\n this.router.navigate([\"login\"]);\r\n return \"Unauthorized\";\r\n } else {\r\n return \"Connection failed\";\r\n }\r\n }\r\n\r\n private httpOptions_Legacy = {\r\n headers: new HttpHeaders({\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Basic \" + btoa(\"emptyUser:emptyToken\"),\r\n }),\r\n resposeType: \"json\",\r\n };\r\n\r\n private httpOptions_Files = {\r\n headers: new HttpHeaders({\r\n Authorization: \"Basic \" + btoa(\"tnyagato:j5Toszfr@ys\"),\r\n }),\r\n resposeType: \"json\",\r\n };\r\n}\r\n","// import { Core } from 'tin-core';\r\nimport { logging } from 'protractor';\r\nimport { Injectable } from \"@angular/core\";\r\nimport { LogLevel } from '../classes/Classes';\r\nimport { Core } from '../classes/TinCore';\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class LogService {\r\n constructor() { }\r\n\r\n level: LogLevel = LogLevel.All;\r\n\r\n logToConsole: boolean = true;\r\n\r\n logToApi: boolean = false;\r\n\r\n debug(msg: string, ...optionalParams: any[]) {\r\n this.writeToLog(msg, LogLevel.Debug, optionalParams);\r\n }\r\n\r\n info(msg: string, ...optionalParams: any[]) {\r\n this.writeToLog(msg, LogLevel.Info, optionalParams);\r\n }\r\n\r\n warn(msg: string, ...optionalParams: any[]) {\r\n this.writeToLog(msg, LogLevel.Warn, optionalParams);\r\n }\r\n\r\n error(msg: string, ...optionalParams: any[]) {\r\n this.writeToLog(msg, LogLevel.Error, optionalParams);\r\n }\r\n\r\n fatal(msg: string, ...optionalParams: any[]) {\r\n this.writeToLog(msg, LogLevel.Fatal, optionalParams);\r\n }\r\n\r\n log(msg: string, ...optionalParams: any[]) {\r\n this.writeToLog(msg, LogLevel.All, optionalParams);\r\n\r\n }\r\n\r\n private writeToLog(msg: string, level: LogLevel, params: any[]) {\r\n\r\n if (this.shouldLog(level)) {\r\n\r\n // Build log string\r\n let value: string = Core.getFormatedDate(Date(), false).replace(\"T\", \" \");\r\n // value += \" - Type: \" + LogLevel[this.level];\r\n value += \" - Message: \" + msg;\r\n\r\n\r\n if (params.length) {\r\n value += \" - Extra Info: \" + this.formatParams(params);\r\n }\r\n\r\n // Log the value\r\n if (this.logToConsole) {\r\n console.log(value);\r\n }\r\n\r\n if (this.logToApi) {\r\n //Call API post\r\n }\r\n\r\n }\r\n }\r\n\r\n private formatParams(params: any[]): string {\r\n\r\n let ret: string = params.join(\",\");\r\n // Is there at least one object in the array?\r\n if (params.some((p) => typeof p == \"object\")) {\r\n ret = \"\";\r\n // Build comma-delimited string\r\n for (let item of params) {\r\n ret += JSON.stringify(item) + \",\";\r\n }\r\n }\r\n return ret;\r\n }\r\n\r\n private shouldLog(level: LogLevel): boolean {\r\n\r\n let ret: boolean = false;\r\n\r\n if (\r\n (level >= this.level && level !== LogLevel.Off) ||\r\n this.level === LogLevel.All\r\n ) {\r\n ret = true;\r\n }\r\n\r\n return ret;\r\n }\r\n}\r\n\r\n\r\n\r\n","import { MessageService } from './message.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRoute } from '@angular/router';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { StorageService } from './storage.service';\r\nimport { LogService } from './log.service';\r\nimport { Role } from '../classes/Classes';\r\nimport { HttpService } from './http.service';\r\nimport { Constants } from '../classes/TinCore';\r\nimport { conditionallyCreateMapObjectLiteral } from '@angular/compiler/src/render3/view/util';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class AuthService implements CanActivate {\r\n\r\n constructor(private _route: ActivatedRoute, private storage: StorageService, public router: Router, private httpService: HttpService, private messageService: MessageService, private logService: LogService) { }\r\n\r\n //Logged in\r\n private loggedin: boolean = false;\r\n private loggedinSource = new BehaviorSubject(this.loggedin);\r\n public loggedinObserv = this.loggedinSource.asObservable();\r\n Updateloggedin(loggedin: boolean) {\r\n this.loggedinSource.next(loggedin);\r\n this.loggedin = loggedin;\r\n }\r\n\r\n //Token\r\n private token: string = \"\";\r\n public tokenSource = new BehaviorSubject(this.token);\r\n public tokenObserv = this.tokenSource.asObservable();\r\n UpdateToken(newToken: string) {\r\n this.tokenSource.next(newToken);\r\n\r\n }\r\n\r\n //TokenExpire\r\n private tokenExpire: string = \"\";\r\n public tokenExpireSource = new BehaviorSubject(this.tokenExpire);\r\n public tokenExpireObserv = this.tokenExpireSource.asObservable();\r\n UpdateTokenExpire(newTokenExpire: string) {\r\n this.tokenExpireSource.next(newTokenExpire);\r\n\r\n }\r\n\r\n //Current User\r\n public currentUser: string = \"tnyagato\";\r\n private currentUserSource = new BehaviorSubject(this.currentUser);\r\n public currentUserObserv = this.currentUserSource.asObservable();\r\n UpdateCurrentUser(newUser: string) {\r\n this.currentUserSource.next(newUser.toLocaleLowerCase());\r\n this.currentUser = newUser.toLocaleLowerCase();\r\n }\r\n\r\n //Line Manager\r\n private islineManager: boolean = false;\r\n private isLineManagerSource = new BehaviorSubject(this.islineManager);\r\n public isLineManagerObserv = this.isLineManagerSource.asObservable();\r\n UpdateIsLineManager(manager: boolean) {\r\n this.isLineManagerSource.next(manager);\r\n }\r\n\r\n //Roles\r\n private currentRole = new Role;\r\n public currentRoleSource = new BehaviorSubject(this.currentRole);\r\n public myRoleObserv = this.currentRoleSource.asObservable();\r\n UpdateRole(role) {\r\n this.currentRoleSource.next(role);\r\n }\r\n\r\n //Logged in FirstName\r\n private loggedUserSource = new BehaviorSubject(\"tnyagato\");\r\n public loggedUserFullName = this.loggedUserSource.asObservable();\r\n updateLoggedUserFullName(userName: string) {\r\n this.loggedUserSource.next(userName);\r\n }\r\n\r\n\r\n //Authorisation\r\n isAuthorised(capName: string): boolean {\r\n\r\n if (!this.currentRoleSource.value[capName]) {\r\n // this.logService.info(`authorise: ${this.currentRoleSource.value.roleName} not authorised for ${capName}`);\r\n this.router.navigate([\"home\"]);\r\n this.messageService.toast(`Unauthorised: ${capName}`);\r\n\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n\r\n }\r\n\r\n isValidToken() {\r\n\r\n let tokenExpire: Date = new Date(this.tokenExpireSource.value);\r\n let nowDate: Date = new Date();\r\n\r\n let valid: boolean = tokenExpire > nowDate;\r\n\r\n if (!valid) {\r\n\r\n this.router.navigate([\"login\"]);\r\n this.messageService.toast(`Expired Session`);\r\n }\r\n\r\n return valid\r\n }\r\n\r\n canActivate() {\r\n\r\n if (this.loggedin && this.isValidToken()) {\r\n // this.logService.info(\"authentication: logged in\");\r\n return true;\r\n }\r\n\r\n if (localStorage.getItem(Constants.AUTH_USER) === null) {\r\n // this.logService.info(\"authentication: not logged and no cache\");\r\n\r\n this.Updateloggedin(false);\r\n\r\n let url = new URL(window.location.href);\r\n let path = url.hash.replace(\"#/\",\"\");\r\n\r\n\r\n this.router.navigate([\"login\"], {\r\n relativeTo: this._route,\r\n queryParams: {redirectTo: path},\r\n queryParamsHandling: 'merge',\r\n skipLocationChange: false\r\n });\r\n\r\n return false;\r\n\r\n } else {\r\n // this.logService.info(\"authentication: not logged but allowed login\");\r\n\r\n this.Updateloggedin(true);\r\n\r\n this.storage.get(Constants.AUTH_USER).then((resp: any) => {\r\n this.UpdateCurrentUser(resp);\r\n });\r\n\r\n this.storage.get(Constants.AUTH_NAME).then((resp: any) => {\r\n this.updateLoggedUserFullName(resp);\r\n });\r\n\r\n this.storage.get(Constants.AUTH_ROLES).then((resp) => {\r\n let ret = JSON.parse(resp);\r\n\r\n this.UpdateRole(ret);\r\n });\r\n\r\n this.storage.get(Constants.AUTH_TOKEN).then((resp: any) => {\r\n this.UpdateToken(resp);\r\n });\r\n\r\n this.storage.get(Constants.AUTH_TOKEN_EXPIRE).then((resp: any) => {\r\n this.UpdateTokenExpire(resp);\r\n this.isValidToken();\r\n });\r\n\r\n return true;\r\n }\r\n }\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { AppConfig, CapItem, User } from '../classes/Classes';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { HttpService } from './http.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DataServiceLib {\r\n\r\n constructor(private httpService: HttpService) {\r\n\r\n this.appConfig.appName = \"App-Name\";\r\n this.appConfig.logo = \"./assets/logo.png\"\r\n this.appConfig.ADAuth = true;\r\n this.appConfig.capItems = [this.capAdmin, this.capHome];\r\n\r\n\r\n this.capHome.name = \"cap1\";\r\n this.capHome.display = \"Home\";\r\n this.capHome.link = \"home\";\r\n\r\n this.capAdmin.name = \"cap2\";\r\n this.capAdmin.display = \"Admin\";\r\n this.capAdmin.capSubItems = [this.capUsers, this.capRoles, this.capLogs, this.capSettings];\r\n\r\n this.capUsers.name = \"cap3\";\r\n this.capUsers.display = \"Users\";\r\n this.capUsers.link = \"home/admin/users\";\r\n\r\n this.capRoles.name = \"cap4\"\r\n this.capRoles.display = \"Roles\";\r\n this.capRoles.link = \"home/admin/roles\";\r\n\r\n this.capLogs.name = \"cap5\"\r\n this.capLogs.display = \"Logs\";\r\n this.capLogs.link = \"home/admin/logs\";\r\n\r\n this.capSettings.name = \"cap6\"\r\n this.capSettings.display = \"Settings\";\r\n this.capSettings.link = \"home/admin/settings\";\r\n }\r\n\r\n\r\n appConfig = new AppConfig();\r\n private appConfigSource = new BehaviorSubject(this.appConfig);\r\n public appConfigObserv = this.appConfigSource.asObservable();\r\n UpdateAppConfig(config: AppConfig) {\r\n this.appConfigSource.next(config);\r\n this.appConfig = config;\r\n }\r\n\r\n // caps: CapItem[];\r\n capHome = new CapItem;\r\n capAdmin = new CapItem;\r\n capUsers = new CapItem;\r\n capRoles = new CapItem;\r\n capLogs = new CapItem;\r\n capSettings = new CapItem;\r\n\r\n\r\n public tmpProfileuserName = \"\";\r\n\r\n\r\n //Users\r\n public GetUser() {\r\n return this.httpService.Get(\"User/all/x\");\r\n }\r\n\r\n public RegisterAccount(u) {\r\n return this.httpService.Post(\"User/register\", u);\r\n }\r\n\r\n public GetUserByID(val: string) {\r\n return this.httpService.Get(`User/id/${val}`);\r\n }\r\n\r\n public UpdateUser(profile) {\r\n return this.httpService.Post(\"User/edit\", profile);\r\n }\r\n\r\n public UnlockUser(user) {\r\n return this.httpService.Post(\"User/unlock\", user);\r\n }\r\n\r\n public LockUser(user) {\r\n return this.httpService.Post(\"User/lock\", user);\r\n }\r\n\r\n public DeleteUser(user) {\r\n return this.httpService.Post(\"User/delete\", user);\r\n }\r\n\r\n public Login(u: User) {\r\n return this.httpService.Post(\"User/login\", u);\r\n }\r\n\r\n public ChangePassword(u) {\r\n return this.httpService.Post(\"User/changepassword-self\", u);\r\n }\r\n\r\n public ChangePasswordAdmin(u) {\r\n return this.httpService.Post(\"User/changepassword-admin\", u);\r\n }\r\n\r\n public SelfReset(u: User): Observable<any> {\r\n return this.httpService.Post(\"Basic/SelfReset\", u);\r\n }\r\n\r\n\r\n //Roles\r\n\r\n public PostRole(role, action: string) {\r\n return this.httpService.Post(`Role?action=${action}`, role);\r\n }\r\n\r\n public PutRole(role) {\r\n return this.httpService.Put(\"Role\", role);\r\n }\r\n\r\n public GetRole(by: string, val: string) {\r\n return this.httpService.Get(\"Role/all/x\");\r\n }\r\n\r\n\r\n\r\n //Logs\r\n public GetLog(by: string, val: string) {\r\n return this.httpService.Get(\"Log/all/x\");\r\n }\r\n\r\n\r\n //Settings\r\n public GetSetting(by: string, val: string) {\r\n return this.httpService.Get(\"Setting/all/x\");\r\n }\r\n\r\n public UpdateSetting(setting, action: string) {\r\n return this.httpService.Post(`Setting?action=${action}`, setting);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoaderService {\r\n\r\n public isLoading = new BehaviorSubject(false);\r\n constructor() { }\r\n}\r\n","<div class=\"progress-loader\" style=\"z-index: 9999;\" [hidden]=\"!loading\">\r\n <div class=\"loading-spinner\">\r\n\r\n <img *ngIf=\"logo==''\" style=\"width: 100px;\"\r\n src=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTAgMjUwIj4KICAgIDxwYXRoIGZpbGw9IiNERDAwMzEiIGQ9Ik0xMjUgMzBMMzEuOSA2My4ybDE0LjIgMTIzLjFMMTI1IDIzMGw3OC45LTQzLjcgMTQuMi0xMjMuMXoiIC8+CiAgICA8cGF0aCBmaWxsPSIjQzMwMDJGIiBkPSJNMTI1IDMwdjIyLjItLjFWMjMwbDc4LjktNDMuNyAxNC4yLTEyMy4xTDEyNSAzMHoiIC8+CiAgICA8cGF0aCAgZmlsbD0iI0ZGRkZGRiIgZD0iTTEyNSA1Mi4xTDY2LjggMTgyLjZoMjEuN2wxMS43LTI5LjJoNDkuNGwxMS43IDI5LjJIMTgzTDEyNSA1Mi4xem0xNyA4My4zaC0zNGwxNy00MC45IDE3IDQwLjl6IiAvPgogIDwvc3ZnPg==\"\r\n\r\n >\r\n\r\n <img *ngIf=\"logo!=''\" [src]=\"logo\" style=\"width: 100px;\" />\r\n\r\n\r\n <span id=\"loadingMessage\" class=\"loading-message\">Please wait...</span>\r\n </div>\r\n</div>\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { LoaderService } from '../../services/loader.service';\r\n\r\n@Component({\r\n selector: 'spa-loader',\r\n templateUrl: './loader.component.html',\r\n styleUrls: ['./loader.component.css']\r\n})\r\nexport class LoaderComponent implements OnInit {\r\n\r\n constructor(private loaderService: LoaderService) {\r\n\r\n this.loaderService.isLoading.subscribe((v) => {\r\n this.loading = v;\r\n });\r\n\r\n }\r\n ngOnInit() {\r\n }\r\n\r\n @Input() logo = \"\";\r\n loading: boolean;\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatNativeDateModule, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule, MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material/dialog';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSliderModule } from '@angular/material/slider';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n\r\n\r\n ],\r\n exports: [\r\n CommonModule,FormsModule, ReactiveFormsModule,\r\n MatMenuModule, MatSliderModule, MatTableModule, MatPaginatorModule,\r\n MatCheckboxModule, MatBadgeModule, MatButtonModule, MatIconModule, MatDialogModule, MatSnackBarModule,\r\n MatTabsModule, MatFormFieldModule, MatInputModule, MatCardModule, MatChipsModule, MatSelectModule,\r\n MatNativeDateModule, MatProgressSpinnerModule, MatListModule, MatAutocompleteModule, MatTooltipModule, MatSortModule,\r\n MatDatepickerModule, MatStepperModule, MatRadioModule,\r\n ],\r\n providers:[\r\n { provide: MAT_DIALOG_DEFAULT_OPTIONS, useValue: { disableClose: true, hasBackdrop: true } },\r\n { provide: MAT_DATE_LOCALE, useValue: \"en-GB\" },\r\n ]\r\n})\r\nexport class SpaMatModule { }\r\n","import { Router } from '@angular/router';\r\nimport { AuthService } from './auth.service';\r\nimport { MessageService } from './message.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpResponse, HttpRequest, HttpHandler, HttpEvent, HttpInterceptor, HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { LoaderService } from './loader.service';\r\nimport { LogService } from './log.service';\r\n\r\n@Injectable()\r\nexport class LoaderInterceptor implements HttpInterceptor {\r\n\r\n private requests: HttpRequest<any>[] = [];\r\n\r\n constructor(private loaderService: LoaderService, private messageService: MessageService, private authService: AuthService, private router: Router, private logService: LogService) { }\r\n\r\n\r\n removeRequest(req: HttpRequest<any>) {\r\n\r\n const i = this.requests.indexOf(req);\r\n\r\n if (i >= 0) {\r\n this.requests.splice(i, 1);\r\n }\r\n\r\n this.loaderService.isLoading.next(this.requests.length > 0);\r\n }\r\n\r\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n\r\n\r\n let requestClone = request.clone({\r\n setHeaders: {\r\n Authorization: \"Bearer \" + this.authService.tokenSource.value\r\n }\r\n });\r\n\r\n this.requests.push(requestClone);\r\n\r\n if (this.requests.length > 1) {\r\n this.logService.info(\"Multiple connections detected > \" + this.requests.length)\r\n }\r\n\r\n this.loaderService.isLoading.next(true);\r\n\r\n return Observable.create(observer => {\r\n\r\n const subscription = next.handle(requestClone).subscribe(event => {\r\n\r\n if (event instanceof HttpResponse) {\r\n this.removeRequest(requestClone);\r\n observer.next(event);\r\n }\r\n\r\n\r\n\r\n },\r\n (error: HttpErrorResponse) => {\r\n\r\n\r\n\r\n this.removeRequest(requestClone);\r\n observer.error(error);\r\n\r\n if (error.status === 401) {\r\n this.router.navigate([\"login\"]);\r\n this.messageService.toast('Unauthorised: Please login again')\r\n }\r\n else if (error.status ===500){\r\n console.log(error.error)\r\n this.messageService.toast('System Error')\r\n }\r\n else if (error.statusText == 'Unknown Error'){\r\n this.messageService.toast('Connection Error')\r\n }\r\n else{\r\n this.messageService.toast('Error: ' + error.statusText)\r\n }\r\n\r\n },\r\n () => {\r\n this.removeRequest(requestClone);\r\n observer.complete();\r\n });\r\n\r\n\r\n // remove request from queue when cancelled\r\n return () => {\r\n this.removeRequest(requestClone);\r\n subscription.unsubscribe();\r\n };\r\n\r\n });\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-tin-spa',\r\n template: `\r\n <p>\r\n tin-spa works!\r\n </p>\r\n `,\r\n styles: []\r\n})\r\nexport class TinSpaComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","<header *ngIf=\"loggedin\">\r\n <nav class=\"toolbar navbar navbar-expand-sm navbar-toggleable-sm navbar-light border-bottom box-shadow mb-3 \" style=\"padding-right: 10px;\">\r\n <div class=\"container-fluid\" style=\"padding-right: 0px;\">\r\n <!--<a class=\"navbar-brand\" [routerLink]=\"['/']\">Orbit</a>-->\r\n\r\n <img *ngIf=\"appConfig.logo!=''\" [src]=\"appConfig.logo\" style=\"height: 50px; margin-right: 2em\" />\r\n\r\n\r\n <div style=\"font-size: 20px;\">\r\n {{appConfig.appName}}\r\n </div>\r\n\r\n\r\n <button class=\"navbar-toggler\"\r\n type=\"button\"\r\n data-toggle=\"collapse\"\r\n data-target=\".navbar-collapse\"\r\n aria-label=\"Toggle navigation\"\r\n [attr.aria-expanded]=\"isExpanded\"\r\n (click)=\"toggle()\">\r\n <span class=\"navbar-toggler-icon\"></span>\r\n </button>\r\n\r\n <div *ngIf=\"myRole\" class=\"navbar-collapse collapse d-sm-inline-flex flex-sm-row-reverse stack-top\" style=\"margin-right: 0px;\" [ngClass]=\"{ show: isExpanded }\" >\r\n\r\n <button mat-icon-button (click)=\"redirectTo('login')\"> <mat-icon>logout</mat-icon> </button>\r\n\r\n <button id=\"btnUser\" mat-button [matMenuTriggerFor]=\"profileMenu\" style=\"margin-left:2em\"><mat-icon>account_circle</mat-icon> &nbsp;{{loggedUserFullName}}</button>\r\n\r\n <mat-menu #profileMenu=\"matMenu\">\r\n <button id=\"btnProfile\" mat-menu-item (click)=\"redirectTo('home/user/profile')\" >Profile</button>\r\n <button id=\"btnLogOff\" mat-menu-item (click)=\"redirectTo('login')\">Log Off</button>\r\n </mat-menu>\r\n\r\n <div *ngFor=\"let item of appConfig.capItems\">\r\n\r\n <!-- Menu Item -->\r\n <button id=\"btnMenu\" *ngIf=\"myRole[item.name] && !item.capSubItems && item.showMenu\" mat-button (click)=\"redirectTo(item.link)\">{{item.display}}</button>\r\n\r\n <!-- Menu Item with Sub items ignored -->\r\n <button id=\"btnMenu\" *ngIf=\"myRole[item.name] && item.capSubItems && item.showMenu && item.ignoreSubsDisplay\" mat-button (click)=\"redirectTo(item.link)\">{{item.display}}</button>\r\n\r\n <!-- Menu Item with Sub items to display-->\r\n <button id=\"btnMenu\" *ngIf=\"myRole[item.name] && item.capSubItems && item.showMenu && !item.ignoreSubsDisplay\" mat-button [matMenuTriggerFor]=\"adminMenu\">{{item.display}}</button>\r\n\r\n\r\n <!-- Sub Menu Items -->\r\n <mat-menu #adminMenu=\"matMenu\">\r\n\r\n <div *ngFor=\"let subItem of item.capSubItems\">\r\n\r\n <button *ngIf=\"myRole[subItem.name] && subItem.showMenu\" mat-menu-item (click)=\"redirectTo(subItem.link)\">{{subItem.display}}</button>\r\n\r\n </div>\r\n\r\n </mat-menu>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n </nav>\r\n</header>\r\n","import { AppConfig } from './../../classes/Classes';\r\nimport { Component, OnInit, Input } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from '../../services/auth.service';\r\n\r\n@Component({\r\n selector: 'spa-nav-menu',\r\n templateUrl: './nav-menu.component.html',\r\n styleUrls: ['./nav-menu.component.css']\r\n})\r\nexport class NavMenuComponent {\r\n\r\n constructor(public router: Router, public authService: AuthService) { }\r\n\r\n ngOnInit() {\r\n\r\n this.authService.loggedUserFullName.subscribe(user => this.loggedUserFullName = user)\r\n this.authService.myRoleObserv.subscribe(rol => this.myRole = rol);\r\n this.authService.loggedinObserv.subscribe(obj => this.loggedin = obj)\r\n\r\n }\r\n\r\n myRole;\r\n loggedUserFullName: string;\r\n loggedin: boolean;\r\n isExpanded = false;\r\n\r\n @Input() appConfig = new AppConfig();\r\n\r\n\r\n\r\n collapse() {\r\n this.isExpanded = false;\r\n }\r\n\r\n toggle() {\r\n this.isExpanded = !this.isExpanded;\r\n }\r\n\r\n // logoff() {\r\n // // this.authService.updateloggedin(false);\r\n // // this.authService.updateRole(new Role());\r\n // this.router.navigate([\"login\"]);\r\n // // this.storageService.clear();\r\n // }\r\n\r\n redirectTo(link: string){\r\n\r\n if (link!=\"\"){\r\n this.router.navigate([link]);\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","import { Router } from '@angular/router';\r\nimport { Component, OnInit } from '@angular/core';\r\n\r\nimport {Idle, DEFAULT_INTERRUPTSOURCES} from '@ng-idle/core';\r\nimport {Keepalive} from '@ng-idle/keepalive';\r\nimport { AuthService } from '../../services/auth.service';\r\n\r\n@Component({\r\n selector: 'spa-timeout',\r\n templateUrl: './timeout.component.html',\r\n styleUrls: ['./timeout.component.css']\r\n})\r\nexport class TimeoutComponent implements OnInit {\r\n\r\n constructor(private idle: Idle, private keepalive: Keepalive, public authService: AuthService, private router: Router) {\r\n\r\n this.authService.loggedinObserv.subscribe(obj => {\r\n this.loggedin = obj;\r\n // if (this.loggedin){\r\n // this.startWatch();\r\n // }else{\r\n // this.stopWatch();\r\n // }\r\n\r\n })\r\n\r\n // sets an idle timeout of 5 seconds, for testing purposes.\r\n idle.setIdle(900);\r\n // sets a timeout period of 5 seconds. after 10 seconds of inactivity, the user will be considered timed out.\r\n idle.setTimeout(10);\r\n // sets the default interrupts, in this case, things like clicks, scrolls, touches to the document\r\n idle.setInterrupts(DEFAULT_INTERRUPTSOURCES);\r\n\r\n\r\n idle.onIdleStart.subscribe(() => {\r\n this.idleState = 'You\\'ve gone idle!';\r\n });\r\n\r\n idle.onIdleEnd.subscribe(() => {\r\n this.idleState = 'No longer idle.';\r\n this.isWarning = false;\r\n });\r\n\r\n idle.onTimeoutWarning.subscribe((countdown) => {\r\n this.idleState = 'You will be signed out in ' + countdown + ' seconds!';\r\n\r\n if (this.loggedin){\r\n this.isWarning = true;\r\n }\r\n\r\n });\r\n\r\n idle.onTimeout.subscribe(() => {\r\n this.idleState = 'Timed out!';\r\n this.timedOut = true;\r\n\r\n //action\r\n this.stopWatch();\r\n });\r\n\r\n\r\n\r\n\r\n\r\n // sets the ping interval to 15 seconds\r\n keepalive.interval(15);\r\n\r\n keepalive.onPing.subscribe(() => {\r\n this.lastPing = new Date();\r\n });\r\n\r\n this.startWatch();\r\n }\r\n\r\n loggedin = false;\r\n idleState = 'Not started.';\r\n timedOut = false;\r\n lastPing?: Date = null;\r\n isWarning = false;\r\n\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n startWatch() {\r\n this.idle.watch();\r\n this.idleState = 'Started.';\r\n this.timedOut = false;\r\n this.isWarning = false;\r\n }\r\n\r\n stopWatch(){\r\n this.idle.stop();\r\n this.isWarning = false;\r\n this.router.navigate(['login']);\r\n }\r\n\r\n using(){\r\n //remove message and continue\r\n this.isWarning = false;\r\n }\r\n\r\n\r\n\r\n}\r\n","\r\n<div class=\"loading-spinner\" [hidden]=\"!isWarning\" >\r\n\r\n <div style=\"width: 500px; text-align: center;\">\r\n\r\n\r\n\r\n <div class=\"row\">\r\n <div class=\"col\">\r\n <img style=\"width: 100px;\"\r\n src=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTAgMjUwIj4KICAgIDxwYXRoIGZpbGw9IiNERDAwMzEiIGQ9Ik0xMjUgMzBMMzEuOSA2My4ybDE0LjIgMTIzLjFMMTI1IDIzMGw3OC45LTQzLjcgMTQuMi0xMjMuMXoiIC8+CiAgICA8cGF0aCBmaWxsPSIjQzMwMDJGIiBkPSJNMTI1IDMwdjIyLjItLjFWMjMwbDc4LjktNDMuNyAxNC4yLTEyMy4xTDEyNSAzMHoiIC8+CiAgICA8cGF0aCAgZmlsbD0iI0ZGRkZGRiIgZD0iTTEyNSA1Mi4xTDY2LjggMTgyLjZoMjEuN2wxMS43LTI5LjJoNDkuNGwxMS43IDI5LjJIMTgzTDEyNSA1Mi4xem0xNyA4My4zaC0zNGwxNy00MC45IDE3IDQwLjl6IiAvPgogIDwvc3ZnPg==\">\r\n </div>\r\n </div>\r\n\r\n <mat-card class=\"mat-elevation-z3\" >\r\n\r\n <mat-card-header>\r\n\r\n <h5>Are you still there ?</h5>\r\n\r\n </mat-card-header>\r\n\r\n <mat-card-content>\r\n\r\n <br>\r\n <span>{{idleState}}</span>\r\n\r\n <br>\r\n\r\n </mat-card-content>\r\n\r\n <mat-card-actions>\r\n\r\n <div class=\"row justify-content-around\">\r\n\r\n <div class=\"col-2\">\r\n <button style=\"width: 100px;\" mat-stroked-button color=\"primary\" (click)=\"using()\">Yes</button>\r\n </div>\r\n\r\n <div class=\"col-4\">\r\n <button style=\"width: 100px;\" mat-stroked-button color=\"primary\" (click)=\"stopWatch()\">No</button>\r\n </div>\r\n\r\n </div>\r\n\r\n </mat-card-actions>\r\n\r\n </mat-card>\r\n\r\n\r\n</div>\r\n\r\n</div>\r\n","<div >\r\n\r\n<div *ngIf=\"config.create.enabled || config.enableFilter\" class=\"row justify-content-between\" style=\"padding-bottom: 10px\">\r\n <div class=\"col\">\r\n<button *ngIf=\"config.create\" [disabled]=\"!config.create.enabled\" mat-raised-button color=\"primary\" (click)=\"create()\">{{config.create.display}}</button>\r\n</div>\r\n <div *ngIf=\"config.enableFilter\" class=\"col d-flex justify-content-end\">\r\n<mat-form-field style=\"font-size:12px;margin-right: 5px;\">\r\n<mat-label>Filter</mat-label>\r\n<input matInput [(ngModel)]=\"_filterText\" (keyup)=\"applyFilter($event.target.value)\" placeholder=\"Enter Filter text\" autocomplete=\"off\">\r\n</mat-form-field>\r\n<button mat-mini-fab color=\"primary\" (click)=\"load()\" style=\"margin-top:5px\" matTooltip=\"refresh data\" matTooltipPosition=\"right\"><mat-icon class=\"refreshIcon\">refresh</mat-icon></button>\r\n</div>\r\n</div>\r\n\r\n<div class=\"mat-elevation-z8\" *ngIf=\"data\">\r\n\r\n <table mat-table [dataSource]=\"data\">\r\n\r\n <ng-container *ngFor=\"let col of config.columns; let i = index\"\r\n\r\n [matColumnDef]=\"col.name\">\r\n <th mat-header-cell *matHeaderCellDef> {{col.display}} </th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n\r\n <!-- String -->\r\n <div *ngIf=\"(col.type==colType.String || col.type == null) && col.color == null\"> {{row[col.name]}}</div>\r\n\r\n <div [ngStyle]=\"{'color':col.color.name}\"\r\n *ngIf=\"(col.type==colType.String || col.type == null) && col.color != null && test(row[col.color.field], col.color.operator, col.color.value )\" >\r\n {{row[col.name]}}\r\n </div>\r\n\r\n <div\r\n *ngIf=\"(col.type==colType.String || col.type == null) && col.color != null && !test(row[col.color.field], col.color.operator, col.color.value )\" >\r\n {{row[col.name]}}\r\n </div>\r\n\r\n <!-- <div [ngStyle]=\"{'color':col.color.name}\"\r\n *ngIf=\"(col.type==colType.String || col.type == null) && col.color != null &&\r\n col.color.operator==op.Equal && row[col.color.field]==col.color.value\" >\r\n {{row[col.name]}}\r\n </div>\r\n\r\n <div [ngStyle]=\"{'color':col.color.name}\"\r\n *ngIf=\"(col.type==colType.String || col.type == null) && col.color != null &&\r\n col.color.operator==op.Greater && row[col.color.field]>col.color.value\" >\r\n {{row[col.name]}}\r\n </div>\r\n\r\n <div [ngStyle]=\"{'color':col.color.name}\"\r\n *ngIf=\"(col.type==colType.String || col.type == null) && col.color != null &&\r\n col.color.operator==op.Less && row[col.color.field]<col.color.value\" >\r\n {{row[col.name]}}\r\n </div>\r\n\r\n <div [ngStyle]=\"{'color':col.color.name}\"\r\n *ngIf=\"(col.type==colType.String || col.type == null) && col.color != null &&\r\n col.color.operator==op.NotEqual && row[col.color.field]!=col.color.value\" >\r\n {{row[col.name]}}\r\n </div> -->\r\n\r\n\r\n <!-- Date -->\r\n <div *ngIf=\"col.type==colType.Date\"> {{row[col.name] | date:'dd/MM/yyyy'}}</div>\r\n\r\n\r\n <!-- DateTime -->\r\n <div *ngIf=\"col.type==colType.DateTime\"> {{row[col.name] | date:'dd/MM/yyyy HH:mm'}}</div>\r\n\r\n\r\n <ng-container *ngFor=\"let icon of col.icons;\">\r\n <!-- <mat-icon *ngIf=\"col.type==colType.Icon && icon.operator==op.Equal && row[icon.field]==icon.value\"\r\n [ngStyle]=\"{'color':icon.color}\"\r\n [matTooltip]=\"icon.hint\" matTooltipPosition=\"above\">\r\n {{icon.name}}\r\n </mat-icon>\r\n\r\n <mat-icon *ngIf=\"col.type==colType.Icon && icon.operator==op.Greater && row[icon.field]>icon.value\"\r\n [ngStyle]=\"{'color':icon.color}\"\r\n [matTooltip]=\"icon.hint\" matTooltipPosition=\"above\">\r\n {{icon.name}}\r\n </mat-icon>\r\n\r\n <mat-icon *ngIf=\"col.type==colType.Icon && icon.operator==op.Less && row[icon.field]<icon.value\"\r\n [ngStyle]=\"{'color':icon.color}\"\r\n [matTooltip]=\"icon.hint\" matTooltipPosition=\"above\">\r\n {{icon.name}}\r\n </mat-icon>\r\n <mat-icon *ngIf=\"col.type==colType.Icon && icon.operator==op.NotEqual && row[icon.field]!=icon.value\"\r\n [ngStyle]=\"{'color':icon.color}\"\r\n [matTooltip]=\"icon.hint\" matTooltipPosition=\"above\">\r\n {{icon.name}}\r\n </mat-icon> -->\r\n\r\n <mat-icon *ngIf=\"col.type==colType.Icon && test(row[icon.field],icon.operator,icon.value)\"\r\n [ngStyle]=\"{'color':icon.color}\"\r\n [matTooltip]=\"icon.hint\" matTooltipPosition=\"above\">\r\n {{icon.name}}\r\n </mat-icon>\r\n\r\n </ng-container>\r\n\r\n </td>\r\n\r\n </ng-container>\r\n\r\n\r\n\r\n\r\n <ng-container matColumnDef=\"Action\">\r\n\r\n <th mat-header-cell *matHeaderCellDef> Action </th>\r\n <td mat-cell *matCellDef=\"let row\" [style]=\"styleString+';padding-right: 0px;'\">\r\n\r\n <ng-container *ngFor=\"let act of config.actions\">\r\n\r\n <button *ngIf=\" (act.disappear && (row[act.disappear.field] != act.disappear.value)) || !act.disappear\" mat-mini-fab\r\n\r\n [disabled]=\"(act.disable && (row[act.disable.field] == act.disable.value))\"\r\n [color]=\"act.color==null? 'primary' : act.color\"\r\n [matTooltip]=\"act.hint\" matTooltipPosition=\"above\"\r\n (click)=\"do(act.name,row)\" style=\"margin-right:5px\">\r\n <mat-icon>{{act.icon}}</mat-icon>\r\n\r\n </button>\r\n\r\n </ng-container>\r\n\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\" [ngClass]=\"{'make-gray': row[config.greyout.field]==config.greyout.value}\"></tr>\r\n\r\n </table>\r\n</div>\r\n<mat-paginator #tablePaginator [pageSizeOptions]=\"[10, 50, 100]\" showFirstLastButtons></mat-paginator>\r\n</div>\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActionResponse, Operator, TableColumnType, TableConfig } from '../../classes/Classes';\r\n\r\n@Component({\r\n selector: 'spa-table',\r\n templateUrl: './table.component.html',\r\n styleUrls: ['./table.component.css']\r\n})\r\nexport class TableComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.config.columns.forEach(element => {\r\n this.displayedColumns.push(element.name);\r\n });\r\n\r\n this.displayedColumns.push(\"Action\")\r\n\r\n this.styleString = `width: ${50 * this.config.actions.length}px`;\r\n\r\n }\r\n\r\n ngOnChanges(){\r\n this.data = new MatTableDataSource(this.data);\r\n this.data.paginator = this.tablePaginator;\r\n this.applyFilter(this._filterText);\r\n }\r\n\r\n\r\n @Input() config: TableConfig;\r\n @Input() data: any;\r\n @Output() dataChange = new EventEmitter();\r\n @Output() buttonClick = new EventEmitter();\r\n @Output() loadClick = new EventEmitter();\r\n @Output() createClick = new EventEmitter();\r\n\r\n @ViewChild('tablePaginator') tablePaginator: MatPaginator;\r\n\r\n colType = TableColumnType\r\n op = Operator\r\n\r\n displayedColumns: string[] = [];\r\n\r\n styleString: string;\r\n\r\n _filterText = \"\";\r\n applyFilter(filterValue: string) {\r\n this.data.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n do(name, item) {\r\n\r\n let resp = new ActionResponse();\r\n resp.name = name;\r\n resp.value = item;\r\n this.buttonClick.emit(resp);\r\n }\r\n\r\n\r\n create(){\r\n this.createClick.emit();\r\n }\r\n\r\n load(){\r\n this.loadClick.emit();\r\n }\r\n\r\n test(a:any, op: Operator, b: any){\r\n\r\n if (op == Operator.Equal){\r\n if (a == b){\r\n return true;\r\n }else{\r\n return false;\r\n }\r\n\r\n }\r\n\r\n if (op == Operator.Greater) {\r\n if (a > b) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n\r\n }\r\n\r\n if (op == Operator.Less) {\r\n if (a < b) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n\r\n }\r\n\r\n if (op == Operator.NotEqual) {\r\n if (a != b) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n"," <div class=\"row align-items-center\">\r\n\r\n <!-- <div class=\"col\" *ngFor=\"let row of tiles\" >\r\n\r\n <mat-card *ngIf=\"row.visible\">\r\n <div class=\"row d-flex justify-content-center\">\r\n\r\n <mat-label style=\"font-size:30px;font-weight:bold\" [ngStyle]=\"{'color':row.tileColor}\">{{row.tileValue}}</mat-label>\r\n\r\n </div>\r\n\r\n <div class=\"row d-flex justify-content-center\">\r\n\r\n <mat-label [ngStyle]=\"{'color':row.selected == true ? 'darkorange' : 'black' }\" style=\"font-size:12px;padding-left:5px;padding-right:5px\">{{row.tileName}}</mat-label>\r\n <mat-icon style=\"font-size: 17px; color:steelblue;\">info</mat-icon>\r\n\r\n </div>\r\n </mat-card>\r\n\r\n </div> -->\r\n\r\n <ng-container *ngFor=\"let row of tiles\">\r\n\r\n <mat-card class=\"col\" style=\"margin-left: 10px;margin-right: 10px\" *ngIf=\"row.visible\" (click)=\"clicked(row)\">\r\n\r\n <div class=\"row d-flex justify-content-center\">\r\n\r\n <mat-label style=\"font-weight:bold\" [ngStyle]=\"{'color':row.tileColor,'font-size':row.tileName == selected ? '35px' : '30px' }\">{{row.tileValue}}</mat-label>\r\n\r\n </div>\r\n\r\n <div class=\"row d-flex justify-content-center row align-items-center\">\r\n\r\n <mat-label [ngStyle]=\"{'font-size':row.tileName == selected ? '18px' : '12px' }\" style=\"padding-left:5px;padding-right:5px\">{{row.tileName}}</mat-label>\r\n <mat-icon [matTooltip]=\"row.info\" matTooltipPosition=\"above\" [ngStyle]=\"{'font-size':row.tileName == selected ? '20px' : '17px' }\" style=\" color:steelblue;\">info</mat-icon>\r\n\r\n </div>\r\n\r\n </mat-card>\r\n\r\n\r\n </ng-container>\r\n\r\n </div>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Tile } from '../../classes/Classes';\r\n\r\n\r\n@Component({\r\n selector: 'spa-tiles',\r\n templateUrl: './tiles.component.html',\r\n styleUrls: ['./tiles.component.css']\r\n})\r\nexport class TilesComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @Input() tiles: Tile[];\r\n\r\n @Input() clickable: boolean = false;\r\n @Output() tileClick = new EventEmitter();\r\n\r\n selected: string = \"\";\r\n\r\n clicked(v: Tile){\r\n\r\n if(!this.clickable) return;\r\n\r\n\r\n if(this.selected == v.tileName){\r\n this.tileClick.emit(\"\");\r\n this.selected = \"\";\r\n }else{\r\n this.tileClick.emit(v.tileName);\r\n this.selected = v.tileName;\r\n }\r\n\r\n\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'spa-date',\r\n templateUrl: './date.component.html',\r\n styleUrls: ['./date.component.css']\r\n})\r\nexport class DateComponent implements OnInit {\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @Input() date = new FormControl(new Date());\r\n @Input() display = \"\";\r\n @Input() readonly = false;\r\n\r\n currentYear = new Date().getFullYear();\r\n @Input() min = new FormControl(new Date(this.currentYear - 50, 0, 1));\r\n @Input() max = new FormControl(new Date(this.currentYear + 50, 0, 1));\r\n\r\n // @Output() dateChange = new EventEmitter();\r\n\r\n\r\n // minDate: Date = new Date(this.currentYear, 2, 2);\r\n // maxDate: Date = new Date(this.currentYear, 2, 10);\r\n\r\n\r\n // onChangeEvent(d){\r\n // // this.dateChange.emit(d);\r\n // }\r\n\r\n @Output() dateChange = new EventEmitter();\r\n\r\n onChangeEvent() {\r\n this.dateChange.emit();\r\n }\r\n\r\n}\r\n","\r\n<mat-form-field style=\"width:150px;margin-right:20px\">\r\n<input [formControl]=\"date\" [min]=\"min.value\" [max]=\"max.value\" matInput [matDatepicker]=\"picker_date\" [placeholder]=\"display\" (dateInput)=\"onChangeEvent()\" [readonly]=\"true\" [disabled]=\"readonly\">\r\n<mat-datepicker-toggle matSuffix [for]=\"picker_date\"></mat-datepicker-toggle>\r\n<mat-datepicker #picker_date></mat-datepicker>\r\n</mat-form-field>\r\n","<mat-form-field *ngIf=\"rows == '' && options.length==0\" hideRequiredMarker=\"true\" [hintLabel]=\"hint\" style=\"padding-right: 20px;\" [ngStyle]=\"{'width':width}\" >\r\n<mat-label *ngIf=\"format=='text'\">{{display}}</mat-label>\r\n<mat-label *ngIf=\"format=='date'\">{{display | date:'dd/MM/yyyy'}}</mat-label>\r\n<!-- <mat-label *ngIf=\"format=='datetime'\">{{display | date:'dd/MM/yyyy HH:mm'}}</mat-label> -->\r\n<input matInput autocomplete=\"off\" [(ngModel)]=\"value\" (change)=\"changed()\" (blur)=\"leaved()\" (keyup.enter)=\"enterPressed()\" [type]=\"type\" [placeholder]=\"placeholder\" [formControl]=\"control\" [required]=\"required\" [readonly]=\"readonly\"/>\r\n<mat-error *ngIf=\"control.invalid\">{{validate()}}</mat-error>\r\n</mat-form-field>\r\n\r\n\r\n<!-- TextArea copy - Only change input to textarea and change ngif to not -->\r\n\r\n<mat-form-field *ngIf=\"rows != '' && options.length==0\" hideRequiredMarker=\"true\" [hintLabel]=\"hint\" style=\"padding-right: 20px;\" [ngStyle]=\"{'width':width}\">\r\n<mat-label>{{display}}</mat-label>\r\n<textarea matInput autocomplete=\"off\" [rows]=\"rows\" [(ngModel)]=\"value\" (change)=\"changed()\" (keyup.enter)=\"enterPressed()\" [placeholder]=\"placeholder\" [formControl]=\"control\" [required]=\"required\" [readonly]=\"readonly\"></textarea>\r\n<mat-error *ngIf=\"control.invalid\">{{validate()}}</mat-error>\r\n</mat-form-field>\r\n\r\n\r\n\r\n<!-- Work in progress cant bind to value -->\r\n\r\n <!-- <mat-form-field *ngIf=\"options.length !=0\" hideRequiredMarker=\"true\" [hintLabel]=\"hint\" style=\"padding-right: 20px;\" [ngStyle]=\"{'width':width}\">\r\n <input type=\"text\" autocomplete=\"off\" [placeholder]=\"display\" (change)=\"changed2()\" matInput [formControl]=\"myControl\" [matAutocomplete]=\"auto\" [readonly]=\"readonly\">\r\n <mat-autocomplete #auto=\"matAutocomplete\">\r\n <mat-option *ngFor=\"let row of filteredOptions | async\" [value]=\"row[optionValue]\">\r\n {{row[optionDisplay]}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n</mat-form-field> -->\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Observable } from 'rxjs';\r\nimport { map, startWith } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'spa-text',\r\n templateUrl: './text.component.html',\r\n styleUrls: ['./text.component.css']\r\n})\r\nexport class TextComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n\r\n if(this.options.length > 0){\r\n this.initFilter();\r\n }\r\n\r\n if (this.placeholder == \"\") {\r\n this.placeholder = \"Enter \" + this.display;\r\n }\r\n\r\n }\r\n\r\n ngAfterViewInit(){\r\n\r\n if (this.readonly) {\r\n this.control.setValidators(null);\r\n this.control.updateValueAndValidity();\r\n }\r\n if (!this.required && !this.readonly){\r\n\r\n this.control.setValidators([Validators.minLength(this.min), Validators.maxLength(this.max), Validators.pattern(this.regex)]);\r\n this.control.updateValueAndValidity();\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n // options: FormGroup;\r\n hideRequiredControl = new FormControl(true);\r\n\r\n @Input() readonly = false;\r\n @Input() hint = \"\";\r\n @Input() display = \"\";\r\n @Input() placeholder = \"\";\r\n @Input() value = \"\";\r\n @Output() valueChange = new EventEmitter();\r\n @Input() format = \"text\";\r\n @Input() type = \"\";\r\n\r\n @Output() leave = new EventEmitter();\r\n @Output() enterPress = new EventEmitter();\r\n\r\n @Input() rows = \"\";\r\n @Input() width = \"100%\"\r\n\r\n\r\n //Autocomplete items\r\n @Input() options: any = [];\r\n @Input() optionValue = \"\";\r\n @Input() optionDisplay = \"\";\r\n\r\n myControl = new FormControl();\r\n filteredOptions: Observable<string[]>;\r\n\r\n private initFilter() {\r\n this.filteredOptions = this.myControl.valueChanges.pipe(\r\n startWith(\"\"),\r\n map((value) => this._filter(value))\r\n );\r\n }\r\n\r\n private _filter(value: string): string[] {\r\n const filterValue = value.toLowerCase();\r\n\r\n return this.options.filter((option) => option[`${this.optionDisplay}`].toLowerCase().includes(filterValue));\r\n }\r\n\r\n\r\n\r\n\r\n\r\n //validations\r\n @Input() required = true;\r\n @Input() min = 0;\r\n @Input() max = 9000000000000000; //Math.max\r\n @Input() regex = \"\" //\"[a-zA-Z ]*\" //\"/\\S+@\\S+\\.\\S+/\";\r\n\r\n changed(){\r\n\r\n // if (this.options.length > 0) {\r\n // this.value = this.myControl.value;\r\n // }\r\n\r\n this.valueChange.emit(this.value);\r\n\r\n }\r\n\r\n changed2() {\r\n\r\n // if (this.options.length > 0) {\r\n // this.value = this.myControl.value;\r\n // }\r\n\r\n this.valueChange.emit(this.myControl.value);\r\n\r\n }\r\n\r\n leaved(){\r\n this.leave.emit();\r\n }\r\n\r\n enterPressed() {\r\n this.enterPress.emit();\r\n }\r\n\r\n control = new FormControl( this.value, [Validators.required, Validators.minLength(this.min), Validators.maxLength(this.max), Validators.pattern(this.regex) ]);\r\n\r\n validate() : string{\r\n\r\n\r\n if ((this.required || this.min > 0) && this.control.hasError('required') ){\r\n return `Required`;\r\n }\r\n\r\n if (this.control.hasError('minlength') ){\r\n return `Minimun length is ${this.min}`;\r\n }\r\n\r\n if (this.control.hasError('maxlength')) {\r\n return `Maximum length is ${this.max}`;\r\n }\r\n\r\n if (this.control.hasError('pattern')) {\r\n return `Invalid Input`;\r\n }\r\n\r\n\r\n // if (this.regex != \"\"){\r\n\r\n // let r = new RegExp(this.regex, \"g\");\r\n\r\n // if (!r.test(this.value)){\r\n // this.valid = false;\r\n // this.errorMessage = \"Invalid input\";\r\n // return this.errorMessage;\r\n // }\r\n // }\r\n\r\n return \"\";\r\n }\r\n\r\n}\r\n","\r\n\r\n\r\n<div class=\"row mt-1\" style=\"margin-left: 1em;\">\r\n <mat-chip-list #chipList >\r\n <mat-chip *ngFor=\"let chip of chips let i = index\" selectable [removable]=\"removable\" style=\"font-size: 12px;\" [ngStyle]=\"{'padding-right': removable ? '5px':'12px'}\" (click)=\"clicked(chip)\" >\r\n <mat-icon *ngIf=\"icon != ''\" color=\"primary\" style=\"font-size: 22px;\">{{icon}}</mat-icon>\r\n\r\n {{chip}}\r\n\r\n <mat-icon *ngIf=\"removable\" style=\"font-size: 20px; margin-left: 5px;margin-top: 3px;margin-right: 0px; color: grey;\" (click)=\"removed(chip)\">cancel</mat-icon>\r\n </mat-chip>\r\n </mat-chip-list>\r\n</div>\r\n\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { MessageService } from '../../services/message.service';\r\n@Component({\r\n selector: 'spa-chips',\r\n templateUrl: './chips.component.html',\r\n styleUrls: ['./chips.component.css']\r\n})\r\nexport class ChipsComponent implements OnInit {\r\n\r\n constructor(private messageService: MessageService) { }\r\n\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n\r\n @Input() icon = \"\";\r\n @Input() removable = false;\r\n @Input() addable = false;\r\n\r\n\r\n\r\n @Input() chips: string[];\r\n // @Output() chipClick = new EventEmitter();\r\n\r\n @Output() click = new EventEmitter();\r\n\r\n @Output() remove = new EventEmitter();\r\n\r\n clicked(chip: string) {\r\n\r\n if (typeof chip != 'string') {\r\n return;\r\n }\r\n\r\n if (chip) {\r\n this.click.emit(chip);\r\n }\r\n }\r\n\r\n\r\n removed(chip) {\r\n\r\n // const index = this.chips.indexOf(chip);\r\n\r\n // if (index >= 0) {\r\n // this.chips.splice(index, 1);\r\n // }\r\n\r\n this.messageService.confirm(`Remove ${chip} ?`).subscribe((result) => {\r\n if (result == \"yes\") {\r\n\r\n this.remove.emit(chip);\r\n\r\n };\r\n });\r\n\r\n }\r\n\r\n}\r\n\r\n","//-------------------------------------------EDIT\r\n\r\nimport { Component, OnInit, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { HttpService } from '../../services/http.service';\r\n// import { HttpService } from 'tin-core';\r\n\r\n@Component({\r\n selector: 'app-editRequest',\r\n templateUrl: './viewerDialog.component.html',\r\n styleUrls: ['./viewer.component.css']\r\n})\r\nexport class viewerDialog implements OnInit {\r\n\r\n constructor(private httpService: HttpService, @Inject(MAT_DIALOG_DATA) public data) { }\r\n\r\n ngOnInit() {\r\n\r\n this.fileNames = this.data.fileNames;\r\n this.path = this.data.path;\r\n this.fileName = this.data.fileName;\r\n this.currIndex = this.data.fileNames.indexOf(this.fileName);\r\n this.setURL();\r\n\r\n }\r\n\r\n isProcessing: boolean = false;\r\n\r\n path: string;\r\n fileNames = new Array();\r\n fileName: string;\r\n currIndex = 0;\r\n\r\n currentFileUrl = \"\";\r\n\r\n\r\n previous() {\r\n\r\n if (this.fileNames.length == 0) {\r\n return;\r\n }\r\n\r\n if (this.currIndex -1 >= 0)\r\n {\r\n this.currIndex = this.currIndex - 1;\r\n }\r\n else if (this.currIndex == 0)\r\n {\r\n this.currIndex = this.fileNames.length -1;\r\n }\r\n\r\n this.setURL();\r\n\r\n }\r\n\r\n next() {\r\n\r\n if (this.fileNames.length == 0){\r\n return;\r\n }\r\n\r\n if (this.currIndex +1 < this.fileNames.length)\r\n {\r\n this.currIndex = this.currIndex + 1;\r\n }\r\n else if (this.currIndex +1 > this.fileNames.length -1)\r\n {\r\n this.currIndex = 0;\r\n }\r\n\r\n this.setURL();\r\n\r\n }\r\n\r\n imageDoc = false;\r\n setURL() {\r\n // this.currentFileUrl = this.httpService.apiUrl.replace(\"/api/\", \"/files/\") + '' + \"/\" + this.files[this.currIndex];\r\n\r\n this.currentFileUrl = `${this.httpService.apiUrl.replace(\"/api/\", \"/\")}${this.path.replace(\"//\", \"/\")}/${this.fileNames[this.currIndex]}` ;\r\n\r\n if (this.currentFileUrl.toLocaleLowerCase().endsWith(\".pdf\") || this.currentFileUrl.toLocaleLowerCase().endsWith(\".jpg\") || this.currentFileUrl.toLocaleLowerCase().endsWith(\".jpeg\")){\r\n this.imageDoc = true;\r\n }else{\r\n this.imageDoc = false\r\n window.open(this.currentFileUrl, '_blank');\r\n\r\n }\r\n\r\n }\r\n\r\n change(fileName){\r\n\r\n this.currIndex = this.fileNames.indexOf(fileName);\r\n this.setURL();\r\n }\r\n\r\n}\r\n","\r\n\r\n<mat-dialog-content class=\"mat-typography\">\r\n\r\n <div class=\"row\">\r\n\r\n <div class=\"col\">\r\n <ngx-doc-viewer *ngIf=\"imageDoc\"\r\n [url]=\"currentFileUrl\"\r\n viewer=\"url\"\r\n style=\"width:100%;height:60vh;\">\r\n </ngx-doc-viewer>\r\n\r\n <div *ngIf=\"!imageDoc\" class=\"d-flex justify-content-center row align-items-center\" style=\"height:60vh;\">\r\n\r\n This file type will be downloaded\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"col-3\">\r\n <spa-chips [chips]=\"fileNames\" display=\"Documents\" icon=\"description\" (click)=\"change($event)\"></spa-chips>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions>\r\n<button mat-button [disabled]=\"currIndex == 0\" (click)=\"previous()\" cdkFocusInitial>Previous</button>\r\n<button mat-button [disabled]=\"currIndex+1 == fileNames.length\" (click)=\"next()\" cdkFocusInitial>Next</button>\r\n<button mat-button mat-dialog-close>Cancel</button>\r\n</mat-dialog-actions>\r\n\r\n\r\n\r\n","<div class=\"tin-input-row mt-3\" *ngIf=\"title != ''\">\r\n <mat-label style=\"font-size: 20px; font-weight: 300\" > {{title}}</mat-label >\r\n</div>\r\n\r\n<spa-chips [chips]=\"fileNames\" [title]=\"title\" [removable]=\"removable\" icon=\"description\" (click)=\"viewDocs($event)\" (remove)=\"removed($event)\"></spa-chips>\r\n\r\n\r\n\r\n<div *ngIf=\"!fileNames\" class=\"d-flex justify-content-center row align-items-center\" style=\"max-height:200px\">\r\n\r\n No {{title.toLowerCase()}}\r\n\r\n</div>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { viewerDialog } from './viewerDialog.component';\r\n\r\n@Component({\r\n selector: 'spa-viewer',\r\n templateUrl: './viewer.component.html',\r\n styleUrls: ['./viewer.component.css']\r\n})\r\nexport class ViewerComponent implements OnInit {\r\n\r\n constructor(public dialog: MatDialog) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n\r\n @Input() dir = \"\";\r\n @Input() folderName=\"\";\r\n @Input() fileNames = new Array()\r\n @Input() removable = false;\r\n @Output() remove = new EventEmitter();\r\n @Input() display = \"Documents\";\r\n @Input() title = \"Documents\";\r\n\r\n // fileList: string[];\r\n\r\n\r\n viewDocs(fileName: string) {\r\n\r\n if (typeof fileName != 'string') {\r\n return;\r\n }\r\n\r\n\r\n\r\n const dialogRef = this.dialog.open(viewerDialog, {\r\n minWidth: '1500px',\r\n maxWidth: '80vw',\r\n\r\n data: { fileNames: this.fileNames, fileName: fileName, path:`${this.dir}/${this.folderName}` }\r\n });\r\n\r\n }\r\n\r\n removed(i){\r\n this.remove.emit(i);\r\n }\r\n\r\n}\r\n","\r\n<mat-form-field *ngIf=\"readonlyMode==''\" style=\"padding-right: 20px;\" floatLabel=\"always\" [ngStyle]=\"{'width':width}\">\r\n <mat-label>{{display}}</mat-label>\r\n <mat-select [(value)]=\"value\" (selectionChange)=\"changed()\" [disabled]=\"readonly\" [placeholder]=\"placeholder\" >\r\n <mat-option *ngFor=\"let row of options\" [value]=\"row[optionValue]\">\r\n {{row[optionDisplay]}} <label *ngIf=\"optionDisplayExtra!='' && row[optionDisplayExtra] && row[optionDisplayExtra] != ''\">({{row[optionDisplayExtra]}})</label>\r\n </mat-option>\r\n </mat-select>\r\n <mat-hint *ngIf=\"hint!=''\">{{hint}}</mat-hint>\r\n</mat-form-field>\r\n\r\n<!-- ReadOnlyModes original, text, label -->\r\n<!-- <spa-text *ngIf=\"readonlyMode=='text' && readonly\" [display]=\"display\" [(value)]=\"displayValue\" [readonly]=\"true\" ></spa-text> -->\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'spa-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.css']\r\n})\r\nexport class SelectComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n // this.displayValue = this.options.filter((m) => m.optionValue == this.value)\r\n // this.displayValue = this.value\r\n if (this.placeholder == \"\") {\r\n this.placeholder = \"Select \" + this.display;\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n\r\n if (this.readonlyMode != \"\" && this.options.length > 0){\r\n this.displayValue = this.options.filter((m) => m[`${this.optionValue}`] == this.value)[0][`${this.optionDisplay}`]\r\n }\r\n\r\n }\r\n\r\n displayValue;\r\n\r\n @Input() width = \"100%\"\r\n @Input() readonly = false;\r\n @Input() readonlyMode = \"\";\r\n @Input() hint = \"\";\r\n @Input() placeholder = \"\";\r\n\r\n\r\n @Input() display = \"\";\r\n @Input() value = \"\";\r\n @Input() options: any;\r\n @Input() optionValue = \"\";\r\n @Input() optionDisplay = \"\";\r\n @Input() optionDisplayExtra = \"\";\r\n\r\n @Output() valueChange = new EventEmitter();\r\n\r\n\r\n\r\n changed(){\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n}\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'spa-check',\r\n templateUrl: './check.component.html',\r\n styleUrls: ['./check.component.css']\r\n})\r\nexport class CheckComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @Input() readonly = false;\r\n @Input() display = \"\";\r\n @Input() value = false;\r\n @Output() valueChange = new EventEmitter();\r\n @Output() click = new EventEmitter();\r\n @Output() check = new EventEmitter();\r\n @Output() uncheck = new EventEmitter();\r\n\r\n changed(){\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n clicked(){\r\n this.click.emit();\r\n\r\n if(!this.value){\r\n this.checked();\r\n }else{\r\n this.unchecked();\r\n }\r\n }\r\n\r\n checked(){\r\n this.check.emit();\r\n }\r\n unchecked(){\r\n this.uncheck.emit();\r\n }\r\n\r\n}\r\n"," <mat-checkbox color=\"primary\" style=\"margin-right:50px; font-size:14px\" [(ngModel)]=\"value\" (change)=\"changed()\" (click)=\"clicked()\" [disabled]=\"readonly\">{{display}}</mat-checkbox>\r\n","import {\r\n Directive,\r\n Output,\r\n Input,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appDnd]'\r\n})\r\nexport class DndDirective {\r\n @HostBinding('class.fileover') fileOver: boolean;\r\n @Output() fileDropped = new EventEmitter<any>();\r\n\r\n // Dragover listener\r\n @HostListener('dragover', ['$event']) onDragOver(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.fileOver = true;\r\n }\r\n\r\n // Dragleave listener\r\n @HostListener('dragleave', ['$event']) public onDragLeave(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.fileOver = false;\r\n }\r\n\r\n // Drop listener\r\n @HostListener('drop', ['$event']) public ondrop(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.fileOver = false;\r\n let files = evt.dataTransfer.files;\r\n if (files.length > 0) {\r\n this.fileDropped.emit(files);\r\n }\r\n }\r\n}\r\n","<div class=\"tin-input-row\" style=\"width: 100%;\">\r\n\r\n <div class=\"col\">\r\n <div class=\"container\" appDnd (fileDropped)=\"onFileDropped($event)\">\r\n <input type=\"file\" #fileDropRef id=\"fileDropRef\" multiple (change)=\"fileBrowseHandler($event.target.files)\" />\r\n <h4>{{message}}</h4>\r\n <h4>or</h4>\r\n <label for=\"fileDropRef\">Click to Browse</label>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col\">\r\n <div class=\"files-list \">\r\n <div class=\"single-file \" style=\"width: 100%;\" *ngFor=\"let file of files; let i = index\">\r\n\r\n <div class=\"tin-input-row info\" >\r\n <h4 class=\"name\">\r\n {{ file?.name }}\r\n </h4>\r\n <p class=\"size\">\r\n {{ formatBytes(file?.size, 2) }}\r\n </p>\r\n </div>\r\n\r\n <div class=\"delete\" (click)=\"deleteFile(i)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14\" height=\"18\" viewBox=\"0 0 14 18\">\r\n <path fill=\"#B1B1B1\" fill-rule=\"nonzero\"\r\n d=\"M1 16c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2H3c-1.1 0-2 .9-2 2v10zm3.17-7.83a.996.996 0 0 1 1.41 0L7 9.59l1.42-1.42a.996.996 0 1 1 1.41 1.41L8.41 11l1.42 1.42a.996.996 0 1 1-1.41 1.41L7 12.41l-1.42 1.42a.996.996 0 1 1-1.41-1.41L5.59 11 4.17 9.58a.996.996 0 0 1 0-1.41zM10.5 1L9.79.29C9.61.11 9.35 0 9.09 0H4.91c-.26 0-.52.11-.7.29L3.5 1H1c-.55 0-1 .45-1 1s.45 1 1 1h12c.55 0 1-.45 1-1s-.45-1-1-1h-2.5z\" />\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"files.length > 0 && enableUpload\" class=\"tin-input-row d-flex justify-content-center\" style=\"width: 100%;\" >\r\n <button mat-button color=\"primary\" (click)=\"uploaded()\" matTooltip=\"Upload New Documents\" matTooltipPosition=\"above\" ><mat-icon>file_upload</mat-icon> Upload</button>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'spa-attach',\r\n templateUrl: './attach.component.html',\r\n styleUrls: ['./attach.component.scss']\r\n})\r\nexport class AttachComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @Input() message = \"Drag and drop files here\"\r\n @Input() files: any[] = [];\r\n @Output() filesChange = new EventEmitter();\r\n @Output() upload = new EventEmitter();\r\n\r\n\r\n @Input() enableUpload = false;\r\n\r\n\r\n /**\r\n * on file drop handler\r\n */\r\n onFileDropped($event) {\r\n this.prepareFilesList($event);\r\n }\r\n\r\n /**\r\n * handle file from browsing\r\n */\r\n fileBrowseHandler(files) {\r\n this.prepareFilesList(files);\r\n }\r\n\r\n /**\r\n * Delete file from files list\r\n * @param index (File index)\r\n */\r\n deleteFile(index: number) {\r\n this.files.splice(index, 1);\r\n }\r\n\r\n /**\r\n * Simulate the upload process\r\n */\r\n // uploadFilesSimulator(index: number) {\r\n // setTimeout(() => {\r\n // if (index === this.files.length) {\r\n // return;\r\n // } else {\r\n // const progressInterval = setInterval(() => {\r\n // if (this.files[index].progress === 100) {\r\n // clearInterval(progressInterval);\r\n // this.uploadFilesSimulator(index + 1);\r\n // } else {\r\n // this.files[index].progress += 5;\r\n // }\r\n // }, 200);\r\n // }\r\n // }, 1000);\r\n // }\r\n\r\n /**\r\n * Convert Files list to normal array list\r\n * @param files (Files List)\r\n */\r\n prepareFilesList(files: Array<any>) {\r\n for (const item of files) {\r\n item.progress = 0;\r\n this.files.push(item);\r\n }\r\n // this.uploadFilesSimulator(0);\r\n }\r\n\r\n /**\r\n * format bytes\r\n * @param bytes (File size in bytes)\r\n * @param decimals (Decimals point)\r\n */\r\n formatBytes(bytes, decimals) {\r\n if (bytes === 0) {\r\n return '0 Bytes';\r\n }\r\n const k = 1024;\r\n const dm = decimals <= 0 ? 0 : decimals || 2;\r\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\r\n const i = Math.floor(Math.log(bytes) / Math.log(k));\r\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\r\n }\r\n\r\n uploaded(){\r\n this.upload.emit();\r\n }\r\n\r\n filesChanged(){\r\n this.filesChange.emit(this.files);\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'spa-datetime',\r\n templateUrl: './datetime.component.html',\r\n styleUrls: ['./datetime.component.css']\r\n})\r\nexport class DatetimeComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @Input() display = \"\";\r\n @Input() value = \"\";\r\n @Output() valueChange = new EventEmitter();\r\n @Input() readonly = false;\r\n\r\n @Input() min = \"01 jan 1900\";\r\n\r\n @Input() max = \"31 dec 9999\";\r\n\r\n changed() {\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n}\r\n","<mat-form-field style=\"width:150px;margin-right:20px\">\r\n<mat-label>{{display}}</mat-label>\r\n<input matInput autocomplete=\"off\" type=\"datetime-local\" [(ngModel)]=\"value\" [min]=\"min\" [max]=\"max\" (change)=\"changed()\" [placeholder]=\"display\" [readonly]=\"readonly\" />\r\n</mat-form-field>\r\n","import {\r\n OnInit,\r\n Directive,\r\n HostListener,\r\n ElementRef, forwardRef\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { DecimalPipe } from '@angular/common';\r\n\r\nexport const CURRENCY_INPUT_MASK_DIRECTIVE_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => CurrencyInputMaskDirective),\r\n multi: true\r\n};\r\n\r\n@Directive({\r\n selector: '[appCurrencyInputMask]',\r\n providers: [\r\n CURRENCY_INPUT_MASK_DIRECTIVE_VALUE_ACCESSOR,\r\n DecimalPipe\r\n ]\r\n})\r\nexport class CurrencyInputMaskDirective implements ControlValueAccessor, OnInit {\r\n private el: HTMLInputElement;\r\n private onModelChange: Function;\r\n private onModelTouched: Function;\r\n private lastNumVal: number;\r\n private DECIMAL_MARK = '.';\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n private decimalPipe: DecimalPipe\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.el = this.elementRef.nativeElement;\r\n }\r\n\r\n @HostListener('focus', ['$event'])\r\n handleFocus(event: any) {\r\n const strVal: string = this.getInputValue();\r\n const unmaskedStr: string = this.getUnmaskedValue(strVal);\r\n this.updateInputValue(unmaskedStr);\r\n }\r\n\r\n @HostListener('cut', ['$event'])\r\n handleCut(event: any) {\r\n setTimeout(() => {\r\n this.inputUpdated();\r\n }, 0);\r\n }\r\n\r\n @HostListener('keypress', ['$event'])\r\n handleKeypress(event: any) {\r\n // Restrict characters\r\n const newChar: string = String.fromCharCode(event.which);\r\n const allowedChars: RegExp = /^[\\d.]+$/;\r\n if (!allowedChars.test(newChar)) {\r\n event.preventDefault();\r\n return;\r\n }\r\n // Handle decimal mark input\r\n const currentValue: string = event.target.value;\r\n const separatorIdx: number = currentValue.indexOf(this.DECIMAL_MARK);\r\n const hasFractionalPart: boolean = (separatorIdx >= 0);\r\n if (!hasFractionalPart || newChar !== this.DECIMAL_MARK) {\r\n return;\r\n }\r\n const isOutsideSelection = !this.isIdxBetweenSelection(separatorIdx);\r\n if (isOutsideSelection) {\r\n const positionAfterMark = separatorIdx + 1;\r\n this.setCursorPosition(positionAfterMark);\r\n event.preventDefault();\r\n return;\r\n }\r\n }\r\n\r\n @HostListener('input', ['$event'])\r\n handleInput(event: any) {\r\n this.inputUpdated();\r\n }\r\n\r\n @HostListener('paste', ['$event'])\r\n handlePaste(event: any) {\r\n setTimeout(() => {\r\n this.inputUpdated();\r\n }, 1);\r\n }\r\n\r\n @HostListener('blur', ['$event'])\r\n handleBlur(event: any) {\r\n const strVal: string = this.getInputValue();\r\n const numVal: number = this.convertStrToDecimal(strVal);\r\n this.maskInput(numVal);\r\n this.onModelTouched.apply(event);\r\n }\r\n\r\n registerOnChange(callbackFunction: Function): void {\r\n this.onModelChange = callbackFunction;\r\n }\r\n\r\n registerOnTouched(callbackFunction: Function): void {\r\n this.onModelTouched = callbackFunction;\r\n }\r\n\r\n setDisabledState(value: boolean): void {\r\n this.el.disabled = value;\r\n }\r\n\r\n writeValue(numValue: number): void {\r\n this.maskInput(numValue);\r\n }\r\n\r\n private maskInput(numVal: number): void {\r\n if (!this.isNumeric(numVal)) {\r\n this.updateInputValue('');\r\n return;\r\n }\r\n const strVal: string = this.convertDecimalToStr(numVal);\r\n const newVal: string = this.transformWithPipe(strVal);\r\n this.updateInputValue(newVal);\r\n }\r\n\r\n private inputUpdated() {\r\n this.restrictDecimalValue();\r\n const strVal: string = this.getInputValue();\r\n const unmaskedVal: string = this.getUnmaskedValue(strVal);\r\n const numVal: number = this.convertStrToDecimal(unmaskedVal);\r\n if (numVal !== this.lastNumVal) {\r\n this.lastNumVal = numVal;\r\n this.onModelChange(numVal);\r\n }\r\n }\r\n\r\n private restrictDecimalValue(): void {\r\n const strVal: string = this.getInputValue();\r\n const dotIdx: number = strVal.indexOf(this.DECIMAL_MARK);\r\n const hasFractionalPart: boolean = (dotIdx >= 0);\r\n if (hasFractionalPart) {\r\n const fractionalPart: string = strVal.substring(dotIdx + 1);\r\n if (fractionalPart.length > 2) {\r\n const choppedVal: string = strVal.substring(0, dotIdx + 3);\r\n this.updateInputValue(choppedVal, true);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n\r\n private transformWithPipe(str: string): string {\r\n return this.decimalPipe.transform(str, '1.2-2');\r\n }\r\n\r\n private getUnmaskedValue(value: string): string {\r\n return value.replace(/[^-\\d\\\\.]/g, '');\r\n }\r\n\r\n private updateInputValue(value: string, savePosition = false) {\r\n if (savePosition) {\r\n this.saveCursorPosition();\r\n }\r\n this.el.value = value;\r\n }\r\n\r\n private getInputValue(): string {\r\n return this.el.value;\r\n }\r\n\r\n private convertStrToDecimal(str: string): number {\r\n return (this.isNumeric(str)) ? parseFloat(str) : null;\r\n }\r\n\r\n private convertDecimalToStr(n: number): string {\r\n return (this.isNumeric(n)) ? n + '' : '';\r\n }\r\n\r\n private isNumeric(n: any): boolean {\r\n return !isNaN(parseFloat(n)) && isFinite(n);\r\n }\r\n\r\n private saveCursorPosition() {\r\n const position: number = this.el.selectionStart;\r\n setTimeout(() => {\r\n this.setCursorPosition(position);\r\n }, 1);\r\n }\r\n\r\n private setCursorPosition(position: number) {\r\n this.el.selectionStart = position;\r\n this.el.selectionEnd = position;\r\n }\r\n\r\n private isIdxBetweenSelection(idx: number) {\r\n if (this.el.selectionStart === this.el.selectionEnd) {\r\n return false;\r\n }\r\n return (idx >= this.el.selectionStart && idx < this.el.selectionEnd);\r\n }\r\n\r\n}\r\n","\r\n\r\n<mat-form-field hideRequiredMarker=\"true\" [hintLabel]=\"hint\" [ngStyle]=\"{'width':width}\" hideRequiredMarker=\"true\" style=\"margin-right: 5px;\">\r\n <mat-label>{{display}}</mat-label>\r\n <input matInput appCurrencyInputMask autocomplete=\"off\" style=\"text-align: right;\"\r\n [min]=\"min\" [max]=\"max\"\r\n [ngModel]=\"value\" (ngModelChange)=\"changed($event)\" (keyup.enter)=\"enterPressed()\" (blur)=\"leaved()\" [placeholder]=\"placeholder\" [formControl]=\"control\" [readonly]=\"readonly\" />\r\n <span *ngIf=\"currency!=''\" matPrefix>{{currency}}&nbsp;</span>\r\n <mat-error *ngIf=\"control.invalid\">{{validate(control)}}</mat-error>\r\n</mat-form-field>\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormControl, Validators } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'spa-money',\r\n templateUrl: './money.component.html',\r\n styleUrls: ['./money.component.css']\r\n})\r\nexport class MoneyComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n if (this.placeholder == \"\") {\r\n this.placeholder = \"Enter \" + this.display;\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.initControl(this.control)\r\n }\r\n\r\n initControl(control: FormControl) {\r\n if (this.readonly) {\r\n control.setValidators(null);\r\n control.updateValueAndValidity();\r\n }\r\n if (!this.required && !this.readonly) {\r\n\r\n control.setValidators([Validators.min(this.min), Validators.max(this.max)]);\r\n this.control.updateValueAndValidity();\r\n }\r\n }\r\n\r\n @Input() readonly = false;\r\n @Input() hint = \"\";\r\n @Input() display = \"\";\r\n @Input() placeholder = \"\";\r\n @Input() value = \"\";\r\n @Input() width = \"100%\"\r\n @Input() currency = \"\";\r\n\r\n @Output() valueChange = new EventEmitter();\r\n @Output() leave = new EventEmitter();\r\n @Output() enterPress = new EventEmitter();\r\n\r\n\r\n\r\n //validation input\r\n @Input() required = true;\r\n @Input() min = 0;\r\n @Input() max = 9000000000000000; //Math.max 9000000000000000\r\n\r\n\r\n changed(x){\r\n this.valueChange.emit(x);\r\n }\r\n\r\n leaved() {\r\n this.leave.emit();\r\n }\r\n\r\n enterPressed() {\r\n this.enterPress.emit();\r\n }\r\n\r\n //validation\r\n control = new FormControl(this.value, [Validators.required, Validators.min(this.min), Validators.max(this.max)]);\r\n\r\n validate(control: FormControl): string {\r\n\r\n if (this.required && control.hasError('required')) {\r\n return `Required`;\r\n }\r\n\r\n if (parseFloat(this.value) < this.min){\r\n return `Minimun value is ${this.min}`;\r\n }\r\n\r\n if (parseFloat(this.value) > this.max) {\r\n return `Maximum value is ${this.max}`;\r\n }\r\n\r\n if (control.hasError('min')) {\r\n return `Minimun value is ${this.min}`;\r\n }\r\n\r\n if (control.hasError('max')) {\r\n return `Maximum value is ${this.max}`;\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n\r\n}\r\n","\r\n <div class=\"tin-input-row mt-3\" *ngIf=\"title != ''\">\r\n <mat-label style=\"font-size: 20px; font-weight: 300\" > {{title}}</mat-label >\r\n </div>\r\n\r\n <ul *ngIf=\"notes && notes.length>0\" class=\"list-group list-group-flush\" style=\"max-height:350px; margin-left:5px\">\r\n\r\n <li *ngFor=\"let note of notes\" class=\"list-group-item list-group-item-action flex-column align-items-start\">\r\n <div class=\"d-flex w-100 justify-content-between\">\r\n <div class=\"mb-0\">{{note.createdByName}}</div>\r\n <!-- <small class=\"text-muted\">{{note.expr1}} ago</small> -->\r\n </div>\r\n\r\n <small>{{note.details}} (<em>{{note.createdDate | date: 'dd MMM yyyy HH:mm'}}</em>) </small>\r\n </li>\r\n\r\n\r\n </ul>\r\n\r\n <div *ngIf=\"notes && notes.length==0\" class=\"d-flex justify-content-center row align-items-center\" style=\"max-height:200px\">\r\n\r\n No {{title.toLowerCase()}}\r\n\r\n </div>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'spa-activity',\r\n templateUrl: './activity.component.html',\r\n styleUrls: ['./activity.component.css']\r\n})\r\nexport class ActivityComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @Input() notes = new Array();\r\n notesMessage: string = \"Empty\";\r\n @Input() title = \"Notes\"\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\r\n\r\n@Component({\r\n selector: 'spa-html',\r\n templateUrl: './html.component.html',\r\n styleUrls: ['./html.component.css']\r\n})\r\nexport class HtmlComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @Input() value = \"\";\r\n @Output() valueChange = new EventEmitter();\r\n @Input() readonly = false;\r\n\r\n changed() {\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n ngOnChanges() {\r\n this.config.editable = !this.readonly;\r\n }\r\n\r\n @Input() config: AngularEditorConfig = {\r\n editable: true,\r\n spellcheck: true,\r\n height: 'auto',\r\n minHeight: '5rem',\r\n placeholder: 'Enter text here...',\r\n translate: 'no',\r\n defaultParagraphSeparator: '',\r\n defaultFontName: 'Arial',\r\n toolbarHiddenButtons: [\r\n [\r\n 'bold',\r\n 'italic',\r\n 'underline',\r\n 'strikeThrough',\r\n 'subscript',\r\n 'superscript',\r\n 'justifyLeft',\r\n 'justifyCenter',\r\n 'justifyRight',\r\n 'justifyFull',\r\n 'indent',\r\n 'outdent',\r\n 'insertUnorderedList',\r\n 'insertOrderedList',\r\n 'heading',\r\n 'fontName'\r\n ],\r\n [\r\n 'fontSize',\r\n 'textColor',\r\n 'backgroundColor',\r\n 'customClasses',\r\n 'link',\r\n 'unlink',\r\n 'insertImage',\r\n 'insertVideo',\r\n 'insertHorizontalRule',\r\n 'removeFormat',\r\n 'toggleEditorMode'\r\n ]\r\n ],\r\n customClasses: [\r\n {\r\n name: \"quote\",\r\n class: \"quote\",\r\n },\r\n {\r\n name: 'redText',\r\n class: 'redText'\r\n },\r\n {\r\n name: \"titleText\",\r\n class: \"titleText\",\r\n tag: \"h1\",\r\n },\r\n ]\r\n };\r\n\r\n}\r\n","<angular-editor [(ngModel)]=\"value\" [config]=\"config\" (ngModelChange)=\"changed()\" ></angular-editor>\r\n","\r\n<mat-checkbox color=\"primary\" style=\"margin-right:5px\" [(ngModel)]=\"show\" (change)=\"resetValue()\" labelPosition=\"after\">{{display}}</mat-checkbox>\r\n\r\n\r\n<mat-form-field style=\"margin-right:10px;width: 0px;\" >\r\n<input matInput />\r\n</mat-form-field>\r\n\r\n\r\n<mat-form-field style=\"margin-right:30px\" *ngIf=\"show && !options\">\r\n<mat-label>{{display}}</mat-label>\r\n<input matInput [(ngModel)]=\"value\" width=\"100\" (change)=\"changed()\" (keyup.enter)=\"changed()\" [placeholder]=\"'Enter ' + display\" autocomplete=\"off\" />\r\n</mat-form-field>\r\n\r\n\r\n<mat-form-field style=\"margin-right: 20px;\" floatLabel=\"always\" width=\"100\" *ngIf=\"show && options\">\r\n <mat-label>{{display}}</mat-label>\r\n <mat-select [(value)]=\"value\" (selectionChange)=\"changed()\" [placeholder]=\"'Select ' + display\" [disabled]=\"readonly\" >\r\n <mat-option *ngFor=\"let row of options\" [value]=\"row[optionValue]\">\r\n {{row[optionDisplay]}}\r\n </mat-option>\r\n </mat-select>\r\n</mat-form-field>\r\n\r\n<!-- <spa-text *ngIf=\"show\" style=\"margin-right:30px\" [display]=\"'Enter ' + display\" (enterPress)=\"enterPressed()\" (valueChange)=\"changed($event.target.value)\" width=\"100\" [required]=\"false\" [(value)]=\"value\" ></spa-text> -->\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'spa-option',\r\n templateUrl: './option.component.html',\r\n styleUrls: ['./option.component.css']\r\n})\r\nexport class OptionComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.OGValue = this.value;\r\n }\r\n\r\n OGValue\r\n\r\n\r\n @Input() options: any;\r\n @Input() optionValue = \"\";\r\n @Input() optionDisplay = \"\";\r\n @Input() readonly = false;\r\n\r\n @Input() value = \"\";\r\n @Input() display = \"\";\r\n @Input() show: boolean = false;\r\n\r\n\r\n @Output() valueChange = new EventEmitter();\r\n @Output() enterPress = new EventEmitter();\r\n\r\n changed() {\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n enterPressed(){\r\n this.valueChange.emit();\r\n }\r\n\r\n resetValue(){\r\n this.value = this.OGValue;\r\n this.changed();\r\n\r\n }\r\n\r\n}\r\n","<div *ngIf=\"format=='text'\">\r\n <label style=\"font-weight: 500\" >{{display}}: </label> &nbsp; <label>{{value}} </label> &nbsp;\r\n</div>\r\n\r\n<div *ngIf=\"format=='date'\">\r\n <label style=\"font-weight: 500\" >{{display}}: </label> &nbsp; <label>{{value | date:'dd/MM/yyyy'}} </label> &nbsp;\r\n</div>\r\n\r\n<div *ngIf=\"format=='datetime'\">\r\n <label style=\"font-weight: 500\" >{{display}}: </label> &nbsp; <label>{{value | date:'dd/MM/yyyy HH:mm'}} </label> &nbsp;\r\n</div>\r\n\r\n<div *ngIf=\"format=='money'\">\r\n <label style=\"font-weight: 500\" >{{display}}: </label> &nbsp; <label>{{value | currency:'USD':''}} </label> &nbsp;\r\n</div>\r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'spa-label',\r\n templateUrl: './label.component.html',\r\n styleUrls: ['./label.component.css']\r\n})\r\nexport class LabelComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n @Input() display = \"\";\r\n @Input() value = \"\";\r\n @Input() format = \"text\";\r\n\r\n}\r\n","\r\n\r\n\r\n<!-- <mat-horizontal-stepper class=\"test\" labelPosition=\"bottom\" #stepper>\r\n <mat-step [editable]=\"false\" label=\"Draft\"> </mat-step>\r\n <mat-step [editable]=\"false\" label=\"Head Approval\" > </mat-step>\r\n <mat-step [editable]=\"false\" label=\"CE Approval\"> </mat-step>\r\n <mat-step [editable]=\"false\" label=\"Booking\" state=\"booking\"> </mat-step>\r\n <mat-step [editable]=\"false\" label=\"BTA Approval\"> </mat-step>\r\n <mat-step [editable]=\"false\" label=\"Travel\"> </mat-step>\r\n <mat-step [editable]=\"false\" label=\"BTR Approval\"> </mat-step>\r\n <mat-step [editable]=\"false\" label=\"Closure\"> </mat-step>\r\n <ng-template matStepperIcon=\"booking\"> <mat-icon>forum</mat-icon> </ng-template>\r\n</mat-horizontal-stepper> -->\r\n\r\n<mat-horizontal-stepper class=\"transparent\" labelPosition=\"bottom\" #stepper>\r\n\r\n <mat-step *ngFor=\"let row of steps\"\r\n [editable]=\"false\" [label]=\"row.name\">\r\n </mat-step>\r\n\r\n <!-- <ng-template *ngFor=\"let row of steps\"\r\n [matStepperIcon]=\"row.name\"> <mat-icon>{{row.icon}}</mat-icon>\r\n </ng-template> -->\r\n\r\n <!-- <ng-template matStepperIcon=\"booking\">\r\n <mat-icon>call_end</mat-icon>\r\n </ng-template> -->\r\n\r\n <!-- <ng-template ngFor let-xb [ngForOf]=\"steps\" matStepperIcon=\"Booking\"> <mat-icon>forum</mat-icon>\r\n\r\n </ng-template> -->\r\n\r\n</mat-horizontal-stepper>\r\n","import { AfterViewInit, Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { MatStepper } from '@angular/material/stepper';\r\nimport { STEPPER_GLOBAL_OPTIONS } from '@angular/cdk/stepper';\r\nimport { Step } from '../../classes/Classes';\r\n\r\n@Component({\r\n selector: 'spa-steps',\r\n templateUrl: './steps.component.html',\r\n styleUrls: ['./steps.component.css'],\r\n providers: [{\r\n provide: STEPPER_GLOBAL_OPTIONS, useValue: { displayDefaultIndicatorType: false }\r\n }]\r\n})\r\nexport class StepsComponent implements OnInit, AfterViewInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n }\r\n\r\n ngOnChanges() {\r\n this.pushSteps();\r\n }\r\n\r\n @ViewChild('stepper') stepper: MatStepper;\r\n @Input() value = \"\";\r\n @Input() steps: Step[];\r\n\r\n setStepper() {\r\n\r\n if (this.value == \"\") return;\r\n\r\n\r\n this.stepper.selectedIndex = 0;\r\n\r\n switch (this.value) {\r\n\r\n\r\n\r\n case \"Draft\":\r\n this.stepper.selectedIndex = 0;\r\n break;\r\n\r\n case \"Head Approval\":\r\n this.pushStepper(1)\r\n break;\r\n\r\n case \"CE Approval\":\r\n this.pushStepper(2)\r\n break;\r\n\r\n case \"Booking\":\r\n this.pushStepper(3)\r\n break;\r\n\r\n case \"BTA Approval\":\r\n this.pushStepper(4)\r\n break;\r\n\r\n case \"Travel\":\r\n this.pushStepper(5)\r\n break;\r\n\r\n case \"BTR Approval\":\r\n this.pushStepper(6)\r\n break;\r\n\r\n case \"Travel Closure\":\r\n this.pushStepper(7)\r\n break;\r\n\r\n }\r\n\r\n }\r\n\r\n pushStepper(count: number) {\r\n\r\n for (let index = 0; index < count + 1; index++) {\r\n // const element = array[index];\r\n this.stepper.selectedIndex = index;\r\n }\r\n\r\n }\r\n\r\n pushSteps(){\r\n\r\n if(this.steps.length == 0) return;\r\n if (this.value == \"\") return;\r\n this.stepper.selectedIndex = 0;\r\n\r\n\r\n let i = 0;\r\n\r\n for (let step of this.steps) {\r\n\r\n if (step.name != this.value) {\r\n\r\n this.stepper.selectedIndex = i;\r\n i++;\r\n\r\n } else {\r\n\r\n this.stepper.selectedIndex = i;\r\n break;\r\n\r\n }\r\n }\r\n\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\n\r\n@Component({\r\n selector: 'spa-filter',\r\n templateUrl: './filter.component.html',\r\n styleUrls: ['./filter.component.css']\r\n})\r\nexport class FilterComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngOnChanges() {\r\n // console.log(\"OnChange\")\r\n this.applyFilter(this._filterText);\r\n }\r\n\r\n @Input() data = new MatTableDataSource();;\r\n @Output() refreshClick = new EventEmitter();\r\n\r\n _filterText = \"\";\r\n\r\n applyFilter(filterValue: string) {\r\n if (this.data){\r\n this.data.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n }\r\n\r\n refreshClicked(){\r\n this.refreshClick.emit();\r\n }\r\n\r\n}\r\n","<mat-form-field style=\"font-size:12px\">\r\n <mat-label>Filter</mat-label>\r\n <input id=\"txtFilter\" matInput [(ngModel)]=\"_filterText\" (keyup)=\"applyFilter($event.target.value)\" placeholder=\"Enter Filter text\" autocomplete=\"off\">\r\n</mat-form-field>\r\n\r\n<button id=\"btnFilter\" mat-mini-fab color=\"primary\" matTooltip=\"Refresh Data\" matTooltipPosition=\"above\" (click)=\"refreshClicked()\" style=\"margin-right:1em;margin-top:5px\"><mat-icon class=\"refreshIcon\">refresh</mat-icon></button>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { CurrencyInputMaskDirective } from './currency-input-mask.directive';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule\r\n ],\r\n declarations: [\r\n CurrencyInputMaskDirective\r\n ],\r\n exports: [\r\n CurrencyInputMaskDirective\r\n ]\r\n})\r\nexport class CurrencyInputModule {\r\n}\r\n","import { LoaderComponent } from './components/loader/loader.component';\r\nimport { SpaMatModule } from \"./modules/spa-mat.module\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule, CurrencyPipe } from \"@angular/common\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { LoaderInterceptor } from './services/loader-interceptor.service';\r\nimport { NgIdleKeepaliveModule } from '@ng-idle/keepalive';\r\nimport { MomentModule } from 'angular2-moment';\r\nimport { NgxDocViewerModule } from 'ngx-doc-viewer';\r\n\r\nimport { TinSpaComponent } from \"./components/tin-spa.component\";\r\nimport { NavMenuComponent } from \"./components/nav-menu/nav-menu.component\";\r\nimport { messageDialog } from \"./components/message/messageDialog.component\";\r\nimport { TimeoutComponent } from './components/timeout/timeout.component';\r\nimport { HashLocationStrategy, LocationStrategy } from '@angular/common';\r\nimport { TableComponent } from './components/table/table.component';\r\nimport { TilesComponent } from './components/tiles/tiles.component';\r\nimport { DateComponent } from './components/date/date.component';\r\nimport { TextComponent } from './components/text/text.component';\r\nimport { ViewerComponent } from './components/viewer/viewer.component';\r\nimport { SelectComponent } from './components/select/select.component';\r\nimport { CheckComponent } from './components/check/check.component';\r\nimport { AttachComponent } from './components/attach/attach.component';\r\nimport { DatetimeComponent } from './components/datetime/datetime.component';\r\nimport { MoneyComponent } from './components/money/money.component';\r\nimport { DndDirective } from './dnd.directive';\r\nimport { ChipsComponent } from './components/chips/chips.component';\r\nimport { ActivityComponent } from './components/activity/activity.component';\r\nimport { viewerDialog } from './components/viewer/viewerDialog.component';\r\nimport { HtmlComponent } from './components/html/html.component';\r\nimport { AngularEditorModule } from '@kolkov/angular-editor';\r\nimport { OptionComponent } from './components/option/option.component';\r\nimport { LabelComponent } from './components/label/label.component';\r\nimport { StepsComponent } from './components/steps/steps.component';\r\nimport { FilterComponent } from './components/filter/filter.component';\r\nimport { CurrencyInputModule } from './components/money/currency-input-mask.module';\r\n// import { CurrencyInputDirective } from './components/money/currency-input.directive';\r\n\r\n\r\n@NgModule({\r\n declarations: [DndDirective,TinSpaComponent, messageDialog, NavMenuComponent, LoaderComponent,\r\n TimeoutComponent, TableComponent, TilesComponent, DateComponent, TextComponent,\r\n ViewerComponent, SelectComponent, CheckComponent, AttachComponent, DatetimeComponent,\r\n MoneyComponent,\r\n ChipsComponent,\r\n ActivityComponent, viewerDialog, HtmlComponent, OptionComponent, LabelComponent, StepsComponent, FilterComponent, ],\r\n\r\n entryComponents: [messageDialog],\r\n\r\n imports: [\r\n ReactiveFormsModule.withConfig({ warnOnNgModelWithFormControl: \"never\" }),\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n SpaMatModule,\r\n MomentModule,\r\n NgxDocViewerModule,\r\n AngularEditorModule,\r\n CurrencyInputModule,\r\n\r\n\r\n NgIdleKeepaliveModule.forRoot()\r\n ],\r\n\r\n exports: [\r\n CommonModule,\r\n FormsModule,\r\n SpaMatModule,\r\n TinSpaComponent,\r\n messageDialog,\r\n NavMenuComponent,\r\n LoaderComponent,\r\n TimeoutComponent,\r\n TableComponent,\r\n TilesComponent,\r\n DateComponent,\r\n ViewerComponent,\r\n SelectComponent,\r\n TextComponent,\r\n DatetimeComponent,\r\n CheckComponent,\r\n AttachComponent,\r\n MoneyComponent,\r\n ChipsComponent,\r\n ActivityComponent,\r\n HtmlComponent,\r\n OptionComponent,\r\n LabelComponent,\r\n StepsComponent,\r\n FilterComponent\r\n\r\n\r\n ],\r\n\r\n providers: [\r\n CurrencyPipe,\r\n { provide: HTTP_INTERCEPTORS, useClass: LoaderInterceptor, multi: true },\r\n { provide: LocationStrategy, useClass: HashLocationStrategy}\r\n ],\r\n})\r\nexport class TinSpaModule {}\r\n","\r\n <div class=\"tin-bg-login login-page\">\r\n\r\n <div *ngIf=\"appConfig.logo!=''\" class=\"d-flex justify-content-center row align-items-center\" style=\"margin-top:3em;margin-bottom:1em\">\r\n\r\n <img *ngIf=\"appConfig.logoSize=='normal'\" [src]=\"appConfig.logo\" style=\"height:100px;margin-right:3em;margin-left:3em\" />\r\n <img *ngIf=\"appConfig.logoSize=='medium'\" [src]=\"appConfig.logo\" style=\"height:150px;margin-right:3em;margin-left:3em\" />\r\n <img *ngIf=\"appConfig.logoSize=='large'\" [src]=\"appConfig.logo\" style=\"height:250px;margin-right:3em;margin-left:3em\" />\r\n\r\n </div>\r\n\r\n\r\n <div *ngIf=\"appConfig.logo ==''\" style=\"margin-top:2em\">\r\n <!-- Add margin top when there is no logo -->\r\n </div>\r\n\r\n\r\n <div class=\"d-flex justify-content-center row align-items-center\" style=\"margin-top:3em\">\r\n\r\n <div class=\"d-none d-sm-block\">\r\n </div>\r\n\r\n <div style=\"margin-left:1em\">\r\n\r\n <mat-card class=\"mat-elevation-z3\" style=\"width:400px; \">\r\n\r\n <mat-card-header>\r\n <mat-card-title>{{appConfig.appName}}</mat-card-title>\r\n </mat-card-header>\r\n\r\n <mat-card-content>\r\n\r\n <div class=\"tin-input mt-2\">\r\n\r\n <spa-text id=\"txtuserName\" display=\"Username\" [(value)]=\"user.userName\" ></spa-text>\r\n\r\n <mat-form-field >\r\n <mat-label>Password</mat-label>\r\n <input id=\"txtPassword\" matInput [type]=\"hide ? 'password' : 'text'\" (keyup.enter)=\"login()\" [(ngModel)]=\"user.password\" autocomplete=\"off\" >\r\n <button mat-icon-button matSuffix (click)=\"hide = !hide\" [attr.aria-label]=\"'Hide password'\" [attr.aria-pressed]=\"hide\">\r\n <mat-icon style=\"font-size: 18px;\">{{hide ? 'visibility_off' : 'visibility'}}</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n\r\n </div>\r\n\r\n </mat-card-content>\r\n\r\n\r\n <mat-card-actions>\r\n\r\n <div class=\"row \">\r\n\r\n <div class=\"col d-flex justify-content-center\">\r\n <button id=\"btnLogin\" mat-raised-button [disabled]=\"isProcessing\" style=\"width: 100px;\" (click)=\"login()\" color=\"primary\">Login</button>\r\n </div>\r\n\r\n <div class=\"col d-flex justify-content-center\" *ngIf=\"appConfig.selfService\">\r\n <button id=\"btnSignup\" mat-stroked-button color=\"primary\" style=\"width: 100px;\" (click)=\"signup()\">Signup</button>\r\n </div>\r\n\r\n </div>\r\n\r\n </mat-card-actions>\r\n\r\n </mat-card>\r\n\r\n <div *ngIf=\"appConfig.selfService\">\r\n <br />\r\n <a mat-button id=\"lnkRecover\" style=\"margin-left: 1em\" (click)=\"recoverAccount()\">Forgot your password ?</a>\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n","import { MessageService } from \"../../services/message.service\";\r\nimport { StorageService } from \"../../services/storage.service\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { Component, OnInit, Input } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { DataServiceLib } from \"../../services/data.service\";\r\nimport { LogService } from \"./../../services/log.service\";\r\nimport { User, AppConfig } from \"../../classes/Classes\";\r\nimport { HttpService } from \"../../services/http.service\";\r\nimport { ApiResponse, Constants } from \"../../classes/TinCore\";\r\n\r\n@Component({\r\n selector: \"spa-login\",\r\n templateUrl: \"./login.component.html\",\r\n styleUrls: [\"./login.component.scss\"],\r\n})\r\nexport class LoginComponent implements OnInit {\r\n\r\n constructor(private httpService: HttpService, private storageService: StorageService, public router: Router, private messageService: MessageService, public dataService: DataServiceLib,\r\n public authService: AuthService, private logService: LogService, private route: ActivatedRoute\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.authService.Updateloggedin(false);\r\n this.authService.UpdateRole(null);\r\n this.storageService.clear();\r\n\r\n this.dataService.appConfigObserv.subscribe(x => this.appConfig = x);\r\n\r\n if (this.route.snapshot.queryParams.redirectTo != undefined) {\r\n this.redirectPath = this.route.snapshot.queryParams.redirectTo\r\n }else{\r\n this.redirectPath = \"home\"\r\n }\r\n\r\n }\r\n\r\n redirectPath\r\n\r\n public user = new User();\r\n hide = true;\r\n isProcessing: boolean = false;\r\n\r\n appConfig = new AppConfig();\r\n\r\n public signup() {\r\n this.router.navigate([\"signup\"]);\r\n }\r\n\r\n public recoverAccount() {\r\n this.router.navigate([\"recover-account\"]);\r\n }\r\n\r\n public login() {\r\n\r\n if (this.user.userName == \"\" || this.user.password == \"\") {\r\n this.messageService.toast(\"Please enter your credentials\");\r\n return;\r\n }\r\n\r\n\r\n this.logService.info(\"logging in\");\r\n\r\n this.isProcessing = true;\r\n\r\n\r\n this.user.userName = this.user.userName\r\n this.dataService.Login(this.user).subscribe((apiResponse: ApiResponse) => {\r\n\r\n this.isProcessing = false;\r\n\r\n\r\n if (apiResponse.success) {\r\n\r\n if (apiResponse.data.authType == 'local' && !this.appConfig.localAuth) {\r\n this.messageService.toast(\"Contact Admin: Authentication Type error\");\r\n return;\r\n }\r\n\r\n if (apiResponse.data.authType == 'AD' && !this.appConfig.ADAuth) {\r\n this.messageService.toast(\"Contact Admin: Authentication Type error\");\r\n return;\r\n }\r\n\r\n\r\n this.authService.Updateloggedin(true);\r\n\r\n this.authService.UpdateToken(apiResponse.data.token);\r\n this.storageService.store(Constants.AUTH_TOKEN, apiResponse.data.token);\r\n\r\n this.authService.UpdateTokenExpire(apiResponse.data.expiration);\r\n this.storageService.store(Constants.AUTH_TOKEN_EXPIRE, apiResponse.data.expiration);\r\n\r\n this.authService.UpdateCurrentUser(this.user.userName);\r\n this.storageService.store(Constants.AUTH_USER, this.user.userName);\r\n\r\n this.authService.updateLoggedUserFullName(apiResponse.data.firstName);\r\n this.storageService.store(Constants.AUTH_NAME, apiResponse.data.firstName);\r\n\r\n this.authService.UpdateRole(apiResponse.data.role);\r\n this.storageService.store(Constants.AUTH_ROLES, JSON.stringify(apiResponse.data.role));\r\n\r\n\r\n this.logService.info(\"logged in\");\r\n\r\n\r\n if (apiResponse.data.changePassword == true && apiResponse.data.authType == 'local') {\r\n\r\n this.router.navigate([\"home/user/change-password\"], {\r\n queryParams: { redirectTo: this.redirectPath },\r\n queryParamsHandling: 'merge',\r\n skipLocationChange: false\r\n });\r\n return\r\n }\r\n\r\n this.router.navigate([this.redirectPath]);\r\n\r\n\r\n\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n this.user.password = \"\";\r\n }\r\n },\r\n (error) => {\r\n this.isProcessing = false;\r\n\r\n this.messageService.toast(this.httpService.Error(error));\r\n }\r\n );\r\n }\r\n\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n// import { HttpService, ApiResponse } from 'tin-core';\r\nimport { MessageService } from '../../services/message.service';\r\nimport { DataServiceLib } from '../../services/data.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { User, Profile, Account } from '../../classes/Classes';\r\nimport { HttpService } from '../../services/http.service';\r\nimport { ApiResponse } from '../../classes/TinCore';\r\n\r\n@Component({\r\n selector: 'spa-signup',\r\n templateUrl: './signup.component.html',\r\n styleUrls: ['./signup.component.css']\r\n})\r\nexport class SignupComponent implements OnInit {\r\n\r\n\r\n constructor(private httpService: HttpService, private messageService: MessageService, private dataService: DataServiceLib, private authService: AuthService,) { }\r\n\r\n ngOnInit() {\r\n\r\n this.account.user = this.user;\r\n this.account.profile = this.profile;\r\n }\r\n\r\n isProcessing: boolean = false;\r\n user = new User();\r\n profile = new Profile();\r\n\r\n account = new Account();\r\n\r\n confirmPassword: string;\r\n\r\n\r\ncreate(){\r\n\r\n this.profile.userName = this.user.userName;\r\n\r\n this.isProcessing = true;\r\n this.dataService.RegisterAccount(this.account).subscribe(\r\n (apiResponse: ApiResponse) => {\r\n this.isProcessing = false;\r\n\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"Account Created\");\r\n\r\n this.user = new User();\r\n this.profile = new Profile();\r\n\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n },\r\n (error) => {\r\n this.isProcessing = false;\r\n this.messageService.toast(this.httpService.Error(error));\r\n }\r\n );\r\n}\r\n\r\n\r\n\r\n}\r\n","\r\n<h4 style=\"margin-top: 1em;\">Signup</h4>\r\n\r\n<hr/>\r\nComplete the form below.\r\n\r\n<div class=\"d-flex justify-content-center row align-items-center\">\r\n\r\n <div class=\"tin-input\" style=\"font-size:14px; width: 50%;\">\r\n\r\n\r\n <div class=\"tin-input-row\">\r\n\r\n <div class=\"col\">\r\n\r\n <mat-form-field style=\"width:100%\">\r\n <mat-label>FirstName</mat-label>\r\n <input matInput autocomplete=\"off\" [(ngModel)]=\"account.profile.firstName\" placeholder=\"Enter FirstName\" />\r\n </mat-form-field>\r\n\r\n </div>\r\n\r\n <div class=\"col\">\r\n\r\n <mat-form-field style=\"width:100%\">\r\n <mat-label>LastName</mat-label>\r\n <input matInput autocomplete=\"off\" [(ngModel)]=\"profile.lastName\" placeholder=\"Enter LastName\" />\r\n </mat-form-field>\r\n\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n <div class=\"tin-input-row mt-3\">\r\n\r\n <div class=\"col-6\">\r\n\r\n <mat-form-field style=\"width:100%\">\r\n <mat-label>userName</mat-label>\r\n <input matInput autocomplete=\"off\" [(ngModel)]=\"user.userName\" placeholder=\"Enter userName\" />\r\n </mat-form-field>\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n <div class=\"tin-input-row\">\r\n\r\n <div class=\"col\">\r\n\r\n <mat-form-field style=\"width:100%\">\r\n <mat-label>Password</mat-label>\r\n <input matInput autocomplete=\"off\" type=\"password\" [(ngModel)]=\"user.password\" placeholder=\"Enter Password\" />\r\n </mat-form-field>\r\n\r\n </div>\r\n\r\n <div class=\"col\">\r\n\r\n <mat-form-field style=\"width:100%\">\r\n <mat-label>Confirm Password</mat-label>\r\n <input matInput autocomplete=\"off\" type=\"password\" [(ngModel)]=\"confirmPassword\" placeholder=\"Enter Confirm Password\" />\r\n </mat-form-field>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n <div class=\"tin-input-row mt-3\">\r\n <button mat-raised-button color=\"primary\" (click)=\"create()\" cdkFocusInitial>Create</button>\r\n </div>\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n\r\n</div>\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { DataServiceLib } from '../../services/data.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { MessageService } from '../../services/message.service';\r\nimport { User } from '../../classes/Classes';\r\n// import { ApiResponse } from 'tin-core';\r\nimport { Location } from '@angular/common';\r\nimport { ApiResponse } from '../../classes/TinCore';\r\n\r\n@Component({\r\n selector: 'spa-recover-account',\r\n templateUrl: './recover-account.component.html',\r\n styleUrls: ['./recover-account.component.css']\r\n})\r\nexport class RecoverAccountComponent implements OnInit {\r\n\r\n constructor(private location: Location, private dataService: DataServiceLib, public authService: AuthService, private messageService: MessageService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n userName: string = \"\";\r\n\r\n recover(){\r\n\r\n\r\n if (this.userName == \"\") {\r\n\r\n this.messageService.toast(\"Please enter your userName\");\r\n return;\r\n } else {\r\n let u = new User();\r\n u.userName = this.userName;\r\n\r\n this.dataService.SelfReset(u).subscribe((apiResponse: ApiResponse) => {\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"The password has been sent to your email\");\r\n this.location.back();\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n });\r\n }\r\n }\r\n\r\n\r\n}\r\n","<h4 style=\"margin-top: 1em;\">Recover Account</h4>\r\n\r\n<hr/>\r\nSubmit your userName and we will send you details to your registered email address.\r\n\r\n<div class=\"mt-3\" >\r\n\r\n <div class=\"tin-input \" style=\"font-size:14px;\">\r\n\r\n <div class=\"col\">\r\n <spa-text display=\"Username\" [(value)]=\"userName\" ></spa-text>\r\n </div>\r\n\r\n <div class=\"col mt-3\">\r\n <button mat-raised-button color=\"primary\" (click)=\"recover()\" cdkFocusInitial>Submit</button>\r\n </div>\r\n\r\n </div>\r\n\r\n</div>\r\n","import { SpaMatModule } from \"./spa-mat.module\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { LoginComponent } from \"../components/login/login.component\";\r\nimport { SignupComponent } from \"../components/signup/signup.component\";\r\nimport { RecoverAccountComponent } from \"../components/recover-account/recover-account.component\";\r\nimport { TinSpaModule } from \"../tin-spa.module\";\r\n\r\n@NgModule({\r\n declarations: [LoginComponent, SignupComponent, RecoverAccountComponent],\r\n\r\n entryComponents: [],\r\n\r\n imports: [\r\n ReactiveFormsModule.withConfig({ warnOnNgModelWithFormControl: \"never\" }),\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n SpaMatModule,\r\n TinSpaModule\r\n ],\r\n\r\n exports: [\r\n CommonModule,\r\n FormsModule,\r\n SpaMatModule,\r\n LoginComponent,\r\n SignupComponent,\r\n RecoverAccountComponent,\r\n ],\r\n})\r\nexport class SpaIndexModule {}\r\n","<h4>Change Password</h4>\r\n<hr>\r\n\r\n<div class=\"container\">\r\n\r\n <div class=\"d-flex justify-content-center row align-items-center\" >\r\n\r\n <div class=\"col\">\r\n\r\n <div class=\"tin-input \" style=\"font-size:14px;\">\r\n\r\n <div class=\"col\" *ngIf=\"changePassword.userName!=''\">\r\n <spa-text id=\"txtuserName\" display=\"Username\" [(value)]=\"changePassword.userName\" width=\"300px\" readonly=\"true\"></spa-text>\r\n </div>\r\n\r\n <div class=\"col\" *ngIf=\"!myRole[dataService.capUsers.name]\">\r\n <spa-text id=\"txtPassword\" display=\"Current Password\" [(value)]=\"changePassword.currentPassword\" width=\"300px\" type=\"password\"></spa-text>\r\n </div>\r\n\r\n <div class=\"col\">\r\n <spa-text id=\"txtNewPassword\" display=\"New Password\" [(value)]=\"changePassword.newPassword\" width=\"300px\" type=\"password\"></spa-text>\r\n </div>\r\n\r\n <div class=\"col\">\r\n <spa-text id=\"txtConfirmPassword\" display=\"Confirm Password\" [(value)]=\"changePassword.confirmPassword\" width=\"300px\" type=\"password\"></spa-text>\r\n </div>\r\n\r\n <div class=\"col mt-3\">\r\n <button id=\"btnChange\" mat-raised-button color=\"primary\" (click)=\"change()\" cdkFocusInitial>Change</button>\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"col\">\r\n\r\n <div class=\"alert alert-info\" style=\"font-size: 14px;\" role=\"alert\">\r\n <b>*Please consider these requirements for your new password.</b> <br><br>\r\n\r\n At least 8 characters<br>\r\n At least 1 uppercase letter (A-Z)<br>\r\n At least 2 lowercase letters (a-z)<br>\r\n At least 1 digit (0-9)<br>\r\n At least 1 special character (~`! …)<br>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n</div>\r\n\r\n","\r\nimport { ChangeUserPassword } from './../../classes/Classes';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { MessageService } from '../../services/message.service';\r\nimport { DataServiceLib } from '../../services/data.service';\r\nimport { AuthService } from '../../services/auth.service';\r\n// import { ApiResponse, HttpService } from 'tin-core';\r\nimport { Location } from '@angular/common';\r\nimport { HttpService } from '../../services/http.service';\r\nimport { ApiResponse } from '../../classes/TinCore';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'spa-change-password',\r\n templateUrl: './change-password.component.html',\r\n styleUrls: ['./change-password.component.css']\r\n})\r\nexport class ChangePasswordComponent implements OnInit {\r\n\r\n constructor(public router: Router, private location: Location, private httpService: HttpService, private messageService: MessageService, public dataService: DataServiceLib, private authService: AuthService, private route: ActivatedRoute) { }\r\n\r\n ngOnInit() {\r\n this.myRole = this.authService.currentRoleSource.value\r\n\r\n if (this.dataService.tmpProfileuserName==\"\"){\r\n this.changePassword.userName = this.authService.currentUser;\r\n\r\n }else{\r\n this.changePassword.userName = this.dataService.tmpProfileuserName;\r\n this.dataService.tmpProfileuserName = \"\";\r\n }\r\n\r\n if (this.route.snapshot.queryParams.redirectTo != undefined) {\r\n this.redirectPath = this.route.snapshot.queryParams.redirectTo\r\n } else {\r\n this.redirectPath = \"home\"\r\n }\r\n\r\n }\r\n\r\n myRole;\r\n redirectPath\r\n isProcessing: boolean = false;\r\n changePassword = new ChangeUserPassword();\r\n\r\n public change() {\r\n\r\n if (!this.myRole[this.dataService.capUsers.name]){\r\n if (this.changePassword.currentPassword == \"\") {\r\n this.messageService.toast(\"Please enter current Password\");\r\n return;\r\n }\r\n }\r\n\r\n if (this.changePassword.newPassword == \"\") {\r\n this.messageService.toast(\"Please enter new Password\");\r\n return;\r\n }\r\n\r\n if (this.changePassword.confirmPassword == \"\") {\r\n this.messageService.toast(\"Please confirm new Password\");\r\n return;\r\n }\r\n\r\n if (this.changePassword.confirmPassword != this.changePassword.newPassword ) {\r\n this.messageService.toast(\"Passwords do not match\");\r\n return;\r\n }\r\n\r\n this.isProcessing = true;\r\n\r\n if (this.myRole[this.dataService.capUsers.name]){\r\n\r\n\r\n this.dataService.ChangePasswordAdmin(this.changePassword).subscribe((apiResponse: ApiResponse) => {\r\n this.isProcessing = false;\r\n\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"Password Changed\");\r\n\r\n this.router.navigate([this.redirectPath]);\r\n\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n }\r\n );\r\n\r\n }else{\r\n\r\n this.dataService.ChangePassword(this.changePassword).subscribe((apiResponse: ApiResponse) => {\r\n this.isProcessing = false;\r\n\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"Password Changed\");\r\n\r\n this.router.navigate([this.redirectPath]);\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n }\r\n );\r\n\r\n }\r\n }\r\n}\r\n","\r\n<div class=\"container\">\r\n\r\n <div class=\"row mt-3\" style=\"font-size:14px;\">\r\n\r\n <div class=\"col-2 mt-3 \">\r\n\r\n <div class=\"tin-input\">\r\n\r\n <div class=\"col\">\r\n <mat-icon style=\"font-size: 70px;\">account_circle</mat-icon>\r\n <!-- <img style=\"height: 40px\"> -->\r\n </div>\r\n\r\n <div class=\"col\">\r\n <mat-label id=\"lbluserName\" style=\"font-size: 14px;\">{{profile?.userName}}</mat-label>\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n\r\n\r\n </div>\r\n\r\n <div class=\"col-8 mt-3\">\r\n\r\n <div class=\"tin-input\" style=\"width: 70%;\">\r\n\r\n <div class=\"tin-input-row\">\r\n\r\n\r\n <div class=\"col\">\r\n <spa-text id=\"txtFirstName\" display=\"First Name\" [(value)]=\"profile.firstName\" [readonly]=\"selfProfile\"></spa-text>\r\n </div>\r\n\r\n <div class=\"col\">\r\n <spa-text id=\"txtLastName\" display=\"Last Name\" [(value)]=\"profile.lastName\" [readonly]=\"selfProfile\"></spa-text>\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"col\">\r\n <spa-text id=\"txtAuth\" display=\"Authentication\" [(value)]=\"profile.authType\" [readonly]=\"true\"></spa-text>\r\n </div>\r\n\r\n <div class=\"col\">\r\n <spa-text id=\"txtEmail\" display=\"Email\" [(value)]=\"profile.email\" [readonly]=\"selfProfile\"></spa-text>\r\n </div>\r\n\r\n <div class=\"col\">\r\n <spa-select id=\"cboRole\" display=\"Role\" [options]=\"roles\" optionDisplay=\"roleName\" optionValue=\"roleID\" [(value)]=\"profile.roleID\" [readonly]=\"selfProfile\"></spa-select>\r\n </div>\r\n\r\n\r\n <div class=\"tin-input-row mt-2\">\r\n <button id=\"btnUpdate\" mat-raised-button color=\"primary\" *ngIf=\"!selfProfile\" [disabled]=\"isProcessing\" (click)=\"updateProfile()\" >Update Profile</button>\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n <div class=\"col-2 mt-4\">\r\n\r\n <a mat-button id=\"lnkUserManager\" style=\"margin-left: 1em\" *ngIf=\"!selfProfile\" (click)=\"gotoUsers()\" >User Manager</a>\r\n <a mat-button id=\"lnkChangePassword\" style=\"margin-left: 1em\" *ngIf=\"(selfProfile || myRole[dataService.capUsers.name]) && profile.authType=='local'\" (click)=\"changePassword()\" >Change Password</a>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n</div>\r\n\r\n\r\n\r\n","import { AuthService } from './../../services/auth.service';\r\nimport { MessageService } from './../../services/message.service';\r\nimport { DataServiceLib } from './../../services/data.service';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { AppConfig, Profile } from '../../classes/Classes';\r\nimport { Router } from '@angular/router';\r\nimport { HttpService } from '../../services/http.service';\r\nimport { ApiResponse } from '../../classes/TinCore';\r\n\r\n@Component({\r\n selector: 'spa-profile',\r\n templateUrl: './profile.component.html',\r\n styleUrls: ['./profile.component.css']\r\n})\r\nexport class ProfileComponent implements OnInit {\r\n\r\n constructor(public dataService: DataServiceLib, private messageService: MessageService, private httpService: HttpService, private router: Router, private authService: AuthService) { }\r\n\r\n ngOnInit() {\r\n\r\n this.myRole = this.authService.currentRoleSource.value\r\n\r\n if (this.dataService.tmpProfileuserName==\"\"){\r\n this.loadProfile(this.authService.currentUser);\r\n\r\n }else{\r\n this.loadProfile(this.dataService.tmpProfileuserName);\r\n this.dataService.tmpProfileuserName = \"\";\r\n }\r\n\r\n }\r\n\r\n isProcessing: boolean;\r\n myRole;\r\n @Input() appConfig = new AppConfig();\r\n\r\n\r\n selfProfile : boolean = false;\r\n\r\n profile = new Profile();\r\n roles;\r\n approvalRoles;\r\n employees;\r\n\r\n\r\n loadProfile(userName: string){\r\n\r\n let action = \"all\";\r\n\r\n this.dataService.GetUserByID(userName).subscribe(\r\n (apiResponse: ApiResponse) => {\r\n\r\n this.profile = apiResponse[0];\r\n\r\n if (this.profile.userName.toLocaleLowerCase() == this.authService.currentUser.toLocaleLowerCase()){\r\n this.selfProfile = true\r\n }\r\n this.loadRoles()\r\n console.log(this.profile)\r\n },\r\n (error) => {\r\n this.isProcessing = false;\r\n this.messageService.toast(this.httpService.Error(error));\r\n }\r\n );\r\n }\r\n\r\n loadRoles(){\r\n\r\n this.dataService.GetRole(\"all\", \"\").subscribe(\r\n (apiResponse: ApiResponse) => {\r\n this.roles = apiResponse;\r\n console.log(this.roles)\r\n },\r\n (error) => {\r\n this.isProcessing = false;\r\n this.messageService.toast(this.httpService.Error(error));\r\n }\r\n );\r\n\r\n }\r\n\r\n changePassword(){\r\n this.dataService.tmpProfileuserName = this.profile.userName;\r\n this.router.navigate([\"home/user/change-password\"]);\r\n }\r\n\r\n gotoUsers(){\r\n this.router.navigate([\"home/admin/users\"]);\r\n }\r\n\r\n update(){\r\n\r\n }\r\n\r\n updateProfile(){\r\n this.isProcessing = true;\r\n\r\n // console.log(this.profile)\r\n // return\r\n this.dataService.UpdateUser(this.profile).subscribe(\r\n (apiResponse: ApiResponse) => {\r\n this.isProcessing = false;\r\n\r\n if (apiResponse.success) {\r\n this.messageService.toast(\"Profile Updated\");\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n },\r\n (error) => {\r\n this.messageService.toast(\"Connection failed \");\r\n this.isProcessing = false;\r\n }\r\n );\r\n }\r\n\r\n}\r\n","import { SpaMatModule } from \"./spa-mat.module\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { ChangePasswordComponent } from \"../components/change-password/change-password.component\";\r\nimport { ProfileComponent } from \"../components/profile/profile.component\";\r\nimport { TinSpaModule } from \"../tin-spa.module\";\r\n\r\n@NgModule({\r\n declarations: [ChangePasswordComponent, ProfileComponent],\r\n\r\n entryComponents: [],\r\n\r\n imports: [\r\n ReactiveFormsModule.withConfig({ warnOnNgModelWithFormControl: \"never\" }),\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n SpaMatModule,\r\n TinSpaModule\r\n ],\r\n\r\n exports: [\r\n CommonModule,\r\n FormsModule,\r\n SpaMatModule,\r\n ChangePasswordComponent,\r\n ProfileComponent,\r\n ],\r\n})\r\nexport class SpaUserModule {}\r\n","<h4>Settings</h4>\r\n<hr>\r\n\r\n<div class=\"container\">\r\n\r\n <div class=\"row justify-content-between\" style=\"padding-bottom: 10px;padding-left:10px\">\r\n\r\n <div class=\"col-2\">\r\n <!-- <button mat-raised-button (click)=\"addSetting()\">New Setting</button> -->\r\n </div>\r\n <div class=\"col-2\">\r\n <button mat-raised-button (click)=\"loadSettings()\">Refresh</button>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"row mt-1 mb-1\" style=\"margin-left:10px\" *ngFor=\"let setting of settings\">\r\n\r\n <mat-form-field style=\"width: 500px; font-size: 14px;\">\r\n <mat-label>{{setting.sName}}</mat-label>\r\n <input matInput autocomplete=\"off\" [(ngModel)]=\"setting.sValue\" >\r\n </mat-form-field>\r\n\r\n <button mat-mini-fab color=\"primary\" (click)=\"updateSetting(setting)\" style=\"margin-right:150px;\"><mat-icon>done_all</mat-icon></button>\r\n\r\n <mat-label style=\"font-size: small;\">Last Updated by {{setting.updatedBy}} on {{setting.updatedDate | date: 'dd MMM yy HH:mm'}}</mat-label>\r\n\r\n </div>\r\n\r\n\r\n</div>\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { DataServiceLib } from '../../services/data.service';\r\nimport { MessageService } from '../../services/message.service';\r\nimport { ApiResponse } from '../../classes/TinCore';\r\n// import { ApiResponse } from 'tin-core';\r\n\r\n@Component({\r\n selector: 'spa-settings',\r\n templateUrl: './settings.component.html',\r\n styleUrls: ['./settings.component.css']\r\n})\r\nexport class SettingsComponent implements OnInit {\r\n\r\n constructor(private dataService: DataServiceLib, private messageService: MessageService) { }\r\n\r\n ngOnInit(): void {\r\n this.loadSettings();\r\n }\r\n\r\n _filterText = \"\";\r\n settings;\r\n isProcessing = false;\r\n\r\n applyFilter(filterValue: string) {\r\n this.settings.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n loadSettings(){\r\n this.dataService.GetSetting(\"all\", \"\").subscribe((apiResponse) => {\r\n this.settings = apiResponse;\r\n }\r\n );\r\n\r\n }\r\n\r\n updateSetting(setting) {\r\n\r\n this.isProcessing = true;\r\n this.dataService.UpdateSetting(setting, \"edit\").subscribe((apiResponse: ApiResponse) => {\r\n this.isProcessing = false;\r\n\r\n if (apiResponse.success) {\r\n this.messageService.toast(`Setting ${setting.sName} Updated`);\r\n this.loadSettings();\r\n\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n\r\n });\r\n\r\n };\r\n\r\n addSetting() {\r\n\r\n // const dialogRef = this.dialog.open(addRoleDialog, {\r\n // width: \"1100px\",\r\n // data: \"\",\r\n // });\r\n\r\n // dialogRef.afterClosed().subscribe((result) => {\r\n // if (result == \"success\") {\r\n // this.loadRoles();\r\n // }\r\n // });\r\n this.messageService.toast(\"Feature not Available\");\r\n\r\n }\r\n\r\n}\r\n","<h4>Logs</h4>\r\n<hr />\r\n\r\n<div class=\"container-fluid\">\r\n\r\n <div class=\"row justify-content-between\" style=\"padding-bottom: 10px\">\r\n\r\n <div class=\"col-2\">\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-end\">\r\n <spa-filter [data]=\"logs\" (refreshClick)=\"loadLogs()\"></spa-filter>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n <p *ngIf=\"!logs\"><em>Loading...</em></p>\r\n\r\n\r\n <div class=\"mat-elevation-z8\" *ngIf=\"logs\">\r\n\r\n <table id=\"tblTable\" mat-table [dataSource]=\"logs\">\r\n\r\n\r\n <ng-container matColumnDef=\"userName\">\r\n <th mat-header-cell *matHeaderCellDef> User </th>\r\n <td mat-cell *matCellDef=\"let log\"> {{log.userName}} </td>\r\n </ng-container>\r\n\r\n\r\n <ng-container matColumnDef=\"dateLogged\">\r\n <th mat-header-cell *matHeaderCellDef class=\"datetime\"> Date Logged </th>\r\n <td mat-cell *matCellDef=\"let log\"> {{log.dateLogged | date: 'dd MMM yy HH:mm:ss'}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"source\">\r\n <th mat-header-cell *matHeaderCellDef> Source </th>\r\n <td mat-cell *matCellDef=\"let log\"> {{log.source}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"details\">\r\n <th mat-header-cell *matHeaderCellDef> Details </th>\r\n <td mat-cell *matCellDef=\"let log\"> {{log.details}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"fullName\">\r\n <th mat-header-cell *matHeaderCellDef> Name </th>\r\n <td mat-cell *matCellDef=\"let log\">{{log.user.firstName}} {{log.user.lastName}}</td>\r\n </ng-container>\r\n\r\n\r\n\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\r\n\r\n\r\n </table>\r\n\r\n </div>\r\n\r\n <mat-paginator #logsPaginator [pageSizeOptions]=\"[50, 100, 200]\" showFirstLastButtons></mat-paginator>\r\n</div>\r\n\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { DataServiceLib } from \"../../services/data.service\";\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { AuthService } from '../../services/auth.service';\r\n\r\n@Component({\r\n selector: 'spa-logs',\r\n templateUrl: './logs.component.html',\r\n styleUrls: ['./logs.component.css']\r\n})\r\nexport class LogsComponent implements OnInit {\r\n constructor(private authService: AuthService, private dataService: DataServiceLib,) { }\r\n\r\n ngOnInit() {\r\n this.authService.isAuthorised(this.dataService.capLogs.name);\r\n this.loadLogs();\r\n }\r\n\r\n isProcessing: boolean = false;\r\n @ViewChild(\"logsPaginator\") logsPaginator: MatPaginator;\r\n\r\n\r\n logs;\r\n\r\n displayedColumns: string[] = [\"dateLogged\", \"userName\", \"fullName\", \"source\", \"details\"];\r\n\r\n public loadLogs() {\r\n this.dataService.GetLog(\"all\", \"\").subscribe((apiResponse) => {\r\n\r\n this.logs = new MatTableDataSource(apiResponse);\r\n this.logs.paginator = this.logsPaginator;\r\n\r\n }\r\n );\r\n }\r\n\r\n}\r\n","\r\n<h4>Users</h4>\r\n<hr />\r\n\r\n<div class=\"container\">\r\n\r\n <div class=\"row justify-content-between\" style=\"padding-bottom: 10px\">\r\n <div class=\"col-2\">\r\n <button id=\"btnCreateAccount\" mat-raised-button color=\"primary\" (click)=\"createAccount()\">Create Account</button>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-end\">\r\n <spa-filter [data]=\"users\" (refreshClick)=\"UpdateData()\"></spa-filter>\r\n </div>\r\n </div>\r\n\r\n\r\n <p *ngIf=\"!users\"><em>Loading...</em></p>\r\n\r\n\r\n <div class=\"mat-elevation-z8\" *ngIf=\"users\">\r\n\r\n <table id=\"tblTable\" mat-table [dataSource]=\"users\">\r\n\r\n <ng-container matColumnDef=\"userName\">\r\n <th mat-header-cell *matHeaderCellDef> userName </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.userName}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"locked\">\r\n <th mat-header-cell *matHeaderCellDef> Locked </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.locked}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"fullName\">\r\n <th mat-header-cell *matHeaderCellDef> Name </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.firstName}} {{user.lastName}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"roleName\">\r\n <th mat-header-cell *matHeaderCellDef> Role </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.role.roleName}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"disabled\">\r\n <th mat-header-cell *matHeaderCellDef> Disabled </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.disabled}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"dateCreated\">\r\n <th mat-header-cell *matHeaderCellDef> Created </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.createdDate | date: 'dd/MM/yyyy'}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"dateUpdated\">\r\n <th mat-header-cell *matHeaderCellDef> Updated </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.updatedDate | date: 'dd/MM/yyyy'}} </td>\r\n </ng-container>\r\n\r\n\r\n <ng-container matColumnDef=\"Action\">\r\n <th mat-header-cell *matHeaderCellDef> Action </th>\r\n <td mat-cell *matCellDef=\"let user\" style=\"width: 250px;\">\r\n\r\n <button mat-mini-fab color=\"primary\" (click)=\"viewProfile(user)\" style=\"margin-right:30px\" matTooltip=\"View Profile\" matTooltipPosition=\"above\"> <mat-icon>account_circle</mat-icon></button>\r\n\r\n <button *ngIf=\"user.locked=='0'\" mat-mini-fab color=\"warn\" (click)=\"lock(user)\" style=\"margin-right:10px\" matTooltip=\"Lock\" matTooltipPosition=\"above\"> <mat-icon>lock</mat-icon></button>\r\n <button *ngIf=\"user.locked=='1'\" mat-mini-fab (click)=\"unlock(user)\" style=\"margin-right:10px; background-color: green;\" matTooltip=\"Unlock\" matTooltipPosition=\"above\"> <mat-icon >lock_open</mat-icon></button>\r\n\r\n <!-- <button *ngIf=\"user.disabled=='0'\" mat-mini-fab color=\"warn\" (click)=\"disable(user)\" style=\"margin-right:10px\" matTooltip=\"Disable\" matTooltipPosition=\"above\"> <mat-icon>block</mat-icon></button>\r\n <button *ngIf=\"user.disabled=='1'\" mat-mini-fab (click)=\"enable(user)\" style=\"margin-right:10px; background-color: green\" matTooltip=\"Enable\" matTooltipPosition=\"above\"> <mat-icon>done</mat-icon></button> -->\r\n\r\n <button mat-mini-fab color=\"warn\" (click)=\"deleteUser(user)\" style=\"margin-right:10px\" matTooltip=\"Delete\" matTooltipPosition=\"above\"> <mat-icon>delete</mat-icon></button>\r\n <!-- <button mat-mini-fab color=\"primary\" (click)=\"recover(user)\" style=\"margin-right:10px\" matTooltip=\"Reset Password\" matTooltipPosition=\"above\"> <mat-icon>vpn_key</mat-icon></button> -->\r\n\r\n\r\n\r\n </td>\r\n </ng-container>\r\n\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\" [ngClass]=\"{'make-gray': row.disabled =='1'}\"></tr>\r\n\r\n </table>\r\n\r\n </div>\r\n\r\n <mat-paginator #usersPaginator [pageSizeOptions]=\"[10, 20, 50]\" showFirstLastButtons></mat-paginator>\r\n</div>\r\n","import { Component, OnInit, Inject, ViewChild } from \"@angular/core\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { DataServiceLib } from \"../../services/data.service\";\r\nimport { Router } from \"@angular/router\";\r\nimport { MessageService } from \"../../services/message.service\";\r\nimport { AuthService } from \"../../services/auth.service\";\r\nimport { User } from '../../classes/Classes';\r\nimport { HttpService } from \"../../services/http.service\";\r\nimport { ApiResponse } from \"../../classes/TinCore\";\r\n\r\n@Component({\r\n selector: \"spa-users\",\r\n templateUrl: \"./users.component.html\",\r\n styleUrls: [\"./users.component.css\"],\r\n})\r\nexport class UsersComponent implements OnInit {\r\n constructor(private httpService: HttpService, public router: Router, private authService: AuthService, private dataService: DataServiceLib, public dialog: MatDialog, private messageService: MessageService) { }\r\n\r\n ngOnInit() {\r\n this.authService.isAuthorised(this.dataService.capUsers.name);\r\n this.UpdateData();\r\n }\r\n\r\n isProcessing: boolean = false;\r\n @ViewChild(\"usersPaginator\") usersPaginator: MatPaginator;\r\n\r\n _filterText = \"\";\r\n\r\n users;\r\n displayedColumns: string[] = [\"userName\", \"fullName\", \"roleName\", \"locked\", \"dateCreated\", \"Action\"];\r\n\r\n public UpdateData() {\r\n this.dataService.GetUser().subscribe(\r\n (apiResponse) => {\r\n\r\n this.users = new MatTableDataSource(apiResponse);\r\n this.users.paginator = this.usersPaginator;\r\n this.applyFilter(this._filterText);\r\n\r\n },\r\n (error) => {\r\n this.isProcessing = false;\r\n this.messageService.toast(this.httpService.Error(error));\r\n }\r\n );\r\n }\r\n\r\n applyFilter(filterValue: string) {\r\n this.users.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n createAccount() {\r\n this.router.navigate([\"home/admin/create-account\"]);\r\n }\r\n\r\n viewProfile(user: User) {\r\n\r\n this.dataService.tmpProfileuserName = user.userName;\r\n this.router.navigate([\"home/user/profile\"]);\r\n\r\n }\r\n\r\n lock(u) {\r\n let login = { userName: u.userName, password: \"Abcdef@123\" }\r\n\r\n this.dataService.LockUser(login).subscribe((apiResponse) => {\r\n\r\n if (apiResponse.success) {\r\n this.messageService.toast(\"User Locked\");\r\n this.UpdateData();\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse);\r\n }\r\n });\r\n }\r\n\r\n unlock(u) {\r\n let login = { userName: u.userName, password: \"Abcdef@123\" }\r\n\r\n this.dataService.UnlockUser(login).subscribe((apiResponse) => {\r\n\r\n if (apiResponse.success) {\r\n this.messageService.toast(\"User Unlocked\");\r\n this.UpdateData();\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse);\r\n }\r\n });\r\n }\r\n\r\n recover(u: User) {\r\n this.dataService.SelfReset(u).subscribe((apiResponse: ApiResponse) => {\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"The password has been sent on email\");\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n });\r\n\r\n }\r\n\r\n deleteUser(user: User) {\r\n\r\n this.messageService.confirm(`Delete ${user.userName} ?`).subscribe((result) => {\r\n\r\n if (result == \"yes\") {\r\n\r\n this.isProcessing = true;\r\n this.dataService.DeleteUser(user).subscribe(\r\n (apiResponse: ApiResponse) => {\r\n this.isProcessing = false;\r\n\r\n if (apiResponse.message == \"success\") {\r\n this.messageService.toast(\"User Deleted\");\r\n\r\n this.UpdateData();\r\n\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n },\r\n (error) => {\r\n this.messageService.toast(\"Connection failed \");\r\n this.isProcessing = false;\r\n }\r\n );\r\n\r\n }\r\n })\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n","<mat-form-field>\r\n <mat-label>Role Name</mat-label>\r\n <input matInput autocomplete=\"off\" [(ngModel)]=\"role.roleName\" placeholder=\"Enter Role Name\" />\r\n</mat-form-field>\r\n\r\n<mat-dialog-content class=\"mat-typography\">\r\n\r\n <div class=\"row\" >\r\n\r\n <!-- <div class=\" col-4\">\r\n\r\n <div class=\"row\">\r\n <mat-checkbox color=\"primary\" style=\"margin-right:20px; font-size:14px\" [(ngModel)]=\"role.cap1\">Admin</mat-checkbox>\r\n </div>\r\n\r\n </div> -->\r\n\r\n <div class=\"row\" style=\"margin-left: 2em;margin-right: 2em;\">\r\n\r\n <div class=\"row\" style=\"margin-left: 2em;\" *ngFor=\"let capItem of capItems\">\r\n\r\n <mat-checkbox color=\"primary\" style=\"margin-right:20px; font-size:12px; width: 200px;\" [(ngModel)]=\"role[capItem.name]\">{{capItem.display}}</mat-checkbox>\r\n\r\n <div *ngFor=\"let capSubItem of capItem.capSubItems\">\r\n\r\n <mat-checkbox color=\"primary\" style=\"margin-right:20px; font-size:12px; width: 200px;\" [(ngModel)]=\"role[capSubItem.name]\">{{capSubItem.display}}</mat-checkbox>\r\n\r\n </div>\r\n\r\n\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions>\r\n <button mat-button [disabled]=\"isProcessing\" (click)=\"submit()\" cdkFocusInitial>Submit</button>\r\n <button mat-button mat-dialog-close=\"success\">Cancel</button>\r\n</mat-dialog-actions>\r\n","import { MessageService } from '../../services/message.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialog, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { DataServiceLib } from '../../services/data.service';\r\n// import { AuthService } from '../../services/auth.service';\r\n// import { ApiResponse, Core } from 'tin-core';\r\nimport { Role } from '../../classes/Classes';\r\nimport { ApiResponse } from '../../classes/TinCore';\r\n\r\n@Component({\r\n selector: 'app-addRole',\r\n templateUrl: './addRoleDialog.component.html',\r\n styleUrls: ['./roles.component.css']\r\n})\r\nexport class addRoleDialog implements OnInit {\r\n\r\n constructor(private messageService: MessageService, private dataService: DataServiceLib, private authService: AuthService, private dialogRef: MatDialogRef<addRoleDialog>, @Inject(MAT_DIALOG_DATA) public data) { }\r\n ngOnInit() {\r\n this.capItems = this.data;\r\n }\r\n\r\n capItems;\r\n\r\n isProcessing: boolean;\r\n role = new Role();\r\n\r\n submit() {\r\n\r\n if (this.role.roleName == \"New Role\" || this.role.roleName == \"\"){\r\n this.messageService.toast(\"Please enter Role Name\");\r\n return;\r\n }\r\n\r\n\r\n this.isProcessing = true;\r\n this.dataService.PostRole(this.role,\"add\").subscribe((apiResponse) => {\r\n this.isProcessing = false;\r\n\r\n if (apiResponse.success) {\r\n this.messageService.toast(\"Role Added\");\r\n this.dialogRef.close(\"success\");\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n\r\n\r\n }, error => {\r\n this.messageService.toast(\"Connection failed\");\r\n this.isProcessing = false;\r\n });\r\n\r\n };\r\n};\r\n\r\n\r\n\r\n","<h4> Roles </h4>\r\n<hr />\r\n\r\n<div class=\"container mb-5\">\r\n\r\n <div class=\"row justify-content-between\" style=\"padding-bottom: 10px;padding-left:10px\">\r\n <div class=\"col-2\">\r\n\r\n <button id=\"btnNewRole\" mat-raised-button color=\"primary\" (click)=\"addRole()\">New Role</button>\r\n </div>\r\n <div class=\"col-1\">\r\n\r\n <button id=\"btnRefresh\" mat-mini-fab color=\"primary\" (click)=\"refresh()\" style=\"margin-right:1em;margin-top:5px\" matTooltip=\"refresh data\" matTooltipPosition=\"right\"><mat-icon class=\"refreshIcon\">refresh</mat-icon></button>\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"row mt-2 mb-1\" style=\"margin-left:10px\" *ngFor=\"let role of roles\">\r\n\r\n <mat-card class=\"mat-elevation-z8\" style=\"width:100%;padding-left:2em\">\r\n\r\n <h4>{{role.roleName}}</h4>\r\n <hr />\r\n\r\n <div class=\"row\" style=\"margin-left: 2em;\">\r\n\r\n\r\n <div class=\"row\" style=\"margin-right:20px;\" *ngFor=\"let capItem of appConfig.capItems\">\r\n\r\n <mat-checkbox color=\"primary\" style=\" font-size:12px; width: 200px;\" [(ngModel)]=\"role[capItem.name]\">{{capItem.display}}</mat-checkbox>\r\n\r\n <div class=\"row\" style=\"margin-right:20px;margin-left: 0px; \" *ngFor=\"let capSubItem of capItem.capSubItems\">\r\n\r\n <mat-checkbox color=\"primary\" style=\" font-size:12px; width: 200px;\" [(ngModel)]=\"role[capSubItem.name]\">{{capSubItem.display}}</mat-checkbox>\r\n\r\n <div class=\"row\" style=\"margin-right:20px;margin-left: 0px;\" *ngFor=\"let capSubSubItem of capSubItem.capSubItems\">\r\n\r\n <mat-checkbox color=\"primary\" style=\"font-size:12px; width: 200px;\" [(ngModel)]=\"role[capSubSubItem.name]\">{{capSubSubItem.display}}</mat-checkbox>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <mat-card-actions>\r\n\r\n <button mat-mini-fab color=\"primary\" (click)=\"updateRole(role)\" style=\"margin-right:10px;\">\r\n <mat-icon>done_all</mat-icon>\r\n </button>\r\n\r\n <!-- <button mat-mini-fab color=\"warn\" (click)=\"editRole(role)\" style=\"margin-right:10px\">\r\n <mat-icon>edit</mat-icon>\r\n </button> -->\r\n\r\n <button mat-mini-fab color=\"warn\" (click)=\"deleteRole(role)\" style=\"margin-right:10px\">\r\n <mat-icon>delete</mat-icon>\r\n </button>\r\n\r\n </mat-card-actions>\r\n\r\n </mat-card>\r\n\r\n </div>\r\n\r\n\r\n</div>\r\n\r\n","import { AppConfig } from './../../classes/Classes';\r\nimport { Component, OnInit, Input } from \"@angular/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { DataServiceLib } from \"../../services/data.service\";\r\nimport { Role, CapItem } from \"../../classes/Classes\";\r\nimport { addRoleDialog } from \"./addRoleDialog.component\";\r\nimport { Router } from \"@angular/router\";\r\nimport { MessageService } from '../../services/message.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { HttpService } from '../../services/http.service';\r\n\r\n\r\n@Component({\r\n selector: \"spa-roles\",\r\n templateUrl: \"./roles.component.html\",\r\n styleUrls: [\"./roles.component.css\"],\r\n})\r\nexport class RolesComponent implements OnInit {\r\n constructor(private httpService: HttpService, private router: Router, private authService: AuthService, private dataService: DataServiceLib, public dialog: MatDialog, private messageService: MessageService) { }\r\n\r\n ngOnInit() {\r\n this.authService.isAuthorised(this.dataService.capRoles.name);\r\n this.loadRoles();\r\n this.dataService.appConfigObserv.subscribe(x => this.appConfig = x);\r\n }\r\n\r\n isProcessing = false;\r\n roles: Role[];\r\n\r\n appConfig = new AppConfig();\r\n\r\n loadRoles() {\r\n this.dataService.GetRole(\"all\", \"\").subscribe((apiResponse) => {\r\n this.roles = apiResponse;\r\n });\r\n }\r\n\r\n refresh() {\r\n this.loadRoles();\r\n }\r\n\r\n addRole() {\r\n const dialogRef = this.dialog.open(addRoleDialog, {\r\n width: \"1100px\",\r\n data: this.appConfig.capItems,\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((result) => {\r\n if (result == \"success\") {\r\n this.loadRoles();\r\n }\r\n });\r\n }\r\n\r\n updateRole(role: Role) {\r\n\r\n this.messageService.confirm(`UPDATE ${role.roleName} ?`).subscribe((result) => {\r\n\r\n if (result == \"yes\") {\r\n\r\n this.dataService.PostRole(role, \"edit\").subscribe((apiResponse) => {\r\n\r\n if (apiResponse.success) {\r\n this.messageService.toast(\"Role Updated\");\r\n this.loadRoles();\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse);\r\n }\r\n });\r\n\r\n }\r\n\r\n })\r\n\r\n\r\n };\r\n\r\n deleteRole(role: Role) {\r\n\r\n this.messageService.confirm(`DELETE ${role.roleName} ?`).subscribe((result) => {\r\n\r\n if (result == \"yes\") {\r\n\r\n this.dataService.PostRole(role, \"delete\").subscribe((apiResponse) => {\r\n if (apiResponse.success) {\r\n this.messageService.toast(\"Role Deleted\");\r\n this.loadRoles();\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse);\r\n }\r\n });\r\n\r\n }\r\n\r\n })\r\n\r\n }\r\n}\r\n","<h4>Create Account</h4>\r\n\r\n<hr/>\r\n\r\n<div class=\"container\">\r\n\r\n <div class=\"tin-input\" style=\"font-size:14px; width: 70%;\">\r\n\r\n\r\n <div class=\"tin-input-row\">\r\n\r\n <div class=\"col\">\r\n <spa-text id=\"txtFirstName\" display=\"FirstName\" [(value)]=\"register.firstName\"></spa-text>\r\n </div>\r\n\r\n <div class=\"col\">\r\n <spa-text id=\"txtLastName\" display=\"LastName\" [(value)]=\"register.lastName\"></spa-text>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <div class=\"tin-input-row mt-3\">\r\n\r\n <div class=\"col\">\r\n <spa-text id=\"txtUserName\" display=\"Username\" [(value)]=\"register.userName\"></spa-text>\r\n </div>\r\n\r\n <div class=\"col\">\r\n <spa-select id=\"cboAuth\" display=\"Authentication Type\" [options]=\"authTypes\" optionDisplay=\"name\" optionValue=\"value\" [(value)]=\"register.authType\" ></spa-select>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <div class=\"tin-input-row\" *ngIf=\"register.authType=='local'\">\r\n\r\n <div class=\"col\">\r\n <spa-text id=\"txtPassword\" display=\"Password\" [(value)]=\"register.password\" type=\"password\"></spa-text>\r\n </div>\r\n\r\n <div class=\"col\">\r\n <spa-text id=\"txtConfirmPassword\" display=\"Confirm Password\" [(value)]=\"confirmPassword\" type=\"password\"></spa-text>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <div class=\"tin-input-row mt-3\" style=\"margin-left: 1em;\">\r\n <mat-checkbox id=\"cbkOpenAfter\" color=\"primary\" style=\"margin-right:100px; font-size:12px\" [(ngModel)]=\"openProfile\">Open profile after creation</mat-checkbox>\r\n </div>\r\n\r\n <div class=\"tin-input-row mt-3\">\r\n <button id=\"btnCreate\" [disabled]=\"register.authType ==''\" mat-raised-button color=\"primary\" (click)=\"create()\" cdkFocusInitial>Create</button>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n\r\n","import { DataServiceLib } from './../../services/data.service';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { MessageService } from '../../services/message.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { Profile, AppConfig, Register } from '../../classes/Classes';\r\nimport { Router } from '@angular/router';\r\nimport { HttpService } from '../../services/http.service';\r\nimport { ApiResponse } from '../../classes/TinCore';\r\n\r\n@Component({\r\n selector: 'spa-create-account',\r\n templateUrl: './create-account.component.html',\r\n styleUrls: ['./create-account.component.css']\r\n})\r\nexport class CreateAccountComponent implements OnInit {\r\n\r\n constructor(private httpService: HttpService, private messageService: MessageService, private dataService: DataServiceLib, private authService: AuthService, public router: Router) { }\r\n\r\n ngOnInit() {\r\n this.appConfig = this.dataService.appConfig;\r\n }\r\n\r\n\r\n\r\n @Input() appConfig = new AppConfig();\r\n\r\n isProcessing: boolean = false;\r\n register = new Register();\r\n confirmPassword: string;\r\n openProfile: boolean = true;\r\n\r\n authTypes = [\r\n { name: \"Local Authentication\", value: \"local\" },\r\n { name: \"AD Authentication\", value: \"AD\" }\r\n ]\r\n\r\n\r\n create() {\r\n\r\n if (this.register.authType == \"\") {\r\n this.messageService.toast(\"Choose Authentication Type\");\r\n return;\r\n }\r\n\r\n\r\n this.isProcessing = true;\r\n this.dataService.RegisterAccount(this.register).subscribe((apiResponse: ApiResponse) => {\r\n this.isProcessing = false;\r\n\r\n if (apiResponse.success) {\r\n this.messageService.toast(\"Account Created\");\r\n\r\n if (this.openProfile) {\r\n this.viewProfile(this.register.userName);\r\n } else {\r\n // this.user = new User();\r\n this.register = new Register();\r\n this.confirmPassword = \"\";\r\n }\r\n\r\n\r\n } else {\r\n this.messageService.toast(\"Error: \" + apiResponse.message);\r\n }\r\n },\r\n (error) => {\r\n this.isProcessing = false;\r\n this.messageService.toast(this.httpService.Error(error));\r\n }\r\n );\r\n }\r\n\r\n viewProfile(userName: string) {\r\n\r\n this.dataService.tmpProfileuserName = userName;\r\n this.router.navigate([\"home/user/profile\"]);\r\n\r\n }\r\n\r\n}\r\n","import { SettingsComponent } from '../components/settings/settings.component';\r\nimport { LogsComponent } from '../components/logs/logs.component';\r\nimport { SpaMatModule } from \"./spa-mat.module\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { UsersComponent } from \"../components/users/users.component\";\r\nimport { RolesComponent } from \"../components/roles/roles.component\";\r\nimport { addRoleDialog } from \"../components/roles/addRoleDialog.component\";\r\nimport { CreateAccountComponent } from \"../components/create-account/create-account.component\";\r\nimport { TinSpaModule } from '../tin-spa.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n UsersComponent,\r\n RolesComponent,\r\n addRoleDialog,\r\n CreateAccountComponent,\r\n LogsComponent,\r\n SettingsComponent\r\n ],\r\n\r\n entryComponents: [\r\n addRoleDialog,\r\n ],\r\n\r\n imports: [\r\n ReactiveFormsModule.withConfig({ warnOnNgModelWithFormControl: \"never\" }),\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n SpaMatModule,\r\n TinSpaModule\r\n ],\r\n\r\n exports: [\r\n CommonModule,\r\n FormsModule,\r\n SpaMatModule,\r\n UsersComponent,\r\n RolesComponent,\r\n addRoleDialog,\r\n CreateAccountComponent,\r\n LogsComponent,\r\n SettingsComponent\r\n ],\r\n})\r\nexport class SpaAdminModule {}\r\n"],"names":["Injectable","i0.ɵɵelementStart","i0.ɵɵtext","i0.ɵɵelementEnd","i0.ɵɵadvance","i0.ɵɵtextInterpolate","i0.ɵɵlistener","MAT_DIALOG_DATA","i0.ɵɵtemplate","i0.ɵɵproperty","Component","Inject","mergeMap","of","XLSX.utils","XLSX.write","FileSaver.saveAs","LogLevel","TableColumnType","Operator","HttpHeaders","BehaviorSubject","i0.ɵɵelement","Input","MAT_DIALOG_DEFAULT_OPTIONS","MAT_DATE_LOCALE","CommonModule","FormsModule","ReactiveFormsModule","MatMenuModule","MatSliderModule","MatTableModule","MatPaginatorModule","MatCheckboxModule","MatBadgeModule","MatButtonModule","MatIconModule","MatDialogModule","MatSnackBarModule","MatTabsModule","MatFormFieldModule","MatInputModule","MatCardModule","MatChipsModule","MatSelectModule","MatNativeDateModule","MatProgressSpinnerModule","MatListModule","MatAutocompleteModule","MatTooltipModule","MatSortModule","MatDatepickerModule","MatStepperModule","MatRadioModule","NgModule","Observable","HttpResponse","i0.ɵɵtextInterpolate1","i0.ɵɵattribute","DEFAULT_INTERRUPTSOURCES","i0.ɵɵelementContainerStart","i0.ɵɵelementContainerEnd","i0.ɵɵstyleMap","EventEmitter","MatTableDataSource","Output","ViewChild","FormControl","Validators","startWith","map","Directive","HostBinding","HostListener","i0.ɵɵnamespaceSVG","NG_VALUE_ACCESSOR","forwardRef","DecimalPipe","STEPPER_GLOBAL_OPTIONS","CurrencyPipe","HTTP_INTERCEPTORS","LocationStrategy","HashLocationStrategy","MomentModule","NgxDocViewerModule","AngularEditorModule","NgIdleKeepaliveModule","i0.ɵɵtextInterpolate2"],"mappings":"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G,KAAK,CAAC;YAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,C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"}