exceladdincbms-v2 5.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWxhZGRpbmNibXMtdjEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9idWxrLXRvb2wvc3JjL2V4Y2VsYWRkaW5jYm1zLXYxLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
@@ -0,0 +1,54 @@
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 = this.injector.get("config").Url;
13
+ menuName = this.injector.get("config").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
+ }
21
+ //private postheaders = new Headers({'Content-Type': 'application/json'});
22
+ login(username, password) {
23
+ return this.http.post(this.API_ENDPOINT + "/Login", { username, password })
24
+ .pipe(map(user => {
25
+ if (user.status != "Invalid") {
26
+ console.log(user);
27
+ localStorage.clear();
28
+ localStorage.setItem('UserInfo', JSON.stringify(user));
29
+ this.baseAppService.setUserInfo(user);
30
+ }
31
+ return user;
32
+ }));
33
+ }
34
+ logout() {
35
+ this.baseAppService.clearData();
36
+ localStorage.clear();
37
+ }
38
+ GetMenu(userId) {
39
+ return this.http.get(this.API_ENDPOINT + '/userMenus?userId=' + userId + '&menu=' + this.menuName)
40
+ .pipe(map(res => {
41
+ this.baseAppService.setUserMenus(res);
42
+ return res;
43
+ }));
44
+ }
45
+ /** @nocollapse */ static ɵfac = function AuthService_Factory(t) { return new (t || AuthService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i0.Injector), i0.ɵɵinject(i2.BaseAppService)); };
46
+ /** @nocollapse */ static ɵprov = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjectable({ token: AuthService, factory: AuthService.ɵfac, providedIn: 'root' });
47
+ }
48
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AuthService, [{
49
+ type: Injectable,
50
+ args: [{
51
+ providedIn: 'root'
52
+ }]
53
+ }], function () { return [{ type: i1.HttpClient }, { type: i0.Injector }, { type: i2.BaseAppService }]; }, null); })();
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYnVsay10b29sL3NyYy9saWIvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTs7OztBQU1uRCxNQUFNLE9BQU8sV0FBVztJQUtBO0lBQXlCO0lBQTRCO0lBSmpFLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDL0MsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUN4RCwrREFBK0Q7SUFDL0QseUZBQXlGO0lBQ3pGLFlBQW9CLElBQWdCLEVBQVMsUUFBa0IsRUFBVSxjQUE4QjtRQUFuRixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUFJLENBQUM7SUFFNUcsMEVBQTBFO0lBQzFFLEtBQUssQ0FBQyxRQUFnQixFQUFFLFFBQWdCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU0sSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLEVBQUUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUM7YUFDM0UsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNiLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxTQUFTLEVBQUU7Z0JBQzFCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2xCLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDckIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUN2RCxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN6QztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDWixDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDaEMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxPQUFPLENBQUMsTUFBTTtRQUNqQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsb0JBQW9CLEdBQUcsTUFBTSxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO2FBQzdGLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDWixJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN0QyxPQUFPLEdBQUcsQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDWixDQUFDO3dGQWhDUSxXQUFXOytGQUFYLFdBQVcsV0FBWCxXQUFXLG1CQUZSLE1BQU07O3VGQUVULFdBQVc7Y0FIdkIsVUFBVTtlQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEJhc2VBcHBTZXJ2aWNlIH0gZnJvbSAnLi9iYXNlLWFwcC5zZXJ2aWNlJ1xyXG5cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXV0aFNlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSBBUElfRU5EUE9JTlQgPSB0aGlzLmluamVjdG9yLmdldChcImNvbmZpZ1wiKS5Vcmw7XHJcbiAgICBwcml2YXRlIG1lbnVOYW1lID0gdGhpcy5pbmplY3Rvci5nZXQoXCJjb25maWdcIikuTWVudU5hbWU7XHJcbiAgICAvL3ByaXZhdGUgUk1fRU5EUE9JTlQgPSB0aGlzLmluamVjdG9yLmdldChcImNvbmZpZ1wiKS5hcGlCYXNlVXJsO1xyXG4gICAgLy9wcml2YXRlIGhlYWRlcnMgPSBuZXcgSGVhZGVycyh7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyB9KTtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHVibGljIGluamVjdG9yOiBJbmplY3RvciwgcHJpdmF0ZSBiYXNlQXBwU2VydmljZTogQmFzZUFwcFNlcnZpY2UpIHsgfVxyXG5cclxuICAgIC8vcHJpdmF0ZSBwb3N0aGVhZGVycyA9IG5ldyBIZWFkZXJzKHsnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nfSk7XHJcbiAgICBsb2dpbih1c2VybmFtZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55Pih0aGlzLkFQSV9FTkRQT0lOVCArIFwiL0xvZ2luXCIsIHsgdXNlcm5hbWUsIHBhc3N3b3JkIH0pXHJcbiAgICAgICAgICAgIC5waXBlKG1hcCh1c2VyID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh1c2VyLnN0YXR1cyAhPSBcIkludmFsaWRcIikge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHVzZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5jbGVhcigpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdVc2VySW5mbycsIEpTT04uc3RyaW5naWZ5KHVzZXIpKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmJhc2VBcHBTZXJ2aWNlLnNldFVzZXJJbmZvKHVzZXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHVzZXI7XHJcbiAgICAgICAgICAgIH0pKTtcclxuICAgIH1cclxuXHJcbiAgICBsb2dvdXQoKSB7XHJcbiAgICAgICAgdGhpcy5iYXNlQXBwU2VydmljZS5jbGVhckRhdGEoKTtcclxuICAgICAgICBsb2NhbFN0b3JhZ2UuY2xlYXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgR2V0TWVudSh1c2VySWQpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuQVBJX0VORFBPSU5UICsgJy91c2VyTWVudXM/dXNlcklkPScgKyB1c2VySWQgKyAnJm1lbnU9JyArIHRoaXMubWVudU5hbWUpXHJcbiAgICAgICAgICAgIC5waXBlKG1hcChyZXMgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5iYXNlQXBwU2VydmljZS5zZXRVc2VyTWVudXMocmVzKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiByZXM7XHJcbiAgICAgICAgICAgIH0pKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,41 @@
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 = function BaseAppService_Factory(t) { return new (t || BaseAppService)(); };
33
+ /** @nocollapse */ static ɵprov = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjectable({ token: BaseAppService, factory: BaseAppService.ɵfac, providedIn: 'root' });
34
+ }
35
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BaseAppService, [{
36
+ type: Injectable,
37
+ args: [{
38
+ providedIn: 'root'
39
+ }]
40
+ }], null, null); })();
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1hcHAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J1bGstdG9vbC9zcmMvbGliL2Jhc2UtYXBwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLGNBQWM7SUFFakIsUUFBUSxDQUFNO0lBQ2QsU0FBUyxDQUFNO0lBQ2YsUUFBUSxDQUFLO0lBQ3JCLFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUNELFdBQVcsQ0FBQyxLQUFLO1FBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUNELGNBQWM7UUFDWixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUN2QixDQUFDO0lBQ0QsWUFBWSxDQUFDLElBQUk7UUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUN4QixDQUFDO0lBQ0QsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsU0FBUztRQUNQLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDO1FBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFDRCxxQkFBcUIsQ0FBQyxJQUFJO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFBO0lBQ3RCLENBQUM7SUFDRCxxQkFBcUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFBO0lBQ3RCLENBQUM7MkZBN0JVLGNBQWM7K0ZBQWQsY0FBYyxXQUFkLGNBQWMsbUJBRmIsTUFBTTs7dUZBRVAsY0FBYztjQUgxQixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYXNlQXBwU2VydmljZSB7XHJcblxyXG4gIHByaXZhdGUgdXNlckluZm86IGFueTtcclxuICBwcml2YXRlIHVzZXJNZW51czogYW55O1xyXG4gIHByaXZhdGUgbWVudU5hbWU6IGFueVxyXG4gIGdldFVzZXJJbmZvKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudXNlckluZm87XHJcbiAgfVxyXG4gIHNldFVzZXJJbmZvKHZhbHVlKSB7XHJcbiAgICB0aGlzLnVzZXJJbmZvID0gdmFsdWU7XHJcbiAgfVxyXG4gIHJlbW92ZVVzZXJJbmZvKCkge1xyXG4gICAgdGhpcy51c2VySW5mbyA9IG51bGw7XHJcbiAgfVxyXG4gIHNldFVzZXJNZW51cyhkYXRhKSB7XHJcbiAgICB0aGlzLnVzZXJNZW51cyA9IGRhdGE7XHJcbiAgfVxyXG4gIGdldFVzZXJNZW51cygpIHtcclxuICAgIHJldHVybiB0aGlzLnVzZXJNZW51cztcclxuICB9XHJcbiAgY2xlYXJEYXRhKCkge1xyXG4gICAgdGhpcy51c2VySW5mbyA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMudXNlck1lbnVzID0gdW5kZWZpbmVkO1xyXG4gIH1cclxuICBzZXRtZW51TmFtZUZyb21CdWRnZXQobmFtZSkge1xyXG4gICAgdGhpcy5tZW51TmFtZSA9IG5hbWVcclxuICB9XHJcbiAgZ2V0bWVudU5hbWVGcm9tQnVkZ2V0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMubWVudU5hbWVcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,22 @@
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 = function BulkToolComponent_Factory(t) { return new (t || BulkToolComponent)(); };
8
+ /** @nocollapse */ static ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: BulkToolComponent, selectors: [["lib-BulkTool"]], decls: 2, vars: 0, template: function BulkToolComponent_Template(rf, ctx) { if (rf & 1) {
9
+ i0.ɵɵelementStart(0, "p");
10
+ i0.ɵɵtext(1, " bulk-tool works! ");
11
+ i0.ɵɵelementEnd();
12
+ } }, encapsulation: 2 });
13
+ }
14
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BulkToolComponent, [{
15
+ type: Component,
16
+ args: [{ selector: 'lib-BulkTool', template: `
17
+ <p>
18
+ bulk-tool works!
19
+ </p>
20
+ ` }]
21
+ }], function () { return []; }, null); })();
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J1bGstdG9vbC9zcmMvbGliL2J1bGstdG9vbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7QUFXbEQsTUFBTSxPQUFPLGlCQUFpQjtJQUU1QixnQkFBZ0IsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQzs4RkFMVSxpQkFBaUI7NEZBQWpCLGlCQUFpQjtZQU4xQix5QkFBRztZQUNELGtDQUNGO1lBQUEsaUJBQUk7Ozt1RkFJSyxpQkFBaUI7Y0FUN0IsU0FBUzsyQkFDRSxjQUFjLFlBQ2Q7Ozs7R0FJVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1CdWxrVG9vbCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxwPlxyXG4gICAgICBidWxrLXRvb2wgd29ya3MhXHJcbiAgICA8L3A+XHJcbiAgYCxcclxuICBzdHlsZXM6IFtdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCdWxrVG9vbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -0,0 +1,52 @@
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 = function BulkToolModule_Factory(t) { return new (t || BulkToolModule)(); };
22
+ /** @nocollapse */ static ɵmod = /** @pureOrBreakMyCode */ i0.ɵɵdefineNgModule({ type: BulkToolModule });
23
+ /** @nocollapse */ static ɵinj = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjector({ providers: [{ provide: HTTP_INTERCEPTORS, useClass: HttpLibInterceptor, multi: true }, AuthService, BaseAppService], imports: [MaterilsModule,
24
+ FormsModule,
25
+ CommonModule,
26
+ RouterModule,
27
+ ReactiveFormsModule,
28
+ HttpClientModule] });
29
+ }
30
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BulkToolModule, [{
31
+ type: NgModule,
32
+ args: [{
33
+ imports: [
34
+ MaterilsModule,
35
+ FormsModule,
36
+ CommonModule,
37
+ RouterModule,
38
+ ReactiveFormsModule,
39
+ HttpClientModule,
40
+ ],
41
+ declarations: [BulkToolComponent, LoginComponent, MenuComponent],
42
+ exports: [BulkToolComponent, LoginComponent, MenuComponent],
43
+ providers: [{ provide: HTTP_INTERCEPTORS, useClass: HttpLibInterceptor, multi: true }, AuthService, BaseAppService]
44
+ }]
45
+ }], null, null); })();
46
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(BulkToolModule, { declarations: [BulkToolComponent, LoginComponent, MenuComponent], imports: [MaterilsModule,
47
+ FormsModule,
48
+ CommonModule,
49
+ RouterModule,
50
+ ReactiveFormsModule,
51
+ HttpClientModule], exports: [BulkToolComponent, LoginComponent, MenuComponent] }); })();
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay10b29sLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J1bGstdG9vbC9zcmMvbGliL2J1bGstdG9vbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFrQnBELE1BQU0sT0FBTyxjQUFjO0lBQ3pCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBeUI7UUFDdEMsT0FBTztZQUNMLFFBQVEsRUFBRSxjQUFjO1lBQ3hCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBQUUsY0FBYyxDQUFDO1NBQ3JFLENBQUM7SUFDSixDQUFDOzJGQU5VLGNBQWM7MkZBQWQsY0FBYztnR0FGZCxDQUFDLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsV0FBVyxFQUFFLGNBQWMsQ0FBQyxZQVRqSCxjQUFjO1lBQ2QsV0FBVztZQUNYLFlBQVk7WUFDWixZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLGdCQUFnQjs7dUZBTVAsY0FBYztjQWIxQixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLGNBQWM7b0JBQ2QsV0FBVztvQkFDWCxZQUFZO29CQUNaLFlBQVk7b0JBQ1osbUJBQW1CO29CQUNuQixnQkFBZ0I7aUJBQ2pCO2dCQUNELFlBQVksRUFBRSxDQUFDLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxhQUFhLENBQUM7Z0JBQ2hFLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxhQUFhLENBQUM7Z0JBQzNELFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsV0FBVyxFQUFFLGNBQWMsQ0FBQzthQUNwSDs7d0ZBQ1ksY0FBYyxtQkFKVixpQkFBaUIsRUFBRSxjQUFjLEVBQUUsYUFBYSxhQVA3RCxjQUFjO1FBQ2QsV0FBVztRQUNYLFlBQVk7UUFDWixZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLGdCQUFnQixhQUdSLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQnVsa1Rvb2xDb21wb25lbnQgfSBmcm9tICcuL2J1bGstdG9vbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMb2dpbkNvbXBvbmVudCB9IGZyb20gJy4vbG9naW4vbG9naW4uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0ZXJpbHNNb2R1bGUgfSBmcm9tICcuL21hdGVyaWxzL21hdGVyaWxzLm1vZHVsZSc7XHJcbmltcG9ydCB7IE1lbnVDb21wb25lbnQgfSBmcm9tICcuL21lbnUvbWVudS5jb21wb25lbnQnO1xyXG5cclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUsIEhUVFBfSU5URVJDRVBUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBIdHRwTGliSW50ZXJjZXB0b3IgfSBmcm9tICcuL2h0dHAtaW50ZXJjZXB0b3InO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmFzZUFwcFNlcnZpY2UgfSBmcm9tICcuL2Jhc2UtYXBwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJRW52aXJvbm1lbnRzSW5mbyB9IGZyb20gJy4uL2xpYi9lbnZpcm9ubWVudHNNb2RlbC5pbmZvJztcclxuXHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBNYXRlcmlsc01vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIEh0dHBDbGllbnRNb2R1bGUsXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtCdWxrVG9vbENvbXBvbmVudCwgTG9naW5Db21wb25lbnQsIE1lbnVDb21wb25lbnRdLFxyXG4gIGV4cG9ydHM6IFtCdWxrVG9vbENvbXBvbmVudCwgTG9naW5Db21wb25lbnQsIE1lbnVDb21wb25lbnRdLFxyXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsIHVzZUNsYXNzOiBIdHRwTGliSW50ZXJjZXB0b3IsIG11bHRpOiB0cnVlIH0sIEF1dGhTZXJ2aWNlLCBCYXNlQXBwU2VydmljZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEJ1bGtUb29sTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdChjb25maWc6IElFbnZpcm9ubWVudHNJbmZvKTogTW9kdWxlV2l0aFByb3ZpZGVyczxCdWxrVG9vbE1vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IEJ1bGtUb29sTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6ICdjb25maWcnLCB1c2VWYWx1ZTogY29uZmlnIH0sIEJhc2VBcHBTZXJ2aWNlXVxyXG4gICAgfTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -0,0 +1,6 @@
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=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnRzTW9kZWwuaW5mby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J1bGstdG9vbC9zcmMvbGliL2Vudmlyb25tZW50c01vZGVsLmluZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSUVudmlyb25tZW50c0luZm8ge1xyXG4gICAgVXJsOiBzdHJpbmcsXHJcbiAgICBSb290VXJsOiBzdHJpbmcsXHJcbiAgICBNZW51TmFtZTogc3RyaW5nXHJcbn0iXX0=
@@ -0,0 +1,25 @@
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 = function HttpLibInterceptor_Factory(t) { return new (t || HttpLibInterceptor)(); };
20
+ /** @nocollapse */ static ɵprov = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjectable({ token: HttpLibInterceptor, factory: HttpLibInterceptor.ɵfac });
21
+ }
22
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(HttpLibInterceptor, [{
23
+ type: Injectable
24
+ }], null, null); })();
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J1bGstdG9vbC9zcmMvbGliL2h0dHAtaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJM0MsTUFBTSxPQUFPLGtCQUFrQjtJQUMzQixTQUFTLENBQUMsT0FBeUIsRUFBRSxVQUF1QjtRQUN4RCxzQ0FBc0M7UUFDdEMsbUNBQW1DO1FBQ25DLGdFQUFnRTtRQUVoRSxzQ0FBc0M7UUFDdEMsOEJBQThCO1FBQzlCLG9CQUFvQjtRQUNwQixvREFBb0Q7UUFDcEQsMkNBQTJDO1FBQzNDLFFBQVE7UUFDUixRQUFRO1FBQ1IsSUFBSTtRQUNKLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckIsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7K0ZBaEJRLGtCQUFrQjsrRkFBbEIsa0JBQWtCLFdBQWxCLGtCQUFrQjs7dUZBQWxCLGtCQUFrQjtjQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdCwgSHR0cEhhbmRsZXIsIEh0dHBFdmVudCwgSHR0cEludGVyY2VwdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEh0dHBMaWJJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XHJcbiAgICBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgbmV3UmVxdWVzdDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XHJcbiAgICAgICAgLy8gYWRkIGF1dGhvcml6YXRpb24gaGVhZGVyIHRvIHJlcXVlc3RcclxuICAgICAgICAvL0dldCBUb2tlbiBkYXRhIGZyb20gbG9jYWwgc3RvcmFnZVxyXG4gICAgICAgIC8vbGV0IHRva2VuSW5mbyA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ1Rva2VuSW5mbycpKTtcclxuXHJcbiAgICAgICAgLy8gaWYgKHRva2VuSW5mbyAmJiB0b2tlbkluZm8udG9rZW4pIHtcclxuICAgICAgICAvLyAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHtcclxuICAgICAgICAvLyAgICAgc2V0SGVhZGVyczoge1xyXG4gICAgICAgIC8vICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbkluZm8udG9rZW59YCxcclxuICAgICAgICAvLyAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiAnYXBwbGljYXRpb24vanNvbidcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vICAgfSk7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIGNvbnNvbGUubG9nKHJlcXVlc3QpO1xyXG4gICAgICAgIHJldHVybiBuZXdSZXF1ZXN0LmhhbmRsZShyZXF1ZXN0KTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,158 @@
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/form-field";
18
+ import * as i9 from "@angular/material/input";
19
+ import * as i10 from "@angular/material/progress-spinner";
20
+ function LoginComponent_div_20_Template(rf, ctx) { if (rf & 1) {
21
+ i0.ɵɵelementStart(0, "div", 13);
22
+ i0.ɵɵtext(1);
23
+ i0.ɵɵelementEnd();
24
+ } if (rf & 2) {
25
+ const ctx_r0 = i0.ɵɵnextContext();
26
+ i0.ɵɵadvance(1);
27
+ i0.ɵɵtextInterpolate(ctx_r0.error);
28
+ } }
29
+ function LoginComponent_section_21_Template(rf, ctx) { if (rf & 1) {
30
+ i0.ɵɵelementStart(0, "section", 14);
31
+ i0.ɵɵelement(1, "mat-spinner", 15);
32
+ i0.ɵɵelementStart(2, "span");
33
+ i0.ɵɵtext(3, " Logging... ");
34
+ i0.ɵɵelementEnd()();
35
+ } if (rf & 2) {
36
+ i0.ɵɵadvance(1);
37
+ i0.ɵɵproperty("diameter", 60);
38
+ } }
39
+ export class LoginComponent {
40
+ formBuilder;
41
+ route;
42
+ router;
43
+ location;
44
+ authenticationService;
45
+ baseAppService;
46
+ isLoading = false;
47
+ routeUrl;
48
+ loginForm;
49
+ submitted = false;
50
+ returnUrl;
51
+ error = '';
52
+ userInfo;
53
+ constructor(formBuilder, route, router, location, authenticationService, baseAppService) {
54
+ this.formBuilder = formBuilder;
55
+ this.route = route;
56
+ this.router = router;
57
+ this.location = location;
58
+ this.authenticationService = authenticationService;
59
+ this.baseAppService = baseAppService;
60
+ let userObject = localStorage.getItem("UserInfo");
61
+ this.userInfo = JSON.parse(userObject);
62
+ this.baseAppService.setUserInfo(this.userInfo);
63
+ }
64
+ isvalidUser = true;
65
+ ngOnInit() {
66
+ this.loginForm = this.formBuilder.group({
67
+ username: ['', Validators.required],
68
+ password: ['', Validators.required]
69
+ });
70
+ this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || this.routeUrl;
71
+ //Checking User already logged in or not
72
+ let isNavigate = localStorage.getItem("IsNavigate");
73
+ if (this.location.path() !== '' && this.location.path().indexOf('UserId') !== -1) {
74
+ let userId = this.location.path().split('?')[1].split('UserId=')[1];
75
+ if (userId == this.userInfo.userInfoId) {
76
+ this.router.navigate([this.returnUrl]);
77
+ return;
78
+ }
79
+ }
80
+ else if (JSON.parse(isNavigate) == true) {
81
+ if (this.userInfo) {
82
+ console.log("Login After naviagtion-", this.returnUrl);
83
+ localStorage.removeItem("IsNavigate");
84
+ this.router.navigate([this.returnUrl]);
85
+ return;
86
+ }
87
+ }
88
+ }
89
+ get formsData() { return this.loginForm.controls; }
90
+ onLogin() {
91
+ this.submitted = true;
92
+ this.isLoading = true;
93
+ // stop here if form is invalid
94
+ if (this.loginForm.invalid) {
95
+ this.isLoading = false;
96
+ return;
97
+ }
98
+ //this.submitClick = true;
99
+ this.authenticationService.login(this.formsData.username.value, this.formsData.password.value)
100
+ .pipe(first())
101
+ .subscribe(data => {
102
+ console.log(data.status);
103
+ if (data.status === "InValid") {
104
+ this.isLoading = false;
105
+ this.isvalidUser = false;
106
+ this.error = Constant.INVALID;
107
+ this.router.navigate(["/login"]);
108
+ }
109
+ else {
110
+ console.log("Login Success-", this.returnUrl);
111
+ this.isLoading = false;
112
+ this.router.navigate([this.returnUrl]);
113
+ }
114
+ }, error => {
115
+ this.isLoading = false;
116
+ this.error = Constant.INVALID;
117
+ this.router.navigate(["/login"]);
118
+ //this.submitClick = true;
119
+ });
120
+ }
121
+ /** @nocollapse */ static ɵfac = function LoginComponent_Factory(t) { return new (t || LoginComponent)(i0.ɵɵdirectiveInject(i1.FormBuilder), i0.ɵɵdirectiveInject(i2.ActivatedRoute), i0.ɵɵdirectiveInject(i2.Router), i0.ɵɵdirectiveInject(i3.Location), i0.ɵɵdirectiveInject(i4.AuthService), i0.ɵɵdirectiveInject(i5.BaseAppService)); };
122
+ /** @nocollapse */ static ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: LoginComponent, selectors: [["lib-login"]], inputs: { routeUrl: "routeUrl" }, decls: 22, vars: 3, consts: [[1, "container"], [1, "loginForm"], [1, "example-sidenav-content"], [1, "loginWidget"], [3, "formGroup"], [1, "form-group"], ["color", "primary", 1, "example-full-width"], ["formControlName", "username", "type", "text", "matInput", "", "placeholder", "Enter Username ", 1, "toolbar-search"], ["matSuffix", "", 2, "font-size", "1.2em"], ["formControlName", "password", "type", "password", "matInput", "", "placeholder", "Enter Password ", 1, "toolbar-search"], ["mat-button", "", 1, "!loginForm.valid", "btn", "btn-primary", 2, "background-color", "#0888CA", "color", "#fff", 3, "click"], ["class", "alert alert-danger", 4, "ngIf"], ["class", "loade", 4, "ngIf"], [1, "alert", "alert-danger"], [1, "loade"], ["color", "black", 3, "diameter"]], template: function LoginComponent_Template(rf, ctx) { if (rf & 1) {
123
+ i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "form", 4)(5, "h2");
124
+ i0.ɵɵtext(6, "Login");
125
+ i0.ɵɵelementEnd();
126
+ i0.ɵɵelementStart(7, "div");
127
+ i0.ɵɵtext(8, "\u00A0");
128
+ i0.ɵɵelementEnd();
129
+ i0.ɵɵelementStart(9, "div", 5)(10, "mat-form-field", 6);
130
+ i0.ɵɵelement(11, "input", 7)(12, "mat-icon", 8);
131
+ i0.ɵɵelementEnd()();
132
+ i0.ɵɵelementStart(13, "div", 5)(14, "mat-form-field", 6);
133
+ i0.ɵɵelement(15, "input", 9)(16, "mat-icon", 8);
134
+ i0.ɵɵelementEnd()();
135
+ i0.ɵɵelementStart(17, "div", 5)(18, "button", 10);
136
+ i0.ɵɵlistener("click", function LoginComponent_Template_button_click_18_listener() { return ctx.onLogin(); });
137
+ i0.ɵɵtext(19, "Login");
138
+ i0.ɵɵelementEnd()();
139
+ i0.ɵɵtemplate(20, LoginComponent_div_20_Template, 2, 1, "div", 11);
140
+ i0.ɵɵelementEnd()();
141
+ i0.ɵɵtemplate(21, LoginComponent_section_21_Template, 4, 1, "section", 12);
142
+ i0.ɵɵelementEnd()()();
143
+ } if (rf & 2) {
144
+ i0.ɵɵadvance(4);
145
+ i0.ɵɵproperty("formGroup", ctx.loginForm);
146
+ i0.ɵɵadvance(16);
147
+ i0.ɵɵproperty("ngIf", !ctx.isvalidUser);
148
+ i0.ɵɵadvance(1);
149
+ i0.ɵɵproperty("ngIf", ctx.isLoading);
150
+ } }, dependencies: [i6.MatButton, i7.MatIcon, i8.MatFormField, i8.MatSuffix, i9.MatInput, i10.MatSpinner, i1.ɵNgNoValidate, i1.DefaultValueAccessor, i1.NgControlStatus, i1.NgControlStatusGroup, i3.NgIf, i1.FormGroupDirective, i1.FormControlName], styles: ["body[_ngcontent-%COMP%]{background:#f4fafd}.loginForm[_ngcontent-%COMP%]{border-radius:0;background:#fff;width:90%;max-width:450px;padding:15px;text-align:left;margin:60px auto;border:#f4f4f4 solid 1px;box-shadow:4px 2px 5px -2px #c2b3c2} .mat-button, .mat-flat-button[_ngcontent-%COMP%], .mat-icon-button[_ngcontent-%COMP%], .mat-stroked-button[_ngcontent-%COMP%]{box-sizing:border-box;position:relative;-webkit-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:baseline;text-align:center;margin:0;min-width:64px;line-height:28px!important;padding:0 16px;border-radius:4px;overflow:visible}.nb-spinner[_ngcontent-%COMP%]{width:75pxx;height:75px;margin:0;background:transparent;border-top:4px solid #03A9F4;border-right:4px solid transparent;border-radius:50%;animation:1s spin linear infinite}.loade[_ngcontent-%COMP%]{background:rgba(255,255,255,.5);width:100%;height:100%;overflow:hidden;padding-left:67px;position:absolute;z-index:1;opacity:50;top:0;padding-top:135px}.square-spinner[_ngcontent-%COMP%]{width:55px;display:block;background-color:#03a9f4;height:55px;animation:3s flip ease-in-out infinite} .mat-spinner circle{stroke:green;stroke-width:10%}mat-form-field[_ngcontent-%COMP%]{width:100%}"] });
151
+ }
152
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LoginComponent, [{
153
+ type: Component,
154
+ 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\"\r\n color=\"primary\">\r\n <input class=\"toolbar-search\" formControlName=\"username\" type=\"text\" matInput placeholder=\"Enter Username \">\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\"\r\n color=\"primary\">\r\n <input class=\"toolbar-search\" formControlName=\"password\" type=\"password\" matInput placeholder=\"Enter Password \">\r\n <mat-icon matSuffix style=\"font-size: 1.2em\"></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;\" 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;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;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:baseline;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%;animation:1s spin linear infinite}.loade{background:rgba(255,255,255,.5);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;animation:3s flip ease-in-out infinite}::ng-deep .mat-spinner circle{stroke:green;stroke-width:10%}mat-form-field{width:100%}\n"] }]
155
+ }], function () { return [{ type: i1.FormBuilder }, { type: i2.ActivatedRoute }, { type: i2.Router }, { type: i3.Location }, { type: i4.AuthService }, { type: i5.BaseAppService }]; }, { routeUrl: [{
156
+ type: Input
157
+ }] }); })();
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnVsay10b29sL3NyYy9saWIvbG9naW4vbG9naW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnVsay10b29sL3NyYy9saWIvbG9naW4vbG9naW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFnQixNQUFNLGlCQUFpQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFtQixNQUFNLGdCQUFnQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQTs7Ozs7Ozs7Ozs7OztJQzhCMUMsK0JBQXNEO0lBQUEsWUFBUztJQUFBLGlCQUFNOzs7SUFBZixlQUFTO0lBQVQsa0NBQVM7OztJQUluRSxtQ0FBeUM7SUFDdkMsa0NBQXdEO0lBQ3hELDRCQUFNO0lBQ1IsNEJBQ0E7SUFBQSxpQkFBTyxFQUFBOztJQUhzQixlQUFhO0lBQWIsNkJBQWE7O0FEdEI5QyxNQUFNLE9BQU8sY0FBYztJQVNmO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQWJILFNBQVMsR0FBWSxLQUFLLENBQUM7SUFDekIsUUFBUSxDQUFTO0lBQzFCLFNBQVMsQ0FBWTtJQUNyQixTQUFTLEdBQUcsS0FBSyxDQUFD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VSxjQUFjOzRGQUFkLGNBQWM7WUNwQjNCLDhCQUF1QixhQUFBLGFBQUEsYUFBQSxjQUFBLFNBQUE7WUFLWCxxQkFBSztZQUFBLGlCQUFLO1lBQ2QsMkJBQUs7WUFBQSxzQkFBTTtZQUFBLGlCQUFNO1lBQ2pCLDhCQUF3Qix5QkFBQTtZQU1kLDRCQUE0RyxtQkFBQTtZQUVqSCxpQkFBaUIsRUFBQTtZQUt0QiwrQkFBd0IseUJBQUE7WUFNZCw0QkFBZ0gsbUJBQUE7WUFFeEgsaUJBQWlCLEVBQUE7WUFLbkIsK0JBQXdCLGtCQUFBO1lBRXVGLDRGQUFTLGFBQVMsSUFBQztZQUFDLHNCQUFLO1lBQUEsaUJBQVMsRUFBQTtZQUVqSixrRUFBcUU7WUFDdkUsaUJBQU8sRUFBQTtZQUdULDBFQUtVO1lBTVosaUJBQU0sRUFBQSxFQUFBOztZQWhESSxlQUF1QjtZQUF2Qix5Q0FBdUI7WUFpQ3JCLGdCQUFtQjtZQUFuQix1Q0FBbUI7WUFJTCxlQUFlO1lBQWYsb0NBQWU7Ozt1RkRyQjlCLGNBQWM7Y0FOMUIsU0FBUzsyQkFDRSxXQUFXOzhMQU9aLFFBQVE7a0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBSb3V0ZXIsIEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzLCBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDb25zdGFudCB9IGZyb20gJy4uL2NvbnN0YW50LmVudW0nO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7QmFzZUFwcFNlcnZpY2V9IGZyb20gJy4uL2Jhc2UtYXBwLnNlcnZpY2UnXHJcbi8vaW1wb3J0IHsgdXJsIH0gZnJvbSAnaW5zcGVjdG9yJztcclxuZXhwb3J0IGludGVyZmFjZSBMb2dpblxyXG57XHJcbiAgW2tleTogc3RyaW5nXTogQWJzdHJhY3RDb250cm9sXHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWxvZ2luJyxcclxuICB0ZW1wbGF0ZVVybDogJ2xvZ2luLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9sb2dpbi5jb21wb25lbnQuY3NzJ11cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBMb2dpbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHVibGljIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHJvdXRlVXJsOiBzdHJpbmc7XHJcbiAgbG9naW5Gb3JtOiBGb3JtR3JvdXA7XHJcbiAgc3VibWl0dGVkID0gZmFsc2U7XHJcbiAgcmV0dXJuVXJsOiBzdHJpbmc7XHJcbiAgZXJyb3IgPSAnJztcclxuICB1c2VySW5mbzphbnk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uLFxyXG4gICAgcHJpdmF0ZSBhdXRoZW50aWNhdGlvblNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBiYXNlQXBwU2VydmljZTpCYXNlQXBwU2VydmljZSkgeyAgXHJcbiAgICBsZXQgdXNlck9iamVjdD1sb2NhbFN0b3JhZ2UuZ2V0SXRlbShcIlVzZXJJbmZvXCIpXHJcbiAgICB0aGlzLnVzZXJJbmZvPUpTT04ucGFyc2UodXNlck9iamVjdCk7XHJcbiAgICB0aGlzLmJhc2VBcHBTZXJ2aWNlLnNldFVzZXJJbmZvKHRoaXMudXNlckluZm8pO1xyXG4gICAgfVxyXG4gICAgcHVibGljIGlzdmFsaWRVc2VyOmJvb2xlYW4gPSB0cnVlO1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5sb2dpbkZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgdXNlcm5hbWU6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgIHBhc3N3b3JkOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdXHJcbiAgICB9KTtcclxuICAgIHRoaXMucmV0dXJuVXJsID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtc1sncmV0dXJuVXJsJ10gfHwgdGhpcy5yb3V0ZVVybDtcclxuICAgIC8vQ2hlY2tpbmcgVXNlciBhbHJlYWR5IGxvZ2dlZCBpbiBvciBub3RcclxuICAgIGxldCBpc05hdmlnYXRlPWxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiSXNOYXZpZ2F0ZVwiKTtcclxuICAgIGlmICh0aGlzLmxvY2F0aW9uLnBhdGgoKSAhPT0gJycgJiYgdGhpcy5sb2NhdGlvbi5wYXRoKCkuaW5kZXhPZignVXNlcklkJykgIT09IC0xKSB7XHJcbiAgICAgIGxldCB1c2VySWQ9dGhpcy5sb2NhdGlvbi5wYXRoKCkuc3BsaXQoJz8nKVsxXS5zcGxpdCgnVXNlcklkPScpWzFdXHJcbiAgICAgIGlmKHVzZXJJZD09dGhpcy51c2VySW5mby51c2VySW5mb0lkKXtcclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5yZXR1cm5VcmxdKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYoSlNPTi5wYXJzZShpc05hdmlnYXRlKT09dHJ1ZSl7XHJcbiAgICAgICAgaWYodGhpcy51c2VySW5mbyl7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJMb2dpbiBBZnRlciBuYXZpYWd0aW9uLVwiLHRoaXMucmV0dXJuVXJsKTtcclxuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShcIklzTmF2aWdhdGVcIik7XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMucmV0dXJuVXJsXSk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIGdldCBmb3Jtc0RhdGEoKTpMb2dpbiB7IHJldHVybiB0aGlzLmxvZ2luRm9ybS5jb250cm9sczsgfVxyXG5cclxuICBvbkxvZ2luKCkge1xyXG4gICAgdGhpcy5zdWJtaXR0ZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgLy8gc3RvcCBoZXJlIGlmIGZvcm0gaXMgaW52YWxpZFxyXG4gICAgaWYgKHRoaXMubG9naW5Gb3JtLmludmFsaWQpIHtcclxuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgLy90aGlzLnN1Ym1pdENsaWNrID0gdHJ1ZTtcclxuICAgIHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmxvZ2luKHRoaXMuZm9ybXNEYXRhLnVzZXJuYW1lLnZhbHVlLCB0aGlzLmZvcm1zRGF0YS5wYXNzd29yZC52YWx1ZSlcclxuICAgICAgLnBpcGUoZmlyc3QoKSlcclxuICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICBkYXRhID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGRhdGEuc3RhdHVzKTtcclxuICAgICAgICAgIGlmKGRhdGEuc3RhdHVzPT09XCJJblZhbGlkXCIpXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgdGhpcy5pc3ZhbGlkVXNlcj1mYWxzZTtcclxuICAgICAgICAgICAgIHRoaXMuZXJyb3IgPSBDb25zdGFudC5JTlZBTElEO1xyXG4gICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiL2xvZ2luXCJdKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2VcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJMb2dpbiBTdWNjZXNzLVwiLHRoaXMucmV0dXJuVXJsKTtcclxuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMucmV0dXJuVXJsXSk7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3IgPT4ge1xyXG4gICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuZXJyb3IgPSBDb25zdGFudC5JTlZBTElEO1xyXG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiL2xvZ2luXCJdKTtcclxuICAgICAgICAgIC8vdGhpcy5zdWJtaXRDbGljayA9IHRydWU7XHJcbiAgICAgICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIlxyXG48ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cImxvZ2luRm9ybVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJleGFtcGxlLXNpZGVuYXYtY29udGVudFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImxvZ2luV2lkZ2V0XCI+XHJcbiAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwibG9naW5Gb3JtXCIgPlxyXG4gICAgICAgIDxoMj5Mb2dpbjwvaDI+XHJcbiAgICAgICAgPGRpdj4mbmJzcDs8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgPCEtLSA8bGFiZWwgZm9yPVwidXNlcm5hbWVcIj5Vc2VybmFtZTwvbGFiZWw+IC0tPlxyXG4gICAgICAgICAgPCEtLSA8aW5wdXQgdHlwZT1cInRleHRcIiBmb3JtQ29udHJvbE5hbWU9XCJ1c2VybmFtZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmb3Jtc0RhdGEudXNlcm5hbWUuZXJyb3JzIH1cIiAvPiAtLT5cclxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZXhhbXBsZS1mdWxsLXdpZHRoXCJcclxuICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cInRvb2xiYXItc2VhcmNoXCIgZm9ybUNvbnRyb2xOYW1lPVwidXNlcm5hbWVcIiB0eXBlPVwidGV4dFwiIG1hdElucHV0IHBsYWNlaG9sZGVyPVwiRW50ZXIgVXNlcm5hbWUgXCI+XHJcbiAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4IHN0eWxlPVwiZm9udC1zaXplOiAxLjJlbVwiPjwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgPCEtLSA8ZGl2ICpuZ0lmPVwic3VibWl0dGVkICYmIGZvcm1zRGF0YS51c2VybmFtZS5lcnJvcnNcIiBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZvcm1zRGF0YS51c2VybmFtZS5lcnJvcnMucmVxdWlyZWRcIj5Vc2VybmFtZSBpcyByZXF1aXJlZDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICA8IS0tIDxsYWJlbCBmb3I9XCJwYXNzd29yZFwiPlBhc3N3b3JkPC9sYWJlbD4gLS0+XHJcbiAgICAgICAgICA8IS0tIDxpbnB1dCB0eXBlPVwicGFzc3dvcmRcIiBmb3JtQ29udHJvbE5hbWU9XCJwYXNzd29yZFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmb3Jtc0RhdGEucGFzc3dvcmQuZXJyb3JzIH1cIiAvPiAtLT5cclxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZXhhbXBsZS1mdWxsLXdpZHRoXCJcclxuICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIj5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwidG9vbGJhci1zZWFyY2hcIiBmb3JtQ29udHJvbE5hbWU9XCJwYXNzd29yZFwiIHR5cGU9XCJwYXNzd29yZFwiIG1hdElucHV0IHBsYWNlaG9sZGVyPVwiRW50ZXIgUGFzc3dvcmQgXCI+XHJcbiAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4IHN0eWxlPVwiZm9udC1zaXplOiAxLjJlbVwiPjwvbWF0LWljb24+XHJcbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgPCEtLSA8ZGl2ICpuZ0lmPVwic3VibWl0dGVkICYmIGZvcm1zRGF0YS5wYXNzd29yZC5lcnJvcnNcIiBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZvcm1zRGF0YS5wYXNzd29yZC5lcnJvcnMucmVxdWlyZWRcIj5QYXNzd29yZCBpcyByZXF1aXJlZDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICA8IS0tIDxidXR0b24gW2Rpc2FibGVkXT1cInN1Ym1pdENsaWNrXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIj5Mb2dpbjwvYnV0dG9uPiAtLT5cclxuICAgICAgICAgIDxidXR0b24gIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogIzA4ODhDQTtjb2xvcjogI2ZmZjtcIiBtYXQtYnV0dG9uICBjbGFzcz1cIiFsb2dpbkZvcm0udmFsaWQgYnRuIGJ0bi1wcmltYXJ5XCIgKGNsaWNrKT1cIm9uTG9naW4oKVwiPkxvZ2luPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZiA9XCIhaXN2YWxpZFVzZXJcIiBjbGFzcz1cImFsZXJ0IGFsZXJ0LWRhbmdlclwiPnt7ZXJyb3J9fTwvZGl2PlxyXG4gICAgICA8L2Zvcm0+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8c2VjdGlvbiBjbGFzcz1cImxvYWRlXCIgKm5nSWY9XCJpc0xvYWRpbmdcIj5cclxuICAgICAgPG1hdC1zcGlubmVyIGNvbG9yPVwiYmxhY2tcIiBbZGlhbWV0ZXJdPTYwID48L21hdC1zcGlubmVyPlxyXG4gICAgICA8c3Bhbj5cclxuICAgIExvZ2dpbmcuLi5cclxuICAgIDwvc3Bhbj5cclxuICAgIDwvc2VjdGlvbj5cclxuXHJcbiAgICBcclxuICAgIDwhLS0gPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWJ1dHRvbiAoY2xpY2spPVwiZHJhd2VyLnRvZ2dsZSgpXCI+XHJcbiAgVG9nZ2xlIHNpZGVuYXZcclxuPC9idXR0b24+IC0tPlxyXG4gIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuXHJcblxyXG4iXX0=