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.
Files changed (71) hide show
  1. package/core/app.worker.d.ts +1 -0
  2. package/core/components/components.module.d.ts +8 -0
  3. package/core/components/webcam/domain/webcam-image.d.ts +35 -0
  4. package/core/components/webcam/domain/webcam-init-error.d.ts +4 -0
  5. package/core/components/webcam/domain/webcam-mirror-properties.d.ts +3 -0
  6. package/core/components/webcam/util/webcam.util.d.ts +8 -0
  7. package/core/components/webcam/webcam/webcam.component.d.ts +202 -0
  8. package/core/components/webcam/webcam.module.d.ts +9 -0
  9. package/core/pipes/pipes.module.d.ts +7 -0
  10. package/core/pipes/safeResourceUrl.pipe.d.ts +10 -0
  11. package/core/shared/material.module.d.ts +28 -0
  12. package/dialogs/components/blank/blank.component.d.ts +17 -0
  13. package/dialogs/components/confirm/confirm.component.d.ts +30 -0
  14. package/dialogs/components/loading/loading.component.d.ts +5 -0
  15. package/dialogs/components/scan-mobile/scan-mobile.component.d.ts +16 -0
  16. package/dialogs/components/scan-profile/scan-profile.component.d.ts +124 -0
  17. package/dialogs/components/scan-selfie/scan-selfie.component.d.ts +83 -0
  18. package/dialogs/dialogs.core.provider.d.ts +18 -0
  19. package/dialogs/dialogs.module.d.ts +21 -0
  20. package/esm2020/core/app.worker.mjs +236 -0
  21. package/esm2020/core/components/components.module.mjs +18 -0
  22. package/esm2020/core/components/webcam/domain/webcam-image.mjs +58 -0
  23. package/esm2020/core/components/webcam/domain/webcam-init-error.mjs +3 -0
  24. package/esm2020/core/components/webcam/domain/webcam-mirror-properties.mjs +3 -0
  25. package/esm2020/core/components/webcam/util/webcam.util.mjs +48 -0
  26. package/esm2020/core/components/webcam/webcam/webcam.component.mjs +861 -0
  27. package/esm2020/core/components/webcam/webcam.module.mjs +22 -0
  28. package/esm2020/core/pipes/pipes.module.mjs +19 -0
  29. package/esm2020/core/pipes/safeResourceUrl.pipe.mjs +20 -0
  30. package/esm2020/core/shared/material.module.mjs +162 -0
  31. package/esm2020/dialogs/components/blank/blank.component.mjs +47 -0
  32. package/esm2020/dialogs/components/confirm/confirm.component.mjs +53 -0
  33. package/esm2020/dialogs/components/loading/loading.component.mjs +12 -0
  34. package/esm2020/dialogs/components/scan-mobile/scan-mobile.component.mjs +43 -0
  35. package/esm2020/dialogs/components/scan-profile/scan-profile.component.mjs +756 -0
  36. package/esm2020/dialogs/components/scan-selfie/scan-selfie.component.mjs +392 -0
  37. package/esm2020/dialogs/dialogs.core.provider.mjs +100 -0
  38. package/esm2020/dialogs/dialogs.module.mjs +89 -0
  39. package/esm2020/forms/form.module.mjs +87 -0
  40. package/esm2020/forms/types/avatar.type.mjs +53 -0
  41. package/esm2020/forms/types/profile.image.type.mjs +54 -0
  42. package/esm2020/forms/types/title.type.mjs +60 -0
  43. package/esm2020/lib/ngx-scandoc.module.mjs +28 -11
  44. package/esm2020/providers/auth.provider.mjs +57 -0
  45. package/esm2020/providers/interceptor.provider.mjs +61 -0
  46. package/esm2020/providers/scan.form.mjs +386 -0
  47. package/esm2020/providers/scan.provider.mjs +490 -0
  48. package/esm2020/providers/translation.provider.mjs +50 -0
  49. package/esm2020/providers/webrtc.provider.mjs +58 -0
  50. package/esm2020/public-api.mjs +22 -4
  51. package/fesm2015/ngx-scandoc.mjs +4178 -32
  52. package/fesm2015/ngx-scandoc.mjs.map +1 -1
  53. package/fesm2020/ngx-scandoc.mjs +4154 -32
  54. package/fesm2020/ngx-scandoc.mjs.map +1 -1
  55. package/forms/form.module.d.ts +18 -0
  56. package/forms/types/avatar.type.d.ts +14 -0
  57. package/forms/types/profile.image.type.d.ts +14 -0
  58. package/forms/types/title.type.d.ts +12 -0
  59. package/lib/ngx-scandoc.module.d.ts +20 -2
  60. package/package.json +6 -2
  61. package/providers/auth.provider.d.ts +21 -0
  62. package/providers/interceptor.provider.d.ts +13 -0
  63. package/providers/scan.form.d.ts +13 -0
  64. package/providers/scan.provider.d.ts +239 -0
  65. package/providers/translation.provider.d.ts +9 -0
  66. package/providers/webrtc.provider.d.ts +11 -0
  67. package/public-api.d.ts +21 -3
  68. package/esm2020/lib/ngx-scandoc.component.mjs +0 -22
  69. package/esm2020/lib/ngx-scandoc.service.mjs +0 -14
  70. package/lib/ngx-scandoc.component.d.ts +0 -8
  71. 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 { NgxScandocComponent } from './ngx-scandoc.component';
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, declarations: [NgxScandocComponent], exports: [NgxScandocComponent] });
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
- NgxScandocComponent
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNjYW5kb2MubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNjYW5kb2Mvc3JjL2xpYi9uZ3gtc2NhbmRvYy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFjOUQsTUFBTSxPQUFPLGdCQUFnQjs7NkdBQWhCLGdCQUFnQjs4R0FBaEIsZ0JBQWdCLGlCQVJ6QixtQkFBbUIsYUFLbkIsbUJBQW1COzhHQUdWLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQVY1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRSxFQUNSO29CQUNELE9BQU8sRUFBRTt3QkFDUCxtQkFBbUI7cUJBQ3BCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5neFNjYW5kb2NDb21wb25lbnQgfSBmcm9tICcuL25neC1zY2FuZG9jLmNvbXBvbmVudCc7XG5cblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBOZ3hTY2FuZG9jQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIE5neFNjYW5kb2NDb21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBOZ3hTY2FuZG9jTW9kdWxlIHsgfVxuIl19
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==