fabrikantencore 2.0.9 → 2.0.12

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 (42) hide show
  1. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-display-ebo/beheer-display-ebo.component.mjs +3 -3
  2. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-ebo-koppel/beheer-ebo-koppel/beheer-ebo-koppel.component.mjs +8 -9
  3. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-ebo/beheer-import-sets-ebo.component.mjs +3 -3
  4. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-eigenschap/beheer-import-sets-eigenschap.component.mjs +1 -1
  5. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-inlog/beheer-inlog.component.mjs +3 -3
  6. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-connect-rangeinput/beheer-products-connect-rangeinput.component.mjs +1 -1
  7. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-ebo/beheer-products-ebo.component.mjs +67 -58
  8. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-eigenschap/beheer-products-eigenschap.component.mjs +62 -46
  9. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-eigenschap-bereik/beheer-products-eigenschap-bereik.component.mjs +3 -3
  10. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-koppel-filteroption-dailog/beheer-products-koppel-filteroption-dailog.component.mjs +9 -9
  11. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-product/beheer-products-product.component.mjs +1 -1
  12. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-select-filter-dialog/beheer-select-filter-dialog.component.mjs +70 -0
  13. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings-boolean/beheer-settings-boolean.component.mjs +40 -0
  14. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings.component.mjs +9 -7
  15. package/esm2020/src/app/modules/fabrikantencore/components/fab-breadcrumb/fab-breadcrumb.component.mjs +3 -3
  16. package/esm2020/src/app/modules/fabrikantencore/components/fab-header/fab-header.component.mjs +1 -1
  17. package/esm2020/src/app/modules/fabrikantencore/components/fab-language-select/fab-language-select.component.mjs +3 -3
  18. package/esm2020/src/app/modules/fabrikantencore/components/fab-product/fab-product-bestek/fab-product-bestek.component.mjs +3 -3
  19. package/esm2020/src/app/modules/fabrikantencore/components/fab-range-input/fab-range-input.component.mjs +1 -1
  20. package/esm2020/src/app/modules/fabrikantencore/components/fab-start/fab-start.component.mjs +1 -1
  21. package/esm2020/src/app/modules/fabrikantencore/components/fab-svg-viewer/fab-svg-viewer.component.mjs +3 -3
  22. package/esm2020/src/app/modules/fabrikantencore/components/fab-webgl-viewer/fab-webgl-viewer.component.mjs +3 -3
  23. package/esm2020/src/app/modules/fabrikantencore/fabrikantencore.module.mjs +9 -6
  24. package/esm2020/src/app/modules/fabrikantencore/services/fabrikanten.service.mjs +11 -20
  25. package/esm2020/src/app/modules/fabrikantencore/services/projectsetting.service.mjs +15 -12
  26. package/esm2020/src/app/modules/fabrikantencore/swagger/SwaggerClient.mjs +1264 -1976
  27. package/fesm2015/fabrikantencore.mjs +1692 -2499
  28. package/fesm2015/fabrikantencore.mjs.map +1 -1
  29. package/fesm2020/fabrikantencore.mjs +1686 -2491
  30. package/fesm2020/fabrikantencore.mjs.map +1 -1
  31. package/package.json +1 -1
  32. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-ebo/beheer-products-ebo.component.d.ts +2 -2
  33. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-eigenschap/beheer-products-eigenschap.component.d.ts +0 -1
  34. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-koppel-filteroption-dailog/beheer-products-koppel-filteroption-dailog.component.d.ts +1 -2
  35. package/src/app/modules/fabrikantencore/beheer/components/beheer-select-filter-dialog/beheer-select-filter-dialog.component.d.ts +20 -0
  36. package/src/app/modules/fabrikantencore/beheer/components/beheer-settings/beheer-settings-boolean/beheer-settings-boolean.component.d.ts +14 -0
  37. package/src/app/modules/fabrikantencore/fabrikantencore.module.d.ts +29 -28
  38. package/src/app/modules/fabrikantencore/services/fabrikanten.service.d.ts +1 -1
  39. package/src/app/modules/fabrikantencore/services/projectsetting.service.d.ts +1 -2
  40. package/src/app/modules/fabrikantencore/swagger/SwaggerClient.d.ts +63 -172
  41. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-connect-manyname-dialog/beheer-products-connect-manyname-dialog.component.mjs +0 -221
  42. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-connect-manyname-dialog/beheer-products-connect-manyname-dialog.component.d.ts +0 -38
@@ -1,14 +1,14 @@
1
1
  import { Component, Input } from '@angular/core';
2
- import { ConnectOpbouwOptieRequest, IgnoreOpbouwOptieRequest, RemoveOpbouwOptieRequest } from '../../../../swagger/SwaggerClient';
3
- import { BeheerProductsConnectManynameDialogComponent } from '../beheer-products-connect-manyname-dialog/beheer-products-connect-manyname-dialog.component';
4
- import { BeheerProductsKoppelFilteroptionDailogComponent } from '../beheer-products-koppel-filteroption-dailog/beheer-products-koppel-filteroption-dailog.component';
2
+ import { ConnectOpbouwRequest, IgnoreOpbouwRequest } from '../../../../swagger/SwaggerClient';
3
+ import { BeheerSelectFilterDialogComponent } from '../../beheer-select-filter-dialog/beheer-select-filter-dialog.component';
5
4
  import * as i0 from "@angular/core";
6
5
  import * as i1 from "@angular/material/dialog";
7
6
  import * as i2 from "../../../../swagger/SwaggerClient";
8
7
  import * as i3 from "../../../../services/products.service";
9
8
  import * as i4 from "@angular/common";
