fabrikantencore 2.6.2 → 2.6.4

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 (96) hide show
  1. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-deeplink/beheer-deeplink.component.mjs +20 -14
  2. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-filter/beheer-filter.component.mjs +18 -15
  3. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-filters/beheer-filters.component.mjs +17 -50
  4. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-main/beheer-main.component.mjs +9 -6
  5. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-nav/beheer-nav.component.mjs +5 -4
  6. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-connect-rangeinput/beheer-products-connect-rangeinput.component.mjs +23 -18
  7. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-ebo/beheer-products-ebo.component.mjs +18 -12
  8. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-eigenschap/beheer-products-eigenschap.component.mjs +20 -11
  9. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-koppel-filteroption-dailog/beheer-products-koppel-filteroption-dailog.component.mjs +19 -32
  10. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products.component.mjs +3 -6
  11. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-select-filter-dialog/beheer-select-filter-dialog.component.mjs +19 -17
  12. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-translate/beheer-translate.component.mjs +80 -68
  13. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-users/beheer-users.component.mjs +135 -7
  14. package/esm2020/src/app/modules/fabrikantencore/components/fab-actionmenu/fab-actionmenu.component.mjs +11 -4
  15. package/esm2020/src/app/modules/fabrikantencore/components/fab-breadcrumb/fab-breadcrumb.component.mjs +10 -3
  16. package/esm2020/src/app/modules/fabrikantencore/components/fab-category-navigator/fab-category-navigator.component.mjs +10 -3
  17. package/esm2020/src/app/modules/fabrikantencore/components/fab-category-tile/fab-category-tile.component.mjs +10 -3
  18. package/esm2020/src/app/modules/fabrikantencore/components/fab-filter/fab-filter.component.mjs +10 -3
  19. package/esm2020/src/app/modules/fabrikantencore/components/fab-filter-colour/fab-filter-colour-dialog/fab-filter-colour-dialog.component.mjs +15 -3
  20. package/esm2020/src/app/modules/fabrikantencore/components/fab-filter-colour/fab-filter-colour.component.mjs +10 -3
  21. package/esm2020/src/app/modules/fabrikantencore/components/fab-filter-colour-label/fab-filter-colour-label.component.mjs +10 -3
  22. package/esm2020/src/app/modules/fabrikantencore/components/fab-filter-fold/fab-filter-fold.component.mjs +10 -3
  23. package/esm2020/src/app/modules/fabrikantencore/components/fab-filter-label/fab-filter-label.component.mjs +10 -3
  24. package/esm2020/src/app/modules/fabrikantencore/components/fab-filters/fab-filters.component.mjs +8 -4
  25. package/esm2020/src/app/modules/fabrikantencore/components/fab-filters-input/fab-filters-input.component.mjs +10 -3
  26. package/esm2020/src/app/modules/fabrikantencore/components/fab-multiselect/fab-multiselect.component.mjs +10 -3
  27. package/esm2020/src/app/modules/fabrikantencore/components/fab-multiselect-fold/fab-multiselect-fold.component.mjs +10 -3
  28. package/esm2020/src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info.component.mjs +3 -2
  29. package/esm2020/src/app/modules/fabrikantencore/components/fab-product/fab-product.component.mjs +10 -3
  30. package/esm2020/src/app/modules/fabrikantencore/components/fab-product/fab-toebehoren/fab-toebehoren.component.mjs +10 -3
  31. package/esm2020/src/app/modules/fabrikantencore/components/fab-product-select/fab-product-select.component.mjs +12 -5
  32. package/esm2020/src/app/modules/fabrikantencore/components/fab-product-tile/fab-product-tile.component.mjs +11 -5
  33. package/esm2020/src/app/modules/fabrikantencore/components/fab-range-input/fab-range-input.component.mjs +13 -6
  34. package/esm2020/src/app/modules/fabrikantencore/components/fab-range-input-fold/fab-range-input-fold.component.mjs +10 -3
  35. package/esm2020/src/app/modules/fabrikantencore/components/fab-select-bcbproduct/fab-select-bcbproduct.component.mjs +10 -3
  36. package/esm2020/src/app/modules/fabrikantencore/components/fab-start/fab-start.component.mjs +2 -3
  37. package/esm2020/src/app/modules/fabrikantencore/components/fab-svg-viewer/fab-svg-viewer.component.mjs +5 -8
  38. package/esm2020/src/app/modules/fabrikantencore/components/fab-texture/fab-texture.component.mjs +10 -3
  39. package/esm2020/src/app/modules/fabrikantencore/fabrikantencore.module.mjs +14 -1
  40. package/esm2020/src/app/modules/fabrikantencore/helpers/auth.guard.mjs +2 -1
  41. package/esm2020/src/app/modules/fabrikantencore/services/authentication.service.mjs +25 -2
  42. package/esm2020/src/app/modules/fabrikantencore/services/fabrikanten.service.mjs +130 -89
  43. package/esm2020/src/app/modules/fabrikantencore/services/importsets.service.mjs +7 -5
  44. package/esm2020/src/app/modules/fabrikantencore/services/photo.service.mjs +3 -2
  45. package/esm2020/src/app/modules/fabrikantencore/services/products.service.mjs +12 -21
  46. package/esm2020/src/app/modules/fabrikantencore/services/svg.service.mjs +11 -6
  47. package/esm2020/src/app/modules/fabrikantencore/services/translate.service.mjs +17 -212
  48. package/esm2020/src/app/modules/fabrikantencore/swagger/SwaggerClient.mjs +1071 -535
  49. package/fesm2015/fabrikantencore.mjs +1759 -1114
  50. package/fesm2015/fabrikantencore.mjs.map +1 -1
  51. package/fesm2020/fabrikantencore.mjs +1750 -1100
  52. package/fesm2020/fabrikantencore.mjs.map +1 -1
  53. package/package.json +1 -1
  54. package/src/app/modules/fabrikantencore/beheer/components/beheer-deeplink/beheer-deeplink.component.d.ts +4 -1
  55. package/src/app/modules/fabrikantencore/beheer/components/beheer-filter/beheer-filter.component.d.ts +3 -1
  56. package/src/app/modules/fabrikantencore/beheer/components/beheer-filters/beheer-filters.component.d.ts +4 -4
  57. package/src/app/modules/fabrikantencore/beheer/components/beheer-main/beheer-main.component.d.ts +3 -1
  58. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-connect-rangeinput/beheer-products-connect-rangeinput.component.d.ts +3 -1
  59. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-ebo/beheer-products-ebo.component.d.ts +3 -1
  60. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-eigenschap/beheer-products-eigenschap.component.d.ts +3 -1
  61. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-koppel-filteroption-dailog/beheer-products-koppel-filteroption-dailog.component.d.ts +3 -2
  62. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products.component.d.ts +0 -1
  63. package/src/app/modules/fabrikantencore/beheer/components/beheer-select-filter-dialog/beheer-select-filter-dialog.component.d.ts +3 -1
  64. package/src/app/modules/fabrikantencore/beheer/components/beheer-translate/beheer-translate.component.d.ts +17 -10
  65. package/src/app/modules/fabrikantencore/beheer/components/beheer-users/beheer-users.component.d.ts +18 -1
  66. package/src/app/modules/fabrikantencore/components/fab-actionmenu/fab-actionmenu.component.d.ts +3 -0
  67. package/src/app/modules/fabrikantencore/components/fab-breadcrumb/fab-breadcrumb.component.d.ts +3 -1
  68. package/src/app/modules/fabrikantencore/components/fab-category-navigator/fab-category-navigator.component.d.ts +3 -1
  69. package/src/app/modules/fabrikantencore/components/fab-category-tile/fab-category-tile.component.d.ts +3 -1
  70. package/src/app/modules/fabrikantencore/components/fab-filter/fab-filter.component.d.ts +3 -1
  71. package/src/app/modules/fabrikantencore/components/fab-filter-colour/fab-filter-colour-dialog/fab-filter-colour-dialog.component.d.ts +2 -0
  72. package/src/app/modules/fabrikantencore/components/fab-filter-colour/fab-filter-colour.component.d.ts +3 -1
  73. package/src/app/modules/fabrikantencore/components/fab-filter-colour-label/fab-filter-colour-label.component.d.ts +3 -1
  74. package/src/app/modules/fabrikantencore/components/fab-filter-fold/fab-filter-fold.component.d.ts +3 -1
  75. package/src/app/modules/fabrikantencore/components/fab-filter-label/fab-filter-label.component.d.ts +3 -1
  76. package/src/app/modules/fabrikantencore/components/fab-filters/fab-filters.component.d.ts +2 -0
  77. package/src/app/modules/fabrikantencore/components/fab-filters-input/fab-filters-input.component.d.ts +3 -0
  78. package/src/app/modules/fabrikantencore/components/fab-multiselect/fab-multiselect.component.d.ts +3 -1
  79. package/src/app/modules/fabrikantencore/components/fab-multiselect-fold/fab-multiselect-fold.component.d.ts +3 -1
  80. package/src/app/modules/fabrikantencore/components/fab-product/fab-product.component.d.ts +3 -0
  81. package/src/app/modules/fabrikantencore/components/fab-product/fab-toebehoren/fab-toebehoren.component.d.ts +3 -0
  82. package/src/app/modules/fabrikantencore/components/fab-product-select/fab-product-select.component.d.ts +3 -0
  83. package/src/app/modules/fabrikantencore/components/fab-product-tile/fab-product-tile.component.d.ts +3 -1
  84. package/src/app/modules/fabrikantencore/components/fab-range-input/fab-range-input.component.d.ts +3 -1
  85. package/src/app/modules/fabrikantencore/components/fab-range-input-fold/fab-range-input-fold.component.d.ts +3 -1
  86. package/src/app/modules/fabrikantencore/components/fab-select-bcbproduct/fab-select-bcbproduct.component.d.ts +3 -0
  87. package/src/app/modules/fabrikantencore/components/fab-svg-viewer/fab-svg-viewer.component.d.ts +1 -2
  88. package/src/app/modules/fabrikantencore/components/fab-texture/fab-texture.component.d.ts +3 -0
  89. package/src/app/modules/fabrikantencore/fabrikantencore.module.d.ts +10 -9
  90. package/src/app/modules/fabrikantencore/services/authentication.service.d.ts +4 -0
  91. package/src/app/modules/fabrikantencore/services/fabrikanten.service.d.ts +10 -11
  92. package/src/app/modules/fabrikantencore/services/importsets.service.d.ts +3 -1
  93. package/src/app/modules/fabrikantencore/services/products.service.d.ts +3 -2
  94. package/src/app/modules/fabrikantencore/services/svg.service.d.ts +6 -1
  95. package/src/app/modules/fabrikantencore/services/translate.service.d.ts +4 -28
  96. package/src/app/modules/fabrikantencore/swagger/SwaggerClient.d.ts +395 -199
@@ -1,17 +1,19 @@
1
1
  import { Component } from '@angular/core';
