tin-spa 14.0.1 → 14.3.11

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 (234) hide show
  1. package/README.md +24 -24
  2. package/esm2020/lib/classes/Classes.mjs +206 -53
  3. package/esm2020/lib/classes/TinCore.mjs +46 -213
  4. package/esm2020/lib/components/accounts/accountDialog.component.mjs +56 -0
  5. package/esm2020/lib/components/accounts/accounts.component.mjs +70 -0
  6. package/esm2020/lib/components/alert/alert.component.mjs +7 -21
  7. package/esm2020/lib/components/attach/attach.component.mjs +33 -49
  8. package/esm2020/lib/components/bug/bug.component.mjs +14 -0
  9. package/esm2020/lib/components/change-password/change-password.component.mjs +92 -0
  10. package/esm2020/lib/components/create-account/create-account.component.mjs +109 -0
  11. package/esm2020/lib/components/customers/customers.component.mjs +60 -0
  12. package/esm2020/lib/components/date/date.component.mjs +8 -10
  13. package/esm2020/lib/components/datetime/datetime.component.mjs +3 -6
  14. package/esm2020/lib/{pages → components}/departments/departments.component.mjs +5 -3
  15. package/esm2020/lib/components/employees/employees.component.mjs +21 -0
  16. package/esm2020/lib/components/filter/filter.component.mjs +3 -7
  17. package/esm2020/lib/components/form/form.component.mjs +52 -157
  18. package/esm2020/lib/components/grades/grades.component.mjs +14 -0
  19. package/esm2020/lib/components/inventory/inventory.component.mjs +99 -0
  20. package/esm2020/lib/components/inventory/quantityDialog.component.mjs +53 -0
  21. package/esm2020/lib/components/invitations/invitations.component.mjs +14 -0
  22. package/esm2020/lib/components/invitations-table/invitations-table.component.mjs +70 -0
  23. package/esm2020/lib/components/label/label.component.mjs +3 -9
  24. package/esm2020/lib/components/list-dialog/list-dialog.component.mjs +3 -3
  25. package/esm2020/lib/components/login/login.component.mjs +127 -0
  26. package/esm2020/lib/components/logs/logs.component.mjs +37 -0
  27. package/esm2020/lib/components/membership/membership.component.mjs +48 -0
  28. package/esm2020/lib/components/money/money.component.mjs +9 -26
  29. package/esm2020/lib/components/nav-menu/nav-menu.component.mjs +28 -32
  30. package/esm2020/lib/components/notifications/notifications.component.mjs +14 -0
  31. package/esm2020/lib/components/number/number.component.mjs +8 -23
  32. package/esm2020/lib/components/option/option.component.mjs +14 -39
  33. package/esm2020/lib/components/plans/plans.component.mjs +47 -0
  34. package/esm2020/lib/components/positions/positions.component.mjs +21 -0
  35. package/esm2020/lib/components/profile/profile.component.mjs +92 -0
  36. package/esm2020/lib/components/recover-account/recover-account.component.mjs +46 -0
  37. package/esm2020/lib/{pages → components}/roles/addRoleDialog.component.mjs +3 -3
  38. package/esm2020/lib/components/roles/roles.component.mjs +91 -0
  39. package/esm2020/lib/components/search/search.component.mjs +5 -10
  40. package/esm2020/lib/components/select/select.component.mjs +119 -56
  41. package/esm2020/lib/components/settings/settings.component.mjs +62 -0
  42. package/esm2020/lib/components/signup/signup.component.mjs +50 -0
  43. package/esm2020/lib/components/steps/steps.component.mjs +61 -83
  44. package/esm2020/lib/components/suppliers/suppliers.component.mjs +50 -0
  45. package/esm2020/lib/components/table/detailsDialog.component.mjs +41 -215
  46. package/esm2020/lib/components/table/table.component.mjs +108 -142
  47. package/esm2020/lib/components/table-action/table-action.component.mjs +8 -42
  48. package/esm2020/lib/components/table-header/table-header.component.mjs +15 -87
  49. package/esm2020/lib/components/table-internal/detailsDialog-internal.component.mjs +39 -219
  50. package/esm2020/lib/components/table-internal/table-internal.component.mjs +109 -144
  51. package/esm2020/lib/components/table-row/table-row.component.mjs +6 -41
  52. package/esm2020/lib/components/tasks/tasks.component.mjs +86 -0
  53. package/esm2020/lib/components/tenant-settings/inviteDialog.component.mjs +60 -0
  54. package/esm2020/lib/components/tenant-settings/tenant-settings.component.mjs +155 -0
  55. package/esm2020/lib/components/tenants/tenants.component.mjs +47 -0
  56. package/esm2020/lib/components/text/text.component.mjs +48 -122
  57. package/esm2020/lib/components/tiles/tiles.component.mjs +26 -44
  58. package/esm2020/lib/components/transactions/transactDialog.component.mjs +80 -0
  59. package/esm2020/lib/components/transactions/transactions.component.mjs +101 -0
  60. package/esm2020/lib/components/users/users.component.mjs +118 -0
  61. package/esm2020/lib/components/viewer/viewer.component.mjs +3 -7
  62. package/esm2020/lib/components/viewer/viewerDialog.component.mjs +13 -20
  63. package/esm2020/lib/components/welcome/welcome.component.mjs +86 -0
  64. package/esm2020/lib/modules/admin/admin-routing.module.mjs +22 -32
  65. package/esm2020/lib/modules/index/index-routing.module.mjs +4 -4
  66. package/esm2020/lib/modules/spa-admin.module.mjs +7 -7
  67. package/esm2020/lib/modules/spa-index.module.mjs +4 -4
  68. package/esm2020/lib/modules/spa-user.module.mjs +3 -3
  69. package/esm2020/lib/modules/user/user-routing.module.mjs +3 -3
  70. package/esm2020/lib/services/auth.service.mjs +2 -3
  71. package/esm2020/lib/services/button.service.mjs +32 -92
  72. package/esm2020/lib/services/datalib.service.mjs +78 -551
  73. package/esm2020/lib/services/dialog.service.mjs +7 -51
  74. package/esm2020/lib/services/log.service.mjs +2 -2
  75. package/esm2020/lib/services/table-config.service.mjs +7 -55
  76. package/esm2020/lib/tin-spa.module.mjs +30 -72
  77. package/esm2020/public-api.mjs +25 -35
  78. package/fesm2015/tin-spa.mjs +2681 -6963
  79. package/fesm2015/tin-spa.mjs.map +1 -1
  80. package/fesm2020/tin-spa.mjs +2750 -7078
  81. package/fesm2020/tin-spa.mjs.map +1 -1
  82. package/lib/classes/Classes.d.ts +296 -280
  83. package/lib/classes/TinCore.d.ts +4 -15
  84. package/lib/components/alert/alert.component.d.ts +3 -4
  85. package/lib/components/attach/attach.component.d.ts +6 -13
  86. package/lib/{pages → components}/change-password/change-password.component.d.ts +1 -1
  87. package/lib/{pages → components}/create-account/create-account.component.d.ts +1 -2
  88. package/lib/{pages → components}/customers/customers.component.d.ts +8 -2
  89. package/lib/components/date/date.component.d.ts +1 -1
  90. package/lib/components/datetime/datetime.component.d.ts +1 -2
  91. package/lib/components/filter/filter.component.d.ts +0 -1
  92. package/lib/components/form/form.component.d.ts +9 -20
  93. package/lib/components/invitations/invitations.component.d.ts +8 -0
  94. package/lib/{pages → components}/invitations-table/invitations-table.component.d.ts +1 -1
  95. package/lib/components/label/label.component.d.ts +1 -3
  96. package/lib/{pages → components}/login/login.component.d.ts +3 -10
  97. package/lib/{pages → components}/logs/logs.component.d.ts +6 -2
  98. package/lib/{pages → components}/membership/membership.component.d.ts +6 -2
  99. package/lib/components/money/money.component.d.ts +1 -8
  100. package/lib/components/nav-menu/nav-menu.component.d.ts +2 -6
  101. package/lib/components/notifications/notifications.component.d.ts +8 -0
  102. package/lib/components/number/number.component.d.ts +1 -7
  103. package/lib/components/option/option.component.d.ts +2 -11
  104. package/lib/{pages → components}/plans/plans.component.d.ts +6 -2
  105. package/lib/{pages → components}/profile/profile.component.d.ts +1 -2
  106. package/lib/{pages → components}/roles/addRoleDialog.component.d.ts +1 -1
  107. package/lib/{pages → components}/roles/roles.component.d.ts +3 -15
  108. package/lib/components/search/search.component.d.ts +1 -3
  109. package/lib/components/select/select.component.d.ts +35 -16
  110. package/lib/{pages → components}/signup/signup.component.d.ts +1 -1
  111. package/lib/components/steps/steps.component.d.ts +9 -18
  112. package/lib/{pages → components}/suppliers/suppliers.component.d.ts +4 -1
  113. package/lib/components/table/detailsDialog.component.d.ts +7 -29
  114. package/lib/components/table/table.component.d.ts +9 -18
  115. package/lib/components/table-action/table-action.component.d.ts +1 -4
  116. package/lib/components/table-header/table-header.component.d.ts +4 -19
  117. package/lib/components/table-internal/detailsDialog-internal.component.d.ts +7 -29
  118. package/lib/components/table-internal/table-internal.component.d.ts +9 -18
  119. package/lib/components/table-row/table-row.component.d.ts +2 -5
  120. package/lib/{pages → components}/tasks/tasks.component.d.ts +1 -1
  121. package/lib/components/tenant-settings/inviteDialog.component.d.ts +28 -0
  122. package/lib/{pages → components}/tenant-settings/tenant-settings.component.d.ts +7 -12
  123. package/lib/{pages → components}/tenants/tenants.component.d.ts +2 -2
  124. package/lib/components/text/text.component.d.ts +5 -22
  125. package/lib/components/tiles/tiles.component.d.ts +4 -7
  126. package/lib/{pages → components}/users/users.component.d.ts +16 -8
  127. package/lib/components/viewer/viewerDialog.component.d.ts +1 -3
  128. package/lib/modules/spa-admin.module.d.ts +6 -6
  129. package/lib/modules/spa-index.module.d.ts +3 -3
  130. package/lib/modules/spa-user.module.d.ts +2 -2
  131. package/lib/services/auth.service.d.ts +1 -1
  132. package/lib/services/button.service.d.ts +8 -11
  133. package/lib/services/datalib.service.d.ts +10 -58
  134. package/lib/services/dialog.service.d.ts +2 -3
  135. package/lib/services/log.service.d.ts +1 -1
  136. package/lib/services/table-config.service.d.ts +1 -9
  137. package/lib/tin-spa.module.d.ts +33 -53
  138. package/package.json +1 -1
  139. package/public-api.d.ts +23 -33
  140. package/esm2020/lib/classes/LibClasses.mjs +0 -180
  141. package/esm2020/lib/components/capsules/capsules.component.mjs +0 -63
  142. package/esm2020/lib/components/cards/cards.component.mjs +0 -103
  143. package/esm2020/lib/components/email/email.component.mjs +0 -133
  144. package/esm2020/lib/components/html/html.component.mjs +0 -34
  145. package/esm2020/lib/components/multi-select/multi-select.component.mjs +0 -165
  146. package/esm2020/lib/components/multi-text/multi-text.component.mjs +0 -208
  147. package/esm2020/lib/components/notes/notes.component.mjs +0 -62
  148. package/esm2020/lib/components/page/page.component.mjs +0 -101
  149. package/esm2020/lib/components/select-bitwise/select-bitwise.component.mjs +0 -87
  150. package/esm2020/lib/components/select-common/select-common.component.mjs +0 -206
  151. package/esm2020/lib/components/select-internal/select-internal.component.mjs +0 -75
  152. package/esm2020/lib/components/select-lite/select-lite.component.mjs +0 -18
  153. package/esm2020/lib/components/statuses/statuses.component.mjs +0 -44
  154. package/esm2020/lib/components/suffix/suffix.component.mjs +0 -70
  155. package/esm2020/lib/components/table-lite/detailsDialog-lite.component.mjs +0 -404
  156. package/esm2020/lib/components/table-lite/table-lite.component.mjs +0 -441
  157. package/esm2020/lib/components/tabs/tabs.component.mjs +0 -74
  158. package/esm2020/lib/pages/accounts/accountDialog.component.mjs +0 -56
  159. package/esm2020/lib/pages/accounts/accounts.component.mjs +0 -70
  160. package/esm2020/lib/pages/app-models/app-models.component.mjs +0 -56
  161. package/esm2020/lib/pages/approvals/approvals.component.mjs +0 -19
  162. package/esm2020/lib/pages/approvals-config/approvals-config.component.mjs +0 -165
  163. package/esm2020/lib/pages/bug/bug.component.mjs +0 -14
  164. package/esm2020/lib/pages/change-password/change-password.component.mjs +0 -92
  165. package/esm2020/lib/pages/create-account/create-account.component.mjs +0 -110
  166. package/esm2020/lib/pages/customers/customers.component.mjs +0 -21
  167. package/esm2020/lib/pages/employees/employees.component.mjs +0 -20
  168. package/esm2020/lib/pages/grades/grades.component.mjs +0 -14
  169. package/esm2020/lib/pages/inventory/inventory.component.mjs +0 -99
  170. package/esm2020/lib/pages/inventory/quantityDialog.component.mjs +0 -53
  171. package/esm2020/lib/pages/invitations-table/invitations-table.component.mjs +0 -71
  172. package/esm2020/lib/pages/login/login.component.mjs +0 -166
  173. package/esm2020/lib/pages/logs/logs.component.mjs +0 -42
  174. package/esm2020/lib/pages/membership/membership.component.mjs +0 -44
  175. package/esm2020/lib/pages/notifications/notifications.component.mjs +0 -90
  176. package/esm2020/lib/pages/notifications-config/notifications-config.component.mjs +0 -113
  177. package/esm2020/lib/pages/plans/plans.component.mjs +0 -44
  178. package/esm2020/lib/pages/positions/positions.component.mjs +0 -21
  179. package/esm2020/lib/pages/profile/profile.component.mjs +0 -94
  180. package/esm2020/lib/pages/recover-account/recover-account.component.mjs +0 -46
  181. package/esm2020/lib/pages/roles/roles.component.mjs +0 -151
  182. package/esm2020/lib/pages/settings/settings.component.mjs +0 -54
  183. package/esm2020/lib/pages/signup/signup.component.mjs +0 -50
  184. package/esm2020/lib/pages/suppliers/suppliers.component.mjs +0 -22
  185. package/esm2020/lib/pages/tasks/tasks.component.mjs +0 -86
  186. package/esm2020/lib/pages/tenant-settings/tenant-settings.component.mjs +0 -228
  187. package/esm2020/lib/pages/tenants/tenants.component.mjs +0 -47
  188. package/esm2020/lib/pages/transactions/transactDialog.component.mjs +0 -80
  189. package/esm2020/lib/pages/transactions/transactions.component.mjs +0 -101
  190. package/esm2020/lib/pages/users/users.component.mjs +0 -167
  191. package/esm2020/lib/pages/welcome/welcome.component.mjs +0 -86
  192. package/esm2020/lib/select-context.directive.mjs +0 -23
  193. package/esm2020/lib/services/csv.service.mjs +0 -49
  194. package/esm2020/lib/services/notifications.service.mjs +0 -33
  195. package/lib/classes/LibClasses.d.ts +0 -173
  196. package/lib/components/capsules/capsules.component.d.ts +0 -26
  197. package/lib/components/cards/cards.component.d.ts +0 -39
  198. package/lib/components/email/email.component.d.ts +0 -40
  199. package/lib/components/html/html.component.d.ts +0 -16
  200. package/lib/components/multi-select/multi-select.component.d.ts +0 -47
  201. package/lib/components/multi-text/multi-text.component.d.ts +0 -56
  202. package/lib/components/notes/notes.component.d.ts +0 -19
  203. package/lib/components/page/page.component.d.ts +0 -38
  204. package/lib/components/select-bitwise/select-bitwise.component.d.ts +0 -31
  205. package/lib/components/select-common/select-common.component.d.ts +0 -53
  206. package/lib/components/select-internal/select-internal.component.d.ts +0 -23
  207. package/lib/components/select-lite/select-lite.component.d.ts +0 -8
  208. package/lib/components/statuses/statuses.component.d.ts +0 -12
  209. package/lib/components/suffix/suffix.component.d.ts +0 -23
  210. package/lib/components/table-lite/detailsDialog-lite.component.d.ts +0 -86
  211. package/lib/components/table-lite/table-lite.component.d.ts +0 -91
  212. package/lib/components/tabs/tabs.component.d.ts +0 -32
  213. package/lib/pages/app-models/app-models.component.d.ts +0 -15
  214. package/lib/pages/approvals/approvals.component.d.ts +0 -10
  215. package/lib/pages/approvals-config/approvals-config.component.d.ts +0 -24
  216. package/lib/pages/notifications/notifications.component.d.ts +0 -16
  217. package/lib/pages/notifications-config/notifications-config.component.d.ts +0 -17
  218. package/lib/select-context.directive.d.ts +0 -10
  219. package/lib/services/csv.service.d.ts +0 -10
  220. package/lib/services/notifications.service.d.ts +0 -12
  221. /package/lib/{pages → components}/accounts/accountDialog.component.d.ts +0 -0
  222. /package/lib/{pages → components}/accounts/accounts.component.d.ts +0 -0
  223. /package/lib/{pages → components}/bug/bug.component.d.ts +0 -0
  224. /package/lib/{pages → components}/departments/departments.component.d.ts +0 -0
  225. /package/lib/{pages → components}/employees/employees.component.d.ts +0 -0
  226. /package/lib/{pages → components}/grades/grades.component.d.ts +0 -0
  227. /package/lib/{pages → components}/inventory/inventory.component.d.ts +0 -0
  228. /package/lib/{pages → components}/inventory/quantityDialog.component.d.ts +0 -0
  229. /package/lib/{pages → components}/positions/positions.component.d.ts +0 -0
  230. /package/lib/{pages → components}/recover-account/recover-account.component.d.ts +0 -0
  231. /package/lib/{pages → components}/settings/settings.component.d.ts +0 -0
  232. /package/lib/{pages → components}/transactions/transactDialog.component.d.ts +0 -0
  233. /package/lib/{pages → components}/transactions/transactions.component.d.ts +0 -0
  234. /package/lib/{pages → components}/welcome/welcome.component.d.ts +0 -0
