tin-spa 9.0.0 → 9.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. package/bundles/tin-spa.umd.js +4416 -1589
  2. package/bundles/tin-spa.umd.js.map +1 -1
  3. package/bundles/tin-spa.umd.min.js +2 -2
  4. package/bundles/tin-spa.umd.min.js.map +1 -1
  5. package/esm2015/lib/classes/Classes.js +58 -45
  6. package/esm2015/lib/classes/TinCore.js +137 -0
  7. package/esm2015/lib/components/activity/activity.component.js +84 -18
  8. package/esm2015/lib/components/attach/attach.component.js +101 -27
  9. package/esm2015/lib/components/change-password/change-password.component.js +122 -34
  10. package/esm2015/lib/components/check/check.component.js +39 -33
  11. package/esm2015/lib/components/chips/chips.component.js +75 -35
  12. package/esm2015/lib/components/create-account/create-account.component.js +124 -42
  13. package/esm2015/lib/components/date/date.component.js +54 -33
  14. package/esm2015/lib/components/datetime/datetime.component.js +43 -30
  15. package/esm2015/lib/components/filter/filter.component.js +64 -0
  16. package/esm2015/lib/components/html/html.component.js +30 -25
  17. package/esm2015/lib/components/label/label.component.js +109 -21
  18. package/esm2015/lib/components/loader/loader.component.js +43 -20
  19. package/esm2015/lib/components/login/login.component.js +194 -76
  20. package/esm2015/lib/components/logs/logs.component.js +180 -28
  21. package/esm2015/lib/components/message/messageDialog.component.js +128 -17
  22. package/esm2015/lib/components/money/currency-input-mask.directive.js +187 -0
  23. package/esm2015/lib/components/money/currency-input-mask.module.js +30 -0
  24. package/esm2015/lib/components/money/money.component.js +141 -39
  25. package/esm2015/lib/components/nav-menu/nav-menu.component.js +174 -21
  26. package/esm2015/lib/components/option/option.component.js +107 -40
  27. package/esm2015/lib/components/profile/profile.component.js +143 -53
  28. package/esm2015/lib/components/recover-account/recover-account.component.js +48 -26
  29. package/esm2015/lib/components/roles/addRoleDialog.component.js +99 -26
  30. package/esm2015/lib/components/roles/roles.component.js +153 -73
  31. package/esm2015/lib/components/select/select.component.js +108 -48
  32. package/esm2015/lib/components/settings/settings.component.js +76 -21
  33. package/esm2015/lib/components/signup/signup.component.js +107 -24
  34. package/esm2015/lib/components/steps/steps.component.js +47 -31
  35. package/esm2015/lib/components/table/table.component.js +301 -35
  36. package/esm2015/lib/components/text/text.component.js +146 -71
  37. package/esm2015/lib/components/tiles/tiles.component.js +75 -21
  38. package/esm2015/lib/components/timeout/timeout.component.js +65 -22
  39. package/esm2015/lib/components/tin-spa.component.js +19 -12
  40. package/esm2015/lib/components/users/users.component.js +308 -65
  41. package/esm2015/lib/components/viewer/viewer.component.js +64 -39
  42. package/esm2015/lib/components/viewer/viewerDialog.component.js +73 -18
  43. package/esm2015/lib/dnd.directive.js +30 -25
  44. package/esm2015/lib/modules/spa-admin.module.js +65 -51
  45. package/esm2015/lib/modules/spa-index.module.js +45 -20
  46. package/esm2015/lib/modules/spa-mat.module.js +40 -25
  47. package/esm2015/lib/modules/spa-user.module.js +43 -19
  48. package/esm2015/lib/services/auth.service.js +39 -50
  49. package/esm2015/lib/services/data.service.js +82 -49
  50. package/esm2015/lib/services/export.service.js +11 -11
  51. package/esm2015/lib/services/http.service.js +79 -0
  52. package/esm2015/lib/services/loader-interceptor.service.js +30 -30
  53. package/esm2015/lib/services/loader.service.js +11 -11
  54. package/esm2015/lib/services/log.service.js +12 -12
  55. package/esm2015/lib/services/message.service.js +11 -17
  56. package/esm2015/lib/services/storage.service.js +12 -11
  57. package/esm2015/lib/services/tin-spa.service.js +11 -11
  58. package/esm2015/lib/tin-spa.module.js +113 -48
  59. package/esm2015/public-api.js +4 -6
  60. package/esm2015/tin-spa.js +1 -5
  61. package/esm5/lib/classes/Classes.js +70 -55
  62. package/esm5/lib/classes/TinCore.js +164 -0
  63. package/esm5/lib/components/activity/activity.component.js +82 -15
  64. package/esm5/lib/components/attach/attach.component.js +100 -24
  65. package/esm5/lib/components/change-password/change-password.component.js +120 -31
  66. package/esm5/lib/components/check/check.component.js +37 -30
  67. package/esm5/lib/components/chips/chips.component.js +73 -32
  68. package/esm5/lib/components/create-account/create-account.component.js +122 -39
  69. package/esm5/lib/components/date/date.component.js +52 -30
  70. package/esm5/lib/components/datetime/datetime.component.js +41 -27
  71. package/esm5/lib/components/filter/filter.component.js +66 -0
  72. package/esm5/lib/components/html/html.component.js +28 -22
  73. package/esm5/lib/components/label/label.component.js +107 -18
  74. package/esm5/lib/components/loader/loader.component.js +41 -17
  75. package/esm5/lib/components/login/login.component.js +193 -74
  76. package/esm5/lib/components/logs/logs.component.js +178 -25
  77. package/esm5/lib/components/message/messageDialog.component.js +126 -14
  78. package/esm5/lib/components/money/currency-input-mask.directive.js +193 -0
  79. package/esm5/lib/components/money/currency-input-mask.module.js +34 -0
  80. package/esm5/lib/components/money/money.component.js +139 -36
  81. package/esm5/lib/components/nav-menu/nav-menu.component.js +172 -18
  82. package/esm5/lib/components/option/option.component.js +105 -37
  83. package/esm5/lib/components/profile/profile.component.js +141 -50
  84. package/esm5/lib/components/recover-account/recover-account.component.js +46 -23
  85. package/esm5/lib/components/roles/addRoleDialog.component.js +97 -23
  86. package/esm5/lib/components/roles/roles.component.js +152 -72
  87. package/esm5/lib/components/select/select.component.js +106 -45
  88. package/esm5/lib/components/settings/settings.component.js +74 -18
  89. package/esm5/lib/components/signup/signup.component.js +105 -21
  90. package/esm5/lib/components/steps/steps.component.js +46 -28
  91. package/esm5/lib/components/table/table.component.js +299 -32
  92. package/esm5/lib/components/text/text.component.js +144 -68
  93. package/esm5/lib/components/tiles/tiles.component.js +73 -18
  94. package/esm5/lib/components/timeout/timeout.component.js +63 -19
  95. package/esm5/lib/components/tin-spa.component.js +16 -8
  96. package/esm5/lib/components/users/users.component.js +307 -62
  97. package/esm5/lib/components/viewer/viewer.component.js +62 -36
  98. package/esm5/lib/components/viewer/viewerDialog.component.js +71 -15
  99. package/esm5/lib/dnd.directive.js +28 -22
  100. package/esm5/lib/modules/spa-admin.module.js +63 -48
  101. package/esm5/lib/modules/spa-index.module.js +43 -17
  102. package/esm5/lib/modules/spa-mat.module.js +38 -22
  103. package/esm5/lib/modules/spa-user.module.js +41 -16
  104. package/esm5/lib/services/auth.service.js +37 -47
  105. package/esm5/lib/services/data.service.js +89 -55
  106. package/esm5/lib/services/export.service.js +9 -8
  107. package/esm5/lib/services/http.service.js +81 -0
  108. package/esm5/lib/services/loader-interceptor.service.js +28 -27
  109. package/esm5/lib/services/loader.service.js +9 -8
  110. package/esm5/lib/services/log.service.js +11 -9
  111. package/esm5/lib/services/message.service.js +9 -14
  112. package/esm5/lib/services/storage.service.js +10 -8
  113. package/esm5/lib/services/tin-spa.service.js +9 -8
  114. package/esm5/lib/tin-spa.module.js +111 -45
  115. package/esm5/public-api.js +4 -6
  116. package/esm5/tin-spa.js +1 -5
  117. package/fesm2015/tin-spa.js +4418 -1612
  118. package/fesm2015/tin-spa.js.map +1 -1
  119. package/fesm5/tin-spa.js +4442 -1612
  120. package/fesm5/tin-spa.js.map +1 -1
  121. package/lib/classes/Classes.d.ts +55 -43
  122. package/lib/classes/TinCore.d.ts +27 -0
  123. package/lib/components/activity/activity.component.d.ts +3 -5
  124. package/lib/components/attach/attach.component.d.ts +3 -5
  125. package/lib/components/change-password/change-password.component.d.ts +11 -9
  126. package/lib/components/check/check.component.d.ts +3 -5
  127. package/lib/components/chips/chips.component.d.ts +3 -5
  128. package/lib/components/create-account/create-account.component.d.ts +13 -13
  129. package/lib/components/date/date.component.d.ts +6 -7
  130. package/lib/components/datetime/datetime.component.d.ts +3 -5
  131. package/lib/components/filter/filter.component.d.ts +15 -0
  132. package/lib/components/html/html.component.d.ts +3 -5
  133. package/lib/components/label/label.component.d.ts +3 -5
  134. package/lib/components/loader/loader.component.d.ts +3 -5
  135. package/lib/components/login/login.component.d.ts +12 -14
  136. package/lib/components/logs/logs.component.d.ts +5 -9
  137. package/lib/components/message/messageDialog.component.d.ts +3 -5
  138. package/lib/components/money/currency-input-mask.directive.d.ts +41 -0
  139. package/lib/components/money/currency-input-mask.module.d.ts +8 -0
  140. package/lib/components/money/money.component.d.ts +19 -8
  141. package/lib/components/nav-menu/nav-menu.component.d.ts +3 -5
  142. package/lib/components/option/option.component.d.ts +4 -5
  143. package/lib/components/profile/profile.component.d.ts +9 -11
  144. package/lib/components/recover-account/recover-account.component.d.ts +6 -8
  145. package/lib/components/roles/addRoleDialog.component.d.ts +5 -7
  146. package/lib/components/roles/roles.component.d.ts +6 -10
  147. package/lib/components/select/select.component.d.ts +4 -6
  148. package/lib/components/settings/settings.component.d.ts +5 -7
  149. package/lib/components/signup/signup.component.d.ts +6 -8
  150. package/lib/components/steps/steps.component.d.ts +3 -5
  151. package/lib/components/table/table.component.d.ts +3 -5
  152. package/lib/components/text/text.component.d.ts +4 -5
  153. package/lib/components/tiles/tiles.component.d.ts +3 -5
  154. package/lib/components/timeout/timeout.component.d.ts +3 -5
  155. package/lib/components/tin-spa.component.d.ts +3 -5
  156. package/lib/components/users/users.component.d.ts +8 -13
  157. package/lib/components/viewer/viewer.component.d.ts +3 -5
  158. package/lib/components/viewer/viewerDialog.component.d.ts +4 -6
  159. package/lib/dnd.directive.d.ts +3 -5
  160. package/lib/modules/spa-admin.module.d.ts +13 -19
  161. package/lib/modules/spa-index.module.d.ts +10 -11
  162. package/lib/modules/spa-mat.module.d.ts +30 -32
  163. package/lib/modules/spa-user.module.d.ts +9 -10
  164. package/lib/services/auth.service.d.ts +14 -14
  165. package/lib/services/data.service.d.ts +28 -17
  166. package/lib/services/export.service.d.ts +3 -4
  167. package/lib/services/http.service.d.ts +22 -0
  168. package/lib/services/loader-interceptor.service.d.ts +3 -5
  169. package/lib/services/loader.service.d.ts +3 -4
  170. package/lib/services/log.service.d.ts +3 -4
  171. package/lib/services/message.service.d.ts +3 -4
  172. package/lib/services/storage.service.d.ts +3 -4
  173. package/lib/services/tin-spa.service.d.ts +3 -4
  174. package/lib/tin-spa.module.d.ts +35 -35
  175. package/package.json +2 -10
  176. package/public-api.d.ts +3 -5
  177. package/tin-spa.d.ts +1 -6
  178. package/__ivy_ngcc__/fesm2015/tin-spa.js +0 -6813
  179. package/__ivy_ngcc__/fesm2015/tin-spa.js.map +0 -1
  180. package/esm2015/lib/components/profiles/profiles.component.js +0 -16
  181. package/esm2015/lib/components/roles/editRoleDialog.component.js +0 -57
  182. package/esm2015/lib/components/roles/viewRoleDialog.component.js +0 -38
  183. package/esm2015/lib/components/users/addUserDialog.component.js +0 -53
  184. package/esm2015/lib/components/users/editUserDialog.component.js +0 -96
  185. package/esm5/lib/components/profiles/profiles.component.js +0 -18
  186. package/esm5/lib/components/roles/editRoleDialog.component.js +0 -59
  187. package/esm5/lib/components/roles/viewRoleDialog.component.js +0 -39
  188. package/esm5/lib/components/users/addUserDialog.component.js +0 -55
  189. package/esm5/lib/components/users/editUserDialog.component.js +0 -99
  190. package/lib/components/activity/activity.component.d.ts.__ivy_ngcc_bak +0 -8
  191. package/lib/components/attach/attach.component.d.ts.__ivy_ngcc_bak +0 -39
  192. package/lib/components/change-password/change-password.component.d.ts.__ivy_ngcc_bak +0 -20
  193. package/lib/components/check/check.component.d.ts.__ivy_ngcc_bak +0 -16
  194. package/lib/components/chips/chips.component.d.ts.__ivy_ngcc_bak +0 -15
  195. package/lib/components/create-account/create-account.component.d.ts.__ivy_ngcc_bak +0 -25
  196. package/lib/components/date/date.component.d.ts.__ivy_ngcc_bak +0 -13
  197. package/lib/components/datetime/datetime.component.d.ts.__ivy_ngcc_bak +0 -12
  198. package/lib/components/html/html.component.d.ts.__ivy_ngcc_bak +0 -12
  199. package/lib/components/label/label.component.d.ts.__ivy_ngcc_bak +0 -8
  200. package/lib/components/loader/loader.component.d.ts.__ivy_ngcc_bak +0 -9
  201. package/lib/components/login/login.component.d.ts.__ivy_ngcc_bak +0 -29
  202. package/lib/components/logs/logs.component.d.ts.__ivy_ngcc_bak +0 -17
  203. package/lib/components/message/messageDialog.component.d.ts.__ivy_ngcc_bak +0 -12
  204. package/lib/components/money/money.component.d.ts.__ivy_ngcc_bak +0 -14
  205. package/lib/components/nav-menu/nav-menu.component.d.ts.__ivy_ngcc_bak +0 -17
  206. package/lib/components/option/option.component.d.ts.__ivy_ngcc_bak +0 -17
  207. package/lib/components/profile/profile.component.d.ts.__ivy_ngcc_bak +0 -30
  208. package/lib/components/profiles/profiles.component.d.ts +0 -10
  209. package/lib/components/profiles/profiles.component.d.ts.__ivy_ngcc_bak +0 -5
  210. package/lib/components/recover-account/recover-account.component.d.ts.__ivy_ngcc_bak +0 -15
  211. package/lib/components/roles/addRoleDialog.component.d.ts.__ivy_ngcc_bak +0 -19
  212. package/lib/components/roles/editRoleDialog.component.d.ts +0 -24
  213. package/lib/components/roles/editRoleDialog.component.d.ts.__ivy_ngcc_bak +0 -19
  214. package/lib/components/roles/roles.component.d.ts.__ivy_ngcc_bak +0 -29
  215. package/lib/components/roles/viewRoleDialog.component.d.ts +0 -20
  216. package/lib/components/roles/viewRoleDialog.component.d.ts.__ivy_ngcc_bak +0 -15
  217. package/lib/components/select/select.component.d.ts.__ivy_ngcc_bak +0 -20
  218. package/lib/components/settings/settings.component.d.ts.__ivy_ngcc_bak +0 -16
  219. package/lib/components/signup/signup.component.d.ts.__ivy_ngcc_bak +0 -20
  220. package/lib/components/steps/steps.component.d.ts.__ivy_ngcc_bak +0 -15
  221. package/lib/components/table/table.component.d.ts.__ivy_ngcc_bak +0 -25
  222. package/lib/components/text/text.component.d.ts.__ivy_ngcc_bak +0 -37
  223. package/lib/components/tiles/tiles.component.d.ts.__ivy_ngcc_bak +0 -11
  224. package/lib/components/timeout/timeout.component.d.ts.__ivy_ngcc_bak +0 -21
  225. package/lib/components/tin-spa.component.d.ts.__ivy_ngcc_bak +0 -5
  226. package/lib/components/users/addUserDialog.component.d.ts +0 -21
  227. package/lib/components/users/addUserDialog.component.d.ts.__ivy_ngcc_bak +0 -16
  228. package/lib/components/users/editUserDialog.component.d.ts +0 -32
  229. package/lib/components/users/editUserDialog.component.d.ts.__ivy_ngcc_bak +0 -27
  230. package/lib/components/users/users.component.d.ts.__ivy_ngcc_bak +0 -35
  231. package/lib/components/viewer/viewer.component.d.ts.__ivy_ngcc_bak +0 -16
  232. package/lib/components/viewer/viewerDialog.component.d.ts.__ivy_ngcc_bak +0 -19
  233. package/lib/dnd.directive.d.ts.__ivy_ngcc_bak +0 -8
  234. package/lib/modules/spa-admin.module.d.ts.__ivy_ngcc_bak +0 -2
  235. package/lib/modules/spa-index.module.d.ts.__ivy_ngcc_bak +0 -2
  236. package/lib/modules/spa-mat.module.d.ts.__ivy_ngcc_bak +0 -2
  237. package/lib/modules/spa-user.module.d.ts.__ivy_ngcc_bak +0 -2
  238. package/lib/services/auth.service.d.ts.__ivy_ngcc_bak +0 -45
  239. package/lib/services/data.service.d.ts.__ivy_ngcc_bak +0 -23
  240. package/lib/services/export.service.d.ts.__ivy_ngcc_bak +0 -7
  241. package/lib/services/loader-interceptor.service.d.ts.__ivy_ngcc_bak +0 -18
  242. package/lib/services/loader.service.d.ts.__ivy_ngcc_bak +0 -5
  243. package/lib/services/log.service.d.ts.__ivy_ngcc_bak +0 -16
  244. package/lib/services/message.service.d.ts.__ivy_ngcc_bak +0 -12
  245. package/lib/services/storage.service.d.ts.__ivy_ngcc_bak +0 -7
  246. package/lib/services/tin-spa.service.d.ts.__ivy_ngcc_bak +0 -3
  247. package/lib/tin-spa.module.d.ts.__ivy_ngcc_bak +0 -2
  248. package/tin-spa.d.ts.__ivy_ngcc_bak +0 -8
  249. package/tin-spa.metadata.json +0 -1
