ngx-scandoc 0.0.1 → 1.0.1
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/core/app.worker.d.ts +1 -0
- package/core/components/components.module.d.ts +8 -0
- package/core/components/webcam/domain/webcam-image.d.ts +35 -0
- package/core/components/webcam/domain/webcam-init-error.d.ts +4 -0
- package/core/components/webcam/domain/webcam-mirror-properties.d.ts +3 -0
- package/core/components/webcam/util/webcam.util.d.ts +8 -0
- package/core/components/webcam/webcam/webcam.component.d.ts +202 -0
- package/core/components/webcam/webcam.module.d.ts +9 -0
- package/core/pipes/pipes.module.d.ts +7 -0
- package/core/pipes/safeResourceUrl.pipe.d.ts +10 -0
- package/core/shared/material.module.d.ts +28 -0
- package/dialogs/components/blank/blank.component.d.ts +17 -0
- package/dialogs/components/confirm/confirm.component.d.ts +30 -0
- package/dialogs/components/loading/loading.component.d.ts +5 -0
- package/dialogs/components/scan-mobile/scan-mobile.component.d.ts +16 -0
- package/dialogs/components/scan-profile/scan-profile.component.d.ts +124 -0
- package/dialogs/components/scan-selfie/scan-selfie.component.d.ts +83 -0
- package/dialogs/dialogs.core.provider.d.ts +18 -0
- package/dialogs/dialogs.module.d.ts +21 -0
- package/esm2020/core/app.worker.mjs +236 -0
- package/esm2020/core/components/components.module.mjs +18 -0
- package/esm2020/core/components/webcam/domain/webcam-image.mjs +58 -0
- package/esm2020/core/components/webcam/domain/webcam-init-error.mjs +3 -0
- package/esm2020/core/components/webcam/domain/webcam-mirror-properties.mjs +3 -0
- package/esm2020/core/components/webcam/util/webcam.util.mjs +48 -0
- package/esm2020/core/components/webcam/webcam/webcam.component.mjs +861 -0
- package/esm2020/core/components/webcam/webcam.module.mjs +22 -0
- package/esm2020/core/pipes/pipes.module.mjs +19 -0
- package/esm2020/core/pipes/safeResourceUrl.pipe.mjs +20 -0
- package/esm2020/core/shared/material.module.mjs +162 -0
- package/esm2020/dialogs/components/blank/blank.component.mjs +47 -0
- package/esm2020/dialogs/components/confirm/confirm.component.mjs +53 -0
- package/esm2020/dialogs/components/loading/loading.component.mjs +12 -0
- package/esm2020/dialogs/components/scan-mobile/scan-mobile.component.mjs +43 -0
- package/esm2020/dialogs/components/scan-profile/scan-profile.component.mjs +756 -0
- package/esm2020/dialogs/components/scan-selfie/scan-selfie.component.mjs +392 -0
- package/esm2020/dialogs/dialogs.core.provider.mjs +100 -0
- package/esm2020/dialogs/dialogs.module.mjs +89 -0
- package/esm2020/forms/form.module.mjs +87 -0
- package/esm2020/forms/types/avatar.type.mjs +53 -0
- package/esm2020/forms/types/profile.image.type.mjs +54 -0
- package/esm2020/forms/types/title.type.mjs +60 -0
- package/esm2020/lib/ngx-scandoc.module.mjs +28 -11
- package/esm2020/providers/auth.provider.mjs +57 -0
- package/esm2020/providers/interceptor.provider.mjs +61 -0
- package/esm2020/providers/scan.form.mjs +386 -0
- package/esm2020/providers/scan.provider.mjs +490 -0
- package/esm2020/providers/translation.provider.mjs +50 -0
- package/esm2020/providers/webrtc.provider.mjs +58 -0
- package/esm2020/public-api.mjs +22 -4
- package/fesm2015/ngx-scandoc.mjs +4178 -32
- package/fesm2015/ngx-scandoc.mjs.map +1 -1
- package/fesm2020/ngx-scandoc.mjs +4154 -32
- package/fesm2020/ngx-scandoc.mjs.map +1 -1
- package/forms/form.module.d.ts +18 -0
- package/forms/types/avatar.type.d.ts +14 -0
- package/forms/types/profile.image.type.d.ts +14 -0
- package/forms/types/title.type.d.ts +12 -0
- package/lib/ngx-scandoc.module.d.ts +20 -2
- package/package.json +6 -2
- package/providers/auth.provider.d.ts +21 -0
- package/providers/interceptor.provider.d.ts +13 -0
- package/providers/scan.form.d.ts +13 -0
- package/providers/scan.provider.d.ts +239 -0
- package/providers/translation.provider.d.ts +9 -0
- package/providers/webrtc.provider.d.ts +11 -0
- package/public-api.d.ts +21 -3
- package/esm2020/lib/ngx-scandoc.component.mjs +0 -22
- package/esm2020/lib/ngx-scandoc.service.mjs +0 -14
- package/lib/ngx-scandoc.component.d.ts +0 -8
- package/lib/ngx-scandoc.service.d.ts +0 -6
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { ReactiveFormsModule, FormsModule } from '@angular/forms';
|
|
4
|
+
import { ScanProfileComponent } from './components/scan-profile/scan-profile.component';
|
|
5
|
+
import { BlankComponent } from './components/blank/blank.component';
|
|
6
|
+
import { DialogsCoreProvider } from './dialogs.core.provider';
|
|
7
|
+
import { MaterialModule } from '../core/shared/material.module';
|
|
8
|
+
import { CoreComponentsModule } from '../core/components/components.module';
|
|
9
|
+
import { FlexLayoutModule, FlexModule } from '@angular/flex-layout';
|
|
10
|
+
import { CorePipesModule } from '../core/pipes/pipes.module';
|
|
11
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
12
|
+
import { LoadingComponent } from './components/loading/loading.component';
|
|
13
|
+
import { AppFormModule } from '../forms/form.module';
|
|
14
|
+
import { ConfirmComponent } from './components/confirm/confirm.component';
|
|
15
|
+
import { ScanMobileComponent } from './components/scan-mobile/scan-mobile.component';
|
|
16
|
+
import { QRCodeModule } from 'angularx-qrcode';
|
|
17
|
+
import { ScanSelfieComponent } from './components/scan-selfie/scan-selfie.component';
|
|
18
|
+
import * as i0 from "@angular/core";
|
|
19
|
+
export class DialogsModule {
|
|
20
|
+
}
|
|
21
|
+
DialogsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DialogsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
22
|
+
DialogsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: DialogsModule, declarations: [ScanProfileComponent,
|
|
23
|
+
BlankComponent,
|
|
24
|
+
LoadingComponent,
|
|
25
|
+
ConfirmComponent,
|
|
26
|
+
ScanMobileComponent,
|
|
27
|
+
ScanSelfieComponent], imports: [QRCodeModule,
|
|
28
|
+
ReactiveFormsModule,
|
|
29
|
+
CommonModule,
|
|
30
|
+
FormsModule,
|
|
31
|
+
AppFormModule,
|
|
32
|
+
TranslateModule,
|
|
33
|
+
MaterialModule,
|
|
34
|
+
CoreComponentsModule,
|
|
35
|
+
CorePipesModule,
|
|
36
|
+
FlexModule,
|
|
37
|
+
FlexLayoutModule], exports: [ScanProfileComponent,
|
|
38
|
+
LoadingComponent,
|
|
39
|
+
BlankComponent,
|
|
40
|
+
ScanMobileComponent,
|
|
41
|
+
MaterialModule,
|
|
42
|
+
ScanSelfieComponent] });
|
|
43
|
+
DialogsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DialogsModule, providers: [DialogsCoreProvider], imports: [QRCodeModule,
|
|
44
|
+
ReactiveFormsModule,
|
|
45
|
+
CommonModule,
|
|
46
|
+
FormsModule,
|
|
47
|
+
AppFormModule,
|
|
48
|
+
TranslateModule,
|
|
49
|
+
MaterialModule,
|
|
50
|
+
CoreComponentsModule,
|
|
51
|
+
CorePipesModule,
|
|
52
|
+
FlexModule,
|
|
53
|
+
FlexLayoutModule, MaterialModule] });
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DialogsModule, decorators: [{
|
|
55
|
+
type: NgModule,
|
|
56
|
+
args: [{
|
|
57
|
+
declarations: [
|
|
58
|
+
ScanProfileComponent,
|
|
59
|
+
BlankComponent,
|
|
60
|
+
LoadingComponent,
|
|
61
|
+
ConfirmComponent,
|
|
62
|
+
ScanMobileComponent,
|
|
63
|
+
ScanSelfieComponent,
|
|
64
|
+
],
|
|
65
|
+
exports: [
|
|
66
|
+
ScanProfileComponent,
|
|
67
|
+
LoadingComponent,
|
|
68
|
+
BlankComponent,
|
|
69
|
+
ScanMobileComponent,
|
|
70
|
+
MaterialModule,
|
|
71
|
+
ScanSelfieComponent,
|
|
72
|
+
],
|
|
73
|
+
imports: [
|
|
74
|
+
QRCodeModule,
|
|
75
|
+
ReactiveFormsModule,
|
|
76
|
+
CommonModule,
|
|
77
|
+
FormsModule,
|
|
78
|
+
AppFormModule,
|
|
79
|
+
TranslateModule,
|
|
80
|
+
MaterialModule,
|
|
81
|
+
CoreComponentsModule,
|
|
82
|
+
CorePipesModule,
|
|
83
|
+
FlexModule,
|
|
84
|
+
FlexLayoutModule,
|
|
85
|
+
],
|
|
86
|
+
providers: [DialogsCoreProvider]
|
|
87
|
+
}]
|
|
88
|
+
}] });
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9ncy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NhbmRvYy9zcmMvZGlhbG9ncy9kaWFsb2dzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDeEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDckYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOztBQW1DckYsTUFBTSxPQUFPLGFBQWE7OzBHQUFiLGFBQWE7MkdBQWIsYUFBYSxpQkEvQmxCLG9CQUFvQjtRQUNwQixjQUFjO1FBQ2QsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixtQkFBbUI7UUFDbkIsbUJBQW1CLGFBV25CLFlBQVk7UUFDWixtQkFBbUI7UUFDbkIsWUFBWTtRQUNaLFdBQVc7UUFDWCxhQUFhO1FBRWIsZUFBZTtRQUNmLGNBQWM7UUFDZCxvQkFBb0I7UUFDcEIsZUFBZTtRQUNmLFVBQVU7UUFDVixnQkFBZ0IsYUFuQmhCLG9CQUFvQjtRQUNwQixnQkFBZ0I7UUFDaEIsY0FBYztRQUNkLG1CQUFtQjtRQUNuQixjQUFjO1FBQ2QsbUJBQW1COzJHQWtCZCxhQUFhLGFBRlgsQ0FBQyxtQkFBbUIsQ0FBQyxZQWI1QixZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLFlBQVk7UUFDWixXQUFXO1FBQ1gsYUFBYTtRQUViLGVBQWU7UUFDZixjQUFjO1FBQ2Qsb0JBQW9CO1FBQ3BCLGVBQWU7UUFDZixVQUFVO1FBQ1YsZ0JBQWdCLEVBZmhCLGNBQWM7MkZBbUJULGFBQWE7a0JBakN6QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRTt3QkFDVixvQkFBb0I7d0JBQ3BCLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3FCQUN0QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsb0JBQW9CO3dCQUNwQixnQkFBZ0I7d0JBQ2hCLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLG1CQUFtQjtxQkFDdEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsYUFBYTt3QkFFYixlQUFlO3dCQUNmLGNBQWM7d0JBQ2Qsb0JBQW9CO3dCQUNwQixlQUFlO3dCQUNmLFVBQVU7d0JBQ1YsZ0JBQWdCO3FCQUNuQjtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztpQkFDbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUsIEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2NhblByb2ZpbGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2Nhbi1wcm9maWxlL3NjYW4tcHJvZmlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmxhbmtDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYmxhbmsvYmxhbmsuY29tcG9uZW50JztcbmltcG9ydCB7IERpYWxvZ3NDb3JlUHJvdmlkZXIgfSBmcm9tICcuL2RpYWxvZ3MuY29yZS5wcm92aWRlcic7XG5cbmltcG9ydCB7IE1hdGVyaWFsTW9kdWxlIH0gZnJvbSAnLi4vY29yZS9zaGFyZWQvbWF0ZXJpYWwubW9kdWxlJztcbmltcG9ydCB7IENvcmVDb21wb25lbnRzTW9kdWxlIH0gZnJvbSAnLi4vY29yZS9jb21wb25lbnRzL2NvbXBvbmVudHMubW9kdWxlJztcbmltcG9ydCB7IEZsZXhMYXlvdXRNb2R1bGUsIEZsZXhNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mbGV4LWxheW91dCc7XG5pbXBvcnQgeyBDb3JlUGlwZXNNb2R1bGUgfSBmcm9tICcuLi9jb3JlL3BpcGVzL3BpcGVzLm1vZHVsZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IExvYWRpbmdDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbG9hZGluZy9sb2FkaW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBcHBGb3JtTW9kdWxlIH0gZnJvbSAnLi4vZm9ybXMvZm9ybS5tb2R1bGUnO1xuaW1wb3J0IHsgQ29uZmlybUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb25maXJtL2NvbmZpcm0uY29tcG9uZW50JztcbmltcG9ydCB7IFNjYW5Nb2JpbGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2Nhbi1tb2JpbGUvc2Nhbi1tb2JpbGUuY29tcG9uZW50JztcbmltcG9ydCB7IFFSQ29kZU1vZHVsZSB9IGZyb20gJ2FuZ3VsYXJ4LXFyY29kZSc7XG5pbXBvcnQgeyBTY2FuU2VsZmllQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NjYW4tc2VsZmllL3NjYW4tc2VsZmllLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIFNjYW5Qcm9maWxlQ29tcG9uZW50LFxuICAgICAgICBCbGFua0NvbXBvbmVudCxcbiAgICAgICAgTG9hZGluZ0NvbXBvbmVudCxcbiAgICAgICAgQ29uZmlybUNvbXBvbmVudCxcbiAgICAgICAgU2Nhbk1vYmlsZUNvbXBvbmVudCxcbiAgICAgICAgU2NhblNlbGZpZUNvbXBvbmVudCxcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgU2NhblByb2ZpbGVDb21wb25lbnQsXG4gICAgICAgIExvYWRpbmdDb21wb25lbnQsXG4gICAgICAgIEJsYW5rQ29tcG9uZW50LFxuICAgICAgICBTY2FuTW9iaWxlQ29tcG9uZW50LFxuICAgICAgICBNYXRlcmlhbE1vZHVsZSxcbiAgICAgICAgU2NhblNlbGZpZUNvbXBvbmVudCxcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgUVJDb2RlTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBBcHBGb3JtTW9kdWxlLFxuXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICAgICAgTWF0ZXJpYWxNb2R1bGUsXG4gICAgICAgIENvcmVDb21wb25lbnRzTW9kdWxlLFxuICAgICAgICBDb3JlUGlwZXNNb2R1bGUsXG4gICAgICAgIEZsZXhNb2R1bGUsXG4gICAgICAgIEZsZXhMYXlvdXRNb2R1bGUsXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtEaWFsb2dzQ29yZVByb3ZpZGVyXVxufSlcbmV4cG9ydCBjbGFzcyBEaWFsb2dzTW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { FormlyModule } from '@ngx-formly/core';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { FormlyMaterialModule } from '@ngx-formly/material';
|
|
5
|
+
import { CommonModule } from '@angular/common';
|
|
6
|
+
import { AvatarTypeComponent } from './types/avatar.type';
|
|
7
|
+
import { TitleTypeComponent } from './types/title.type';
|
|
8
|
+
import { FormlySelectModule } from '@ngx-formly/core/select';
|
|
9
|
+
import { AvatarModule } from 'ngx-avatars';
|
|
10
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
11
|
+
import { MaterialModule } from '../core/shared/material.module';
|
|
12
|
+
import { ProfileImageTypeComponent } from './types/profile.image.type';
|
|
13
|
+
import { FormlyMatDatepickerModule } from '@ngx-formly/material/datepicker';
|
|
14
|
+
import * as i0 from "@angular/core";
|
|
15
|
+
import * as i1 from "@ngx-formly/core";
|
|
16
|
+
export class AppFormModule {
|
|
17
|
+
}
|
|
18
|
+
AppFormModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AppFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
19
|
+
AppFormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: AppFormModule, declarations: [TitleTypeComponent,
|
|
20
|
+
AvatarTypeComponent,
|
|
21
|
+
ProfileImageTypeComponent], imports: [CommonModule,
|
|
22
|
+
FormsModule,
|
|
23
|
+
FormlyMatDatepickerModule,
|
|
24
|
+
FormlySelectModule,
|
|
25
|
+
MaterialModule,
|
|
26
|
+
AvatarModule,
|
|
27
|
+
TranslateModule,
|
|
28
|
+
FormlyMaterialModule, i1.FormlyModule], exports: [FormlyModule] });
|
|
29
|
+
AppFormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AppFormModule, imports: [CommonModule,
|
|
30
|
+
FormsModule,
|
|
31
|
+
FormlyMatDatepickerModule,
|
|
32
|
+
FormlySelectModule,
|
|
33
|
+
MaterialModule,
|
|
34
|
+
AvatarModule,
|
|
35
|
+
TranslateModule,
|
|
36
|
+
FormlyMaterialModule,
|
|
37
|
+
FormlyModule.forRoot({
|
|
38
|
+
types: [
|
|
39
|
+
{
|
|
40
|
+
name: 'title',
|
|
41
|
+
component: TitleTypeComponent,
|
|
42
|
+
wrappers: [],
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'profile-image',
|
|
46
|
+
component: ProfileImageTypeComponent,
|
|
47
|
+
wrappers: [],
|
|
48
|
+
},
|
|
49
|
+
],
|
|
50
|
+
}), FormlyModule] });
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AppFormModule, decorators: [{
|
|
52
|
+
type: NgModule,
|
|
53
|
+
args: [{
|
|
54
|
+
declarations: [
|
|
55
|
+
TitleTypeComponent,
|
|
56
|
+
AvatarTypeComponent,
|
|
57
|
+
ProfileImageTypeComponent,
|
|
58
|
+
],
|
|
59
|
+
imports: [
|
|
60
|
+
CommonModule,
|
|
61
|
+
FormsModule,
|
|
62
|
+
FormlyMatDatepickerModule,
|
|
63
|
+
FormlySelectModule,
|
|
64
|
+
MaterialModule,
|
|
65
|
+
AvatarModule,
|
|
66
|
+
TranslateModule,
|
|
67
|
+
FormlyMaterialModule,
|
|
68
|
+
FormlyModule.forRoot({
|
|
69
|
+
types: [
|
|
70
|
+
{
|
|
71
|
+
name: 'title',
|
|
72
|
+
component: TitleTypeComponent,
|
|
73
|
+
wrappers: [],
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
name: 'profile-image',
|
|
77
|
+
component: ProfileImageTypeComponent,
|
|
78
|
+
wrappers: [],
|
|
79
|
+
},
|
|
80
|
+
],
|
|
81
|
+
}),
|
|
82
|
+
],
|
|
83
|
+
providers: [],
|
|
84
|
+
exports: [FormlyModule],
|
|
85
|
+
}]
|
|
86
|
+
}] });
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NhbmRvYy9zcmMvZm9ybXMvZm9ybS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFnQixNQUFNLGtCQUFrQixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQXVCLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7O0FBc0M1RSxNQUFNLE9BQU8sYUFBYTs7MEdBQWIsYUFBYTsyR0FBYixhQUFhLGlCQWpDdEIsa0JBQWtCO1FBQ2xCLG1CQUFtQjtRQUNuQix5QkFBeUIsYUFHekIsWUFBWTtRQUNaLFdBQVc7UUFDWCx5QkFBeUI7UUFDekIsa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxZQUFZO1FBQ1osZUFBZTtRQUVmLG9CQUFvQiw4QkFrQlosWUFBWTsyR0FFWCxhQUFhLFlBNUJ0QixZQUFZO1FBQ1osV0FBVztRQUNYLHlCQUF5QjtRQUN6QixrQkFBa0I7UUFDbEIsY0FBYztRQUNkLFlBQVk7UUFDWixlQUFlO1FBRWYsb0JBQW9CO1FBQ3BCLFlBQVksQ0FBQyxPQUFPLENBQUM7WUFDbkIsS0FBSyxFQUFFO2dCQUNMO29CQUNFLElBQUksRUFBRSxPQUFPO29CQUNiLFNBQVMsRUFBRSxrQkFBa0I7b0JBQzdCLFFBQVEsRUFBRSxFQUFFO2lCQUNiO2dCQUNEO29CQUNFLElBQUksRUFBRSxlQUFlO29CQUNyQixTQUFTLEVBQUUseUJBQXlCO29CQUNwQyxRQUFRLEVBQUUsRUFBRTtpQkFDYjthQUNGO1NBQ0YsQ0FBQyxFQUlNLFlBQVk7MkZBRVgsYUFBYTtrQkFuQ3pCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQix5QkFBeUI7cUJBQzFCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gseUJBQXlCO3dCQUN6QixrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsWUFBWTt3QkFDWixlQUFlO3dCQUVmLG9CQUFvQjt3QkFDcEIsWUFBWSxDQUFDLE9BQU8sQ0FBQzs0QkFDbkIsS0FBSyxFQUFFO2dDQUNMO29DQUNFLElBQUksRUFBRSxPQUFPO29DQUNiLFNBQVMsRUFBRSxrQkFBa0I7b0NBQzdCLFFBQVEsRUFBRSxFQUFFO2lDQUNiO2dDQUNEO29DQUNFLElBQUksRUFBRSxlQUFlO29DQUNyQixTQUFTLEVBQUUseUJBQXlCO29DQUNwQyxRQUFRLEVBQUUsRUFBRTtpQ0FDYjs2QkFDRjt5QkFDRixDQUFDO3FCQUNIO29CQUVELFNBQVMsRUFBRSxFQUFFO29CQUNiLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybWx5TW9kdWxlLCBDb25maWdPcHRpb24gfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBGb3JtbHlNYXRlcmlhbE1vZHVsZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L21hdGVyaWFsJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IEF2YXRhclR5cGVDb21wb25lbnQgfSBmcm9tICcuL3R5cGVzL2F2YXRhci50eXBlJztcblxuaW1wb3J0IHsgVGl0bGVUeXBlQ29tcG9uZW50IH0gZnJvbSAnLi90eXBlcy90aXRsZS50eXBlJztcbmltcG9ydCB7IEZvcm1seVNlbGVjdE1vZHVsZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUvc2VsZWN0JztcbmltcG9ydCB7IEF2YXRhck1vZHVsZSB9IGZyb20gJ25neC1hdmF0YXJzJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuLi9jb3JlL3NoYXJlZC9tYXRlcmlhbC5tb2R1bGUnO1xuaW1wb3J0IHsgUHJvZmlsZUltYWdlVHlwZUNvbXBvbmVudCB9IGZyb20gJy4vdHlwZXMvcHJvZmlsZS5pbWFnZS50eXBlJztcbmltcG9ydCB7IEZvcm1seU1hdERhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICdAbmd4LWZvcm1seS9tYXRlcmlhbC9kYXRlcGlja2VyJztcblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBUaXRsZVR5cGVDb21wb25lbnQsXG4gICAgQXZhdGFyVHlwZUNvbXBvbmVudCxcbiAgICBQcm9maWxlSW1hZ2VUeXBlQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEZvcm1seU1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgRm9ybWx5U2VsZWN0TW9kdWxlLFxuICAgIE1hdGVyaWFsTW9kdWxlLFxuICAgIEF2YXRhck1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG5cbiAgICBGb3JtbHlNYXRlcmlhbE1vZHVsZSxcbiAgICBGb3JtbHlNb2R1bGUuZm9yUm9vdCh7XG4gICAgICB0eXBlczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ3RpdGxlJyxcbiAgICAgICAgICBjb21wb25lbnQ6IFRpdGxlVHlwZUNvbXBvbmVudCxcbiAgICAgICAgICB3cmFwcGVyczogW10sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAncHJvZmlsZS1pbWFnZScsXG4gICAgICAgICAgY29tcG9uZW50OiBQcm9maWxlSW1hZ2VUeXBlQ29tcG9uZW50LFxuICAgICAgICAgIHdyYXBwZXJzOiBbXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSksXG4gIF0sXG5cbiAgcHJvdmlkZXJzOiBbXSxcbiAgZXhwb3J0czogW0Zvcm1seU1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEFwcEZvcm1Nb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Component, } from '@angular/core';
|
|
2
|
+
import { FieldType } from '@ngx-formly/material';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "@angular/material/card";
|
|
6
|
+
import * as i3 from "ngx-avatars";
|
|
7
|
+
export class AvatarTypeComponent extends FieldType {
|
|
8
|
+
constructor(cd) {
|
|
9
|
+
super();
|
|
10
|
+
this.cd = cd;
|
|
11
|
+
this.width = 'w-120';
|
|
12
|
+
this.padding = 'px-32 pt-8 pb-8';
|
|
13
|
+
}
|
|
14
|
+
ngOnChange() { }
|
|
15
|
+
ngAfterViewInit() {
|
|
16
|
+
if (this.to.width) {
|
|
17
|
+
this.width = this.to.width;
|
|
18
|
+
}
|
|
19
|
+
if (this.to.padding) {
|
|
20
|
+
this.padding = this.to.padding;
|
|
21
|
+
}
|
|
22
|
+
this.cd.detectChanges();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
AvatarTypeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AvatarTypeComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
26
|
+
AvatarTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: AvatarTypeComponent, selector: "app-formly-avatar-type", usesInheritance: true, ngImport: i0, template: `
|
|
27
|
+
<mat-card
|
|
28
|
+
[ngClass]="padding"
|
|
29
|
+
fxLayout="column"
|
|
30
|
+
fxLayoutAlign="center center"
|
|
31
|
+
>
|
|
32
|
+
<ngx-avatars
|
|
33
|
+
[name]="model[key.toString()]"
|
|
34
|
+
[ngClass]="width"
|
|
35
|
+
></ngx-avatars>
|
|
36
|
+
</mat-card>
|
|
37
|
+
`, isInline: true, styles: ["mat-card{border-radius:0;box-shadow:none!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "component", type: i3.AvatarComponent, selector: "ngx-avatars", inputs: ["round", "size", "textSizeRatio", "bgColor", "fgColor", "borderColor", "style", "cornerRadius", "facebookId", "twitterId", "googleId", "instagramId", "vkontakteId", "skypeId", "gravatarId", "githubId", "src", "name", "value", "referrerpolicy", "placeholder", "initialsSize"], outputs: ["clickOnAvatar"] }] });
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AvatarTypeComponent, decorators: [{
|
|
39
|
+
type: Component,
|
|
40
|
+
args: [{ selector: 'app-formly-avatar-type', template: `
|
|
41
|
+
<mat-card
|
|
42
|
+
[ngClass]="padding"
|
|
43
|
+
fxLayout="column"
|
|
44
|
+
fxLayoutAlign="center center"
|
|
45
|
+
>
|
|
46
|
+
<ngx-avatars
|
|
47
|
+
[name]="model[key.toString()]"
|
|
48
|
+
[ngClass]="width"
|
|
49
|
+
></ngx-avatars>
|
|
50
|
+
</mat-card>
|
|
51
|
+
`, styles: ["mat-card{border-radius:0;box-shadow:none!important}\n"] }]
|
|
52
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NhbmRvYy9zcmMvZm9ybXMvdHlwZXMvYXZhdGFyLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsR0FJVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBa0JqRCxNQUFNLE9BQU8sbUJBQ1gsU0FBUSxTQUFjO0lBTXRCLFlBQW9CLEVBQXFCO1FBQ3ZDLEtBQUssRUFBRSxDQUFDO1FBRFUsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFIekMsVUFBSyxHQUFFLE9BQU8sQ0FBQztRQUNmLFlBQU8sR0FBRSxpQkFBaUIsQ0FBQztJQUkzQixDQUFDO0lBQ0QsVUFBVSxLQUFJLENBQUM7SUFHZixlQUFlO1FBR2IsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRTtZQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1NBQzVCO1FBQ0QsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRTtZQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDO1NBQ2hDO1FBRUQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMxQixDQUFDOztnSEF4QlUsbUJBQW1CO29HQUFuQixtQkFBbUIscUZBZHBCOzs7Ozs7Ozs7OztHQVdUOzJGQUdVLG1CQUFtQjtrQkFoQi9CLFNBQVM7K0JBQ0Usd0JBQXdCLFlBQ3hCOzs7Ozs7Ozs7OztHQVdUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L21hdGVyaWFsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWZvcm1seS1hdmF0YXItdHlwZScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG1hdC1jYXJkXG4gICAgICBbbmdDbGFzc109XCJwYWRkaW5nXCJcbiAgICAgIGZ4TGF5b3V0PVwiY29sdW1uXCJcbiAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCJcbiAgICA+XG4gICAgICA8bmd4LWF2YXRhcnNcbiAgICAgICAgW25hbWVdPVwibW9kZWxba2V5LnRvU3RyaW5nKCldXCJcbiAgICAgICAgW25nQ2xhc3NdPVwid2lkdGhcIlxuICAgICAgPjwvbmd4LWF2YXRhcnM+XG4gICAgPC9tYXQtY2FyZD5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vc2Nzcy9hdmF0YXIudHlwZS5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEF2YXRhclR5cGVDb21wb25lbnRcbiAgZXh0ZW5kcyBGaWVsZFR5cGU8YW55PlxuICBpbXBsZW1lbnRzICBBZnRlclZpZXdJbml0XG57XG4gIHdpZHRoPSAndy0xMjAnO1xuICBwYWRkaW5nPSAncHgtMzIgcHQtOCBwYi04JztcbiAgbmFtZTphbnk7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuICBuZ09uQ2hhbmdlKCkge31cblxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcblxuXG4gICAgaWYgKHRoaXMudG8ud2lkdGgpIHtcbiAgICAgIHRoaXMud2lkdGggPSB0aGlzLnRvLndpZHRoO1xuICAgIH1cbiAgICBpZiAodGhpcy50by5wYWRkaW5nKSB7XG4gICAgICB0aGlzLnBhZGRpbmcgPSB0aGlzLnRvLnBhZGRpbmc7XG4gICAgfVxuXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Component, } from '@angular/core';
|
|
2
|
+
import { FieldType } from '@ngx-formly/material';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/material/card";
|
|
5
|
+
import * as i2 from "ngx-avatars";
|
|
6
|
+
export class ProfileImageTypeComponent extends FieldType {
|
|
7
|
+
constructor(cd) {
|
|
8
|
+
super();
|
|
9
|
+
this.cd = cd;
|
|
10
|
+
}
|
|
11
|
+
ngOnChange() { }
|
|
12
|
+
ngAfterViewInit() {
|
|
13
|
+
if (this.to.width) {
|
|
14
|
+
this.width = this.to.width;
|
|
15
|
+
}
|
|
16
|
+
if (this.to.padding) {
|
|
17
|
+
this.padding = this.to.padding;
|
|
18
|
+
}
|
|
19
|
+
this.cd.detectChanges();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
ProfileImageTypeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ProfileImageTypeComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
23
|
+
ProfileImageTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ProfileImageTypeComponent, selector: "app-formly-profile-image-type", usesInheritance: true, ngImport: i0, template: `
|
|
24
|
+
<mat-card
|
|
25
|
+
|
|
26
|
+
fxLayout="column"
|
|
27
|
+
fxLayoutAlign="center center"
|
|
28
|
+
>
|
|
29
|
+
<ngx-avatars
|
|
30
|
+
class="profile-image"
|
|
31
|
+
[src]="model[key.toString()]"
|
|
32
|
+
[size]="150"
|
|
33
|
+
|
|
34
|
+
></ngx-avatars>
|
|
35
|
+
</mat-card>
|
|
36
|
+
`, isInline: true, styles: ["mat-card{border-radius:0;box-shadow:none!important}.profile-image{width:150px;height:150px;border-radius:50%}\n"], dependencies: [{ kind: "component", type: i1.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "component", type: i2.AvatarComponent, selector: "ngx-avatars", inputs: ["round", "size", "textSizeRatio", "bgColor", "fgColor", "borderColor", "style", "cornerRadius", "facebookId", "twitterId", "googleId", "instagramId", "vkontakteId", "skypeId", "gravatarId", "githubId", "src", "name", "value", "referrerpolicy", "placeholder", "initialsSize"], outputs: ["clickOnAvatar"] }] });
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ProfileImageTypeComponent, decorators: [{
|
|
38
|
+
type: Component,
|
|
39
|
+
args: [{ selector: 'app-formly-profile-image-type', template: `
|
|
40
|
+
<mat-card
|
|
41
|
+
|
|
42
|
+
fxLayout="column"
|
|
43
|
+
fxLayoutAlign="center center"
|
|
44
|
+
>
|
|
45
|
+
<ngx-avatars
|
|
46
|
+
class="profile-image"
|
|
47
|
+
[src]="model[key.toString()]"
|
|
48
|
+
[size]="150"
|
|
49
|
+
|
|
50
|
+
></ngx-avatars>
|
|
51
|
+
</mat-card>
|
|
52
|
+
`, styles: ["mat-card{border-radius:0;box-shadow:none!important}.profile-image{width:150px;height:150px;border-radius:50%}\n"] }]
|
|
53
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5pbWFnZS50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNjYW5kb2Mvc3JjL2Zvcm1zL3R5cGVzL3Byb2ZpbGUuaW1hZ2UudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxHQUlWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQW9CakQsTUFBTSxPQUFPLHlCQUNYLFNBQVEsU0FBYztJQU10QixZQUFvQixFQUFxQjtRQUN2QyxLQUFLLEVBQUUsQ0FBQztRQURVLE9BQUUsR0FBRixFQUFFLENBQW1CO0lBRXpDLENBQUM7SUFDRCxVQUFVLEtBQUksQ0FBQztJQUdmLGVBQWU7UUFHYixJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7U0FDNUI7UUFDRCxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFO1lBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUM7U0FDaEM7UUFFRCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzFCLENBQUM7O3NIQXhCVSx5QkFBeUI7MEdBQXpCLHlCQUF5Qiw0RkFoQjFCOzs7Ozs7Ozs7Ozs7O0dBYVQ7MkZBR1UseUJBQXlCO2tCQWxCckMsU0FBUzsrQkFDRSwrQkFBK0IsWUFDL0I7Ozs7Ozs7Ozs7Ozs7R0FhVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0LFxuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tICdAbmd4LWZvcm1seS9tYXRlcmlhbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1mb3JtbHktcHJvZmlsZS1pbWFnZS10eXBlJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bWF0LWNhcmRcblxuICAgICAgZnhMYXlvdXQ9XCJjb2x1bW5cIlxuICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIlxuICAgID5cbiAgICAgIDxuZ3gtYXZhdGFyc1xuICAgICAgICBjbGFzcz1cInByb2ZpbGUtaW1hZ2VcIlxuICAgICAgICBbc3JjXT1cIm1vZGVsW2tleS50b1N0cmluZygpXVwiXG4gICAgICAgIFtzaXplXT1cIjE1MFwiXG5cbiAgICAgID48L25neC1hdmF0YXJzPlxuICAgIDwvbWF0LWNhcmQ+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3Njc3MvcHJvZmlsZS5pbWFnZS50eXBlLnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZmlsZUltYWdlVHlwZUNvbXBvbmVudFxuICBleHRlbmRzIEZpZWxkVHlwZTxhbnk+XG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdFxue1xuICBuYW1lOiBhbnk7XG4gIHdpZHRoOmFueTtcbiAgcGFkZGluZzphbnk7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuICBuZ09uQ2hhbmdlKCkge31cblxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcblxuXG4gICAgaWYgKHRoaXMudG8ud2lkdGgpIHtcbiAgICAgIHRoaXMud2lkdGggPSB0aGlzLnRvLndpZHRoO1xuICAgIH1cbiAgICBpZiAodGhpcy50by5wYWRkaW5nKSB7XG4gICAgICB0aGlzLnBhZGRpbmcgPSB0aGlzLnRvLnBhZGRpbmc7XG4gICAgfVxuXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Component, } from '@angular/core';
|
|
2
|
+
import { FieldType } from '@ngx-formly/material';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "@ngx-translate/core";
|
|
6
|
+
export class TitleTypeComponent extends FieldType {
|
|
7
|
+
constructor(cd) {
|
|
8
|
+
super();
|
|
9
|
+
this.cd = cd;
|
|
10
|
+
}
|
|
11
|
+
ngOnInit() {
|
|
12
|
+
this.opt = {
|
|
13
|
+
badge: this.to.badge,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
ngAfterViewInit() {
|
|
17
|
+
this.cd.detectChanges();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
TitleTypeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TitleTypeComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
+
TitleTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TitleTypeComponent, selector: "app-formly-title-type", usesInheritance: true, ngImport: i0, template: `
|
|
22
|
+
<div fxLayout="row" fxLayoutAlign="start center">
|
|
23
|
+
<h3>
|
|
24
|
+
<span>{{ to.label }}</span>
|
|
25
|
+
|
|
26
|
+
<span
|
|
27
|
+
*ngIf="opt.badge && model[opt.badge] && model[opt.badge].length > 1"
|
|
28
|
+
matBadgeSize="small"
|
|
29
|
+
matBadgeColor="primary"
|
|
30
|
+
matBadgeOverlap="false"
|
|
31
|
+
></span>
|
|
32
|
+
</h3>
|
|
33
|
+
<span fxFlex></span>
|
|
34
|
+
<div *ngIf="to.chip" class="chip">
|
|
35
|
+
{{ to.chip | translate }}
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
`, isInline: true, styles: [".chip{background:whitesmoke;border-radius:6px;padding:4px 8px;font-size:12px;color:#888;font-weight:600}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TitleTypeComponent, decorators: [{
|
|
40
|
+
type: Component,
|
|
41
|
+
args: [{ selector: 'app-formly-title-type', template: `
|
|
42
|
+
<div fxLayout="row" fxLayoutAlign="start center">
|
|
43
|
+
<h3>
|
|
44
|
+
<span>{{ to.label }}</span>
|
|
45
|
+
|
|
46
|
+
<span
|
|
47
|
+
*ngIf="opt.badge && model[opt.badge] && model[opt.badge].length > 1"
|
|
48
|
+
matBadgeSize="small"
|
|
49
|
+
matBadgeColor="primary"
|
|
50
|
+
matBadgeOverlap="false"
|
|
51
|
+
></span>
|
|
52
|
+
</h3>
|
|
53
|
+
<span fxFlex></span>
|
|
54
|
+
<div *ngIf="to.chip" class="chip">
|
|
55
|
+
{{ to.chip | translate }}
|
|
56
|
+
</div>
|
|
57
|
+
</div>
|
|
58
|
+
`, styles: [".chip{background:whitesmoke;border-radius:6px;padding:4px 8px;font-size:12px;color:#888;font-weight:600}\n"] }]
|
|
59
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGl0bGUudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zY2FuZG9jL3NyYy9mb3Jtcy90eXBlcy90aXRsZS50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEdBSVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7O0FBd0JqRCxNQUFNLE9BQU8sa0JBQ1gsU0FBUSxTQUFjO0lBSXRCLFlBQW9CLEVBQXFCO1FBQ3ZDLEtBQUssRUFBRSxDQUFDO1FBRFUsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7SUFFekMsQ0FBQztJQUNELFFBQVE7UUFDTixJQUFJLENBQUMsR0FBRyxHQUFHO1lBQ1QsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSztTQUNyQixDQUFDO0lBQ0osQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzFCLENBQUM7OytHQWhCVSxrQkFBa0I7bUdBQWxCLGtCQUFrQixvRkFwQm5COzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCVDsyRkFHVSxrQkFBa0I7a0JBdEI5QixTQUFTOytCQUNFLHVCQUF1QixZQUN2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQlQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmllbGRUeXBlIH0gZnJvbSAnQG5neC1mb3JtbHkvbWF0ZXJpYWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZm9ybWx5LXRpdGxlLXR5cGUnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCI+XG4gICAgICA8aDM+XG4gICAgICAgIDxzcGFuPnt7IHRvLmxhYmVsIH19PC9zcGFuPlxuXG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgKm5nSWY9XCJvcHQuYmFkZ2UgJiYgbW9kZWxbb3B0LmJhZGdlXSAmJiBtb2RlbFtvcHQuYmFkZ2VdLmxlbmd0aCA+IDFcIlxuICAgICAgICAgIG1hdEJhZGdlU2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICBtYXRCYWRnZUNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgbWF0QmFkZ2VPdmVybGFwPVwiZmFsc2VcIlxuICAgICAgICA+PC9zcGFuPlxuICAgICAgPC9oMz5cbiAgICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XG4gICAgICA8ZGl2ICpuZ0lmPVwidG8uY2hpcFwiIGNsYXNzPVwiY2hpcFwiPlxuICAgICAgICB7eyB0by5jaGlwIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vc2Nzcy90aXRsZS50eXBlLnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGl0bGVUeXBlQ29tcG9uZW50XG4gIGV4dGVuZHMgRmllbGRUeXBlPGFueT5cbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXRcbntcbiAgb3B0OiBhbnk7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLm9wdCA9IHtcbiAgICAgIGJhZGdlOiB0aGlzLnRvLmJhZGdlLFxuICAgIH07XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,21 +1,38 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { CoreComponentsModule } from '../core/components/components.module';
|
|
3
|
+
import { DialogsModule } from '../dialogs/dialogs.module';
|
|
4
|
+
import { HttpErrorInterceptor } from '../providers/interceptor.provider';
|
|
5
|
+
import { AuthProvider } from '../providers/auth.provider';
|
|
6
|
+
import { ScanProvider } from '../providers/scan.provider';
|
|
7
|
+
import { HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
3
8
|
import * as i0 from "@angular/core";
|
|
4
9
|
export class NgxScandocModule {
|
|
10
|
+
static forRoot(config) {
|
|
11
|
+
return {
|
|
12
|
+
ngModule: NgxScandocModule,
|
|
13
|
+
providers: [
|
|
14
|
+
AuthProvider,
|
|
15
|
+
{ provide: 'configAuth', useValue: config.auth },
|
|
16
|
+
ScanProvider,
|
|
17
|
+
{ provide: 'config', useValue: config.scan },
|
|
18
|
+
{
|
|
19
|
+
provide: HTTP_INTERCEPTORS,
|
|
20
|
+
useClass: HttpErrorInterceptor,
|
|
21
|
+
multi: true,
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
};
|
|
25
|
+
}
|
|
5
26
|
}
|
|
6
27
|
NgxScandocModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgxScandocModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
7
|
-
NgxScandocModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: NgxScandocModule,
|
|
8
|
-
NgxScandocModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgxScandocModule });
|
|
28
|
+
NgxScandocModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: NgxScandocModule, imports: [CoreComponentsModule, DialogsModule], exports: [CoreComponentsModule, DialogsModule] });
|
|
29
|
+
NgxScandocModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgxScandocModule, imports: [CoreComponentsModule, DialogsModule, CoreComponentsModule, DialogsModule] });
|
|
9
30
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgxScandocModule, decorators: [{
|
|
10
31
|
type: NgModule,
|
|
11
32
|
args: [{
|
|
12
|
-
declarations: [
|
|
13
|
-
|
|
14
|
-
],
|
|
15
|
-
imports: [],
|
|
16
|
-
exports: [
|
|
17
|
-
NgxScandocComponent
|
|
18
|
-
]
|
|
33
|
+
declarations: [],
|
|
34
|
+
imports: [CoreComponentsModule, DialogsModule],
|
|
35
|
+
exports: [CoreComponentsModule, DialogsModule],
|
|
19
36
|
}]
|
|
20
37
|
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNjYW5kb2MubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNjYW5kb2Mvc3JjL2xpYi9uZ3gtc2NhbmRvYy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBdUJ6RCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLE1BQU0sQ0FBQyxPQUFPLENBQ1osTUFBc0I7UUFFdEIsT0FBTztZQUNMLFFBQVEsRUFBRSxnQkFBZ0I7WUFDMUIsU0FBUyxFQUFFO2dCQUNULFlBQVk7Z0JBQ1osRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFO2dCQUNoRCxZQUFZO2dCQUNaLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRTtnQkFFNUM7b0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtvQkFDMUIsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsS0FBSyxFQUFFLElBQUk7aUJBQ1o7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDOzs2R0FuQlUsZ0JBQWdCOzhHQUFoQixnQkFBZ0IsWUFIakIsb0JBQW9CLEVBQUUsYUFBYSxhQUNuQyxvQkFBb0IsRUFBRSxhQUFhOzhHQUVsQyxnQkFBZ0IsWUFIakIsb0JBQW9CLEVBQUUsYUFBYSxFQUNuQyxvQkFBb0IsRUFBRSxhQUFhOzJGQUVsQyxnQkFBZ0I7a0JBTDVCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixFQUFFLGFBQWEsQ0FBQztvQkFDOUMsT0FBTyxFQUFFLENBQUMsb0JBQW9CLEVBQUUsYUFBYSxDQUFDO2lCQUMvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb3JlQ29tcG9uZW50c01vZHVsZSB9IGZyb20gJy4uL2NvcmUvY29tcG9uZW50cy9jb21wb25lbnRzLm1vZHVsZSc7XG5pbXBvcnQgeyBEaWFsb2dzTW9kdWxlIH0gZnJvbSAnLi4vZGlhbG9ncy9kaWFsb2dzLm1vZHVsZSc7XG5pbXBvcnQgeyBIdHRwRXJyb3JJbnRlcmNlcHRvciB9IGZyb20gJy4uL3Byb3ZpZGVycy9pbnRlcmNlcHRvci5wcm92aWRlcic7XG5pbXBvcnQgeyBBdXRoUHJvdmlkZXIgfSBmcm9tICcuLi9wcm92aWRlcnMvYXV0aC5wcm92aWRlcic7XG5pbXBvcnQgeyBTY2FuUHJvdmlkZXIgfSBmcm9tICcuLi9wcm92aWRlcnMvc2Nhbi5wcm92aWRlcic7XG5pbXBvcnQgeyBIVFRQX0lOVEVSQ0VQVE9SUyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuZXhwb3J0IGludGVyZmFjZSBBdXRoQ29uZmlnIHtcbiAgcGF0aDogc3RyaW5nO1xuICB0b2tlbk5hbWU6IHN0cmluZztcbiAgY2xpZW50SWQ6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU2NhbkNvbmZpZyB7XG4gIGV4dHJhY3Rpb25QYXRoOiBzdHJpbmc7XG4gIHZhbGlkYXRpb25QYXRoOiBzdHJpbmc7XG4gIGVycm9yTG9nZ2luZ1BhdGg6IHN0cmluZztcbiAgc3RhdGVMZXNzUGF0aDogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBTY2FuRGF0YUNvbmZpZyB7XG4gIGF1dGg6IEF1dGhDb25maWc7XG4gIHNjYW46IFNjYW5Db25maWc7XG59XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGltcG9ydHM6IFtDb3JlQ29tcG9uZW50c01vZHVsZSwgRGlhbG9nc01vZHVsZV0sXG4gIGV4cG9ydHM6IFtDb3JlQ29tcG9uZW50c01vZHVsZSwgRGlhbG9nc01vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIE5neFNjYW5kb2NNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChcbiAgICBjb25maWc6IFNjYW5EYXRhQ29uZmlnXG4gICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Tmd4U2NhbmRvY01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogTmd4U2NhbmRvY01vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICBBdXRoUHJvdmlkZXIsXG4gICAgICAgIHsgcHJvdmlkZTogJ2NvbmZpZ0F1dGgnLCB1c2VWYWx1ZTogY29uZmlnLmF1dGggfSxcbiAgICAgICAgU2NhblByb3ZpZGVyLFxuICAgICAgICB7IHByb3ZpZGU6ICdjb25maWcnLCB1c2VWYWx1ZTogY29uZmlnLnNjYW4gfSxcblxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsXG4gICAgICAgICAgdXNlQ2xhc3M6IEh0dHBFcnJvckludGVyY2VwdG9yLFxuICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import jwt_decode from 'jwt-decode';
|
|
3
|
+
import { of } from 'rxjs';
|
|
4
|
+
import { map, tap } from 'rxjs/operators';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common/http";
|
|
7
|
+
export class AuthProvider {
|
|
8
|
+
constructor(http, config) {
|
|
9
|
+
this.http = http;
|
|
10
|
+
this.config = config;
|
|
11
|
+
this.token = '';
|
|
12
|
+
this.tokenTimestamps = {
|
|
13
|
+
exp: 0,
|
|
14
|
+
iat: 0,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
setConfig() { }
|
|
18
|
+
get tokenExpired() {
|
|
19
|
+
if (this.token == '' || this.tokenTimestamps.exp === 0) {
|
|
20
|
+
console.log('EXPIRED');
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
const { iat, exp } = this.tokenTimestamps;
|
|
24
|
+
return iat + 20 > exp;
|
|
25
|
+
}
|
|
26
|
+
resetToken() {
|
|
27
|
+
this.token = '';
|
|
28
|
+
}
|
|
29
|
+
get accesToken() {
|
|
30
|
+
return this.tokenExpired ? this.getToken() : of(this.token);
|
|
31
|
+
}
|
|
32
|
+
getToken() {
|
|
33
|
+
return this.http
|
|
34
|
+
.post(this.config.path, {
|
|
35
|
+
clientId: this.config.clientId,
|
|
36
|
+
token: this.config.tokenName,
|
|
37
|
+
})
|
|
38
|
+
.pipe(map((data) => data.accessToken), tap((token) => {
|
|
39
|
+
this.token = token;
|
|
40
|
+
const decoded = jwt_decode(this.token);
|
|
41
|
+
const { iat, exp } = decoded;
|
|
42
|
+
this.tokenTimestamps = { iat, exp };
|
|
43
|
+
}));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
AuthProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AuthProvider, deps: [{ token: i1.HttpClient }, { token: 'configAuth' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
47
|
+
AuthProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AuthProvider, providedIn: 'root' });
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AuthProvider, decorators: [{
|
|
49
|
+
type: Injectable,
|
|
50
|
+
args: [{
|
|
51
|
+
providedIn: 'root',
|
|
52
|
+
}]
|
|
53
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
|
54
|
+
type: Inject,
|
|
55
|
+
args: ['configAuth']
|
|
56
|
+
}] }]; } });
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zY2FuZG9jL3NyYy9wcm92aWRlcnMvYXV0aC5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLFVBQVUsTUFBTSxZQUFZLENBQUM7QUFDcEMsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFhLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFRckQsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFDVSxJQUFnQixFQUNNLE1BQWtCO1FBRHhDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDTSxXQUFNLEdBQU4sTUFBTSxDQUFZO1FBT2xELFVBQUssR0FBVyxFQUFFLENBQUM7UUFFbkIsb0JBQWUsR0FBRztZQUNoQixHQUFHLEVBQUUsQ0FBQztZQUNOLEdBQUcsRUFBRSxDQUFDO1NBQ1AsQ0FBQztJQVRGLENBQUM7SUFFRCxTQUFTLEtBQUksQ0FBQztJQVNkLElBQVksWUFBWTtRQUN0QixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUUsRUFBRSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxLQUFLLENBQUMsRUFBRTtZQUNwRCxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1lBQ3RCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDMUMsT0FBTyxHQUFHLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQztJQUN4QixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFDRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBQ08sUUFBUTtRQUNkLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDdEIsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUTtZQUM5QixLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTO1NBQzdCLENBQUM7YUFDRCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQ3BDLEdBQUcsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLE1BQU0sT0FBTyxHQUFRLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUM7WUFDN0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQzs7eUdBaERVLFlBQVksNENBR2IsWUFBWTs2R0FIWCxZQUFZLGNBRlgsTUFBTTsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBSUksTUFBTTsyQkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgand0X2RlY29kZSBmcm9tICdqd3QtZGVjb2RlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBBdXRoQ29uZmlnIH0gZnJvbSAnLi4vbGliL25neC1zY2FuZG9jLm1vZHVsZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRoUHJvdmlkZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgQEluamVjdCgnY29uZmlnQXV0aCcpIHByaXZhdGUgY29uZmlnOiBBdXRoQ29uZmlnXG4gICkge1xuXG4gIH1cblxuICBzZXRDb25maWcoKSB7fVxuXG4gIHRva2VuOiBzdHJpbmcgPSAnJztcblxuICB0b2tlblRpbWVzdGFtcHMgPSB7XG4gICAgZXhwOiAwLFxuICAgIGlhdDogMCxcbiAgfTtcblxuICBwcml2YXRlIGdldCB0b2tlbkV4cGlyZWQoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMudG9rZW49PScnIHx8IHRoaXMudG9rZW5UaW1lc3RhbXBzLmV4cCA9PT0gMCkge1xuICAgICAgY29uc29sZS5sb2coJ0VYUElSRUQnKVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgY29uc3QgeyBpYXQsIGV4cCB9ID0gdGhpcy50b2tlblRpbWVzdGFtcHM7XG4gICAgcmV0dXJuIGlhdCArIDIwID4gZXhwO1xuICB9XG5cbiAgcmVzZXRUb2tlbigpIHtcbiAgICB0aGlzLnRva2VuID0gJyc7XG4gIH1cbiAgZ2V0IGFjY2VzVG9rZW4oKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy50b2tlbkV4cGlyZWQgPyB0aGlzLmdldFRva2VuKCkgOiBvZih0aGlzLnRva2VuKTtcbiAgfVxuICBwcml2YXRlIGdldFRva2VuKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnBvc3QodGhpcy5jb25maWcucGF0aCwge1xuICAgICAgICBjbGllbnRJZDogdGhpcy5jb25maWcuY2xpZW50SWQsXG4gICAgICAgIHRva2VuOiB0aGlzLmNvbmZpZy50b2tlbk5hbWUsXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoZGF0YTogYW55KSA9PiBkYXRhLmFjY2Vzc1Rva2VuKSxcbiAgICAgICAgdGFwKCh0b2tlbjogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy50b2tlbiA9IHRva2VuO1xuICAgICAgICAgIGNvbnN0IGRlY29kZWQ6IGFueSA9IGp3dF9kZWNvZGUodGhpcy50b2tlbik7XG4gICAgICAgICAgY29uc3QgeyBpYXQsIGV4cCB9ID0gZGVjb2RlZDtcbiAgICAgICAgICB0aGlzLnRva2VuVGltZXN0YW1wcyA9IHsgaWF0LCBleHAgfTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { HttpHeaders, } from '@angular/common/http';
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { throwError } from 'rxjs';
|
|
4
|
+
import { catchError, share, switchMap } from 'rxjs/operators';
|
|
5
|
+
import { AuthProvider } from './auth.provider';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class HttpErrorInterceptor {
|
|
8
|
+
constructor(injector) {
|
|
9
|
+
this.injector = injector;
|
|
10
|
+
}
|
|
11
|
+
intercept(req, next) {
|
|
12
|
+
console.log(req.url);
|
|
13
|
+
if (req.url.indexOf('auth') >= 0 || req.url.indexOf('/assets/') >= 0) {
|
|
14
|
+
return next.handle(req);
|
|
15
|
+
}
|
|
16
|
+
const authProvider = this.injector.get(AuthProvider);
|
|
17
|
+
this.inflightAuthRequest = authProvider.accesToken;
|
|
18
|
+
return this.inflightAuthRequest.pipe(share(), switchMap((token) => {
|
|
19
|
+
// unset request inflight
|
|
20
|
+
this.inflightAuthRequest = null;
|
|
21
|
+
const transaction = req.headers.get('TransactionID');
|
|
22
|
+
const authReq = req.clone({
|
|
23
|
+
headers: this.getHeaders(token, transaction || ''),
|
|
24
|
+
});
|
|
25
|
+
return next.handle(authReq);
|
|
26
|
+
}), catchError((err) => {
|
|
27
|
+
let tokenExpired = false;
|
|
28
|
+
if (err.errors) {
|
|
29
|
+
const find = err.erros.find((es) => es.indexOf('Invalid token') > -1);
|
|
30
|
+
tokenExpired = find ? true : false;
|
|
31
|
+
}
|
|
32
|
+
console.log(err);
|
|
33
|
+
if (err.status === 401 || tokenExpired) {
|
|
34
|
+
authProvider.resetToken();
|
|
35
|
+
return this.intercept(req, next);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
return throwError(() => new Error('' + (err && err.status ? ':' + err.status : '')));
|
|
39
|
+
}
|
|
40
|
+
}));
|
|
41
|
+
}
|
|
42
|
+
getHeaders(token, TransactionID) {
|
|
43
|
+
if (TransactionID) {
|
|
44
|
+
return new HttpHeaders({
|
|
45
|
+
'Content-Type': 'application/json',
|
|
46
|
+
Authorization: token,
|
|
47
|
+
TransactionID,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
return new HttpHeaders({
|
|
51
|
+
'Content-Type': 'application/json',
|
|
52
|
+
Authorization: token,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
HttpErrorInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HttpErrorInterceptor, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
57
|
+
HttpErrorInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HttpErrorInterceptor });
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HttpErrorInterceptor, decorators: [{
|
|
59
|
+
type: Injectable
|
|
60
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJjZXB0b3IucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NhbmRvYy9zcmMvcHJvdmlkZXJzL2ludGVyY2VwdG9yLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxXQUFXLEdBR1osTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUcvQyxNQUFNLE9BQU8sb0JBQW9CO0lBRy9CLFlBQW9CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFBRyxDQUFDO0lBRTFDLFNBQVMsQ0FDUCxHQUFxQixFQUNyQixJQUFpQjtRQUVqQixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyQixJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDcEUsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3pCO1FBRUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFckQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLFlBQVksQ0FBQyxVQUFVLENBQUM7UUFFbkQsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUNsQyxLQUFLLEVBQUUsRUFDUCxTQUFTLENBQUMsQ0FBQyxLQUFhLEVBQUUsRUFBRTtZQUMxQix5QkFBeUI7WUFDekIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztZQUVoQyxNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNyRCxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDO2dCQUN4QixPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsV0FBVyxJQUFJLEVBQUUsQ0FBQzthQUNuRCxDQUFDLENBQUM7WUFFSCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUIsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFFdEIsSUFBSSxZQUFZLEdBQUcsS0FBSyxDQUFDO1lBQ3pCLElBQUksR0FBRyxDQUFDLE1BQU0sRUFBRTtnQkFDZCxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDekIsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQ2pELENBQUM7Z0JBQ0YsWUFBWSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7YUFDcEM7WUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBRWhCLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxHQUFHLElBQUksWUFBWSxFQUFFO2dCQUN0QyxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQzFCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDbEM7aUJBQU07Z0JBQ0wsT0FBTyxVQUFVLENBQ2YsR0FBRyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRSxHQUFHLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUNsRSxDQUFDO2FBQ0g7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVPLFVBQVUsQ0FBQyxLQUFhLEVBQUUsYUFBcUI7UUFDckQsSUFBSSxhQUFhLEVBQUU7WUFDakIsT0FBTyxJQUFJLFdBQVcsQ0FBQztnQkFDckIsY0FBYyxFQUFFLGtCQUFrQjtnQkFDbEMsYUFBYSxFQUFFLEtBQUs7Z0JBQ3BCLGFBQWE7YUFDZCxDQUFDLENBQUM7U0FDSjtRQUNELE9BQU8sSUFBSSxXQUFXLENBQUM7WUFDckIsY0FBYyxFQUFFLGtCQUFrQjtZQUNsQyxhQUFhLEVBQUUsS0FBSztTQUNyQixDQUFDLENBQUM7SUFDTCxDQUFDOztpSEFsRVUsb0JBQW9CO3FIQUFwQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEh0dHBFdmVudCxcbiAgSHR0cEhhbmRsZXIsXG4gIEh0dHBIZWFkZXJzLFxuICBIdHRwSW50ZXJjZXB0b3IsXG4gIEh0dHBSZXF1ZXN0LFxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgc2hhcmUsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEF1dGhQcm92aWRlciB9IGZyb20gJy4vYXV0aC5wcm92aWRlcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBIdHRwRXJyb3JJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gIGluZmxpZ2h0QXV0aFJlcXVlc3QhOiBPYnNlcnZhYmxlPGFueT4gfCBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7fVxuXG4gIGludGVyY2VwdChcbiAgICByZXE6IEh0dHBSZXF1ZXN0PGFueT4sXG4gICAgbmV4dDogSHR0cEhhbmRsZXJcbiAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgIGNvbnNvbGUubG9nKHJlcS51cmwpO1xuICAgIGlmIChyZXEudXJsLmluZGV4T2YoJ2F1dGgnKSA+PSAwIHx8IHJlcS51cmwuaW5kZXhPZignL2Fzc2V0cy8nKSA+PSAwKSB7XG4gICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKTtcbiAgICB9XG5cbiAgICBjb25zdCBhdXRoUHJvdmlkZXIgPSB0aGlzLmluamVjdG9yLmdldChBdXRoUHJvdmlkZXIpO1xuXG4gICAgdGhpcy5pbmZsaWdodEF1dGhSZXF1ZXN0ID0gYXV0aFByb3ZpZGVyLmFjY2VzVG9rZW47XG5cbiAgICByZXR1cm4gdGhpcy5pbmZsaWdodEF1dGhSZXF1ZXN0LnBpcGUoXG4gICAgICBzaGFyZSgpLFxuICAgICAgc3dpdGNoTWFwKCh0b2tlbjogc3RyaW5nKSA9PiB7XG4gICAgICAgIC8vIHVuc2V0IHJlcXVlc3QgaW5mbGlnaHRcbiAgICAgICAgdGhpcy5pbmZsaWdodEF1dGhSZXF1ZXN0ID0gbnVsbDtcblxuICAgICAgICBjb25zdCB0cmFuc2FjdGlvbiA9IHJlcS5oZWFkZXJzLmdldCgnVHJhbnNhY3Rpb25JRCcpO1xuICAgICAgICBjb25zdCBhdXRoUmVxID0gcmVxLmNsb25lKHtcbiAgICAgICAgICBoZWFkZXJzOiB0aGlzLmdldEhlYWRlcnModG9rZW4sIHRyYW5zYWN0aW9uIHx8ICcnKSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKGF1dGhSZXEpO1xuICAgICAgfSksXG4gICAgICBjYXRjaEVycm9yKChlcnI6IGFueSkgPT4ge1xuXG4gICAgICAgIGxldCB0b2tlbkV4cGlyZWQgPSBmYWxzZTtcbiAgICAgICAgaWYgKGVyci5lcnJvcnMpIHtcbiAgICAgICAgICBjb25zdCBmaW5kID0gZXJyLmVycm9zLmZpbmQoXG4gICAgICAgICAgICAoZXM6IHN0cmluZykgPT4gZXMuaW5kZXhPZignSW52YWxpZCB0b2tlbicpID4gLTFcbiAgICAgICAgICApO1xuICAgICAgICAgIHRva2VuRXhwaXJlZCA9IGZpbmQgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29uc29sZS5sb2coZXJyKVxuXG4gICAgICAgIGlmIChlcnIuc3RhdHVzID09PSA0MDEgfHwgdG9rZW5FeHBpcmVkKSB7XG4gICAgICAgICAgYXV0aFByb3ZpZGVyLnJlc2V0VG9rZW4oKTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5pbnRlcmNlcHQocmVxLCBuZXh0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihcbiAgICAgICAgICAgICgpID0+IG5ldyBFcnJvcignJyArIChlcnIgJiYgZXJyLnN0YXR1cyA/ICc6JyArIGVyci5zdGF0dXMgOiAnJykpXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRIZWFkZXJzKHRva2VuOiBzdHJpbmcsIFRyYW5zYWN0aW9uSUQ6IHN0cmluZykge1xuICAgIGlmIChUcmFuc2FjdGlvbklEKSB7XG4gICAgICByZXR1cm4gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgQXV0aG9yaXphdGlvbjogdG9rZW4sXG4gICAgICAgIFRyYW5zYWN0aW9uSUQsXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgQXV0aG9yaXphdGlvbjogdG9rZW4sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|