@@ -0,0 +1,92 @@
1
+ import { ChangeUserPassword } from './../../classes/Classes';
2
+ import { Component } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/router";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "../../services/http.service";
7
+ import * as i4 from "../../services/message.service";
8
+ import * as i5 from "../../services/datalib.service";
9
+ import * as i6 from "../../services/auth.service";
10
+ import * as i7 from "@angular/material/button";
11
+ import * as i8 from "../text/text.component";
12
+ export class ChangePasswordComponent {
13
+ constructor(router, location, httpService, messageService, dataService, authService, route) {
14
+ this.router = router;
15
+ this.location = location;
16
+ this.httpService = httpService;
17
+ this.messageService = messageService;
18
+ this.dataService = dataService;
19
+ this.authService = authService;
20
+ this.route = route;
21
+ this.isProcessing = false;
22
+ this.changePassword = new ChangeUserPassword();
23
+ }
24
+ ngOnInit() {
25
+ this.myRole = this.authService.currentRoleSource.value;
26
+ if (this.dataService.tmpProfileuserName == "") {
27
+ this.changePassword.userName = this.authService.currentUser;
28
+ }
29
+ else {
30
+ this.changePassword.userName = this.dataService.tmpProfileuserName;
31
+ this.dataService.tmpProfileuserName = "";
32
+ }
33
+ if (this.route.snapshot.queryParams["redirectTo"] != undefined) {
34
+ this.redirectPath = this.route.snapshot.queryParams["redirectTo"];
35
+ }
36
+ else {
37
+ this.redirectPath = "home";
38
+ }
39
+ }
40
+ change() {
41
+ if (!this.myRole[this.dataService.capUsers.name]) {
42
+ if (this.changePassword.currentPassword == "") {
43
+ this.messageService.toast("Please enter current Password");
44
+ return;
45
+ }
46
+ }
47
+ if (this.changePassword.newPassword == "") {
48
+ this.messageService.toast("Please enter new Password");
49
+ return;
50
+ }
51
+ if (this.changePassword.confirmPassword == "") {
52
+ this.messageService.toast("Please confirm new Password");
53
+ return;
54
+ }
55
+ if (this.changePassword.confirmPassword != this.changePassword.newPassword) {
56
+ this.messageService.toast("Passwords do not match");
57
+ return;
58
+ }
59
+ this.isProcessing = true;
60
+ if (this.myRole[this.dataService.capUsers.name]) {
61
+ this.dataService.ChangePasswordAdmin(this.changePassword).subscribe((apiResponse) => {
62
+ this.isProcessing = false;
63
+ if (apiResponse.message == "success") {
64
+ this.messageService.toast("Password Changed");
65
+ this.router.navigate([this.redirectPath]);
66
+ }
67
+ else {
68
+ this.messageService.toast("Error: " + apiResponse.message);
69
+ }
70
+ });
71
+ }
72
+ else {
73
+ this.dataService.ChangePassword(this.changePassword).subscribe((apiResponse) => {
74
+ this.isProcessing = false;
75
+ if (apiResponse.message == "success") {
76
+ this.messageService.toast("Password Changed");
77
+ this.router.navigate([this.redirectPath]);
78
+ }
79
+ else {
80
+ this.messageService.toast("Error: " + apiResponse.message);
81
+ }
82
+ });
83
+ }
84
+ }
85
+ }
86
+ ChangePasswordComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ChangePasswordComponent, deps: [{ token: i1.Router }, { token: i2.Location }, { token: i3.HttpService }, { token: i4.MessageService }, { token: i5.DataServiceLib }, { token: i6.AuthService }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
87
+ ChangePasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ChangePasswordComponent, selector: "spa-change-password", ngImport: i0, template: "<h4>Change Password</h4>\r\n<hr>\r\n\r\n\r\n<div class=\"container tin-grid\" style=\"font-size:14px;\">\r\n\r\n <div class=\"fill\">\r\n\r\n <spa-text id=\"txtuserName\" display=\"Username\" [(value)]=\"changePassword.userName\" [readonly]=\"true\"></spa-text>\r\n <spa-text id=\"txtPassword\" display=\"Current Password\" [(value)]=\"changePassword.currentPassword\" type=\"password\"></spa-text>\r\n <spa-text id=\"txtNewPassword\" display=\"New Password\" [(value)]=\"changePassword.newPassword\" type=\"password\"></spa-text>\r\n <spa-text id=\"txtConfirmPassword\" display=\"Confirm Password\" [(value)]=\"changePassword.confirmPassword\" type=\"password\"></spa-text>\r\n <button id=\"btnChange\" mat-raised-button color=\"primary\" (click)=\"change()\" cdkFocusInitial>Change</button>\r\n\r\n </div>\r\n\r\n <div class=\"alert alert-info\" style=\"font-size: 14px;\" role=\"alert\">\r\n <b>*Please consider these requirements for your new password.</b> <br><br>\r\n\r\n At least 8 characters<br>\r\n At least 1 uppercase letter (A-Z)<br>\r\n At least 2 lowercase letters (a-z)<br>\r\n At least 1 digit (0-9)<br>\r\n At least 1 special character (~`! \u2026)<br>\r\n\r\n </div>\r\n\r\n</div>\r\n\r\n\r\n<!-- <div class=\"container\">\r\n\r\n <div class=\"d-flex justify-content-center row align-items-center\" >\r\n\r\n <div class=\"col\">\r\n\r\n <div class=\"tin-input \" style=\"font-size:14px;\">\r\n\r\n <div class=\"col\" *ngIf=\"changePassword.userName!=''\">\r\n <spa-text id=\"txtuserName\" display=\"Username\" [(value)]=\"changePassword.userName\" width=\"300px\" [readonly]=\"true\"></spa-text>\r\n </div>\r\n\r\n <div class=\"col\" *ngIf=\"!myRole[dataService.capUsers.name]\">\r\n <spa-text id=\"txtPassword\" display=\"Current Password\" [(value)]=\"changePassword.currentPassword\" width=\"300px\" type=\"password\"></spa-text>\r\n </div>\r\n\r\n <div class=\"col\">\r\n <spa-text id=\"txtNewPassword\" display=\"New Password\" [(value)]=\"changePassword.newPassword\" width=\"300px\" type=\"password\"></spa-text>\r\n </div>\r\n\r\n <div class=\"col\">\r\n <spa-text id=\"txtConfirmPassword\" display=\"Confirm Password\" [(value)]=\"changePassword.confirmPassword\" width=\"300px\" type=\"password\"></spa-text>\r\n </div>\r\n\r\n <div class=\"col mt-3\">\r\n <button id=\"btnChange\" mat-raised-button color=\"primary\" (click)=\"change()\" cdkFocusInitial>Change</button>\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"col\">\r\n\r\n <div class=\"alert alert-info\" style=\"font-size: 14px;\" role=\"alert\">\r\n <b>*Please consider these requirements for your new password.</b> <br><br>\r\n\r\n At least 8 characters<br>\r\n At least 1 uppercase letter (A-Z)<br>\r\n At least 2 lowercase letters (a-z)<br>\r\n At least 1 digit (0-9)<br>\r\n At least 1 special character (~`! \u2026)<br>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n</div> -->\r\n\r\n", styles: [""], dependencies: [{ kind: "component", type: i7.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: i8.TextComponent, selector: "spa-text", inputs: ["readonly", "hint", "display", "placeholder", "value", "format", "type", "rows", "width", "options", "optionValue", "required", "min", "max", "regex", "suffix", "infoMessage"], outputs: ["valueChange", "leave", "enterPress", "infoClick"] }] });
88
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ChangePasswordComponent, decorators: [{
89
+ type: Component,
90
+ args: [{ selector: 'spa-change-password', template: "<h4>Change Password</h4>\r\n<hr>\r\n\r\n\r\n<div class=\"container tin-grid\" style=\"font-size:14px;\">\r\n\r\n <div class=\"fill\">\r\n\r\n <spa-text id=\"txtuserName\" display=\"Username\" [(value)]=\"changePassword.userName\" [readonly]=\"true\"></spa-text>\r\n <spa-text id=\"txtPassword\" display=\"Current Password\" [(value)]=\"changePassword.currentPassword\" type=\"password\"></spa-text>\r\n <spa-text id=\"txtNewPassword\" display=\"New Password\" [(value)]=\"changePassword.newPassword\" type=\"password\"></spa-text>\r\n <spa-text id=\"txtConfirmPassword\" display=\"Confirm Password\" [(value)]=\"changePassword.confirmPassword\" type=\"password\"></spa-text>\r\n <button id=\"btnChange\" mat-raised-button color=\"primary\" (click)=\"change()\" cdkFocusInitial>Change</button>\r\n\r\n </div>\r\n\r\n <div class=\"alert alert-info\" style=\"font-size: 14px;\" role=\"alert\">\r\n <b>*Please consider these requirements for your new password.</b> <br><br>\r\n\r\n At least 8 characters<br>\r\n At least 1 uppercase letter (A-Z)<br>\r\n At least 2 lowercase letters (a-z)<br>\r\n At least 1 digit (0-9)<br>\r\n At least 1 special character (~`! \u2026)<br>\r\n\r\n </div>\r\n\r\n</div>\r\n\r\n\r\n<!-- <div class=\"container\">\r\n\r\n <div class=\"d-flex justify-content-center row align-items-center\" >\r\n\r\n <div class=\"col\">\r\n\r\n <div class=\"tin-input \" style=\"font-size:14px;\">\r\n\r\n <div class=\"col\" *ngIf=\"changePassword.userName!=''\">\r\n <spa-text id=\"txtuserName\" display=\"Username\" [(value)]=\"changePassword.userName\" width=\"300px\" [readonly]=\"true\"></spa-text>\r\n </div>\r\n\r\n <div class=\"col\" *ngIf=\"!myRole[dataService.capUsers.name]\">\r\n <spa-text id=\"txtPassword\" display=\"Current Password\" [(value)]=\"changePassword.currentPassword\" width=\"300px\" type=\"password\"></spa-text>\r\n </div>\r\n\r\n <div class=\"col\">\r\n <spa-text id=\"txtNewPassword\" display=\"New Password\" [(value)]=\"changePassword.newPassword\" width=\"300px\" type=\"password\"></spa-text>\r\n </div>\r\n\r\n <div class=\"col\">\r\n <spa-text id=\"txtConfirmPassword\" display=\"Confirm Password\" [(value)]=\"changePassword.confirmPassword\" width=\"300px\" type=\"password\"></spa-text>\r\n </div>\r\n\r\n <div class=\"col mt-3\">\r\n <button id=\"btnChange\" mat-raised-button color=\"primary\" (click)=\"change()\" cdkFocusInitial>Change</button>\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"col\">\r\n\r\n <div class=\"alert alert-info\" style=\"font-size: 14px;\" role=\"alert\">\r\n <b>*Please consider these requirements for your new password.</b> <br><br>\r\n\r\n At least 8 characters<br>\r\n At least 1 uppercase letter (A-Z)<br>\r\n At least 2 lowercase letters (a-z)<br>\r\n At least 1 digit (0-9)<br>\r\n At least 1 special character (~`! \u2026)<br>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n</div> -->\r\n\r\n" }]
91
+ }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.Location }, { type: i3.HttpService }, { type: i4.MessageService }, { type: i5.DataServiceLib }, { type: i6.AuthService }, { type: i1.ActivatedRoute }]; } });
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9jb21wb25lbnRzL2NoYW5nZS1wYXNzd29yZC9jaGFuZ2UtcGFzc3dvcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvY2hhbmdlLXBhc3N3b3JkL2NoYW5nZS1wYXNzd29yZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsa0JBQWtCLEVBQWUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7O0FBYWxELE1BQU0sT0FBTyx1QkFBdUI7SUFFbEMsWUFBbUIsTUFBYyxFQUFVLFFBQWtCLEVBQVUsV0FBd0IsRUFBVSxjQUE4QixFQUFTLFdBQTJCLEVBQVUsV0FBd0IsRUFBVSxLQUFxQjtRQUF6TixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVMsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQXVCNU8saUJBQVksR0FBWSxLQUFLLENBQUM7UUFDOUIsbUJBQWMsR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7SUF4QnNNLENBQUM7SUFFalAsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUE7UUFFdEQsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixJQUFFLEVBQUUsRUFBQztZ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LENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7aUJBQzNDO3FCQUFNO29CQUNMLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7aUJBQzVEO1lBQ0gsQ0FBQyxDQUNBLENBQUM7U0FFSDtJQUNILENBQUM7O29IQXZGVSx1QkFBdUI7d0dBQXZCLHVCQUF1QiwyRENmcEMsMG1HQW9GQTsyRkRyRWEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5pbXBvcnQgeyBDaGFuZ2VVc2VyUGFzc3dvcmQsIEFwaVJlc3BvbnNlIH0gZnJvbSAnLi8uLi8uLi9jbGFzc2VzL0NsYXNzZXMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlTGliIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YWxpYi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaHR0cC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NwYS1jaGFuZ2UtcGFzc3dvcmQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFuZ2UtcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NoYW5nZS1wYXNzd29yZC5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIENoYW5nZVBhc3N3b3JkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbiwgcHJpdmF0ZSBodHRwU2VydmljZTogSHR0cFNlcnZpY2UsIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLCBwdWJsaWMgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlTGliLCBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSwgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMubXlSb2xlID0gdGhpcy5hdXRoU2VydmljZS5jdXJyZW50Um9sZVNvdXJjZS52YWx1ZVxyXG5cclxuICAgIGlmICh0aGlzLmRhdGFTZXJ2aWNlLnRtcFByb2ZpbGV1c2VyTmFtZT09XCJcIil7XHJcbiAgICAgIHRoaXMuY2hhbmdlUGFzc3dvcmQudXNlck5hbWUgPSB0aGlzLmF1dGhTZXJ2aWNlLmN1cnJlbnRVc2VyO1xyXG5cclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLmNoYW5nZVBhc3N3b3JkLnVzZXJOYW1lID0gdGhpcy5kYXRhU2VydmljZS50bXBQcm9maWxldXNlck5hbWU7XHJcbiAgICAgIHRoaXMuZGF0YVNlcnZpY2UudG1wUHJvZmlsZXVzZXJOYW1lID0gXCJcIjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtc1tcInJlZGlyZWN0VG9cIl0gIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMucmVkaXJlY3RQYXRoID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtc1tcInJlZGlyZWN0VG9cIl1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucmVkaXJlY3RQYXRoID0gXCJob21lXCJcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBteVJvbGU7XHJcbiAgcmVkaXJlY3RQYXRoXHJcbiAgaXNQcm9jZXNzaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgY2hhbmdlUGFzc3dvcmQgPSBuZXcgQ2hhbmdlVXNlclBhc3N3b3JkKCk7XHJcblxyXG4gIHB1YmxpYyBjaGFuZ2UoKSB7XHJcblxyXG4gICAgaWYgKCF0aGlzLm15Um9sZVt0aGlzLmRhdGFTZXJ2aWNlLmNhcFVzZXJzLm5hbWVdKXtcclxuICAgICAgaWYgKHRoaXMuY2hhbmdlUGFzc3dvcmQuY3VycmVudFBhc3N3b3JkID09IFwiXCIpIHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiUGxlYXNlIGVudGVyIGN1cnJlbnQgUGFzc3dvcmRcIik7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuY2hhbmdlUGFzc3dvcmQubmV3UGFzc3dvcmQgPT0gXCJcIikge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiUGxlYXNlIGVudGVyIG5ldyBQYXNzd29yZFwiKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmNoYW5nZVBhc3N3b3JkLmNvbmZpcm1QYXNzd29yZCA9PSBcIlwiKSB7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJQbGVhc2UgY29uZmlybSBuZXcgUGFzc3dvcmRcIik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5jaGFuZ2VQYXNzd29yZC5jb25maXJtUGFzc3dvcmQgIT0gdGhpcy5jaGFuZ2VQYXNzd29yZC5uZXdQYXNzd29yZCApIHtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIlBhc3N3b3JkcyBkbyBub3QgbWF0Y2hcIik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmlzUHJvY2Vzc2luZyA9IHRydWU7XHJcblxyXG4gICAgaWYgKHRoaXMubXlSb2xlW3RoaXMuZGF0YVNlcnZpY2UuY2FwVXNlcnMubmFtZV0pe1xyXG5cclxuXHJcbiAgICAgIHRoaXMuZGF0YVNlcnZpY2UuQ2hhbmdlUGFzc3dvcmRBZG1pbih0aGlzLmNoYW5nZVBhc3N3b3JkKS5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlOiBBcGlSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNQcm9jZXNzaW5nID0gZmFsc2U7XHJcblxyXG4gICAgICAgIGlmIChhcGlSZXNwb25zZS5tZXNzYWdlID09IFwic3VjY2Vzc1wiKSB7XHJcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiUGFzc3dvcmQgQ2hhbmdlZFwiKTtcclxuXHJcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5yZWRpcmVjdFBhdGhdKTtcclxuXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJFcnJvcjogXCIgKyBhcGlSZXNwb25zZS5tZXNzYWdlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgKTtcclxuXHJcbiAgICB9ZWxzZXtcclxuXHJcbiAgICAgIHRoaXMuZGF0YVNlcnZpY2UuQ2hhbmdlUGFzc3dvcmQodGhpcy5jaGFuZ2VQYXNzd29yZCkuc3Vic2NyaWJlKChhcGlSZXNwb25zZTogQXBpUmVzcG9uc2UpID0+IHtcclxuICAgICAgICB0aGlzLmlzUHJvY2Vzc2luZyA9IGZhbHNlO1xyXG5cclxuICAgICAgICBpZiAoYXBpUmVzcG9uc2UubWVzc2FnZSA9PSBcInN1Y2Nlc3NcIikge1xyXG4gICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIlBhc3N3b3JkIENoYW5nZWRcIik7XHJcblxyXG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMucmVkaXJlY3RQYXRoXSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJFcnJvcjogXCIgKyBhcGlSZXNwb25zZS5tZXNzYWdlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgKTtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxoND5DaGFuZ2UgUGFzc3dvcmQ8L2g0PlxyXG48aHI+XHJcblxyXG5cclxuPGRpdiBjbGFzcz1cImNvbnRhaW5lciB0aW4tZ3JpZFwiIHN0eWxlPVwiZm9udC1zaXplOjE0cHg7XCI+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJmaWxsXCI+XHJcblxyXG4gICAgPHNwYS10ZXh0IGlkPVwidHh0dXNlck5hbWVcIiBkaXNwbGF5PVwiVXNlcm5hbWVcIiBbKHZhbHVlKV09XCJjaGFuZ2VQYXNzd29yZC51c2VyTmFtZVwiICBbcmVhZG9ubHldPVwidHJ1ZVwiPjwvc3BhLXRleHQ+XHJcbiAgICA8c3BhLXRleHQgaWQ9XCJ0eHRQYXNzd29yZFwiIGRpc3BsYXk9XCJDdXJyZW50IFBhc3N3b3JkXCIgWyh2YWx1ZSldPVwiY2hhbmdlUGFzc3dvcmQuY3VycmVudFBhc3N3b3JkXCIgIHR5cGU9XCJwYXNzd29yZFwiPjwvc3BhLXRleHQ+XHJcbiAgICA8c3BhLXRleHQgaWQ9XCJ0eHROZXdQYXNzd29yZFwiIGRpc3BsYXk9XCJOZXcgUGFzc3dvcmRcIiBbKHZhbHVlKV09XCJjaGFuZ2VQYXNzd29yZC5uZXdQYXNzd29yZFwiIHR5cGU9XCJwYXNzd29yZFwiPjwvc3BhLXRleHQ+XHJcbiAgICA8c3BhLXRleHQgaWQ9XCJ0eHRDb25maXJtUGFzc3dvcmRcIiBkaXNwbGF5PVwiQ29uZmlybSBQYXNzd29yZFwiIFsodmFsdWUpXT1cImNoYW5nZVBhc3N3b3JkLmNvbmZpcm1QYXNzd29yZFwiICB0eXBlPVwicGFzc3dvcmRcIj48L3NwYS10ZXh0PlxyXG4gICAgPGJ1dHRvbiBpZD1cImJ0bkNoYW5nZVwiIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJjaGFuZ2UoKVwiIGNka0ZvY3VzSW5pdGlhbD5DaGFuZ2U8L2J1dHRvbj5cclxuXHJcbiAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mb1wiIHN0eWxlPVwiZm9udC1zaXplOiAxNHB4O1wiIHJvbGU9XCJhbGVydFwiPlxyXG4gICAgICAgIDxiPipQbGVhc2UgY29uc2lkZXIgdGhlc2UgcmVxdWlyZW1lbnRzIGZvciB5b3VyIG5ldyBwYXNzd29yZC48L2I+IDxicj48YnI+XHJcblxyXG4gICAgICAgIEF0IGxlYXN0IDggY2hhcmFjdGVyczxicj5cclxuICAgICAgICBBdCBsZWFzdCAxIHVwcGVyY2FzZSBsZXR0ZXIgKEEtWik8YnI+XHJcbiAgICAgICAgQXQgbGVhc3QgMiBsb3dlcmNhc2UgbGV0dGVycyAoYS16KTxicj5cclxuICAgICAgICBBdCBsZWFzdCAxIGRpZ2l0ICgwLTkpPGJyPlxyXG4gICAgICAgIEF0IGxlYXN0IDEgc3BlY2lhbCBjaGFyYWN0ZXIgKH5gISDigKYpPGJyPlxyXG5cclxuICAgICAgPC9kaXY+XHJcblxyXG48L2Rpdj5cclxuXHJcblxyXG48IS0tIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIiA+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImNvbFwiPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInRpbi1pbnB1dCBcIiBzdHlsZT1cImZvbnQtc2l6ZToxNHB4O1wiPlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sXCIgKm5nSWY9XCJjaGFuZ2VQYXNzd29yZC51c2VyTmFtZSE9JydcIj5cclxuICAgICAgICAgIDxzcGEtdGV4dCBpZD1cInR4dHVzZXJOYW1lXCIgZGlzcGxheT1cIlVzZXJuYW1lXCIgWyh2YWx1ZSldPVwiY2hhbmdlUGFzc3dvcmQudXNlck5hbWVcIiB3aWR0aD1cIjMwMHB4XCIgW3JlYWRvbmx5XT1cInRydWVcIj48L3NwYS10ZXh0PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sXCIgKm5nSWY9XCIhbXlSb2xlW2RhdGFTZXJ2aWNlLmNhcFVzZXJzLm5hbWVdXCI+XHJcbiAgICAgICAgICA8c3BhLXRleHQgaWQ9XCJ0eHRQYXNzd29yZFwiIGRpc3BsYXk9XCJDdXJyZW50IFBhc3N3b3JkXCIgWyh2YWx1ZSldPVwiY2hhbmdlUGFzc3dvcmQuY3VycmVudFBhc3N3b3JkXCIgd2lkdGg9XCIzMDBweFwiIHR5cGU9XCJwYXNzd29yZFwiPjwvc3BhLXRleHQ+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cclxuICAgICAgICAgIDxzcGEtdGV4dCBpZD1cInR4dE5ld1Bhc3N3b3JkXCIgZGlzcGxheT1cIk5ldyBQYXNzd29yZFwiIFsodmFsdWUpXT1cImNoYW5nZVBhc3N3b3JkLm5ld1Bhc3N3b3JkXCIgd2lkdGg9XCIzMDBweFwiIHR5cGU9XCJwYXNzd29yZFwiPjwvc3BhLXRleHQ+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cclxuICAgICAgICAgICA8c3BhLXRleHQgaWQ9XCJ0eHRDb25maXJtUGFzc3dvcmRcIiBkaXNwbGF5PVwiQ29uZmlybSBQYXNzd29yZFwiIFsodmFsdWUpXT1cImNoYW5nZVBhc3N3b3JkLmNvbmZpcm1QYXNzd29yZFwiIHdpZHRoPVwiMzAwcHhcIiB0eXBlPVwicGFzc3dvcmRcIj48L3NwYS10ZXh0PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIG10LTNcIj5cclxuICAgICAgICAgIDxidXR0b24gaWQ9XCJidG5DaGFuZ2VcIiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiY2hhbmdlKClcIiBjZGtGb2N1c0luaXRpYWw+Q2hhbmdlPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mb1wiIHN0eWxlPVwiZm9udC1zaXplOiAxNHB4O1wiIHJvbGU9XCJhbGVydFwiPlxyXG4gICAgICAgIDxiPipQbGVhc2UgY29uc2lkZXIgdGhlc2UgcmVxdWlyZW1lbnRzIGZvciB5b3VyIG5ldyBwYXNzd29yZC48L2I+IDxicj48YnI+XHJcblxyXG4gICAgICAgIEF0IGxlYXN0IDggY2hhcmFjdGVyczxicj5cclxuICAgICAgICBBdCBsZWFzdCAxIHVwcGVyY2FzZSBsZXR0ZXIgKEEtWik8YnI+XHJcbiAgICAgICAgQXQgbGVhc3QgMiBsb3dlcmNhc2UgbGV0dGVycyAoYS16KTxicj5cclxuICAgICAgICBBdCBsZWFzdCAxIGRpZ2l0ICgwLTkpPGJyPlxyXG4gICAgICAgIEF0IGxlYXN0IDEgc3BlY2lhbCBjaGFyYWN0ZXIgKH5gISDigKYpPGJyPlxyXG5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9kaXY+XHJcblxyXG5cclxuXHJcblxyXG5cclxuICA8L2Rpdj5cclxuPC9kaXY+IC0tPlxyXG5cclxuIl19
@@ -0,0 +1,109 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { AppConfig, Register } from '../../classes/Classes';
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/router";
9
+ import * as i6 from "@angular/common";
10
+ import * as i7 from "@angular/material/button";
11
+ import * as i8 from "../text/text.component";
12
+ import * as i9 from "../select/select.component";
13
+ import * as i10 from "../check/check.component";
14
+ export class CreateAccountComponent {
15
+ constructor(httpService, messageService, dataService, authService, router) {
16
+ this.httpService = httpService;
17
+ this.messageService = messageService;
18
+ this.dataService = dataService;
19
+ this.authService = authService;
20
+ this.router = router;
21
+ this.appConfig = new AppConfig();
22
+ this.isProcessing = false;
23
+ this.register = new Register();
24
+ this.openProfile = true;
25
+ this.authTypes = [
26
+ { name: "Local Authentication", value: "local" },
27
+ { name: "AD Authentication", value: "AD" }
28
+ ];
29
+ }
30
+ ngOnInit() {
31
+ this.appConfig = this.dataService.appConfig;
32
+ this.loadRoles();
33
+ }
34
+ check() {
35
+ if (this.register.authType != "AD") {
36
+ return;
37
+ }
38
+ if (this.register.userName == "") {
39
+ this.messageService.toast("Please enter UserName");
40
+ return;
41
+ }
42
+ this.dataService.CallApi({ url: 'User/ad/' + this.register.userName }, '').subscribe((apiResponse) => {
43
+ if (apiResponse.success) {
44
+ this.register.firstName = apiResponse.data.firstName;
45
+ this.register.lastName = apiResponse.data.surname;
46
+ this.register.email = apiResponse.data.emailAddress;
47
+ }
48
+ else {
49
+ this.messageService.toast(apiResponse.message);
50
+ }
51
+ });
52
+ }
53
+ loadRoles() {
54
+ this.dataService.GetRole("all", "").subscribe((apiResponse) => {
55
+ this.roles = apiResponse;
56
+ }, (error) => {
57
+ this.isProcessing = false;
58
+ this.messageService.toast(this.httpService.Error(error));
59
+ });
60
+ }
61
+ create() {
62
+ if (this.register.authType == "") {
63
+ this.messageService.toast("Choose Authentication Type");
64
+ return;
65
+ }
66
+ if (this.register.firstName == "") {
67
+ this.messageService.toast("Enter First Name");
68
+ return;
69
+ }
70
+ if (this.register.lastName == "") {
71
+ this.messageService.toast("Enter Last Name");
72
+ return;
73
+ }
74
+ this.isProcessing = true;
75
+ this.dataService.RegisterAccount(this.register).subscribe((apiResponse) => {
76
+ this.isProcessing = false;
77
+ if (apiResponse.success) {
78
+ this.messageService.toast("Account Created");
79
+ if (this.openProfile) {
80
+ this.viewProfile(this.register.userName);
81
+ }
82
+ else {
83
+ // this.user = new User();
84
+ this.register = new Register();
85
+ this.confirmPassword = "";
86
+ }
87
+ }
88
+ else {
89
+ this.messageService.toast("Error: " + apiResponse.message);
90
+ }
91
+ }, (error) => {
92
+ this.isProcessing = false;
93
+ this.messageService.toast(this.httpService.Error(error));
94
+ });
95
+ }
96
+ viewProfile(userName) {
97
+ this.dataService.tmpProfileuserName = userName;
98
+ this.router.navigate(["home/user/profile"]);
99
+ }
100
+ }
101
+ CreateAccountComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CreateAccountComponent, deps: [{ token: i1.HttpService }, { token: i2.MessageService }, { token: i3.DataServiceLib }, { token: i4.AuthService }, { token: i5.Router }], target: i0.ɵɵFactoryTarget.Component });
102
+ CreateAccountComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CreateAccountComponent, selector: "spa-create-account", inputs: { appConfig: "appConfig" }, ngImport: i0, template: "<h4>Create User</h4>\r\n\r\n<hr/>\r\n\r\n<div class=\"container tin-grid\" style=\"font-size:14px; max-width: 70%;\">\r\n\r\n <spa-text id=\"txtUserName\" display=\"Username\" [(value)]=\"register.userName\"></spa-text>\r\n\r\n &nbsp;\r\n\r\n <spa-select id=\"cboAuth\" display=\"Authentication Type\" [options]=\"authTypes\" optionDisplay=\"name\" optionValue=\"value\" [(value)]=\"register.authType\" (valueChange)=\"check()\" ></spa-select>\r\n\r\n &nbsp;\r\n\r\n <spa-text id=\"txtFirstName\" display=\"FirstName\" [(value)]=\"register.firstName\" [readonly]=\"register.authType =='AD'\"></spa-text>\r\n\r\n <spa-text id=\"txtLastName\" display=\"LastName\" [(value)]=\"register.lastName\" [readonly]=\"register.authType =='AD'\"></spa-text>\r\n\r\n\r\n <spa-text *ngIf=\"register.authType == 'local'\" id=\"txtPassword\" display=\"Password\" format=\"password\" [(value)]=\"register.password\" ></spa-text>\r\n\r\n <spa-text *ngIf=\"register.authType == 'local'\" id=\"txtConfirmPassword\" display=\"Confirm Password\" format=\"password\" [(value)]=\"confirmPassword\" ></spa-text>\r\n\r\n <spa-text id=\"txtEmail\" display=\"Email\" [(value)]=\"register.email\"></spa-text>\r\n\r\n &nbsp;\r\n\r\n <spa-select id=\"cboRole\" display=\"Role\" [options]=\"roles\" optionDisplay=\"roleName\" optionValue=\"roleID\" [(value)]=\"register.roleID\"></spa-select>\r\n\r\n &nbsp;\r\n\r\n <spa-check display=\"Open profile after creation\" [(value)]=\"openProfile\"></spa-check>\r\n\r\n <div class=\"span-col-center\">\r\n <button id=\"btnCreate\" [disabled]=\"register.authType ==''\" mat-raised-button color=\"primary\" (click)=\"create()\" cdkFocusInitial>Create</button>\r\n </div>\r\n\r\n\r\n\r\n</div>\r\n\r\n\r\n", styles: [""], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.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: i8.TextComponent, selector: "spa-text", inputs: ["readonly", "hint", "display", "placeholder", "value", "format", "type", "rows", "width", "options", "optionValue", "required", "min", "max", "regex", "suffix", "infoMessage"], outputs: ["valueChange", "leave", "enterPress", "infoClick"] }, { kind: "component", type: i9.SelectComponent, selector: "spa-select", inputs: ["width", "readonly", "required", "defaultFirstValue", "readonlyMode", "hint", "placeholder", "multiple", "display", "value", "options", "masterOptions", "optionValue", "optionDisplay", "optionDisplayExtra", "nullable", "peekConfig", "infoMessage"], outputs: ["valueChange", "infoClick"] }, { kind: "component", type: i10.CheckComponent, selector: "spa-check", inputs: ["readonly", "display", "value", "infoMessage"], outputs: ["valueChange", "click", "check", "uncheck", "infoClick"] }] });
103
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CreateAccountComponent, decorators: [{
104
+ type: Component,
105
+ args: [{ selector: 'spa-create-account', template: "<h4>Create User</h4>\r\n\r\n<hr/>\r\n\r\n<div class=\"container tin-grid\" style=\"font-size:14px; max-width: 70%;\">\r\n\r\n <spa-text id=\"txtUserName\" display=\"Username\" [(value)]=\"register.userName\"></spa-text>\r\n\r\n &nbsp;\r\n\r\n <spa-select id=\"cboAuth\" display=\"Authentication Type\" [options]=\"authTypes\" optionDisplay=\"name\" optionValue=\"value\" [(value)]=\"register.authType\" (valueChange)=\"check()\" ></spa-select>\r\n\r\n &nbsp;\r\n\r\n <spa-text id=\"txtFirstName\" display=\"FirstName\" [(value)]=\"register.firstName\" [readonly]=\"register.authType =='AD'\"></spa-text>\r\n\r\n <spa-text id=\"txtLastName\" display=\"LastName\" [(value)]=\"register.lastName\" [readonly]=\"register.authType =='AD'\"></spa-text>\r\n\r\n\r\n <spa-text *ngIf=\"register.authType == 'local'\" id=\"txtPassword\" display=\"Password\" format=\"password\" [(value)]=\"register.password\" ></spa-text>\r\n\r\n <spa-text *ngIf=\"register.authType == 'local'\" id=\"txtConfirmPassword\" display=\"Confirm Password\" format=\"password\" [(value)]=\"confirmPassword\" ></spa-text>\r\n\r\n <spa-text id=\"txtEmail\" display=\"Email\" [(value)]=\"register.email\"></spa-text>\r\n\r\n &nbsp;\r\n\r\n <spa-select id=\"cboRole\" display=\"Role\" [options]=\"roles\" optionDisplay=\"roleName\" optionValue=\"roleID\" [(value)]=\"register.roleID\"></spa-select>\r\n\r\n &nbsp;\r\n\r\n <spa-check display=\"Open profile after creation\" [(value)]=\"openProfile\"></spa-check>\r\n\r\n <div class=\"span-col-center\">\r\n <button id=\"btnCreate\" [disabled]=\"register.authType ==''\" mat-raised-button color=\"primary\" (click)=\"create()\" cdkFocusInitial>Create</button>\r\n </div>\r\n\r\n\r\n\r\n</div>\r\n\r\n\r\n" }]
106
+ }], ctorParameters: function () { return [{ type: i1.HttpService }, { type: i2.MessageService }, { type: i3.DataServiceLib }, { type: i4.AuthService }, { type: i5.Router }]; }, propDecorators: { appConfig: [{
107
+ type: Input
108
+ }] } });
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWFjY291bnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvY3JlYXRlLWFjY291bnQvY3JlYXRlLWFjY291bnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvY3JlYXRlLWFjY291bnQvY3JlYXRlLWFjY291bnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHekQsT0FBTyxFQUFXLFNBQVMsRUFBRSxRQUFRLEVBQWUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7O0FBU2xGLE1BQU0sT0FBTyxzQkFBc0I7SUFFakMsWUFBb0IsV0FBd0IsRUFBVSxjQUE4QixFQUFVLFdBQTJCLEVBQVUsV0FBd0IsRUFBUyxNQUFjO1FBQTlKLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBU3pLLGNBQVMsR0FBRyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBRXJDLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLGFBQVEsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBRTFCLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBRTVCLGNBQVMsR0FBRztZQUNWLEVBQUUsSUFBSSxFQUFFLHNCQUFzQixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7WUFDaEQsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtTQUMzQyxDQUFBO0lBbkJxTCxDQUFD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USxDQUFDLFFBQVEsQ0FBQyxDQUFDO2lCQUMxQztxQkFBTTtvQkFDTCwwQkFBMEI7b0JBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztvQkFDL0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7aUJBQzNCO2FBR0Y7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUM1RDtRQUNILENBQUMsRUFDRCxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDMUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMzRCxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBZ0I7UUFFMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsR0FBRyxRQUFRLENBQUM7UUFDL0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7SUFFOUMsQ0FBQzs7bUhBbkhVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLDhGQ2JuQyxzc0RBMENBOzJGRDdCYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0Usb0JBQW9COzJNQWVyQixTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YVNlcnZpY2VMaWIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kYXRhbGliLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IFByb2ZpbGUsIEFwcENvbmZpZywgUmVnaXN0ZXIsIEFwaVJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9DbGFzc2VzJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgSHR0cFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9odHRwLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzcGEtY3JlYXRlLWFjY291bnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jcmVhdGUtYWNjb3VudC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY3JlYXRlLWFjY291bnQuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDcmVhdGVBY2NvdW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwU2VydmljZTogSHR0cFNlcnZpY2UsIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLCBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZUxpYiwgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsIHB1YmxpYyByb3V0ZXI6IFJvdXRlcikgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5hcHBDb25maWcgPSB0aGlzLmRhdGFTZXJ2aWNlLmFwcENvbmZpZztcclxuICAgIHRoaXMubG9hZFJvbGVzKCk7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIEBJbnB1dCgpIGFwcENvbmZpZyA9IG5ldyBBcHBDb25maWcoKTtcclxuXHJcbiAgaXNQcm9jZXNzaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcmVnaXN0ZXIgPSBuZXcgUmVnaXN0ZXIoKTtcclxuICBjb25maXJtUGFzc3dvcmQ6IHN0cmluZztcclxuICBvcGVuUHJvZmlsZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIGF1dGhUeXBlcyA9IFtcclxuICAgIHsgbmFtZTogXCJMb2NhbCBBdXRoZW50aWNhdGlvblwiLCB2YWx1ZTogXCJsb2NhbFwiIH0sXHJcbiAgICB7IG5hbWU6IFwiQUQgQXV0aGVudGljYXRpb25cIiwgdmFsdWU6IFwiQURcIiB9XHJcbiAgXVxyXG5cclxuICByb2xlcztcclxuXHJcbiAgY2hlY2soKXtcclxuXHJcbiAgICBpZiAoIHRoaXMucmVnaXN0ZXIuYXV0aFR5cGUgIT0gXCJBRFwiKSB7XHJcblxyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMucmVnaXN0ZXIudXNlck5hbWUgPT0gXCJcIil7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJQbGVhc2UgZW50ZXIgVXNlck5hbWVcIilcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZGF0YVNlcnZpY2UuQ2FsbEFwaSh7dXJsOiAnVXNlci9hZC8nICsgdGhpcy5yZWdpc3Rlci51c2VyTmFtZX0sICcnKS5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlIDogQXBpUmVzcG9uc2UpID0+IHtcclxuXHJcbiAgICAgIGlmIChhcGlSZXNwb25zZS5zdWNjZXNzKXtcclxuICAgICAgICB0aGlzLnJlZ2lzdGVyLmZpcnN0TmFtZSA9IGFwaVJlc3BvbnNlLmRhdGEuZmlyc3ROYW1lO1xyXG4gICAgICAgIHRoaXMucmVnaXN0ZXIubGFzdE5hbWUgPSBhcGlSZXNwb25zZS5kYXRhLnN1cm5hbWU7XHJcbiAgICAgICAgdGhpcy5yZWdpc3Rlci5lbWFpbCA9IGFwaVJlc3BvbnNlLmRhdGEuZW1haWxBZGRyZXNzO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2V7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChhcGlSZXNwb25zZS5tZXNzYWdlKVxyXG4gICAgICB9XHJcblxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGxvYWRSb2xlcygpIHtcclxuXHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLkdldFJvbGUoXCJhbGxcIiwgXCJcIikuc3Vic2NyaWJlKFxyXG4gICAgICAoYXBpUmVzcG9uc2U6IEFwaVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5yb2xlcyA9IGFwaVJlc3BvbnNlO1xyXG4gICAgICB9LFxyXG4gICAgICAoZXJyb3IpID0+IHtcclxuICAgICAgICB0aGlzLmlzUHJvY2Vzc2luZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QodGhpcy5odHRwU2VydmljZS5FcnJvcihlcnJvcikpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG5cclxuICB9XHJcblxyXG4gIGNyZWF0ZSgpIHtcclxuXHJcbiAgICBpZiAodGhpcy5yZWdpc3Rlci5hdXRoVHlwZSA9PSBcIlwiKSB7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJDaG9vc2UgQXV0aGVudGljYXRpb24gVHlwZVwiKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnJlZ2lzdGVyLmZpcnN0TmFtZSA9PSBcIlwiKSB7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJFbnRlciBGaXJzdCBOYW1lXCIpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMucmVnaXN0ZXIubGFzdE5hbWUgPT0gXCJcIikge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRW50ZXIgTGFzdCBOYW1lXCIpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHRoaXMuaXNQcm9jZXNzaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuZGF0YVNlcnZpY2UuUmVnaXN0ZXJBY2NvdW50KHRoaXMucmVnaXN0ZXIpLnN1YnNjcmliZSgoYXBpUmVzcG9uc2U6IEFwaVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc1Byb2Nlc3NpbmcgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgaWYgKGFwaVJlc3BvbnNlLnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJBY2NvdW50IENyZWF0ZWRcIik7XHJcblxyXG4gICAgICAgICAgaWYgKHRoaXMub3BlblByb2ZpbGUpIHtcclxuICAgICAgICAgICAgdGhpcy52aWV3UHJvZmlsZSh0aGlzLnJlZ2lzdGVyLnVzZXJOYW1lKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIHRoaXMudXNlciA9IG5ldyBVc2VyKCk7XHJcbiAgICAgICAgICAgIHRoaXMucmVnaXN0ZXIgPSBuZXcgUmVnaXN0ZXIoKTtcclxuICAgICAgICAgICAgdGhpcy5jb25maXJtUGFzc3dvcmQgPSBcIlwiO1xyXG4gICAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJFcnJvcjogXCIgKyBhcGlSZXNwb25zZS5tZXNzYWdlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIChlcnJvcikgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNQcm9jZXNzaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdCh0aGlzLmh0dHBTZXJ2aWNlLkVycm9yKGVycm9yKSk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICB2aWV3UHJvZmlsZSh1c2VyTmFtZTogc3RyaW5nKSB7XHJcblxyXG4gICAgdGhpcy5kYXRhU2VydmljZS50bXBQcm9maWxldXNlck5hbWUgPSB1c2VyTmFtZTtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcImhvbWUvdXNlci9wcm9maWxlXCJdKTtcclxuXHJcbiAgfVxyXG5cclxufVxyXG4iLCI8aDQ+Q3JlYXRlIFVzZXI8L2g0PlxyXG5cclxuPGhyLz5cclxuXHJcbjxkaXYgY2xhc3M9XCJjb250YWluZXIgdGluLWdyaWRcIiBzdHlsZT1cImZvbnQtc2l6ZToxNHB4OyBtYXgtd2lkdGg6IDcwJTtcIj5cclxuXHJcbiAgPHNwYS10ZXh0IGlkPVwidHh0VXNlck5hbWVcIiBkaXNwbGF5PVwiVXNlcm5hbWVcIiBbKHZhbHVlKV09XCJyZWdpc3Rlci51c2VyTmFtZVwiPjwvc3BhLXRleHQ+XHJcblxyXG4gICZuYnNwO1xyXG5cclxuICA8c3BhLXNlbGVjdCBpZD1cImNib0F1dGhcIiBkaXNwbGF5PVwiQXV0aGVudGljYXRpb24gVHlwZVwiIFtvcHRpb25zXT1cImF1dGhUeXBlc1wiIG9wdGlvbkRpc3BsYXk9XCJuYW1lXCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiIFsodmFsdWUpXT1cInJlZ2lzdGVyLmF1dGhUeXBlXCIgKHZhbHVlQ2hhbmdlKT1cImNoZWNrKClcIiA+PC9zcGEtc2VsZWN0PlxyXG5cclxuICAmbmJzcDtcclxuXHJcbiAgPHNwYS10ZXh0IGlkPVwidHh0Rmlyc3ROYW1lXCIgZGlzcGxheT1cIkZpcnN0TmFtZVwiIFsodmFsdWUpXT1cInJlZ2lzdGVyLmZpcnN0TmFtZVwiIFtyZWFkb25seV09XCJyZWdpc3Rlci5hdXRoVHlwZSA9PSdBRCdcIj48L3NwYS10ZXh0PlxyXG5cclxuICA8c3BhLXRleHQgaWQ9XCJ0eHRMYXN0TmFtZVwiIGRpc3BsYXk9XCJMYXN0TmFtZVwiIFsodmFsdWUpXT1cInJlZ2lzdGVyLmxhc3ROYW1lXCIgW3JlYWRvbmx5XT1cInJlZ2lzdGVyLmF1dGhUeXBlID09J0FEJ1wiPjwvc3BhLXRleHQ+XHJcblxyXG5cclxuICA8c3BhLXRleHQgKm5nSWY9XCJyZWdpc3Rlci5hdXRoVHlwZSA9PSAnbG9jYWwnXCIgaWQ9XCJ0eHRQYXNzd29yZFwiIGRpc3BsYXk9XCJQYXNzd29yZFwiIGZvcm1hdD1cInBhc3N3b3JkXCIgWyh2YWx1ZSldPVwicmVnaXN0ZXIucGFzc3dvcmRcIiA+PC9zcGEtdGV4dD5cclxuXHJcbiAgPHNwYS10ZXh0ICpuZ0lmPVwicmVnaXN0ZXIuYXV0aFR5cGUgPT0gJ2xvY2FsJ1wiIGlkPVwidHh0Q29uZmlybVBhc3N3b3JkXCIgZGlzcGxheT1cIkNvbmZpcm0gUGFzc3dvcmRcIiBmb3JtYXQ9XCJwYXNzd29yZFwiIFsodmFsdWUpXT1cImNvbmZpcm1QYXNzd29yZFwiID48L3NwYS10ZXh0PlxyXG5cclxuICA8c3BhLXRleHQgaWQ9XCJ0eHRFbWFpbFwiIGRpc3BsYXk9XCJFbWFpbFwiIFsodmFsdWUpXT1cInJlZ2lzdGVyLmVtYWlsXCI+PC9zcGEtdGV4dD5cclxuXHJcbiAgJm5ic3A7XHJcblxyXG4gIDxzcGEtc2VsZWN0IGlkPVwiY2JvUm9sZVwiIGRpc3BsYXk9XCJSb2xlXCIgW29wdGlvbnNdPVwicm9sZXNcIiBvcHRpb25EaXNwbGF5PVwicm9sZU5hbWVcIiBvcHRpb25WYWx1ZT1cInJvbGVJRFwiIFsodmFsdWUpXT1cInJlZ2lzdGVyLnJvbGVJRFwiPjwvc3BhLXNlbGVjdD5cclxuXHJcbiAgJm5ic3A7XHJcblxyXG4gIDxzcGEtY2hlY2sgZGlzcGxheT1cIk9wZW4gcHJvZmlsZSBhZnRlciBjcmVhdGlvblwiIFsodmFsdWUpXT1cIm9wZW5Qcm9maWxlXCI+PC9zcGEtY2hlY2s+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJzcGFuLWNvbC1jZW50ZXJcIj5cclxuICAgIDxidXR0b24gaWQ9XCJidG5DcmVhdGVcIiBbZGlzYWJsZWRdPVwicmVnaXN0ZXIuYXV0aFR5cGUgPT0nJ1wiIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJjcmVhdGUoKVwiIGNka0ZvY3VzSW5pdGlhbD5DcmVhdGU8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuXHJcblxyXG5cclxuPC9kaXY+XHJcblxyXG5cclxuIl19
@@ -0,0 +1,60 @@
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 "../table/table.component";
7
+ export class CustomersComponent {
8
+ constructor(dataService, messageService, authService) {
9
+ this.dataService = dataService;
10
+ this.messageService = messageService;
11
+ this.authService = authService;
12
+ this.formConfig = {
13
+ fields: [
14
+ { name: 'name', type: 'text' },
15
+ { name: 'phone', type: 'text' },
16
+ { name: 'contactPerson', type: 'text' },
17
+ { name: 'email', type: 'text' },
18
+ { name: 'address', type: 'text', rows: 2, span: true },
19
+ { name: 'customerTenantID', alias: 'Customer Tenant', type: 'select', optionDisplay: 'name', optionValue: 'tenantID', options: [], nullable: true },
20
+ ],
21
+ reset: true,
22
+ };
23
+ this.config = {
24
+ showFilter: true,
25
+ minColumns: ['name'],
26
+ flatButtons: true,
27
+ columns: [
28
+ { name: 'name', type: 'text' },
29
+ { name: 'phone', type: 'text' },
30
+ { name: 'contactPerson', type: 'text' },
31
+ { name: 'isLinked', type: 'checkbox', alias: 'Linked' },
32
+ ],
33
+ buttons: [
34
+ { name: 'create', display: 'Create', dialog: true, action: { url: 'general/customers?action=create', method: 'post' } },
35
+ { name: 'view', dialog: true },
36
+ { name: 'edit', dialog: true, action: { url: 'general/customers?action=edit', method: 'post' } },
37
+ { name: 'delete', dialog: true, action: { url: 'general/customers?action=delete', method: 'post' } },
38
+ ],
39
+ loadAction: { url: 'general/customers/x' },
40
+ formConfig: this.formConfig
41
+ };
42
+ }
43
+ ngOnInit() {
44
+ this.loadTenants();
45
+ }
46
+ loadTenants() {
47
+ this.dataService.CallApi({ url: 'tenant/available_tenants/x' }).subscribe((apiResponse) => {
48
+ if (apiResponse.success) {
49
+ this.formConfig.fields.find(x => x.name == 'customerTenantID').options = apiResponse.data;
50
+ }
51
+ });
52
+ }
53
+ }
54
+ CustomersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CustomersComponent, deps: [{ token: i1.DataServiceLib }, { token: i2.MessageService }, { token: i3.AuthService }], target: i0.ɵɵFactoryTarget.Component });
55
+ CustomersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CustomersComponent, selector: "spa-customers", ngImport: i0, template: "<h4>Customers</h4>\n<hr>\n\n\n<div class=\"mt-3\" style=\" font-size: 14px;\">\n <spa-table [config]=\"config\"></spa-table>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i4.TableComponent, selector: "spa-table", inputs: ["hideTitle", "data", "config", "reload"], outputs: ["dataLoad", "refreshClick", "searchClick", "createClick", "actionClick", "inputChange"] }] });
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CustomersComponent, decorators: [{
57
+ type: Component,
58
+ args: [{ selector: 'spa-customers', template: "<h4>Customers</h4>\n<hr>\n\n\n<div class=\"mt-3\" style=\" font-size: 14px;\">\n <spa-table [config]=\"config\"></spa-table>\n</div>\n" }]
59
+ }], ctorParameters: function () { return [{ type: i1.DataServiceLib }, { type: i2.MessageService }, { type: i3.AuthService }]; } });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9jb21wb25lbnRzL2N1c3RvbWVycy9jdXN0b21lcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tZXJzL2N1c3RvbWVycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFXbEQsTUFBTSxPQUFPLGtCQUFrQjtJQUU3QixZQUFvQixXQUEyQixFQUFVLGNBQThCLEVBQVMsV0FBd0I7UUFBcEcsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFjeEgsZUFBVSxHQUFlO1lBRXZCLE1BQU0sRUFBRTtnQkFDTixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtnQkFDOUIsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7Z0JBQy9CLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO2dCQUN2QyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtnQkFDL0IsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFHLENBQUMsRUFBRSxJQUFJLEVBQUcsSUFBSSxFQUFFO2dCQUN4RCxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUcsSUFBSSxFQUFFO2FBQ3JKO1lBRUQsS0FBSyxFQUFFLElBQUk7U0FDWixDQUFBO1FBRUQsV0FBTSxHQUFnQjtZQUNwQixVQUFVLEVBQUUsSUFBSTtZQUNoQixVQUFVLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDcEIsV0FBVyxFQUFFLElBQUk7WUFFakIsT0FBTyxFQUFFO2dCQUVQLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO2dCQUM5QixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtnQkFDL0IsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7Z0JBQ3ZDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUU7YUFFeEQ7WUFFRCxPQUFPLEVBQUU7Z0JBQ1AsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUFFO2dCQUN2SCxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDOUIsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLCtCQUErQixFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRTtnQkFDaEcsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRTthQUNyRztZQUVELFVBQVUsRUFBRSxFQUFFLEdBQUcsRUFBRSxxQkFBcUIsRUFBRTtZQUUxQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7U0FFNUIsQ0FBQTtJQXJEMkgsQ0FBQztJQUU3SCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsNEJBQTRCLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQXdCLEVBQUUsRUFBRTtZQUNyRyxJQUFJLFdBQVcsQ0FBQyxPQUFPLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksa0JBQWtCLENBQUMsQ0FBQyxPQUFPLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQzthQUMzRjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7K0dBZFUsa0JBQWtCO21HQUFsQixrQkFBa0IscURDWC9CLHlJQU9BOzJGRElhLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2VMaWIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kYXRhbGliLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcGlSZXNwb25zZSwgRm9ybUNvbmZpZywgVGFibGVDb25maWcgfSBmcm9tICcuLi8uLi9jbGFzc2VzL0NsYXNzZXMnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3BhLWN1c3RvbWVycycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbWVycy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY3VzdG9tZXJzLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3VzdG9tZXJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2VMaWIsIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLCBwdWJsaWMgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvYWRUZW5hbnRzKCk7XHJcbiAgfVxyXG5cclxuICBsb2FkVGVuYW50cygpIHtcclxuICAgIHRoaXMuZGF0YVNlcnZpY2UuQ2FsbEFwaSh7IHVybDogJ3RlbmFudC9hdmFpbGFibGVfdGVuYW50cy94JyB9KS5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlOiBBcGlSZXNwb25zZSkgPT4ge1xyXG4gICAgICBpZiAoYXBpUmVzcG9uc2Uuc3VjY2Vzcykge1xyXG4gICAgICAgIHRoaXMuZm9ybUNvbmZpZy5maWVsZHMuZmluZCh4ID0+IHgubmFtZSA9PSAnY3VzdG9tZXJUZW5hbnRJRCcpLm9wdGlvbnMgPSBhcGlSZXNwb25zZS5kYXRhO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGZvcm1Db25maWc6IEZvcm1Db25maWcgPSB7XHJcblxyXG4gICAgZmllbGRzOiBbXHJcbiAgICAgIHsgbmFtZTogJ25hbWUnLCB0eXBlOiAndGV4dCcgfSxcclxuICAgICAgeyBuYW1lOiAncGhvbmUnLCB0eXBlOiAndGV4dCcgfSxcclxuICAgICAgeyBuYW1lOiAnY29udGFjdFBlcnNvbicsIHR5cGU6ICd0ZXh0JyB9LFxyXG4gICAgICB7IG5hbWU6ICdlbWFpbCcsIHR5cGU6ICd0ZXh0JyB9LFxyXG4gICAgICB7IG5hbWU6ICdhZGRyZXNzJywgdHlwZTogJ3RleHQnLCByb3dzIDogMiwgc3BhbiA6IHRydWUgfSxcclxuICAgICAgeyBuYW1lOiAnY3VzdG9tZXJUZW5hbnRJRCcsIGFsaWFzOiAnQ3VzdG9tZXIgVGVuYW50JywgdHlwZTogJ3NlbGVjdCcsIG9wdGlvbkRpc3BsYXk6ICduYW1lJywgb3B0aW9uVmFsdWU6ICd0ZW5hbnRJRCcsIG9wdGlvbnM6IFtdLCBudWxsYWJsZSA6IHRydWUgfSxcclxuICAgIF0sXHJcblxyXG4gICAgcmVzZXQ6IHRydWUsXHJcbiAgfVxyXG5cclxuICBjb25maWc6IFRhYmxlQ29uZmlnID0ge1xyXG4gICAgc2hvd0ZpbHRlcjogdHJ1ZSxcclxuICAgIG1pbkNvbHVtbnM6IFsnbmFtZSddLFxyXG4gICAgZmxhdEJ1dHRvbnM6IHRydWUsXHJcblxyXG4gICAgY29sdW1uczogW1xyXG5cclxuICAgICAgeyBuYW1lOiAnbmFtZScsIHR5cGU6ICd0ZXh0JyB9LFxyXG4gICAgICB7IG5hbWU6ICdwaG9uZScsIHR5cGU6ICd0ZXh0JyB9LFxyXG4gICAgICB7IG5hbWU6ICdjb250YWN0UGVyc29uJywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgIHsgbmFtZTogJ2lzTGlua2VkJywgdHlwZTogJ2NoZWNrYm94JywgYWxpYXM6ICdMaW5rZWQnIH0sXHJcblxyXG4gICAgXSxcclxuXHJcbiAgICBidXR0b25zOiBbXHJcbiAgICAgIHsgbmFtZTogJ2NyZWF0ZScsIGRpc3BsYXk6ICdDcmVhdGUnLCBkaWFsb2c6IHRydWUsIGFjdGlvbjogeyB1cmw6ICdnZW5lcmFsL2N1c3RvbWVycz9hY3Rpb249Y3JlYXRlJywgbWV0aG9kOiAncG9zdCcgfSB9LFxyXG4gICAgICB7IG5hbWU6ICd2aWV3JywgZGlhbG9nOiB0cnVlIH0sXHJcbiAgICAgIHsgbmFtZTogJ2VkaXQnLCBkaWFsb2c6IHRydWUsIGFjdGlvbjogeyB1cmw6ICdnZW5lcmFsL2N1c3RvbWVycz9hY3Rpb249ZWRpdCcsIG1ldGhvZDogJ3Bvc3QnIH0gfSxcclxuICAgICAgeyBuYW1lOiAnZGVsZXRlJywgZGlhbG9nOiB0cnVlLCBhY3Rpb246IHsgdXJsOiAnZ2VuZXJhbC9jdXN0b21lcnM/YWN0aW9uPWRlbGV0ZScsIG1ldGhvZDogJ3Bvc3QnIH0gfSxcclxuICAgIF0sXHJcblxyXG4gICAgbG9hZEFjdGlvbjogeyB1cmw6ICdnZW5lcmFsL2N1c3RvbWVycy94JyB9LFxyXG5cclxuICAgIGZvcm1Db25maWc6IHRoaXMuZm9ybUNvbmZpZ1xyXG5cclxuICB9XHJcblxyXG59XHJcbiIsIjxoND5DdXN0b21lcnM8L2g0PlxuPGhyPlxuXG5cbjxkaXYgY2xhc3M9XCJtdC0zXCIgc3R5bGU9XCIgZm9udC1zaXplOiAxNHB4O1wiPlxuICA8c3BhLXRhYmxlIFtjb25maWddPVwiY29uZmlnXCI+PC9zcGEtdGFibGU+XG48L2Rpdj5cbiJdfQ==
@@ -36,28 +36,26 @@ export class DateComponent {
36
36
  this.updateControlState();
37
37
  }
