@falcon-ng/tailwind 0.0.6 → 0.0.9

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 (75) hide show
  1. package/{esm2020 → esm2022}/lib/component/auto-complete/auto-complete.component.mjs +5 -5
  2. package/{esm2020 → esm2022}/lib/component/bottom-sheet/bottom-sheet.component.mjs +6 -6
  3. package/{esm2020 → esm2022}/lib/component/button/button.component.mjs +4 -4
  4. package/{esm2020 → esm2022}/lib/component/button-toggle/button-toggle.component.mjs +4 -4
  5. package/{esm2020 → esm2022}/lib/component/checkbox/checkbox.component.mjs +4 -4
  6. package/{esm2020 → esm2022}/lib/component/chips/chip.component.mjs +5 -5
  7. package/esm2022/lib/component/date-picker/date-picker.component.mjs +17 -0
  8. package/{esm2020 → esm2022}/lib/component/dialog/dialog.component.mjs +6 -6
  9. package/{esm2020 → esm2022}/lib/component/pagination/pagination.component.mjs +5 -5
  10. package/{esm2020 → esm2022}/lib/component/progress-bar/progress-bar.component.mjs +4 -4
  11. package/{esm2020 → esm2022}/lib/component/progress-spinner/progress-spinner.component.mjs +4 -4
  12. package/{esm2020 → esm2022}/lib/component/radio/radio.component.mjs +4 -4
  13. package/{esm2020 → esm2022}/lib/component/rich-text-editor/rich-text-editor.component.mjs +4 -4
  14. package/{esm2020 → esm2022}/lib/component/select/select.component.mjs +5 -5
  15. package/{esm2020 → esm2022}/lib/component/slide-toggle/slide-toggle.component.mjs +4 -4
  16. package/{esm2020 → esm2022}/lib/component/slider/slider.component.mjs +4 -4
  17. package/{esm2020 → esm2022}/lib/component/snack-bar/snack-bar.component.mjs +4 -4
  18. package/{esm2020 → esm2022}/lib/component/table/table.component.mjs +4 -4
  19. package/{esm2020 → esm2022}/lib/component/textarea/textarea.component.mjs +4 -4
  20. package/{esm2020 → esm2022}/lib/component/textbox/textbox.component.mjs +4 -4
  21. package/{esm2020 → esm2022}/lib/control-builder/control-builder.component.mjs +4 -4
  22. package/esm2022/lib/falcon-core.module.mjs +230 -0
  23. package/esm2022/lib/model/constant.mjs +32 -0
  24. package/{esm2020 → esm2022}/lib/module/angularmaterial.module.mjs +91 -91
  25. package/{esm2020 → esm2022}/lib/reactive-field.directive.mjs +5 -5
  26. package/esm2022/lib/service/appsetting.service.mjs +55 -0
  27. package/{esm2020 → esm2022}/lib/service/http/generic-http-client.mjs +5 -5
  28. package/{esm2020 → esm2022}/lib/service/http/igeneric-http-client.mjs +4 -4
  29. package/{esm2020 → esm2022}/lib/service/logger.service.mjs +5 -5
  30. package/{esm2020 → esm2022}/lib/service/open-id/TokenHelperService.mjs +5 -5
  31. package/{esm2020 → esm2022}/lib/service/open-id/auth-guard.service.mjs +5 -5
  32. package/esm2022/lib/service/open-id/auth.service.mjs +154 -0
  33. package/{fesm2020 → fesm2022}/falcon-ng-tailwind.mjs +304 -304
  34. package/fesm2022/falcon-ng-tailwind.mjs.map +1 -0
  35. package/lib/component/button/button.component.d.ts +1 -1
  36. package/lib/component/chips/chip.component.d.ts +1 -1
  37. package/lib/component/pagination/pagination.component.d.ts +1 -1
  38. package/lib/component/progress-bar/progress-bar.component.d.ts +1 -1
  39. package/lib/component/progress-spinner/progress-spinner.component.d.ts +1 -1
  40. package/lib/component/table/table.component.d.ts +1 -1
  41. package/lib/control-builder/control-builder.component.d.ts +1 -1
  42. package/lib/reactive-field.directive.d.ts +1 -1
  43. package/lib/service/open-id/auth-guard.service.d.ts +2 -2
  44. package/package.json +7 -13
  45. package/esm2020/lib/component/date-picker/date-picker.component.mjs +0 -17
  46. package/esm2020/lib/falcon-core.module.mjs +0 -230
  47. package/esm2020/lib/model/constant.mjs +0 -32
  48. package/esm2020/lib/service/appsetting.service.mjs +0 -55
  49. package/esm2020/lib/service/open-id/auth.service.mjs +0 -154
  50. package/fesm2015/falcon-ng-tailwind.mjs +0 -1988
  51. package/fesm2015/falcon-ng-tailwind.mjs.map +0 -1
  52. package/fesm2020/falcon-ng-tailwind.mjs.map +0 -1
  53. /package/{esm2020 → esm2022}/falcon-ng-tailwind.mjs +0 -0
  54. /package/{esm2020 → esm2022}/lib/base-control.mjs +0 -0
  55. /package/{esm2020 → esm2022}/lib/base-form-component.mjs +0 -0
  56. /package/{esm2020 → esm2022}/lib/control-type/AutoComplete.mjs +0 -0
  57. /package/{esm2020 → esm2022}/lib/control-type/Button.mjs +0 -0
  58. /package/{esm2020 → esm2022}/lib/control-type/ButtonToggle.mjs +0 -0
  59. /package/{esm2020 → esm2022}/lib/control-type/CheckBox.mjs +0 -0
  60. /package/{esm2020 → esm2022}/lib/control-type/Chip.mjs +0 -0
  61. /package/{esm2020 → esm2022}/lib/control-type/DatePicker.mjs +0 -0
  62. /package/{esm2020 → esm2022}/lib/control-type/Divider.mjs +0 -0
  63. /package/{esm2020 → esm2022}/lib/control-type/Editor.mjs +0 -0
  64. /package/{esm2020 → esm2022}/lib/control-type/Radio.mjs +0 -0
  65. /package/{esm2020 → esm2022}/lib/control-type/RichTextEditor.mjs +0 -0
  66. /package/{esm2020 → esm2022}/lib/control-type/SlideToggle.mjs +0 -0
  67. /package/{esm2020 → esm2022}/lib/control-type/Slider.mjs +0 -0
  68. /package/{esm2020 → esm2022}/lib/control-type/Textarea.mjs +0 -0
  69. /package/{esm2020 → esm2022}/lib/control-type/Textbox.mjs +0 -0
  70. /package/{esm2020 → esm2022}/lib/control-type/select.mjs +0 -0
  71. /package/{esm2020 → esm2022}/lib/model/enum.mjs +0 -0
  72. /package/{esm2020 → esm2022}/lib/model/environments.mjs +0 -0
  73. /package/{esm2020 → esm2022}/lib/model/interface.mjs +0 -0
  74. /package/{esm2020 → esm2022}/lib/model/ivalidator.mjs +0 -0
  75. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
