@unnilouis.org/vs-chipdropdown 0.0.11 → 0.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.
@@ -2,7 +2,6 @@ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core
2
2
  import { MatAutocompleteTrigger } from '@angular/material/autocomplete';
3
3
  import { debounceTime, distinctUntilChanged, tap, switchMap, finalize, takeUntil, map, } from "rxjs/operators";
4
4
  import { fromEvent } from 'rxjs';
5
- import { FormControl } from '@angular/forms';
6
5
  import { COMMA, ENTER } from '@angular/cdk/keycodes';
7
6
  import * as i0 from "@angular/core";
8
7
  import * as i1 from "../vs-chipdropdown.service";
@@ -19,13 +18,12 @@ export class VsChipddCmpComponent {
19
18
  this.fb = fb;
20
19
  this.dataEvent = new EventEmitter();
21
20
  this.separatorsKeysCodes = [ENTER, COMMA];
22
- this.ven_id = new FormControl();
23
21
  this.has_next = false;
24
22
  this.currentpage = 1;
25
23
  this.Dropdowndata = [];
26
24
  this.has_previous = false;
27
25
  this.chipSelectedId = [];
28
- this.chipSelectedven = [];
26
+ this.chipSelectedObj = [];
29
27
  }
30
28
  ngOnInit() {
31
29
  this.DropdownForm = this.fb.group({
@@ -46,8 +44,7 @@ export class VsChipddCmpComponent {
46
44
  this.currentpage = 1;
47
45
  this.getdropdown('');
48
46
  this.chipSelectedId = [];
49
- this.chipSelectedven = [];
50
- this.ven_id.reset();
47
+ this.chipSelectedObj = [];
51
48
  this.dataEvent.emit('');
52
49
  }
53
50
  }
@@ -121,8 +118,18 @@ export class VsChipddCmpComponent {
121
118
  });
122
119
  }
123
120
  selected() {
124
- let data = this.DropdownForm.value.value;
125
- this.dataEvent.emit(data);
121
+ // let data = this.DropdownForm.value.value
122
+ if (this.InputFields?.wholedata) {
123
+ this.dataEvent.emit(this.chipSelectedObj);
124
+ }
125
+ else {
126
+ if (this.InputFields?.Outputkey) {
127
+ this.dataEvent.emit(this.chipSelectedId);
128
+ }
129
+ else {
130
+ this.dataEvent.emit(this.chipSelectedObj);
131
+ }
132
+ }
126
133
  }
