@unnilouis.org/vs-chipdropdown 0.0.12 → 0.0.13

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.
@@ -148,20 +148,21 @@ export class VsChipddCmpComponent {
148
148
  this.chipSelectedId.splice(index, 1);
149
149
  console.log(this.chipSelectedId);
150
150
  this.DropInput.nativeElement.value = '';
151
+ this.selected();
151
152
  }
152
153
  }
153
154
  venSelected(event) {
154
155
  this.DropInput.nativeElement.value = '';
155
156
  console.log('event.option.value', event.option.value);
156
- this.selectvenByName(event.option.value[this.InputFields.displaykey]);
157
+ this.selectvenByName(event.option.value[this.comparekey(event.option.value)]);
157
158
  console.log('chipSelectedvenid', this.chipSelectedObj);
158
159
  }
159
160
  selectvenByName(ven) {
160
- let foundemp1 = this.chipSelectedObj.filter(e => e[this.InputFields.displaykey] == ven);
161
+ let foundemp1 = this.chipSelectedObj.filter(e => e[this.comparekey(e)] == ven);
161
162
  if (foundemp1.length) {
162
163
  return;
163
164
  }
164
- let foundemp = this.Dropdowndata.filter(e => e[this.InputFields.displaykey] == ven);
165
+ let foundemp = this.Dropdowndata.filter(e => e[this.comparekey(e)] == ven);
165
166
  if (foundemp.length) {
166
167
  this.chipSelectedObj.push(foundemp[0]);
167
168
  if (this.InputFields?.Outputkey) {
@@ -172,6 +173,19 @@ export class VsChipddCmpComponent {
172
173
  }
173
174
  }
174
175
  }
176
+ comparekey(e) {
177
+ if (this.InputFields?.comparekey) {
178
+ return this.InputFields?.comparekey;
179
+ }
180
+ else {
181
+ if (e?.id) {
182
+ return "id";
183
+ }
184
+ else {
185
+ return this.InputFields.displaykey;
186
+ }
187
+ }
188
+ }
175
189
  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 }); }
176
190
  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"] }] }); }
177
191
  }
@@ -194,4 +208,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
194
208
  type: ViewChild,
195
209
  args: ['DropInput']