38
38
  if (changes['value']) {
39
- this.control?.setValue(this.value ? new Date(this.value) : null);
39
+ this.control.setValue(new Date(this.value));
40
40
  }
41
41
  }
42
42
  initializeDateControls() {
43
43
  this.minDate = new FormControl(new Date(this.min));
44
44
  this.maxDate = new FormControl(new Date(this.max));
45
- const initialValue = this.value ? new Date(this.value) : null;
46
- this.control = new FormControl({ value: initialValue, disabled: this.readonly });
45
+ this.control = new FormControl({ value: new Date(this.value), disabled: this.readonly });
47
46
  this.updateControlState();
48
47
  setTimeout(() => this.onChangeEvent(), 5);
49
48
  }
50
49
  updateControlState() {
51
50
  if (this.readonly) {
52
- this.control?.disable();
51
+ this.control.disable();
53
52
  }
54
53
  else {
55
- this.control?.enable();
54
+ this.control.enable();
56
55
  }
57
56
  }
58
57
  onChangeEvent() {
59
- const controlValue = this.control.value;
60
- const formattedDate = controlValue ? Core.getFormatedDate2(controlValue, true) : null;
58
+ const formattedDate = Core.getFormatedDate2(this.control.value, true);
61
59
  this.valueChange.emit(formattedDate);
62
60
  }
