tin-spa 2.0.0 → 2.1.1
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.
- package/README.md +2 -2
- package/esm2020/lib/classes/Classes.mjs +214 -0
- package/esm2020/lib/classes/TinCore.mjs +213 -0
- package/esm2020/lib/components/activity/activity.component.mjs +24 -0
- package/esm2020/lib/components/attach/attach.component.mjs +105 -0
- package/esm2020/lib/components/change-password/change-password.component.mjs +92 -0
- package/esm2020/lib/components/check/check.component.mjs +56 -0
- package/esm2020/lib/components/chips/chips.component.mjs +58 -0
- package/esm2020/lib/components/create-account/create-account.component.mjs +72 -0
- package/esm2020/lib/components/date/date.component.mjs +82 -0
- package/esm2020/lib/components/datetime/datetime.component.mjs +39 -0
- package/esm2020/lib/components/filter/filter.component.mjs +46 -0
- package/esm2020/lib/components/form/form.component.mjs +107 -0
- package/esm2020/lib/components/label/label.component.mjs +25 -0
- package/esm2020/lib/components/loader/loader.component.mjs +24 -0
- package/esm2020/lib/components/login/login.component.mjs +113 -0
- package/esm2020/lib/components/logs/logs.component.mjs +37 -0
- package/esm2020/lib/components/message/messageDialog.component.mjs +32 -0
- package/esm2020/lib/components/money/currency-input-mask.directive.mjs +185 -0
- package/esm2020/lib/components/money/currency-input-mask.module.mjs +28 -0
- package/esm2020/lib/components/money/money.component.mjs +108 -0
- package/esm2020/lib/components/nav-menu/nav-menu.component.mjs +49 -0
- package/esm2020/lib/components/number/number.component.mjs +102 -0
- package/esm2020/lib/components/option/option.component.mjs +59 -0
- package/esm2020/lib/components/profile/profile.component.mjs +93 -0
- package/esm2020/lib/components/recover-account/recover-account.component.mjs +46 -0
- package/esm2020/lib/components/roles/addRoleDialog.component.mjs +61 -0
- package/esm2020/lib/components/roles/roles.component.mjs +91 -0
- package/esm2020/lib/components/select/select.component.mjs +71 -0
- package/esm2020/lib/components/settings/settings.component.mjs +63 -0
- package/esm2020/lib/components/signup/signup.component.mjs +50 -0
- package/esm2020/lib/components/steps/steps.component.mjs +90 -0
- package/esm2020/lib/components/table/detailsDialog.component.mjs +137 -0
- package/esm2020/lib/components/table/table.component.mjs +350 -0
- package/esm2020/lib/components/text/text.component.mjs +166 -0
- package/esm2020/lib/components/tiles/tiles.component.mjs +41 -0
- package/esm2020/lib/components/tin-spa.component.mjs +19 -0
- package/esm2020/lib/components/users/users.component.mjs +119 -0
- package/esm2020/lib/modules/admin/admin-routing.module.mjs +29 -0
- package/esm2020/lib/modules/admin/admin.module.mjs +26 -0
- package/esm2020/lib/modules/index/index-routing.module.mjs +27 -0
- package/esm2020/lib/modules/index/index.module.mjs +26 -0
- package/esm2020/lib/modules/spa-admin.module.mjs +73 -0
- package/esm2020/lib/modules/spa-index.module.mjs +52 -0
- package/esm2020/lib/modules/spa-mat.module.mjs +67 -0
- package/esm2020/lib/modules/spa-user.module.mjs +49 -0
- package/esm2020/lib/modules/user/user-routing.module.mjs +23 -0
- package/esm2020/lib/modules/user/user.module.mjs +26 -0
- package/esm2020/lib/pipes/camelToWords.pipe.mjs +23 -0
- package/esm2020/lib/services/auth.service.mjs +142 -0
- package/esm2020/lib/services/data.service.mjs +125 -0
- package/esm2020/lib/services/export.service.mjs +16 -0
- package/esm2020/lib/services/http.service.mjs +79 -0
- package/esm2020/lib/services/loader-interceptor.service.mjs +77 -0
- package/esm2020/lib/services/loader.service.mjs +17 -0
- package/esm2020/lib/services/log.service.mjs +77 -0
- package/esm2020/lib/services/message.service.mjs +52 -0
- package/esm2020/lib/services/storage.service.mjs +34 -0
- package/esm2020/lib/services/tin-spa.service.mjs +14 -0
- package/esm2020/lib/tin-spa.module.mjs +114 -0
- package/esm2020/public-api.mjs +62 -0
- package/esm2020/tin-spa.mjs +5 -0
- package/fesm2015/tin-spa.mjs +4026 -0
- package/fesm2015/tin-spa.mjs.map +1 -0
- package/fesm2020/tin-spa.mjs +4008 -0
- package/fesm2020/tin-spa.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/classes/Classes.d.ts +69 -62
- package/lib/classes/TinCore.d.ts +6 -0
- package/lib/components/activity/activity.component.d.ts +3 -0
- package/lib/components/attach/attach.component.d.ts +4 -1
- package/lib/components/change-password/change-password.component.d.ts +3 -0
- package/lib/components/check/check.component.d.ts +3 -0
- package/lib/components/chips/chips.component.d.ts +3 -0
- package/lib/components/create-account/create-account.component.d.ts +3 -0
- package/lib/components/date/date.component.d.ts +19 -7
- package/lib/components/datetime/datetime.component.d.ts +3 -0
- package/lib/components/filter/filter.component.d.ts +4 -0
- package/lib/components/form/form.component.d.ts +23 -0
- package/lib/components/label/label.component.d.ts +3 -0
- package/lib/components/loader/loader.component.d.ts +3 -0
- package/lib/components/login/login.component.d.ts +6 -0
- package/lib/components/logs/logs.component.d.ts +3 -0
- package/lib/components/message/messageDialog.component.d.ts +3 -0
- package/lib/components/money/currency-input-mask.directive.d.ts +41 -0
- package/lib/components/money/currency-input-mask.module.d.ts +9 -0
- package/lib/components/money/money.component.d.ts +19 -3
- package/lib/components/nav-menu/nav-menu.component.d.ts +3 -0
- package/lib/components/number/number.component.d.ts +31 -0
- package/lib/components/option/option.component.d.ts +3 -0
- package/lib/components/profile/profile.component.d.ts +6 -2
- package/lib/components/recover-account/recover-account.component.d.ts +3 -0
- package/lib/components/roles/addRoleDialog.component.d.ts +3 -0
- package/lib/components/roles/roles.component.d.ts +3 -0
- package/lib/components/select/select.component.d.ts +5 -1
- package/lib/components/settings/settings.component.d.ts +3 -0
- package/lib/components/signup/signup.component.d.ts +3 -0
- package/lib/components/steps/steps.component.d.ts +3 -0
- package/lib/components/table/detailsDialog.component.d.ts +26 -0
- package/lib/components/table/table.component.d.ts +57 -17
- package/lib/components/text/text.component.d.ts +14 -10
- package/lib/components/tiles/tiles.component.d.ts +3 -0
- package/lib/components/tin-spa.component.d.ts +4 -4
- package/lib/components/users/users.component.d.ts +4 -0
- package/lib/modules/admin/admin-routing.module.d.ts +7 -0
- package/lib/modules/admin/admin.module.d.ts +9 -0
- package/lib/modules/index/index-routing.module.d.ts +7 -0
- package/lib/modules/index/index.module.d.ts +9 -0
- package/lib/modules/spa-admin.module.d.ts +13 -0
- package/lib/modules/spa-index.module.d.ts +10 -0
- package/lib/modules/spa-mat.module.d.ts +31 -0
- package/lib/modules/spa-user.module.d.ts +9 -0
- package/lib/modules/user/user-routing.module.d.ts +7 -0
- package/lib/modules/user/user.module.d.ts +9 -0
- package/lib/pipes/camelToWords.pipe.d.ts +7 -0
- package/lib/services/auth.service.d.ts +3 -0
- package/lib/services/data.service.d.ts +5 -1
- package/lib/services/export.service.d.ts +3 -4
- package/lib/services/http.service.d.ts +3 -0
- package/lib/services/loader-interceptor.service.d.ts +3 -0
- package/lib/services/loader.service.d.ts +3 -0
- package/lib/services/log.service.d.ts +3 -0
- package/lib/services/message.service.d.ts +3 -0
- package/lib/services/storage.service.d.ts +3 -0
- package/lib/services/tin-spa.service.d.ts +3 -0
- package/lib/tin-spa.module.d.ts +30 -0
- package/package.json +24 -23
- package/public-api.d.ts +7 -2
- package/bundles/tin-spa.umd.js +0 -3672
- package/bundles/tin-spa.umd.js.map +0 -1
- package/bundles/tin-spa.umd.min.js +0 -16
- package/bundles/tin-spa.umd.min.js.map +0 -1
- package/esm2015/lib/classes/Classes.js +0 -254
- package/esm2015/lib/classes/TinCore.js +0 -139
- package/esm2015/lib/components/activity/activity.component.js +0 -26
- package/esm2015/lib/components/attach/attach.component.js +0 -107
- package/esm2015/lib/components/change-password/change-password.component.js +0 -102
- package/esm2015/lib/components/check/check.component.js +0 -63
- package/esm2015/lib/components/chips/chips.component.js +0 -66
- package/esm2015/lib/components/create-account/create-account.component.js +0 -78
- package/esm2015/lib/components/date/date.component.js +0 -45
- package/esm2015/lib/components/datetime/datetime.component.js +0 -44
- package/esm2015/lib/components/filter/filter.component.js +0 -40
- package/esm2015/lib/components/label/label.component.js +0 -29
- package/esm2015/lib/components/loader/loader.component.js +0 -29
- package/esm2015/lib/components/login/login.component.js +0 -114
- package/esm2015/lib/components/logs/logs.component.js +0 -39
- package/esm2015/lib/components/message/messageDialog.component.js +0 -31
- package/esm2015/lib/components/money/money.component.js +0 -52
- package/esm2015/lib/components/nav-menu/nav-menu.component.js +0 -51
- package/esm2015/lib/components/option/option.component.js +0 -63
- package/esm2015/lib/components/profile/profile.component.js +0 -98
- package/esm2015/lib/components/recover-account/recover-account.component.js +0 -53
- package/esm2015/lib/components/roles/addRoleDialog.component.js +0 -61
- package/esm2015/lib/components/roles/roles.component.js +0 -94
- package/esm2015/lib/components/select/select.component.js +0 -77
- package/esm2015/lib/components/settings/settings.component.js +0 -63
- package/esm2015/lib/components/signup/signup.component.js +0 -57
- package/esm2015/lib/components/steps/steps.component.js +0 -93
- package/esm2015/lib/components/table/table.component.js +0 -107
- package/esm2015/lib/components/text/text.component.js +0 -165
- package/esm2015/lib/components/tiles/tiles.component.js +0 -41
- package/esm2015/lib/components/timeout/timeout.component.js +0 -90
- package/esm2015/lib/components/tin-spa.component.js +0 -19
- package/esm2015/lib/components/users/users.component.js +0 -120
- package/esm2015/lib/dnd.directive.js +0 -51
- package/esm2015/lib/modules/spa-admin.module.js +0 -50
- package/esm2015/lib/modules/spa-index.module.js +0 -35
- package/esm2015/lib/modules/spa-mat.module.js +0 -53
- package/esm2015/lib/modules/spa-user.module.js +0 -33
- package/esm2015/lib/services/auth.service.js +0 -155
- package/esm2015/lib/services/data.service.js +0 -115
- package/esm2015/lib/services/export.service.js +0 -29
- package/esm2015/lib/services/http.service.js +0 -84
- package/esm2015/lib/services/loader-interceptor.service.js +0 -83
- package/esm2015/lib/services/loader.service.js +0 -17
- package/esm2015/lib/services/log.service.js +0 -76
- package/esm2015/lib/services/message.service.js +0 -58
- package/esm2015/lib/services/storage.service.js +0 -42
- package/esm2015/lib/services/tin-spa.service.js +0 -14
- package/esm2015/lib/tin-spa.module.js +0 -91
- package/esm2015/public-api.js +0 -56
- package/esm2015/tin-spa.js +0 -8
- package/esm5/lib/classes/Classes.js +0 -313
- package/esm5/lib/classes/TinCore.js +0 -166
- package/esm5/lib/components/activity/activity.component.js +0 -27
- package/esm5/lib/components/attach/attach.component.js +0 -119
- package/esm5/lib/components/change-password/change-password.component.js +0 -104
- package/esm5/lib/components/check/check.component.js +0 -64
- package/esm5/lib/components/chips/chips.component.js +0 -68
- package/esm5/lib/components/create-account/create-account.component.js +0 -80
- package/esm5/lib/components/date/date.component.js +0 -46
- package/esm5/lib/components/datetime/datetime.component.js +0 -45
- package/esm5/lib/components/filter/filter.component.js +0 -41
- package/esm5/lib/components/label/label.component.js +0 -30
- package/esm5/lib/components/loader/loader.component.js +0 -31
- package/esm5/lib/components/login/login.component.js +0 -117
- package/esm5/lib/components/logs/logs.component.js +0 -41
- package/esm5/lib/components/message/messageDialog.component.js +0 -32
- package/esm5/lib/components/money/money.component.js +0 -53
- package/esm5/lib/components/nav-menu/nav-menu.component.js +0 -53
- package/esm5/lib/components/option/option.component.js +0 -64
- package/esm5/lib/components/profile/profile.component.js +0 -102
- package/esm5/lib/components/recover-account/recover-account.component.js +0 -55
- package/esm5/lib/components/roles/addRoleDialog.component.js +0 -63
- package/esm5/lib/components/roles/roles.component.js +0 -100
- package/esm5/lib/components/select/select.component.js +0 -79
- package/esm5/lib/components/settings/settings.component.js +0 -66
- package/esm5/lib/components/signup/signup.component.js +0 -59
- package/esm5/lib/components/steps/steps.component.js +0 -105
- package/esm5/lib/components/table/table.component.js +0 -109
- package/esm5/lib/components/text/text.component.js +0 -168
- package/esm5/lib/components/tiles/tiles.component.js +0 -42
- package/esm5/lib/components/timeout/timeout.component.js +0 -92
- package/esm5/lib/components/tin-spa.component.js +0 -17
- package/esm5/lib/components/users/users.component.js +0 -126
- package/esm5/lib/dnd.directive.js +0 -52
- package/esm5/lib/modules/spa-admin.module.js +0 -53
- package/esm5/lib/modules/spa-index.module.js +0 -38
- package/esm5/lib/modules/spa-mat.module.js +0 -56
- package/esm5/lib/modules/spa-user.module.js +0 -36
- package/esm5/lib/services/auth.service.js +0 -157
- package/esm5/lib/services/data.service.js +0 -116
- package/esm5/lib/services/export.service.js +0 -30
- package/esm5/lib/services/http.service.js +0 -85
- package/esm5/lib/services/loader-interceptor.service.js +0 -85
- package/esm5/lib/services/loader.service.js +0 -18
- package/esm5/lib/services/log.service.js +0 -112
- package/esm5/lib/services/message.service.js +0 -59
- package/esm5/lib/services/storage.service.js +0 -74
- package/esm5/lib/services/tin-spa.service.js +0 -16
- package/esm5/lib/tin-spa.module.js +0 -94
- package/esm5/public-api.js +0 -56
- package/esm5/tin-spa.js +0 -8
- package/fesm2015/tin-spa.js +0 -3184
- package/fesm2015/tin-spa.js.map +0 -1
- package/fesm5/tin-spa.js +0 -3422
- package/fesm5/tin-spa.js.map +0 -1
- package/lib/components/timeout/timeout.component.d.ts +0 -21
- package/lib/dnd.directive.d.ts +0 -8
- package/tin-spa.d.ts +0 -7
- package/tin-spa.metadata.json +0 -1
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { Component, ViewChild } from "@angular/core";
|
|
3
|
-
import { MatTableDataSource } from "@angular/material/table";
|
|
4
|
-
import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from "@angular/material/dialog";
|
|
5
|
-
import { DataServiceLib } from "../../services/data.service";
|
|
6
|
-
import { Router } from "@angular/router";
|
|
7
|
-
import { MessageService } from "../../services/message.service";
|
|
8
|
-
import { AuthService } from "../../services/auth.service";
|
|
9
|
-
import { HttpService } from "../../services/http.service";
|
|
10
|
-
let UsersComponent = class UsersComponent {
|
|
11
|
-
constructor(httpService, router, authService, dataService, dialog, messageService) {
|
|
12
|
-
this.httpService = httpService;
|
|
13
|
-
this.router = router;
|
|
14
|
-
this.authService = authService;
|
|
15
|
-
this.dataService = dataService;
|
|
16
|
-
this.dialog = dialog;
|
|
17
|
-
this.messageService = messageService;
|
|
18
|
-
this.isProcessing = false;
|
|
19
|
-
this._filterText = "";
|
|
20
|
-
this.displayedColumns = ["userName", "fullName", "roleName", "locked", "dateCreated", "Action"];
|
|
21
|
-
}
|
|
22
|
-
ngOnInit() {
|
|
23
|
-
this.authService.isAuthorised(this.dataService.capUsers.name);
|
|
24
|
-
this.UpdateData();
|
|
25
|
-
}
|
|
26
|
-
UpdateData() {
|
|
27
|
-
this.dataService.GetUser().subscribe((apiResponse) => {
|
|
28
|
-
this.users = new MatTableDataSource(apiResponse);
|
|
29
|
-
this.users.paginator = this.usersPaginator;
|
|
30
|
-
this.applyFilter(this._filterText);
|
|
31
|
-
}, (error) => {
|
|
32
|
-
this.isProcessing = false;
|
|
33
|
-
this.messageService.toast(this.httpService.Error(error));
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
applyFilter(filterValue) {
|
|
37
|
-
this.users.filter = filterValue.trim().toLowerCase();
|
|
38
|
-
}
|
|
39
|
-
createAccount() {
|
|
40
|
-
this.router.navigate(["home/admin/create-account"]);
|
|
41
|
-
}
|
|
42
|
-
viewProfile(user) {
|
|
43
|
-
this.dataService.tmpProfileuserName = user.userName;
|
|
44
|
-
this.router.navigate(["home/user/profile"]);
|
|
45
|
-
}
|
|
46
|
-
lock(u) {
|
|
47
|
-
let login = { userName: u.userName, password: "Abcdef@123" };
|
|
48
|
-
this.dataService.LockUser(login).subscribe((apiResponse) => {
|
|
49
|
-
if (apiResponse.success) {
|
|
50
|
-
this.messageService.toast("User Locked");
|
|
51
|
-
this.UpdateData();
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
this.messageService.toast("Error: " + apiResponse);
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
unlock(u) {
|
|
59
|
-
let login = { userName: u.userName, password: "Abcdef@123" };
|
|
60
|
-
this.dataService.UnlockUser(login).subscribe((apiResponse) => {
|
|
61
|
-
if (apiResponse.success) {
|
|
62
|
-
this.messageService.toast("User Unlocked");
|
|
63
|
-
this.UpdateData();
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
this.messageService.toast("Error: " + apiResponse);
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
recover(u) {
|
|
71
|
-
this.dataService.SelfReset(u).subscribe((apiResponse) => {
|
|
72
|
-
if (apiResponse.message == "success") {
|
|
73
|
-
this.messageService.toast("The password has been sent on email");
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
this.messageService.toast("Error: " + apiResponse.message);
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
deleteUser(user) {
|
|
81
|
-
this.messageService.confirm(`Delete ${user.userName} ?`).subscribe((result) => {
|
|
82
|
-
if (result == "yes") {
|
|
83
|
-
this.isProcessing = true;
|
|
84
|
-
this.dataService.DeleteUser(user).subscribe((apiResponse) => {
|
|
85
|
-
this.isProcessing = false;
|
|
86
|
-
if (apiResponse.message == "success") {
|
|
87
|
-
this.messageService.toast("User Deleted");
|
|
88
|
-
this.UpdateData();
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
this.messageService.toast("Error: " + apiResponse.message);
|
|
92
|
-
}
|
|
93
|
-
}, (error) => {
|
|
94
|
-
this.messageService.toast("Connection failed ");
|
|
95
|
-
this.isProcessing = false;
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
};
|
|
101
|
-
UsersComponent.ctorParameters = () => [
|
|
102
|
-
{ type: HttpService },
|
|
103
|
-
{ type: Router },
|
|
104
|
-
{ type: AuthService },
|
|
105
|
-
{ type: DataServiceLib },
|
|
106
|
-
{ type: MatDialog },
|
|
107
|
-
{ type: MessageService }
|
|
108
|
-
];
|
|
109
|
-
__decorate([
|
|
110
|
-
ViewChild("usersPaginator")
|
|
111
|
-
], UsersComponent.prototype, "usersPaginator", void 0);
|
|
112
|
-
UsersComponent = __decorate([
|
|
113
|
-
Component({
|
|
114
|
-
selector: "spa-users",
|
|
115
|
-
template: "\r\n<h4>Users</h4>\r\n<hr />\r\n\r\n<div class=\"container\">\r\n\r\n <div class=\"row justify-content-between\" style=\"padding-bottom: 10px\">\r\n <div class=\"col-2\">\r\n <button id=\"btnCreateAccount\" mat-raised-button color=\"primary\" (click)=\"createAccount()\">Create Account</button>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-end\">\r\n <spa-filter [data]=\"users\" (refreshClick)=\"UpdateData()\"></spa-filter>\r\n </div>\r\n </div>\r\n\r\n\r\n <p *ngIf=\"!users\"><em>Loading...</em></p>\r\n\r\n\r\n <div class=\"mat-elevation-z8\" *ngIf=\"users\">\r\n\r\n <table id=\"tblTable\" mat-table [dataSource]=\"users\">\r\n\r\n <ng-container matColumnDef=\"userName\">\r\n <th mat-header-cell *matHeaderCellDef> userName </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.userName}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"locked\">\r\n <th mat-header-cell *matHeaderCellDef> Locked </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.locked}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"fullName\">\r\n <th mat-header-cell *matHeaderCellDef> Name </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.firstName}} {{user.lastName}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"roleName\">\r\n <th mat-header-cell *matHeaderCellDef> Role </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.role.roleName}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"disabled\">\r\n <th mat-header-cell *matHeaderCellDef> Disabled </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.disabled}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"dateCreated\">\r\n <th mat-header-cell *matHeaderCellDef> Created </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.createdDate | date: 'dd/MM/yyyy'}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"dateUpdated\">\r\n <th mat-header-cell *matHeaderCellDef> Updated </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.updatedDate | date: 'dd/MM/yyyy'}} </td>\r\n </ng-container>\r\n\r\n\r\n <ng-container matColumnDef=\"Action\">\r\n <th mat-header-cell *matHeaderCellDef> Action </th>\r\n <td mat-cell *matCellDef=\"let user\" style=\"width: 250px;\">\r\n\r\n <button mat-mini-fab color=\"primary\" (click)=\"viewProfile(user)\" style=\"margin-right:30px\" matTooltip=\"View Profile\" matTooltipPosition=\"above\"> <mat-icon>account_circle</mat-icon></button>\r\n\r\n <button *ngIf=\"user.locked=='0'\" mat-mini-fab color=\"warn\" (click)=\"lock(user)\" style=\"margin-right:10px\" matTooltip=\"Lock\" matTooltipPosition=\"above\"> <mat-icon>lock</mat-icon></button>\r\n <button *ngIf=\"user.locked=='1'\" mat-mini-fab (click)=\"unlock(user)\" style=\"margin-right:10px; background-color: green;\" matTooltip=\"Unlock\" matTooltipPosition=\"above\"> <mat-icon >lock_open</mat-icon></button>\r\n\r\n <!-- <button *ngIf=\"user.disabled=='0'\" mat-mini-fab color=\"warn\" (click)=\"disable(user)\" style=\"margin-right:10px\" matTooltip=\"Disable\" matTooltipPosition=\"above\"> <mat-icon>block</mat-icon></button>\r\n <button *ngIf=\"user.disabled=='1'\" mat-mini-fab (click)=\"enable(user)\" style=\"margin-right:10px; background-color: green\" matTooltip=\"Enable\" matTooltipPosition=\"above\"> <mat-icon>done</mat-icon></button> -->\r\n\r\n <button mat-mini-fab color=\"warn\" (click)=\"deleteUser(user)\" style=\"margin-right:10px\" matTooltip=\"Delete\" matTooltipPosition=\"above\"> <mat-icon>delete</mat-icon></button>\r\n <!-- <button mat-mini-fab color=\"primary\" (click)=\"recover(user)\" style=\"margin-right:10px\" matTooltip=\"Reset Password\" matTooltipPosition=\"above\"> <mat-icon>vpn_key</mat-icon></button> -->\r\n\r\n\r\n\r\n </td>\r\n </ng-container>\r\n\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\" [ngClass]=\"{'make-gray': row.disabled =='1'}\"></tr>\r\n\r\n </table>\r\n\r\n </div>\r\n\r\n <mat-paginator #usersPaginator [pageSizeOptions]=\"[10, 20, 50]\" showFirstLastButtons></mat-paginator>\r\n</div>\r\n",
|
|
116
|
-
styles: [".mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}.refreshIcon{font-size:22px!important;margin-top:-7px!important}.make-gray{background-color:#d3d3d3}"]
|
|
117
|
-
})
|
|
118
|
-
], UsersComponent);
|
|
119
|
-
export { UsersComponent };
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGluLXNwYS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3VzZXJzL3VzZXJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBa0IsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTdELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFRMUQsSUFBYSxjQUFjLEdBQTNCLE1BQWEsY0FBYztJQUN6QixZQUFvQixXQUF3QixFQUFTLE1BQWMsRUFBVSxXQUF3QixFQUFVLFdBQTJCLEVBQVMsTUFBaUIsRUFBVSxjQUE4QjtRQUF4TCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFTLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUFTLFdBQU0sR0FBTixNQUFNLENBQVc7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFPNU0saUJBQVksR0FBWSxLQUFLLENBQUM7UUFHOUIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFHakIscUJBQWdCLEdBQWEsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUs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QUMsWUFBWSxHQUFHLEtBQUssQ0FBQztnQkFDNUIsQ0FBQyxDQUNGLENBQUM7YUFFSDtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUVGLENBQUE7O1lBbkhrQyxXQUFXO1lBQWlCLE1BQU07WUFBdUIsV0FBVztZQUF1QixjQUFjO1lBQWlCLFNBQVM7WUFBMEIsY0FBYzs7QUFRL0s7SUFBNUIsU0FBUyxDQUFDLGdCQUFnQixDQUFDO3NEQUE4QjtBQVQvQyxjQUFjO0lBTDFCLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxXQUFXO1FBQ3JCLHkwSUFBcUM7O0tBRXRDLENBQUM7R0FDVyxjQUFjLENBb0gxQjtTQXBIWSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEluamVjdCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3RhYmxlXCI7XHJcbmltcG9ydCB7IE1hdFBhZ2luYXRvciB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3JcIjtcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2VMaWIgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvZGF0YS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvbWVzc2FnZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZVwiO1xyXG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9DbGFzc2VzJztcclxuaW1wb3J0IHsgSHR0cFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvaHR0cC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEFwaVJlc3BvbnNlIH0gZnJvbSBcIi4uLy4uL2NsYXNzZXMvVGluQ29yZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwic3BhLXVzZXJzXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi91c2Vycy5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi91c2Vycy5jb21wb25lbnQuY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXNlcnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cFNlcnZpY2U6IEh0dHBTZXJ2aWNlLCBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLCBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZUxpYiwgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nLCBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5pc0F1dGhvcmlzZWQodGhpcy5kYXRhU2VydmljZS5jYXBVc2Vycy5uYW1lKTtcclxuICAgIHRoaXMuVXBkYXRlRGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgaXNQcm9jZXNzaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQFZpZXdDaGlsZChcInVzZXJzUGFnaW5hdG9yXCIpIHVzZXJzUGFnaW5hdG9yOiBNYXRQYWdpbmF0b3I7XHJcblxyXG4gIF9maWx0ZXJUZXh0ID0gXCJcIjtcclxuXHJcbiAgdXNlcnM7XHJcbiAgZGlzcGxheWVkQ29sdW1uczogc3RyaW5nW10gPSBbXCJ1c2VyTmFtZVwiLCBcImZ1bGxOYW1lXCIsIFwicm9sZU5hbWVcIiwgXCJsb2NrZWRcIiwgXCJkYXRlQ3JlYXRlZFwiLCBcIkFjdGlvblwiXTtcclxuXHJcbiAgcHVibGljIFVwZGF0ZURhdGEoKSB7XHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLkdldFVzZXIoKS5zdWJzY3JpYmUoXHJcbiAgICAgIChhcGlSZXNwb25zZSkgPT4ge1xyXG5cclxuICAgICAgICB0aGlzLnVzZXJzID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZShhcGlSZXNwb25zZSk7XHJcbiAgICAgICAgdGhpcy51c2Vycy5wYWdpbmF0b3IgPSB0aGlzLnVzZXJzUGFnaW5hdG9yO1xyXG4gICAgICAgIHRoaXMuYXBwbHlGaWx0ZXIodGhpcy5fZmlsdGVyVGV4dCk7XHJcblxyXG4gICAgICB9LFxyXG4gICAgICAoZXJyb3IpID0+IHtcclxuICAgICAgICB0aGlzLmlzUHJvY2Vzc2luZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QodGhpcy5odHRwU2VydmljZS5FcnJvcihlcnJvcikpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgYXBwbHlGaWx0ZXIoZmlsdGVyVmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy51c2Vycy5maWx0ZXIgPSBmaWx0ZXJWYWx1ZS50cmltKCkudG9Mb3dlckNhc2UoKTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZUFjY291bnQoKSB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCJob21lL2FkbWluL2NyZWF0ZS1hY2NvdW50XCJdKTtcclxuICB9XHJcblxyXG4gIHZpZXdQcm9maWxlKHVzZXI6IFVzZXIpIHtcclxuXHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLnRtcFByb2ZpbGV1c2VyTmFtZSA9IHVzZXIudXNlck5hbWU7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCJob21lL3VzZXIvcHJvZmlsZVwiXSk7XHJcblxyXG4gIH1cclxuXHJcbiAgbG9jayh1KSB7XHJcbiAgICBsZXQgbG9naW4gPSB7IHVzZXJOYW1lOiB1LnVzZXJOYW1lLCBwYXNzd29yZDogXCJBYmNkZWZAMTIzXCIgfVxyXG5cclxuICAgIHRoaXMuZGF0YVNlcnZpY2UuTG9ja1VzZXIobG9naW4pLnN1YnNjcmliZSgoYXBpUmVzcG9uc2UpID0+IHtcclxuXHJcbiAgICAgIGlmIChhcGlSZXNwb25zZS5zdWNjZXNzKSB7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIlVzZXIgTG9ja2VkXCIpO1xyXG4gICAgICAgIHRoaXMuVXBkYXRlRGF0YSgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJFcnJvcjogXCIgKyBhcGlSZXNwb25zZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdW5sb2NrKHUpIHtcclxuICAgIGxldCBsb2dpbiA9IHsgdXNlck5hbWU6IHUudXNlck5hbWUsIHBhc3N3b3JkOiBcIkFiY2RlZkAxMjNcIiB9XHJcblxyXG4gICAgdGhpcy5kYXRhU2VydmljZS5VbmxvY2tVc2VyKGxvZ2luKS5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlKSA9PiB7XHJcblxyXG4gICAgICBpZiAoYXBpUmVzcG9uc2Uuc3VjY2Vzcykge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJVc2VyIFVubG9ja2VkXCIpO1xyXG4gICAgICAgIHRoaXMuVXBkYXRlRGF0YSgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJFcnJvcjogXCIgKyBhcGlSZXNwb25zZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVjb3Zlcih1OiBVc2VyKSB7XHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLlNlbGZSZXNldCh1KS5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlOiBBcGlSZXNwb25zZSkgPT4ge1xyXG4gICAgICBpZiAoYXBpUmVzcG9uc2UubWVzc2FnZSA9PSBcInN1Y2Nlc3NcIikge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJUaGUgcGFzc3dvcmQgaGFzIGJlZW4gc2VudCBvbiBlbWFpbFwiKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRXJyb3I6IFwiICsgYXBpUmVzcG9uc2UubWVzc2FnZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICB9XHJcblxyXG4gIGRlbGV0ZVVzZXIodXNlcjogVXNlcikge1xyXG5cclxuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuY29uZmlybShgRGVsZXRlICR7dXNlci51c2VyTmFtZX0gP2ApLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcblxyXG4gICAgICBpZiAocmVzdWx0ID09IFwieWVzXCIpIHtcclxuXHJcbiAgICAgICAgdGhpcy5pc1Byb2Nlc3NpbmcgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuZGF0YVNlcnZpY2UuRGVsZXRlVXNlcih1c2VyKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAoYXBpUmVzcG9uc2U6IEFwaVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNQcm9jZXNzaW5nID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgICBpZiAoYXBpUmVzcG9uc2UubWVzc2FnZSA9PSBcInN1Y2Nlc3NcIikge1xyXG4gICAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJVc2VyIERlbGV0ZWRcIik7XHJcblxyXG4gICAgICAgICAgICAgIHRoaXMuVXBkYXRlRGF0YSgpO1xyXG5cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRXJyb3I6IFwiICsgYXBpUmVzcG9uc2UubWVzc2FnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAoZXJyb3IpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIkNvbm5lY3Rpb24gZmFpbGVkIFwiKTtcclxuICAgICAgICAgICAgdGhpcy5pc1Byb2Nlc3NpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG5cclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuXHJcbiJdfQ==
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { Directive, Output, EventEmitter, HostBinding, HostListener } from '@angular/core';
|
|
3
|
-
let DndDirective = class DndDirective {
|
|
4
|
-
constructor() {
|
|
5
|
-
this.fileDropped = new EventEmitter();
|
|
6
|
-
}
|
|
7
|
-
// Dragover listener
|
|
8
|
-
onDragOver(evt) {
|
|
9
|
-
evt.preventDefault();
|
|
10
|
-
evt.stopPropagation();
|
|
11
|
-
this.fileOver = true;
|
|
12
|
-
}
|
|
13
|
-
// Dragleave listener
|
|
14
|
-
onDragLeave(evt) {
|
|
15
|
-
evt.preventDefault();
|
|
16
|
-
evt.stopPropagation();
|
|
17
|
-
this.fileOver = false;
|
|
18
|
-
}
|
|
19
|
-
// Drop listener
|
|
20
|
-
ondrop(evt) {
|
|
21
|
-
evt.preventDefault();
|
|
22
|
-
evt.stopPropagation();
|
|
23
|
-
this.fileOver = false;
|
|
24
|
-
let files = evt.dataTransfer.files;
|
|
25
|
-
if (files.length > 0) {
|
|
26
|
-
this.fileDropped.emit(files);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
__decorate([
|
|
31
|
-
HostBinding('class.fileover')
|
|
32
|
-
], DndDirective.prototype, "fileOver", void 0);
|
|
33
|
-
__decorate([
|
|
34
|
-
Output()
|
|
35
|
-
], DndDirective.prototype, "fileDropped", void 0);
|
|
36
|
-
__decorate([
|
|
37
|
-
HostListener('dragover', ['$event'])
|
|
38
|
-
], DndDirective.prototype, "onDragOver", null);
|
|
39
|
-
__decorate([
|
|
40
|
-
HostListener('dragleave', ['$event'])
|
|
41
|
-
], DndDirective.prototype, "onDragLeave", null);
|
|
42
|
-
__decorate([
|
|
43
|
-
HostListener('drop', ['$event'])
|
|
44
|
-
], DndDirective.prototype, "ondrop", null);
|
|
45
|
-
DndDirective = __decorate([
|
|
46
|
-
Directive({
|
|
47
|
-
selector: '[appDnd]'
|
|
48
|
-
})
|
|
49
|
-
], DndDirective);
|
|
50
|
-
export { DndDirective };
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5kLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL3Rpbi1zcGEvIiwic291cmNlcyI6WyJsaWIvZG5kLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBRU4sWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFLdkIsSUFBYSxZQUFZLEdBQXpCLE1BQWEsWUFBWTtJQUF6QjtRQUVZLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQTBCbEQsQ0FBQztJQXhCQyxvQkFBb0I7SUFDa0IsVUFBVSxDQUFDLEdBQUc7UUFDbEQsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3JCLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUN2QixDQUFDO0lBRUQscUJBQXFCO0lBQ3lCLFdBQVcsQ0FBQyxHQUFHO1FBQzNELEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNyQixHQUFHLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVELGdCQUFnQjtJQUN5QixNQUFNLENBQUMsR0FBRztRQUNqRCxHQUFHLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDckIsR0FBRyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksS0FBSyxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO1FBQ25DLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDOUI7SUFDSCxDQUFDO0NBQ0YsQ0FBQTtBQTNCZ0M7SUFBOUIsV0FBVyxDQUFDLGdCQUFnQixDQUFDOzhDQUFtQjtBQUN2QztJQUFULE1BQU0sRUFBRTtpREFBdUM7QUFHVjtJQUFyQyxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7OENBSXBDO0FBR3NDO0lBQXRDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQzsrQ0FJckM7QUFHaUM7SUFBakMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDOzBDQVFoQztBQTNCVSxZQUFZO0lBSHhCLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxVQUFVO0tBQ3JCLENBQUM7R0FDVyxZQUFZLENBNEJ4QjtTQTVCWSxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBEaXJlY3RpdmUsXHJcbiAgT3V0cHV0LFxyXG4gIElucHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0QmluZGluZyxcclxuICBIb3N0TGlzdGVuZXJcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2FwcERuZF0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEbmREaXJlY3RpdmUge1xyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZmlsZW92ZXInKSBmaWxlT3ZlcjogYm9vbGVhbjtcclxuICBAT3V0cHV0KCkgZmlsZURyb3BwZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgLy8gRHJhZ292ZXIgbGlzdGVuZXJcclxuICBASG9zdExpc3RlbmVyKCdkcmFnb3ZlcicsIFsnJGV2ZW50J10pIG9uRHJhZ092ZXIoZXZ0KSB7XHJcbiAgICBldnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuZmlsZU92ZXIgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgLy8gRHJhZ2xlYXZlIGxpc3RlbmVyXHJcbiAgQEhvc3RMaXN0ZW5lcignZHJhZ2xlYXZlJywgWyckZXZlbnQnXSkgcHVibGljIG9uRHJhZ0xlYXZlKGV2dCkge1xyXG4gICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLmZpbGVPdmVyID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvLyBEcm9wIGxpc3RlbmVyXHJcbiAgQEhvc3RMaXN0ZW5lcignZHJvcCcsIFsnJGV2ZW50J10pIHB1YmxpYyBvbmRyb3AoZXZ0KSB7XHJcbiAgICBldnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuZmlsZU92ZXIgPSBmYWxzZTtcclxuICAgIGxldCBmaWxlcyA9IGV2dC5kYXRhVHJhbnNmZXIuZmlsZXM7XHJcbiAgICBpZiAoZmlsZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmZpbGVEcm9wcGVkLmVtaXQoZmlsZXMpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { SettingsComponent } from '../components/settings/settings.component';
|
|
3
|
-
import { LogsComponent } from '../components/logs/logs.component';
|
|
4
|
-
import { SpaMatModule } from "./spa-mat.module";
|
|
5
|
-
import { NgModule } from "@angular/core";
|
|
6
|
-
import { CommonModule } from "@angular/common";
|
|
7
|
-
import { FormsModule, ReactiveFormsModule } from "@angular/forms";
|
|
8
|
-
import { UsersComponent } from "../components/users/users.component";
|
|
9
|
-
import { RolesComponent } from "../components/roles/roles.component";
|
|
10
|
-
import { addRoleDialog } from "../components/roles/addRoleDialog.component";
|
|
11
|
-
import { CreateAccountComponent } from "../components/create-account/create-account.component";
|
|
12
|
-
import { TinSpaModule } from '../tin-spa.module';
|
|
13
|
-
let SpaAdminModule = class SpaAdminModule {
|
|
14
|
-
};
|
|
15
|
-
SpaAdminModule = __decorate([
|
|
16
|
-
NgModule({
|
|
17
|
-
declarations: [
|
|
18
|
-
UsersComponent,
|
|
19
|
-
RolesComponent,
|
|
20
|
-
addRoleDialog,
|
|
21
|
-
CreateAccountComponent,
|
|
22
|
-
LogsComponent,
|
|
23
|
-
SettingsComponent
|
|
24
|
-
],
|
|
25
|
-
entryComponents: [
|
|
26
|
-
addRoleDialog,
|
|
27
|
-
],
|
|
28
|
-
imports: [
|
|
29
|
-
ReactiveFormsModule.withConfig({ warnOnNgModelWithFormControl: "never" }),
|
|
30
|
-
CommonModule,
|
|
31
|
-
FormsModule,
|
|
32
|
-
ReactiveFormsModule,
|
|
33
|
-
SpaMatModule,
|
|
34
|
-
TinSpaModule
|
|
35
|
-
],
|
|
36
|
-
exports: [
|
|
37
|
-
CommonModule,
|
|
38
|
-
FormsModule,
|
|
39
|
-
SpaMatModule,
|
|
40
|
-
UsersComponent,
|
|
41
|
-
RolesComponent,
|
|
42
|
-
addRoleDialog,
|
|
43
|
-
CreateAccountComponent,
|
|
44
|
-
LogsComponent,
|
|
45
|
-
SettingsComponent
|
|
46
|
-
],
|
|
47
|
-
})
|
|
48
|
-
], SpaAdminModule);
|
|
49
|
-
export { SpaAdminModule };
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhLWFkbWluLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL3Rpbi1zcGEvIiwic291cmNlcyI6WyJsaWIvbW9kdWxlcy9zcGEtYWRtaW4ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUMvRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFxQ2pELElBQWEsY0FBYyxHQUEzQixNQUFhLGNBQWM7Q0FBRyxDQUFBO0FBQWpCLGNBQWM7SUFuQzFCLFFBQVEsQ0FBQztRQUNSLFlBQVksRUFBRTtZQUNaLGNBQWM7WUFDZCxjQUFjO1lBQ2QsYUFBYTtZQUNiLHNCQUFzQjtZQUN0QixhQUFhO1lBQ2IsaUJBQWlCO1NBQ2xCO1FBRUQsZUFBZSxFQUFFO1lBQ2YsYUFBYTtTQUNkO1FBRUQsT0FBTyxFQUFFO1lBQ1AsbUJBQW1CLENBQUMsVUFBVSxDQUFDLEVBQUUsNEJBQTRCLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFDekUsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsWUFBWTtZQUNaLFlBQVk7U0FDYjtRQUVELE9BQU8sRUFBRTtZQUNQLFlBQVk7WUFDWixXQUFXO1lBQ1gsWUFBWTtZQUNaLGNBQWM7WUFDZCxjQUFjO1lBQ2QsYUFBYTtZQUNiLHNCQUFzQjtZQUN0QixhQUFhO1lBQ2IsaUJBQWlCO1NBQ2xCO0tBQ0YsQ0FBQztHQUNXLGNBQWMsQ0FBRztTQUFqQixjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL3NldHRpbmdzL3NldHRpbmdzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExvZ3NDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2xvZ3MvbG9ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTcGFNYXRNb2R1bGUgfSBmcm9tIFwiLi9zcGEtbWF0Lm1vZHVsZVwiO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgVXNlcnNDb21wb25lbnQgfSBmcm9tIFwiLi4vY29tcG9uZW50cy91c2Vycy91c2Vycy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgUm9sZXNDb21wb25lbnQgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9yb2xlcy9yb2xlcy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgYWRkUm9sZURpYWxvZyB9IGZyb20gXCIuLi9jb21wb25lbnRzL3JvbGVzL2FkZFJvbGVEaWFsb2cuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IENyZWF0ZUFjY291bnRDb21wb25lbnQgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9jcmVhdGUtYWNjb3VudC9jcmVhdGUtYWNjb3VudC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgVGluU3BhTW9kdWxlIH0gZnJvbSAnLi4vdGluLXNwYS5tb2R1bGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFVzZXJzQ29tcG9uZW50LFxyXG4gICAgUm9sZXNDb21wb25lbnQsXHJcbiAgICBhZGRSb2xlRGlhbG9nLFxyXG4gICAgQ3JlYXRlQWNjb3VudENvbXBvbmVudCxcclxuICAgIExvZ3NDb21wb25lbnQsXHJcbiAgICBTZXR0aW5nc0NvbXBvbmVudFxyXG4gIF0sXHJcblxyXG4gIGVudHJ5Q29tcG9uZW50czogW1xyXG4gICAgYWRkUm9sZURpYWxvZyxcclxuICBdLFxyXG5cclxuICBpbXBvcnRzOiBbXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLndpdGhDb25maWcoeyB3YXJuT25OZ01vZGVsV2l0aEZvcm1Db250cm9sOiBcIm5ldmVyXCIgfSksXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBTcGFNYXRNb2R1bGUsXHJcbiAgICBUaW5TcGFNb2R1bGVcclxuICBdLFxyXG5cclxuICBleHBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFNwYU1hdE1vZHVsZSxcclxuICAgIFVzZXJzQ29tcG9uZW50LFxyXG4gICAgUm9sZXNDb21wb25lbnQsXHJcbiAgICBhZGRSb2xlRGlhbG9nLFxyXG4gICAgQ3JlYXRlQWNjb3VudENvbXBvbmVudCxcclxuICAgIExvZ3NDb21wb25lbnQsXHJcbiAgICBTZXR0aW5nc0NvbXBvbmVudFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTcGFBZG1pbk1vZHVsZSB7fVxyXG4iXX0=
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { SpaMatModule } from "./spa-mat.module";
|
|
3
|
-
import { NgModule } from "@angular/core";
|
|
4
|
-
import { CommonModule } from "@angular/common";
|
|
5
|
-
import { FormsModule, ReactiveFormsModule } from "@angular/forms";
|
|
6
|
-
import { LoginComponent } from "../components/login/login.component";
|
|
7
|
-
import { SignupComponent } from "../components/signup/signup.component";
|
|
8
|
-
import { RecoverAccountComponent } from "../components/recover-account/recover-account.component";
|
|
9
|
-
import { TinSpaModule } from "../tin-spa.module";
|
|
10
|
-
let SpaIndexModule = class SpaIndexModule {
|
|
11
|
-
};
|
|
12
|
-
SpaIndexModule = __decorate([
|
|
13
|
-
NgModule({
|
|
14
|
-
declarations: [LoginComponent, SignupComponent, RecoverAccountComponent],
|
|
15
|
-
entryComponents: [],
|
|
16
|
-
imports: [
|
|
17
|
-
ReactiveFormsModule.withConfig({ warnOnNgModelWithFormControl: "never" }),
|
|
18
|
-
CommonModule,
|
|
19
|
-
FormsModule,
|
|
20
|
-
ReactiveFormsModule,
|
|
21
|
-
SpaMatModule,
|
|
22
|
-
TinSpaModule
|
|
23
|
-
],
|
|
24
|
-
exports: [
|
|
25
|
-
CommonModule,
|
|
26
|
-
FormsModule,
|
|
27
|
-
SpaMatModule,
|
|
28
|
-
LoginComponent,
|
|
29
|
-
SignupComponent,
|
|
30
|
-
RecoverAccountComponent,
|
|
31
|
-
],
|
|
32
|
-
})
|
|
33
|
-
], SpaIndexModule);
|
|
34
|
-
export { SpaIndexModule };
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhLWluZGV4Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL3Rpbi1zcGEvIiwic291cmNlcyI6WyJsaWIvbW9kdWxlcy9zcGEtaW5kZXgubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDbEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBeUJqRCxJQUFhLGNBQWMsR0FBM0IsTUFBYSxjQUFjO0NBQUcsQ0FBQTtBQUFqQixjQUFjO0lBdkIxQixRQUFRLENBQUM7UUFDUixZQUFZLEVBQUUsQ0FBQyxjQUFjLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixDQUFDO1FBRXhFLGVBQWUsRUFBRSxFQUFFO1FBRW5CLE9BQU8sRUFBRTtZQUNQLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxFQUFFLDRCQUE0QixFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ3pFLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLFlBQVk7WUFDWixZQUFZO1NBQ2I7UUFFRCxPQUFPLEVBQUU7WUFDUCxZQUFZO1lBQ1osV0FBVztZQUNYLFlBQVk7WUFDWixjQUFjO1lBQ2QsZUFBZTtZQUNmLHVCQUF1QjtTQUN4QjtLQUNGLENBQUM7R0FDVyxjQUFjLENBQUc7U0FBakIsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNwYU1hdE1vZHVsZSB9IGZyb20gXCIuL3NwYS1tYXQubW9kdWxlXCI7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBMb2dpbkNvbXBvbmVudCB9IGZyb20gXCIuLi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBTaWdudXBDb21wb25lbnQgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9zaWdudXAvc2lnbnVwLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBSZWNvdmVyQWNjb3VudENvbXBvbmVudCB9IGZyb20gXCIuLi9jb21wb25lbnRzL3JlY292ZXItYWNjb3VudC9yZWNvdmVyLWFjY291bnQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFRpblNwYU1vZHVsZSB9IGZyb20gXCIuLi90aW4tc3BhLm1vZHVsZVwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtMb2dpbkNvbXBvbmVudCwgU2lnbnVwQ29tcG9uZW50LCBSZWNvdmVyQWNjb3VudENvbXBvbmVudF0sXHJcblxyXG4gIGVudHJ5Q29tcG9uZW50czogW10sXHJcblxyXG4gIGltcG9ydHM6IFtcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUud2l0aENvbmZpZyh7IHdhcm5Pbk5nTW9kZWxXaXRoRm9ybUNvbnRyb2w6IFwibmV2ZXJcIiB9KSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIFNwYU1hdE1vZHVsZSxcclxuICAgIFRpblNwYU1vZHVsZVxyXG4gIF0sXHJcblxyXG4gIGV4cG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgU3BhTWF0TW9kdWxlLFxyXG4gICAgTG9naW5Db21wb25lbnQsXHJcbiAgICBTaWdudXBDb21wb25lbnQsXHJcbiAgICBSZWNvdmVyQWNjb3VudENvbXBvbmVudCxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3BhSW5kZXhNb2R1bGUge31cclxuIl19
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { CommonModule } from '@angular/common';
|
|
4
|
-
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
5
|
-
import { MatBadgeModule } from '@angular/material/badge';
|
|
6
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
7
|
-
import { MatCardModule } from '@angular/material/card';
|
|
8
|
-
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
9
|
-
import { MatChipsModule } from '@angular/material/chips';
|
|
10
|
-
import { MatNativeDateModule, MAT_DATE_LOCALE } from '@angular/material/core';
|
|
11
|
-
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
12
|
-
import { MatDialogModule, MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material/dialog';
|
|
13
|
-
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
14
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
15
|
-
import { MatInputModule } from '@angular/material/input';
|
|
16
|
-
import { MatListModule } from '@angular/material/list';
|
|
17
|
-
import { MatMenuModule } from '@angular/material/menu';
|
|
18
|
-
import { MatPaginatorModule } from '@angular/material/paginator';
|
|
19
|
-
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
20
|
-
import { MatRadioModule } from '@angular/material/radio';
|
|
21
|
-
import { MatSelectModule } from '@angular/material/select';
|
|
22
|
-
import { MatSliderModule } from '@angular/material/slider';
|
|
23
|
-
import { MatSnackBarModule } from '@angular/material/snack-bar';
|
|
24
|
-
import { MatSortModule } from '@angular/material/sort';
|
|
25
|
-
import { MatStepperModule } from '@angular/material/stepper';
|
|
26
|
-
import { MatTableModule } from '@angular/material/table';
|
|
27
|
-
import { MatTabsModule } from '@angular/material/tabs';
|
|
28
|
-
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
29
|
-
import { ReactiveFormsModule, FormsModule } from '@angular/forms';
|
|
30
|
-
const ɵ0 = { disableClose: true, hasBackdrop: true };
|
|
31
|
-
let SpaMatModule = class SpaMatModule {
|
|
32
|
-
};
|
|
33
|
-
SpaMatModule = __decorate([
|
|
34
|
-
NgModule({
|
|
35
|
-
declarations: [],
|
|
36
|
-
imports: [],
|
|
37
|
-
exports: [
|
|
38
|
-
CommonModule, FormsModule, ReactiveFormsModule,
|
|
39
|
-
MatMenuModule, MatSliderModule, MatTableModule, MatPaginatorModule,
|
|
40
|
-
MatCheckboxModule, MatBadgeModule, MatButtonModule, MatIconModule, MatDialogModule, MatSnackBarModule,
|
|
41
|
-
MatTabsModule, MatFormFieldModule, MatInputModule, MatCardModule, MatChipsModule, MatSelectModule,
|
|
42
|
-
MatNativeDateModule, MatProgressSpinnerModule, MatListModule, MatAutocompleteModule, MatTooltipModule, MatSortModule,
|
|
43
|
-
MatDatepickerModule, MatStepperModule, MatRadioModule,
|
|
44
|
-
],
|
|
45
|
-
providers: [
|
|
46
|
-
{ provide: MAT_DIALOG_DEFAULT_OPTIONS, useValue: ɵ0 },
|
|
47
|
-
{ provide: MAT_DATE_LOCALE, useValue: "en-GB" },
|
|
48
|
-
]
|
|
49
|
-
})
|
|
50
|
-
], SpaMatModule);
|
|
51
|
-
export { SpaMatModule };
|
|
52
|
-
export { ɵ0 };
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhLW1hdC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aW4tc3BhLyIsInNvdXJjZXMiOlsibGliL21vZHVsZXMvc3BhLW1hdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7V0FpQmIsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7QUFJOUYsSUFBYSxZQUFZLEdBQXpCLE1BQWEsWUFBWTtDQUFJLENBQUE7QUFBaEIsWUFBWTtJQW5CeEIsUUFBUSxDQUFDO1FBQ1IsWUFBWSxFQUFFLEVBQUU7UUFDaEIsT0FBTyxFQUFFLEVBR1I7UUFDRCxPQUFPLEVBQUU7WUFDUCxZQUFZLEVBQUMsV0FBVyxFQUFFLG1CQUFtQjtZQUM3QyxhQUFhLEVBQUssZUFBZSxFQUFLLGNBQWMsRUFBSyxrQkFBa0I7WUFDM0UsaUJBQWlCLEVBQUssY0FBYyxFQUFLLGVBQWUsRUFBSyxhQUFhLEVBQUssZUFBZSxFQUFLLGlCQUFpQjtZQUNwSCxhQUFhLEVBQUssa0JBQWtCLEVBQUssY0FBYyxFQUFLLGFBQWEsRUFBSyxjQUFjLEVBQUssZUFBZTtZQUNoSCxtQkFBbUIsRUFBSyx3QkFBd0IsRUFBSyxhQUFhLEVBQUsscUJBQXFCLEVBQUssZ0JBQWdCLEVBQUssYUFBYTtZQUNuSSxtQkFBbUIsRUFBSyxnQkFBZ0IsRUFBSyxjQUFjO1NBQzVEO1FBQ0QsU0FBUyxFQUFDO1lBQ1IsRUFBRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsUUFBUSxJQUEyQyxFQUFHO1lBQzdGLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFO1NBQ2hEO0tBQ0YsQ0FBQztHQUNXLFlBQVksQ0FBSTtTQUFoQixZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgTWF0QmFkZ2VNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9iYWRnZSc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IE1hdENoaXBzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xyXG5pbXBvcnQgeyBNYXROYXRpdmVEYXRlTW9kdWxlLCBNQVRfREFURV9MT0NBTEUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUsIE1BVF9ESUFMT0dfREVGQVVMVF9PUFRJT05TIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5pbXBvcnQgeyBNYXRQYWdpbmF0b3JNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcclxuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XHJcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IE1hdFNsaWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlcic7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHsgTWF0U29ydE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xyXG5pbXBvcnQgeyBNYXRTdGVwcGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc3RlcHBlcic7XHJcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSwgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW10sXHJcbiAgaW1wb3J0czogW1xyXG5cclxuXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRNZW51TW9kdWxlLCAgICBNYXRTbGlkZXJNb2R1bGUsICAgIE1hdFRhYmxlTW9kdWxlLCAgICBNYXRQYWdpbmF0b3JNb2R1bGUsXHJcbiAgICBNYXRDaGVja2JveE1vZHVsZSwgICAgTWF0QmFkZ2VNb2R1bGUsICAgIE1hdEJ1dHRvbk1vZHVsZSwgICAgTWF0SWNvbk1vZHVsZSwgICAgTWF0RGlhbG9nTW9kdWxlLCAgICBNYXRTbmFja0Jhck1vZHVsZSxcclxuICAgIE1hdFRhYnNNb2R1bGUsICAgIE1hdEZvcm1GaWVsZE1vZHVsZSwgICAgTWF0SW5wdXRNb2R1bGUsICAgIE1hdENhcmRNb2R1bGUsICAgIE1hdENoaXBzTW9kdWxlLCAgICBNYXRTZWxlY3RNb2R1bGUsXHJcbiAgICBNYXROYXRpdmVEYXRlTW9kdWxlLCAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsICAgIE1hdExpc3RNb2R1bGUsICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSwgICAgTWF0VG9vbHRpcE1vZHVsZSwgICAgTWF0U29ydE1vZHVsZSxcclxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsICAgIE1hdFN0ZXBwZXJNb2R1bGUsICAgIE1hdFJhZGlvTW9kdWxlLFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOltcclxuICAgIHsgcHJvdmlkZTogTUFUX0RJQUxPR19ERUZBVUxUX09QVElPTlMsIHVzZVZhbHVlOiB7IGRpc2FibGVDbG9zZTogdHJ1ZSwgaGFzQmFja2Ryb3A6IHRydWUgfSAgfSxcclxuICAgIHsgcHJvdmlkZTogTUFUX0RBVEVfTE9DQUxFLCB1c2VWYWx1ZTogXCJlbi1HQlwiIH0sXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3BhTWF0TW9kdWxlIHsgfVxyXG4iXX0=
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { SpaMatModule } from "./spa-mat.module";
|
|
3
|
-
import { NgModule } from "@angular/core";
|
|
4
|
-
import { CommonModule } from "@angular/common";
|
|
5
|
-
import { FormsModule, ReactiveFormsModule } from "@angular/forms";
|
|
6
|
-
import { ChangePasswordComponent } from "../components/change-password/change-password.component";
|
|
7
|
-
import { ProfileComponent } from "../components/profile/profile.component";
|
|
8
|
-
import { TinSpaModule } from "../tin-spa.module";
|
|
9
|
-
let SpaUserModule = class SpaUserModule {
|
|
10
|
-
};
|
|
11
|
-
SpaUserModule = __decorate([
|
|
12
|
-
NgModule({
|
|
13
|
-
declarations: [ChangePasswordComponent, ProfileComponent],
|
|
14
|
-
entryComponents: [],
|
|
15
|
-
imports: [
|
|
16
|
-
ReactiveFormsModule.withConfig({ warnOnNgModelWithFormControl: "never" }),
|
|
17
|
-
CommonModule,
|
|
18
|
-
FormsModule,
|
|
19
|
-
ReactiveFormsModule,
|
|
20
|
-
SpaMatModule,
|
|
21
|
-
TinSpaModule
|
|
22
|
-
],
|
|
23
|
-
exports: [
|
|
24
|
-
CommonModule,
|
|
25
|
-
FormsModule,
|
|
26
|
-
SpaMatModule,
|
|
27
|
-
ChangePasswordComponent,
|
|
28
|
-
ProfileComponent,
|
|
29
|
-
],
|
|
30
|
-
})
|
|
31
|
-
], SpaUserModule);
|
|
32
|
-
export { SpaUserModule };
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhLXVzZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGluLXNwYS8iLCJzb3VyY2VzIjpbImxpYi9tb2R1bGVzL3NwYS11c2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUF3QmpELElBQWEsYUFBYSxHQUExQixNQUFhLGFBQWE7Q0FBRyxDQUFBO0FBQWhCLGFBQWE7SUF0QnpCLFFBQVEsQ0FBQztRQUNSLFlBQVksRUFBRSxDQUFDLHVCQUF1QixFQUFFLGdCQUFnQixDQUFDO1FBRXpELGVBQWUsRUFBRSxFQUFFO1FBRW5CLE9BQU8sRUFBRTtZQUNQLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxFQUFFLDRCQUE0QixFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ3pFLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLFlBQVk7WUFDWixZQUFZO1NBQ2I7UUFFRCxPQUFPLEVBQUU7WUFDUCxZQUFZO1lBQ1osV0FBVztZQUNYLFlBQVk7WUFDWix1QkFBdUI7WUFDdkIsZ0JBQWdCO1NBQ2pCO0tBQ0YsQ0FBQztHQUNXLGFBQWEsQ0FBRztTQUFoQixhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3BhTWF0TW9kdWxlIH0gZnJvbSBcIi4vc3BhLW1hdC5tb2R1bGVcIjtcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IENoYW5nZVBhc3N3b3JkQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvY2hhbmdlLXBhc3N3b3JkL2NoYW5nZS1wYXNzd29yZC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgUHJvZmlsZUNvbXBvbmVudCB9IGZyb20gXCIuLi9jb21wb25lbnRzL3Byb2ZpbGUvcHJvZmlsZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgVGluU3BhTW9kdWxlIH0gZnJvbSBcIi4uL3Rpbi1zcGEubW9kdWxlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0NoYW5nZVBhc3N3b3JkQ29tcG9uZW50LCBQcm9maWxlQ29tcG9uZW50XSxcclxuXHJcbiAgZW50cnlDb21wb25lbnRzOiBbXSxcclxuXHJcbiAgaW1wb3J0czogW1xyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZS53aXRoQ29uZmlnKHsgd2Fybk9uTmdNb2RlbFdpdGhGb3JtQ29udHJvbDogXCJuZXZlclwiIH0pLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgU3BhTWF0TW9kdWxlLFxyXG4gICAgVGluU3BhTW9kdWxlXHJcbiAgXSxcclxuXHJcbiAgZXhwb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBTcGFNYXRNb2R1bGUsXHJcbiAgICBDaGFuZ2VQYXNzd29yZENvbXBvbmVudCxcclxuICAgIFByb2ZpbGVDb21wb25lbnQsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNwYVVzZXJNb2R1bGUge31cclxuIl19
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { MessageService } from './message.service';
|
|
3
|
-
import { Injectable } from '@angular/core';
|
|
4
|
-
import { Router, CanActivate, ActivatedRoute } from '@angular/router';
|
|
5
|
-
import { BehaviorSubject } from 'rxjs';
|
|
6
|
-
import { StorageService } from './storage.service';
|
|
7
|
-
import { LogService } from './log.service';
|
|
8
|
-
import { Role } from '../classes/Classes';
|
|
9
|
-
import { HttpService } from './http.service';
|
|
10
|
-
import { Constants } from '../classes/TinCore';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "@angular/router";
|
|
13
|
-
import * as i2 from "./storage.service";
|
|
14
|
-
import * as i3 from "./http.service";
|
|
15
|
-
import * as i4 from "./message.service";
|
|
16
|
-
import * as i5 from "./log.service";
|
|
17
|
-
let AuthService = class AuthService {
|
|
18
|
-
constructor(_route, storage, router, httpService, messageService, logService) {
|
|
19
|
-
this._route = _route;
|
|
20
|
-
this.storage = storage;
|
|
21
|
-
this.router = router;
|
|
22
|
-
this.httpService = httpService;
|
|
23
|
-
this.messageService = messageService;
|
|
24
|
-
this.logService = logService;
|
|
25
|
-
//Logged in
|
|
26
|
-
this.loggedin = false;
|
|
27
|
-
this.loggedinSource = new BehaviorSubject(this.loggedin);
|
|
28
|
-
this.loggedinObserv = this.loggedinSource.asObservable();
|
|
29
|
-
//Token
|
|
30
|
-
this.token = "";
|
|
31
|
-
this.tokenSource = new BehaviorSubject(this.token);
|
|
32
|
-
this.tokenObserv = this.tokenSource.asObservable();
|
|
33
|
-
//TokenExpire
|
|
34
|
-
this.tokenExpire = "";
|
|
35
|
-
this.tokenExpireSource = new BehaviorSubject(this.tokenExpire);
|
|
36
|
-
this.tokenExpireObserv = this.tokenExpireSource.asObservable();
|
|
37
|
-
//Current User
|
|
38
|
-
this.currentUser = "tnyagato";
|
|
39
|
-
this.currentUserSource = new BehaviorSubject(this.currentUser);
|
|
40
|
-
this.currentUserObserv = this.currentUserSource.asObservable();
|
|
41
|
-
//Line Manager
|
|
42
|
-
this.islineManager = false;
|
|
43
|
-
this.isLineManagerSource = new BehaviorSubject(this.islineManager);
|
|
44
|
-
this.isLineManagerObserv = this.isLineManagerSource.asObservable();
|
|
45
|
-
//Roles
|
|
46
|
-
this.currentRole = new Role;
|
|
47
|
-
this.currentRoleSource = new BehaviorSubject(this.currentRole);
|
|
48
|
-
this.myRoleObserv = this.currentRoleSource.asObservable();
|
|
49
|
-
//Logged in FirstName
|
|
50
|
-
this.loggedUserSource = new BehaviorSubject("tnyagato");
|
|
51
|
-
this.loggedUserFullName = this.loggedUserSource.asObservable();
|
|
52
|
-
}
|
|
53
|
-
Updateloggedin(loggedin) {
|
|
54
|
-
this.loggedinSource.next(loggedin);
|
|
55
|
-
this.loggedin = loggedin;
|
|
56
|
-
}
|
|
57
|
-
UpdateToken(newToken) {
|
|
58
|
-
this.tokenSource.next(newToken);
|
|
59
|
-
}
|
|
60
|
-
UpdateTokenExpire(newTokenExpire) {
|
|
61
|
-
this.tokenExpireSource.next(newTokenExpire);
|
|
62
|
-
}
|
|
63
|
-
UpdateCurrentUser(newUser) {
|
|
64
|
-
this.currentUserSource.next(newUser.toLocaleLowerCase());
|
|
65
|
-
this.currentUser = newUser.toLocaleLowerCase();
|
|
66
|
-
}
|
|
67
|
-
UpdateIsLineManager(manager) {
|
|
68
|
-
this.isLineManagerSource.next(manager);
|
|
69
|
-
}
|
|
70
|
-
UpdateRole(role) {
|
|
71
|
-
this.currentRoleSource.next(role);
|
|
72
|
-
}
|
|
73
|
-
updateLoggedUserFullName(userName) {
|
|
74
|
-
this.loggedUserSource.next(userName);
|
|
75
|
-
}
|
|
76
|
-
//Authorisation
|
|
77
|
-
isAuthorised(capName) {
|
|
78
|
-
if (!this.currentRoleSource.value[capName]) {
|
|
79
|
-
// this.logService.info(`authorise: ${this.currentRoleSource.value.roleName} not authorised for ${capName}`);
|
|
80
|
-
this.router.navigate(["home"]);
|
|
81
|
-
this.messageService.toast(`Unauthorised: ${capName}`);
|
|
82
|
-
return false;
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
return true;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
isValidToken() {
|
|
89
|
-
let tokenExpire = new Date(this.tokenExpireSource.value);
|
|
90
|
-
let nowDate = new Date();
|
|
91
|
-
let valid = tokenExpire > nowDate;
|
|
92
|
-
if (!valid) {
|
|
93
|
-
this.router.navigate(["login"]);
|
|
94
|
-
this.messageService.toast(`Expired Session`);
|
|
95
|
-
}
|
|
96
|
-
return valid;
|
|
97
|
-
}
|
|
98
|
-
canActivate() {
|
|
99
|
-
if (this.loggedin && this.isValidToken()) {
|
|
100
|
-
// this.logService.info("authentication: logged in");
|
|
101
|
-
return true;
|
|
102
|
-
}
|
|
103
|
-
if (localStorage.getItem(Constants.AUTH_USER) === null) {
|
|
104
|
-
// this.logService.info("authentication: not logged and no cache");
|
|
105
|
-
this.Updateloggedin(false);
|
|
106
|
-
let url = new URL(window.location.href);
|
|
107
|
-
let path = url.hash.replace("#/", "");
|
|
108
|
-
this.router.navigate(["login"], {
|
|
109
|
-
relativeTo: this._route,
|
|
110
|
-
queryParams: { redirectTo: path },
|
|
111
|
-
queryParamsHandling: 'merge',
|
|
112
|
-
skipLocationChange: false
|
|
113
|
-
});
|
|
114
|
-
return false;
|
|
115
|
-
}
|
|
116
|
-
else {
|
|
117
|
-
// this.logService.info("authentication: not logged but allowed login");
|
|
118
|
-
this.Updateloggedin(true);
|
|
119
|
-
this.storage.get(Constants.AUTH_USER).then((resp) => {
|
|
120
|
-
this.UpdateCurrentUser(resp);
|
|
121
|
-
});
|
|
122
|
-
this.storage.get(Constants.AUTH_NAME).then((resp) => {
|
|
123
|
-
this.updateLoggedUserFullName(resp);
|
|
124
|
-
});
|
|
125
|
-
this.storage.get(Constants.AUTH_ROLES).then((resp) => {
|
|
126
|
-
let ret = JSON.parse(resp);
|
|
127
|
-
this.UpdateRole(ret);
|
|
128
|
-
});
|
|
129
|
-
this.storage.get(Constants.AUTH_TOKEN).then((resp) => {
|
|
130
|
-
this.UpdateToken(resp);
|
|
131
|
-
});
|
|
132
|
-
this.storage.get(Constants.AUTH_TOKEN_EXPIRE).then((resp) => {
|
|
133
|
-
this.UpdateTokenExpire(resp);
|
|
134
|
-
this.isValidToken();
|
|
135
|
-
});
|
|
136
|
-
return true;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
};
|
|
140
|
-
AuthService.ctorParameters = () => [
|
|
141
|
-
{ type: ActivatedRoute },
|
|
142
|
-
{ type: StorageService },
|
|
143
|
-
{ type: Router },
|
|
144
|
-
{ type: HttpService },
|
|
145
|
-
{ type: MessageService },
|
|
146
|
-
{ type: LogService }
|
|
147
|
-
];
|
|
148
|
-
AuthService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AuthService_Factory() { return new AuthService(i0.ɵɵinject(i1.ActivatedRoute), i0.ɵɵinject(i2.StorageService), i0.ɵɵinject(i1.Router), i0.ɵɵinject(i3.HttpService), i0.ɵɵinject(i4.MessageService), i0.ɵɵinject(i5.LogService)); }, token: AuthService, providedIn: "root" });
|
|
149
|
-
AuthService = __decorate([
|
|
150
|
-
Injectable({
|
|
151
|
-
providedIn: 'root'
|
|
152
|
-
})
|
|
153
|
-
], AuthService);
|
|
154
|
-
export { AuthService };
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGluLXNwYS8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7QUFPL0MsSUFBYSxXQUFXLEdBQXhCLE1BQWEsV0FBVztJQUV0QixZQUFvQixNQUFzQixFQUFVLE9BQXVCLEVBQVMsTUFBYyxFQUFVLFdBQXdCLEVBQVUsY0FBOEIsRUFBVSxVQUFzQjtRQUF4TCxXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUU1TSxXQUFXO1FBQ0gsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyRCxt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Q0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7Z0JBQy9ELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLENBQUMsQ0FBQyxDQUFDO1lBRUgsT0FBTyxJQUFJLENBQUM7U0FDYjtJQUNILENBQUM7Q0FDRixDQUFBOztZQXJKNkIsY0FBYztZQUFtQixjQUFjO1lBQWlCLE1BQU07WUFBdUIsV0FBVztZQUEwQixjQUFjO1lBQXNCLFVBQVU7OztBQUZqTSxXQUFXO0lBSnZCLFVBQVUsQ0FBQztRQUNWLFVBQVUsRUFBRSxNQUFNO0tBQ25CLENBQUM7R0FFVyxXQUFXLENBdUp2QjtTQXZKWSxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuL21lc3NhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyLCBDYW5BY3RpdmF0ZSwgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL3N0b3JhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IExvZ1NlcnZpY2UgfSBmcm9tICcuL2xvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUm9sZSB9IGZyb20gJy4uL2NsYXNzZXMvQ2xhc3Nlcyc7XHJcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi9odHRwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb25zdGFudHMgfSBmcm9tICcuLi9jbGFzc2VzL1RpbkNvcmUnO1xyXG5pbXBvcnQgeyBjb25kaXRpb25hbGx5Q3JlYXRlTWFwT2JqZWN0TGl0ZXJhbCB9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyL3NyYy9yZW5kZXIzL3ZpZXcvdXRpbCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgQXV0aFNlcnZpY2UgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3JvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgcHJpdmF0ZSBzdG9yYWdlOiBTdG9yYWdlU2VydmljZSwgcHVibGljIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIGh0dHBTZXJ2aWNlOiBIdHRwU2VydmljZSwgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsIHByaXZhdGUgbG9nU2VydmljZTogTG9nU2VydmljZSkgeyB9XHJcblxyXG4gIC8vTG9nZ2VkIGluXHJcbiAgcHJpdmF0ZSBsb2dnZWRpbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgbG9nZ2VkaW5Tb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRoaXMubG9nZ2VkaW4pO1xyXG4gIHB1YmxpYyBsb2dnZWRpbk9ic2VydiA9IHRoaXMubG9nZ2VkaW5Tb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgVXBkYXRlbG9nZ2VkaW4obG9nZ2VkaW46IGJvb2xlYW4pIHtcclxuICAgIHRoaXMubG9nZ2VkaW5Tb3VyY2UubmV4dChsb2dnZWRpbik7XHJcbiAgICB0aGlzLmxvZ2dlZGluID0gbG9nZ2VkaW47XHJcbiAgfVxyXG5cclxuICAvL1Rva2VuXHJcbiAgcHJpdmF0ZSB0b2tlbjogc3RyaW5nID0gXCJcIjtcclxuICBwdWJsaWMgdG9rZW5Tb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRoaXMudG9rZW4pO1xyXG4gIHB1YmxpYyB0b2tlbk9ic2VydiA9IHRoaXMudG9rZW5Tb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgVXBkYXRlVG9rZW4obmV3VG9rZW46IHN0cmluZykge1xyXG4gICAgdGhpcy50b2tlblNvdXJjZS5uZXh0KG5ld1Rva2VuKTtcclxuXHJcbiAgfVxyXG5cclxuICAvL1Rva2VuRXhwaXJlXHJcbiAgcHJpdmF0ZSB0b2tlbkV4cGlyZTogc3RyaW5nID0gXCJcIjtcclxuICBwdWJsaWMgdG9rZW5FeHBpcmVTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRoaXMudG9rZW5FeHBpcmUpO1xyXG4gIHB1YmxpYyB0b2tlbkV4cGlyZU9ic2VydiA9IHRoaXMudG9rZW5FeHBpcmVTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgVXBkYXRlVG9rZW5FeHBpcmUobmV3VG9rZW5FeHBpcmU6IHN0cmluZykge1xyXG4gICAgdGhpcy50b2tlbkV4cGlyZVNvdXJjZS5uZXh0KG5ld1Rva2VuRXhwaXJlKTtcclxuXHJcbiAgfVxyXG5cclxuICAvL0N1cnJlbnQgVXNlclxyXG4gIHB1YmxpYyBjdXJyZW50VXNlcjogc3RyaW5nID0gXCJ0bnlhZ2F0b1wiO1xyXG4gIHByaXZhdGUgY3VycmVudFVzZXJTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRoaXMuY3VycmVudFVzZXIpO1xyXG4gIHB1YmxpYyBjdXJyZW50VXNlck9ic2VydiA9IHRoaXMuY3VycmVudFVzZXJTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgVXBkYXRlQ3VycmVudFVzZXIobmV3VXNlcjogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRVc2VyU291cmNlLm5leHQobmV3VXNlci50b0xvY2FsZUxvd2VyQ2FzZSgpKTtcclxuICAgIHRoaXMuY3VycmVudFVzZXIgPSBuZXdVc2VyLnRvTG9jYWxlTG93ZXJDYXNlKCk7XHJcbiAgfVxyXG5cclxuICAvL0xpbmUgTWFuYWdlclxyXG4gIHByaXZhdGUgaXNsaW5lTWFuYWdlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgaXNMaW5lTWFuYWdlclNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3QodGhpcy5pc2xpbmVNYW5hZ2VyKTtcclxuICBwdWJsaWMgaXNMaW5lTWFuYWdlck9ic2VydiA9IHRoaXMuaXNMaW5lTWFuYWdlclNvdXJjZS5hc09ic2VydmFibGUoKTtcclxuICBVcGRhdGVJc0xpbmVNYW5hZ2VyKG1hbmFnZXI6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuaXNMaW5lTWFuYWdlclNvdXJjZS5uZXh0KG1hbmFnZXIpO1xyXG4gIH1cclxuXHJcbiAgLy9Sb2xlc1xyXG4gIHByaXZhdGUgY3VycmVudFJvbGUgPSBuZXcgUm9sZTtcclxuICBwdWJsaWMgY3VycmVudFJvbGVTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRoaXMuY3VycmVudFJvbGUpO1xyXG4gIHB1YmxpYyBteVJvbGVPYnNlcnYgPSB0aGlzLmN1cnJlbnRSb2xlU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIFVwZGF0ZVJvbGUocm9sZSkge1xyXG4gICAgdGhpcy5jdXJyZW50Um9sZVNvdXJjZS5uZXh0KHJvbGUpO1xyXG4gIH1cclxuXHJcbiAgLy9Mb2dnZWQgaW4gRmlyc3ROYW1lXHJcbiAgcHJpdmF0ZSBsb2dnZWRVc2VyU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdChcInRueWFnYXRvXCIpO1xyXG4gIHB1YmxpYyBsb2dnZWRVc2VyRnVsbE5hbWUgPSB0aGlzLmxvZ2dlZFVzZXJTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgdXBkYXRlTG9nZ2VkVXNlckZ1bGxOYW1lKHVzZXJOYW1lOiBzdHJpbmcpIHtcclxuICAgIHRoaXMubG9nZ2VkVXNlclNvdXJjZS5uZXh0KHVzZXJOYW1lKTtcclxuICB9XHJcblxyXG5cclxuICAvL0F1dGhvcmlzYXRpb25cclxuICBpc0F1dGhvcmlzZWQoY2FwTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcblxyXG4gICAgaWYgKCF0aGlzLmN1cnJlbnRSb2xlU291cmNlLnZhbHVlW2NhcE5hbWVdKSB7XHJcbiAgICAgIC8vIHRoaXMubG9nU2VydmljZS5pbmZvKGBhdXRob3Jpc2U6ICR7dGhpcy5jdXJyZW50Um9sZVNvdXJjZS52YWx1ZS5yb2xlTmFtZX0gbm90IGF1dGhvcmlzZWQgZm9yICR7Y2FwTmFtZX1gKTtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiaG9tZVwiXSk7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoYFVuYXV0aG9yaXNlZDogJHtjYXBOYW1lfWApO1xyXG5cclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgaXNWYWxpZFRva2VuKCkge1xyXG5cclxuICAgIGxldCB0b2tlbkV4cGlyZTogRGF0ZSA9IG5ldyBEYXRlKHRoaXMudG9rZW5FeHBpcmVTb3VyY2UudmFsdWUpO1xyXG4gICAgbGV0IG5vd0RhdGU6IERhdGUgPSBuZXcgRGF0ZSgpO1xyXG5cclxuICAgIGxldCB2YWxpZDogYm9vbGVhbiA9IHRva2VuRXhwaXJlID4gbm93RGF0ZTtcclxuXHJcbiAgICBpZiAoIXZhbGlkKSB7XHJcblxyXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCJsb2dpblwiXSk7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoYEV4cGlyZWQgU2Vzc2lvbmApO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB2YWxpZFxyXG4gIH1cclxuXHJcbiAgY2FuQWN0aXZhdGUoKSB7XHJcblxyXG4gICAgaWYgKHRoaXMubG9nZ2VkaW4gJiYgdGhpcy5pc1ZhbGlkVG9rZW4oKSkge1xyXG4gICAgICAvLyB0aGlzLmxvZ1NlcnZpY2UuaW5mbyhcImF1dGhlbnRpY2F0aW9uOiBsb2dnZWQgaW5cIik7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChsb2NhbFN0b3JhZ2UuZ2V0SXRlbShDb25zdGFudHMuQVVUSF9VU0VSKSA9PT0gbnVsbCkge1xyXG4gICAgICAvLyB0aGlzLmxvZ1NlcnZpY2UuaW5mbyhcImF1dGhlbnRpY2F0aW9uOiBub3QgbG9nZ2VkIGFuZCBubyBjYWNoZVwiKTtcclxuXHJcbiAgICAgIHRoaXMuVXBkYXRlbG9nZ2VkaW4oZmFsc2UpO1xyXG5cclxuICAgICAgbGV0IHVybCA9IG5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpO1xyXG4gICAgICBsZXQgcGF0aCA9IHVybC5oYXNoLnJlcGxhY2UoXCIjL1wiLFwiXCIpO1xyXG5cclxuXHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcImxvZ2luXCJdLCB7XHJcbiAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5fcm91dGUsXHJcbiAgICAgICAgcXVlcnlQYXJhbXM6IHtyZWRpcmVjdFRvOiBwYXRofSxcclxuICAgICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnLFxyXG4gICAgICAgIHNraXBMb2NhdGlvbkNoYW5nZTogZmFsc2VcclxuICAgICAgfSk7XHJcblxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gdGhpcy5sb2dTZXJ2aWNlLmluZm8oXCJhdXRoZW50aWNhdGlvbjogbm90IGxvZ2dlZCBidXQgYWxsb3dlZCBsb2dpblwiKTtcclxuXHJcbiAgICAgIHRoaXMuVXBkYXRlbG9nZ2VkaW4odHJ1ZSk7XHJcblxyXG4gICAgICB0aGlzLnN0b3JhZ2UuZ2V0KENvbnN0YW50cy5BVVRIX1VTRVIpLnRoZW4oKHJlc3A6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuVXBkYXRlQ3VycmVudFVzZXIocmVzcCk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5zdG9yYWdlLmdldChDb25zdGFudHMuQVVUSF9OQU1FKS50aGVuKChyZXNwOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnVwZGF0ZUxvZ2dlZFVzZXJGdWxsTmFtZShyZXNwKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLnN0b3JhZ2UuZ2V0KENvbnN0YW50cy5BVVRIX1JPTEVTKS50aGVuKChyZXNwKSA9PiB7XHJcbiAgICAgICAgbGV0IHJldCA9IEpTT04ucGFyc2UocmVzcCk7XHJcblxyXG4gICAgICAgIHRoaXMuVXBkYXRlUm9sZShyZXQpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMuc3RvcmFnZS5nZXQoQ29uc3RhbnRzLkFVVEhfVE9LRU4pLnRoZW4oKHJlc3A6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuVXBkYXRlVG9rZW4ocmVzcCk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5zdG9yYWdlLmdldChDb25zdGFudHMuQVVUSF9UT0tFTl9FWFBJUkUpLnRoZW4oKHJlc3A6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuVXBkYXRlVG9rZW5FeHBpcmUocmVzcCk7XHJcbiAgICAgICAgdGhpcy5pc1ZhbGlkVG9rZW4oKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|