exceladdincbms-v2 17.0.0 → 20.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/fesm2022/{exceladdincbms.mjs → exceladdincbms-20.mjs} +64 -72
  2. package/fesm2022/exceladdincbms-20.mjs.map +1 -0
  3. package/index.d.ts +196 -5
  4. package/package.json +5 -7
  5. package/public_api.d.ts +2 -6
  6. package/src/lib/auth.service.ts +46 -0
  7. package/src/lib/base-app.service.ts +36 -0
  8. package/src/lib/bulk-tool.component.ts +20 -0
  9. package/src/lib/bulk-tool.module.ts +32 -0
  10. package/src/lib/constant.enum.ts +6 -0
  11. package/src/lib/environmentsModel.info.ts +14 -0
  12. package/src/lib/http-interceptor.ts +22 -0
  13. package/src/lib/login/login.component.css +103 -0
  14. package/src/lib/login/login.component.html +59 -0
  15. package/src/lib/login/login.component.ts +105 -0
  16. package/src/lib/materils/materils.module.ts +96 -0
  17. package/src/lib/menu/menu.component.css +388 -0
  18. package/src/lib/menu/menu.component.html +46 -0
  19. package/src/lib/menu/menu.component.ts +191 -0
  20. package/src/public_api.ts +14 -0
  21. package/esm2022/exceladdincbms.mjs +0 -5
  22. package/esm2022/lib/auth.service.mjs +0 -56
  23. package/esm2022/lib/base-app.service.mjs +0 -41
  24. package/esm2022/lib/bulk-tool.component.mjs +0 -22
  25. package/esm2022/lib/bulk-tool.module.mjs +0 -51
  26. package/esm2022/lib/constant.enum.mjs +0 -6
  27. package/esm2022/lib/environmentsModel.info.mjs +0 -3
  28. package/esm2022/lib/http-interceptor.mjs +0 -25
  29. package/esm2022/lib/login/login.component.mjs +0 -111
  30. package/esm2022/lib/materils/materils.module.mjs +0 -177
  31. package/esm2022/lib/menu/menu.component.mjs +0 -187
  32. package/esm2022/public_api.mjs +0 -10
  33. package/fesm2022/exceladdincbms.mjs.map +0 -1
  34. package/lib/auth.service.d.ts +0 -18
  35. package/lib/base-app.service.d.ts +0 -16
  36. package/lib/bulk-tool.component.d.ts +0 -8
  37. package/lib/bulk-tool.module.d.ts +0 -17
  38. package/lib/constant.enum.d.ts +0 -5
  39. package/lib/environmentsModel.info.d.ts +0 -9
  40. package/lib/http-interceptor.d.ts +0 -8
  41. package/lib/login/login.component.d.ts +0 -32
  42. package/lib/materils/materils.module.d.ts +0 -46
  43. 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>&nbsp;</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>&nbsp;</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