63
61
  validate(control) {
@@ -71,10 +69,10 @@ export class DateComponent {
71
69
  }
72
70
  }
73
71
  DateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
74
- DateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DateComponent, selector: "spa-date", inputs: { required: "required", min: "min", max: "max", readonly: "readonly", hint: "hint", value: "value", display: "display", placeholder: "placeholder", width: "width", infoMessage: "infoMessage" }, outputs: { valueChange: "valueChange", infoClick: "infoClick" }, usesOnChanges: true, ngImport: i0, template: "\r\n<mat-form-field [ngStyle]=\"{'width':width ?? '100%'}\">\r\n <input [formControl]=\"control\" [min]=\"minDate.value\" [max]=\"maxDate.value\" matInput [matDatepicker]=\"picker_date\" (dateInput)=\"onChangeEvent()\" [placeholder]=\"display\" [readonly]=\"true\">\r\n <mat-datepicker-toggle matSuffix [for]=\"picker_date\"></mat-datepicker-toggle>\r\n <mat-datepicker #picker_date></mat-datepicker>\r\n <mat-error *ngIf=\"control.invalid\">{{validate(control)}}</mat-error>\r\n <div matSuffix class=\"suffix-icons\">\r\n <button mat-icon-button *ngIf=\"infoMessage\" (click)=\"onInfoClick($event)\" matTooltip=\"Info\" matTooltipPosition=\"above\" >\r\n <mat-icon style=\"color: steelblue;\">info</mat-icon>\r\n </button>\r\n </div>\r\n</mat-form-field>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.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: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i6.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: "directive", type: i7.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i8.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i8.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i8.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }] });
72
+ DateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DateComponent, selector: "spa-date", inputs: { required: "required", min: "min", max: "max", readonly: "readonly", hint: "hint", value: "value", display: "display", placeholder: "placeholder", width: "width", infoMessage: "infoMessage" }, outputs: { valueChange: "valueChange", infoClick: "infoClick" }, usesOnChanges: true, ngImport: i0, template: "\r\n<mat-form-field [ngStyle]=\"{'width':width}\">\r\n <input [formControl]=\"control\" [min]=\"minDate.value\" [max]=\"maxDate.value\" matInput [matDatepicker]=\"picker_date\" (dateInput)=\"onChangeEvent()\" [placeholder]=\"display\" [readonly]=\"true\">\r\n <mat-datepicker-toggle matSuffix [for]=\"picker_date\"></mat-datepicker-toggle>\r\n <mat-datepicker #picker_date></mat-datepicker>\r\n <mat-error *ngIf=\"control.invalid\">{{validate(control)}}</mat-error>\r\n <div matSuffix class=\"suffix-icons\">\r\n <button mat-icon-button *ngIf=\"infoMessage\" (click)=\"onInfoClick($event)\" matTooltip=\"Info\" matTooltipPosition=\"above\" >\r\n <mat-icon style=\"color: steelblue;\">info</mat-icon>\r\n </button>\r\n </div>\r\n</mat-form-field>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.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: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i6.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: "directive", type: i7.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i8.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i8.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i8.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }] });
75
73
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DateComponent, decorators: [{
76
74
  type: Component,
77
- args: [{ selector: 'spa-date', template: "\r\n<mat-form-field [ngStyle]=\"{'width':width ?? '100%'}\">\r\n <input [formControl]=\"control\" [min]=\"minDate.value\" [max]=\"maxDate.value\" matInput [matDatepicker]=\"picker_date\" (dateInput)=\"onChangeEvent()\" [placeholder]=\"display\" [readonly]=\"true\">\r\n <mat-datepicker-toggle matSuffix [for]=\"picker_date\"></mat-datepicker-toggle>\r\n <mat-datepicker #picker_date></mat-datepicker>\r\n <mat-error *ngIf=\"control.invalid\">{{validate(control)}}</mat-error>\r\n <div matSuffix class=\"suffix-icons\">\r\n <button mat-icon-button *ngIf=\"infoMessage\" (click)=\"onInfoClick($event)\" matTooltip=\"Info\" matTooltipPosition=\"above\" >\r\n <mat-icon style=\"color: steelblue;\">info</mat-icon>\r\n </button>\r\n </div>\r\n</mat-form-field>\r\n" }]
75
+ args: [{ selector: 'spa-date', template: "\r\n<mat-form-field [ngStyle]=\"{'width':width}\">\r\n <input [formControl]=\"control\" [min]=\"minDate.value\" [max]=\"maxDate.value\" matInput [matDatepicker]=\"picker_date\" (dateInput)=\"onChangeEvent()\" [placeholder]=\"display\" [readonly]=\"true\">\r\n <mat-datepicker-toggle matSuffix [for]=\"picker_date\"></mat-datepicker-toggle>\r\n <mat-datepicker #picker_date></mat-datepicker>\r\n <mat-error *ngIf=\"control.invalid\">{{validate(control)}}</mat-error>\r\n <div matSuffix class=\"suffix-icons\">\r\n <button mat-icon-button *ngIf=\"infoMessage\" (click)=\"onInfoClick($event)\" matTooltip=\"Info\" matTooltipPosition=\"above\" >\r\n <mat-icon style=\"color: steelblue;\">info</mat-icon>\r\n </button>\r\n </div>\r\n</mat-form-field>\r\n" }]
78
76
  }], propDecorators: { required: [{
79
77
  type: Input
80
78
  }], min: [{
@@ -100,4 +98,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
100
98
  }], infoClick: [{
101
99
  type: Output
102
100
  }] } });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90aW4tc3BhL3NyYy9saWIvY29tcG9uZW50cy9kYXRlL2RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvZGF0ZS9kYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxXQUFXLEVBQWMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7QUFPN0MsTUFBTSxPQUFPLGFBQWE7SUFMMUI7UUFNVyxhQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLFFBQUcsR0FBRyxZQUFZLENBQUM7UUFDbkIsUUFBRyxHQUFHLFlBQVksQ0FBQztRQUNuQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFNBQUksR0FBRyxFQUFFLENBQUM7UUFDVixVQUFLLEdBQWtCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFMUMsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLFVBQUssR0FBRyxNQUFNLENBQUM7UUFFZCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO1FBSWhELGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0tBZ0VoRDtJQTlEQyxXQUFXLENBQUMsS0FBaUI7UUFDM0IsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQU1ELFFBQVE7UUFDTixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1NBQzNCO1FBQ0QsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFHcEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNsRTtJQUNILENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLFdBQVcsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBSW5ELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzlELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUVqRixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMxQixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUM7U0FDekI7YUFBTTtZQUNMLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBRUQsYUFBYTtRQUdYLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ3hDLE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3RGLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxRQUFRLENBQUMsT0FBb0I7UUFDM0IsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEVBQUU7WUFDeEMsT0FBTyxtQkFBbUIsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQ3RDO1FBQ0QsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEVBQUU7WUFDeEMsT0FBTyxtQkFBbUIsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQ3RDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDOzswR0EvRVUsYUFBYTs4RkFBYixhQUFhLGdWQ1QxQiw4eEJBWUE7MkZESGEsYUFBYTtrQkFMekIsU0FBUzsrQkFDRSxVQUFVOzhCQUtYLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBR0UsV0FBVztzQkFBbkIsS0FBSztnQkFDSSxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDb3JlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9UaW5Db3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3BhLWRhdGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kYXRlLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSByZXF1aXJlZCA9IHRydWU7XHJcbiAgQElucHV0KCkgbWluID0gXCIxOTAwLTAxLTAxXCI7XHJcbiAgQElucHV0KCkgbWF4ID0gXCI5OTk5LTAxLTAxXCI7XHJcbiAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcclxuICBASW5wdXQoKSBoaW50ID0gXCJcIjtcclxuICBASW5wdXQoKSB2YWx1ZTogc3RyaW5nIHwgbnVsbCA9IENvcmUubm93RGF0ZSh0cnVlKTtcclxuXHJcbiAgQElucHV0KCkgZGlzcGxheSA9IFwiXCI7XHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIHdpZHRoID0gXCIxMDAlXCI7XHJcblxyXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4oKTtcclxuXHJcblxyXG4gIEBJbnB1dCgpIGluZm9NZXNzYWdlOiBzdHJpbmc7XHJcbiAgQE91dHB1dCgpIGluZm9DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgb25JbmZvQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5pbmZvQ2xpY2suZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgbWluRGF0ZTogRm9ybUNvbnRyb2w7XHJcbiAgbWF4RGF0ZTogRm9ybUNvbnRyb2w7XHJcbiAgY29udHJvbDogRm9ybUNvbnRyb2w7XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbml0aWFsaXplRGF0ZUNvbnRyb2xzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1sncmVhZG9ubHknXSkge1xyXG4gICAgICB0aGlzLnVwZGF0ZUNvbnRyb2xTdGF0ZSgpO1xyXG4gICAgfVxyXG4gICAgaWYgKGNoYW5nZXNbJ3ZhbHVlJ10pIHtcclxuXHJcblxyXG4gICAgICB0aGlzLmNvbnRyb2w/LnNldFZhbHVlKHRoaXMudmFsdWUgPyBuZXcgRGF0ZSh0aGlzLnZhbHVlKSA6IG51bGwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0aWFsaXplRGF0ZUNvbnRyb2xzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5taW5EYXRlID0gbmV3IEZvcm1Db250cm9sKG5ldyBEYXRlKHRoaXMubWluKSk7XHJcbiAgICB0aGlzLm1heERhdGUgPSBuZXcgRm9ybUNvbnRyb2wobmV3IERhdGUodGhpcy5tYXgpKTtcclxuICAgIFxyXG5cclxuXHJcbiAgICBjb25zdCBpbml0aWFsVmFsdWUgPSB0aGlzLnZhbHVlID8gbmV3IERhdGUodGhpcy52YWx1ZSkgOiBudWxsO1xyXG4gICAgdGhpcy5jb250cm9sID0gbmV3IEZvcm1Db250cm9sKHsgdmFsdWU6IGluaXRpYWxWYWx1ZSwgZGlzYWJsZWQ6IHRoaXMucmVhZG9ubHkgfSk7XHJcblxyXG4gICAgdGhpcy51cGRhdGVDb250cm9sU3RhdGUoKTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5vbkNoYW5nZUV2ZW50KCksIDUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVDb250cm9sU3RhdGUoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5yZWFkb25seSkge1xyXG4gICAgICB0aGlzLmNvbnRyb2w/LmRpc2FibGUoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY29udHJvbD8uZW5hYmxlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZUV2ZW50KCk6IHZvaWQge1xyXG5cclxuXHJcbiAgICBjb25zdCBjb250cm9sVmFsdWUgPSB0aGlzLmNvbnRyb2wudmFsdWU7XHJcbiAgICBjb25zdCBmb3JtYXR0ZWREYXRlID0gY29udHJvbFZhbHVlID8gQ29yZS5nZXRGb3JtYXRlZERhdGUyKGNvbnRyb2xWYWx1ZSwgdHJ1ZSkgOiBudWxsO1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KGZvcm1hdHRlZERhdGUpO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGUoY29udHJvbDogRm9ybUNvbnRyb2wpOiBzdHJpbmcge1xyXG4gICAgaWYgKGNvbnRyb2wuaGFzRXJyb3IoJ21hdERhdGVwaWNrZXJNaW4nKSkge1xyXG4gICAgICByZXR1cm4gYE1pbmltdW0gZGF0ZSBpcyAke3RoaXMubWlufWA7XHJcbiAgICB9XHJcbiAgICBpZiAoY29udHJvbC5oYXNFcnJvcignbWF0RGF0ZXBpY2tlck1heCcpKSB7XHJcbiAgICAgIHJldHVybiBgTWF4aW11bSBkYXRlIGlzICR7dGhpcy5tYXh9YDtcclxuICAgIH1cclxuICAgIHJldHVybiBcIlwiO1xyXG4gIH1cclxufVxyXG4iLCJcclxuPG1hdC1mb3JtLWZpZWxkIFtuZ1N0eWxlXT1cInsnd2lkdGgnOndpZHRoID8/ICcxMDAlJ31cIj5cclxuICA8aW5wdXQgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIiBbbWluXT1cIm1pbkRhdGUudmFsdWVcIiBbbWF4XT1cIm1heERhdGUudmFsdWVcIiBtYXRJbnB1dCBbbWF0RGF0ZXBpY2tlcl09XCJwaWNrZXJfZGF0ZVwiIChkYXRlSW5wdXQpPVwib25DaGFuZ2VFdmVudCgpXCIgW3BsYWNlaG9sZGVyXT1cImRpc3BsYXlcIiBbcmVhZG9ubHldPVwidHJ1ZVwiPlxyXG4gIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0U3VmZml4IFtmb3JdPVwicGlja2VyX2RhdGVcIj48L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cclxuICA8bWF0LWRhdGVwaWNrZXIgI3BpY2tlcl9kYXRlPjwvbWF0LWRhdGVwaWNrZXI+XHJcbiAgPG1hdC1lcnJvciAqbmdJZj1cImNvbnRyb2wuaW52YWxpZFwiPnt7dmFsaWRhdGUoY29udHJvbCl9fTwvbWF0LWVycm9yPlxyXG4gICAgICA8ZGl2IG1hdFN1ZmZpeCBjbGFzcz1cInN1ZmZpeC1pY29uc1wiPlxyXG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uICpuZ0lmPVwiaW5mb01lc3NhZ2VcIiAoY2xpY2spPVwib25JbmZvQ2xpY2soJGV2ZW50KVwiIG1hdFRvb2x0aXA9XCJJbmZvXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiA+XHJcbiAgICAgICAgICA8bWF0LWljb24gc3R5bGU9XCJjb2xvcjogc3RlZWxibHVlO1wiPmluZm88L21hdC1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuPC9tYXQtZm9ybS1maWVsZD5cclxuIl19
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90aW4tc3BhL3NyYy9saWIvY29tcG9uZW50cy9kYXRlL2RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvZGF0ZS9kYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxXQUFXLEVBQWMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7QUFPN0MsTUFBTSxPQUFPLGFBQWE7SUFMMUI7UUFNVyxhQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLFFBQUcsR0FBRyxZQUFZLENBQUM7UUFDbkIsUUFBRyxHQUFHLFlBQVksQ0FBQztRQUNuQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFNBQUksR0FBRyxFQUFFLENBQUM7UUFDVixVQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIsVUFBSyxHQUFHLE1BQU0sQ0FBQztRQUVkLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUd6QyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQXVEaEQ7SUFyREMsV0FBVyxDQUFDLEtBQWlCO1FBQzNCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFNRCxRQUFRO1FBQ04sSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUN2QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztTQUMzQjtRQUNELElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQzdDO0lBQ0gsQ0FBQztJQUVPLHNCQUFzQjtRQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLFdBQVcsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBRXpGLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUN4QjthQUFNO1lBQ0wsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUN2QjtJQUNILENBQUM7SUFFRCxhQUFhO1FBQ1gsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxRQUFRLENBQUMsT0FBb0I7UUFDM0IsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEVBQUU7WUFDeEMsT0FBTyxtQkFBbUIsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQ3RDO1FBQ0QsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEVBQUU7WUFDeEMsT0FBTyxtQkFBbUIsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQ3RDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDOzswR0FwRVUsYUFBYTs4RkFBYixhQUFhLGdWQ1QxQixveEJBWUE7MkZESGEsYUFBYTtrQkFMekIsU0FBUzsrQkFDRSxVQUFVOzhCQUtYLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBRUUsV0FBVztzQkFBbkIsS0FBSztnQkFDSSxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDb3JlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9UaW5Db3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3BhLWRhdGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kYXRlLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSByZXF1aXJlZCA9IHRydWU7XHJcbiAgQElucHV0KCkgbWluID0gXCIxOTAwLTAxLTAxXCI7XHJcbiAgQElucHV0KCkgbWF4ID0gXCI5OTk5LTAxLTAxXCI7XHJcbiAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcclxuICBASW5wdXQoKSBoaW50ID0gXCJcIjtcclxuICBASW5wdXQoKSB2YWx1ZSA9IENvcmUubm93RGF0ZSh0cnVlKTtcclxuICBASW5wdXQoKSBkaXNwbGF5ID0gXCJcIjtcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9IFwiXCI7XHJcbiAgQElucHV0KCkgd2lkdGggPSBcIjEwMCVcIjtcclxuXHJcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIEBJbnB1dCgpIGluZm9NZXNzYWdlOiBzdHJpbmc7XHJcbiAgQE91dHB1dCgpIGluZm9DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgb25JbmZvQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5pbmZvQ2xpY2suZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgbWluRGF0ZTogRm9ybUNvbnRyb2w7XHJcbiAgbWF4RGF0ZTogRm9ybUNvbnRyb2w7XHJcbiAgY29udHJvbDogRm9ybUNvbnRyb2w7XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbml0aWFsaXplRGF0ZUNvbnRyb2xzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1sncmVhZG9ubHknXSkge1xyXG4gICAgICB0aGlzLnVwZGF0ZUNvbnRyb2xTdGF0ZSgpO1xyXG4gICAgfVxyXG4gICAgaWYgKGNoYW5nZXNbJ3ZhbHVlJ10pIHtcclxuICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKG5ldyBEYXRlKHRoaXMudmFsdWUpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdGlhbGl6ZURhdGVDb250cm9scygpOiB2b2lkIHtcclxuICAgIHRoaXMubWluRGF0ZSA9IG5ldyBGb3JtQ29udHJvbChuZXcgRGF0ZSh0aGlzLm1pbikpO1xyXG4gICAgdGhpcy5tYXhEYXRlID0gbmV3IEZvcm1Db250cm9sKG5ldyBEYXRlKHRoaXMubWF4KSk7XHJcbiAgICB0aGlzLmNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woeyB2YWx1ZTogbmV3IERhdGUodGhpcy52YWx1ZSksIGRpc2FibGVkOiB0aGlzLnJlYWRvbmx5IH0pO1xyXG5cclxuICAgIHRoaXMudXBkYXRlQ29udHJvbFN0YXRlKCk7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMub25DaGFuZ2VFdmVudCgpLCA1KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlQ29udHJvbFN0YXRlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucmVhZG9ubHkpIHtcclxuICAgICAgdGhpcy5jb250cm9sLmRpc2FibGUoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY29udHJvbC5lbmFibGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlRXZlbnQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBmb3JtYXR0ZWREYXRlID0gQ29yZS5nZXRGb3JtYXRlZERhdGUyKHRoaXMuY29udHJvbC52YWx1ZSwgdHJ1ZSk7XHJcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoZm9ybWF0dGVkRGF0ZSk7XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0ZShjb250cm9sOiBGb3JtQ29udHJvbCk6IHN0cmluZyB7XHJcbiAgICBpZiAoY29udHJvbC5oYXNFcnJvcignbWF0RGF0ZXBpY2tlck1pbicpKSB7XHJcbiAgICAgIHJldHVybiBgTWluaW11bSBkYXRlIGlzICR7dGhpcy5taW59YDtcclxuICAgIH1cclxuICAgIGlmIChjb250cm9sLmhhc0Vycm9yKCdtYXREYXRlcGlja2VyTWF4JykpIHtcclxuICAgICAgcmV0dXJuIGBNYXhpbXVtIGRhdGUgaXMgJHt0aGlzLm1heH1gO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIFwiXCI7XHJcbiAgfVxyXG59XHJcbiIsIlxyXG48bWF0LWZvcm0tZmllbGQgW25nU3R5bGVdPVwieyd3aWR0aCc6d2lkdGh9XCI+XHJcbiAgPGlucHV0IFtmb3JtQ29udHJvbF09XCJjb250cm9sXCIgW21pbl09XCJtaW5EYXRlLnZhbHVlXCIgW21heF09XCJtYXhEYXRlLnZhbHVlXCIgbWF0SW5wdXQgW21hdERhdGVwaWNrZXJdPVwicGlja2VyX2RhdGVcIiAoZGF0ZUlucHV0KT1cIm9uQ2hhbmdlRXZlbnQoKVwiIFtwbGFjZWhvbGRlcl09XCJkaXNwbGF5XCIgW3JlYWRvbmx5XT1cInRydWVcIj5cclxuICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIG1hdFN1ZmZpeCBbZm9yXT1cInBpY2tlcl9kYXRlXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XHJcbiAgPG1hdC1kYXRlcGlja2VyICNwaWNrZXJfZGF0ZT48L21hdC1kYXRlcGlja2VyPlxyXG4gIDxtYXQtZXJyb3IgKm5nSWY9XCJjb250cm9sLmludmFsaWRcIj57e3ZhbGlkYXRlKGNvbnRyb2wpfX08L21hdC1lcnJvcj5cclxuICAgICAgPGRpdiBtYXRTdWZmaXggY2xhc3M9XCJzdWZmaXgtaWNvbnNcIj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAqbmdJZj1cImluZm9NZXNzYWdlXCIgKGNsaWNrKT1cIm9uSW5mb0NsaWNrKCRldmVudClcIiBtYXRUb29sdGlwPVwiSW5mb1wiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCIgPlxyXG4gICAgICAgICAgPG1hdC1pY29uIHN0eWxlPVwiY29sb3I6IHN0ZWVsYmx1ZTtcIj5pbmZvPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbjwvbWF0LWZvcm0tZmllbGQ+XHJcbiJdfQ==
@@ -13,7 +13,6 @@ export class DatetimeComponent {
13
13
  this.value = "";
14
14
  this.valueChange = new EventEmitter();
15
15
  this.readonly = false;
16
- this.width = "100%";
17
16
  this.min = "01 jan 1900";
18
17
  this.max = "31 dec 9999";
19
18
  this.infoClick = new EventEmitter();
@@ -29,10 +28,10 @@ export class DatetimeComponent {
29
28
  }
30
29
  }