2
- import { DeeplinkRequest } from '../../../swagger/SwaggerClient';
2
+ import { DeeplinkRequest, LoginResponseModel } from '../../../swagger/SwaggerClient';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "../../../swagger/SwaggerClient";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "@angular/material/form-field";
7
- import * as i4 from "@angular/material/input";
8
- import * as i5 from "@angular/forms";
9
- import * as i6 from "@angular/material/card";
10
- import * as i7 from "../beheer-nav/beheer-nav.component";
11
- import * as i8 from "../../../components/fab-loader/fab-loader.component";
5
+ import * as i2 from "../../../services/authentication.service";
6
+ import * as i3 from "@angular/common";
7
+ import * as i4 from "@angular/material/form-field";
8
+ import * as i5 from "@angular/material/input";
9
+ import * as i6 from "@angular/forms";
10
+ import * as i7 from "@angular/material/card";
11
+ import * as i8 from "../beheer-nav/beheer-nav.component";
12
+ import * as i9 from "../../../components/fab-loader/fab-loader.component";
12
13
  export class BeheerDeeplinkComponent {
13
- constructor(ProductsApiClient, ChangeDetectorRef) {
14
+ constructor(ProductsApiClient, authenticationService, ChangeDetectorRef) {
14
15
  this.ProductsApiClient = ProductsApiClient;
16
+ this.authenticationService = authenticationService;
15
17
  this.ChangeDetectorRef = ChangeDetectorRef;
16
18
  this.Loading = true;
17
19
  this.URL = "";
@@ -23,10 +25,14 @@ export class BeheerDeeplinkComponent {
23
25
  GetLink(language, product) {
24
26
  return this.URL + "/" + language + "/product/" + product.productURLName;
25
27
  }
28
+ GetLinkCategory(language, category) {
29
+ return this.URL + "/" + language + "/" + category;
30
+ }
26
31
  LoadModel() {
27
32
  this.Loading = true;
28
33
  this.ChangeDetectorRef.detectChanges();
29
34
  var request = new DeeplinkRequest();
35
+ request.loginResponseModel = new LoginResponseModel(this.authenticationService.currentUserValue);
30
36
  this.ProductsApiClient.getDeeplinkViewModel(request).subscribe((model) => {
31
37
  this.DeeplinkViewModel = model;
32
38
  this.Loading = false;
@@ -34,10 +40,10 @@ export class BeheerDeeplinkComponent {
34
40
  });
35
41
  }
36
42
  }
37
- BeheerDeeplinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: BeheerDeeplinkComponent, deps: [{ token: i1.ProductsApiClient }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
38
- BeheerDeeplinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: BeheerDeeplinkComponent, selector: "app-beheer-deeplink", ngImport: i0, template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"!Loading\" class=\"main-window\">\r\n <mat-card>\r\n <mat-card-content>\r\n <mat-form-field class=\"full-width\">\r\n <mat-label>URL</mat-label>\r\n <input matInput [(ngModel)]=\"URL\">\r\n </mat-form-field>\r\n\r\n <table class=\"full-width\">\r\n <tr class=\"header\">\r\n <td>Naam</td>\r\n <td>URL Naam</td>\r\n <td>URL</td>\r\n </tr>\r\n <tr *ngFor=\"let product of DeeplinkViewModel.products\">\r\n <td>{{ product.productName }}</td>\r\n <td>{{ product.productURLName }}</td>\r\n <td>\r\n <div *ngFor=\"let language of DeeplinkViewModel.languages\">\r\n <a href=\"{{ GetLink(language, product) }}\" target=\"_blank\">{{ GetLink(language, product) }}</a>\r\n </div>\r\n </td>\r\n </tr>\r\n </table>\r\n </mat-card-content>\r\n </mat-card>\r\n</div>\r\n", styles: [".main-window{padding:5px}.full-width{width:100%}.header{font-weight:700}.header td{border-bottom:1px solid #000}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.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: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i6.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "component", type: i7.BeheerNavComponent, selector: "app-beheer-nav" }, { kind: "component", type: i8.FabLoaderComponent, selector: "app-fab-loader" }] });
43
+ BeheerDeeplinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: BeheerDeeplinkComponent, deps: [{ token: i1.ProductsApiClient }, { token: i2.AuthenticationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
44
+ BeheerDeeplinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: BeheerDeeplinkComponent, selector: "app-beheer-deeplink", ngImport: i0, template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"!Loading\" class=\"main-window\">\r\n <mat-card>\r\n <mat-card-content>\r\n <table class=\"full-width\">\r\n <tr class=\"header\">\r\n <td>Filter</td>\r\n <td>Option</td>\r\n <!--<td>URL</td>-->\r\n </tr>\r\n <ng-container *ngFor=\"let filter of DeeplinkViewModel.filters\">\r\n <tr class=\"header\">\r\n <td>\r\n {{ filter.filterName }}\r\n </td>\r\n <td></td>\r\n </tr>\r\n <tr *ngFor=\"let option of filter.optionURLNames\">\r\n <td></td>\r\n <td>{{ option }}</td>\r\n <!--<td>\r\n <div *ngFor=\"let language of DeeplinkViewModel.languages\">\r\n <a href=\"{{ GetLink(language, product) }}\" target=\"_blank\">{{ GetLink(language, product) }}</a>\r\n </div>\r\n </td>-->\r\n </tr>\r\n </ng-container>\r\n </table>\r\n </mat-card-content>\r\n </mat-card>\r\n <br />\r\n <mat-card>\r\n <mat-card-content>\r\n <mat-form-field class=\"full-width\">\r\n <mat-label>URL</mat-label>\r\n <input matInput [(ngModel)]=\"URL\">\r\n </mat-form-field>\r\n\r\n <table class=\"full-width\">\r\n <tr class=\"header\">\r\n <td>Category</td>\r\n <td>Link</td>\r\n <!--<td>URL</td>-->\r\n </tr>\r\n <ng-container *ngFor=\"let category of DeeplinkViewModel.categories\">\r\n <tr>\r\n <td>\r\n {{ category }}\r\n </td>\r\n <td>\r\n <div *ngFor=\"let language of DeeplinkViewModel.languages\">\r\n <a href=\"{{ GetLinkCategory(language, category) }}\" target=\"_blank\">\r\n {{ GetLinkCategory(language, category) }}\r\n </a>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </table>\r\n\r\n <table class=\"full-width\">\r\n <tr class=\"header\">\r\n <td>Naam</td>\r\n <td>URL Naam</td>\r\n <td>URL</td>\r\n </tr>\r\n <tr *ngFor=\"let product of DeeplinkViewModel.products\">\r\n <td>{{ product.productName }}</td>\r\n <td>{{ product.productURLName }}</td>\r\n <td>\r\n <div *ngFor=\"let language of DeeplinkViewModel.languages\">\r\n <a href=\"{{ GetLink(language, product) }}\" target=\"_blank\">{{ GetLink(language, product) }}</a>\r\n </div>\r\n </td>\r\n </tr>\r\n </table>\r\n </mat-card-content>\r\n </mat-card>\r\n</div>\r\n", styles: [".main-window{padding:5px}.full-width{width:100%}.header{font-weight:700}.header td{border-bottom:1px solid #000}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.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: "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.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i7.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "component", type: i8.BeheerNavComponent, selector: "app-beheer-nav" }, { kind: "component", type: i9.FabLoaderComponent, selector: "app-fab-loader" }] });
39
45
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: BeheerDeeplinkComponent, decorators: [{
40
46
  type: Component,
41
- args: [{ selector: 'app-beheer-deeplink', template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"!Loading\" class=\"main-window\">\r\n <mat-card>\r\n <mat-card-content>\r\n <mat-form-field class=\"full-width\">\r\n <mat-label>URL</mat-label>\r\n <input matInput [(ngModel)]=\"URL\">\r\n </mat-form-field>\r\n\r\n <table class=\"full-width\">\r\n <tr class=\"header\">\r\n <td>Naam</td>\r\n <td>URL Naam</td>\r\n <td>URL</td>\r\n </tr>\r\n <tr *ngFor=\"let product of DeeplinkViewModel.products\">\r\n <td>{{ product.productName }}</td>\r\n <td>{{ product.productURLName }}</td>\r\n <td>\r\n <div *ngFor=\"let language of DeeplinkViewModel.languages\">\r\n <a href=\"{{ GetLink(language, product) }}\" target=\"_blank\">{{ GetLink(language, product) }}</a>\r\n </div>\r\n </td>\r\n </tr>\r\n </table>\r\n </mat-card-content>\r\n </mat-card>\r\n</div>\r\n", styles: [".main-window{padding:5px}.full-width{width:100%}.header{font-weight:700}.header td{border-bottom:1px solid #000}\n"] }]
42
- }], ctorParameters: function () { return [{ type: i1.ProductsApiClient }, { type: i0.ChangeDetectorRef }]; } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLWRlZXBsaW5rLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLWRlZXBsaW5rL2JlaGVlci1kZWVwbGluay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1kZWVwbGluay9iZWhlZXItZGVlcGxpbmsuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFxQixlQUFlLEVBQStDLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7QUFPakksTUFBTSxPQUFPLHVCQUF1QjtJQU1sQyxZQUNVLGlCQUFvQyxFQUNwQyxpQkFBb0M7UUFEcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBTnZDLFlBQU8sR0FBWSxJQUFJLENBQUM7UUFFeEIsUUFBRyxHQUFXLEVBQUUsQ0FBQztRQU10QixJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFTSxPQUFPLENBQUMsUUFBZ0IsRUFBRSxPQUFpQztRQUNoRSxPQUFPLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLFFBQVEsR0FBRyxXQUFXLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQztJQUMxRSxDQUFDO0lBRU8sU0FBUztRQUNmLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUV2QyxJQUFJLE9BQU8sR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBRXBDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUF3QixFQUFFLEVBQUU7WUFDMUYsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztZQUMvQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztvSEFoQ1UsdUJBQXVCO3dHQUF2Qix1QkFBdUIsMkRDUnBDLG9pQ0FpQ0E7MkZEekJhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGVlcGxpbmtWaWV3TW9kZWwsIERlZXBsaW5rUmVxdWVzdCwgRGVlcGxpbmtQcm9kdWN0Vmlld01vZGVsLCBQcm9kdWN0c0FwaUNsaWVudCB9IGZyb20gJy4uLy4uLy4uL3N3YWdnZXIvU3dhZ2dlckNsaWVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1iZWhlZXItZGVlcGxpbmsnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iZWhlZXItZGVlcGxpbmsuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2JlaGVlci1kZWVwbGluay5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCZWhlZXJEZWVwbGlua0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIHB1YmxpYyBMb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgRGVlcGxpbmtWaWV3TW9kZWw6IERlZXBsaW5rVmlld01vZGVsO1xyXG4gIHB1YmxpYyBVUkw6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBQcm9kdWN0c0FwaUNsaWVudDogUHJvZHVjdHNBcGlDbGllbnQsXHJcbiAgICBwcml2YXRlIENoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge1xyXG4gICAgdGhpcy5VUkwgPSB3aW5kb3cubG9jYXRpb24ub3JpZ2luO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLkxvYWRNb2RlbCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEdldExpbmsobGFuZ3VhZ2U6IHN0cmluZywgcHJvZHVjdDogRGVlcGxpbmtQcm9kdWN0Vmlld01vZGVsKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLlVSTCArIFwiL1wiICsgbGFuZ3VhZ2UgKyBcIi9wcm9kdWN0L1wiICsgcHJvZHVjdC5wcm9kdWN0VVJMTmFtZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgTG9hZE1vZGVsKCk6IHZvaWQge1xyXG4gICAgdGhpcy5Mb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICAgIHZhciByZXF1ZXN0ID0gbmV3IERlZXBsaW5rUmVxdWVzdCgpO1xyXG5cclxuICAgIHRoaXMuUHJvZHVjdHNBcGlDbGllbnQuZ2V0RGVlcGxpbmtWaWV3TW9kZWwocmVxdWVzdCkuc3Vic2NyaWJlKChtb2RlbDogRGVlcGxpbmtWaWV3TW9kZWwpID0+IHtcclxuICAgICAgdGhpcy5EZWVwbGlua1ZpZXdNb2RlbCA9IG1vZGVsO1xyXG4gICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgdGhpcy5DaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGFwcC1iZWhlZXItbmF2PjwvYXBwLWJlaGVlci1uYXY+XHJcblxyXG48ZGl2ICpuZ0lmPVwiTG9hZGluZ1wiPlxyXG4gIDxhcHAtZmFiLWxvYWRlcj48L2FwcC1mYWItbG9hZGVyPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgKm5nSWY9XCIhTG9hZGluZ1wiIGNsYXNzPVwibWFpbi13aW5kb3dcIj5cclxuICA8bWF0LWNhcmQ+XHJcbiAgICA8bWF0LWNhcmQtY29udGVudD5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+VVJMPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwiVVJMXCI+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4gICAgICA8dGFibGUgY2xhc3M9XCJmdWxsLXdpZHRoXCI+XHJcbiAgICAgICAgPHRyIGNsYXNzPVwiaGVhZGVyXCI+XHJcbiAgICAgICAgICA8dGQ+TmFhbTwvdGQ+XHJcbiAgICAgICAgICA8dGQ+VVJMIE5hYW08L3RkPlxyXG4gICAgICAgICAgPHRkPlVSTDwvdGQ+XHJcbiAgICAgICAgPC90cj5cclxuICAgICAgICA8dHIgKm5nRm9yPVwibGV0IHByb2R1Y3Qgb2YgRGVlcGxpbmtWaWV3TW9kZWwucHJvZHVjdHNcIj5cclxuICAgICAgICAgIDx0ZD57eyBwcm9kdWN0LnByb2R1Y3ROYW1lIH19PC90ZD5cclxuICAgICAgICAgIDx0ZD57eyBwcm9kdWN0LnByb2R1Y3RVUkxOYW1lIH19PC90ZD5cclxuICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgbGFuZ3VhZ2Ugb2YgRGVlcGxpbmtWaWV3TW9kZWwubGFuZ3VhZ2VzXCI+XHJcbiAgICAgICAgICAgICAgPGEgaHJlZj1cInt7IEdldExpbmsobGFuZ3VhZ2UsIHByb2R1Y3QpIH19XCIgdGFyZ2V0PVwiX2JsYW5rXCI+e3sgR2V0TGluayhsYW5ndWFnZSwgcHJvZHVjdCkgfX08L2E+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC90ZD5cclxuICAgICAgICA8L3RyPlxyXG4gICAgICA8L3RhYmxlPlxyXG4gICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gIDwvbWF0LWNhcmQ+XHJcbjwvZGl2PlxyXG4iXX0=
47
+ args: [{ selector: 'app-beheer-deeplink', template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"!Loading\" class=\"main-window\">\r\n <mat-card>\r\n <mat-card-content>\r\n <table class=\"full-width\">\r\n <tr class=\"header\">\r\n <td>Filter</td>\r\n <td>Option</td>\r\n <!--<td>URL</td>-->\r\n </tr>\r\n <ng-container *ngFor=\"let filter of DeeplinkViewModel.filters\">\r\n <tr class=\"header\">\r\n <td>\r\n {{ filter.filterName }}\r\n </td>\r\n <td></td>\r\n </tr>\r\n <tr *ngFor=\"let option of filter.optionURLNames\">\r\n <td></td>\r\n <td>{{ option }}</td>\r\n <!--<td>\r\n <div *ngFor=\"let language of DeeplinkViewModel.languages\">\r\n <a href=\"{{ GetLink(language, product) }}\" target=\"_blank\">{{ GetLink(language, product) }}</a>\r\n </div>\r\n </td>-->\r\n </tr>\r\n </ng-container>\r\n </table>\r\n </mat-card-content>\r\n </mat-card>\r\n <br />\r\n <mat-card>\r\n <mat-card-content>\r\n <mat-form-field class=\"full-width\">\r\n <mat-label>URL</mat-label>\r\n <input matInput [(ngModel)]=\"URL\">\r\n </mat-form-field>\r\n\r\n <table class=\"full-width\">\r\n <tr class=\"header\">\r\n <td>Category</td>\r\n <td>Link</td>\r\n <!--<td>URL</td>-->\r\n </tr>\r\n <ng-container *ngFor=\"let category of DeeplinkViewModel.categories\">\r\n <tr>\r\n <td>\r\n {{ category }}\r\n </td>\r\n <td>\r\n <div *ngFor=\"let language of DeeplinkViewModel.languages\">\r\n <a href=\"{{ GetLinkCategory(language, category) }}\" target=\"_blank\">\r\n {{ GetLinkCategory(language, category) }}\r\n </a>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </table>\r\n\r\n <table class=\"full-width\">\r\n <tr class=\"header\">\r\n <td>Naam</td>\r\n <td>URL Naam</td>\r\n <td>URL</td>\r\n </tr>\r\n <tr *ngFor=\"let product of DeeplinkViewModel.products\">\r\n <td>{{ product.productName }}</td>\r\n <td>{{ product.productURLName }}</td>\r\n <td>\r\n <div *ngFor=\"let language of DeeplinkViewModel.languages\">\r\n <a href=\"{{ GetLink(language, product) }}\" target=\"_blank\">{{ GetLink(language, product) }}</a>\r\n </div>\r\n </td>\r\n </tr>\r\n </table>\r\n </mat-card-content>\r\n </mat-card>\r\n</div>\r\n", styles: [".main-window{padding:5px}.full-width{width:100%}.header{font-weight:700}.header td{border-bottom:1px solid #000}\n"] }]
48
+ }], ctorParameters: function () { return [{ type: i1.ProductsApiClient }, { type: i2.AuthenticationService }, { type: i0.ChangeDetectorRef }]; } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLWRlZXBsaW5rLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLWRlZXBsaW5rL2JlaGVlci1kZWVwbGluay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1kZWVwbGluay9iZWhlZXItZGVlcGxpbmsuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFckUsT0FBTyxFQUFxQixlQUFlLEVBQStDLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7O0FBT3JKLE1BQU0sT0FBTyx1QkFBdUI7SUFNbEMsWUFDVSxpQkFBb0MsRUFDcEMscUJBQTRDLEVBQzVDLGlCQUFvQztRQUZwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQVB2QyxZQUFPLEdBQVksSUFBSSxDQUFDO1FBRXhCLFFBQUcsR0FBVyxFQUFFLENBQUM7UUFPdEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUNwQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRU0sT0FBTyxDQUFDLFFBQWdCLEVBQUUsT0FBaUM7UUFDaEUsT0FBTyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxRQUFRLEdBQUcsV0FBVyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUM7SUFDMUUsQ0FBQztJQUVNLGVBQWUsQ0FBQyxRQUFnQixFQUFFLFFBQWdCO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsUUFBUSxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUM7SUFDcEQsQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFdkMsSUFBSSxPQUFPLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUVwQyxPQUFPLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUVqRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFO1lBQzFGLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7WUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7b0hBdkNVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLDJEQ1RwQyx1dEZBb0ZBOzJGRDNFYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0UscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEZWVwbGlua1ZpZXdNb2RlbCwgRGVlcGxpbmtSZXF1ZXN0LCBEZWVwbGlua1Byb2R1Y3RWaWV3TW9kZWwsIFByb2R1Y3RzQXBpQ2xpZW50LCBMb2dpblJlc3BvbnNlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9zd2FnZ2VyL1N3YWdnZXJDbGllbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtYmVoZWVyLWRlZXBsaW5rJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYmVoZWVyLWRlZXBsaW5rLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9iZWhlZXItZGVlcGxpbmsuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmVoZWVyRGVlcGxpbmtDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBwdWJsaWMgTG9hZGluZzogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIERlZXBsaW5rVmlld01vZGVsOiBEZWVwbGlua1ZpZXdNb2RlbDtcclxuICBwdWJsaWMgVVJMOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgUHJvZHVjdHNBcGlDbGllbnQ6IFByb2R1Y3RzQXBpQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBhdXRoZW50aWNhdGlvblNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgQ2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7XHJcbiAgICB0aGlzLlVSTCA9IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW47XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuTG9hZE1vZGVsKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgR2V0TGluayhsYW5ndWFnZTogc3RyaW5nLCBwcm9kdWN0OiBEZWVwbGlua1Byb2R1Y3RWaWV3TW9kZWwpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuVVJMICsgXCIvXCIgKyBsYW5ndWFnZSArIFwiL3Byb2R1Y3QvXCIgKyBwcm9kdWN0LnByb2R1Y3RVUkxOYW1lO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEdldExpbmtDYXRlZ29yeShsYW5ndWFnZTogc3RyaW5nLCBjYXRlZ29yeTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLlVSTCArIFwiL1wiICsgbGFuZ3VhZ2UgKyBcIi9cIiArIGNhdGVnb3J5O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBMb2FkTW9kZWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLkxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5DaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgdmFyIHJlcXVlc3QgPSBuZXcgRGVlcGxpbmtSZXF1ZXN0KCk7XHJcblxyXG4gICAgcmVxdWVzdC5sb2dpblJlc3BvbnNlTW9kZWwgPSBuZXcgTG9naW5SZXNwb25zZU1vZGVsKHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmN1cnJlbnRVc2VyVmFsdWUpO1xyXG5cclxuICAgIHRoaXMuUHJvZHVjdHNBcGlDbGllbnQuZ2V0RGVlcGxpbmtWaWV3TW9kZWwocmVxdWVzdCkuc3Vic2NyaWJlKChtb2RlbDogRGVlcGxpbmtWaWV3TW9kZWwpID0+IHtcclxuICAgICAgdGhpcy5EZWVwbGlua1ZpZXdNb2RlbCA9IG1vZGVsO1xyXG4gICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgdGhpcy5DaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGFwcC1iZWhlZXItbmF2PjwvYXBwLWJlaGVlci1uYXY+XHJcblxyXG48ZGl2ICpuZ0lmPVwiTG9hZGluZ1wiPlxyXG4gIDxhcHAtZmFiLWxvYWRlcj48L2FwcC1mYWItbG9hZGVyPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgKm5nSWY9XCIhTG9hZGluZ1wiIGNsYXNzPVwibWFpbi13aW5kb3dcIj5cclxuICA8bWF0LWNhcmQ+XHJcbiAgICA8bWF0LWNhcmQtY29udGVudD5cclxuICAgICAgPHRhYmxlIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgIDx0ciBjbGFzcz1cImhlYWRlclwiPlxyXG4gICAgICAgICAgPHRkPkZpbHRlcjwvdGQ+XHJcbiAgICAgICAgICA8dGQ+T3B0aW9uPC90ZD5cclxuICAgICAgICAgIDwhLS08dGQ+VVJMPC90ZD4tLT5cclxuICAgICAgICA8L3RyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGZpbHRlciBvZiBEZWVwbGlua1ZpZXdNb2RlbC5maWx0ZXJzXCI+XHJcbiAgICAgICAgICA8dHIgY2xhc3M9XCJoZWFkZXJcIj5cclxuICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgIHt7IGZpbHRlci5maWx0ZXJOYW1lIH19XHJcbiAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDx0ZD48L3RkPlxyXG4gICAgICAgICAgPC90cj5cclxuICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGZpbHRlci5vcHRpb25VUkxOYW1lc1wiPlxyXG4gICAgICAgICAgICA8dGQ+PC90ZD5cclxuICAgICAgICAgICAgPHRkPnt7IG9wdGlvbiB9fTwvdGQ+XHJcbiAgICAgICAgICAgIDwhLS08dGQ+XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgbGFuZ3VhZ2Ugb2YgRGVlcGxpbmtWaWV3TW9kZWwubGFuZ3VhZ2VzXCI+XHJcbiAgICAgICAgICAgICAgICA8YSBocmVmPVwie3sgR2V0TGluayhsYW5ndWFnZSwgcHJvZHVjdCkgfX1cIiB0YXJnZXQ9XCJfYmxhbmtcIj57eyBHZXRMaW5rKGxhbmd1YWdlLCBwcm9kdWN0KSB9fTwvYT5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC90ZD4tLT5cclxuICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvdGFibGU+XHJcbiAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgPC9tYXQtY2FyZD5cclxuICA8YnIgLz5cclxuICA8bWF0LWNhcmQ+XHJcbiAgICA8bWF0LWNhcmQtY29udGVudD5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+VVJMPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwiVVJMXCI+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4gICAgICA8dGFibGUgY2xhc3M9XCJmdWxsLXdpZHRoXCI+XHJcbiAgICAgICAgPHRyIGNsYXNzPVwiaGVhZGVyXCI+XHJcbiAgICAgICAgICA8dGQ+Q2F0ZWdvcnk8L3RkPlxyXG4gICAgICAgICAgPHRkPkxpbms8L3RkPlxyXG4gICAgICAgICAgPCEtLTx0ZD5VUkw8L3RkPi0tPlxyXG4gICAgICAgIDwvdHI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2F0ZWdvcnkgb2YgRGVlcGxpbmtWaWV3TW9kZWwuY2F0ZWdvcmllc1wiPlxyXG4gICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAge3sgY2F0ZWdvcnkgfX1cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGxhbmd1YWdlIG9mIERlZXBsaW5rVmlld01vZGVsLmxhbmd1YWdlc1wiPlxyXG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cInt7IEdldExpbmtDYXRlZ29yeShsYW5ndWFnZSwgY2F0ZWdvcnkpIH19XCIgdGFyZ2V0PVwiX2JsYW5rXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBHZXRMaW5rQ2F0ZWdvcnkobGFuZ3VhZ2UsIGNhdGVnb3J5KSB9fVxyXG4gICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgPC90cj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC90YWJsZT5cclxuXHJcbiAgICAgIDx0YWJsZSBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgICA8dHIgY2xhc3M9XCJoZWFkZXJcIj5cclxuICAgICAgICAgIDx0ZD5OYWFtPC90ZD5cclxuICAgICAgICAgIDx0ZD5VUkwgTmFhbTwvdGQ+XHJcbiAgICAgICAgICA8dGQ+VVJMPC90ZD5cclxuICAgICAgICA8L3RyPlxyXG4gICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgcHJvZHVjdCBvZiBEZWVwbGlua1ZpZXdNb2RlbC5wcm9kdWN0c1wiPlxyXG4gICAgICAgICAgPHRkPnt7IHByb2R1Y3QucHJvZHVjdE5hbWUgfX08L3RkPlxyXG4gICAgICAgICAgPHRkPnt7IHByb2R1Y3QucHJvZHVjdFVSTE5hbWUgfX08L3RkPlxyXG4gICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBsYW5ndWFnZSBvZiBEZWVwbGlua1ZpZXdNb2RlbC5sYW5ndWFnZXNcIj5cclxuICAgICAgICAgICAgICA8YSBocmVmPVwie3sgR2V0TGluayhsYW5ndWFnZSwgcHJvZHVjdCkgfX1cIiB0YXJnZXQ9XCJfYmxhbmtcIj57eyBHZXRMaW5rKGxhbmd1YWdlLCBwcm9kdWN0KSB9fTwvYT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L3RkPlxyXG4gICAgICAgIDwvdHI+XHJcbiAgICAgIDwvdGFibGU+XHJcbiAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgPC9tYXQtY2FyZD5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,21 +1,23 @@
1
1
  import { moveItemInArray } from '@angular/cdk/drag-drop';
2
2
  import { Component, EventEmitter, Input, Output } from '@angular/core';
3
- import { MoveFilterRequest, SetFilterOptionRequiredRequest, SetFilterRequiredRequest } from '../../../swagger/SwaggerClient';
3
+ import { SortFilterRequest, SetFilterOptionRequiredRequest, SetFilterRequiredRequest } from '../../../swagger/SwaggerClient';
4
4
  import { BeheerSelectFilterDialogComponent } from '../beheer-select-filter-dialog/beheer-select-filter-dialog.component';
5
5
  import { BeheerSelectFilteroptionDialogComponent } from '../beheer-select-filteroption-dialog/beheer-select-filteroption-dialog.component';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "../../../swagger/SwaggerClient";
8
- import * as i2 from "@angular/material/dialog";
9
- import * as i3 from "@angular/common";
10
- import * as i4 from "@angular/material/form-field";
11
- import * as i5 from "@angular/material/input";
12
- import * as i6 from "@angular/forms";
13
- import * as i7 from "@angular/material/button";
14
- import * as i8 from "@angular/material/card";
15
- import * as i9 from "@angular/cdk/drag-drop";
8
+ import * as i2 from "../../../services/authentication.service";
9
+ import * as i3 from "@angular/material/dialog";
10
+ import * as i4 from "@angular/common";
11
+ import * as i5 from "@angular/material/form-field";
12
+ import * as i6 from "@angular/material/input";
13
+ import * as i7 from "@angular/forms";
14
+ import * as i8 from "@angular/material/button";
15
+ import * as i9 from "@angular/material/card";
16
+ import * as i10 from "@angular/cdk/drag-drop";
16
17
  export class BeheerFilterComponent {
17
- constructor(FiltersApiClient, dialog, ChangeDetectorRef) {
18
+ constructor(FiltersApiClient, authenticationService, dialog, ChangeDetectorRef) {
18
19
  this.FiltersApiClient = FiltersApiClient;
20
+ this.authenticationService = authenticationService;
19
21
  this.dialog = dialog;
20
22
  this.ChangeDetectorRef = ChangeDetectorRef;
21
23
  this.reload = new EventEmitter();
@@ -35,7 +37,8 @@ export class BeheerFilterComponent {
35
37
  }
36
38
  Sort() {
37
39
  if (this.filter != null) {
38
- var request = new MoveFilterRequest();
40
+ var request = new SortFilterRequest();
41
+ request.loginResponseModel = this.authenticationService.currentUserValue;
39
42
  request.filterId = this.filter.id;
40
43
  this.FiltersApiClient.sortFilter(request).subscribe(() => {
41
44
  this.reload.emit();
@@ -209,14 +212,14 @@ export class BeheerFilterComponent {
209
212
  });
210
213
  }
211
214
  }
212
- BeheerFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: BeheerFilterComponent, deps: [{ token: i1.FiltersApiClient }, { token: i2.MatDialog }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
213
- BeheerFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: BeheerFilterComponent, selector: "app-beheer-filter", inputs: { filter: "filter" }, outputs: { reload: "reload" }, ngImport: i0, template: "<div class=\"filter-name\">\r\n <div class=\"flexauto\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Name</mat-label>\r\n <input matInput [(ngModel)]=\"filter.name\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"save-div\">\r\n <button mat-raised-button (click)=\"Save()\">Save</button>\r\n </div>\r\n</div>\r\n<div>\r\n <div class=\"filter-name\">\r\n <div class=\"flexauto\">\r\n Requires\r\n </div>\r\n <button mat-raised-button (click)=\"RequireFilter()\">Filter</button>\r\n <button mat-raised-button (click)=\"RequireFilterOption()\">FilterOption</button>\r\n </div>\r\n\r\n <div *ngFor=\"let option of filter.requiresFilterOptions\" class=\"required-option\" [ngClass]=\"{ 'AND': option.filterOptionRequiredType == 0, 'OR': option.filterOptionRequiredType == 1 }\">\r\n {{ option.requiredFilterName }}: {{ option.requiredFilterOptionName }}\r\n <button mat-raised-button (click)=\"RemoveRequireFilterOption(option)\">Remove</button>\r\n </div>\r\n <div *ngFor=\"let filter of filter.requiresFilters\" class=\"required-option\">\r\n {{ filter.requiredFilterName }}\r\n <button mat-raised-button>Remove</button>\r\n </div>\r\n</div>\r\n<div>\r\n <button mat-raised-button (click)=\"Sort()\">Sort</button>\r\n</div>\r\n<div class=\"filter-options-container\">\r\n <div cdkDropList class=\"input-list\" (cdkDropListDropped)=\"drop($event)\">\r\n <div class=\"input-item\" *ngFor=\"let option of GetFilterOptions()\" cdkDrag>\r\n <span [ngClass]=\"{'selected': option.id == FilterOptionViewModel?.id }\">\r\n {{ option.name }}\r\n </span>\r\n\r\n <button (click)=\"Open(option)\">Select</button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<mat-card *ngIf=\"FilterOptionViewModel != null\">\r\n <mat-card-content>\r\n <div class=\"displayflex\">\r\n <div class=\"filter-option-name flexauto\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Name (#{{ FilterOptionViewModel.id }})</mat-label>\r\n <input matInput [(ngModel)]=\"FilterOptionViewModel.name\">\r\n </mat-form-field>\r\n </div>\r\n <button mat-raised-button (click)=\"SaveFilterOption(FilterOptionViewModel)\">Save</button>\r\n <button mat-raised-button (click)=\"RemoveFilterOption(FilterOptionViewModel)\">Remove</button>\r\n </div>\r\n <div>\r\n <div class=\"filter-name\">\r\n <div class=\"flexauto\">\r\n Requires\r\n </div>\r\n <button mat-raised-button (click)=\"RequireFilterOptionFilterOption()\">FilterOption</button>\r\n </div>\r\n\r\n <div *ngFor=\"let option of FilterOptionViewModel.required\" class=\"required-option\">\r\n {{ option.filterName }}: {{ option.filterOptionName }}\r\n <button mat-raised-button (click)=\"RemoveRequireFilterOptionFilterOption(option)\">Remove</button>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n</mat-card>\r\n\r\n", styles: [".displayflex{display:flex;gap:10px}.save-div{padding-left:10px}.required-option{border:1px solid #000;border-radius:2px;padding:2px;margin:2px}.AND{border-color:red}.OR{border-color:#0f0}.filter-row{font-size:20px;line-height:30px;margin-bottom:10px}.flexauto{flex:auto}.main-content{padding:10px}.filter-name{font-size:20px;padding:10px;border-bottom:1px solid #000;display:flex}.filter-option:hover{background-color:gray}.filter-options-container{border:1px solid #000;padding:10px;margin:10px}.filter-option{padding:5px;border-bottom:1px solid #000;display:flex;gap:5px}.filter-option-name{flex:auto;line-height:30px;font-size:20px}.input-list{border:solid 1px #ccc;display:block;background:white;border-radius:4px}.input-item{padding:5px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:white;font-size:14px}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.input-item:last-child{border:none}.input-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.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: "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.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i8.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i8.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "directive", type: i9.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i9.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }] });
215
+ BeheerFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: BeheerFilterComponent, deps: [{ token: i1.FiltersApiClient }, { token: i2.AuthenticationService }, { token: i3.MatDialog }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
216
+ BeheerFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: BeheerFilterComponent, selector: "app-beheer-filter", inputs: { filter: "filter" }, outputs: { reload: "reload" }, ngImport: i0, template: "<div class=\"filter-name\">\r\n <div class=\"flexauto\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Name</mat-label>\r\n <input matInput [(ngModel)]=\"filter.name\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"save-div\">\r\n <button mat-raised-button (click)=\"Save()\">Save</button>\r\n </div>\r\n</div>\r\n<div>\r\n <div class=\"filter-name\">\r\n <div class=\"flexauto\">\r\n Requires\r\n </div>\r\n <button mat-raised-button (click)=\"RequireFilter()\">Filter</button>\r\n <button mat-raised-button (click)=\"RequireFilterOption()\">FilterOption</button>\r\n </div>\r\n\r\n <div *ngFor=\"let option of filter.requiresFilterOptions\" class=\"required-option\" [ngClass]=\"{ 'AND': option.filterOptionRequiredType == 0, 'OR': option.filterOptionRequiredType == 1 }\">\r\n {{ option.requiredFilterName }}: {{ option.requiredFilterOptionName }}\r\n <button mat-raised-button (click)=\"RemoveRequireFilterOption(option)\">Remove</button>\r\n </div>\r\n <div *ngFor=\"let filter of filter.requiresFilters\" class=\"required-option\">\r\n {{ filter.requiredFilterName }}\r\n <button mat-raised-button>Remove</button>\r\n </div>\r\n</div>\r\n<div>\r\n <button mat-raised-button (click)=\"Sort()\">Sort</button>\r\n</div>\r\n<div class=\"filter-options-container\">\r\n <div cdkDropList class=\"input-list\" (cdkDropListDropped)=\"drop($event)\">\r\n <div class=\"input-item\" *ngFor=\"let option of GetFilterOptions()\" cdkDrag>\r\n <span [ngClass]=\"{'selected': option.id == FilterOptionViewModel?.id }\">\r\n {{ option.name }}\r\n </span>\r\n\r\n <button (click)=\"Open(option)\">Select</button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<mat-card *ngIf=\"FilterOptionViewModel != null\">\r\n <mat-card-content>\r\n <div class=\"displayflex\">\r\n <div class=\"filter-option-name flexauto\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Name (#{{ FilterOptionViewModel.id }})</mat-label>\r\n <input matInput [(ngModel)]=\"FilterOptionViewModel.name\">\r\n </mat-form-field>\r\n </div>\r\n <button mat-raised-button (click)=\"SaveFilterOption(FilterOptionViewModel)\">Save</button>\r\n <button mat-raised-button (click)=\"RemoveFilterOption(FilterOptionViewModel)\">Remove</button>\r\n </div>\r\n <div>\r\n <div class=\"filter-name\">\r\n <div class=\"flexauto\">\r\n Requires\r\n </div>\r\n <button mat-raised-button (click)=\"RequireFilterOptionFilterOption()\">FilterOption</button>\r\n </div>\r\n\r\n <div *ngFor=\"let option of FilterOptionViewModel.required\" class=\"required-option\">\r\n {{ option.filterName }}: {{ option.filterOptionName }}\r\n <button mat-raised-button (click)=\"RemoveRequireFilterOptionFilterOption(option)\">Remove</button>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n</mat-card>\r\n\r\n", styles: [".displayflex{display:flex;gap:10px}.save-div{padding-left:10px}.required-option{border:1px solid #000;border-radius:2px;padding:2px;margin:2px}.AND{border-color:red}.OR{border-color:#0f0}.filter-row{font-size:20px;line-height:30px;margin-bottom:10px}.flexauto{flex:auto}.main-content{padding:10px}.filter-name{font-size:20px;padding:10px;border-bottom:1px solid #000;display:flex}.filter-option:hover{background-color:gray}.filter-options-container{border:1px solid #000;padding:10px;margin:10px}.filter-option{padding:5px;border-bottom:1px solid #000;display:flex;gap:5px}.filter-option-name{flex:auto;line-height:30px;font-size:20px}.input-list{border:solid 1px #ccc;display:block;background:white;border-radius:4px}.input-item{padding:5px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:white;font-size:14px}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.input-item:last-child{border:none}.input-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.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: "directive", type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i8.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i9.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i9.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "directive", type: i10.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i10.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }] });
214
217
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: BeheerFilterComponent, decorators: [{
215
218
  type: Component,
216
219
  args: [{ selector: 'app-beheer-filter', template: "<div class=\"filter-name\">\r\n <div class=\"flexauto\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Name</mat-label>\r\n <input matInput [(ngModel)]=\"filter.name\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"save-div\">\r\n <button mat-raised-button (click)=\"Save()\">Save</button>\r\n </div>\r\n</div>\r\n<div>\r\n <div class=\"filter-name\">\r\n <div class=\"flexauto\">\r\n Requires\r\n </div>\r\n <button mat-raised-button (click)=\"RequireFilter()\">Filter</button>\r\n <button mat-raised-button (click)=\"RequireFilterOption()\">FilterOption</button>\r\n </div>\r\n\r\n <div *ngFor=\"let option of filter.requiresFilterOptions\" class=\"required-option\" [ngClass]=\"{ 'AND': option.filterOptionRequiredType == 0, 'OR': option.filterOptionRequiredType == 1 }\">\r\n {{ option.requiredFilterName }}: {{ option.requiredFilterOptionName }}\r\n <button mat-raised-button (click)=\"RemoveRequireFilterOption(option)\">Remove</button>\r\n </div>\r\n <div *ngFor=\"let filter of filter.requiresFilters\" class=\"required-option\">\r\n {{ filter.requiredFilterName }}\r\n <button mat-raised-button>Remove</button>\r\n </div>\r\n</div>\r\n<div>\r\n <button mat-raised-button (click)=\"Sort()\">Sort</button>\r\n</div>\r\n<div class=\"filter-options-container\">\r\n <div cdkDropList class=\"input-list\" (cdkDropListDropped)=\"drop($event)\">\r\n <div class=\"input-item\" *ngFor=\"let option of GetFilterOptions()\" cdkDrag>\r\n <span [ngClass]=\"{'selected': option.id == FilterOptionViewModel?.id }\">\r\n {{ option.name }}\r\n </span>\r\n\r\n <button (click)=\"Open(option)\">Select</button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<mat-card *ngIf=\"FilterOptionViewModel != null\">\r\n <mat-card-content>\r\n <div class=\"displayflex\">\r\n <div class=\"filter-option-name flexauto\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Name (#{{ FilterOptionViewModel.id }})</mat-label>\r\n <input matInput [(ngModel)]=\"FilterOptionViewModel.name\">\r\n </mat-form-field>\r\n </div>\r\n <button mat-raised-button (click)=\"SaveFilterOption(FilterOptionViewModel)\">Save</button>\r\n <button mat-raised-button (click)=\"RemoveFilterOption(FilterOptionViewModel)\">Remove</button>\r\n </div>\r\n <div>\r\n <div class=\"filter-name\">\r\n <div class=\"flexauto\">\r\n Requires\r\n </div>\r\n <button mat-raised-button (click)=\"RequireFilterOptionFilterOption()\">FilterOption</button>\r\n </div>\r\n\r\n <div *ngFor=\"let option of FilterOptionViewModel.required\" class=\"required-option\">\r\n {{ option.filterName }}: {{ option.filterOptionName }}\r\n <button mat-raised-button (click)=\"RemoveRequireFilterOptionFilterOption(option)\">Remove</button>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n</mat-card>\r\n\r\n", styles: [".displayflex{display:flex;gap:10px}.save-div{padding-left:10px}.required-option{border:1px solid #000;border-radius:2px;padding:2px;margin:2px}.AND{border-color:red}.OR{border-color:#0f0}.filter-row{font-size:20px;line-height:30px;margin-bottom:10px}.flexauto{flex:auto}.main-content{padding:10px}.filter-name{font-size:20px;padding:10px;border-bottom:1px solid #000;display:flex}.filter-option:hover{background-color:gray}.filter-options-container{border:1px solid #000;padding:10px;margin:10px}.filter-option{padding:5px;border-bottom:1px solid #000;display:flex;gap:5px}.filter-option-name{flex:auto;line-height:30px;font-size:20px}.input-list{border:solid 1px #ccc;display:block;background:white;border-radius:4px}.input-item{padding:5px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:white;font-size:14px}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.input-item:last-child{border:none}.input-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
217
- }], ctorParameters: function () { return [{ type: i1.FiltersApiClient }, { type: i2.MatDialog }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { filter: [{
220
+ }], ctorParameters: function () { return [{ type: i1.FiltersApiClient }, { type: i2.AuthenticationService }, { type: i3.MatDialog }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { filter: [{
218
221
  type: Input
219
222
  }], reload: [{
220
223
  type: Output
221
224
  }] } });
222
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1maWx0ZXIvYmVoZWVyLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1maWx0ZXIvYmVoZWVyLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEUsT0FBTyxFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUYsT0FBTyxFQUFzSSxpQkFBaUIsRUFBRSw4QkFBOEIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pRLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ3pILE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLGtGQUFrRixDQUFDOzs7Ozs7Ozs7OztBQU8zSSxNQUFNLE9BQU8scUJBQXFCO0lBT2hDLFlBQW9CLGdCQUFrQyxFQUM3QyxNQUFpQixFQUNoQixpQkFBb0M7UUFGMUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUM3QyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2hCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFOcEMsV0FBTSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXpELDBCQUFxQixHQUFpQyxJQUFJLENBQUM7SUFJaEIsQ0FBQztJQUVuRCxJQUFJLENBQUMsS0FBNEI7UUFDL0IsSUFBSSxJQUFJLENB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QyxFQUFFLENBQUMsS0FBZSxFQUFFLEVBQUU7WUFDckIsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUc7Z0JBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7aUJBQ3ZCO2dCQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQztnQkFDM0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNwQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7a0hBM09VLHFCQUFxQjtzR0FBckIscUJBQXFCLHNIQ1psQyxxOEZBd0VBOzJGRDVEYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsbUJBQW1COytKQUtwQixNQUFNO3NCQUFkLEtBQUs7Z0JBRUksTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgRmlsdGVyT3B0aW9uRmlsdGVyT3B0aW9uUmVxdWlyZWRWaWV3TW9kZWwsIEZpbHRlck9wdGlvblJlcXVpcmVkVmlld01vZGVsLCBGaWx0ZXJPcHRpb25WaWV3TW9kZWwsIEZpbHRlcnNBcGlDbGllbnQsIEZpbHRlclZpZXdNb2RlbCwgTW92ZUZpbHRlclJlcXVlc3QsIFNldEZpbHRlck9wdGlvblJlcXVpcmVkUmVxdWVzdCwgU2V0RmlsdGVyUmVxdWlyZWRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vc3dhZ2dlci9Td2FnZ2VyQ2xpZW50JztcclxuaW1wb3J0IHsgQmVoZWVyU2VsZWN0RmlsdGVyRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vYmVoZWVyLXNlbGVjdC1maWx0ZXItZGlhbG9nL2JlaGVlci1zZWxlY3QtZmlsdGVyLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCZWhlZXJTZWxlY3RGaWx0ZXJvcHRpb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9iZWhlZXItc2VsZWN0LWZpbHRlcm9wdGlvbi1kaWFsb2cvYmVoZWVyLXNlbGVjdC1maWx0ZXJvcHRpb24tZGlhbG9nLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1iZWhlZXItZmlsdGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYmVoZWVyLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYmVoZWVyLWZpbHRlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCZWhlZXJGaWx0ZXJDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGZpbHRlcjogRmlsdGVyVmlld01vZGVsO1xyXG5cclxuICBAT3V0cHV0KCkgcmVsb2FkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIHB1YmxpYyBGaWx0ZXJPcHRpb25WaWV3TW9kZWw6IEZpbHRlck9wdGlvblZpZXdNb2RlbCB8IG51bGwgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIEZpbHRlcnNBcGlDbGllbnQ6IEZpbHRlcnNBcGlDbGllbnQsXHJcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIENoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XHJcblxyXG4gIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPikge1xyXG4gICAgaWYgKHRoaXMuZmlsdGVyLmZpbHRlck9wdGlvblZpZXdNb2RlbHMgIT0gbnVsbCkge1xyXG4gICAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5maWx0ZXIuZmlsdGVyT3B0aW9uVmlld01vZGVscywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcclxuXHJcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5maWx0ZXIuZmlsdGVyT3B0aW9uVmlld01vZGVscy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIHRoaXMuZmlsdGVyLmZpbHRlck9wdGlvblZpZXdNb2RlbHNbaV0ucG9zaXRpb24gPSBpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLlNhdmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBPcGVuKG9wdGlvbjogRmlsdGVyT3B0aW9uVmlld01vZGVsKSB7XHJcbiAgICB0aGlzLkZpbHRlck9wdGlvblZpZXdNb2RlbCA9IG9wdGlvbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTb3J0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZmlsdGVyICE9IG51bGwpIHtcclxuICAgICAgdmFyIHJlcXVlc3QgPSBuZXcgTW92ZUZpbHRlclJlcXVlc3QoKTtcclxuXHJcbiAgICAgIHJlcXVlc3QuZmlsdGVySWQgPSB0aGlzLmZpbHRlci5pZDtcclxuXHJcbiAgICAgIHRoaXMuRmlsdGVyc0FwaUNsaWVudC5zb3J0RmlsdGVyKHJlcXVlc3QpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5yZWxvYWQuZW1pdCgpO1xyXG4gICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgUmVxdWlyZUZpbHRlcigpOiB2b2lkIHtcclxuICAgIHZhciBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEJlaGVlclNlbGVjdEZpbHRlckRpYWxvZ0NvbXBvbmVudCk7XHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQ6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzdWx0Py5maWx0ZXIgIT0gbnVsbCAmJiB0aGlzLmZpbHRlciAhPSBudWxsKSB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC5maWx0ZXIgPiAwKSB7XHJcbiAgICAgICAgICBpZiAoY29uZmlybShcIldlZXQgamUgaGV0IHpla2VyP1wiKSkge1xyXG5cclxuICAgICAgICAgICAgdGhpcy5DaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBTZXRGaWx0ZXJSZXF1aXJlZFJlcXVlc3QoKTtcclxuXHJcbiAgICAgICAgICAgIHJlcXVlc3QuZmlsdGVyQWZmZWN0c0lkID0gdGhpcy5maWx0ZXIuaWQ7XHJcbiAgICAgICAgICAgIHJlcXVlc3QuZmlsdGVyUmVxdWlyZWRJZCA9IHJlc3VsdC5maWx0ZXI7XHJcblxyXG4gICAgICAgICAgICB0aGlzLkZpbHRlcnNBcGlDbGllbnQuc2V0RmlsdGVyUmVxdWlyZWQocmVxdWVzdCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnJlbG9hZC5lbWl0KCk7XHJcbiAgICAgICAgICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwMClcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yLmpzb24oKSk7XHJcbiAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFJlcXVpcmVGaWx0ZXJPcHRpb24oKTogdm9pZCB7XHJcbiAgICB2YXIgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihCZWhlZXJTZWxlY3RGaWx0ZXJvcHRpb25EaWFsb2dDb21wb25lbnQpO1xyXG5cclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0OiBhbnkpID0+IHtcclxuICAgICAgaWYgKHJlc3VsdD8uZmlsdGVyb3B0aW9uICE9IG51bGwgJiYgdGhpcy5maWx0ZXIpIHtcclxuICAgICAgICBpZiAocmVzdWx0LmZpbHRlcm9wdGlvbiA+IDApIHtcclxuICAgICAgICAgIGlmIChjb25maXJtKFwiV2VldCBqZSBoZXQgemVrZXI/XCIpKSB7XHJcblxyXG4gICAgICAgICAgICB0aGlzLkNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICAgICAgICAgIHZhciByZXF1ZXN0ID0gbmV3IFNldEZpbHRlck9wdGlvblJlcXVpcmVkUmVxdWVzdCgpO1xyXG5cclxuICAgICAgICAgICAgcmVxdWVzdC5maWx0ZXJJZCA9IHRoaXMuZmlsdGVyLmlkO1xyXG4gICAgICAgICAgICByZXF1ZXN0LnJhbmdlSW5wdXRJZCA9IDA7XHJcbiAgICAgICAgICAgIHJlcXVlc3QuZmlsdGVyT3B0aW9uSWQgPSByZXN1bHQuZmlsdGVyb3B0aW9uO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5GaWx0ZXJzQXBpQ2xpZW50LnNldEZpbHRlck9wdGlvblJlcXVpcmVkKHJlcXVlc3QpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5yZWxvYWQuZW1pdCgpO1xyXG4gICAgICAgICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBSZXF1aXJlRmlsdGVyT3B0aW9uRmlsdGVyT3B0aW9uKCk6IHZvaWQge1xyXG4gICAgdmFyIGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQmVoZWVyU2VsZWN0RmlsdGVyb3B0aW9uRGlhbG9nQ29tcG9uZW50KTtcclxuXHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQ/LmZpbHRlcm9wdGlvbiAhPSBudWxsICYmIHRoaXMuZmlsdGVyKSB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC5maWx0ZXJvcHRpb24gPiAwKSB7XHJcbiAgICAgICAgICBpZiAoY29uZmlybShcIldlZXQgamUgaGV0IHpla2VyP1wiKSkge1xyXG5cclxuICAgICAgICAgICAgdGhpcy5DaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgICAgICAgICAvL3ZhciByZXF1ZXN0ID0gbmV3IFNldEZpbHRlck9wdGlvblJlcXVpcmVkUmVxdWVzdCgpO1xyXG5cclxuICAgICAgICAgICAgLy9yZXF1ZXN0LmZpbHRlcklkID0gdGhpcy5maWx0ZXIuaWQ7XHJcbiAgICAgICAgICAgIC8vcmVxdWVzdC5yYW5nZUlucHV0SWQgPSAwO1xyXG4gICAgICAgICAgICAvL3JlcXVlc3QuZmlsdGVyT3B0aW9uSWQgPSByZXN1bHQuZmlsdGVyb3B0aW9uO1xyXG5cclxuICAgICAgICAgICAgLy90aGlzLkZpbHRlcnNBcGlDbGllbnQuc2V0RmlsdGVyT3B0aW9uUmVxdWlyZWQocmVxdWVzdCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgLy8gIHRoaXMucmVsb2FkLmVtaXQoKTtcclxuICAgICAgICAgICAgLy99LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgIC8vICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwMClcclxuICAgICAgICAgICAgLy8gICAgY29uc29sZS5sb2coZXJyb3IuanNvbigpKTtcclxuICAgICAgICAgICAgLy8gIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyAgICBjb25zb2xlLmxvZygnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcbiAgICAgICAgICAgIC8vICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgICAgICAgLy8gIH1cclxuICAgICAgICAgICAgLy99KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFJlbW92ZVJlcXVpcmVGaWx0ZXJPcHRpb24ocmVxdWlyZTogRmlsdGVyT3B0aW9uUmVxdWlyZWRWaWV3TW9kZWwpOiB2b2lkIHtcclxuICAgIGlmIChjb25maXJtKFwiV2VldCBqZSBoZXQgemVrZXI/XCIpKSB7XHJcblxyXG4gICAgICB0aGlzLkNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICAgIHZhciByZXF1ZXN0ID0gbmV3IFNldEZpbHRlck9wdGlvblJlcXVpcmVkUmVxdWVzdCgpO1xyXG5cclxuICAgICAgcmVxdWVzdC5maWx0ZXJJZCA9IHJlcXVpcmUuYWZmZWN0ZWRGaWx0ZXJJZDtcclxuICAgICAgcmVxdWVzdC5yYW5nZUlucHV0SWQgPSAwO1xyXG4gICAgICByZXF1ZXN0LmZpbHRlck9wdGlvbklkID0gcmVxdWlyZS5yZXF1aXJlZEZpbHRlck9wdGlvbklkO1xyXG5cclxuICAgICAgdGhpcy5GaWx0ZXJzQXBpQ2xpZW50LnJlbW92ZUZpbHRlck9wdGlvblJlcXVpcmVkKHJlcXVlc3QpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5yZWxvYWQuZW1pdCgpO1xyXG4gICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgUmVtb3ZlUmVxdWlyZUZpbHRlck9wdGlvbkZpbHRlck9wdGlvbihyZXF1aXJlOiBGaWx0ZXJPcHRpb25GaWx0ZXJPcHRpb25SZXF1aXJlZFZpZXdNb2RlbCk6IHZvaWQge1xyXG4gICAgaWYgKGNvbmZpcm0oXCJXZWV0IGplIGhldCB6ZWtlcj9cIikpIHtcclxuXHJcbiAgICAgIHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICAgICAgLy92YXIgcmVxdWVzdCA9IG5ldyBTZXRGaWx0ZXJPcHRpb25SZXF1aXJlZFJlcXVlc3QoKTtcclxuXHJcbiAgICAgIC8vcmVxdWVzdC5maWx0ZXJJZCA9IHJlcXVpcmUuYWZmZWN0ZWRGaWx0ZXJJZDtcclxuICAgICAgLy9yZXF1ZXN0LnJhbmdlSW5wdXRJZCA9IDA7XHJcbiAgICAgIC8vcmVxdWVzdC5maWx0ZXJPcHRpb25JZCA9IHJlcXVpcmUucmVxdWlyZWRGaWx0ZXJPcHRpb25JZDtcclxuXHJcbiAgICAgIC8vdGhpcy5GaWx0ZXJzQXBpQ2xpZW50LnJlbW92ZUZpbHRlck9wdGlvblJlcXVpcmVkKHJlcXVlc3QpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIC8vICB0aGlzLnJlbG9hZC5lbWl0KCk7XHJcbiAgICAgIC8vfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAvLyAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgIC8vICAgIGNvbnNvbGUubG9nKGVycm9yLmpzb24oKSk7XHJcbiAgICAgIC8vICBlbHNlIHtcclxuICAgICAgLy8gICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAvLyAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgIC8vICB9XHJcbiAgICAgIC8vfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgUmVtb3ZlRmlsdGVyT3B0aW9uKG9wdGlvbjogRmlsdGVyT3B0aW9uVmlld01vZGVsKTogdm9pZCB7XHJcbiAgICB0aGlzLkZpbHRlcnNBcGlDbGllbnQucmVtb3ZlRmlsdGVyT3B0aW9uKG9wdGlvbikuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5yZWxvYWQuZW1pdCgpO1xyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwMClcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTYXZlRmlsdGVyT3B0aW9uKG9wdGlvbjogRmlsdGVyT3B0aW9uVmlld01vZGVsKTogdm9pZCB7XHJcbiAgICB0aGlzLkZpbHRlcnNBcGlDbGllbnQuc2F2ZUZpbHRlck9wdGlvbihvcHRpb24pLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMucmVsb2FkLmVtaXQoKTtcclxuICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IuanNvbigpKTtcclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgR2V0RmlsdGVyT3B0aW9ucygpOiBGaWx0ZXJPcHRpb25WaWV3TW9kZWxbXSB7XHJcbiAgICBpZiAodGhpcy5maWx0ZXI/LmZpbHRlck9wdGlvblZpZXdNb2RlbHMgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmZpbHRlci5maWx0ZXJPcHRpb25WaWV3TW9kZWxzO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJldHVybiBuZXcgQXJyYXk8RmlsdGVyT3B0aW9uVmlld01vZGVsPigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIFNhdmUoKTogdm9pZCB7XHJcbiAgICB0aGlzLkZpbHRlcnNBcGlDbGllbnQuc2F2ZUZpbHRlclZpZXdNb2RlbCh0aGlzLmZpbHRlcikuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5yZWxvYWQuZW1pdCgpO1xyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwMClcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImZpbHRlci1uYW1lXCI+XHJcbiAgPGRpdiBjbGFzcz1cImZsZXhhdXRvXCI+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgPG1hdC1sYWJlbD5OYW1lPC9tYXQtbGFiZWw+XHJcbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cImZpbHRlci5uYW1lXCI+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJzYXZlLWRpdlwiPlxyXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiU2F2ZSgpXCI+U2F2ZTwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPGRpdj5cclxuICA8ZGl2IGNsYXNzPVwiZmlsdGVyLW5hbWVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4YXV0b1wiPlxyXG4gICAgICBSZXF1aXJlc1xyXG4gICAgPC9kaXY+XHJcbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJSZXF1aXJlRmlsdGVyKClcIj5GaWx0ZXI8L2J1dHRvbj5cclxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIlJlcXVpcmVGaWx0ZXJPcHRpb24oKVwiPkZpbHRlck9wdGlvbjwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2ICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZmlsdGVyLnJlcXVpcmVzRmlsdGVyT3B0aW9uc1wiIGNsYXNzPVwicmVxdWlyZWQtb3B0aW9uXCIgW25nQ2xhc3NdPVwieyAnQU5EJzogb3B0aW9uLmZpbHRlck9wdGlvblJlcXVpcmVkVHlwZSA9PSAwLCAnT1InOiBvcHRpb24uZmlsdGVyT3B0aW9uUmVxdWlyZWRUeXBlID09IDEgfVwiPlxyXG4gICAge3sgb3B0aW9uLnJlcXVpcmVkRmlsdGVyTmFtZSB9fToge3sgb3B0aW9uLnJlcXVpcmVkRmlsdGVyT3B0aW9uTmFtZSB9fVxyXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiUmVtb3ZlUmVxdWlyZUZpbHRlck9wdGlvbihvcHRpb24pXCI+UmVtb3ZlPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdGb3I9XCJsZXQgZmlsdGVyIG9mIGZpbHRlci5yZXF1aXJlc0ZpbHRlcnNcIiBjbGFzcz1cInJlcXVpcmVkLW9wdGlvblwiPlxyXG4gICAge3sgZmlsdGVyLnJlcXVpcmVkRmlsdGVyTmFtZSB9fVxyXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbj5SZW1vdmU8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXY+XHJcbiAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiU29ydCgpXCI+U29ydDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cImZpbHRlci1vcHRpb25zLWNvbnRhaW5lclwiPlxyXG4gIDxkaXYgY2RrRHJvcExpc3QgY2xhc3M9XCJpbnB1dC1saXN0XCIgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1pdGVtXCIgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBHZXRGaWx0ZXJPcHRpb25zKClcIiBjZGtEcmFnPlxyXG4gICAgICA8c3BhbiBbbmdDbGFzc109XCJ7J3NlbGVjdGVkJzogb3B0aW9uLmlkID09IEZpbHRlck9wdGlvblZpZXdNb2RlbD8uaWQgfVwiPlxyXG4gICAgICAgIHt7IG9wdGlvbi5uYW1lIH19XHJcbiAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgIDxidXR0b24gKGNsaWNrKT1cIk9wZW4ob3B0aW9uKVwiPlNlbGVjdDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPG1hdC1jYXJkICpuZ0lmPVwiRmlsdGVyT3B0aW9uVmlld01vZGVsICE9IG51bGxcIj5cclxuICA8bWF0LWNhcmQtY29udGVudD5cclxuICAgIDxkaXYgY2xhc3M9XCJkaXNwbGF5ZmxleFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLW9wdGlvbi1uYW1lIGZsZXhhdXRvXCI+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgY2xhc3M9XCJmdWxsLXdpZHRoXCI+XHJcbiAgICAgICAgICA8bWF0LWxhYmVsPk5hbWUgKCN7eyBGaWx0ZXJPcHRpb25WaWV3TW9kZWwuaWQgfX0pPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJGaWx0ZXJPcHRpb25WaWV3TW9kZWwubmFtZVwiPlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJTYXZlRmlsdGVyT3B0aW9uKEZpbHRlck9wdGlvblZpZXdNb2RlbClcIj5TYXZlPC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIlJlbW92ZUZpbHRlck9wdGlvbihGaWx0ZXJPcHRpb25WaWV3TW9kZWwpXCI+UmVtb3ZlPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItbmFtZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4YXV0b1wiPlxyXG4gICAgICAgICAgUmVxdWlyZXNcclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJSZXF1aXJlRmlsdGVyT3B0aW9uRmlsdGVyT3B0aW9uKClcIj5GaWx0ZXJPcHRpb248L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgRmlsdGVyT3B0aW9uVmlld01vZGVsLnJlcXVpcmVkXCIgY2xhc3M9XCJyZXF1aXJlZC1vcHRpb25cIj5cclxuICAgICAgICB7eyBvcHRpb24uZmlsdGVyTmFtZSB9fToge3sgb3B0aW9uLmZpbHRlck9wdGlvbk5hbWUgfX1cclxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJSZW1vdmVSZXF1aXJlRmlsdGVyT3B0aW9uRmlsdGVyT3B0aW9uKG9wdGlvbilcIj5SZW1vdmU8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbjwvbWF0LWNhcmQ+XHJcblxyXG4iXX0=
225
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1maWx0ZXIvYmVoZWVyLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1maWx0ZXIvYmVoZWVyLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEUsT0FBTyxFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUYsT0FBTyxFQUFzSSxpQkFBaUIsRUFBRSw4QkFBOEIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pRLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ3pILE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLGtGQUFrRixDQUFDOzs7Ozs7Ozs7Ozs7QUFPM0ksTUFBTSxPQUFPLHFCQUFxQjtJQU9oQyxZQUFvQixnQkFBa0MsRUFDNUMscUJBQTRDLEVBQzdDLE1BQWlCLEVBQ2hCLGlCQUFvQztRQUgxQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQzVDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDN0MsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNoQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBUHBDLFdBQU0sR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUV6RCwwQkFBcUIsR0FBaUMsSUFBSSxDQUFDO0lBS2hCLENBQUM7SUFFbkQsSUFBSSxDQUFDLEtBQTRCO1FBQy9CLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsSUFBSSxJQUFJLEVBQUU7WUFDOUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7WUFFN0YsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsc0JBQXNCLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUNsRSxJQUFJLENBQUMsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7YUFDcEQ7WUFFRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDYjtJQUNILENBQUM7SUFFTSxJQUFJLENBQUMsTUFBNkI7UUFDdkMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLE1BQU0sQ0FBQztJQUN0QyxDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLEVBQUU7WUFDdkIsSUFBSSxPQUFPLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1lBRXRDLE9BQU8sQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsZ0JBQWdCLENBQUM7WUFDekUsT0FBTyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUVsQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3ZELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDckIsQ0FBQyxFQUFFLENBQUMsS0FBZSxFQUFFLEVBQUU7Z0JBQ3JCLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHO29CQUNyQixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO3FCQUN2QjtvQkFDSCxPQUFPLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUM7b0JBQzNDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ3BCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTSxhQUFhO1FBQ2xCLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlDQUFpQyxDQUFDLENBQUM7UUFFcEUsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFO1lBQ2hELElBQUksTUFBTSxFQUFFLE1BQU0sSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLEVBQUU7Z0JBQ2pELElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7b0JBQ3JCLElBQUksT0FBTyxDQUFDLG9CQUFvQixDQUFDLEVBQUU7d0JBRWpDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQzt3QkFFdkMsSUFBSSxPQUFPLEdBQUcsSUFBSSx3QkFBd0IsRUFBRSxDQUFDO3dCQUU3QyxPQUFPLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO3dCQUN6QyxPQUFPLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQzt3QkFFekMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7NEJBQzlELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7d0JBQ3JCLENBQUMsRUFBRSxDQUFDLEtBQWUsRUFBRSxFQUFFOzRCQUNyQixJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRztnQ0FDckIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztpQ0FDdkI7Z0NBQ0gsT0FBTyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO2dDQUMzQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDOzZCQUNwQjt3QkFDSCxDQUFDLENBQUMsQ0FBQztxQkFDSjtpQkFDRjthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sbUJBQW1CO1FBQ3hCLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHVDQUF1QyxDQUFDLENBQUM7UUFFMUUsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFO1lBQ2hELElBQUksTUFBTSxFQUFFLFlBQVksSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDL0MsSUFBSSxNQUFNLENBQUMsWUFBWSxHQUFHLENBQUMsRUFBRTtvQkFDM0IsSUFBSSxPQUFPLENBQUMsb0JBQW9CLENBQUMsRUFBRTt3QkFFakMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO3dCQUV2QyxJQUFJLE9BQU8sR0FBRyxJQUFJLDhCQUE4QixFQUFFLENBQUM7d0JBRW5ELE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7d0JBQ2xDLE9BQU8sQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO3dCQUN6QixPQUFPLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7d0JBRTdDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFOzRCQUNwRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO3dCQUNyQixDQUFDLEVBQUUsQ0FBQyxLQUFlLEVBQUUsRUFBRTs0QkFDckIsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUc7Z0NBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7aUNBQ3ZCO2dDQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQztnQ0FDM0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQzs2QkFDcEI7d0JBQ0gsQ0FBQyxDQUFDLENBQUM7cUJBQ0o7aUJBQ0Y7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLCtCQUErQjtRQUNwQyxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO1FBRTFFLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRTtZQUNoRCxJQUFJLE1BQU0sRUFBRSxZQUFZLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQy9DLElBQUksTUFBTSxDQUFDLFlBQVksR0FBRyxDQUFDLEVBQUU7b0JBQzNCLElBQUksT0FBTyxDQUFDLG9CQUFvQixDQUFDLEVBQUU7d0JBRWpDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQzt3QkFFdkMscURBQXFEO3dCQUVyRCxvQ0FBb0M7d0JBQ3BDLDJCQUEyQjt3QkFDM0IsK0NBQStDO3dCQUUvQywwRUFBMEU7d0JBQzFFLHVCQUF1Qjt3QkFDdkIsMkJBQTJCO3dCQUMzQiw0QkFBNEI7d0JBQzVCLGdDQUFnQzt3QkFDaEMsVUFBVTt3QkFDVixpREFBaUQ7d0JBQ2pELHlCQUF5Qjt3QkFDekIsS0FBSzt3QkFDTCxLQUFLO3FCQUNOO2lCQUNGO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSx5QkFBeUIsQ0FBQyxPQUFzQztRQUNyRSxJQUFJLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFO1lBRWpDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUV2QyxJQUFJLE9BQU8sR0FBRyxJQUFJLDhCQUE4QixFQUFFLENBQUM7WUFFbkQsT0FBTyxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7WUFDNUMsT0FBTyxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7WUFDekIsT0FBTyxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUMsc0JBQXNCLENBQUM7WUFFeEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLDBCQUEwQixDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3ZFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDckIsQ0FBQyxFQUFFLENBQUMsS0FBZSxFQUFFLEVBQUU7Z0JBQ3JCLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHO29CQUNyQixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO3FCQUN2QjtvQkFDSCxPQUFPLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUM7b0JBQzNDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ3BCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTSxxQ0FBcUMsQ0FBQyxPQUFrRDtRQUM3RixJQUFJLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFO1lBRWpDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUV2QyxxREFBcUQ7WUFFckQsOENBQThDO1lBQzlDLDJCQUEyQjtZQUMzQiwwREFBMEQ7WUFFMUQsNkVBQTZFO1lBQzdFLHVCQUF1QjtZQUN2QiwyQkFBMkI7WUFDM0IsNEJBQTRCO1lBQzVCLGdDQUFnQztZQUNoQyxVQUFVO1lBQ1YsaURBQWlEO1lBQ2pELHlCQUF5QjtZQUN6QixLQUFLO1lBQ0wsS0FBSztTQUNOO0lBQ0gsQ0FBQztJQUVNLGtCQUFrQixDQUFDLE1BQTZCO1FBQ3JELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzlELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsQ0FBQyxFQUFFLENBQUMsS0FBZSxFQUFFLEVBQUU7WUFDckIsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUc7Z0JBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7aUJBQ3ZCO2dCQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQztnQkFDM0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNwQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLGdCQUFnQixDQUFDLE1BQTZCO1FBQ25ELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzVELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsQ0FBQyxFQUFFLENBQUMsS0FBZSxFQUFFLEVBQUU7WUFDckIsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUc7Z0JBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7aUJBQ3ZCO2dCQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQztnQkFDM0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNwQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLGdCQUFnQjtRQUNyQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsc0JBQXNCLElBQUksU0FBUyxFQUFFO1lBQ3BELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQztTQUMzQzthQUNJO1lBQ0gsT0FBTyxJQUFJLEtBQUssRUFBeUIsQ0FBQztTQUMzQztJQUNILENBQUM7SUFFTSxJQUFJO1FBQ1QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3BFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsQ0FBQyxFQUFFLENBQUMsS0FBZSxFQUFFLEVBQUU7WUFDckIsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUc7Z0JBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7aUJBQ3ZCO2dCQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQztnQkFDM0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNwQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7a0hBN09VLHFCQUFxQjtzR0FBckIscUJBQXFCLHNIQ2JsQyxxOEZBd0VBOzJGRDNEYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsbUJBQW1CO21NQUtwQixNQUFNO3NCQUFkLEtBQUs7Z0JBRUksTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEZpbHRlck9wdGlvbkZpbHRlck9wdGlvblJlcXVpcmVkVmlld01vZGVsLCBGaWx0ZXJPcHRpb25SZXF1aXJlZFZpZXdNb2RlbCwgRmlsdGVyT3B0aW9uVmlld01vZGVsLCBGaWx0ZXJzQXBpQ2xpZW50LCBGaWx0ZXJWaWV3TW9kZWwsIFNvcnRGaWx0ZXJSZXF1ZXN0LCBTZXRGaWx0ZXJPcHRpb25SZXF1aXJlZFJlcXVlc3QsIFNldEZpbHRlclJlcXVpcmVkUmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL3N3YWdnZXIvU3dhZ2dlckNsaWVudCc7XHJcbmltcG9ydCB7IEJlaGVlclNlbGVjdEZpbHRlckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2JlaGVlci1zZWxlY3QtZmlsdGVyLWRpYWxvZy9iZWhlZXItc2VsZWN0LWZpbHRlci1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyU2VsZWN0RmlsdGVyb3B0aW9uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vYmVoZWVyLXNlbGVjdC1maWx0ZXJvcHRpb24tZGlhbG9nL2JlaGVlci1zZWxlY3QtZmlsdGVyb3B0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtYmVoZWVyLWZpbHRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JlaGVlci1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2JlaGVlci1maWx0ZXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmVoZWVyRmlsdGVyQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBmaWx0ZXI6IEZpbHRlclZpZXdNb2RlbDtcclxuXHJcbiAgQE91dHB1dCgpIHJlbG9hZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBwdWJsaWMgRmlsdGVyT3B0aW9uVmlld01vZGVsOiBGaWx0ZXJPcHRpb25WaWV3TW9kZWwgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBGaWx0ZXJzQXBpQ2xpZW50OiBGaWx0ZXJzQXBpQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBhdXRoZW50aWNhdGlvblNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSxcclxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgQ2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7IH1cclxuXHJcbiAgZHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8c3RyaW5nW10+KSB7XHJcbiAgICBpZiAodGhpcy5maWx0ZXIuZmlsdGVyT3B0aW9uVmlld01vZGVscyAhPSBudWxsKSB7XHJcbiAgICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLmZpbHRlci5maWx0ZXJPcHRpb25WaWV3TW9kZWxzLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xyXG5cclxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmZpbHRlci5maWx0ZXJPcHRpb25WaWV3TW9kZWxzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgdGhpcy5maWx0ZXIuZmlsdGVyT3B0aW9uVmlld01vZGVsc1tpXS5wb3NpdGlvbiA9IGk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuU2F2ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIE9wZW4ob3B0aW9uOiBGaWx0ZXJPcHRpb25WaWV3TW9kZWwpIHtcclxuICAgIHRoaXMuRmlsdGVyT3B0aW9uVmlld01vZGVsID0gb3B0aW9uO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNvcnQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5maWx0ZXIgIT0gbnVsbCkge1xyXG4gICAgICB2YXIgcmVxdWVzdCA9IG5ldyBTb3J0RmlsdGVyUmVxdWVzdCgpO1xyXG5cclxuICAgICAgcmVxdWVzdC5sb2dpblJlc3BvbnNlTW9kZWwgPSB0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5jdXJyZW50VXNlclZhbHVlO1xyXG4gICAgICByZXF1ZXN0LmZpbHRlcklkID0gdGhpcy5maWx0ZXIuaWQ7XHJcblxyXG4gICAgICB0aGlzLkZpbHRlcnNBcGlDbGllbnQuc29ydEZpbHRlcihyZXF1ZXN0KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMucmVsb2FkLmVtaXQoKTtcclxuICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IuanNvbigpKTtcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIFJlcXVpcmVGaWx0ZXIoKTogdm9pZCB7XHJcbiAgICB2YXIgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihCZWhlZXJTZWxlY3RGaWx0ZXJEaWFsb2dDb21wb25lbnQpO1xyXG5cclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0OiBhbnkpID0+IHtcclxuICAgICAgaWYgKHJlc3VsdD8uZmlsdGVyICE9IG51bGwgJiYgdGhpcy5maWx0ZXIgIT0gbnVsbCkge1xyXG4gICAgICAgIGlmIChyZXN1bHQuZmlsdGVyID4gMCkge1xyXG4gICAgICAgICAgaWYgKGNvbmZpcm0oXCJXZWV0IGplIGhldCB6ZWtlcj9cIikpIHtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICAgICAgICAgICAgdmFyIHJlcXVlc3QgPSBuZXcgU2V0RmlsdGVyUmVxdWlyZWRSZXF1ZXN0KCk7XHJcblxyXG4gICAgICAgICAgICByZXF1ZXN0LmZpbHRlckFmZmVjdHNJZCA9IHRoaXMuZmlsdGVyLmlkO1xyXG4gICAgICAgICAgICByZXF1ZXN0LmZpbHRlclJlcXVpcmVkSWQgPSByZXN1bHQuZmlsdGVyO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5GaWx0ZXJzQXBpQ2xpZW50LnNldEZpbHRlclJlcXVpcmVkKHJlcXVlc3QpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5yZWxvYWQuZW1pdCgpO1xyXG4gICAgICAgICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBSZXF1aXJlRmlsdGVyT3B0aW9uKCk6IHZvaWQge1xyXG4gICAgdmFyIGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQmVoZWVyU2VsZWN0RmlsdGVyb3B0aW9uRGlhbG9nQ29tcG9uZW50KTtcclxuXHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQ/LmZpbHRlcm9wdGlvbiAhPSBudWxsICYmIHRoaXMuZmlsdGVyKSB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC5maWx0ZXJvcHRpb24gPiAwKSB7XHJcbiAgICAgICAgICBpZiAoY29uZmlybShcIldlZXQgamUgaGV0IHpla2VyP1wiKSkge1xyXG5cclxuICAgICAgICAgICAgdGhpcy5DaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBTZXRGaWx0ZXJPcHRpb25SZXF1aXJlZFJlcXVlc3QoKTtcclxuXHJcbiAgICAgICAgICAgIHJlcXVlc3QuZmlsdGVySWQgPSB0aGlzLmZpbHRlci5pZDtcclxuICAgICAgICAgICAgcmVxdWVzdC5yYW5nZUlucHV0SWQgPSAwO1xyXG4gICAgICAgICAgICByZXF1ZXN0LmZpbHRlck9wdGlvbklkID0gcmVzdWx0LmZpbHRlcm9wdGlvbjtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuRmlsdGVyc0FwaUNsaWVudC5zZXRGaWx0ZXJPcHRpb25SZXF1aXJlZChyZXF1ZXN0KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMucmVsb2FkLmVtaXQoKTtcclxuICAgICAgICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IuanNvbigpKTtcclxuICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgUmVxdWlyZUZpbHRlck9wdGlvbkZpbHRlck9wdGlvbigpOiB2b2lkIHtcclxuICAgIHZhciBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEJlaGVlclNlbGVjdEZpbHRlcm9wdGlvbkRpYWxvZ0NvbXBvbmVudCk7XHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQ6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzdWx0Py5maWx0ZXJvcHRpb24gIT0gbnVsbCAmJiB0aGlzLmZpbHRlcikge1xyXG4gICAgICAgIGlmIChyZXN1bHQuZmlsdGVyb3B0aW9uID4gMCkge1xyXG4gICAgICAgICAgaWYgKGNvbmZpcm0oXCJXZWV0IGplIGhldCB6ZWtlcj9cIikpIHtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICAgICAgICAgICAgLy92YXIgcmVxdWVzdCA9IG5ldyBTZXRGaWx0ZXJPcHRpb25SZXF1aXJlZFJlcXVlc3QoKTtcclxuXHJcbiAgICAgICAgICAgIC8vcmVxdWVzdC5maWx0ZXJJZCA9IHRoaXMuZmlsdGVyLmlkO1xyXG4gICAgICAgICAgICAvL3JlcXVlc3QucmFuZ2VJbnB1dElkID0gMDtcclxuICAgICAgICAgICAgLy9yZXF1ZXN0LmZpbHRlck9wdGlvbklkID0gcmVzdWx0LmZpbHRlcm9wdGlvbjtcclxuXHJcbiAgICAgICAgICAgIC8vdGhpcy5GaWx0ZXJzQXBpQ2xpZW50LnNldEZpbHRlck9wdGlvblJlcXVpcmVkKHJlcXVlc3QpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIC8vICB0aGlzLnJlbG9hZC5lbWl0KCk7XHJcbiAgICAgICAgICAgIC8vfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAvLyAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgICAgIC8vICAgIGNvbnNvbGUubG9nKGVycm9yLmpzb24oKSk7XHJcbiAgICAgICAgICAgIC8vICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgICAgICAvLyAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgICAgICAgIC8vICB9XHJcbiAgICAgICAgICAgIC8vfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBSZW1vdmVSZXF1aXJlRmlsdGVyT3B0aW9uKHJlcXVpcmU6IEZpbHRlck9wdGlvblJlcXVpcmVkVmlld01vZGVsKTogdm9pZCB7XHJcbiAgICBpZiAoY29uZmlybShcIldlZXQgamUgaGV0IHpla2VyP1wiKSkge1xyXG5cclxuICAgICAgdGhpcy5DaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgICB2YXIgcmVxdWVzdCA9IG5ldyBTZXRGaWx0ZXJPcHRpb25SZXF1aXJlZFJlcXVlc3QoKTtcclxuXHJcbiAgICAgIHJlcXVlc3QuZmlsdGVySWQgPSByZXF1aXJlLmFmZmVjdGVkRmlsdGVySWQ7XHJcbiAgICAgIHJlcXVlc3QucmFuZ2VJbnB1dElkID0gMDtcclxuICAgICAgcmVxdWVzdC5maWx0ZXJPcHRpb25JZCA9IHJlcXVpcmUucmVxdWlyZWRGaWx0ZXJPcHRpb25JZDtcclxuXHJcbiAgICAgIHRoaXMuRmlsdGVyc0FwaUNsaWVudC5yZW1vdmVGaWx0ZXJPcHRpb25SZXF1aXJlZChyZXF1ZXN0KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMucmVsb2FkLmVtaXQoKTtcclxuICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IuanNvbigpKTtcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIFJlbW92ZVJlcXVpcmVGaWx0ZXJPcHRpb25GaWx0ZXJPcHRpb24ocmVxdWlyZTogRmlsdGVyT3B0aW9uRmlsdGVyT3B0aW9uUmVxdWlyZWRWaWV3TW9kZWwpOiB2b2lkIHtcclxuICAgIGlmIChjb25maXJtKFwiV2VldCBqZSBoZXQgemVrZXI/XCIpKSB7XHJcblxyXG4gICAgICB0aGlzLkNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICAgIC8vdmFyIHJlcXVlc3QgPSBuZXcgU2V0RmlsdGVyT3B0aW9uUmVxdWlyZWRSZXF1ZXN0KCk7XHJcblxyXG4gICAgICAvL3JlcXVlc3QuZmlsdGVySWQgPSByZXF1aXJlLmFmZmVjdGVkRmlsdGVySWQ7XHJcbiAgICAgIC8vcmVxdWVzdC5yYW5nZUlucHV0SWQgPSAwO1xyXG4gICAgICAvL3JlcXVlc3QuZmlsdGVyT3B0aW9uSWQgPSByZXF1aXJlLnJlcXVpcmVkRmlsdGVyT3B0aW9uSWQ7XHJcblxyXG4gICAgICAvL3RoaXMuRmlsdGVyc0FwaUNsaWVudC5yZW1vdmVGaWx0ZXJPcHRpb25SZXF1aXJlZChyZXF1ZXN0KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAvLyAgdGhpcy5yZWxvYWQuZW1pdCgpO1xyXG4gICAgICAvL30sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgLy8gIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAvLyAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICAvLyAgZWxzZSB7XHJcbiAgICAgIC8vICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgLy8gICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAvLyAgfVxyXG4gICAgICAvL30pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIFJlbW92ZUZpbHRlck9wdGlvbihvcHRpb246IEZpbHRlck9wdGlvblZpZXdNb2RlbCk6IHZvaWQge1xyXG4gICAgdGhpcy5GaWx0ZXJzQXBpQ2xpZW50LnJlbW92ZUZpbHRlck9wdGlvbihvcHRpb24pLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMucmVsb2FkLmVtaXQoKTtcclxuICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IuanNvbigpKTtcclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2F2ZUZpbHRlck9wdGlvbihvcHRpb246IEZpbHRlck9wdGlvblZpZXdNb2RlbCk6IHZvaWQge1xyXG4gICAgdGhpcy5GaWx0ZXJzQXBpQ2xpZW50LnNhdmVGaWx0ZXJPcHRpb24ob3B0aW9uKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLnJlbG9hZC5lbWl0KCk7XHJcbiAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yLmpzb24oKSk7XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEdldEZpbHRlck9wdGlvbnMoKTogRmlsdGVyT3B0aW9uVmlld01vZGVsW10ge1xyXG4gICAgaWYgKHRoaXMuZmlsdGVyPy5maWx0ZXJPcHRpb25WaWV3TW9kZWxzICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5maWx0ZXIuZmlsdGVyT3B0aW9uVmlld01vZGVscztcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICByZXR1cm4gbmV3IEFycmF5PEZpbHRlck9wdGlvblZpZXdNb2RlbD4oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBTYXZlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5GaWx0ZXJzQXBpQ2xpZW50LnNhdmVGaWx0ZXJWaWV3TW9kZWwodGhpcy5maWx0ZXIpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMucmVsb2FkLmVtaXQoKTtcclxuICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IuanNvbigpKTtcclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmaWx0ZXItbmFtZVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJmbGV4YXV0b1wiPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgY2xhc3M9XCJmdWxsLXdpZHRoXCI+XHJcbiAgICAgIDxtYXQtbGFiZWw+TmFtZTwvbWF0LWxhYmVsPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJmaWx0ZXIubmFtZVwiPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwic2F2ZS1kaXZcIj5cclxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIlNhdmUoKVwiPlNhdmU8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXY+XHJcbiAgPGRpdiBjbGFzcz1cImZpbHRlci1uYW1lXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleGF1dG9cIj5cclxuICAgICAgUmVxdWlyZXNcclxuICAgIDwvZGl2PlxyXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiUmVxdWlyZUZpbHRlcigpXCI+RmlsdGVyPC9idXR0b24+XHJcbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJSZXF1aXJlRmlsdGVyT3B0aW9uKClcIj5GaWx0ZXJPcHRpb248L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGZpbHRlci5yZXF1aXJlc0ZpbHRlck9wdGlvbnNcIiBjbGFzcz1cInJlcXVpcmVkLW9wdGlvblwiIFtuZ0NsYXNzXT1cInsgJ0FORCc6IG9wdGlvbi5maWx0ZXJPcHRpb25SZXF1aXJlZFR5cGUgPT0gMCwgJ09SJzogb3B0aW9uLmZpbHRlck9wdGlvblJlcXVpcmVkVHlwZSA9PSAxIH1cIj5cclxuICAgIHt7IG9wdGlvbi5yZXF1aXJlZEZpbHRlck5hbWUgfX06IHt7IG9wdGlvbi5yZXF1aXJlZEZpbHRlck9wdGlvbk5hbWUgfX1cclxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIlJlbW92ZVJlcXVpcmVGaWx0ZXJPcHRpb24ob3B0aW9uKVwiPlJlbW92ZTwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nRm9yPVwibGV0IGZpbHRlciBvZiBmaWx0ZXIucmVxdWlyZXNGaWx0ZXJzXCIgY2xhc3M9XCJyZXF1aXJlZC1vcHRpb25cIj5cclxuICAgIHt7IGZpbHRlci5yZXF1aXJlZEZpbHRlck5hbWUgfX1cclxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24+UmVtb3ZlPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2PlxyXG4gIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIlNvcnQoKVwiPlNvcnQ8L2J1dHRvbj5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJmaWx0ZXItb3B0aW9ucy1jb250YWluZXJcIj5cclxuICA8ZGl2IGNka0Ryb3BMaXN0IGNsYXNzPVwiaW5wdXQtbGlzdFwiIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtaXRlbVwiICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgR2V0RmlsdGVyT3B0aW9ucygpXCIgY2RrRHJhZz5cclxuICAgICAgPHNwYW4gW25nQ2xhc3NdPVwieydzZWxlY3RlZCc6IG9wdGlvbi5pZCA9PSBGaWx0ZXJPcHRpb25WaWV3TW9kZWw/LmlkIH1cIj5cclxuICAgICAgICB7eyBvcHRpb24ubmFtZSB9fVxyXG4gICAgICA8L3NwYW4+XHJcblxyXG4gICAgICA8YnV0dG9uIChjbGljayk9XCJPcGVuKG9wdGlvbilcIj5TZWxlY3Q8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxtYXQtY2FyZCAqbmdJZj1cIkZpbHRlck9wdGlvblZpZXdNb2RlbCAhPSBudWxsXCI+XHJcbiAgPG1hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZGlzcGxheWZsZXhcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1vcHRpb24tbmFtZSBmbGV4YXV0b1wiPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbD5OYW1lICgje3sgRmlsdGVyT3B0aW9uVmlld01vZGVsLmlkIH19KTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwiRmlsdGVyT3B0aW9uVmlld01vZGVsLm5hbWVcIj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiU2F2ZUZpbHRlck9wdGlvbihGaWx0ZXJPcHRpb25WaWV3TW9kZWwpXCI+U2F2ZTwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJSZW1vdmVGaWx0ZXJPcHRpb24oRmlsdGVyT3B0aW9uVmlld01vZGVsKVwiPlJlbW92ZTwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLW5hbWVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleGF1dG9cIj5cclxuICAgICAgICAgIFJlcXVpcmVzXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiUmVxdWlyZUZpbHRlck9wdGlvbkZpbHRlck9wdGlvbigpXCI+RmlsdGVyT3B0aW9uPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIEZpbHRlck9wdGlvblZpZXdNb2RlbC5yZXF1aXJlZFwiIGNsYXNzPVwicmVxdWlyZWQtb3B0aW9uXCI+XHJcbiAgICAgICAge3sgb3B0aW9uLmZpbHRlck5hbWUgfX06IHt7IG9wdGlvbi5maWx0ZXJPcHRpb25OYW1lIH19XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiUmVtb3ZlUmVxdWlyZUZpbHRlck9wdGlvbkZpbHRlck9wdGlvbihvcHRpb24pXCI+UmVtb3ZlPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG48L21hdC1jYXJkPlxyXG5cclxuIl19
@@ -1,20 +1,21 @@
1
1
  import { Component } from '@angular/core';
2
- import { MoveFilterOptionRequest } from '../../../swagger/SwaggerClient';
3
2
  import { moveItemInArray } from '@angular/cdk/drag-drop';
4
3
  import * as i0 from "@angular/core";
5
4
  import * as i1 from "../../../swagger/SwaggerClient";
6
- import * as i2 from "@angular/material/dialog";
7
- import * as i3 from "@angular/common";
8
- import * as i4 from "@angular/material/button";
9
- import * as i5 from "@angular/material/card";
10
- import * as i6 from "@angular/cdk/drag-drop";
11
- import * as i7 from "../beheer-nav/beheer-nav.component";
12
- import * as i8 from "../../../components/fab-loader/fab-loader.component";
13
- import * as i9 from "../beheer-filter/beheer-filter.component";
14
- import * as i10 from "../beheer-rangeinput/beheer-rangeinput.component";
5
+ import * as i2 from "../../../services/authentication.service";
6
+ import * as i3 from "@angular/material/dialog";
7
+ import * as i4 from "@angular/common";
8
+ import * as i5 from "@angular/material/button";
9
+ import * as i6 from "@angular/material/card";
10
+ import * as i7 from "@angular/cdk/drag-drop";
11
+ import * as i8 from "../beheer-nav/beheer-nav.component";
12
+ import * as i9 from "../../../components/fab-loader/fab-loader.component";
13
+ import * as i10 from "../beheer-filter/beheer-filter.component";
14
+ import * as i11 from "../beheer-rangeinput/beheer-rangeinput.component";
15
15
  export class BeheerFiltersComponent {
16
- constructor(FiltersApiClient, dialog, ChangeDetectorRef) {
16
+ constructor(FiltersApiClient, authenticationService, dialog, ChangeDetectorRef) {
17
17
  this.FiltersApiClient = FiltersApiClient;
18
+ this.authenticationService = authenticationService;
18
19
  this.dialog = dialog;
19
20
  this.ChangeDetectorRef = ChangeDetectorRef;
20
21
  this.Loading = true;
@@ -29,40 +30,6 @@ export class BeheerFiltersComponent {
29
30
  this.SaveInputs();
30
31
  }
31
32
  }
32
- MoveUpOption(option) {
33
- this.Loading = true;
34
- var request = new MoveFilterOptionRequest();
35
- request.filterOptionId = option.id;
36
- request.up = true;
37
- this.FiltersApiClient.moveFilterOption(request).subscribe(() => {
38
- this.LoadInputs();
39
- }, (error) => {
40
- if (error.status == 400)
41
- console.log(error.json());
42
- else {
43
- console.log('An unexpected error occured');
44
- console.log(error);
45
- }
46
- this.Loading = false;
47
- });
48
- }
49
- MoveDownOption(option) {
50
- this.Loading = true;
51
- var request = new MoveFilterOptionRequest();
52
- request.filterOptionId = option.id;
53
- request.up = false;
54
- this.FiltersApiClient.moveFilterOption(request).subscribe(() => {
55
- this.LoadInputs();
56
- }, (error) => {
57
- if (error.status == 400)
58
- console.log(error.json());
59
- else {
60
- console.log('An unexpected error occured');
61
- console.log(error);
62
- }
63
- this.Loading = false;
64
- });
65
- }
66
33
  Open(input) {
67
34
  this.InputViewModel = input;
68
35
  }
@@ -70,7 +37,7 @@ export class BeheerFiltersComponent {
70
37
  }
71
38
  LoadInputs() {
72
39
  this.Loading = true;
73
- this.FiltersApiClient.getInputsViewModel().subscribe((model) => {
40
+ this.FiltersApiClient.getInputsViewModel(this.authenticationService.currentUserValue).subscribe((model) => {
74
41
  this.InputsViewModel = model;
75
42
  if (this.InputViewModel != null && this.InputsViewModel.inputs != null) {
76
43
  for (var i = 0; i < this.InputsViewModel.inputs.length; i++) {
@@ -111,10 +78,10 @@ export class BeheerFiltersComponent {
111
78
  }
112
79
  }
113
80
  }
114
- BeheerFiltersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: BeheerFiltersComponent, deps: [{ token: i1.FiltersApiClient }, { token: i2.MatDialog }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
115
- BeheerFiltersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: BeheerFiltersComponent, selector: "app-beheer-filters", ngImport: i0, template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"Loading\" class=\"loader\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"InputsViewModel\" class=\"main-content\">\r\n <mat-card>\r\n <mat-card-content>\r\n <button mat-raised-button (click)=\"AddCategory()\">Categorie toevoegen</button>\r\n </mat-card-content>\r\n </mat-card>\r\n <br />\r\n <div class=\"displayflex\">\r\n <div>\r\n <mat-card>\r\n <mat-card-content>\r\n <div cdkDropList class=\"input-list\" (cdkDropListDropped)=\"drop($event)\">\r\n <div class=\"input-item\" *ngFor=\"let input of InputsViewModel.inputs\" cdkDrag>\r\n <ng-container *ngIf=\"input.filter\">\r\n <span [ngClass]=\"{'selected': input.filter?.id == InputViewModel?.filter?.id }\">\r\n {{ input.filter.name }} (#{{ input.filter.id }})\r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.range\">\r\n <span [ngClass]=\"{'selected': input.range?.id == InputViewModel?.range?.id }\">\r\n {{ input.range.name }} (#{{ input.range.id }})\r\n </span>\r\n \r\n </ng-container>\r\n <button (click)=\"Open(input)\">Select</button>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n <div class=\"flexauto\">\r\n <mat-card>\r\n <mat-card-content>\r\n <div *ngIf=\"InputViewModel != undefined\">\r\n <ng-container *ngIf=\"InputViewModel.filter\">\r\n <app-beheer-filter [filter]=\"InputViewModel.filter\" (reload)=\"LoadInputs()\"></app-beheer-filter>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"InputViewModel.range\">\r\n <app-beheer-rangeinput [rangeinput]=\"InputViewModel.range\" (reload)=\"LoadInputs()\"></app-beheer-rangeinput>\r\n </ng-container>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [".displayflex{display:flex;gap:10px}.required-option{border:1px solid #000;border-radius:2px;padding:2px;margin:2px}.loader{position:fixed;z-index:100;width:100%;background-color:#fffa;top:0;height:100%}.AND{border-color:red}.OR{border-color:#0f0}.filter-row{font-size:20px;line-height:30px;margin-bottom:10px}.flexauto{flex:auto}.main-content{padding:10px}.filter-name{font-size:20px;padding:10px;border-bottom:1px solid #000;display:flex}.filter-option:hover{background-color:gray}.filter-options-container{border:1px solid #000;padding:10px;margin:10px}.filter-option{padding:5px;border-bottom:1px solid #000;display:flex;gap:5px}.filter-option-name{flex:auto;line-height:30px;font-size:20px}.selected{font-weight:700}.input-list{max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:white;border-radius:4px;overflow-y:scroll;height:calc(100vH - 188px)}.input-item{padding:5px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:white;font-size:14px}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.input-item:last-child{border:none}.input-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i5.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "directive", type: i6.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i6.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i7.BeheerNavComponent, selector: "app-beheer-nav" }, { kind: "component", type: i8.FabLoaderComponent, selector: "app-fab-loader" }, { kind: "component", type: i9.BeheerFilterComponent, selector: "app-beheer-filter", inputs: ["filter"], outputs: ["reload"] }, { kind: "component", type: i10.BeheerRangeinputComponent, selector: "app-beheer-rangeinput", inputs: ["rangeinput"], outputs: ["reload"] }] });
81
+ BeheerFiltersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: BeheerFiltersComponent, deps: [{ token: i1.FiltersApiClient }, { token: i2.AuthenticationService }, { token: i3.MatDialog }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
82
+ BeheerFiltersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: BeheerFiltersComponent, selector: "app-beheer-filters", ngImport: i0, template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"Loading\" class=\"loader\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"InputsViewModel\" class=\"main-content\">\r\n <mat-card>\r\n <mat-card-content>\r\n <button mat-raised-button (click)=\"AddCategory()\">Categorie toevoegen</button>\r\n </mat-card-content>\r\n </mat-card>\r\n <br />\r\n <div class=\"displayflex\">\r\n <div>\r\n <mat-card>\r\n <mat-card-content>\r\n <div cdkDropList class=\"input-list\" (cdkDropListDropped)=\"drop($event)\">\r\n <div class=\"input-item\" *ngFor=\"let input of InputsViewModel.inputs\" cdkDrag>\r\n <ng-container *ngIf=\"input.filter\">\r\n <span [ngClass]=\"{'selected': input.filter?.id == InputViewModel?.filter?.id }\">\r\n {{ input.filter.name }} (#{{ input.filter.id }})\r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.range\">\r\n <span [ngClass]=\"{'selected': input.range?.id == InputViewModel?.range?.id }\">\r\n {{ input.range.name }} (#{{ input.range.id }})\r\n </span>\r\n \r\n </ng-container>\r\n <button (click)=\"Open(input)\">Select</button>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n <div class=\"flexauto\">\r\n <mat-card>\r\n <mat-card-content>\r\n <div *ngIf=\"InputViewModel != undefined\">\r\n <ng-container *ngIf=\"InputViewModel.filter\">\r\n <app-beheer-filter [filter]=\"InputViewModel.filter\" (reload)=\"LoadInputs()\"></app-beheer-filter>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"InputViewModel.range\">\r\n <app-beheer-rangeinput [rangeinput]=\"InputViewModel.range\" (reload)=\"LoadInputs()\"></app-beheer-rangeinput>\r\n </ng-container>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [".displayflex{display:flex;gap:10px}.required-option{border:1px solid #000;border-radius:2px;padding:2px;margin:2px}.loader{position:fixed;z-index:100;width:100%;background-color:#fffa;top:0;height:100%}.AND{border-color:red}.OR{border-color:#0f0}.filter-row{font-size:20px;line-height:30px;margin-bottom:10px}.flexauto{flex:auto}.main-content{padding:10px}.filter-name{font-size:20px;padding:10px;border-bottom:1px solid #000;display:flex}.filter-option:hover{background-color:gray}.filter-options-container{border:1px solid #000;padding:10px;margin:10px}.filter-option{padding:5px;border-bottom:1px solid #000;display:flex;gap:5px}.filter-option-name{flex:auto;line-height:30px;font-size:20px}.selected{font-weight:700}.input-list{max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:white;border-radius:4px;overflow-y:scroll;height:calc(100vH - 188px)}.input-item{padding:5px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:white;font-size:14px}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.input-item:last-child{border:none}.input-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i6.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "directive", type: i7.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i7.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i8.BeheerNavComponent, selector: "app-beheer-nav" }, { kind: "component", type: i9.FabLoaderComponent, selector: "app-fab-loader" }, { kind: "component", type: i10.BeheerFilterComponent, selector: "app-beheer-filter", inputs: ["filter"], outputs: ["reload"] }, { kind: "component", type: i11.BeheerRangeinputComponent, selector: "app-beheer-rangeinput", inputs: ["rangeinput"], outputs: ["reload"] }] });
116
83
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: BeheerFiltersComponent, decorators: [{
117
84
  type: Component,
118
85
  args: [{ selector: 'app-beheer-filters', template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"Loading\" class=\"loader\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"InputsViewModel\" class=\"main-content\">\r\n <mat-card>\r\n <mat-card-content>\r\n <button mat-raised-button (click)=\"AddCategory()\">Categorie toevoegen</button>\r\n </mat-card-content>\r\n </mat-card>\r\n <br />\r\n <div class=\"displayflex\">\r\n <div>\r\n <mat-card>\r\n <mat-card-content>\r\n <div cdkDropList class=\"input-list\" (cdkDropListDropped)=\"drop($event)\">\r\n <div class=\"input-item\" *ngFor=\"let input of InputsViewModel.inputs\" cdkDrag>\r\n <ng-container *ngIf=\"input.filter\">\r\n <span [ngClass]=\"{'selected': input.filter?.id == InputViewModel?.filter?.id }\">\r\n {{ input.filter.name }} (#{{ input.filter.id }})\r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.range\">\r\n <span [ngClass]=\"{'selected': input.range?.id == InputViewModel?.range?.id }\">\r\n {{ input.range.name }} (#{{ input.range.id }})\r\n </span>\r\n \r\n </ng-container>\r\n <button (click)=\"Open(input)\">Select</button>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n <div class=\"flexauto\">\r\n <mat-card>\r\n <mat-card-content>\r\n <div *ngIf=\"InputViewModel != undefined\">\r\n <ng-container *ngIf=\"InputViewModel.filter\">\r\n <app-beheer-filter [filter]=\"InputViewModel.filter\" (reload)=\"LoadInputs()\"></app-beheer-filter>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"InputViewModel.range\">\r\n <app-beheer-rangeinput [rangeinput]=\"InputViewModel.range\" (reload)=\"LoadInputs()\"></app-beheer-rangeinput>\r\n </ng-container>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [".displayflex{display:flex;gap:10px}.required-option{border:1px solid #000;border-radius:2px;padding:2px;margin:2px}.loader{position:fixed;z-index:100;width:100%;background-color:#fffa;top:0;height:100%}.AND{border-color:red}.OR{border-color:#0f0}.filter-row{font-size:20px;line-height:30px;margin-bottom:10px}.flexauto{flex:auto}.main-content{padding:10px}.filter-name{font-size:20px;padding:10px;border-bottom:1px solid #000;display:flex}.filter-option:hover{background-color:gray}.filter-options-container{border:1px solid #000;padding:10px;margin:10px}.filter-option{padding:5px;border-bottom:1px solid #000;display:flex;gap:5px}.filter-option-name{flex:auto;line-height:30px;font-size:20px}.selected{font-weight:700}.input-list{max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:white;border-radius:4px;overflow-y:scroll;height:calc(100vH - 188px)}.input-item{padding:5px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:white;font-size:14px}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.input-item:last-child{border:none}.input-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
119
- }], ctorParameters: function () { return [{ type: i1.FiltersApiClient }, { type: i2.MatDialog }, { type: i0.ChangeDetectorRef }]; } });
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLWZpbHRlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItZmlsdGVycy9iZWhlZXItZmlsdGVycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1maWx0ZXJzL2JlaGVlci1maWx0ZXJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBZ0osdUJBQXVCLEVBQW1GLE1BQU0sZ0NBQWdDLENBQUM7QUFDeFMsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7Ozs7QUFVdEUsTUFBTSxPQUFPLHNCQUFzQjtJQVFqQyxZQUFvQixnQkFBa0MsRUFDN0MsTUFBaUIsRUFDaEIsaUJBQW9DO1FBRjFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDN0MsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNoQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBUnZDLFlBQU8sR0FBWSxJQUFJLENBQUM7UUFJeEIsbUJBQWMsR0FBK0IsU0FBUyxDQUFDO0lBSVosQ0FBQztJQUVuRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLENBQUMsS0FBNEI7UUFDL0IsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sSUFBSSxJQUFJLEVBQUU7WUFDdkMsZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxhQUFhLEVBQUUs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QyxVQUFVLEVBQUUsQ0FBQztZQUNwQixDQUFDLEVBQUUsQ0FBQyxLQUFlLEVBQUUsRUFBRTtnQkFDckIsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUc7b0JBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7cUJBQ3ZCO29CQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQztvQkFDM0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDcEI7Z0JBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDdkIsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7O21IQTdIVSxzQkFBc0I7dUdBQXRCLHNCQUFzQiwwRENabkMsNmpFQXNEQTsyRkQxQ2Esc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWx0ZXJzQXBpQ2xpZW50LCBJbnB1dHNWaWV3TW9kZWwsIEZpbHRlck9wdGlvblJlcXVpcmVkVmlld01vZGVsLCBSYW5nZUlucHV0RmlsdGVyT3B0aW9uUmVxdWlyZWRWaWV3TW9kZWwsIElucHV0Vmlld01vZGVsLCBNb3ZlRmlsdGVyUmVxdWVzdCwgTW92ZUZpbHRlck9wdGlvblJlcXVlc3QsIEZpbHRlck9wdGlvblZpZXdNb2RlbCwgU2V0RmlsdGVyUmVxdWlyZWRSZXF1ZXN0LCBTZXRGaWx0ZXJPcHRpb25SZXF1aXJlZFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9zd2FnZ2VyL1N3YWdnZXJDbGllbnQnO1xyXG5pbXBvcnQgeyBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IEJlaGVlclNlbGVjdEZpbHRlckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2JlaGVlci1zZWxlY3QtZmlsdGVyLWRpYWxvZy9iZWhlZXItc2VsZWN0LWZpbHRlci1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyU2VsZWN0RmlsdGVyb3B0aW9uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vYmVoZWVyLXNlbGVjdC1maWx0ZXJvcHRpb24tZGlhbG9nL2JlaGVlci1zZWxlY3QtZmlsdGVyb3B0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtYmVoZWVyLWZpbHRlcnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iZWhlZXItZmlsdGVycy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYmVoZWVyLWZpbHRlcnMuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmVoZWVyRmlsdGVyc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIHB1YmxpYyBMb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgcHVibGljIElucHV0c1ZpZXdNb2RlbDogSW5wdXRzVmlld01vZGVsO1xyXG5cclxuICBwdWJsaWMgSW5wdXRWaWV3TW9kZWw6IElucHV0Vmlld01vZGVsIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIEZpbHRlcnNBcGlDbGllbnQ6IEZpbHRlcnNBcGlDbGllbnQsXHJcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIENoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5Mb2FkSW5wdXRzKCk7XHJcbiAgfVxyXG5cclxuICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pIHtcclxuICAgIGlmICh0aGlzLklucHV0c1ZpZXdNb2RlbC5pbnB1dHMgIT0gbnVsbCkge1xyXG4gICAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5JbnB1dHNWaWV3TW9kZWwuaW5wdXRzLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xyXG5cclxuICAgICAgdGhpcy5TYXZlSW5wdXRzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgTW92ZVVwT3B0aW9uKG9wdGlvbjogRmlsdGVyT3B0aW9uVmlld01vZGVsKSB7XHJcbiAgICB0aGlzLkxvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgIHZhciByZXF1ZXN0ID0gbmV3IE1vdmVGaWx0ZXJPcHRpb25SZXF1ZXN0KCk7XHJcblxyXG4gICAgcmVxdWVzdC5maWx0ZXJPcHRpb25JZCA9IG9wdGlvbi5pZDtcclxuICAgIHJlcXVlc3QudXAgPSB0cnVlO1xyXG5cclxuICAgIHRoaXMuRmlsdGVyc0FwaUNsaWVudC5tb3ZlRmlsdGVyT3B0aW9uKHJlcXVlc3QpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuTG9hZElucHV0cygpO1xyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwMClcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIE1vdmVEb3duT3B0aW9uKG9wdGlvbjogRmlsdGVyT3B0aW9uVmlld01vZGVsKSB7XHJcbiAgICB0aGlzLkxvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgIHZhciByZXF1ZXN0ID0gbmV3IE1vdmVGaWx0ZXJPcHRpb25SZXF1ZXN0KCk7XHJcblxyXG4gICAgcmVxdWVzdC5maWx0ZXJPcHRpb25JZCA9IG9wdGlvbi5pZDtcclxuICAgIHJlcXVlc3QudXAgPSBmYWxzZTtcclxuXHJcbiAgICB0aGlzLkZpbHRlcnNBcGlDbGllbnQubW92ZUZpbHRlck9wdGlvbihyZXF1ZXN0KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLkxvYWRJbnB1dHMoKTtcclxuICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IuanNvbigpKTtcclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBPcGVuKGlucHV0OiBJbnB1dFZpZXdNb2RlbCkge1xyXG4gICAgdGhpcy5JbnB1dFZpZXdNb2RlbCA9IGlucHV0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEFkZENhdGVnb3J5KCk6IHZvaWQge1xyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyBMb2FkSW5wdXRzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5Mb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLkZpbHRlcnNBcGlDbGllbnQuZ2V0SW5wdXRzVmlld01vZGVsKCkuc3Vic2NyaWJlKChtb2RlbDogSW5wdXRzVmlld01vZGVsKSA9PiB7XHJcbiAgICAgIHRoaXMuSW5wdXRzVmlld01vZGVsID0gbW9kZWw7XHJcblxyXG4gICAgICBpZiAodGhpcy5JbnB1dFZpZXdNb2RlbCAhPSBudWxsICYmIHRoaXMuSW5wdXRzVmlld01vZGVsLmlucHV0cyAhPSBudWxsKSB7XHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLklucHV0c1ZpZXdNb2RlbC5pbnB1dHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIGlmICgodGhpcy5JbnB1dFZpZXdNb2RlbC5maWx0ZXI/LmlkID09IHRoaXMuSW5wdXRzVmlld01vZGVsLmlucHV0c1tpXS5maWx0ZXI/LmlkKSAmJlxyXG4gICAgICAgICAgICAodGhpcy5JbnB1dFZpZXdNb2RlbC5yYW5nZT8uaWQgPT0gdGhpcy5JbnB1dHNWaWV3TW9kZWwuaW5wdXRzW2ldLnJhbmdlPy5pZCkpIHtcclxuICAgICAgICAgICAgdGhpcy5JbnB1dFZpZXdNb2RlbCA9IHRoaXMuSW5wdXRzVmlld01vZGVsLmlucHV0c1tpXTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwMClcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBTYXZlSW5wdXRzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuSW5wdXRzVmlld01vZGVsLmlucHV0cyAhPSBudWxsKSB7XHJcbiAgICAgIHRoaXMuTG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuSW5wdXRzVmlld01vZGVsLmlucHV0cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIHRoaXMuSW5wdXRzVmlld01vZGVsLmlucHV0c1tpXS5wb3NpdGlvbiA9IGk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuRmlsdGVyc0FwaUNsaWVudC5zYXZlSW5wdXRzVmlld01vZGVsKHRoaXMuSW5wdXRzVmlld01vZGVsKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuTG9hZElucHV0cygpO1xyXG4gICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8YXBwLWJlaGVlci1uYXY+PC9hcHAtYmVoZWVyLW5hdj5cclxuXHJcbjxkaXYgKm5nSWY9XCJMb2FkaW5nXCIgY2xhc3M9XCJsb2FkZXJcIj5cclxuICA8YXBwLWZhYi1sb2FkZXI+PC9hcHAtZmFiLWxvYWRlcj5cclxuPC9kaXY+XHJcblxyXG48ZGl2ICpuZ0lmPVwiSW5wdXRzVmlld01vZGVsXCIgY2xhc3M9XCJtYWluLWNvbnRlbnRcIj5cclxuICA8bWF0LWNhcmQ+XHJcbiAgICA8bWF0LWNhcmQtY29udGVudD5cclxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiQWRkQ2F0ZWdvcnkoKVwiPkNhdGVnb3JpZSB0b2V2b2VnZW48L2J1dHRvbj5cclxuICAgIDwvbWF0LWNhcmQtY29udGVudD5cclxuICA8L21hdC1jYXJkPlxyXG4gIDxiciAvPlxyXG4gIDxkaXYgY2xhc3M9XCJkaXNwbGF5ZmxleFwiPlxyXG4gICAgPGRpdj5cclxuICAgICAgPG1hdC1jYXJkPlxyXG4gICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICAgICAgPGRpdiBjZGtEcm9wTGlzdCBjbGFzcz1cImlucHV0LWxpc3RcIiAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtaXRlbVwiICpuZ0Zvcj1cImxldCBpbnB1dCBvZiBJbnB1dHNWaWV3TW9kZWwuaW5wdXRzXCIgY2RrRHJhZz5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW5wdXQuZmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJ7J3NlbGVjdGVkJzogaW5wdXQuZmlsdGVyPy5pZCA9PSBJbnB1dFZpZXdNb2RlbD8uZmlsdGVyPy5pZCB9XCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7IGlucHV0LmZpbHRlci5uYW1lIH19ICgje3sgaW5wdXQuZmlsdGVyLmlkIH19KVxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbnB1dC5yYW5nZVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwieydzZWxlY3RlZCc6IGlucHV0LnJhbmdlPy5pZCA9PSBJbnB1dFZpZXdNb2RlbD8ucmFuZ2U/LmlkIH1cIj5cclxuICAgICAgICAgICAgICAgICAge3sgaW5wdXQucmFuZ2UubmFtZSB9fSAoI3t7IGlucHV0LnJhbmdlLmlkIH19KVxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiT3BlbihpbnB1dClcIj5TZWxlY3Q8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgIDwvbWF0LWNhcmQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4YXV0b1wiPlxyXG4gICAgICA8bWF0LWNhcmQ+XHJcbiAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgICAgIDxkaXYgKm5nSWY9XCJJbnB1dFZpZXdNb2RlbCAhPSB1bmRlZmluZWRcIj5cclxuICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiSW5wdXRWaWV3TW9kZWwuZmlsdGVyXCI+XHJcbiAgICAgICAgICAgICA8YXBwLWJlaGVlci1maWx0ZXIgW2ZpbHRlcl09XCJJbnB1dFZpZXdNb2RlbC5maWx0ZXJcIiAocmVsb2FkKT1cIkxvYWRJbnB1dHMoKVwiPjwvYXBwLWJlaGVlci1maWx0ZXI+XHJcbiAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJJbnB1dFZpZXdNb2RlbC5yYW5nZVwiPlxyXG4gICAgICAgICAgICA8YXBwLWJlaGVlci1yYW5nZWlucHV0IFtyYW5nZWlucHV0XT1cIklucHV0Vmlld01vZGVsLnJhbmdlXCIgKHJlbG9hZCk9XCJMb2FkSW5wdXRzKClcIj48L2FwcC1iZWhlZXItcmFuZ2VpbnB1dD5cclxuICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICA8L21hdC1jYXJkPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuIl19
86
+ }], ctorParameters: function () { return [{ type: i1.FiltersApiClient }, { type: i2.AuthenticationService }, { type: i3.MatDialog }, { type: i0.ChangeDetectorRef }]; } });
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLWZpbHRlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItZmlsdGVycy9iZWhlZXItZmlsdGVycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1maWx0ZXJzL2JlaGVlci1maWx0ZXJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXJFLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7OztBQVd0RSxNQUFNLE9BQU8sc0JBQXNCO0lBUWpDLFlBQW9CLGdCQUFrQyxFQUM1QyxxQkFBNEMsRUFDN0MsTUFBaUIsRUFDaEIsaUJBQW9DO1FBSDFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDNUMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM3QyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2hCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFUdkMsWUFBTyxHQUFZLElBQUksQ0FBQztRQUl4QixtQkFBYyxHQUErQixTQUFTLENBQUM7SUFLWixDQUFDO0lBRW5ELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksQ0FBQyxLQUE0QjtRQUMvQixJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxJQUFJLElBQUksRUFBRTtZQUN2QyxlQUFlLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLGFBQWEsRUFBRSxL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Q0FBQyxDQUFDO2lCQUNwQjtnQkFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUN2QixDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7bUhBcEZVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLDBEQ2JuQyw2akVBc0RBOzJGRHpDYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0Usb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZpbHRlcnNBcGlDbGllbnQsIElucHV0c1ZpZXdNb2RlbCwgRmlsdGVyT3B0aW9uUmVxdWlyZWRWaWV3TW9kZWwsIFJhbmdlSW5wdXRGaWx0ZXJPcHRpb25SZXF1aXJlZFZpZXdNb2RlbCwgSW5wdXRWaWV3TW9kZWwsIFNvcnRGaWx0ZXJSZXF1ZXN0LCBGaWx0ZXJPcHRpb25WaWV3TW9kZWwsIFNldEZpbHRlclJlcXVpcmVkUmVxdWVzdCwgU2V0RmlsdGVyT3B0aW9uUmVxdWlyZWRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vc3dhZ2dlci9Td2FnZ2VyQ2xpZW50JztcclxuaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBCZWhlZXJTZWxlY3RGaWx0ZXJEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9iZWhlZXItc2VsZWN0LWZpbHRlci1kaWFsb2cvYmVoZWVyLXNlbGVjdC1maWx0ZXItZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlaGVlclNlbGVjdEZpbHRlcm9wdGlvbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2JlaGVlci1zZWxlY3QtZmlsdGVyb3B0aW9uLWRpYWxvZy9iZWhlZXItc2VsZWN0LWZpbHRlcm9wdGlvbi1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRpb24uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1iZWhlZXItZmlsdGVycycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JlaGVlci1maWx0ZXJzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9iZWhlZXItZmlsdGVycy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCZWhlZXJGaWx0ZXJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgcHVibGljIExvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgSW5wdXRzVmlld01vZGVsOiBJbnB1dHNWaWV3TW9kZWw7XHJcblxyXG4gIHB1YmxpYyBJbnB1dFZpZXdNb2RlbDogSW5wdXRWaWV3TW9kZWwgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgRmlsdGVyc0FwaUNsaWVudDogRmlsdGVyc0FwaUNsaWVudCxcclxuICAgIHByaXZhdGUgYXV0aGVudGljYXRpb25TZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIENoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5Mb2FkSW5wdXRzKCk7XHJcbiAgfVxyXG5cclxuICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pIHtcclxuICAgIGlmICh0aGlzLklucHV0c1ZpZXdNb2RlbC5pbnB1dHMgIT0gbnVsbCkge1xyXG4gICAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5JbnB1dHNWaWV3TW9kZWwuaW5wdXRzLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xyXG5cclxuICAgICAgdGhpcy5TYXZlSW5wdXRzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgT3BlbihpbnB1dDogSW5wdXRWaWV3TW9kZWwpIHtcclxuICAgIHRoaXMuSW5wdXRWaWV3TW9kZWwgPSBpbnB1dDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBBZGRDYXRlZ29yeSgpOiB2b2lkIHtcclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgTG9hZElucHV0cygpOiB2b2lkIHtcclxuICAgIHRoaXMuTG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5GaWx0ZXJzQXBpQ2xpZW50LmdldElucHV0c1ZpZXdNb2RlbCh0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5jdXJyZW50VXNlclZhbHVlKS5zdWJzY3JpYmUoKG1vZGVsOiBJbnB1dHNWaWV3TW9kZWwpID0+IHtcclxuICAgICAgdGhpcy5JbnB1dHNWaWV3TW9kZWwgPSBtb2RlbDtcclxuXHJcbiAgICAgIGlmICh0aGlzLklucHV0Vmlld01vZGVsICE9IG51bGwgJiYgdGhpcy5JbnB1dHNWaWV3TW9kZWwuaW5wdXRzICE9IG51bGwpIHtcclxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuSW5wdXRzVmlld01vZGVsLmlucHV0cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgaWYgKCh0aGlzLklucHV0Vmlld01vZGVsLmZpbHRlcj8uaWQgPT0gdGhpcy5JbnB1dHNWaWV3TW9kZWwuaW5wdXRzW2ldLmZpbHRlcj8uaWQpICYmXHJcbiAgICAgICAgICAgICh0aGlzLklucHV0Vmlld01vZGVsLnJhbmdlPy5pZCA9PSB0aGlzLklucHV0c1ZpZXdNb2RlbC5pbnB1dHNbaV0ucmFuZ2U/LmlkKSkge1xyXG4gICAgICAgICAgICB0aGlzLklucHV0Vmlld01vZGVsID0gdGhpcy5JbnB1dHNWaWV3TW9kZWwuaW5wdXRzW2ldO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XHJcbiAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yLmpzb24oKSk7XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIFNhdmVJbnB1dHMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5JbnB1dHNWaWV3TW9kZWwuaW5wdXRzICE9IG51bGwpIHtcclxuICAgICAgdGhpcy5Mb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5JbnB1dHNWaWV3TW9kZWwuaW5wdXRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgdGhpcy5JbnB1dHNWaWV3TW9kZWwuaW5wdXRzW2ldLnBvc2l0aW9uID0gaTtcclxuICAgICAgfVxyXG5cclxuICAgICAgXHJcblxyXG4gICAgICB0aGlzLkZpbHRlcnNBcGlDbGllbnQuc2F2ZUlucHV0c1ZpZXdNb2RlbCh0aGlzLklucHV0c1ZpZXdNb2RlbCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLkxvYWRJbnB1dHMoKTtcclxuICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IuanNvbigpKTtcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGFwcC1iZWhlZXItbmF2PjwvYXBwLWJlaGVlci1uYXY+XHJcblxyXG48ZGl2ICpuZ0lmPVwiTG9hZGluZ1wiIGNsYXNzPVwibG9hZGVyXCI+XHJcbiAgPGFwcC1mYWItbG9hZGVyPjwvYXBwLWZhYi1sb2FkZXI+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cIklucHV0c1ZpZXdNb2RlbFwiIGNsYXNzPVwibWFpbi1jb250ZW50XCI+XHJcbiAgPG1hdC1jYXJkPlxyXG4gICAgPG1hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIkFkZENhdGVnb3J5KClcIj5DYXRlZ29yaWUgdG9ldm9lZ2VuPC9idXR0b24+XHJcbiAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgPC9tYXQtY2FyZD5cclxuICA8YnIgLz5cclxuICA8ZGl2IGNsYXNzPVwiZGlzcGxheWZsZXhcIj5cclxuICAgIDxkaXY+XHJcbiAgICAgIDxtYXQtY2FyZD5cclxuICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cclxuICAgICAgICAgIDxkaXYgY2RrRHJvcExpc3QgY2xhc3M9XCJpbnB1dC1saXN0XCIgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWl0ZW1cIiAqbmdGb3I9XCJsZXQgaW5wdXQgb2YgSW5wdXRzVmlld01vZGVsLmlucHV0c1wiIGNka0RyYWc+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlucHV0LmZpbHRlclwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwieydzZWxlY3RlZCc6IGlucHV0LmZpbHRlcj8uaWQgPT0gSW5wdXRWaWV3TW9kZWw/LmZpbHRlcj8uaWQgfVwiPlxyXG4gICAgICAgICAgICAgICAgICB7eyBpbnB1dC5maWx0ZXIubmFtZSB9fSAoI3t7IGlucHV0LmZpbHRlci5pZCB9fSlcclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW5wdXQucmFuZ2VcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cInsnc2VsZWN0ZWQnOiBpbnB1dC5yYW5nZT8uaWQgPT0gSW5wdXRWaWV3TW9kZWw/LnJhbmdlPy5pZCB9XCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7IGlucHV0LnJhbmdlLm5hbWUgfX0gKCN7eyBpbnB1dC5yYW5nZS5pZCB9fSlcclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cIk9wZW4oaW5wdXQpXCI+U2VsZWN0PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICA8L21hdC1jYXJkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleGF1dG9cIj5cclxuICAgICAgPG1hdC1jYXJkPlxyXG4gICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICAgICA8ZGl2ICpuZ0lmPVwiSW5wdXRWaWV3TW9kZWwgIT0gdW5kZWZpbmVkXCI+XHJcbiAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIklucHV0Vmlld01vZGVsLmZpbHRlclwiPlxyXG4gICAgICAgICAgICAgPGFwcC1iZWhlZXItZmlsdGVyIFtmaWx0ZXJdPVwiSW5wdXRWaWV3TW9kZWwuZmlsdGVyXCIgKHJlbG9hZCk9XCJMb2FkSW5wdXRzKClcIj48L2FwcC1iZWhlZXItZmlsdGVyPlxyXG4gICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiSW5wdXRWaWV3TW9kZWwucmFuZ2VcIj5cclxuICAgICAgICAgICAgPGFwcC1iZWhlZXItcmFuZ2VpbnB1dCBbcmFuZ2VpbnB1dF09XCJJbnB1dFZpZXdNb2RlbC5yYW5nZVwiIChyZWxvYWQpPVwiTG9hZElucHV0cygpXCI+PC9hcHAtYmVoZWVyLXJhbmdlaW5wdXQ+XHJcbiAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cclxuICAgICAgPC9tYXQtY2FyZD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbiJdfQ==
@@ -1,16 +1,19 @@
1
1
  import { Component } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- import * as i1 from "../beheer-nav/beheer-nav.component";
3
+ import * as i1 from "@angular/router";
4
+ import * as i2 from "../beheer-nav/beheer-nav.component";
4
5
  export class BeheerMainComponent {
5
- constructor() {
6
+ constructor(router) {
7
+ this.router = router;
8
+ this.router.navigate(['/beheer/translate']);
6
9
  }
7
10
  ngOnInit() {
8
11
  }
9
12
  }
10
- BeheerMainComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: BeheerMainComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
- BeheerMainComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: BeheerMainComponent, selector: "app-beheer-main", ngImport: i0, template: "<app-beheer-nav></app-beheer-nav>\r\n", styles: [""], dependencies: [{ kind: "component", type: i1.BeheerNavComponent, selector: "app-beheer-nav" }] });
13
+ BeheerMainComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: BeheerMainComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
14
+ BeheerMainComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: BeheerMainComponent, selector: "app-beheer-main", ngImport: i0, template: "<app-beheer-nav></app-beheer-nav>\r\n", styles: [""], dependencies: [{ kind: "component", type: i2.BeheerNavComponent, selector: "app-beheer-nav" }] });
12
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: BeheerMainComponent, decorators: [{
13
16
  type: Component,
14
17
  args: [{ selector: 'app-beheer-main', template: "<app-beheer-nav></app-beheer-nav>\r\n" }]
15
- }], ctorParameters: function () { return []; } });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLW1haW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItbWFpbi9iZWhlZXItbWFpbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1tYWluL2JlaGVlci1tYWluLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7OztBQU9sRCxNQUFNLE9BQU8sbUJBQW1CO0lBRTlCO0lBRUEsQ0FBQztJQUVELFFBQVE7SUFDUixDQUFDOztnSEFQVSxtQkFBbUI7b0dBQW5CLG1CQUFtQix1RENQaEMsdUNBQ0E7MkZETWEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1iZWhlZXItbWFpbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JlaGVlci1tYWluLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9iZWhlZXItbWFpbi5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEJlaGVlck1haW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICB9XHJcblxyXG59XHJcbiIsIjxhcHAtYmVoZWVyLW5hdj48L2FwcC1iZWhlZXItbmF2PlxyXG4iXX0=
18
+ }], ctorParameters: function () { return [{ type: i1.Router }]; } });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLW1haW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItbWFpbi9iZWhlZXItbWFpbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1tYWluL2JlaGVlci1tYWluLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7QUFRbEQsTUFBTSxPQUFPLG1CQUFtQjtJQUU5QixZQUFtQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7O2dIQVBVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLHVEQ1JoQyx1Q0FDQTsyRkRPYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWJlaGVlci1tYWluJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYmVoZWVyLW1haW4uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2JlaGVlci1tYWluLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmVoZWVyTWFpbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByb3V0ZXI6IFJvdXRlcikge1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvYmVoZWVyL3RyYW5zbGF0ZSddKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGFwcC1iZWhlZXItbmF2PjwvYXBwLWJlaGVlci1uYXY+XHJcbiJdfQ==