tin-spa 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/{esm2015/lib/classes/Classes.js → esm2020/lib/classes/Classes.mjs} +15 -55
- package/esm2020/lib/classes/TinCore.mjs +148 -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 +64 -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 +63 -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 +64 -0
- package/esm2020/lib/components/nav-menu/nav-menu.component.mjs +49 -0
- package/esm2020/lib/components/number/number.component.mjs +86 -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 +149 -0
- package/esm2020/lib/components/table/table.component.mjs +341 -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 +3846 -0
- package/fesm2015/tin-spa.mjs.map +1 -0
- package/fesm2020/tin-spa.mjs +3829 -0
- package/fesm2020/tin-spa.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/classes/Classes.d.ts +58 -63
- package/lib/classes/TinCore.d.ts +1 -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 +14 -6
- 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 +16 -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 +9 -1
- package/lib/components/nav-menu/nav-menu.component.d.ts +3 -0
- package/lib/components/number/number.component.d.ts +29 -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 +28 -0
- package/lib/components/table/table.component.d.ts +57 -17
- package/lib/components/text/text.component.d.ts +13 -9
- 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/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,126 +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
|
-
var UsersComponent = /** @class */ (function () {
|
|
11
|
-
function UsersComponent(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
|
-
UsersComponent.prototype.ngOnInit = function () {
|
|
23
|
-
this.authService.isAuthorised(this.dataService.capUsers.name);
|
|
24
|
-
this.UpdateData();
|
|
25
|
-
};
|
|
26
|
-
UsersComponent.prototype.UpdateData = function () {
|
|
27
|
-
var _this = this;
|
|
28
|
-
this.dataService.GetUser().subscribe(function (apiResponse) {
|
|
29
|
-
_this.users = new MatTableDataSource(apiResponse);
|
|
30
|
-
_this.users.paginator = _this.usersPaginator;
|
|
31
|
-
_this.applyFilter(_this._filterText);
|
|
32
|
-
}, function (error) {
|
|
33
|
-
_this.isProcessing = false;
|
|
34
|
-
_this.messageService.toast(_this.httpService.Error(error));
|
|
35
|
-
});
|
|
36
|
-
};
|
|
37
|
-
UsersComponent.prototype.applyFilter = function (filterValue) {
|
|
38
|
-
this.users.filter = filterValue.trim().toLowerCase();
|
|
39
|
-
};
|
|
40
|
-
UsersComponent.prototype.createAccount = function () {
|
|
41
|
-
this.router.navigate(["home/admin/create-account"]);
|
|
42
|
-
};
|
|
43
|
-
UsersComponent.prototype.viewProfile = function (user) {
|
|
44
|
-
this.dataService.tmpProfileuserName = user.userName;
|
|
45
|
-
this.router.navigate(["home/user/profile"]);
|
|
46
|
-
};
|
|
47
|
-
UsersComponent.prototype.lock = function (u) {
|
|
48
|
-
var _this = this;
|
|
49
|
-
var login = { userName: u.userName, password: "Abcdef@123" };
|
|
50
|
-
this.dataService.LockUser(login).subscribe(function (apiResponse) {
|
|
51
|
-
if (apiResponse.success) {
|
|
52
|
-
_this.messageService.toast("User Locked");
|
|
53
|
-
_this.UpdateData();
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
_this.messageService.toast("Error: " + apiResponse);
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
};
|
|
60
|
-
UsersComponent.prototype.unlock = function (u) {
|
|
61
|
-
var _this = this;
|
|
62
|
-
var login = { userName: u.userName, password: "Abcdef@123" };
|
|
63
|
-
this.dataService.UnlockUser(login).subscribe(function (apiResponse) {
|
|
64
|
-
if (apiResponse.success) {
|
|
65
|
-
_this.messageService.toast("User Unlocked");
|
|
66
|
-
_this.UpdateData();
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
_this.messageService.toast("Error: " + apiResponse);
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
};
|
|
73
|
-
UsersComponent.prototype.recover = function (u) {
|
|
74
|
-
var _this = this;
|
|
75
|
-
this.dataService.SelfReset(u).subscribe(function (apiResponse) {
|
|
76
|
-
if (apiResponse.message == "success") {
|
|
77
|
-
_this.messageService.toast("The password has been sent on email");
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
_this.messageService.toast("Error: " + apiResponse.message);
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
};
|
|
84
|
-
UsersComponent.prototype.deleteUser = function (user) {
|
|
85
|
-
var _this = this;
|
|
86
|
-
this.messageService.confirm("Delete " + user.userName + " ?").subscribe(function (result) {
|
|
87
|
-
if (result == "yes") {
|
|
88
|
-
_this.isProcessing = true;
|
|
89
|
-
_this.dataService.DeleteUser(user).subscribe(function (apiResponse) {
|
|
90
|
-
_this.isProcessing = false;
|
|
91
|
-
if (apiResponse.message == "success") {
|
|
92
|
-
_this.messageService.toast("User Deleted");
|
|
93
|
-
_this.UpdateData();
|
|
94
|
-
}
|
|
95
|
-
else {
|
|
96
|
-
_this.messageService.toast("Error: " + apiResponse.message);
|
|
97
|
-
}
|
|
98
|
-
}, function (error) {
|
|
99
|
-
_this.messageService.toast("Connection failed ");
|
|
100
|
-
_this.isProcessing = false;
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
};
|
|
105
|
-
UsersComponent.ctorParameters = function () { return [
|
|
106
|
-
{ type: HttpService },
|
|
107
|
-
{ type: Router },
|
|
108
|
-
{ type: AuthService },
|
|
109
|
-
{ type: DataServiceLib },
|
|
110
|
-
{ type: MatDialog },
|
|
111
|
-
{ type: MessageService }
|
|
112
|
-
]; };
|
|
113
|
-
__decorate([
|
|
114
|
-
ViewChild("usersPaginator")
|
|
115
|
-
], UsersComponent.prototype, "usersPaginator", void 0);
|
|
116
|
-
UsersComponent = __decorate([
|
|
117
|
-
Component({
|
|
118
|
-
selector: "spa-users",
|
|
119
|
-
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",
|
|
120
|
-
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}"]
|
|
121
|
-
})
|
|
122
|
-
], UsersComponent);
|
|
123
|
-
return UsersComponent;
|
|
124
|
-
}());
|
|
125
|
-
export { UsersComponent };
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGluLXNwYS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3VzZXJzL3VzZXJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBa0IsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTdELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFRMUQ7SUFDRSx3QkFBb0IsV0FBd0IsRUFBUyxNQUFjLEVBQVUsV0FBd0IsRUFBVSxXQUEyQixFQUFTLE1BQWlCLEVBQVUsY0FBOEI7UUFBeEwsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBTzVNLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRzlCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBR2pCLHFCQUFnQixHQUFhLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztJ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QUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztnQkFDNUIsQ0FBQyxDQUNGLENBQUM7YUFFSDtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs7Z0JBakhnQyxXQUFXO2dCQUFpQixNQUFNO2dCQUF1QixXQUFXO2dCQUF1QixjQUFjO2dCQUFpQixTQUFTO2dCQUEwQixjQUFjOztJQVEvSztRQUE1QixTQUFTLENBQUMsZ0JBQWdCLENBQUM7MERBQThCO0lBVC9DLGNBQWM7UUFMMUIsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLFdBQVc7WUFDckIseTBJQUFxQzs7U0FFdEMsQ0FBQztPQUNXLGNBQWMsQ0FvSDFCO0lBQUQscUJBQUM7Q0FBQSxBQXBIRCxJQW9IQztTQXBIWSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEluamVjdCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3RhYmxlXCI7XHJcbmltcG9ydCB7IE1hdFBhZ2luYXRvciB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3JcIjtcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2VMaWIgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvZGF0YS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvbWVzc2FnZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZVwiO1xyXG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9DbGFzc2VzJztcclxuaW1wb3J0IHsgSHR0cFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvaHR0cC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEFwaVJlc3BvbnNlIH0gZnJvbSBcIi4uLy4uL2NsYXNzZXMvVGluQ29yZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwic3BhLXVzZXJzXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi91c2Vycy5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi91c2Vycy5jb21wb25lbnQuY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXNlcnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cFNlcnZpY2U6IEh0dHBTZXJ2aWNlLCBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLCBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZUxpYiwgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nLCBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5pc0F1dGhvcmlzZWQodGhpcy5kYXRhU2VydmljZS5jYXBVc2Vycy5uYW1lKTtcclxuICAgIHRoaXMuVXBkYXRlRGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgaXNQcm9jZXNzaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQFZpZXdDaGlsZChcInVzZXJzUGFnaW5hdG9yXCIpIHVzZXJzUGFnaW5hdG9yOiBNYXRQYWdpbmF0b3I7XHJcblxyXG4gIF9maWx0ZXJUZXh0ID0gXCJcIjtcclxuXHJcbiAgdXNlcnM7XHJcbiAgZGlzcGxheWVkQ29sdW1uczogc3RyaW5nW10gPSBbXCJ1c2VyTmFtZVwiLCBcImZ1bGxOYW1lXCIsIFwicm9sZU5hbWVcIiwgXCJsb2NrZWRcIiwgXCJkYXRlQ3JlYXRlZFwiLCBcIkFjdGlvblwiXTtcclxuXHJcbiAgcHVibGljIFVwZGF0ZURhdGEoKSB7XHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLkdldFVzZXIoKS5zdWJzY3JpYmUoXHJcbiAgICAgIChhcGlSZXNwb25zZSkgPT4ge1xyXG5cclxuICAgICAgICB0aGlzLnVzZXJzID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZShhcGlSZXNwb25zZSk7XHJcbiAgICAgICAgdGhpcy51c2Vycy5wYWdpbmF0b3IgPSB0aGlzLnVzZXJzUGFnaW5hdG9yO1xyXG4gICAgICAgIHRoaXMuYXBwbHlGaWx0ZXIodGhpcy5fZmlsdGVyVGV4dCk7XHJcblxyXG4gICAgICB9LFxyXG4gICAgICAoZXJyb3IpID0+IHtcclxuICAgICAgICB0aGlzLmlzUHJvY2Vzc2luZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QodGhpcy5odHRwU2VydmljZS5FcnJvcihlcnJvcikpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgYXBwbHlGaWx0ZXIoZmlsdGVyVmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy51c2Vycy5maWx0ZXIgPSBmaWx0ZXJWYWx1ZS50cmltKCkudG9Mb3dlckNhc2UoKTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZUFjY291bnQoKSB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCJob21lL2FkbWluL2NyZWF0ZS1hY2NvdW50XCJdKTtcclxuICB9XHJcblxyXG4gIHZpZXdQcm9maWxlKHVzZXI6IFVzZXIpIHtcclxuXHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLnRtcFByb2ZpbGV1c2VyTmFtZSA9IHVzZXIudXNlck5hbWU7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCJob21lL3VzZXIvcHJvZmlsZVwiXSk7XHJcblxyXG4gIH1cclxuXHJcbiAgbG9jayh1KSB7XHJcbiAgICBsZXQgbG9naW4gPSB7IHVzZXJOYW1lOiB1LnVzZXJOYW1lLCBwYXNzd29yZDogXCJBYmNkZWZAMTIzXCIgfVxyXG5cclxuICAgIHRoaXMuZGF0YVNlcnZpY2UuTG9ja1VzZXIobG9naW4pLnN1YnNjcmliZSgoYXBpUmVzcG9uc2UpID0+IHtcclxuXHJcbiAgICAgIGlmIChhcGlSZXNwb25zZS5zdWNjZXNzKSB7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIlVzZXIgTG9ja2VkXCIpO1xyXG4gICAgICAgIHRoaXMuVXBkYXRlRGF0YSgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJFcnJvcjogXCIgKyBhcGlSZXNwb25zZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdW5sb2NrKHUpIHtcclxuICAgIGxldCBsb2dpbiA9IHsgdXNlck5hbWU6IHUudXNlck5hbWUsIHBhc3N3b3JkOiBcIkFiY2RlZkAxMjNcIiB9XHJcblxyXG4gICAgdGhpcy5kYXRhU2VydmljZS5VbmxvY2tVc2VyKGxvZ2luKS5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlKSA9PiB7XHJcblxyXG4gICAgICBpZiAoYXBpUmVzcG9uc2Uuc3VjY2Vzcykge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJVc2VyIFVubG9ja2VkXCIpO1xyXG4gICAgICAgIHRoaXMuVXBkYXRlRGF0YSgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJFcnJvcjogXCIgKyBhcGlSZXNwb25zZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVjb3Zlcih1OiBVc2VyKSB7XHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLlNlbGZSZXNldCh1KS5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlOiBBcGlSZXNwb25zZSkgPT4ge1xyXG4gICAgICBpZiAoYXBpUmVzcG9uc2UubWVzc2FnZSA9PSBcInN1Y2Nlc3NcIikge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJUaGUgcGFzc3dvcmQgaGFzIGJlZW4gc2VudCBvbiBlbWFpbFwiKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRXJyb3I6IFwiICsgYXBpUmVzcG9uc2UubWVzc2FnZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICB9XHJcblxyXG4gIGRlbGV0ZVVzZXIodXNlcjogVXNlcikge1xyXG5cclxuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuY29uZmlybShgRGVsZXRlICR7dXNlci51c2VyTmFtZX0gP2ApLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcblxyXG4gICAgICBpZiAocmVzdWx0ID09IFwieWVzXCIpIHtcclxuXHJcbiAgICAgICAgdGhpcy5pc1Byb2Nlc3NpbmcgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuZGF0YVNlcnZpY2UuRGVsZXRlVXNlcih1c2VyKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAoYXBpUmVzcG9uc2U6IEFwaVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNQcm9jZXNzaW5nID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgICBpZiAoYXBpUmVzcG9uc2UubWVzc2FnZSA9PSBcInN1Y2Nlc3NcIikge1xyXG4gICAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJVc2VyIERlbGV0ZWRcIik7XHJcblxyXG4gICAgICAgICAgICAgIHRoaXMuVXBkYXRlRGF0YSgpO1xyXG5cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRXJyb3I6IFwiICsgYXBpUmVzcG9uc2UubWVzc2FnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAoZXJyb3IpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIkNvbm5lY3Rpb24gZmFpbGVkIFwiKTtcclxuICAgICAgICAgICAgdGhpcy5pc1Byb2Nlc3NpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG5cclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuXHJcbiJdfQ==
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { Directive, Output, EventEmitter, HostBinding, HostListener } from '@angular/core';
|
|
3
|
-
var DndDirective = /** @class */ (function () {
|
|
4
|
-
function DndDirective() {
|
|
5
|
-
this.fileDropped = new EventEmitter();
|
|
6
|
-
}
|
|
7
|
-
// Dragover listener
|
|
8
|
-
DndDirective.prototype.onDragOver = function (evt) {
|
|
9
|
-
evt.preventDefault();
|
|
10
|
-
evt.stopPropagation();
|
|
11
|
-
this.fileOver = true;
|
|
12
|
-
};
|
|
13
|
-
// Dragleave listener
|
|
14
|
-
DndDirective.prototype.onDragLeave = function (evt) {
|
|
15
|
-
evt.preventDefault();
|
|
16
|
-
evt.stopPropagation();
|
|
17
|
-
this.fileOver = false;
|
|
18
|
-
};
|
|
19
|
-
// Drop listener
|
|
20
|
-
DndDirective.prototype.ondrop = function (evt) {
|
|
21
|
-
evt.preventDefault();
|
|
22
|
-
evt.stopPropagation();
|
|
23
|
-
this.fileOver = false;
|
|
24
|
-
var files = evt.dataTransfer.files;
|
|
25
|
-
if (files.length > 0) {
|
|
26
|
-
this.fileDropped.emit(files);
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
__decorate([
|
|
30
|
-
HostBinding('class.fileover')
|
|
31
|
-
], DndDirective.prototype, "fileOver", void 0);
|
|
32
|
-
__decorate([
|
|
33
|
-
Output()
|
|
34
|
-
], DndDirective.prototype, "fileDropped", void 0);
|
|
35
|
-
__decorate([
|
|
36
|
-
HostListener('dragover', ['$event'])
|
|
37
|
-
], DndDirective.prototype, "onDragOver", null);
|
|
38
|
-
__decorate([
|
|
39
|
-
HostListener('dragleave', ['$event'])
|
|
40
|
-
], DndDirective.prototype, "onDragLeave", null);
|
|
41
|
-
__decorate([
|
|
42
|
-
HostListener('drop', ['$event'])
|
|
43
|
-
], DndDirective.prototype, "ondrop", null);
|
|
44
|
-
DndDirective = __decorate([
|
|
45
|
-
Directive({
|
|
46
|
-
selector: '[appDnd]'
|
|
47
|
-
})
|
|
48
|
-
], DndDirective);
|
|
49
|
-
return DndDirective;
|
|
50
|
-
}());
|
|
51
|
-
export { DndDirective };
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5kLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL3Rpbi1zcGEvIiwic291cmNlcyI6WyJsaWIvZG5kLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBRU4sWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFLdkI7SUFBQTtRQUVZLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQTBCbEQsQ0FBQztJQXhCQyxvQkFBb0I7SUFDa0IsaUNBQVUsR0FBVixVQUFXLEdBQUc7UUFDbEQsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3JCLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUN2QixDQUFDO0lBRUQscUJBQXFCO0lBQ3lCLGtDQUFXLEdBQWxCLFVBQW1CLEdBQUc7UUFDM0QsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3JCLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBRUQsZ0JBQWdCO0lBQ3lCLDZCQUFNLEdBQWIsVUFBYyxHQUFHO1FBQ2pELEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNyQixHQUFHLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxLQUFLLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDbkMsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM5QjtJQUNILENBQUM7SUExQjhCO1FBQTlCLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQztrREFBbUI7SUFDdkM7UUFBVCxNQUFNLEVBQUU7cURBQXVDO0lBR1Y7UUFBckMsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2tEQUlwQztJQUdzQztRQUF0QyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7bURBSXJDO0lBR2lDO1FBQWpDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQzs4Q0FRaEM7SUEzQlUsWUFBWTtRQUh4QixTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsVUFBVTtTQUNyQixDQUFDO09BQ1csWUFBWSxDQTRCeEI7SUFBRCxtQkFBQztDQUFBLEFBNUJELElBNEJDO1NBNUJZLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIERpcmVjdGl2ZSxcclxuICBPdXRwdXQsXHJcbiAgSW5wdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIEhvc3RMaXN0ZW5lclxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbYXBwRG5kXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIERuZERpcmVjdGl2ZSB7XHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5maWxlb3ZlcicpIGZpbGVPdmVyOiBib29sZWFuO1xyXG4gIEBPdXRwdXQoKSBmaWxlRHJvcHBlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAvLyBEcmFnb3ZlciBsaXN0ZW5lclxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdvdmVyJywgWyckZXZlbnQnXSkgb25EcmFnT3ZlcihldnQpIHtcclxuICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5maWxlT3ZlciA9IHRydWU7XHJcbiAgfVxyXG5cclxuICAvLyBEcmFnbGVhdmUgbGlzdGVuZXJcclxuICBASG9zdExpc3RlbmVyKCdkcmFnbGVhdmUnLCBbJyRldmVudCddKSBwdWJsaWMgb25EcmFnTGVhdmUoZXZ0KSB7XHJcbiAgICBldnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuZmlsZU92ZXIgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8vIERyb3AgbGlzdGVuZXJcclxuICBASG9zdExpc3RlbmVyKCdkcm9wJywgWyckZXZlbnQnXSkgcHVibGljIG9uZHJvcChldnQpIHtcclxuICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5maWxlT3ZlciA9IGZhbHNlO1xyXG4gICAgbGV0IGZpbGVzID0gZXZ0LmRhdGFUcmFuc2Zlci5maWxlcztcclxuICAgIGlmIChmaWxlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuZmlsZURyb3BwZWQuZW1pdChmaWxlcyk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,53 +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
|
-
var SpaAdminModule = /** @class */ (function () {
|
|
14
|
-
function SpaAdminModule() {
|
|
15
|
-
}
|
|
16
|
-
SpaAdminModule = __decorate([
|
|
17
|
-
NgModule({
|
|
18
|
-
declarations: [
|
|
19
|
-
UsersComponent,
|
|
20
|
-
RolesComponent,
|
|
21
|
-
addRoleDialog,
|
|
22
|
-
CreateAccountComponent,
|
|
23
|
-
LogsComponent,
|
|
24
|
-
SettingsComponent
|
|
25
|
-
],
|
|
26
|
-
entryComponents: [
|
|
27
|
-
addRoleDialog,
|
|
28
|
-
],
|
|
29
|
-
imports: [
|
|
30
|
-
ReactiveFormsModule.withConfig({ warnOnNgModelWithFormControl: "never" }),
|
|
31
|
-
CommonModule,
|
|
32
|
-
FormsModule,
|
|
33
|
-
ReactiveFormsModule,
|
|
34
|
-
SpaMatModule,
|
|
35
|
-
TinSpaModule
|
|
36
|
-
],
|
|
37
|
-
exports: [
|
|
38
|
-
CommonModule,
|
|
39
|
-
FormsModule,
|
|
40
|
-
SpaMatModule,
|
|
41
|
-
UsersComponent,
|
|
42
|
-
RolesComponent,
|
|
43
|
-
addRoleDialog,
|
|
44
|
-
CreateAccountComponent,
|
|
45
|
-
LogsComponent,
|
|
46
|
-
SettingsComponent
|
|
47
|
-
],
|
|
48
|
-
})
|
|
49
|
-
], SpaAdminModule);
|
|
50
|
-
return SpaAdminModule;
|
|
51
|
-
}());
|
|
52
|
-
export { SpaAdminModule };
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhLWFkbWluLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL3Rpbi1zcGEvIiwic291cmNlcyI6WyJsaWIvbW9kdWxlcy9zcGEtYWRtaW4ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUMvRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFxQ2pEO0lBQUE7SUFBNkIsQ0FBQztJQUFqQixjQUFjO1FBbkMxQixRQUFRLENBQUM7WUFDUixZQUFZLEVBQUU7Z0JBQ1osY0FBYztnQkFDZCxjQUFjO2dCQUNkLGFBQWE7Z0JBQ2Isc0JBQXNCO2dCQUN0QixhQUFhO2dCQUNiLGlCQUFpQjthQUNsQjtZQUVELGVBQWUsRUFBRTtnQkFDZixhQUFhO2FBQ2Q7WUFFRCxPQUFPLEVBQUU7Z0JBQ1AsbUJBQW1CLENBQUMsVUFBVSxDQUFDLEVBQUUsNEJBQTRCLEVBQUUsT0FBTyxFQUFFLENBQUM7Z0JBQ3pFLFlBQVk7Z0JBQ1osV0FBVztnQkFDWCxtQkFBbUI7Z0JBQ25CLFlBQVk7Z0JBQ1osWUFBWTthQUNiO1lBRUQsT0FBTyxFQUFFO2dCQUNQLFlBQVk7Z0JBQ1osV0FBVztnQkFDWCxZQUFZO2dCQUNaLGNBQWM7Z0JBQ2QsY0FBYztnQkFDZCxhQUFhO2dCQUNiLHNCQUFzQjtnQkFDdEIsYUFBYTtnQkFDYixpQkFBaUI7YUFDbEI7U0FDRixDQUFDO09BQ1csY0FBYyxDQUFHO0lBQUQscUJBQUM7Q0FBQSxBQUE5QixJQUE4QjtTQUFqQixjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL3NldHRpbmdzL3NldHRpbmdzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExvZ3NDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2xvZ3MvbG9ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTcGFNYXRNb2R1bGUgfSBmcm9tIFwiLi9zcGEtbWF0Lm1vZHVsZVwiO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgVXNlcnNDb21wb25lbnQgfSBmcm9tIFwiLi4vY29tcG9uZW50cy91c2Vycy91c2Vycy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgUm9sZXNDb21wb25lbnQgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9yb2xlcy9yb2xlcy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgYWRkUm9sZURpYWxvZyB9IGZyb20gXCIuLi9jb21wb25lbnRzL3JvbGVzL2FkZFJvbGVEaWFsb2cuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IENyZWF0ZUFjY291bnRDb21wb25lbnQgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9jcmVhdGUtYWNjb3VudC9jcmVhdGUtYWNjb3VudC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgVGluU3BhTW9kdWxlIH0gZnJvbSAnLi4vdGluLXNwYS5tb2R1bGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFVzZXJzQ29tcG9uZW50LFxyXG4gICAgUm9sZXNDb21wb25lbnQsXHJcbiAgICBhZGRSb2xlRGlhbG9nLFxyXG4gICAgQ3JlYXRlQWNjb3VudENvbXBvbmVudCxcclxuICAgIExvZ3NDb21wb25lbnQsXHJcbiAgICBTZXR0aW5nc0NvbXBvbmVudFxyXG4gIF0sXHJcblxyXG4gIGVudHJ5Q29tcG9uZW50czogW1xyXG4gICAgYWRkUm9sZURpYWxvZyxcclxuICBdLFxyXG5cclxuICBpbXBvcnRzOiBbXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLndpdGhDb25maWcoeyB3YXJuT25OZ01vZGVsV2l0aEZvcm1Db250cm9sOiBcIm5ldmVyXCIgfSksXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBTcGFNYXRNb2R1bGUsXHJcbiAgICBUaW5TcGFNb2R1bGVcclxuICBdLFxyXG5cclxuICBleHBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFNwYU1hdE1vZHVsZSxcclxuICAgIFVzZXJzQ29tcG9uZW50LFxyXG4gICAgUm9sZXNDb21wb25lbnQsXHJcbiAgICBhZGRSb2xlRGlhbG9nLFxyXG4gICAgQ3JlYXRlQWNjb3VudENvbXBvbmVudCxcclxuICAgIExvZ3NDb21wb25lbnQsXHJcbiAgICBTZXR0aW5nc0NvbXBvbmVudFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTcGFBZG1pbk1vZHVsZSB7fVxyXG4iXX0=
|
|
@@ -1,38 +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
|
-
var SpaIndexModule = /** @class */ (function () {
|
|
11
|
-
function SpaIndexModule() {
|
|
12
|
-
}
|
|
13
|
-
SpaIndexModule = __decorate([
|
|
14
|
-
NgModule({
|
|
15
|
-
declarations: [LoginComponent, SignupComponent, RecoverAccountComponent],
|
|
16
|
-
entryComponents: [],
|
|
17
|
-
imports: [
|
|
18
|
-
ReactiveFormsModule.withConfig({ warnOnNgModelWithFormControl: "never" }),
|
|
19
|
-
CommonModule,
|
|
20
|
-
FormsModule,
|
|
21
|
-
ReactiveFormsModule,
|
|
22
|
-
SpaMatModule,
|
|
23
|
-
TinSpaModule
|
|
24
|
-
],
|
|
25
|
-
exports: [
|
|
26
|
-
CommonModule,
|
|
27
|
-
FormsModule,
|
|
28
|
-
SpaMatModule,
|
|
29
|
-
LoginComponent,
|
|
30
|
-
SignupComponent,
|
|
31
|
-
RecoverAccountComponent,
|
|
32
|
-
],
|
|
33
|
-
})
|
|
34
|
-
], SpaIndexModule);
|
|
35
|
-
return SpaIndexModule;
|
|
36
|
-
}());
|
|
37
|
-
export { SpaIndexModule };
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhLWluZGV4Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL3Rpbi1zcGEvIiwic291cmNlcyI6WyJsaWIvbW9kdWxlcy9zcGEtaW5kZXgubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDbEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBeUJqRDtJQUFBO0lBQTZCLENBQUM7SUFBakIsY0FBYztRQXZCMUIsUUFBUSxDQUFDO1lBQ1IsWUFBWSxFQUFFLENBQUMsY0FBYyxFQUFFLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQztZQUV4RSxlQUFlLEVBQUUsRUFBRTtZQUVuQixPQUFPLEVBQUU7Z0JBQ1AsbUJBQW1CLENBQUMsVUFBVSxDQUFDLEVBQUUsNEJBQTRCLEVBQUUsT0FBTyxFQUFFLENBQUM7Z0JBQ3pFLFlBQVk7Z0JBQ1osV0FBVztnQkFDWCxtQkFBbUI7Z0JBQ25CLFlBQVk7Z0JBQ1osWUFBWTthQUNiO1lBRUQsT0FBTyxFQUFFO2dCQUNQLFlBQVk7Z0JBQ1osV0FBVztnQkFDWCxZQUFZO2dCQUNaLGNBQWM7Z0JBQ2QsZUFBZTtnQkFDZix1QkFBdUI7YUFDeEI7U0FDRixDQUFDO09BQ1csY0FBYyxDQUFHO0lBQUQscUJBQUM7Q0FBQSxBQUE5QixJQUE4QjtTQUFqQixjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3BhTWF0TW9kdWxlIH0gZnJvbSBcIi4vc3BhLW1hdC5tb2R1bGVcIjtcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IExvZ2luQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFNpZ251cENvbXBvbmVudCB9IGZyb20gXCIuLi9jb21wb25lbnRzL3NpZ251cC9zaWdudXAuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFJlY292ZXJBY2NvdW50Q29tcG9uZW50IH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvcmVjb3Zlci1hY2NvdW50L3JlY292ZXItYWNjb3VudC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgVGluU3BhTW9kdWxlIH0gZnJvbSBcIi4uL3Rpbi1zcGEubW9kdWxlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0xvZ2luQ29tcG9uZW50LCBTaWdudXBDb21wb25lbnQsIFJlY292ZXJBY2NvdW50Q29tcG9uZW50XSxcclxuXHJcbiAgZW50cnlDb21wb25lbnRzOiBbXSxcclxuXHJcbiAgaW1wb3J0czogW1xyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZS53aXRoQ29uZmlnKHsgd2Fybk9uTmdNb2RlbFdpdGhGb3JtQ29udHJvbDogXCJuZXZlclwiIH0pLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgU3BhTWF0TW9kdWxlLFxyXG4gICAgVGluU3BhTW9kdWxlXHJcbiAgXSxcclxuXHJcbiAgZXhwb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBTcGFNYXRNb2R1bGUsXHJcbiAgICBMb2dpbkNvbXBvbmVudCxcclxuICAgIFNpZ251cENvbXBvbmVudCxcclxuICAgIFJlY292ZXJBY2NvdW50Q29tcG9uZW50LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTcGFJbmRleE1vZHVsZSB7fVxyXG4iXX0=
|
|
@@ -1,56 +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
|
-
var ɵ0 = { disableClose: true, hasBackdrop: true };
|
|
31
|
-
var SpaMatModule = /** @class */ (function () {
|
|
32
|
-
function SpaMatModule() {
|
|
33
|
-
}
|
|
34
|
-
SpaMatModule = __decorate([
|
|
35
|
-
NgModule({
|
|
36
|
-
declarations: [],
|
|
37
|
-
imports: [],
|
|
38
|
-
exports: [
|
|
39
|
-
CommonModule, FormsModule, ReactiveFormsModule,
|
|
40
|
-
MatMenuModule, MatSliderModule, MatTableModule, MatPaginatorModule,
|
|
41
|
-
MatCheckboxModule, MatBadgeModule, MatButtonModule, MatIconModule, MatDialogModule, MatSnackBarModule,
|
|
42
|
-
MatTabsModule, MatFormFieldModule, MatInputModule, MatCardModule, MatChipsModule, MatSelectModule,
|
|
43
|
-
MatNativeDateModule, MatProgressSpinnerModule, MatListModule, MatAutocompleteModule, MatTooltipModule, MatSortModule,
|
|
44
|
-
MatDatepickerModule, MatStepperModule, MatRadioModule,
|
|
45
|
-
],
|
|
46
|
-
providers: [
|
|
47
|
-
{ provide: MAT_DIALOG_DEFAULT_OPTIONS, useValue: ɵ0 },
|
|
48
|
-
{ provide: MAT_DATE_LOCALE, useValue: "en-GB" },
|
|
49
|
-
]
|
|
50
|
-
})
|
|
51
|
-
], SpaMatModule);
|
|
52
|
-
return SpaMatModule;
|
|
53
|
-
}());
|
|
54
|
-
export { SpaMatModule };
|
|
55
|
-
export { ɵ0 };
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhLW1hdC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aW4tc3BhLyIsInNvdXJjZXMiOlsibGliL21vZHVsZXMvc3BhLW1hdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7U0FpQmIsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7QUFJOUY7SUFBQTtJQUE0QixDQUFDO0lBQWhCLFlBQVk7UUFuQnhCLFFBQVEsQ0FBQztZQUNSLFlBQVksRUFBRSxFQUFFO1lBQ2hCLE9BQU8sRUFBRSxFQUdSO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLFlBQVksRUFBQyxXQUFXLEVBQUUsbUJBQW1CO2dCQUM3QyxhQUFhLEVBQUssZUFBZSxFQUFLLGNBQWMsRUFBSyxrQkFBa0I7Z0JBQzNFLGlCQUFpQixFQUFLLGNBQWMsRUFBSyxlQUFlLEVBQUssYUFBYSxFQUFLLGVBQWUsRUFBSyxpQkFBaUI7Z0JBQ3BILGFBQWEsRUFBSyxrQkFBa0IsRUFBSyxjQUFjLEVBQUssYUFBYSxFQUFLLGNBQWMsRUFBSyxlQUFlO2dCQUNoSCxtQkFBbUIsRUFBSyx3QkFBd0IsRUFBSyxhQUFhLEVBQUsscUJBQXFCLEVBQUssZ0JBQWdCLEVBQUssYUFBYTtnQkFDbkksbUJBQW1CLEVBQUssZ0JBQWdCLEVBQUssY0FBYzthQUM1RDtZQUNELFNBQVMsRUFBQztnQkFDUixFQUFFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxRQUFRLElBQTJDLEVBQUc7Z0JBQzdGLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFO2FBQ2hEO1NBQ0YsQ0FBQztPQUNXLFlBQVksQ0FBSTtJQUFELG1CQUFDO0NBQUEsQUFBN0IsSUFBNkI7U0FBaEIsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XHJcbmltcG9ydCB7IE1hdEJhZGdlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYmFkZ2UnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXRDaGlwc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcclxuaW1wb3J0IHsgTWF0TmF0aXZlRGF0ZU1vZHVsZSwgTUFUX0RBVEVfTE9DQUxFIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IE1hdERhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlLCBNQVRfRElBTE9HX0RFRkFVTFRfT1BUSU9OUyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XHJcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XHJcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5pbXBvcnQgeyBNYXRTbGlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZXInO1xyXG5pbXBvcnQgeyBNYXRTbmFja0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XHJcbmltcG9ydCB7IE1hdFNvcnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcclxuaW1wb3J0IHsgTWF0U3RlcHBlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3N0ZXBwZXInO1xyXG5pbXBvcnQgeyBNYXRUYWJsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcclxuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUsIEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtdLFxyXG4gIGltcG9ydHM6IFtcclxuXHJcblxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgTWF0TWVudU1vZHVsZSwgICAgTWF0U2xpZGVyTW9kdWxlLCAgICBNYXRUYWJsZU1vZHVsZSwgICAgTWF0UGFnaW5hdG9yTW9kdWxlLFxyXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsICAgIE1hdEJhZGdlTW9kdWxlLCAgICBNYXRCdXR0b25Nb2R1bGUsICAgIE1hdEljb25Nb2R1bGUsICAgIE1hdERpYWxvZ01vZHVsZSwgICAgTWF0U25hY2tCYXJNb2R1bGUsXHJcbiAgICBNYXRUYWJzTW9kdWxlLCAgICBNYXRGb3JtRmllbGRNb2R1bGUsICAgIE1hdElucHV0TW9kdWxlLCAgICBNYXRDYXJkTW9kdWxlLCAgICBNYXRDaGlwc01vZHVsZSwgICAgTWF0U2VsZWN0TW9kdWxlLFxyXG4gICAgTWF0TmF0aXZlRGF0ZU1vZHVsZSwgICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLCAgICBNYXRMaXN0TW9kdWxlLCAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsICAgIE1hdFRvb2x0aXBNb2R1bGUsICAgIE1hdFNvcnRNb2R1bGUsXHJcbiAgICBNYXREYXRlcGlja2VyTW9kdWxlLCAgICBNYXRTdGVwcGVyTW9kdWxlLCAgICBNYXRSYWRpb01vZHVsZSxcclxuICBdLFxyXG4gIHByb3ZpZGVyczpbXHJcbiAgICB7IHByb3ZpZGU6IE1BVF9ESUFMT0dfREVGQVVMVF9PUFRJT05TLCB1c2VWYWx1ZTogeyBkaXNhYmxlQ2xvc2U6IHRydWUsIGhhc0JhY2tkcm9wOiB0cnVlIH0gIH0sXHJcbiAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0xPQ0FMRSwgdXNlVmFsdWU6IFwiZW4tR0JcIiB9LFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNwYU1hdE1vZHVsZSB7IH1cclxuIl19
|
|
@@ -1,36 +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
|
-
var SpaUserModule = /** @class */ (function () {
|
|
10
|
-
function SpaUserModule() {
|
|
11
|
-
}
|
|
12
|
-
SpaUserModule = __decorate([
|
|
13
|
-
NgModule({
|
|
14
|
-
declarations: [ChangePasswordComponent, ProfileComponent],
|
|
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
|
-
ChangePasswordComponent,
|
|
29
|
-
ProfileComponent,
|
|
30
|
-
],
|
|
31
|
-
})
|
|
32
|
-
], SpaUserModule);
|
|
33
|
-
return SpaUserModule;
|
|
34
|
-
}());
|
|
35
|
-
export { SpaUserModule };
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhLXVzZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGluLXNwYS8iLCJzb3VyY2VzIjpbImxpYi9tb2R1bGVzL3NwYS11c2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUF3QmpEO0lBQUE7SUFBNEIsQ0FBQztJQUFoQixhQUFhO1FBdEJ6QixRQUFRLENBQUM7WUFDUixZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSxnQkFBZ0IsQ0FBQztZQUV6RCxlQUFlLEVBQUUsRUFBRTtZQUVuQixPQUFPLEVBQUU7Z0JBQ1AsbUJBQW1CLENBQUMsVUFBVSxDQUFDLEVBQUUsNEJBQTRCLEVBQUUsT0FBTyxFQUFFLENBQUM7Z0JBQ3pFLFlBQVk7Z0JBQ1osV0FBVztnQkFDWCxtQkFBbUI7Z0JBQ25CLFlBQVk7Z0JBQ1osWUFBWTthQUNiO1lBRUQsT0FBTyxFQUFFO2dCQUNQLFlBQVk7Z0JBQ1osV0FBVztnQkFDWCxZQUFZO2dCQUNaLHVCQUF1QjtnQkFDdkIsZ0JBQWdCO2FBQ2pCO1NBQ0YsQ0FBQztPQUNXLGFBQWEsQ0FBRztJQUFELG9CQUFDO0NBQUEsQUFBN0IsSUFBNkI7U0FBaEIsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNwYU1hdE1vZHVsZSB9IGZyb20gXCIuL3NwYS1tYXQubW9kdWxlXCI7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBDaGFuZ2VQYXNzd29yZENvbXBvbmVudCB9IGZyb20gXCIuLi9jb21wb25lbnRzL2NoYW5nZS1wYXNzd29yZC9jaGFuZ2UtcGFzc3dvcmQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFByb2ZpbGVDb21wb25lbnQgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9wcm9maWxlL3Byb2ZpbGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFRpblNwYU1vZHVsZSB9IGZyb20gXCIuLi90aW4tc3BhLm1vZHVsZVwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtDaGFuZ2VQYXNzd29yZENvbXBvbmVudCwgUHJvZmlsZUNvbXBvbmVudF0sXHJcblxyXG4gIGVudHJ5Q29tcG9uZW50czogW10sXHJcblxyXG4gIGltcG9ydHM6IFtcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUud2l0aENvbmZpZyh7IHdhcm5Pbk5nTW9kZWxXaXRoRm9ybUNvbnRyb2w6IFwibmV2ZXJcIiB9KSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIFNwYU1hdE1vZHVsZSxcclxuICAgIFRpblNwYU1vZHVsZVxyXG4gIF0sXHJcblxyXG4gIGV4cG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgU3BhTWF0TW9kdWxlLFxyXG4gICAgQ2hhbmdlUGFzc3dvcmRDb21wb25lbnQsXHJcbiAgICBQcm9maWxlQ29tcG9uZW50LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTcGFVc2VyTW9kdWxlIHt9XHJcbiJdfQ==
|
|
@@ -1,157 +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
|
-
var AuthService = /** @class */ (function () {
|
|
18
|
-
function AuthService(_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
|
-
AuthService.prototype.Updateloggedin = function (loggedin) {
|
|
54
|
-
this.loggedinSource.next(loggedin);
|
|
55
|
-
this.loggedin = loggedin;
|
|
56
|
-
};
|
|
57
|
-
AuthService.prototype.UpdateToken = function (newToken) {
|
|
58
|
-
this.tokenSource.next(newToken);
|
|
59
|
-
};
|
|
60
|
-
AuthService.prototype.UpdateTokenExpire = function (newTokenExpire) {
|
|
61
|
-
this.tokenExpireSource.next(newTokenExpire);
|
|
62
|
-
};
|
|
63
|
-
AuthService.prototype.UpdateCurrentUser = function (newUser) {
|
|
64
|
-
this.currentUserSource.next(newUser.toLocaleLowerCase());
|
|
65
|
-
this.currentUser = newUser.toLocaleLowerCase();
|
|
66
|
-
};
|
|
67
|
-
AuthService.prototype.UpdateIsLineManager = function (manager) {
|
|
68
|
-
this.isLineManagerSource.next(manager);
|
|
69
|
-
};
|
|
70
|
-
AuthService.prototype.UpdateRole = function (role) {
|
|
71
|
-
this.currentRoleSource.next(role);
|
|
72
|
-
};
|
|
73
|
-
AuthService.prototype.updateLoggedUserFullName = function (userName) {
|
|
74
|
-
this.loggedUserSource.next(userName);
|
|
75
|
-
};
|
|
76
|
-
//Authorisation
|
|
77
|
-
AuthService.prototype.isAuthorised = function (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
|
-
AuthService.prototype.isValidToken = function () {
|
|
89
|
-
var tokenExpire = new Date(this.tokenExpireSource.value);
|
|
90
|
-
var nowDate = new Date();
|
|
91
|
-
var valid = tokenExpire > nowDate;
|
|
92
|
-
if (!valid) {
|
|
93
|
-
this.router.navigate(["login"]);
|
|
94
|
-
this.messageService.toast("Expired Session");
|
|
95
|
-
}
|
|
96
|
-
return valid;
|
|
97
|
-
};
|
|
98
|
-
AuthService.prototype.canActivate = function () {
|
|
99
|
-
var _this = this;
|
|
100
|
-
if (this.loggedin && this.isValidToken()) {
|
|
101
|
-
// this.logService.info("authentication: logged in");
|
|
102
|
-
return true;
|
|
103
|
-
}
|
|
104
|
-
if (localStorage.getItem(Constants.AUTH_USER) === null) {
|
|
105
|
-
// this.logService.info("authentication: not logged and no cache");
|
|
106
|
-
this.Updateloggedin(false);
|
|
107
|
-
var url = new URL(window.location.href);
|
|
108
|
-
var path = url.hash.replace("#/", "");
|
|
109
|
-
this.router.navigate(["login"], {
|
|
110
|
-
relativeTo: this._route,
|
|
111
|
-
queryParams: { redirectTo: path },
|
|
112
|
-
queryParamsHandling: 'merge',
|
|
113
|
-
skipLocationChange: false
|
|
114
|
-
});
|
|
115
|
-
return false;
|
|
116
|
-
}
|
|
117
|
-
else {
|
|
118
|
-
// this.logService.info("authentication: not logged but allowed login");
|
|
119
|
-
this.Updateloggedin(true);
|
|
120
|
-
this.storage.get(Constants.AUTH_USER).then(function (resp) {
|
|
121
|
-
_this.UpdateCurrentUser(resp);
|
|
122
|
-
});
|
|
123
|
-
this.storage.get(Constants.AUTH_NAME).then(function (resp) {
|
|
124
|
-
_this.updateLoggedUserFullName(resp);
|
|
125
|
-
});
|
|
126
|
-
this.storage.get(Constants.AUTH_ROLES).then(function (resp) {
|
|
127
|
-
var ret = JSON.parse(resp);
|
|
128
|
-
_this.UpdateRole(ret);
|
|
129
|
-
});
|
|
130
|
-
this.storage.get(Constants.AUTH_TOKEN).then(function (resp) {
|
|
131
|
-
_this.UpdateToken(resp);
|
|
132
|
-
});
|
|
133
|
-
this.storage.get(Constants.AUTH_TOKEN_EXPIRE).then(function (resp) {
|
|
134
|
-
_this.UpdateTokenExpire(resp);
|
|
135
|
-
_this.isValidToken();
|
|
136
|
-
});
|
|
137
|
-
return true;
|
|
138
|
-
}
|
|
139
|
-
};
|
|
140
|
-
AuthService.ctorParameters = function () { return [
|
|
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
|
-
return AuthService;
|
|
155
|
-
}());
|
|
156
|
-
export { AuthService };
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGluLXNwYS8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7QUFPL0M7SUFFRSxxQkFBb0IsTUFBc0IsRUFBVSxPQUF1QixFQUFTLE1BQWMsRUFBVSxXQUF3QixFQUFVLGNBQThCLEVBQVUsVUFBc0I7UUFBeEwsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUFTLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFVLGVBQVUsR0FBVixVQUFVLENBQVk7UUFFNU0sV0FBVztRQUNILGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckQsbUJBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBTTNELE9BQU87UUFDQyxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ3BCLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlDLGdCQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQU1yRCxhQUFhO1FBQ0wsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDMUIsc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzFELHNCQUFpQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQU1qRSxjQUFjO1FBQ1AsZ0JBQVcsR0FBVyxVQUFVLENBQUM7UUFDaEMsc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzNELHNCQUFpQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQU1qRSxjQUFjO1FBQ04sa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDL0Isd0JBQW1CLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9ELHdCQUFtQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUtyRSxPQUFPO1FBQ0MsZ0JBQVcsR0FBRyxJQUFJLElBQUksQ0FBQztRQUN4QixzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDMUQsaUJBQVksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFLNUQscUJBQXFCO1FBQ2IscUJBQWdCLEdBQUcsSUFBSSxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDcEQsdUJBQWtCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBeEQrSSxDQUFDO0lBTWpOLG9DQUFjLEdBQWQsVUFBZSxRQUFpQjtRQUM5QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBTUQsaUNBQVcsR0FBWCxVQUFZLFFBQWdCO1FBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRWxDLENBQUM7SUFNRCx1Q0FBaUIsR0FBakIsVUFBa0IsY0FBc0I7UUFDdEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUU5QyxDQUFDO0lBTUQsdUNBQWlCLEdBQWpCLFVBQWtCLE9BQWU7UUFDL0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDakQsQ0FBQztJQU1ELHlDQUFtQixHQUFuQixVQUFvQixPQUFnQjtRQUNsQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFNRCxnQ0FBVSxHQUFWLFVBQVcsSUFBSTtRQUNiLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUtELDhDQUF3QixHQUF4QixVQUF5QixRQUFnQjtRQUN2QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFHRCxlQUFlO0lBQ2Ysa0NBQVksR0FBWixVQUFhLE9BQWU7UUFFMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDMUMsNkdBQTZHO1lBQzdHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxtQkFBaUIsT0FBUyxDQUFDLENBQUM7WUFFdEQsT0FBTyxLQUFLLENBQUM7U0FDZDthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUM7U0FDYjtJQUVILENBQUM7SUFFRCxrQ0FBWSxHQUFaO1FBRUUsSUFBSSxXQUFXLEdBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9ELElBQUksT0FBTyxHQUFTLElBQUksSUFBSSxFQUFFLENBQUM7UUFFL0IsSUFBSSxLQUFLLEdBQVksV0FBVyxHQUFHLE9BQU8sQ0FBQztRQUUzQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBRVYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7U0FDOUM7UUFFRCxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFFRCxpQ0FBVyxHQUFYO1FBQUEsaUJBdURDO1FBckRDLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDeEMscURBQXFEO1lBQ3JELE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUN0RCxtRUFBbUU7WUFFbkUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUUzQixJQUFJLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3hDLElBQUksSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBQyxFQUFFLENBQUMsQ0FBQztZQUdyQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUM5QixVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU07Z0JBQ3ZCLFdBQVcsRUFBRSxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUM7Z0JBQy9CLG1CQUFtQixFQUFFLE9BQU87Z0JBQzVCLGtCQUFrQixFQUFFLEtBQUs7YUFDMUIsQ0FBQyxDQUFDO1lBRUgsT0FBTyxLQUFLLENBQUM7U0FFZDthQUFNO1lBQ0wsd0VBQXdFO1lBRXhFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFDLElBQVM7Z0JBQ25ELEtBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMvQixDQUFDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBQyxJQUFTO2dCQUNuRCxLQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEMsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQUMsSUFBSTtnQkFDL0MsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFFM0IsS0FBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN2QixDQUFDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBQyxJQUFTO2dCQUNwRCxLQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3pCLENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUMsSUFBSSxDQUFDLFVBQUMsSUFBUztnQkFDM0QsS0FBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM3QixLQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsQ0FBQyxDQUFDLENBQUM7WUFFSCxPQUFPLElBQUksQ0FBQztTQUNiO0lBQ0gsQ0FBQzs7Z0JBcEoyQixjQUFjO2dCQUFtQixjQUFjO2dCQUFpQixNQUFNO2dCQUF1QixXQUFXO2dCQUEwQixjQUFjO2dCQUFzQixVQUFVOzs7SUFGak0sV0FBVztRQUp2QixVQUFVLENBQUM7WUFDVixVQUFVLEVBQUUsTUFBTTtTQUNuQixDQUFDO09BRVcsV0FBVyxDQXVKdkI7c0JBdEtEO0NBc0tDLEFBdkpELElBdUpDO1NBdkpZLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJy4vbWVzc2FnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIsIENhbkFjdGl2YXRlLCBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4vc3RvcmFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9nU2VydmljZSB9IGZyb20gJy4vbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSb2xlIH0gZnJvbSAnLi4vY2xhc3Nlcy9DbGFzc2VzJztcclxuaW1wb3J0IHsgSHR0cFNlcnZpY2UgfSBmcm9tICcuL2h0dHAuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uL2NsYXNzZXMvVGluQ29yZSc7XHJcbmltcG9ydCB7IGNvbmRpdGlvbmFsbHlDcmVhdGVNYXBPYmplY3RMaXRlcmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29tcGlsZXIvc3JjL3JlbmRlcjMvdmlldy91dGlsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBBdXRoU2VydmljZSBpbXBsZW1lbnRzIENhbkFjdGl2YXRlIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfcm91dGU6IEFjdGl2YXRlZFJvdXRlLCBwcml2YXRlIHN0b3JhZ2U6IFN0b3JhZ2VTZXJ2aWNlLCBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgaHR0cFNlcnZpY2U6IEh0dHBTZXJ2aWNlLCBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSwgcHJpdmF0ZSBsb2dTZXJ2aWNlOiBMb2dTZXJ2aWNlKSB7IH1cclxuXHJcbiAgLy9Mb2dnZWQgaW5cclxuICBwcml2YXRlIGxvZ2dlZGluOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBsb2dnZWRpblNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3QodGhpcy5sb2dnZWRpbik7XHJcbiAgcHVibGljIGxvZ2dlZGluT2JzZXJ2ID0gdGhpcy5sb2dnZWRpblNvdXJjZS5hc09ic2VydmFibGUoKTtcclxuICBVcGRhdGVsb2dnZWRpbihsb2dnZWRpbjogYm9vbGVhbikge1xyXG4gICAgdGhpcy5sb2dnZWRpblNvdXJjZS5uZXh0KGxvZ2dlZGluKTtcclxuICAgIHRoaXMubG9nZ2VkaW4gPSBsb2dnZWRpbjtcclxuICB9XHJcblxyXG4gIC8vVG9rZW5cclxuICBwcml2YXRlIHRva2VuOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyB0b2tlblNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3QodGhpcy50b2tlbik7XHJcbiAgcHVibGljIHRva2VuT2JzZXJ2ID0gdGhpcy50b2tlblNvdXJjZS5hc09ic2VydmFibGUoKTtcclxuICBVcGRhdGVUb2tlbihuZXdUb2tlbjogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnRva2VuU291cmNlLm5leHQobmV3VG9rZW4pO1xyXG5cclxuICB9XHJcblxyXG4gIC8vVG9rZW5FeHBpcmVcclxuICBwcml2YXRlIHRva2VuRXhwaXJlOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyB0b2tlbkV4cGlyZVNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3QodGhpcy50b2tlbkV4cGlyZSk7XHJcbiAgcHVibGljIHRva2VuRXhwaXJlT2JzZXJ2ID0gdGhpcy50b2tlbkV4cGlyZVNvdXJjZS5hc09ic2VydmFibGUoKTtcclxuICBVcGRhdGVUb2tlbkV4cGlyZShuZXdUb2tlbkV4cGlyZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnRva2VuRXhwaXJlU291cmNlLm5leHQobmV3VG9rZW5FeHBpcmUpO1xyXG5cclxuICB9XHJcblxyXG4gIC8vQ3VycmVudCBVc2VyXHJcbiAgcHVibGljIGN1cnJlbnRVc2VyOiBzdHJpbmcgPSBcInRueWFnYXRvXCI7XHJcbiAgcHJpdmF0ZSBjdXJyZW50VXNlclNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3QodGhpcy5jdXJyZW50VXNlcik7XHJcbiAgcHVibGljIGN1cnJlbnRVc2VyT2JzZXJ2ID0gdGhpcy5jdXJyZW50VXNlclNvdXJjZS5hc09ic2VydmFibGUoKTtcclxuICBVcGRhdGVDdXJyZW50VXNlcihuZXdVc2VyOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuY3VycmVudFVzZXJTb3VyY2UubmV4dChuZXdVc2VyLnRvTG9jYWxlTG93ZXJDYXNlKCkpO1xyXG4gICAgdGhpcy5jdXJyZW50VXNlciA9IG5ld1VzZXIudG9Mb2NhbGVMb3dlckNhc2UoKTtcclxuICB9XHJcblxyXG4gIC8vTGluZSBNYW5hZ2VyXHJcbiAgcHJpdmF0ZSBpc2xpbmVNYW5hZ2VyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBpc0xpbmVNYW5hZ2VyU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0aGlzLmlzbGluZU1hbmFnZXIpO1xyXG4gIHB1YmxpYyBpc0xpbmVNYW5hZ2VyT2JzZXJ2ID0gdGhpcy5pc0xpbmVNYW5hZ2VyU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIFVwZGF0ZUlzTGluZU1hbmFnZXIobWFuYWdlcjogYm9vbGVhbikge1xyXG4gICAgdGhpcy5pc0xpbmVNYW5hZ2VyU291cmNlLm5leHQobWFuYWdlcik7XHJcbiAgfVxyXG5cclxuICAvL1JvbGVzXHJcbiAgcHJpdmF0ZSBjdXJyZW50Um9sZSA9IG5ldyBSb2xlO1xyXG4gIHB1YmxpYyBjdXJyZW50Um9sZVNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3QodGhpcy5jdXJyZW50Um9sZSk7XHJcbiAgcHVibGljIG15Um9sZU9ic2VydiA9IHRoaXMuY3VycmVudFJvbGVTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgVXBkYXRlUm9sZShyb2xlKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRSb2xlU291cmNlLm5leHQocm9sZSk7XHJcbiAgfVxyXG5cclxuICAvL0xvZ2dlZCBpbiBGaXJzdE5hbWVcclxuICBwcml2YXRlIGxvZ2dlZFVzZXJTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFwidG55YWdhdG9cIik7XHJcbiAgcHVibGljIGxvZ2dlZFVzZXJGdWxsTmFtZSA9IHRoaXMubG9nZ2VkVXNlclNvdXJjZS5hc09ic2VydmFibGUoKTtcclxuICB1cGRhdGVMb2dnZWRVc2VyRnVsbE5hbWUodXNlck5hbWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5sb2dnZWRVc2VyU291cmNlLm5leHQodXNlck5hbWUpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vQXV0aG9yaXNhdGlvblxyXG4gIGlzQXV0aG9yaXNlZChjYXBOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuXHJcbiAgICBpZiAoIXRoaXMuY3VycmVudFJvbGVTb3VyY2UudmFsdWVbY2FwTmFtZV0pIHtcclxuICAgICAgLy8gdGhpcy5sb2dTZXJ2aWNlLmluZm8oYGF1dGhvcmlzZTogJHt0aGlzLmN1cnJlbnRSb2xlU291cmNlLnZhbHVlLnJvbGVOYW1lfSBub3QgYXV0aG9yaXNlZCBmb3IgJHtjYXBOYW1lfWApO1xyXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCJob21lXCJdKTtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChgVW5hdXRob3Jpc2VkOiAke2NhcE5hbWV9YCk7XHJcblxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBpc1ZhbGlkVG9rZW4oKSB7XHJcblxyXG4gICAgbGV0IHRva2VuRXhwaXJlOiBEYXRlID0gbmV3IERhdGUodGhpcy50b2tlbkV4cGlyZVNvdXJjZS52YWx1ZSk7XHJcbiAgICBsZXQgbm93RGF0ZTogRGF0ZSA9IG5ldyBEYXRlKCk7XHJcblxyXG4gICAgbGV0IHZhbGlkOiBib29sZWFuID0gdG9rZW5FeHBpcmUgPiBub3dEYXRlO1xyXG5cclxuICAgIGlmICghdmFsaWQpIHtcclxuXHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcImxvZ2luXCJdKTtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChgRXhwaXJlZCBTZXNzaW9uYCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHZhbGlkXHJcbiAgfVxyXG5cclxuICBjYW5BY3RpdmF0ZSgpIHtcclxuXHJcbiAgICBpZiAodGhpcy5sb2dnZWRpbiAmJiB0aGlzLmlzVmFsaWRUb2tlbigpKSB7XHJcbiAgICAgIC8vIHRoaXMubG9nU2VydmljZS5pbmZvKFwiYXV0aGVudGljYXRpb246IGxvZ2dlZCBpblwiKTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGxvY2FsU3RvcmFnZS5nZXRJdGVtKENvbnN0YW50cy5BVVRIX1VTRVIpID09PSBudWxsKSB7XHJcbiAgICAgIC8vIHRoaXMubG9nU2VydmljZS5pbmZvKFwiYXV0aGVudGljYXRpb246IG5vdCBsb2dnZWQgYW5kIG5vIGNhY2hlXCIpO1xyXG5cclxuICAgICAgdGhpcy5VcGRhdGVsb2dnZWRpbihmYWxzZSk7XHJcblxyXG4gICAgICBsZXQgdXJsID0gbmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZik7XHJcbiAgICAgIGxldCBwYXRoID0gdXJsLmhhc2gucmVwbGFjZShcIiMvXCIsXCJcIik7XHJcblxyXG5cclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wibG9naW5cIl0sIHtcclxuICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLl9yb3V0ZSxcclxuICAgICAgICBxdWVyeVBhcmFtczoge3JlZGlyZWN0VG86IHBhdGh9LFxyXG4gICAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdtZXJnZScsXHJcbiAgICAgICAgc2tpcExvY2F0aW9uQ2hhbmdlOiBmYWxzZVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyB0aGlzLmxvZ1NlcnZpY2UuaW5mbyhcImF1dGhlbnRpY2F0aW9uOiBub3QgbG9nZ2VkIGJ1dCBhbGxvd2VkIGxvZ2luXCIpO1xyXG5cclxuICAgICAgdGhpcy5VcGRhdGVsb2dnZWRpbih0cnVlKTtcclxuXHJcbiAgICAgIHRoaXMuc3RvcmFnZS5nZXQoQ29uc3RhbnRzLkFVVEhfVVNFUikudGhlbigocmVzcDogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5VcGRhdGVDdXJyZW50VXNlcihyZXNwKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLnN0b3JhZ2UuZ2V0KENvbnN0YW50cy5BVVRIX05BTUUpLnRoZW4oKHJlc3A6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMudXBkYXRlTG9nZ2VkVXNlckZ1bGxOYW1lKHJlc3ApO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMuc3RvcmFnZS5nZXQoQ29uc3RhbnRzLkFVVEhfUk9MRVMpLnRoZW4oKHJlc3ApID0+IHtcclxuICAgICAgICBsZXQgcmV0ID0gSlNPTi5wYXJzZShyZXNwKTtcclxuXHJcbiAgICAgICAgdGhpcy5VcGRhdGVSb2xlKHJldCk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5zdG9yYWdlLmdldChDb25zdGFudHMuQVVUSF9UT0tFTikudGhlbigocmVzcDogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5VcGRhdGVUb2tlbihyZXNwKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLnN0b3JhZ2UuZ2V0KENvbnN0YW50cy5BVVRIX1RPS0VOX0VYUElSRSkudGhlbigocmVzcDogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5VcGRhdGVUb2tlbkV4cGlyZShyZXNwKTtcclxuICAgICAgICB0aGlzLmlzVmFsaWRUb2tlbigpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|