127
134
  searchparams(value) {
128
135
  let params = '';
@@ -134,10 +141,10 @@ export class VsChipddCmpComponent {
134
141
  return params;
135
142
  }
136
143
  removechip(obj) {
137
- const index = this.chipSelectedven.indexOf(obj);
144
+ const index = this.chipSelectedObj.indexOf(obj);
138
145
  if (index >= 0) {
139
- this.chipSelectedven.splice(index, 1);
140
- console.log(this.chipSelectedven);
146
+ this.chipSelectedObj.splice(index, 1);
147
+ console.log(this.chipSelectedObj);
141
148
  this.chipSelectedId.splice(index, 1);
142
149
  console.log(this.chipSelectedId);
143
150
  this.DropInput.nativeElement.value = '';
@@ -147,25 +154,30 @@ export class VsChipddCmpComponent {
147
154
  this.DropInput.nativeElement.value = '';
148
155
  console.log('event.option.value', event.option.value);
149
156
  this.selectvenByName(event.option.value[this.InputFields.displaykey]);
150
- console.log('chipSelectedvenid', this.chipSelectedven);
157
+ console.log('chipSelectedvenid', this.chipSelectedObj);
151
158
  }
152
159
  selectvenByName(ven) {
153
- let foundemp1 = this.chipSelectedven.filter(e => e[this.InputFields.displaykey] == ven);
160
+ let foundemp1 = this.chipSelectedObj.filter(e => e[this.InputFields.displaykey] == ven);
154
161
  if (foundemp1.length) {
155
162
  return;
156
163
  }
157
164
  let foundemp = this.Dropdowndata.filter(e => e[this.InputFields.displaykey] == ven);
158
165
  if (foundemp.length) {
159
- this.chipSelectedven.push(foundemp[0]);
160
- this.chipSelectedId.push(foundemp[0].id);
166
+ this.chipSelectedObj.push(foundemp[0]);
167
+ if (this.InputFields?.Outputkey) {
168
+ this.chipSelectedId.push(foundemp[0][this.InputFields?.Outputkey]);
169
+ }
170
+ else {
171
+ this.chipSelectedId.push(foundemp[0].id);
172
+ }
161
173
  }
162
174
  }
163
175
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VsChipddCmpComponent, deps: [{ token: i1.VsChipdropdownService }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
164
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: VsChipddCmpComponent, selector: "lib-vs-chipdd-cmp", inputs: { InputFields: "InputFields", ResetForm: "ResetForm" }, outputs: { dataEvent: "dataEvent" }, viewQueries: [{ propertyName: "autocompleteTrigger", first: true, predicate: MatAutocompleteTrigger, descendants: true }, { propertyName: "matAutocompleteApp", first: true, predicate: ["scrolll"], descendants: true }, { propertyName: "DropInput", first: true, predicate: ["DropInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div>\n <form [formGroup]=\"DropdownForm\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{InputFields.label}}</mat-label>\n <mat-chip-grid multiple #chipListvendor>\n <mat-chip-row *ngFor=\"let vendor of chipSelectedven\" [removable]=\"true\" (removed)=\"removechip(vendor)\">\n {{ vendor[InputFields.displaykey] }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip-row>\n <input #DropInput [matAutocomplete]=\"scrolll\" class=\"matformfieldinputstyle\"\n (keydown)=\"dropdownsearch()\" [matChipInputFor]=\"chipListvendor\" [matChipInputSeparatorKeyCodes]=\"\n separatorsKeysCodes\n \" [matChipInputAddOnBlur]=\"true\" formControlName=\"value\" />\n </mat-chip-grid>\n <mat-autocomplete #scrolll=\"matAutocomplete\" (optionSelected)=\"venSelected($event)\"\n (opened)=\"autocompleteAppScroll()\">\n <ng-container>\n <mat-option *ngFor=\"let dropvalues of Dropdowndata\" [value]=\"dropvalues\" (click)=\"selected()\">\n {{dropvalues[InputFields.displaykey]}}\n </mat-option>\n </ng-container>\n </mat-autocomplete>\n </mat-form-field>\n </form>\n</div>", styles: [""], dependencies: [{ kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple", "hideSingleSelectionIndicator"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i7.MatChipGrid, selector: "mat-chip-grid", inputs: ["tabIndex", "disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i7.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i7.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i7.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["color", "disabled", "disableRipple", "tabIndex", "editable"], outputs: ["edited"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
176
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: VsChipddCmpComponent, selector: "lib-vs-chipdd-cmp", inputs: { InputFields: "InputFields", ResetForm: "ResetForm" }, outputs: { dataEvent: "dataEvent" }, viewQueries: [{ propertyName: "autocompleteTrigger", first: true, predicate: MatAutocompleteTrigger, descendants: true }, { propertyName: "matAutocompleteApp", first: true, predicate: ["scrolll"], descendants: true }, { propertyName: "DropInput", first: true, predicate: ["DropInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div>\n <form [formGroup]=\"DropdownForm\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{InputFields.label}}</mat-label>\n <mat-chip-grid multiple #chipListvendor>\n <mat-chip-row *ngFor=\"let obj of chipSelectedObj\" [removable]=\"true\" (removed)=\"removechip(obj)\">\n {{ obj[InputFields.displaykey] }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip-row>\n <input #DropInput [matAutocomplete]=\"scrolll\" class=\"matformfieldinputstyle\"\n (keydown)=\"dropdownsearch()\" [matChipInputFor]=\"chipListvendor\" [matChipInputSeparatorKeyCodes]=\"\n separatorsKeysCodes\n \" [matChipInputAddOnBlur]=\"true\" formControlName=\"value\" />\n </mat-chip-grid>\n <mat-autocomplete #scrolll=\"matAutocomplete\" (optionSelected)=\"venSelected($event)\"\n (opened)=\"autocompleteAppScroll()\">\n <ng-container>\n <mat-option *ngFor=\"let dropvalues of Dropdowndata\" [value]=\"dropvalues\" (click)=\"selected()\">\n {{dropvalues[InputFields.displaykey]}}\n </mat-option>\n </ng-container>\n </mat-autocomplete>\n </mat-form-field>\n </form>\n</div>", styles: [""], dependencies: [{ kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple", "hideSingleSelectionIndicator"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i7.MatChipGrid, selector: "mat-chip-grid", inputs: ["tabIndex", "disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i7.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i7.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i7.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["color", "disabled", "disableRipple", "tabIndex", "editable"], outputs: ["edited"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
165
177
  }
166
178
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VsChipddCmpComponent, decorators: [{
167
179
  type: Component,
168
- args: [{ selector: 'lib-vs-chipdd-cmp', template: "<div>\n <form [formGroup]=\"DropdownForm\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{InputFields.label}}</mat-label>\n <mat-chip-grid multiple #chipListvendor>\n <mat-chip-row *ngFor=\"let vendor of chipSelectedven\" [removable]=\"true\" (removed)=\"removechip(vendor)\">\n {{ vendor[InputFields.displaykey] }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip-row>\n <input #DropInput [matAutocomplete]=\"scrolll\" class=\"matformfieldinputstyle\"\n (keydown)=\"dropdownsearch()\" [matChipInputFor]=\"chipListvendor\" [matChipInputSeparatorKeyCodes]=\"\n separatorsKeysCodes\n \" [matChipInputAddOnBlur]=\"true\" formControlName=\"value\" />\n </mat-chip-grid>\n <mat-autocomplete #scrolll=\"matAutocomplete\" (optionSelected)=\"venSelected($event)\"\n (opened)=\"autocompleteAppScroll()\">\n <ng-container>\n <mat-option *ngFor=\"let dropvalues of Dropdowndata\" [value]=\"dropvalues\" (click)=\"selected()\">\n {{dropvalues[InputFields.displaykey]}}\n </mat-option>\n </ng-container>\n </mat-autocomplete>\n </mat-form-field>\n </form>\n</div>" }]
180
+ args: [{ selector: 'lib-vs-chipdd-cmp', template: "<div>\n <form [formGroup]=\"DropdownForm\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{InputFields.label}}</mat-label>\n <mat-chip-grid multiple #chipListvendor>\n <mat-chip-row *ngFor=\"let obj of chipSelectedObj\" [removable]=\"true\" (removed)=\"removechip(obj)\">\n {{ obj[InputFields.displaykey] }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip-row>\n <input #DropInput [matAutocomplete]=\"scrolll\" class=\"matformfieldinputstyle\"\n (keydown)=\"dropdownsearch()\" [matChipInputFor]=\"chipListvendor\" [matChipInputSeparatorKeyCodes]=\"\n separatorsKeysCodes\n \" [matChipInputAddOnBlur]=\"true\" formControlName=\"value\" />\n </mat-chip-grid>\n <mat-autocomplete #scrolll=\"matAutocomplete\" (optionSelected)=\"venSelected($event)\"\n (opened)=\"autocompleteAppScroll()\">\n <ng-container>\n <mat-option *ngFor=\"let dropvalues of Dropdowndata\" [value]=\"dropvalues\" (click)=\"selected()\">\n {{dropvalues[InputFields.displaykey]}}\n </mat-option>\n </ng-container>\n </mat-autocomplete>\n </mat-form-field>\n </form>\n</div>" }]
169
181
  }], ctorParameters: function () { return [{ type: i1.VsChipdropdownService }, { type: i2.FormBuilder }]; }, propDecorators: { InputFields: [{
170
182
  type: Input
171
183
  }], ResetForm: [{
@@ -182,4 +194,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
182
194
  type: ViewChild,
183
195
  args: ['DropInput']
184
196
  }] } });
185
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnMtY2hpcGRkLWNtcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92cy1jaGlwZHJvcGRvd24vc3JjL2xpYi92cy1jaGlwZGQtY21wL3ZzLWNoaXBkZC1jbXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdnMtY2hpcGRyb3Bkb3duL3NyYy9saWIvdnMtY2hpcGRkLWNtcC92cy1jaGlwZGQtY21wLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQWlELHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkgsT0FBTyxFQUNMLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsR0FBRyxFQUVILFNBQVMsRUFDVCxRQUFRLEVBQ1IsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBb0IsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRW5ELE9BQU8sRUFBZSxXQUFXLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7O0FBTXJELE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsWUFBb0IsT0FBOEIsRUFBVSxFQUFlO1FBQXZELFlBQU8sR0FBUCxPQUFPLENBQXVCO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQU1qRSxjQUFTLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFFeEQsd0JBQW1CLEdBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDeEQsV0FBTSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFFM0IsYUFBUSxH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QixPQUFPO1NBQ1I7UUFDRCxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ3BGLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRTtZQUNuQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUE7U0FDekM7SUFDTCxDQUFDOytHQTNLWSxvQkFBb0I7bUdBQXBCLG9CQUFvQixtTkFNcEIsc0JBQXNCLDhQQzNCbkMsazRDQXdCTTs7NEZESE8sb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLG1CQUFtQjtzSUFPcEIsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUU2QixtQkFBbUI7c0JBQXJELFNBQVM7dUJBQUMsc0JBQXNCO2dCQUNYLGtCQUFrQjtzQkFBdkMsU0FBUzt1QkFBQyxTQUFTO2dCQUNWLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ2lCLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQsIE1hdEF1dG9jb21wbGV0ZSwgTWF0QXV0b2NvbXBsZXRlVHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQge1xuICBkZWJvdW5jZVRpbWUsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICB0YXAsXG4gIGZpbHRlcixcbiAgc3dpdGNoTWFwLFxuICBmaW5hbGl6ZSxcbiAgdGFrZVVudGlsLFxuICBtYXAsXG59IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1ZzQ2hpcGRyb3Bkb3duU2VydmljZX0gZnJvbSAnLi4vdnMtY2hpcGRyb3Bkb3duLnNlcnZpY2UnXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENPTU1BLCBFTlRFUiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItdnMtY2hpcGRkLWNtcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi92cy1jaGlwZGQtY21wLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdnMtY2hpcGRkLWNtcC5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVnNDaGlwZGRDbXBDb21wb25lbnQge1xuICBEcm9kb3duTG9hZGluZzogYm9vbGVhbjtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzZXJ2aWNlOiBWc0NoaXBkcm9wZG93blNlcnZpY2UsIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyKSB7IH1cbiAgQElucHV0KCkgSW5wdXRGaWVsZHM6IGFueVxuICBASW5wdXQoKSBSZXNldEZvcm06IGFueVxuXG4gIEBWaWV3Q2hpbGQoTWF0QXV0b2NvbXBsZXRlVHJpZ2dlcikgYXV0b2NvbXBsZXRlVHJpZ2dlcjogTWF0QXV0b2NvbXBsZXRlVHJpZ2dlcjtcbiAgQFZpZXdDaGlsZCgnc2Nyb2xsbCcpIG1hdEF1dG9jb21wbGV0ZUFwcDogTWF0QXV0b2NvbXBsZXRlO1xuICBAT3V0cHV0KCkgZGF0YUV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAVmlld0NoaWxkKCdEcm9wSW5wdXQnKSBEcm9wSW5wdXQ6IGFueTtcbiAgcmVhZG9ubHkgc2VwYXJhdG9yc0tleXNDb2RlczogbnVtYmVyW10gPSBbRU5URVIsIENPTU1BXTtcbiAgdmVuX2lkID0gbmV3IEZvcm1Db250cm9sKCk7XG5cbiAgaGFzX25leHQ6IGJvb2xlYW49IGZhbHNlO1xuICBjdXJyZW50cGFnZTogbnVtYmVyPTE7XG4gIERyb3Bkb3duZGF0YTogYW55PVtdO1xuICBoYXNfcHJldmlvdXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgRHJvcGRvd25Gb3JtOiBGb3JtR3JvdXBcbiAgY2hpcFNlbGVjdGVkSWQ6IGFueT1bXTtcbiAgY2hpcFNlbGVjdGVkdmVuOmFueT1bXVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuRHJvcGRvd25Gb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICB2YWx1ZTogJydcbiAgICB9KVxuICAgIHRoaXMuZ2V0ZHJvcGRvd24oJycpXG4gIH1cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGNvbnNvbGUubG9nKFwiY2hhbmdlcy5SZXNldEZvcm1cIixjaGFuZ2VzLlJlc2V0Rm9ybSxjaGFuZ2VzLlJlc2V0Rm9ybS5jdXJyZW50VmFsdWUsY2hhbmdlcy5SZXNldEZvcm0gJiYgY2hhbmdlcy5SZXNldEZvcm0uY3VycmVudFZhbHVlKVxuICAgIGlmIChjaGFuZ2VzLklucHV0RmllbGRzICYmIGNoYW5nZXMuSW5wdXRGaWVsZHMuY3VycmVudFZhbHVlKSB7XG4gICAgICBjb25zb2xlLmxvZyhcIlN1bW1hcnkgTG9nIENoYW5nZXNcIilcbiAgICAgIHRoaXMuY3VycmVudHBhZ2U9MVxuICAgICAgdGhpcy5nZXRkcm9wZG93bignJyk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLlJlc2V0Rm9ybSAmJiBjaGFuZ2VzLlJlc2V0Rm9ybS5jdXJyZW50VmFsdWUpIHtcbiAgICAgIGNvbnNvbGUubG9nKFwiaGl0dGVkXCIpXG4gICAgICB0aGlzLkRyb3Bkb3duRm9ybS5yZXNldCgpXG4gICAgICB0aGlzLmN1cnJlbnRwYWdlPTFcbiAgICAgIHRoaXMuZ2V0ZHJvcGRvd24oJycpO1xuICAgICAgdGhpcy5jaGlwU2VsZWN0ZWRJZD1bXTtcbiAgICAgIHRoaXMuY2hpcFNlbGVjdGVkdmVuPVtdXG4gICAgICB0aGlzLnZlbl9pZC5yZXNldCgpXG4gICAgICB0aGlzLmRhdGFFdmVudC5lbWl0KCcnKTtcbiAgICAgIFxuXG4gICAgfVxuICB9XG4gIC8vIHB1YmxpYyBkaXNwbGF5ZGV2ZWxvcGNsaWVudChjbHQ6IGFueSwga2V5OiBzdHJpbmcpIHtcbiAgLy8gICByZXR1cm4ga2V5W2NsdF07XG4gIC8vIH1cbiAgYXV0b2NvbXBsZXRlQXBwU2Nyb2xsKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLm1hdEF1dG9jb21wbGV0ZUFwcCAmJlxuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZVRyaWdnZXIgJiZcbiAgICAgICAgdGhpcy5tYXRBdXRvY29tcGxldGVBcHAucGFuZWxcbiAgICAgICkge1xuICAgICAgICBmcm9tRXZlbnQodGhpcy5tYXRBdXRvY29tcGxldGVBcHAucGFuZWwubmF0aXZlRWxlbWVudCwgJ3Njcm9sbCcpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoeCA9PiB0aGlzLm1hdEF1dG9jb21wbGV0ZUFwcC5wYW5lbC5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCksXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5hdXRvY29tcGxldGVUcmlnZ2VyLnBhbmVsQ2xvc2luZ0FjdGlvbnMgYXMgT2JzZXJ2YWJsZTxhbnk+KVxuICAgICAgICAgIClcbiAgICAgICAgICAuc3Vic2NyaWJlKHggPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2Nyb2xsVG9wID0gdGhpcy5tYXRBdXRvY29tcGxldGVBcHAucGFuZWwubmF0aXZlRWxlbWVudC5zY3JvbGxUb3A7XG4gICAgICAgICAgICBjb25zdCBzY3JvbGxIZWlnaHQgPSB0aGlzLm1hdEF1dG9jb21wbGV0ZUFwcC5wYW5lbC5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodDtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRIZWlnaHQgPSB0aGlzLm1hdEF1dG9jb21wbGV0ZUFwcC5wYW5lbC5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodDtcbiAgICAgICAgICAgIGNvbnN0IGF0Qm90dG9tID0gc2Nyb2xsSGVpZ2h0IC0gMSA8PSBzY3JvbGxUb3AgKyBlbGVtZW50SGVpZ2h0O1xuICAgICAgICAgICAgaWYgKGF0Qm90dG9tKSB7XG4gICAgICAgICAgICAgIGlmICh0aGlzLmhhc19uZXh0ID09PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgbGV0IHZhbHVlPSB0aGlzLkRyb3BJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlXG4gICAgICAgICAgICAgICAgbGV0IHBhcmFtcz10aGlzLnNlYXJjaHBhcmFtcyh2YWx1ZSlcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRwYWdlPXRoaXMuY3VycmVudHBhZ2UgKyAxXG4gICAgICAgICAgICAgICAgaWYodGhpcy5jdXJyZW50cGFnZT4xKXtcbiAgICAgICAgICAgICAgICAgIHRoaXMuc2VydmljZS5HZXRBcGkodGhpcy5JbnB1dEZpZWxkcy51cmwgKyBcIj9wYWdlPVwiICt0aGlzLmN1cnJlbnRwYWdlLCBwYXJhbXMpXG4gICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHRzOiBhbnlbXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgZGF0YXMgPSByZXN1bHRzW1wiZGF0YVwiXTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGRhdGFwYWdpbmF0aW9uID0gcmVzdWx0c1tcInBhZ2luYXRpb25cIl07XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuRHJvcGRvd25kYXRhID0gdGhpcy5Ecm9wZG93bmRhdGEuY29uY2F0KGRhdGFzKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJ0aGlzLkRyb3Bkb3duZGF0YVwiLHRoaXMuRHJvcGRvd25kYXRhKVxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5Ecm9wZG93bmRhdGEubGVuZ3RoID49IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhhc19uZXh0ID0gZGF0YXBhZ2luYXRpb24uaGFzX25leHQ7XG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5oYXNfcHJldmlvdXMgPSBkYXRhcGFnaW5hdGlvbi5oYXNfcHJldmlvdXM7XG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50cGFnZSA9IGRhdGFwYWdpbmF0aW9uLmluZGV4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIGRyb3Bkb3duc2VhcmNoKCkge1xuICAgIHRoaXMuRHJvcGRvd25Gb3JtLmdldChcInZhbHVlXCIpLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgZGVib3VuY2VUaW1lKDEwMCksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgdGhpcy5Ecm9kb3duTG9hZGluZyA9IHRydWU7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiaW5zaWRlIHRhcFwiKTtcbiAgICAgIH0pLFxuICAgICAgc3dpdGNoTWFwKCh2YWx1ZSkgPT4ge1xuICAgICAgICBsZXQgcGFyYW1zID0gdGhpcy5zZWFyY2hwYXJhbXModmFsdWUpO1xuICAgICAgICB0aGlzLmN1cnJlbnRwYWdlPTFcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZS5HZXRBcGkodGhpcy5JbnB1dEZpZWxkcy51cmwrXCI/cGFnZT1cIit0aGlzLmN1cnJlbnRwYWdlLCBwYXJhbXMpLnBpcGUoXG4gICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5Ecm9kb3duTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9KVxuICAgICkuc3Vic2NyaWJlKChyZXN1bHRzOiBhbnlbXSkgPT4ge1xuICAgICAgICBsZXQgZGF0YXMgPSByZXN1bHRzW1wiZGF0YVwiXTtcbiAgICAgICAgdGhpcy5Ecm9wZG93bmRhdGEgPSBkYXRhcztcbiAgICAgIH0pO1xuICB9XG4gIGdldGRyb3Bkb3duKHZhbHVlKSB7XG4gICAgbGV0IHBhcmFtcyA9dGhpcy5zZWFyY2hwYXJhbXModmFsdWUpXG4gICAgdGhpcy5zZXJ2aWNlLkdldEFwaSh0aGlzLklucHV0RmllbGRzLnVybCtcIj9wYWdlPVwiK3RoaXMuY3VycmVudHBhZ2UsIHBhcmFtcylcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdHM6IGFueVtdKSA9PiB7XG4gICAgICAgIGxldCBkYXRhcyA9IHJlc3VsdHNbXCJkYXRhXCJdO1xuICAgICAgICBsZXQgZGF0YXBhZ2luYXRpb24gPSByZXN1bHRzW1wicGFnaW5hdGlvblwiXTtcbiAgICAgICAgdGhpcy5Ecm9wZG93bmRhdGEgPSBkYXRhc1xuICAgICAgICBpZiAodGhpcy5Ecm9wZG93bmRhdGEubGVuZ3RoID49IDApIHtcbiAgICAgICAgICB0aGlzLmhhc19uZXh0ID0gZGF0YXBhZ2luYXRpb24uaGFzX25leHQ7XG4gICAgICAgICAgdGhpcy5oYXNfcHJldmlvdXMgPSBkYXRhcGFnaW5hdGlvbi5oYXNfcHJldmlvdXM7XG4gICAgICAgICAgdGhpcy5jdXJyZW50cGFnZSA9IGRhdGFwYWdpbmF0aW9uLmluZGV4O1xuICAgICAgICB9XG4gICAgICB9KVxuICB9XG4gIHNlbGVjdGVkKCkge1xuICAgIGxldCBkYXRhID0gdGhpcy5Ecm9wZG93bkZvcm0udmFsdWUudmFsdWVcbiAgICB0aGlzLmRhdGFFdmVudC5lbWl0KGRhdGEpO1xuXG4gIH1cbiAgc2VhcmNocGFyYW1zKHZhbHVlKSB7XG4gICAgbGV0IHBhcmFtcyA9ICcnXG4gICAgaWYgKHRoaXMuSW5wdXRGaWVsZHMucGFyYW1zKSB7XG4gICAgICBwYXJhbXMgPSB0aGlzLklucHV0RmllbGRzLnBhcmFtc1xuICAgIH1cbiAgICBsZXQgaW5wVmFsdWUgPXZhbHVlXG4gICAgaW5wVmFsdWUgPyBwYXJhbXMgKz0gJyYnICsgdGhpcy5JbnB1dEZpZWxkcy5zZWFyY2hrZXkgKyAnPScgKyBpbnBWYWx1ZSA6ICcnXG4gICAgcmV0dXJuIHBhcmFtc1xuICB9XG4gIHJlbW92ZWNoaXAob2JqKXtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuY2hpcFNlbGVjdGVkdmVuLmluZGV4T2Yob2JqKTtcblxuICAgIGlmIChpbmRleCA+PSAwKSB7XG5cbiAgICAgIHRoaXMuY2hpcFNlbGVjdGVkdmVuLnNwbGljZShpbmRleCwgMSk7XG4gICAgICBjb25zb2xlLmxvZyh0aGlzLmNoaXBTZWxlY3RlZHZlbik7XG4gICAgICB0aGlzLmNoaXBTZWxlY3RlZElkLnNwbGljZShpbmRleCwgMSk7XG4gICAgICBjb25zb2xlLmxvZyh0aGlzLmNoaXBTZWxlY3RlZElkKTtcbiAgICAgIHRoaXMuRHJvcElucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICB9XG4gIH1cbiAgcHVibGljIHZlblNlbGVjdGVkKGV2ZW50OiBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5Ecm9wSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgIGNvbnNvbGUubG9nKCdldmVudC5vcHRpb24udmFsdWUnLCBldmVudC5vcHRpb24udmFsdWUpXG4gICAgdGhpcy5zZWxlY3R2ZW5CeU5hbWUoZXZlbnQub3B0aW9uLnZhbHVlW3RoaXMuSW5wdXRGaWVsZHMuZGlzcGxheWtleV0pO1xuICAgIGNvbnNvbGUubG9nKCdjaGlwU2VsZWN0ZWR2ZW5pZCcsIHRoaXMuY2hpcFNlbGVjdGVkdmVuKVxuICB9XG4gIHByaXZhdGUgc2VsZWN0dmVuQnlOYW1lKHZlbikge1xuICAgIGxldCBmb3VuZGVtcDEgPSB0aGlzLmNoaXBTZWxlY3RlZHZlbi5maWx0ZXIoZSA9PiBlW3RoaXMuSW5wdXRGaWVsZHMuZGlzcGxheWtleV0gPT0gdmVuKTtcbiAgICBpZiAoZm91bmRlbXAxLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgZm91bmRlbXAgPSB0aGlzLkRyb3Bkb3duZGF0YS5maWx0ZXIoZSA9PiBlW3RoaXMuSW5wdXRGaWVsZHMuZGlzcGxheWtleV0gPT0gdmVuKTtcbiAgICBpZiAoZm91bmRlbXAubGVuZ3RoKSB7XG4gICAgICB0aGlzLmNoaXBTZWxlY3RlZHZlbi5wdXNoKGZvdW5kZW1wWzBdKTtcbiAgICAgIHRoaXMuY2hpcFNlbGVjdGVkSWQucHVzaChmb3VuZGVtcFswXS5pZClcbiAgICB9XG59XG59IiwiPGRpdj5cbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cIkRyb3Bkb3duRm9ybVwiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3tJbnB1dEZpZWxkcy5sYWJlbH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8bWF0LWNoaXAtZ3JpZCBtdWx0aXBsZSAjY2hpcExpc3R2ZW5kb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1jaGlwLXJvdyAqbmdGb3I9XCJsZXQgdmVuZG9yIG9mIGNoaXBTZWxlY3RlZHZlblwiIFtyZW1vdmFibGVdPVwidHJ1ZVwiIChyZW1vdmVkKT1cInJlbW92ZWNoaXAodmVuZG9yKVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyB2ZW5kb3JbSW5wdXRGaWVsZHMuZGlzcGxheWtleV0gfX1cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdENoaXBSZW1vdmU+Y2FuY2VsPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwLXJvdz5cbiAgICAgICAgICAgICAgICA8aW5wdXQgI0Ryb3BJbnB1dCBbbWF0QXV0b2NvbXBsZXRlXT1cInNjcm9sbGxcIiBjbGFzcz1cIm1hdGZvcm1maWVsZGlucHV0c3R5bGVcIlxuICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJkcm9wZG93bnNlYXJjaCgpXCIgW21hdENoaXBJbnB1dEZvcl09XCJjaGlwTGlzdHZlbmRvclwiIFttYXRDaGlwSW5wdXRTZXBhcmF0b3JLZXlDb2Rlc109XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcGFyYXRvcnNLZXlzQ29kZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiBbbWF0Q2hpcElucHV0QWRkT25CbHVyXT1cInRydWVcIiBmb3JtQ29udHJvbE5hbWU9XCJ2YWx1ZVwiIC8+XG4gICAgICAgICAgICA8L21hdC1jaGlwLWdyaWQ+XG4gICAgICAgICAgICA8bWF0LWF1dG9jb21wbGV0ZSAjc2Nyb2xsbD1cIm1hdEF1dG9jb21wbGV0ZVwiIChvcHRpb25TZWxlY3RlZCk9XCJ2ZW5TZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAob3BlbmVkKT1cImF1dG9jb21wbGV0ZUFwcFNjcm9sbCgpXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGRyb3B2YWx1ZXMgb2YgRHJvcGRvd25kYXRhXCIgW3ZhbHVlXT1cImRyb3B2YWx1ZXNcIiAoY2xpY2spPVwic2VsZWN0ZWQoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3tkcm9wdmFsdWVzW0lucHV0RmllbGRzLmRpc3BsYXlrZXldfX1cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZm9ybT5cbjwvZGl2PiJdfQ==
197
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnMtY2hpcGRkLWNtcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92cy1jaGlwZHJvcGRvd24vc3JjL2xpYi92cy1jaGlwZGQtY21wL3ZzLWNoaXBkZC1jbXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdnMtY2hpcGRyb3Bkb3duL3NyYy9saWIvdnMtY2hpcGRkLWNtcC92cy1jaGlwZGQtY21wLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQWlELHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkgsT0FBTyxFQUNMLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsR0FBRyxFQUVILFNBQVMsRUFDVCxRQUFRLEVBQ1IsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBb0IsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR25ELE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7QUFNckQsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQixZQUFvQixPQUE4QixFQUFVLEVBQWU7UUFBdkQsWUFBTyxHQUFQLE9BQU8sQ0FBdUI7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBTWpFLGNBQVMsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUV4RCx3QkFBbUIsR0FBYSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV4RCxhQUFRLEdBQVcsS0FBSyxDQUFDO1FBQ3pCLGdCQUFXLEdBQVMsQ0FBQyxDQUFDO1FBQ3RCLGlCQUFZLEdBQU0sRUFBRSxDQUFDO1FBQ3JCLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRTlCLG1CQUFjLEdBQU0sRUFBRSxDQUFDO1FBQ3ZCLG9CQUFlLEdBQUssRUFBRSxDQUFBO0lBaEJ5RCxDQUFDO0lBa0JoRixRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNoQyxLQUFLLEVBQUUsRUFBRTtTQUNWLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDdEIsQ0FBQztJQUNELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixFQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQ3JJLElBQUksT0FBTyxDQUFDLFdBQVcsSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRTtZQUMzRCxPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUE7WUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBQyxDQUFDLENBQUE7WUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUN0QjtRQUNELElBQUksT0FBTyxDQUFDLFNBQVMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRTtZQUN2RCxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1lBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUE7WUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBQyxDQUFDLENBQUE7WUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNyQixJQUFJLENBQUMsY0FBYyxHQUFDLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsZUFBZSxHQUFDLEVBQUUsQ0FBQTtZQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUd6QjtJQUNILENBQUM7SUFDRCx1REFBdUQ7SUFDdkQscUJBQXFCO0lBQ3JCLElBQUk7SUFDSixxQkFBcUI7UUFDbkIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQ0UsSUFBSSxDQUFDLGtCQUFrQjtnQkFDdkIsSUFBSSxDQUFDLG1CQUFtQjtnQkFDeEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFDN0I7Z0JBQ0EsU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQztxQkFDN0QsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxFQUMvRCxTQUFTLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLG1CQUFzQyxDQUFDLENBQzNFO3FCQUNBLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDYixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7b0JBQ3hFLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQztvQkFDOUUsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO29CQUMvRSxNQUFNLFFBQVEsR0FBRyxZQUFZLEdBQUcsQ0FBQyxJQUFJLFNBQVMsR0FBRyxhQUFhLENBQUM7b0JBQy9ELElBQUksUUFBUSxFQUFFO3dCQUNaLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUU7NEJBQzFCLElBQUksS0FBSyxHQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQTs0QkFDN0MsSUFBSSxNQUFNLEdBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQTs0QkFDbkMsSUFBSSxDQUFDLFdBQVcsR0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQTs0QkFDckMsSUFBRyxJQUFJLENBQUMsV0FBVyxHQUFDLENBQUMsRUFBQztnQ0FDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEdBQUcsUUFBUSxHQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDO3FDQUM3RSxTQUFTLENBQUMsQ0FBQyxPQUFjLEVBQUUsRUFBRTtvQ0FDNUIsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO29DQUM1QixJQUFJLGNBQWMsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7b0NBQzNDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7b0NBQ3BELE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFBO29DQUNsRCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTt3Q0FDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDO3dDQUN4QyxJQUFJLENBQUMsWUFBWSxHQUFHLGNBQWMsQ0FBQyxZQUFZLENBQUM7d0NBQ2hELElBQUksQ0FBQyxXQUFXLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQztxQ0FDekM7Z0NBQ0gsQ0FBQyxDQUFDLENBQUE7NkJBQ0g7eUJBRUY7cUJBQ0Y7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7YUFDTjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELGNBQWM7UUFDWixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUM5QyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQ2pCLG9CQUFvQixFQUFFLEVBQ3RCLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztZQUMzQixPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2xCLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEMsSUFBSSxDQUFDLFdBQVcsR0FBQyxDQUFDLENBQUE7WUFDbEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsR0FBQyxRQUFRLEdBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQ3JGLFFBQVEsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7WUFDOUIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUNILENBQUMsU0FBUyxDQUFDLENBQUMsT0FBYyxFQUFFLEVBQUU7WUFDM0IsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNELFdBQVcsQ0FBQyxLQUFLO1FBQ2YsSUFBSSxNQUFNLEdBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsR0FBQyxRQUFRLEdBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUM7YUFDeEUsU0FBUyxDQUFDLENBQUMsT0FBYyxFQUFFLEVBQUU7WUFDNUIsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVCLElBQUksY0FBYyxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMzQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQTtZQUN6QixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtnQkFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDO2dCQUN4QyxJQUFJLENBQUMsWUFBWSxHQUFHLGNBQWMsQ0FBQyxZQUFZLENBQUM7Z0JBQ2hELElBQUksQ0FBQyxXQUFXLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQzthQUN6QztRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUNELFFBQVE7UUFDTiwyQ0FBMkM7UUFDM0MsSUFBRyxJQUFJLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBQztZQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDM0M7YUFDRztZQUNGLElBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUM7Z0JBQzdCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUMxQztpQkFDRztnQkFDRixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7YUFDM0M7U0FFRjtJQUVILENBQUM7SUFDRCxZQUFZLENBQUMsS0FBSztRQUNoQixJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUE7UUFDZixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFO1lBQzNCLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQTtTQUNqQztRQUNELElBQUksUUFBUSxHQUFFLEtBQUssQ0FBQTtRQUNuQixRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO1FBQzNFLE9BQU8sTUFBTSxDQUFBO0lBQ2YsQ0FBQztJQUNELFVBQVUsQ0FBQyxHQUFHO1FBQ1osTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFaEQsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFO1lBRWQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3RDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNyQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQUNNLFdBQVcsQ0FBQyxLQUFtQztRQUNwRCxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNyRCxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUN0RSxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUN4RCxDQUFDO0lBQ08sZUFBZSxDQUFDLEdBQUc7UUFDekIsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUN4RixJQUFJLFNBQVMsQ0FBQyxNQUFNLEVBQUU7WUFDcEIsT0FBTztTQUNSO1FBQ0QsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNwRixJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkMsSUFBRyxJQUFJLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBQztnQkFDN0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQTthQUVuRTtpQkFDRztnQkFDRixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUE7YUFFekM7U0FDRjtJQUNMLENBQUM7K0dBM0xZLG9CQUFvQjttR0FBcEIsb0JBQW9CLG1OQU1wQixzQkFBc0IsOFBDM0JuQyx5M0NBd0JNOzs0RkRITyxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0UsbUJBQW1CO3NJQU9wQixXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRTZCLG1CQUFtQjtzQkFBckQsU0FBUzt1QkFBQyxzQkFBc0I7Z0JBQ1gsa0JBQWtCO3NCQUF2QyxTQUFTO3VCQUFDLFNBQVM7Z0JBQ1YsU0FBUztzQkFBbEIsTUFBTTtnQkFDaUIsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCwgTWF0QXV0b2NvbXBsZXRlLCBNYXRBdXRvY29tcGxldGVUcmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7XG4gIGRlYm91bmNlVGltZSxcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIHRhcCxcbiAgZmlsdGVyLFxuICBzd2l0Y2hNYXAsXG4gIGZpbmFsaXplLFxuICB0YWtlVW50aWwsXG4gIG1hcCxcbn0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7VnNDaGlwZHJvcGRvd25TZXJ2aWNlfSBmcm9tICcuLi92cy1jaGlwZHJvcGRvd24uc2VydmljZSdcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ09NTUEsIEVOVEVSIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi12cy1jaGlwZGQtY21wJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3ZzLWNoaXBkZC1jbXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi92cy1jaGlwZGQtY21wLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBWc0NoaXBkZENtcENvbXBvbmVudCB7XG4gIERyb2Rvd25Mb2FkaW5nOiBib29sZWFuO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlcnZpY2U6IFZzQ2hpcGRyb3Bkb3duU2VydmljZSwgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIpIHsgfVxuICBASW5wdXQoKSBJbnB1dEZpZWxkczogYW55XG4gIEBJbnB1dCgpIFJlc2V0Rm9ybTogYW55XG5cbiAgQFZpZXdDaGlsZChNYXRBdXRvY29tcGxldGVUcmlnZ2VyKSBhdXRvY29tcGxldGVUcmlnZ2VyOiBNYXRBdXRvY29tcGxldGVUcmlnZ2VyO1xuICBAVmlld0NoaWxkKCdzY3JvbGxsJykgbWF0QXV0b2NvbXBsZXRlQXBwOiBNYXRBdXRvY29tcGxldGU7XG4gIEBPdXRwdXQoKSBkYXRhRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBWaWV3Q2hpbGQoJ0Ryb3BJbnB1dCcpIERyb3BJbnB1dDogYW55O1xuICByZWFkb25seSBzZXBhcmF0b3JzS2V5c0NvZGVzOiBudW1iZXJbXSA9IFtFTlRFUiwgQ09NTUFdO1xuXG4gIGhhc19uZXh0OiBib29sZWFuPSBmYWxzZTtcbiAgY3VycmVudHBhZ2U6IG51bWJlcj0xO1xuICBEcm9wZG93bmRhdGE6IGFueT1bXTtcbiAgaGFzX3ByZXZpb3VzOiBib29sZWFuID0gZmFsc2U7XG4gIERyb3Bkb3duRm9ybTogRm9ybUdyb3VwXG4gIGNoaXBTZWxlY3RlZElkOiBhbnk9W107XG4gIGNoaXBTZWxlY3RlZE9iajphbnk9W11cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLkRyb3Bkb3duRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgdmFsdWU6ICcnXG4gICAgfSlcbiAgICB0aGlzLmdldGRyb3Bkb3duKCcnKVxuICB9XG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZyhcImNoYW5nZXMuUmVzZXRGb3JtXCIsY2hhbmdlcy5SZXNldEZvcm0sY2hhbmdlcy5SZXNldEZvcm0uY3VycmVudFZhbHVlLGNoYW5nZXMuUmVzZXRGb3JtICYmIGNoYW5nZXMuUmVzZXRGb3JtLmN1cnJlbnRWYWx1ZSlcbiAgICBpZiAoY2hhbmdlcy5JbnB1dEZpZWxkcyAmJiBjaGFuZ2VzLklucHV0RmllbGRzLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgY29uc29sZS5sb2coXCJTdW1tYXJ5IExvZyBDaGFuZ2VzXCIpXG4gICAgICB0aGlzLmN1cnJlbnRwYWdlPTFcbiAgICAgIHRoaXMuZ2V0ZHJvcGRvd24oJycpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlcy5SZXNldEZvcm0gJiYgY2hhbmdlcy5SZXNldEZvcm0uY3VycmVudFZhbHVlKSB7XG4gICAgICBjb25zb2xlLmxvZyhcImhpdHRlZFwiKVxuICAgICAgdGhpcy5Ecm9wZG93bkZvcm0ucmVzZXQoKVxuICAgICAgdGhpcy5jdXJyZW50cGFnZT0xXG4gICAgICB0aGlzLmdldGRyb3Bkb3duKCcnKTtcbiAgICAgIHRoaXMuY2hpcFNlbGVjdGVkSWQ9W107XG4gICAgICB0aGlzLmNoaXBTZWxlY3RlZE9iaj1bXVxuICAgICAgdGhpcy5kYXRhRXZlbnQuZW1pdCgnJyk7XG4gICAgICBcblxuICAgIH1cbiAgfVxuICAvLyBwdWJsaWMgZGlzcGxheWRldmVsb3BjbGllbnQoY2x0OiBhbnksIGtleTogc3RyaW5nKSB7XG4gIC8vICAgcmV0dXJuIGtleVtjbHRdO1xuICAvLyB9XG4gIGF1dG9jb21wbGV0ZUFwcFNjcm9sbCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5tYXRBdXRvY29tcGxldGVBcHAgJiZcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGVUcmlnZ2VyICYmXG4gICAgICAgIHRoaXMubWF0QXV0b2NvbXBsZXRlQXBwLnBhbmVsXG4gICAgICApIHtcbiAgICAgICAgZnJvbUV2ZW50KHRoaXMubWF0QXV0b2NvbXBsZXRlQXBwLnBhbmVsLm5hdGl2ZUVsZW1lbnQsICdzY3JvbGwnKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKHggPT4gdGhpcy5tYXRBdXRvY29tcGxldGVBcHAucGFuZWwubmF0aXZlRWxlbWVudC5zY3JvbGxUb3ApLFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuYXV0b2NvbXBsZXRlVHJpZ2dlci5wYW5lbENsb3NpbmdBY3Rpb25zIGFzIE9ic2VydmFibGU8YW55PilcbiAgICAgICAgICApXG4gICAgICAgICAgLnN1YnNjcmliZSh4ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNjcm9sbFRvcCA9IHRoaXMubWF0QXV0b2NvbXBsZXRlQXBwLnBhbmVsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wO1xuICAgICAgICAgICAgY29uc3Qgc2Nyb2xsSGVpZ2h0ID0gdGhpcy5tYXRBdXRvY29tcGxldGVBcHAucGFuZWwubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQ7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50SGVpZ2h0ID0gdGhpcy5tYXRBdXRvY29tcGxldGVBcHAucGFuZWwubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQ7XG4gICAgICAgICAgICBjb25zdCBhdEJvdHRvbSA9IHNjcm9sbEhlaWdodCAtIDEgPD0gc2Nyb2xsVG9wICsgZWxlbWVudEhlaWdodDtcbiAgICAgICAgICAgIGlmIChhdEJvdHRvbSkge1xuICAgICAgICAgICAgICBpZiAodGhpcy5oYXNfbmV4dCA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIGxldCB2YWx1ZT0gdGhpcy5Ecm9wSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZVxuICAgICAgICAgICAgICAgIGxldCBwYXJhbXM9dGhpcy5zZWFyY2hwYXJhbXModmFsdWUpXG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50cGFnZT10aGlzLmN1cnJlbnRwYWdlICsgMVxuICAgICAgICAgICAgICAgIGlmKHRoaXMuY3VycmVudHBhZ2U+MSl7XG4gICAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2UuR2V0QXBpKHRoaXMuSW5wdXRGaWVsZHMudXJsICsgXCI/cGFnZT1cIiArdGhpcy5jdXJyZW50cGFnZSwgcGFyYW1zKVxuICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0czogYW55W10pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGRhdGFzID0gcmVzdWx0c1tcImRhdGFcIl07XG4gICAgICAgICAgICAgICAgICAgIGxldCBkYXRhcGFnaW5hdGlvbiA9IHJlc3VsdHNbXCJwYWdpbmF0aW9uXCJdO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLkRyb3Bkb3duZGF0YSA9IHRoaXMuRHJvcGRvd25kYXRhLmNvbmNhdChkYXRhcyk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwidGhpcy5Ecm9wZG93bmRhdGFcIix0aGlzLkRyb3Bkb3duZGF0YSlcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuRHJvcGRvd25kYXRhLmxlbmd0aCA+PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5oYXNfbmV4dCA9IGRhdGFwYWdpbmF0aW9uLmhhc19uZXh0O1xuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGFzX3ByZXZpb3VzID0gZGF0YXBhZ2luYXRpb24uaGFzX3ByZXZpb3VzO1xuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudHBhZ2UgPSBkYXRhcGFnaW5hdGlvbi5pbmRleDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICBkcm9wZG93bnNlYXJjaCgpIHtcbiAgICB0aGlzLkRyb3Bkb3duRm9ybS5nZXQoXCJ2YWx1ZVwiKS52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIGRlYm91bmNlVGltZSgxMDApLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgIHRoaXMuRHJvZG93bkxvYWRpbmcgPSB0cnVlO1xuICAgICAgICBjb25zb2xlLmxvZyhcImluc2lkZSB0YXBcIik7XG4gICAgICB9KSxcbiAgICAgIHN3aXRjaE1hcCgodmFsdWUpID0+IHtcbiAgICAgICAgbGV0IHBhcmFtcyA9IHRoaXMuc2VhcmNocGFyYW1zKHZhbHVlKTtcbiAgICAgICAgdGhpcy5jdXJyZW50cGFnZT0xXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2UuR2V0QXBpKHRoaXMuSW5wdXRGaWVsZHMudXJsK1wiP3BhZ2U9XCIrdGhpcy5jdXJyZW50cGFnZSwgcGFyYW1zKS5waXBlKFxuICAgICAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuRHJvZG93bkxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApLnN1YnNjcmliZSgocmVzdWx0czogYW55W10pID0+IHtcbiAgICAgICAgbGV0IGRhdGFzID0gcmVzdWx0c1tcImRhdGFcIl07XG4gICAgICAgIHRoaXMuRHJvcGRvd25kYXRhID0gZGF0YXM7XG4gICAgICB9KTtcbiAgfVxuICBnZXRkcm9wZG93bih2YWx1ZSkge1xuICAgIGxldCBwYXJhbXMgPXRoaXMuc2VhcmNocGFyYW1zKHZhbHVlKVxuICAgIHRoaXMuc2VydmljZS5HZXRBcGkodGhpcy5JbnB1dEZpZWxkcy51cmwrXCI/cGFnZT1cIit0aGlzLmN1cnJlbnRwYWdlLCBwYXJhbXMpXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHRzOiBhbnlbXSkgPT4ge1xuICAgICAgICBsZXQgZGF0YXMgPSByZXN1bHRzW1wiZGF0YVwiXTtcbiAgICAgICAgbGV0IGRhdGFwYWdpbmF0aW9uID0gcmVzdWx0c1tcInBhZ2luYXRpb25cIl07XG4gICAgICAgIHRoaXMuRHJvcGRvd25kYXRhID0gZGF0YXNcbiAgICAgICAgaWYgKHRoaXMuRHJvcGRvd25kYXRhLmxlbmd0aCA+PSAwKSB7XG4gICAgICAgICAgdGhpcy5oYXNfbmV4dCA9IGRhdGFwYWdpbmF0aW9uLmhhc19uZXh0O1xuICAgICAgICAgIHRoaXMuaGFzX3ByZXZpb3VzID0gZGF0YXBhZ2luYXRpb24uaGFzX3ByZXZpb3VzO1xuICAgICAgICAgIHRoaXMuY3VycmVudHBhZ2UgPSBkYXRhcGFnaW5hdGlvbi5pbmRleDtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgfVxuICBzZWxlY3RlZCgpIHtcbiAgICAvLyBsZXQgZGF0YSA9IHRoaXMuRHJvcGRvd25Gb3JtLnZhbHVlLnZhbHVlXG4gICAgaWYodGhpcy5JbnB1dEZpZWxkcz8ud2hvbGVkYXRhKXtcbiAgICAgIHRoaXMuZGF0YUV2ZW50LmVtaXQodGhpcy5jaGlwU2VsZWN0ZWRPYmopO1xuICAgIH1cbiAgICBlbHNle1xuICAgICAgaWYodGhpcy5JbnB1dEZpZWxkcz8uT3V0cHV0a2V5KXtcbiAgICAgICAgdGhpcy5kYXRhRXZlbnQuZW1pdCh0aGlzLmNoaXBTZWxlY3RlZElkKTtcbiAgICAgIH1cbiAgICAgIGVsc2V7XG4gICAgICAgIHRoaXMuZGF0YUV2ZW50LmVtaXQodGhpcy5jaGlwU2VsZWN0ZWRPYmopO1xuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cbiAgc2VhcmNocGFyYW1zKHZhbHVlKSB7XG4gICAgbGV0IHBhcmFtcyA9ICcnXG4gICAgaWYgKHRoaXMuSW5wdXRGaWVsZHMucGFyYW1zKSB7XG4gICAgICBwYXJhbXMgPSB0aGlzLklucHV0RmllbGRzLnBhcmFtc1xuICAgIH1cbiAgICBsZXQgaW5wVmFsdWUgPXZhbHVlXG4gICAgaW5wVmFsdWUgPyBwYXJhbXMgKz0gJyYnICsgdGhpcy5JbnB1dEZpZWxkcy5zZWFyY2hrZXkgKyAnPScgKyBpbnBWYWx1ZSA6ICcnXG4gICAgcmV0dXJuIHBhcmFtc1xuICB9XG4gIHJlbW92ZWNoaXAob2JqKXtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuY2hpcFNlbGVjdGVkT2JqLmluZGV4T2Yob2JqKTtcblxuICAgIGlmIChpbmRleCA+PSAwKSB7XG5cbiAgICAgIHRoaXMuY2hpcFNlbGVjdGVkT2JqLnNwbGljZShpbmRleCwgMSk7XG4gICAgICBjb25zb2xlLmxvZyh0aGlzLmNoaXBTZWxlY3RlZE9iaik7XG4gICAgICB0aGlzLmNoaXBTZWxlY3RlZElkLnNwbGljZShpbmRleCwgMSk7XG4gICAgICBjb25zb2xlLmxvZyh0aGlzLmNoaXBTZWxlY3RlZElkKTtcbiAgICAgIHRoaXMuRHJvcElucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICB9XG4gIH1cbiAgcHVibGljIHZlblNlbGVjdGVkKGV2ZW50OiBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5Ecm9wSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgIGNvbnNvbGUubG9nKCdldmVudC5vcHRpb24udmFsdWUnLCBldmVudC5vcHRpb24udmFsdWUpXG4gICAgdGhpcy5zZWxlY3R2ZW5CeU5hbWUoZXZlbnQub3B0aW9uLnZhbHVlW3RoaXMuSW5wdXRGaWVsZHMuZGlzcGxheWtleV0pO1xuICAgIGNvbnNvbGUubG9nKCdjaGlwU2VsZWN0ZWR2ZW5pZCcsIHRoaXMuY2hpcFNlbGVjdGVkT2JqKVxuICB9XG4gIHByaXZhdGUgc2VsZWN0dmVuQnlOYW1lKHZlbikge1xuICAgIGxldCBmb3VuZGVtcDEgPSB0aGlzLmNoaXBTZWxlY3RlZE9iai5maWx0ZXIoZSA9PiBlW3RoaXMuSW5wdXRGaWVsZHMuZGlzcGxheWtleV0gPT0gdmVuKTtcbiAgICBpZiAoZm91bmRlbXAxLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgZm91bmRlbXAgPSB0aGlzLkRyb3Bkb3duZGF0YS5maWx0ZXIoZSA9PiBlW3RoaXMuSW5wdXRGaWVsZHMuZGlzcGxheWtleV0gPT0gdmVuKTtcbiAgICBpZiAoZm91bmRlbXAubGVuZ3RoKSB7XG4gICAgICB0aGlzLmNoaXBTZWxlY3RlZE9iai5wdXNoKGZvdW5kZW1wWzBdKTtcbiAgICAgIGlmKHRoaXMuSW5wdXRGaWVsZHM/Lk91dHB1dGtleSl7XG4gICAgICAgIHRoaXMuY2hpcFNlbGVjdGVkSWQucHVzaChmb3VuZGVtcFswXVt0aGlzLklucHV0RmllbGRzPy5PdXRwdXRrZXldKVxuXG4gICAgICB9XG4gICAgICBlbHNle1xuICAgICAgICB0aGlzLmNoaXBTZWxlY3RlZElkLnB1c2goZm91bmRlbXBbMF0uaWQpXG5cbiAgICAgIH1cbiAgICB9XG59XG59IiwiPGRpdj5cbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cIkRyb3Bkb3duRm9ybVwiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3tJbnB1dEZpZWxkcy5sYWJlbH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8bWF0LWNoaXAtZ3JpZCBtdWx0aXBsZSAjY2hpcExpc3R2ZW5kb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1jaGlwLXJvdyAqbmdGb3I9XCJsZXQgb2JqIG9mIGNoaXBTZWxlY3RlZE9ialwiIFtyZW1vdmFibGVdPVwidHJ1ZVwiIChyZW1vdmVkKT1cInJlbW92ZWNoaXAob2JqKVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBvYmpbSW5wdXRGaWVsZHMuZGlzcGxheWtleV0gfX1cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdENoaXBSZW1vdmU+Y2FuY2VsPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwLXJvdz5cbiAgICAgICAgICAgICAgICA8aW5wdXQgI0Ryb3BJbnB1dCBbbWF0QXV0b2NvbXBsZXRlXT1cInNjcm9sbGxcIiBjbGFzcz1cIm1hdGZvcm1maWVsZGlucHV0c3R5bGVcIlxuICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJkcm9wZG93bnNlYXJjaCgpXCIgW21hdENoaXBJbnB1dEZvcl09XCJjaGlwTGlzdHZlbmRvclwiIFttYXRDaGlwSW5wdXRTZXBhcmF0b3JLZXlDb2Rlc109XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcGFyYXRvcnNLZXlzQ29kZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiBbbWF0Q2hpcElucHV0QWRkT25CbHVyXT1cInRydWVcIiBmb3JtQ29udHJvbE5hbWU9XCJ2YWx1ZVwiIC8+XG4gICAgICAgICAgICA8L21hdC1jaGlwLWdyaWQ+XG4gICAgICAgICAgICA8bWF0LWF1dG9jb21wbGV0ZSAjc2Nyb2xsbD1cIm1hdEF1dG9jb21wbGV0ZVwiIChvcHRpb25TZWxlY3RlZCk9XCJ2ZW5TZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAob3BlbmVkKT1cImF1dG9jb21wbGV0ZUFwcFNjcm9sbCgpXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGRyb3B2YWx1ZXMgb2YgRHJvcGRvd25kYXRhXCIgW3ZhbHVlXT1cImRyb3B2YWx1ZXNcIiAoY2xpY2spPVwic2VsZWN0ZWQoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3tkcm9wdmFsdWVzW0lucHV0RmllbGRzLmRpc3BsYXlrZXldfX1cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZm9ybT5cbjwvZGl2PiJdfQ==
@@ -5,9 +5,9 @@ import * as i6 from '@angular/material/autocomplete';
5
5
  import { MatAutocompleteTrigger, MatAutocompleteModule } from '@angular/material/autocomplete';
6
6
  import { map, takeUntil, debounceTime, distinctUntilChanged, tap, switchMap, finalize } from 'rxjs/operators';
7
7
  import { fromEvent } from 'rxjs';
8
- import * as i2 from '@angular/forms';
9
- import { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
10
8
  import { ENTER, COMMA } from '@angular/cdk/keycodes';
9
+ import * as i2 from '@angular/forms';
10
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
11
11
  import * as i3 from '@angular/material/form-field';
12
12
  import { MatFormFieldModule } from '@angular/material/form-field';
13
13
  import * as i4 from '@angular/common';
@@ -86,13 +86,12 @@ class VsChipddCmpComponent {
86
86
  this.fb = fb;
87
87
  this.dataEvent = new EventEmitter();
88
88
  this.separatorsKeysCodes = [ENTER, COMMA];
89
- this.ven_id = new FormControl();
90
89
  this.has_next = false;
91
90
  this.currentpage = 1;
92
91
  this.Dropdowndata = [];
93
92
  this.has_previous = false;
94
93
  this.chipSelectedId = [];
95
- this.chipSelectedven = [];
94
+ this.chipSelectedObj = [];
96
95
  }
97
96
  ngOnInit() {
98
97
  this.DropdownForm = this.fb.group({
@@ -113,8 +112,7 @@ class VsChipddCmpComponent {
113
112
  this.currentpage = 1;
114
113
  this.getdropdown('');
115
114
  this.chipSelectedId = [];
116
- this.chipSelectedven = [];
117
- this.ven_id.reset();
115
+ this.chipSelectedObj = [];
118
116
  this.dataEvent.emit('');
119
117
  }
120
118
  }
@@ -188,8 +186,18 @@ class VsChipddCmpComponent {
188
186
  });
189
187
  }
190
188
  selected() {
191
- let data = this.DropdownForm.value.value;
192
- this.dataEvent.emit(data);
189
+ // let data = this.DropdownForm.value.value
190
+ if (this.InputFields?.wholedata) {
191
+ this.dataEvent.emit(this.chipSelectedObj);
192
+ }
193
+ else {
194
+ if (this.InputFields?.Outputkey) {
195
+ this.dataEvent.emit(this.chipSelectedId);
196
+ }
197
+ else {
198
+ this.dataEvent.emit(this.chipSelectedObj);
199
+ }
200
+ }
193
201
  }
194
202
  searchparams(value) {
195
203
  let params = '';
@@ -201,10 +209,10 @@ class VsChipddCmpComponent {
201
209
  return params;
202
210
  }
203
211
  removechip(obj) {
204
- const index = this.chipSelectedven.indexOf(obj);
212
+ const index = this.chipSelectedObj.indexOf(obj);
205
213
  if (index >= 0) {
206
- this.chipSelectedven.splice(index, 1);
207
- console.log(this.chipSelectedven);
214
+ this.chipSelectedObj.splice(index, 1);
215
+ console.log(this.chipSelectedObj);
208
216
  this.chipSelectedId.splice(index, 1);
209
217
  console.log(this.chipSelectedId);
210
218
  this.DropInput.nativeElement.value = '';
@@ -214,25 +222,30 @@ class VsChipddCmpComponent {
214
222
  this.DropInput.nativeElement.value = '';
215
223
  console.log('event.option.value', event.option.value);
216
224
  this.selectvenByName(event.option.value[this.InputFields.displaykey]);
217
- console.log('chipSelectedvenid', this.chipSelectedven);
225
+ console.log('chipSelectedvenid', this.chipSelectedObj);
218
226
  }
219
227
  selectvenByName(ven) {
220
- let foundemp1 = this.chipSelectedven.filter(e => e[this.InputFields.displaykey] == ven);
228
+ let foundemp1 = this.chipSelectedObj.filter(e => e[this.InputFields.displaykey] == ven);
221
229
  if (foundemp1.length) {
222
230
  return;
223
231
  }
224
232
  let foundemp = this.Dropdowndata.filter(e => e[this.InputFields.displaykey] == ven);
225
233
  if (foundemp.length) {
226
- this.chipSelectedven.push(foundemp[0]);
227
- this.chipSelectedId.push(foundemp[0].id);
234
+ this.chipSelectedObj.push(foundemp[0]);
235
+ if (this.InputFields?.Outputkey) {
236
+ this.chipSelectedId.push(foundemp[0][this.InputFields?.Outputkey]);
237
+ }
238
+ else {
239
+ this.chipSelectedId.push(foundemp[0].id);
240
+ }
228
241
  }
229
242
  }
230
243
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VsChipddCmpComponent, deps: [{ token: VsChipdropdownService }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
231
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: VsChipddCmpComponent, selector: "lib-vs-chipdd-cmp", inputs: { InputFields: "InputFields", ResetForm: "ResetForm" }, outputs: { dataEvent: "dataEvent" }, viewQueries: [{ propertyName: "autocompleteTrigger", first: true, predicate: MatAutocompleteTrigger, descendants: true }, { propertyName: "matAutocompleteApp", first: true, predicate: ["scrolll"], descendants: true }, { propertyName: "DropInput", first: true, predicate: ["DropInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div>\n <form [formGroup]=\"DropdownForm\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{InputFields.label}}</mat-label>\n <mat-chip-grid multiple #chipListvendor>\n <mat-chip-row *ngFor=\"let vendor of chipSelectedven\" [removable]=\"true\" (removed)=\"removechip(vendor)\">\n {{ vendor[InputFields.displaykey] }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip-row>\n <input #DropInput [matAutocomplete]=\"scrolll\" class=\"matformfieldinputstyle\"\n (keydown)=\"dropdownsearch()\" [matChipInputFor]=\"chipListvendor\" [matChipInputSeparatorKeyCodes]=\"\n separatorsKeysCodes\n \" [matChipInputAddOnBlur]=\"true\" formControlName=\"value\" />\n </mat-chip-grid>\n <mat-autocomplete #scrolll=\"matAutocomplete\" (optionSelected)=\"venSelected($event)\"\n (opened)=\"autocompleteAppScroll()\">\n <ng-container>\n <mat-option *ngFor=\"let dropvalues of Dropdowndata\" [value]=\"dropvalues\" (click)=\"selected()\">\n {{dropvalues[InputFields.displaykey]}}\n </mat-option>\n </ng-container>\n </mat-autocomplete>\n </mat-form-field>\n </form>\n</div>", styles: [""], dependencies: [{ kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple", "hideSingleSelectionIndicator"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i7.MatChipGrid, selector: "mat-chip-grid", inputs: ["tabIndex", "disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i7.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i7.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i7.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["color", "disabled", "disableRipple", "tabIndex", "editable"], outputs: ["edited"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
244
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: VsChipddCmpComponent, selector: "lib-vs-chipdd-cmp", inputs: { InputFields: "InputFields", ResetForm: "ResetForm" }, outputs: { dataEvent: "dataEvent" }, viewQueries: [{ propertyName: "autocompleteTrigger", first: true, predicate: MatAutocompleteTrigger, descendants: true }, { propertyName: "matAutocompleteApp", first: true, predicate: ["scrolll"], descendants: true }, { propertyName: "DropInput", first: true, predicate: ["DropInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div>\n <form [formGroup]=\"DropdownForm\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{InputFields.label}}</mat-label>\n <mat-chip-grid multiple #chipListvendor>\n <mat-chip-row *ngFor=\"let obj of chipSelectedObj\" [removable]=\"true\" (removed)=\"removechip(obj)\">\n {{ obj[InputFields.displaykey] }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip-row>\n <input #DropInput [matAutocomplete]=\"scrolll\" class=\"matformfieldinputstyle\"\n (keydown)=\"dropdownsearch()\" [matChipInputFor]=\"chipListvendor\" [matChipInputSeparatorKeyCodes]=\"\n separatorsKeysCodes\n \" [matChipInputAddOnBlur]=\"true\" formControlName=\"value\" />\n </mat-chip-grid>\n <mat-autocomplete #scrolll=\"matAutocomplete\" (optionSelected)=\"venSelected($event)\"\n (opened)=\"autocompleteAppScroll()\">\n <ng-container>\n <mat-option *ngFor=\"let dropvalues of Dropdowndata\" [value]=\"dropvalues\" (click)=\"selected()\">\n {{dropvalues[InputFields.displaykey]}}\n </mat-option>\n </ng-container>\n </mat-autocomplete>\n </mat-form-field>\n </form>\n</div>", styles: [""], dependencies: [{ kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple", "hideSingleSelectionIndicator"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i7.MatChipGrid, selector: "mat-chip-grid", inputs: ["tabIndex", "disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i7.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i7.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i7.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["color", "disabled", "disableRipple", "tabIndex", "editable"], outputs: ["edited"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
232
245
  }
233
246
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VsChipddCmpComponent, decorators: [{
234
247
  type: Component,
235
- args: [{ selector: 'lib-vs-chipdd-cmp', template: "<div>\n <form [formGroup]=\"DropdownForm\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{InputFields.label}}</mat-label>\n <mat-chip-grid multiple #chipListvendor>\n <mat-chip-row *ngFor=\"let vendor of chipSelectedven\" [removable]=\"true\" (removed)=\"removechip(vendor)\">\n {{ vendor[InputFields.displaykey] }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip-row>\n <input #DropInput [matAutocomplete]=\"scrolll\" class=\"matformfieldinputstyle\"\n (keydown)=\"dropdownsearch()\" [matChipInputFor]=\"chipListvendor\" [matChipInputSeparatorKeyCodes]=\"\n separatorsKeysCodes\n \" [matChipInputAddOnBlur]=\"true\" formControlName=\"value\" />\n </mat-chip-grid>\n <mat-autocomplete #scrolll=\"matAutocomplete\" (optionSelected)=\"venSelected($event)\"\n (opened)=\"autocompleteAppScroll()\">\n <ng-container>\n <mat-option *ngFor=\"let dropvalues of Dropdowndata\" [value]=\"dropvalues\" (click)=\"selected()\">\n {{dropvalues[InputFields.displaykey]}}\n </mat-option>\n </ng-container>\n </mat-autocomplete>\n </mat-form-field>\n </form>\n</div>" }]
248
+ args: [{ selector: 'lib-vs-chipdd-cmp', template: "<div>\n <form [formGroup]=\"DropdownForm\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{InputFields.label}}</mat-label>\n <mat-chip-grid multiple #chipListvendor>\n <mat-chip-row *ngFor=\"let obj of chipSelectedObj\" [removable]=\"true\" (removed)=\"removechip(obj)\">\n {{ obj[InputFields.displaykey] }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip-row>\n <input #DropInput [matAutocomplete]=\"scrolll\" class=\"matformfieldinputstyle\"\n (keydown)=\"dropdownsearch()\" [matChipInputFor]=\"chipListvendor\" [matChipInputSeparatorKeyCodes]=\"\n separatorsKeysCodes\n \" [matChipInputAddOnBlur]=\"true\" formControlName=\"value\" />\n </mat-chip-grid>\n <mat-autocomplete #scrolll=\"matAutocomplete\" (optionSelected)=\"venSelected($event)\"\n (opened)=\"autocompleteAppScroll()\">\n <ng-container>\n <mat-option *ngFor=\"let dropvalues of Dropdowndata\" [value]=\"dropvalues\" (click)=\"selected()\">\n {{dropvalues[InputFields.displaykey]}}\n </mat-option>\n </ng-container>\n </mat-autocomplete>\n </mat-form-field>\n </form>\n</div>" }]
236
249
  }], ctorParameters: function () { return [{ type: VsChipdropdownService }, { type: i2.FormBuilder }]; }, propDecorators: { InputFields: [{
237
250
  type: Input
238
251
  }], ResetForm: [{
@@ -1 +1 @@
1
- {"version":3,"file":"unnilouis.org-vs-chipdropdown.mjs","sources":["../../../projects/vs-chipdropdown/src/lib/vs-chipdropdown.service.ts","../../../projects/vs-chipdropdown/src/lib/vs-chipdropdown.component.ts","../../../projects/vs-chipdropdown/src/lib/vs-chipdd-cmp/vs-chipdd-cmp.component.ts","../../../projects/vs-chipdropdown/src/lib/vs-chipdd-cmp/vs-chipdd-cmp.component.html","../../../projects/vs-chipdropdown/src/lib/vs-chipdropdown.module.ts","../../../projects/vs-chipdropdown/src/public-api.ts","../../../projects/vs-chipdropdown/src/unnilouis.org-vs-chipdropdown.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class VsChipdropdownService {\n\n constructor(private http: HttpClient) { }\n postApi(Apiurl,json={},params): Observable<any> {\n const getToken = localStorage.getItem(\"sessionData\");\n let tokenValue = JSON.parse(getToken);\n let token = tokenValue.token;\n console.log(\"params\",params)\n let paradata=''\n if(params!==undefined && params!==null && params!==''){\n paradata=params\n }\n const headers = { Authorization: \"Token \" + token };\n return this.http.post<any>(Apiurl+paradata,json ,{\n headers: headers,\n \n });\n }\n GetApi(Apiurl,params=''): Observable<any> {\n const getToken = localStorage.getItem(\"sessionData\");\n let tokenValue = JSON.parse(getToken);\n let token = tokenValue.token;\n console.log(\"params\",params)\n let paradata=''\n if(params!==undefined && params!==null && params!==''){\n paradata=params\n }\n const headers = { Authorization: \"Token \" + token };\n return this.http.get<any>(Apiurl+paradata,{\n headers: headers,\n });\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-vs-chipdropdown',\n template: `\n <p>\n vs-chipdropdown works!\n </p>\n `,\n styles: [\n ]\n})\nexport class VsChipdropdownComponent {\n\n}\n","import { Component, EventEmitter, Input, Output, SimpleChanges, ViewChild } from '@angular/core';\nimport { MatAutocompleteSelectedEvent, MatAutocomplete, MatAutocompleteTrigger } from '@angular/material/autocomplete';\nimport {\n debounceTime,\n distinctUntilChanged,\n tap,\n filter,\n switchMap,\n finalize,\n takeUntil,\n map,\n} from \"rxjs/operators\";\nimport { from, Observable, fromEvent } from 'rxjs';\nimport {VsChipdropdownService} from '../vs-chipdropdown.service'\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\n@Component({\n selector: 'lib-vs-chipdd-cmp',\n templateUrl: './vs-chipdd-cmp.component.html',\n styleUrls: ['./vs-chipdd-cmp.component.css']\n})\nexport class VsChipddCmpComponent {\n DrodownLoading: boolean;\n constructor(private service: VsChipdropdownService, private fb: FormBuilder) { }\n @Input() InputFields: any\n @Input() ResetForm: any\n\n @ViewChild(MatAutocompleteTrigger) autocompleteTrigger: MatAutocompleteTrigger;\n @ViewChild('scrolll') matAutocompleteApp: MatAutocomplete;\n @Output() dataEvent: EventEmitter<any> = new EventEmitter<any>();\n @ViewChild('DropInput') DropInput: any;\n readonly separatorsKeysCodes: number[] = [ENTER, COMMA];\n ven_id = new FormControl();\n\n has_next: boolean= false;\n currentpage: number=1;\n Dropdowndata: any=[];\n has_previous: boolean = false;\n DropdownForm: FormGroup\n chipSelectedId: any=[];\n chipSelectedven:any=[]\n\n ngOnInit() {\n this.DropdownForm = this.fb.group({\n value: ''\n })\n this.getdropdown('')\n }\n ngOnChanges(changes: SimpleChanges): void {\n console.log(\"changes.ResetForm\",changes.ResetForm,changes.ResetForm.currentValue,changes.ResetForm && changes.ResetForm.currentValue)\n if (changes.InputFields && changes.InputFields.currentValue) {\n console.log(\"Summary Log Changes\")\n this.currentpage=1\n this.getdropdown('');\n }\n if (changes.ResetForm && changes.ResetForm.currentValue) {\n console.log(\"hitted\")\n this.DropdownForm.reset()\n this.currentpage=1\n this.getdropdown('');\n this.chipSelectedId=[];\n this.chipSelectedven=[]\n this.ven_id.reset()\n this.dataEvent.emit('');\n \n\n }\n }\n // public displaydevelopclient(clt: any, key: string) {\n // return key[clt];\n // }\n autocompleteAppScroll() {\n setTimeout(() => {\n if (\n this.matAutocompleteApp &&\n this.autocompleteTrigger &&\n this.matAutocompleteApp.panel\n ) {\n fromEvent(this.matAutocompleteApp.panel.nativeElement, 'scroll')\n .pipe(\n map(x => this.matAutocompleteApp.panel.nativeElement.scrollTop),\n takeUntil(this.autocompleteTrigger.panelClosingActions as Observable<any>)\n )\n .subscribe(x => {\n const scrollTop = this.matAutocompleteApp.panel.nativeElement.scrollTop;\n const scrollHeight = this.matAutocompleteApp.panel.nativeElement.scrollHeight;\n const elementHeight = this.matAutocompleteApp.panel.nativeElement.clientHeight;\n const atBottom = scrollHeight - 1 <= scrollTop + elementHeight;\n if (atBottom) {\n if (this.has_next === true) {\n let value= this.DropInput.nativeElement.value\n let params=this.searchparams(value)\n this.currentpage=this.currentpage + 1\n if(this.currentpage>1){\n this.service.GetApi(this.InputFields.url + \"?page=\" +this.currentpage, params)\n .subscribe((results: any[]) => {\n let datas = results[\"data\"];\n let datapagination = results[\"pagination\"];\n this.Dropdowndata = this.Dropdowndata.concat(datas);\n console.log(\"this.Dropdowndata\",this.Dropdowndata)\n if (this.Dropdowndata.length >= 0) {\n this.has_next = datapagination.has_next;\n this.has_previous = datapagination.has_previous;\n this.currentpage = datapagination.index;\n }\n })\n }\n \n }\n }\n });\n }\n });\n }\n dropdownsearch() {\n this.DropdownForm.get(\"value\").valueChanges.pipe(\n debounceTime(100),\n distinctUntilChanged(),\n tap(() => {\n this.DrodownLoading = true;\n console.log(\"inside tap\");\n }),\n switchMap((value) => {\n let params = this.searchparams(value);\n this.currentpage=1\n return this.service.GetApi(this.InputFields.url+\"?page=\"+this.currentpage, params).pipe(\n finalize(() => {\n this.DrodownLoading = false;\n })\n );\n })\n ).subscribe((results: any[]) => {\n let datas = results[\"data\"];\n this.Dropdowndata = datas;\n });\n }\n getdropdown(value) {\n let params =this.searchparams(value)\n this.service.GetApi(this.InputFields.url+\"?page=\"+this.currentpage, params)\n .subscribe((results: any[]) => {\n let datas = results[\"data\"];\n let datapagination = results[\"pagination\"];\n this.Dropdowndata = datas\n if (this.Dropdowndata.length >= 0) {\n this.has_next = datapagination.has_next;\n this.has_previous = datapagination.has_previous;\n this.currentpage = datapagination.index;\n }\n })\n }\n selected() {\n let data = this.DropdownForm.value.value\n this.dataEvent.emit(data);\n\n }\n searchparams(value) {\n let params = ''\n if (this.InputFields.params) {\n params = this.InputFields.params\n }\n let inpValue =value\n inpValue ? params += '&' + this.InputFields.searchkey + '=' + inpValue : ''\n return params\n }\n removechip(obj){\n const index = this.chipSelectedven.indexOf(obj);\n\n if (index >= 0) {\n\n this.chipSelectedven.splice(index, 1);\n console.log(this.chipSelectedven);\n this.chipSelectedId.splice(index, 1);\n console.log(this.chipSelectedId);\n this.DropInput.nativeElement.value = '';\n }\n }\n public venSelected(event: MatAutocompleteSelectedEvent): void {\n this.DropInput.nativeElement.value = '';\n console.log('event.option.value', event.option.value)\n this.selectvenByName(event.option.value[this.InputFields.displaykey]);\n console.log('chipSelectedvenid', this.chipSelectedven)\n }\n private selectvenByName(ven) {\n let foundemp1 = this.chipSelectedven.filter(e => e[this.InputFields.displaykey] == ven);\n if (foundemp1.length) {\n return;\n }\n let foundemp = this.Dropdowndata.filter(e => e[this.InputFields.displaykey] == ven);\n if (foundemp.length) {\n this.chipSelectedven.push(foundemp[0]);\n this.chipSelectedId.push(foundemp[0].id)\n }\n}\n}","<div>\n <form [formGroup]=\"DropdownForm\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{InputFields.label}}</mat-label>\n <mat-chip-grid multiple #chipListvendor>\n <mat-chip-row *ngFor=\"let vendor of chipSelectedven\" [removable]=\"true\" (removed)=\"removechip(vendor)\">\n {{ vendor[InputFields.displaykey] }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip-row>\n <input #DropInput [matAutocomplete]=\"scrolll\" class=\"matformfieldinputstyle\"\n (keydown)=\"dropdownsearch()\" [matChipInputFor]=\"chipListvendor\" [matChipInputSeparatorKeyCodes]=\"\n separatorsKeysCodes\n \" [matChipInputAddOnBlur]=\"true\" formControlName=\"value\" />\n </mat-chip-grid>\n <mat-autocomplete #scrolll=\"matAutocomplete\" (optionSelected)=\"venSelected($event)\"\n (opened)=\"autocompleteAppScroll()\">\n <ng-container>\n <mat-option *ngFor=\"let dropvalues of Dropdowndata\" [value]=\"dropvalues\" (click)=\"selected()\">\n {{dropvalues[InputFields.displaykey]}}\n </mat-option>\n </ng-container>\n </mat-autocomplete>\n </mat-form-field>\n </form>\n</div>","import { NgModule } from '@angular/core';\nimport { VsChipdropdownComponent } from './vs-chipdropdown.component';\nimport { VsChipddCmpComponent } from './vs-chipdd-cmp/vs-chipdd-cmp.component';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { MatGridListModule } from '@angular/material/grid-list';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatIconModule } from '@angular/material/icon';\n\n@NgModule({\n declarations: [\n VsChipdropdownComponent,\n VsChipddCmpComponent\n ],\n imports: [MatFormFieldModule,CommonModule,\n MatInputModule,MatSelectModule,MatAutocompleteModule,FormsModule,ReactiveFormsModule,MatGridListModule,MatChipsModule,MatIconModule\n ],\n exports: [\n VsChipddCmpComponent\n ]\n})\nexport class VsChipdropdownModule { }\n","/*\n * Public API Surface of vs-chipdropdown\n */\n\nexport * from './lib/vs-chipdropdown.service';\nexport * from './lib/vs-chipdropdown.component';\nexport * from './lib/vs-chipdropdown.module';\nexport * from './lib/vs-chipdd-cmp/vs-chipdd-cmp.component'","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.VsChipdropdownService"],"mappings":"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"}
1
+ {"version":3,"file":"unnilouis.org-vs-chipdropdown.mjs","sources":["../../../projects/vs-chipdropdown/src/lib/vs-chipdropdown.service.ts","../../../projects/vs-chipdropdown/src/lib/vs-chipdropdown.component.ts","../../../projects/vs-chipdropdown/src/lib/vs-chipdd-cmp/vs-chipdd-cmp.component.ts","../../../projects/vs-chipdropdown/src/lib/vs-chipdd-cmp/vs-chipdd-cmp.component.html","../../../projects/vs-chipdropdown/src/lib/vs-chipdropdown.module.ts","../../../projects/vs-chipdropdown/src/public-api.ts","../../../projects/vs-chipdropdown/src/unnilouis.org-vs-chipdropdown.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class VsChipdropdownService {\n\n constructor(private http: HttpClient) { }\n postApi(Apiurl,json={},params): Observable<any> {\n const getToken = localStorage.getItem(\"sessionData\");\n let tokenValue = JSON.parse(getToken);\n let token = tokenValue.token;\n console.log(\"params\",params)\n let paradata=''\n if(params!==undefined && params!==null && params!==''){\n paradata=params\n }\n const headers = { Authorization: \"Token \" + token };\n return this.http.post<any>(Apiurl+paradata,json ,{\n headers: headers,\n \n });\n }\n GetApi(Apiurl,params=''): Observable<any> {\n const getToken = localStorage.getItem(\"sessionData\");\n let tokenValue = JSON.parse(getToken);\n let token = tokenValue.token;\n console.log(\"params\",params)\n let paradata=''\n if(params!==undefined && params!==null && params!==''){\n paradata=params\n }\n const headers = { Authorization: \"Token \" + token };\n return this.http.get<any>(Apiurl+paradata,{\n headers: headers,\n });\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-vs-chipdropdown',\n template: `\n <p>\n vs-chipdropdown works!\n </p>\n `,\n styles: [\n ]\n})\nexport class VsChipdropdownComponent {\n\n}\n","import { Component, EventEmitter, Input, Output, SimpleChanges, ViewChild } from '@angular/core';\nimport { MatAutocompleteSelectedEvent, MatAutocomplete, MatAutocompleteTrigger } from '@angular/material/autocomplete';\nimport {\n debounceTime,\n distinctUntilChanged,\n tap,\n filter,\n switchMap,\n finalize,\n takeUntil,\n map,\n} from \"rxjs/operators\";\nimport { from, Observable, fromEvent } from 'rxjs';\nimport {VsChipdropdownService} from '../vs-chipdropdown.service'\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\n@Component({\n selector: 'lib-vs-chipdd-cmp',\n templateUrl: './vs-chipdd-cmp.component.html',\n styleUrls: ['./vs-chipdd-cmp.component.css']\n})\nexport class VsChipddCmpComponent {\n DrodownLoading: boolean;\n constructor(private service: VsChipdropdownService, private fb: FormBuilder) { }\n @Input() InputFields: any\n @Input() ResetForm: any\n\n @ViewChild(MatAutocompleteTrigger) autocompleteTrigger: MatAutocompleteTrigger;\n @ViewChild('scrolll') matAutocompleteApp: MatAutocomplete;\n @Output() dataEvent: EventEmitter<any> = new EventEmitter<any>();\n @ViewChild('DropInput') DropInput: any;\n readonly separatorsKeysCodes: number[] = [ENTER, COMMA];\n\n has_next: boolean= false;\n currentpage: number=1;\n Dropdowndata: any=[];\n has_previous: boolean = false;\n DropdownForm: FormGroup\n chipSelectedId: any=[];\n chipSelectedObj:any=[]\n\n ngOnInit() {\n this.DropdownForm = this.fb.group({\n value: ''\n })\n this.getdropdown('')\n }\n ngOnChanges(changes: SimpleChanges): void {\n console.log(\"changes.ResetForm\",changes.ResetForm,changes.ResetForm.currentValue,changes.ResetForm && changes.ResetForm.currentValue)\n if (changes.InputFields && changes.InputFields.currentValue) {\n console.log(\"Summary Log Changes\")\n this.currentpage=1\n this.getdropdown('');\n }\n if (changes.ResetForm && changes.ResetForm.currentValue) {\n console.log(\"hitted\")\n this.DropdownForm.reset()\n this.currentpage=1\n this.getdropdown('');\n this.chipSelectedId=[];\n this.chipSelectedObj=[]\n this.dataEvent.emit('');\n \n\n }\n }\n // public displaydevelopclient(clt: any, key: string) {\n // return key[clt];\n // }\n autocompleteAppScroll() {\n setTimeout(() => {\n if (\n this.matAutocompleteApp &&\n this.autocompleteTrigger &&\n this.matAutocompleteApp.panel\n ) {\n fromEvent(this.matAutocompleteApp.panel.nativeElement, 'scroll')\n .pipe(\n map(x => this.matAutocompleteApp.panel.nativeElement.scrollTop),\n takeUntil(this.autocompleteTrigger.panelClosingActions as Observable<any>)\n )\n .subscribe(x => {\n const scrollTop = this.matAutocompleteApp.panel.nativeElement.scrollTop;\n const scrollHeight = this.matAutocompleteApp.panel.nativeElement.scrollHeight;\n const elementHeight = this.matAutocompleteApp.panel.nativeElement.clientHeight;\n const atBottom = scrollHeight - 1 <= scrollTop + elementHeight;\n if (atBottom) {\n if (this.has_next === true) {\n let value= this.DropInput.nativeElement.value\n let params=this.searchparams(value)\n this.currentpage=this.currentpage + 1\n if(this.currentpage>1){\n this.service.GetApi(this.InputFields.url + \"?page=\" +this.currentpage, params)\n .subscribe((results: any[]) => {\n let datas = results[\"data\"];\n let datapagination = results[\"pagination\"];\n this.Dropdowndata = this.Dropdowndata.concat(datas);\n console.log(\"this.Dropdowndata\",this.Dropdowndata)\n if (this.Dropdowndata.length >= 0) {\n this.has_next = datapagination.has_next;\n this.has_previous = datapagination.has_previous;\n this.currentpage = datapagination.index;\n }\n })\n }\n \n }\n }\n });\n }\n });\n }\n dropdownsearch() {\n this.DropdownForm.get(\"value\").valueChanges.pipe(\n debounceTime(100),\n distinctUntilChanged(),\n tap(() => {\n this.DrodownLoading = true;\n console.log(\"inside tap\");\n }),\n switchMap((value) => {\n let params = this.searchparams(value);\n this.currentpage=1\n return this.service.GetApi(this.InputFields.url+\"?page=\"+this.currentpage, params).pipe(\n finalize(() => {\n this.DrodownLoading = false;\n })\n );\n })\n ).subscribe((results: any[]) => {\n let datas = results[\"data\"];\n this.Dropdowndata = datas;\n });\n }\n getdropdown(value) {\n let params =this.searchparams(value)\n this.service.GetApi(this.InputFields.url+\"?page=\"+this.currentpage, params)\n .subscribe((results: any[]) => {\n let datas = results[\"data\"];\n let datapagination = results[\"pagination\"];\n this.Dropdowndata = datas\n if (this.Dropdowndata.length >= 0) {\n this.has_next = datapagination.has_next;\n this.has_previous = datapagination.has_previous;\n this.currentpage = datapagination.index;\n }\n })\n }\n selected() {\n // let data = this.DropdownForm.value.value\n if(this.InputFields?.wholedata){\n this.dataEvent.emit(this.chipSelectedObj);\n }\n else{\n if(this.InputFields?.Outputkey){\n this.dataEvent.emit(this.chipSelectedId);\n }\n else{\n this.dataEvent.emit(this.chipSelectedObj);\n }\n\n }\n\n }\n searchparams(value) {\n let params = ''\n if (this.InputFields.params) {\n params = this.InputFields.params\n }\n let inpValue =value\n inpValue ? params += '&' + this.InputFields.searchkey + '=' + inpValue : ''\n return params\n }\n removechip(obj){\n const index = this.chipSelectedObj.indexOf(obj);\n\n if (index >= 0) {\n\n this.chipSelectedObj.splice(index, 1);\n console.log(this.chipSelectedObj);\n this.chipSelectedId.splice(index, 1);\n console.log(this.chipSelectedId);\n this.DropInput.nativeElement.value = '';\n }\n }\n public venSelected(event: MatAutocompleteSelectedEvent): void {\n this.DropInput.nativeElement.value = '';\n console.log('event.option.value', event.option.value)\n this.selectvenByName(event.option.value[this.InputFields.displaykey]);\n console.log('chipSelectedvenid', this.chipSelectedObj)\n }\n private selectvenByName(ven) {\n let foundemp1 = this.chipSelectedObj.filter(e => e[this.InputFields.displaykey] == ven);\n if (foundemp1.length) {\n return;\n }\n let foundemp = this.Dropdowndata.filter(e => e[this.InputFields.displaykey] == ven);\n if (foundemp.length) {\n this.chipSelectedObj.push(foundemp[0]);\n if(this.InputFields?.Outputkey){\n this.chipSelectedId.push(foundemp[0][this.InputFields?.Outputkey])\n\n }\n else{\n this.chipSelectedId.push(foundemp[0].id)\n\n }\n }\n}\n}","<div>\n <form [formGroup]=\"DropdownForm\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{InputFields.label}}</mat-label>\n <mat-chip-grid multiple #chipListvendor>\n <mat-chip-row *ngFor=\"let obj of chipSelectedObj\" [removable]=\"true\" (removed)=\"removechip(obj)\">\n {{ obj[InputFields.displaykey] }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip-row>\n <input #DropInput [matAutocomplete]=\"scrolll\" class=\"matformfieldinputstyle\"\n (keydown)=\"dropdownsearch()\" [matChipInputFor]=\"chipListvendor\" [matChipInputSeparatorKeyCodes]=\"\n separatorsKeysCodes\n \" [matChipInputAddOnBlur]=\"true\" formControlName=\"value\" />\n </mat-chip-grid>\n <mat-autocomplete #scrolll=\"matAutocomplete\" (optionSelected)=\"venSelected($event)\"\n (opened)=\"autocompleteAppScroll()\">\n <ng-container>\n <mat-option *ngFor=\"let dropvalues of Dropdowndata\" [value]=\"dropvalues\" (click)=\"selected()\">\n {{dropvalues[InputFields.displaykey]}}\n </mat-option>\n </ng-container>\n </mat-autocomplete>\n </mat-form-field>\n </form>\n</div>","import { NgModule } from '@angular/core';\nimport { VsChipdropdownComponent } from './vs-chipdropdown.component';\nimport { VsChipddCmpComponent } from './vs-chipdd-cmp/vs-chipdd-cmp.component';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { MatGridListModule } from '@angular/material/grid-list';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatIconModule } from '@angular/material/icon';\n\n@NgModule({\n declarations: [\n VsChipdropdownComponent,\n VsChipddCmpComponent\n ],\n imports: [MatFormFieldModule,CommonModule,\n MatInputModule,MatSelectModule,MatAutocompleteModule,FormsModule,ReactiveFormsModule,MatGridListModule,MatChipsModule,MatIconModule\n ],\n exports: [\n VsChipddCmpComponent\n ]\n})\nexport class VsChipdropdownModule { }\n","/*\n * Public API Surface of vs-chipdropdown\n */\n\nexport * from './lib/vs-chipdropdown.service';\nexport * from './lib/vs-chipdropdown.component';\nexport * from './lib/vs-chipdropdown.module';\nexport * from './lib/vs-chipdd-cmp/vs-chipdd-cmp.component'","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.VsChipdropdownService"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { EventEmitter, SimpleChanges } from '@angular/core';
2
2
  import { MatAutocompleteSelectedEvent, MatAutocomplete, MatAutocompleteTrigger } from '@angular/material/autocomplete';
3
3
  import { VsChipdropdownService } from '../vs-chipdropdown.service';
4
- import { FormBuilder, FormControl, FormGroup } from '@angular/forms';
4
+ import { FormBuilder, FormGroup } from '@angular/forms';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class VsChipddCmpComponent {
7
7
  private service;
@@ -15,14 +15,13 @@ export declare class VsChipddCmpComponent {
15
15
  dataEvent: EventEmitter<any>;
16
16
  DropInput: any;
17
17
  readonly separatorsKeysCodes: number[];
18
- ven_id: FormControl<any>;
19
18
  has_next: boolean;
20
19
  currentpage: number;
21
20
  Dropdowndata: any;
22
21
  has_previous: boolean;
23
22
  DropdownForm: FormGroup;
24
23
  chipSelectedId: any;
25
- chipSelectedven: any;
24
+ chipSelectedObj: any;
26
25
  ngOnInit(): void;
27
26
  ngOnChanges(changes: SimpleChanges): void;
28
27
  autocompleteAppScroll(): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unnilouis.org/vs-chipdropdown",
3
- "version": "0.0.11",
3
+ "version": "0.0.12",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^16.2.0",
6
6
  "@angular/core": "^16.2.0"