tin-spa 9.0.0 → 9.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/tin-spa.umd.js +4416 -1589
- package/bundles/tin-spa.umd.js.map +1 -1
- package/bundles/tin-spa.umd.min.js +2 -2
- package/bundles/tin-spa.umd.min.js.map +1 -1
- package/esm2015/lib/classes/Classes.js +58 -45
- package/esm2015/lib/classes/TinCore.js +137 -0
- package/esm2015/lib/components/activity/activity.component.js +84 -18
- package/esm2015/lib/components/attach/attach.component.js +101 -27
- package/esm2015/lib/components/change-password/change-password.component.js +122 -34
- package/esm2015/lib/components/check/check.component.js +39 -33
- package/esm2015/lib/components/chips/chips.component.js +75 -35
- package/esm2015/lib/components/create-account/create-account.component.js +124 -42
- package/esm2015/lib/components/date/date.component.js +54 -33
- package/esm2015/lib/components/datetime/datetime.component.js +43 -30
- package/esm2015/lib/components/filter/filter.component.js +64 -0
- package/esm2015/lib/components/html/html.component.js +30 -25
- package/esm2015/lib/components/label/label.component.js +109 -21
- package/esm2015/lib/components/loader/loader.component.js +43 -20
- package/esm2015/lib/components/login/login.component.js +194 -76
- package/esm2015/lib/components/logs/logs.component.js +180 -28
- package/esm2015/lib/components/message/messageDialog.component.js +128 -17
- package/esm2015/lib/components/money/currency-input-mask.directive.js +187 -0
- package/esm2015/lib/components/money/currency-input-mask.module.js +30 -0
- package/esm2015/lib/components/money/money.component.js +141 -39
- package/esm2015/lib/components/nav-menu/nav-menu.component.js +174 -21
- package/esm2015/lib/components/option/option.component.js +107 -40
- package/esm2015/lib/components/profile/profile.component.js +143 -53
- package/esm2015/lib/components/recover-account/recover-account.component.js +48 -26
- package/esm2015/lib/components/roles/addRoleDialog.component.js +99 -26
- package/esm2015/lib/components/roles/roles.component.js +153 -73
- package/esm2015/lib/components/select/select.component.js +108 -48
- package/esm2015/lib/components/settings/settings.component.js +76 -21
- package/esm2015/lib/components/signup/signup.component.js +107 -24
- package/esm2015/lib/components/steps/steps.component.js +47 -31
- package/esm2015/lib/components/table/table.component.js +301 -35
- package/esm2015/lib/components/text/text.component.js +146 -71
- package/esm2015/lib/components/tiles/tiles.component.js +75 -21
- package/esm2015/lib/components/timeout/timeout.component.js +65 -22
- package/esm2015/lib/components/tin-spa.component.js +19 -12
- package/esm2015/lib/components/users/users.component.js +308 -65
- package/esm2015/lib/components/viewer/viewer.component.js +64 -39
- package/esm2015/lib/components/viewer/viewerDialog.component.js +73 -18
- package/esm2015/lib/dnd.directive.js +30 -25
- package/esm2015/lib/modules/spa-admin.module.js +65 -51
- package/esm2015/lib/modules/spa-index.module.js +45 -20
- package/esm2015/lib/modules/spa-mat.module.js +40 -25
- package/esm2015/lib/modules/spa-user.module.js +43 -19
- package/esm2015/lib/services/auth.service.js +39 -50
- package/esm2015/lib/services/data.service.js +82 -49
- package/esm2015/lib/services/export.service.js +11 -11
- package/esm2015/lib/services/http.service.js +79 -0
- package/esm2015/lib/services/loader-interceptor.service.js +30 -30
- package/esm2015/lib/services/loader.service.js +11 -11
- package/esm2015/lib/services/log.service.js +12 -12
- package/esm2015/lib/services/message.service.js +11 -17
- package/esm2015/lib/services/storage.service.js +12 -11
- package/esm2015/lib/services/tin-spa.service.js +11 -11
- package/esm2015/lib/tin-spa.module.js +113 -48
- package/esm2015/public-api.js +4 -6
- package/esm2015/tin-spa.js +1 -5
- package/esm5/lib/classes/Classes.js +70 -55
- package/esm5/lib/classes/TinCore.js +164 -0
- package/esm5/lib/components/activity/activity.component.js +82 -15
- package/esm5/lib/components/attach/attach.component.js +100 -24
- package/esm5/lib/components/change-password/change-password.component.js +120 -31
- package/esm5/lib/components/check/check.component.js +37 -30
- package/esm5/lib/components/chips/chips.component.js +73 -32
- package/esm5/lib/components/create-account/create-account.component.js +122 -39
- package/esm5/lib/components/date/date.component.js +52 -30
- package/esm5/lib/components/datetime/datetime.component.js +41 -27
- package/esm5/lib/components/filter/filter.component.js +66 -0
- package/esm5/lib/components/html/html.component.js +28 -22
- package/esm5/lib/components/label/label.component.js +107 -18
- package/esm5/lib/components/loader/loader.component.js +41 -17
- package/esm5/lib/components/login/login.component.js +193 -74
- package/esm5/lib/components/logs/logs.component.js +178 -25
- package/esm5/lib/components/message/messageDialog.component.js +126 -14
- package/esm5/lib/components/money/currency-input-mask.directive.js +193 -0
- package/esm5/lib/components/money/currency-input-mask.module.js +34 -0
- package/esm5/lib/components/money/money.component.js +139 -36
- package/esm5/lib/components/nav-menu/nav-menu.component.js +172 -18
- package/esm5/lib/components/option/option.component.js +105 -37
- package/esm5/lib/components/profile/profile.component.js +141 -50
- package/esm5/lib/components/recover-account/recover-account.component.js +46 -23
- package/esm5/lib/components/roles/addRoleDialog.component.js +97 -23
- package/esm5/lib/components/roles/roles.component.js +152 -72
- package/esm5/lib/components/select/select.component.js +106 -45
- package/esm5/lib/components/settings/settings.component.js +74 -18
- package/esm5/lib/components/signup/signup.component.js +105 -21
- package/esm5/lib/components/steps/steps.component.js +46 -28
- package/esm5/lib/components/table/table.component.js +299 -32
- package/esm5/lib/components/text/text.component.js +144 -68
- package/esm5/lib/components/tiles/tiles.component.js +73 -18
- package/esm5/lib/components/timeout/timeout.component.js +63 -19
- package/esm5/lib/components/tin-spa.component.js +16 -8
- package/esm5/lib/components/users/users.component.js +307 -62
- package/esm5/lib/components/viewer/viewer.component.js +62 -36
- package/esm5/lib/components/viewer/viewerDialog.component.js +71 -15
- package/esm5/lib/dnd.directive.js +28 -22
- package/esm5/lib/modules/spa-admin.module.js +63 -48
- package/esm5/lib/modules/spa-index.module.js +43 -17
- package/esm5/lib/modules/spa-mat.module.js +38 -22
- package/esm5/lib/modules/spa-user.module.js +41 -16
- package/esm5/lib/services/auth.service.js +37 -47
- package/esm5/lib/services/data.service.js +89 -55
- package/esm5/lib/services/export.service.js +9 -8
- package/esm5/lib/services/http.service.js +81 -0
- package/esm5/lib/services/loader-interceptor.service.js +28 -27
- package/esm5/lib/services/loader.service.js +9 -8
- package/esm5/lib/services/log.service.js +11 -9
- package/esm5/lib/services/message.service.js +9 -14
- package/esm5/lib/services/storage.service.js +10 -8
- package/esm5/lib/services/tin-spa.service.js +9 -8
- package/esm5/lib/tin-spa.module.js +111 -45
- package/esm5/public-api.js +4 -6
- package/esm5/tin-spa.js +1 -5
- package/fesm2015/tin-spa.js +4418 -1612
- package/fesm2015/tin-spa.js.map +1 -1
- package/fesm5/tin-spa.js +4442 -1612
- package/fesm5/tin-spa.js.map +1 -1
- package/lib/classes/Classes.d.ts +55 -43
- package/lib/classes/TinCore.d.ts +27 -0
- package/lib/components/activity/activity.component.d.ts +3 -5
- package/lib/components/attach/attach.component.d.ts +3 -5
- package/lib/components/change-password/change-password.component.d.ts +11 -9
- package/lib/components/check/check.component.d.ts +3 -5
- package/lib/components/chips/chips.component.d.ts +3 -5
- package/lib/components/create-account/create-account.component.d.ts +13 -13
- package/lib/components/date/date.component.d.ts +6 -7
- package/lib/components/datetime/datetime.component.d.ts +3 -5
- package/lib/components/filter/filter.component.d.ts +15 -0
- package/lib/components/html/html.component.d.ts +3 -5
- package/lib/components/label/label.component.d.ts +3 -5
- package/lib/components/loader/loader.component.d.ts +3 -5
- package/lib/components/login/login.component.d.ts +12 -14
- package/lib/components/logs/logs.component.d.ts +5 -9
- package/lib/components/message/messageDialog.component.d.ts +3 -5
- package/lib/components/money/currency-input-mask.directive.d.ts +41 -0
- package/lib/components/money/currency-input-mask.module.d.ts +8 -0
- package/lib/components/money/money.component.d.ts +19 -8
- package/lib/components/nav-menu/nav-menu.component.d.ts +3 -5
- package/lib/components/option/option.component.d.ts +4 -5
- package/lib/components/profile/profile.component.d.ts +9 -11
- package/lib/components/recover-account/recover-account.component.d.ts +6 -8
- package/lib/components/roles/addRoleDialog.component.d.ts +5 -7
- package/lib/components/roles/roles.component.d.ts +6 -10
- package/lib/components/select/select.component.d.ts +4 -6
- package/lib/components/settings/settings.component.d.ts +5 -7
- package/lib/components/signup/signup.component.d.ts +6 -8
- package/lib/components/steps/steps.component.d.ts +3 -5
- package/lib/components/table/table.component.d.ts +3 -5
- package/lib/components/text/text.component.d.ts +4 -5
- package/lib/components/tiles/tiles.component.d.ts +3 -5
- package/lib/components/timeout/timeout.component.d.ts +3 -5
- package/lib/components/tin-spa.component.d.ts +3 -5
- package/lib/components/users/users.component.d.ts +8 -13
- package/lib/components/viewer/viewer.component.d.ts +3 -5
- package/lib/components/viewer/viewerDialog.component.d.ts +4 -6
- package/lib/dnd.directive.d.ts +3 -5
- package/lib/modules/spa-admin.module.d.ts +13 -19
- package/lib/modules/spa-index.module.d.ts +10 -11
- package/lib/modules/spa-mat.module.d.ts +30 -32
- package/lib/modules/spa-user.module.d.ts +9 -10
- package/lib/services/auth.service.d.ts +14 -14
- package/lib/services/data.service.d.ts +28 -17
- package/lib/services/export.service.d.ts +3 -4
- package/lib/services/http.service.d.ts +22 -0
- package/lib/services/loader-interceptor.service.d.ts +3 -5
- package/lib/services/loader.service.d.ts +3 -4
- package/lib/services/log.service.d.ts +3 -4
- package/lib/services/message.service.d.ts +3 -4
- package/lib/services/storage.service.d.ts +3 -4
- package/lib/services/tin-spa.service.d.ts +3 -4
- package/lib/tin-spa.module.d.ts +35 -35
- package/package.json +2 -10
- package/public-api.d.ts +3 -5
- package/tin-spa.d.ts +1 -6
- package/__ivy_ngcc__/fesm2015/tin-spa.js +0 -6813
- package/__ivy_ngcc__/fesm2015/tin-spa.js.map +0 -1
- package/esm2015/lib/components/profiles/profiles.component.js +0 -16
- package/esm2015/lib/components/roles/editRoleDialog.component.js +0 -57
- package/esm2015/lib/components/roles/viewRoleDialog.component.js +0 -38
- package/esm2015/lib/components/users/addUserDialog.component.js +0 -53
- package/esm2015/lib/components/users/editUserDialog.component.js +0 -96
- package/esm5/lib/components/profiles/profiles.component.js +0 -18
- package/esm5/lib/components/roles/editRoleDialog.component.js +0 -59
- package/esm5/lib/components/roles/viewRoleDialog.component.js +0 -39
- package/esm5/lib/components/users/addUserDialog.component.js +0 -55
- package/esm5/lib/components/users/editUserDialog.component.js +0 -99
- package/lib/components/activity/activity.component.d.ts.__ivy_ngcc_bak +0 -8
- package/lib/components/attach/attach.component.d.ts.__ivy_ngcc_bak +0 -39
- package/lib/components/change-password/change-password.component.d.ts.__ivy_ngcc_bak +0 -20
- package/lib/components/check/check.component.d.ts.__ivy_ngcc_bak +0 -16
- package/lib/components/chips/chips.component.d.ts.__ivy_ngcc_bak +0 -15
- package/lib/components/create-account/create-account.component.d.ts.__ivy_ngcc_bak +0 -25
- package/lib/components/date/date.component.d.ts.__ivy_ngcc_bak +0 -13
- package/lib/components/datetime/datetime.component.d.ts.__ivy_ngcc_bak +0 -12
- package/lib/components/html/html.component.d.ts.__ivy_ngcc_bak +0 -12
- package/lib/components/label/label.component.d.ts.__ivy_ngcc_bak +0 -8
- package/lib/components/loader/loader.component.d.ts.__ivy_ngcc_bak +0 -9
- package/lib/components/login/login.component.d.ts.__ivy_ngcc_bak +0 -29
- package/lib/components/logs/logs.component.d.ts.__ivy_ngcc_bak +0 -17
- package/lib/components/message/messageDialog.component.d.ts.__ivy_ngcc_bak +0 -12
- package/lib/components/money/money.component.d.ts.__ivy_ngcc_bak +0 -14
- package/lib/components/nav-menu/nav-menu.component.d.ts.__ivy_ngcc_bak +0 -17
- package/lib/components/option/option.component.d.ts.__ivy_ngcc_bak +0 -17
- package/lib/components/profile/profile.component.d.ts.__ivy_ngcc_bak +0 -30
- package/lib/components/profiles/profiles.component.d.ts +0 -10
- package/lib/components/profiles/profiles.component.d.ts.__ivy_ngcc_bak +0 -5
- package/lib/components/recover-account/recover-account.component.d.ts.__ivy_ngcc_bak +0 -15
- package/lib/components/roles/addRoleDialog.component.d.ts.__ivy_ngcc_bak +0 -19
- package/lib/components/roles/editRoleDialog.component.d.ts +0 -24
- package/lib/components/roles/editRoleDialog.component.d.ts.__ivy_ngcc_bak +0 -19
- package/lib/components/roles/roles.component.d.ts.__ivy_ngcc_bak +0 -29
- package/lib/components/roles/viewRoleDialog.component.d.ts +0 -20
- package/lib/components/roles/viewRoleDialog.component.d.ts.__ivy_ngcc_bak +0 -15
- package/lib/components/select/select.component.d.ts.__ivy_ngcc_bak +0 -20
- package/lib/components/settings/settings.component.d.ts.__ivy_ngcc_bak +0 -16
- package/lib/components/signup/signup.component.d.ts.__ivy_ngcc_bak +0 -20
- package/lib/components/steps/steps.component.d.ts.__ivy_ngcc_bak +0 -15
- package/lib/components/table/table.component.d.ts.__ivy_ngcc_bak +0 -25
- package/lib/components/text/text.component.d.ts.__ivy_ngcc_bak +0 -37
- package/lib/components/tiles/tiles.component.d.ts.__ivy_ngcc_bak +0 -11
- package/lib/components/timeout/timeout.component.d.ts.__ivy_ngcc_bak +0 -21
- package/lib/components/tin-spa.component.d.ts.__ivy_ngcc_bak +0 -5
- package/lib/components/users/addUserDialog.component.d.ts +0 -21
- package/lib/components/users/addUserDialog.component.d.ts.__ivy_ngcc_bak +0 -16
- package/lib/components/users/editUserDialog.component.d.ts +0 -32
- package/lib/components/users/editUserDialog.component.d.ts.__ivy_ngcc_bak +0 -27
- package/lib/components/users/users.component.d.ts.__ivy_ngcc_bak +0 -35
- package/lib/components/viewer/viewer.component.d.ts.__ivy_ngcc_bak +0 -16
- package/lib/components/viewer/viewerDialog.component.d.ts.__ivy_ngcc_bak +0 -19
- package/lib/dnd.directive.d.ts.__ivy_ngcc_bak +0 -8
- package/lib/modules/spa-admin.module.d.ts.__ivy_ngcc_bak +0 -2
- package/lib/modules/spa-index.module.d.ts.__ivy_ngcc_bak +0 -2
- package/lib/modules/spa-mat.module.d.ts.__ivy_ngcc_bak +0 -2
- package/lib/modules/spa-user.module.d.ts.__ivy_ngcc_bak +0 -2
- package/lib/services/auth.service.d.ts.__ivy_ngcc_bak +0 -45
- package/lib/services/data.service.d.ts.__ivy_ngcc_bak +0 -23
- package/lib/services/export.service.d.ts.__ivy_ngcc_bak +0 -7
- package/lib/services/loader-interceptor.service.d.ts.__ivy_ngcc_bak +0 -18
- package/lib/services/loader.service.d.ts.__ivy_ngcc_bak +0 -5
- package/lib/services/log.service.d.ts.__ivy_ngcc_bak +0 -16
- package/lib/services/message.service.d.ts.__ivy_ngcc_bak +0 -12
- package/lib/services/storage.service.d.ts.__ivy_ngcc_bak +0 -7
- package/lib/services/tin-spa.service.d.ts.__ivy_ngcc_bak +0 -3
- package/lib/tin-spa.module.d.ts.__ivy_ngcc_bak +0 -2
- package/tin-spa.d.ts.__ivy_ngcc_bak +0 -8
- package/tin-spa.metadata.json +0 -1
|
@@ -1,20 +1,79 @@
|
|
|
1
|
-
import {
|
|
2
|
-
//-----------------Change for Build and Reference purposes for SERVICES ONLY---------//
|
|
3
|
-
import { HttpService, ApiResponse, Core, Constants } from "tin-core";
|
|
4
|
-
// import { HttpService,ApiResponse, Core, Constants } from 'tin-core';
|
|
5
|
-
//----------------------------------------------------------------------------------//
|
|
6
|
-
import { MessageService } from "../../services/message.service";
|
|
7
|
-
import { StorageService } from "../../services/storage.service";
|
|
8
|
-
import { AuthService } from "../../services/auth.service";
|
|
9
|
-
import { Component, Input } from "@angular/core";
|
|
10
|
-
import { Router, ActivatedRoute } from "@angular/router";
|
|
11
|
-
import { DataService } from "../../services/data.service";
|
|
12
|
-
import { LogService } from "./../../services/log.service";
|
|
13
|
-
// import { AuthService } from "../services/auth.service";
|
|
14
|
-
// import { ApiResponse, Core } from "../classes/TinCore";
|
|
1
|
+
import { Component } from "@angular/core";
|
|
15
2
|
import { User, AppConfig } from "../../classes/Classes";
|
|
16
|
-
|
|
17
|
-
|
|
3
|
+
import { Constants } from "../../classes/TinCore";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../services/http.service";
|
|
6
|
+
import * as i2 from "../../services/storage.service";
|
|
7
|
+
import * as i3 from "@angular/router";
|
|
8
|
+
import * as i4 from "../../services/message.service";
|
|
9
|
+
import * as i5 from "../../services/data.service";
|
|
10
|
+
import * as i6 from "../../services/auth.service";
|
|
11
|
+
import * as i7 from "./../../services/log.service";
|
|
12
|
+
import * as i8 from "@angular/common";
|
|
13
|
+
import * as i9 from "@angular/material/card";
|
|
14
|
+
import * as i10 from "../text/text.component";
|
|
15
|
+
import * as i11 from "@angular/material/form-field";
|
|
16
|
+
import * as i12 from "@angular/material/input";
|
|
17
|
+
import * as i13 from "@angular/forms";
|
|
18
|
+
import * as i14 from "@angular/material/button";
|
|
19
|
+
import * as i15 from "@angular/material/icon";
|
|
20
|
+
function LoginComponent_div_1_img_1_Template(rf, ctx) { if (rf & 1) {
|
|
21
|
+
i0.ɵɵelement(0, "img", 21);
|
|
22
|
+
} if (rf & 2) {
|
|
23
|
+
const ctx_r4 = i0.ɵɵnextContext(2);
|
|
24
|
+
i0.ɵɵproperty("src", ctx_r4.appConfig.logo, i0.ɵɵsanitizeUrl);
|
|
25
|
+
} }
|
|
26
|
+
function LoginComponent_div_1_img_2_Template(rf, ctx) { if (rf & 1) {
|
|
27
|
+
i0.ɵɵelement(0, "img", 22);
|
|
28
|
+
} if (rf & 2) {
|
|
29
|
+
const ctx_r5 = i0.ɵɵnextContext(2);
|
|
30
|
+
i0.ɵɵproperty("src", ctx_r5.appConfig.logo, i0.ɵɵsanitizeUrl);
|
|
31
|
+
} }
|
|
32
|
+
function LoginComponent_div_1_img_3_Template(rf, ctx) { if (rf & 1) {
|
|
33
|
+
i0.ɵɵelement(0, "img", 23);
|
|
34
|
+
} if (rf & 2) {
|
|
35
|
+
const ctx_r6 = i0.ɵɵnextContext(2);
|
|
36
|
+
i0.ɵɵproperty("src", ctx_r6.appConfig.logo, i0.ɵɵsanitizeUrl);
|
|
37
|
+
} }
|
|
38
|
+
function LoginComponent_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
39
|
+
i0.ɵɵelementStart(0, "div", 17);
|
|
40
|
+
i0.ɵɵtemplate(1, LoginComponent_div_1_img_1_Template, 1, 1, "img", 18);
|
|
41
|
+
i0.ɵɵtemplate(2, LoginComponent_div_1_img_2_Template, 1, 1, "img", 19);
|
|
42
|
+
i0.ɵɵtemplate(3, LoginComponent_div_1_img_3_Template, 1, 1, "img", 20);
|
|
43
|
+
i0.ɵɵelementEnd();
|
|
44
|
+
} if (rf & 2) {
|
|
45
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
46
|
+
i0.ɵɵadvance(1);
|
|
47
|
+
i0.ɵɵproperty("ngIf", ctx_r0.appConfig.logoSize == "normal");
|
|
48
|
+
i0.ɵɵadvance(1);
|
|
49
|
+
i0.ɵɵproperty("ngIf", ctx_r0.appConfig.logoSize == "medium");
|
|
50
|
+
i0.ɵɵadvance(1);
|
|
51
|
+
i0.ɵɵproperty("ngIf", ctx_r0.appConfig.logoSize == "large");
|
|
52
|
+
} }
|
|
53
|
+
function LoginComponent_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
54
|
+
i0.ɵɵelement(0, "div", 24);
|
|
55
|
+
} }
|
|
56
|
+
function LoginComponent_div_25_Template(rf, ctx) { if (rf & 1) {
|
|
57
|
+
const _r8 = i0.ɵɵgetCurrentView();
|
|
58
|
+
i0.ɵɵelementStart(0, "div", 13);
|
|
59
|
+
i0.ɵɵelementStart(1, "button", 25);
|
|
60
|
+
i0.ɵɵlistener("click", function LoginComponent_div_25_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(); return ctx_r7.signup(); });
|
|
61
|
+
i0.ɵɵtext(2, "Signup");
|
|
62
|
+
i0.ɵɵelementEnd();
|
|
63
|
+
i0.ɵɵelementEnd();
|
|
64
|
+
} }
|
|
65
|
+
function LoginComponent_div_26_Template(rf, ctx) { if (rf & 1) {
|
|
66
|
+
const _r10 = i0.ɵɵgetCurrentView();
|
|
67
|
+
i0.ɵɵelementStart(0, "div");
|
|
68
|
+
i0.ɵɵelement(1, "br");
|
|
69
|
+
i0.ɵɵelementStart(2, "a", 26);
|
|
70
|
+
i0.ɵɵlistener("click", function LoginComponent_div_26_Template_a_click_2_listener() { i0.ɵɵrestoreView(_r10); const ctx_r9 = i0.ɵɵnextContext(); return ctx_r9.recoverAccount(); });
|
|
71
|
+
i0.ɵɵtext(3, "Forgot your password ?");
|
|
72
|
+
i0.ɵɵelementEnd();
|
|
73
|
+
i0.ɵɵelementEnd();
|
|
74
|
+
} }
|
|
75
|
+
export class LoginComponent {
|
|
76
|
+
constructor(httpService, storageService, router, messageService, dataService, authService, logService, route) {
|
|
18
77
|
this.httpService = httpService;
|
|
19
78
|
this.storageService = storageService;
|
|
20
79
|
this.router = router;
|
|
@@ -22,15 +81,23 @@ let LoginComponent = class LoginComponent {
|
|
|
22
81
|
this.dataService = dataService;
|
|
23
82
|
this.authService = authService;
|
|
24
83
|
this.logService = logService;
|
|
84
|
+
this.route = route;
|
|
25
85
|
this.user = new User();
|
|
26
86
|
this.hide = true;
|
|
27
87
|
this.isProcessing = false;
|
|
28
88
|
this.appConfig = new AppConfig();
|
|
29
89
|
}
|
|
30
90
|
ngOnInit() {
|
|
31
|
-
this.authService.
|
|
32
|
-
this.authService.
|
|
91
|
+
this.authService.Updateloggedin(false);
|
|
92
|
+
this.authService.UpdateRole(null);
|
|
33
93
|
this.storageService.clear();
|
|
94
|
+
this.dataService.appConfigObserv.subscribe(x => this.appConfig = x);
|
|
95
|
+
if (this.route.snapshot.queryParams.redirectTo != undefined) {
|
|
96
|
+
this.redirectPath = this.route.snapshot.queryParams.redirectTo;
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
this.redirectPath = "home";
|
|
100
|
+
}
|
|
34
101
|
}
|
|
35
102
|
signup() {
|
|
36
103
|
this.router.navigate(["signup"]);
|
|
@@ -39,44 +106,45 @@ let LoginComponent = class LoginComponent {
|
|
|
39
106
|
this.router.navigate(["recover-account"]);
|
|
40
107
|
}
|
|
41
108
|
login() {
|
|
42
|
-
if (this.user.
|
|
109
|
+
if (this.user.userName == "" || this.user.password == "") {
|
|
43
110
|
this.messageService.toast("Please enter your credentials");
|
|
44
111
|
return;
|
|
45
112
|
}
|
|
46
113
|
this.logService.info("logging in");
|
|
47
114
|
this.isProcessing = true;
|
|
48
|
-
this.
|
|
115
|
+
this.user.userName = this.user.userName;
|
|
116
|
+
this.dataService.Login(this.user).subscribe((apiResponse) => {
|
|
49
117
|
this.isProcessing = false;
|
|
50
|
-
if (apiResponse.
|
|
51
|
-
if (apiResponse.
|
|
118
|
+
if (apiResponse.success) {
|
|
119
|
+
if (apiResponse.data.authType == 'local' && !this.appConfig.localAuth) {
|
|
52
120
|
this.messageService.toast("Contact Admin: Authentication Type error");
|
|
53
121
|
return;
|
|
54
122
|
}
|
|
55
|
-
if (apiResponse.
|
|
123
|
+
if (apiResponse.data.authType == 'AD' && !this.appConfig.ADAuth) {
|
|
56
124
|
this.messageService.toast("Contact Admin: Authentication Type error");
|
|
57
125
|
return;
|
|
58
126
|
}
|
|
59
|
-
this.authService.
|
|
60
|
-
this.authService.
|
|
61
|
-
this.storageService.store(Constants.AUTH_TOKEN, apiResponse.
|
|
62
|
-
this.authService.
|
|
63
|
-
this.storageService.store(Constants.AUTH_TOKEN_EXPIRE, apiResponse.
|
|
64
|
-
this.authService.
|
|
65
|
-
this.storageService.store(Constants.AUTH_USER, this.user.
|
|
66
|
-
this.authService.updateLoggedUserFullName(apiResponse.
|
|
67
|
-
this.storageService.store(Constants.AUTH_NAME, apiResponse.
|
|
68
|
-
this.authService.
|
|
69
|
-
this.storageService.store(Constants.AUTH_ROLES, JSON.stringify(apiResponse.
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
this.router.navigate(["home/user/change-password"]);
|
|
127
|
+
this.authService.Updateloggedin(true);
|
|
128
|
+
this.authService.UpdateToken(apiResponse.data.token);
|
|
129
|
+
this.storageService.store(Constants.AUTH_TOKEN, apiResponse.data.token);
|
|
130
|
+
this.authService.UpdateTokenExpire(apiResponse.data.expiration);
|
|
131
|
+
this.storageService.store(Constants.AUTH_TOKEN_EXPIRE, apiResponse.data.expiration);
|
|
132
|
+
this.authService.UpdateCurrentUser(this.user.userName);
|
|
133
|
+
this.storageService.store(Constants.AUTH_USER, this.user.userName);
|
|
134
|
+
this.authService.updateLoggedUserFullName(apiResponse.data.firstName);
|
|
135
|
+
this.storageService.store(Constants.AUTH_NAME, apiResponse.data.firstName);
|
|
136
|
+
this.authService.UpdateRole(apiResponse.data.role);
|
|
137
|
+
this.storageService.store(Constants.AUTH_ROLES, JSON.stringify(apiResponse.data.role));
|
|
138
|
+
this.logService.info("logged in");
|
|
139
|
+
if (apiResponse.data.changePassword == true && apiResponse.data.authType == 'local') {
|
|
140
|
+
this.router.navigate(["home/user/change-password"], {
|
|
141
|
+
queryParams: { redirectTo: this.redirectPath },
|
|
142
|
+
queryParamsHandling: 'merge',
|
|
143
|
+
skipLocationChange: false
|
|
144
|
+
});
|
|
145
|
+
return;
|
|
79
146
|
}
|
|
147
|
+
this.router.navigate([this.redirectPath]);
|
|
80
148
|
}
|
|
81
149
|
else {
|
|
82
150
|
this.messageService.toast("Error: " + apiResponse.message);
|
|
@@ -87,36 +155,86 @@ let LoginComponent = class LoginComponent {
|
|
|
87
155
|
this.messageService.toast(this.httpService.Error(error));
|
|
88
156
|
});
|
|
89
157
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGluLXNwYS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsdUZBQXVGO0FBQ3ZGLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDckUsdUVBQXVFO0FBQ3ZFLHNGQUFzRjtBQUN0RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDMUQsMERBQTBEO0FBQzFELDBEQUEwRDtBQUMxRCxPQUFPLEVBQUUsSUFBSSxFQUFlLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBV3JFLElBQWEsY0FBYyxHQUEzQixNQUFhLGNBQWM7SUFDekIsWUFDVSxXQUF3QixFQUN4QixjQUE4QixFQUMvQixNQUFjLEVBQ2IsY0FBOEIsRUFDOUIsV0FBd0IsRUFDekIsV0FBd0IsRUFDdkIsVUFBc0I7UUFOdEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQy9CLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDYixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsZ0JBQVcsR0FBWCxX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QUNULFFBQVEsRUFBRSxXQUFXO1FBQ3JCLGtzR0FBcUM7O0tBRXRDLENBQUM7R0FDVyxjQUFjLENBb0gxQjtTQXBIWSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiLy8tLS0tLS0tLS0tLS0tLS0tLUNoYW5nZSBmb3IgQnVpbGQgYW5kIFJlZmVyZW5jZSBwdXJwb3NlcyBmb3IgU0VSVklDRVMgT05MWS0tLS0tLS0tLS8vXHJcbmltcG9ydCB7IEh0dHBTZXJ2aWNlLCBBcGlSZXNwb25zZSwgQ29yZSwgQ29uc3RhbnRzIH0gZnJvbSBcInRpbi1jb3JlXCI7XHJcbi8vIGltcG9ydCB7IEh0dHBTZXJ2aWNlLEFwaVJlc3BvbnNlLCBDb3JlLCBDb25zdGFudHMgfSBmcm9tICd0aW4tY29yZSc7XHJcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vXHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9zdG9yYWdlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFJvdXRlciwgQWN0aXZhdGVkUm91dGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhclwiO1xyXG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9kYXRhLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTG9nU2VydmljZSB9IGZyb20gXCIuLy4uLy4uL3NlcnZpY2VzL2xvZy5zZXJ2aWNlXCI7XHJcbi8vIGltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL2F1dGguc2VydmljZVwiO1xyXG4vLyBpbXBvcnQgeyBBcGlSZXNwb25zZSwgQ29yZSB9IGZyb20gXCIuLi9jbGFzc2VzL1RpbkNvcmVcIjtcclxuaW1wb3J0IHsgVXNlciwgbG9naW5Db25maWcsIEFwcENvbmZpZyB9IGZyb20gXCIuLi8uLi9jbGFzc2VzL0NsYXNzZXNcIjtcclxuaW1wb3J0IHsgQ3VycmVuY3lQaXBlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG4vLyBpbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9zdG9yYWdlLnNlcnZpY2VcIjtcclxuLy8gaW1wb3J0IHsgQ29uc3RhbnRzIH0gZnJvbSBcIi4uLy4uL2NsYXNzZXMvVGluU3BhXCI7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJzcGEtbG9naW5cIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL2xvZ2luLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2xvZ2luLmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9naW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwU2VydmljZTogSHR0cFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSxcclxuICAgIHB1YmxpYyByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsb2dTZXJ2aWNlOiBMb2dTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBwdWJsaWMgdXNlciA9IG5ldyBVc2VyKCk7XHJcbiAgaGlkZSA9IHRydWU7XHJcbiAgaXNQcm9jZXNzaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgY29uZmlnOiBsb2dpbkNvbmZpZztcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLnVwZGF0ZWxvZ2dlZGluKGZhbHNlKTtcclxuICAgIHRoaXMuYXV0aFNlcnZpY2UudXBkYXRlUm9sZShudWxsKTtcclxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UuY2xlYXIoKTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIGFwcENvbmZpZyA9IG5ldyBBcHBDb25maWcoKTtcclxuXHJcbiAgcHVibGljIHNpZ251cCgpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcInNpZ251cFwiXSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVjb3ZlckFjY291bnQoKSB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCJyZWNvdmVyLWFjY291bnRcIl0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGxvZ2luKCkge1xyXG5cclxuICAgIGlmICh0aGlzLnVzZXIudXNlcklEID09IFwiXCIgfHwgdGhpcy51c2VyLnBhc3N3b3JkID09IFwiXCIpIHtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIlBsZWFzZSBlbnRlciB5b3VyIGNyZWRlbnRpYWxzXCIpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHRoaXMubG9nU2VydmljZS5pbmZvKFwibG9nZ2luZyBpblwiKTtcclxuXHJcbiAgICB0aGlzLmlzUHJvY2Vzc2luZyA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5kYXRhU2VydmljZS5sb2dpbih0aGlzLnVzZXIpLnN1YnNjcmliZShcclxuICAgICAgKGFwaVJlc3BvbnNlOiBBcGlSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNQcm9jZXNzaW5nID0gZmFsc2U7XHJcblxyXG4gICAgICAgIGlmIChhcGlSZXNwb25zZS5tZXNzYWdlID09IFwic3VjY2Vzc1wiKSB7XHJcblxyXG5cclxuICAgICAgICAgIGlmIChhcGlSZXNwb25zZS5kcy5kdFVzZXJbMF1bXCJhdXRoVHlwZVwiXSA9PSAnbG9jYWwnICYmICF0aGlzLmFwcENvbmZpZy5sb2NhbEF1dGgpe1xyXG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiQ29udGFjdCBBZG1pbjogQXV0aGVudGljYXRpb24gVHlwZSBlcnJvclwiKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmIChhcGlSZXNwb25zZS5kcy5kdFVzZXJbMF1bXCJhdXRoVHlwZVwiXSA9PSAnQUQnICYmICF0aGlzLmFwcENvbmZpZy5BREF1dGgpIHtcclxuICAgICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIkNvbnRhY3QgQWRtaW46IEF1dGhlbnRpY2F0aW9uIFR5cGUgZXJyb3JcIik7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgICAgdGhpcy5hdXRoU2VydmljZS51cGRhdGVsb2dnZWRpbih0cnVlKTtcclxuXHJcbiAgICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLnVwZGF0ZVRva2VuKGFwaVJlc3BvbnNlLmRzLmR0VXNlclswXVtcInRva2VuXCJdKTtcclxuICAgICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc3RvcmUoQ29uc3RhbnRzLkFVVEhfVE9LRU4sIGFwaVJlc3BvbnNlLmRzLmR0VXNlclswXVtcInRva2VuXCJdKTtcclxuXHJcbiAgICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLnVwZGF0ZVRva2VuRXhwaXJlKGFwaVJlc3BvbnNlLmRzLmR0VXNlclswXVtcInRva2VuRXhwaXJlXCJdKTtcclxuICAgICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc3RvcmUoQ29uc3RhbnRzLkFVVEhfVE9LRU5fRVhQSVJFLCBhcGlSZXNwb25zZS5kcy5kdFVzZXJbMF1bXCJ0b2tlbkV4cGlyZVwiXSk7XHJcblxyXG4gICAgICAgICAgdGhpcy5hdXRoU2VydmljZS51cGRhdGVDdXJyZW50VXNlcih0aGlzLnVzZXIudXNlcklEKTtcclxuICAgICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc3RvcmUoQ29uc3RhbnRzLkFVVEhfVVNFUiwgdGhpcy51c2VyLnVzZXJJRCk7XHJcblxyXG4gICAgICAgICAgdGhpcy5hdXRoU2VydmljZS51cGRhdGVMb2dnZWRVc2VyRnVsbE5hbWUoIGFwaVJlc3BvbnNlLmRzLmR0UHJvZmlsZVswXVtcImZpcnN0TmFtZVwiXSApO1xyXG4gICAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zdG9yZShDb25zdGFudHMuQVVUSF9OQU1FLCBhcGlSZXNwb25zZS5kcy5kdFByb2ZpbGVbMF1bXCJmaXJzdE5hbWVcIl1cclxuICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgdGhpcy5hdXRoU2VydmljZS51cGRhdGVSb2xlKGFwaVJlc3BvbnNlLmRzLmR0Um9sZVswXSk7XHJcbiAgICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnN0b3JlKENvbnN0YW50cy5BVVRIX1JPTEVTLCBKU09OLnN0cmluZ2lmeShhcGlSZXNwb25zZS5kcy5kdFJvbGVbMF0pKTtcclxuICAgICAgICAgIC8vIHRoaXMuc2V0Um9sZShhcGlSZXNwb25zZS5kdFswXVtcImFjY2Vzc0xldmVsXCJdKTtcclxuXHJcbiAgICAgICAgICAvLyB0aGlzLnNldFJvbGUoXCIxXCIpO1xyXG5cclxuICAgICAgICAgIGlmIChhcGlSZXNwb25zZS5kcy5kdFVzZXJbMF1bXCJjaGFuZ2VQYXNzd29yZFwiXSA9PSBcIjBcIikge1xyXG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCJob21lXCJdKTtcclxuICAgICAgICAgICAgLy8gdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIldlbGNvbWVcIik7XHJcbiAgICAgICAgICAgIHRoaXMubG9nU2VydmljZS5pbmZvKFwibG9nZ2VkIGluXCIpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiaG9tZS91c2VyL2NoYW5nZS1wYXNzd29yZFwiXSk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRXJyb3I6IFwiICsgYXBpUmVzcG9uc2UubWVzc2FnZSk7XHJcbiAgICAgICAgICB0aGlzLnVzZXIucGFzc3dvcmQgPSBcIlwiO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgKGVycm9yKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc1Byb2Nlc3NpbmcgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdCh0aGlzLmh0dHBTZXJ2aWNlLkVycm9yKGVycm9yKSk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBzZXRSb2xlKHJvbGVJRDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlXHJcbiAgICAgIC5HZXRSb2xlKFwiaWRcIiwgcm9sZUlEKVxyXG4gICAgICAuc3Vic2NyaWJlKChhcGlSZXNwb25zZTogQXBpUmVzcG9uc2UpID0+IHtcclxuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLnVwZGF0ZVJvbGUoYXBpUmVzcG9uc2UuZHRbMF0pO1xyXG5cclxuICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnN0b3JlKFxyXG4gICAgICAgICAgQ29uc3RhbnRzLkFVVEhfUk9MRVMsXHJcbiAgICAgICAgICBKU09OLnN0cmluZ2lmeShhcGlSZXNwb25zZS5kdFswXSlcclxuICAgICAgICApO1xyXG4gICAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|
|
158
|
+
}
|
|
159
|
+
LoginComponent.ɵfac = function LoginComponent_Factory(t) { return new (t || LoginComponent)(i0.ɵɵdirectiveInject(i1.HttpService), i0.ɵɵdirectiveInject(i2.StorageService), i0.ɵɵdirectiveInject(i3.Router), i0.ɵɵdirectiveInject(i4.MessageService), i0.ɵɵdirectiveInject(i5.DataServiceLib), i0.ɵɵdirectiveInject(i6.AuthService), i0.ɵɵdirectiveInject(i7.LogService), i0.ɵɵdirectiveInject(i3.ActivatedRoute)); };
|
|
160
|
+
LoginComponent.ɵcmp = i0.ɵɵdefineComponent({ type: LoginComponent, selectors: [["spa-login"]], decls: 27, vars: 12, consts: [[1, "tin-bg-login", "login-page"], ["class", "d-flex justify-content-center row align-items-center", "style", "margin-top:3em;margin-bottom:1em", 4, "ngIf"], ["style", "margin-top:2em", 4, "ngIf"], [1, "d-flex", "justify-content-center", "row", "align-items-center", 2, "margin-top", "3em"], [1, "d-none", "d-sm-block"], [2, "margin-left", "1em"], [1, "mat-elevation-z3", 2, "width", "400px"], [1, "tin-input", "mt-2"], ["id", "txtuserName", "display", "Username", 3, "value", "valueChange"], ["id", "txtPassword", "matInput", "", "autocomplete", "off", 3, "type", "ngModel", "keyup.enter", "ngModelChange"], ["mat-icon-button", "", "matSuffix", "", 3, "click"], [2, "font-size", "18px"], [1, "row"], [1, "col", "d-flex", "justify-content-center"], ["id", "btnLogin", "mat-raised-button", "", "color", "primary", 2, "width", "100px", 3, "disabled", "click"], ["class", "col d-flex justify-content-center", 4, "ngIf"], [4, "ngIf"], [1, "d-flex", "justify-content-center", "row", "align-items-center", 2, "margin-top", "3em", "margin-bottom", "1em"], ["style", "height:100px;margin-right:3em;margin-left:3em", 3, "src", 4, "ngIf"], ["style", "height:150px;margin-right:3em;margin-left:3em", 3, "src", 4, "ngIf"], ["style", "height:250px;margin-right:3em;margin-left:3em", 3, "src", 4, "ngIf"], [2, "height", "100px", "margin-right", "3em", "margin-left", "3em", 3, "src"], [2, "height", "150px", "margin-right", "3em", "margin-left", "3em", 3, "src"], [2, "height", "250px", "margin-right", "3em", "margin-left", "3em", 3, "src"], [2, "margin-top", "2em"], ["id", "btnSignup", "mat-stroked-button", "", "color", "primary", 2, "width", "100px", 3, "click"], ["mat-button", "", "id", "lnkRecover", 2, "margin-left", "1em", 3, "click"]], template: function LoginComponent_Template(rf, ctx) { if (rf & 1) {
|
|
161
|
+
i0.ɵɵelementStart(0, "div", 0);
|
|
162
|
+
i0.ɵɵtemplate(1, LoginComponent_div_1_Template, 4, 3, "div", 1);
|
|
163
|
+
i0.ɵɵtemplate(2, LoginComponent_div_2_Template, 1, 0, "div", 2);
|
|
164
|
+
i0.ɵɵelementStart(3, "div", 3);
|
|
165
|
+
i0.ɵɵelement(4, "div", 4);
|
|
166
|
+
i0.ɵɵelementStart(5, "div", 5);
|
|
167
|
+
i0.ɵɵelementStart(6, "mat-card", 6);
|
|
168
|
+
i0.ɵɵelementStart(7, "mat-card-header");
|
|
169
|
+
i0.ɵɵelementStart(8, "mat-card-title");
|
|
170
|
+
i0.ɵɵtext(9);
|
|
171
|
+
i0.ɵɵelementEnd();
|
|
172
|
+
i0.ɵɵelementEnd();
|
|
173
|
+
i0.ɵɵelementStart(10, "mat-card-content");
|
|
174
|
+
i0.ɵɵelementStart(11, "div", 7);
|
|
175
|
+
i0.ɵɵelementStart(12, "spa-text", 8);
|
|
176
|
+
i0.ɵɵlistener("valueChange", function LoginComponent_Template_spa_text_valueChange_12_listener($event) { return ctx.user.userName = $event; });
|
|
177
|
+
i0.ɵɵelementEnd();
|
|
178
|
+
i0.ɵɵelementStart(13, "mat-form-field");
|
|
179
|
+
i0.ɵɵelementStart(14, "mat-label");
|
|
180
|
+
i0.ɵɵtext(15, "Password");
|
|
181
|
+
i0.ɵɵelementEnd();
|
|
182
|
+
i0.ɵɵelementStart(16, "input", 9);
|
|
183
|
+
i0.ɵɵlistener("keyup.enter", function LoginComponent_Template_input_keyup_enter_16_listener() { return ctx.login(); })("ngModelChange", function LoginComponent_Template_input_ngModelChange_16_listener($event) { return ctx.user.password = $event; });
|
|
184
|
+
i0.ɵɵelementEnd();
|
|
185
|
+
i0.ɵɵelementStart(17, "button", 10);
|
|
186
|
+
i0.ɵɵlistener("click", function LoginComponent_Template_button_click_17_listener() { return ctx.hide = !ctx.hide; });
|
|
187
|
+
i0.ɵɵelementStart(18, "mat-icon", 11);
|
|
188
|
+
i0.ɵɵtext(19);
|
|
189
|
+
i0.ɵɵelementEnd();
|
|
190
|
+
i0.ɵɵelementEnd();
|
|
191
|
+
i0.ɵɵelementEnd();
|
|
192
|
+
i0.ɵɵelementEnd();
|
|
193
|
+
i0.ɵɵelementEnd();
|
|
194
|
+
i0.ɵɵelementStart(20, "mat-card-actions");
|
|
195
|
+
i0.ɵɵelementStart(21, "div", 12);
|
|
196
|
+
i0.ɵɵelementStart(22, "div", 13);
|
|
197
|
+
i0.ɵɵelementStart(23, "button", 14);
|
|
198
|
+
i0.ɵɵlistener("click", function LoginComponent_Template_button_click_23_listener() { return ctx.login(); });
|
|
199
|
+
i0.ɵɵtext(24, "Login");
|
|
200
|
+
i0.ɵɵelementEnd();
|
|
201
|
+
i0.ɵɵelementEnd();
|
|
202
|
+
i0.ɵɵtemplate(25, LoginComponent_div_25_Template, 3, 0, "div", 15);
|
|
203
|
+
i0.ɵɵelementEnd();
|
|
204
|
+
i0.ɵɵelementEnd();
|
|
205
|
+
i0.ɵɵelementEnd();
|
|
206
|
+
i0.ɵɵtemplate(26, LoginComponent_div_26_Template, 4, 0, "div", 16);
|
|
207
|
+
i0.ɵɵelementEnd();
|
|
208
|
+
i0.ɵɵelementEnd();
|
|
209
|
+
i0.ɵɵelementEnd();
|
|
210
|
+
} if (rf & 2) {
|
|
211
|
+
i0.ɵɵadvance(1);
|
|
212
|
+
i0.ɵɵproperty("ngIf", ctx.appConfig.logo != "");
|
|
213
|
+
i0.ɵɵadvance(1);
|
|
214
|
+
i0.ɵɵproperty("ngIf", ctx.appConfig.logo == "");
|
|
215
|
+
i0.ɵɵadvance(7);
|
|
216
|
+
i0.ɵɵtextInterpolate(ctx.appConfig.appName);
|
|
217
|
+
i0.ɵɵadvance(3);
|
|
218
|
+
i0.ɵɵproperty("value", ctx.user.userName);
|
|
219
|
+
i0.ɵɵadvance(4);
|
|
220
|
+
i0.ɵɵproperty("type", ctx.hide ? "password" : "text")("ngModel", ctx.user.password);
|
|
221
|
+
i0.ɵɵadvance(1);
|
|
222
|
+
i0.ɵɵattribute("aria-label", "Hide password")("aria-pressed", ctx.hide);
|
|
223
|
+
i0.ɵɵadvance(2);
|
|
224
|
+
i0.ɵɵtextInterpolate(ctx.hide ? "visibility_off" : "visibility");
|
|
225
|
+
i0.ɵɵadvance(4);
|
|
226
|
+
i0.ɵɵproperty("disabled", ctx.isProcessing);
|
|
227
|
+
i0.ɵɵadvance(2);
|
|
228
|
+
i0.ɵɵproperty("ngIf", ctx.appConfig.selfService);
|
|
229
|
+
i0.ɵɵadvance(1);
|
|
230
|
+
i0.ɵɵproperty("ngIf", ctx.appConfig.selfService);
|
|
231
|
+
} }, directives: [i8.NgIf, i9.MatCard, i9.MatCardHeader, i9.MatCardTitle, i9.MatCardContent, i10.TextComponent, i11.MatFormField, i11.MatLabel, i12.MatInput, i13.DefaultValueAccessor, i13.NgControlStatus, i13.NgModel, i14.MatButton, i11.MatSuffix, i15.MatIcon, i9.MatCardActions, i14.MatAnchor], styles: [".login-page[_ngcontent-%COMP%]{position:absolute;top:0;left:0;right:0;bottom:0;overflow:auto}.tin-bg-login[_ngcontent-%COMP%]{background-image:url(~/assets/login-bg.jpg);background-size:100%}"] });
|
|
232
|
+
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(LoginComponent, [{
|
|
233
|
+
type: Component,
|
|
234
|
+
args: [{
|
|
235
|
+
selector: "spa-login",
|
|
236
|
+
templateUrl: "./login.component.html",
|
|
237
|
+
styleUrls: ["./login.component.scss"],
|
|
238
|
+
}]
|
|
239
|
+
}], function () { return [{ type: i1.HttpService }, { type: i2.StorageService }, { type: i3.Router }, { type: i4.MessageService }, { type: i5.DataServiceLib }, { type: i6.AuthService }, { type: i7.LogService }, { type: i3.ActivatedRoute }]; }, null); })();
|
|
240
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGluLXNwYS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudC50cyIsImxpYi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxTQUFTLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBSXpELE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFeEQsT0FBTyxFQUFlLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNKekQsMEJBQ0E7OztJQUQyQyw2REFBc0I7OztJQUNqRSwwQkFDQTs7O0lBRDJDLDZEQUFzQjs7O0lBQ2pFLDBCQUVGOzs7SUFGNEMsNkRBQXNCOzs7SUFKbEUsK0JBRUU7SUFBQSxzRUFDQTtJQUFBLHNFQUNBO0lBQUEsc0VBRUY7SUFBQSxpQkFBTTs7O0lBSkMsZUFBb0M7SUFBcEMsNERBQW9DO0lBQ3BDLGVBQW9DO0lBQXBDLDREQUFvQztJQUNwQyxlQUFtQztJQUFuQywyREFBbUM7OztJQUsxQywwQkFFTTs7OztJQTJDSSwrQkFDRTtJQUFBLGtDQUFvRztJQUFuQiwrS0FBa0I7SUFBQyxzQkFBTTtJQUFBLGlCQUFTO0lBQ3JILGlCQUFNOzs7O0lBUVosMkJBQ0U7SUFBQSxxQkFDQTtJQUFBLDZCQUFtRjtJQUEzQixtTEFBMEI7SUFBQyxzQ0FBc0I7SUFBQSxpQkFBSTtJQUMvRyxpQkFBTTs7QUR0RGQsTUFBTSxPQUFPLGNBQWM7SUFFekIsWUFBb0IsV0FBd0IsRUFBVSxjQUE4QixFQUFTLE1BQWMsRUFBVSxjQUE4QixFQUFTLFdBQTJCLEVBQzlLLFdBQXdCLEVBQVUsVUFBc0IsRUFBVSxLQUFxQjtRQUQ1RSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLG1CQUFjLEdBQWQsY0FB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QUFXO1FBQUEseUJBQVE7UUFBQSxpQkFBWTtRQUMvQixpQ0FDQTtRQURzRSx1R0FBZSxXQUFPLElBQUMsa0lBQUE7UUFBN0YsaUJBQ0E7UUFBQSxtQ0FDRTtRQURnQyxvSEFBc0I7UUFDdEQscUNBQW1DO1FBQUEsYUFBMEM7UUFBQSxpQkFBVztRQUMxRixpQkFBUztRQUNYLGlCQUFpQjtRQUVuQixpQkFBTTtRQUVSLGlCQUFtQjtRQUduQix5Q0FFRTtRQUFBLGdDQUVFO1FBQUEsZ0NBQ0U7UUFBQSxtQ0FBMkg7UUFBbEMsNEZBQVMsV0FBTyxJQUFDO1FBQWlCLHNCQUFLO1FBQUEsaUJBQVM7UUFDM0ksaUJBQU07UUFFTixrRUFDRTtRQUdKLGlCQUFNO1FBRVIsaUJBQW1CO1FBRXJCLGlCQUFXO1FBRVgsa0VBQ0U7UUFJSixpQkFBTTtRQUVSLGlCQUFNO1FBRVIsaUJBQU07O1FBekVDLGVBQTBCO1FBQTFCLCtDQUEwQjtRQVMxQixlQUEyQjtRQUEzQiwrQ0FBMkI7UUFlUixlQUFxQjtRQUFyQiwyQ0FBcUI7UUFPVyxlQUF5QjtRQUF6Qix5Q0FBeUI7UUFJcEMsZUFBbUM7UUFBbkMscURBQW1DLDhCQUFBO1FBQ1gsZUFBbUM7UUFBbkMsNkNBQW1DLDBCQUFBO1FBQ3ZELGVBQTBDO1FBQTFDLGdFQUEwQztRQWN0QyxlQUF5QjtRQUF6QiwyQ0FBeUI7UUFHckIsZUFBNkI7UUFBN0IsZ0RBQTZCO1FBVTdFLGVBQTZCO1FBQTdCLGdEQUE2Qjs7a0REbkQ3QixjQUFjO2NBTDFCLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsV0FBVztnQkFDckIsV0FBVyxFQUFFLHdCQUF3QjtnQkFDckMsU0FBUyxFQUFFLENBQUMsd0JBQXdCLENBQUM7YUFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvc3RvcmFnZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZVwiO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBEYXRhU2VydmljZUxpYiB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9kYXRhLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTG9nU2VydmljZSB9IGZyb20gXCIuLy4uLy4uL3NlcnZpY2VzL2xvZy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFVzZXIsIEFwcENvbmZpZyB9IGZyb20gXCIuLi8uLi9jbGFzc2VzL0NsYXNzZXNcIjtcclxuaW1wb3J0IHsgSHR0cFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvaHR0cC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEFwaVJlc3BvbnNlLCBDb25zdGFudHMgfSBmcm9tIFwiLi4vLi4vY2xhc3Nlcy9UaW5Db3JlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJzcGEtbG9naW5cIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL2xvZ2luLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2xvZ2luLmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9naW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHBTZXJ2aWNlOiBIdHRwU2VydmljZSwgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsIHB1YmxpYyByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsIHB1YmxpYyBkYXRhU2VydmljZTogRGF0YVNlcnZpY2VMaWIsXHJcbiAgICBwdWJsaWMgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLCBwcml2YXRlIGxvZ1NlcnZpY2U6IExvZ1NlcnZpY2UsIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlXHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLlVwZGF0ZWxvZ2dlZGluKGZhbHNlKTtcclxuICAgIHRoaXMuYXV0aFNlcnZpY2UuVXBkYXRlUm9sZShudWxsKTtcclxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UuY2xlYXIoKTtcclxuXHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLmFwcENvbmZpZ09ic2Vydi5zdWJzY3JpYmUoeCA9PiB0aGlzLmFwcENvbmZpZyA9IHgpO1xyXG5cclxuICAgIGlmICh0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zLnJlZGlyZWN0VG8gIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMucmVkaXJlY3RQYXRoID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcy5yZWRpcmVjdFRvXHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5yZWRpcmVjdFBhdGggPSBcImhvbWVcIlxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIHJlZGlyZWN0UGF0aFxyXG5cclxuICBwdWJsaWMgdXNlciA9IG5ldyBVc2VyKCk7XHJcbiAgaGlkZSA9IHRydWU7XHJcbiAgaXNQcm9jZXNzaW5nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGFwcENvbmZpZyA9IG5ldyBBcHBDb25maWcoKTtcclxuXHJcbiAgcHVibGljIHNpZ251cCgpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcInNpZ251cFwiXSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVjb3ZlckFjY291bnQoKSB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCJyZWNvdmVyLWFjY291bnRcIl0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGxvZ2luKCkge1xyXG5cclxuICAgIGlmICh0aGlzLnVzZXIudXNlck5hbWUgPT0gXCJcIiB8fCB0aGlzLnVzZXIucGFzc3dvcmQgPT0gXCJcIikge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiUGxlYXNlIGVudGVyIHlvdXIgY3JlZGVudGlhbHNcIik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcblxyXG4gICAgdGhpcy5sb2dTZXJ2aWNlLmluZm8oXCJsb2dnaW5nIGluXCIpO1xyXG5cclxuICAgIHRoaXMuaXNQcm9jZXNzaW5nID0gdHJ1ZTtcclxuXHJcblxyXG4gICAgdGhpcy51c2VyLnVzZXJOYW1lID0gdGhpcy51c2VyLnVzZXJOYW1lXHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLkxvZ2luKHRoaXMudXNlcikuc3Vic2NyaWJlKChhcGlSZXNwb25zZTogQXBpUmVzcG9uc2UpID0+IHtcclxuXHJcbiAgICAgIHRoaXMuaXNQcm9jZXNzaW5nID0gZmFsc2U7XHJcblxyXG5cclxuICAgICAgaWYgKGFwaVJlc3BvbnNlLnN1Y2Nlc3MpIHtcclxuXHJcbiAgICAgICAgaWYgKGFwaVJlc3BvbnNlLmRhdGEuYXV0aFR5cGUgPT0gJ2xvY2FsJyAmJiAhdGhpcy5hcHBDb25maWcubG9jYWxBdXRoKSB7XHJcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiQ29udGFjdCBBZG1pbjogQXV0aGVudGljYXRpb24gVHlwZSBlcnJvclwiKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChhcGlSZXNwb25zZS5kYXRhLmF1dGhUeXBlID09ICdBRCcgJiYgIXRoaXMuYXBwQ29uZmlnLkFEQXV0aCkge1xyXG4gICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIkNvbnRhY3QgQWRtaW46IEF1dGhlbnRpY2F0aW9uIFR5cGUgZXJyb3JcIik7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5VcGRhdGVsb2dnZWRpbih0cnVlKTtcclxuXHJcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5VcGRhdGVUb2tlbihhcGlSZXNwb25zZS5kYXRhLnRva2VuKTtcclxuICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnN0b3JlKENvbnN0YW50cy5BVVRIX1RPS0VOLCBhcGlSZXNwb25zZS5kYXRhLnRva2VuKTtcclxuXHJcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5VcGRhdGVUb2tlbkV4cGlyZShhcGlSZXNwb25zZS5kYXRhLmV4cGlyYXRpb24pO1xyXG4gICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc3RvcmUoQ29uc3RhbnRzLkFVVEhfVE9LRU5fRVhQSVJFLCBhcGlSZXNwb25zZS5kYXRhLmV4cGlyYXRpb24pO1xyXG5cclxuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLlVwZGF0ZUN1cnJlbnRVc2VyKHRoaXMudXNlci51c2VyTmFtZSk7XHJcbiAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zdG9yZShDb25zdGFudHMuQVVUSF9VU0VSLCB0aGlzLnVzZXIudXNlck5hbWUpO1xyXG5cclxuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLnVwZGF0ZUxvZ2dlZFVzZXJGdWxsTmFtZShhcGlSZXNwb25zZS5kYXRhLmZpcnN0TmFtZSk7XHJcbiAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zdG9yZShDb25zdGFudHMuQVVUSF9OQU1FLCBhcGlSZXNwb25zZS5kYXRhLmZpcnN0TmFtZSk7XHJcblxyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UuVXBkYXRlUm9sZShhcGlSZXNwb25zZS5kYXRhLnJvbGUpO1xyXG4gICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc3RvcmUoQ29uc3RhbnRzLkFVVEhfUk9MRVMsIEpTT04uc3RyaW5naWZ5KGFwaVJlc3BvbnNlLmRhdGEucm9sZSkpO1xyXG5cclxuXHJcbiAgICAgICAgdGhpcy5sb2dTZXJ2aWNlLmluZm8oXCJsb2dnZWQgaW5cIik7XHJcblxyXG5cclxuICAgICAgICBpZiAoYXBpUmVzcG9uc2UuZGF0YS5jaGFuZ2VQYXNzd29yZCA9PSB0cnVlICYmIGFwaVJlc3BvbnNlLmRhdGEuYXV0aFR5cGUgPT0gJ2xvY2FsJykge1xyXG5cclxuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcImhvbWUvdXNlci9jaGFuZ2UtcGFzc3dvcmRcIl0sIHtcclxuICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHsgcmVkaXJlY3RUbzogdGhpcy5yZWRpcmVjdFBhdGggfSxcclxuICAgICAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJyxcclxuICAgICAgICAgICAgc2tpcExvY2F0aW9uQ2hhbmdlOiBmYWxzZVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICByZXR1cm5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLnJlZGlyZWN0UGF0aF0pO1xyXG5cclxuXHJcblxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJFcnJvcjogXCIgKyBhcGlSZXNwb25zZS5tZXNzYWdlKTtcclxuICAgICAgICB0aGlzLnVzZXIucGFzc3dvcmQgPSBcIlwiO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgICAoZXJyb3IpID0+IHtcclxuICAgICAgICB0aGlzLmlzUHJvY2Vzc2luZyA9IGZhbHNlO1xyXG5cclxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KHRoaXMuaHR0cFNlcnZpY2UuRXJyb3IoZXJyb3IpKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG5cclxufVxyXG4iLCJcclxuICA8ZGl2IGNsYXNzPVwidGluLWJnLWxvZ2luIGxvZ2luLXBhZ2VcIj5cclxuXHJcbiAgICA8ZGl2ICpuZ0lmPVwiYXBwQ29uZmlnLmxvZ28hPScnXCIgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciByb3cgYWxpZ24taXRlbXMtY2VudGVyXCIgc3R5bGU9XCJtYXJnaW4tdG9wOjNlbTttYXJnaW4tYm90dG9tOjFlbVwiPlxyXG5cclxuICAgICAgPGltZyAqbmdJZj1cImFwcENvbmZpZy5sb2dvU2l6ZT09J25vcm1hbCdcIiAgW3NyY109XCJhcHBDb25maWcubG9nb1wiIHN0eWxlPVwiaGVpZ2h0OjEwMHB4O21hcmdpbi1yaWdodDozZW07bWFyZ2luLWxlZnQ6M2VtXCIgLz5cclxuICAgICAgPGltZyAqbmdJZj1cImFwcENvbmZpZy5sb2dvU2l6ZT09J21lZGl1bSdcIiAgW3NyY109XCJhcHBDb25maWcubG9nb1wiIHN0eWxlPVwiaGVpZ2h0OjE1MHB4O21hcmdpbi1yaWdodDozZW07bWFyZ2luLWxlZnQ6M2VtXCIgLz5cclxuICAgICAgPGltZyAqbmdJZj1cImFwcENvbmZpZy5sb2dvU2l6ZT09J2xhcmdlJ1wiICBbc3JjXT1cImFwcENvbmZpZy5sb2dvXCIgc3R5bGU9XCJoZWlnaHQ6MjUwcHg7bWFyZ2luLXJpZ2h0OjNlbTttYXJnaW4tbGVmdDozZW1cIiAvPlxyXG5cclxuICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICA8ZGl2ICpuZ0lmPVwiYXBwQ29uZmlnLmxvZ28gPT0nJ1wiIHN0eWxlPVwibWFyZ2luLXRvcDoyZW1cIj5cclxuICAgICAgICA8IS0tIEFkZCBtYXJnaW4gdG9wIHdoZW4gdGhlcmUgaXMgbm8gbG9nbyAtLT5cclxuICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgcm93IGFsaWduLWl0ZW1zLWNlbnRlclwiIHN0eWxlPVwibWFyZ2luLXRvcDozZW1cIj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkLW5vbmUgZC1zbS1ibG9ja1wiPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgc3R5bGU9XCJtYXJnaW4tbGVmdDoxZW1cIj5cclxuXHJcbiAgICAgICAgPG1hdC1jYXJkIGNsYXNzPVwibWF0LWVsZXZhdGlvbi16M1wiIHN0eWxlPVwid2lkdGg6NDAwcHg7IFwiPlxyXG5cclxuICAgICAgICAgIDxtYXQtY2FyZC1oZWFkZXI+XHJcbiAgICAgICAgICAgIDxtYXQtY2FyZC10aXRsZT57e2FwcENvbmZpZy5hcHBOYW1lfX08L21hdC1jYXJkLXRpdGxlPlxyXG4gICAgICAgICAgPC9tYXQtY2FyZC1oZWFkZXI+XHJcblxyXG4gICAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGluLWlucHV0IG10LTJcIj5cclxuXHJcbiAgICAgICAgICAgICAgPHNwYS10ZXh0IGlkPVwidHh0dXNlck5hbWVcIiBkaXNwbGF5PVwiVXNlcm5hbWVcIiBbKHZhbHVlKV09XCJ1c2VyLnVzZXJOYW1lXCIgPjwvc3BhLXRleHQ+XHJcblxyXG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCA+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlBhc3N3b3JkPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJ0eHRQYXNzd29yZFwiIG1hdElucHV0IFt0eXBlXT1cImhpZGUgPyAncGFzc3dvcmQnIDogJ3RleHQnXCIgIChrZXl1cC5lbnRlcik9XCJsb2dpbigpXCIgWyhuZ01vZGVsKV09XCJ1c2VyLnBhc3N3b3JkXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gbWF0U3VmZml4IChjbGljayk9XCJoaWRlID0gIWhpZGVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidIaWRlIHBhc3N3b3JkJ1wiIFthdHRyLmFyaWEtcHJlc3NlZF09XCJoaWRlXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBzdHlsZT1cImZvbnQtc2l6ZTogMThweDtcIj57e2hpZGUgPyAndmlzaWJpbGl0eV9vZmYnIDogJ3Zpc2liaWxpdHknfX08L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cclxuXHJcblxyXG4gICAgICAgICAgPG1hdC1jYXJkLWFjdGlvbnM+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IFwiPlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGlkPVwiYnRuTG9naW5cIiAgbWF0LXJhaXNlZC1idXR0b24gW2Rpc2FibGVkXT1cImlzUHJvY2Vzc2luZ1wiIHN0eWxlPVwid2lkdGg6IDEwMHB4O1wiIChjbGljayk9XCJsb2dpbigpXCIgY29sb3I9XCJwcmltYXJ5XCI+TG9naW48L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbCBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiICpuZ0lmPVwiYXBwQ29uZmlnLnNlbGZTZXJ2aWNlXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGlkPVwiYnRuU2lnbnVwXCIgbWF0LXN0cm9rZWQtYnV0dG9uICBjb2xvcj1cInByaW1hcnlcIiBzdHlsZT1cIndpZHRoOiAxMDBweDtcIiAoY2xpY2spPVwic2lnbnVwKClcIj5TaWdudXA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDwvbWF0LWNhcmQtYWN0aW9ucz5cclxuXHJcbiAgICAgICAgPC9tYXQtY2FyZD5cclxuXHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImFwcENvbmZpZy5zZWxmU2VydmljZVwiPlxyXG4gICAgICAgICAgPGJyIC8+XHJcbiAgICAgICAgICA8YSBtYXQtYnV0dG9uIGlkPVwibG5rUmVjb3ZlclwiICBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAxZW1cIiAoY2xpY2spPVwicmVjb3ZlckFjY291bnQoKVwiPkZvcmdvdCB5b3VyIHBhc3N3b3JkID88L2E+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgPC9kaXY+XHJcblxyXG4iXX0=
|