exceladdincbms-v2 17.0.0 → 20.0.4
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/Pictures - Shortcut.lnk +0 -0
- package/fesm2022/{exceladdincbms.mjs → exceladdincbms-20.mjs} +64 -72
- package/fesm2022/exceladdincbms-20.mjs.map +1 -0
- package/index.d.ts +196 -5
- package/package.json +5 -7
- package/public_api.d.ts +2 -6
- package/src/lib/auth.service.ts +46 -0
- package/src/lib/base-app.service.ts +36 -0
- package/src/lib/bulk-tool.component.ts +20 -0
- package/src/lib/bulk-tool.module.ts +32 -0
- package/src/lib/constant.enum.ts +6 -0
- package/src/lib/environmentsModel.info.ts +14 -0
- package/src/lib/http-interceptor.ts +22 -0
- package/src/lib/login/login.component.css +103 -0
- package/src/lib/login/login.component.html +59 -0
- package/src/lib/login/login.component.ts +105 -0
- package/src/lib/materils/materils.module.ts +96 -0
- package/src/lib/menu/menu.component.css +388 -0
- package/src/lib/menu/menu.component.html +46 -0
- package/src/lib/menu/menu.component.ts +191 -0
- package/src/public_api.ts +14 -0
- package/esm2022/exceladdincbms.mjs +0 -5
- package/esm2022/lib/auth.service.mjs +0 -56
- package/esm2022/lib/base-app.service.mjs +0 -41
- package/esm2022/lib/bulk-tool.component.mjs +0 -22
- package/esm2022/lib/bulk-tool.module.mjs +0 -51
- package/esm2022/lib/constant.enum.mjs +0 -6
- package/esm2022/lib/environmentsModel.info.mjs +0 -3
- package/esm2022/lib/http-interceptor.mjs +0 -25
- package/esm2022/lib/login/login.component.mjs +0 -111
- package/esm2022/lib/materils/materils.module.mjs +0 -177
- package/esm2022/lib/menu/menu.component.mjs +0 -187
- package/esm2022/public_api.mjs +0 -10
- package/fesm2022/exceladdincbms.mjs.map +0 -1
- package/lib/auth.service.d.ts +0 -18
- package/lib/base-app.service.d.ts +0 -16
- package/lib/bulk-tool.component.d.ts +0 -8
- package/lib/bulk-tool.module.d.ts +0 -17
- package/lib/constant.enum.d.ts +0 -5
- package/lib/environmentsModel.info.d.ts +0 -9
- package/lib/http-interceptor.d.ts +0 -8
- package/lib/login/login.component.d.ts +0 -32
- package/lib/materils/materils.module.d.ts +0 -46
- package/lib/menu/menu.component.d.ts +0 -49
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import { Component, OnInit, ViewChild, Injectable, Injector } from '@angular/core';
|
|
2
|
+
import { AuthService } from '../auth.service';
|
|
3
|
+
import { Router, ActivatedRoute, RouterModule } from '@angular/router';
|
|
4
|
+
import { BaseAppService } from '../base-app.service'
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
export interface Menu {
|
|
8
|
+
displaytext: string;
|
|
9
|
+
displayorder: number;
|
|
10
|
+
menuId: number;
|
|
11
|
+
menulevel: number;
|
|
12
|
+
parentMenuId: number;
|
|
13
|
+
targetAction: string;
|
|
14
|
+
targetServer: string;
|
|
15
|
+
parentMenuName: string;
|
|
16
|
+
children: any[]
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
@Component({
|
|
20
|
+
selector: 'lib-menu',
|
|
21
|
+
templateUrl: './menu.component.html',
|
|
22
|
+
styleUrls: ['./menu.component.css'],
|
|
23
|
+
standalone: false
|
|
24
|
+
})
|
|
25
|
+
export class MenuComponent implements OnInit {
|
|
26
|
+
|
|
27
|
+
public async: any;
|
|
28
|
+
public MenuMode: string = "over";
|
|
29
|
+
public message = '';
|
|
30
|
+
public tooltext: any = "CBMS"
|
|
31
|
+
public menuName: string;
|
|
32
|
+
public childMenu: string;
|
|
33
|
+
public isLoading: boolean = false;
|
|
34
|
+
public userInfo: any;
|
|
35
|
+
public moduleNameFromExcel: string;
|
|
36
|
+
public IsPermissionExists: boolean = true;
|
|
37
|
+
public messages: string[] = [];
|
|
38
|
+
public MenuData: Menu[]
|
|
39
|
+
public RootUrl: string;
|
|
40
|
+
public menuFromExcel: any;
|
|
41
|
+
public navigateMsg: string;
|
|
42
|
+
public result: any;
|
|
43
|
+
constructor(private authenticationService: AuthService, private route: ActivatedRoute,
|
|
44
|
+
private router: Router, public injector: Injector, private baseAppService: BaseAppService) {
|
|
45
|
+
this.RootUrl = this.injector.get("config").rootUrl; //getting from environment file from application accessing BaseApp
|
|
46
|
+
this.menuName = this.injector.get("config").moduleName; //getting from environment file from application accessing BaseApp
|
|
47
|
+
this.userInfo = this.baseAppService.getUserInfo();
|
|
48
|
+
this.childMenu = localStorage.getItem("childMenu")
|
|
49
|
+
if (!this.userInfo) { //incase getUserInfo service fails.
|
|
50
|
+
let userDetails = localStorage.getItem("UserInfo");
|
|
51
|
+
this.userInfo = JSON.parse(userDetails);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
ngOnInit() {
|
|
55
|
+
console.log("Url came base from application -", window.location.href);
|
|
56
|
+
this.isLoading = true;
|
|
57
|
+
this.GetCBMSMenu();
|
|
58
|
+
|
|
59
|
+
}
|
|
60
|
+
public GetCBMSMenu() {
|
|
61
|
+
if (this.userInfo) {
|
|
62
|
+
this.authenticationService.GetMenu(this.userInfo.userInfoId).subscribe(data => {
|
|
63
|
+
this.MenuData = data;
|
|
64
|
+
this.isLoading = false;
|
|
65
|
+
if (this.MenuData) {
|
|
66
|
+
this.menuFromExcel = this.baseAppService.getmenuNameFromBudget()
|
|
67
|
+
console.log("MenuFromExcel", this.menuFromExcel);
|
|
68
|
+
if (!this.menuFromExcel) {
|
|
69
|
+
let CurrentMenu = data.find(e => e.parentMenuName == this.menuName) //Finding Which application Accessing BaseApp
|
|
70
|
+
this.tooltext = CurrentMenu ? CurrentMenu.parentMenuName : "CBMS";
|
|
71
|
+
console.log("Isdownload", this.userInfo.isDownload);
|
|
72
|
+
if (!this.userInfo.isDownload) {
|
|
73
|
+
if (CurrentMenu) {
|
|
74
|
+
if (CurrentMenu.children.length == 0) {
|
|
75
|
+
this.router.navigate([CurrentMenu.targetAction.split("app")[1]]);
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
if (this.childMenu) {
|
|
79
|
+
this.navigateToChildMenu(CurrentMenu)
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
this.router.navigate([CurrentMenu.children[0].targetAction.split("app")[1]]);
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
console.log("Redirecting to the First application in menu Tab")
|
|
89
|
+
this.navigateToAnotherMenu(this.MenuData[0]); // Redirecting to the First application in menu Tab
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
let menu = this.MenuData.find(e => e.displaytext == this.menuFromExcel)
|
|
95
|
+
if (menu) {
|
|
96
|
+
if (!this.childMenu) {
|
|
97
|
+
console.log("noChildMenu")
|
|
98
|
+
this.navigateToAnotherMenu(this.MenuData.find(e => e.displaytext == this.menuFromExcel));
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
console.log("childMenuThere")
|
|
102
|
+
this.navigateToChildMenu(this.MenuData.find(e => e.parentMenuName == this.menuName))
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
this.navigateToAnotherMenu(this.MenuData[0]);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
this.IsPermissionExists = false; //Notifing User that he or she doednot have permission if menuData is empty.
|
|
112
|
+
}
|
|
113
|
+
this.isLoading = false;
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
navigateToChildMenu(CurrentMenu) {
|
|
120
|
+
localStorage.removeItem("childMenu");
|
|
121
|
+
let childrenMenu = CurrentMenu.children.filter(e => e.displaytext == this.childMenu)
|
|
122
|
+
console.log("childrenMenu", childrenMenu);
|
|
123
|
+
if (childrenMenu.length > 0) {
|
|
124
|
+
this.router.navigate([childrenMenu[0].targetAction.split("app")[1]]);
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
this.router.navigate([CurrentMenu.targetAction.split("app")[1]]);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
listItemClick(link) {
|
|
133
|
+
this.isLoading = true;
|
|
134
|
+
if (link.parentMenuName == this.menuName) {
|
|
135
|
+
if (link.parentMenuId == 0) {
|
|
136
|
+
if (link.children.length > 0) {
|
|
137
|
+
console.log("navigationUrl", link.children[0].targetAction)
|
|
138
|
+
this.isLoading = false;
|
|
139
|
+
this.router.navigate([link.children[0].targetAction.split("app")[1]]);
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
console.log("navigationUrl", link.targetAction)
|
|
143
|
+
this.isLoading = false;
|
|
144
|
+
this.router.navigate([link.targetAction.split("app")[1]]);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
localStorage.setItem("childMenu", link.displaytext);
|
|
149
|
+
console.log("navigationUrl", link.targetAction)
|
|
150
|
+
this.isLoading = false;
|
|
151
|
+
this.router.navigate([link.targetAction.split("app")[1]]);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
this.isLoading = false;
|
|
156
|
+
this.navigateToAnotherMenu(link)
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
navigateToAnotherMenu(link) {
|
|
160
|
+
this.navigateMsg = "...Redirecting to " + link.parentMenuName
|
|
161
|
+
let navLink = link.targetAction
|
|
162
|
+
navLink = link.targetAction.split("app")[0] + "app"
|
|
163
|
+
if (link.parentMenuId != 0) {
|
|
164
|
+
localStorage.setItem("childMenu", link.displaytext);
|
|
165
|
+
}
|
|
166
|
+
this.isLoading = false;
|
|
167
|
+
localStorage.setItem("IsNavigate", "true");
|
|
168
|
+
let navigateUrl = this.navigateUrl(navLink)
|
|
169
|
+
console.log("navigating to", link.displaytext)
|
|
170
|
+
window.location.assign(navigateUrl);
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
navigateUrl(Url: string) {
|
|
174
|
+
let replacements = Url.match(/\{.*?\}/g);
|
|
175
|
+
let value = "";
|
|
176
|
+
if (replacements) {
|
|
177
|
+
replacements.forEach(element => {
|
|
178
|
+
if (element == "{userId}") {
|
|
179
|
+
value = this.userInfo.userInfoId;
|
|
180
|
+
}
|
|
181
|
+
Url = Url.replace(element, value);
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
return this.RootUrl + Url;
|
|
185
|
+
}
|
|
186
|
+
onLogOut() {
|
|
187
|
+
this.authenticationService.logout();
|
|
188
|
+
this.router.navigate(["/login"]);
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of bulk-tool
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
export * from './lib/auth.service';
|
|
6
|
+
export * from './lib/base-app.service';
|
|
7
|
+
export * from './lib/bulk-tool.component';
|
|
8
|
+
export * from './lib/bulk-tool.module';
|
|
9
|
+
export * from './lib/constant.enum';
|
|
10
|
+
export * from './lib/environmentsModel.info';
|
|
11
|
+
export * from './lib/http-interceptor';
|
|
12
|
+
export * from './lib/login/login.component';
|
|
13
|
+
export * from './lib/menu/menu.component';
|
|
14
|
+
export * from './lib/materils/materils.module';
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public_api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWxhZGRpbmNibXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9idWxrLXRvb2wvc3JjL2V4Y2VsYWRkaW5jYm1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { Injectable, Injector } from '@angular/core';
|
|
2
|
-
import { HttpClient } from '@angular/common/http';
|
|
3
|
-
import { map } from 'rxjs';
|
|
4
|
-
import { BaseAppService } from './base-app.service';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common/http";
|
|
7
|
-
import * as i2 from "./base-app.service";
|
|
8
|
-
export class AuthService {
|
|
9
|
-
http;
|
|
10
|
-
injector;
|
|
11
|
-
baseAppService;
|
|
12
|
-
API_ENDPOINT;
|
|
13
|
-
menuName;
|
|
14
|
-
//private RM_ENDPOINT = this.injector.get("config").apiBaseUrl;
|
|
15
|
-
//private headers = new Headers({ 'Content-Type': 'application/x-www-form-urlencoded' });
|
|
16
|
-
constructor(http, injector, baseAppService) {
|
|
17
|
-
this.http = http;
|
|
18
|
-
this.injector = injector;
|
|
19
|
-
this.baseAppService = baseAppService;
|
|
20
|
-
this.API_ENDPOINT = this.injector.get("config").baseAppApiUrl;
|
|
21
|
-
this.menuName = this.injector.get("config").moduleName;
|
|
22
|
-
}
|
|
23
|
-
//private postheaders = new Headers({'Content-Type': 'application/json'});
|
|
24
|
-
login(username, password) {
|
|
25
|
-
return this.http.post(this.API_ENDPOINT + "/Login", { username, password })
|
|
26
|
-
.pipe(map(user => {
|
|
27
|
-
if (user.status != "Invalid") {
|
|
28
|
-
console.log(user);
|
|
29
|
-
localStorage.clear();
|
|
30
|
-
localStorage.setItem('UserInfo', JSON.stringify(user));
|
|
31
|
-
this.baseAppService.setUserInfo(user);
|
|
32
|
-
}
|
|
33
|
-
return user;
|
|
34
|
-
}));
|
|
35
|
-
}
|
|
36
|
-
logout() {
|
|
37
|
-
this.baseAppService.clearData();
|
|
38
|
-
localStorage.clear();
|
|
39
|
-
}
|
|
40
|
-
GetMenu(userId) {
|
|
41
|
-
return this.http.get(this.API_ENDPOINT + '/userMenus?userId=' + userId + '&menu=' + this.menuName)
|
|
42
|
-
.pipe(map(res => {
|
|
43
|
-
this.baseAppService.setUserMenus(res);
|
|
44
|
-
return res;
|
|
45
|
-
}));
|
|
46
|
-
}
|
|
47
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthService, deps: [{ token: i1.HttpClient }, { token: i0.Injector }, { token: i2.BaseAppService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
48
|
-
/** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthService, providedIn: 'root' });
|
|
49
|
-
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthService, decorators: [{
|
|
51
|
-
type: Injectable,
|
|
52
|
-
args: [{
|
|
53
|
-
providedIn: 'root'
|
|
54
|
-
}]
|
|
55
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i0.Injector }, { type: i2.BaseAppService }] });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYnVsay10b29sL3NyYy9saWIvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTs7OztBQU1uRCxNQUFNLE9BQU8sV0FBVztJQUtBO0lBQXlCO0lBQTRCO0lBSmpFLFlBQVksQ0FBUztJQUNyQixRQUFRLENBQVM7SUFDekIsK0RBQStEO0lBQy9ELHlGQUF5RjtJQUN6RixZQUFvQixJQUFnQixFQUFTLFFBQWtCLEVBQVUsY0FBOEI7UUFBbkYsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFTLGFBQVEsR0FBUixRQUFRLENBQVU7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDbkcsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDOUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxVQUFVLENBQUM7SUFDM0QsQ0FBQztJQUVELDBFQUEwRTtJQUMxRSxLQUFLLENBQUMsUUFBZ0IsRUFBRSxRQUFnQjtRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFNLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDO2FBQzNFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDYixJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksU0FBUyxFQUFFLENBQUM7Z0JBQzNCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2xCLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDckIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUN2RCxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMxQyxDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNaLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNoQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVNLE9BQU8sQ0FBQyxNQUFNO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxvQkFBb0IsR0FBRyxNQUFNLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7YUFDN0YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNaLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RDLE9BQU8sR0FBRyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNaLENBQUM7MkhBbkNRLFdBQVc7K0hBQVgsV0FBVyxjQUZSLE1BQU07OzRGQUVULFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEJhc2VBcHBTZXJ2aWNlIH0gZnJvbSAnLi9iYXNlLWFwcC5zZXJ2aWNlJ1xyXG5cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXV0aFNlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSBBUElfRU5EUE9JTlQ6IHN0cmluZztcclxuICAgIHByaXZhdGUgbWVudU5hbWU6IHN0cmluZztcclxuICAgIC8vcHJpdmF0ZSBSTV9FTkRQT0lOVCA9IHRoaXMuaW5qZWN0b3IuZ2V0KFwiY29uZmlnXCIpLmFwaUJhc2VVcmw7XHJcbiAgICAvL3ByaXZhdGUgaGVhZGVycyA9IG5ldyBIZWFkZXJzKHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnIH0pO1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwdWJsaWMgaW5qZWN0b3I6IEluamVjdG9yLCBwcml2YXRlIGJhc2VBcHBTZXJ2aWNlOiBCYXNlQXBwU2VydmljZSkge1xyXG4gICAgICAgIHRoaXMuQVBJX0VORFBPSU5UID0gdGhpcy5pbmplY3Rvci5nZXQoXCJjb25maWdcIikuYmFzZUFwcEFwaVVybDtcclxuICAgICAgICB0aGlzLm1lbnVOYW1lID0gdGhpcy5pbmplY3Rvci5nZXQoXCJjb25maWdcIikubW9kdWxlTmFtZTtcclxuICAgIH1cclxuXHJcbiAgICAvL3ByaXZhdGUgcG9zdGhlYWRlcnMgPSBuZXcgSGVhZGVycyh7J0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ30pO1xyXG4gICAgbG9naW4odXNlcm5hbWU6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4odGhpcy5BUElfRU5EUE9JTlQgKyBcIi9Mb2dpblwiLCB7IHVzZXJuYW1lLCBwYXNzd29yZCB9KVxyXG4gICAgICAgICAgICAucGlwZShtYXAodXNlciA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAodXNlci5zdGF0dXMgIT0gXCJJbnZhbGlkXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyh1c2VyKTtcclxuICAgICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2UuY2xlYXIoKTtcclxuICAgICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnVXNlckluZm8nLCBKU09OLnN0cmluZ2lmeSh1c2VyKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iYXNlQXBwU2VydmljZS5zZXRVc2VySW5mbyh1c2VyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiB1c2VyO1xyXG4gICAgICAgICAgICB9KSk7XHJcbiAgICB9XHJcblxyXG4gICAgbG9nb3V0KCkge1xyXG4gICAgICAgIHRoaXMuYmFzZUFwcFNlcnZpY2UuY2xlYXJEYXRhKCk7XHJcbiAgICAgICAgbG9jYWxTdG9yYWdlLmNsZWFyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIEdldE1lbnUodXNlcklkKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLkFQSV9FTkRQT0lOVCArICcvdXNlck1lbnVzP3VzZXJJZD0nICsgdXNlcklkICsgJyZtZW51PScgKyB0aGlzLm1lbnVOYW1lKVxyXG4gICAgICAgICAgICAucGlwZShtYXAocmVzID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmFzZUFwcFNlcnZpY2Uuc2V0VXNlck1lbnVzKHJlcyk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzO1xyXG4gICAgICAgICAgICB9KSk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class BaseAppService {
|
|
4
|
-
userInfo;
|
|
5
|
-
userMenus;
|
|
6
|
-
menuName;
|
|
7
|
-
getUserInfo() {
|
|
8
|
-
return this.userInfo;
|
|
9
|
-
}
|
|
10
|
-
setUserInfo(value) {
|
|
11
|
-
this.userInfo = value;
|
|
12
|
-
}
|
|
13
|
-
removeUserInfo() {
|
|
14
|
-
this.userInfo = null;
|
|
15
|
-
}
|
|
16
|
-
setUserMenus(data) {
|
|
17
|
-
this.userMenus = data;
|
|
18
|
-
}
|
|
19
|
-
getUserMenus() {
|
|
20
|
-
return this.userMenus;
|
|
21
|
-
}
|
|
22
|
-
clearData() {
|
|
23
|
-
this.userInfo = undefined;
|
|
24
|
-
this.userMenus = undefined;
|
|
25
|
-
}
|
|
26
|
-
setmenuNameFromBudget(name) {
|
|
27
|
-
this.menuName = name;
|
|
28
|
-
}
|
|
29
|
-
getmenuNameFromBudget() {
|
|
30
|
-
return this.menuName;
|
|
31
|
-
}
|
|
32
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaseAppService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
33
|
-
/** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaseAppService, providedIn: 'root' });
|
|
34
|
-
}
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaseAppService, decorators: [{
|
|
36
|
-
type: Injectable,
|
|
37
|
-
args: [{
|
|
38
|
-
providedIn: 'root'
|
|
39
|
-
}]
|
|
40
|
-
}] });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1hcHAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J1bGstdG9vbC9zcmMvbGliL2Jhc2UtYXBwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLGNBQWM7SUFFakIsUUFBUSxDQUFNO0lBQ2QsU0FBUyxDQUFNO0lBQ2YsUUFBUSxDQUFLO0lBQ3JCLFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUNELFdBQVcsQ0FBQyxLQUFLO1FBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUNELGNBQWM7UUFDWixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUN2QixDQUFDO0lBQ0QsWUFBWSxDQUFDLElBQUk7UUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUN4QixDQUFDO0lBQ0QsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsU0FBUztRQUNQLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDO1FBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFDRCxxQkFBcUIsQ0FBQyxJQUFJO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFBO0lBQ3RCLENBQUM7SUFDRCxxQkFBcUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFBO0lBQ3RCLENBQUM7MkhBN0JVLGNBQWM7K0hBQWQsY0FBYyxjQUZiLE1BQU07OzRGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFzZUFwcFNlcnZpY2Uge1xyXG5cclxuICBwcml2YXRlIHVzZXJJbmZvOiBhbnk7XHJcbiAgcHJpdmF0ZSB1c2VyTWVudXM6IGFueTtcclxuICBwcml2YXRlIG1lbnVOYW1lOiBhbnlcclxuICBnZXRVc2VySW5mbygpIHtcclxuICAgIHJldHVybiB0aGlzLnVzZXJJbmZvO1xyXG4gIH1cclxuICBzZXRVc2VySW5mbyh2YWx1ZSkge1xyXG4gICAgdGhpcy51c2VySW5mbyA9IHZhbHVlO1xyXG4gIH1cclxuICByZW1vdmVVc2VySW5mbygpIHtcclxuICAgIHRoaXMudXNlckluZm8gPSBudWxsO1xyXG4gIH1cclxuICBzZXRVc2VyTWVudXMoZGF0YSkge1xyXG4gICAgdGhpcy51c2VyTWVudXMgPSBkYXRhO1xyXG4gIH1cclxuICBnZXRVc2VyTWVudXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy51c2VyTWVudXM7XHJcbiAgfVxyXG4gIGNsZWFyRGF0YSgpIHtcclxuICAgIHRoaXMudXNlckluZm8gPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnVzZXJNZW51cyA9IHVuZGVmaW5lZDtcclxuICB9XHJcbiAgc2V0bWVudU5hbWVGcm9tQnVkZ2V0KG5hbWUpIHtcclxuICAgIHRoaXMubWVudU5hbWUgPSBuYW1lXHJcbiAgfVxyXG4gIGdldG1lbnVOYW1lRnJvbUJ1ZGdldCgpIHtcclxuICAgIHJldHVybiB0aGlzLm1lbnVOYW1lXHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class BulkToolComponent {
|
|
4
|
-
constructor() { }
|
|
5
|
-
ngOnInit() {
|
|
6
|
-
}
|
|
7
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BulkToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: BulkToolComponent, selector: "lib-BulkTool", ngImport: i0, template: `
|
|
9
|
-
<p>
|
|
10
|
-
bulk-tool works!
|
|
11
|
-
</p>
|
|
12
|
-
`, isInline: true });
|
|
13
|
-
}
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BulkToolComponent, decorators: [{
|
|
15
|
-
type: Component,
|
|
16
|
-
args: [{ selector: 'lib-BulkTool', template: `
|
|
17
|
-
<p>
|
|
18
|
-
bulk-tool works!
|
|
19
|
-
</p>
|
|
20
|
-
` }]
|
|
21
|
-
}], ctorParameters: () => [] });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J1bGstdG9vbC9zcmMvbGliL2J1bGstdG9vbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7QUFXbEQsTUFBTSxPQUFPLGlCQUFpQjtJQUU1QixnQkFBZ0IsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQzsySEFMVSxpQkFBaUI7K0dBQWpCLGlCQUFpQixvREFQbEI7Ozs7R0FJVDs7NEZBR1UsaUJBQWlCO2tCQVQ3QixTQUFTOytCQUNFLGNBQWMsWUFDZDs7OztHQUlUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLUJ1bGtUb29sJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPHA+XHJcbiAgICAgIGJ1bGstdG9vbCB3b3JrcyFcclxuICAgIDwvcD5cclxuICBgLFxyXG4gIHN0eWxlczogW11cclxufSlcclxuZXhwb3J0IGNsYXNzIEJ1bGtUb29sQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { BulkToolComponent } from './bulk-tool.component';
|
|
3
|
-
import { LoginComponent } from './login/login.component';
|
|
4
|
-
import { MaterilsModule } from './materils/materils.module';
|
|
5
|
-
import { MenuComponent } from './menu/menu.component';
|
|
6
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
7
|
-
import { CommonModule } from '@angular/common';
|
|
8
|
-
import { RouterModule } from '@angular/router';
|
|
9
|
-
import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
10
|
-
import { HttpLibInterceptor } from './http-interceptor';
|
|
11
|
-
import { AuthService } from './auth.service';
|
|
12
|
-
import { BaseAppService } from './base-app.service';
|
|
13
|
-
import * as i0 from "@angular/core";
|
|
14
|
-
export class BulkToolModule {
|
|
15
|
-
static forRoot(config) {
|
|
16
|
-
return {
|
|
17
|
-
ngModule: BulkToolModule,
|
|
18
|
-
providers: [{ provide: 'config', useValue: config }, BaseAppService]
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BulkToolModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
22
|
-
/** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: BulkToolModule, declarations: [BulkToolComponent, LoginComponent, MenuComponent], imports: [MaterilsModule,
|
|
23
|
-
FormsModule,
|
|
24
|
-
CommonModule,
|
|
25
|
-
RouterModule,
|
|
26
|
-
ReactiveFormsModule,
|
|
27
|
-
HttpClientModule], exports: [BulkToolComponent, LoginComponent, MenuComponent] });
|
|
28
|
-
/** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BulkToolModule, providers: [{ provide: HTTP_INTERCEPTORS, useClass: HttpLibInterceptor, multi: true }, AuthService, BaseAppService], imports: [MaterilsModule,
|
|
29
|
-
FormsModule,
|
|
30
|
-
CommonModule,
|
|
31
|
-
RouterModule,
|
|
32
|
-
ReactiveFormsModule,
|
|
33
|
-
HttpClientModule] });
|
|
34
|
-
}
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BulkToolModule, decorators: [{
|
|
36
|
-
type: NgModule,
|
|
37
|
-
args: [{
|
|
38
|
-
imports: [
|
|
39
|
-
MaterilsModule,
|
|
40
|
-
FormsModule,
|
|
41
|
-
CommonModule,
|
|
42
|
-
RouterModule,
|
|
43
|
-
ReactiveFormsModule,
|
|
44
|
-
HttpClientModule,
|
|
45
|
-
],
|
|
46
|
-
declarations: [BulkToolComponent, LoginComponent, MenuComponent],
|
|
47
|
-
exports: [BulkToolComponent, LoginComponent, MenuComponent],
|
|
48
|
-
providers: [{ provide: HTTP_INTERCEPTORS, useClass: HttpLibInterceptor, multi: true }, AuthService, BaseAppService]
|
|
49
|
-
}]
|
|
50
|
-
}] });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay10b29sLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J1bGstdG9vbC9zcmMvbGliL2J1bGstdG9vbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFrQnBELE1BQU0sT0FBTyxjQUFjO0lBQ3pCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBeUI7UUFDdEMsT0FBTztZQUNMLFFBQVEsRUFBRSxjQUFjO1lBQ3hCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBQUUsY0FBYyxDQUFDO1NBQ3JFLENBQUM7SUFDSixDQUFDOzJIQU5VLGNBQWM7NEhBQWQsY0FBYyxpQkFKVixpQkFBaUIsRUFBRSxjQUFjLEVBQUUsYUFBYSxhQVA3RCxjQUFjO1lBQ2QsV0FBVztZQUNYLFlBQVk7WUFDWixZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLGdCQUFnQixhQUdSLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxhQUFhOzRIQUcvQyxjQUFjLGFBRmQsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFLFdBQVcsRUFBRSxjQUFjLENBQUMsWUFUakgsY0FBYztZQUNkLFdBQVc7WUFDWCxZQUFZO1lBQ1osWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixnQkFBZ0I7OzRGQU1QLGNBQWM7a0JBYjFCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLGNBQWM7d0JBQ2QsV0FBVzt3QkFDWCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixnQkFBZ0I7cUJBQ2pCO29CQUNELFlBQVksRUFBRSxDQUFDLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxhQUFhLENBQUM7b0JBQ2hFLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxhQUFhLENBQUM7b0JBQzNELFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsV0FBVyxFQUFFLGNBQWMsQ0FBQztpQkFDcEgiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCdWxrVG9vbENvbXBvbmVudCB9IGZyb20gJy4vYnVsay10b29sLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExvZ2luQ29tcG9uZW50IH0gZnJvbSAnLi9sb2dpbi9sb2dpbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXRlcmlsc01vZHVsZSB9IGZyb20gJy4vbWF0ZXJpbHMvbWF0ZXJpbHMubW9kdWxlJztcclxuaW1wb3J0IHsgTWVudUNvbXBvbmVudCB9IGZyb20gJy4vbWVudS9tZW51LmNvbXBvbmVudCc7XHJcblxyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSwgSFRUUF9JTlRFUkNFUFRPUlMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEh0dHBMaWJJbnRlcmNlcHRvciB9IGZyb20gJy4vaHR0cC1pbnRlcmNlcHRvcic7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCYXNlQXBwU2VydmljZSB9IGZyb20gJy4vYmFzZS1hcHAuc2VydmljZSc7XHJcbmltcG9ydCB7IElFbnZpcm9ubWVudHNJbmZvIH0gZnJvbSAnLi4vbGliL2Vudmlyb25tZW50c01vZGVsLmluZm8nO1xyXG5cclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIE1hdGVyaWxzTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSb3V0ZXJNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgSHR0cENsaWVudE1vZHVsZSxcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW0J1bGtUb29sQ29tcG9uZW50LCBMb2dpbkNvbXBvbmVudCwgTWVudUNvbXBvbmVudF0sXHJcbiAgZXhwb3J0czogW0J1bGtUb29sQ29tcG9uZW50LCBMb2dpbkNvbXBvbmVudCwgTWVudUNvbXBvbmVudF0sXHJcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUywgdXNlQ2xhc3M6IEh0dHBMaWJJbnRlcmNlcHRvciwgbXVsdGk6IHRydWUgfSwgQXV0aFNlcnZpY2UsIEJhc2VBcHBTZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQnVsa1Rvb2xNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZzogSUVudmlyb25tZW50c0luZm8pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEJ1bGtUb29sTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogQnVsa1Rvb2xNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogJ2NvbmZpZycsIHVzZVZhbHVlOiBjb25maWcgfSwgQmFzZUFwcFNlcnZpY2VdXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export const Constant = {
|
|
2
|
-
APPSERVICEURL: 'https://localhost:44348/api',
|
|
3
|
-
APPSERVICEPRODURL: 'https://tk4addin.dev.summitenergy.com/appservices/api',
|
|
4
|
-
INVALID: "Invalid Username or Password"
|
|
5
|
-
};
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnQuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J1bGstdG9vbC9zcmMvbGliL2NvbnN0YW50LmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHO0lBQ3BCLGFBQWEsRUFBRSw2QkFBNkI7SUFDNUMsaUJBQWlCLEVBQUUsdURBQXVEO0lBRTFFLE9BQU8sRUFBRSw4QkFBOEI7Q0FDMUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBDb25zdGFudCA9IHtcclxuICAgIEFQUFNFUlZJQ0VVUkw6ICdodHRwczovL2xvY2FsaG9zdDo0NDM0OC9hcGknLFxyXG4gICAgQVBQU0VSVklDRVBST0RVUkw6ICdodHRwczovL3RrNGFkZGluLmRldi5zdW1taXRlbmVyZ3kuY29tL2FwcHNlcnZpY2VzL2FwaScsXHJcblxyXG4gICAgSU5WQUxJRDogXCJJbnZhbGlkIFVzZXJuYW1lIG9yIFBhc3N3b3JkXCJcclxufVxyXG4iXX0=
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
;
|
|
2
|
-
export {};
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnRzTW9kZWwuaW5mby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J1bGstdG9vbC9zcmMvbGliL2Vudmlyb25tZW50c01vZGVsLmluZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBYUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGV4cG9ydCBpbnRlcmZhY2UgSUVudmlyb25tZW50c0luZm8ge1xyXG4vLyAgICAgYmFzZUFwcEFwaVVybDogc3RyaW5nLFxyXG4vLyAgICAgcm9vdFVybDogc3RyaW5nLFxyXG4vLyAgICAgbW9kdWxlTmFtZTogc3RyaW5nXHJcbi8vIH1cclxuZXhwb3J0IGludGVyZmFjZSBJRW52aXJvbm1lbnRzSW5mbyAge1xyXG4gIHByb2R1Y3Rpb246IHRydWUsXHJcbiAgYmFzZUFwcEFwaVVybDogc3RyaW5nLFxyXG4gIHJvb3RVcmw6IHN0cmluZyxcclxuICBtb2R1bGVOYW1lOiBzdHJpbmcsXHJcbiAgTWVudU5hbWU/OiBcIkJ1ZGdldFwiLFxyXG4gIFVybD86IHN0cmluZyxcclxuICBSb290VXJsPzogc3RyaW5nLFxyXG59OyJdfQ==
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class HttpLibInterceptor {
|
|
4
|
-
intercept(request, newRequest) {
|
|
5
|
-
// add authorization header to request
|
|
6
|
-
//Get Token data from local storage
|
|
7
|
-
//let tokenInfo = JSON.parse(localStorage.getItem('TokenInfo'));
|
|
8
|
-
// if (tokenInfo && tokenInfo.token) {
|
|
9
|
-
// request = request.clone({
|
|
10
|
-
// setHeaders: {
|
|
11
|
-
// Authorization: `Bearer ${tokenInfo.token}`,
|
|
12
|
-
// "Content-Type": 'application/json'
|
|
13
|
-
// }
|
|
14
|
-
// });
|
|
15
|
-
// }
|
|
16
|
-
console.log(request);
|
|
17
|
-
return newRequest.handle(request);
|
|
18
|
-
}
|
|
19
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HttpLibInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
20
|
-
/** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HttpLibInterceptor });
|
|
21
|
-
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HttpLibInterceptor, decorators: [{
|
|
23
|
-
type: Injectable
|
|
24
|
-
}] });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J1bGstdG9vbC9zcmMvbGliL2h0dHAtaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJM0MsTUFBTSxPQUFPLGtCQUFrQjtJQUMzQixTQUFTLENBQUMsT0FBeUIsRUFBRSxVQUF1QjtRQUN4RCxzQ0FBc0M7UUFDdEMsbUNBQW1DO1FBQ25DLGdFQUFnRTtRQUVoRSxzQ0FBc0M7UUFDdEMsOEJBQThCO1FBQzlCLG9CQUFvQjtRQUNwQixvREFBb0Q7UUFDcEQsMkNBQTJDO1FBQzNDLFFBQVE7UUFDUixRQUFRO1FBQ1IsSUFBSTtRQUNKLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckIsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7MkhBaEJRLGtCQUFrQjsrSEFBbEIsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdCwgSHR0cEhhbmRsZXIsIEh0dHBFdmVudCwgSHR0cEludGVyY2VwdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEh0dHBMaWJJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XHJcbiAgICBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgbmV3UmVxdWVzdDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XHJcbiAgICAgICAgLy8gYWRkIGF1dGhvcml6YXRpb24gaGVhZGVyIHRvIHJlcXVlc3RcclxuICAgICAgICAvL0dldCBUb2tlbiBkYXRhIGZyb20gbG9jYWwgc3RvcmFnZVxyXG4gICAgICAgIC8vbGV0IHRva2VuSW5mbyA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ1Rva2VuSW5mbycpKTtcclxuXHJcbiAgICAgICAgLy8gaWYgKHRva2VuSW5mbyAmJiB0b2tlbkluZm8udG9rZW4pIHtcclxuICAgICAgICAvLyAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHtcclxuICAgICAgICAvLyAgICAgc2V0SGVhZGVyczoge1xyXG4gICAgICAgIC8vICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbkluZm8udG9rZW59YCxcclxuICAgICAgICAvLyAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiAnYXBwbGljYXRpb24vanNvbidcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vICAgfSk7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIGNvbnNvbGUubG9nKHJlcXVlc3QpO1xyXG4gICAgICAgIHJldHVybiBuZXdSZXF1ZXN0LmhhbmRsZShyZXF1ZXN0KTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { Location } from "@angular/common";
|
|
3
|
-
import { Router, ActivatedRoute } from '@angular/router';
|
|
4
|
-
import { FormBuilder, Validators } from '@angular/forms';
|
|
5
|
-
import { first } from 'rxjs/operators';
|
|
6
|
-
import { Constant } from '../constant.enum';
|
|
7
|
-
import { AuthService } from '../auth.service';
|
|
8
|
-
import { BaseAppService } from '../base-app.service';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "@angular/forms";
|
|
11
|
-
import * as i2 from "@angular/router";
|
|
12
|
-
import * as i3 from "@angular/common";
|
|
13
|
-
import * as i4 from "../auth.service";
|
|
14
|
-
import * as i5 from "../base-app.service";
|
|
15
|
-
import * as i6 from "@angular/material/button";
|
|
16
|
-
import * as i7 from "@angular/material/icon";
|
|
17
|
-
import * as i8 from "@angular/material/input";
|
|
18
|
-
import * as i9 from "@angular/material/form-field";
|
|
19
|
-
import * as i10 from "@angular/material/progress-spinner";
|
|
20
|
-
export class LoginComponent {
|
|
21
|
-
formBuilder;
|
|
22
|
-
route;
|
|
23
|
-
router;
|
|
24
|
-
location;
|
|
25
|
-
authenticationService;
|
|
26
|
-
baseAppService;
|
|
27
|
-
isLoading = false;
|
|
28
|
-
routeUrl;
|
|
29
|
-
loginForm;
|
|
30
|
-
submitted = false;
|
|
31
|
-
returnUrl;
|
|
32
|
-
error = '';
|
|
33
|
-
userInfo;
|
|
34
|
-
constructor(formBuilder, route, router, location, authenticationService, baseAppService) {
|
|
35
|
-
this.formBuilder = formBuilder;
|
|
36
|
-
this.route = route;
|
|
37
|
-
this.router = router;
|
|
38
|
-
this.location = location;
|
|
39
|
-
this.authenticationService = authenticationService;
|
|
40
|
-
this.baseAppService = baseAppService;
|
|
41
|
-
let userObject = localStorage.getItem("UserInfo");
|
|
42
|
-
this.userInfo = JSON.parse(userObject);
|
|
43
|
-
this.baseAppService.setUserInfo(this.userInfo);
|
|
44
|
-
}
|
|
45
|
-
isvalidUser = true;
|
|
46
|
-
ngOnInit() {
|
|
47
|
-
this.loginForm = this.formBuilder.group({
|
|
48
|
-
username: ['', Validators.required],
|
|
49
|
-
password: ['', Validators.required]
|
|
50
|
-
});
|
|
51
|
-
this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || this.routeUrl;
|
|
52
|
-
//Checking User already logged in or not
|
|
53
|
-
let isNavigate = localStorage.getItem("IsNavigate");
|
|
54
|
-
if (this.location.path() !== '' && this.location.path().indexOf('UserId') !== -1) {
|
|
55
|
-
let userId = this.location.path().split('?')[1].split('UserId=')[1];
|
|
56
|
-
if (userId == this.userInfo.userInfoId) {
|
|
57
|
-
this.router.navigate([this.returnUrl]);
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
else if (JSON.parse(isNavigate) == true) {
|
|
62
|
-
if (this.userInfo) {
|
|
63
|
-
console.log("Login After naviagtion-", this.returnUrl);
|
|
64
|
-
localStorage.removeItem("IsNavigate");
|
|
65
|
-
this.router.navigate([this.returnUrl]);
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
get formsData() { return this.loginForm.controls; }
|
|
71
|
-
onLogin() {
|
|
72
|
-
this.submitted = true;
|
|
73
|
-
this.isLoading = true;
|
|
74
|
-
// stop here if form is invalid
|
|
75
|
-
if (this.loginForm.invalid) {
|
|
76
|
-
this.isLoading = false;
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
//this.submitClick = true;
|
|
80
|
-
this.authenticationService.login(this.formsData.username.value, this.formsData.password.value)
|
|
81
|
-
.pipe(first())
|
|
82
|
-
.subscribe(data => {
|
|
83
|
-
console.log(data.status);
|
|
84
|
-
if (data.status === "InValid") {
|
|
85
|
-
this.isLoading = false;
|
|
86
|
-
this.isvalidUser = false;
|
|
87
|
-
this.error = Constant.INVALID;
|
|
88
|
-
this.router.navigate(["/login"]);
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
console.log("Login Success-", this.returnUrl);
|
|
92
|
-
this.isLoading = false;
|
|
93
|
-
this.router.navigate([this.returnUrl]);
|
|
94
|
-
}
|
|
95
|
-
}, error => {
|
|
96
|
-
this.isLoading = false;
|
|
97
|
-
this.error = Constant.INVALID;
|
|
98
|
-
this.router.navigate(["/login"]);
|
|
99
|
-
//this.submitClick = true;
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LoginComponent, deps: [{ token: i1.FormBuilder }, { token: i2.ActivatedRoute }, { token: i2.Router }, { token: i3.Location }, { token: i4.AuthService }, { token: i5.BaseAppService }], target: i0.ɵɵFactoryTarget.Component });
|
|
103
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LoginComponent, selector: "lib-login", inputs: { routeUrl: "routeUrl" }, ngImport: i0, template: "\r\n<div class=\"container\">\r\n <div class=\"loginForm\">\r\n <div class=\"example-sidenav-content\">\r\n <div class=\"loginWidget\">\r\n <form [formGroup]=\"loginForm\" >\r\n <h2>Login</h2>\r\n <div> </div>\r\n <div class=\"form-group\">\r\n <!-- <label for=\"username\">Username</label> -->\r\n <!-- <input type=\"text\" formControlName=\"username\" class=\"form-control\"\r\n [ngClass]=\"{ 'is-invalid': submitted && formsData.username.errors }\" /> -->\r\n <mat-form-field class=\"example-full-width\" color=\"primary\">\r\n <mat-label>Enter Username</mat-label>\r\n <input class=\"toolbar-search bxForm\" formControlName=\"username\" type=\"text\" matInput >\r\n <!-- <mat-icon matSuffix style=\"font-size: 1.2em\"></mat-icon> -->\r\n </mat-form-field>\r\n <!-- <div *ngIf=\"submitted && formsData.username.errors\" class=\"invalid-feedback\">\r\n <div *ngIf=\"formsData.username.errors.required\">Username is required</div>\r\n </div> -->\r\n </div>\r\n <div class=\"form-group\">\r\n <!-- <label for=\"password\">Password</label> -->\r\n <!-- <input type=\"password\" formControlName=\"password\" class=\"form-control\"\r\n [ngClass]=\"{ 'is-invalid': submitted && formsData.password.errors }\" /> -->\r\n <mat-form-field class=\"example-full-width\" color=\"primary\">\r\n <mat-label>Enter Password</mat-label>\r\n <input class=\"toolbar-search\" formControlName=\"password\" type=\"password\" matInput >\r\n <mat-icon matSuffix style=\"font-size:12px\"></mat-icon>\r\n </mat-form-field>\r\n <!-- <div *ngIf=\"submitted && formsData.password.errors\" class=\"invalid-feedback\">\r\n <div *ngIf=\"formsData.password.errors.required\">Password is required</div>\r\n </div> -->\r\n </div>\r\n <div class=\"form-group\">\r\n <!-- <button [disabled]=\"submitClick\" class=\"btn btn-primary\">Login</button> -->\r\n <button style=\"background-color: #0888CA; color: #fff;line-height: 21px; padding: 4px 10px !important;\" mat-button class=\"!loginForm.valid btn btn-primary\" (click)=\"onLogin()\">Login</button>\r\n </div>\r\n <div *ngIf =\"!isvalidUser\" class=\"alert alert-danger\">{{error}}</div>\r\n </form>\r\n </div>\r\n\r\n <section class=\"loade\" *ngIf=\"isLoading\">\r\n <mat-spinner color=\"black\" [diameter]=60 ></mat-spinner>\r\n <span>\r\n Logging...\r\n </span>\r\n </section>\r\n\r\n \r\n <!-- <button type=\"button\" mat-button (click)=\"drawer.toggle()\">\r\n Toggle sidenav\r\n</button> -->\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n", styles: ["body{background:#f4fafd}.loginForm{border-radius:0;background:#fff;width:90%;max-width:450px;padding:15px;text-align:left;margin:60px auto;border:#f4f4f4 solid 1px;-webkit-box-shadow:4px 2px 5px -2px rgba(194,179,194,1);-moz-box-shadow:4px 2px 5px -2px rgba(194,179,194,1);box-shadow:4px 2px 5px -2px #c2b3c2}::ng-deep .mat-button,.mat-flat-button,.mat-icon-button,.mat-stroked-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:top;text-align:center;margin:0;min-width:64px;line-height:28px!important;padding:0 16px;border-radius:4px;overflow:visible}.nb-spinner{width:75pxx;height:75px;margin:0;background:transparent;border-top:4px solid #03A9F4;border-right:4px solid transparent;border-radius:50%;-webkit-animation:1s spin linear infinite;animation:1s spin linear infinite}.loade{background:#ffffff80;width:100%;height:100%;overflow:hidden;padding-left:67px;position:absolute;z-index:1;opacity:50;top:0;padding-top:135px}.square-spinner{width:55px;display:block;background-color:#03a9f4;height:55px;-webkit-animation:3s rotate2 ease-in-out infinite;animation:3s flip ease-in-out infinite}::ng-deep .mat-spinner circle{stroke:green;stroke-width:10%}mat-form-field{width:100%}.mat-mdc-input-element{font-size:16px!important;margin:0!important;padding:5px 0 8px!important;line-height:16px!important;vertical-align:text-bottom}::ng-deep .mat-mdc-form-field-required-marker{display:none!important}::ng-deep .mdc-floating-label--required:after{content:none!important}\n"], dependencies: [{ kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i9.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i9.MatLabel, selector: "mat-label" }, { kind: "directive", type: i9.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i10.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
|
|
104
|
-
}
|
|
105
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LoginComponent, decorators: [{
|
|
106
|
-
type: Component,
|
|
107
|
-
args: [{ selector: 'lib-login', template: "\r\n<div class=\"container\">\r\n <div class=\"loginForm\">\r\n <div class=\"example-sidenav-content\">\r\n <div class=\"loginWidget\">\r\n <form [formGroup]=\"loginForm\" >\r\n <h2>Login</h2>\r\n <div> </div>\r\n <div class=\"form-group\">\r\n <!-- <label for=\"username\">Username</label> -->\r\n <!-- <input type=\"text\" formControlName=\"username\" class=\"form-control\"\r\n [ngClass]=\"{ 'is-invalid': submitted && formsData.username.errors }\" /> -->\r\n <mat-form-field class=\"example-full-width\" color=\"primary\">\r\n <mat-label>Enter Username</mat-label>\r\n <input class=\"toolbar-search bxForm\" formControlName=\"username\" type=\"text\" matInput >\r\n <!-- <mat-icon matSuffix style=\"font-size: 1.2em\"></mat-icon> -->\r\n </mat-form-field>\r\n <!-- <div *ngIf=\"submitted && formsData.username.errors\" class=\"invalid-feedback\">\r\n <div *ngIf=\"formsData.username.errors.required\">Username is required</div>\r\n </div> -->\r\n </div>\r\n <div class=\"form-group\">\r\n <!-- <label for=\"password\">Password</label> -->\r\n <!-- <input type=\"password\" formControlName=\"password\" class=\"form-control\"\r\n [ngClass]=\"{ 'is-invalid': submitted && formsData.password.errors }\" /> -->\r\n <mat-form-field class=\"example-full-width\" color=\"primary\">\r\n <mat-label>Enter Password</mat-label>\r\n <input class=\"toolbar-search\" formControlName=\"password\" type=\"password\" matInput >\r\n <mat-icon matSuffix style=\"font-size:12px\"></mat-icon>\r\n </mat-form-field>\r\n <!-- <div *ngIf=\"submitted && formsData.password.errors\" class=\"invalid-feedback\">\r\n <div *ngIf=\"formsData.password.errors.required\">Password is required</div>\r\n </div> -->\r\n </div>\r\n <div class=\"form-group\">\r\n <!-- <button [disabled]=\"submitClick\" class=\"btn btn-primary\">Login</button> -->\r\n <button style=\"background-color: #0888CA; color: #fff;line-height: 21px; padding: 4px 10px !important;\" mat-button class=\"!loginForm.valid btn btn-primary\" (click)=\"onLogin()\">Login</button>\r\n </div>\r\n <div *ngIf =\"!isvalidUser\" class=\"alert alert-danger\">{{error}}</div>\r\n </form>\r\n </div>\r\n\r\n <section class=\"loade\" *ngIf=\"isLoading\">\r\n <mat-spinner color=\"black\" [diameter]=60 ></mat-spinner>\r\n <span>\r\n Logging...\r\n </span>\r\n </section>\r\n\r\n \r\n <!-- <button type=\"button\" mat-button (click)=\"drawer.toggle()\">\r\n Toggle sidenav\r\n</button> -->\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n", styles: ["body{background:#f4fafd}.loginForm{border-radius:0;background:#fff;width:90%;max-width:450px;padding:15px;text-align:left;margin:60px auto;border:#f4f4f4 solid 1px;-webkit-box-shadow:4px 2px 5px -2px rgba(194,179,194,1);-moz-box-shadow:4px 2px 5px -2px rgba(194,179,194,1);box-shadow:4px 2px 5px -2px #c2b3c2}::ng-deep .mat-button,.mat-flat-button,.mat-icon-button,.mat-stroked-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:top;text-align:center;margin:0;min-width:64px;line-height:28px!important;padding:0 16px;border-radius:4px;overflow:visible}.nb-spinner{width:75pxx;height:75px;margin:0;background:transparent;border-top:4px solid #03A9F4;border-right:4px solid transparent;border-radius:50%;-webkit-animation:1s spin linear infinite;animation:1s spin linear infinite}.loade{background:#ffffff80;width:100%;height:100%;overflow:hidden;padding-left:67px;position:absolute;z-index:1;opacity:50;top:0;padding-top:135px}.square-spinner{width:55px;display:block;background-color:#03a9f4;height:55px;-webkit-animation:3s rotate2 ease-in-out infinite;animation:3s flip ease-in-out infinite}::ng-deep .mat-spinner circle{stroke:green;stroke-width:10%}mat-form-field{width:100%}.mat-mdc-input-element{font-size:16px!important;margin:0!important;padding:5px 0 8px!important;line-height:16px!important;vertical-align:text-bottom}::ng-deep .mat-mdc-form-field-required-marker{display:none!important}::ng-deep .mdc-floating-label--required:after{content:none!important}\n"] }]
|
|
108
|
-
}], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.ActivatedRoute }, { type: i2.Router }, { type: i3.Location }, { type: i4.AuthService }, { type: i5.BaseAppService }], propDecorators: { routeUrl: [{
|
|
109
|
-
type: Input
|
|
110
|
-
}] } });
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnVsay10b29sL3NyYy9saWIvbG9naW4vbG9naW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnVsay10b29sL3NyYy9saWIvbG9naW4vbG9naW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFnQixNQUFNLGlCQUFpQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFtQixNQUFNLGdCQUFnQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQTs7Ozs7Ozs7Ozs7O0FBYWxELE1BQU0sT0FBTyxjQUFjO0lBU2Y7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBYkgsU0FBUyxHQUFZLEtBQUssQ0FBQztJQUN6QixRQUFRLENBQVM7SUFDMUIsU0FBUyxDQUFZO0lBQ3JCLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDbEIsU0FBUyxDQUFTO0lBQ2xCLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDWCxRQUFRLENBQUs7SUFDYixZQUNVLFdBQXdCLEVBQ3hCLEtBQXFCLEVBQ3JCLE1BQWMsRUFDZCxRQUFrQixFQUNsQixxQkFBa0MsRUFDbEMsY0FBNkI7UUFMN0IsZ0JBQVcsR0FBWCxX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c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBSb3V0ZXIsIEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzLCBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDb25zdGFudCB9IGZyb20gJy4uL2NvbnN0YW50LmVudW0nO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7QmFzZUFwcFNlcnZpY2V9IGZyb20gJy4uL2Jhc2UtYXBwLnNlcnZpY2UnXHJcbi8vaW1wb3J0IHsgdXJsIH0gZnJvbSAnaW5zcGVjdG9yJztcclxuZXhwb3J0IGludGVyZmFjZSBMb2dpblxyXG57XHJcbiAgW2tleTogc3RyaW5nXTogQWJzdHJhY3RDb250cm9sXHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWxvZ2luJyxcclxuICB0ZW1wbGF0ZVVybDogJ2xvZ2luLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9sb2dpbi5jb21wb25lbnQuY3NzJ11cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBMb2dpbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHVibGljIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHJvdXRlVXJsOiBzdHJpbmc7XHJcbiAgbG9naW5Gb3JtOiBGb3JtR3JvdXA7XHJcbiAgc3VibWl0dGVkID0gZmFsc2U7XHJcbiAgcmV0dXJuVXJsOiBzdHJpbmc7XHJcbiAgZXJyb3IgPSAnJztcclxuICB1c2VySW5mbzphbnk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uLFxyXG4gICAgcHJpdmF0ZSBhdXRoZW50aWNhdGlvblNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBiYXNlQXBwU2VydmljZTpCYXNlQXBwU2VydmljZSkgeyAgXHJcbiAgICBsZXQgdXNlck9iamVjdD1sb2NhbFN0b3JhZ2UuZ2V0SXRlbShcIlVzZXJJbmZvXCIpXHJcbiAgICB0aGlzLnVzZXJJbmZvPUpTT04ucGFyc2UodXNlck9iamVjdCk7XHJcbiAgICB0aGlzLmJhc2VBcHBTZXJ2aWNlLnNldFVzZXJJbmZvKHRoaXMudXNlckluZm8pO1xyXG4gICAgfVxyXG4gICAgcHVibGljIGlzdmFsaWRVc2VyOmJvb2xlYW4gPSB0cnVlO1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5sb2dpbkZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgdXNlcm5hbWU6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgIHBhc3N3b3JkOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdXHJcbiAgICB9KTtcclxuICAgIHRoaXMucmV0dXJuVXJsID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtc1sncmV0dXJuVXJsJ10gfHwgdGhpcy5yb3V0ZVVybDtcclxuICAgIC8vQ2hlY2tpbmcgVXNlciBhbHJlYWR5IGxvZ2dlZCBpbiBvciBub3RcclxuICAgIGxldCBpc05hdmlnYXRlPWxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiSXNOYXZpZ2F0ZVwiKTtcclxuICAgIGlmICh0aGlzLmxvY2F0aW9uLnBhdGgoKSAhPT0gJycgJiYgdGhpcy5sb2NhdGlvbi5wYXRoKCkuaW5kZXhPZignVXNlcklkJykgIT09IC0xKSB7XHJcbiAgICAgIGxldCB1c2VySWQ9dGhpcy5sb2NhdGlvbi5wYXRoKCkuc3BsaXQoJz8nKVsxXS5zcGxpdCgnVXNlcklkPScpWzFdXHJcbiAgICAgIGlmKHVzZXJJZD09dGhpcy51c2VySW5mby51c2VySW5mb0lkKXtcclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5yZXR1cm5VcmxdKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYoSlNPTi5wYXJzZShpc05hdmlnYXRlKT09dHJ1ZSl7XHJcbiAgICAgICAgaWYodGhpcy51c2VySW5mbyl7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJMb2dpbiBBZnRlciBuYXZpYWd0aW9uLVwiLHRoaXMucmV0dXJuVXJsKTtcclxuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShcIklzTmF2aWdhdGVcIik7XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMucmV0dXJuVXJsXSk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIGdldCBmb3Jtc0RhdGEoKTpMb2dpbiB7IHJldHVybiB0aGlzLmxvZ2luRm9ybS5jb250cm9sczsgfVxyXG5cclxuICBvbkxvZ2luKCkge1xyXG4gICAgdGhpcy5zdWJtaXR0ZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgLy8gc3RvcCBoZXJlIGlmIGZvcm0gaXMgaW52YWxpZFxyXG4gICAgaWYgKHRoaXMubG9naW5Gb3JtLmludmFsaWQpIHtcclxuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgLy90aGlzLnN1Ym1pdENsaWNrID0gdHJ1ZTtcclxuICAgIHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmxvZ2luKHRoaXMuZm9ybXNEYXRhLnVzZXJuYW1lLnZhbHVlLCB0aGlzLmZvcm1zRGF0YS5wYXNzd29yZC52YWx1ZSlcclxuICAgICAgLnBpcGUoZmlyc3QoKSlcclxuICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICBkYXRhID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGRhdGEuc3RhdHVzKTtcclxuICAgICAgICAgIGlmKGRhdGEuc3RhdHVzPT09XCJJblZhbGlkXCIpXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgdGhpcy5pc3ZhbGlkVXNlcj1mYWxzZTtcclxuICAgICAgICAgICAgIHRoaXMuZXJyb3IgPSBDb25zdGFudC5JTlZBTElEO1xyXG4gICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiL2xvZ2luXCJdKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2VcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJMb2dpbiBTdWNjZXNzLVwiLHRoaXMucmV0dXJuVXJsKTtcclxuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMucmV0dXJuVXJsXSk7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3IgPT4ge1xyXG4gICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuZXJyb3IgPSBDb25zdGFudC5JTlZBTElEO1xyXG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiL2xvZ2luXCJdKTtcclxuICAgICAgICAgIC8vdGhpcy5zdWJtaXRDbGljayA9IHRydWU7XHJcbiAgICAgICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIlxyXG48ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cImxvZ2luRm9ybVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJleGFtcGxlLXNpZGVuYXYtY29udGVudFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImxvZ2luV2lkZ2V0XCI+XHJcbiAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwibG9naW5Gb3JtXCIgPlxyXG4gICAgICAgIDxoMj5Mb2dpbjwvaDI+XHJcbiAgICAgICAgPGRpdj4mbmJzcDs8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgPCEtLSA8bGFiZWwgZm9yPVwidXNlcm5hbWVcIj5Vc2VybmFtZTwvbGFiZWw+IC0tPlxyXG4gICAgICAgICAgPCEtLSA8aW5wdXQgdHlwZT1cInRleHRcIiBmb3JtQ29udHJvbE5hbWU9XCJ1c2VybmFtZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmb3Jtc0RhdGEudXNlcm5hbWUuZXJyb3JzIH1cIiAvPiAtLT5cclxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZXhhbXBsZS1mdWxsLXdpZHRoXCIgY29sb3I9XCJwcmltYXJ5XCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1sYWJlbD5FbnRlciBVc2VybmFtZTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJ0b29sYmFyLXNlYXJjaCBieEZvcm1cIiBmb3JtQ29udHJvbE5hbWU9XCJ1c2VybmFtZVwiIHR5cGU9XCJ0ZXh0XCIgbWF0SW5wdXQgPlxyXG4gICAgICAgICAgICAgICAgICAgPCEtLSA8bWF0LWljb24gbWF0U3VmZml4IHN0eWxlPVwiZm9udC1zaXplOiAxLjJlbVwiPjwvbWF0LWljb24+IC0tPlxyXG4gICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgIDwhLS0gPGRpdiAqbmdJZj1cInN1Ym1pdHRlZCAmJiBmb3Jtc0RhdGEudXNlcm5hbWUuZXJyb3JzXCIgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCI+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJmb3Jtc0RhdGEudXNlcm5hbWUuZXJyb3JzLnJlcXVpcmVkXCI+VXNlcm5hbWUgaXMgcmVxdWlyZWQ8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgPCEtLSA8bGFiZWwgZm9yPVwicGFzc3dvcmRcIj5QYXNzd29yZDwvbGFiZWw+IC0tPlxyXG4gICAgICAgICAgPCEtLSA8aW5wdXQgdHlwZT1cInBhc3N3b3JkXCIgZm9ybUNvbnRyb2xOYW1lPVwicGFzc3dvcmRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZm9ybXNEYXRhLnBhc3N3b3JkLmVycm9ycyB9XCIgLz4gLS0+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImV4YW1wbGUtZnVsbC13aWR0aFwiIGNvbG9yPVwicHJpbWFyeVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+RW50ZXIgUGFzc3dvcmQ8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwidG9vbGJhci1zZWFyY2hcIiBmb3JtQ29udHJvbE5hbWU9XCJwYXNzd29yZFwiIHR5cGU9XCJwYXNzd29yZFwiIG1hdElucHV0ID5cclxuICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXggc3R5bGU9XCJmb250LXNpemU6MTJweFwiPjwvbWF0LWljb24+XHJcbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgPCEtLSA8ZGl2ICpuZ0lmPVwic3VibWl0dGVkICYmIGZvcm1zRGF0YS5wYXNzd29yZC5lcnJvcnNcIiBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZvcm1zRGF0YS5wYXNzd29yZC5lcnJvcnMucmVxdWlyZWRcIj5QYXNzd29yZCBpcyByZXF1aXJlZDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICA8IS0tIDxidXR0b24gW2Rpc2FibGVkXT1cInN1Ym1pdENsaWNrXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIj5Mb2dpbjwvYnV0dG9uPiAtLT5cclxuICAgICAgICAgIDxidXR0b24gIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogIzA4ODhDQTsgY29sb3I6ICNmZmY7bGluZS1oZWlnaHQ6IDIxcHg7IHBhZGRpbmc6IDRweCAxMHB4ICFpbXBvcnRhbnQ7XCIgbWF0LWJ1dHRvbiAgY2xhc3M9XCIhbG9naW5Gb3JtLnZhbGlkIGJ0biBidG4tcHJpbWFyeVwiIChjbGljayk9XCJvbkxvZ2luKClcIj5Mb2dpbjwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWYgPVwiIWlzdmFsaWRVc2VyXCIgY2xhc3M9XCJhbGVydCBhbGVydC1kYW5nZXJcIj57e2Vycm9yfX08L2Rpdj5cclxuICAgICAgPC9mb3JtPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJsb2FkZVwiICpuZ0lmPVwiaXNMb2FkaW5nXCI+XHJcbiAgICAgIDxtYXQtc3Bpbm5lciBjb2xvcj1cImJsYWNrXCIgW2RpYW1ldGVyXT02MCA+PC9tYXQtc3Bpbm5lcj5cclxuICAgICAgPHNwYW4+XHJcbiAgICBMb2dnaW5nLi4uXHJcbiAgICA8L3NwYW4+XHJcbiAgICA8L3NlY3Rpb24+XHJcblxyXG4gICAgXHJcbiAgICA8IS0tIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1idXR0b24gKGNsaWNrKT1cImRyYXdlci50b2dnbGUoKVwiPlxyXG4gIFRvZ2dsZSBzaWRlbmF2XHJcbjwvYnV0dG9uPiAtLT5cclxuICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcblxyXG5cclxuIl19
|