tin-spa 2.13.14 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (443) hide show
  1. package/README.md +2 -2
  2. package/__ivy_ngcc__/fesm2015/tin-spa.js +6813 -0
  3. package/__ivy_ngcc__/fesm2015/tin-spa.js.map +1 -0
  4. package/bundles/tin-spa.umd.js +3867 -0
  5. package/bundles/tin-spa.umd.js.map +1 -0
  6. package/bundles/tin-spa.umd.min.js +16 -0
  7. package/bundles/tin-spa.umd.min.js.map +1 -0
  8. package/esm2015/lib/classes/Classes.js +241 -0
  9. package/esm2015/lib/components/activity/activity.component.js +26 -0
  10. package/esm2015/lib/components/attach/attach.component.js +107 -0
  11. package/esm2015/lib/components/change-password/change-password.component.js +91 -0
  12. package/esm2015/lib/components/check/check.component.js +63 -0
  13. package/esm2015/lib/components/chips/chips.component.js +67 -0
  14. package/esm2015/lib/components/create-account/create-account.component.js +78 -0
  15. package/esm2015/lib/components/date/date.component.js +45 -0
  16. package/esm2015/lib/components/datetime/datetime.component.js +44 -0
  17. package/esm2015/lib/components/html/html.component.js +97 -0
  18. package/esm2015/lib/components/label/label.component.js +29 -0
  19. package/esm2015/lib/components/loader/loader.component.js +30 -0
  20. package/esm2015/lib/components/login/login.component.js +122 -0
  21. package/esm2015/lib/components/logs/logs.component.js +43 -0
  22. package/esm2015/lib/components/message/messageDialog.component.js +31 -0
  23. package/esm2015/lib/components/money/money.component.js +50 -0
  24. package/esm2015/lib/components/nav-menu/nav-menu.component.js +51 -0
  25. package/esm2015/lib/components/option/option.component.js +62 -0
  26. package/esm2015/lib/components/profile/profile.component.js +108 -0
  27. package/esm2015/lib/components/profiles/profiles.component.js +16 -0
  28. package/esm2015/lib/components/recover-account/recover-account.component.js +52 -0
  29. package/esm2015/lib/components/roles/addRoleDialog.component.js +59 -0
  30. package/esm2015/lib/components/roles/editRoleDialog.component.js +57 -0
  31. package/esm2015/lib/components/roles/roles.component.js +131 -0
  32. package/esm2015/lib/components/roles/viewRoleDialog.component.js +38 -0
  33. package/esm2015/lib/components/select/select.component.js +73 -0
  34. package/esm2015/lib/components/settings/settings.component.js +63 -0
  35. package/esm2015/lib/components/signup/signup.component.js +56 -0
  36. package/esm2015/lib/components/steps/steps.component.js +98 -0
  37. package/esm2015/lib/components/table/table.component.js +109 -0
  38. package/esm2015/lib/components/text/text.component.js +165 -0
  39. package/esm2015/lib/components/tiles/tiles.component.js +41 -0
  40. package/esm2015/lib/components/timeout/timeout.component.js +90 -0
  41. package/esm2015/lib/components/tin-spa.component.js +19 -0
  42. package/esm2015/lib/components/users/addUserDialog.component.js +53 -0
  43. package/esm2015/lib/components/users/editUserDialog.component.js +96 -0
  44. package/esm2015/lib/components/users/users.component.js +130 -0
  45. package/esm2015/lib/components/viewer/viewer.component.js +67 -0
  46. package/esm2015/lib/components/viewer/viewerDialog.component.js +76 -0
  47. package/esm2015/lib/dnd.directive.js +51 -0
  48. package/esm2015/lib/modules/spa-admin.module.js +67 -0
  49. package/esm2015/lib/modules/spa-index.module.js +33 -0
  50. package/esm2015/lib/modules/spa-mat.module.js +53 -0
  51. package/esm2015/lib/modules/spa-user.module.js +31 -0
  52. package/esm2015/lib/services/auth.service.js +153 -0
  53. package/esm2015/lib/services/data.service.js +78 -0
  54. package/esm2015/lib/services/export.service.js +29 -0
  55. package/esm2015/lib/services/loader-interceptor.service.js +77 -0
  56. package/esm2015/lib/services/loader.service.js +17 -0
  57. package/esm2015/lib/services/log.service.js +76 -0
  58. package/esm2015/lib/services/message.service.js +58 -0
  59. package/esm2015/lib/services/storage.service.js +42 -0
  60. package/esm2015/lib/services/tin-spa.service.js +14 -0
  61. package/esm2015/lib/tin-spa.module.js +91 -0
  62. package/esm2015/public-api.js +58 -0
  63. package/esm2015/tin-spa.js +9 -0
  64. package/esm5/lib/classes/Classes.js +298 -0
  65. package/esm5/lib/components/activity/activity.component.js +27 -0
  66. package/esm5/lib/components/attach/attach.component.js +119 -0
  67. package/esm5/lib/components/change-password/change-password.component.js +93 -0
  68. package/esm5/lib/components/check/check.component.js +64 -0
  69. package/esm5/lib/components/chips/chips.component.js +69 -0
  70. package/esm5/lib/components/create-account/create-account.component.js +80 -0
  71. package/esm5/lib/components/date/date.component.js +46 -0
  72. package/esm5/lib/components/datetime/datetime.component.js +45 -0
  73. package/esm5/lib/components/html/html.component.js +98 -0
  74. package/esm5/lib/components/label/label.component.js +30 -0
  75. package/esm5/lib/components/loader/loader.component.js +32 -0
  76. package/esm5/lib/components/login/login.component.js +125 -0
  77. package/esm5/lib/components/logs/logs.component.js +45 -0
  78. package/esm5/lib/components/message/messageDialog.component.js +32 -0
  79. package/esm5/lib/components/money/money.component.js +51 -0
  80. package/esm5/lib/components/nav-menu/nav-menu.component.js +53 -0
  81. package/esm5/lib/components/option/option.component.js +63 -0
  82. package/esm5/lib/components/profile/profile.component.js +112 -0
  83. package/esm5/lib/components/profiles/profiles.component.js +18 -0
  84. package/esm5/lib/components/recover-account/recover-account.component.js +54 -0
  85. package/esm5/lib/components/roles/addRoleDialog.component.js +61 -0
  86. package/esm5/lib/components/roles/editRoleDialog.component.js +59 -0
  87. package/esm5/lib/components/roles/roles.component.js +138 -0
  88. package/esm5/lib/components/roles/viewRoleDialog.component.js +39 -0
  89. package/esm5/lib/components/select/select.component.js +75 -0
  90. package/esm5/lib/components/settings/settings.component.js +66 -0
  91. package/esm5/lib/components/signup/signup.component.js +58 -0
  92. package/esm5/lib/components/steps/steps.component.js +110 -0
  93. package/esm5/lib/components/table/table.component.js +111 -0
  94. package/esm5/lib/components/text/text.component.js +168 -0
  95. package/esm5/lib/components/tiles/tiles.component.js +42 -0
  96. package/esm5/lib/components/timeout/timeout.component.js +92 -0
  97. package/esm5/lib/components/tin-spa.component.js +17 -0
  98. package/esm5/lib/components/users/addUserDialog.component.js +55 -0
  99. package/esm5/lib/components/users/editUserDialog.component.js +99 -0
  100. package/esm5/lib/components/users/users.component.js +135 -0
  101. package/esm5/lib/components/viewer/viewer.component.js +68 -0
  102. package/esm5/lib/components/viewer/viewerDialog.component.js +77 -0
  103. package/esm5/lib/dnd.directive.js +52 -0
  104. package/esm5/lib/modules/spa-admin.module.js +70 -0
  105. package/esm5/lib/modules/spa-index.module.js +36 -0
  106. package/esm5/lib/modules/spa-mat.module.js +56 -0
  107. package/esm5/lib/modules/spa-user.module.js +34 -0
  108. package/esm5/lib/services/auth.service.js +155 -0
  109. package/esm5/lib/services/data.service.js +79 -0
  110. package/esm5/lib/services/export.service.js +30 -0
  111. package/esm5/lib/services/loader-interceptor.service.js +79 -0
  112. package/esm5/lib/services/loader.service.js +18 -0
  113. package/esm5/lib/services/log.service.js +112 -0
  114. package/esm5/lib/services/message.service.js +59 -0
  115. package/esm5/lib/services/storage.service.js +74 -0
  116. package/esm5/lib/services/tin-spa.service.js +16 -0
  117. package/esm5/lib/tin-spa.module.js +94 -0
  118. package/esm5/public-api.js +58 -0
  119. package/esm5/tin-spa.js +9 -0
  120. package/fesm2015/tin-spa.js +3398 -0
  121. package/fesm2015/tin-spa.js.map +1 -0
  122. package/fesm5/tin-spa.js +3623 -0
  123. package/fesm5/tin-spa.js.map +1 -0
  124. package/lib/classes/Classes.d.ts +216 -374
  125. package/lib/components/activity/activity.component.d.ts +5 -3
  126. package/lib/components/activity/activity.component.d.ts.__ivy_ngcc_bak +8 -0
  127. package/lib/components/attach/attach.component.d.ts +30 -16
  128. package/lib/components/attach/attach.component.d.ts.__ivy_ngcc_bak +39 -0
  129. package/lib/components/change-password/change-password.component.d.ts +25 -0
  130. package/lib/components/change-password/change-password.component.d.ts.__ivy_ngcc_bak +20 -0
  131. package/lib/components/check/check.component.d.ts +6 -9
  132. package/lib/components/check/check.component.d.ts.__ivy_ngcc_bak +16 -0
  133. package/lib/components/chips/chips.component.d.ts +5 -3
  134. package/lib/components/chips/chips.component.d.ts.__ivy_ngcc_bak +15 -0
  135. package/lib/components/create-account/create-account.component.d.ts +30 -0
  136. package/lib/components/create-account/create-account.component.d.ts.__ivy_ngcc_bak +25 -0
  137. package/lib/components/date/date.component.d.ts +15 -26
  138. package/lib/components/date/date.component.d.ts.__ivy_ngcc_bak +13 -0
  139. package/lib/components/datetime/datetime.component.d.ts +5 -7
  140. package/lib/components/datetime/datetime.component.d.ts.__ivy_ngcc_bak +12 -0
  141. package/lib/components/html/html.component.d.ts +13 -12
  142. package/lib/components/html/html.component.d.ts.__ivy_ngcc_bak +12 -0
  143. package/lib/components/label/label.component.d.ts +5 -5
  144. package/lib/components/label/label.component.d.ts.__ivy_ngcc_bak +8 -0
  145. package/lib/components/loader/loader.component.d.ts +5 -3
  146. package/lib/components/loader/loader.component.d.ts.__ivy_ngcc_bak +9 -0
  147. package/lib/components/login/login.component.d.ts +34 -0
  148. package/lib/components/login/login.component.d.ts.__ivy_ngcc_bak +29 -0
  149. package/lib/components/logs/logs.component.d.ts +22 -0
  150. package/lib/components/logs/logs.component.d.ts.__ivy_ngcc_bak +17 -0
  151. package/lib/components/message/messageDialog.component.d.ts +5 -3
  152. package/lib/components/message/messageDialog.component.d.ts.__ivy_ngcc_bak +12 -0
  153. package/lib/components/money/money.component.d.ts +8 -29
  154. package/lib/components/money/money.component.d.ts.__ivy_ngcc_bak +14 -0
  155. package/lib/components/nav-menu/nav-menu.component.d.ts +7 -23
  156. package/lib/components/nav-menu/nav-menu.component.d.ts.__ivy_ngcc_bak +17 -0
  157. package/lib/components/option/option.component.d.ts +6 -16
  158. package/lib/components/option/option.component.d.ts.__ivy_ngcc_bak +17 -0
  159. package/lib/components/profile/profile.component.d.ts +35 -0
  160. package/lib/components/profile/profile.component.d.ts.__ivy_ngcc_bak +30 -0
  161. package/lib/components/profiles/profiles.component.d.ts +10 -0
  162. package/lib/components/profiles/profiles.component.d.ts.__ivy_ngcc_bak +5 -0
  163. package/lib/components/recover-account/recover-account.component.d.ts +20 -0
  164. package/lib/components/recover-account/recover-account.component.d.ts.__ivy_ngcc_bak +15 -0
  165. package/lib/components/roles/addRoleDialog.component.d.ts +24 -0
  166. package/lib/components/roles/addRoleDialog.component.d.ts.__ivy_ngcc_bak +19 -0
  167. package/lib/components/roles/editRoleDialog.component.d.ts +24 -0
  168. package/lib/components/roles/editRoleDialog.component.d.ts.__ivy_ngcc_bak +19 -0
  169. package/lib/components/roles/roles.component.d.ts +34 -0
  170. package/lib/components/roles/roles.component.d.ts.__ivy_ngcc_bak +29 -0
  171. package/lib/components/roles/viewRoleDialog.component.d.ts +20 -0
  172. package/lib/components/roles/viewRoleDialog.component.d.ts.__ivy_ngcc_bak +15 -0
  173. package/lib/components/select/select.component.d.ts +23 -21
  174. package/lib/components/select/select.component.d.ts.__ivy_ngcc_bak +20 -0
  175. package/lib/components/settings/settings.component.d.ts +21 -0
  176. package/lib/{pages/settings/settings.component.d.ts → components/settings/settings.component.d.ts.__ivy_ngcc_bak} +2 -5
  177. package/lib/components/signup/signup.component.d.ts +25 -0
  178. package/lib/{pages/signup/signup.component.d.ts → components/signup/signup.component.d.ts.__ivy_ngcc_bak} +4 -7
  179. package/lib/components/steps/steps.component.d.ts +13 -20
  180. package/lib/components/steps/steps.component.d.ts.__ivy_ngcc_bak +15 -0
  181. package/lib/components/table/table.component.d.ts +24 -85
  182. package/lib/components/table/table.component.d.ts.__ivy_ngcc_bak +25 -0
  183. package/lib/components/text/text.component.d.ts +17 -38
  184. package/lib/components/text/text.component.d.ts.__ivy_ngcc_bak +37 -0
  185. package/lib/components/tiles/tiles.component.d.ts +10 -22
  186. package/lib/components/tiles/tiles.component.d.ts.__ivy_ngcc_bak +11 -0
  187. package/lib/components/timeout/timeout.component.d.ts +26 -0
  188. package/lib/components/timeout/timeout.component.d.ts.__ivy_ngcc_bak +21 -0
  189. package/lib/components/tin-spa.component.d.ts +9 -4
  190. package/lib/components/tin-spa.component.d.ts.__ivy_ngcc_bak +5 -0
  191. package/lib/components/users/addUserDialog.component.d.ts +21 -0
  192. package/lib/components/users/addUserDialog.component.d.ts.__ivy_ngcc_bak +16 -0
  193. package/lib/components/users/editUserDialog.component.d.ts +32 -0
  194. package/lib/components/users/editUserDialog.component.d.ts.__ivy_ngcc_bak +27 -0
  195. package/lib/components/users/users.component.d.ts +40 -0
  196. package/lib/components/users/users.component.d.ts.__ivy_ngcc_bak +35 -0
  197. package/lib/components/viewer/viewer.component.d.ts +8 -12
  198. package/lib/components/viewer/viewer.component.d.ts.__ivy_ngcc_bak +16 -0
  199. package/lib/components/viewer/viewerDialog.component.d.ts +8 -8
  200. package/lib/components/viewer/viewerDialog.component.d.ts.__ivy_ngcc_bak +19 -0
  201. package/lib/dnd.directive.d.ts +13 -0
  202. package/lib/dnd.directive.d.ts.__ivy_ngcc_bak +8 -0
  203. package/lib/modules/spa-admin.module.d.ts +19 -13
  204. package/lib/modules/spa-admin.module.d.ts.__ivy_ngcc_bak +2 -0
  205. package/lib/modules/spa-index.module.d.ts +11 -11
  206. package/lib/modules/spa-index.module.d.ts.__ivy_ngcc_bak +2 -0
  207. package/lib/modules/spa-mat.module.d.ts +32 -36
  208. package/lib/modules/spa-mat.module.d.ts.__ivy_ngcc_bak +2 -0
  209. package/lib/modules/spa-user.module.d.ts +10 -9
  210. package/lib/modules/spa-user.module.d.ts.__ivy_ngcc_bak +2 -0
  211. package/lib/services/auth.service.d.ts +15 -27
  212. package/lib/services/auth.service.d.ts.__ivy_ngcc_bak +45 -0
  213. package/lib/services/data.service.d.ts +27 -0
  214. package/lib/services/data.service.d.ts.__ivy_ngcc_bak +23 -0
  215. package/lib/services/export.service.d.ts +8 -3
  216. package/lib/services/export.service.d.ts.__ivy_ngcc_bak +7 -0
  217. package/lib/services/loader-interceptor.service.d.ts +6 -5
  218. package/lib/services/loader-interceptor.service.d.ts.__ivy_ngcc_bak +18 -0
  219. package/lib/services/loader.service.d.ts +4 -3
  220. package/lib/services/loader.service.d.ts.__ivy_ngcc_bak +5 -0
  221. package/lib/services/log.service.d.ts +5 -4
  222. package/lib/services/log.service.d.ts.__ivy_ngcc_bak +16 -0
  223. package/lib/services/message.service.d.ts +5 -5
  224. package/lib/services/message.service.d.ts.__ivy_ngcc_bak +12 -0
  225. package/lib/services/storage.service.d.ts +4 -3
  226. package/lib/services/storage.service.d.ts.__ivy_ngcc_bak +7 -0
  227. package/lib/services/tin-spa.service.d.ts +4 -3
  228. package/lib/services/tin-spa.service.d.ts.__ivy_ngcc_bak +3 -0
  229. package/lib/tin-spa.module.d.ts +35 -84
  230. package/lib/tin-spa.module.d.ts.__ivy_ngcc_bak +2 -0
  231. package/package.json +23 -23
  232. package/public-api.d.ts +21 -50
  233. package/tin-spa.d.ts +10 -0
  234. package/tin-spa.d.ts.__ivy_ngcc_bak +8 -0
  235. package/tin-spa.metadata.json +1 -0
  236. package/esm2020/lib/classes/Classes.mjs +0 -112
  237. package/esm2020/lib/classes/LibClasses.mjs +0 -180
  238. package/esm2020/lib/classes/TinCore.mjs +0 -569
  239. package/esm2020/lib/components/activity/activity.component.mjs +0 -24
  240. package/esm2020/lib/components/alert/alert.component.mjs +0 -43
  241. package/esm2020/lib/components/attach/attach.component.mjs +0 -102
  242. package/esm2020/lib/components/capsules/capsules.component.mjs +0 -63
  243. package/esm2020/lib/components/cards/cards.component.mjs +0 -103
  244. package/esm2020/lib/components/check/check.component.mjs +0 -67
  245. package/esm2020/lib/components/chips/chips.component.mjs +0 -58
  246. package/esm2020/lib/components/date/date.component.mjs +0 -106
  247. package/esm2020/lib/components/datetime/datetime.component.mjs +0 -55
  248. package/esm2020/lib/components/email/email.component.mjs +0 -133
  249. package/esm2020/lib/components/filter/filter.component.mjs +0 -58
  250. package/esm2020/lib/components/form/form.component.mjs +0 -293
  251. package/esm2020/lib/components/html/html.component.mjs +0 -34
  252. package/esm2020/lib/components/label/label.component.mjs +0 -31
  253. package/esm2020/lib/components/list-dialog/list-dialog.component.mjs +0 -68
  254. package/esm2020/lib/components/loader/loader.component.mjs +0 -25
  255. package/esm2020/lib/components/message/messageDialog.component.mjs +0 -33
  256. package/esm2020/lib/components/money/currency-input-mask.directive.mjs +0 -185
  257. package/esm2020/lib/components/money/currency-input-mask.module.mjs +0 -28
  258. package/esm2020/lib/components/money/money.component.mjs +0 -137
  259. package/esm2020/lib/components/multi-select/multi-select.component.mjs +0 -165
  260. package/esm2020/lib/components/multi-text/multi-text.component.mjs +0 -208
  261. package/esm2020/lib/components/nav-menu/nav-menu.component.mjs +0 -88
  262. package/esm2020/lib/components/notes/notes.component.mjs +0 -62
  263. package/esm2020/lib/components/number/number.component.mjs +0 -131
  264. package/esm2020/lib/components/option/option.component.mjs +0 -92
  265. package/esm2020/lib/components/page/page.component.mjs +0 -101
  266. package/esm2020/lib/components/search/search.component.mjs +0 -36
  267. package/esm2020/lib/components/select/select.component.mjs +0 -75
  268. package/esm2020/lib/components/select-bitwise/select-bitwise.component.mjs +0 -87
  269. package/esm2020/lib/components/select-common/select-common.component.mjs +0 -206
  270. package/esm2020/lib/components/select-internal/select-internal.component.mjs +0 -75
  271. package/esm2020/lib/components/select-lite/select-lite.component.mjs +0 -18
  272. package/esm2020/lib/components/statuses/statuses.component.mjs +0 -44
  273. package/esm2020/lib/components/steps/steps.component.mjs +0 -112
  274. package/esm2020/lib/components/suffix/suffix.component.mjs +0 -70
  275. package/esm2020/lib/components/table/detailsDialog.component.mjs +0 -406
  276. package/esm2020/lib/components/table/table.component.mjs +0 -440
  277. package/esm2020/lib/components/table-action/table-action.component.mjs +0 -80
  278. package/esm2020/lib/components/table-header/table-header.component.mjs +0 -148
  279. package/esm2020/lib/components/table-internal/detailsDialog-internal.component.mjs +0 -406
  280. package/esm2020/lib/components/table-internal/table-internal.component.mjs +0 -441
  281. package/esm2020/lib/components/table-lite/detailsDialog-lite.component.mjs +0 -404
  282. package/esm2020/lib/components/table-lite/table-lite.component.mjs +0 -441
  283. package/esm2020/lib/components/table-row/table-row.component.mjs +0 -93
  284. package/esm2020/lib/components/tabs/tabs.component.mjs +0 -74
  285. package/esm2020/lib/components/text/text.component.mjs +0 -259
  286. package/esm2020/lib/components/tiles/tiles.component.mjs +0 -99
  287. package/esm2020/lib/components/tin-spa.component.mjs +0 -19
  288. package/esm2020/lib/components/viewer/viewer.component.mjs +0 -83
  289. package/esm2020/lib/components/viewer/viewerDialog.component.mjs +0 -95
  290. package/esm2020/lib/modules/admin/admin-routing.module.mjs +0 -71
  291. package/esm2020/lib/modules/admin/admin.module.mjs +0 -26
  292. package/esm2020/lib/modules/index/index-routing.module.mjs +0 -27
  293. package/esm2020/lib/modules/index/index.module.mjs +0 -26
  294. package/esm2020/lib/modules/spa-admin.module.mjs +0 -71
  295. package/esm2020/lib/modules/spa-index.module.mjs +0 -54
  296. package/esm2020/lib/modules/spa-mat.module.mjs +0 -84
  297. package/esm2020/lib/modules/spa-user.module.mjs +0 -47
  298. package/esm2020/lib/modules/user/user-routing.module.mjs +0 -23
  299. package/esm2020/lib/modules/user/user.module.mjs +0 -26
  300. package/esm2020/lib/pages/accounts/accountDialog.component.mjs +0 -56
  301. package/esm2020/lib/pages/accounts/accounts.component.mjs +0 -70
  302. package/esm2020/lib/pages/app-models/app-models.component.mjs +0 -56
  303. package/esm2020/lib/pages/approvals/approvals.component.mjs +0 -19
  304. package/esm2020/lib/pages/approvals-config/approvals-config.component.mjs +0 -165
  305. package/esm2020/lib/pages/bug/bug.component.mjs +0 -14
  306. package/esm2020/lib/pages/change-password/change-password.component.mjs +0 -92
  307. package/esm2020/lib/pages/create-account/create-account.component.mjs +0 -110
  308. package/esm2020/lib/pages/customers/customers.component.mjs +0 -21
  309. package/esm2020/lib/pages/departments/departments.component.mjs +0 -22
  310. package/esm2020/lib/pages/employees/employees.component.mjs +0 -20
  311. package/esm2020/lib/pages/grades/grades.component.mjs +0 -14
  312. package/esm2020/lib/pages/inventory/inventory.component.mjs +0 -99
  313. package/esm2020/lib/pages/inventory/quantityDialog.component.mjs +0 -53
  314. package/esm2020/lib/pages/invitations-table/invitations-table.component.mjs +0 -71
  315. package/esm2020/lib/pages/login/login.component.mjs +0 -166
  316. package/esm2020/lib/pages/logs/logs.component.mjs +0 -42
  317. package/esm2020/lib/pages/membership/membership.component.mjs +0 -44
  318. package/esm2020/lib/pages/notifications/notifications.component.mjs +0 -90
  319. package/esm2020/lib/pages/notifications-config/notifications-config.component.mjs +0 -113
  320. package/esm2020/lib/pages/plans/plans.component.mjs +0 -44
  321. package/esm2020/lib/pages/positions/positions.component.mjs +0 -21
  322. package/esm2020/lib/pages/profile/profile.component.mjs +0 -94
  323. package/esm2020/lib/pages/recover-account/recover-account.component.mjs +0 -46
  324. package/esm2020/lib/pages/roles/addRoleDialog.component.mjs +0 -60
  325. package/esm2020/lib/pages/roles/roles.component.mjs +0 -151
  326. package/esm2020/lib/pages/settings/settings.component.mjs +0 -54
  327. package/esm2020/lib/pages/signup/signup.component.mjs +0 -50
  328. package/esm2020/lib/pages/suppliers/suppliers.component.mjs +0 -22
  329. package/esm2020/lib/pages/tasks/tasks.component.mjs +0 -86
  330. package/esm2020/lib/pages/tenant-settings/tenant-settings.component.mjs +0 -228
  331. package/esm2020/lib/pages/tenants/tenants.component.mjs +0 -47
  332. package/esm2020/lib/pages/transactions/transactDialog.component.mjs +0 -80
  333. package/esm2020/lib/pages/transactions/transactions.component.mjs +0 -101
  334. package/esm2020/lib/pages/users/users.component.mjs +0 -141
  335. package/esm2020/lib/pages/welcome/welcome.component.mjs +0 -86
  336. package/esm2020/lib/pipes/camelToWords.pipe.mjs +0 -17
  337. package/esm2020/lib/select-context.directive.mjs +0 -23
  338. package/esm2020/lib/services/auth.service.mjs +0 -175
  339. package/esm2020/lib/services/button.service.mjs +0 -162
  340. package/esm2020/lib/services/condition.service.mjs +0 -32
  341. package/esm2020/lib/services/csv.service.mjs +0 -49
  342. package/esm2020/lib/services/datalib.service.mjs +0 -861
  343. package/esm2020/lib/services/dialog.service.mjs +0 -125
  344. package/esm2020/lib/services/export.service.mjs +0 -16
  345. package/esm2020/lib/services/http.service.mjs +0 -79
  346. package/esm2020/lib/services/loader-interceptor.service.mjs +0 -86
  347. package/esm2020/lib/services/loader.service.mjs +0 -17
  348. package/esm2020/lib/services/log.service.mjs +0 -77
  349. package/esm2020/lib/services/message.service.mjs +0 -59
  350. package/esm2020/lib/services/notifications.service.mjs +0 -33
  351. package/esm2020/lib/services/storage.service.mjs +0 -34
  352. package/esm2020/lib/services/table-config.service.mjs +0 -78
  353. package/esm2020/lib/services/tin-spa.service.mjs +0 -14
  354. package/esm2020/lib/tin-spa.module.mjs +0 -225
  355. package/esm2020/public-api.mjs +0 -90
  356. package/esm2020/tin-spa.mjs +0 -5
  357. package/fesm2015/tin-spa.mjs +0 -11711
  358. package/fesm2015/tin-spa.mjs.map +0 -1
  359. package/fesm2020/tin-spa.mjs +0 -11718
  360. package/fesm2020/tin-spa.mjs.map +0 -1
  361. package/index.d.ts +0 -5
  362. package/lib/classes/LibClasses.d.ts +0 -173
  363. package/lib/classes/TinCore.d.ts +0 -59
  364. package/lib/components/alert/alert.component.d.ts +0 -15
  365. package/lib/components/capsules/capsules.component.d.ts +0 -26
  366. package/lib/components/cards/cards.component.d.ts +0 -39
  367. package/lib/components/email/email.component.d.ts +0 -40
  368. package/lib/components/filter/filter.component.d.ts +0 -20
  369. package/lib/components/form/form.component.d.ts +0 -47
  370. package/lib/components/list-dialog/list-dialog.component.d.ts +0 -23
  371. package/lib/components/money/currency-input-mask.directive.d.ts +0 -41
  372. package/lib/components/money/currency-input-mask.module.d.ts +0 -9
  373. package/lib/components/multi-select/multi-select.component.d.ts +0 -47
  374. package/lib/components/multi-text/multi-text.component.d.ts +0 -56
  375. package/lib/components/notes/notes.component.d.ts +0 -19
  376. package/lib/components/number/number.component.d.ts +0 -41
  377. package/lib/components/page/page.component.d.ts +0 -38
  378. package/lib/components/search/search.component.d.ts +0 -15
  379. package/lib/components/select-bitwise/select-bitwise.component.d.ts +0 -31
  380. package/lib/components/select-common/select-common.component.d.ts +0 -53
  381. package/lib/components/select-internal/select-internal.component.d.ts +0 -23
  382. package/lib/components/select-lite/select-lite.component.d.ts +0 -8
  383. package/lib/components/statuses/statuses.component.d.ts +0 -12
  384. package/lib/components/suffix/suffix.component.d.ts +0 -23
  385. package/lib/components/table/detailsDialog.component.d.ts +0 -86
  386. package/lib/components/table-action/table-action.component.d.ts +0 -25
  387. package/lib/components/table-header/table-header.component.d.ts +0 -46
  388. package/lib/components/table-internal/detailsDialog-internal.component.d.ts +0 -86
  389. package/lib/components/table-internal/table-internal.component.d.ts +0 -91
  390. package/lib/components/table-lite/detailsDialog-lite.component.d.ts +0 -86
  391. package/lib/components/table-lite/table-lite.component.d.ts +0 -91
  392. package/lib/components/table-row/table-row.component.d.ts +0 -31
  393. package/lib/components/tabs/tabs.component.d.ts +0 -32
  394. package/lib/modules/admin/admin-routing.module.d.ts +0 -7
  395. package/lib/modules/admin/admin.module.d.ts +0 -9
  396. package/lib/modules/index/index-routing.module.d.ts +0 -7
  397. package/lib/modules/index/index.module.d.ts +0 -9
  398. package/lib/modules/user/user-routing.module.d.ts +0 -7
  399. package/lib/modules/user/user.module.d.ts +0 -9
  400. package/lib/pages/accounts/accountDialog.component.d.ts +0 -27
  401. package/lib/pages/accounts/accounts.component.d.ts +0 -25
  402. package/lib/pages/app-models/app-models.component.d.ts +0 -15
  403. package/lib/pages/approvals/approvals.component.d.ts +0 -10
  404. package/lib/pages/approvals-config/approvals-config.component.d.ts +0 -24
  405. package/lib/pages/bug/bug.component.d.ts +0 -8
  406. package/lib/pages/change-password/change-password.component.d.ts +0 -27
  407. package/lib/pages/create-account/create-account.component.d.ts +0 -34
  408. package/lib/pages/customers/customers.component.d.ts +0 -12
  409. package/lib/pages/departments/departments.component.d.ts +0 -14
  410. package/lib/pages/employees/employees.component.d.ts +0 -12
  411. package/lib/pages/grades/grades.component.d.ts +0 -8
  412. package/lib/pages/inventory/inventory.component.d.ts +0 -25
  413. package/lib/pages/inventory/quantityDialog.component.d.ts +0 -23
  414. package/lib/pages/invitations-table/invitations-table.component.d.ts +0 -19
  415. package/lib/pages/login/login.component.d.ts +0 -46
  416. package/lib/pages/logs/logs.component.d.ts +0 -14
  417. package/lib/pages/membership/membership.component.d.ts +0 -13
  418. package/lib/pages/notifications/notifications.component.d.ts +0 -16
  419. package/lib/pages/notifications-config/notifications-config.component.d.ts +0 -17
  420. package/lib/pages/plans/plans.component.d.ts +0 -13
  421. package/lib/pages/positions/positions.component.d.ts +0 -12
  422. package/lib/pages/profile/profile.component.d.ts +0 -35
  423. package/lib/pages/recover-account/recover-account.component.d.ts +0 -18
  424. package/lib/pages/roles/addRoleDialog.component.d.ts +0 -24
  425. package/lib/pages/roles/roles.component.d.ts +0 -42
  426. package/lib/pages/suppliers/suppliers.component.d.ts +0 -14
  427. package/lib/pages/tasks/tasks.component.d.ts +0 -27
  428. package/lib/pages/tenant-settings/tenant-settings.component.d.ts +0 -47
  429. package/lib/pages/tenants/tenants.component.d.ts +0 -17
  430. package/lib/pages/transactions/transactDialog.component.d.ts +0 -26
  431. package/lib/pages/transactions/transactions.component.d.ts +0 -31
  432. package/lib/pages/users/users.component.d.ts +0 -28
  433. package/lib/pages/welcome/welcome.component.d.ts +0 -25
  434. package/lib/pipes/camelToWords.pipe.d.ts +0 -7
  435. package/lib/select-context.directive.d.ts +0 -10
  436. package/lib/services/button.service.d.ts +0 -30
  437. package/lib/services/condition.service.d.ts +0 -10
  438. package/lib/services/csv.service.d.ts +0 -10
  439. package/lib/services/datalib.service.d.ts +0 -125
  440. package/lib/services/dialog.service.d.ts +0 -20
  441. package/lib/services/http.service.d.ts +0 -22
  442. package/lib/services/notifications.service.d.ts +0 -12
  443. package/lib/services/table-config.service.d.ts +0 -17