10
- import * as i5 from "@angular/material/icon";
11
- import * as i6 from "../beheer-products-eigenschap/beheer-products-eigenschap.component";
9
+ import * as i5 from "@angular/material/button";
10
+ import * as i6 from "@angular/material/icon";
11
+ import * as i7 from "../beheer-products-eigenschap/beheer-products-eigenschap.component";
12
12
  export class BeheerProductsEboComponent {
13
13
  constructor(dialog, ProductsApiClient, ProductsService, ChangeDetectorRef) {
14
14
  this.dialog = dialog;
@@ -19,79 +19,88 @@ export class BeheerProductsEboComponent {
19
19
  ngOnInit() {
20
20
  }
21
21
  ConnectAv() {
22
- //if (this.optie.bcbOpbouwOptieViewModel?.ignore == true) {
23
- // return false;
24
- //}
25
- //if (this.optie.bcbOpbouwOptieViewModel?.bcbOpbouwOptieFilterOptionViewModels != null &&
26
- // this.optie.bcbOpbouwOptieViewModel?.bcbOpbouwOptieFilterOptionViewModels?.length > 0) {
27
- // return false;
28
- //}
22
+ if (this.ebo.bcbeboFilterOptionViewModels != null && this.ebo.bcbeboFilterOptionViewModels.length > 0) {
23
+ return false;
24
+ }
29
25
  return true;
30
26
  }
31
27
  GetConnect() {
32
- //if (this.optie.bcbOpbouwOptieViewModel?.ignore == true) {
33
- // return "Ignore";
34
- //}
35
- //if (this.optie.bcbOpbouwOptieViewModel?.bcbOpbouwOptieFilterOptionViewModels != null &&
36
- // this.optie.bcbOpbouwOptieViewModel?.bcbOpbouwOptieFilterOptionViewModels?.length > 0) {
37
- // return this.optie.bcbOpbouwOptieViewModel?.bcbOpbouwOptieFilterOptionViewModels[0].filterOption?.filterName + ": " + this.optie.bcbOpbouwOptieViewModel?.bcbOpbouwOptieFilterOptionViewModels[0].filterOption?.name + "";
38
- //}
28
+ if (this.ebo.bcbeboFilterOptionViewModels != null && this.ebo.bcbeboFilterOptionViewModels.length > 0) {
29
+ return this.ebo.bcbeboFilterOptionViewModels[0].filterOption?.filterName + ": " + this.ebo.bcbeboFilterOptionViewModels[0].filterOption?.name;
30
+ }
39
31
  return "";
40
32
  }
41
- Connect() {
42
- var dialogRef = this.dialog.open(BeheerProductsKoppelFilteroptionDailogComponent);
33
+ ConnectMany() {
34
+ var dialogRef = this.dialog.open(BeheerSelectFilterDialogComponent, {
35
+ data: {
36
+ name: this.ebo.location
37
+ }
38
+ });
43
39
  dialogRef.afterClosed().subscribe((result) => {
44
- if (result != null) {
45
- if (result.filteroption != null && result.filteroption > 0) {
46
- var request = new ConnectOpbouwOptieRequest();
47
- //request.bcbProductOpbouwOptieId = this.optie.id;
48
- request.filterOptionId = result.filteroption;
49
- this.ProductsApiClient.connectBCBOpbouwOptieFilterOption(request).subscribe(() => {
50
- this.ProductsService.LoadProduct(this.ChangeDetectorRef);
51
- }, (error) => {
52
- alert(error);
53
- });
54
- }
55
- else if (result.filter != null) {
56
- alert('??');
40
+ if (this.ProductsService.BCBProductViewModel != null) {
41
+ if (result?.filter != null) {
42
+ if (result.filter > 0) {
43
+ if (confirm("Weet je het zeker?")) {
44
+ var request = new ConnectOpbouwRequest();
45
+ request.bcbeboId = this.ebo.id;
46
+ request.filterId = result.filter;
47
+ request.bcbProductId = this.ProductsService.BCBProductViewModel.id;
48
+ this.ProductsApiClient.connectOpbouw(request).subscribe(() => {
49
+ this.ProductsService.LoadProduct(this.ChangeDetectorRef);
50
+ }, (error) => {
51
+ alert(error);
52
+ });
53
+ }
54
+ }
57
55
  }
58
56
  }
59
57
  });
60
58
  }
61
- ConnectMany() {
62
- var dialogRef = this.dialog.open(BeheerProductsConnectManynameDialogComponent, {
63
- data: {
64
- //bcbproductopbouwoptieid: this.optie.id
59
+ //public Ignore(): void {
60
+ // var request = new IgnoreOpbouwRequest();
61
+ // request.bcbeboId = this.ebo.id;
62
+ // request.bcbOpbouwId = -1;
63
+ // this.ProductsApiClient.ignoreBCBOpbouw(request).subscribe(() => {
64
+ // this.ProductsService.LoadProduct(this.ChangeDetectorRef);
65
+ // }, (error: Response) => {
66
+ // alert(error);
67
+ // });
68
+ //}
69
+ IgnoreMany() {
70
+ if (confirm("Weet je het zeker?")) {
71
+ if (this.ProductsService.BCBProductViewModel != null) {
72
+ var request = new IgnoreOpbouwRequest();
73
+ request.bcbeboId = this.ebo.id;
74
+ request.location = this.ebo.location;
75
+ request.bcbProductId = this.ProductsService.BCBProductViewModel.id;
76
+ this.ProductsApiClient.ignoreBCBOpbouw(request).subscribe(() => {
77
+ this.ProductsService.LoadProduct(this.ChangeDetectorRef);
78
+ }, (error) => {
79
+ alert(error);
80
+ });
65
81
  }
66
- });
82
+ }
67
83
  }
68
- Ignore() {
69
- var request = new IgnoreOpbouwOptieRequest();
70
- // request.bcbProductOpbouwOptieId = this.optie.id;
71
- this.ProductsApiClient.ignoreBCBOpbouwOptieFilterOption(request).subscribe(() => {
72
- this.ProductsService.LoadProduct(this.ChangeDetectorRef);
73
- }, (error) => {
74
- alert(error);
75
- });
84
+ RemoveIgnore() {
76
85
  }
77
86
  Remove() {
78
- var request = new RemoveOpbouwOptieRequest();
79
- //request.bcbProductOpbouwOptieId = this.optie.id;
80
- this.ProductsApiClient.removeBCBOpbouwOptieFilterOption(request).subscribe(() => {
81
- this.ProductsService.LoadProduct(this.ChangeDetectorRef);
82
- }, (error) => {
83
- alert(error);
84
- });
87
+ //var request = new RemoveOpbouwOptieRequest();
88
+ ////request.bcbProductOpbouwOptieId = this.optie.id;
89
+ //this.ProductsApiClient.removeBCBOpbouwOptieFilterOption(request).subscribe(() => {
90
+ // this.ProductsService.LoadProduct(this.ChangeDetectorRef);
91
+ //}, (error: Response) => {
92
+ // alert(error);
93
+ //});
85
94
  }
86
95
  Toggle() {
87
96
  this.ebo.open = !this.ebo.open;
88
97
  }
89
98
  }
90
99
  BeheerProductsEboComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerProductsEboComponent, deps: [{ token: i1.MatDialog }, { token: i2.ProductsApiClient }, { token: i3.ProductsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
91
- BeheerProductsEboComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: BeheerProductsEboComponent, selector: "app-beheer-products-ebo", inputs: { ebo: "ebo" }, ngImport: i0, template: "<div class=\"container\" [ngClass]=\"{'warning': !ebo.connected, 'normal': ebo.connected}\">\r\n <div class=\"row\" (click)=\"Toggle()\">\r\n <div class=\"icon-td\">\r\n <mat-icon *ngIf=\"!ebo.open\">expand_more</mat-icon>\r\n <mat-icon *ngIf=\"ebo.open\">expand_less</mat-icon>\r\n </div>\r\n <div class=\"name\" colspan=\"2\">\r\n {{ ebo.name }}\r\n </div>\r\n </div>\r\n <div *ngIf=\"ebo.open\" class=\"main-block\">\r\n <!--<div class=\"displayflex\" *ngIf=\"!ebo.connected && ConnectAv()\">\r\n <button mat-raised-button (click)=\"Ignore()\">\r\n Ignore\r\n </button>\r\n <button mat-raised-button (click)=\"Connect()\">\r\n FilterOption\r\n </button>\r\n <button mat-raised-button (click)=\"ConnectMany()\">\r\n FilterOptionMany\r\n </button>\r\n </div>\r\n <div class=\"displayflex\" *ngIf=\"!ConnectAv()\">\r\n <div class=\"text\">\r\n {{ GetConnect() }}\r\n </div>\r\n <button mat-raised-button (click)=\"Remove()\">\r\n Remove\r\n </button>\r\n </div>-->\r\n\r\n <div *ngIf=\"ebo.bcbOpbouwViewModels?.length != 0\">\r\n <div class=\"title\">Opbouw</div>\r\n <app-beheer-products-opbouw *ngFor=\"let opbouw of ebo.bcbOpbouwViewModels\" [opbouw]=\"opbouw\"></app-beheer-products-opbouw>\r\n </div>\r\n <div *ngIf=\"ebo.bcbEigenschapViewModels?.length != 0\">\r\n <div class=\"title\">Eigenschap</div>\r\n <app-beheer-products-eigenschap *ngFor=\"let eigenschap of ebo.bcbEigenschapViewModels\" [eigenschap]=\"eigenschap\"></app-beheer-products-eigenschap>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".row{cursor:pointer;display:flex}.displayflex{display:flex}.text{padding:8px;font-size:17px}.main-block{padding-left:25px}.container{margin:5px;padding:5px;border:1px solid #000}.name{flex:auto}.icon-td{width:24px;height:24px}.warning{background-color:#f08080}.normal{background-color:#fff}.title{border-bottom:2px solid #000;font-size:20px;margin-top:5px;margin-bottom:5px}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i4.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i4.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i4.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i0.forwardRef(function () { return i5.MatIcon; }), selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i0.forwardRef(function () { return i6.BeheerProductsEigenschapComponent; }), selector: "app-beheer-products-eigenschap", inputs: ["eigenschap"] }, { kind: "component", type: i0.forwardRef(function () { return BeheerProductsOpbouwComponent; }), selector: "app-beheer-products-opbouw", inputs: ["opbouw"] }] });
100
+ BeheerProductsEboComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: BeheerProductsEboComponent, selector: "app-beheer-products-ebo", inputs: { ebo: "ebo" }, ngImport: i0, template: "<div class=\"container\" [ngClass]=\"{'warning': !ebo.connected, 'normal': ebo.connected}\">\r\n <div class=\"row\" (click)=\"Toggle()\">\r\n <div class=\"icon-td\">\r\n <mat-icon *ngIf=\"!ebo.open\">expand_more</mat-icon>\r\n <mat-icon *ngIf=\"ebo.open\">expand_less</mat-icon>\r\n </div>\r\n <div class=\"name\" colspan=\"2\">\r\n {{ ebo.name }}\r\n </div>\r\n </div>\r\n <div *ngIf=\"ebo.open\" class=\"main-block\">\r\n <div class=\"buttonbar\" *ngIf=\"!ebo.connected && ConnectAv() && !ebo.ignore\">\r\n <button mat-raised-button (click)=\"ConnectMany()\">\r\n Filter Many\r\n </button>\r\n <!--<button mat-raised-button (click)=\"Ignore()\">\r\n Ignore\r\n </button>-->\r\n <button mat-raised-button (click)=\"IgnoreMany()\">\r\n Ignore Many\r\n </button>\r\n </div>\r\n <div class=\"displayflex\" *ngIf=\"!ConnectAv()\">\r\n <div class=\"text\">\r\n {{ GetConnect() }}\r\n </div>\r\n <button mat-raised-button (click)=\"Remove()\">\r\n Remove\r\n </button>\r\n </div>\r\n <div class=\"displayflex\" *ngIf=\"ebo.ignore\">\r\n <div class=\"text\">\r\n Ignore\r\n </div>\r\n <button mat-raised-button (click)=\"RemoveIgnore()\">\r\n Remove\r\n </button>\r\n </div>\r\n\r\n <div *ngIf=\"ebo.bcbOpbouwViewModels?.length != 0\">\r\n <div class=\"title\">Opbouw</div>\r\n <app-beheer-products-opbouw *ngFor=\"let opbouw of ebo.bcbOpbouwViewModels\" [opbouw]=\"opbouw\"></app-beheer-products-opbouw>\r\n </div>\r\n <div *ngIf=\"ebo.bcbEigenschapViewModels?.length != 0\">\r\n <div class=\"title\">Eigenschap</div>\r\n <app-beheer-products-eigenschap *ngFor=\"let eigenschap of ebo.bcbEigenschapViewModels\" [eigenschap]=\"eigenschap\"></app-beheer-products-eigenschap>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".row{cursor:pointer;display:flex}.displayflex{display:flex}.buttonbar{display:flex;gap:3px}.text{padding:8px;font-size:17px}.main-block{padding-left:25px}.container{margin:5px;padding:5px;border:1px solid #000}.name{flex:auto}.icon-td{width:24px;height:24px}.warning{background-color:#f08080}.normal{background-color:#fff}.title{border-bottom:2px solid #000;font-size:20px;margin-top:5px;margin-bottom:5px}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i4.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i4.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i4.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i0.forwardRef(function () { return 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: i0.forwardRef(function () { return i6.MatIcon; }), selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i0.forwardRef(function () { return i7.BeheerProductsEigenschapComponent; }), selector: "app-beheer-products-eigenschap", inputs: ["eigenschap"] }, { kind: "component", type: i0.forwardRef(function () { return BeheerProductsOpbouwComponent; }), selector: "app-beheer-products-opbouw", inputs: ["opbouw"] }] });
92
101
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerProductsEboComponent, decorators: [{
93
102
  type: Component,
94
- args: [{ selector: 'app-beheer-products-ebo', template: "<div class=\"container\" [ngClass]=\"{'warning': !ebo.connected, 'normal': ebo.connected}\">\r\n <div class=\"row\" (click)=\"Toggle()\">\r\n <div class=\"icon-td\">\r\n <mat-icon *ngIf=\"!ebo.open\">expand_more</mat-icon>\r\n <mat-icon *ngIf=\"ebo.open\">expand_less</mat-icon>\r\n </div>\r\n <div class=\"name\" colspan=\"2\">\r\n {{ ebo.name }}\r\n </div>\r\n </div>\r\n <div *ngIf=\"ebo.open\" class=\"main-block\">\r\n <!--<div class=\"displayflex\" *ngIf=\"!ebo.connected && ConnectAv()\">\r\n <button mat-raised-button (click)=\"Ignore()\">\r\n Ignore\r\n </button>\r\n <button mat-raised-button (click)=\"Connect()\">\r\n FilterOption\r\n </button>\r\n <button mat-raised-button (click)=\"ConnectMany()\">\r\n FilterOptionMany\r\n </button>\r\n </div>\r\n <div class=\"displayflex\" *ngIf=\"!ConnectAv()\">\r\n <div class=\"text\">\r\n {{ GetConnect() }}\r\n </div>\r\n <button mat-raised-button (click)=\"Remove()\">\r\n Remove\r\n </button>\r\n </div>-->\r\n\r\n <div *ngIf=\"ebo.bcbOpbouwViewModels?.length != 0\">\r\n <div class=\"title\">Opbouw</div>\r\n <app-beheer-products-opbouw *ngFor=\"let opbouw of ebo.bcbOpbouwViewModels\" [opbouw]=\"opbouw\"></app-beheer-products-opbouw>\r\n </div>\r\n <div *ngIf=\"ebo.bcbEigenschapViewModels?.length != 0\">\r\n <div class=\"title\">Eigenschap</div>\r\n <app-beheer-products-eigenschap *ngFor=\"let eigenschap of ebo.bcbEigenschapViewModels\" [eigenschap]=\"eigenschap\"></app-beheer-products-eigenschap>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".row{cursor:pointer;display:flex}.displayflex{display:flex}.text{padding:8px;font-size:17px}.main-block{padding-left:25px}.container{margin:5px;padding:5px;border:1px solid #000}.name{flex:auto}.icon-td{width:24px;height:24px}.warning{background-color:#f08080}.normal{background-color:#fff}.title{border-bottom:2px solid #000;font-size:20px;margin-top:5px;margin-bottom:5px}\n"] }]
103
+ args: [{ selector: 'app-beheer-products-ebo', template: "<div class=\"container\" [ngClass]=\"{'warning': !ebo.connected, 'normal': ebo.connected}\">\r\n <div class=\"row\" (click)=\"Toggle()\">\r\n <div class=\"icon-td\">\r\n <mat-icon *ngIf=\"!ebo.open\">expand_more</mat-icon>\r\n <mat-icon *ngIf=\"ebo.open\">expand_less</mat-icon>\r\n </div>\r\n <div class=\"name\" colspan=\"2\">\r\n {{ ebo.name }}\r\n </div>\r\n </div>\r\n <div *ngIf=\"ebo.open\" class=\"main-block\">\r\n <div class=\"buttonbar\" *ngIf=\"!ebo.connected && ConnectAv() && !ebo.ignore\">\r\n <button mat-raised-button (click)=\"ConnectMany()\">\r\n Filter Many\r\n </button>\r\n <!--<button mat-raised-button (click)=\"Ignore()\">\r\n Ignore\r\n </button>-->\r\n <button mat-raised-button (click)=\"IgnoreMany()\">\r\n Ignore Many\r\n </button>\r\n </div>\r\n <div class=\"displayflex\" *ngIf=\"!ConnectAv()\">\r\n <div class=\"text\">\r\n {{ GetConnect() }}\r\n </div>\r\n <button mat-raised-button (click)=\"Remove()\">\r\n Remove\r\n </button>\r\n </div>\r\n <div class=\"displayflex\" *ngIf=\"ebo.ignore\">\r\n <div class=\"text\">\r\n Ignore\r\n </div>\r\n <button mat-raised-button (click)=\"RemoveIgnore()\">\r\n Remove\r\n </button>\r\n </div>\r\n\r\n <div *ngIf=\"ebo.bcbOpbouwViewModels?.length != 0\">\r\n <div class=\"title\">Opbouw</div>\r\n <app-beheer-products-opbouw *ngFor=\"let opbouw of ebo.bcbOpbouwViewModels\" [opbouw]=\"opbouw\"></app-beheer-products-opbouw>\r\n </div>\r\n <div *ngIf=\"ebo.bcbEigenschapViewModels?.length != 0\">\r\n <div class=\"title\">Eigenschap</div>\r\n <app-beheer-products-eigenschap *ngFor=\"let eigenschap of ebo.bcbEigenschapViewModels\" [eigenschap]=\"eigenschap\"></app-beheer-products-eigenschap>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".row{cursor:pointer;display:flex}.displayflex{display:flex}.buttonbar{display:flex;gap:3px}.text{padding:8px;font-size:17px}.main-block{padding-left:25px}.container{margin:5px;padding:5px;border:1px solid #000}.name{flex:auto}.icon-td{width:24px;height:24px}.warning{background-color:#f08080}.normal{background-color:#fff}.title{border-bottom:2px solid #000;font-size:20px;margin-top:5px;margin-bottom:5px}\n"] }]
95
104
  }], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.ProductsApiClient }, { type: i3.ProductsService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { ebo: [{
96
105
  type: Input
97
106
  }] } });
@@ -104,11 +113,11 @@ export class BeheerProductsOpbouwComponent {
104
113
  }
105
114
  }
106
115
  BeheerProductsOpbouwComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerProductsOpbouwComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
107
- BeheerProductsOpbouwComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: BeheerProductsOpbouwComponent, selector: "app-beheer-products-opbouw", inputs: { opbouw: "opbouw" }, ngImport: i0, template: "<div class=\"container\" [ngClass]=\"{'warning': !opbouw.connected, 'normal': opbouw.connected }\">\r\n <div class=\"row\" (click)=\"Toggle()\">\r\n <div class=\"icon-td\">\r\n <mat-icon *ngIf=\"!opbouw.open\">expand_more</mat-icon>\r\n <mat-icon *ngIf=\"opbouw.open\">expand_less</mat-icon>\r\n </div>\r\n <div class=\"eigenschapcel\" colspan=\"2\">\r\n {{opbouw?.name}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"opbouw.open\" class=\"main-block\">\r\n <div *ngFor=\"let ebo of opbouw.ebos\" [ngClass]=\"{'warning': !ebo.connected}\">\r\n <app-beheer-products-ebo [ebo]=\"ebo\"></app-beheer-products-ebo>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".card{margin:3px}.full-width{width:100%}.row{cursor:pointer;display:flex}.main-block{padding-left:25px}.container{margin:5px;padding:5px;border:1px solid #000}.eigenschapcel{flex:auto}.optiecel{border-bottom:1px solid #000}.optiecellast{width:50%}.icon-td{width:24px;height:24px}.text-div{flex:auto}.warning{background-color:#f08080}.normal{background-color:#fff}\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.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: BeheerProductsEboComponent, selector: "app-beheer-products-ebo", inputs: ["ebo"] }] });
116
+ BeheerProductsOpbouwComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: BeheerProductsOpbouwComponent, selector: "app-beheer-products-opbouw", inputs: { opbouw: "opbouw" }, ngImport: i0, template: "<div class=\"container\" [ngClass]=\"{'warning': !opbouw.connected, 'normal': opbouw.connected }\">\r\n <div class=\"row\" (click)=\"Toggle()\">\r\n <div class=\"icon-td\">\r\n <mat-icon *ngIf=\"!opbouw.open\">expand_more</mat-icon>\r\n <mat-icon *ngIf=\"opbouw.open\">expand_less</mat-icon>\r\n </div>\r\n <div class=\"eigenschapcel\" colspan=\"2\">\r\n {{opbouw?.name}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"opbouw.open\" class=\"main-block\">\r\n <div *ngFor=\"let ebo of opbouw.ebos\" [ngClass]=\"{'warning': !ebo.connected}\">\r\n <app-beheer-products-ebo [ebo]=\"ebo\"></app-beheer-products-ebo>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".card{margin:3px}.full-width{width:100%}.row{cursor:pointer;display:flex}.main-block{padding-left:25px}.container{margin:5px;padding:5px;border:1px solid #000}.eigenschapcel{flex:auto}.optiecel{border-bottom:1px solid #000}.optiecellast{width:50%}.icon-td{width:24px;height:24px}.text-div{flex:auto}.warning{background-color:#f08080}.normal{background-color:#fff}\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: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: BeheerProductsEboComponent, selector: "app-beheer-products-ebo", inputs: ["ebo"] }] });
108
117
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerProductsOpbouwComponent, decorators: [{
109
118
  type: Component,
110
119
  args: [{ selector: 'app-beheer-products-opbouw', template: "<div class=\"container\" [ngClass]=\"{'warning': !opbouw.connected, 'normal': opbouw.connected }\">\r\n <div class=\"row\" (click)=\"Toggle()\">\r\n <div class=\"icon-td\">\r\n <mat-icon *ngIf=\"!opbouw.open\">expand_more</mat-icon>\r\n <mat-icon *ngIf=\"opbouw.open\">expand_less</mat-icon>\r\n </div>\r\n <div class=\"eigenschapcel\" colspan=\"2\">\r\n {{opbouw?.name}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"opbouw.open\" class=\"main-block\">\r\n <div *ngFor=\"let ebo of opbouw.ebos\" [ngClass]=\"{'warning': !ebo.connected}\">\r\n <app-beheer-products-ebo [ebo]=\"ebo\"></app-beheer-products-ebo>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".card{margin:3px}.full-width{width:100%}.row{cursor:pointer;display:flex}.main-block{padding-left:25px}.container{margin:5px;padding:5px;border:1px solid #000}.eigenschapcel{flex:auto}.optiecel{border-bottom:1px solid #000}.optiecellast{width:50%}.icon-td{width:24px;height:24px}.text-div{flex:auto}.warning{background-color:#f08080}.normal{background-color:#fff}\n"] }]
111
120
  }], ctorParameters: function () { return []; }, propDecorators: { opbouw: [{
112
121
  type: Input
113
122
  }] } });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXByb2R1Y3RzLWViby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1wcm9kdWN0cy9iZWhlZXItcHJvZHVjdHMtZWJvL2JlaGVlci1wcm9kdWN0cy1lYm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWViby9iZWhlZXItcHJvZHVjdHMtZWJvLmNvbXBvbmVudC5odG1sIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWViby9iZWhlZXItcHJvZHVjdHMtb3Bib3V3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUc1RSxPQUFPLEVBQXFCLHlCQUF5QixFQUFFLHdCQUF3QixFQUFFLHdCQUF3QixFQUF1QyxNQUFNLG1DQUFtQyxDQUFDO0FBQzFMLE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxNQUFNLDhGQUE4RixDQUFDO0FBQzVKLE9BQU8sRUFBRSwrQ0FBK0MsRUFBRSxNQUFNLG9HQUFvRyxDQUFDOzs7Ozs7OztBQU9ySyxNQUFNLE9BQU8sMEJBQTBCO0lBSXJDLFlBQ1MsTUFBaUIsRUFDaEIsaUJBQW9DLEVBQ3BDLGVBQWdDLEVBQ2hDLGlCQUFvQztRQUhyQyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2hCLHNCQUFp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UUFDWCxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO0lBQ2pDLENBQUM7O3VIQWpHVSwwQkFBMEI7MkdBQTFCLDBCQUEwQix1RkNadkMsNm5EQXlDQSxtdkNENEVhLDZCQUE2QjsyRkF6RzdCLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSx5QkFBeUI7OExBTTFCLEdBQUc7c0JBQVgsS0FBSzs7QUF1R1IsTUFBTSxPQUFPLDZCQUE2QjtJQUl4QyxnQkFBZ0IsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ3ZDLENBQUM7OzBIQVhVLDZCQUE2Qjs4R0FBN0IsNkJBQTZCLGdHRXJIMUMsMHFCQWdCQSwyM0JGSmEsMEJBQTBCOzJGQXlHMUIsNkJBQTZCO2tCQUx6QyxTQUFTOytCQUNFLDRCQUE0QjswRUFNN0IsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgUHJvZHVjdHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvcHJvZHVjdHMuc2VydmljZSc7XHJcbmltcG9ydCB7IFByb2R1Y3RzQXBpQ2xpZW50LCBDb25uZWN0T3Bib3V3T3B0aWVSZXF1ZXN0LCBJZ25vcmVPcGJvdXdPcHRpZVJlcXVlc3QsIFJlbW92ZU9wYm91d09wdGllUmVxdWVzdCwgQkNCRUJPVmlld01vZGVsLCBCQ0JPcGJvdXdWaWV3TW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi9zd2FnZ2VyL1N3YWdnZXJDbGllbnQnO1xyXG5pbXBvcnQgeyBCZWhlZXJQcm9kdWN0c0Nvbm5lY3RNYW55bmFtZURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2JlaGVlci1wcm9kdWN0cy1jb25uZWN0LW1hbnluYW1lLWRpYWxvZy9iZWhlZXItcHJvZHVjdHMtY29ubmVjdC1tYW55bmFtZS1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyUHJvZHVjdHNLb3BwZWxGaWx0ZXJvcHRpb25EYWlsb2dDb21wb25lbnQgfSBmcm9tICcuLi9iZWhlZXItcHJvZHVjdHMta29wcGVsLWZpbHRlcm9wdGlvbi1kYWlsb2cvYmVoZWVyLXByb2R1Y3RzLWtvcHBlbC1maWx0ZXJvcHRpb24tZGFpbG9nLmNvbXBvbmVudCc7XHJcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWJlaGVlci1wcm9kdWN0cy1lYm8nLFxuICB0ZW1wbGF0ZVVybDogJy4vYmVoZWVyLXByb2R1Y3RzLWViby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2JlaGVlci1wcm9kdWN0cy1lYm8uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCZWhlZXJQcm9kdWN0c0Vib0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgZWJvOiBCQ0JFQk9WaWV3TW9kZWw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgUHJvZHVjdHNBcGlDbGllbnQ6IFByb2R1Y3RzQXBpQ2xpZW50LFxuICAgIHByaXZhdGUgUHJvZHVjdHNTZXJ2aWNlOiBQcm9kdWN0c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBDaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbiAgcHVibGljIENvbm5lY3RBdigpOiBib29sZWFuIHtcbiAgICAvL2lmICh0aGlzLm9wdGllLmJjYk9wYm91d09wdGllVmlld01vZGVsPy5pZ25vcmUgPT0gdHJ1ZSkge1xuICAgIC8vICByZXR1cm4gZmFsc2U7XHJcbiAgICAvL31cblxuICAgIC8vaWYgKHRoaXMub3B0aWUuYmNiT3Bib3V3T3B0aWVWaWV3TW9kZWw/LmJjYk9wYm91d09wdGllRmlsdGVyT3B0aW9uVmlld01vZGVscyAhPSBudWxsICYmXG4gICAgLy8gIHRoaXMub3B0aWUuYmNiT3Bib3V3T3B0aWVWaWV3TW9kZWw/LmJjYk9wYm91d09wdGllRmlsdGVyT3B0aW9uVmlld01vZGVscz8ubGVuZ3RoID4gMCkge1xuICAgIC8vICByZXR1cm4gZmFsc2U7XHJcbiAgICAvL31cblxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cblxuICBwdWJsaWMgR2V0Q29ubmVjdCgpOiBzdHJpbmcge1xuICAgIC8vaWYgKHRoaXMub3B0aWUuYmNiT3Bib3V3T3B0aWVWaWV3TW9kZWw/Lmlnbm9yZSA9PSB0cnVlKSB7XG4gICAgLy8gIHJldHVybiBcIklnbm9yZVwiO1xyXG4gICAgLy99XG5cbiAgICAvL2lmICh0aGlzLm9wdGllLmJjYk9wYm91d09wdGllVmlld01vZGVsPy5iY2JPcGJvdXdPcHRpZUZpbHRlck9wdGlvblZpZXdNb2RlbHMgIT0gbnVsbCAmJlxuICAgIC8vICB0aGlzLm9wdGllLmJjYk9wYm91d09wdGllVmlld01vZGVsPy5iY2JPcGJvdXdPcHRpZUZpbHRlck9wdGlvblZpZXdNb2RlbHM/Lmxlbmd0aCA+IDApIHtcbiAgICAvLyAgcmV0dXJuIHRoaXMub3B0aWUuYmNiT3Bib3V3T3B0aWVWaWV3TW9kZWw/LmJjYk9wYm91d09wdGllRmlsdGVyT3B0aW9uVmlld01vZGVsc1swXS5maWx0ZXJPcHRpb24/LmZpbHRlck5hbWUgKyBcIjogXCIgKyB0aGlzLm9wdGllLmJjYk9wYm91d09wdGllVmlld01vZGVsPy5iY2JPcGJvdXdPcHRpZUZpbHRlck9wdGlvblZpZXdNb2RlbHNbMF0uZmlsdGVyT3B0aW9uPy5uYW1lICsgXCJcIjtcclxuICAgIC8vfVxuXG4gICAgcmV0dXJuIFwiXCI7XHJcbiAgfVxuXG4gIHB1YmxpYyBDb25uZWN0KCk6IHZvaWQge1xuICAgIHZhciBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEJlaGVlclByb2R1Y3RzS29wcGVsRmlsdGVyb3B0aW9uRGFpbG9nQ29tcG9uZW50KTtcclxuXHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQgIT0gbnVsbCkge1xyXG4gICAgICAgIGlmIChyZXN1bHQuZmlsdGVyb3B0aW9uICE9IG51bGwgJiYgcmVzdWx0LmZpbHRlcm9wdGlvbiA+IDApIHtcclxuICAgICAgICAgIHZhciByZXF1ZXN0ID0gbmV3IENvbm5lY3RPcGJvdXdPcHRpZVJlcXVlc3QoKTtcclxuXHJcbiAgICAgICAgICAvL3JlcXVlc3QuYmNiUHJvZHVjdE9wYm91d09wdGllSWQgPSB0aGlzLm9wdGllLmlkO1xyXG4gICAgICAgICAgcmVxdWVzdC5maWx0ZXJPcHRpb25JZCA9IHJlc3VsdC5maWx0ZXJvcHRpb247XHJcblxyXG4gICAgICAgICAgdGhpcy5Qcm9kdWN0c0FwaUNsaWVudC5jb25uZWN0QkNCT3Bib3V3T3B0aWVGaWx0ZXJPcHRpb24ocmVxdWVzdCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5Qcm9kdWN0c1NlcnZpY2UuTG9hZFByb2R1Y3QodGhpcy5DaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgICAgICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgIGFsZXJ0KGVycm9yKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChyZXN1bHQuZmlsdGVyICE9IG51bGwpIHtcclxuICAgICAgICAgIGFsZXJ0KCc/PycpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxuXG4gIHB1YmxpYyBDb25uZWN0TWFueSgpOiB2b2lkIHtcclxuICAgIHZhciBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEJlaGVlclByb2R1Y3RzQ29ubmVjdE1hbnluYW1lRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICAvL2JjYnByb2R1Y3RvcGJvdXdvcHRpZWlkOiB0aGlzLm9wdGllLmlkXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cblxuICBwdWJsaWMgSWdub3JlKCk6IHZvaWQge1xuICAgIHZhciByZXF1ZXN0ID0gbmV3IElnbm9yZU9wYm91d09wdGllUmVxdWVzdCgpO1xyXG5cclxuICAgLy8gcmVxdWVzdC5iY2JQcm9kdWN0T3Bib3V3T3B0aWVJZCA9IHRoaXMub3B0aWUuaWQ7XHJcblxyXG4gICAgdGhpcy5Qcm9kdWN0c0FwaUNsaWVudC5pZ25vcmVCQ0JPcGJvdXdPcHRpZUZpbHRlck9wdGlvbihyZXF1ZXN0KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLlByb2R1Y3RzU2VydmljZS5Mb2FkUHJvZHVjdCh0aGlzLkNoYW5nZURldGVjdG9yUmVmKTtcclxuICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgYWxlcnQoZXJyb3IpO1xyXG4gICAgfSk7XHJcbiAgfVxuXG4gIHB1YmxpYyBSZW1vdmUoKTogdm9pZCB7XG4gICAgdmFyIHJlcXVlc3QgPSBuZXcgUmVtb3ZlT3Bib3V3T3B0aWVSZXF1ZXN0KCk7XHJcblxyXG4gICAgLy9yZXF1ZXN0LmJjYlByb2R1Y3RPcGJvdXdPcHRpZUlkID0gdGhpcy5vcHRpZS5pZDtcclxuXHJcbiAgICB0aGlzLlByb2R1Y3RzQXBpQ2xpZW50LnJlbW92ZUJDQk9wYm91d09wdGllRmlsdGVyT3B0aW9uKHJlcXVlc3QpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuUHJvZHVjdHNTZXJ2aWNlLkxvYWRQcm9kdWN0KHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICBhbGVydChlcnJvcik7XHJcbiAgICB9KTtcclxuICB9XG5cbiAgcHVibGljIFRvZ2dsZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZWJvLm9wZW4gPSAhdGhpcy5lYm8ub3BlbjtcclxuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1iZWhlZXItcHJvZHVjdHMtb3Bib3V3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JlaGVlci1wcm9kdWN0cy1vcGJvdXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iZWhlZXItcHJvZHVjdHMtb3Bib3V3LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQmVoZWVyUHJvZHVjdHNPcGJvdXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIG9wYm91dzogQkNCT3Bib3V3Vmlld01vZGVsO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuICBwdWJsaWMgVG9nZ2xlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5vcGJvdXcub3BlbiA9ICF0aGlzLm9wYm91dy5vcGVuO1xyXG4gIH1cbn1cblxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInsnd2FybmluZyc6ICFlYm8uY29ubmVjdGVkLCAnbm9ybWFsJzogZWJvLmNvbm5lY3RlZH1cIj5cclxuICA8ZGl2IGNsYXNzPVwicm93XCIgKGNsaWNrKT1cIlRvZ2dsZSgpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaWNvbi10ZFwiPlxyXG4gICAgICA8bWF0LWljb24gKm5nSWY9XCIhZWJvLm9wZW5cIj5leHBhbmRfbW9yZTwvbWF0LWljb24+XHJcbiAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImViby5vcGVuXCI+ZXhwYW5kX2xlc3M8L21hdC1pY29uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwibmFtZVwiIGNvbHNwYW49XCIyXCI+XHJcbiAgICAgIHt7IGViby5uYW1lIH19XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpuZ0lmPVwiZWJvLm9wZW5cIiBjbGFzcz1cIm1haW4tYmxvY2tcIj5cclxuICAgIDwhLS08ZGl2IGNsYXNzPVwiZGlzcGxheWZsZXhcIiAqbmdJZj1cIiFlYm8uY29ubmVjdGVkICYmIENvbm5lY3RBdigpXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIklnbm9yZSgpXCI+XHJcbiAgICAgICAgSWdub3JlXHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJDb25uZWN0KClcIj5cclxuICAgICAgICBGaWx0ZXJPcHRpb25cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIkNvbm5lY3RNYW55KClcIj5cclxuICAgICAgICBGaWx0ZXJPcHRpb25NYW55XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZGlzcGxheWZsZXhcIiAqbmdJZj1cIiFDb25uZWN0QXYoKVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dFwiPlxyXG4gICAgICAgIHt7IEdldENvbm5lY3QoKSB9fVxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiUmVtb3ZlKClcIj5cclxuICAgICAgICBSZW1vdmVcclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj4tLT5cclxuXHJcbiAgICA8ZGl2ICpuZ0lmPVwiZWJvLmJjYk9wYm91d1ZpZXdNb2RlbHM/Lmxlbmd0aCAhPSAwXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPk9wYm91dzwvZGl2PlxyXG4gICAgICA8YXBwLWJlaGVlci1wcm9kdWN0cy1vcGJvdXcgKm5nRm9yPVwibGV0IG9wYm91dyBvZiBlYm8uYmNiT3Bib3V3Vmlld01vZGVsc1wiIFtvcGJvdXddPVwib3Bib3V3XCI+PC9hcHAtYmVoZWVyLXByb2R1Y3RzLW9wYm91dz5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cImViby5iY2JFaWdlbnNjaGFwVmlld01vZGVscz8ubGVuZ3RoICE9IDBcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+RWlnZW5zY2hhcDwvZGl2PlxyXG4gICAgICA8YXBwLWJlaGVlci1wcm9kdWN0cy1laWdlbnNjaGFwICpuZ0Zvcj1cImxldCBlaWdlbnNjaGFwIG9mIGViby5iY2JFaWdlbnNjaGFwVmlld01vZGVsc1wiIFtlaWdlbnNjaGFwXT1cImVpZ2Vuc2NoYXBcIj48L2FwcC1iZWhlZXItcHJvZHVjdHMtZWlnZW5zY2hhcD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInsnd2FybmluZyc6ICFvcGJvdXcuY29ubmVjdGVkLCAnbm9ybWFsJzogb3Bib3V3LmNvbm5lY3RlZCB9XCI+XHJcbiAgPGRpdiBjbGFzcz1cInJvd1wiIChjbGljayk9XCJUb2dnbGUoKVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImljb24tdGRcIj5cclxuICAgICAgPG1hdC1pY29uICpuZ0lmPVwiIW9wYm91dy5vcGVuXCI+ZXhwYW5kX21vcmU8L21hdC1pY29uPlxyXG4gICAgICA8bWF0LWljb24gKm5nSWY9XCJvcGJvdXcub3BlblwiPmV4cGFuZF9sZXNzPC9tYXQtaWNvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImVpZ2Vuc2NoYXBjZWxcIiBjb2xzcGFuPVwiMlwiPlxyXG4gICAgICB7e29wYm91dz8ubmFtZX19XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpuZ0lmPVwib3Bib3V3Lm9wZW5cIiBjbGFzcz1cIm1haW4tYmxvY2tcIj5cclxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGVibyBvZiBvcGJvdXcuZWJvc1wiIFtuZ0NsYXNzXT1cInsnd2FybmluZyc6ICFlYm8uY29ubmVjdGVkfVwiPlxyXG4gICAgICA8YXBwLWJlaGVlci1wcm9kdWN0cy1lYm8gW2Vib109XCJlYm9cIj48L2FwcC1iZWhlZXItcHJvZHVjdHMtZWJvPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXByb2R1Y3RzLWViby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1wcm9kdWN0cy9iZWhlZXItcHJvZHVjdHMtZWJvL2JlaGVlci1wcm9kdWN0cy1lYm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWViby9iZWhlZXItcHJvZHVjdHMtZWJvLmNvbXBvbmVudC5odG1sIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWViby9iZWhlZXItcHJvZHVjdHMtb3Bib3V3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUc1RSxPQUFPLEVBQXFCLG9CQUFvQixFQUF1QyxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3RKLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHlFQUF5RSxDQUFDOzs7Ozs7Ozs7QUFPNUgsTUFBTSxPQUFPLDBCQUEwQjtJQUlyQyxZQUNTLE1BQWlCLEVBQ2hCLGlCQUFvQyxFQUNwQyxlQUFnQyxFQUNoQyxpQkFBb0M7UUFIckMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNoQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxz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RSw0QkFBNEI7MEVBTTdCLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgUHJvZHVjdHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvcHJvZHVjdHMuc2VydmljZSc7XHJcbmltcG9ydCB7IFByb2R1Y3RzQXBpQ2xpZW50LCBDb25uZWN0T3Bib3V3UmVxdWVzdCwgQkNCRUJPVmlld01vZGVsLCBCQ0JPcGJvdXdWaWV3TW9kZWwsIElnbm9yZU9wYm91d1JlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi8uLi9zd2FnZ2VyL1N3YWdnZXJDbGllbnQnO1xyXG5pbXBvcnQgeyBCZWhlZXJTZWxlY3RGaWx0ZXJEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi8uLi9iZWhlZXItc2VsZWN0LWZpbHRlci1kaWFsb2cvYmVoZWVyLXNlbGVjdC1maWx0ZXItZGlhbG9nLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1iZWhlZXItcHJvZHVjdHMtZWJvJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYmVoZWVyLXByb2R1Y3RzLWViby5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYmVoZWVyLXByb2R1Y3RzLWViby5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCZWhlZXJQcm9kdWN0c0Vib0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIGVibzogQkNCRUJPVmlld01vZGVsO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgUHJvZHVjdHNBcGlDbGllbnQ6IFByb2R1Y3RzQXBpQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBQcm9kdWN0c1NlcnZpY2U6IFByb2R1Y3RzU2VydmljZSxcclxuICAgIHByaXZhdGUgQ2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgQ29ubmVjdEF2KCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMuZWJvLmJjYmVib0ZpbHRlck9wdGlvblZpZXdNb2RlbHMgIT0gbnVsbCAmJiB0aGlzLmViby5iY2JlYm9GaWx0ZXJPcHRpb25WaWV3TW9kZWxzLmxlbmd0aCA+IDApIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEdldENvbm5lY3QoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLmViby5iY2JlYm9GaWx0ZXJPcHRpb25WaWV3TW9kZWxzICE9IG51bGwgJiYgdGhpcy5lYm8uYmNiZWJvRmlsdGVyT3B0aW9uVmlld01vZGVscy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmViby5iY2JlYm9GaWx0ZXJPcHRpb25WaWV3TW9kZWxzWzBdLmZpbHRlck9wdGlvbj8uZmlsdGVyTmFtZSArIFwiOiBcIiArIHRoaXMuZWJvLmJjYmVib0ZpbHRlck9wdGlvblZpZXdNb2RlbHNbMF0uZmlsdGVyT3B0aW9uPy5uYW1lXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIFwiXCI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgQ29ubmVjdE1hbnkoKTogdm9pZCB7XHJcblxyXG4gICAgdmFyIGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQmVoZWVyU2VsZWN0RmlsdGVyRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBuYW1lOiB0aGlzLmViby5sb2NhdGlvblxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLlByb2R1Y3RzU2VydmljZS5CQ0JQcm9kdWN0Vmlld01vZGVsICE9IG51bGwpIHtcclxuICAgICAgICBpZiAocmVzdWx0Py5maWx0ZXIgIT0gbnVsbCkge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdC5maWx0ZXIgPiAwKSB7XHJcbiAgICAgICAgICAgIGlmIChjb25maXJtKFwiV2VldCBqZSBoZXQgemVrZXI/XCIpKSB7XHJcbiAgICAgICAgICAgICAgdmFyIHJlcXVlc3QgPSBuZXcgQ29ubmVjdE9wYm91d1JlcXVlc3QoKTtcclxuXHJcbiAgICAgICAgICAgICAgcmVxdWVzdC5iY2JlYm9JZCA9IHRoaXMuZWJvLmlkO1xyXG4gICAgICAgICAgICAgIHJlcXVlc3QuZmlsdGVySWQgPSByZXN1bHQuZmlsdGVyO1xyXG4gICAgICAgICAgICAgIHJlcXVlc3QuYmNiUHJvZHVjdElkID0gdGhpcy5Qcm9kdWN0c1NlcnZpY2UuQkNCUHJvZHVjdFZpZXdNb2RlbC5pZDtcclxuXHJcbiAgICAgICAgICAgICAgdGhpcy5Qcm9kdWN0c0FwaUNsaWVudC5jb25uZWN0T3Bib3V3KHJlcXVlc3QpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLlByb2R1Y3RzU2VydmljZS5Mb2FkUHJvZHVjdCh0aGlzLkNoYW5nZURldGVjdG9yUmVmKTtcclxuICAgICAgICAgICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBhbGVydChlcnJvcik7XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9wdWJsaWMgSWdub3JlKCk6IHZvaWQge1xyXG4gIC8vICB2YXIgcmVxdWVzdCA9IG5ldyBJZ25vcmVPcGJvdXdSZXF1ZXN0KCk7XHJcblxyXG4gIC8vICByZXF1ZXN0LmJjYmVib0lkID0gdGhpcy5lYm8uaWQ7XHJcbiAgLy8gIHJlcXVlc3QuYmNiT3Bib3V3SWQgPSAtMTtcclxuXHJcbiAgLy8gIHRoaXMuUHJvZHVjdHNBcGlDbGllbnQuaWdub3JlQkNCT3Bib3V3KHJlcXVlc3QpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgLy8gICAgdGhpcy5Qcm9kdWN0c1NlcnZpY2UuTG9hZFByb2R1Y3QodGhpcy5DaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgLy8gIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAvLyAgICBhbGVydChlcnJvcik7XHJcbiAgLy8gIH0pO1xyXG4gIC8vfVxyXG5cclxuICBwdWJsaWMgSWdub3JlTWFueSgpOiB2b2lkIHtcclxuICAgIGlmIChjb25maXJtKFwiV2VldCBqZSBoZXQgemVrZXI/XCIpKSB7XHJcbiAgICAgIGlmICh0aGlzLlByb2R1Y3RzU2VydmljZS5CQ0JQcm9kdWN0Vmlld01vZGVsICE9IG51bGwpIHtcclxuICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBJZ25vcmVPcGJvdXdSZXF1ZXN0KCk7XHJcblxyXG4gICAgICAgIHJlcXVlc3QuYmNiZWJvSWQgPSB0aGlzLmViby5pZDtcclxuICAgICAgICByZXF1ZXN0LmxvY2F0aW9uID0gdGhpcy5lYm8ubG9jYXRpb247XHJcbiAgICAgICAgcmVxdWVzdC5iY2JQcm9kdWN0SWQgPSB0aGlzLlByb2R1Y3RzU2VydmljZS5CQ0JQcm9kdWN0Vmlld01vZGVsLmlkO1xyXG5cclxuICAgICAgICB0aGlzLlByb2R1Y3RzQXBpQ2xpZW50Lmlnbm9yZUJDQk9wYm91dyhyZXF1ZXN0KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5Qcm9kdWN0c1NlcnZpY2UuTG9hZFByb2R1Y3QodGhpcy5DaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgYWxlcnQoZXJyb3IpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgUmVtb3ZlSWdub3JlKCk6IHZvaWQge1xyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyBSZW1vdmUoKTogdm9pZCB7XHJcbiAgICAvL3ZhciByZXF1ZXN0ID0gbmV3IFJlbW92ZU9wYm91d09wdGllUmVxdWVzdCgpO1xyXG5cclxuICAgIC8vLy9yZXF1ZXN0LmJjYlByb2R1Y3RPcGJvdXdPcHRpZUlkID0gdGhpcy5vcHRpZS5pZDtcclxuXHJcbiAgICAvL3RoaXMuUHJvZHVjdHNBcGlDbGllbnQucmVtb3ZlQkNCT3Bib3V3T3B0aWVGaWx0ZXJPcHRpb24ocmVxdWVzdCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgIC8vICB0aGlzLlByb2R1Y3RzU2VydmljZS5Mb2FkUHJvZHVjdCh0aGlzLkNoYW5nZURldGVjdG9yUmVmKTtcclxuICAgIC8vfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgLy8gIGFsZXJ0KGVycm9yKTtcclxuICAgIC8vfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgVG9nZ2xlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5lYm8ub3BlbiA9ICF0aGlzLmViby5vcGVuO1xyXG4gIH1cclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtYmVoZWVyLXByb2R1Y3RzLW9wYm91dycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JlaGVlci1wcm9kdWN0cy1vcGJvdXcuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2JlaGVlci1wcm9kdWN0cy1vcGJvdXcuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmVoZWVyUHJvZHVjdHNPcGJvdXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBvcGJvdXc6IEJDQk9wYm91d1ZpZXdNb2RlbDtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgVG9nZ2xlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5vcGJvdXcub3BlbiA9ICF0aGlzLm9wYm91dy5vcGVuO1xyXG4gIH1cclxufVxyXG5cclxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInsnd2FybmluZyc6ICFlYm8uY29ubmVjdGVkLCAnbm9ybWFsJzogZWJvLmNvbm5lY3RlZH1cIj5cclxuICA8ZGl2IGNsYXNzPVwicm93XCIgKGNsaWNrKT1cIlRvZ2dsZSgpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaWNvbi10ZFwiPlxyXG4gICAgICA8bWF0LWljb24gKm5nSWY9XCIhZWJvLm9wZW5cIj5leHBhbmRfbW9yZTwvbWF0LWljb24+XHJcbiAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImViby5vcGVuXCI+ZXhwYW5kX2xlc3M8L21hdC1pY29uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwibmFtZVwiIGNvbHNwYW49XCIyXCI+XHJcbiAgICAgIHt7IGViby5uYW1lIH19XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpuZ0lmPVwiZWJvLm9wZW5cIiBjbGFzcz1cIm1haW4tYmxvY2tcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJidXR0b25iYXJcIiAqbmdJZj1cIiFlYm8uY29ubmVjdGVkICYmIENvbm5lY3RBdigpICYmICFlYm8uaWdub3JlXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIkNvbm5lY3RNYW55KClcIj5cclxuICAgICAgICBGaWx0ZXIgTWFueVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPCEtLTxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIklnbm9yZSgpXCI+XHJcbiAgICAgICAgSWdub3JlXHJcbiAgICAgIDwvYnV0dG9uPi0tPlxyXG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJJZ25vcmVNYW55KClcIj5cclxuICAgICAgICBJZ25vcmUgTWFueVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImRpc3BsYXlmbGV4XCIgKm5nSWY9XCIhQ29ubmVjdEF2KClcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRleHRcIj5cclxuICAgICAgICB7eyBHZXRDb25uZWN0KCkgfX1cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIlJlbW92ZSgpXCI+XHJcbiAgICAgICAgUmVtb3ZlXHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZGlzcGxheWZsZXhcIiAqbmdJZj1cImViby5pZ25vcmVcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRleHRcIj5cclxuICAgICAgICBJZ25vcmVcclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIlJlbW92ZUlnbm9yZSgpXCI+XHJcbiAgICAgICAgUmVtb3ZlXHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cImViby5iY2JPcGJvdXdWaWV3TW9kZWxzPy5sZW5ndGggIT0gMFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj5PcGJvdXc8L2Rpdj5cclxuICAgICAgPGFwcC1iZWhlZXItcHJvZHVjdHMtb3Bib3V3ICpuZ0Zvcj1cImxldCBvcGJvdXcgb2YgZWJvLmJjYk9wYm91d1ZpZXdNb2RlbHNcIiBbb3Bib3V3XT1cIm9wYm91d1wiPjwvYXBwLWJlaGVlci1wcm9kdWN0cy1vcGJvdXc+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJlYm8uYmNiRWlnZW5zY2hhcFZpZXdNb2RlbHM/Lmxlbmd0aCAhPSAwXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPkVpZ2Vuc2NoYXA8L2Rpdj5cclxuICAgICAgPGFwcC1iZWhlZXItcHJvZHVjdHMtZWlnZW5zY2hhcCAqbmdGb3I9XCJsZXQgZWlnZW5zY2hhcCBvZiBlYm8uYmNiRWlnZW5zY2hhcFZpZXdNb2RlbHNcIiBbZWlnZW5zY2hhcF09XCJlaWdlbnNjaGFwXCI+PC9hcHAtYmVoZWVyLXByb2R1Y3RzLWVpZ2Vuc2NoYXA+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXJcIiBbbmdDbGFzc109XCJ7J3dhcm5pbmcnOiAhb3Bib3V3LmNvbm5lY3RlZCwgJ25vcm1hbCc6IG9wYm91dy5jb25uZWN0ZWQgfVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJyb3dcIiAoY2xpY2spPVwiVG9nZ2xlKClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpY29uLXRkXCI+XHJcbiAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIiFvcGJvdXcub3BlblwiPmV4cGFuZF9tb3JlPC9tYXQtaWNvbj5cclxuICAgICAgPG1hdC1pY29uICpuZ0lmPVwib3Bib3V3Lm9wZW5cIj5leHBhbmRfbGVzczwvbWF0LWljb24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJlaWdlbnNjaGFwY2VsXCIgY29sc3Bhbj1cIjJcIj5cclxuICAgICAge3tvcGJvdXc/Lm5hbWV9fVxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdJZj1cIm9wYm91dy5vcGVuXCIgY2xhc3M9XCJtYWluLWJsb2NrXCI+XHJcbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBlYm8gb2Ygb3Bib3V3LmVib3NcIiBbbmdDbGFzc109XCJ7J3dhcm5pbmcnOiAhZWJvLmNvbm5lY3RlZH1cIj5cclxuICAgICAgPGFwcC1iZWhlZXItcHJvZHVjdHMtZWJvIFtlYm9dPVwiZWJvXCI+PC9hcHAtYmVoZWVyLXByb2R1Y3RzLWVibz5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -1,7 +1,7 @@
1
1
  import { Component, Input } from '@angular/core';
2
- import { ConnectBCBEigenschapRequest, ConnectManyNameRequest, ConnectEigenschapOptieRequest } from '../../../../swagger/SwaggerClient';
2
+ import { ConnectBCBEigenschapRequest, ConnectEigenschapOptieRequest } from '../../../../swagger/SwaggerClient';
3
+ import { BeheerSelectFilterDialogComponent } from '../../beheer-select-filter-dialog/beheer-select-filter-dialog.component';
3
4
  import { BeheerProductsConnectRangeinputComponent } from '../beheer-products-connect-rangeinput/beheer-products-connect-rangeinput.component';
4
- import { BeheerProductsKoppelFilteroptionDailogComponent } from './../beheer-products-koppel-filteroption-dailog/beheer-products-koppel-filteroption-dailog.component';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "../../../../services/importsets.service";
7
7
  import * as i2 from "../../../../services/products.service";
@@ -24,56 +24,72 @@ export class BeheerProductsEigenschapComponent {
24
24
  Toggle() {
25
25
  this.eigenschap.open = !this.eigenschap.open;
26
26
  }
27
- Connect(id, filter, option) {
28
- var dialogRef = this.dialog.open(BeheerProductsKoppelFilteroptionDailogComponent, {
27
+ //public Connect(id: number, filter: string, option: string): void {
28
+ // var dialogRef = this.dialog.open(BeheerProductsKoppelFilteroptionDailogComponent, {
29
+ // data: {
30
+ // location: this.eigenschap.location,
31
+ // bcbeigenschapoptieid: id,
32
+ // suggestedfilter: filter,
33
+ // suggestedoption: option
34
+ // }
35
+ // });
36
+ // dialogRef.afterClosed().subscribe((result: any) => {
37
+ // if (result != null) {
38
+ // if (result.filteroption != null && result.filteroption > 0) {
39
+ // if (this.ProductsService.BCBProductViewModel != null) {
40
+ // var request = new ConnectEigenschapOptieRequest();
41
+ // request.bcbEigenschapOptieId = id;
42
+ // request.filterOptionId = result.filteroption;
43
+ // request.bcbProductId = this.ProductsService.BCBProductViewModel.id;
44
+ // request.location = this.eigenschap.location;
45
+ // this.ProductsApiClient.connectBCBEigenschapOptieFilterOption(request).subscribe(() => {
46
+ // this.ProductsService.LoadProduct(this.ChangeDetectorRef);
47
+ // }, (error: Response) => {
48
+ // alert(error);
49
+ // });
50
+ // }
51
+ // }
52
+ // else if (result.filter != null) {
53
+ // var request2 = new ConnectManyNameRequest();
54
+ // request2.bcbProductEigenschapOptieId = id;
55
+ // request2.filterId = result.filter;
56
+ // this.ProductsApiClient.connectManyName(request2).subscribe((model: ConnectManyNameResponse) => {
57
+ // this.ProductsService.LoadProduct(this.ChangeDetectorRef);
58
+ // }, (error: Response) => {
59
+ // alert(error);
60
+ // });
61
+ // }
62
+ // }
63
+ // });
64
+ //}
65
+ ConnectMany(id) {
66
+ var dialogRef = this.dialog.open(BeheerSelectFilterDialogComponent, {
29
67
  data: {
30
- location: this.eigenschap.location,
31
- bcbeigenschapoptieid: id,
32
- suggestedfilter: filter,
33
- suggestedoption: option
68
+ name: this.eigenschap.name
34
69
  }
35
70
  });
36
71
  dialogRef.afterClosed().subscribe((result) => {
37
- if (result != null) {
38
- if (result.filteroption != null && result.filteroption > 0) {
39
- if (this.ProductsService.BCBProductViewModel != null) {
40
- var request = new ConnectEigenschapOptieRequest();
41
- request.bcbEigenschapOptieId = id;
42
- request.filterOptionId = result.filteroption;
43
- request.bcbProductId = this.ProductsService.BCBProductViewModel.id;
44
- request.location = this.eigenschap.location;
45
- this.ProductsApiClient.connectBCBEigenschapOptieFilterOption(request).subscribe(() => {
46
- this.ProductsService.LoadProduct(this.ChangeDetectorRef);
47
- }, (error) => {
48
- alert(error);
49
- });
72
+ if (this.ProductsService.BCBProductViewModel != null) {
73
+ if (result?.filter != null) {
74
+ if (result.filter > 0) {
75
+ if (confirm("Weet je het zeker?")) {
76
+ var request = new ConnectBCBEigenschapRequest();
77
+ request.filterId = result.filter;
78
+ request.location = this.eigenschap.location;
79
+ request.bcbEigenschapId = this.eigenschap.id;
80
+ request.bcbImportSetId = this.ImportSetsService.BCBImportSetSelected;
81
+ request.bcbProductId = this.ProductsService.BCBProductViewModel.id;
82
+ this.ProductsApiClient.connectBCBEigenschapFilter(request).subscribe(() => {
83
+ this.ProductsService.LoadProduct(this.ChangeDetectorRef);
84
+ }, (error) => {
85
+ alert(error);
86
+ });
87
+ }
50
88
  }
51
89
  }
52
- else if (result.filter != null) {
53
- var request2 = new ConnectManyNameRequest();
54
- request2.bcbProductEigenschapOptieId = id;
55
- request2.filterId = result.filter;
56
- this.ProductsApiClient.connectManyName(request2).subscribe((model) => {
57
- this.ProductsService.LoadProduct(this.ChangeDetectorRef);
58
- }, (error) => {
59
- alert(error);
60
- });
61
- }
62
90
  }
63
91
  });
64
92
  }
65
- ConnectMany(id) {
66
- if (confirm("Weet je het zeker?")) {
67
- var request = new ConnectBCBEigenschapRequest();
68
- request.bcbEigenschapId = this.eigenschap.id;
69
- request.bcbImportSetId = this.ImportSetsService.BCBImportSetSelected;
70
- this.ProductsApiClient.connectBCBEigenschapFilter(request).subscribe(() => {
71
- this.ProductsService.LoadProduct(this.ChangeDetectorRef);
72
- }, (error) => {
73
- alert(error);
74
- });
75
- }
76
- }
77
93
  Ignore(id) {
78
94
  if (this.ProductsService.BCBProductViewModel != null) {
79
95
  var request = new ConnectEigenschapOptieRequest();
@@ -121,11 +137,11 @@ export class BeheerProductsEigenschapComponent {
121
137
  }
122
138
  }
123
139
  BeheerProductsEigenschapComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerProductsEigenschapComponent, deps: [{ token: i1.ImportSetsService }, { token: i2.ProductsService }, { token: i3.MatDialog }, { token: i4.ProductsApiClient }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
124
- BeheerProductsEigenschapComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: BeheerProductsEigenschapComponent, selector: "app-beheer-products-eigenschap", inputs: { eigenschap: "eigenschap" }, ngImport: i0, template: "<div class=\"container\" [ngClass]=\"{'warning': !eigenschap.connected, 'normal': eigenschap.connected}\">\r\n <div class=\"row\" (click)=\"Toggle()\">\r\n <div class=\"icon-td\">\r\n <mat-icon *ngIf=\"!eigenschap.open && Show()\">expand_more</mat-icon>\r\n <mat-icon *ngIf=\"eigenschap.open && Show()\">expand_less</mat-icon>\r\n </div>\r\n <div class=\"eigenschapcel\" colspan=\"2\">\r\n {{eigenschap?.name}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"eigenschap.open\">\r\n <div *ngFor=\"let bereik of eigenschap.bereiken\" class=\"bereik\">\r\n <app-beheer-products-eigenschap-bereik [bereik]=\"bereik\"></app-beheer-products-eigenschap-bereik>\r\n </div>\r\n <div *ngIf=\"eigenschap.bereiken.length > 0 && eigenschap.rangeInputs != null\">\r\n <div *ngIf=\"eigenschap.rangeInputs.length == 0\">\r\n <button mat-raised-button (click)=\"ConnectRange()\">\r\n Range\r\n </button>\r\n </div>\r\n <div *ngFor=\"let range of eigenschap.rangeInputs\">\r\n {{ range.rangeInputModel.name }}\r\n\r\n <button mat-raised-button>\r\n Remove\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngFor=\"let optie of eigenschap.opties\" [ngClass]=\"{'warning': !optie.connected}\">\r\n <div class=\"text-div\">{{ optie.name }}</div>\r\n <div>\r\n <div *ngIf=\"!optie.connected\" class=\"button-row\">\r\n <button mat-raised-button (click)=\"Connect(optie.id, eigenschap.name, optie.name)\">\r\n FilterOption\r\n </button>\r\n <button mat-raised-button (click)=\"ConnectMany(optie.id)\">\r\n FilterOptionMany\r\n </button>\r\n <button mat-raised-button (click)=\"ConnectCategory()\">\r\n Category\r\n </button>\r\n <button mat-raised-button (click)=\"Ignore(optie.id)\">\r\n Ignore\r\n </button>\r\n </div>\r\n <div *ngFor=\"let connect of optie.bcbEigenschapOptieFilterOptionViewModels\">\r\n <b>{{ connect.filterOptionViewModel.filterName }}: {{ connect.filterOptionViewModel.name }}</b>&nbsp;\r\n <button mat-raised-button>\r\n Remove\r\n </button>\r\n </div>\r\n <div *ngFor=\"let connect of optie.bcbEigenschapOptieCategoryViewModels\">\r\n <b>{{ connect.categoryViewModel.name }}</b>&nbsp;\r\n <button mat-raised-button>\r\n Remove\r\n </button>\r\n </div>\r\n <div *ngIf=\"optie.ignore\">\r\n <b>Ignore</b>&nbsp;\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".row{cursor:pointer;display:flex}.displayflex{display:flex}.eigenschapcel{flex:auto}.button-row{display:flex;gap:4px}.container{margin:5px;padding:5px;border:1px solid #000}.icon-td{width:24px;height:24px}.text-div{flex:auto}.warning{background-color:#f08080}.normal{background-color:#fff}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.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: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.BeheerProductsEigenschapBereikComponent, selector: "app-beheer-products-eigenschap-bereik", inputs: ["bereik"] }] });
140
+ BeheerProductsEigenschapComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: BeheerProductsEigenschapComponent, selector: "app-beheer-products-eigenschap", inputs: { eigenschap: "eigenschap" }, ngImport: i0, template: "<div class=\"container\" [ngClass]=\"{'warning': !eigenschap.connected, 'normal': eigenschap.connected}\">\r\n <div class=\"row\" (click)=\"Toggle()\">\r\n <div class=\"icon-td\">\r\n <mat-icon *ngIf=\"!eigenschap.open && Show()\">expand_more</mat-icon>\r\n <mat-icon *ngIf=\"eigenschap.open && Show()\">expand_less</mat-icon>\r\n </div>\r\n <div class=\"eigenschapcel\" colspan=\"2\">\r\n {{eigenschap?.name}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"eigenschap.open\">\r\n <div *ngFor=\"let bereik of eigenschap.bereiken\" class=\"bereik\">\r\n <app-beheer-products-eigenschap-bereik [bereik]=\"bereik\"></app-beheer-products-eigenschap-bereik>\r\n </div>\r\n <div *ngIf=\"eigenschap.bereiken.length > 0 && eigenschap.rangeInputs != null\">\r\n <div *ngIf=\"eigenschap.rangeInputs.length == 0\">\r\n <button mat-raised-button (click)=\"ConnectRange()\">\r\n Range\r\n </button>\r\n </div>\r\n <div *ngFor=\"let range of eigenschap.rangeInputs\">\r\n {{ range.rangeInputModel.name }}\r\n\r\n <button mat-raised-button>\r\n Remove\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngFor=\"let optie of eigenschap.opties\" [ngClass]=\"{'warning': !optie.connected}\">\r\n <div class=\"text-div\">{{ optie.name }}</div>\r\n <div>\r\n <div *ngIf=\"!optie.connected\" class=\"button-row\">\r\n <!--<button mat-raised-button (click)=\"Connect(optie.id, eigenschap.name, optie.name)\">\r\n FilterOption\r\n </button>-->\r\n <button mat-raised-button (click)=\"ConnectMany(optie.id)\">\r\n FilterOptionMany\r\n </button>\r\n <!--<button mat-raised-button (click)=\"ConnectCategory()\">\r\n Category\r\n </button>-->\r\n <button mat-raised-button (click)=\"Ignore(optie.id)\">\r\n Ignore\r\n </button>\r\n </div>\r\n <div *ngFor=\"let connect of optie.bcbEigenschapOptieFilterOptionViewModels\">\r\n <b>{{ connect.filterOptionViewModel.filterName }}: {{ connect.filterOptionViewModel.name }}</b>&nbsp;\r\n <button mat-raised-button>\r\n Remove\r\n </button>\r\n </div>\r\n <div *ngFor=\"let connect of optie.bcbEigenschapOptieCategoryViewModels\">\r\n <b>{{ connect.categoryViewModel.name }}</b>&nbsp;\r\n <button mat-raised-button>\r\n Remove\r\n </button>\r\n </div>\r\n <div *ngIf=\"optie.ignore\">\r\n <b>Ignore</b>&nbsp;\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".row{cursor:pointer;display:flex}.displayflex{display:flex}.eigenschapcel{flex:auto}.button-row{display:flex;gap:4px}.container{margin:5px;padding:5px;border:1px solid #000}.icon-td{width:24px;height:24px}.text-div{flex:auto}.warning{background-color:#f08080}.normal{background-color:#fff}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.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: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.BeheerProductsEigenschapBereikComponent, selector: "app-beheer-products-eigenschap-bereik", inputs: ["bereik"] }] });
125
141
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerProductsEigenschapComponent, decorators: [{
126
142
  type: Component,
127
- args: [{ selector: 'app-beheer-products-eigenschap', template: "<div class=\"container\" [ngClass]=\"{'warning': !eigenschap.connected, 'normal': eigenschap.connected}\">\r\n <div class=\"row\" (click)=\"Toggle()\">\r\n <div class=\"icon-td\">\r\n <mat-icon *ngIf=\"!eigenschap.open && Show()\">expand_more</mat-icon>\r\n <mat-icon *ngIf=\"eigenschap.open && Show()\">expand_less</mat-icon>\r\n </div>\r\n <div class=\"eigenschapcel\" colspan=\"2\">\r\n {{eigenschap?.name}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"eigenschap.open\">\r\n <div *ngFor=\"let bereik of eigenschap.bereiken\" class=\"bereik\">\r\n <app-beheer-products-eigenschap-bereik [bereik]=\"bereik\"></app-beheer-products-eigenschap-bereik>\r\n </div>\r\n <div *ngIf=\"eigenschap.bereiken.length > 0 && eigenschap.rangeInputs != null\">\r\n <div *ngIf=\"eigenschap.rangeInputs.length == 0\">\r\n <button mat-raised-button (click)=\"ConnectRange()\">\r\n Range\r\n </button>\r\n </div>\r\n <div *ngFor=\"let range of eigenschap.rangeInputs\">\r\n {{ range.rangeInputModel.name }}\r\n\r\n <button mat-raised-button>\r\n Remove\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngFor=\"let optie of eigenschap.opties\" [ngClass]=\"{'warning': !optie.connected}\">\r\n <div class=\"text-div\">{{ optie.name }}</div>\r\n <div>\r\n <div *ngIf=\"!optie.connected\" class=\"button-row\">\r\n <button mat-raised-button (click)=\"Connect(optie.id, eigenschap.name, optie.name)\">\r\n FilterOption\r\n </button>\r\n <button mat-raised-button (click)=\"ConnectMany(optie.id)\">\r\n FilterOptionMany\r\n </button>\r\n <button mat-raised-button (click)=\"ConnectCategory()\">\r\n Category\r\n </button>\r\n <button mat-raised-button (click)=\"Ignore(optie.id)\">\r\n Ignore\r\n </button>\r\n </div>\r\n <div *ngFor=\"let connect of optie.bcbEigenschapOptieFilterOptionViewModels\">\r\n <b>{{ connect.filterOptionViewModel.filterName }}: {{ connect.filterOptionViewModel.name }}</b>&nbsp;\r\n <button mat-raised-button>\r\n Remove\r\n </button>\r\n </div>\r\n <div *ngFor=\"let connect of optie.bcbEigenschapOptieCategoryViewModels\">\r\n <b>{{ connect.categoryViewModel.name }}</b>&nbsp;\r\n <button mat-raised-button>\r\n Remove\r\n </button>\r\n </div>\r\n <div *ngIf=\"optie.ignore\">\r\n <b>Ignore</b>&nbsp;\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".row{cursor:pointer;display:flex}.displayflex{display:flex}.eigenschapcel{flex:auto}.button-row{display:flex;gap:4px}.container{margin:5px;padding:5px;border:1px solid #000}.icon-td{width:24px;height:24px}.text-div{flex:auto}.warning{background-color:#f08080}.normal{background-color:#fff}\n"] }]
143
+ args: [{ selector: 'app-beheer-products-eigenschap', template: "<div class=\"container\" [ngClass]=\"{'warning': !eigenschap.connected, 'normal': eigenschap.connected}\">\r\n <div class=\"row\" (click)=\"Toggle()\">\r\n <div class=\"icon-td\">\r\n <mat-icon *ngIf=\"!eigenschap.open && Show()\">expand_more</mat-icon>\r\n <mat-icon *ngIf=\"eigenschap.open && Show()\">expand_less</mat-icon>\r\n </div>\r\n <div class=\"eigenschapcel\" colspan=\"2\">\r\n {{eigenschap?.name}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"eigenschap.open\">\r\n <div *ngFor=\"let bereik of eigenschap.bereiken\" class=\"bereik\">\r\n <app-beheer-products-eigenschap-bereik [bereik]=\"bereik\"></app-beheer-products-eigenschap-bereik>\r\n </div>\r\n <div *ngIf=\"eigenschap.bereiken.length > 0 && eigenschap.rangeInputs != null\">\r\n <div *ngIf=\"eigenschap.rangeInputs.length == 0\">\r\n <button mat-raised-button (click)=\"ConnectRange()\">\r\n Range\r\n </button>\r\n </div>\r\n <div *ngFor=\"let range of eigenschap.rangeInputs\">\r\n {{ range.rangeInputModel.name }}\r\n\r\n <button mat-raised-button>\r\n Remove\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngFor=\"let optie of eigenschap.opties\" [ngClass]=\"{'warning': !optie.connected}\">\r\n <div class=\"text-div\">{{ optie.name }}</div>\r\n <div>\r\n <div *ngIf=\"!optie.connected\" class=\"button-row\">\r\n <!--<button mat-raised-button (click)=\"Connect(optie.id, eigenschap.name, optie.name)\">\r\n FilterOption\r\n </button>-->\r\n <button mat-raised-button (click)=\"ConnectMany(optie.id)\">\r\n FilterOptionMany\r\n </button>\r\n <!--<button mat-raised-button (click)=\"ConnectCategory()\">\r\n Category\r\n </button>-->\r\n <button mat-raised-button (click)=\"Ignore(optie.id)\">\r\n Ignore\r\n </button>\r\n </div>\r\n <div *ngFor=\"let connect of optie.bcbEigenschapOptieFilterOptionViewModels\">\r\n <b>{{ connect.filterOptionViewModel.filterName }}: {{ connect.filterOptionViewModel.name }}</b>&nbsp;\r\n <button mat-raised-button>\r\n Remove\r\n </button>\r\n </div>\r\n <div *ngFor=\"let connect of optie.bcbEigenschapOptieCategoryViewModels\">\r\n <b>{{ connect.categoryViewModel.name }}</b>&nbsp;\r\n <button mat-raised-button>\r\n Remove\r\n </button>\r\n </div>\r\n <div *ngIf=\"optie.ignore\">\r\n <b>Ignore</b>&nbsp;\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".row{cursor:pointer;display:flex}.displayflex{display:flex}.eigenschapcel{flex:auto}.button-row{display:flex;gap:4px}.container{margin:5px;padding:5px;border:1px solid #000}.icon-td{width:24px;height:24px}.text-div{flex:auto}.warning{background-color:#f08080}.normal{background-color:#fff}\n"] }]
128
144
  }], ctorParameters: function () { return [{ type: i1.ImportSetsService }, { type: i2.ProductsService }, { type: i3.MatDialog }, { type: i4.ProductsApiClient }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { eigenschap: [{
129
145
  type: Input
130
146
  }] } });
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXByb2R1Y3RzLWVpZ2Vuc2NoYXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWVpZ2Vuc2NoYXAvYmVoZWVyLXByb2R1Y3RzLWVpZ2Vuc2NoYXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWVpZ2Vuc2NoYXAvYmVoZWVyLXByb2R1Y3RzLWVpZ2Vuc2NoYXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBSTVFLE9BQU8sRUFBcUIsMkJBQTJCLEVBQUUsc0JBQXNCLEVBQW1GLDZCQUE2QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHM08sT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sb0ZBQW9GLENBQUM7QUFDOUksT0FBTyxFQUFFLCtDQUErQyxFQUFFLE1BQU0sc0dBQXNHLENBQUM7Ozs7Ozs7Ozs7QUFPdkssTUFBTSxPQUFPLGlDQUFpQztJQUk1QyxZQUNTLGlCQUFvQyxFQUNwQyxlQUFnQyxFQUNoQyxNQUFpQixFQUNoQixpQkFBb0MsRUFDcEMsaUJBQW9DO1FBSnJDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDaEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxzQkFBaUIsR0FBakIsaUJBQWlC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K0JBQ0UsZ0NBQWdDOzhOQU1qQyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBJbXBvcnRTZXRzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2ltcG9ydHNldHMuc2VydmljZSc7XHJcbmltcG9ydCB7IFByb2R1Y3RzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3Byb2R1Y3RzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9kdWN0c0FwaUNsaWVudCwgQ29ubmVjdEJDQkVpZ2Vuc2NoYXBSZXF1ZXN0LCBDb25uZWN0TWFueU5hbWVSZXF1ZXN0LCBDb25uZWN0TWFueU5hbWVSZXNwb25zZSwgQ29ubmVjdEVpZ2Vuc2NoYXBPcHRpZVJlc3BvbnNlLCBCQ0JFaWdlbnNjaGFwVmlld01vZGVsLCBDb25uZWN0RWlnZW5zY2hhcE9wdGllUmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uLy4uL3N3YWdnZXIvU3dhZ2dlckNsaWVudCc7XHJcbmltcG9ydCB7IEJlaGVlckNvbm5lY3RDYXRlZ29yeURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2JlaGVlci1jb25uZWN0LWNhdGVnb3J5LWRpYWxvZy9iZWhlZXItY29ubmVjdC1jYXRlZ29yeS1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyUHJvZHVjdHNDb25uZWN0TWFueW5hbWVEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9iZWhlZXItcHJvZHVjdHMtY29ubmVjdC1tYW55bmFtZS1kaWFsb2cvYmVoZWVyLXByb2R1Y3RzLWNvbm5lY3QtbWFueW5hbWUtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlaGVlclByb2R1Y3RzQ29ubmVjdFJhbmdlaW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi9iZWhlZXItcHJvZHVjdHMtY29ubmVjdC1yYW5nZWlucHV0L2JlaGVlci1wcm9kdWN0cy1jb25uZWN0LXJhbmdlaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyUHJvZHVjdHNLb3BwZWxGaWx0ZXJvcHRpb25EYWlsb2dDb21wb25lbnQgfSBmcm9tICcuLy4uL2JlaGVlci1wcm9kdWN0cy1rb3BwZWwtZmlsdGVyb3B0aW9uLWRhaWxvZy9iZWhlZXItcHJvZHVjdHMta29wcGVsLWZpbHRlcm9wdGlvbi1kYWlsb2cuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWJlaGVlci1wcm9kdWN0cy1laWdlbnNjaGFwJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYmVoZWVyLXByb2R1Y3RzLWVpZ2Vuc2NoYXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2JlaGVlci1wcm9kdWN0cy1laWdlbnNjaGFwLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEJlaGVlclByb2R1Y3RzRWlnZW5zY2hhcENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIGVpZ2Vuc2NoYXA6IEJDQkVpZ2Vuc2NoYXBWaWV3TW9kZWw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIEltcG9ydFNldHNTZXJ2aWNlOiBJbXBvcnRTZXRzU2VydmljZSxcclxuICAgIHB1YmxpYyBQcm9kdWN0c1NlcnZpY2U6IFByb2R1Y3RzU2VydmljZSxcclxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgUHJvZHVjdHNBcGlDbGllbnQ6IFByb2R1Y3RzQXBpQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBDaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBUb2dnbGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmVpZ2Vuc2NoYXAub3BlbiA9ICF0aGlzLmVpZ2Vuc2NoYXAub3BlbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBDb25uZWN0KGlkOiBudW1iZXIsIGZpbHRlcjogc3RyaW5nLCBvcHRpb246IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdmFyIGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQmVoZWVyUHJvZHVjdHNLb3BwZWxGaWx0ZXJvcHRpb25EYWlsb2dDb21wb25lbnQsIHtcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIGxvY2F0aW9uOiB0aGlzLmVpZ2Vuc2NoYXAubG9jYXRpb24sXHJcbiAgICAgICAgYmNiZWlnZW5zY2hhcG9wdGllaWQ6IGlkLFxyXG4gICAgICAgIHN1Z2dlc3RlZGZpbHRlcjogZmlsdGVyLFxyXG4gICAgICAgIHN1Z2dlc3RlZG9wdGlvbjogb3B0aW9uXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0OiBhbnkpID0+IHtcclxuICAgICAgaWYgKHJlc3VsdCAhPSBudWxsKSB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC5maWx0ZXJvcHRpb24gIT0gbnVsbCAmJiByZXN1bHQuZmlsdGVyb3B0aW9uID4gMCkge1xyXG4gICAgICAgICAgaWYgKHRoaXMuUHJvZHVjdHNTZXJ2aWNlLkJDQlByb2R1Y3RWaWV3TW9kZWwgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBDb25uZWN0RWlnZW5zY2hhcE9wdGllUmVxdWVzdCgpO1xyXG5cclxuICAgICAgICAgICAgcmVxdWVzdC5iY2JFaWdlbnNjaGFwT3B0aWVJZCA9IGlkO1xyXG4gICAgICAgICAgICByZXF1ZXN0LmZpbHRlck9wdGlvbklkID0gcmVzdWx0LmZpbHRlcm9wdGlvbjtcclxuICAgICAgICAgICAgcmVxdWVzdC5iY2JQcm9kdWN0SWQgPSB0aGlzLlByb2R1Y3RzU2VydmljZS5CQ0JQcm9kdWN0Vmlld01vZGVsLmlkO1xyXG4gICAgICAgICAgICByZXF1ZXN0LmxvY2F0aW9uID0gdGhpcy5laWdlbnNjaGFwLmxvY2F0aW9uO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5Qcm9kdWN0c0FwaUNsaWVudC5jb25uZWN0QkNCRWlnZW5zY2hhcE9wdGllRmlsdGVyT3B0aW9uKHJlcXVlc3QpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5Qcm9kdWN0c1NlcnZpY2UuTG9hZFByb2R1Y3QodGhpcy5DaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgICAgICAgICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICBhbGVydChlcnJvcik7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChyZXN1bHQuZmlsdGVyICE9IG51bGwpIHtcclxuICAgICAgICAgIHZhciByZXF1ZXN0MiA9IG5ldyBDb25uZWN0TWFueU5hbWVSZXF1ZXN0KCk7XHJcblxyXG4gICAgICAgICAgcmVxdWVzdDIuYmNiUHJvZHVjdEVpZ2Vuc2NoYXBPcHRpZUlkID0gaWQ7XHJcbiAgICAgICAgICByZXF1ZXN0Mi5maWx0ZXJJZCA9IHJlc3VsdC5maWx0ZXI7XHJcblxyXG4gICAgICAgICAgdGhpcy5Qcm9kdWN0c0FwaUNsaWVudC5jb25uZWN0TWFueU5hbWUocmVxdWVzdDIpLnN1YnNjcmliZSgobW9kZWw6IENvbm5lY3RNYW55TmFtZVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuUHJvZHVjdHNTZXJ2aWNlLkxvYWRQcm9kdWN0KHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gICAgICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICBhbGVydChlcnJvcik7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIENvbm5lY3RNYW55KGlkOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmIChjb25maXJtKFwiV2VldCBqZSBoZXQgemVrZXI/XCIpKSB7XHJcbiAgICAgIHZhciByZXF1ZXN0ID0gbmV3IENvbm5lY3RCQ0JFaWdlbnNjaGFwUmVxdWVzdCgpO1xyXG5cclxuICAgICAgcmVxdWVzdC5iY2JFaWdlbnNjaGFwSWQgPSB0aGlzLmVpZ2Vuc2NoYXAuaWQ7XHJcbiAgICAgIHJlcXVlc3QuYmNiSW1wb3J0U2V0SWQgPSB0aGlzLkltcG9ydFNldHNTZXJ2aWNlLkJDQkltcG9ydFNldFNlbGVjdGVkO1xyXG5cclxuICAgICAgdGhpcy5Qcm9kdWN0c0FwaUNsaWVudC5jb25uZWN0QkNCRWlnZW5zY2hhcEZpbHRlcihyZXF1ZXN0KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuUHJvZHVjdHNTZXJ2aWNlLkxvYWRQcm9kdWN0KHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgYWxlcnQoZXJyb3IpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBJZ25vcmUoaWQ6IG51bWJlcik6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuUHJvZHVjdHNTZXJ2aWNlLkJDQlByb2R1Y3RWaWV3TW9kZWwgIT0gbnVsbCkge1xyXG4gICAgICB2YXIgcmVxdWVzdCA9IG5ldyBDb25uZWN0RWlnZW5zY2hhcE9wdGllUmVxdWVzdCgpO1xyXG5cclxuICAgICAgcmVxdWVzdC5iY2JFaWdlbnNjaGFwT3B0aWVJZCA9IGlkO1xyXG4gICAgICByZXF1ZXN0LmZpbHRlck9wdGlvbklkID0gLTE7XHJcbiAgICAgIHJlcXVlc3QuYmNiUHJvZHVjdElkID0gdGhpcy5Qcm9kdWN0c1NlcnZpY2UuQkNCUHJvZHVjdFZpZXdNb2RlbC5pZDtcclxuICAgICAgcmVxdWVzdC5sb2NhdGlvbiA9IHRoaXMuZWlnZW5zY2hhcC5sb2NhdGlvbjtcclxuXHJcbiAgICAgIHRoaXMuUHJvZHVjdHNBcGlDbGllbnQuaWdub3JlQkNCRWlnZW5zY2hhcE9wdGllRmlsdGVyT3B0aW9uKHJlcXVlc3QpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5Qcm9kdWN0c1NlcnZpY2UuTG9hZFByb2R1Y3QodGhpcy5DaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgICBhbGVydChlcnJvcik7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIENvbm5lY3RSYW5nZSgpOiB2b2lkIHtcclxuICAgIHZhciBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEJlaGVlclByb2R1Y3RzQ29ubmVjdFJhbmdlaW5wdXRDb21wb25lbnQsIHtcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIGJjYmVpZ2Vuc2NoYXBpZDogdGhpcy5laWdlbnNjaGFwLmlkLFxyXG4gICAgICAgIGxvY2F0aW9uOiB0aGlzLmVpZ2Vuc2NoYXAubG9jYXRpb25cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgQ29ubmVjdENhdGVnb3J5KCk6IHZvaWQge1xyXG4gICAgaWYgKGNvbmZpcm0oXCJXZWV0IGplIGhldCB6ZWtlcj9cIikpIHtcclxuICAgICAgdmFyIHJlcXVlc3QgPSBuZXcgQ29ubmVjdEJDQkVpZ2Vuc2NoYXBSZXF1ZXN0KCk7XHJcblxyXG4gICAgICByZXF1ZXN0LmJjYkVpZ2Vuc2NoYXBJZCA9IHRoaXMuZWlnZW5zY2hhcC5pZDtcclxuICAgICAgcmVxdWVzdC5iY2JJbXBvcnRTZXRJZCA9IHRoaXMuSW1wb3J0U2V0c1NlcnZpY2UuQkNCSW1wb3J0U2V0U2VsZWN0ZWQ7XHJcblxyXG4gICAgICB0aGlzLlByb2R1Y3RzQXBpQ2xpZW50LmNvbm5lY3RCQ0JFaWdlbnNjaGFwQ2F0ZWdvcnkocmVxdWVzdCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLlByb2R1Y3RzU2VydmljZS5Mb2FkUHJvZHVjdCh0aGlzLkNoYW5nZURldGVjdG9yUmVmKTtcclxuICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGFsZXJ0KGVycm9yKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2hvdygpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLmVpZ2Vuc2NoYXA/Lm9wdGllcz8ubGVuZ3RoICE9IG51bGwgJiZcclxuICAgICAgdGhpcy5laWdlbnNjaGFwLm9wdGllcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmVpZ2Vuc2NoYXA/LmJlcmVpa2VuPy5sZW5ndGggIT0gbnVsbCAmJlxyXG4gICAgICB0aGlzLmVpZ2Vuc2NoYXAuYmVyZWlrZW4ubGVuZ3RoID4gMCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXJcIiBbbmdDbGFzc109XCJ7J3dhcm5pbmcnOiAhZWlnZW5zY2hhcC5jb25uZWN0ZWQsICdub3JtYWwnOiBlaWdlbnNjaGFwLmNvbm5lY3RlZH1cIj5cclxuICA8ZGl2IGNsYXNzPVwicm93XCIgKGNsaWNrKT1cIlRvZ2dsZSgpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaWNvbi10ZFwiPlxyXG4gICAgICA8bWF0LWljb24gKm5nSWY9XCIhZWlnZW5zY2hhcC5vcGVuICYmIFNob3coKVwiPmV4cGFuZF9tb3JlPC9tYXQtaWNvbj5cclxuICAgICAgPG1hdC1pY29uICpuZ0lmPVwiZWlnZW5zY2hhcC5vcGVuICYmIFNob3coKVwiPmV4cGFuZF9sZXNzPC9tYXQtaWNvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImVpZ2Vuc2NoYXBjZWxcIiBjb2xzcGFuPVwiMlwiPlxyXG4gICAgICB7e2VpZ2Vuc2NoYXA/Lm5hbWV9fVxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdJZj1cImVpZ2Vuc2NoYXAub3BlblwiPlxyXG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgYmVyZWlrIG9mIGVpZ2Vuc2NoYXAuYmVyZWlrZW5cIiBjbGFzcz1cImJlcmVpa1wiPlxyXG4gICAgICA8YXBwLWJlaGVlci1wcm9kdWN0cy1laWdlbnNjaGFwLWJlcmVpayBbYmVyZWlrXT1cImJlcmVpa1wiPjwvYXBwLWJlaGVlci1wcm9kdWN0cy1laWdlbnNjaGFwLWJlcmVpaz5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cImVpZ2Vuc2NoYXAuYmVyZWlrZW4ubGVuZ3RoID4gMCAmJiBlaWdlbnNjaGFwLnJhbmdlSW5wdXRzICE9IG51bGxcIj5cclxuICAgICAgPGRpdiAqbmdJZj1cImVpZ2Vuc2NoYXAucmFuZ2VJbnB1dHMubGVuZ3RoID09IDBcIj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJDb25uZWN0UmFuZ2UoKVwiPlxyXG4gICAgICAgICAgUmFuZ2VcclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHJhbmdlIG9mIGVpZ2Vuc2NoYXAucmFuZ2VJbnB1dHNcIj5cclxuICAgICAgICB7eyByYW5nZS5yYW5nZUlucHV0TW9kZWwubmFtZSB9fVxyXG5cclxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uPlxyXG4gICAgICAgICAgUmVtb3ZlXHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBvcHRpZSBvZiBlaWdlbnNjaGFwLm9wdGllc1wiIFtuZ0NsYXNzXT1cInsnd2FybmluZyc6ICFvcHRpZS5jb25uZWN0ZWR9XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWRpdlwiPnt7IG9wdGllLm5hbWUgfX08L2Rpdj5cclxuICAgICAgPGRpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIW9wdGllLmNvbm5lY3RlZFwiIGNsYXNzPVwiYnV0dG9uLXJvd1wiPlxyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiQ29ubmVjdChvcHRpZS5pZCwgZWlnZW5zY2hhcC5uYW1lLCBvcHRpZS5uYW1lKVwiPlxyXG4gICAgICAgICAgICBGaWx0ZXJPcHRpb25cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiQ29ubmVjdE1hbnkob3B0aWUuaWQpXCI+XHJcbiAgICAgICAgICAgIEZpbHRlck9wdGlvbk1hbnlcclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiQ29ubmVjdENhdGVnb3J5KClcIj5cclxuICAgICAgICAgICAgQ2F0ZWdvcnlcclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiSWdub3JlKG9wdGllLmlkKVwiPlxyXG4gICAgICAgICAgICBJZ25vcmVcclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGNvbm5lY3Qgb2Ygb3B0aWUuYmNiRWlnZW5zY2hhcE9wdGllRmlsdGVyT3B0aW9uVmlld01vZGVsc1wiPlxyXG4gICAgICAgICAgPGI+e3sgY29ubmVjdC5maWx0ZXJPcHRpb25WaWV3TW9kZWwuZmlsdGVyTmFtZSB9fToge3sgY29ubmVjdC5maWx0ZXJPcHRpb25WaWV3TW9kZWwubmFtZSB9fTwvYj4mbmJzcDtcclxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24+XHJcbiAgICAgICAgICAgIFJlbW92ZVxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgY29ubmVjdCBvZiBvcHRpZS5iY2JFaWdlbnNjaGFwT3B0aWVDYXRlZ29yeVZpZXdNb2RlbHNcIj5cclxuICAgICAgICAgIDxiPnt7IGNvbm5lY3QuY2F0ZWdvcnlWaWV3TW9kZWwubmFtZSB9fTwvYj4mbmJzcDtcclxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24+XHJcbiAgICAgICAgICAgIFJlbW92ZVxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cIm9wdGllLmlnbm9yZVwiPlxyXG4gICAgICAgICAgPGI+SWdub3JlPC9iPiZuYnNwO1xyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXByb2R1Y3RzLWVpZ2Vuc2NoYXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWVpZ2Vuc2NoYXAvYmVoZWVyLXByb2R1Y3RzLWVpZ2Vuc2NoYXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWVpZ2Vuc2NoYXAvYmVoZWVyLXByb2R1Y3RzLWVpZ2Vuc2NoYXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBSTVFLE9BQU8sRUFBcUIsMkJBQTJCLEVBQTBCLDZCQUE2QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFMUosT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0seUVBQXlFLENBQUM7QUFDNUgsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sb0ZBQW9GLENBQUM7Ozs7Ozs7Ozs7QUFPOUksTUFBTSxPQUFPLGlDQUFpQztJQUk1QyxZQUNTLGlCQUFvQyxFQUNwQyxlQUFnQyxFQUNoQyxNQUFpQixFQUNoQixpQkFBb0MsRUFDcEMsaUJBQW9DO1FBSnJDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDaEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO0lBQUks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QUM7WUFDM0QsQ0FBQyxFQUFFLENBQUMsS0FBZSxFQUFFLEVBQUU7Z0JBQ3JCLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNmLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLElBQUk7WUFDekMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNuQyxPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLElBQUksSUFBSTtZQUMzQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3JDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OzhIQXBKVSxpQ0FBaUM7a0hBQWpDLGlDQUFpQyw0R0NkOUMsOG1GQWdFQTsyRkRsRGEsaUNBQWlDO2tCQUw3QyxTQUFTOytCQUNFLGdDQUFnQzs4TkFNakMsVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgSW1wb3J0U2V0c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9pbXBvcnRzZXRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9kdWN0c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9wcm9kdWN0cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJvZHVjdHNBcGlDbGllbnQsIENvbm5lY3RCQ0JFaWdlbnNjaGFwUmVxdWVzdCwgQkNCRWlnZW5zY2hhcFZpZXdNb2RlbCwgQ29ubmVjdEVpZ2Vuc2NoYXBPcHRpZVJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi8uLi9zd2FnZ2VyL1N3YWdnZXJDbGllbnQnO1xyXG5pbXBvcnQgeyBCZWhlZXJDb25uZWN0Q2F0ZWdvcnlEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi8uLi9iZWhlZXItY29ubmVjdC1jYXRlZ29yeS1kaWFsb2cvYmVoZWVyLWNvbm5lY3QtY2F0ZWdvcnktZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlaGVlclNlbGVjdEZpbHRlckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2JlaGVlci1zZWxlY3QtZmlsdGVyLWRpYWxvZy9iZWhlZXItc2VsZWN0LWZpbHRlci1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyUHJvZHVjdHNDb25uZWN0UmFuZ2VpbnB1dENvbXBvbmVudCB9IGZyb20gJy4uL2JlaGVlci1wcm9kdWN0cy1jb25uZWN0LXJhbmdlaW5wdXQvYmVoZWVyLXByb2R1Y3RzLWNvbm5lY3QtcmFuZ2VpbnB1dC5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtYmVoZWVyLXByb2R1Y3RzLWVpZ2Vuc2NoYXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iZWhlZXItcHJvZHVjdHMtZWlnZW5zY2hhcC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYmVoZWVyLXByb2R1Y3RzLWVpZ2Vuc2NoYXAuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmVoZWVyUHJvZHVjdHNFaWdlbnNjaGFwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KCkgZWlnZW5zY2hhcDogQkNCRWlnZW5zY2hhcFZpZXdNb2RlbDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgSW1wb3J0U2V0c1NlcnZpY2U6IEltcG9ydFNldHNTZXJ2aWNlLFxyXG4gICAgcHVibGljIFByb2R1Y3RzU2VydmljZTogUHJvZHVjdHNTZXJ2aWNlLFxyXG4gICAgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgcHJpdmF0ZSBQcm9kdWN0c0FwaUNsaWVudDogUHJvZHVjdHNBcGlDbGllbnQsXHJcbiAgICBwcml2YXRlIENoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFRvZ2dsZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZWlnZW5zY2hhcC5vcGVuID0gIXRoaXMuZWlnZW5zY2hhcC5vcGVuO1xyXG4gIH1cclxuXHJcbiAgLy9wdWJsaWMgQ29ubmVjdChpZDogbnVtYmVyLCBmaWx0ZXI6IHN0cmluZywgb3B0aW9uOiBzdHJpbmcpOiB2b2lkIHtcclxuICAvLyAgdmFyIGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQmVoZWVyUHJvZHVjdHNLb3BwZWxGaWx0ZXJvcHRpb25EYWlsb2dDb21wb25lbnQsIHtcclxuICAvLyAgICBkYXRhOiB7XHJcbiAgLy8gICAgICBsb2NhdGlvbjogdGhpcy5laWdlbnNjaGFwLmxvY2F0aW9uLFxyXG4gIC8vICAgICAgYmNiZWlnZW5zY2hhcG9wdGllaWQ6IGlkLFxyXG4gIC8vICAgICAgc3VnZ2VzdGVkZmlsdGVyOiBmaWx0ZXIsXHJcbiAgLy8gICAgICBzdWdnZXN0ZWRvcHRpb246IG9wdGlvblxyXG4gIC8vICAgIH1cclxuICAvLyAgfSk7XHJcblxyXG4gIC8vICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgLy8gICAgaWYgKHJlc3VsdCAhPSBudWxsKSB7XHJcbiAgLy8gICAgICBpZiAocmVzdWx0LmZpbHRlcm9wdGlvbiAhPSBudWxsICYmIHJlc3VsdC5maWx0ZXJvcHRpb24gPiAwKSB7XHJcbiAgLy8gICAgICAgIGlmICh0aGlzLlByb2R1Y3RzU2VydmljZS5CQ0JQcm9kdWN0Vmlld01vZGVsICE9IG51bGwpIHtcclxuICAvLyAgICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBDb25uZWN0RWlnZW5zY2hhcE9wdGllUmVxdWVzdCgpO1xyXG5cclxuICAvLyAgICAgICAgICByZXF1ZXN0LmJjYkVpZ2Vuc2NoYXBPcHRpZUlkID0gaWQ7XHJcbiAgLy8gICAgICAgICAgcmVxdWVzdC5maWx0ZXJPcHRpb25JZCA9IHJlc3VsdC5maWx0ZXJvcHRpb247XHJcbiAgLy8gICAgICAgICAgcmVxdWVzdC5iY2JQcm9kdWN0SWQgPSB0aGlzLlByb2R1Y3RzU2VydmljZS5CQ0JQcm9kdWN0Vmlld01vZGVsLmlkO1xyXG4gIC8vICAgICAgICAgIHJlcXVlc3QubG9jYXRpb24gPSB0aGlzLmVpZ2Vuc2NoYXAubG9jYXRpb247XHJcblxyXG4gIC8vICAgICAgICAgIHRoaXMuUHJvZHVjdHNBcGlDbGllbnQuY29ubmVjdEJDQkVpZ2Vuc2NoYXBPcHRpZUZpbHRlck9wdGlvbihyZXF1ZXN0KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gIC8vICAgICAgICAgICAgdGhpcy5Qcm9kdWN0c1NlcnZpY2UuTG9hZFByb2R1Y3QodGhpcy5DaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgLy8gICAgICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gIC8vICAgICAgICAgICAgYWxlcnQoZXJyb3IpO1xyXG4gIC8vICAgICAgICAgIH0pO1xyXG4gIC8vICAgICAgICB9XHJcbiAgLy8gICAgICB9XHJcbiAgLy8gICAgICBlbHNlIGlmIChyZXN1bHQuZmlsdGVyICE9IG51bGwpIHtcclxuICAvLyAgICAgICAgdmFyIHJlcXVlc3QyID0gbmV3IENvbm5lY3RNYW55TmFtZVJlcXVlc3QoKTtcclxuXHJcbiAgLy8gICAgICAgIHJlcXVlc3QyLmJjYlByb2R1Y3RFaWdlbnNjaGFwT3B0aWVJZCA9IGlkO1xyXG4gIC8vICAgICAgICByZXF1ZXN0Mi5maWx0ZXJJZCA9IHJlc3VsdC5maWx0ZXI7XHJcblxyXG4gIC8vICAgICAgICB0aGlzLlByb2R1Y3RzQXBpQ2xpZW50LmNvbm5lY3RNYW55TmFtZShyZXF1ZXN0Mikuc3Vic2NyaWJlKChtb2RlbDogQ29ubmVjdE1hbnlOYW1lUmVzcG9uc2UpID0+IHtcclxuICAvLyAgICAgICAgICB0aGlzLlByb2R1Y3RzU2VydmljZS5Mb2FkUHJvZHVjdCh0aGlzLkNoYW5nZURldGVjdG9yUmVmKTtcclxuICAvLyAgICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gIC8vICAgICAgICAgIGFsZXJ0KGVycm9yKTtcclxuICAvLyAgICAgICAgfSk7XHJcbiAgLy8gICAgICB9XHJcbiAgLy8gICAgfVxyXG4gIC8vICB9KTtcclxuICAvL31cclxuXHJcbiAgcHVibGljIENvbm5lY3RNYW55KGlkOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHZhciBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEJlaGVlclNlbGVjdEZpbHRlckRpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgbmFtZTogdGhpcy5laWdlbnNjaGFwLm5hbWVcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQ6IGFueSkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5Qcm9kdWN0c1NlcnZpY2UuQkNCUHJvZHVjdFZpZXdNb2RlbCAhPSBudWxsKSB7XHJcbiAgICAgICAgaWYgKHJlc3VsdD8uZmlsdGVyICE9IG51bGwpIHtcclxuICAgICAgICAgIGlmIChyZXN1bHQuZmlsdGVyID4gMCkge1xyXG4gICAgICAgICAgICBpZiAoY29uZmlybShcIldlZXQgamUgaGV0IHpla2VyP1wiKSkge1xyXG4gICAgICAgICAgICAgIHZhciByZXF1ZXN0ID0gbmV3IENvbm5lY3RCQ0JFaWdlbnNjaGFwUmVxdWVzdCgpO1xyXG5cclxuICAgICAgICAgICAgICByZXF1ZXN0LmZpbHRlcklkID0gcmVzdWx0LmZpbHRlcjtcclxuICAgICAgICAgICAgICByZXF1ZXN0LmxvY2F0aW9uID0gdGhpcy5laWdlbnNjaGFwLmxvY2F0aW9uO1xyXG4gICAgICAgICAgICAgIHJlcXVlc3QuYmNiRWlnZW5zY2hhcElkID0gdGhpcy5laWdlbnNjaGFwLmlkO1xyXG4gICAgICAgICAgICAgIHJlcXVlc3QuYmNiSW1wb3J0U2V0SWQgPSB0aGlzLkltcG9ydFNldHNTZXJ2aWNlLkJDQkltcG9ydFNldFNlbGVjdGVkO1xyXG4gICAgICAgICAgICAgIHJlcXVlc3QuYmNiUHJvZHVjdElkID0gdGhpcy5Qcm9kdWN0c1NlcnZpY2UuQkNCUHJvZHVjdFZpZXdNb2RlbC5pZDtcclxuICAgICAgICAgICAgICBcclxuXHJcbiAgICAgICAgICAgICAgdGhpcy5Qcm9kdWN0c0FwaUNsaWVudC5jb25uZWN0QkNCRWlnZW5zY2hhcEZpbHRlcihyZXF1ZXN0KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5Qcm9kdWN0c1NlcnZpY2UuTG9hZFByb2R1Y3QodGhpcy5DaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgICAgICAgICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgYWxlcnQoZXJyb3IpO1xyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBJZ25vcmUoaWQ6IG51bWJlcik6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuUHJvZHVjdHNTZXJ2aWNlLkJDQlByb2R1Y3RWaWV3TW9kZWwgIT0gbnVsbCkge1xyXG4gICAgICB2YXIgcmVxdWVzdCA9IG5ldyBDb25uZWN0RWlnZW5zY2hhcE9wdGllUmVxdWVzdCgpO1xyXG5cclxuICAgICAgcmVxdWVzdC5iY2JFaWdlbnNjaGFwT3B0aWVJZCA9IGlkO1xyXG4gICAgICByZXF1ZXN0LmZpbHRlck9wdGlvbklkID0gLTE7XHJcbiAgICAgIHJlcXVlc3QuYmNiUHJvZHVjdElkID0gdGhpcy5Qcm9kdWN0c1NlcnZpY2UuQkNCUHJvZHVjdFZpZXdNb2RlbC5pZDtcclxuICAgICAgcmVxdWVzdC5sb2NhdGlvbiA9IHRoaXMuZWlnZW5zY2hhcC5sb2NhdGlvbjtcclxuXHJcbiAgICAgIHRoaXMuUHJvZHVjdHNBcGlDbGllbnQuaWdub3JlQkNCRWlnZW5zY2hhcE9wdGllRmlsdGVyT3B0aW9uKHJlcXVlc3QpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5Qcm9kdWN0c1NlcnZpY2UuTG9hZFByb2R1Y3QodGhpcy5DaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgICBhbGVydChlcnJvcik7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIENvbm5lY3RSYW5nZSgpOiB2b2lkIHtcclxuICAgIHZhciBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEJlaGVlclByb2R1Y3RzQ29ubmVjdFJhbmdlaW5wdXRDb21wb25lbnQsIHtcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIGJjYmVpZ2Vuc2NoYXBpZDogdGhpcy5laWdlbnNjaGFwLmlkLFxyXG4gICAgICAgIGxvY2F0aW9uOiB0aGlzLmVpZ2Vuc2NoYXAubG9jYXRpb25cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgQ29ubmVjdENhdGVnb3J5KCk6IHZvaWQge1xyXG4gICAgaWYgKGNvbmZpcm0oXCJXZWV0IGplIGhldCB6ZWtlcj9cIikpIHtcclxuICAgICAgdmFyIHJlcXVlc3QgPSBuZXcgQ29ubmVjdEJDQkVpZ2Vuc2NoYXBSZXF1ZXN0KCk7XHJcblxyXG4gICAgICByZXF1ZXN0LmJjYkVpZ2Vuc2NoYXBJZCA9IHRoaXMuZWlnZW5zY2hhcC5pZDtcclxuICAgICAgcmVxdWVzdC5iY2JJbXBvcnRTZXRJZCA9IHRoaXMuSW1wb3J0U2V0c1NlcnZpY2UuQkNCSW1wb3J0U2V0U2VsZWN0ZWQ7XHJcblxyXG4gICAgICB0aGlzLlByb2R1Y3RzQXBpQ2xpZW50LmNvbm5lY3RCQ0JFaWdlbnNjaGFwQ2F0ZWdvcnkocmVxdWVzdCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLlByb2R1Y3RzU2VydmljZS5Mb2FkUHJvZHVjdCh0aGlzLkNoYW5nZURldGVjdG9yUmVmKTtcclxuICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGFsZXJ0KGVycm9yKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2hvdygpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLmVpZ2Vuc2NoYXA/Lm9wdGllcz8ubGVuZ3RoICE9IG51bGwgJiZcclxuICAgICAgdGhpcy5laWdlbnNjaGFwLm9wdGllcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmVpZ2Vuc2NoYXA/LmJlcmVpa2VuPy5sZW5ndGggIT0gbnVsbCAmJlxyXG4gICAgICB0aGlzLmVpZ2Vuc2NoYXAuYmVyZWlrZW4ubGVuZ3RoID4gMCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXJcIiBbbmdDbGFzc109XCJ7J3dhcm5pbmcnOiAhZWlnZW5zY2hhcC5jb25uZWN0ZWQsICdub3JtYWwnOiBlaWdlbnNjaGFwLmNvbm5lY3RlZH1cIj5cclxuICA8ZGl2IGNsYXNzPVwicm93XCIgKGNsaWNrKT1cIlRvZ2dsZSgpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaWNvbi10ZFwiPlxyXG4gICAgICA8bWF0LWljb24gKm5nSWY9XCIhZWlnZW5zY2hhcC5vcGVuICYmIFNob3coKVwiPmV4cGFuZF9tb3JlPC9tYXQtaWNvbj5cclxuICAgICAgPG1hdC1pY29uICpuZ0lmPVwiZWlnZW5zY2hhcC5vcGVuICYmIFNob3coKVwiPmV4cGFuZF9sZXNzPC9tYXQtaWNvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImVpZ2Vuc2NoYXBjZWxcIiBjb2xzcGFuPVwiMlwiPlxyXG4gICAgICB7e2VpZ2Vuc2NoYXA/Lm5hbWV9fVxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdJZj1cImVpZ2Vuc2NoYXAub3BlblwiPlxyXG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgYmVyZWlrIG9mIGVpZ2Vuc2NoYXAuYmVyZWlrZW5cIiBjbGFzcz1cImJlcmVpa1wiPlxyXG4gICAgICA8YXBwLWJlaGVlci1wcm9kdWN0cy1laWdlbnNjaGFwLWJlcmVpayBbYmVyZWlrXT1cImJlcmVpa1wiPjwvYXBwLWJlaGVlci1wcm9kdWN0cy1laWdlbnNjaGFwLWJlcmVpaz5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cImVpZ2Vuc2NoYXAuYmVyZWlrZW4ubGVuZ3RoID4gMCAmJiBlaWdlbnNjaGFwLnJhbmdlSW5wdXRzICE9IG51bGxcIj5cclxuICAgICAgPGRpdiAqbmdJZj1cImVpZ2Vuc2NoYXAucmFuZ2VJbnB1dHMubGVuZ3RoID09IDBcIj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJDb25uZWN0UmFuZ2UoKVwiPlxyXG4gICAgICAgICAgUmFuZ2VcclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHJhbmdlIG9mIGVpZ2Vuc2NoYXAucmFuZ2VJbnB1dHNcIj5cclxuICAgICAgICB7eyByYW5nZS5yYW5nZUlucHV0TW9kZWwubmFtZSB9fVxyXG5cclxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uPlxyXG4gICAgICAgICAgUmVtb3ZlXHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBvcHRpZSBvZiBlaWdlbnNjaGFwLm9wdGllc1wiIFtuZ0NsYXNzXT1cInsnd2FybmluZyc6ICFvcHRpZS5jb25uZWN0ZWR9XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWRpdlwiPnt7IG9wdGllLm5hbWUgfX08L2Rpdj5cclxuICAgICAgPGRpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIW9wdGllLmNvbm5lY3RlZFwiIGNsYXNzPVwiYnV0dG9uLXJvd1wiPlxyXG4gICAgICAgICAgPCEtLTxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIkNvbm5lY3Qob3B0aWUuaWQsIGVpZ2Vuc2NoYXAubmFtZSwgb3B0aWUubmFtZSlcIj5cclxuICAgICAgICAgICAgRmlsdGVyT3B0aW9uXHJcbiAgICAgICAgICA8L2J1dHRvbj4tLT5cclxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIkNvbm5lY3RNYW55KG9wdGllLmlkKVwiPlxyXG4gICAgICAgICAgICBGaWx0ZXJPcHRpb25NYW55XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDwhLS08YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJDb25uZWN0Q2F0ZWdvcnkoKVwiPlxyXG4gICAgICAgICAgICBDYXRlZ29yeVxyXG4gICAgICAgICAgPC9idXR0b24+LS0+XHJcbiAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJJZ25vcmUob3B0aWUuaWQpXCI+XHJcbiAgICAgICAgICAgIElnbm9yZVxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgY29ubmVjdCBvZiBvcHRpZS5iY2JFaWdlbnNjaGFwT3B0aWVGaWx0ZXJPcHRpb25WaWV3TW9kZWxzXCI+XHJcbiAgICAgICAgICA8Yj57eyBjb25uZWN0LmZpbHRlck9wdGlvblZpZXdNb2RlbC5maWx0ZXJOYW1lIH19OiB7eyBjb25uZWN0LmZpbHRlck9wdGlvblZpZXdNb2RlbC5uYW1lIH19PC9iPiZuYnNwO1xyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbj5cclxuICAgICAgICAgICAgUmVtb3ZlXHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBjb25uZWN0IG9mIG9wdGllLmJjYkVpZ2Vuc2NoYXBPcHRpZUNhdGVnb3J5Vmlld01vZGVsc1wiPlxyXG4gICAgICAgICAgPGI+e3sgY29ubmVjdC5jYXRlZ29yeVZpZXdNb2RlbC5uYW1lIH19PC9iPiZuYnNwO1xyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbj5cclxuICAgICAgICAgICAgUmVtb3ZlXHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwib3B0aWUuaWdub3JlXCI+XHJcbiAgICAgICAgICA8Yj5JZ25vcmU8L2I+Jm5ic3A7XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -6,11 +6,11 @@ export class BeheerProductsEigenschapBereikComponent {
6
6
  }
7
7
  }
8
8
  BeheerProductsEigenschapBereikComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerProductsEigenschapBereikComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- BeheerProductsEigenschapBereikComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: BeheerProductsEigenschapBereikComponent, selector: "app-beheer-products-eigenschap-bereik", inputs: { bereik: "bereik" }, ngImport: i0, template: "<div class=\"container\">\n <div class=\"item\">{{ bereik.typeField }}</div>\n <div class=\"item\">Minimum: {{ bereik.minimum }} (inclusief: {{ bereik.inclusiefMinimum }})</div>\n <div class=\"item\">Maximum: {{ bereik.maximum }} (inclusief: {{ bereik.inclusiefMaximum }})</div>\n</div>\n", styles: [".container{display:flex}.item{flex:auto}\n"] });
9
+ BeheerProductsEigenschapBereikComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: BeheerProductsEigenschapBereikComponent, selector: "app-beheer-products-eigenschap-bereik", inputs: { bereik: "bereik" }, ngImport: i0, template: "<div class=\"container\">\r\n <div class=\"item\">{{ bereik.typeField }}</div>\r\n <div class=\"item\">Minimum: {{ bereik.minimum }} (inclusief: {{ bereik.inclusiefMinimum }})</div>\r\n <div class=\"item\">Maximum: {{ bereik.maximum }} (inclusief: {{ bereik.inclusiefMaximum }})</div>\r\n</div>\r\n", styles: [".container{display:flex}.item{flex:auto}\n"] });
10
10
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerProductsEigenschapBereikComponent, decorators: [{
11
11
  type: Component,
12
- args: [{ selector: 'app-beheer-products-eigenschap-bereik', template: "<div class=\"container\">\n <div class=\"item\">{{ bereik.typeField }}</div>\n <div class=\"item\">Minimum: {{ bereik.minimum }} (inclusief: {{ bereik.inclusiefMinimum }})</div>\n <div class=\"item\">Maximum: {{ bereik.maximum }} (inclusief: {{ bereik.inclusiefMaximum }})</div>\n</div>\n", styles: [".container{display:flex}.item{flex:auto}\n"] }]
12
+ args: [{ selector: 'app-beheer-products-eigenschap-bereik', template: "<div class=\"container\">\r\n <div class=\"item\">{{ bereik.typeField }}</div>\r\n <div class=\"item\">Minimum: {{ bereik.minimum }} (inclusief: {{ bereik.inclusiefMinimum }})</div>\r\n <div class=\"item\">Maximum: {{ bereik.maximum }} (inclusief: {{ bereik.inclusiefMaximum }})</div>\r\n</div>\r\n", styles: [".container{display:flex}.item{flex:auto}\n"] }]
13
13
  }], ctorParameters: function () { return []; }, propDecorators: { bereik: [{
14
14
  type: Input
15
15
  }] } });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXByb2R1Y3RzLWVpZ2Vuc2NoYXAtYmVyZWlrLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLXByb2R1Y3RzL2JlaGVlci1wcm9kdWN0cy1laWdlbnNjaGFwLWJlcmVpay9iZWhlZXItcHJvZHVjdHMtZWlnZW5zY2hhcC1iZXJlaWsuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWVpZ2Vuc2NoYXAtYmVyZWlrL2JlaGVlci1wcm9kdWN0cy1laWdlbnNjaGFwLWJlcmVpay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7QUFRekQsTUFBTSxPQUFPLHVDQUF1QztJQUlsRCxnQkFBZ0IsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQzs7b0lBUFUsdUNBQXVDO3dIQUF2Qyx1Q0FBdUMsMkdDUnBELHFTQUtBOzJGREdhLHVDQUF1QztrQkFMbkQsU0FBUzsrQkFDRSx1Q0FBdUM7MEVBTXhDLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQkNCRWlnZW5zY2hhcEJlcmVpa1ZpZXdNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL3N3YWdnZXIvU3dhZ2dlckNsaWVudCc7XHJcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWJlaGVlci1wcm9kdWN0cy1laWdlbnNjaGFwLWJlcmVpaycsXG4gIHRlbXBsYXRlVXJsOiAnLi9iZWhlZXItcHJvZHVjdHMtZWlnZW5zY2hhcC1iZXJlaWsuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iZWhlZXItcHJvZHVjdHMtZWlnZW5zY2hhcC1iZXJlaWsuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCZWhlZXJQcm9kdWN0c0VpZ2Vuc2NoYXBCZXJlaWtDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIGJlcmVpazogQkNCRWlnZW5zY2hhcEJlcmVpa1ZpZXdNb2RlbDtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgPGRpdiBjbGFzcz1cIml0ZW1cIj57eyBiZXJlaWsudHlwZUZpZWxkIH19PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJpdGVtXCI+TWluaW11bToge3sgYmVyZWlrLm1pbmltdW0gfX0gKGluY2x1c2llZjoge3sgYmVyZWlrLmluY2x1c2llZk1pbmltdW0gfX0pPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJpdGVtXCI+TWF4aW11bToge3sgYmVyZWlrLm1heGltdW0gfX0gKGluY2x1c2llZjoge3sgYmVyZWlrLmluY2x1c2llZk1heGltdW0gfX0pPC9kaXY+XG48L2Rpdj5cbiJdfQ==
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXByb2R1Y3RzLWVpZ2Vuc2NoYXAtYmVyZWlrLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLXByb2R1Y3RzL2JlaGVlci1wcm9kdWN0cy1laWdlbnNjaGFwLWJlcmVpay9iZWhlZXItcHJvZHVjdHMtZWlnZW5zY2hhcC1iZXJlaWsuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWVpZ2Vuc2NoYXAtYmVyZWlrL2JlaGVlci1wcm9kdWN0cy1laWdlbnNjaGFwLWJlcmVpay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7QUFRekQsTUFBTSxPQUFPLHVDQUF1QztJQUlsRCxnQkFBZ0IsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQzs7b0lBUFUsdUNBQXVDO3dIQUF2Qyx1Q0FBdUMsMkdDUnBELCtTQUtBOzJGREdhLHVDQUF1QztrQkFMbkQsU0FBUzsrQkFDRSx1Q0FBdUM7MEVBTXhDLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCQ0JFaWdlbnNjaGFwQmVyZWlrVmlld01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3dhZ2dlci9Td2FnZ2VyQ2xpZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWJlaGVlci1wcm9kdWN0cy1laWdlbnNjaGFwLWJlcmVpaycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JlaGVlci1wcm9kdWN0cy1laWdlbnNjaGFwLWJlcmVpay5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYmVoZWVyLXByb2R1Y3RzLWVpZ2Vuc2NoYXAtYmVyZWlrLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEJlaGVlclByb2R1Y3RzRWlnZW5zY2hhcEJlcmVpa0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIGJlcmVpazogQkNCRWlnZW5zY2hhcEJlcmVpa1ZpZXdNb2RlbDtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cIml0ZW1cIj57eyBiZXJlaWsudHlwZUZpZWxkIH19PC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIml0ZW1cIj5NaW5pbXVtOiB7eyBiZXJlaWsubWluaW11bSB9fSAoaW5jbHVzaWVmOiB7eyBiZXJlaWsuaW5jbHVzaWVmTWluaW11bSB9fSk8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiaXRlbVwiPk1heGltdW06IHt7IGJlcmVpay5tYXhpbXVtIH19IChpbmNsdXNpZWY6IHt7IGJlcmVpay5pbmNsdXNpZWZNYXhpbXVtIH19KTwvZGl2PlxyXG48L2Rpdj5cclxuIl19