31
30
  DatetimeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DatetimeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
32
- DatetimeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DatetimeComponent, selector: "spa-datetime", inputs: { display: "display", value: "value", readonly: "readonly", width: "width", min: "min", max: "max", infoMessage: "infoMessage" }, outputs: { valueChange: "valueChange", infoClick: "infoClick" }, ngImport: i0, template: "<mat-form-field [ngStyle]=\"{'width':width ?? '100%'}\" >\r\n<mat-label>{{display}}</mat-label>\r\n<input matInput autocomplete=\"off\" type=\"datetime-local\" [(ngModel)]=\"value\" [min]=\"min\" [max]=\"max\" (change)=\"changed()\" [placeholder]=\"display\" [readonly]=\"readonly\" />\r\n <div matSuffix class=\"suffix-icons\">\r\n <button mat-icon-button *ngIf=\"infoMessage\" (click)=\"onInfoClick($event)\" matTooltip=\"Info\" matTooltipPosition=\"above\">\r\n <mat-icon style=\"color: steelblue;\">info</mat-icon>\r\n </button>\r\n </div>\r\n</mat-form-field>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.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: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i6.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: "directive", type: i7.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
31
+ DatetimeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DatetimeComponent, selector: "spa-datetime", inputs: { display: "display", value: "value", readonly: "readonly", min: "min", max: "max", infoMessage: "infoMessage" }, outputs: { valueChange: "valueChange", infoClick: "infoClick" }, ngImport: i0, template: "<mat-form-field >\r\n<mat-label>{{display}}</mat-label>\r\n<input matInput autocomplete=\"off\" type=\"datetime-local\" [(ngModel)]=\"value\" [min]=\"min\" [max]=\"max\" (change)=\"changed()\" [placeholder]=\"display\" [readonly]=\"readonly\" />\r\n <div matSuffix class=\"suffix-icons\">\r\n <button mat-icon-button *ngIf=\"infoMessage\" (click)=\"onInfoClick($event)\" matTooltip=\"Info\" matTooltipPosition=\"above\">\r\n <mat-icon style=\"color: steelblue;\">info</mat-icon>\r\n </button>\r\n </div>\r\n</mat-form-field>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.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: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i6.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: "directive", type: i7.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
33
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DatetimeComponent, decorators: [{
34
33
  type: Component,
35
- args: [{ selector: 'spa-datetime', template: "<mat-form-field [ngStyle]=\"{'width':width ?? '100%'}\" >\r\n<mat-label>{{display}}</mat-label>\r\n<input matInput autocomplete=\"off\" type=\"datetime-local\" [(ngModel)]=\"value\" [min]=\"min\" [max]=\"max\" (change)=\"changed()\" [placeholder]=\"display\" [readonly]=\"readonly\" />\r\n <div matSuffix class=\"suffix-icons\">\r\n <button mat-icon-button *ngIf=\"infoMessage\" (click)=\"onInfoClick($event)\" matTooltip=\"Info\" matTooltipPosition=\"above\">\r\n <mat-icon style=\"color: steelblue;\">info</mat-icon>\r\n </button>\r\n </div>\r\n</mat-form-field>\r\n" }]
34
+ args: [{ selector: 'spa-datetime', template: "<mat-form-field >\r\n<mat-label>{{display}}</mat-label>\r\n<input matInput autocomplete=\"off\" type=\"datetime-local\" [(ngModel)]=\"value\" [min]=\"min\" [max]=\"max\" (change)=\"changed()\" [placeholder]=\"display\" [readonly]=\"readonly\" />\r\n <div matSuffix class=\"suffix-icons\">\r\n <button mat-icon-button *ngIf=\"infoMessage\" (click)=\"onInfoClick($event)\" matTooltip=\"Info\" matTooltipPosition=\"above\">\r\n <mat-icon style=\"color: steelblue;\">info</mat-icon>\r\n </button>\r\n </div>\r\n</mat-form-field>\r\n" }]
36
35
  }], ctorParameters: function () { return []; }, propDecorators: { display: [{
37
36
  type: Input
38
37
  }], value: [{
@@ -41,8 +40,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
41
40
  type: Output
42
41
  }], readonly: [{
43
42
  type: Input
44
- }], width: [{
45
- type: Input
46
43
  }], min: [{
47
44
  type: Input
48
45
  }], max: [{
@@ -52,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
52
49
  }], infoClick: [{
53
50
  type: Output
54
51
  }] } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvZGF0ZXRpbWUvZGF0ZXRpbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvZGF0ZXRpbWUvZGF0ZXRpbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7O0FBTy9FLE1BQU0sT0FBTyxpQkFBaUI7SUFFNUI7UUFLUyxZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNWLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFVBQUssR0FBRyxNQUFNLENBQUM7UUFFZixRQUFHLEdBQUcsYUFBYSxDQUFDO1FBRXBCLFFBQUcsR0FBRyxhQUFhLENBQUM7UUFPbkIsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFwQi9CLENBQUM7SUFFakIsUUFBUTtJQUNSLENBQUM7SUFZRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFLRCxXQUFXLENBQUMsS0FBaUI7UUFDM0IsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQzs7OEdBM0JVLGlCQUFpQjtrR0FBakIsaUJBQWlCLCtQQ1A5QixrbEJBU0E7MkZERmEsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGNBQWM7MEVBV2YsT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNFLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUVHLEdBQUc7c0JBQVgsS0FBSztnQkFFRyxHQUFHO3NCQUFYLEtBQUs7Z0JBTUcsV0FBVztzQkFBbkIsS0FBSztnQkFDSSxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzcGEtZGF0ZXRpbWUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRldGltZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZXRpbWUuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRldGltZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgZGlzcGxheSA9IFwiXCI7XHJcbiAgQElucHV0KCkgdmFsdWUgPSBcIlwiO1xyXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSByZWFkb25seSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHdpZHRoID0gXCIxMDAlXCI7XHJcblxyXG4gIEBJbnB1dCgpIG1pbiA9IFwiMDEgamFuIDE5MDBcIjtcclxuXHJcbiAgQElucHV0KCkgbWF4ID0gXCIzMSBkZWMgOTk5OVwiO1xyXG5cclxuICBjaGFuZ2VkKCkge1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgaW5mb01lc3NhZ2U6IHN0cmluZztcclxuICBAT3V0cHV0KCkgaW5mb0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBvbkluZm9DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLmluZm9DbGljay5lbWl0KCk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8bWF0LWZvcm0tZmllbGQgW25nU3R5bGVdPVwieyd3aWR0aCc6d2lkdGggPz8gJzEwMCUnfVwiID5cclxuPG1hdC1sYWJlbD57e2Rpc3BsYXl9fTwvbWF0LWxhYmVsPlxyXG48aW5wdXQgbWF0SW5wdXQgYXV0b2NvbXBsZXRlPVwib2ZmXCIgdHlwZT1cImRhdGV0aW1lLWxvY2FsXCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIFttaW5dPVwibWluXCIgW21heF09XCJtYXhcIiAgKGNoYW5nZSk9XCJjaGFuZ2VkKClcIiBbcGxhY2Vob2xkZXJdPVwiZGlzcGxheVwiIFtyZWFkb25seV09XCJyZWFkb25seVwiIC8+XHJcbiAgICA8ZGl2IG1hdFN1ZmZpeCBjbGFzcz1cInN1ZmZpeC1pY29uc1wiPlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAqbmdJZj1cImluZm9NZXNzYWdlXCIgKGNsaWNrKT1cIm9uSW5mb0NsaWNrKCRldmVudClcIiBtYXRUb29sdGlwPVwiSW5mb1wiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCI+XHJcbiAgICAgICAgPG1hdC1pY29uIHN0eWxlPVwiY29sb3I6IHN0ZWVsYmx1ZTtcIj5pbmZvPC9tYXQtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuPC9tYXQtZm9ybS1maWVsZD5cclxuIl19
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvZGF0ZXRpbWUvZGF0ZXRpbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvZGF0ZXRpbWUvZGF0ZXRpbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7O0FBTy9FLE1BQU0sT0FBTyxpQkFBaUI7SUFFNUI7UUFLUyxZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNWLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLFFBQUcsR0FBRyxhQUFhLENBQUM7UUFFcEIsUUFBRyxHQUFHLGFBQWEsQ0FBQztRQU9uQixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQW5CL0IsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQztJQVdELE9BQU87UUFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUtELFdBQVcsQ0FBQyxLQUFpQjtRQUMzQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDOzs4R0ExQlUsaUJBQWlCO2tHQUFqQixpQkFBaUIsK09DUDlCLDBpQkFTQTsyRkRGYSxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UsY0FBYzswRUFXZixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0UsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxHQUFHO3NCQUFYLEtBQUs7Z0JBRUcsR0FBRztzQkFBWCxLQUFLO2dCQU1HLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0ksU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3BhLWRhdGV0aW1lJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZXRpbWUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RhdGV0aW1lLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0ZXRpbWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIGRpc3BsYXkgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIHZhbHVlID0gXCJcIjtcclxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgbWluID0gXCIwMSBqYW4gMTkwMFwiO1xyXG5cclxuICBASW5wdXQoKSBtYXggPSBcIjMxIGRlYyA5OTk5XCI7XHJcblxyXG4gIGNoYW5nZWQoKSB7XHJcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBpbmZvTWVzc2FnZTogc3RyaW5nO1xyXG4gIEBPdXRwdXQoKSBpbmZvQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIG9uSW5mb0NsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuaW5mb0NsaWNrLmVtaXQoKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxtYXQtZm9ybS1maWVsZCA+XHJcbjxtYXQtbGFiZWw+e3tkaXNwbGF5fX08L21hdC1sYWJlbD5cclxuPGlucHV0IG1hdElucHV0IGF1dG9jb21wbGV0ZT1cIm9mZlwiIHR5cGU9XCJkYXRldGltZS1sb2NhbFwiIFsobmdNb2RlbCldPVwidmFsdWVcIiBbbWluXT1cIm1pblwiIFttYXhdPVwibWF4XCIgIChjaGFuZ2UpPVwiY2hhbmdlZCgpXCIgW3BsYWNlaG9sZGVyXT1cImRpc3BsYXlcIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiAvPlxyXG4gICAgPGRpdiBtYXRTdWZmaXggY2xhc3M9XCJzdWZmaXgtaWNvbnNcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKm5nSWY9XCJpbmZvTWVzc2FnZVwiIChjbGljayk9XCJvbkluZm9DbGljaygkZXZlbnQpXCIgbWF0VG9vbHRpcD1cIkluZm9cIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBzdHlsZT1cImNvbG9yOiBzdGVlbGJsdWU7XCI+aW5mbzwvbWF0LWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbjwvbWF0LWZvcm0tZmllbGQ+XHJcbiJdfQ==
@@ -3,7 +3,7 @@ import * as i0 from "@angular/core";
3
3
  import * as i1 from "../../services/datalib.service";