@@ -1,60 +0,0 @@
1
- import { Component, Inject } from '@angular/core';
2
- import { MAT_DIALOG_DATA } from '@angular/material/dialog';
3
- import { Role } from '../../classes/LibClasses';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../../services/loader.service";
6
- import * as i2 from "../../services/message.service";
7
- import * as i3 from "../../services/datalib.service";
8
- import * as i4 from "../../services/auth.service";
9
- import * as i5 from "@angular/material/dialog";
10
- import * as i6 from "@angular/forms";
11
- import * as i7 from "@angular/common";
12
- import * as i8 from "@angular/material/checkbox";
13
- import * as i9 from "@angular/material/button";
14
- import * as i10 from "@angular/material/form-field";
15
- import * as i11 from "@angular/material/input";
16
- export class addRoleDialog {
17
- constructor(loaderService, messageService, dataService, authService, dialogRef, data) {
18
- this.loaderService = loaderService;
19
- this.messageService = messageService;
20
- this.dataService = dataService;
21
- this.authService = authService;
22
- this.dialogRef = dialogRef;
23
- this.data = data;
24
- this.role = new Role();
25
- }
26
- ngOnInit() {
27
- this.capItems = this.data;
28
- this.loaderService.isLoading.subscribe(x => this.isProcessing = x);
29
- }
30
- submit() {
31
- if (this.role.roleName == "New Role" || this.role.roleName == "") {
32
- this.messageService.toast("Please enter Role Name");
33
- return;
34
- }
35
- this.dataService.PostRole(this.role, "create").subscribe((apiResponse) => {
36
- if (apiResponse.success) {
37
- this.messageService.toast("Role Added");
38
- this.dialogRef.close("success");
39
- }
40
- else {
41
- this.messageService.toast("Error: " + apiResponse.message);
42
- }
43
- }, error => {
44
- this.messageService.toast("Connection failed");
45
- this.isProcessing = false;
46
- });
47
- }
48
- ;
49
- }
50
- addRoleDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: addRoleDialog, deps: [{ token: i1.LoaderService }, { token: i2.MessageService }, { token: i3.DataServiceLib }, { token: i4.AuthService }, { token: i5.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
51
- addRoleDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: addRoleDialog, selector: "app-addRole", ngImport: i0, template: "<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\r\n <div class=\"tin-row\" style=\" font-size:12px;\">\r\n\r\n\r\n <div class=\"tin-row\" *ngFor=\"let capItem of capItems\">\r\n\r\n <mat-checkbox color=\"primary\" style=\"min-width: 100px;\" [(ngModel)]=\"role[capItem.name]\">{{capItem.display}}</mat-checkbox>\r\n\r\n <div class=\"tin-row\" *ngFor=\"let capSubItem of capItem.capSubItems\">\r\n\r\n <mat-checkbox color=\"primary\" style=\"min-width: 100px;\" [(ngModel)]=\"role[capSubItem.name]\">{{capSubItem.display}}</mat-checkbox>\r\n\r\n <div class=\"tin-row\" *ngFor=\"let capSubSubItem of capSubItem.capSubItems\">\r\n\r\n <mat-checkbox color=\"primary\" style=\"min-width: 100px;\" [(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 </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", styles: [".mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}.refreshIcon{font-size:22px!important;margin-top:-7px!important}\n"], dependencies: [{ kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i8.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i9.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i5.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i5.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i5.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i10.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i10.MatLabel, selector: "mat-label" }, { kind: "directive", type: i11.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }] });
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: addRoleDialog, decorators: [{
53
- type: Component,
54
- args: [{ selector: 'app-addRole', template: "<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\r\n <div class=\"tin-row\" style=\" font-size:12px;\">\r\n\r\n\r\n <div class=\"tin-row\" *ngFor=\"let capItem of capItems\">\r\n\r\n <mat-checkbox color=\"primary\" style=\"min-width: 100px;\" [(ngModel)]=\"role[capItem.name]\">{{capItem.display}}</mat-checkbox>\r\n\r\n <div class=\"tin-row\" *ngFor=\"let capSubItem of capItem.capSubItems\">\r\n\r\n <mat-checkbox color=\"primary\" style=\"min-width: 100px;\" [(ngModel)]=\"role[capSubItem.name]\">{{capSubItem.display}}</mat-checkbox>\r\n\r\n <div class=\"tin-row\" *ngFor=\"let capSubSubItem of capSubItem.capSubItems\">\r\n\r\n <mat-checkbox color=\"primary\" style=\"min-width: 100px;\" [(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 </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", styles: [".mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}.refreshIcon{font-size:22px!important;margin-top:-7px!important}\n"] }]
55
- }], ctorParameters: function () { return [{ type: i1.LoaderService }, { type: i2.MessageService }, { type: i3.DataServiceLib }, { type: i4.AuthService }, { type: i5.MatDialogRef }, { type: undefined, decorators: [{
56
- type: Inject,
57
- args: [MAT_DIALOG_DATA]
58
- }] }]; } });
59
- ;
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkUm9sZURpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90aW4tc3BhL3NyYy9saWIvcGFnZXMvcm9sZXMvYWRkUm9sZURpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90aW4tc3BhL3NyYy9saWIvcGFnZXMvcm9sZXMvYWRkUm9sZURpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBR3pFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQVFoRCxNQUFNLE9BQU8sYUFBYTtJQUV4QixZQUFvQixhQUE0QixFQUFTLGNBQThCLEVBQVUsV0FBMkIsRUFBVSxXQUF3QixFQUFVLFNBQXNDLEVBQWtDLElBQUk7UUFBaE8sa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBUyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQTZCO1FBQWtDLFNBQUksR0FBSixJQUFJLENBQUE7UUFVcFAsU0FBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7SUFWc08sQ0FBQztJQUV6UCxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQU9ELE1BQU07UUFFSixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLFVBQVUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLEVBQUM7WUFDL0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztZQUNwRCxPQUFPO1NBQ1I7UUFHRCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQXdCLEVBQUUsRUFBRTtZQUVwRixJQUFJLFdBQVcsQ0FBQyxPQUFPLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUNqQztpQkFBTTtnQkFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzVEO1FBR0gsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQ1QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztJQUVMLENBQUM7SUFBQSxDQUFDOzswR0FyQ1MsYUFBYSxrS0FFZ00sZUFBZTs4RkFGNU4sYUFBYSxtRENkMUIsczhDQXlDQTsyRkQzQmEsYUFBYTtrQkFMekIsU0FBUzsrQkFDRSxhQUFhOzswQkFNMEwsTUFBTTsyQkFBQyxlQUFlOztBQW9DeE8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWVzc2FnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgIEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlTGliIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YWxpYi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9hZGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvYWRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUm9sZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvTGliQ2xhc3Nlcyc7XHJcbmltcG9ydCB7IEFwaVJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9DbGFzc2VzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWFkZFJvbGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGRSb2xlRGlhbG9nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9yb2xlcy5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIGFkZFJvbGVEaWFsb2cgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvYWRlclNlcnZpY2U6IExvYWRlclNlcnZpY2UscHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlTGliLCBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSwgcHJpdmF0ZSBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxhZGRSb2xlRGlhbG9nPiwgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmNhcEl0ZW1zID0gdGhpcy5kYXRhO1xyXG4gICAgdGhpcy5sb2FkZXJTZXJ2aWNlLmlzTG9hZGluZy5zdWJzY3JpYmUoeCA9PiB0aGlzLmlzUHJvY2Vzc2luZyA9IHgpO1xyXG4gIH1cclxuXHJcbiAgY2FwSXRlbXM7XHJcblxyXG4gIGlzUHJvY2Vzc2luZzogYm9vbGVhbjtcclxuICByb2xlID0gbmV3IFJvbGUoKTtcclxuXHJcbiAgc3VibWl0KCkge1xyXG5cclxuICAgIGlmICh0aGlzLnJvbGUucm9sZU5hbWUgPT0gXCJOZXcgUm9sZVwiIHx8IHRoaXMucm9sZS5yb2xlTmFtZSA9PSBcIlwiKXtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIlBsZWFzZSBlbnRlciBSb2xlIE5hbWVcIik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcblxyXG4gICAgdGhpcy5kYXRhU2VydmljZS5Qb3N0Um9sZSh0aGlzLnJvbGUsIFwiY3JlYXRlXCIpLnN1YnNjcmliZSgoYXBpUmVzcG9uc2U6IEFwaVJlc3BvbnNlKSA9PiB7XHJcblxyXG4gICAgICBpZiAoYXBpUmVzcG9uc2Uuc3VjY2Vzcykge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJSb2xlIEFkZGVkXCIpO1xyXG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKFwic3VjY2Vzc1wiKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRXJyb3I6IFwiICsgYXBpUmVzcG9uc2UubWVzc2FnZSk7XHJcbiAgICAgIH1cclxuXHJcblxyXG4gICAgfSwgZXJyb3IgPT4ge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiQ29ubmVjdGlvbiBmYWlsZWRcIik7XHJcbiAgICAgIHRoaXMuaXNQcm9jZXNzaW5nID0gZmFsc2U7XHJcbiAgICB9KTtcclxuXHJcbiAgfTtcclxufTtcclxuXHJcblxyXG5cclxuIiwiPG1hdC1mb3JtLWZpZWxkPlxyXG4gIDxtYXQtbGFiZWw+Um9sZSBOYW1lPC9tYXQtbGFiZWw+XHJcbiAgPGlucHV0IG1hdElucHV0IGF1dG9jb21wbGV0ZT1cIm9mZlwiIFsobmdNb2RlbCldPVwicm9sZS5yb2xlTmFtZVwiIHBsYWNlaG9sZGVyPVwiRW50ZXIgUm9sZSBOYW1lXCIgLz5cclxuPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbjxtYXQtZGlhbG9nLWNvbnRlbnQgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwicm93XCIgPlxyXG5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGluLXJvd1wiIHN0eWxlPVwiIGZvbnQtc2l6ZToxMnB4O1wiPlxyXG5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW4tcm93XCIgKm5nRm9yPVwibGV0IGNhcEl0ZW0gb2YgY2FwSXRlbXNcIj5cclxuXHJcbiAgICAgICAgICAgICAgPG1hdC1jaGVja2JveCBjb2xvcj1cInByaW1hcnlcIiBzdHlsZT1cIm1pbi13aWR0aDogMTAwcHg7XCIgWyhuZ01vZGVsKV09XCJyb2xlW2NhcEl0ZW0ubmFtZV1cIj57e2NhcEl0ZW0uZGlzcGxheX19PC9tYXQtY2hlY2tib3g+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW4tcm93XCIgKm5nRm9yPVwibGV0IGNhcFN1Ykl0ZW0gb2YgY2FwSXRlbS5jYXBTdWJJdGVtc1wiPlxyXG5cclxuICAgICAgICAgICAgICAgIDxtYXQtY2hlY2tib3ggY29sb3I9XCJwcmltYXJ5XCIgc3R5bGU9XCJtaW4td2lkdGg6IDEwMHB4O1wiIFsobmdNb2RlbCldPVwicm9sZVtjYXBTdWJJdGVtLm5hbWVdXCI+e3tjYXBTdWJJdGVtLmRpc3BsYXl9fTwvbWF0LWNoZWNrYm94PlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW4tcm93XCIgKm5nRm9yPVwibGV0IGNhcFN1YlN1Ykl0ZW0gb2YgY2FwU3ViSXRlbS5jYXBTdWJJdGVtc1wiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgPG1hdC1jaGVja2JveCBjb2xvcj1cInByaW1hcnlcIiBzdHlsZT1cIm1pbi13aWR0aDogMTAwcHg7XCIgWyhuZ01vZGVsKV09XCJyb2xlW2NhcFN1YlN1Ykl0ZW0ubmFtZV1cIj57e2NhcFN1YlN1Ykl0ZW0uZGlzcGxheX19PC9tYXQtY2hlY2tib3g+XHJcblxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gIDwvZGl2PlxyXG5cclxuPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XHJcblxyXG48bWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gIDxidXR0b24gbWF0LWJ1dHRvbiBbZGlzYWJsZWRdPVwiaXNQcm9jZXNzaW5nXCIgKGNsaWNrKT1cInN1Ym1pdCgpXCIgY2RrRm9jdXNJbml0aWFsPlN1Ym1pdDwvYnV0dG9uPlxyXG4gIDxidXR0b24gbWF0LWJ1dHRvbiBtYXQtZGlhbG9nLWNsb3NlPVwic3VjY2Vzc1wiPkNhbmNlbDwvYnV0dG9uPlxyXG48L21hdC1kaWFsb2ctYWN0aW9ucz5cclxuIl19
@@ -1,151 +0,0 @@
1
- import { AppConfig, RoleAccess } from './../../classes/Classes';
2
- import { Component } from "@angular/core";
3
- import { addRoleDialog } from "./addRoleDialog.component";
4
- import { DetailsDialog } from '../../components/table/detailsDialog.component';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../../services/http.service";
7
- import * as i2 from "@angular/router";
8
- import * as i3 from "../../services/auth.service";
9
- import * as i4 from "../../services/datalib.service";
10
- import * as i5 from "../../services/dialog.service";
11
- import * as i6 from "@angular/material/dialog";
12
- import * as i7 from "../../services/message.service";
13
- import * as i8 from "@angular/forms";
14
- import * as i9 from "@angular/common";
15
- import * as i10 from "@angular/material/checkbox";
16
- import * as i11 from "@angular/material/button";
17
- import * as i12 from "@angular/material/icon";
18
- import * as i13 from "@angular/material/card";
19
- import * as i14 from "@angular/material/tooltip";
20
- import * as i15 from "../../components/select/select.component";
21
- export class RolesComponent {
22
- constructor(httpService, router, authService, dataService, dialogService, dialog, messageService) {
23
- this.httpService = httpService;
24
- this.router = router;
25
- this.authService = authService;
26
- this.dataService = dataService;
27
- this.dialogService = dialogService;
28
- this.dialog = dialog;
29
- this.messageService = messageService;
30
- this.isProcessing = false;
31
- this.RoleAccess = RoleAccess;
32
- this.appConfig = new AppConfig();
33
- this.roleAccessOptions = [
34
- { value: RoleAccess.None, name: 'None' },
35
- { value: RoleAccess.View, name: 'View' },
36
- { value: RoleAccess.Edit, name: 'Edit' },
37
- { value: RoleAccess.Create, name: 'Create' },
38
- { value: RoleAccess.Full, name: 'Full' }
39
- ];
40
- this.renameDialogConfig = {
41
- formConfig: {
42
- title: 'Rename Role',
43
- fixedTitle: true,
44
- fields: [
45
- { name: 'roleName', type: 'text', required: true, span: true, alias: 'Role Name' }
46
- ]
47
- },
48
- mode: 'edit',
49
- buttons: [
50
- { name: 'edit', dialog: true, action: { url: 'role?action=edit', method: 'post', successMessage: 'Role renamed successfully' } }
51
- ]
52
- };
53
- this.renameButton = { name: 'edit', dialog: true, detailsConfig: this.renameDialogConfig };
54
- }
55
- ngOnInit() {
56
- this.authService.isAuthorised(this.dataService.capRoles.name);
57
- this.loadRoles();
58
- this.dataService.appConfigObserv.subscribe(x => this.appConfig = x);
59
- }
60
- loadRoles() {
61
- this.dataService.GetRole("all", "").subscribe((apiResponse) => {
62
- this.roles = apiResponse.data;
63
- });
64
- }
65
- refresh() {
66
- this.loadRoles();
67
- }
68
- onCapItemChange(capItem, checked, role) {
69
- return; //disabled to allow sub component access without granting whole menu access
70
- if (!checked && capItem.capSubItems) {
71
- // When parent is unchecked, set all subitems to Restricted
72
- capItem.capSubItems.forEach(subItem => {
73
- role[subItem.name] = RoleAccess.None;
74
- });
75
- }
76
- }
77
- hasSubItemsAccess(capItem, role) {
78
- if (!capItem.capSubItems)
79
- return false;
80
- // Check if any sub-item has access
81
- return capItem.capSubItems.some(subItem => {
82
- // Check direct sub-items
83
- if (role[subItem.name] > 0)
84
- return true;
85
- // Check sub-sub-items recursively
86
- if (subItem.capSubItems) {
87
- return subItem.capSubItems.some(subSubItem => role[subSubItem.name] > 0);
88
- }
89
- return false;
90
- });
91
- }
92
- addRole() {
93
- const dialogRef = this.dialog.open(addRoleDialog, {
94
- width: "1100px",
95
- data: this.appConfig.capItems,
96
- });
97
- dialogRef.afterClosed().subscribe((result) => {
98
- if (result == "success") {
99
- this.loadRoles();
100
- }
101
- });
102
- }
103
- updateRole(role) {
104
- this.messageService.confirm(`UPDATE ${role.roleName} ?`).subscribe((result) => {
105
- if (result == "yes") {
106
- this.dataService.PostRole(role, "edit").subscribe((apiResponse) => {
107
- if (apiResponse.success) {
108
- this.messageService.toast("Role Updated");
109
- this.loadRoles();
110
- }
111
- else {
112
- this.messageService.toast("Error: " + apiResponse);
113
- }
114
- });
115
- }
116
- });
117
- }
118
- ;
119
- deleteRole(role) {
120
- this.messageService.confirm(`DELETE ${role.roleName} ?`).subscribe((result) => {
121
- if (result == "yes") {
122
- this.dataService.PostRole(role, "delete").subscribe((apiResponse) => {
123
- if (apiResponse.success) {
124
- this.messageService.toast("Role Deleted");
125
- this.loadRoles();
126
- }
127
- else {
128
- this.messageService.toast("Error: " + apiResponse);
129
- }
130
- });
131
- }
132
- });
133
- }
134
- renameRole(role) {
135
- // Create role copy to avoid modifying the original during editing
136
- const roleData = { ...role };
137
- // Open rename dialog
138
- const dialogRef = this.dialogService.openConfiguredDetailsDialog(this.renameButton, roleData, DetailsDialog).subscribe(result => {
139
- if (result.message === 'success') {
140
- this.loadRoles();
141
- }
142
- });
143
- }
144
- }
145
- RolesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RolesComponent, deps: [{ token: i1.HttpService }, { token: i2.Router }, { token: i3.AuthService }, { token: i4.DataServiceLib }, { token: i5.DialogService }, { token: i6.MatDialog }, { token: i7.MessageService }], target: i0.ɵɵFactoryTarget.Component });
146
- RolesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: RolesComponent, selector: "spa-roles", ngImport: i0, template: "<h4> Roles </h4>\r\n<hr />\r\n\r\n<div class=\"container-fluid mb-5\">\r\n\r\n <div class=\"d-flex justify-content-between mb-2\">\r\n\r\n <div >\r\n <button id=\"btnNewRole\" mat-raised-button color=\"primary\" (click)=\"addRole()\">New Role</button>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-end\">\r\n <button id=\"btnRefresh\" mat-mini-fab color=\"primary\" (click)=\"refresh()\" matTooltip=\"refresh data\" matTooltipPosition=\"right\"><mat-icon class=\"refreshIcon\">refresh</mat-icon></button>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <div class=\"row mt-2 mb-1\" *ngFor=\"let role of roles\">\r\n\r\n <mat-card class=\"mat-elevation-z8\" style=\"width:100%\">\r\n\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n\r\n <label style=\"font-size: 16px;\">{{role.roleName}}</label>\r\n\r\n <button mat-icon-button color=\"primary\" matTooltip=\"Rename Role\" (click)=\"renameRole(role)\">\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n </div>\r\n\r\n <hr style=\"margin-top: 0px;\">\r\n\r\n <div class=\"tin-row\" style=\" font-size:12px;\">\r\n\r\n\r\n <div class=\"tin-row\" *ngFor=\"let capItem of appConfig.capItems\">\r\n\r\n <!-- Main item-->\r\n <mat-checkbox *ngIf=\"capItem.isBool || capItem.capSubItems\"\r\n color=\"primary\" style=\"min-width: 100px;\" [(ngModel)]=\"role[capItem.name]\" (ngModelChange)=\"onCapItemChange(capItem, $event, role)\">\r\n {{capItem.display}}\r\n <span *ngIf=\"!role[capItem.name] && hasSubItemsAccess(capItem, role)\" class=\"asterisk\" style=\"color: red;\">*</span>\r\n </mat-checkbox>\r\n\r\n <spa-select\r\n *ngIf=\"!capItem.isBool && !capItem.capSubItems\"\r\n [options]=\"roleAccessOptions\"\r\n optionDisplay=\"name\"\r\n optionValue=\"value\"\r\n [display]=\"capItem.display\"\r\n [(value)]=\"role[capItem.name]\"\r\n width=\"100px\" style=\"font-size: 12px;\">\r\n </spa-select>\r\n\r\n\r\n <ng-container *ngIf=\"capItem.capSubItems && role[capItem.name]\">\r\n\r\n <div class=\"tin-row\" *ngFor=\"let capSubItem of capItem.capSubItems\">\r\n\r\n\r\n <!-- Sub Item -->\r\n <mat-checkbox *ngIf=\"capSubItem.isBool\"\r\n color=\"primary\" style=\"min-width: 100px;\" [(ngModel)]=\"role[capSubItem.name]\">\r\n {{capSubItem.display}}\r\n </mat-checkbox>\r\n\r\n <spa-select\r\n *ngIf=\"!capSubItem.isBool\"\r\n [options]=\"roleAccessOptions\"\r\n optionDisplay=\"name\"\r\n optionValue=\"value\"\r\n [display]=\"capSubItem.display\"\r\n [(value)]=\"role[capSubItem.name]\"\r\n width=\"100px\" style=\"font-size: 12px;\">\r\n </spa-select>\r\n\r\n <ng-container *ngIf=\"capSubItem.capSubItems\">\r\n\r\n <div class=\"tin-row\" *ngFor=\"let capSubSubItem of capSubItem.capSubItems\">\r\n\r\n <!-- Sub Sub Items -->\r\n <mat-checkbox *ngIf=\"capSubSubItem.isBool\"\r\n color=\"primary\" style=\"min-width: 100px;\" [(ngModel)]=\"role[capSubSubItem.name]\">\r\n {{capSubSubItem.display}}\r\n </mat-checkbox>\r\n\r\n <spa-select\r\n *ngIf=\"!capSubSubItem.isBool\"\r\n [options]=\"roleAccessOptions\"\r\n optionDisplay=\"name\"\r\n optionValue=\"value\"\r\n [display]=\"capSubSubItem.display\"\r\n [(value)]=\"role[capSubSubItem.name]\"\r\n width=\"100px\" style=\"font-size: 12px;\">\r\n </spa-select>\r\n\r\n </div>\r\n\r\n </ng-container>\r\n\r\n\r\n\r\n </div>\r\n\r\n </ng-container>\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)=\"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", styles: [".mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}.refreshIcon{font-size:22px!important;margin-top:-7px!important}\n"], dependencies: [{ kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i10.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i11.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i12.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i13.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i13.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i14.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i15.SelectComponent, selector: "spa-select", inputs: ["detailsConfig"] }] });
147
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RolesComponent, decorators: [{
148
- type: Component,
149
- args: [{ selector: "spa-roles", template: "<h4> Roles </h4>\r\n<hr />\r\n\r\n<div class=\"container-fluid mb-5\">\r\n\r\n <div class=\"d-flex justify-content-between mb-2\">\r\n\r\n <div >\r\n <button id=\"btnNewRole\" mat-raised-button color=\"primary\" (click)=\"addRole()\">New Role</button>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-end\">\r\n <button id=\"btnRefresh\" mat-mini-fab color=\"primary\" (click)=\"refresh()\" matTooltip=\"refresh data\" matTooltipPosition=\"right\"><mat-icon class=\"refreshIcon\">refresh</mat-icon></button>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <div class=\"row mt-2 mb-1\" *ngFor=\"let role of roles\">\r\n\r\n <mat-card class=\"mat-elevation-z8\" style=\"width:100%\">\r\n\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n\r\n <label style=\"font-size: 16px;\">{{role.roleName}}</label>\r\n\r\n <button mat-icon-button color=\"primary\" matTooltip=\"Rename Role\" (click)=\"renameRole(role)\">\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n </div>\r\n\r\n <hr style=\"margin-top: 0px;\">\r\n\r\n <div class=\"tin-row\" style=\" font-size:12px;\">\r\n\r\n\r\n <div class=\"tin-row\" *ngFor=\"let capItem of appConfig.capItems\">\r\n\r\n <!-- Main item-->\r\n <mat-checkbox *ngIf=\"capItem.isBool || capItem.capSubItems\"\r\n color=\"primary\" style=\"min-width: 100px;\" [(ngModel)]=\"role[capItem.name]\" (ngModelChange)=\"onCapItemChange(capItem, $event, role)\">\r\n {{capItem.display}}\r\n <span *ngIf=\"!role[capItem.name] && hasSubItemsAccess(capItem, role)\" class=\"asterisk\" style=\"color: red;\">*</span>\r\n </mat-checkbox>\r\n\r\n <spa-select\r\n *ngIf=\"!capItem.isBool && !capItem.capSubItems\"\r\n [options]=\"roleAccessOptions\"\r\n optionDisplay=\"name\"\r\n optionValue=\"value\"\r\n [display]=\"capItem.display\"\r\n [(value)]=\"role[capItem.name]\"\r\n width=\"100px\" style=\"font-size: 12px;\">\r\n </spa-select>\r\n\r\n\r\n <ng-container *ngIf=\"capItem.capSubItems && role[capItem.name]\">\r\n\r\n <div class=\"tin-row\" *ngFor=\"let capSubItem of capItem.capSubItems\">\r\n\r\n\r\n <!-- Sub Item -->\r\n <mat-checkbox *ngIf=\"capSubItem.isBool\"\r\n color=\"primary\" style=\"min-width: 100px;\" [(ngModel)]=\"role[capSubItem.name]\">\r\n {{capSubItem.display}}\r\n </mat-checkbox>\r\n\r\n <spa-select\r\n *ngIf=\"!capSubItem.isBool\"\r\n [options]=\"roleAccessOptions\"\r\n optionDisplay=\"name\"\r\n optionValue=\"value\"\r\n [display]=\"capSubItem.display\"\r\n [(value)]=\"role[capSubItem.name]\"\r\n width=\"100px\" style=\"font-size: 12px;\">\r\n </spa-select>\r\n\r\n <ng-container *ngIf=\"capSubItem.capSubItems\">\r\n\r\n <div class=\"tin-row\" *ngFor=\"let capSubSubItem of capSubItem.capSubItems\">\r\n\r\n <!-- Sub Sub Items -->\r\n <mat-checkbox *ngIf=\"capSubSubItem.isBool\"\r\n color=\"primary\" style=\"min-width: 100px;\" [(ngModel)]=\"role[capSubSubItem.name]\">\r\n {{capSubSubItem.display}}\r\n </mat-checkbox>\r\n\r\n <spa-select\r\n *ngIf=\"!capSubSubItem.isBool\"\r\n [options]=\"roleAccessOptions\"\r\n optionDisplay=\"name\"\r\n optionValue=\"value\"\r\n [display]=\"capSubSubItem.display\"\r\n [(value)]=\"role[capSubSubItem.name]\"\r\n width=\"100px\" style=\"font-size: 12px;\">\r\n </spa-select>\r\n\r\n </div>\r\n\r\n </ng-container>\r\n\r\n\r\n\r\n </div>\r\n\r\n </ng-container>\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)=\"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", styles: [".mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}.refreshIcon{font-size:22px!important;margin-top:-7px!important}\n"] }]
150
- }], ctorParameters: function () { return [{ type: i1.HttpService }, { type: i2.Router }, { type: i3.AuthService }, { type: i4.DataServiceLib }, { type: i5.DialogService }, { type: i6.MatDialog }, { type: i7.MessageService }]; } });
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL3BhZ2VzL3JvbGVzL3JvbGVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9wYWdlcy9yb2xlcy9yb2xlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsU0FBUyxFQUF3QyxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuSCxPQUFPLEVBQUUsU0FBUyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUd6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFLMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztBQVUvRSxNQUFNLE9BQU8sY0FBYztJQUV6QixZQUFvQixXQUF3QixFQUFVLE1BQWMsRUFBVSxXQUF3QixFQUFVLFdBQTJCLEVBQVUsYUFBNkIsRUFBUyxNQUFpQixFQUFVLGNBQThCO1FBQWhPLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQVUsa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQVFwUCxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVyQixlQUFVLEdBQUcsVUFBVSxDQUFDO1FBRXhCLGNBQVMsR0FBRyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBRTVCLHNCQUFpQixHQUFHO1lBQ2xCLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtZ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VSxjQUFjOytGQUFkLGNBQWMsaURDbkIzQixpL0lBbUlBOzJGRGhIYSxjQUFjO2tCQUwxQixTQUFTOytCQUNFLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcGlSZXNwb25zZSwgQXBwQ29uZmlnLCBCdXR0b24sIENhcEl0ZW0sIERldGFpbHNEaWFsb2dDb25maWcsIFJvbGVBY2Nlc3MgfSBmcm9tICcuLy4uLy4uL2NsYXNzZXMvQ2xhc3Nlcyc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2VMaWIgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvZGF0YWxpYi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IGFkZFJvbGVEaWFsb2cgfSBmcm9tIFwiLi9hZGRSb2xlRGlhbG9nLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWVzc2FnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIdHRwU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2h0dHAuc2VydmljZSc7XHJcbmltcG9ydCB7IERldGFpbHNEaWFsb2cgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3RhYmxlL2RldGFpbHNEaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUm9sZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvTGliQ2xhc3Nlcyc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwic3BhLXJvbGVzXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9yb2xlcy5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9yb2xlcy5jb21wb25lbnQuY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUm9sZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHBTZXJ2aWNlOiBIdHRwU2VydmljZSwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlTGliLCBwcml2YXRlIGRpYWxvZ1NlcnZpY2UgOiBEaWFsb2dTZXJ2aWNlLCBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmlzQXV0aG9yaXNlZCh0aGlzLmRhdGFTZXJ2aWNlLmNhcFJvbGVzLm5hbWUpO1xyXG4gICAgdGhpcy5sb2FkUm9sZXMoKTtcclxuICAgIHRoaXMuZGF0YVNlcnZpY2UuYXBwQ29uZmlnT2JzZXJ2LnN1YnNjcmliZSh4ID0+IHRoaXMuYXBwQ29uZmlnID0geCk7XHJcbiAgfVxyXG5cclxuICBpc1Byb2Nlc3NpbmcgPSBmYWxzZTtcclxuICByb2xlczogUm9sZVtdO1xyXG4gIFJvbGVBY2Nlc3MgPSBSb2xlQWNjZXNzO1xyXG5cclxuICBhcHBDb25maWcgPSBuZXcgQXBwQ29uZmlnKCk7XHJcblxyXG4gIHJvbGVBY2Nlc3NPcHRpb25zID0gW1xyXG4gICAgeyB2YWx1ZTogUm9sZUFjY2Vzcy5Ob25lLCBuYW1lOiAnTm9uZScgfSxcclxuICAgIHsgdmFsdWU6IFJvbGVBY2Nlc3MuVmlldywgbmFtZTogJ1ZpZXcnIH0sXHJcbiAgICB7IHZhbHVlOiBSb2xlQWNjZXNzLkVkaXQsIG5hbWU6ICdFZGl0JyB9LFxyXG4gICAgeyB2YWx1ZTogUm9sZUFjY2Vzcy5DcmVhdGUsIG5hbWU6ICdDcmVhdGUnIH0sXHJcbiAgICB7IHZhbHVlOiBSb2xlQWNjZXNzLkZ1bGwsIG5hbWU6ICdGdWxsJyB9XHJcbiAgXTtcclxuXHJcblxyXG5cclxuICBsb2FkUm9sZXMoKSB7XHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLkdldFJvbGUoXCJhbGxcIiwgXCJcIikuc3Vic2NyaWJlKChhcGlSZXNwb25zZSA6IEFwaVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIHRoaXMucm9sZXMgPSBhcGlSZXNwb25zZS5kYXRhO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZWZyZXNoKCkge1xyXG4gICAgdGhpcy5sb2FkUm9sZXMoKTtcclxuICB9XHJcblxyXG4gIG9uQ2FwSXRlbUNoYW5nZShjYXBJdGVtOiBDYXBJdGVtLCBjaGVja2VkOiBib29sZWFuLCByb2xlOiBhbnkpIHtcclxuXHJcbiAgICByZXR1cm47IC8vZGlzYWJsZWQgdG8gYWxsb3cgc3ViIGNvbXBvbmVudCBhY2Nlc3Mgd2l0aG91dCBncmFudGluZyB3aG9sZSBtZW51IGFjY2Vzc1xyXG5cclxuICAgIGlmICghY2hlY2tlZCAmJiBjYXBJdGVtLmNhcFN1Ykl0ZW1zKSB7XHJcbiAgICAgIC8vIFdoZW4gcGFyZW50IGlzIHVuY2hlY2tlZCwgc2V0IGFsbCBzdWJpdGVtcyB0byBSZXN0cmljdGVkXHJcbiAgICAgIGNhcEl0ZW0uY2FwU3ViSXRlbXMuZm9yRWFjaChzdWJJdGVtID0+IHtcclxuICAgICAgICByb2xlW3N1Ykl0ZW0ubmFtZV0gPSBSb2xlQWNjZXNzLk5vbmU7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFzU3ViSXRlbXNBY2Nlc3MoY2FwSXRlbTogQ2FwSXRlbSwgcm9sZTogYW55KTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIWNhcEl0ZW0uY2FwU3ViSXRlbXMpIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICAvLyBDaGVjayBpZiBhbnkgc3ViLWl0ZW0gaGFzIGFjY2Vzc1xyXG4gICAgcmV0dXJuIGNhcEl0ZW0uY2FwU3ViSXRlbXMuc29tZShzdWJJdGVtID0+IHtcclxuICAgICAgLy8gQ2hlY2sgZGlyZWN0IHN1Yi1pdGVtc1xyXG4gICAgICBpZiAocm9sZVtzdWJJdGVtLm5hbWVdID4gMCkgcmV0dXJuIHRydWU7XHJcblxyXG4gICAgICAvLyBDaGVjayBzdWItc3ViLWl0ZW1zIHJlY3Vyc2l2ZWx5XHJcbiAgICAgIGlmIChzdWJJdGVtLmNhcFN1Ykl0ZW1zKSB7XHJcbiAgICAgICAgcmV0dXJuIHN1Ykl0ZW0uY2FwU3ViSXRlbXMuc29tZShzdWJTdWJJdGVtID0+IHJvbGVbc3ViU3ViSXRlbS5uYW1lXSA+IDApO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG4gIGFkZFJvbGUoKSB7XHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKGFkZFJvbGVEaWFsb2csIHtcclxuICAgICAgd2lkdGg6IFwiMTEwMHB4XCIsXHJcbiAgICAgIGRhdGE6IHRoaXMuYXBwQ29uZmlnLmNhcEl0ZW1zLFxyXG4gICAgfSk7XHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgaWYgKHJlc3VsdCA9PSBcInN1Y2Nlc3NcIikge1xyXG4gICAgICAgIHRoaXMubG9hZFJvbGVzKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlUm9sZShyb2xlOiBSb2xlKSB7XHJcblxyXG4gICAgdGhpcy5tZXNzYWdlU2VydmljZS5jb25maXJtKGBVUERBVEUgJHtyb2xlLnJvbGVOYW1lfSA/YCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuXHJcbiAgICAgIGlmIChyZXN1bHQgPT0gXCJ5ZXNcIikge1xyXG5cclxuICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLlBvc3RSb2xlKHJvbGUsIFwiZWRpdFwiKS5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlOiBBcGlSZXNwb25zZSkgPT4ge1xyXG5cclxuICAgICAgICAgIGlmIChhcGlSZXNwb25zZS5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJSb2xlIFVwZGF0ZWRcIik7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZFJvbGVzKCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRXJyb3I6IFwiICsgYXBpUmVzcG9uc2UpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgfVxyXG5cclxuICAgIH0pXHJcblxyXG5cclxuICB9O1xyXG5cclxuICBkZWxldGVSb2xlKHJvbGU6IFJvbGUpIHtcclxuXHJcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmNvbmZpcm0oYERFTEVURSAke3JvbGUucm9sZU5hbWV9ID9gKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG5cclxuICAgICAgaWYgKHJlc3VsdCA9PSBcInllc1wiKSB7XHJcblxyXG4gICAgICAgIHRoaXMuZGF0YVNlcnZpY2UuUG9zdFJvbGUocm9sZSwgXCJkZWxldGVcIikuc3Vic2NyaWJlKChhcGlSZXNwb25zZTogQXBpUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIGlmIChhcGlSZXNwb25zZS5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJSb2xlIERlbGV0ZWRcIik7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZFJvbGVzKCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRXJyb3I6IFwiICsgYXBpUmVzcG9uc2UpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgfVxyXG5cclxuICAgIH0pXHJcblxyXG4gIH1cclxuXHJcbiAgcmVuYW1lRGlhbG9nQ29uZmlnOiBEZXRhaWxzRGlhbG9nQ29uZmlnID0ge1xyXG4gICAgZm9ybUNvbmZpZzoge1xyXG4gICAgICB0aXRsZTogJ1JlbmFtZSBSb2xlJyxcclxuICAgICAgZml4ZWRUaXRsZTogdHJ1ZSxcclxuICAgICAgZmllbGRzOiBbXHJcbiAgICAgICAgeyBuYW1lOiAncm9sZU5hbWUnLCB0eXBlOiAndGV4dCcsIHJlcXVpcmVkOiB0cnVlLCBzcGFuOiB0cnVlLCBhbGlhczogJ1JvbGUgTmFtZScgfVxyXG4gICAgICBdXHJcbiAgICB9LFxyXG4gICAgbW9kZTogJ2VkaXQnLFxyXG4gICAgYnV0dG9uczogW1xyXG4gICAgICB7IG5hbWU6ICdlZGl0JywgZGlhbG9nOiB0cnVlLCBhY3Rpb246IHsgdXJsOiAncm9sZT9hY3Rpb249ZWRpdCcsIG1ldGhvZDogJ3Bvc3QnLCBzdWNjZXNzTWVzc2FnZTogJ1JvbGUgcmVuYW1lZCBzdWNjZXNzZnVsbHknIH0gfVxyXG4gICAgXVxyXG4gIH07XHJcblxyXG4gIHJlbmFtZUJ1dHRvbiA6IEJ1dHRvbiA9IHtuYW1lIDogJ2VkaXQnLCBkaWFsb2cgOiB0cnVlLCBkZXRhaWxzQ29uZmlnIDogdGhpcy5yZW5hbWVEaWFsb2dDb25maWd9O1xyXG5cclxuICByZW5hbWVSb2xlKHJvbGU6IFJvbGUpIHtcclxuICAgIC8vIENyZWF0ZSByb2xlIGNvcHkgdG8gYXZvaWQgbW9kaWZ5aW5nIHRoZSBvcmlnaW5hbCBkdXJpbmcgZWRpdGluZ1xyXG4gICAgY29uc3Qgcm9sZURhdGEgPSB7IC4uLnJvbGUgfTtcclxuXHJcbiAgICAvLyBPcGVuIHJlbmFtZSBkaWFsb2dcclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nU2VydmljZS5vcGVuQ29uZmlndXJlZERldGFpbHNEaWFsb2coXHJcbiAgICAgIHRoaXMucmVuYW1lQnV0dG9uLFxyXG4gICAgICByb2xlRGF0YSxcclxuICAgICAgRGV0YWlsc0RpYWxvZ1xyXG4gICAgKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgaWYgKHJlc3VsdC5tZXNzYWdlID09PSAnc3VjY2VzcycpIHtcclxuICAgICAgICB0aGlzLmxvYWRSb2xlcygpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxufVxyXG5cclxuXHJcbiIsIjxoND4gUm9sZXMgPC9oND5cclxuPGhyIC8+XHJcblxyXG48ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkIG1iLTVcIj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtYi0yXCI+XHJcblxyXG4gICAgPGRpdiA+XHJcbiAgICAgIDxidXR0b24gaWQ9XCJidG5OZXdSb2xlXCIgbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cImFkZFJvbGUoKVwiPk5ldyBSb2xlPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgICAgPGJ1dHRvbiBpZD1cImJ0blJlZnJlc2hcIiBtYXQtbWluaS1mYWIgY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cInJlZnJlc2goKVwiICBtYXRUb29sdGlwPVwicmVmcmVzaCBkYXRhXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwicmlnaHRcIj48bWF0LWljb24gY2xhc3M9XCJyZWZyZXNoSWNvblwiPnJlZnJlc2g8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gIDwvZGl2PlxyXG5cclxuXHJcbiAgPGRpdiBjbGFzcz1cInJvdyBtdC0yIG1iLTFcIiAgKm5nRm9yPVwibGV0IHJvbGUgb2Ygcm9sZXNcIj5cclxuXHJcbiAgICA8bWF0LWNhcmQgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXo4XCIgc3R5bGU9XCJ3aWR0aDoxMDAlXCI+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG5cclxuICAgICAgICA8bGFiZWwgc3R5bGU9XCJmb250LXNpemU6IDE2cHg7XCI+e3tyb2xlLnJvbGVOYW1lfX08L2xhYmVsPlxyXG5cclxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiBtYXRUb29sdGlwPVwiUmVuYW1lIFJvbGVcIiAoY2xpY2spPVwicmVuYW1lUm9sZShyb2xlKVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uPmVkaXQ8L21hdC1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxociBzdHlsZT1cIm1hcmdpbi10b3A6IDBweDtcIj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0aW4tcm93XCIgc3R5bGU9XCIgZm9udC1zaXplOjEycHg7XCI+XHJcblxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGluLXJvd1wiICAqbmdGb3I9XCJsZXQgY2FwSXRlbSBvZiBhcHBDb25maWcuY2FwSXRlbXNcIj5cclxuXHJcbiAgICAgICAgICA8IS0tIE1haW4gaXRlbS0tPlxyXG4gICAgICAgICAgPG1hdC1jaGVja2JveCAgKm5nSWY9XCJjYXBJdGVtLmlzQm9vbCB8fCBjYXBJdGVtLmNhcFN1Ykl0ZW1zXCJcclxuICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCIgc3R5bGU9XCJtaW4td2lkdGg6IDEwMHB4O1wiIFsobmdNb2RlbCldPVwicm9sZVtjYXBJdGVtLm5hbWVdXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25DYXBJdGVtQ2hhbmdlKGNhcEl0ZW0sICRldmVudCwgcm9sZSlcIj5cclxuICAgICAgICAgICAge3tjYXBJdGVtLmRpc3BsYXl9fVxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFyb2xlW2NhcEl0ZW0ubmFtZV0gJiYgaGFzU3ViSXRlbXNBY2Nlc3MoY2FwSXRlbSwgcm9sZSlcIiBjbGFzcz1cImFzdGVyaXNrXCIgc3R5bGU9XCJjb2xvcjogcmVkO1wiPio8L3NwYW4+XHJcbiAgICAgICAgICA8L21hdC1jaGVja2JveD5cclxuXHJcbiAgICAgICAgICA8c3BhLXNlbGVjdFxyXG4gICAgICAgICAgICpuZ0lmPVwiIWNhcEl0ZW0uaXNCb29sICYmICFjYXBJdGVtLmNhcFN1Ykl0ZW1zXCJcclxuICAgICAgICAgICAgW29wdGlvbnNdPVwicm9sZUFjY2Vzc09wdGlvbnNcIlxyXG4gICAgICAgICAgICBvcHRpb25EaXNwbGF5PVwibmFtZVwiXHJcbiAgICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIlxyXG4gICAgICAgICAgICBbZGlzcGxheV09XCJjYXBJdGVtLmRpc3BsYXlcIlxyXG4gICAgICAgICAgICBbKHZhbHVlKV09XCJyb2xlW2NhcEl0ZW0ubmFtZV1cIlxyXG4gICAgICAgICAgICB3aWR0aD1cIjEwMHB4XCIgc3R5bGU9XCJmb250LXNpemU6IDEycHg7XCI+XHJcbiAgICAgICAgICA8L3NwYS1zZWxlY3Q+XHJcblxyXG5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjYXBJdGVtLmNhcFN1Ykl0ZW1zICYmIHJvbGVbY2FwSXRlbS5uYW1lXVwiPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpbi1yb3dcIiAqbmdGb3I9XCJsZXQgY2FwU3ViSXRlbSBvZiBjYXBJdGVtLmNhcFN1Ykl0ZW1zXCI+XHJcblxyXG5cclxuICAgICAgICAgICAgICA8IS0tIFN1YiBJdGVtIC0tPlxyXG4gICAgICAgICAgICAgIDxtYXQtY2hlY2tib3ggKm5nSWY9XCJjYXBTdWJJdGVtLmlzQm9vbFwiXHJcbiAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIiBzdHlsZT1cIm1pbi13aWR0aDogMTAwcHg7XCIgWyhuZ01vZGVsKV09XCJyb2xlW2NhcFN1Ykl0ZW0ubmFtZV1cIj5cclxuICAgICAgICAgICAgICAgIHt7Y2FwU3ViSXRlbS5kaXNwbGF5fX1cclxuICAgICAgICAgICAgICA8L21hdC1jaGVja2JveD5cclxuXHJcbiAgICAgICAgICAgICAgPHNwYS1zZWxlY3RcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIWNhcFN1Ykl0ZW0uaXNCb29sXCJcclxuICAgICAgICAgICAgICAgIFtvcHRpb25zXT1cInJvbGVBY2Nlc3NPcHRpb25zXCJcclxuICAgICAgICAgICAgICAgIG9wdGlvbkRpc3BsYXk9XCJuYW1lXCJcclxuICAgICAgICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc3BsYXldPVwiY2FwU3ViSXRlbS5kaXNwbGF5XCJcclxuICAgICAgICAgICAgICAgIFsodmFsdWUpXT1cInJvbGVbY2FwU3ViSXRlbS5uYW1lXVwiXHJcbiAgICAgICAgICAgICAgICB3aWR0aD1cIjEwMHB4XCIgc3R5bGU9XCJmb250LXNpemU6IDEycHg7XCI+XHJcbiAgICAgICAgICAgICAgPC9zcGEtc2VsZWN0PlxyXG5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2FwU3ViSXRlbS5jYXBTdWJJdGVtc1wiPlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW4tcm93XCIgKm5nRm9yPVwibGV0IGNhcFN1YlN1Ykl0ZW0gb2YgY2FwU3ViSXRlbS5jYXBTdWJJdGVtc1wiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgPCEtLSBTdWIgU3ViIEl0ZW1zIC0tPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94ICpuZ0lmPVwiY2FwU3ViU3ViSXRlbS5pc0Jvb2xcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiIHN0eWxlPVwibWluLXdpZHRoOiAxMDBweDtcIiBbKG5nTW9kZWwpXT1cInJvbGVbY2FwU3ViU3ViSXRlbS5uYW1lXVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7Y2FwU3ViU3ViSXRlbS5kaXNwbGF5fX1cclxuICAgICAgICAgICAgICAgICAgPC9tYXQtY2hlY2tib3g+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8c3BhLXNlbGVjdFxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWNhcFN1YlN1Ykl0ZW0uaXNCb29sXCJcclxuICAgICAgICAgICAgICAgICAgICBbb3B0aW9uc109XCJyb2xlQWNjZXNzT3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uRGlzcGxheT1cIm5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtkaXNwbGF5XT1cImNhcFN1YlN1Ykl0ZW0uZGlzcGxheVwiXHJcbiAgICAgICAgICAgICAgICAgICAgWyh2YWx1ZSldPVwicm9sZVtjYXBTdWJTdWJJdGVtLm5hbWVdXCJcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjEwMHB4XCIgc3R5bGU9XCJmb250LXNpemU6IDEycHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvc3BhLXNlbGVjdD5cclxuXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgIDxtYXQtY2FyZC1hY3Rpb25zPlxyXG5cclxuICAgICAgICA8YnV0dG9uICBtYXQtbWluaS1mYWIgY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cInVwZGF0ZVJvbGUocm9sZSlcIiBzdHlsZT1cIm1hcmdpbi1yaWdodDoxMHB4O1wiPlxyXG4gICAgICAgICAgIDxtYXQtaWNvbj5kb25lX2FsbDwvbWF0LWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgIDxidXR0b24gbWF0LW1pbmktZmFiIGNvbG9yPVwid2FyblwiIChjbGljayk9XCJkZWxldGVSb2xlKHJvbGUpXCIgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6MTBweFwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICA8L21hdC1jYXJkLWFjdGlvbnM+XHJcblxyXG4gICAgPC9tYXQtY2FyZD5cclxuXHJcbiAgPC9kaXY+XHJcblxyXG5cclxuPC9kaXY+XHJcblxyXG4iXX0=
@@ -1,54 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../services/datalib.service";
4
- import * as i2 from "../../services/message.service";
5
- import * as i3 from "@angular/forms";
6
- import * as i4 from "@angular/common";
7
- import * as i5 from "@angular/material/button";
8
- import * as i6 from "@angular/material/icon";
9
- import * as i7 from "@angular/material/form-field";
10
- import * as i8 from "@angular/material/input";
11
- import * as i9 from "../../components/text/text.component";
12
- export class SettingsComponent {
13
- constructor(dataService, messageService) {
14
- this.dataService = dataService;
15
- this.messageService = messageService;
16
- this._filterText = "";
17
- this.isProcessing = false;
18
- }
19
- ngOnInit() {
20
- this.loadSettings();
21
- }
22
- applyFilter(filterValue) {
23
- this.settings.filter = filterValue.trim().toLowerCase();
24
- }
25
- loadSettings() {
26
- this.dataService.GetSetting("all", "").subscribe((apiResponse) => {
27
- this.settings = apiResponse.data;
28
- });
29
- }
30
- updateSetting(setting) {
31
- this.isProcessing = true;
32
- this.dataService.UpdateSetting(setting, "edit").subscribe((apiResponse) => {
33
- this.isProcessing = false;
34
- if (apiResponse.success) {
35
- this.messageService.toast(`Setting ${setting.sName} Updated`);
36
- this.loadSettings();
37
- }
38
- else {
39
- this.messageService.toast("Error: " + apiResponse.message);
40
- }
41
- });
42
- }
43
- ;
44
- addSetting() {
45
- this.messageService.toast("Feature not Available");
46
- }
47
- }
48
- SettingsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SettingsComponent, deps: [{ token: i1.DataServiceLib }, { token: i2.MessageService }], target: i0.ɵɵFactoryTarget.Component });
49
- SettingsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SettingsComponent, selector: "spa-settings", ngImport: i0, template: "<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=\"tin-row align-items-center mt-1 mb-1\" style=\"margin-left:10px\" *ngFor=\"let setting of settings\">\r\n\r\n <mat-form-field *ngIf=\"!setting.encrypted\" 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 <spa-text *ngIf=\"setting.encrypted\" format=\"password\" style=\"width: 500px; font-size: 14px;\" [display]=\"setting.sName\" [(value)]=\"setting.sValue\"></spa-text>\r\n\r\n <button mat-mini-fab color=\"primary\" (click)=\"updateSetting(setting)\" style=\"margin-right:10px;\"><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</div>\r\n\r\n", styles: [".mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}\n"], dependencies: [{ kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i9.TextComponent, selector: "spa-text", inputs: ["appearance", "readonly", "hint", "display", "placeholder", "value", "format", "type", "rows", "width", "copyContent", "clearContent", "options", "optionDisplay", "optionValue", "loadAction", "required", "min", "max", "regex", "suffix", "infoMessage"], outputs: ["valueChange", "leave", "enterPress"] }, { kind: "pipe", type: i4.DatePipe, name: "date" }] });
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SettingsComponent, decorators: [{
51
- type: Component,
52
- args: [{ selector: 'spa-settings', template: "<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=\"tin-row align-items-center mt-1 mb-1\" style=\"margin-left:10px\" *ngFor=\"let setting of settings\">\r\n\r\n <mat-form-field *ngIf=\"!setting.encrypted\" 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 <spa-text *ngIf=\"setting.encrypted\" format=\"password\" style=\"width: 500px; font-size: 14px;\" [display]=\"setting.sName\" [(value)]=\"setting.sValue\"></spa-text>\r\n\r\n <button mat-mini-fab color=\"primary\" (click)=\"updateSetting(setting)\" style=\"margin-right:10px;\"><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</div>\r\n\r\n", styles: [".mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}\n"] }]
53
- }], ctorParameters: function () { return [{ type: i1.DataServiceLib }, { type: i2.MessageService }]; } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL3BhZ2VzL3NldHRpbmdzL3NldHRpbmdzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9wYWdlcy9zZXR0aW5ncy9zZXR0aW5ncy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7OztBQVVsRCxNQUFNLE9BQU8saUJBQWlCO0lBRTVCLFlBQW9CLFdBQTJCLEVBQVUsY0FBOEI7UUFBbkUsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBTXZGLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBRWpCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO0lBUnNFLENBQUM7SUFFNUYsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBTUQsV0FBVyxDQUFDLFdBQW1CO1FBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMxRCxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUF5QixFQUFFLEVBQUU7WUFDM0UsSUFBSSxDQUFDLFFBQVEsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ25DLENBQUMsQ0FDRixDQUFDO0lBRUosQ0FBQztJQUVELGFBQWEsQ0FBQyxPQUFPO1FBRW5CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUF3QixFQUFFLEVBQUU7WUFDckYsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFFMUIsSUFBSSxXQUFXLENBQUMsT0FBTyxFQUFFO2dCQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxXQUFXLE9BQU8sQ0FBQyxLQUFLLFVBQVUsQ0FBQyxDQUFDO2dCQUM5RCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7YUFFckI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUM1RDtRQUVILENBQUMsQ0FBQyxDQUFDO0lBRUwsQ0FBQztJQUFBLENBQUM7SUFFRixVQUFVO1FBRVIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUVyRCxDQUFDOzs4R0E5Q1UsaUJBQWlCO2tHQUFqQixpQkFBaUIsb0RDVjlCLHd6Q0FpQ0E7MkZEdkJhLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2VMaWIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kYXRhbGliLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwaVJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9DbGFzc2VzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3BhLXNldHRpbmdzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NldHRpbmdzLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2V0dGluZ3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZUxpYiwgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubG9hZFNldHRpbmdzKCk7XHJcbiAgfVxyXG5cclxuICBfZmlsdGVyVGV4dCA9IFwiXCI7XHJcbiAgc2V0dGluZ3M7XHJcbiAgaXNQcm9jZXNzaW5nID0gZmFsc2U7XHJcblxyXG4gIGFwcGx5RmlsdGVyKGZpbHRlclZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2V0dGluZ3MuZmlsdGVyID0gZmlsdGVyVmFsdWUudHJpbSgpLnRvTG93ZXJDYXNlKCk7XHJcbiAgfVxyXG5cclxuICBsb2FkU2V0dGluZ3MoKXtcclxuICAgIHRoaXMuZGF0YVNlcnZpY2UuR2V0U2V0dGluZyhcImFsbFwiLCBcIlwiKS5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlIDogQXBpUmVzcG9uc2UpID0+IHtcclxuICAgICAgICB0aGlzLnNldHRpbmdzID0gYXBpUmVzcG9uc2UuZGF0YTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuXHJcbiAgfVxyXG5cclxuICB1cGRhdGVTZXR0aW5nKHNldHRpbmcpIHtcclxuXHJcbiAgICB0aGlzLmlzUHJvY2Vzc2luZyA9IHRydWU7XHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLlVwZGF0ZVNldHRpbmcoc2V0dGluZywgXCJlZGl0XCIpLnN1YnNjcmliZSgoYXBpUmVzcG9uc2U6IEFwaVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIHRoaXMuaXNQcm9jZXNzaW5nID0gZmFsc2U7XHJcblxyXG4gICAgICBpZiAoYXBpUmVzcG9uc2Uuc3VjY2Vzcykge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoYFNldHRpbmcgJHtzZXR0aW5nLnNOYW1lfSBVcGRhdGVkYCk7XHJcbiAgICAgICAgdGhpcy5sb2FkU2V0dGluZ3MoKTtcclxuXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIkVycm9yOiBcIiArIGFwaVJlc3BvbnNlLm1lc3NhZ2UpO1xyXG4gICAgICB9XHJcblxyXG4gICAgfSk7XHJcblxyXG4gIH07XHJcblxyXG4gIGFkZFNldHRpbmcoKSB7XHJcblxyXG4gICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIkZlYXR1cmUgbm90IEF2YWlsYWJsZVwiKTtcclxuXHJcbiAgfVxyXG5cclxufVxyXG4iLCI8aDQ+U2V0dGluZ3M8L2g0PlxyXG48aHI+XHJcblxyXG48ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJyb3cganVzdGlmeS1jb250ZW50LWJldHdlZW5cIiBzdHlsZT1cInBhZGRpbmctYm90dG9tOiAxMHB4O3BhZGRpbmctbGVmdDoxMHB4XCI+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC0yXCI+XHJcbiAgICAgIDwhLS0gPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiYWRkU2V0dGluZygpXCI+TmV3IFNldHRpbmc8L2J1dHRvbj4gLS0+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMlwiPlxyXG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJsb2FkU2V0dGluZ3MoKVwiPlJlZnJlc2g8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuXHJcbiAgPGRpdiBjbGFzcz1cInRpbi1yb3cgYWxpZ24taXRlbXMtY2VudGVyIG10LTEgbWItMVwiIHN0eWxlPVwibWFyZ2luLWxlZnQ6MTBweFwiICpuZ0Zvcj1cImxldCBzZXR0aW5nIG9mIHNldHRpbmdzXCI+XHJcblxyXG4gICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiIXNldHRpbmcuZW5jcnlwdGVkXCIgc3R5bGU9XCJ3aWR0aDogNTAwcHg7IGZvbnQtc2l6ZTogMTRweDtcIj5cclxuICAgICAgPG1hdC1sYWJlbD57e3NldHRpbmcuc05hbWV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgYXV0b2NvbXBsZXRlPVwib2ZmXCIgWyhuZ01vZGVsKV09XCJzZXR0aW5nLnNWYWx1ZVwiID5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4gICAgPHNwYS10ZXh0ICpuZ0lmPVwic2V0dGluZy5lbmNyeXB0ZWRcIiBmb3JtYXQ9XCJwYXNzd29yZFwiIHN0eWxlPVwid2lkdGg6IDUwMHB4OyBmb250LXNpemU6IDE0cHg7XCIgW2Rpc3BsYXldPVwic2V0dGluZy5zTmFtZVwiIFsodmFsdWUpXT1cInNldHRpbmcuc1ZhbHVlXCI+PC9zcGEtdGV4dD5cclxuXHJcbiAgICA8YnV0dG9uIG1hdC1taW5pLWZhYiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwidXBkYXRlU2V0dGluZyhzZXR0aW5nKVwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OjEwcHg7XCI+PG1hdC1pY29uPmRvbmVfYWxsPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuXHJcbiAgICA8bWF0LWxhYmVsIHN0eWxlPVwiZm9udC1zaXplOiBzbWFsbDtcIj5MYXN0IFVwZGF0ZWQgYnkge3tzZXR0aW5nLnVwZGF0ZWRCeX19IG9uIHt7c2V0dGluZy51cGRhdGVkRGF0ZSB8IGRhdGU6ICdkZCBNTU0geXkgSEg6bW0nfX08L21hdC1sYWJlbD5cclxuXHJcbiAgPC9kaXY+XHJcblxyXG48L2Rpdj5cclxuXHJcbiJdfQ==
@@ -1,50 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { Account, Profile, User } from '../../classes/LibClasses';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../services/http.service";
5
- import * as i2 from "../../services/message.service";
6
- import * as i3 from "../../services/datalib.service";
7
- import * as i4 from "../../services/auth.service";
8
- import * as i5 from "@angular/material/button";
9
- import * as i6 from "../../components/text/text.component";
10
- export class SignupComponent {
11
- constructor(httpService, messageService, dataService, authService) {
12
- this.httpService = httpService;
13
- this.messageService = messageService;
14
- this.dataService = dataService;
15
- this.authService = authService;
16
- this.isProcessing = false;
17
- this.user = new User();
18
- this.profile = new Profile();
19
- this.account = new Account();
20
- }
21
- ngOnInit() {
22
- this.account.user = this.user;
23
- this.account.profile = this.profile;
24
- }
25
- create() {
26
- this.profile.userName = this.user.userName;
27
- this.isProcessing = true;
28
- this.dataService.RegisterAccount(this.account).subscribe((apiResponse) => {
29
- this.isProcessing = false;
30
- if (apiResponse.message == "success") {
31
- this.messageService.toast("Account Created");
32
- this.user = new User();
33
- this.profile = new Profile();
34
- }
35
- else {
36
- this.messageService.toast("Error: " + apiResponse.message);
37
- }
38
- }, (error) => {
39
- this.isProcessing = false;
40
- this.messageService.toast(this.httpService.Error(error));
41
- });
42
- }
43
- }
44
- SignupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SignupComponent, deps: [{ token: i1.HttpService }, { token: i2.MessageService }, { token: i3.DataServiceLib }, { token: i4.AuthService }], target: i0.ɵɵFactoryTarget.Component });
45
- SignupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SignupComponent, selector: "spa-signup", ngImport: i0, template: "\r\n<h4 style=\"padding-top: 30px;\">Sign up</h4>\r\n\r\n<hr/>\r\n\r\n\r\n<div class=\"container tin-grid\" style=\"font-size:14px;\">\r\n\r\n <spa-text display=\"FirstName\" [(value)]=\"account.profile.firstName\" ></spa-text>\r\n\r\n <spa-text display=\"LastName\" [(value)]=\"account.profile.lastName\" ></spa-text>\r\n\r\n <spa-text display=\"Username\" [(value)]=\"account.profile.userName\"></spa-text>\r\n\r\n &nbsp;\r\n\r\n <spa-text display=\"Password\" [(value)]=\"account.profile.password\" format=\"password\" ></spa-text>\r\n\r\n <spa-text display=\"Confirm Password\" [(value)]=\"confirmPassword\" format=\"password\" ></spa-text>\r\n\r\n <div class=\"span-col-center\">\r\n <button mat-raised-button color=\"primary\" (click)=\"create()\" cdkFocusInitial>Submit</button>\r\n </div>\r\n\r\n\r\n</div>\r\n\r\n\r\n", styles: [""], dependencies: [{ kind: "component", type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.TextComponent, selector: "spa-text", inputs: ["appearance", "readonly", "hint", "display", "placeholder", "value", "format", "type", "rows", "width", "copyContent", "clearContent", "options", "optionDisplay", "optionValue", "loadAction", "required", "min", "max", "regex", "suffix", "infoMessage"], outputs: ["valueChange", "leave", "enterPress"] }] });
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SignupComponent, decorators: [{
47
- type: Component,
48
- args: [{ selector: 'spa-signup', template: "\r\n<h4 style=\"padding-top: 30px;\">Sign up</h4>\r\n\r\n<hr/>\r\n\r\n\r\n<div class=\"container tin-grid\" style=\"font-size:14px;\">\r\n\r\n <spa-text display=\"FirstName\" [(value)]=\"account.profile.firstName\" ></spa-text>\r\n\r\n <spa-text display=\"LastName\" [(value)]=\"account.profile.lastName\" ></spa-text>\r\n\r\n <spa-text display=\"Username\" [(value)]=\"account.profile.userName\"></spa-text>\r\n\r\n &nbsp;\r\n\r\n <spa-text display=\"Password\" [(value)]=\"account.profile.password\" format=\"password\" ></spa-text>\r\n\r\n <spa-text display=\"Confirm Password\" [(value)]=\"confirmPassword\" format=\"password\" ></spa-text>\r\n\r\n <div class=\"span-col-center\">\r\n <button mat-raised-button color=\"primary\" (click)=\"create()\" cdkFocusInitial>Submit</button>\r\n </div>\r\n\r\n\r\n</div>\r\n\r\n\r\n" }]
49
- }], ctorParameters: function () { return [{ type: i1.HttpService }, { type: i2.MessageService }, { type: i3.DataServiceLib }, { type: i4.AuthService }]; } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbnVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9wYWdlcy9zaWdudXAvc2lnbnVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9wYWdlcy9zaWdudXAvc2lnbnVwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFPbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7O0FBT2xFLE1BQU0sT0FBTyxlQUFlO0lBRzFCLFlBQW9CLFdBQXdCLEVBQVUsY0FBOEIsRUFBVSxXQUEyQixFQUFVLFdBQXdCO1FBQXZJLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFRM0osaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDOUIsU0FBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDbEIsWUFBTyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFFeEIsWUFBTyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFad0ksQ0FBQztJQUVqSyxRQUFRO1FBRU4sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RDLENBQUM7SUFXSCxNQUFNO1FBRUosSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFFM0MsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FDdEQsQ0FBQyxXQUF3QixFQUFFLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFFMUIsSUFBSSxXQUFXLENBQUMsT0FBTyxJQUFJLFNBQVMsRUFBRTtnQkFDcEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztnQkFFN0MsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7YUFFOUI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUM1RDtRQUNILENBQUMsRUFDRCxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDMUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMzRCxDQUFDLENBQ0YsQ0FBQztJQUNOLENBQUM7OzRHQTVDWSxlQUFlO2dHQUFmLGVBQWUsa0RDZDVCLDQxQkE0QkE7MkZEZGEsZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuLy8gaW1wb3J0IHsgSHR0cFNlcnZpY2UsIEFwaVJlc3BvbnNlIH0gZnJvbSAndGluLWNvcmUnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlTGliIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YWxpYi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcGlSZXNwb25zZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvQ2xhc3Nlcyc7XHJcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaHR0cC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWNjb3VudCwgUHJvZmlsZSwgVXNlciB9IGZyb20gJy4uLy4uL2NsYXNzZXMvTGliQ2xhc3Nlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NwYS1zaWdudXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zaWdudXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NpZ251cC5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFNpZ251cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHBTZXJ2aWNlOiBIdHRwU2VydmljZSwgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlTGliLCBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSwpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuXHJcbiAgICB0aGlzLmFjY291bnQudXNlciA9IHRoaXMudXNlcjtcclxuICAgIHRoaXMuYWNjb3VudC5wcm9maWxlID0gdGhpcy5wcm9maWxlO1xyXG4gIH1cclxuXHJcbiAgaXNQcm9jZXNzaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgdXNlciA9IG5ldyBVc2VyKCk7XHJcbiAgcHJvZmlsZSA9IG5ldyBQcm9maWxlKCk7XHJcblxyXG4gIGFjY291bnQgPSBuZXcgQWNjb3VudCgpO1xyXG5cclxuICBjb25maXJtUGFzc3dvcmQ6IHN0cmluZztcclxuXHJcblxyXG5jcmVhdGUoKXtcclxuXHJcbiAgdGhpcy5wcm9maWxlLnVzZXJOYW1lID0gdGhpcy51c2VyLnVzZXJOYW1lO1xyXG5cclxuICB0aGlzLmlzUHJvY2Vzc2luZyA9IHRydWU7XHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLlJlZ2lzdGVyQWNjb3VudCh0aGlzLmFjY291bnQpLnN1YnNjcmliZShcclxuICAgICAgKGFwaVJlc3BvbnNlOiBBcGlSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNQcm9jZXNzaW5nID0gZmFsc2U7XHJcblxyXG4gICAgICAgIGlmIChhcGlSZXNwb25zZS5tZXNzYWdlID09IFwic3VjY2Vzc1wiKSB7XHJcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiQWNjb3VudCBDcmVhdGVkXCIpO1xyXG5cclxuICAgICAgICAgIHRoaXMudXNlciA9IG5ldyBVc2VyKCk7XHJcbiAgICAgICAgICB0aGlzLnByb2ZpbGUgPSBuZXcgUHJvZmlsZSgpO1xyXG5cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIkVycm9yOiBcIiArIGFwaVJlc3BvbnNlLm1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgKGVycm9yKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc1Byb2Nlc3NpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KHRoaXMuaHR0cFNlcnZpY2UuRXJyb3IoZXJyb3IpKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxufVxyXG5cclxuXHJcblxyXG59XHJcbiIsIlxyXG48aDQgc3R5bGU9XCJwYWRkaW5nLXRvcDogMzBweDtcIj5TaWduIHVwPC9oND5cclxuXHJcbjxoci8+XHJcblxyXG5cclxuPGRpdiBjbGFzcz1cImNvbnRhaW5lciB0aW4tZ3JpZFwiICBzdHlsZT1cImZvbnQtc2l6ZToxNHB4O1wiPlxyXG5cclxuICAgIDxzcGEtdGV4dCBkaXNwbGF5PVwiRmlyc3ROYW1lXCIgWyh2YWx1ZSldPVwiYWNjb3VudC5wcm9maWxlLmZpcnN0TmFtZVwiID48L3NwYS10ZXh0PlxyXG5cclxuICAgIDxzcGEtdGV4dCBkaXNwbGF5PVwiTGFzdE5hbWVcIiBbKHZhbHVlKV09XCJhY2NvdW50LnByb2ZpbGUubGFzdE5hbWVcIiA+PC9zcGEtdGV4dD5cclxuXHJcbiAgICA8c3BhLXRleHQgZGlzcGxheT1cIlVzZXJuYW1lXCIgWyh2YWx1ZSldPVwiYWNjb3VudC5wcm9maWxlLnVzZXJOYW1lXCI+PC9zcGEtdGV4dD5cclxuXHJcbiAgICAmbmJzcDtcclxuXHJcbiAgICA8c3BhLXRleHQgZGlzcGxheT1cIlBhc3N3b3JkXCIgWyh2YWx1ZSldPVwiYWNjb3VudC5wcm9maWxlLnBhc3N3b3JkXCIgZm9ybWF0PVwicGFzc3dvcmRcIiA+PC9zcGEtdGV4dD5cclxuXHJcbiAgICA8c3BhLXRleHQgZGlzcGxheT1cIkNvbmZpcm0gUGFzc3dvcmRcIiBbKHZhbHVlKV09XCJjb25maXJtUGFzc3dvcmRcIiBmb3JtYXQ9XCJwYXNzd29yZFwiID48L3NwYS10ZXh0PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJzcGFuLWNvbC1jZW50ZXJcIj5cclxuICAgICAgPGJ1dHRvbiAgbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cImNyZWF0ZSgpXCIgIGNka0ZvY3VzSW5pdGlhbD5TdWJtaXQ8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG5cclxuXHJcbjwvZGl2PlxyXG5cclxuXHJcbiJdfQ==
@@ -1,22 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../services/datalib.service";
4
- import * as i2 from "../../services/message.service";
5
- import * as i3 from "../../services/auth.service";
6
- import * as i4 from "../../components/table/table.component";
7
- export class SuppliersComponent {
8
- constructor(dataService, messageService, authService) {
9
- this.dataService = dataService;
10
- this.messageService = messageService;
11
- this.authService = authService;
12
- }
13
- ngOnInit() {
14
- }
15
- }
16
- SuppliersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SuppliersComponent, deps: [{ token: i1.DataServiceLib }, { token: i2.MessageService }, { token: i3.AuthService }], target: i0.ɵɵFactoryTarget.Component });
17
- SuppliersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SuppliersComponent, selector: "spa-suppliers", ngImport: i0, template: "<h4>Suppliers</h4>\r\n<hr>\r\n\r\n\r\n<div class=\"mt-3\" style=\" font-size: 14px;\">\r\n <spa-table [config]=\"dataService.suppliersTableConfig\"></spa-table>\r\n</div>\r\n\r\n", styles: [""], dependencies: [{ kind: "component", type: i4.TableComponent, selector: "spa-table", inputs: ["data", "tileData", "config", "reload", "activeTab", "inTab"], outputs: ["dataLoad", "actionSuccess", "refreshClick", "searchClick", "createClick", "actionClick", "inputChange", "actionResponse"] }] });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SuppliersComponent, decorators: [{
19
- type: Component,
20
- args: [{ selector: 'spa-suppliers', template: "<h4>Suppliers</h4>\r\n<hr>\r\n\r\n\r\n<div class=\"mt-3\" style=\" font-size: 14px;\">\r\n <spa-table [config]=\"dataService.suppliersTableConfig\"></spa-table>\r\n</div>\r\n\r\n" }]
21
- }], ctorParameters: function () { return [{ type: i1.DataServiceLib }, { type: i2.MessageService }, { type: i3.AuthService }]; } });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcGxpZXJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9wYWdlcy9zdXBwbGllcnMvc3VwcGxpZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9wYWdlcy9zdXBwbGllcnMvc3VwcGxpZXJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVdsRCxNQUFNLE9BQU8sa0JBQWtCO0lBRTdCLFlBQW1CLFdBQTJCLEVBQVUsY0FBOEIsRUFBUyxXQUF3QjtRQUFwRyxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBUyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUFJLENBQUM7SUFFNUgsUUFBUTtJQUNSLENBQUM7OytHQUxVLGtCQUFrQjttR0FBbEIsa0JBQWtCLHFEQ1gvQixxTEFRQTsyRkRHYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlTGliIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YWxpYi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRm9ybUNvbmZpZywgVGFibGVDb25maWcgfSBmcm9tICcuLi8uLi9jbGFzc2VzL0NsYXNzZXMnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3BhLXN1cHBsaWVycycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3N1cHBsaWVycy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc3VwcGxpZXJzLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3VwcGxpZXJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZUxpYiwgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsIHB1YmxpYyBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG5cclxuXHJcbn1cclxuIiwiPGg0PlN1cHBsaWVyczwvaDQ+XHJcbjxocj5cclxuXHJcblxyXG48ZGl2IGNsYXNzPVwibXQtM1wiIHN0eWxlPVwiIGZvbnQtc2l6ZTogMTRweDtcIj5cclxuICA8c3BhLXRhYmxlIFtjb25maWddPVwiZGF0YVNlcnZpY2Uuc3VwcGxpZXJzVGFibGVDb25maWdcIj48L3NwYS10YWJsZT5cclxuPC9kaXY+XHJcblxyXG4iXX0=
@@ -1,86 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { ListDialogComponent } from '../../components/list-dialog/list-dialog.component';
3
- import { Subject } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../../services/datalib.service";
6
- import * as i2 from "../../services/message.service";
7
- import * as i3 from "../../services/auth.service";
8
- import * as i4 from "@angular/material/dialog";
9
- import * as i5 from "@angular/material/button";
10
- import * as i6 from "@angular/material/icon";
11
- import * as i7 from "@angular/material/tooltip";
12
- import * as i8 from "../../components/table/table.component";
13
- export class TasksComponent {
14
- constructor(dataService, messageService, authService, dialog) {
15
- this.dataService = dataService;
16
- this.messageService = messageService;
17
- this.authService = authService;
18
- this.dialog = dialog;
19
- this.reload = new Subject();
20
- this.statuses = [
21
- { name: 'Not Started', value: 0 },
22
- { name: 'In-Progress', value: 1 },
23
- { name: 'Completed', value: 2 },
24
- ];
25
- this.formConfig = {
26
- fields: [
27
- { name: 'name', type: 'text', span: true, required: true },
28
- { name: 'status', type: 'select', options: this.statuses, defaultFirstValue: true, required: true },
29
- { name: 'dueDate', type: 'date' },
30
- { name: 'assignee', type: 'select', optionDisplay: 'name', optionValue: 'userName' },
31
- { name: 'categoryID', alias: 'Category', type: 'select', optionDisplay: 'name', optionValue: 'listItemID', defaultFirstValue: true, required: true },
32
- ],
33
- reset: true,
34
- };
35
- this.tasksTableConfig = {
36
- showFilter: true,
37
- minColumns: ['name', 'assigneeName'],
38
- flatButtons: true,
39
- columns: [
40
- { name: 'name', type: 'text' },
41
- { name: 'statusName', type: 'text' },
42
- { name: 'dueDate', type: 'date' },
43
- { name: 'assigneeName', alias: 'assignee', type: 'text' },
44
- { name: 'categoryName', alias: 'Category', type: 'text' },
45
- { name: 'createdDate', alias: 'Created', type: 'date' },
46
- ],
47
- buttons: [
48
- { name: 'create', display: 'Create', dialog: true, action: { url: 'tasks?action=create', method: 'post' } },
49
- { name: 'view', dialog: true },
50
- { name: 'edit', dialog: true, action: { url: 'tasks?action=edit', method: 'post' } },
51
- { name: 'delete', dialog: true, action: { url: 'tasks?action=delete', method: 'post' } },
52
- ],
53
- loadAction: { url: 'tasks/all/x' },
54
- formConfig: this.formConfig
55
- };
56
- }
57
- ngOnInit() {
58
- this.loadData();
59
- }
60
- loadData() {
61
- this.dataService.CallApi({ url: 'tasks/meta/x' }).subscribe((api) => {
62
- this.formConfig.fields.find(x => x.name == 'assignee').options = api.data.members;
63
- this.formConfig.fields.find(x => x.name == 'assignee').defaultValue = this.authService.currentUser;
64
- this.formConfig.fields.find(x => x.name == 'categoryID').options = api.data.categories;
65
- });
66
- }
67
- cats() {
68
- let conf = { title: "Task Categories", name: 'Category', listName: 'TaskCategories' };
69
- const dialogRef = this.dialog.open(ListDialogComponent, {
70
- width: "900px",
71
- data: conf,
72
- });
73
- dialogRef.afterClosed().subscribe((result) => {
74
- if (result == 'success') {
75
- this.reload.next(true);
76
- }
77
- });
78
- }
79
- }
80
- TasksComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TasksComponent, deps: [{ token: i1.DataServiceLib }, { token: i2.MessageService }, { token: i3.AuthService }, { token: i4.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
81
- TasksComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TasksComponent, selector: "spa-tasks", ngImport: i0, template: "<div class=\"d-flex align-items-center justify-content-between mt-0\" style=\"margin-left: 10px\">\r\n\r\n <label style=\"font-size: 16px;\">Tasks</label>\r\n\r\n <div>\r\n <button mat-mini-fab color=\"primary\" style=\"margin-right:1em;\" (click)=\"cats()\" matTooltip=\"Categories\" matTooltipPosition=\"above\"><mat-icon>category</mat-icon></button>\r\n </div>\r\n\r\n</div>\r\n<hr>\r\n\r\n<div class=\"mt-3\" style=\" font-size: 14px;\">\r\n <spa-table [config]=\"tasksTableConfig\" [reload]=\"reload\"></spa-table>\r\n</div>\r\n", styles: [".mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}\n"], dependencies: [{ kind: "component", type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i8.TableComponent, selector: "spa-table", inputs: ["data", "tileData", "config", "reload", "activeTab", "inTab"], outputs: ["dataLoad", "actionSuccess", "refreshClick", "searchClick", "createClick", "actionClick", "inputChange", "actionResponse"] }] });
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TasksComponent, decorators: [{
83
- type: Component,
84
- args: [{ selector: 'spa-tasks', template: "<div class=\"d-flex align-items-center justify-content-between mt-0\" style=\"margin-left: 10px\">\r\n\r\n <label style=\"font-size: 16px;\">Tasks</label>\r\n\r\n <div>\r\n <button mat-mini-fab color=\"primary\" style=\"margin-right:1em;\" (click)=\"cats()\" matTooltip=\"Categories\" matTooltipPosition=\"above\"><mat-icon>category</mat-icon></button>\r\n </div>\r\n\r\n</div>\r\n<hr>\r\n\r\n<div class=\"mt-3\" style=\" font-size: 14px;\">\r\n <spa-table [config]=\"tasksTableConfig\" [reload]=\"reload\"></spa-table>\r\n</div>\r\n", styles: [".mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}\n"] }]
85
- }], ctorParameters: function () { return [{ type: i1.DataServiceLib }, { type: i2.MessageService }, { type: i3.AuthService }, { type: i4.MatDialog }]; } });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL3BhZ2VzL3Rhc2tzL3Rhc2tzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9wYWdlcy90YXNrcy90YXNrcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBS2xELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRXpGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7QUFPL0IsTUFBTSxPQUFPLGNBQWM7SUFFekIsWUFBb0IsV0FBMkIsRUFBVSxjQUE4QixFQUFTLFdBQXdCLEVBQVMsTUFBaUI7UUFBOUgsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBaUNsSixXQUFNLEdBQXFCLElBQUksT0FBTyxFQUFFLENBQUM7UUFFekMsYUFBUSxHQUFHO1lBQ1QsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUU7WUFDakMsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUU7WUFDakMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUU7U0FDaEMsQ0FBQTtRQUVELGVBQVUsR0FBZTtZQUV2QixNQUFNLEVBQUU7Z0JBQ04sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFHLElBQUksRUFBRSxRQUFRLEVBQUcsSUFBSSxFQUFFO2dC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QVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUM7WUFDbkcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxZQUFZLENBQUMsQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDekYsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsSUFBSTtRQUVGLElBQUksSUFBSSxHQUFxQixFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxDQUFBO1FBRXZHLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQ3RELEtBQUssRUFBRSxPQUFPO1lBQ2QsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDLENBQUM7UUFFSCxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFFM0MsSUFBSSxNQUFNLElBQUksU0FBUyxFQUFFO2dCQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN4QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBRUwsQ0FBQzs7MkdBaENVLGNBQWM7K0ZBQWQsY0FBYyxpRENkM0IsOGhCQWNBOzJGREFhLGNBQWM7a0JBTDFCLFNBQVM7K0JBQ0UsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlTGliIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YWxpYi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRm9ybUNvbmZpZywgTGlzdERpYWxvZ0NvbmZpZywgVGFibGVDb25maWcsIEFwaVJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9DbGFzc2VzJztcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IExpc3REaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2xpc3QtZGlhbG9nL2xpc3QtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3BhLXRhc2tzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFza3MuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3Rhc2tzLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFza3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZUxpYiwgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsIHB1YmxpYyBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZykgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkRGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgbG9hZERhdGEoKXtcclxuICAgIHRoaXMuZGF0YVNlcnZpY2UuQ2FsbEFwaSh7IHVybDondGFza3MvbWV0YS94J30pLnN1YnNjcmliZSgoYXBpIDogQXBpUmVzcG9uc2UpID0+IHtcclxuICAgICAgdGhpcy5mb3JtQ29uZmlnLmZpZWxkcy5maW5kKHggPT4geC5uYW1lID09ICdhc3NpZ25lZScpLm9wdGlvbnMgPSBhcGkuZGF0YS5tZW1iZXJzO1xyXG4gICAgICB0aGlzLmZvcm1Db25maWcuZmllbGRzLmZpbmQoeCA9PiB4Lm5hbWUgPT0gJ2Fzc2lnbmVlJykuZGVmYXVsdFZhbHVlID0gdGhpcy5hdXRoU2VydmljZS5jdXJyZW50VXNlcjtcclxuICAgICAgdGhpcy5mb3JtQ29uZmlnLmZpZWxkcy5maW5kKHggPT4geC5uYW1lID09ICdjYXRlZ29yeUlEJykub3B0aW9ucyA9IGFwaS5kYXRhLmNhdGVnb3JpZXM7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgY2F0cygpIHtcclxuXHJcbiAgICBsZXQgY29uZjogTGlzdERpYWxvZ0NvbmZpZyA9IHsgdGl0bGU6IFwiVGFzayBDYXRlZ29yaWVzXCIsIG5hbWU6ICdDYXRlZ29yeScsIGxpc3ROYW1lOiAnVGFza0NhdGVnb3JpZXMnIH1cclxuXHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKExpc3REaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgd2lkdGg6IFwiOTAwcHhcIixcclxuICAgICAgZGF0YTogY29uZixcclxuICAgIH0pO1xyXG5cclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcblxyXG4gICAgICBpZiAocmVzdWx0ID09ICdzdWNjZXNzJykge1xyXG4gICAgICAgIHRoaXMucmVsb2FkLm5leHQodHJ1ZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICB9XHJcblxyXG5cclxuICByZWxvYWQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBzdGF0dXNlcyA9IFtcclxuICAgIHsgbmFtZTogJ05vdCBTdGFydGVkJywgdmFsdWU6IDAgfSxcclxuICAgIHsgbmFtZTogJ0luLVByb2dyZXNzJywgdmFsdWU6IDEgfSxcclxuICAgIHsgbmFtZTogJ0NvbXBsZXRlZCcsIHZhbHVlOiAyIH0sXHJcbiAgXVxyXG5cclxuICBmb3JtQ29uZmlnOiBGb3JtQ29uZmlnID0ge1xyXG5cclxuICAgIGZpZWxkczogW1xyXG4gICAgICB7IG5hbWU6ICduYW1lJywgdHlwZTogJ3RleHQnLCBzcGFuIDogdHJ1ZSwgcmVxdWlyZWQgOiB0cnVlIH0sXHJcbiAgICAgIHsgbmFtZTogJ3N0YXR1cycsIHR5cGU6ICdzZWxlY3QnLCBvcHRpb25zIDogdGhpcy5zdGF0dXNlcywgZGVmYXVsdEZpcnN0VmFsdWUgOiB0cnVlLCByZXF1aXJlZCA6IHRydWUgfSxcclxuICAgICAgeyBuYW1lOiAnZHVlRGF0ZScsIHR5cGU6ICdkYXRlJyB9LFxyXG4gICAgICB7IG5hbWU6ICdhc3NpZ25lZScsIHR5cGU6ICdzZWxlY3QnLCBvcHRpb25EaXNwbGF5IDogJ25hbWUnLCBvcHRpb25WYWx1ZSA6ICd1c2VyTmFtZScgfSxcclxuICAgICAgeyBuYW1lOiAnY2F0ZWdvcnlJRCcsIGFsaWFzOiAnQ2F0ZWdvcnknLCB0eXBlOiAnc2VsZWN0Jywgb3B0aW9uRGlzcGxheTogJ25hbWUnLCBvcHRpb25WYWx1ZTogJ2xpc3RJdGVtSUQnLCBkZWZhdWx0Rmlyc3RWYWx1ZTogdHJ1ZSwgcmVxdWlyZWQ6IHRydWUgfSxcclxuICAgIF0sXHJcblxyXG4gICAgcmVzZXQ6IHRydWUsXHJcbiAgfVxyXG5cclxuICB0YXNrc1RhYmxlQ29uZmlnOiBUYWJsZUNvbmZpZyA9IHtcclxuICAgIHNob3dGaWx0ZXI6IHRydWUsXHJcbiAgICBtaW5Db2x1bW5zOiBbJ25hbWUnLCAnYXNzaWduZWVOYW1lJ10sXHJcbiAgICBmbGF0QnV0dG9uczogdHJ1ZSxcclxuXHJcbiAgICBjb2x1bW5zOiBbXHJcblxyXG4gICAgICB7IG5hbWU6ICduYW1lJywgdHlwZTogJ3RleHQnfSxcclxuICAgICAgeyBuYW1lOiAnc3RhdHVzTmFtZScsIHR5cGU6ICd0ZXh0JyB9LFxyXG4gICAgICB7IG5hbWU6ICdkdWVEYXRlJywgdHlwZTogJ2RhdGUnIH0sXHJcbiAgICAgIHsgbmFtZTogJ2Fzc2lnbmVlTmFtZScsIGFsaWFzOidhc3NpZ25lZScsIHR5cGU6ICd0ZXh0J30sXHJcbiAgICAgIHsgbmFtZTogJ2NhdGVnb3J5TmFtZScsIGFsaWFzOiAnQ2F0ZWdvcnknLCB0eXBlOiAndGV4dCcgfSxcclxuICAgICAgeyBuYW1lOiAnY3JlYXRlZERhdGUnLCBhbGlhcyA6ICdDcmVhdGVkJywgdHlwZTogJ2RhdGUnIH0sXHJcbiAgICBdLFxyXG5cclxuICAgIGJ1dHRvbnM6IFtcclxuICAgICAgeyBuYW1lOiAnY3JlYXRlJywgZGlzcGxheTogJ0NyZWF0ZScsIGRpYWxvZzogdHJ1ZSwgYWN0aW9uOiB7IHVybDogJ3Rhc2tzP2FjdGlvbj1jcmVhdGUnLCBtZXRob2Q6ICdwb3N0JyB9IH0sXHJcbiAgICAgIHsgbmFtZTogJ3ZpZXcnLCBkaWFsb2c6IHRydWUgfSxcclxuICAgICAgeyBuYW1lOiAnZWRpdCcsIGRpYWxvZzogdHJ1ZSwgYWN0aW9uOiB7IHVybDogJ3Rhc2tzP2FjdGlvbj1lZGl0JywgbWV0aG9kOiAncG9zdCcgfSB9LFxyXG4gICAgICB7IG5hbWU6ICdkZWxldGUnLCBkaWFsb2c6IHRydWUsIGFjdGlvbjogeyB1cmw6ICd0YXNrcz9hY3Rpb249ZGVsZXRlJywgbWV0aG9kOiAncG9zdCcgfSB9LFxyXG4gICAgXSxcclxuXHJcbiAgICBsb2FkQWN0aW9uOiB7IHVybDogJ3Rhc2tzL2FsbC94JyB9LFxyXG5cclxuICAgIGZvcm1Db25maWc6IHRoaXMuZm9ybUNvbmZpZ1xyXG5cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW4gbXQtMFwiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDEwcHhcIj5cclxuXHJcbiAgPGxhYmVsIHN0eWxlPVwiZm9udC1zaXplOiAxNnB4O1wiPlRhc2tzPC9sYWJlbD5cclxuXHJcbiAgPGRpdj5cclxuICAgIDxidXR0b24gbWF0LW1pbmktZmFiIGNvbG9yPVwicHJpbWFyeVwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OjFlbTtcIiAoY2xpY2spPVwiY2F0cygpXCIgbWF0VG9vbHRpcD1cIkNhdGVnb3JpZXNcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiPjxtYXQtaWNvbj5jYXRlZ29yeTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPC9kaXY+XHJcblxyXG48L2Rpdj5cclxuPGhyPlxyXG5cclxuPGRpdiBjbGFzcz1cIm10LTNcIiBzdHlsZT1cIiBmb250LXNpemU6IDE0cHg7XCI+XHJcbiAgPHNwYS10YWJsZSBbY29uZmlnXT1cInRhc2tzVGFibGVDb25maWdcIiBbcmVsb2FkXT1cInJlbG9hZFwiPjwvc3BhLXRhYmxlPlxyXG48L2Rpdj5cclxuIl19