package/package.json CHANGED
@@ -1,18 +1,14 @@
1
1
  {
2
2
  "name": "@falcon-ng/tailwind",
3
- "version": "0.0.6",
3
+ "version": "0.0.9",
4
4
  "peerDependencies": {
5
- "@angular/common": "^15.0.0",
6
- "@angular/core": "^15.0.0"
5
+ "@angular/common": "^17.0.5",
6
+ "@angular/core": "^17.0.5"
7
7
  },
8
8
  "dependencies": {
9
9
  "tslib": "^2.3.0"
10
10
  },
11
- "module": "fesm2015/falcon-ng-tailwind.mjs",
12
- "es2020": "fesm2020/falcon-ng-tailwind.mjs",
13
- "esm2020": "esm2020/falcon-ng-tailwind.mjs",
14
- "fesm2020": "fesm2020/falcon-ng-tailwind.mjs",
15
- "fesm2015": "fesm2015/falcon-ng-tailwind.mjs",
11
+ "module": "fesm2022/falcon-ng-tailwind.mjs",
16
12
  "typings": "index.d.ts",
17
13
  "exports": {
18
14
  "./package.json": {
@@ -20,11 +16,9 @@
20
16
  },
21
17
  ".": {
22
18
  "types": "./index.d.ts",
23
- "esm2020": "./esm2020/falcon-ng-tailwind.mjs",
24
- "es2020": "./fesm2020/falcon-ng-tailwind.mjs",
25
- "es2015": "./fesm2015/falcon-ng-tailwind.mjs",
26
- "node": "./fesm2015/falcon-ng-tailwind.mjs",
27
- "default": "./fesm2020/falcon-ng-tailwind.mjs"
19
+ "esm2022": "./esm2022/falcon-ng-tailwind.mjs",
20
+ "esm": "./esm2022/falcon-ng-tailwind.mjs",
21
+ "default": "./fesm2022/falcon-ng-tailwind.mjs"
28
22
  }
29
23
  },
30
24
  "sideEffects": false
@@ -1,17 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/material/datepicker";
4
- import * as i2 from "@angular/material/icon";
5
- import * as i3 from "@angular/material/input";
6
- import * as i4 from "@angular/material/form-field";
7
- import * as i5 from "@angular/common";
8
- import * as i6 from "@angular/forms";
9
- export class DatePickerComponent {
10
- }
11
- DatePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: DatePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
- DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.1", type: DatePickerComponent, selector: "falcon-date-picker", ngImport: i0, template: "<mat-form-field [appearance]=\"control.appearance\" [formGroup]=\"formGroup\"\n [floatLabel]=\"control.floatLabel\" [ngStyle]=\"control.style\"\n [ngClass]=\"control.class\">\n <mat-label>{{control.label}}</mat-label>\n <input matInput [matDatepicker]=\"picker\" [formControlName]=\"control.formControlName\"\n [placeholder]=\"control.placeHolder\" [type]=\"control.type\"\n [ngStyle]=\"control.style\" [ngClass]=\"control.class\"\n [required]=\"formGroup.get(control.formControlName)?.errors !== null && formGroup.get(control.formControlName)?.errors?.['required']\">\n <mat-datepicker-toggle matSuffix [for]=\"picker\">\n <mat-icon matDatepickerToggleIcon *ngIf=\"control.suffix.isIcon\">keyboard_arrow_down</mat-icon>\n </mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n <mat-hint>{{control.hint.text}}</mat-hint>\n <ng-container *ngFor=\"let validation of control.validations;\" ngProjectAs=\"mat-error\">\n <mat-error *ngIf=\"formGroup.get(control.formControlName)?.hasError(validation.name)\">{{validation.message}}\n </mat-error>\n </ng-container>\n</mat-form-field>", styles: [""], dependencies: [{ kind: "component", type: i1.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i1.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i1.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "directive", type: i1.MatDatepickerToggleIcon, selector: "[matDatepickerToggleIcon]" }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]" }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: DatePickerComponent, decorators: [{
14
- type: Component,
15
- args: [{ selector: 'falcon-date-picker', template: "<mat-form-field [appearance]=\"control.appearance\" [formGroup]=\"formGroup\"\n [floatLabel]=\"control.floatLabel\" [ngStyle]=\"control.style\"\n [ngClass]=\"control.class\">\n <mat-label>{{control.label}}</mat-label>\n <input matInput [matDatepicker]=\"picker\" [formControlName]=\"control.formControlName\"\n [placeholder]=\"control.placeHolder\" [type]=\"control.type\"\n [ngStyle]=\"control.style\" [ngClass]=\"control.class\"\n [required]=\"formGroup.get(control.formControlName)?.errors !== null && formGroup.get(control.formControlName)?.errors?.['required']\">\n <mat-datepicker-toggle matSuffix [for]=\"picker\">\n <mat-icon matDatepickerToggleIcon *ngIf=\"control.suffix.isIcon\">keyboard_arrow_down</mat-icon>\n </mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n <mat-hint>{{control.hint.text}}</mat-hint>\n <ng-container *ngFor=\"let validation of control.validations;\" ngProjectAs=\"mat-error\">\n <mat-error *ngIf=\"formGroup.get(control.formControlName)?.hasError(validation.name)\">{{validation.message}}\n </mat-error>\n </ng-container>\n</mat-form-field>" }]
16
- }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLW5nL3RhaWx3aW5kL3NyYy9saWIvY29tcG9uZW50L2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1uZy90YWlsd2luZC9zcmMvbGliL2NvbXBvbmVudC9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQVMxQyxNQUFNLE9BQU8sbUJBQW1COztnSEFBbkIsbUJBQW1CO29HQUFuQixtQkFBbUIsMERDVGhDLDhvQ0FpQmlCOzJGRFJKLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmFzZUNvbnRyb2x9IGZyb20gXCIuLi8uLi9iYXNlLWNvbnRyb2xcIjtcbmltcG9ydCB7Rm9ybUdyb3VwfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZmFsY29uLWRhdGUtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZVBpY2tlckNvbXBvbmVudCB7XG4gY29udHJvbCE6IEJhc2VDb250cm9sPHN0cmluZz47XG4gZm9ybUdyb3VwITogRm9ybUdyb3VwO1xufVxuIiwiPG1hdC1mb3JtLWZpZWxkIFthcHBlYXJhbmNlXT1cImNvbnRyb2wuYXBwZWFyYW5jZVwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCJcbiAgICAgICAgICAgICAgICBbZmxvYXRMYWJlbF09XCJjb250cm9sLmZsb2F0TGFiZWxcIiBbbmdTdHlsZV09XCJjb250cm9sLnN0eWxlXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJjb250cm9sLmNsYXNzXCI+XG4gIDxtYXQtbGFiZWw+e3tjb250cm9sLmxhYmVsfX08L21hdC1sYWJlbD5cbiAgPGlucHV0IG1hdElucHV0IFttYXREYXRlcGlja2VyXT1cInBpY2tlclwiIFtmb3JtQ29udHJvbE5hbWVdPVwiY29udHJvbC5mb3JtQ29udHJvbE5hbWVcIlxuICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImNvbnRyb2wucGxhY2VIb2xkZXJcIiBbdHlwZV09XCJjb250cm9sLnR5cGVcIlxuICAgICAgICAgW25nU3R5bGVdPVwiY29udHJvbC5zdHlsZVwiIFtuZ0NsYXNzXT1cImNvbnRyb2wuY2xhc3NcIlxuICAgICAgICAgW3JlcXVpcmVkXT1cImZvcm1Hcm91cC5nZXQoY29udHJvbC5mb3JtQ29udHJvbE5hbWUpPy5lcnJvcnMgIT09IG51bGwgJiYgZm9ybUdyb3VwLmdldChjb250cm9sLmZvcm1Db250cm9sTmFtZSk/LmVycm9ycz8uWydyZXF1aXJlZCddXCI+XG4gIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0U3VmZml4IFtmb3JdPVwicGlja2VyXCI+XG4gICAgPG1hdC1pY29uIG1hdERhdGVwaWNrZXJUb2dnbGVJY29uICpuZ0lmPVwiY29udHJvbC5zdWZmaXguaXNJY29uXCI+a2V5Ym9hcmRfYXJyb3dfZG93bjwvbWF0LWljb24+XG4gIDwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxuICA8bWF0LWRhdGVwaWNrZXIgI3BpY2tlcj48L21hdC1kYXRlcGlja2VyPlxuICA8bWF0LWhpbnQ+e3tjb250cm9sLmhpbnQudGV4dH19PC9tYXQtaGludD5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdmFsaWRhdGlvbiBvZiBjb250cm9sLnZhbGlkYXRpb25zO1wiIG5nUHJvamVjdEFzPVwibWF0LWVycm9yXCI+XG4gICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Hcm91cC5nZXQoY29udHJvbC5mb3JtQ29udHJvbE5hbWUpPy5oYXNFcnJvcih2YWxpZGF0aW9uLm5hbWUpXCI+e3t2YWxpZGF0aW9uLm1lc3NhZ2V9fVxuICAgIDwvbWF0LWVycm9yPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbWF0LWZvcm0tZmllbGQ+Il19
@@ -1,230 +0,0 @@
1
- import { NgModule, APP_INITIALIZER, inject } from '@angular/core';
2
- import { TextboxComponent } from './component/textbox/textbox.component';
3
- import { TextareaComponent } from './component/textarea/textarea.component';
4
- import { SelectComponent } from './component/select/select.component';
5
- import { ReactiveFieldDirective } from './reactive-field.directive';
6
- import { AngularmaterialModule } from "./module/angularmaterial.module";
7
- import { CommonModule } from "@angular/common";
8
- import { FormsModule, ReactiveFormsModule } from "@angular/forms";
9
- import { ControlBuilderComponent } from "./control-builder/control-builder.component";
10
- import { EnvironmentViewModel } from "./model/environments";
11
- import { RouterModule } from "@angular/router";
12
- import { IGenericHttpClient } from "./service/http/igeneric-http-client";
13
- import { GenericHttpClient } from "./service/http/generic-http-client";
14
- import { AppSettingService, appSettingsFactory } from "./service/appsetting.service";
15
- import { AuthService, authServiceFactory } from "./service/open-id/auth.service";
16
- import { LoggerService, loggerServiceFactory } from "./service/logger.service";
17
- import { MAT_SNACK_BAR_DEFAULT_OPTIONS } from "@angular/material/snack-bar";
18
- import { provideHttpClient, withInterceptors } from "@angular/common/http";
19
- import { DatePickerComponent } from './component/date-picker/date-picker.component';
20
- import { CheckboxComponent } from './component/checkbox/checkbox.component';
21
- import { RadioComponent } from './component/radio/radio.component';
22
- import { AutoCompleteComponent } from './component/auto-complete/auto-complete.component';
23
- import { ButtonToggleComponent } from './component/button-toggle/button-toggle.component';
24
- import { ChipComponent } from './component/chips/chip.component';
25
- import { SliderComponent } from './component/slider/slider.component';
26
- import { SlideToggleComponent } from './component/slide-toggle/slide-toggle.component';
27
- import { ButtonComponent } from './component/button/button.component';
28
- import { DialogComponent } from './component/dialog/dialog.component';
29
- import { SnackBarComponent } from './component/snack-bar/snack-bar.component';
30
- import { BottomSheetComponent } from './component/bottom-sheet/bottom-sheet.component';
31
- import { ProgressBarComponent } from './component/progress-bar/progress-bar.component';
32
- import { ProgressSpinnerComponent } from './component/progress-spinner/progress-spinner.component';
33
- import { TableComponent } from './component/table/table.component';
34
- import { PaginationComponent } from './component/pagination/pagination.component';
35
- import { RichTextEditorComponent } from './component/rich-text-editor/rich-text-editor.component';
36
- import { AngularEditorModule } from "@kolkov/angular-editor";
37
- import * as i0 from "@angular/core";
38
- export class FalconCoreModule {
39
- static forRoot(environment) {
40
- return {
41
- ngModule: FalconCoreModule,
42
- providers: [
43
- { provide: EnvironmentViewModel, useValue: environment },
44
- ],
45
- };
46
- }
47
- }
48
- FalconCoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FalconCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
49
- FalconCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.1", ngImport: i0, type: FalconCoreModule, declarations: [TextboxComponent,
50
- TextareaComponent,
51
- SelectComponent,
52
- ReactiveFieldDirective,
53
- ControlBuilderComponent,
54
- DatePickerComponent,
55
- CheckboxComponent,
56
- RadioComponent,
57
- AutoCompleteComponent,
58
- ButtonToggleComponent,
59
- ChipComponent,
60
- SliderComponent,
61
- SlideToggleComponent,
62
- ButtonComponent,
63
- DialogComponent,
64
- SnackBarComponent,
65
- BottomSheetComponent,
66
- ProgressBarComponent,
67
- ProgressSpinnerComponent,
68
- TableComponent,
69
- PaginationComponent,
70
- RichTextEditorComponent], imports: [AngularmaterialModule,
71
- CommonModule,
72
- FormsModule,
73
- ReactiveFormsModule,
74
- RouterModule,
75
- AngularEditorModule], exports: [AngularmaterialModule,
76
- CommonModule,
77
- FormsModule,
78
- ReactiveFormsModule,
79
- ControlBuilderComponent,
80
- RouterModule,
81
- ProgressBarComponent,
82
- ProgressSpinnerComponent,
83
- PaginationComponent,
84
- TableComponent,
85
- AngularEditorModule,
86
- ButtonComponent] });
87
- FalconCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FalconCoreModule, providers: [
88
- provideHttpClient(withInterceptors([
89
- (req, next) => {
90
- // Get the auth token from the service.
91
- const authToken = inject(AuthService).getAuthorizationHeaderValue();
92
- inject(LoggerService).info("Auth bearer token ", authToken);
93
- if (authToken) {
94
- req = req.clone({
95
- setHeaders: {
96
- 'Content-Type': 'application/json',
97
- Authorization: authToken
98
- }
99
- });
100
- }
101
- return next(req);
102
- },
103
- ])),
104
- { provide: IGenericHttpClient, useClass: GenericHttpClient },
105
- {
106
- provide: APP_INITIALIZER,
107
- useFactory: appSettingsFactory,
108
- deps: [AppSettingService],
109
- multi: true,
110
- },
111
- {
112
- provide: APP_INITIALIZER,
113
- useFactory: authServiceFactory,
114
- deps: [AuthService, AppSettingService, EnvironmentViewModel],
115
- multi: true,
116
- },
117
- {
118
- provide: APP_INITIALIZER,
119
- useFactory: loggerServiceFactory,
120
- deps: [LoggerService, AppSettingService],
121
- multi: true,
122
- },
123
- {
124
- provide: MAT_SNACK_BAR_DEFAULT_OPTIONS,
125
- useValue: { duration: 5000 },
126
- },
127
- ], imports: [AngularmaterialModule,
128
- CommonModule,
129
- FormsModule,
130
- ReactiveFormsModule,
131
- RouterModule,
132
- AngularEditorModule, AngularmaterialModule,
133
- CommonModule,
134
- FormsModule,
135
- ReactiveFormsModule,
136
- RouterModule,
137
- AngularEditorModule] });
138
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: FalconCoreModule, decorators: [{
139
- type: NgModule,
140
- args: [{
141
- declarations: [
142
- TextboxComponent,
143
- TextareaComponent,
144
- SelectComponent,
145
- ReactiveFieldDirective,
146
- ControlBuilderComponent,
147
- DatePickerComponent,
148
- CheckboxComponent,
149
- RadioComponent,
150
- AutoCompleteComponent,
151
- ButtonToggleComponent,
152
- ChipComponent,
153
- SliderComponent,
154
- SlideToggleComponent,
155
- ButtonComponent,
156
- DialogComponent,
157
- SnackBarComponent,
158
- BottomSheetComponent,
159
- ProgressBarComponent,
160
- ProgressSpinnerComponent,
161
- TableComponent,
162
- PaginationComponent,
163
- RichTextEditorComponent
164
- ],
165
- imports: [
166
- AngularmaterialModule,
167
- CommonModule,
168
- FormsModule,
169
- ReactiveFormsModule,
170
- RouterModule,
171
- AngularEditorModule,
172
- ],
173
- exports: [
174
- AngularmaterialModule,
175
- CommonModule,
176
- FormsModule,
177
- ReactiveFormsModule,
178
- ControlBuilderComponent,
179
- RouterModule,
180
- ProgressBarComponent,
181
- ProgressSpinnerComponent,
182
- PaginationComponent,
183
- TableComponent,
184
- AngularEditorModule,
185
- ButtonComponent,
186
- ],
187
- providers: [
188
- provideHttpClient(withInterceptors([
189
- (req, next) => {
190
- // Get the auth token from the service.
191
- const authToken = inject(AuthService).getAuthorizationHeaderValue();
192
- inject(LoggerService).info("Auth bearer token ", authToken);
193
- if (authToken) {
194
- req = req.clone({
195
- setHeaders: {
196
- 'Content-Type': 'application/json',
197
- Authorization: authToken
198
- }
199
- });
200
- }
201
- return next(req);
202
- },
203
- ])),
204
- { provide: IGenericHttpClient, useClass: GenericHttpClient },
205
- {
206
- provide: APP_INITIALIZER,
207
- useFactory: appSettingsFactory,
208
- deps: [AppSettingService],
209
- multi: true,
210
- },
211
- {
212
- provide: APP_INITIALIZER,
213
- useFactory: authServiceFactory,
214
- deps: [AuthService, AppSettingService, EnvironmentViewModel],
215
- multi: true,
216
- },
217
- {
218
- provide: APP_INITIALIZER,
219
- useFactory: loggerServiceFactory,
220
- deps: [LoggerService, AppSettingService],
221
- multi: true,
222
- },
223
- {
224
- provide: MAT_SNACK_BAR_DEFAULT_OPTIONS,
225
- useValue: { duration: 5000 },
226
- },
227
- ],
228
- }]
229
- }] });
230
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFsY29uLWNvcmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLW5nL3RhaWx3aW5kL3NyYy9saWIvZmFsY29uLWNvcmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBc0IsUUFBUSxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDMUUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDcEYsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ25GLE9BQU8sRUFBQyxXQUFXLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRSxPQUFPLEVB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O3dDQUNkLFVBQVUsRUFBRTs0Q0FDVixjQUFjLEVBQUUsa0JBQWtCOzRDQUNsQyxhQUFhLEVBQUUsU0FBUzt5Q0FDekI7cUNBQ0YsQ0FBQyxDQUFDO2lDQUNKO2dDQUNELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDOzRCQUNuQixDQUFDO3lCQUNGLENBQUMsQ0FDSDt3QkFDRCxFQUFDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUM7d0JBQzFEOzRCQUNFLE9BQU8sRUFBRSxlQUFlOzRCQUN4QixVQUFVLEVBQUUsa0JBQWtCOzRCQUM5QixJQUFJLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzs0QkFDekIsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFVBQVUsRUFBRSxrQkFBa0I7NEJBQzlCLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxvQkFBb0IsQ0FBQzs0QkFDNUQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFVBQVUsRUFBRSxvQkFBb0I7NEJBQ2hDLElBQUksRUFBRSxDQUFDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQzs0QkFDeEMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLDZCQUE2Qjs0QkFDdEMsUUFBUSxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQzt5QkFDM0I7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBBUFBfSU5JVElBTElaRVIsIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RleHRib3hDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50L3RleHRib3gvdGV4dGJveC5jb21wb25lbnQnO1xuaW1wb3J0IHtUZXh0YXJlYUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnQvdGV4dGFyZWEvdGV4dGFyZWEuY29tcG9uZW50JztcbmltcG9ydCB7U2VsZWN0Q29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudC9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQge1JlYWN0aXZlRmllbGREaXJlY3RpdmV9IGZyb20gJy4vcmVhY3RpdmUtZmllbGQuZGlyZWN0aXZlJztcbmltcG9ydCB7QW5ndWxhcm1hdGVyaWFsTW9kdWxlfSBmcm9tIFwiLi9tb2R1bGUvYW5ndWxhcm1hdGVyaWFsLm1vZHVsZVwiO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7Rm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHtDb250cm9sQnVpbGRlckNvbXBvbmVudH0gZnJvbSBcIi4vY29udHJvbC1idWlsZGVyL2NvbnRyb2wtYnVpbGRlci5jb21wb25lbnRcIjtcbmltcG9ydCB7RW52aXJvbm1lbnRWaWV3TW9kZWx9IGZyb20gXCIuL21vZGVsL2Vudmlyb25tZW50c1wiO1xuaW1wb3J0IHtSb3V0ZXJNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7SUdlbmVyaWNIdHRwQ2xpZW50fSBmcm9tIFwiLi9zZXJ2aWNlL2h0dHAvaWdlbmVyaWMtaHR0cC1jbGllbnRcIjtcbmltcG9ydCB7R2VuZXJpY0h0dHBDbGllbnR9IGZyb20gXCIuL3NlcnZpY2UvaHR0cC9nZW5lcmljLWh0dHAtY2xpZW50XCI7XG5pbXBvcnQge0FwcFNldHRpbmdTZXJ2aWNlLCBhcHBTZXR0aW5nc0ZhY3Rvcnl9IGZyb20gXCIuL3NlcnZpY2UvYXBwc2V0dGluZy5zZXJ2aWNlXCI7XG5pbXBvcnQge0F1dGhTZXJ2aWNlLCBhdXRoU2VydmljZUZhY3Rvcnl9IGZyb20gXCIuL3NlcnZpY2Uvb3Blbi1pZC9hdXRoLnNlcnZpY2VcIjtcbmltcG9ydCB7TG9nZ2VyU2VydmljZSwgbG9nZ2VyU2VydmljZUZhY3Rvcnl9IGZyb20gXCIuL3NlcnZpY2UvbG9nZ2VyLnNlcnZpY2VcIjtcbmltcG9ydCB7TUFUX1NOQUNLX0JBUl9ERUZBVUxUX09QVElPTlN9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXJcIjtcbmltcG9ydCB7cHJvdmlkZUh0dHBDbGllbnQsIHdpdGhJbnRlcmNlcHRvcnN9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xuaW1wb3J0IHsgRGF0ZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSYWRpb0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L3JhZGlvL3JhZGlvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdXRvQ29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudC9hdXRvLWNvbXBsZXRlL2F1dG8tY29tcGxldGUuY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvblRvZ2dsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L2J1dHRvbi10b2dnbGUvYnV0dG9uLXRvZ2dsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hpcENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L2NoaXBzL2NoaXAuY29tcG9uZW50JztcbmltcG9ydCB7IFNsaWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L3NsaWRlci9zbGlkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNsaWRlVG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvc2xpZGUtdG9nZ2xlL3NsaWRlLXRvZ2dsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU25hY2tCYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudC9zbmFjay1iYXIvc25hY2stYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCb3R0b21TaGVldENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L2JvdHRvbS1zaGVldC9ib3R0b20tc2hlZXQuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2dyZXNzQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvcHJvZ3Jlc3MtYmFyL3Byb2dyZXNzLWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZ3Jlc3NTcGlubmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvcHJvZ3Jlc3Mtc3Bpbm5lci9wcm9ncmVzcy1zcGlubmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L3RhYmxlL3RhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSaWNoVGV4dEVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L3JpY2gtdGV4dC1lZGl0b3IvcmljaC10ZXh0LWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHtBbmd1bGFyRWRpdG9yTW9kdWxlfSBmcm9tIFwiQGtvbGtvdi9hbmd1bGFyLWVkaXRvclwiO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBUZXh0Ym94Q29tcG9uZW50LFxuICAgIFRleHRhcmVhQ29tcG9uZW50LFxuICAgIFNlbGVjdENvbXBvbmVudCxcbiAgICBSZWFjdGl2ZUZpZWxkRGlyZWN0aXZlLFxuICAgIENvbnRyb2xCdWlsZGVyQ29tcG9uZW50LFxuICAgIERhdGVQaWNrZXJDb21wb25lbnQsXG4gICAgQ2hlY2tib3hDb21wb25lbnQsXG4gICAgUmFkaW9Db21wb25lbnQsXG4gICAgQXV0b0NvbXBsZXRlQ29tcG9uZW50LFxuICAgIEJ1dHRvblRvZ2dsZUNvbXBvbmVudCxcbiAgICBDaGlwQ29tcG9uZW50LFxuICAgIFNsaWRlckNvbXBvbmVudCxcbiAgICBTbGlkZVRvZ2dsZUNvbXBvbmVudCxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgRGlhbG9nQ29tcG9uZW50LFxuICAgIFNuYWNrQmFyQ29tcG9uZW50LFxuICAgIEJvdHRvbVNoZWV0Q29tcG9uZW50LFxuICAgIFByb2dyZXNzQmFyQ29tcG9uZW50LFxuICAgIFByb2dyZXNzU3Bpbm5lckNvbXBvbmVudCxcbiAgICBUYWJsZUNvbXBvbmVudCxcbiAgICBQYWdpbmF0aW9uQ29tcG9uZW50LFxuICAgIFJpY2hUZXh0RWRpdG9yQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBBbmd1bGFybWF0ZXJpYWxNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIEFuZ3VsYXJFZGl0b3JNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBBbmd1bGFybWF0ZXJpYWxNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgQ29udHJvbEJ1aWxkZXJDb21wb25lbnQsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIFByb2dyZXNzQmFyQ29tcG9uZW50LFxuICAgIFByb2dyZXNzU3Bpbm5lckNvbXBvbmVudCxcbiAgICBQYWdpbmF0aW9uQ29tcG9uZW50LFxuICAgIFRhYmxlQ29tcG9uZW50LFxuICAgIEFuZ3VsYXJFZGl0b3JNb2R1bGUsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBwcm92aWRlSHR0cENsaWVudChcbiAgICAgIHdpdGhJbnRlcmNlcHRvcnMoW1xuICAgICAgICAocmVxLCBuZXh0KSA9PiB7XG4gICAgICAgICAgLy8gR2V0IHRoZSBhdXRoIHRva2VuIGZyb20gdGhlIHNlcnZpY2UuXG4gICAgICAgICAgY29uc3QgYXV0aFRva2VuID0gaW5qZWN0KEF1dGhTZXJ2aWNlKS5nZXRBdXRob3JpemF0aW9uSGVhZGVyVmFsdWUoKTtcbiAgICAgICAgICBpbmplY3QoTG9nZ2VyU2VydmljZSkuaW5mbyhcIkF1dGggYmVhcmVyIHRva2VuIFwiLCBhdXRoVG9rZW4pO1xuICAgICAgICAgIGlmIChhdXRoVG9rZW4pIHtcbiAgICAgICAgICAgIHJlcSA9IHJlcS5jbG9uZSh7XG4gICAgICAgICAgICAgIHNldEhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAgICAgICAgIEF1dGhvcml6YXRpb246IGF1dGhUb2tlblxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG5leHQocmVxKTtcbiAgICAgICAgfSxcbiAgICAgIF0pXG4gICAgKSxcbiAgICB7cHJvdmlkZTogSUdlbmVyaWNIdHRwQ2xpZW50LCB1c2VDbGFzczogR2VuZXJpY0h0dHBDbGllbnR9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgIHVzZUZhY3Rvcnk6IGFwcFNldHRpbmdzRmFjdG9yeSxcbiAgICAgIGRlcHM6IFtBcHBTZXR0aW5nU2VydmljZV0sXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgIHVzZUZhY3Rvcnk6IGF1dGhTZXJ2aWNlRmFjdG9yeSxcbiAgICAgIGRlcHM6IFtBdXRoU2VydmljZSwgQXBwU2V0dGluZ1NlcnZpY2UsIEVudmlyb25tZW50Vmlld01vZGVsXSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgdXNlRmFjdG9yeTogbG9nZ2VyU2VydmljZUZhY3RvcnksXG4gICAgICBkZXBzOiBbTG9nZ2VyU2VydmljZSwgQXBwU2V0dGluZ1NlcnZpY2VdLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBNQVRfU05BQ0tfQkFSX0RFRkFVTFRfT1BUSU9OUyxcbiAgICAgIHVzZVZhbHVlOiB7ZHVyYXRpb246IDUwMDB9LFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZhbGNvbkNvcmVNb2R1bGUge1xuICBwdWJsaWMgc3RhdGljIGZvclJvb3QoXG4gICAgZW52aXJvbm1lbnQ6IGFueSxcbiAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxGYWxjb25Db3JlTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBGYWxjb25Db3JlTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtwcm92aWRlOiBFbnZpcm9ubWVudFZpZXdNb2RlbCwgdXNlVmFsdWU6IGVudmlyb25tZW50fSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufSJdfQ==
@@ -1,32 +0,0 @@
1
- import { TextboxComponent } from '../component/textbox/textbox.component';
2
- import { TextareaComponent } from '../component/textarea/textarea.component';
3
- import { SelectComponent } from '../component/select/select.component';
4
- import { DatePickerComponent } from '../component/date-picker/date-picker.component';
5
- import { RadioComponent } from '../component/radio/radio.component';
6
- import { CheckboxComponent } from '../component/checkbox/checkbox.component';
7
- import { SlideToggleComponent } from '../component/slide-toggle/slide-toggle.component';
8
- import { SliderComponent } from '../component/slider/slider.component';
9
- import { ButtonToggleComponent } from '../component/button-toggle/button-toggle.component';
10
- import { AutoCompleteComponent } from '../component/auto-complete/auto-complete.component';
11
- import { ChipComponent } from '../component/chips/chip.component';
12
- import { ButtonComponent } from "../component/button/button.component";
13
- import { RichTextEditorComponent } from "../component/rich-text-editor/rich-text-editor.component";
14
- export class Constant {
15
- }
16
- Constant.ComponentMapper = [
17
- TextboxComponent,
18
- TextareaComponent,
19
- SelectComponent,
20
- DatePickerComponent,
21
- RadioComponent,
22
- CheckboxComponent,
23
- ButtonComponent,
24
- SlideToggleComponent,
25
- SliderComponent,
26
- ButtonToggleComponent,
27
- AutoCompleteComponent,
28
- ChipComponent,
29
- RichTextEditorComponent,
30
- //DividerComponent,
31
- ];
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mYWxjb24tbmcvdGFpbHdpbmQvc3JjL2xpYi9tb2RlbC9jb25zdGFudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDckYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMzRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbEUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBRWpHLE1BQU0sT0FBTyxRQUFROztBQUNMLHdCQUFlLEdBQUc7SUFDOUIsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YsbUJBQW1CO0lBQ25CLGNBQWM7SUFDZCxpQkFBaUI7SUFDakIsZUFBZTtJQUNmLG9CQUFvQjtJQUNwQixlQUFlO0lBQ2YscUJBQXFCO0lBQ3JCLHFCQUFxQjtJQUNyQixhQUFhO0lBQ2IsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtDQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGV4dGJveENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudC90ZXh0Ym94L3RleHRib3guY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRhcmVhQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50L3RleHRhcmVhL3RleHRhcmVhLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnQvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudC9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmFkaW9Db21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnQvcmFkaW8vcmFkaW8uY29tcG9uZW50JztcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50L2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTbGlkZVRvZ2dsZUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudC9zbGlkZS10b2dnbGUvc2xpZGUtdG9nZ2xlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTbGlkZXJDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnQvc2xpZGVyL3NsaWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uVG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50L2J1dHRvbi10b2dnbGUvYnV0dG9uLXRvZ2dsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXV0b0NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50L2F1dG8tY29tcGxldGUvYXV0by1jb21wbGV0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hpcENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudC9jaGlwcy9jaGlwLmNvbXBvbmVudCc7XG5pbXBvcnQge0J1dHRvbkNvbXBvbmVudH0gZnJvbSBcIi4uL2NvbXBvbmVudC9idXR0b24vYnV0dG9uLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtSaWNoVGV4dEVkaXRvckNvbXBvbmVudH0gZnJvbSBcIi4uL2NvbXBvbmVudC9yaWNoLXRleHQtZWRpdG9yL3JpY2gtdGV4dC1lZGl0b3IuY29tcG9uZW50XCI7XG5cbmV4cG9ydCBjbGFzcyBDb25zdGFudCB7XG4gIHB1YmxpYyBzdGF0aWMgQ29tcG9uZW50TWFwcGVyID0gW1xuICAgIFRleHRib3hDb21wb25lbnQsXG4gICAgVGV4dGFyZWFDb21wb25lbnQsXG4gICAgU2VsZWN0Q29tcG9uZW50LFxuICAgIERhdGVQaWNrZXJDb21wb25lbnQsXG4gICAgUmFkaW9Db21wb25lbnQsXG4gICAgQ2hlY2tib3hDb21wb25lbnQsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIFNsaWRlVG9nZ2xlQ29tcG9uZW50LFxuICAgIFNsaWRlckNvbXBvbmVudCxcbiAgICBCdXR0b25Ub2dnbGVDb21wb25lbnQsXG4gICAgQXV0b0NvbXBsZXRlQ29tcG9uZW50LFxuICAgIENoaXBDb21wb25lbnQsXG4gICAgUmljaFRleHRFZGl0b3JDb21wb25lbnQsXG4gICAgLy9EaXZpZGVyQ29tcG9uZW50LFxuICBdO1xufVxuIl19
@@ -1,55 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Subject, from } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common/http";
5
- import * as i2 from "./logger.service";
6
- export class AppSettingService {
7
- constructor(http, logger) {
8
- this.http = http;
9
- this.logger = logger;
10
- this.initialized = false;
11
- this.isServiceReady = new Subject();
12
- this.listeners = {};
13
- this.eventsSubject = new Subject();
14
- this.events = from(this.eventsSubject);
15
- this.events.subscribe(({ name, args }) => {
16
- if (this.listeners[name]) {
17
- for (let listener of this.listeners[name]) {
18
- listener(...args);
19
- }
20
- }
21
- });
22
- }
23
- async load() {
24
- if (this.initialized)
25
- return;
26
- let data = await this.http.get('assets/appsetting.json').toPromise();
27
- this.appSettings = data;
28
- this.initialized = true;
29
- this.isServiceReady.next(this.initialized);
30
- this.logger.info("[AppSettingService] load --> isServiceReady", this.initialized);
31
- }
32
- on(name, listener) {
33
- if (!this.listeners[name]) {
34
- this.listeners[name] = [];
35
- }
36
- this.listeners[name].push(listener);
37
- }
38
- getAppsettingValue() {
39
- return this.appSettings ? this.appSettings : null;
40
- }
41
- }
42
- AppSettingService.APP_SETTINGS_LOADED = "APP_SETTINGS_LOADED";
43
- AppSettingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: AppSettingService, deps: [{ token: i1.HttpClient }, { token: i2.LoggerService }], target: i0.ɵɵFactoryTarget.Injectable });
44
- AppSettingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: AppSettingService, providedIn: 'root' });
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: AppSettingService, decorators: [{
46
- type: Injectable,
47
- args: [{
48
- providedIn: 'root'
49
- }]
50
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.LoggerService }]; } });
51
- export function appSettingsFactory(appSettings) {
52
- return async () => await appSettings.load();
53
- }
54
- ;
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwc2V0dGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLW5nL3RhaWx3aW5kL3NyYy9saWIvc2VydmljZS9hcHBzZXR0aW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUMsT0FBTyxFQUFjLElBQUksRUFBQyxNQUFNLE1BQU0sQ0FBQzs7OztBQU0vQyxNQUFNLE9BQU8saUJBQWlCO0lBUzVCLFlBQW9CLElBQWdCLEVBQVUsTUFBcUI7UUFBL0MsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQWU7UUFObkUsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFFdEIsbUJBQWMsR0FBcUIsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUsvRCxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksT0FBTyxFQUFPLENBQUM7UUFFeEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUNuQixDQUFDLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBQyxFQUFFLEVBQUU7WUFDZixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3hCLEtBQUssSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDekMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7aUJBQ25CO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSTtRQUNSLElBQUksSUFBSSxDQUFDLFdBQVc7WUFBRSxPQUFPO1FBQzdCLElBQUksSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNyRSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsNkNBQTZDLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxFQUFFLENBQUMsSUFBUyxFQUFFLFFBQWE7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7U0FDM0I7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3ZELENBQUM7O0FBMUNNLHFDQUFtQixHQUFHLHFCQUFxQixDQUFDOzhHQUR4QyxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZoQixNQUFNOzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7O0FBK0NELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxXQUE4QjtJQUMvRCxPQUFPLEtBQUssSUFBSSxFQUFFLENBQUMsTUFBTSxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDOUMsQ0FBQztBQUFBLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge1N1YmplY3QsIE9ic2VydmFibGUsIGZyb219IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtMb2dnZXJTZXJ2aWNlfSBmcm9tICcuL2xvZ2dlci5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQXBwU2V0dGluZ1NlcnZpY2Uge1xuICBzdGF0aWMgQVBQX1NFVFRJTkdTX0xPQURFRCA9IFwiQVBQX1NFVFRJTkdTX0xPQURFRFwiO1xuICBwcml2YXRlIGxpc3RlbmVyczogYW55O1xuICBpbml0aWFsaXplZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIGV2ZW50c1N1YmplY3Q6IFN1YmplY3Q8YW55PjtcbiAgcHVibGljIGlzU2VydmljZVJlYWR5OiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgcHJpdmF0ZSBldmVudHM6IE9ic2VydmFibGU8YW55PjtcbiAgcHJpdmF0ZSBhcHBTZXR0aW5nczogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UpIHtcbiAgICB0aGlzLmxpc3RlbmVycyA9IHt9O1xuICAgIHRoaXMuZXZlbnRzU3ViamVjdCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcblxuICAgIHRoaXMuZXZlbnRzID0gZnJvbSh0aGlzLmV2ZW50c1N1YmplY3QpO1xuICAgIHRoaXMuZXZlbnRzLnN1YnNjcmliZShcbiAgICAgICh7bmFtZSwgYXJnc30pID0+IHtcbiAgICAgICAgaWYgKHRoaXMubGlzdGVuZXJzW25hbWVdKSB7XG4gICAgICAgICAgZm9yIChsZXQgbGlzdGVuZXIgb2YgdGhpcy5saXN0ZW5lcnNbbmFtZV0pIHtcbiAgICAgICAgICAgIGxpc3RlbmVyKC4uLmFyZ3MpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBhc3luYyBsb2FkKCkge1xuICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSByZXR1cm47XG4gICAgbGV0IGRhdGEgPSBhd2FpdCB0aGlzLmh0dHAuZ2V0KCdhc3NldHMvYXBwc2V0dGluZy5qc29uJykudG9Qcm9taXNlKCk7XG4gICAgdGhpcy5hcHBTZXR0aW5ncyA9IGRhdGE7XG4gICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgdGhpcy5pc1NlcnZpY2VSZWFkeS5uZXh0KHRoaXMuaW5pdGlhbGl6ZWQpO1xuICAgIHRoaXMubG9nZ2VyLmluZm8oXCJbQXBwU2V0dGluZ1NlcnZpY2VdIGxvYWQgLS0+IGlzU2VydmljZVJlYWR5XCIsIHRoaXMuaW5pdGlhbGl6ZWQpO1xuICB9XG5cbiAgb24obmFtZTogYW55LCBsaXN0ZW5lcjogYW55KSB7XG4gICAgaWYgKCF0aGlzLmxpc3RlbmVyc1tuYW1lXSkge1xuICAgICAgdGhpcy5saXN0ZW5lcnNbbmFtZV0gPSBbXTtcbiAgICB9XG5cbiAgICB0aGlzLmxpc3RlbmVyc1tuYW1lXS5wdXNoKGxpc3RlbmVyKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBcHBzZXR0aW5nVmFsdWU8VD4oKTogVCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmFwcFNldHRpbmdzID8gPFQ+dGhpcy5hcHBTZXR0aW5ncyA6IG51bGw7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFwcFNldHRpbmdzRmFjdG9yeShhcHBTZXR0aW5nczogQXBwU2V0dGluZ1NlcnZpY2UpIHtcbiAgcmV0dXJuIGFzeW5jICgpID0+IGF3YWl0IGFwcFNldHRpbmdzLmxvYWQoKTtcbn07Il19
@@ -1,154 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { UserManager } from 'oidc-client';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../logger.service";
5
- import * as i2 from "./TokenHelperService";
6
- export class AuthService {
7
- constructor(logger, tokenHelperService) {
8
- this.logger = logger;
9
- this.tokenHelperService = tokenHelperService;
10
- this.initialized = false;
11
- this.signingOut = false;
12
- }
13
- async initialize(environment) {
14
- if (this.initialized)
15
- return;
16
- this.settings = this.getClientSettings(environment);
17
- this.userManager = new UserManager(this.settings);
18
- this.userManager.events.addUserLoaded(user => {
19
- this.user = user;
20
- });
21
- this.userManager.events.addAccessTokenExpiring(() => {
22
- this.logger.info("IdSvr token expiring " + new Date().toLocaleString());
23
- });
24
- this.userManager.events.addAccessTokenExpired(() => {
25
- this.logger.info("IdSvr token expired " + new Date().toLocaleString());
26
- this.logout(false);
27
- });
28
- this.userManager.events.addSilentRenewError(e => {
29
- this.logger.error("IdSvr silent renew error " + e.message + new Date().toLocaleString());
30
- this.logout(false);
31
- });
32
- this.userManager.events.addUserLoaded(user => {
33
- this.logger.info("IdSvr user session is ready " + new Date().toLocaleString());
34
- this.accessToken = this.tokenHelperService.getPayloadFromToken(user.access_token, false);
35
- this.user = user;
36
- });
37
- this.userManager.events.addUserUnloaded(() => {
38
- this.logger.info("IdSvr user session has ended " + new Date().toLocaleString());
39
- if (!this.signingOut) {
40
- this.startAuthentication(window.location.pathname + window.location.search);
41
- }
42
- });
43
- this.userManager.events.addUserSignedOut(() => {
44
- this.logger.info("IdSvr user signed out " + new Date().toLocaleString());
45
- this.logout(false);
46
- });
47
- this.user = await this.userManager.getUser();
48
- this.initialized = true;
49
- }
50
- isLoggedIn() {
51
- return this.user != null && !this.user.expired;
52
- }
53
- getUser() {
54
- return this.userManager.getUser();
55
- }
56
- getProfile() {
57
- return this.user.profile;
58
- }
59
- getClaims() {
60
- return this.user.profile;
61
- }
62
- getAuthorizationHeaderValue() {
63
- if (this.user != null)
64
- return `${this.user.token_type} ${this.user.access_token}`;
65
- return '';
66
- }
67
- getAccessToken() {
68
- return this.accessToken || this.tokenHelperService.getPayloadFromToken(this.user.access_token, false);
69
- ;
70
- }
71
- async startAuthentication(returnUrl) {
72
- this.logger.info("[AuthService] startAuthentication", returnUrl);
73
- await this.userManager.clearStaleState();
74
- await this.userManager.signinRedirect({ data: { returnUrl: returnUrl } }).catch(err => {
75
- //this.$log.debug("IdSvr sign in failed", err);
76
- return err;
77
- });
78
- }
79
- async completeAuthentication() {
80
- this.logger.info("[AuthService] completeAuthentication");
81
- let user = await new Promise((resolve, reject) => {
82
- this.userManager.signinRedirectCallback().then(user => {
83
- resolve(user);
84
- }).catch(error => {
85
- reject(error);
86
- });
87
- });
88
- this.user = user;
89
- return this.user;
90
- }
91
- login() {
92
- return this.userManager.signinRedirect();
93
- }
94
- renewToken() {
95
- return this.userManager.signinSilent();
96
- }
97
- logout(signoutRedirect) {
98
- if (signoutRedirect === undefined || signoutRedirect !== false) {
99
- this.signingOut = true;
100
- signoutRedirect = true;
101
- }
102
- return this.userManager.signoutRedirect();
103
- }
104
- getClientSettings(environment) {
105
- return {
106
- authority: environment?.openID?.authority,
107
- client_id: environment?.openID?.client_id,
108
- redirect_uri: environment?.openID?.redirect_uri,
109
- post_logout_redirect_uri: environment?.openID?.post_logout_redirect_uri,
110
- response_type: environment?.openID?.response_type,
111
- scope: environment?.openID?.scope,
112
- filterProtocolClaims: environment?.openID?.filterProtocolClaims,
113
- loadUserInfo: true,
114
- monitorSession: true,
115
- silent_redirect_uri: environment?.openID?.silent_redirect_uri,
116
- automaticSilentRenew: environment?.openID?.automaticSilentRenew,
117
- accessTokenExpiringNotificationTime: 20,
118
- checkSessionInterval: 2000,
119
- silentRequestTimeout: 20000,
120
- };
121
- }
122
- async isServiceReady() {
123
- return new Promise(async (resolve, reject) => {
124
- if (this.initialized) {
125
- this.logger.info("[AuthService] isServiceReady", true);
126
- resolve(true);
127
- }
128
- else {
129
- this.logger.info("[AuthService] isServiceReady", false);
130
- reject(false);
131
- }
132
- });
133
- }
134
- }
135
- AuthService.USER_LOADED_EVENT = "USER_LOADED";
136
- AuthService.USER_UNLOADED_EVENT = "USER_UNLOADED";
137
- AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: AuthService, deps: [{ token: i1.LoggerService }, { token: i2.TokenHelperService }], target: i0.ɵɵFactoryTarget.Injectable });
138
- AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: AuthService, providedIn: 'root' });
139
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: AuthService, decorators: [{
140
- type: Injectable,
141
- args: [{
142
- providedIn: 'root'
143
- }]
144
- }], ctorParameters: function () { return [{ type: i1.LoggerService }, { type: i2.TokenHelperService }]; } });
145
- export function authServiceFactory(authService, appSettings, environment) {
146
- return async () => {
147
- appSettings.isServiceReady.subscribe(item => {
148
- if (item)
149
- authService.initialize(environment);
150
- });
151
- };
152
- }
153
- ;
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLW5nL3RhaWx3aW5kL3NyYy9saWIvc2VydmljZS9vcGVuLWlkL2F1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBZ0IsV0FBVyxFQUFzQixNQUFNLGFBQWEsQ0FBQzs7OztBQVM1RSxNQUFNLE9BQU8sV0FBVztJQVl0QixZQUFvQixNQUFxQixFQUFVLGtCQUFzQztRQUFyRSxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQVUsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQVJqRixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQU03QixlQUFVLEdBQVksS0FBSyxDQUFDO0lBSXBDLENBQUM7SUFFRCxLQUFLLENBQUMsVUFBVSxDQUFDLFdBQWlDO1FBQ2hELElBQUksSUFBSSxDQUFDLFdBQVc7WUFBRSxPQUFPO1FBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMzQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztRQUdILElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsRUFBRTtZQUNsRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFD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QUFDO0lBRUQsS0FBSyxDQUFDLGNBQWM7UUFDbEIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQzNDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsOEJBQThCLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ3ZELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNmO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDhCQUE4QixFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUN4RCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDZjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUE3Sk0sNkJBQWlCLEdBQUcsYUFBYSxDQUFDO0FBQ2xDLCtCQUFtQixHQUFHLGVBQWUsQ0FBQzt3R0FGbEMsV0FBVzs0R0FBWCxXQUFXLGNBRlYsTUFBTTsyRkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7QUFrS0QsTUFBTSxVQUFVLGtCQUFrQixDQUFDLFdBQXdCLEVBQUUsV0FBOEIsRUFBRSxXQUFpQztJQUM1SCxPQUFPLEtBQUssSUFBSSxFQUFFO1FBQ2hCLFdBQVcsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzFDLElBQUksSUFBSTtnQkFDTixXQUFXLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFBO0FBQ0gsQ0FBQztBQUFBLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtQcm9maWxlLCBVc2VyLCBVc2VyTWFuYWdlciwgVXNlck1hbmFnZXJTZXR0aW5nc30gZnJvbSAnb2lkYy1jbGllbnQnO1xuaW1wb3J0IHtMb2dnZXJTZXJ2aWNlfSBmcm9tICcuLi9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQge1Rva2VuSGVscGVyU2VydmljZX0gZnJvbSAnLi9Ub2tlbkhlbHBlclNlcnZpY2UnO1xuaW1wb3J0IHtFbnZpcm9ubWVudFZpZXdNb2RlbH0gZnJvbSBcIi4uLy4uL21vZGVsL2Vudmlyb25tZW50c1wiO1xuaW1wb3J0IHtBcHBTZXR0aW5nU2VydmljZX0gZnJvbSBcIi4uL2FwcHNldHRpbmcuc2VydmljZVwiO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBdXRoU2VydmljZSB7XG4gIHN0YXRpYyBVU0VSX0xPQURFRF9FVkVOVCA9IFwiVVNFUl9MT0FERURcIjtcbiAgc3RhdGljIFVTRVJfVU5MT0FERURfRVZFTlQgPSBcIlVTRVJfVU5MT0FERURcIjtcblxuICBwcml2YXRlIGluaXRpYWxpemVkOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgdXNlck1hbmFnZXIhOiBVc2VyTWFuYWdlcjtcbiAgcHJpdmF0ZSB1c2VyOiBhbnk7XG4gIHB1YmxpYyBzZXR0aW5ncyE6IFVzZXJNYW5hZ2VyU2V0dGluZ3M7XG5cbiAgcHJpdmF0ZSBhY2Nlc3NUb2tlbiE6IE9iamVjdDtcbiAgcHJpdmF0ZSBzaWduaW5nT3V0OiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsIHByaXZhdGUgdG9rZW5IZWxwZXJTZXJ2aWNlOiBUb2tlbkhlbHBlclNlcnZpY2UpIHtcblxuICB9XG5cbiAgYXN5bmMgaW5pdGlhbGl6ZShlbnZpcm9ubWVudDogRW52aXJvbm1lbnRWaWV3TW9kZWwpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5pbml0aWFsaXplZCkgcmV0dXJuO1xuICAgIHRoaXMuc2V0dGluZ3MgPSB0aGlzLmdldENsaWVudFNldHRpbmdzKGVudmlyb25tZW50KTtcbiAgICB0aGlzLnVzZXJNYW5hZ2VyID0gbmV3IFVzZXJNYW5hZ2VyKHRoaXMuc2V0dGluZ3MpO1xuICAgIHRoaXMudXNlck1hbmFnZXIuZXZlbnRzLmFkZFVzZXJMb2FkZWQodXNlciA9PiB7XG4gICAgICB0aGlzLnVzZXIgPSB1c2VyO1xuICAgIH0pO1xuXG5cbiAgICB0aGlzLnVzZXJNYW5hZ2VyLmV2ZW50cy5hZGRBY2Nlc3NUb2tlbkV4cGlyaW5nKCgpID0+IHtcbiAgICAgIHRoaXMubG9nZ2VyLmluZm8oXCJJZFN2ciB0b2tlbiBleHBpcmluZyBcIiArIG5ldyBEYXRlKCkudG9Mb2NhbGVTdHJpbmcoKSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnVzZXJNYW5hZ2VyLmV2ZW50cy5hZGRBY2Nlc3NUb2tlbkV4cGlyZWQoKCkgPT4ge1xuICAgICAgdGhpcy5sb2dnZXIuaW5mbyhcIklkU3ZyIHRva2VuIGV4cGlyZWQgXCIgKyBuZXcgRGF0ZSgpLnRvTG9jYWxlU3RyaW5nKCkpO1xuICAgICAgdGhpcy5sb2dvdXQoZmFsc2UpO1xuICAgIH0pO1xuXG4gICAgdGhpcy51c2VyTWFuYWdlci5ldmVudHMuYWRkU2lsZW50UmVuZXdFcnJvcihlID0+IHtcbiAgICAgIHRoaXMubG9nZ2VyLmVycm9yKFwiSWRTdnIgc2lsZW50IHJlbmV3IGVycm9yIFwiICsgZS5tZXNzYWdlICsgbmV3IERhdGUoKS50b0xvY2FsZVN0cmluZygpKTtcbiAgICAgIHRoaXMubG9nb3V0KGZhbHNlKTtcbiAgICB9KTtcblxuICAgIHRoaXMudXNlck1hbmFnZXIuZXZlbnRzLmFkZFVzZXJMb2FkZWQodXNlciA9PiB7XG4gICAgICB0aGlzLmxvZ2dlci5pbmZvKFwiSWRTdnIgdXNlciBzZXNzaW9uIGlzIHJlYWR5IFwiICsgbmV3IERhdGUoKS50b0xvY2FsZVN0cmluZygpKTtcbiAgICAgIHRoaXMuYWNjZXNzVG9rZW4gPSB0aGlzLnRva2VuSGVscGVyU2VydmljZS5nZXRQYXlsb2FkRnJvbVRva2VuKHVzZXIuYWNjZXNzX3Rva2VuLCBmYWxzZSk7XG4gICAgICB0aGlzLnVzZXIgPSB1c2VyO1xuICAgIH0pO1xuXG4gICAgdGhpcy51c2VyTWFuYWdlci5ldmVudHMuYWRkVXNlclVubG9hZGVkKCgpID0+IHtcbiAgICAgIHRoaXMubG9nZ2VyLmluZm8oXCJJZFN2ciB1c2VyIHNlc3Npb24gaGFzIGVuZGVkIFwiICsgbmV3IERhdGUoKS50b0xvY2FsZVN0cmluZygpKTtcblxuICAgICAgaWYgKCF0aGlzLnNpZ25pbmdPdXQpIHtcbiAgICAgICAgdGhpcy5zdGFydEF1dGhlbnRpY2F0aW9uKHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSArIHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy51c2VyTWFuYWdlci5ldmVudHMuYWRkVXNlclNpZ25lZE91dCgoKSA9PiB7XG4gICAgICB0aGlzLmxvZ2dlci5pbmZvKFwiSWRTdnIgdXNlciBzaWduZWQgb3V0IFwiICsgbmV3IERhdGUoKS50b0xvY2FsZVN0cmluZygpKTtcbiAgICAgIHRoaXMubG9nb3V0KGZhbHNlKTtcbiAgICB9KTtcblxuICAgIHRoaXMudXNlciA9IGF3YWl0IHRoaXMudXNlck1hbmFnZXIuZ2V0VXNlcigpO1xuICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIGlzTG9nZ2VkSW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudXNlciAhPSBudWxsICYmICF0aGlzLnVzZXIuZXhwaXJlZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRVc2VyKCk6IFByb21pc2U8VXNlciB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy51c2VyTWFuYWdlci5nZXRVc2VyKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UHJvZmlsZSgpOiBQcm9maWxlIHtcbiAgICByZXR1cm4gdGhpcy51c2VyLnByb2ZpbGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2xhaW1zKCk6IFByb2ZpbGUge1xuICAgIHJldHVybiB0aGlzLnVzZXIucHJvZmlsZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBdXRob3JpemF0aW9uSGVhZGVyVmFsdWUoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy51c2VyICE9IG51bGwpXG4gICAgICByZXR1cm4gYCR7dGhpcy51c2VyLnRva2VuX3R5cGV9ICR7dGhpcy51c2VyLmFjY2Vzc190b2tlbn1gO1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGdldEFjY2Vzc1Rva2VuKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuYWNjZXNzVG9rZW4gfHwgdGhpcy50b2tlbkhlbHBlclNlcnZpY2UuZ2V0UGF5bG9hZEZyb21Ub2tlbih0aGlzLnVzZXIuYWNjZXNzX3Rva2VuLCBmYWxzZSk7XG4gICAgO1xuICB9XG5cbiAgYXN5bmMgc3RhcnRBdXRoZW50aWNhdGlvbihyZXR1cm5Vcmw6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMubG9nZ2VyLmluZm8oXCJbQXV0aFNlcnZpY2VdIHN0YXJ0QXV0aGVudGljYXRpb25cIiwgcmV0dXJuVXJsKTtcbiAgICBhd2FpdCB0aGlzLnVzZXJNYW5hZ2VyLmNsZWFyU3RhbGVTdGF0ZSgpO1xuICAgIGF3YWl0IHRoaXMudXNlck1hbmFnZXIuc2lnbmluUmVkaXJlY3Qoe2RhdGE6IHtyZXR1cm5Vcmw6IHJldHVyblVybH19KS5jYXRjaChlcnIgPT4ge1xuICAgICAgLy90aGlzLiRsb2cuZGVidWcoXCJJZFN2ciBzaWduIGluIGZhaWxlZFwiLCBlcnIpO1xuICAgICAgcmV0dXJuIGVycjtcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGNvbXBsZXRlQXV0aGVudGljYXRpb24oKTogUHJvbWlzZTxPaWRjLlVzZXI+IHtcbiAgICB0aGlzLmxvZ2dlci5pbmZvKFwiW0F1dGhTZXJ2aWNlXSBjb21wbGV0ZUF1dGhlbnRpY2F0aW9uXCIpO1xuICAgIGxldCB1c2VyID0gYXdhaXQgbmV3IFByb21pc2U8T2lkYy5Vc2VyPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0aGlzLnVzZXJNYW5hZ2VyLnNpZ25pblJlZGlyZWN0Q2FsbGJhY2soKS50aGVuKHVzZXIgPT4ge1xuICAgICAgICByZXNvbHZlKHVzZXIpXG4gICAgICB9KS5jYXRjaChlcnJvciA9PiB7XG4gICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICB0aGlzLnVzZXIgPSB1c2VyO1xuICAgIHJldHVybiB0aGlzLnVzZXI7XG4gIH1cblxuICBwdWJsaWMgbG9naW4oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMudXNlck1hbmFnZXIuc2lnbmluUmVkaXJlY3QoKTtcbiAgfVxuXG4gIHB1YmxpYyByZW5ld1Rva2VuKCk6IFByb21pc2U8VXNlcj4ge1xuICAgIHJldHVybiB0aGlzLnVzZXJNYW5hZ2VyLnNpZ25pblNpbGVudCgpO1xuICB9XG5cbiAgcHVibGljIGxvZ291dChzaWdub3V0UmVkaXJlY3Q/OiBib29sZWFuKTogUHJvbWlzZTx2b2lkPiB7XG5cbiAgICBpZiAoc2lnbm91dFJlZGlyZWN0ID09PSB1bmRlZmluZWQgfHwgc2lnbm91dFJlZGlyZWN0ICE9PSBmYWxzZSkge1xuICAgICAgdGhpcy5zaWduaW5nT3V0ID0gdHJ1ZTtcbiAgICAgIHNpZ25vdXRSZWRpcmVjdCA9IHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMudXNlck1hbmFnZXIuc2lnbm91dFJlZGlyZWN0KCk7XG4gIH1cblxuICBwcml2YXRlIGdldENsaWVudFNldHRpbmdzKGVudmlyb25tZW50OiBFbnZpcm9ubWVudFZpZXdNb2RlbCk6IFVzZXJNYW5hZ2VyU2V0dGluZ3Mge1xuICAgIHJldHVybiB7XG4gICAgICBhdXRob3JpdHk6IGVudmlyb25tZW50Py5vcGVuSUQ/LmF1dGhvcml0eSxcbiAgICAgIGNsaWVudF9pZDogZW52aXJvbm1lbnQ/Lm9wZW5JRD8uY2xpZW50X2lkLFxuICAgICAgcmVkaXJlY3RfdXJpOiBlbnZpcm9ubWVudD8ub3BlbklEPy5yZWRpcmVjdF91cmksXG4gICAgICBwb3N0X2xvZ291dF9yZWRpcmVjdF91cmk6IGVudmlyb25tZW50Py5vcGVuSUQ/LnBvc3RfbG9nb3V0X3JlZGlyZWN0X3VyaSxcbiAgICAgIHJlc3BvbnNlX3R5cGU6IGVudmlyb25tZW50Py5vcGVuSUQ/LnJlc3BvbnNlX3R5cGUsXG4gICAgICBzY29wZTogZW52aXJvbm1lbnQ/Lm9wZW5JRD8uc2NvcGUsXG4gICAgICBmaWx0ZXJQcm90b2NvbENsYWltczogZW52aXJvbm1lbnQ/Lm9wZW5JRD8uZmlsdGVyUHJvdG9jb2xDbGFpbXMsXG4gICAgICBsb2FkVXNlckluZm86IHRydWUsXG4gICAgICBtb25pdG9yU2Vzc2lvbjogdHJ1ZSxcbiAgICAgIHNpbGVudF9yZWRpcmVjdF91cmk6IGVudmlyb25tZW50Py5vcGVuSUQ/LnNpbGVudF9yZWRpcmVjdF91cmksXG4gICAgICBhdXRvbWF0aWNTaWxlbnRSZW5ldzogZW52aXJvbm1lbnQ/Lm9wZW5JRD8uYXV0b21hdGljU2lsZW50UmVuZXcsXG4gICAgICBhY2Nlc3NUb2tlbkV4cGlyaW5nTm90aWZpY2F0aW9uVGltZTogMjAsIC8vZGVmYXVsdCA2MFxuICAgICAgY2hlY2tTZXNzaW9uSW50ZXJ2YWw6IDIwMDAsIC8vZGVmYXVsdCAyMDAwXG4gICAgICBzaWxlbnRSZXF1ZXN0VGltZW91dDogMjAwMDAsXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGlzU2VydmljZVJlYWR5KCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKFwiW0F1dGhTZXJ2aWNlXSBpc1NlcnZpY2VSZWFkeVwiLCB0cnVlKTtcbiAgICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmluZm8oXCJbQXV0aFNlcnZpY2VdIGlzU2VydmljZVJlYWR5XCIsIGZhbHNlKTtcbiAgICAgICAgcmVqZWN0KGZhbHNlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYXV0aFNlcnZpY2VGYWN0b3J5KGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSwgYXBwU2V0dGluZ3M6IEFwcFNldHRpbmdTZXJ2aWNlLCBlbnZpcm9ubWVudDogRW52aXJvbm1lbnRWaWV3TW9kZWwpIHtcbiAgcmV0dXJuIGFzeW5jICgpID0+IHtcbiAgICBhcHBTZXR0aW5ncy5pc1NlcnZpY2VSZWFkeS5zdWJzY3JpYmUoaXRlbSA9PiB7XG4gICAgICBpZiAoaXRlbSlcbiAgICAgICAgYXV0aFNlcnZpY2UuaW5pdGlhbGl6ZShlbnZpcm9ubWVudCk7XG4gICAgfSk7XG4gIH1cbn07Il19