@bizdoc/core 1.7.0-next.6 → 1.7.0-next.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/bizdoc-core.umd.js +453 -1311
- package/bundles/bizdoc-core.umd.js.map +1 -1
- package/esm2015/lib/app.component.js +7 -13
- package/esm2015/lib/bizdoc.module.js +2 -37
- package/esm2015/lib/core/configuration.js +1 -1
- package/esm2015/lib/core/session.service.js +1 -9
- package/esm2015/lib/cube/accum/accum.component.js +2 -4
- package/esm2015/lib/cube/chart/chart.component.js +1 -1
- package/esm2015/lib/cube/filter/filter-tags.component.exp.js +8 -8
- package/esm2015/lib/cube/filter/filter.component.js +2 -2
- package/esm2015/lib/home/sign/sign.component.js +2 -2
- package/esm2015/lib/impersonate/impersonate.component.js +69 -0
- package/esm2015/lib/shared.module.js +8 -13
- package/esm2015/lib/system.module.js +8 -10
- package/esm2015/lib/views/cube/cube-base.js +4 -6
- package/esm2015/lib/views/cube/matrix.component.js +13 -31
- package/esm2015/lib/views/cube/view.component.js +13 -12
- package/esm2015/lib/views/views.component.js +10 -11
- package/esm2015/public-api.js +2 -6
- package/fesm2015/bizdoc-core.js +239 -1038
- package/fesm2015/bizdoc-core.js.map +1 -1
- package/lib/app.component.d.ts +1 -4
- package/lib/core/configuration.d.ts +1 -17
- package/lib/core/session.service.d.ts +0 -5
- package/lib/cube/accum/accum.component.d.ts +1 -2
- package/lib/cube/filter/filter-tags.component.exp.d.ts +2 -2
- package/lib/{login/impersonate → impersonate}/impersonate.component.d.ts +3 -3
- package/lib/shared.module.d.ts +158 -162
- package/lib/system.module.d.ts +25 -26
- package/lib/views/cube/cube-base.d.ts +12 -9
- package/lib/views/cube/matrix.component.d.ts +0 -13
- package/lib/views/cube/view.component.d.ts +2 -7
- package/lib/views/views.component.d.ts +3 -5
- package/package.json +1 -4
- package/public-api.d.ts +2 -6
- package/esm2015/lib/admin/users/users.component.js +0 -155
- package/esm2015/lib/admin/users/users.service.js +0 -29
- package/esm2015/lib/login/forgot/forgot.component.js +0 -50
- package/esm2015/lib/login/form.authentication.js +0 -71
- package/esm2015/lib/login/form.interceptor.js +0 -26
- package/esm2015/lib/login/impersonate/impersonate.component.js +0 -69
- package/esm2015/lib/login/login.component.js +0 -130
- package/esm2015/lib/login/okta.authentication.js +0 -41
- package/esm2015/lib/login/okta.component.js +0 -84
- package/esm2015/lib/login/okta.interceptor.js +0 -30
- package/esm2015/lib/login/prompt/prompt.component.js +0 -194
- package/esm2015/lib/login/signin-info.service.js +0 -49
- package/lib/admin/users/users.component.d.ts +0 -41
- package/lib/admin/users/users.service.d.ts +0 -30
- package/lib/login/forgot/forgot.component.d.ts +0 -20
- package/lib/login/form.authentication.d.ts +0 -29
- package/lib/login/form.interceptor.d.ts +0 -11
- package/lib/login/login.component.d.ts +0 -18
- package/lib/login/okta.authentication.d.ts +0 -13
- package/lib/login/okta.component.d.ts +0 -18
- package/lib/login/okta.interceptor.d.ts +0 -11
- package/lib/login/prompt/prompt.component.d.ts +0 -45
- package/lib/login/signin-info.service.d.ts +0 -18
@@ -1,13 +1,22 @@
|
|
1
1
|
import { AxesMap, Cube, CubeEntry, DocumentModel } from "../../core/models";
|
2
2
|
import { SessionService } from "../../core/session.service";
|
3
3
|
import { DocumentViewRef } from "../document-view-ref";
|
4
|
-
import { CubeService } from '../../cube/cube.service';
|
4
|
+
import { CubeService, Pattern } from '../../cube/cube.service';
|
5
5
|
import { DocumentViewComponent } from "../../core/base";
|
6
6
|
import * as i0 from "@angular/core";
|
7
|
+
declare type ConsolidatedModel = {
|
8
|
+
[cube: string]: {
|
9
|
+
[axis: string]: string[];
|
10
|
+
};
|
11
|
+
};
|
7
12
|
export declare abstract class CubeBase<O extends Options> implements DocumentViewComponent {
|
8
13
|
protected _viewRef: DocumentViewRef<O>;
|
9
14
|
protected _service: CubeService;
|
10
15
|
protected _session: SessionService;
|
16
|
+
patterns: Pattern[];
|
17
|
+
pattern: Pattern;
|
18
|
+
loading: boolean;
|
19
|
+
anyAxes: boolean;
|
11
20
|
private _axes;
|
12
21
|
anyFilters: boolean;
|
13
22
|
get axes(): AxesMap;
|
@@ -26,15 +35,9 @@ export declare abstract class CubeBase<O extends Options> implements DocumentVie
|
|
26
35
|
* @param cube
|
27
36
|
*/
|
28
37
|
switchTo(cube: Cube): void;
|
29
|
-
protected consolidate(entries: CubeEntry[]):
|
30
|
-
[cube: string]: {
|
31
|
-
[axis: string]: string[];
|
32
|
-
};
|
33
|
-
};
|
38
|
+
protected consolidate(entries: CubeEntry[]): ConsolidatedModel;
|
34
39
|
protected setTitle(axes: AxesMap): void;
|
35
|
-
protected aggregate(originalAxes: AxesMap):
|
36
|
-
[x: string]: import("../../core/models").AxisType;
|
37
|
-
};
|
40
|
+
protected aggregate(originalAxes: AxesMap): AxesMap;
|
38
41
|
static ɵfac: i0.ɵɵFactoryDeclaration<CubeBase<any>, never>;
|
39
42
|
static ɵdir: i0.ɵɵDirectiveDeclaration<CubeBase<any>, never, never, {}, {}, never>;
|
40
43
|
}
|
@@ -13,20 +13,13 @@ export declare class CubeDocumentMatrixComponent extends CubeBase<Options> imple
|
|
13
13
|
private _router;
|
14
14
|
private _ds;
|
15
15
|
table: CubeMatrixTableComponent;
|
16
|
-
loading: boolean;
|
17
16
|
readonly sources: {
|
18
17
|
[axis: string]: Observable<{
|
19
18
|
key: string;
|
20
19
|
value: any;
|
21
20
|
}[]>;
|
22
21
|
};
|
23
|
-
/** filters */
|
24
|
-
readonly values: {
|
25
|
-
[axis: string]: string | number | Array<string | number>;
|
26
|
-
};
|
27
22
|
filters: CubeAxis[];
|
28
|
-
patterns: Pattern[];
|
29
|
-
pattern: Pattern;
|
30
23
|
indices?: string | string[];
|
31
24
|
xAxis: string;
|
32
25
|
serie: string;
|
@@ -37,18 +30,12 @@ export declare class CubeDocumentMatrixComponent extends CubeBase<Options> imple
|
|
37
30
|
};
|
38
31
|
constructor(viewRef: DocumentViewRef<Options>, _router: RouterImpl, service: CubeService, _ds: DatasourceService, session: SessionService);
|
39
32
|
onViewBind(): void;
|
40
|
-
private _copyAxesToFilterValues;
|
41
33
|
explore(axes: AxesMap): void;
|
42
34
|
/**
|
43
35
|
*
|
44
36
|
* @param value
|
45
37
|
*/
|
46
38
|
filter(name: string, value: string | number, title: string): void;
|
47
|
-
/**
|
48
|
-
*
|
49
|
-
* @param axes
|
50
|
-
*/
|
51
|
-
private _setAxes;
|
52
39
|
/**
|
53
40
|
*
|
54
41
|
* @param pattern
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { OnInit } from '@angular/core';
|
2
2
|
import { GuideService } from '../../core/guide/guide.service';
|
3
|
-
import {
|
3
|
+
import { CubeView } from '../../core/models';
|
4
4
|
import { Popup } from '../../core/popup/popup.service';
|
5
5
|
import { RouterImpl } from '../../core/router';
|
6
6
|
import { SessionService } from '../../core/session.service';
|
@@ -15,12 +15,7 @@ export declare class CubeDocumentViewComponent extends CubeBase<Options> impleme
|
|
15
15
|
private _router;
|
16
16
|
private _guide;
|
17
17
|
viewPane: CubeViewComponent;
|
18
|
-
patterns: Pattern[];
|
19
|
-
pattern: Pattern;
|
20
|
-
cube: Cube;
|
21
18
|
view: CubeView;
|
22
|
-
anyAxes: boolean;
|
23
|
-
loading: boolean;
|
24
19
|
constructor(session: SessionService, viewRef: DocumentViewRef<Options>, service: CubeService, _popup: Popup, _router: RouterImpl, _guide: GuideService);
|
25
20
|
onViewBind(): void;
|
26
21
|
ngOnInit(): void;
|
@@ -32,7 +27,6 @@ export declare class CubeDocumentViewComponent extends CubeBase<Options> impleme
|
|
32
27
|
explore(evt: AxisClickEvent): void;
|
33
28
|
patternChange(pattern: Pattern): void;
|
34
29
|
clearFilter(): void;
|
35
|
-
private _navigate;
|
36
30
|
guide(evt?: Event): void;
|
37
31
|
static ɵfac: i0.ɵɵFactoryDeclaration<CubeDocumentViewComponent, never>;
|
38
32
|
static ɵcmp: i0.ɵɵComponentDeclaration<CubeDocumentViewComponent, "ng-component", never, {}, {}, never, never>;
|
@@ -40,5 +34,6 @@ export declare class CubeDocumentViewComponent extends CubeBase<Options> impleme
|
|
40
34
|
interface Options {
|
41
35
|
view: string;
|
42
36
|
aggregate?: string[];
|
37
|
+
filters?: string[];
|
43
38
|
}
|
44
39
|
export {};
|
@@ -1,16 +1,14 @@
|
|
1
|
-
import {
|
1
|
+
import { ChangeDetectorRef } from "@angular/core";
|
2
2
|
import { OnChanges, SimpleChanges } from "@angular/core";
|
3
|
-
import { BizDocComponentFactoryResolver } from "../core/component-factory-resolver";
|
4
3
|
import { DocumentModel, View } from "../core/models";
|
5
4
|
import { SessionService } from "../core/session.service";
|
6
5
|
import * as i0 from "@angular/core";
|
7
6
|
export declare class DocumentViewsComponent implements OnChanges {
|
8
|
-
private
|
9
|
-
private vc;
|
7
|
+
private _cd;
|
10
8
|
private _session;
|
11
9
|
model: DocumentModel;
|
12
10
|
views: View[];
|
13
|
-
constructor(
|
11
|
+
constructor(_cd: ChangeDetectorRef, _session: SessionService);
|
14
12
|
ngOnChanges(_: SimpleChanges): void;
|
15
13
|
static ɵfac: i0.ɵɵFactoryDeclaration<DocumentViewsComponent, never>;
|
16
14
|
static ɵcmp: i0.ɵɵComponentDeclaration<DocumentViewsComponent, "bizdoc-document-views", never, { "model": "model"; }, {}, never, never>;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@bizdoc/core",
|
3
|
-
"version": "1.7.0-next.
|
3
|
+
"version": "1.7.0-next.7",
|
4
4
|
"author": "Moding Ltd.",
|
5
5
|
"homepage": "https://github.com/moding-il/bizdoc.core",
|
6
6
|
"license": "https://github.com/moding-il/bizdoc.core/blob/master/License.md",
|
@@ -11,9 +11,6 @@
|
|
11
11
|
"dependencies": {
|
12
12
|
"@ctrl/ngx-emoji-mart": "^6.0.1",
|
13
13
|
"@microsoft/signalr": "^5.0.10",
|
14
|
-
"@okta/okta-angular": "^4.0.0",
|
15
|
-
"@okta/okta-auth-js": "^5.5.0",
|
16
|
-
"@okta/okta-signin-widget": "^5.11.1",
|
17
14
|
"@syncfusion/ej2": "^19.2.62",
|
18
15
|
"@syncfusion/ej2-angular-charts": "^19.2.62",
|
19
16
|
"@syncfusion/ej2-angular-circulargauge": "^19.2.62",
|
package/public-api.d.ts
CHANGED
@@ -6,7 +6,7 @@ export { isMobile, isArray, isBoolean, isDate, isObject, isString } from './lib/
|
|
6
6
|
export { BizDoc, ComponentType, } from './lib/core/decorators';
|
7
7
|
export * from './lib/core/configuration';
|
8
8
|
export { BizDocApp } from './lib/app.component';
|
9
|
-
export { Folder, Form, LatLng, Dimentions, Guide, GuideStep, Gender, CubeAxis, AxisType, RecipientModel, Action, State, HeaderModel, LogType, Role, Comment, Attachment, DocumentModel, DRAFT, INBOX, ScheduledEvent, CubeEntry, Log, Recipient, Cube, Widget, Report, CubeIndex, AxesMap, CubeView, Notification, FieldType } from './lib/core/models';
|
9
|
+
export { Folder, Form, LatLng, Dimentions, Guide, GuideStep, Gender, CubeAxis, AxisType, RecipientModel, Action, State, HeaderModel, LogType, Role, Comment, Attachment, DocumentModel, DRAFT, INBOX, ScheduledEvent, CubeEntry, Log, Recipient, Cube, Widget, Report, CubeIndex, AxesMap, CubeView, Notification, FieldType, UserInfo } from './lib/core/models';
|
10
10
|
export { AxisClickEvent } from './lib/cube/declarations';
|
11
11
|
export { ItemClickEvent } from './lib/cube/explore/explore-items.component';
|
12
12
|
export { UtilityRef } from "./lib/admin/utility-ref";
|
@@ -14,7 +14,7 @@ export { ReportRef, ExportEventArgs } from "./lib/reports/report-ref";
|
|
14
14
|
export { WidgetRef } from "./lib/dashboard/widget-ref";
|
15
15
|
export { FormRef, SaveEventArgs } from "./lib/compose/form-ref";
|
16
16
|
export { MailboxService, FilterType } from './lib/core/mailbox.service';
|
17
|
-
export { SessionService
|
17
|
+
export { SessionService } from './lib/core/session.service';
|
18
18
|
export { DatasourceService } from './lib/core/datasource.service';
|
19
19
|
export { AccountService } from './lib/core/account.service';
|
20
20
|
export { AvatarComponent } from './lib/core/avatar/avatar.component';
|
@@ -124,13 +124,9 @@ export { DocumentViewsComponent } from './lib/views/views.component';
|
|
124
124
|
export { DocumentViewRef } from "./lib/views/document-view-ref";
|
125
125
|
export { RouterImpl } from './lib/core/router';
|
126
126
|
export { DocumentInfoComponent } from './lib/compose/document.component';
|
127
|
-
export { OktaHttpInterceptor } from "./lib/login/okta.interceptor";
|
128
127
|
export { AuthenticationImpl } from './lib/core/authentication';
|
129
|
-
export { OktaAuthentication } from "./lib/login/okta.authentication";
|
130
|
-
export { FormAuthentication } from "./lib/login/form.authentication";
|
131
128
|
export { CubeAccumulationChartComponent } from './lib/cube/accum/accum.component';
|
132
129
|
export { CubeChartComponent } from './lib/cube/chart/chart.component';
|
133
130
|
export { CubeGridComponent } from './lib/cube/grid/grid.component';
|
134
131
|
export { CubeSpreadsheetComponent } from './lib/cube/grid/spreadsheet.component';
|
135
132
|
export { CubePivotComponent } from './lib/cube/pivot/pivot.component';
|
136
|
-
export { FormHttpInterceptor } from './lib/login/form.interceptor';
|
@@ -1,155 +0,0 @@
|
|
1
|
-
import { __decorate } from "tslib";
|
2
|
-
import { Component, ViewChild, Inject } from '@angular/core';
|
3
|
-
import { Validators } from '@angular/forms';
|
4
|
-
import { BizDoc } from '../../core/decorators';
|
5
|
-
import { SelectionModel } from '@angular/cdk/collections';
|
6
|
-
import { BIZDOC_CONFIG } from '../../core/configuration';
|
7
|
-
import { MatTableDataSource } from '@angular/material/table';
|
8
|
-
import { MatSort } from '@angular/material/sort';
|
9
|
-
import * as i0 from "@angular/core";
|
10
|
-
import * as i1 from "@angular/forms";
|
11
|
-
import * as i2 from "./users.service";
|
12
|
-
import * as i3 from "@angular/material/snack-bar";
|
13
|
-
import * as i4 from "@angular/cdk/bidi";
|
14
|
-
import * as i5 from "@angular/material/dialog";
|
15
|
-
import * as i6 from "../../core/translate.service";
|
16
|
-
import * as i7 from "@angular/material/toolbar";
|
17
|
-
import * as i8 from "../core/search.input";
|
18
|
-
import * as i9 from "@angular/material/button";
|
19
|
-
import * as i10 from "@angular/material/icon";
|
20
|
-
import * as i11 from "@angular/material/sidenav";
|
21
|
-
import * as i12 from "@angular/material/table";
|
22
|
-
import * as i13 from "@angular/material/checkbox";
|
23
|
-
import * as i14 from "@angular/material/sort";
|
24
|
-
import * as i15 from "@angular/material/menu";
|
25
|
-
import * as i16 from "@angular/material/form-field";
|
26
|
-
import * as i17 from "@angular/material/select";
|
27
|
-
import * as i18 from "@angular/material/core";
|
28
|
-
import * as i19 from "@angular/material/tooltip";
|
29
|
-
import * as i20 from "@angular/flex-layout/flex";
|
30
|
-
import * as i21 from "@angular/material/input";
|
31
|
-
import * as i22 from "@angular/common";
|
32
|
-
import * as i23 from "../../core/pipes/translate.pipe";
|
33
|
-
const HTTP_CUSTOM_ERR = 406;
|
34
|
-
let UsersComponent = class UsersComponent {
|
35
|
-
/** users ctor */
|
36
|
-
constructor(_fb, _service, _sb, _dir, _dialog, _translate, _bizdoc) {
|
37
|
-
this._fb = _fb;
|
38
|
-
this._service = _service;
|
39
|
-
this._sb = _sb;
|
40
|
-
this._dir = _dir;
|
41
|
-
this._dialog = _dialog;
|
42
|
-
this._translate = _translate;
|
43
|
-
this._bizdoc = _bizdoc;
|
44
|
-
this.form = this._fb.group({
|
45
|
-
id: null,
|
46
|
-
nickName: null,
|
47
|
-
password: this._fb.control(null, Validators.required),
|
48
|
-
surname: null,
|
49
|
-
givenName: null,
|
50
|
-
gender: null,
|
51
|
-
userName: this._fb.control(null, Validators.required),
|
52
|
-
roles: null,
|
53
|
-
phoneNumber: null,
|
54
|
-
email: null
|
55
|
-
});
|
56
|
-
this.dataSource = new MatTableDataSource();
|
57
|
-
this.displayColumns = ['select', 'userName', 'email', 'options'];
|
58
|
-
this.selection = new SelectionModel(true, []);
|
59
|
-
}
|
60
|
-
ngOnInit() {
|
61
|
-
this.roles = this._service.roles();
|
62
|
-
this._service.all().subscribe(r => {
|
63
|
-
this.dataSource = new MatTableDataSource(r);
|
64
|
-
this.dataSource.sort = this.sort;
|
65
|
-
});
|
66
|
-
}
|
67
|
-
search(value) {
|
68
|
-
this.dataSource.filter = value;
|
69
|
-
}
|
70
|
-
add() {
|
71
|
-
this._clear();
|
72
|
-
const validators = [Validators.required];
|
73
|
-
if (this._bizdoc.credentials && this._bizdoc.credentials.password)
|
74
|
-
validators.push(Validators.pattern(this._bizdoc.credentials.password.pattern));
|
75
|
-
this.form.controls['password'].setValidators(validators);
|
76
|
-
this._dialog.open(this.newTemplate, { closeOnNavigation: true }).afterClosed().subscribe(r => {
|
77
|
-
if (r)
|
78
|
-
this._service.add(this.form.getRawValue()).subscribe(u => {
|
79
|
-
this.dataSource.data.push(u);
|
80
|
-
this.dataSource.filter = '';
|
81
|
-
this._ok();
|
82
|
-
}, e => this._error(e));
|
83
|
-
});
|
84
|
-
}
|
85
|
-
edit(user) {
|
86
|
-
this._clear();
|
87
|
-
const validators = [];
|
88
|
-
if (this._bizdoc.credentials && this._bizdoc.credentials.password)
|
89
|
-
validators.push(Validators.pattern(this._bizdoc.credentials.password.pattern));
|
90
|
-
this.form.controls['password'].setValidators(validators);
|
91
|
-
this._service.get(user.id).subscribe(u => {
|
92
|
-
Object.assign(user, u);
|
93
|
-
this.form.patchValue(user);
|
94
|
-
this._dialog.open(this.newTemplate, { closeOnNavigation: true }).afterClosed().subscribe(r => {
|
95
|
-
if (r)
|
96
|
-
this._service.update(user.id, this.form.getRawValue()).subscribe(() => {
|
97
|
-
this._ok();
|
98
|
-
}, e => this._error(e));
|
99
|
-
});
|
100
|
-
});
|
101
|
-
}
|
102
|
-
_error(e) {
|
103
|
-
let message;
|
104
|
-
if (e.status === HTTP_CUSTOM_ERR) {
|
105
|
-
message = e.body;
|
106
|
-
}
|
107
|
-
else
|
108
|
-
message = this._translate.get('Err');
|
109
|
-
this._sb.open(message, null, { duration: 3000, direction: this._dir.value });
|
110
|
-
}
|
111
|
-
_ok() {
|
112
|
-
this._sb.open(this._translate.get('ChangesSaved'), null, { duration: 4000 });
|
113
|
-
}
|
114
|
-
_clear() {
|
115
|
-
this.form.setValue({
|
116
|
-
id: null,
|
117
|
-
nickName: null,
|
118
|
-
password: null,
|
119
|
-
surname: null,
|
120
|
-
givenName: null,
|
121
|
-
gender: null,
|
122
|
-
userName: null,
|
123
|
-
roles: null,
|
124
|
-
phoneNumber: null,
|
125
|
-
email: null
|
126
|
-
});
|
127
|
-
}
|
128
|
-
};
|
129
|
-
UsersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: UsersComponent, deps: [{ token: i1.FormBuilder }, { token: i2.UsersService }, { token: i3.MatSnackBar }, { token: i4.Directionality }, { token: i5.MatDialog }, { token: i6.TranslateService }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
130
|
-
UsersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: UsersComponent, selector: "ng-component", viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true, static: true }, { propertyName: "newTemplate", first: true, predicate: ["tnew"], descendants: true, static: true }, { propertyName: "editTemplate", first: true, predicate: ["tedit"], descendants: true, static: true }], ngImport: i0, template: "<mat-toolbar>\r\n <bizdoc-search-input (valueChange)=\"search($event)\"></bizdoc-search-input>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"add()\" [matTooltip]=\"'Add'|translate\"><mat-icon>add</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-sidenav-container class=\"page-container\">\r\n <mat-sidenav-content>\r\n <table mat-table matSort [dataSource]=\"dataSource\" class=\"data-grid\">\r\n <ng-container matColumnDef=\"select\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <mat-checkbox (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? selection.toggle(element) : null\"\r\n [checked]=\"selection.isSelected(element)\">\r\n </mat-checkbox>\r\n </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"userName\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{ 'Username' | translate}}</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n {{element.userName }}\r\n </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"email\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{ 'Email' | translate}}</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n {{element.email }}\r\n </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"options\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\"><mat-icon>more_vert</mat-icon></button>\r\n <mat-menu #options>\r\n <ng-template matMenuContent>\r\n <button mat-menu-item (click)=\"edit(element)\">{{ 'Edit' | translate}}</button>\r\n </ng-template>\r\n </mat-menu>\r\n </td>\r\n </ng-container>\r\n <tr mat-header-row *matHeaderRowDef=\"displayColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let element; columns: displayColumns;\"></tr>\r\n </table>\r\n </mat-sidenav-content>\r\n</mat-sidenav-container>\r\n<!---->\r\n<ng-template #tnew>\r\n <h2 mat-dialog-title></h2>\r\n <mat-dialog-content>\r\n <form [formGroup]=\"form\" fxLayout=\"column\" autocomplete=\"off\" role=\"presentation\">\r\n <!-- skip Chrome autofill -->\r\n <input name=\"email\" class=\"hide\">\r\n <input type=\"text\" name=\"username\" class=\"hide\">\r\n <input type=\"password\" name=\"password\" class=\"hide\">\r\n <div fxLayout=\"row\">\r\n <mat-form-field>\r\n <input matInput [placeholder]=\"'Username'|translate\" required formControlName=\"userName\" cdkFocusInitial />\r\n </mat-form-field>\r\n \r\n <mat-form-field>\r\n <input matInput type=\"password\" [placeholder]=\"'Password'|translate\" [required]=\"!form.value.id\" formControlName=\"password\" autocomplete=\"off\" />\r\n <mat-icon matSuffix>vpn_key</mat-icon>\r\n </mat-form-field>\r\n </div>\r\n <div fxLayout=\"row\">\r\n <mat-form-field>\r\n <input matInput [placeholder]=\"'GivenName'|translate\" formControlName=\"givenName\" />\r\n </mat-form-field>\r\n \r\n <mat-form-field>\r\n <input matInput [placeholder]=\"'Surname'|translate\" formControlName=\"surname\" />\r\n </mat-form-field>\r\n </div>\r\n <div fxLayout=\"row\">\r\n <mat-form-field>\r\n <input matInput [placeholder]=\"'Email'|translate\" type=\"email\" formControlName=\"email\" />\r\n </mat-form-field>\r\n \r\n <mat-form-field>\r\n <input matInput [placeholder]=\"'PhoneNumber'|translate\" type=\"tel\" formControlName=\"phoneNumber\" />\r\n </mat-form-field>\r\n </div>\r\n <mat-form-field>\r\n <mat-select [placeholder]=\"'Roles'|translate\" formControlName=\"roles\" multiple>\r\n <mat-option *ngFor=\"let r of roles | async\" [value]=\"r.name\">{{r.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div fxLayout=\"row\">\r\n <mat-form-field>\r\n <input matInput [placeholder]=\"'NickName'|translate\" formControlName=\"nickName\" cdkFocusInitial />\r\n </mat-form-field>\r\n \r\n <mat-form-field>\r\n <mat-select [placeholder]=\"'Gender'|translate\" formControlName=\"gender\">\r\n <mat-option value=\"Male\">{{'Male'|translate}}</mat-option>\r\n <mat-option value=\"Female\">{{'Female'|translate}}</mat-option>\r\n <mat-option>{{'None'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </form>\r\n </mat-dialog-content>\r\n <mat-dialog-actions>\r\n <button mat-button mat-dialog-close=\"true\" type=\"submit\" color=\"primary\" [disabled]=\"!form.valid\">{{'OK'|translate}}</button>\r\n <button mat-button [mat-dialog-close]>{{'Cancel'|translate}}</button>\r\n </mat-dialog-actions>\r\n</ng-template>\r\n<ng-template #tedit>\r\n</ng-template>\r\n", styles: ["table{width:100%}.hide{opacity:0;float:left;height:0px;width:0px}form{margin:4px}\n"], components: [{ type: i7.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i8.SearchInput, selector: "bizdoc-search-input", outputs: ["valueChange"] }, { type: i9.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i11.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { type: i11.MatSidenavContent, selector: "mat-sidenav-content" }, { type: i12.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { type: i13.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i14.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "arrowPosition", "disableClear", "mat-sort-header", "start"], exportAs: ["matSortHeader"] }, { type: i15.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i15.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i12.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { type: i12.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { type: i16.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i17.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i18.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i19.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i14.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortActive"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { type: i12.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { type: i12.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { type: i12.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { type: i12.MatCellDef, selector: "[matCellDef]" }, { type: i12.MatCell, selector: "mat-cell, td[mat-cell]" }, { type: i15.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i15.MatMenuContent, selector: "ng-template[matMenuContent]" }, { type: i12.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { type: i12.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { type: i5.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i5.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i20.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i21.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { 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]" }, { type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i16.MatSuffix, selector: "[matSuffix]" }, { type: i22.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i5.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }], pipes: { "translate": i23.TranslatePipe, "async": i22.AsyncPipe } });
|
131
|
-
UsersComponent = __decorate([
|
132
|
-
BizDoc({ selector: 'bizdoc-asp-users' })
|
133
|
-
/** users component*/
|
134
|
-
], UsersComponent);
|
135
|
-
export { UsersComponent };
|
136
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: UsersComponent, decorators: [{
|
137
|
-
type: Component,
|
138
|
-
args: [{
|
139
|
-
templateUrl: './users.component.html',
|
140
|
-
styleUrls: ['./users.component.scss']
|
141
|
-
}]
|
142
|
-
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.UsersService }, { type: i3.MatSnackBar }, { type: i4.Directionality }, { type: i5.MatDialog }, { type: i6.TranslateService }, { type: undefined, decorators: [{
|
143
|
-
type: Inject,
|
144
|
-
args: [BIZDOC_CONFIG]
|
145
|
-
}] }]; }, propDecorators: { sort: [{
|
146
|
-
type: ViewChild,
|
147
|
-
args: [MatSort, { static: true }]
|
148
|
-
}], newTemplate: [{
|
149
|
-
type: ViewChild,
|
150
|
-
args: ['tnew', { static: true }]
|
151
|
-
}], editTemplate: [{
|
152
|
-
type: ViewChild,
|
153
|
-
args: ['tedit', { static: true }]
|
154
|
-
}] } });
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi91c2Vycy91c2Vycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL3VzZXJzL3VzZXJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBZSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFlLFVBQVUsRUFBZSxNQUFNLGdCQUFnQixDQUFDO0FBR3RFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHMUQsT0FBTyxFQUFFLGFBQWEsRUFBZ0IsTUFBTSwwQkFBMEIsQ0FBQztBQUV2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJakQsTUFBTSxlQUFlLEdBQUcsR0FBRyxDQUFDO0lBUWYsY0FBYyxTQUFkLGNBQWM7SUFvQnpCLGlCQUFpQjtJQUNqQixZQUFvQixHQUFnQixFQUFVLFFBQXNCLEVBQzFELEdBQWdCLEVBQVUsSUFBb0IsRUFDOUMsT0FBa0IsRUFBVSxVQUE0QixFQUFpQyxPQUFxQjtRQUZwRyxRQUFHLEdBQUgsR0FBRyxDQUFhO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBYztRQUMxRCxRQUFHLEdBQUgsR0FBRyxDQUFhO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBZ0I7UUFDOUMsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQUFVLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQWlD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QUFFLENBQUM7SUFDekMscUJBQXFCO0dBQ1IsY0FBYyxDQTBGMUI7U0ExRlksY0FBYzsyRkFBZCxjQUFjO2tCQU4xQixTQUFTO21CQUFDO29CQUNULFdBQVcsRUFBRSx3QkFBd0I7b0JBQ3JDLFNBQVMsRUFBRSxDQUFDLHdCQUF3QixDQUFDO2lCQUN0Qzs7MEJBMEJzRSxNQUFNOzJCQUFDLGFBQWE7NENBTm5ELElBQUk7c0JBQXpDLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDQyxXQUFXO3NCQUEvQyxTQUFTO3VCQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ0csWUFBWTtzQkFBakQsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdDaGlsZCwgVGVtcGxhdGVSZWYsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgVmFsaWRhdG9ycywgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVXNlcnNTZXJ2aWNlLCBJZGVudGl0eVVzZXIsIElkZW50aXR5Um9sZSB9IGZyb20gJy4vdXNlcnMuc2VydmljZSc7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIdHRwUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEJJWkRPQ19DT05GSUcsIEJpekRvY0NvbmZpZyB9IGZyb20gJy4uLy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xyXG5pbXBvcnQgeyBNYXRUYWJsZURhdGFTb3VyY2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XHJcbmltcG9ydCB7IE1hdFNvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcclxuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5cclxuY29uc3QgSFRUUF9DVVNUT01fRVJSID0gNDA2O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXJzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi91c2Vycy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbkBCaXpEb2MoeyBzZWxlY3RvcjogJ2JpemRvYy1hc3AtdXNlcnMnIH0pXHJcbi8qKiB1c2VycyBjb21wb25lbnQqL1xyXG5leHBvcnQgY2xhc3MgVXNlcnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHJlYWRvbmx5IGZvcm0gPSB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICBpZDogbnVsbCxcclxuICAgIG5pY2tOYW1lOiBudWxsLFxyXG4gICAgcGFzc3dvcmQ6IHRoaXMuX2ZiLmNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICBzdXJuYW1lOiBudWxsLFxyXG4gICAgZ2l2ZW5OYW1lOiBudWxsLFxyXG4gICAgZ2VuZGVyOiBudWxsLFxyXG4gICAgdXNlck5hbWU6IHRoaXMuX2ZiLmNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICByb2xlczogbnVsbCxcclxuICAgIHBob25lTnVtYmVyOiBudWxsLFxyXG4gICAgZW1haWw6IG51bGxcclxuICB9KTtcclxuICBkYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZTxJZGVudGl0eVVzZXI+KCk7XHJcbiAgcm9sZXM6IE9ic2VydmFibGU8SWRlbnRpdHlSb2xlW10+O1xyXG4gIHJlYWRvbmx5IGRpc3BsYXlDb2x1bW5zID0gWydzZWxlY3QnLCAndXNlck5hbWUnLCAnZW1haWwnLCAnb3B0aW9ucyddO1xyXG4gIHJlYWRvbmx5IHNlbGVjdGlvbiA9IG5ldyBTZWxlY3Rpb25Nb2RlbDxJZGVudGl0eVVzZXI+KHRydWUsIFtdKTtcclxuICBAVmlld0NoaWxkKE1hdFNvcnQsIHsgc3RhdGljOiB0cnVlIH0pIHNvcnQ6IE1hdFNvcnQ7XHJcbiAgQFZpZXdDaGlsZCgndG5ldycsIHsgc3RhdGljOiB0cnVlIH0pIG5ld1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBWaWV3Q2hpbGQoJ3RlZGl0JywgeyBzdGF0aWM6IHRydWUgfSkgZWRpdFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIC8qKiB1c2VycyBjdG9yICovXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIF9zZXJ2aWNlOiBVc2Vyc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zYjogTWF0U25hY2tCYXIsIHByaXZhdGUgX2RpcjogRGlyZWN0aW9uYWxpdHksXHJcbiAgICBwcml2YXRlIF9kaWFsb2c6IE1hdERpYWxvZywgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBASW5qZWN0KEJJWkRPQ19DT05GSUcpIHByaXZhdGUgX2JpemRvYzogQml6RG9jQ29uZmlnKSB7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yb2xlcyA9IHRoaXMuX3NlcnZpY2Uucm9sZXMoKTtcclxuICAgIHRoaXMuX3NlcnZpY2UuYWxsKCkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICB0aGlzLmRhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlKHIpO1xyXG4gICAgICB0aGlzLmRhdGFTb3VyY2Uuc29ydCA9IHRoaXMuc29ydDtcclxuICAgIH0pO1xyXG4gIH1cclxuICBzZWFyY2godmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5kYXRhU291cmNlLmZpbHRlciA9IHZhbHVlO1xyXG4gIH1cclxuICBhZGQoKSB7XHJcbiAgICB0aGlzLl9jbGVhcigpO1xyXG4gICAgY29uc3QgdmFsaWRhdG9yczogVmFsaWRhdG9yRm5bXSA9IFtWYWxpZGF0b3JzLnJlcXVpcmVkXTtcclxuICAgIGlmICh0aGlzLl9iaXpkb2MuY3JlZGVudGlhbHMgJiYgdGhpcy5fYml6ZG9jLmNyZWRlbnRpYWxzLnBhc3N3b3JkKVxyXG4gICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5wYXR0ZXJuKHRoaXMuX2JpemRvYy5jcmVkZW50aWFscy5wYXNzd29yZC5wYXR0ZXJuKSk7XHJcbiAgICB0aGlzLmZvcm0uY29udHJvbHNbJ3Bhc3N3b3JkJ10uc2V0VmFsaWRhdG9ycyh2YWxpZGF0b3JzKTtcclxuICAgIHRoaXMuX2RpYWxvZy5vcGVuKHRoaXMubmV3VGVtcGxhdGUsIHsgY2xvc2VPbk5hdmlnYXRpb246IHRydWUgfSkuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUociA9PiB7XHJcbiAgICAgIGlmIChyKSB0aGlzLl9zZXJ2aWNlLmFkZCh0aGlzLmZvcm0uZ2V0UmF3VmFsdWUoKSkuc3Vic2NyaWJlKHUgPT4ge1xyXG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhLnB1c2godSk7XHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLmZpbHRlciA9ICcnO1xyXG4gICAgICAgIHRoaXMuX29rKCk7XHJcbiAgICAgIH0sIGUgPT4gdGhpcy5fZXJyb3IoZSkpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGVkaXQodXNlcjogSWRlbnRpdHlVc2VyKSB7XHJcbiAgICB0aGlzLl9jbGVhcigpO1xyXG4gICAgY29uc3QgdmFsaWRhdG9yczogVmFsaWRhdG9yRm5bXSA9IFtdO1xyXG4gICAgaWYgKHRoaXMuX2JpemRvYy5jcmVkZW50aWFscyAmJiB0aGlzLl9iaXpkb2MuY3JlZGVudGlhbHMucGFzc3dvcmQpXHJcbiAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnBhdHRlcm4odGhpcy5fYml6ZG9jLmNyZWRlbnRpYWxzLnBhc3N3b3JkLnBhdHRlcm4pKTtcclxuICAgIHRoaXMuZm9ybS5jb250cm9sc1sncGFzc3dvcmQnXS5zZXRWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xyXG4gICAgdGhpcy5fc2VydmljZS5nZXQodXNlci5pZCkuc3Vic2NyaWJlKHUgPT4ge1xyXG4gICAgICBPYmplY3QuYXNzaWduKHVzZXIsIHUpO1xyXG4gICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh1c2VyKTtcclxuICAgICAgdGhpcy5fZGlhbG9nLm9wZW4odGhpcy5uZXdUZW1wbGF0ZSwgeyBjbG9zZU9uTmF2aWdhdGlvbjogdHJ1ZSB9KS5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShyID0+IHtcclxuICAgICAgICBpZiAocikgdGhpcy5fc2VydmljZS51cGRhdGUodXNlci5pZCwgdGhpcy5mb3JtLmdldFJhd1ZhbHVlKCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9vaygpO1xyXG4gICAgICAgIH0sIGUgPT4gdGhpcy5fZXJyb3IoZSkpO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBwcml2YXRlIF9lcnJvcihlOiBIdHRwUmVzcG9uc2U8YW55Pikge1xyXG4gICAgbGV0IG1lc3NhZ2U6IHN0cmluZztcclxuICAgIGlmIChlLnN0YXR1cyA9PT0gSFRUUF9DVVNUT01fRVJSKSB7XHJcbiAgICAgIG1lc3NhZ2UgPSBlLmJvZHlcclxuICAgIH1cclxuICAgIGVsc2UgbWVzc2FnZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ0VycicpO1xyXG4gICAgdGhpcy5fc2Iub3BlbihtZXNzYWdlLCBudWxsLCB7IGR1cmF0aW9uOiAzMDAwLCBkaXJlY3Rpb246IHRoaXMuX2Rpci52YWx1ZSB9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfb2soKSB7XHJcbiAgICB0aGlzLl9zYi5vcGVuKHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ0NoYW5nZXNTYXZlZCcpLCBudWxsLCB7IGR1cmF0aW9uOiA0MDAwIH0pO1xyXG4gIH1cclxuICBwcml2YXRlIF9jbGVhcigpIHtcclxuICAgIHRoaXMuZm9ybS5zZXRWYWx1ZSh7XHJcbiAgICAgIGlkOiBudWxsLFxyXG4gICAgICBuaWNrTmFtZTogbnVsbCxcclxuICAgICAgcGFzc3dvcmQ6IG51bGwsXHJcbiAgICAgIHN1cm5hbWU6IG51bGwsXHJcbiAgICAgIGdpdmVuTmFtZTogbnVsbCxcclxuICAgICAgZ2VuZGVyOiBudWxsLFxyXG4gICAgICB1c2VyTmFtZTogbnVsbCxcclxuICAgICAgcm9sZXM6IG51bGwsXHJcbiAgICAgIHBob25lTnVtYmVyOiBudWxsLFxyXG4gICAgICBlbWFpbDogbnVsbFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtdG9vbGJhcj5cclxuICA8Yml6ZG9jLXNlYXJjaC1pbnB1dCAodmFsdWVDaGFuZ2UpPVwic2VhcmNoKCRldmVudClcIj48L2JpemRvYy1zZWFyY2gtaW5wdXQ+XHJcbiAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJhZGQoKVwiIFttYXRUb29sdGlwXT1cIidBZGQnfHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG48L21hdC10b29sYmFyPlxyXG48bWF0LXNpZGVuYXYtY29udGFpbmVyIGNsYXNzPVwicGFnZS1jb250YWluZXJcIj5cclxuICA8bWF0LXNpZGVuYXYtY29udGVudD5cclxuICAgIDx0YWJsZSBtYXQtdGFibGUgbWF0U29ydCBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCIgY2xhc3M9XCJkYXRhLWdyaWRcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJzZWxlY3RcIj5cclxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPjwvdGg+XHJcbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cclxuICAgICAgICAgIDxtYXQtY2hlY2tib3ggKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiJGV2ZW50ID8gc2VsZWN0aW9uLnRvZ2dsZShlbGVtZW50KSA6IG51bGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3Rpb24uaXNTZWxlY3RlZChlbGVtZW50KVwiPlxyXG4gICAgICAgICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgICAgPC90ZD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwidXNlck5hbWVcIj5cclxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj57eyAnVXNlcm5hbWUnIHwgdHJhbnNsYXRlfX08L3RoPlxyXG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XHJcbiAgICAgICAgICB7e2VsZW1lbnQudXNlck5hbWUgfX1cclxuICAgICAgICA8L3RkPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJlbWFpbFwiPlxyXG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7ICdFbWFpbCcgfCB0cmFuc2xhdGV9fTwvdGg+XHJcbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cclxuICAgICAgICAgIHt7ZWxlbWVudC5lbWFpbCB9fVxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIm9wdGlvbnNcIj5cclxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPjwvdGg+XHJcbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cclxuICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJvcHRpb25zXCI+PG1hdC1pY29uPm1vcmVfdmVydDwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgICAgICA8bWF0LW1lbnUgI29wdGlvbnM+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRNZW51Q29udGVudD5cclxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImVkaXQoZWxlbWVudClcIj57eyAnRWRpdCcgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPC9tYXQtbWVudT5cclxuICAgICAgICA8L3RkPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5Q29sdW1uc1wiPjwvdHI+XHJcbiAgICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgZWxlbWVudDsgY29sdW1uczogZGlzcGxheUNvbHVtbnM7XCI+PC90cj5cclxuICAgIDwvdGFibGU+XHJcbiAgPC9tYXQtc2lkZW5hdi1jb250ZW50PlxyXG48L21hdC1zaWRlbmF2LWNvbnRhaW5lcj5cclxuPCEtLS0tPlxyXG48bmctdGVtcGxhdGUgI3RuZXc+XHJcbiAgPGgyIG1hdC1kaWFsb2ctdGl0bGU+PC9oMj5cclxuICA8bWF0LWRpYWxvZy1jb250ZW50PlxyXG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIiBhdXRvY29tcGxldGU9XCJvZmZcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+XHJcbiAgICAgIDwhLS0gc2tpcCBDaHJvbWUgYXV0b2ZpbGwgLS0+XHJcbiAgICAgIDxpbnB1dCBuYW1lPVwiZW1haWxcIiBjbGFzcz1cImhpZGVcIj5cclxuICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgbmFtZT1cInVzZXJuYW1lXCIgY2xhc3M9XCJoaWRlXCI+XHJcbiAgICAgIDxpbnB1dCB0eXBlPVwicGFzc3dvcmRcIiBuYW1lPVwicGFzc3dvcmRcIiBjbGFzcz1cImhpZGVcIj5cclxuICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbcGxhY2Vob2xkZXJdPVwiJ1VzZXJuYW1lJ3x0cmFuc2xhdGVcIiByZXF1aXJlZCBmb3JtQ29udHJvbE5hbWU9XCJ1c2VyTmFtZVwiIGNka0ZvY3VzSW5pdGlhbCAvPlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgJm5ic3A7XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJwYXNzd29yZFwiIFtwbGFjZWhvbGRlcl09XCInUGFzc3dvcmQnfHRyYW5zbGF0ZVwiIFtyZXF1aXJlZF09XCIhZm9ybS52YWx1ZS5pZFwiIGZvcm1Db250cm9sTmFtZT1cInBhc3N3b3JkXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgLz5cclxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXg+dnBuX2tleTwvbWF0LWljb24+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIj5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgW3BsYWNlaG9sZGVyXT1cIidHaXZlbk5hbWUnfHRyYW5zbGF0ZVwiIGZvcm1Db250cm9sTmFtZT1cImdpdmVuTmFtZVwiIC8+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAmbmJzcDtcclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgW3BsYWNlaG9sZGVyXT1cIidTdXJuYW1lJ3x0cmFuc2xhdGVcIiBmb3JtQ29udHJvbE5hbWU9XCJzdXJuYW1lXCIgLz5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbcGxhY2Vob2xkZXJdPVwiJ0VtYWlsJ3x0cmFuc2xhdGVcIiB0eXBlPVwiZW1haWxcIiBmb3JtQ29udHJvbE5hbWU9XCJlbWFpbFwiIC8+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAmbmJzcDtcclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgW3BsYWNlaG9sZGVyXT1cIidQaG9uZU51bWJlcid8dHJhbnNsYXRlXCIgdHlwZT1cInRlbFwiIGZvcm1Db250cm9sTmFtZT1cInBob25lTnVtYmVyXCIgLz5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0IFtwbGFjZWhvbGRlcl09XCInUm9sZXMnfHRyYW5zbGF0ZVwiIGZvcm1Db250cm9sTmFtZT1cInJvbGVzXCIgbXVsdGlwbGU+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgciBvZiByb2xlcyB8IGFzeW5jXCIgW3ZhbHVlXT1cInIubmFtZVwiPnt7ci5uYW1lfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCI+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IFtwbGFjZWhvbGRlcl09XCInTmlja05hbWUnfHRyYW5zbGF0ZVwiIGZvcm1Db250cm9sTmFtZT1cIm5pY2tOYW1lXCIgY2RrRm9jdXNJbml0aWFsIC8+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAmbmJzcDtcclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICA8bWF0LXNlbGVjdCBbcGxhY2Vob2xkZXJdPVwiJ0dlbmRlcid8dHJhbnNsYXRlXCIgZm9ybUNvbnRyb2xOYW1lPVwiZ2VuZGVyXCI+XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiTWFsZVwiPnt7J01hbGUnfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIkZlbWFsZVwiPnt7J0ZlbWFsZSd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uPnt7J05vbmUnfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9mb3JtPlxyXG4gIDwvbWF0LWRpYWxvZy1jb250ZW50PlxyXG4gIDxtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgICA8YnV0dG9uIG1hdC1idXR0b24gbWF0LWRpYWxvZy1jbG9zZT1cInRydWVcIiB0eXBlPVwic3VibWl0XCIgY29sb3I9XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cIiFmb3JtLnZhbGlkXCI+e3snT0snfHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgICA8YnV0dG9uIG1hdC1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPnt7J0NhbmNlbCd8dHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICA8L21hdC1kaWFsb2ctYWN0aW9ucz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICN0ZWRpdD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
@@ -1,29 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
import * as i1 from "@angular/common/http";
|
4
|
-
export class UsersService {
|
5
|
-
constructor(http) {
|
6
|
-
this.http = http;
|
7
|
-
}
|
8
|
-
add(user) {
|
9
|
-
return this.http.post('api/aspusers', user);
|
10
|
-
}
|
11
|
-
all() {
|
12
|
-
return this.http.get('api/aspusers');
|
13
|
-
}
|
14
|
-
roles() {
|
15
|
-
return this.http.get('api/aspusers/roles');
|
16
|
-
}
|
17
|
-
get(id) {
|
18
|
-
return this.http.get(`api/aspusers/${id}`);
|
19
|
-
}
|
20
|
-
update(id, user) {
|
21
|
-
return this.http.put(`api/aspusers/${id}`, user);
|
22
|
-
}
|
23
|
-
}
|
24
|
-
UsersService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: UsersService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
25
|
-
UsersService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: UsersService });
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: UsersService, decorators: [{
|
27
|
-
type: Injectable
|
28
|
-
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vdXNlcnMvdXNlcnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUNwQyxDQUFDO0lBQ0QsR0FBRyxDQUFDLElBQWtCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU0sY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFDRCxHQUFHO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBaUIsY0FBYyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUNELEtBQUs7UUFDSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFpQixvQkFBb0IsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFDRCxHQUFHLENBQUMsRUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWUsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUNELE1BQU0sQ0FBQyxFQUFVLEVBQUUsSUFBa0I7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBZSxnQkFBZ0IsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakUsQ0FBQzs7eUdBakJVLFlBQVk7NkdBQVosWUFBWTsyRkFBWixZQUFZO2tCQUR4QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBHZW5kZXIgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFVzZXJzU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7XHJcbiAgfVxyXG4gIGFkZCh1c2VyOiBJZGVudGl0eVVzZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oJ2FwaS9hc3B1c2VycycsIHVzZXIpO1xyXG4gIH1cclxuICBhbGwoKTogT2JzZXJ2YWJsZTxJZGVudGl0eVVzZXJbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SWRlbnRpdHlVc2VyW10+KCdhcGkvYXNwdXNlcnMnKTtcclxuICB9XHJcbiAgcm9sZXMoKTogT2JzZXJ2YWJsZTxJZGVudGl0eVJvbGVbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SWRlbnRpdHlSb2xlW10+KCdhcGkvYXNwdXNlcnMvcm9sZXMnKTtcclxuICB9XHJcbiAgZ2V0KGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElkZW50aXR5VXNlcj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SWRlbnRpdHlVc2VyPihgYXBpL2FzcHVzZXJzLyR7aWR9YCk7XHJcbiAgfVxyXG4gIHVwZGF0ZShpZDogc3RyaW5nLCB1c2VyOiBJZGVudGl0eVVzZXIpOiBPYnNlcnZhYmxlPElkZW50aXR5VXNlcj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8SWRlbnRpdHlVc2VyPihgYXBpL2FzcHVzZXJzLyR7aWR9YCwgdXNlcik7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgSWRlbnRpdHlVc2VyIHtcclxuICBpZDogc3RyaW5nO1xyXG4gIG5pa2VOYW1lPzogc3RyaW5nO1xyXG4gIHVzZXJOYW1lOiBzdHJpbmc7XHJcbiAgZ2VuZGVyPzogR2VuZGVyO1xyXG4gIHNpcm5hbWU6IHN0cmluZztcclxuICBmaXJzdE5hbWU/OiBzdHJpbmc7XHJcbiAgcm9sZXM6IHN0cmluZ1tdO1xyXG4gIGVtYWlsOiBzdHJpbmc7XHJcbiAgcGhvbmVOdW1iZXI6IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIElkZW50aXR5Um9sZSB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBuYW1lOiBzdHJpbmc7XHJcbn1cclxuIl19
|
@@ -1,50 +0,0 @@
|
|
1
|
-
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
2
|
-
import { FormControl, Validators } from '@angular/forms';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
import * as i1 from "../../core/translate.service";
|
5
|
-
import * as i2 from "../form.authentication";
|
6
|
-
import * as i3 from "@angular/material/snack-bar";
|
7
|
-
import * as i4 from "@angular/material/form-field";
|
8
|
-
import * as i5 from "@angular/material/button";
|
9
|
-
import * as i6 from "@angular/common";
|
10
|
-
import * as i7 from "@angular/forms";
|
11
|
-
import * as i8 from "@angular/flex-layout/flex";
|
12
|
-
import * as i9 from "@angular/material/input";
|
13
|
-
import * as i10 from "../../core/pipes/translate.pipe";
|
14
|
-
/** forgot component*/
|
15
|
-
export class ForgotComponent {
|
16
|
-
/** forgot ctor */
|
17
|
-
constructor(translate, session, sb) {
|
18
|
-
this.translate = translate;
|
19
|
-
this.session = session;
|
20
|
-
this.sb = sb;
|
21
|
-
this.email = new FormControl([], [Validators.email, Validators.required]);
|
22
|
-
this.mode = 'ask';
|
23
|
-
this.serving = false;
|
24
|
-
this.processingChange = new EventEmitter();
|
25
|
-
}
|
26
|
-
ok() {
|
27
|
-
this.serving = true;
|
28
|
-
this.processingChange.emit(true);
|
29
|
-
this.session.forgot(this.email.value).subscribe(() => this.mode = 'done', () => {
|
30
|
-
this.sb.open(this.translate.get('ForgotErr'));
|
31
|
-
this.serving = false;
|
32
|
-
this.processingChange.emit(false);
|
33
|
-
});
|
34
|
-
}
|
35
|
-
}
|
36
|
-
ForgotComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: ForgotComponent, deps: [{ token: i1.TranslateService }, { token: i2.FormAuthentication }, { token: i3.MatSnackBar }], target: i0.ɵɵFactoryTarget.Component });
|
37
|
-
ForgotComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: ForgotComponent, selector: "bizdoc-forgot", inputs: { serving: "serving" }, outputs: { processingChange: "processingChange" }, ngImport: i0, template: "<div [ngSwitch]=\"mode\">\r\n <div *ngSwitchCase=\"'done'\">\r\n <h4>{{'ForgotMsg' | translate : email.value}}</h4>\r\n </div>\r\n <div *ngSwitchDefault>\r\n <form fxLayout=\"column\">\r\n <mat-form-field>\r\n <input matInput name=\"email\" type=\"email\" [placeholder]=\"'Email' | translate\" required />\r\n <!--<mat-hint>ForgotHint</mat-hint>-->\r\n <mat-error *ngIf=\"email.hasError('required')\">{{'EmailRequired' | translate}}</mat-error>\r\n </mat-form-field>\r\n <div>\r\n <button mat-raised-button color=\"primary\" (click)=\"ok()\" [disabled]=\"email.invalid || serving\">{{'ForgotSend' | translate}}</button>\r\n </div>\r\n </form>\r\n </div>\r\n</div>\r\n", styles: [""], components: [{ type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i6.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i8.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i10.TranslatePipe } });
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: ForgotComponent, decorators: [{
|
39
|
-
type: Component,
|
40
|
-
args: [{
|
41
|
-
selector: 'bizdoc-forgot',
|
42
|
-
templateUrl: './forgot.component.html',
|
43
|
-
styleUrls: ['./forgot.component.scss']
|
44
|
-
}]
|
45
|
-
}], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.FormAuthentication }, { type: i3.MatSnackBar }]; }, propDecorators: { serving: [{
|
46
|
-
type: Input
|
47
|
-
}], processingChange: [{
|
48
|
-
type: Output
|
49
|
-
}] } });
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZ290LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvbG9naW4vZm9yZ290L2ZvcmdvdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2xvZ2luL2ZvcmdvdC9mb3Jnb3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7QUFRekQsc0JBQXNCO0FBQ3RCLE1BQU0sT0FBTyxlQUFlO0lBSzFCLGtCQUFrQjtJQUNsQixZQUFvQixTQUEyQixFQUFVLE9BQTJCLEVBQVUsRUFBZTtRQUF6RixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUw3RyxVQUFLLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNyRSxTQUFJLEdBQW1CLEtBQUssQ0FBQztRQUNwQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ04scUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUlsRSxDQUFDO0lBQ0QsRUFBRTtRQUNBLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQ3JELElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxFQUFFLEdBQUcsRUFBRTtZQUN2QixJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDOzs0R0FsQlUsZUFBZTtnR0FBZixlQUFlLHdJQ1o1QiwwdEJBaUJBOzJGRExhLGVBQWU7a0JBTjNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFdBQVcsRUFBRSx5QkFBeUI7b0JBQ3RDLFNBQVMsRUFBRSxDQUFDLHlCQUF5QixDQUFDO2lCQUN2QztrS0FLVSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ2EsZ0JBQWdCO3NCQUFsQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBGb3JtQXV0aGVudGljYXRpb24gfSBmcm9tIFwiLi4vZm9ybS5hdXRoZW50aWNhdGlvblwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtZm9yZ290JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZm9yZ290LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mb3Jnb3QuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG4vKiogZm9yZ290IGNvbXBvbmVudCovXHJcbmV4cG9ydCBjbGFzcyBGb3Jnb3RDb21wb25lbnQge1xyXG4gIGVtYWlsID0gbmV3IEZvcm1Db250cm9sKFtdLCBbVmFsaWRhdG9ycy5lbWFpbCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xyXG4gIG1vZGU6ICdhc2snIHwgJ2RvbmUnID0gJ2Fzayc7XHJcbiAgQElucHV0KCkgc2VydmluZyA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSByZWFkb25seSBwcm9jZXNzaW5nQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIC8qKiBmb3Jnb3QgY3RvciAqL1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBwcml2YXRlIHNlc3Npb246IEZvcm1BdXRoZW50aWNhdGlvbiwgcHJpdmF0ZSBzYjogTWF0U25hY2tCYXIpIHtcclxuXHJcbiAgfVxyXG4gIG9rKCkge1xyXG4gICAgdGhpcy5zZXJ2aW5nID0gdHJ1ZTtcclxuICAgIHRoaXMucHJvY2Vzc2luZ0NoYW5nZS5lbWl0KHRydWUpO1xyXG4gICAgICB0aGlzLnNlc3Npb24uZm9yZ290KHRoaXMuZW1haWwudmFsdWUpLnN1YnNjcmliZSgoKSA9PlxyXG4gICAgICB0aGlzLm1vZGUgPSAnZG9uZScsICgpID0+IHtcclxuICAgICAgICB0aGlzLnNiLm9wZW4odGhpcy50cmFuc2xhdGUuZ2V0KCdGb3Jnb3RFcnInKSk7XHJcbiAgICAgICAgdGhpcy5zZXJ2aW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5wcm9jZXNzaW5nQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gICAgICB9KVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtuZ1N3aXRjaF09XCJtb2RlXCI+XHJcbiAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ2RvbmUnXCI+XHJcbiAgICA8aDQ+e3snRm9yZ290TXNnJyB8IHRyYW5zbGF0ZSA6IGVtYWlsLnZhbHVlfX08L2g0PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nU3dpdGNoRGVmYXVsdD5cclxuICAgIDxmb3JtIGZ4TGF5b3V0PVwiY29sdW1uXCI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT1cImVtYWlsXCIgdHlwZT1cImVtYWlsXCIgW3BsYWNlaG9sZGVyXT1cIidFbWFpbCcgfCB0cmFuc2xhdGVcIiByZXF1aXJlZCAvPlxyXG4gICAgICAgIDwhLS08bWF0LWhpbnQ+Rm9yZ290SGludDwvbWF0LWhpbnQ+LS0+XHJcbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImVtYWlsLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+e3snRW1haWxSZXF1aXJlZCcgfCB0cmFuc2xhdGV9fTwvbWF0LWVycm9yPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8ZGl2PlxyXG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cIm9rKClcIiBbZGlzYWJsZWRdPVwiZW1haWwuaW52YWxpZCB8fCBzZXJ2aW5nXCI+e3snRm9yZ290U2VuZCcgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZm9ybT5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
@@ -1,71 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import { HttpClient } from '@angular/common/http';
|
3
|
-
import { Observable } from 'rxjs';
|
4
|
-
import { AuthenticationImpl } from '../core/authentication';
|
5
|
-
import * as i0 from "@angular/core";
|
6
|
-
export class FormAuthentication extends AuthenticationImpl {
|
7
|
-
constructor(injector) {
|
8
|
-
super();
|
9
|
-
this._http = injector.get(HttpClient);
|
10
|
-
}
|
11
|
-
getAccessToken() {
|
12
|
-
const accessToken = sessionStorage.getItem('token') ||
|
13
|
-
localStorage.getItem('token');
|
14
|
-
return accessToken;
|
15
|
-
}
|
16
|
-
authenticate(username, password, options = {}) {
|
17
|
-
return new Observable(observe => {
|
18
|
-
this._http.post('/api/formidentity/login', {
|
19
|
-
username, password
|
20
|
-
}).subscribe(r => {
|
21
|
-
if (options.rememberMe) {
|
22
|
-
localStorage.setItem('token', r.tokenId);
|
23
|
-
localStorage.setItem('username', username);
|
24
|
-
localStorage.setItem('displayName', r.name);
|
25
|
-
r.photo && localStorage.setItem('photo', r.photo);
|
26
|
-
(r.gender) && localStorage.setItem('gender', r.gender);
|
27
|
-
}
|
28
|
-
else {
|
29
|
-
localStorage.removeItem('token');
|
30
|
-
sessionStorage.setItem('token', r.tokenId);
|
31
|
-
}
|
32
|
-
observe.next();
|
33
|
-
observe.complete();
|
34
|
-
}, (e) => {
|
35
|
-
let reason;
|
36
|
-
switch (e.status) {
|
37
|
-
default:
|
38
|
-
reason = LoginResult.Failed;
|
39
|
-
}
|
40
|
-
observe.error(reason);
|
41
|
-
});
|
42
|
-
});
|
43
|
-
}
|
44
|
-
signOut() {
|
45
|
-
return this._http.post('/api/aspidentity/signout', null).toPromise();
|
46
|
-
}
|
47
|
-
forgot(email) {
|
48
|
-
return this._http.post('/api/aspidentity/forgot', { email });
|
49
|
-
}
|
50
|
-
get photo() {
|
51
|
-
return localStorage.getItem('photo');
|
52
|
-
}
|
53
|
-
get displayName() {
|
54
|
-
return localStorage.getItem('displayName');
|
55
|
-
}
|
56
|
-
get username() {
|
57
|
-
return localStorage.getItem('username');
|
58
|
-
}
|
59
|
-
}
|
60
|
-
FormAuthentication.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: FormAuthentication, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
61
|
-
FormAuthentication.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: FormAuthentication, providedIn: 'root' });
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: FormAuthentication, decorators: [{
|
63
|
-
type: Injectable,
|
64
|
-
args: [{ providedIn: 'root' }]
|
65
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
66
|
-
export var LoginResult;
|
67
|
-
(function (LoginResult) {
|
68
|
-
LoginResult[LoginResult["OK"] = 0] = "OK";
|
69
|
-
LoginResult[LoginResult["Failed"] = 1] = "Failed";
|
70
|
-
})(LoginResult || (LoginResult = {}));
|
71
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5hdXRoZW50aWNhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvbG9naW4vZm9ybS5hdXRoZW50aWNhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUk1RCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsa0JBQWtCO0lBbUN4RCxZQUNFLFFBQWtCO1FBRWxCLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUF2Q0QsY0FBYztRQUNaLE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQ2pELFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEMsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUNELFlBQVksQ0FBQyxRQUFnQixFQUFFLFFBQWdCLEVBQUUsVUFBb0MsRUFBRTtRQUNyRixPQUFPLElBQUksVUFBVSxDQUFTLE9BQU8sQ0FBQyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFtQix5QkFBeUIsRUFBRTtnQkFDM0QsUUFBUSxFQUFFLFFBQVE7YUFDbkIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDZixJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUU7b0JBQ3RCLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDekMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7b0JBQzNDLFlBQVksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDNUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ2xELENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDeEQ7cUJBQ0k7b0JBQ0gsWUFBWSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDakMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2lCQUM1QztnQkFDRCxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2YsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3JCLENBQUMsRUFBRSxDQUFDLENBQW9CLEVBQUUsRUFBRTtnQkFDMUIsSUFBSSxNQUFtQixDQUFDO2dCQUN4QixRQUFRLENBQUMsQ0FBQyxNQUFNLEVBQUU7b0JBQ2hCO3dCQUNFLE1BQU0sR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDO2lCQUMvQjtnQkFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBUUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDdkUsQ0FBQztJQUNNLE1BQU0sQ0FBQyxLQUFhO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMseUJBQXlCLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFDRCxJQUFJLEtBQUs7UUFDUCxPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUNELElBQUksV0FBVztRQUNiLE9BQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBQ0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7OytHQXZEVSxrQkFBa0I7bUhBQWxCLGtCQUFrQixjQURMLE1BQU07MkZBQ25CLGtCQUFrQjtrQkFEOUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O0FBMERsQyxNQUFNLENBQU4sSUFBWSxXQUdYO0FBSEQsV0FBWSxXQUFXO0lBQ3JCLHlDQUFFLENBQUE7SUFDRixpREFBTSxDQUFBO0FBQ1IsQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uSW1wbCB9IGZyb20gJy4uL2NvcmUvYXV0aGVudGljYXRpb24nO1xyXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtQXV0aGVudGljYXRpb24gZXh0ZW5kcyBBdXRoZW50aWNhdGlvbkltcGwge1xyXG4gIGdldEFjY2Vzc1Rva2VuKCkge1xyXG4gICAgY29uc3QgYWNjZXNzVG9rZW4gPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCd0b2tlbicpIHx8XHJcbiAgICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd0b2tlbicpO1xyXG4gICAgcmV0dXJuIGFjY2Vzc1Rva2VuO1xyXG4gIH1cclxuICBhdXRoZW50aWNhdGUodXNlcm5hbWU6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZywgb3B0aW9uczogeyByZW1lbWJlck1lPzogYm9vbGVhbiB9ID0ge30pOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPHN0cmluZz4ob2JzZXJ2ZSA9PiB7XHJcbiAgICAgIHRoaXMuX2h0dHAucG9zdDxMb2dpblJlc3VsdE1vZGVsPignL2FwaS9mb3JtaWRlbnRpdHkvbG9naW4nLCB7XHJcbiAgICAgICAgdXNlcm5hbWUsIHBhc3N3b3JkXHJcbiAgICAgIH0pLnN1YnNjcmliZShyID0+IHtcclxuICAgICAgICBpZiAob3B0aW9ucy5yZW1lbWJlck1lKSB7XHJcbiAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndG9rZW4nLCByLnRva2VuSWQpO1xyXG4gICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3VzZXJuYW1lJywgdXNlcm5hbWUpO1xyXG4gICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2Rpc3BsYXlOYW1lJywgci5uYW1lKTtcclxuICAgICAgICAgIHIucGhvdG8gJiYgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3Bob3RvJywgci5waG90byk7XHJcbiAgICAgICAgICAoci5nZW5kZXIpICYmIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdnZW5kZXInLCByLmdlbmRlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ3Rva2VuJyk7XHJcbiAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCd0b2tlbicsIHIudG9rZW5JZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG9ic2VydmUubmV4dCgpO1xyXG4gICAgICAgIG9ic2VydmUuY29tcGxldGUoKTtcclxuICAgICAgfSwgKGU6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgbGV0IHJlYXNvbjogTG9naW5SZXN1bHQ7XHJcbiAgICAgICAgc3dpdGNoIChlLnN0YXR1cykge1xyXG4gICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgcmVhc29uID0gTG9naW5SZXN1bHQuRmFpbGVkO1xyXG4gICAgICAgIH1cclxuICAgICAgICBvYnNlcnZlLmVycm9yKHJlYXNvbik7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2h0dHA6IEh0dHBDbGllbnQ7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5faHR0cCA9IGluamVjdG9yLmdldChIdHRwQ2xpZW50KTtcclxuICB9XHJcbiAgc2lnbk91dCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnBvc3QoJy9hcGkvYXNwaWRlbnRpdHkvc2lnbm91dCcsIG51bGwpLnRvUHJvbWlzZSgpO1xyXG4gIH1cclxuICBwdWJsaWMgZm9yZ290KGVtYWlsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucG9zdCgnL2FwaS9hc3BpZGVudGl0eS9mb3Jnb3QnLCB7IGVtYWlsIH0pO1xyXG4gIH1cclxuICBnZXQgcGhvdG8oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgncGhvdG8nKTtcclxuICB9XHJcbiAgZ2V0IGRpc3BsYXlOYW1lKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2Rpc3BsYXlOYW1lJyk7XHJcbiAgfVxyXG4gIGdldCB1c2VybmFtZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VybmFtZScpO1xyXG4gIH1cclxufVxyXG5leHBvcnQgZW51bSBMb2dpblJlc3VsdCB7XHJcbiAgT0ssXHJcbiAgRmFpbGVkLFxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgTG9naW5SZXN1bHRNb2RlbCB7XHJcbiAgZ2VuZGVyPzogc3RyaW5nO1xyXG4gIHBob3RvPzogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0b2tlbklkOiBzdHJpbmc7XHJcbn1cclxuIl19
|
@@ -1,26 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
import * as i1 from "./form.authentication";
|
4
|
-
export class FormHttpInterceptor {
|
5
|
-
constructor(_service) {
|
6
|
-
this._service = _service;
|
7
|
-
}
|
8
|
-
intercept(req, next) {
|
9
|
-
const accessToken = this._service.getAccessToken();
|
10
|
-
if (!accessToken)
|
11
|
-
return next.handle(req);
|
12
|
-
req = req.clone({
|
13
|
-
setHeaders: {
|
14
|
-
Authorization: `Bearer ${accessToken}`
|
15
|
-
}
|
16
|
-
});
|
17
|
-
return next.handle(req);
|
18
|
-
}
|
19
|
-
}
|
20
|
-
FormHttpInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: FormHttpInterceptor, deps: [{ token: i1.FormAuthentication }], target: i0.ɵɵFactoryTarget.Injectable });
|
21
|
-
FormHttpInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: FormHttpInterceptor, providedIn: 'root' });
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: FormHttpInterceptor, decorators: [{
|
23
|
-
type: Injectable,
|
24
|
-
args: [{ providedIn: 'root' }]
|
25
|
-
}], ctorParameters: function () { return [{ type: i1.FormAuthentication }]; } });
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvbG9naW4vZm9ybS5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixZQUNRLFFBQTRCO1FBQTVCLGFBQVEsR0FBUixRQUFRLENBQW9CO0lBQUksQ0FBQztJQUV6QyxTQUFTLENBQUMsR0FBcUIsRUFBRSxJQUFpQjtRQUNoRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ25ELElBQUksQ0FBQyxXQUFXO1lBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLEdBQUcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQ2QsVUFBVSxFQUFFO2dCQUNWLGFBQWEsRUFBRSxVQUFVLFdBQVcsRUFBRTthQUN2QztTQUNGLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQixDQUFDOztnSEFkVSxtQkFBbUI7b0hBQW5CLG1CQUFtQixjQUROLE1BQU07MkZBQ25CLG1CQUFtQjtrQkFEL0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QsIEh0dHBIYW5kbGVyLCBIdHRwRXZlbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRm9ybUF1dGhlbnRpY2F0aW9uIH0gZnJvbSAnLi9mb3JtLmF1dGhlbnRpY2F0aW9uJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtSHR0cEludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICBwcml2YXRlIF9zZXJ2aWNlOiBGb3JtQXV0aGVudGljYXRpb24pIHsgfVxyXG5cclxuICBpbnRlcmNlcHQocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcclxuICAgIGNvbnN0IGFjY2Vzc1Rva2VuID0gdGhpcy5fc2VydmljZS5nZXRBY2Nlc3NUb2tlbigpO1xyXG4gICAgaWYgKCFhY2Nlc3NUb2tlbilcclxuICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSk7XHJcbiAgICByZXEgPSByZXEuY2xvbmUoe1xyXG4gICAgICBzZXRIZWFkZXJzOiB7XHJcbiAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke2FjY2Vzc1Rva2VufWBcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKTtcclxuICB9XHJcbn1cclxuIl19
|