4
4
  import * as i2 from "../../services/message.service";
5
5
  import * as i3 from "../../services/auth.service";
6
- import * as i4 from "../../components/table/table.component";
6
+ import * as i4 from "../table/table.component";
7
7
  export class DepartmentsComponent {
8
8
  constructor(dataService, messageService, authService) {
9
9
  this.dataService = dataService;
@@ -11,12 +11,14 @@ export class DepartmentsComponent {
11
11
  this.authService = authService;
12
12
  }
13
13
  ngOnInit() {
14
+ this.dataService.loadPositionMeta();
15
+ this.dataService.loadEmployeesMeta();
14
16
  }
15
17
  }
16
18
  DepartmentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DepartmentsComponent, deps: [{ token: i1.DataServiceLib }, { token: i2.MessageService }, { token: i3.AuthService }], target: i0.ɵɵFactoryTarget.Component });
17
- DepartmentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DepartmentsComponent, selector: "spa-departments", ngImport: i0, template: "<h4>Departments</h4>\r\n<hr>\r\n\r\n<div class=\"mt-3\" style=\" font-size: 14px;\">\r\n <spa-table [config]=\"dataService.departmentTableConfig\"></spa-table>\r\n</div>\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"] }] });
19
+ DepartmentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DepartmentsComponent, selector: "spa-departments", ngImport: i0, template: "<h4>Departments</h4>\r\n<hr>\r\n\r\n<div class=\"mt-3\" style=\" font-size: 14px;\">\r\n <spa-table [config]=\"dataService.departmentTableConfig\"></spa-table>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "component", type: i4.TableComponent, selector: "spa-table", inputs: ["hideTitle", "data", "config", "reload"], outputs: ["dataLoad", "refreshClick", "searchClick", "createClick", "actionClick", "inputChange"] }] });
18
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DepartmentsComponent, decorators: [{
19
21
  type: Component,
20
22
  args: [{ selector: 'spa-departments', template: "<h4>Departments</h4>\r\n<hr>\r\n\r\n<div class=\"mt-3\" style=\" font-size: 14px;\">\r\n <spa-table [config]=\"dataService.departmentTableConfig\"></spa-table>\r\n</div>\r\n" }]
21
23
  }], ctorParameters: function () { return [{ type: i1.DataServiceLib }, { type: i2.MessageService }, { type: i3.AuthService }]; } });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwYXJ0bWVudHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL3BhZ2VzL2RlcGFydG1lbnRzL2RlcGFydG1lbnRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9wYWdlcy9kZXBhcnRtZW50cy9kZXBhcnRtZW50cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFXbEQsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQixZQUFtQixXQUEyQixFQUFVLGNBQThCLEVBQVMsV0FBd0I7UUFBcEcsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFBSSxDQUFDO0lBRTVILFFBQVE7SUFDUixDQUFDOztpSEFMVSxvQkFBb0I7cUdBQXBCLG9CQUFvQix1RENYakMsZ0xBTUE7MkZES2Esb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlTGliIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YWxpYi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRm9ybUNvbmZpZywgVGFibGVDb25maWcgfSBmcm9tICcuLi8uLi9jbGFzc2VzL0NsYXNzZXMnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3BhLWRlcGFydG1lbnRzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGVwYXJ0bWVudHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RlcGFydG1lbnRzLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVwYXJ0bWVudHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlTGliLCBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSwgcHVibGljIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcblxyXG59XHJcbiIsIjxoND5EZXBhcnRtZW50czwvaDQ+XHJcbjxocj5cclxuXHJcbjxkaXYgY2xhc3M9XCJtdC0zXCIgc3R5bGU9XCIgZm9udC1zaXplOiAxNHB4O1wiPlxyXG4gIDxzcGEtdGFibGUgW2NvbmZpZ109XCJkYXRhU2VydmljZS5kZXBhcnRtZW50VGFibGVDb25maWdcIj48L3NwYS10YWJsZT5cclxuPC9kaXY+XHJcbiJdfQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwYXJ0bWVudHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvZGVwYXJ0bWVudHMvZGVwYXJ0bWVudHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvZGVwYXJ0bWVudHMvZGVwYXJ0bWVudHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBV2xELE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsWUFBbUIsV0FBMkIsRUFBVSxjQUE4QixFQUFTLFdBQXdCO1FBQXBHLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFTLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBQUksQ0FBQztJQUU1SCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUN2QyxDQUFDOztpSEFQVSxvQkFBb0I7cUdBQXBCLG9CQUFvQix1RENYakMsZ0xBTUE7MkZES2Esb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlTGliIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YWxpYi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRm9ybUNvbmZpZywgVGFibGVDb25maWcgfSBmcm9tICcuLi8uLi9jbGFzc2VzL0NsYXNzZXMnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3BhLWRlcGFydG1lbnRzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGVwYXJ0bWVudHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RlcGFydG1lbnRzLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVwYXJ0bWVudHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlTGliLCBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSwgcHVibGljIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kYXRhU2VydmljZS5sb2FkUG9zaXRpb25NZXRhKCk7XHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLmxvYWRFbXBsb3llZXNNZXRhKCk7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIiwiPGg0PkRlcGFydG1lbnRzPC9oND5cclxuPGhyPlxyXG5cclxuPGRpdiBjbGFzcz1cIm10LTNcIiBzdHlsZT1cIiBmb250LXNpemU6IDE0cHg7XCI+XHJcbiAgPHNwYS10YWJsZSBbY29uZmlnXT1cImRhdGFTZXJ2aWNlLmRlcGFydG1lbnRUYWJsZUNvbmZpZ1wiPjwvc3BhLXRhYmxlPlxyXG48L2Rpdj5cclxuIl19