@@ -1,11 +1,55 @@
1
- import { __decorate, __param } from "tslib";
2
- import { MessageService } from '../../services/message.service';
3
- import { AuthService } from '../../services/auth.service';
4
1
  import { Component, Inject } from '@angular/core';
5
- import { MatDialog, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
6
- import { DataService } from '../../services/data.service';
2
+ import { MAT_DIALOG_DATA } from '@angular/material/dialog';
3
+ // import { AuthService } from '../../services/auth.service';
4
+ // import { ApiResponse, Core } from 'tin-core';
7
5
  import { Role } from '../../classes/Classes';
8
- let addRoleDialog = class addRoleDialog {
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../services/message.service";
8
+ import * as i2 from "../../services/data.service";
9
+ import * as i3 from "../../services/auth.service";
10
+ import * as i4 from "@angular/material/dialog";
11
+ import * as i5 from "@angular/material/form-field";
12
+ import * as i6 from "@angular/material/input";
13
+ import * as i7 from "@angular/forms";
14
+ import * as i8 from "@angular/common";
15
+ import * as i9 from "@angular/material/button";
16
+ import * as i10 from "@angular/material/checkbox";
17
+ function addRoleDialog_div_7_div_3_Template(rf, ctx) { if (rf & 1) {
18
+ const _r5 = i0.ɵɵgetCurrentView();
19
+ i0.ɵɵelementStart(0, "div");
20
+ i0.ɵɵelementStart(1, "mat-checkbox", 8);
21
+ i0.ɵɵlistener("ngModelChange", function addRoleDialog_div_7_div_3_Template_mat_checkbox_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r5); const capSubItem_r3 = ctx.$implicit; const ctx_r4 = i0.ɵɵnextContext(2); return (ctx_r4.role[capSubItem_r3.name] = $event); });
22
+ i0.ɵɵtext(2);
23
+ i0.ɵɵelementEnd();
24
+ i0.ɵɵelementEnd();
25
+ } if (rf & 2) {
26
+ const capSubItem_r3 = ctx.$implicit;
27
+ const ctx_r2 = i0.ɵɵnextContext(2);
28
+ i0.ɵɵadvance(1);
29
+ i0.ɵɵproperty("ngModel", ctx_r2.role[capSubItem_r3.name]);
30
+ i0.ɵɵadvance(1);
31
+ i0.ɵɵtextInterpolate(capSubItem_r3.display);
32
+ } }
33
+ function addRoleDialog_div_7_Template(rf, ctx) { if (rf & 1) {
34
+ const _r7 = i0.ɵɵgetCurrentView();
35
+ i0.ɵɵelementStart(0, "div", 7);
36
+ i0.ɵɵelementStart(1, "mat-checkbox", 8);
37
+ i0.ɵɵlistener("ngModelChange", function addRoleDialog_div_7_Template_mat_checkbox_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r7); const capItem_r1 = ctx.$implicit; const ctx_r6 = i0.ɵɵnextContext(); return (ctx_r6.role[capItem_r1.name] = $event); });
38
+ i0.ɵɵtext(2);
39
+ i0.ɵɵelementEnd();
40
+ i0.ɵɵtemplate(3, addRoleDialog_div_7_div_3_Template, 3, 2, "div", 9);
41
+ i0.ɵɵelementEnd();
42
+ } if (rf & 2) {
43
+ const capItem_r1 = ctx.$implicit;
44
+ const ctx_r0 = i0.ɵɵnextContext();
45
+ i0.ɵɵadvance(1);
46
+ i0.ɵɵproperty("ngModel", ctx_r0.role[capItem_r1.name]);
47
+ i0.ɵɵadvance(1);
48
+ i0.ɵɵtextInterpolate(capItem_r1.display);
49
+ i0.ɵɵadvance(1);
50
+ i0.ɵɵproperty("ngForOf", capItem_r1.capSubItems);
51
+ } }
52
+ export class addRoleDialog {
9
53
  constructor(messageService, dataService, authService, dialogRef, data) {
10
54
  this.messageService = messageService;
11
55
  this.dataService = dataService;
@@ -23,9 +67,9 @@ let addRoleDialog = class addRoleDialog {
23
67
  return;
24
68
  }
25
69
  this.isProcessing = true;
26
- this.dataService.UpdateRole(this.role, "add").subscribe((apiResponse) => {
70
+ this.dataService.PostRole(this.role, "add").subscribe((apiResponse) => {
27
71
  this.isProcessing = false;
28
- if (apiResponse.message == "success") {
72
+ if (apiResponse.success) {
29
73
  this.messageService.toast("Role Added");
30
74
  this.dialogRef.close("success");
31
75
  }
@@ -38,22 +82,51 @@ let addRoleDialog = class addRoleDialog {
38
82
  });
39
83
  }
40
84
  ;
41
- };
42
- addRoleDialog.ctorParameters = () => [
43
- { type: MessageService },
44
- { type: DataService },
45
- { type: AuthService },
46
- { type: MatDialogRef },
47
- { type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
48
- ];
49
- addRoleDialog = __decorate([
50
- Component({
51
- selector: 'app-addRole',
52
- 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 <!-- <div class=\" col-4\">\r\n\r\n <div class=\"row\">\r\n <mat-checkbox color=\"primary\" style=\"margin-right:20px; font-size:14px\" [(ngModel)]=\"role.cap1\">Admin</mat-checkbox>\r\n </div>\r\n\r\n </div> -->\r\n\r\n <div class=\"row\" style=\"margin-left: 2em;margin-right: 2em;\">\r\n\r\n <div class=\"row\" style=\"margin-left: 2em;\" *ngFor=\"let capItem of capItems\">\r\n\r\n <mat-checkbox color=\"primary\" style=\"margin-right:20px; font-size:12px; width: 200px;\" [(ngModel)]=\"role[capItem.name]\">{{capItem.display}}</mat-checkbox>\r\n\r\n <div *ngFor=\"let capSubItem of capItem.capSubItems\">\r\n\r\n <mat-checkbox color=\"primary\" style=\"margin-right:20px; font-size:12px; width: 200px;\" [(ngModel)]=\"role[capSubItem.name]\">{{capSubItem.display}}</mat-checkbox>\r\n\r\n </div>\r\n\r\n\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions>\r\n <button mat-button [disabled]=\"isProcessing\" (click)=\"submit()\" cdkFocusInitial>Submit</button>\r\n <button mat-button mat-dialog-close=\"success\">Cancel</button>\r\n</mat-dialog-actions>\r\n",
53
- 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}"]
54
- }),
55
- __param(4, Inject(MAT_DIALOG_DATA))
56
- ], addRoleDialog);
57
- export { addRoleDialog };
85
+ }
86
+ addRoleDialog.ɵfac = function addRoleDialog_Factory(t) { return new (t || addRoleDialog)(i0.ɵɵdirectiveInject(i1.MessageService), i0.ɵɵdirectiveInject(i2.DataServiceLib), i0.ɵɵdirectiveInject(i3.AuthService), i0.ɵɵdirectiveInject(i4.MatDialogRef), i0.ɵɵdirectiveInject(MAT_DIALOG_DATA)); };
87
+ addRoleDialog.ɵcmp = i0.ɵɵdefineComponent({ type: addRoleDialog, selectors: [["app-addRole"]], decls: 13, vars: 3, consts: [["matInput", "", "autocomplete", "off", "placeholder", "Enter Role Name", 3, "ngModel", "ngModelChange"], [1, "mat-typography"], [1, "row"], [1, "row", 2, "margin-left", "2em", "margin-right", "2em"], ["class", "row", "style", "margin-left: 2em;", 4, "ngFor", "ngForOf"], ["mat-button", "", "cdkFocusInitial", "", 3, "disabled", "click"], ["mat-button", "", "mat-dialog-close", "success"], [1, "row", 2, "margin-left", "2em"], ["color", "primary", 2, "margin-right", "20px", "font-size", "12px", "width", "200px", 3, "ngModel", "ngModelChange"], [4, "ngFor", "ngForOf"]], template: function addRoleDialog_Template(rf, ctx) { if (rf & 1) {
88
+ i0.ɵɵelementStart(0, "mat-form-field");
89
+ i0.ɵɵelementStart(1, "mat-label");
90
+ i0.ɵɵtext(2, "Role Name");
91
+ i0.ɵɵelementEnd();
92
+ i0.ɵɵelementStart(3, "input", 0);
93
+ i0.ɵɵlistener("ngModelChange", function addRoleDialog_Template_input_ngModelChange_3_listener($event) { return ctx.role.roleName = $event; });
94
+ i0.ɵɵelementEnd();
95
+ i0.ɵɵelementEnd();
96
+ i0.ɵɵelementStart(4, "mat-dialog-content", 1);
97
+ i0.ɵɵelementStart(5, "div", 2);
98
+ i0.ɵɵelementStart(6, "div", 3);
99
+ i0.ɵɵtemplate(7, addRoleDialog_div_7_Template, 4, 3, "div", 4);
100
+ i0.ɵɵelementEnd();
101
+ i0.ɵɵelementEnd();
102
+ i0.ɵɵelementEnd();
103
+ i0.ɵɵelementStart(8, "mat-dialog-actions");
104
+ i0.ɵɵelementStart(9, "button", 5);
105
+ i0.ɵɵlistener("click", function addRoleDialog_Template_button_click_9_listener() { return ctx.submit(); });
106
+ i0.ɵɵtext(10, "Submit");
107
+ i0.ɵɵelementEnd();
108
+ i0.ɵɵelementStart(11, "button", 6);
109
+ i0.ɵɵtext(12, "Cancel");
110
+ i0.ɵɵelementEnd();
111
+ i0.ɵɵelementEnd();
112
+ } if (rf & 2) {
113
+ i0.ɵɵadvance(3);
114
+ i0.ɵɵproperty("ngModel", ctx.role.roleName);
115
+ i0.ɵɵadvance(4);
116
+ i0.ɵɵproperty("ngForOf", ctx.capItems);
117
+ i0.ɵɵadvance(2);
118
+ i0.ɵɵproperty("disabled", ctx.isProcessing);
119
+ } }, directives: [i5.MatFormField, i5.MatLabel, i6.MatInput, i7.DefaultValueAccessor, i7.NgControlStatus, i7.NgModel, i4.MatDialogContent, i8.NgForOf, i4.MatDialogActions, i9.MatButton, i4.MatDialogClose, i10.MatCheckbox], styles: [".mat-mini-fab[_ngcontent-%COMP%]{width:32px;height:32px}.mat-mini-fab[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;margin-top:-3px}.refreshIcon[_ngcontent-%COMP%]{font-size:22px!important;margin-top:-7px!important}"] });
120
+ /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(addRoleDialog, [{
121
+ type: Component,
122
+ args: [{
123
+ selector: 'app-addRole',
124
+ templateUrl: './addRoleDialog.component.html',
125
+ styleUrls: ['./roles.component.css']
126
+ }]
127
+ }], function () { return [{ type: i1.MessageService }, { type: i2.DataServiceLib }, { type: i3.AuthService }, { type: i4.MatDialogRef }, { type: undefined, decorators: [{
128
+ type: Inject,
129
+ args: [MAT_DIALOG_DATA]
130
+ }] }]; }, null); })();
58
131
  ;
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkUm9sZURpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aW4tc3BhLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcm9sZXMvYWRkUm9sZURpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUcsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFcEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRzFELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQU83QyxJQUFhLGFBQWEsR0FBMUIsTUFBYSxhQUFhO0lBRXhCLFlBQW9CLGNBQThCLEVBQVUsV0FBd0IsRUFBVSxXQUF3QixFQUFVLFNBQXNDLEVBQWtDLElBQUk7UUFBeEwsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQTZCO1FBQWtDLFNBQUksR0FBSixJQUFJLENBQUE7UUFRNU0sU0FBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7SUFSOEwsQ0FBQztJQUNqTixRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQzVCLENBQUM7SUFPRCxNQUFNO1FBRUosSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxVQUFVLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxFQUFDO1lBQy9ELElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7WUFDcEQsT0FBTztTQUNSO1FBR0QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUF3QixFQUFFLEVBQUU7WUFDbkYsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFFMUIsSUFBSSxXQUFXLENBQUMsT0FBTyxJQUFJLFNBQVMsRUFBRTtnQkFDcEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ2pDO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDNUQ7UUFHSCxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDVCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQy9DLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBRUwsQ0FBQztJQUFBLENBQUM7Q0FDSCxDQUFBOztZQXBDcUMsY0FBYztZQUF1QixXQUFXO1lBQXVCLFdBQVc7WUFBcUIsWUFBWTs0Q0FBa0IsTUFBTSxTQUFDLGVBQWU7O0FBRnBMLGFBQWE7SUFMekIsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLGFBQWE7UUFDdkIsNjdDQUE2Qzs7S0FFOUMsQ0FBQztJQUd5SyxXQUFBLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQTtHQUZyTCxhQUFhLENBc0N6QjtTQXRDWSxhQUFhO0FBc0N6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyAgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZywgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YS5zZXJ2aWNlJztcclxuLy8gaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcGlSZXNwb25zZSwgQ29yZSB9IGZyb20gJ3Rpbi1jb3JlJztcclxuaW1wb3J0IHsgUm9sZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvQ2xhc3Nlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1hZGRSb2xlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWRkUm9sZURpYWxvZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcm9sZXMuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBhZGRSb2xlRGlhbG9nIGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLCBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSwgcHJpdmF0ZSBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxhZGRSb2xlRGlhbG9nPiwgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhKSB7IH1cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuY2FwSXRlbXMgPSB0aGlzLmRhdGE7XHJcbiAgfVxyXG5cclxuICBjYXBJdGVtcztcclxuXHJcbiAgaXNQcm9jZXNzaW5nOiBib29sZWFuO1xyXG4gIHJvbGUgPSBuZXcgUm9sZSgpO1xyXG5cclxuICBzdWJtaXQoKSB7XHJcblxyXG4gICAgaWYgKHRoaXMucm9sZS5yb2xlTmFtZSA9PSBcIk5ldyBSb2xlXCIgfHwgdGhpcy5yb2xlLnJvbGVOYW1lID09IFwiXCIpe1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiUGxlYXNlIGVudGVyIFJvbGUgTmFtZVwiKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICB0aGlzLmlzUHJvY2Vzc2luZyA9IHRydWU7XHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLlVwZGF0ZVJvbGUodGhpcy5yb2xlLCBcImFkZFwiKS5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlOiBBcGlSZXNwb25zZSkgPT4ge1xyXG4gICAgICB0aGlzLmlzUHJvY2Vzc2luZyA9IGZhbHNlO1xyXG5cclxuICAgICAgaWYgKGFwaVJlc3BvbnNlLm1lc3NhZ2UgPT0gXCJzdWNjZXNzXCIpIHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiUm9sZSBBZGRlZFwiKTtcclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShcInN1Y2Nlc3NcIik7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIkVycm9yOiBcIiArIGFwaVJlc3BvbnNlLm1lc3NhZ2UpO1xyXG4gICAgICB9XHJcblxyXG5cclxuICAgIH0sIGVycm9yID0+IHtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIkNvbm5lY3Rpb24gZmFpbGVkXCIpO1xyXG4gICAgICB0aGlzLmlzUHJvY2Vzc2luZyA9IGZhbHNlO1xyXG4gICAgfSk7XHJcblxyXG4gIH07XHJcbn07XHJcblxyXG5cclxuXHJcbiJdfQ==
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkUm9sZURpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aW4tc3BhLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcm9sZXMvYWRkUm9sZURpYWxvZy5jb21wb25lbnQudHMiLCJsaWIvY29tcG9uZW50cy9yb2xlcy9hZGRSb2xlRGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBYSxlQUFlLEVBQWdCLE1BQU0sMEJBQTBCLENBQUM7QUFHcEYsNkRBQTZEO0FBQzdELGdEQUFnRDtBQUNoRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7Ozs7O0lDZXJDLDJCQUVFO0lBQUEsdUNBQTJIO0lBQXBDLGdSQUFtQztJQUFDLFlBQXNCO0lBQUEsaUJBQWU7SUFFbEssaUJBQU07Ozs7SUFGbUYsZUFBbUM7SUFBbkMseURBQW1DO0lBQUMsZUFBc0I7SUFBdEIsMkNBQXNCOzs7O0lBTnJKLDhCQUVFO0lBQUEsdUNBQXdIO0lBQWpDLG1RQUFnQztJQUFDLFlBQW1CO0lBQUEsaUJBQWU7SUFFMUosb0VBRUU7SUFNSixpQkFBTTs7OztJQVZtRixlQUFnQztJQUFoQyxzREFBZ0M7SUFBQyxlQUFtQjtJQUFuQix3Q0FBbUI7SUFFdEksZUFBOEM7SUFBOUMsZ0RBQThDOztBRFAzRCxNQUFNLE9BQU8sYUFBYTtJQUV4QixZQUFvQixjQUE4QixFQUFVLFdBQTJCLEVBQVUsV0FBd0IsRUFBVSxTQUFzQyxFQUFrQyxJQUFJO1FBQTNMLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBNkI7UUFBa0MsU0FBSSxHQUFKLElBQUksQ0FBQTtRQVEvTSxTQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQVJpTSxDQUFDO0lBQ3BOLFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQU9ELE1BQU07UUFFSixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLFVBQVUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLEVBQUM7WUFDL0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztZQUNwRCxPQUFPO1NBQ1I7UUFHRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ25FLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1lBRTFCLElBQUksV0FBVyxDQUFDLE9BQU8sRUFBRTtnQkFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ2pDO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDNUQ7UUFHSCxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDVCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQy9DLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBRUwsQ0FBQztJQUFBLENBQUM7OzBFQXJDUyxhQUFhLHNMQUUySixlQUFlO2tEQUZ2TCxhQUFhO1FDaEIxQixzQ0FDRTtRQUFBLGlDQUFXO1FBQUEseUJBQVM7UUFBQSxpQkFBWTtRQUNoQyxnQ0FDRjtRQURxQyw2SUFBMkI7UUFBOUQsaUJBQ0Y7UUFBQSxpQkFBaUI7UUFFakIsNkNBRUU7UUFBQSw4QkFFRTtRQVFBLDhCQUVFO1FBQUEsOERBRUU7UUFZSixpQkFBTTtRQUVSLGlCQUFNO1FBRVIsaUJBQXFCO1FBRXJCLDBDQUNFO1FBQUEsaUNBQWdGO1FBQW5DLDBGQUFTLFlBQVEsSUFBQztRQUFpQix1QkFBTTtRQUFBLGlCQUFTO1FBQy9GLGtDQUE4QztRQUFBLHVCQUFNO1FBQUEsaUJBQVM7UUFDL0QsaUJBQXFCOztRQXhDZ0IsZUFBMkI7UUFBM0IsMkNBQTJCO1FBaUJmLGVBQWdDO1FBQWhDLHNDQUFnQztRQXFCNUQsZUFBeUI7UUFBekIsMkNBQXlCOztrRER4QmpDLGFBQWE7Y0FMekIsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxhQUFhO2dCQUN2QixXQUFXLEVBQUUsZ0NBQWdDO2dCQUM3QyxTQUFTLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQzthQUNyQzs7c0JBRzZLLE1BQU07dUJBQUMsZUFBZTs7QUFvQ25NLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7ICBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2VMaWIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kYXRhLnNlcnZpY2UnO1xyXG4vLyBpbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XHJcbi8vIGltcG9ydCB7IEFwaVJlc3BvbnNlLCBDb3JlIH0gZnJvbSAndGluLWNvcmUnO1xyXG5pbXBvcnQgeyBSb2xlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9DbGFzc2VzJztcclxuaW1wb3J0IHsgQXBpUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9jbGFzc2VzL1RpbkNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtYWRkUm9sZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZFJvbGVEaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3JvbGVzLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgYWRkUm9sZURpYWxvZyBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLCBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZUxpYiwgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsIHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8YWRkUm9sZURpYWxvZz4sIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YSkgeyB9XHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmNhcEl0ZW1zID0gdGhpcy5kYXRhO1xyXG4gIH1cclxuXHJcbiAgY2FwSXRlbXM7XHJcblxyXG4gIGlzUHJvY2Vzc2luZzogYm9vbGVhbjtcclxuICByb2xlID0gbmV3IFJvbGUoKTtcclxuXHJcbiAgc3VibWl0KCkge1xyXG5cclxuICAgIGlmICh0aGlzLnJvbGUucm9sZU5hbWUgPT0gXCJOZXcgUm9sZVwiIHx8IHRoaXMucm9sZS5yb2xlTmFtZSA9PSBcIlwiKXtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIlBsZWFzZSBlbnRlciBSb2xlIE5hbWVcIik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcblxyXG4gICAgdGhpcy5pc1Byb2Nlc3NpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5kYXRhU2VydmljZS5Qb3N0Um9sZSh0aGlzLnJvbGUsXCJhZGRcIikuc3Vic2NyaWJlKChhcGlSZXNwb25zZSkgPT4ge1xyXG4gICAgICB0aGlzLmlzUHJvY2Vzc2luZyA9IGZhbHNlO1xyXG5cclxuICAgICAgaWYgKGFwaVJlc3BvbnNlLnN1Y2Nlc3MpIHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiUm9sZSBBZGRlZFwiKTtcclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShcInN1Y2Nlc3NcIik7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIkVycm9yOiBcIiArIGFwaVJlc3BvbnNlLm1lc3NhZ2UpO1xyXG4gICAgICB9XHJcblxyXG5cclxuICAgIH0sIGVycm9yID0+IHtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIkNvbm5lY3Rpb24gZmFpbGVkXCIpO1xyXG4gICAgICB0aGlzLmlzUHJvY2Vzc2luZyA9IGZhbHNlO1xyXG4gICAgfSk7XHJcblxyXG4gIH07XHJcbn07XHJcblxyXG5cclxuXHJcbiIsIjxtYXQtZm9ybS1maWVsZD5cclxuICA8bWF0LWxhYmVsPlJvbGUgTmFtZTwvbWF0LWxhYmVsPlxyXG4gIDxpbnB1dCBtYXRJbnB1dCBhdXRvY29tcGxldGU9XCJvZmZcIiBbKG5nTW9kZWwpXT1cInJvbGUucm9sZU5hbWVcIiBwbGFjZWhvbGRlcj1cIkVudGVyIFJvbGUgTmFtZVwiIC8+XHJcbjwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG48bWF0LWRpYWxvZy1jb250ZW50IGNsYXNzPVwibWF0LXR5cG9ncmFwaHlcIj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cInJvd1wiID5cclxuXHJcbiAgICA8IS0tIDxkaXYgY2xhc3M9XCIgIGNvbC00XCI+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPG1hdC1jaGVja2JveCBjb2xvcj1cInByaW1hcnlcIiBzdHlsZT1cIm1hcmdpbi1yaWdodDoyMHB4OyBmb250LXNpemU6MTRweFwiIFsobmdNb2RlbCldPVwicm9sZS5jYXAxXCI+QWRtaW48L21hdC1jaGVja2JveD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9kaXY+IC0tPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAyZW07bWFyZ2luLXJpZ2h0OiAyZW07XCI+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogMmVtO1wiICpuZ0Zvcj1cImxldCBjYXBJdGVtIG9mIGNhcEl0ZW1zXCI+XHJcblxyXG4gICAgICAgIDxtYXQtY2hlY2tib3ggY29sb3I9XCJwcmltYXJ5XCIgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6MjBweDsgZm9udC1zaXplOjEycHg7IHdpZHRoOiAyMDBweDtcIiBbKG5nTW9kZWwpXT1cInJvbGVbY2FwSXRlbS5uYW1lXVwiPnt7Y2FwSXRlbS5kaXNwbGF5fX08L21hdC1jaGVja2JveD5cclxuXHJcbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgY2FwU3ViSXRlbSBvZiBjYXBJdGVtLmNhcFN1Ykl0ZW1zXCI+XHJcblxyXG4gICAgICAgICAgPG1hdC1jaGVja2JveCBjb2xvcj1cInByaW1hcnlcIiBzdHlsZT1cIm1hcmdpbi1yaWdodDoyMHB4OyBmb250LXNpemU6MTJweDsgd2lkdGg6IDIwMHB4O1wiIFsobmdNb2RlbCldPVwicm9sZVtjYXBTdWJJdGVtLm5hbWVdXCI+e3tjYXBTdWJJdGVtLmRpc3BsYXl9fTwvbWF0LWNoZWNrYm94PlxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9kaXY+XHJcblxyXG4gIDwvZGl2PlxyXG5cclxuPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XHJcblxyXG48bWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gIDxidXR0b24gbWF0LWJ1dHRvbiBbZGlzYWJsZWRdPVwiaXNQcm9jZXNzaW5nXCIgKGNsaWNrKT1cInN1Ym1pdCgpXCIgY2RrRm9jdXNJbml0aWFsPlN1Ym1pdDwvYnV0dG9uPlxyXG4gIDxidXR0b24gbWF0LWJ1dHRvbiBtYXQtZGlhbG9nLWNsb3NlPVwic3VjY2Vzc1wiPkNhbmNlbDwvYnV0dG9uPlxyXG48L21hdC1kaWFsb2ctYWN0aW9ucz5cclxuIl19
@@ -1,17 +1,110 @@
1
- import { __decorate } from "tslib";
2
1
  import { AppConfig } from './../../classes/Classes';
3
- import { Component, Input } from "@angular/core";
4
- import { MatDialog } from "@angular/material/dialog";
5
- import { DataService } from "../../services/data.service";
6
- // import { AuthService } from "../../services/auth.service";
7
- import { ApiResponse, Core, HttpService } from "tin-core";
8
- import { viewRoleDialog } from "./viewRoleDialog.component";
2
+ import { Component } from "@angular/core";
9
3
  import { addRoleDialog } from "./addRoleDialog.component";
10
- import { editRoleDialog } from "./editRoleDialog.component";
11
- import { Router } from "@angular/router";
12
- import { MessageService } from '../../services/message.service';
13
- import { AuthService } from '../../services/auth.service';
14
- let RolesComponent = class RolesComponent {
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../services/http.service";
6
+ import * as i2 from "@angular/router";
7
+ import * as i3 from "../../services/auth.service";
8
+ import * as i4 from "../../services/data.service";
9
+ import * as i5 from "@angular/material/dialog";
10
+ import * as i6 from "../../services/message.service";
11
+ import * as i7 from "@angular/material/button";
12
+ import * as i8 from "@angular/material/tooltip";
13
+ import * as i9 from "@angular/material/icon";
14
+ import * as i10 from "@angular/common";
15
+ import * as i11 from "@angular/material/card";
16
+ import * as i12 from "@angular/material/checkbox";
17
+ import * as i13 from "@angular/forms";
18
+ function RolesComponent_div_12_div_6_div_3_div_3_Template(rf, ctx) { if (rf & 1) {
19
+ const _r10 = i0.ɵɵgetCurrentView();
20
+ i0.ɵɵelementStart(0, "div", 17);
21
+ i0.ɵɵelementStart(1, "mat-checkbox", 15);
22
+ i0.ɵɵlistener("ngModelChange", function RolesComponent_div_12_div_6_div_3_div_3_Template_mat_checkbox_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r10); const capSubSubItem_r7 = ctx.$implicit; const role_r1 = i0.ɵɵnextContext(3).$implicit; return (role_r1[capSubSubItem_r7.name] = $event); });
23
+ i0.ɵɵtext(2);
24
+ i0.ɵɵelementEnd();
25
+ i0.ɵɵelementEnd();
26
+ } if (rf & 2) {
27
+ const capSubSubItem_r7 = ctx.$implicit;
28
+ const role_r1 = i0.ɵɵnextContext(3).$implicit;
29
+ i0.ɵɵadvance(1);
30
+ i0.ɵɵproperty("ngModel", role_r1[capSubSubItem_r7.name]);
31
+ i0.ɵɵadvance(1);
32
+ i0.ɵɵtextInterpolate(capSubSubItem_r7.display);
33
+ } }
34
+ function RolesComponent_div_12_div_6_div_3_Template(rf, ctx) { if (rf & 1) {
35
+ const _r14 = i0.ɵɵgetCurrentView();
36
+ i0.ɵɵelementStart(0, "div", 17);
37
+ i0.ɵɵelementStart(1, "mat-checkbox", 15);
38
+ i0.ɵɵlistener("ngModelChange", function RolesComponent_div_12_div_6_div_3_Template_mat_checkbox_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r14); const capSubItem_r5 = ctx.$implicit; const role_r1 = i0.ɵɵnextContext(2).$implicit; return (role_r1[capSubItem_r5.name] = $event); });
39
+ i0.ɵɵtext(2);
40
+ i0.ɵɵelementEnd();
41
+ i0.ɵɵtemplate(3, RolesComponent_div_12_div_6_div_3_div_3_Template, 3, 2, "div", 18);
42
+ i0.ɵɵelementEnd();
43
+ } if (rf & 2) {
44
+ const capSubItem_r5 = ctx.$implicit;
45
+ const role_r1 = i0.ɵɵnextContext(2).$implicit;
46
+ i0.ɵɵadvance(1);
47
+ i0.ɵɵproperty("ngModel", role_r1[capSubItem_r5.name]);
48
+ i0.ɵɵadvance(1);
49
+ i0.ɵɵtextInterpolate(capSubItem_r5.display);
50
+ i0.ɵɵadvance(1);
51
+ i0.ɵɵproperty("ngForOf", capSubItem_r5.capSubItems);
52
+ } }
53
+ function RolesComponent_div_12_div_6_Template(rf, ctx) { if (rf & 1) {
54
+ const _r18 = i0.ɵɵgetCurrentView();
55
+ i0.ɵɵelementStart(0, "div", 14);
56
+ i0.ɵɵelementStart(1, "mat-checkbox", 15);
57
+ i0.ɵɵlistener("ngModelChange", function RolesComponent_div_12_div_6_Template_mat_checkbox_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r18); const capItem_r3 = ctx.$implicit; const role_r1 = i0.ɵɵnextContext().$implicit; return (role_r1[capItem_r3.name] = $event); });
58
+ i0.ɵɵtext(2);
59
+ i0.ɵɵelementEnd();
60
+ i0.ɵɵtemplate(3, RolesComponent_div_12_div_6_div_3_Template, 4, 3, "div", 16);
61
+ i0.ɵɵelementEnd();
62
+ } if (rf & 2) {
63
+ const capItem_r3 = ctx.$implicit;
64
+ const role_r1 = i0.ɵɵnextContext().$implicit;
65
+ i0.ɵɵadvance(1);
66
+ i0.ɵɵproperty("ngModel", role_r1[capItem_r3.name]);
67
+ i0.ɵɵadvance(1);
68
+ i0.ɵɵtextInterpolate(capItem_r3.display);
69
+ i0.ɵɵadvance(1);
70
+ i0.ɵɵproperty("ngForOf", capItem_r3.capSubItems);
71
+ } }
72
+ function RolesComponent_div_12_Template(rf, ctx) { if (rf & 1) {
73
+ const _r21 = i0.ɵɵgetCurrentView();
74
+ i0.ɵɵelementStart(0, "div", 8);
75
+ i0.ɵɵelementStart(1, "mat-card", 9);
76
+ i0.ɵɵelementStart(2, "h4");
77
+ i0.ɵɵtext(3);
78
+ i0.ɵɵelementEnd();
79
+ i0.ɵɵelement(4, "hr");
80
+ i0.ɵɵelementStart(5, "div", 10);
81
+ i0.ɵɵtemplate(6, RolesComponent_div_12_div_6_Template, 4, 3, "div", 11);
82
+ i0.ɵɵelementEnd();
83
+ i0.ɵɵelementStart(7, "mat-card-actions");
84
+ i0.ɵɵelementStart(8, "button", 12);
85
+ i0.ɵɵlistener("click", function RolesComponent_div_12_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r21); const role_r1 = ctx.$implicit; const ctx_r20 = i0.ɵɵnextContext(); return ctx_r20.updateRole(role_r1); });
86
+ i0.ɵɵelementStart(9, "mat-icon");
87
+ i0.ɵɵtext(10, "done_all");
88
+ i0.ɵɵelementEnd();
89
+ i0.ɵɵelementEnd();
90
+ i0.ɵɵelementStart(11, "button", 13);
91
+ i0.ɵɵlistener("click", function RolesComponent_div_12_Template_button_click_11_listener() { i0.ɵɵrestoreView(_r21); const role_r1 = ctx.$implicit; const ctx_r22 = i0.ɵɵnextContext(); return ctx_r22.deleteRole(role_r1); });
92
+ i0.ɵɵelementStart(12, "mat-icon");
93
+ i0.ɵɵtext(13, "delete");
94
+ i0.ɵɵelementEnd();
95
+ i0.ɵɵelementEnd();
96
+ i0.ɵɵelementEnd();
97
+ i0.ɵɵelementEnd();
98
+ i0.ɵɵelementEnd();
99
+ } if (rf & 2) {
100
+ const role_r1 = ctx.$implicit;
101
+ const ctx_r0 = i0.ɵɵnextContext();
102
+ i0.ɵɵadvance(3);
103
+ i0.ɵɵtextInterpolate(role_r1.roleName);
104
+ i0.ɵɵadvance(3);
105
+ i0.ɵɵproperty("ngForOf", ctx_r0.appConfig.capItems);
106
+ } }
107
+ export class RolesComponent {
15
108
  constructor(httpService, router, authService, dataService, dialog, messageService) {
16
109
  this.httpService = httpService;
17
110
  this.router = router;
@@ -23,18 +116,13 @@ let RolesComponent = class RolesComponent {
23
116
  this.appConfig = new AppConfig();
24
117
  }
25
118
  ngOnInit() {
119
+ this.authService.isAuthorised(this.dataService.capRoles.name);
26
120
  this.loadRoles();
121
+ this.dataService.appConfigObserv.subscribe(x => this.appConfig = x);
27
122
  }
28
- // _filterText = "";
29
- // applyFilter(filterValue: string) {
30
- // this.roles.filter = filterValue.trim().toLowerCase();
31
- // }
32
123
  loadRoles() {
33
124
  this.dataService.GetRole("all", "").subscribe((apiResponse) => {
34
- this.roles = apiResponse.dt;
35
- }, (error) => {
36
- this.isProcessing = false;
37
- this.messageService.toast(this.httpService.Error(error));
125
+ this.roles = apiResponse;
38
126
  });
39
127
  }
40
128
  refresh() {
@@ -51,40 +139,16 @@ let RolesComponent = class RolesComponent {
51
139
  }
52
140
  });
53
141
  }