196
210
  }] } });
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnMtY2hpcGRkLWNtcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92cy1jaGlwZHJvcGRvd24vc3JjL2xpYi92cy1jaGlwZGQtY21wL3ZzLWNoaXBkZC1jbXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdnMtY2hpcGRyb3Bkb3duL3NyYy9saWIvdnMtY2hpcGRkLWNtcC92cy1jaGlwZGQtY21wLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQWlELHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkgsT0FBTyxFQUNMLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsR0FBRyxFQUVILFNBQVMsRUFDVCxRQUFRLEVBQ1IsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBb0IsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR25ELE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7QUFNckQsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQixZQUFvQixPQUE4QixFQUFVLEVBQWU7UUFBdkQsWUFBTyxHQUFQLE9BQU8sQ0FBdUI7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBTWpFLGNBQVMsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUV4RCx3QkFBbUIsR0FBYSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV4RCxhQUFRLEdBQVcsS0FBSyxDQUFDO1FBQ3pCLGdCQUFXLEdBQVMsQ0FBQyxDQUFDO1FBQ3RCLGlCQUFZLEdBQU0sRUFBRSxDQUFDO1FBQ3JCLGlCQUFZ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IElucHV0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCwgTWF0QXV0b2NvbXBsZXRlLCBNYXRBdXRvY29tcGxldGVUcmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7XG4gIGRlYm91bmNlVGltZSxcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIHRhcCxcbiAgZmlsdGVyLFxuICBzd2l0Y2hNYXAsXG4gIGZpbmFsaXplLFxuICB0YWtlVW50aWwsXG4gIG1hcCxcbn0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7VnNDaGlwZHJvcGRvd25TZXJ2aWNlfSBmcm9tICcuLi92cy1jaGlwZHJvcGRvd24uc2VydmljZSdcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ09NTUEsIEVOVEVSIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi12cy1jaGlwZGQtY21wJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3ZzLWNoaXBkZC1jbXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi92cy1jaGlwZGQtY21wLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBWc0NoaXBkZENtcENvbXBvbmVudCB7XG4gIERyb2Rvd25Mb2FkaW5nOiBib29sZWFuO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlcnZpY2U6IFZzQ2hpcGRyb3Bkb3duU2VydmljZSwgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIpIHsgfVxuICBASW5wdXQoKSBJbnB1dEZpZWxkczogYW55XG4gIEBJbnB1dCgpIFJlc2V0Rm9ybTogYW55XG5cbiAgQFZpZXdDaGlsZChNYXRBdXRvY29tcGxldGVUcmlnZ2VyKSBhdXRvY29tcGxldGVUcmlnZ2VyOiBNYXRBdXRvY29tcGxldGVUcmlnZ2VyO1xuICBAVmlld0NoaWxkKCdzY3JvbGxsJykgbWF0QXV0b2NvbXBsZXRlQXBwOiBNYXRBdXRvY29tcGxldGU7XG4gIEBPdXRwdXQoKSBkYXRhRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBWaWV3Q2hpbGQoJ0Ryb3BJbnB1dCcpIERyb3BJbnB1dDogYW55O1xuICByZWFkb25seSBzZXBhcmF0b3JzS2V5c0NvZGVzOiBudW1iZXJbXSA9IFtFTlRFUiwgQ09NTUFdO1xuXG4gIGhhc19uZXh0OiBib29sZWFuPSBmYWxzZTtcbiAgY3VycmVudHBhZ2U6IG51bWJlcj0xO1xuICBEcm9wZG93bmRhdGE6IGFueT1bXTtcbiAgaGFzX3ByZXZpb3VzOiBib29sZWFuID0gZmFsc2U7XG4gIERyb3Bkb3duRm9ybTogRm9ybUdyb3VwXG4gIGNoaXBTZWxlY3RlZElkOiBhbnk9W107XG4gIGNoaXBTZWxlY3RlZE9iajphbnk9W11cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLkRyb3Bkb3duRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgdmFsdWU6ICcnXG4gICAgfSlcbiAgICB0aGlzLmdldGRyb3Bkb3duKCcnKVxuICB9XG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZyhcImNoYW5nZXMuUmVzZXRGb3JtXCIsY2hhbmdlcy5SZXNldEZvcm0sY2hhbmdlcy5SZXNldEZvcm0uY3VycmVudFZhbHVlLGNoYW5nZXMuUmVzZXRGb3JtICYmIGNoYW5nZXMuUmVzZXRGb3JtLmN1cnJlbnRWYWx1ZSlcbiAgICBpZiAoY2hhbmdlcy5JbnB1dEZpZWxkcyAmJiBjaGFuZ2VzLklucHV0RmllbGRzLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgY29uc29sZS5sb2coXCJTdW1tYXJ5IExvZyBDaGFuZ2VzXCIpXG4gICAgICB0aGlzLmN1cnJlbnRwYWdlPTFcbiAgICAgIHRoaXMuZ2V0ZHJvcGRvd24oJycpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlcy5SZXNldEZvcm0gJiYgY2hhbmdlcy5SZXNldEZvcm0uY3VycmVudFZhbHVlKSB7XG4gICAgICBjb25zb2xlLmxvZyhcImhpdHRlZFwiKVxuICAgICAgdGhpcy5Ecm9wZG93bkZvcm0ucmVzZXQoKVxuICAgICAgdGhpcy5jdXJyZW50cGFnZT0xXG4gICAgICB0aGlzLmdldGRyb3Bkb3duKCcnKTtcbiAgICAgIHRoaXMuY2hpcFNlbGVjdGVkSWQ9W107XG4gICAgICB0aGlzLmNoaXBTZWxlY3RlZE9iaj1bXVxuICAgICAgdGhpcy5kYXRhRXZlbnQuZW1pdCgnJyk7XG4gICAgICBcblxuICAgIH1cbiAgfVxuICAvLyBwdWJsaWMgZGlzcGxheWRldmVsb3BjbGllbnQoY2x0OiBhbnksIGtleTogc3RyaW5nKSB7XG4gIC8vICAgcmV0dXJuIGtleVtjbHRdO1xuICAvLyB9XG4gIGF1dG9jb21wbGV0ZUFwcFNjcm9sbCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5tYXRBdXRvY29tcGxldGVBcHAgJiZcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGVUcmlnZ2VyICYmXG4gICAgICAgIHRoaXMubWF0QXV0b2NvbXBsZXRlQXBwLnBhbmVsXG4gICAgICApIHtcbiAgICAgICAgZnJvbUV2ZW50KHRoaXMubWF0QXV0b2NvbXBsZXRlQXBwLnBhbmVsLm5hdGl2ZUVsZW1lbnQsICdzY3JvbGwnKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKHggPT4gdGhpcy5tYXRBdXRvY29tcGxldGVBcHAucGFuZWwubmF0aXZlRWxlbWVudC5zY3JvbGxUb3ApLFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuYXV0b2NvbXBsZXRlVHJpZ2dlci5wYW5lbENsb3NpbmdBY3Rpb25zIGFzIE9ic2VydmFibGU8YW55PilcbiAgICAgICAgICApXG4gICAgICAgICAgLnN1YnNjcmliZSh4ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNjcm9sbFRvcCA9IHRoaXMubWF0QXV0b2NvbXBsZXRlQXBwLnBhbmVsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wO1xuICAgICAgICAgICAgY29uc3Qgc2Nyb2xsSGVpZ2h0ID0gdGhpcy5tYXRBdXRvY29tcGxldGVBcHAucGFuZWwubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQ7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50SGVpZ2h0ID0gdGhpcy5tYXRBdXRvY29tcGxldGVBcHAucGFuZWwubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQ7XG4gICAgICAgICAgICBjb25zdCBhdEJvdHRvbSA9IHNjcm9sbEhlaWdodCAtIDEgPD0gc2Nyb2xsVG9wICsgZWxlbWVudEhlaWdodDtcbiAgICAgICAgICAgIGlmIChhdEJvdHRvbSkge1xuICAgICAgICAgICAgICBpZiAodGhpcy5oYXNfbmV4dCA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIGxldCB2YWx1ZT0gdGhpcy5Ecm9wSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZVxuICAgICAgICAgICAgICAgIGxldCBwYXJhbXM9dGhpcy5zZWFyY2hwYXJhbXModmFsdWUpXG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50cGFnZT10aGlzLmN1cnJlbnRwYWdlICsgMVxuICAgICAgICAgICAgICAgIGlmKHRoaXMuY3VycmVudHBhZ2U+MSl7XG4gICAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2UuR2V0QXBpKHRoaXMuSW5wdXRGaWVsZHMudXJsICsgXCI/cGFnZT1cIiArdGhpcy5jdXJyZW50cGFnZSwgcGFyYW1zKVxuICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0czogYW55W10pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGRhdGFzID0gcmVzdWx0c1tcImRhdGFcIl07XG4gICAgICAgICAgICAgICAgICAgIGxldCBkYXRhcGFnaW5hdGlvbiA9IHJlc3VsdHNbXCJwYWdpbmF0aW9uXCJdO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLkRyb3Bkb3duZGF0YSA9IHRoaXMuRHJvcGRvd25kYXRhLmNvbmNhdChkYXRhcyk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwidGhpcy5Ecm9wZG93bmRhdGFcIix0aGlzLkRyb3Bkb3duZGF0YSlcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuRHJvcGRvd25kYXRhLmxlbmd0aCA+PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5oYXNfbmV4dCA9IGRhdGFwYWdpbmF0aW9uLmhhc19uZXh0O1xuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGFzX3ByZXZpb3VzID0gZGF0YXBhZ2luYXRpb24uaGFzX3ByZXZpb3VzO1xuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudHBhZ2UgPSBkYXRhcGFnaW5hdGlvbi5pbmRleDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICBkcm9wZG93bnNlYXJjaCgpIHtcbiAgICB0aGlzLkRyb3Bkb3duRm9ybS5nZXQoXCJ2YWx1ZVwiKS52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIGRlYm91bmNlVGltZSgxMDApLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgIHRoaXMuRHJvZG93bkxvYWRpbmcgPSB0cnVlO1xuICAgICAgICBjb25zb2xlLmxvZyhcImluc2lkZSB0YXBcIik7XG4gICAgICB9KSxcbiAgICAgIHN3aXRjaE1hcCgodmFsdWUpID0+IHtcbiAgICAgICAgbGV0IHBhcmFtcyA9IHRoaXMuc2VhcmNocGFyYW1zKHZhbHVlKTtcbiAgICAgICAgdGhpcy5jdXJyZW50cGFnZT0xXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2UuR2V0QXBpKHRoaXMuSW5wdXRGaWVsZHMudXJsK1wiP3BhZ2U9XCIrdGhpcy5jdXJyZW50cGFnZSwgcGFyYW1zKS5waXBlKFxuICAgICAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuRHJvZG93bkxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApLnN1YnNjcmliZSgocmVzdWx0czogYW55W10pID0+IHtcbiAgICAgICAgbGV0IGRhdGFzID0gcmVzdWx0c1tcImRhdGFcIl07XG4gICAgICAgIHRoaXMuRHJvcGRvd25kYXRhID0gZGF0YXM7XG4gICAgICB9KTtcbiAgfVxuICBnZXRkcm9wZG93bih2YWx1ZSkge1xuICAgIGxldCBwYXJhbXMgPXRoaXMuc2VhcmNocGFyYW1zKHZhbHVlKVxuICAgIHRoaXMuc2VydmljZS5HZXRBcGkodGhpcy5JbnB1dEZpZWxkcy51cmwrXCI/cGFnZT1cIit0aGlzLmN1cnJlbnRwYWdlLCBwYXJhbXMpXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHRzOiBhbnlbXSkgPT4ge1xuICAgICAgICBsZXQgZGF0YXMgPSByZXN1bHRzW1wiZGF0YVwiXTtcbiAgICAgICAgbGV0IGRhdGFwYWdpbmF0aW9uID0gcmVzdWx0c1tcInBhZ2luYXRpb25cIl07XG4gICAgICAgIHRoaXMuRHJvcGRvd25kYXRhID0gZGF0YXNcbiAgICAgICAgaWYgKHRoaXMuRHJvcGRvd25kYXRhLmxlbmd0aCA+PSAwKSB7XG4gICAgICAgICAgdGhpcy5oYXNfbmV4dCA9IGRhdGFwYWdpbmF0aW9uLmhhc19uZXh0O1xuICAgICAgICAgIHRoaXMuaGFzX3ByZXZpb3VzID0gZGF0YXBhZ2luYXRpb24uaGFzX3ByZXZpb3VzO1xuICAgICAgICAgIHRoaXMuY3VycmVudHBhZ2UgPSBkYXRhcGFnaW5hdGlvbi5pbmRleDtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgfVxuICBzZWxlY3RlZCgpIHtcbiAgICAvLyBsZXQgZGF0YSA9IHRoaXMuRHJvcGRvd25Gb3JtLnZhbHVlLnZhbHVlXG4gICAgaWYodGhpcy5JbnB1dEZpZWxkcz8ud2hvbGVkYXRhKXtcbiAgICAgIHRoaXMuZGF0YUV2ZW50LmVtaXQodGhpcy5jaGlwU2VsZWN0ZWRPYmopO1xuICAgIH1cbiAgICBlbHNle1xuICAgICAgaWYodGhpcy5JbnB1dEZpZWxkcz8uT3V0cHV0a2V5KXtcbiAgICAgICAgdGhpcy5kYXRhRXZlbnQuZW1pdCh0aGlzLmNoaXBTZWxlY3RlZElkKTtcbiAgICAgIH1cbiAgICAgIGVsc2V7XG4gICAgICAgIHRoaXMuZGF0YUV2ZW50LmVtaXQodGhpcy5jaGlwU2VsZWN0ZWRPYmopO1xuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cbiAgc2VhcmNocGFyYW1zKHZhbHVlKSB7XG4gICAgbGV0IHBhcmFtcyA9ICcnXG4gICAgaWYgKHRoaXMuSW5wdXRGaWVsZHMucGFyYW1zKSB7XG4gICAgICBwYXJhbXMgPSB0aGlzLklucHV0RmllbGRzLnBhcmFtc1xuICAgIH1cbiAgICBsZXQgaW5wVmFsdWUgPXZhbHVlXG4gICAgaW5wVmFsdWUgPyBwYXJhbXMgKz0gJyYnICsgdGhpcy5JbnB1dEZpZWxkcy5zZWFyY2hrZXkgKyAnPScgKyBpbnBWYWx1ZSA6ICcnXG4gICAgcmV0dXJuIHBhcmFtc1xuICB9XG4gIHJlbW92ZWNoaXAob2JqKXtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuY2hpcFNlbGVjdGVkT2JqLmluZGV4T2Yob2JqKTtcblxuICAgIGlmIChpbmRleCA+PSAwKSB7XG5cbiAgICAgIHRoaXMuY2hpcFNlbGVjdGVkT2JqLnNwbGljZShpbmRleCwgMSk7XG4gICAgICBjb25zb2xlLmxvZyh0aGlzLmNoaXBTZWxlY3RlZE9iaik7XG4gICAgICB0aGlzLmNoaXBTZWxlY3RlZElkLnNwbGljZShpbmRleCwgMSk7XG4gICAgICBjb25zb2xlLmxvZyh0aGlzLmNoaXBTZWxlY3RlZElkKTtcbiAgICAgIHRoaXMuRHJvcElucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICB9XG4gIH1cbiAgcHVibGljIHZlblNlbGVjdGVkKGV2ZW50OiBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5Ecm9wSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgIGNvbnNvbGUubG9nKCdldmVudC5vcHRpb24udmFsdWUnLCBldmVudC5vcHRpb24udmFsdWUpXG4gICAgdGhpcy5zZWxlY3R2ZW5CeU5hbWUoZXZlbnQub3B0aW9uLnZhbHVlW3RoaXMuSW5wdXRGaWVsZHMuZGlzcGxheWtleV0pO1xuICAgIGNvbnNvbGUubG9nKCdjaGlwU2VsZWN0ZWR2ZW5pZCcsIHRoaXMuY2hpcFNlbGVjdGVkT2JqKVxuICB9XG4gIHByaXZhdGUgc2VsZWN0dmVuQnlOYW1lKHZlbikge1xuICAgIGxldCBmb3VuZGVtcDEgPSB0aGlzLmNoaXBTZWxlY3RlZE9iai5maWx0ZXIoZSA9PiBlW3RoaXMuSW5wdXRGaWVsZHMuZGlzcGxheWtleV0gPT0gdmVuKTtcbiAgICBpZiAoZm91bmRlbXAxLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgZm91bmRlbXAgPSB0aGlzLkRyb3Bkb3duZGF0YS5maWx0ZXIoZSA9PiBlW3RoaXMuSW5wdXRGaWVsZHMuZGlzcGxheWtleV0gPT0gdmVuKTtcbiAgICBpZiAoZm91bmRlbXAubGVuZ3RoKSB7XG4gICAgICB0aGlzLmNoaXBTZWxlY3RlZE9iai5wdXNoKGZvdW5kZW1wWzBdKTtcbiAgICAgIGlmKHRoaXMuSW5wdXRGaWVsZHM/Lk91dHB1dGtleSl7XG4gICAgICAgIHRoaXMuY2hpcFNlbGVjdGVkSWQucHVzaChmb3VuZGVtcFswXVt0aGlzLklucHV0RmllbGRzPy5PdXRwdXRrZXldKVxuXG4gICAgICB9XG4gICAgICBlbHNle1xuICAgICAgICB0aGlzLmNoaXBTZWxlY3RlZElkLnB1c2goZm91bmRlbXBbMF0uaWQpXG5cbiAgICAgIH1cbiAgICB9XG59XG59IiwiPGRpdj5cbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cIkRyb3Bkb3duRm9ybVwiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3tJbnB1dEZpZWxkcy5sYWJlbH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8bWF0LWNoaXAtZ3JpZCBtdWx0aXBsZSAjY2hpcExpc3R2ZW5kb3I+XG4gICAgICAgICAgICAgICAgPG1hdC1jaGlwLXJvdyAqbmdGb3I9XCJsZXQgb2JqIG9mIGNoaXBTZWxlY3RlZE9ialwiIFtyZW1vdmFibGVdPVwidHJ1ZVwiIChyZW1vdmVkKT1cInJlbW92ZWNoaXAob2JqKVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBvYmpbSW5wdXRGaWVsZHMuZGlzcGxheWtleV0gfX1cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdENoaXBSZW1vdmU+Y2FuY2VsPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwLXJvdz5cbiAgICAgICAgICAgICAgICA8aW5wdXQgI0Ryb3BJbnB1dCBbbWF0QXV0b2NvbXBsZXRlXT1cInNjcm9sbGxcIiBjbGFzcz1cIm1hdGZvcm1maWVsZGlucHV0c3R5bGVcIlxuICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJkcm9wZG93bnNlYXJjaCgpXCIgW21hdENoaXBJbnB1dEZvcl09XCJjaGlwTGlzdHZlbmRvclwiIFttYXRDaGlwSW5wdXRTZXBhcmF0b3JLZXlDb2Rlc109XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcGFyYXRvcnNLZXlzQ29kZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiBbbWF0Q2hpcElucHV0QWRkT25CbHVyXT1cInRydWVcIiBmb3JtQ29udHJvbE5hbWU9XCJ2YWx1ZVwiIC8+XG4gICAgICAgICAgICA8L21hdC1jaGlwLWdyaWQ+XG4gICAgICAgICAgICA8bWF0LWF1dG9jb21wbGV0ZSAjc2Nyb2xsbD1cIm1hdEF1dG9jb21wbGV0ZVwiIChvcHRpb25TZWxlY3RlZCk9XCJ2ZW5TZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAob3BlbmVkKT1cImF1dG9jb21wbGV0ZUFwcFNjcm9sbCgpXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGRyb3B2YWx1ZXMgb2YgRHJvcGRvd25kYXRhXCIgW3ZhbHVlXT1cImRyb3B2YWx1ZXNcIiAoY2xpY2spPVwic2VsZWN0ZWQoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3tkcm9wdmFsdWVzW0lucHV0RmllbGRzLmRpc3BsYXlrZXldfX1cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZm9ybT5cbjwvZGl2PiJdfQ==
211
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnMtY2hpcGRkLWNtcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92cy1jaGlwZHJvcGRvd24vc3JjL2xpYi92cy1jaGlwZGQtY21wL3ZzLWNoaXBkZC1jbXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdnMtY2hpcGRyb3Bkb3duL3NyYy9saWIvdnMtY2hpcGRkLWNtcC92cy1jaGlwZGQtY21wLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQWlELHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkgsT0FBTyxFQUNMLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsR0FBRyxFQUVILFNBQVMsRUFDVCxRQUFRLEVBQ1IsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBb0IsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR25ELE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7QUFNckQsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQixZQUFvQixPQUE4QixFQUFVLEVBQWU7UUFBdkQsWUFBTyxHQUFQLE9BQU8sQ0FBdUI7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBTWpFLGNBQVMsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUV4RCx3QkFBbUIsR0FBYSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV4RCxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBQ3hCLGlCQUFZLEdBQVEsRUFBRSxDQUFDO1FBQ3ZCLGlCQUFZ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bU5BTXBCLHNCQUFzQiw4UEMzQm5DLHkzQ0F3Qk07OzRGREhPLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxtQkFBbUI7c0lBT3BCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFNkIsbUJBQW1CO3NCQUFyRCxTQUFTO3VCQUFDLHNCQUFzQjtnQkFDWCxrQkFBa0I7c0JBQXZDLFNBQVM7dUJBQUMsU0FBUztnQkFDVixTQUFTO3NCQUFsQixNQUFNO2dCQUNpQixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50LCBNYXRBdXRvY29tcGxldGUsIE1hdEF1dG9jb21wbGV0ZVRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHtcbiAgZGVib3VuY2VUaW1lLFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgdGFwLFxuICBmaWx0ZXIsXG4gIHN3aXRjaE1hcCxcbiAgZmluYWxpemUsXG4gIHRha2VVbnRpbCxcbiAgbWFwLFxufSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUsIGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVnNDaGlwZHJvcGRvd25TZXJ2aWNlIH0gZnJvbSAnLi4vdnMtY2hpcGRyb3Bkb3duLnNlcnZpY2UnXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENPTU1BLCBFTlRFUiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItdnMtY2hpcGRkLWNtcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi92cy1jaGlwZGQtY21wLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdnMtY2hpcGRkLWNtcC5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVnNDaGlwZGRDbXBDb21wb25lbnQge1xuICBEcm9kb3duTG9hZGluZzogYm9vbGVhbjtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzZXJ2aWNlOiBWc0NoaXBkcm9wZG93blNlcnZpY2UsIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyKSB7IH1cbiAgQElucHV0KCkgSW5wdXRGaWVsZHM6IGFueVxuICBASW5wdXQoKSBSZXNldEZvcm06IGFueVxuXG4gIEBWaWV3Q2hpbGQoTWF0QXV0b2NvbXBsZXRlVHJpZ2dlcikgYXV0b2NvbXBsZXRlVHJpZ2dlcjogTWF0QXV0b2NvbXBsZXRlVHJpZ2dlcjtcbiAgQFZpZXdDaGlsZCgnc2Nyb2xsbCcpIG1hdEF1dG9jb21wbGV0ZUFwcDogTWF0QXV0b2NvbXBsZXRlO1xuICBAT3V0cHV0KCkgZGF0YUV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAVmlld0NoaWxkKCdEcm9wSW5wdXQnKSBEcm9wSW5wdXQ6IGFueTtcbiAgcmVhZG9ubHkgc2VwYXJhdG9yc0tleXNDb2RlczogbnVtYmVyW10gPSBbRU5URVIsIENPTU1BXTtcblxuICBoYXNfbmV4dDogYm9vbGVhbiA9IGZhbHNlO1xuICBjdXJyZW50cGFnZTogbnVtYmVyID0gMTtcbiAgRHJvcGRvd25kYXRhOiBhbnkgPSBbXTtcbiAgaGFzX3ByZXZpb3VzOiBib29sZWFuID0gZmFsc2U7XG4gIERyb3Bkb3duRm9ybTogRm9ybUdyb3VwXG4gIGNoaXBTZWxlY3RlZElkOiBhbnkgPSBbXTtcbiAgY2hpcFNlbGVjdGVkT2JqOiBhbnkgPSBbXVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuRHJvcGRvd25Gb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICB2YWx1ZTogJydcbiAgICB9KVxuICAgIHRoaXMuZ2V0ZHJvcGRvd24oJycpXG4gIH1cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGNvbnNvbGUubG9nKFwiY2hhbmdlcy5SZXNldEZvcm1cIiwgY2hhbmdlcy5SZXNldEZvcm0sIGNoYW5nZXMuUmVzZXRGb3JtLmN1cnJlbnRWYWx1ZSwgY2hhbmdlcy5SZXNldEZvcm0gJiYgY2hhbmdlcy5SZXNldEZvcm0uY3VycmVudFZhbHVlKVxuICAgIGlmIChjaGFuZ2VzLklucHV0RmllbGRzICYmIGNoYW5nZXMuSW5wdXRGaWVsZHMuY3VycmVudFZhbHVlKSB7XG4gICAgICBjb25zb2xlLmxvZyhcIlN1bW1hcnkgTG9nIENoYW5nZXNcIilcbiAgICAgIHRoaXMuY3VycmVudHBhZ2UgPSAxXG4gICAgICB0aGlzLmdldGRyb3Bkb3duKCcnKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXMuUmVzZXRGb3JtICYmIGNoYW5nZXMuUmVzZXRGb3JtLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgY29uc29sZS5sb2coXCJoaXR0ZWRcIilcbiAgICAgIHRoaXMuRHJvcGRvd25Gb3JtLnJlc2V0KClcbiAgICAgIHRoaXMuY3VycmVudHBhZ2UgPSAxXG4gICAgICB0aGlzLmdldGRyb3Bkb3duKCcnKTtcbiAgICAgIHRoaXMuY2hpcFNlbGVjdGVkSWQgPSBbXTtcbiAgICAgIHRoaXMuY2hpcFNlbGVjdGVkT2JqID0gW11cbiAgICAgIHRoaXMuZGF0YUV2ZW50LmVtaXQoJycpO1xuXG5cbiAgICB9XG4gIH1cbiAgLy8gcHVibGljIGRpc3BsYXlkZXZlbG9wY2xpZW50KGNsdDogYW55LCBrZXk6IHN0cmluZykge1xuICAvLyAgIHJldHVybiBrZXlbY2x0XTtcbiAgLy8gfVxuICBhdXRvY29tcGxldGVBcHBTY3JvbGwoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMubWF0QXV0b2NvbXBsZXRlQXBwICYmXG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlVHJpZ2dlciAmJlxuICAgICAgICB0aGlzLm1hdEF1dG9jb21wbGV0ZUFwcC5wYW5lbFxuICAgICAgKSB7XG4gICAgICAgIGZyb21FdmVudCh0aGlzLm1hdEF1dG9jb21wbGV0ZUFwcC5wYW5lbC5uYXRpdmVFbGVtZW50LCAnc2Nyb2xsJylcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCh4ID0+IHRoaXMubWF0QXV0b2NvbXBsZXRlQXBwLnBhbmVsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wKSxcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmF1dG9jb21wbGV0ZVRyaWdnZXIucGFuZWxDbG9zaW5nQWN0aW9ucyBhcyBPYnNlcnZhYmxlPGFueT4pXG4gICAgICAgICAgKVxuICAgICAgICAgIC5zdWJzY3JpYmUoeCA9PiB7XG4gICAgICAgICAgICBjb25zdCBzY3JvbGxUb3AgPSB0aGlzLm1hdEF1dG9jb21wbGV0ZUFwcC5wYW5lbC5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcDtcbiAgICAgICAgICAgIGNvbnN0IHNjcm9sbEhlaWdodCA9IHRoaXMubWF0QXV0b2NvbXBsZXRlQXBwLnBhbmVsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSGVpZ2h0O1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudEhlaWdodCA9IHRoaXMubWF0QXV0b2NvbXBsZXRlQXBwLnBhbmVsLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0O1xuICAgICAgICAgICAgY29uc3QgYXRCb3R0b20gPSBzY3JvbGxIZWlnaHQgLSAxIDw9IHNjcm9sbFRvcCArIGVsZW1lbnRIZWlnaHQ7XG4gICAgICAgICAgICBpZiAoYXRCb3R0b20pIHtcbiAgICAgICAgICAgICAgaWYgKHRoaXMuaGFzX25leHQgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSB0aGlzLkRyb3BJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlXG4gICAgICAgICAgICAgICAgbGV0IHBhcmFtcyA9IHRoaXMuc2VhcmNocGFyYW1zKHZhbHVlKVxuICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudHBhZ2UgPSB0aGlzLmN1cnJlbnRwYWdlICsgMVxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRwYWdlID4gMSkge1xuICAgICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLkdldEFwaSh0aGlzLklucHV0RmllbGRzLnVybCArIFwiP3BhZ2U9XCIgKyB0aGlzLmN1cnJlbnRwYWdlLCBwYXJhbXMpXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdHM6IGFueVtdKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgbGV0IGRhdGFzID0gcmVzdWx0c1tcImRhdGFcIl07XG4gICAgICAgICAgICAgICAgICAgICAgbGV0IGRhdGFwYWdpbmF0aW9uID0gcmVzdWx0c1tcInBhZ2luYXRpb25cIl07XG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5Ecm9wZG93bmRhdGEgPSB0aGlzLkRyb3Bkb3duZGF0YS5jb25jYXQoZGF0YXMpO1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwidGhpcy5Ecm9wZG93bmRhdGFcIiwgdGhpcy5Ecm9wZG93bmRhdGEpXG4gICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuRHJvcGRvd25kYXRhLmxlbmd0aCA+PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhhc19uZXh0ID0gZGF0YXBhZ2luYXRpb24uaGFzX25leHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhhc19wcmV2aW91cyA9IGRhdGFwYWdpbmF0aW9uLmhhc19wcmV2aW91cztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudHBhZ2UgPSBkYXRhcGFnaW5hdGlvbi5pbmRleDtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICBkcm9wZG93bnNlYXJjaCgpIHtcbiAgICB0aGlzLkRyb3Bkb3duRm9ybS5nZXQoXCJ2YWx1ZVwiKS52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIGRlYm91bmNlVGltZSgxMDApLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgIHRoaXMuRHJvZG93bkxvYWRpbmcgPSB0cnVlO1xuICAgICAgICBjb25zb2xlLmxvZyhcImluc2lkZSB0YXBcIik7XG4gICAgICB9KSxcbiAgICAgIHN3aXRjaE1hcCgodmFsdWUpID0+IHtcbiAgICAgICAgbGV0IHBhcmFtcyA9IHRoaXMuc2VhcmNocGFyYW1zKHZhbHVlKTtcbiAgICAgICAgdGhpcy5jdXJyZW50cGFnZSA9IDFcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZS5HZXRBcGkodGhpcy5JbnB1dEZpZWxkcy51cmwgKyBcIj9wYWdlPVwiICsgdGhpcy5jdXJyZW50cGFnZSwgcGFyYW1zKS5waXBlKFxuICAgICAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuRHJvZG93bkxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApLnN1YnNjcmliZSgocmVzdWx0czogYW55W10pID0+IHtcbiAgICAgIGxldCBkYXRhcyA9IHJlc3VsdHNbXCJkYXRhXCJdO1xuICAgICAgdGhpcy5Ecm9wZG93bmRhdGEgPSBkYXRhcztcbiAgICB9KTtcbiAgfVxuICBnZXRkcm9wZG93bih2YWx1ZSkge1xuICAgIGxldCBwYXJhbXMgPSB0aGlzLnNlYXJjaHBhcmFtcyh2YWx1ZSlcbiAgICB0aGlzLnNlcnZpY2UuR2V0QXBpKHRoaXMuSW5wdXRGaWVsZHMudXJsICsgXCI/cGFnZT1cIiArIHRoaXMuY3VycmVudHBhZ2UsIHBhcmFtcylcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdHM6IGFueVtdKSA9PiB7XG4gICAgICAgIGxldCBkYXRhcyA9IHJlc3VsdHNbXCJkYXRhXCJdO1xuICAgICAgICBsZXQgZGF0YXBhZ2luYXRpb24gPSByZXN1bHRzW1wicGFnaW5hdGlvblwiXTtcbiAgICAgICAgdGhpcy5Ecm9wZG93bmRhdGEgPSBkYXRhc1xuICAgICAgICBpZiAodGhpcy5Ecm9wZG93bmRhdGEubGVuZ3RoID49IDApIHtcbiAgICAgICAgICB0aGlzLmhhc19uZXh0ID0gZGF0YXBhZ2luYXRpb24uaGFzX25leHQ7XG4gICAgICAgICAgdGhpcy5oYXNfcHJldmlvdXMgPSBkYXRhcGFnaW5hdGlvbi5oYXNfcHJldmlvdXM7XG4gICAgICAgICAgdGhpcy5jdXJyZW50cGFnZSA9IGRhdGFwYWdpbmF0aW9uLmluZGV4O1xuICAgICAgICB9XG4gICAgICB9KVxuICB9XG4gIHNlbGVjdGVkKCkge1xuICAgIC8vIGxldCBkYXRhID0gdGhpcy5Ecm9wZG93bkZvcm0udmFsdWUudmFsdWVcbiAgICBpZiAodGhpcy5JbnB1dEZpZWxkcz8ud2hvbGVkYXRhKSB7XG4gICAgICB0aGlzLmRhdGFFdmVudC5lbWl0KHRoaXMuY2hpcFNlbGVjdGVkT2JqKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICBpZiAodGhpcy5JbnB1dEZpZWxkcz8uT3V0cHV0a2V5KSB7XG4gICAgICAgIHRoaXMuZGF0YUV2ZW50LmVtaXQodGhpcy5jaGlwU2VsZWN0ZWRJZCk7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgdGhpcy5kYXRhRXZlbnQuZW1pdCh0aGlzLmNoaXBTZWxlY3RlZE9iaik7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgfVxuICBzZWFyY2hwYXJhbXModmFsdWUpIHtcbiAgICBsZXQgcGFyYW1zID0gJydcbiAgICBpZiAodGhpcy5JbnB1dEZpZWxkcy5wYXJhbXMpIHtcbiAgICAgIHBhcmFtcyA9IHRoaXMuSW5wdXRGaWVsZHMucGFyYW1zXG4gICAgfVxuICAgIGxldCBpbnBWYWx1ZSA9IHZhbHVlXG4gICAgaW5wVmFsdWUgPyBwYXJhbXMgKz0gJyYnICsgdGhpcy5JbnB1dEZpZWxkcy5zZWFyY2hrZXkgKyAnPScgKyBpbnBWYWx1ZSA6ICcnXG4gICAgcmV0dXJuIHBhcmFtc1xuICB9XG4gIHJlbW92ZWNoaXAob2JqKSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmNoaXBTZWxlY3RlZE9iai5pbmRleE9mKG9iaik7XG5cbiAgICBpZiAoaW5kZXggPj0gMCkge1xuXG4gICAgICB0aGlzLmNoaXBTZWxlY3RlZE9iai5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgY29uc29sZS5sb2codGhpcy5jaGlwU2VsZWN0ZWRPYmopO1xuICAgICAgdGhpcy5jaGlwU2VsZWN0ZWRJZC5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgY29uc29sZS5sb2codGhpcy5jaGlwU2VsZWN0ZWRJZCk7XG4gICAgICB0aGlzLkRyb3BJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgICB0aGlzLnNlbGVjdGVkKClcbiAgICB9XG5cbiAgfVxuICBwdWJsaWMgdmVuU2VsZWN0ZWQoZXZlbnQ6IE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLkRyb3BJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgY29uc29sZS5sb2coJ2V2ZW50Lm9wdGlvbi52YWx1ZScsIGV2ZW50Lm9wdGlvbi52YWx1ZSlcbiAgICB0aGlzLnNlbGVjdHZlbkJ5TmFtZShldmVudC5vcHRpb24udmFsdWVbdGhpcy5jb21wYXJla2V5KGV2ZW50Lm9wdGlvbi52YWx1ZSldKTtcbiAgICBjb25zb2xlLmxvZygnY2hpcFNlbGVjdGVkdmVuaWQnLCB0aGlzLmNoaXBTZWxlY3RlZE9iailcbiAgfVxuICBwcml2YXRlIHNlbGVjdHZlbkJ5TmFtZSh2ZW4pIHtcbiAgICBsZXQgZm91bmRlbXAxID0gdGhpcy5jaGlwU2VsZWN0ZWRPYmouZmlsdGVyKGUgPT4gZVt0aGlzLmNvbXBhcmVrZXkoZSldID09IHZlbik7XG4gICAgaWYgKGZvdW5kZW1wMS5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IGZvdW5kZW1wID0gdGhpcy5Ecm9wZG93bmRhdGEuZmlsdGVyKGUgPT4gZVt0aGlzLmNvbXBhcmVrZXkoZSldID09IHZlbik7XG4gICAgaWYgKGZvdW5kZW1wLmxlbmd0aCkge1xuICAgICAgdGhpcy5jaGlwU2VsZWN0ZWRPYmoucHVzaChmb3VuZGVtcFswXSk7XG4gICAgICBpZiAodGhpcy5JbnB1dEZpZWxkcz8uT3V0cHV0a2V5KSB7XG4gICAgICAgIHRoaXMuY2hpcFNlbGVjdGVkSWQucHVzaChmb3VuZGVtcFswXVt0aGlzLklucHV0RmllbGRzPy5PdXRwdXRrZXldKVxuXG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgdGhpcy5jaGlwU2VsZWN0ZWRJZC5wdXNoKGZvdW5kZW1wWzBdLmlkKVxuXG4gICAgICB9XG4gICAgfVxuICB9XG4gIGNvbXBhcmVrZXkoZSkge1xuICAgIGlmICh0aGlzLklucHV0RmllbGRzPy5jb21wYXJla2V5KSB7XG4gICAgICByZXR1cm4gdGhpcy5JbnB1dEZpZWxkcz8uY29tcGFyZWtleVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGlmIChlPy5pZCkge1xuICAgICAgICByZXR1cm4gXCJpZFwiXG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuSW5wdXRGaWVsZHMuZGlzcGxheWtleVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIjxkaXY+XG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJEcm9wZG93bkZvcm1cIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7SW5wdXRGaWVsZHMubGFiZWx9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPG1hdC1jaGlwLWdyaWQgbXVsdGlwbGUgI2NoaXBMaXN0dmVuZG9yPlxuICAgICAgICAgICAgICAgIDxtYXQtY2hpcC1yb3cgKm5nRm9yPVwibGV0IG9iaiBvZiBjaGlwU2VsZWN0ZWRPYmpcIiBbcmVtb3ZhYmxlXT1cInRydWVcIiAocmVtb3ZlZCk9XCJyZW1vdmVjaGlwKG9iailcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgb2JqW0lucHV0RmllbGRzLmRpc3BsYXlrZXldIH19XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRDaGlwUmVtb3ZlPmNhbmNlbDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtY2hpcC1yb3c+XG4gICAgICAgICAgICAgICAgPGlucHV0ICNEcm9wSW5wdXQgW21hdEF1dG9jb21wbGV0ZV09XCJzY3JvbGxsXCIgY2xhc3M9XCJtYXRmb3JtZmllbGRpbnB1dHN0eWxlXCJcbiAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwiZHJvcGRvd25zZWFyY2goKVwiIFttYXRDaGlwSW5wdXRGb3JdPVwiY2hpcExpc3R2ZW5kb3JcIiBbbWF0Q2hpcElucHV0U2VwYXJhdG9yS2V5Q29kZXNdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXBhcmF0b3JzS2V5c0NvZGVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIgW21hdENoaXBJbnB1dEFkZE9uQmx1cl09XCJ0cnVlXCIgZm9ybUNvbnRyb2xOYW1lPVwidmFsdWVcIiAvPlxuICAgICAgICAgICAgPC9tYXQtY2hpcC1ncmlkPlxuICAgICAgICAgICAgPG1hdC1hdXRvY29tcGxldGUgI3Njcm9sbGw9XCJtYXRBdXRvY29tcGxldGVcIiAob3B0aW9uU2VsZWN0ZWQpPVwidmVuU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKG9wZW5lZCk9XCJhdXRvY29tcGxldGVBcHBTY3JvbGwoKVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBkcm9wdmFsdWVzIG9mIERyb3Bkb3duZGF0YVwiIFt2YWx1ZV09XCJkcm9wdmFsdWVzXCIgKGNsaWNrKT1cInNlbGVjdGVkKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ZHJvcHZhbHVlc1tJbnB1dEZpZWxkcy5kaXNwbGF5a2V5XX19XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Zvcm0+XG48L2Rpdj4iXX0=
@@ -216,20 +216,21 @@ class VsChipddCmpComponent {
216
216
  this.chipSelectedId.splice(index, 1);
217
217
  console.log(this.chipSelectedId);
218
218
  this.DropInput.nativeElement.value = '';
219
+ this.selected();
219
220
  }