@@ -0,0 +1,21 @@
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/auth.service";
5
+ import * as i3 from "../table/table.component";
6
+ export class EmployeesComponent {
7
+ constructor(dataService, authService) {
8
+ this.dataService = dataService;
9
+ this.authService = authService;
10
+ }
11
+ ngOnInit() {
12
+ this.dataService.loadEmployeesMeta();
13
+ }
14
+ }
15
+ EmployeesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EmployeesComponent, deps: [{ token: i1.DataServiceLib }, { token: i2.AuthService }], target: i0.ɵɵFactoryTarget.Component });
16
+ EmployeesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: EmployeesComponent, selector: "spa-employees", ngImport: i0, template: "<h4>Employees</h4>\r\n<hr>\r\n\r\n<div class=\"mt-3\" style=\" font-size: 14px;\">\r\n <spa-table [config]=\"dataService.employeeTableConfig\"></spa-table>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "component", type: i3.TableComponent, selector: "spa-table", inputs: ["hideTitle", "data", "config", "reload"], outputs: ["dataLoad", "refreshClick", "searchClick", "createClick", "actionClick", "inputChange"] }] });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EmployeesComponent, decorators: [{
18
+ type: Component,
19
+ args: [{ selector: 'spa-employees', template: "<h4>Employees</h4>\r\n<hr>\r\n\r\n<div class=\"mt-3\" style=\" font-size: 14px;\">\r\n <spa-table [config]=\"dataService.employeeTableConfig\"></spa-table>\r\n</div>\r\n" }]
20
+ }], ctorParameters: function () { return [{ type: i1.DataServiceLib }, { type: i2.AuthService }]; } });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wbG95ZWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9jb21wb25lbnRzL2VtcGxveWVlcy9lbXBsb3llZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGluLXNwYS9zcmMvbGliL2NvbXBvbmVudHMvZW1wbG95ZWVzL2VtcGxveWVlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7OztBQVdsRCxNQUFNLE9BQU8sa0JBQWtCO0lBRTdCLFlBQW1CLFdBQTJCLEVBQVMsV0FBd0I7UUFBNUQsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQVMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFBSSxDQUFDO0lBRXBGLFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDdkMsQ0FBQzs7K0dBTlUsa0JBQWtCO21HQUFsQixrQkFBa0IscURDWC9CLDRLQU1BOzJGREthLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2VMaWIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kYXRhbGliLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGb3JtQ29uZmlnLCBUYWJsZUNvbmZpZywgQXBpUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9jbGFzc2VzL0NsYXNzZXMnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3BhLWVtcGxveWVlcycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VtcGxveWVlcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZW1wbG95ZWVzLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRW1wbG95ZWVzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZUxpYiwgcHVibGljIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kYXRhU2VydmljZS5sb2FkRW1wbG95ZWVzTWV0YSgpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGg0PkVtcGxveWVlczwvaDQ+XHJcbjxocj5cclxuXHJcbjxkaXYgY2xhc3M9XCJtdC0zXCIgc3R5bGU9XCIgZm9udC1zaXplOiAxNHB4O1wiPlxyXG4gIDxzcGEtdGFibGUgW2NvbmZpZ109XCJkYXRhU2VydmljZS5lbXBsb3llZVRhYmxlQ29uZmlnXCI+PC9zcGEtdGFibGU+XHJcbjwvZGl2PlxyXG4iXX0=