54
- viewRole(role) {
55
- const dialogRef = this.dialog.open(viewRoleDialog, {
56
- width: "1100px",
57
- data: role,
58
- });
59
- dialogRef.afterClosed().subscribe((result) => {
60
- if (result == "success") {
61
- this.loadRoles();
62
- }
63
- });
64
- }
65
- editRole(role) {
66
- const dialogRef = this.dialog.open(editRoleDialog, {
67
- width: "1100px",
68
- data: role,
69
- });
70
- dialogRef.afterClosed().subscribe((result) => {
71
- if (result == "success") {
72
- this.loadRoles();
73
- }
74
- });
75
- }
76
142
  updateRole(role) {
77
143
  this.messageService.confirm(`UPDATE ${role.roleName} ?`).subscribe((result) => {
78
144
  if (result == "yes") {
79
- this.dataService
80
- .UpdateRole(role, "edit")
81
- .subscribe((apiResponse) => {
82
- if (apiResponse.message == "success") {
145
+ this.dataService.PostRole(role, "edit").subscribe((apiResponse) => {
146
+ if (apiResponse.success) {
83
147
  this.messageService.toast("Role Updated");
84
148
  this.loadRoles();
85
149
  }
86
150
  else {
87
- this.messageService.toast("Error: " + apiResponse.message);
151
+ this.messageService.toast("Error: " + apiResponse);
88
152
  }
89
153
  });
90
154
  }
@@ -94,38 +158,54 @@ let RolesComponent = class RolesComponent {
94
158
  deleteRole(role) {
95
159
  this.messageService.confirm(`DELETE ${role.roleName} ?`).subscribe((result) => {
96
160
  if (result == "yes") {
97
- this.dataService
98
- .UpdateRole(role, "delete")
99
- .subscribe((apiResponse) => {
100
- if (apiResponse.message == "success") {
161
+ this.dataService.PostRole(role, "delete").subscribe((apiResponse) => {
162
+ if (apiResponse.success) {
101
163
  this.messageService.toast("Role Deleted");
102
164
  this.loadRoles();
103
165
  }
104
166
  else {
105
- this.messageService.toast("Error: " + apiResponse.message);
167
+ this.messageService.toast("Error: " + apiResponse);
106
168
  }
107
169
  });
108
170
  }
109
171
  });
110
172
  }
111
- };
112
- RolesComponent.ctorParameters = () => [
113
- { type: HttpService },
114
- { type: Router },
115
- { type: AuthService },
116
- { type: DataService },
117
- { type: MatDialog },
118
- { type: MessageService }
119
- ];
120
- __decorate([
121
- Input()
122
- ], RolesComponent.prototype, "appConfig", void 0);
123
- RolesComponent = __decorate([
124
- Component({
125
- selector: "spa-roles",
126
- template: "<h4> Roles </h4>\r\n<hr />\r\n\r\n<div class=\"container mb-5\">\r\n\r\n <div class=\"row justify-content-between\" style=\"padding-bottom: 10px;padding-left:10px\">\r\n <div class=\"col-2\">\r\n\r\n <button id=\"btnNewRole\" mat-raised-button color=\"primary\" (click)=\"addRole()\">New Role</button>\r\n </div>\r\n <div class=\"col-1\">\r\n\r\n <button id=\"btnRefresh\" mat-mini-fab color=\"primary\" (click)=\"refresh()\" style=\"margin-right:1em;margin-top:5px\" matTooltip=\"refresh data\" matTooltipPosition=\"right\"><mat-icon class=\"refreshIcon\">refresh</mat-icon></button>\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"row mt-2 mb-1\" style=\"margin-left:10px\" *ngFor=\"let role of roles\">\r\n\r\n <mat-card class=\"mat-elevation-z8\" style=\"width:100%;padding-left:2em\">\r\n\r\n <h4>{{role.roleName}}</h4>\r\n <hr />\r\n\r\n <div class=\"row\" style=\"margin-left: 2em;\">\r\n\r\n\r\n <div class=\"row\" style=\"margin-right:20px;\" *ngFor=\"let capItem of appConfig.capItems\">\r\n\r\n <mat-checkbox color=\"primary\" style=\" font-size:12px; width: 200px;\" [(ngModel)]=\"role[capItem.name]\">{{capItem.display}}</mat-checkbox>\r\n\r\n <div class=\"row\" style=\"margin-right:20px;margin-left: 0px; \" *ngFor=\"let capSubItem of capItem.capSubItems\">\r\n\r\n <mat-checkbox color=\"primary\" style=\" font-size:12px; width: 200px;\" [(ngModel)]=\"role[capSubItem.name]\">{{capSubItem.display}}</mat-checkbox>\r\n\r\n <div class=\"row\" style=\"margin-right:20px;margin-left: 0px;\" *ngFor=\"let capSubSubItem of capSubItem.capSubItems\">\r\n\r\n <mat-checkbox color=\"primary\" style=\"font-size:12px; width: 200px;\" [(ngModel)]=\"role[capSubSubItem.name]\">{{capSubSubItem.display}}</mat-checkbox>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <mat-card-actions>\r\n\r\n <button mat-mini-fab color=\"primary\" (click)=\"updateRole(role)\" style=\"margin-right:10px;\">\r\n <mat-icon>done_all</mat-icon>\r\n </button>\r\n\r\n <!-- <button mat-mini-fab color=\"warn\" (click)=\"editRole(role)\" style=\"margin-right:10px\">\r\n <mat-icon>edit</mat-icon>\r\n </button> -->\r\n\r\n <button mat-mini-fab color=\"warn\" (click)=\"deleteRole(role)\" style=\"margin-right:10px\">\r\n <mat-icon>delete</mat-icon>\r\n </button>\r\n\r\n </mat-card-actions>\r\n\r\n </mat-card>\r\n\r\n </div>\r\n\r\n\r\n</div>\r\n\r\n",
127
- 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}"]
128
- })
129
- ], RolesComponent);
130
- export { RolesComponent };
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGluLXNwYS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3JvbGVzL3JvbGVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsNkRBQTZEO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUUxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQVExRCxJQUFhLGNBQWMsR0FBM0IsTUFBYSxjQUFjO0lBQ3pCLFlBQW9CLFdBQXdCLEVBQVUsTUFBYyxFQUFVLFdBQXdCLEVBQVUsV0FBd0IsRUFBUyxNQUFpQixFQUFVLGNBQThCO1FBQXRMLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQVUsbUJB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QUV0QyxDQUFDO0dBQ1csY0FBYyxDQTZIMUI7U0E3SFksY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcENvbmZpZyB9IGZyb20gJy4vLi4vLi4vY2xhc3Nlcy9DbGFzc2VzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xyXG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9kYXRhLnNlcnZpY2VcIjtcclxuLy8gaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEFwaVJlc3BvbnNlLCBDb3JlLCBIdHRwU2VydmljZSB9IGZyb20gXCJ0aW4tY29yZVwiO1xyXG5pbXBvcnQgeyBSb2xlLCAgQ2FwSXRlbSB9IGZyb20gXCIuLi8uLi9jbGFzc2VzL0NsYXNzZXNcIjtcclxuaW1wb3J0IHsgdmlld1JvbGVEaWFsb2cgfSBmcm9tIFwiLi92aWV3Um9sZURpYWxvZy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgYWRkUm9sZURpYWxvZyB9IGZyb20gXCIuL2FkZFJvbGVEaWFsb2cuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IGVkaXRSb2xlRGlhbG9nIH0gZnJvbSBcIi4vZWRpdFJvbGVEaWFsb2cuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwic3BhLXJvbGVzXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9yb2xlcy5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9yb2xlcy5jb21wb25lbnQuY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUm9sZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cFNlcnZpY2U6IEh0dHBTZXJ2aWNlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSwgcHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZywgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UpIHt9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG5cclxuICAgIHRoaXMubG9hZFJvbGVzKCk7XHJcblxyXG4gIH1cclxuXHJcbiAgaXNQcm9jZXNzaW5nID0gZmFsc2U7XHJcbiAgLy8gbXlSb2xlOiBSb2xldjI7XHJcbiAgcm9sZXM6IFJvbGVbXTtcclxuXHJcblxyXG5cclxuICBASW5wdXQoKSBhcHBDb25maWcgPSBuZXcgQXBwQ29uZmlnKCk7XHJcblxyXG5cclxuICAvLyBfZmlsdGVyVGV4dCA9IFwiXCI7XHJcbiAgLy8gYXBwbHlGaWx0ZXIoZmlsdGVyVmFsdWU6IHN0cmluZykge1xyXG4gIC8vICAgdGhpcy5yb2xlcy5maWx0ZXIgPSBmaWx0ZXJWYWx1ZS50cmltKCkudG9Mb3dlckNhc2UoKTtcclxuICAvLyB9XHJcblxyXG5cclxuICBsb2FkUm9sZXMoKSB7XHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLkdldFJvbGUoXCJhbGxcIiwgXCJcIikuc3Vic2NyaWJlKFxyXG4gICAgICAoYXBpUmVzcG9uc2U6IEFwaVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5yb2xlcyA9IGFwaVJlc3BvbnNlLmR0O1xyXG4gICAgICB9LFxyXG4gICAgICAoZXJyb3IpID0+IHtcclxuICAgICAgICB0aGlzLmlzUHJvY2Vzc2luZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QodGhpcy5odHRwU2VydmljZS5FcnJvcihlcnJvcikpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaCgpIHtcclxuICAgIHRoaXMubG9hZFJvbGVzKCk7XHJcbiAgfVxyXG5cclxuICBhZGRSb2xlKCkge1xyXG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihhZGRSb2xlRGlhbG9nLCB7XHJcbiAgICAgIHdpZHRoOiBcIjExMDBweFwiLFxyXG4gICAgICBkYXRhOiB0aGlzLmFwcENvbmZpZy5jYXBJdGVtcyxcclxuICAgIH0pO1xyXG5cclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQgPT0gXCJzdWNjZXNzXCIpIHtcclxuICAgICAgICB0aGlzLmxvYWRSb2xlcygpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHZpZXdSb2xlKHJvbGU6IFJvbGUpIHtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4odmlld1JvbGVEaWFsb2csIHtcclxuICAgICAgd2lkdGg6IFwiMTEwMHB4XCIsXHJcbiAgICAgIGRhdGE6IHJvbGUsXHJcbiAgICB9KTtcclxuXHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICBpZiAocmVzdWx0ID09IFwic3VjY2Vzc1wiKSB7XHJcbiAgICAgICAgdGhpcy5sb2FkUm9sZXMoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBlZGl0Um9sZShyb2xlOiBSb2xlKSB7XHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKGVkaXRSb2xlRGlhbG9nLCB7XHJcbiAgICAgIHdpZHRoOiBcIjExMDBweFwiLFxyXG4gICAgICBkYXRhOiByb2xlLFxyXG4gICAgfSk7XHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgaWYgKHJlc3VsdCA9PSBcInN1Y2Nlc3NcIikge1xyXG4gICAgICAgIHRoaXMubG9hZFJvbGVzKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlUm9sZShyb2xlOiBSb2xlKSB7XHJcblxyXG4gICAgdGhpcy5tZXNzYWdlU2VydmljZS5jb25maXJtKGBVUERBVEUgJHtyb2xlLnJvbGVOYW1lfSA/YCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuXHJcbiAgICAgIGlmIChyZXN1bHQgPT0gXCJ5ZXNcIil7XHJcblxyXG4gICAgICAgIHRoaXMuZGF0YVNlcnZpY2VcclxuICAgICAgICAuVXBkYXRlUm9sZShyb2xlLCBcImVkaXRcIilcclxuICAgICAgICAuc3Vic2NyaWJlKChhcGlSZXNwb25zZTogQXBpUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIGlmIChhcGlSZXNwb25zZS5tZXNzYWdlID09IFwic3VjY2Vzc1wiKSB7XHJcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJSb2xlIFVwZGF0ZWRcIik7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZFJvbGVzKCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRXJyb3I6IFwiICsgYXBpUmVzcG9uc2UubWVzc2FnZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgfSlcclxuXHJcblxyXG4gIH07XHJcblxyXG4gIGRlbGV0ZVJvbGUocm9sZTogUm9sZSkge1xyXG5cclxuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuY29uZmlybShgREVMRVRFICR7cm9sZS5yb2xlTmFtZX0gP2ApLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcblxyXG4gICAgICBpZiAocmVzdWx0ID09IFwieWVzXCIpe1xyXG5cclxuICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlXHJcbiAgICAgICAgLlVwZGF0ZVJvbGUocm9sZSwgXCJkZWxldGVcIilcclxuICAgICAgICAuc3Vic2NyaWJlKChhcGlSZXNwb25zZTogQXBpUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIGlmIChhcGlSZXNwb25zZS5tZXNzYWdlID09IFwic3VjY2Vzc1wiKSB7XHJcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJSb2xlIERlbGV0ZWRcIik7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZFJvbGVzKCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRXJyb3I6IFwiICsgYXBpUmVzcG9uc2UubWVzc2FnZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgfSlcclxuXHJcbiAgfVxyXG59XHJcbiJdfQ==
173
+ }
174
+ RolesComponent.ɵfac = function RolesComponent_Factory(t) { return new (t || RolesComponent)(i0.ɵɵdirectiveInject(i1.HttpService), i0.ɵɵdirectiveInject(i2.Router), i0.ɵɵdirectiveInject(i3.AuthService), i0.ɵɵdirectiveInject(i4.DataServiceLib), i0.ɵɵdirectiveInject(i5.MatDialog), i0.ɵɵdirectiveInject(i6.MessageService)); };
175
+ RolesComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RolesComponent, selectors: [["spa-roles"]], decls: 13, vars: 1, consts: [[1, "container", "mb-5"], [1, "row", "justify-content-between", 2, "padding-bottom", "10px", "padding-left", "10px"], [1, "col-2"], ["id", "btnNewRole", "mat-raised-button", "", "color", "primary", 3, "click"], [1, "col-1"], ["id", "btnRefresh", "mat-mini-fab", "", "color", "primary", "matTooltip", "refresh data", "matTooltipPosition", "right", 2, "margin-right", "1em", "margin-top", "5px", 3, "click"], [1, "refreshIcon"], ["class", "row mt-2 mb-1", "style", "margin-left:10px", 4, "ngFor", "ngForOf"], [1, "row", "mt-2", "mb-1", 2, "margin-left", "10px"], [1, "mat-elevation-z8", 2, "width", "100%", "padding-left", "2em"], [1, "row", 2, "margin-left", "2em"], ["class", "row", "style", "margin-right:20px;", 4, "ngFor", "ngForOf"], ["mat-mini-fab", "", "color", "primary", 2, "margin-right", "10px", 3, "click"], ["mat-mini-fab", "", "color", "warn", 2, "margin-right", "10px", 3, "click"], [1, "row", 2, "margin-right", "20px"], ["color", "primary", 2, "font-size", "12px", "width", "200px", 3, "ngModel", "ngModelChange"], ["class", "row", "style", "margin-right:20px;margin-left: 0px; ", 4, "ngFor", "ngForOf"], [1, "row", 2, "margin-right", "20px", "margin-left", "0px"], ["class", "row", "style", "margin-right:20px;margin-left: 0px;", 4, "ngFor", "ngForOf"]], template: function RolesComponent_Template(rf, ctx) { if (rf & 1) {
176
+ i0.ɵɵelementStart(0, "h4");
177
+ i0.ɵɵtext(1, " Roles ");
178
+ i0.ɵɵelementEnd();
179
+ i0.ɵɵelement(2, "hr");
180
+ i0.ɵɵelementStart(3, "div", 0);
181
+ i0.ɵɵelementStart(4, "div", 1);
182
+ i0.ɵɵelementStart(5, "div", 2);
183
+ i0.ɵɵelementStart(6, "button", 3);
184
+ i0.ɵɵlistener("click", function RolesComponent_Template_button_click_6_listener() { return ctx.addRole(); });
185
+ i0.ɵɵtext(7, "New Role");
186
+ i0.ɵɵelementEnd();
187
+ i0.ɵɵelementEnd();
188
+ i0.ɵɵelementStart(8, "div", 4);
189
+ i0.ɵɵelementStart(9, "button", 5);
190
+ i0.ɵɵlistener("click", function RolesComponent_Template_button_click_9_listener() { return ctx.refresh(); });
191
+ i0.ɵɵelementStart(10, "mat-icon", 6);
192
+ i0.ɵɵtext(11, "refresh");
193
+ i0.ɵɵelementEnd();
194
+ i0.ɵɵelementEnd();
195
+ i0.ɵɵelementEnd();
196
+ i0.ɵɵelementEnd();
197
+ i0.ɵɵtemplate(12, RolesComponent_div_12_Template, 14, 2, "div", 7);
198
+ i0.ɵɵelementEnd();
199
+ } if (rf & 2) {
200
+ i0.ɵɵadvance(12);
201
+ i0.ɵɵproperty("ngForOf", ctx.roles);
202
+ } }, directives: [i7.MatButton, i8.MatTooltip, i9.MatIcon, i10.NgForOf, i11.MatCard, i11.MatCardActions, i12.MatCheckbox, i13.NgControlStatus, i13.NgModel], styles: [".mat-mini-fab[_ngcontent-%COMP%]{width:32px;height:32px}.mat-mini-fab[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;margin-top:-3px}.refreshIcon[_ngcontent-%COMP%]{font-size:22px!important;margin-top:-7px!important}"] });
203
+ /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(RolesComponent, [{
204
+ type: Component,
205
+ args: [{
206
+ selector: "spa-roles",
207
+ templateUrl: "./roles.component.html",
208
+ styleUrls: ["./roles.component.css"],
209
+ }]
210
+ }], function () { return [{ type: i1.HttpService }, { type: i2.Router }, { type: i3.AuthService }, { type: i4.DataServiceLib }, { type: i5.MatDialog }, { type: i6.MessageService }]; }, null); })();
211
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGluLXNwYS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3JvbGVzL3JvbGVzLmNvbXBvbmVudC50cyIsImxpYi9jb21wb25lbnRzL3JvbGVzL3JvbGVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUl6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDK0I5QywrQkFFRTtJQUFBLHdDQUE2RztJQUF2Qyw0U0FBc0M7SUFBQyxZQUF5QjtJQUFBLGlCQUFlO0lBRXZKLGlCQUFNOzs7O0lBRmtFLGVBQXNDO0lBQXRDLHdEQUFzQztJQUFDLGVBQXlCO0lBQXpCLDhDQUF5Qjs7OztJQU4xSSwrQkFFRTtJQUFBLHdDQUEyRztJQUFwQyxnU0FBbUM7SUFBQyxZQUFzQjtJQUFBLGlCQUFlO0lBRWhKLG1GQUVFO0lBSUosaUJBQU07Ozs7SUFSbUUsZUFBbUM7SUFBbkMscURBQW1DO0lBQUMsZUFBc0I7SUFBdEIsMkNBQXNCO0lBRXBFLGVBQW9EO0lBQXBELG1EQUFvRDs7OztJQVJySCwrQkFFRTtJQUFBLHdDQUFzRztJQUFqQyxtUkFBZ0M7SUFBQyxZQUFtQjtJQUFBLGlCQUFlO0lBRXhJLDZFQUVFO0lBVUosaUJBQU07Ozs7SUFkaUUsZUFBZ0M7SUFBaEMsa0RBQWdDO0lBQUMsZUFBbUI7SUFBbkIsd0NBQW1CO0lBRTNELGVBQThDO0lBQTlDLGdEQUE4Qzs7OztJQWRwSCw4QkFFRTtJQUFBLG1DQUVFO0lBQUEsMEJBQUk7SUFBQSxZQUFpQjtJQUFBLGlCQUFLO0lBQzFCLHFCQUVBO0lBQUEsK0JBR0U7SUFBQSx1RUFFRTtJQWdCSixpQkFBTTtJQUdOLHdDQUVFO0lB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Z0JBQ3JCLFdBQVcsRUFBRSx3QkFBd0I7Z0JBQ3JDLFNBQVMsRUFBRSxDQUFDLHVCQUF1QixDQUFDO2FBQ3JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBwQ29uZmlnIH0gZnJvbSAnLi8uLi8uLi9jbGFzc2VzL0NsYXNzZXMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlTGliIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2RhdGEuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBSb2xlLCBDYXBJdGVtIH0gZnJvbSBcIi4uLy4uL2NsYXNzZXMvQ2xhc3Nlc1wiO1xyXG5pbXBvcnQgeyBhZGRSb2xlRGlhbG9nIH0gZnJvbSBcIi4vYWRkUm9sZURpYWxvZy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSHR0cFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9odHRwLnNlcnZpY2UnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcInNwYS1yb2xlc1wiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vcm9sZXMuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vcm9sZXMuY29tcG9uZW50LmNzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJvbGVzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHBTZXJ2aWNlOiBIdHRwU2VydmljZSwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlTGliLCBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmlzQXV0aG9yaXNlZCh0aGlzLmRhdGFTZXJ2aWNlLmNhcFJvbGVzLm5hbWUpO1xyXG4gICAgdGhpcy5sb2FkUm9sZXMoKTtcclxuICAgIHRoaXMuZGF0YVNlcnZpY2UuYXBwQ29uZmlnT2JzZXJ2LnN1YnNjcmliZSh4ID0+IHRoaXMuYXBwQ29uZmlnID0geCk7XHJcbiAgfVxyXG5cclxuICBpc1Byb2Nlc3NpbmcgPSBmYWxzZTtcclxuICByb2xlczogUm9sZVtdO1xyXG5cclxuICBhcHBDb25maWcgPSBuZXcgQXBwQ29uZmlnKCk7XHJcblxyXG4gIGxvYWRSb2xlcygpIHtcclxuICAgIHRoaXMuZGF0YVNlcnZpY2UuR2V0Um9sZShcImFsbFwiLCBcIlwiKS5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIHRoaXMucm9sZXMgPSBhcGlSZXNwb25zZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaCgpIHtcclxuICAgIHRoaXMubG9hZFJvbGVzKCk7XHJcbiAgfVxyXG5cclxuICBhZGRSb2xlKCkge1xyXG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihhZGRSb2xlRGlhbG9nLCB7XHJcbiAgICAgIHdpZHRoOiBcIjExMDBweFwiLFxyXG4gICAgICBkYXRhOiB0aGlzLmFwcENvbmZpZy5jYXBJdGVtcyxcclxuICAgIH0pO1xyXG5cclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQgPT0gXCJzdWNjZXNzXCIpIHtcclxuICAgICAgICB0aGlzLmxvYWRSb2xlcygpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVJvbGUocm9sZTogUm9sZSkge1xyXG5cclxuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuY29uZmlybShgVVBEQVRFICR7cm9sZS5yb2xlTmFtZX0gP2ApLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcblxyXG4gICAgICBpZiAocmVzdWx0ID09IFwieWVzXCIpIHtcclxuXHJcbiAgICAgICAgdGhpcy5kYXRhU2VydmljZS5Qb3N0Um9sZShyb2xlLCBcImVkaXRcIikuc3Vic2NyaWJlKChhcGlSZXNwb25zZSkgPT4ge1xyXG5cclxuICAgICAgICAgIGlmIChhcGlSZXNwb25zZS5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJSb2xlIFVwZGF0ZWRcIik7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZFJvbGVzKCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRXJyb3I6IFwiICsgYXBpUmVzcG9uc2UpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgfVxyXG5cclxuICAgIH0pXHJcblxyXG5cclxuICB9O1xyXG5cclxuICBkZWxldGVSb2xlKHJvbGU6IFJvbGUpIHtcclxuXHJcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmNvbmZpcm0oYERFTEVURSAke3JvbGUucm9sZU5hbWV9ID9gKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG5cclxuICAgICAgaWYgKHJlc3VsdCA9PSBcInllc1wiKSB7XHJcblxyXG4gICAgICAgIHRoaXMuZGF0YVNlcnZpY2UuUG9zdFJvbGUocm9sZSwgXCJkZWxldGVcIikuc3Vic2NyaWJlKChhcGlSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGFwaVJlc3BvbnNlLnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIlJvbGUgRGVsZXRlZFwiKTtcclxuICAgICAgICAgICAgdGhpcy5sb2FkUm9sZXMoKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJFcnJvcjogXCIgKyBhcGlSZXNwb25zZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgfSlcclxuXHJcbiAgfVxyXG59XHJcbiIsIjxoND4gUm9sZXMgPC9oND5cclxuPGhyIC8+XHJcblxyXG48ZGl2IGNsYXNzPVwiY29udGFpbmVyIG1iLTVcIj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cInJvdyBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiIHN0eWxlPVwicGFkZGluZy1ib3R0b206IDEwcHg7cGFkZGluZy1sZWZ0OjEwcHhcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMlwiPlxyXG5cclxuICAgICAgPGJ1dHRvbiBpZD1cImJ0bk5ld1JvbGVcIiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiYWRkUm9sZSgpXCI+TmV3IFJvbGU8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC0xXCI+XHJcblxyXG4gICAgICA8YnV0dG9uIGlkPVwiYnRuUmVmcmVzaFwiIG1hdC1taW5pLWZhYiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwicmVmcmVzaCgpXCIgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6MWVtO21hcmdpbi10b3A6NXB4XCIgbWF0VG9vbHRpcD1cInJlZnJlc2ggZGF0YVwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCI+PG1hdC1pY29uIGNsYXNzPVwicmVmcmVzaEljb25cIj5yZWZyZXNoPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuXHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcblxyXG4gIDxkaXYgY2xhc3M9XCJyb3cgbXQtMiBtYi0xXCIgc3R5bGU9XCJtYXJnaW4tbGVmdDoxMHB4XCIgKm5nRm9yPVwibGV0IHJvbGUgb2Ygcm9sZXNcIj5cclxuXHJcbiAgICA8bWF0LWNhcmQgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXo4XCIgc3R5bGU9XCJ3aWR0aDoxMDAlO3BhZGRpbmctbGVmdDoyZW1cIj5cclxuXHJcbiAgICAgIDxoND57e3JvbGUucm9sZU5hbWV9fTwvaDQ+XHJcbiAgICAgIDxociAvPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDJlbTtcIj5cclxuXHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiBzdHlsZT1cIm1hcmdpbi1yaWdodDoyMHB4O1wiICAqbmdGb3I9XCJsZXQgY2FwSXRlbSBvZiBhcHBDb25maWcuY2FwSXRlbXNcIj5cclxuXHJcbiAgICAgICAgICA8bWF0LWNoZWNrYm94IGNvbG9yPVwicHJpbWFyeVwiIHN0eWxlPVwiIGZvbnQtc2l6ZToxMnB4OyB3aWR0aDogMjAwcHg7XCIgWyhuZ01vZGVsKV09XCJyb2xlW2NhcEl0ZW0ubmFtZV1cIj57e2NhcEl0ZW0uZGlzcGxheX19PC9tYXQtY2hlY2tib3g+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OjIwcHg7bWFyZ2luLWxlZnQ6IDBweDsgXCIgKm5nRm9yPVwibGV0IGNhcFN1Ykl0ZW0gb2YgY2FwSXRlbS5jYXBTdWJJdGVtc1wiPlxyXG5cclxuICAgICAgICAgICAgPG1hdC1jaGVja2JveCAgIGNvbG9yPVwicHJpbWFyeVwiIHN0eWxlPVwiIGZvbnQtc2l6ZToxMnB4OyB3aWR0aDogMjAwcHg7XCIgWyhuZ01vZGVsKV09XCJyb2xlW2NhcFN1Ykl0ZW0ubmFtZV1cIj57e2NhcFN1Ykl0ZW0uZGlzcGxheX19PC9tYXQtY2hlY2tib3g+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCIgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6MjBweDttYXJnaW4tbGVmdDogMHB4O1wiICpuZ0Zvcj1cImxldCBjYXBTdWJTdWJJdGVtIG9mIGNhcFN1Ykl0ZW0uY2FwU3ViSXRlbXNcIj5cclxuXHJcbiAgICAgICAgICAgICAgPG1hdC1jaGVja2JveCAgIGNvbG9yPVwicHJpbWFyeVwiIHN0eWxlPVwiZm9udC1zaXplOjEycHg7IHdpZHRoOiAyMDBweDtcIiBbKG5nTW9kZWwpXT1cInJvbGVbY2FwU3ViU3ViSXRlbS5uYW1lXVwiPnt7Y2FwU3ViU3ViSXRlbS5kaXNwbGF5fX08L21hdC1jaGVja2JveD5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgIDxtYXQtY2FyZC1hY3Rpb25zPlxyXG5cclxuICAgICAgICA8YnV0dG9uICBtYXQtbWluaS1mYWIgY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cInVwZGF0ZVJvbGUocm9sZSlcIiBzdHlsZT1cIm1hcmdpbi1yaWdodDoxMHB4O1wiPlxyXG4gICAgICAgICAgIDxtYXQtaWNvbj5kb25lX2FsbDwvbWF0LWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgIDwhLS0gPGJ1dHRvbiBtYXQtbWluaS1mYWIgY29sb3I9XCJ3YXJuXCIgKGNsaWNrKT1cImVkaXRSb2xlKHJvbGUpXCIgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6MTBweFwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uPmVkaXQ8L21hdC1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPiAtLT5cclxuXHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtbWluaS1mYWIgY29sb3I9XCJ3YXJuXCIgKGNsaWNrKT1cImRlbGV0ZVJvbGUocm9sZSlcIiBzdHlsZT1cIm1hcmdpbi1yaWdodDoxMHB4XCI+XHJcbiAgICAgICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgIDwvbWF0LWNhcmQtYWN0aW9ucz5cclxuXHJcbiAgICA8L21hdC1jYXJkPlxyXG5cclxuICA8L2Rpdj5cclxuXHJcblxyXG48L2Rpdj5cclxuXHJcbiJdfQ==