220
221
  }
221
222
  venSelected(event) {
222
223
  this.DropInput.nativeElement.value = '';
223
224
  console.log('event.option.value', event.option.value);
224
- this.selectvenByName(event.option.value[this.InputFields.displaykey]);
225
+ this.selectvenByName(event.option.value[this.comparekey(event.option.value)]);
225
226
  console.log('chipSelectedvenid', this.chipSelectedObj);
226
227
  }
227
228
  selectvenByName(ven) {
228
- let foundemp1 = this.chipSelectedObj.filter(e => e[this.InputFields.displaykey] == ven);
229
+ let foundemp1 = this.chipSelectedObj.filter(e => e[this.comparekey(e)] == ven);
229
230
  if (foundemp1.length) {
230
231
  return;
231
232
  }
232
- let foundemp = this.Dropdowndata.filter(e => e[this.InputFields.displaykey] == ven);
233
+ let foundemp = this.Dropdowndata.filter(e => e[this.comparekey(e)] == ven);
233
234
  if (foundemp.length) {
234
235
  this.chipSelectedObj.push(foundemp[0]);
235
236
  if (this.InputFields?.Outputkey) {
@@ -240,6 +241,19 @@ class VsChipddCmpComponent {
240
241
  }
241
242
  }
242
243
  }
244
+ comparekey(e) {
245
+ if (this.InputFields?.comparekey) {
246
+ return this.InputFields?.comparekey;
247
+ }
248
+ else {
249
+ if (e?.id) {
250
+ return "id";
251
+ }
252
+ else {
253
+ return this.InputFields.displaykey;
254
+ }
255
+ }
256
+ }
243
257
  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 }); }
244
258
  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"] }] }); }
245
259
  }
@@ -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\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
+ {"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 this.selected()\n }\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.comparekey(event.option.value)]);\n console.log('chipSelectedvenid', this.chipSelectedObj)\n }\n private selectvenByName(ven) {\n let foundemp1 = this.chipSelectedObj.filter(e => e[this.comparekey(e)] == ven);\n if (foundemp1.length) {\n return;\n }\n let foundemp = this.Dropdowndata.filter(e => e[this.comparekey(e)] == 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 comparekey(e) {\n if (this.InputFields?.comparekey) {\n return this.InputFields?.comparekey\n }\n else {\n if (e?.id) {\n return \"id\"\n }\n else {\n return this.InputFields.displaykey\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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"}
@@ -32,6 +32,7 @@ export declare class VsChipddCmpComponent {
32
32
  removechip(obj: any): void;
33
33
  venSelected(event: MatAutocompleteSelectedEvent): void;
34
34
  private selectvenByName;
35
+ comparekey(e: any): any;
35
36
  static ɵfac: i0.ɵɵFactoryDeclaration<VsChipddCmpComponent, never>;
36
37
  static ɵcmp: i0.ɵɵComponentDeclaration<VsChipddCmpComponent, "lib-vs-chipdd-cmp", never, { "InputFields": { "alias": "InputFields"; "required": false; }; "ResetForm": { "alias": "ResetForm"; "required": false; }; }, { "dataEvent": "dataEvent"; }, never, never, false, never>;
37
38
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unnilouis.org/vs-chipdropdown",
3
- "version": "0.0.12",
3
+ "version": "0.0.13",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^16.2.0",
6
6
  "@angular/core": "^16.2.0"