@onemrvapublic/design-system 18.2.21-develop.5 → 18.2.21-develop.7

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.
@@ -53,7 +53,7 @@ export class OnemrvaMatMultiSelectComponent extends MatFormFieldControl {
53
53
  if (Array.isArray(values))
54
54
  this.counter = values.length;
55
55
  else
56
- this.counter = 0;
56
+ this.counter = this._values.length;
57
57
  this._values = values;
58
58
  this.onChange(this._values);
59
59
  }
@@ -96,6 +96,7 @@ export class OnemrvaMatMultiSelectComponent extends MatFormFieldControl {
96
96
  ngOnInit() {
97
97
  this.matOptions$ = this.searchFilter.valueChanges.pipe(debounceTime(200), startWith(''), map((value) => {
98
98
  this.optionSize = this.matOptions.length;
99
+ this.counter = this._values.length;
99
100
  if (value === '') {
100
101
  return this.matOptions.filter(_o => {
101
102
  return true;
@@ -121,6 +122,9 @@ export class OnemrvaMatMultiSelectComponent extends MatFormFieldControl {
121
122
  this.searchFilter.updateValueAndValidity({ emitEvent: true });
122
123
  }
123
124
  }
125
+ ngOnChanges(changes) {
126
+ console.log(changes);
127
+ }
124
128
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OnemrvaMatMultiSelectComponent, deps: [{ token: i1.TranslateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
125
129
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OnemrvaMatMultiSelectComponent, selector: "onemrva-mat-multi-select", inputs: { multiple: "multiple", formControl: "formControl", role: ["attr.role", "role"], label: ["attr.aria-label", "label"], invalid: ["attr.aria-invalid", "invalid"], showFilter: "showFilter", selectionToggle: "selectionToggle", dataCy: ["attr.data-cy", "dataCy"] }, host: { properties: { "style.opacity": "this.opacity" } }, providers: [
126
130
  {
@@ -141,7 +145,7 @@ export class OnemrvaMatMultiSelectComponent extends MatFormFieldControl {
141
145
  // provide: MAT_OPTION_PARENT_COMPONENT,
142
146
  // useExisting: OnemrvaMatMultiSelectComponent,
143
147
  // },
144
- ], queries: [{ propertyName: "matOptions", predicate: MatOption }], usesInheritance: true, ngImport: i0, template: "<mat-select\n [multiple]=\"multiple\"\n [formControl]=\"formControl\"\n [attr.data-cy]=\"dataCy\"\n [attr.aria-label]=\"label\"\n>\n <div class=\"selection-choice\" *ngIf=\"multiple && selectionToggle\">\n <a\n tabindex=\"1\"\n class=\"small\"\n [ngClass]=\"{ disabled: isAllSelected() }\"\n (click)=\"selectAll()\"\n >{{ 'select.select.all' | translate }}</a\n ><span class=\"small grey\">&nbsp;&nbsp;|&nbsp;&nbsp;</span>\n <a\n tabindex=\"2\"\n class=\"small\"\n [ngClass]=\"{ disabled: isNoneSelected() }\"\n (click)=\"deselectAll($event)\"\n >{{ 'select.deselect.all' | translate }}</a\n >\n </div>\n <div class=\"option-list\">\n <mat-option *ngIf=\"showFilter\">\n <mat-select-search\n [formControl]=\"searchFilter\"\n ariaLabel=\"{{ 'select.search.filter' | translate }}\"\n noEntriesFoundLabel=\"{{ 'select.search.notFound' | translate }}\"\n placeholderLabel=\"{{ 'select.search.filter' | translate }}\"\n ></mat-select-search>\n </mat-option>\n <ng-container *ngFor=\"let matOption of matOptions$ | async\">\n <mat-option\n [disabled]=\"matOption.disabled\"\n [value]=\"matOption.value\"\n [attr.data-cy]=\"matOption._getHostElement().dataset['cy']\"\n >\n {{ matOption._text?.nativeElement?.innerHTML }}\n </mat-option>\n </ng-container>\n </div>\n</mat-select>\n<div class=\"mat-select-counter\" *ngIf=\"multiple && counter > 0\">\n <span class=\"text\">{{ counter }}</span\n ><mat-icon (click)=\"deselectAll($event)\">close</mat-icon>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.MatSelectSearchComponent, selector: "mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
148
+ ], queries: [{ propertyName: "matOptions", predicate: MatOption }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<mat-select\n [multiple]=\"multiple\"\n [formControl]=\"formControl\"\n [attr.data-cy]=\"dataCy\"\n [attr.aria-label]=\"label\"\n>\n <div class=\"selection-choice\" *ngIf=\"multiple && selectionToggle\">\n <a\n tabindex=\"1\"\n class=\"small\"\n [ngClass]=\"{ disabled: isAllSelected() }\"\n (click)=\"selectAll()\"\n >{{ 'select.select.all' | translate }}</a\n ><span class=\"small grey\">&nbsp;&nbsp;|&nbsp;&nbsp;</span>\n <a\n tabindex=\"2\"\n class=\"small\"\n [ngClass]=\"{ disabled: isNoneSelected() }\"\n (click)=\"deselectAll($event)\"\n >{{ 'select.deselect.all' | translate }}</a\n >\n </div>\n <div class=\"option-list\">\n <mat-option *ngIf=\"showFilter\">\n <mat-select-search\n [formControl]=\"searchFilter\"\n ariaLabel=\"{{ 'select.search.filter' | translate }}\"\n noEntriesFoundLabel=\"{{ 'select.search.notFound' | translate }}\"\n placeholderLabel=\"{{ 'select.search.filter' | translate }}\"\n ></mat-select-search>\n </mat-option>\n <ng-container *ngFor=\"let matOption of matOptions$ | async\">\n <mat-option\n [disabled]=\"matOption.disabled\"\n [value]=\"matOption.value\"\n [attr.data-cy]=\"matOption._getHostElement().dataset['cy']\"\n >\n {{ matOption._text?.nativeElement?.innerHTML }}\n </mat-option>\n </ng-container>\n </div>\n</mat-select>\n<div class=\"mat-select-counter\" *ngIf=\"multiple && counter > 0\">\n <span class=\"text\">{{ counter }}</span\n ><mat-icon (click)=\"deselectAll($event)\">close</mat-icon>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.MatSelectSearchComponent, selector: "mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
145
149
  }
146
150
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OnemrvaMatMultiSelectComponent, decorators: [{
147
151
  type: Component,
@@ -192,4 +196,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
192
196
  type: HostBinding,
193
197
  args: ['style.opacity']
194
198
  }] } });
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lbXJ2YS1tYXQtbXVsdGktc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uZW1ydmEvZGVzaWduLXN5c3RlbS9tYXQtbXVsdGktc2VsZWN0L3NyYy9vbmVtcnZhLW1hdC1tdWx0aS1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL21hdC1tdWx0aS1zZWxlY3Qvc3JjL29uZW1ydmEtbWF0LW11bHRpLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFHTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRW5FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRCxPQUFPLEVBQ0wsWUFBWSxFQUNaLEdBQUcsRUFDSCxVQUFVLEVBQ1YsU0FBUyxFQUNULE9BQU8sRUFDUCxTQUFTLEdBQ1YsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7OztBQUVkLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztBQTBCaEIsTUFBTSxPQUFPLDhCQUNYLFNBQVEsbUJBQXdCO0lBMENoQyxJQUNJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxZQUNTLFNBQTJCLEVBQzNCLEVBQXFCO1FBRTVCLEtBQUssRUFBRSxDQUFDO1FBSEQsY0FBUyxHQUFULFNBQVMsQ0FB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QUtDLElBQUk7c0JBRFYsS0FBSzt1QkFBQyxXQUFXO2dCQUtYLEtBQUs7c0JBRFgsS0FBSzt1QkFBQyxpQkFBaUI7Z0JBS2pCLE9BQU87c0JBRGIsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBSTFCLFVBQVU7c0JBRFQsS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUs7Z0JBS0MsTUFBTTtzQkFEWixLQUFLO3VCQUFDLGNBQWM7Z0JBTXJCLFVBQVU7c0JBRFQsZUFBZTt1QkFBQyxTQUFTO2dCQU10QixPQUFPO3NCQURWLFdBQVc7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudENoZWNrZWQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgZm9yd2FyZFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgUXVlcnlMaXN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE1hdE9wdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtcbiAgZGVib3VuY2VUaW1lLFxuICBtYXAsXG4gIE9ic2VydmFibGUsXG4gIHN0YXJ0V2l0aCxcbiAgU3ViamVjdCxcbiAgdGFrZVVudGlsLFxufSBmcm9tICdyeGpzJztcblxubGV0IE5FWFRfSUQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvbmVtcnZhLW1hdC1tdWx0aS1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJ29uZW1ydmEtbWF0LW11bHRpLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE1hdEZvcm1GaWVsZENvbnRyb2wsXG4gICAgICB1c2VFeGlzdGluZzogT25lbXJ2YU1hdE11bHRpU2VsZWN0Q29tcG9uZW50LFxuICAgICAgbXVsdGk6IGZhbHNlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBPbmVtcnZhTWF0TXVsdGlTZWxlY3RDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICAvLyB7XG4gICAgLy8gICBwcm92aWRlOiBNYXRGb3JtRmllbGRDb250cm9sLFxuICAgIC8vICAgdXNlRXhpc3Rpbmc6IE9uZW1ydmFNYXRNdWx0aVNlbGVjdENvbXBvbmVudCxcbiAgICAvLyB9LFxuICAgIC8vIHtcbiAgICAvLyAgIHByb3ZpZGU6IE1BVF9PUFRJT05fUEFSRU5UX0NPTVBPTkVOVCxcbiAgICAvLyAgIHVzZUV4aXN0aW5nOiBPbmVtcnZhTWF0TXVsdGlTZWxlY3RDb21wb25lbnQsXG4gICAgLy8gfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgT25lbXJ2YU1hdE11bHRpU2VsZWN0Q29tcG9uZW50XG4gIGV4dGVuZHMgTWF0Rm9ybUZpZWxkQ29udHJvbDxhbnk+XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyQ29udGVudENoZWNrZWRcbntcbiAgY291bnRlciA9IDA7XG4gIF92YWx1ZXM6IGFueVtdID0gW107XG4gIHB1YmxpYyBvdmVycmlkZSBzdGF0ZUNoYW5nZXM6IE9ic2VydmFibGU8YW55PiA9IG5ldyBPYnNlcnZhYmxlPGFueT4oKTtcblxuICBASW5wdXQoKVxuICBtdWx0aXBsZSA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgZm9ybUNvbnRyb2whOiBGb3JtQ29udHJvbDtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ2F0dHIucm9sZScpXG4gIHB1YmxpYyByb2xlID0gJ3NlbGVjdCc7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCdhdHRyLmFyaWEtbGFiZWwnKVxuICBwdWJsaWMgbGFiZWwgPSAnJztcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ2F0dHIuYXJpYS1pbnZhbGlkJylcbiAgcHVibGljIGludmFsaWQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBzaG93RmlsdGVyID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBzZWxlY3Rpb25Ub2dnbGUgPSB0cnVlO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgnYXR0ci5kYXRhLWN5JylcbiAgcHVibGljIGRhdGFDeSA9IGBvbmVtcnZhLW1hdC1tdWx0aS1zZWxlY3QtJHtORVhUX0lEKyt9YDtcblxuICBzZWFyY2hGaWx0ZXI6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oTWF0T3B0aW9uKVxuICBtYXRPcHRpb25zOiBRdWVyeUxpc3Q8TWF0T3B0aW9uPiA9IG5ldyBRdWVyeUxpc3Q8TWF0T3B0aW9uPigpO1xuICBtYXRPcHRpb25zJD86IE9ic2VydmFibGU8TWF0T3B0aW9uPGFueT5bXT47XG4gIHByaXZhdGUgb25EZXN0cm95JDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3Q8YW55PigpO1xuXG4gIEBIb3N0QmluZGluZygnc3R5bGUub3BhY2l0eScpXG4gIGdldCBvcGFjaXR5KCkge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkID8gMC4yNSA6IDE7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHB1YmxpYyBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvLyBGdW5jdGlvbiB0byBjYWxsIHdoZW4gdGhlIHJhdGluZyBjaGFuZ2VzLlxuICBvbkNoYW5nZSA9IChfdmFsdWVzOiBhbnlbXSkgPT4ge1xuICAgIC8vXG4gIH07XG5cbiAgLy8gRnVuY3Rpb24gdG8gY2FsbCB3aGVuIHRoZSBpbnB1dCBpcyB0b3VjaGVkICh3aGVuIGEgc3RhciBpcyBjbGlja2VkKS5cbiAgb25Ub3VjaGVkID0gKCkgPT4ge1xuICAgIC8vXG4gIH07XG5cbiAgLy8gQWxsb3dzIEFuZ3VsYXIgdG8gdXBkYXRlIHRoZSBtb2RlbCAocmF0aW5nKS5cbiAgLy8gVXBkYXRlIHRoZSBtb2RlbCBhbmQgY2hhbmdlcyBuZWVkZWQgZm9yIHRoZSB2aWV3IGhlcmUuXG4gIHdyaXRlVmFsdWUodmFsdWVzOiBhbnlbXSB8IGFueSB8IHVuZGVmaW5lZCB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZXMpKSB0aGlzLmNvdW50ZXIgPSB2YWx1ZXMubGVuZ3RoO1xuICAgIGVsc2UgdGhpcy5jb3VudGVyID0gMDtcbiAgICB0aGlzLl92YWx1ZXMgPSB2YWx1ZXM7XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLl92YWx1ZXMpO1xuICB9XG5cbiAgLy8gQWxsb3dzIEFuZ3VsYXIgdG8gcmVnaXN0ZXIgYSBmdW5jdGlvbiB0byBjYWxsIHdoZW4gdGhlIG1vZGVsIChyYXRpbmcpIGNoYW5nZXMuXG4gIC8vIFNhdmUgdGhlIGZ1bmN0aW9uIGFzIGEgcHJvcGVydHkgdG8gY2FsbCBsYXRlciBoZXJlLlxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IGFueVtdKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgLy8gQWxsb3dzIEFuZ3VsYXIgdG8gcmVnaXN0ZXIgYSBmdW5jdGlvbiB0byBjYWxsIHdoZW4gdGhlIGlucHV0IGhhcyBiZWVuIHRvdWNoZWQuXG4gIC8vIFNhdmUgdGhlIGZ1bmN0aW9uIGFzIGEgcHJvcGVydHkgdG8gY2FsbCBsYXRlciBoZXJlLlxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBpc0FsbFNlbGVjdGVkKCkge1xuICAgIHJldHVybiB0aGlzLmNvdW50ZXIgPT09IHRoaXMubWF0T3B0aW9ucy5sZW5ndGg7XG4gIH1cblxuICBzZWxlY3RBbGwoKSB7XG4gICAgdGhpcy5fdmFsdWVzID0gdGhpcy5tYXRPcHRpb25zLm1hcChvcHRpb24gPT4ge1xuICAgICAgcmV0dXJuIG9wdGlvbi52YWx1ZTtcbiAgICB9KTtcbiAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKHRoaXMuX3ZhbHVlcyk7XG4gIH1cblxuICBpc05vbmVTZWxlY3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb3VudGVyID09PSAwO1xuICB9XG5cbiAgZGVzZWxlY3RBbGwoXyRldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMuX3ZhbHVlcyA9IFtdO1xuICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy5fdmFsdWVzKTtcbiAgfVxuXG4gIG9uQ29udGFpbmVyQ2xpY2soX2V2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgLy9cbiAgfVxuXG4gIHNldERlc2NyaWJlZEJ5SWRzKF9pZHM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgLy9cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMub25EZXN0cm95JC5uZXh0KCcnKTtcbiAgICB0aGlzLm9uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgb3B0aW9uU2l6ZSA9IDA7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5tYXRPcHRpb25zJCA9IHRoaXMuc2VhcmNoRmlsdGVyLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgZGVib3VuY2VUaW1lKDIwMCksXG4gICAgICBzdGFydFdpdGgoJycpLFxuICAgICAgbWFwKCh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIHRoaXMub3B0aW9uU2l6ZSA9IHRoaXMubWF0T3B0aW9ucy5sZW5ndGg7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gJycpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5tYXRPcHRpb25zLmZpbHRlcihfbyA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5tYXRPcHRpb25zLmZpbHRlcihvcHRpb24gPT4ge1xuICAgICAgICAgIHJldHVybiBvcHRpb24/Ll90ZXh0Py5uYXRpdmVFbGVtZW50LmlubmVySFRNTFxuICAgICAgICAgICAgLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgIC5pbmNsdWRlcyh2YWx1ZS50b0xvd2VyQ2FzZSgpKTtcbiAgICAgICAgfSk7XG4gICAgICB9KSxcbiAgICApO1xuICAgIHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUodmFsdWVzID0+IHtcbiAgICAgICAgdGhpcy5fdmFsdWVzID0gdmFsdWVzO1xuICAgICAgICB0aGlzLmNvdW50ZXIgPSB0aGlzLl92YWx1ZXMubGVuZ3RoO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubWF0T3B0aW9ucy5sZW5ndGggIT09IHRoaXMub3B0aW9uU2l6ZSkge1xuICAgICAgdGhpcy5vcHRpb25TaXplID0gdGhpcy5tYXRPcHRpb25zLmxlbmd0aDtcbiAgICAgIHRoaXMuY291bnRlciA9IDA7XG4gICAgICB0aGlzLnNlYXJjaEZpbHRlci51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHsgZW1pdEV2ZW50OiB0cnVlIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPG1hdC1zZWxlY3RcbiAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcbiAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgW2F0dHIuZGF0YS1jeV09XCJkYXRhQ3lcIlxuICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVsXCJcbj5cbiAgPGRpdiBjbGFzcz1cInNlbGVjdGlvbi1jaG9pY2VcIiAqbmdJZj1cIm11bHRpcGxlICYmIHNlbGVjdGlvblRvZ2dsZVwiPlxuICAgIDxhXG4gICAgICB0YWJpbmRleD1cIjFcIlxuICAgICAgY2xhc3M9XCJzbWFsbFwiXG4gICAgICBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBpc0FsbFNlbGVjdGVkKCkgfVwiXG4gICAgICAoY2xpY2spPVwic2VsZWN0QWxsKClcIlxuICAgICAgPnt7ICdzZWxlY3Quc2VsZWN0LmFsbCcgfCB0cmFuc2xhdGUgfX08L2FcbiAgICA+PHNwYW4gY2xhc3M9XCJzbWFsbCBncmV5XCI+Jm5ic3A7Jm5ic3A7fCZuYnNwOyZuYnNwOzwvc3Bhbj5cbiAgICA8YVxuICAgICAgdGFiaW5kZXg9XCIyXCJcbiAgICAgIGNsYXNzPVwic21hbGxcIlxuICAgICAgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogaXNOb25lU2VsZWN0ZWQoKSB9XCJcbiAgICAgIChjbGljayk9XCJkZXNlbGVjdEFsbCgkZXZlbnQpXCJcbiAgICAgID57eyAnc2VsZWN0LmRlc2VsZWN0LmFsbCcgfCB0cmFuc2xhdGUgfX08L2FcbiAgICA+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwib3B0aW9uLWxpc3RcIj5cbiAgICA8bWF0LW9wdGlvbiAqbmdJZj1cInNob3dGaWx0ZXJcIj5cbiAgICAgIDxtYXQtc2VsZWN0LXNlYXJjaFxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwic2VhcmNoRmlsdGVyXCJcbiAgICAgICAgYXJpYUxhYmVsPVwie3sgJ3NlbGVjdC5zZWFyY2guZmlsdGVyJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgIG5vRW50cmllc0ZvdW5kTGFiZWw9XCJ7eyAnc2VsZWN0LnNlYXJjaC5ub3RGb3VuZCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICBwbGFjZWhvbGRlckxhYmVsPVwie3sgJ3NlbGVjdC5zZWFyY2guZmlsdGVyJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICA+PC9tYXQtc2VsZWN0LXNlYXJjaD5cbiAgICA8L21hdC1vcHRpb24+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbWF0T3B0aW9uIG9mIG1hdE9wdGlvbnMkIHwgYXN5bmNcIj5cbiAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgIFtkaXNhYmxlZF09XCJtYXRPcHRpb24uZGlzYWJsZWRcIlxuICAgICAgICBbdmFsdWVdPVwibWF0T3B0aW9uLnZhbHVlXCJcbiAgICAgICAgW2F0dHIuZGF0YS1jeV09XCJtYXRPcHRpb24uX2dldEhvc3RFbGVtZW50KCkuZGF0YXNldFsnY3knXVwiXG4gICAgICA+XG4gICAgICAgIHt7IG1hdE9wdGlvbi5fdGV4dD8ubmF0aXZlRWxlbWVudD8uaW5uZXJIVE1MIH19XG4gICAgICA8L21hdC1vcHRpb24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9tYXQtc2VsZWN0PlxuPGRpdiBjbGFzcz1cIm1hdC1zZWxlY3QtY291bnRlclwiICpuZ0lmPVwibXVsdGlwbGUgJiYgY291bnRlciA+IDBcIj5cbiAgPHNwYW4gY2xhc3M9XCJ0ZXh0XCI+e3sgY291bnRlciB9fTwvc3BhblxuICA+PG1hdC1pY29uIChjbGljayk9XCJkZXNlbGVjdEFsbCgkZXZlbnQpXCI+Y2xvc2U8L21hdC1pY29uPlxuPC9kaXY+XG4iXX0=
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lbXJ2YS1tYXQtbXVsdGktc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uZW1ydmEvZGVzaWduLXN5c3RlbS9tYXQtbXVsdGktc2VsZWN0L3NyYy9vbmVtcnZhLW1hdC1tdWx0aS1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL21hdC1tdWx0aS1zZWxlY3Qvc3JjL29uZW1ydmEtbWF0LW11bHRpLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFJTCxTQUFTLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRW5FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRCxPQUFPLEVBQ0wsWUFBWSxFQUNaLEdBQUcsRUFDSCxVQUFVLEVBQ1YsU0FBUyxFQUNULE9BQU8sRUFDUCxTQUFTLEdBQ1YsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7OztBQUVkLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztBQTBCaEIsTUFBTSxPQUFPLDhCQUNYLFNBQVEsbUJBQXdCO0lBMENoQyxJQUNJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxZQUNTLFNBQTJCLEVBQzNCLEVBQXFCO1FBRTVCLEtBQUssRUFBRSxDQUFDO1FBSEQsY0FBUyxHQUFULFNBQVMsQ0FB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Q0QsSUFBSTt3QkFDSixrQ0FBa0M7d0JBQ2xDLGlEQUFpRDt3QkFDakQsS0FBSzt3QkFDTCxJQUFJO3dCQUNKLDBDQUEwQzt3QkFDMUMsaURBQWlEO3dCQUNqRCxLQUFLO3FCQUNOO3FIQVdELFFBQVE7c0JBRFAsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBS0MsSUFBSTtzQkFEVixLQUFLO3VCQUFDLFdBQVc7Z0JBS1gsS0FBSztzQkFEWCxLQUFLO3VCQUFDLGlCQUFpQjtnQkFLakIsT0FBTztzQkFEYixLQUFLO3VCQUFDLG1CQUFtQjtnQkFJMUIsVUFBVTtzQkFEVCxLQUFLO2dCQUlOLGVBQWU7c0JBRGQsS0FBSztnQkFLQyxNQUFNO3NCQURaLEtBQUs7dUJBQUMsY0FBYztnQkFNckIsVUFBVTtzQkFEVCxlQUFlO3VCQUFDLFNBQVM7Z0JBTXRCLE9BQU87c0JBRFYsV0FBVzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFF1ZXJ5TGlzdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRPcHRpb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7XG4gIGRlYm91bmNlVGltZSxcbiAgbWFwLFxuICBPYnNlcnZhYmxlLFxuICBzdGFydFdpdGgsXG4gIFN1YmplY3QsXG4gIHRha2VVbnRpbCxcbn0gZnJvbSAncnhqcyc7XG5cbmxldCBORVhUX0lEID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb25lbXJ2YS1tYXQtbXVsdGktc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICdvbmVtcnZhLW1hdC1tdWx0aS1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBNYXRGb3JtRmllbGRDb250cm9sLFxuICAgICAgdXNlRXhpc3Rpbmc6IE9uZW1ydmFNYXRNdWx0aVNlbGVjdENvbXBvbmVudCxcbiAgICAgIG11bHRpOiBmYWxzZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gT25lbXJ2YU1hdE11bHRpU2VsZWN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAgLy8ge1xuICAgIC8vICAgcHJvdmlkZTogTWF0Rm9ybUZpZWxkQ29udHJvbCxcbiAgICAvLyAgIHVzZUV4aXN0aW5nOiBPbmVtcnZhTWF0TXVsdGlTZWxlY3RDb21wb25lbnQsXG4gICAgLy8gfSxcbiAgICAvLyB7XG4gICAgLy8gICBwcm92aWRlOiBNQVRfT1BUSU9OX1BBUkVOVF9DT01QT05FTlQsXG4gICAgLy8gICB1c2VFeGlzdGluZzogT25lbXJ2YU1hdE11bHRpU2VsZWN0Q29tcG9uZW50LFxuICAgIC8vIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE9uZW1ydmFNYXRNdWx0aVNlbGVjdENvbXBvbmVudFxuICBleHRlbmRzIE1hdEZvcm1GaWVsZENvbnRyb2w8YW55PlxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlckNvbnRlbnRDaGVja2VkLCBPbkNoYW5nZXNcbntcbiAgY291bnRlciA9IDA7XG4gIF92YWx1ZXM6IGFueVtdID0gW107XG4gIHB1YmxpYyBvdmVycmlkZSBzdGF0ZUNoYW5nZXM6IE9ic2VydmFibGU8YW55PiA9IG5ldyBPYnNlcnZhYmxlPGFueT4oKTtcblxuICBASW5wdXQoKVxuICBtdWx0aXBsZSA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgZm9ybUNvbnRyb2whOiBGb3JtQ29udHJvbDtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ2F0dHIucm9sZScpXG4gIHB1YmxpYyByb2xlID0gJ3NlbGVjdCc7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCdhdHRyLmFyaWEtbGFiZWwnKVxuICBwdWJsaWMgbGFiZWwgPSAnJztcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ2F0dHIuYXJpYS1pbnZhbGlkJylcbiAgcHVibGljIGludmFsaWQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBzaG93RmlsdGVyID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBzZWxlY3Rpb25Ub2dnbGUgPSB0cnVlO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgnYXR0ci5kYXRhLWN5JylcbiAgcHVibGljIGRhdGFDeSA9IGBvbmVtcnZhLW1hdC1tdWx0aS1zZWxlY3QtJHtORVhUX0lEKyt9YDtcblxuICBzZWFyY2hGaWx0ZXI6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oTWF0T3B0aW9uKVxuICBtYXRPcHRpb25zOiBRdWVyeUxpc3Q8TWF0T3B0aW9uPiA9IG5ldyBRdWVyeUxpc3Q8TWF0T3B0aW9uPigpO1xuICBtYXRPcHRpb25zJD86IE9ic2VydmFibGU8TWF0T3B0aW9uPGFueT5bXT47XG4gIHByaXZhdGUgb25EZXN0cm95JDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3Q8YW55PigpO1xuXG4gIEBIb3N0QmluZGluZygnc3R5bGUub3BhY2l0eScpXG4gIGdldCBvcGFjaXR5KCkge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkID8gMC4yNSA6IDE7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHB1YmxpYyBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvLyBGdW5jdGlvbiB0byBjYWxsIHdoZW4gdGhlIHJhdGluZyBjaGFuZ2VzLlxuICBvbkNoYW5nZSA9IChfdmFsdWVzOiBhbnlbXSkgPT4ge1xuICAgIC8vXG4gIH07XG5cbiAgLy8gRnVuY3Rpb24gdG8gY2FsbCB3aGVuIHRoZSBpbnB1dCBpcyB0b3VjaGVkICh3aGVuIGEgc3RhciBpcyBjbGlja2VkKS5cbiAgb25Ub3VjaGVkID0gKCkgPT4ge1xuICAgIC8vXG4gIH07XG5cbiAgLy8gQWxsb3dzIEFuZ3VsYXIgdG8gdXBkYXRlIHRoZSBtb2RlbCAocmF0aW5nKS5cbiAgLy8gVXBkYXRlIHRoZSBtb2RlbCBhbmQgY2hhbmdlcyBuZWVkZWQgZm9yIHRoZSB2aWV3IGhlcmUuXG4gIHdyaXRlVmFsdWUodmFsdWVzOiBhbnlbXSB8IGFueSB8IHVuZGVmaW5lZCB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZXMpKSB0aGlzLmNvdW50ZXIgPSB2YWx1ZXMubGVuZ3RoO1xuICAgIGVsc2UgdGhpcy5jb3VudGVyID0gdGhpcy5fdmFsdWVzLmxlbmd0aDtcbiAgICB0aGlzLl92YWx1ZXMgPSB2YWx1ZXM7XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLl92YWx1ZXMpO1xuICB9XG5cbiAgLy8gQWxsb3dzIEFuZ3VsYXIgdG8gcmVnaXN0ZXIgYSBmdW5jdGlvbiB0byBjYWxsIHdoZW4gdGhlIG1vZGVsIChyYXRpbmcpIGNoYW5nZXMuXG4gIC8vIFNhdmUgdGhlIGZ1bmN0aW9uIGFzIGEgcHJvcGVydHkgdG8gY2FsbCBsYXRlciBoZXJlLlxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IGFueVtdKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgLy8gQWxsb3dzIEFuZ3VsYXIgdG8gcmVnaXN0ZXIgYSBmdW5jdGlvbiB0byBjYWxsIHdoZW4gdGhlIGlucHV0IGhhcyBiZWVuIHRvdWNoZWQuXG4gIC8vIFNhdmUgdGhlIGZ1bmN0aW9uIGFzIGEgcHJvcGVydHkgdG8gY2FsbCBsYXRlciBoZXJlLlxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBpc0FsbFNlbGVjdGVkKCkge1xuICAgIHJldHVybiB0aGlzLmNvdW50ZXIgPT09IHRoaXMubWF0T3B0aW9ucy5sZW5ndGg7XG4gIH1cblxuICBzZWxlY3RBbGwoKSB7XG4gICAgdGhpcy5fdmFsdWVzID0gdGhpcy5tYXRPcHRpb25zLm1hcChvcHRpb24gPT4ge1xuICAgICAgcmV0dXJuIG9wdGlvbi52YWx1ZTtcbiAgICB9KTtcbiAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKHRoaXMuX3ZhbHVlcyk7XG4gIH1cblxuICBpc05vbmVTZWxlY3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb3VudGVyID09PSAwO1xuICB9XG5cbiAgZGVzZWxlY3RBbGwoXyRldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMuX3ZhbHVlcyA9IFtdO1xuICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy5fdmFsdWVzKTtcbiAgfVxuXG4gIG9uQ29udGFpbmVyQ2xpY2soX2V2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgLy9cbiAgfVxuXG4gIHNldERlc2NyaWJlZEJ5SWRzKF9pZHM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgLy9cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMub25EZXN0cm95JC5uZXh0KCcnKTtcbiAgICB0aGlzLm9uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgb3B0aW9uU2l6ZSA9IDA7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5tYXRPcHRpb25zJCA9IHRoaXMuc2VhcmNoRmlsdGVyLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgZGVib3VuY2VUaW1lKDIwMCksXG4gICAgICBzdGFydFdpdGgoJycpLFxuICAgICAgbWFwKCh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIHRoaXMub3B0aW9uU2l6ZSA9IHRoaXMubWF0T3B0aW9ucy5sZW5ndGg7XG4gICAgICAgIHRoaXMuY291bnRlciA9IHRoaXMuX3ZhbHVlcy5sZW5ndGg7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gJycpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5tYXRPcHRpb25zLmZpbHRlcihfbyA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5tYXRPcHRpb25zLmZpbHRlcihvcHRpb24gPT4ge1xuICAgICAgICAgIHJldHVybiBvcHRpb24/Ll90ZXh0Py5uYXRpdmVFbGVtZW50LmlubmVySFRNTFxuICAgICAgICAgICAgLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgIC5pbmNsdWRlcyh2YWx1ZS50b0xvd2VyQ2FzZSgpKTtcbiAgICAgICAgfSk7XG4gICAgICB9KSxcbiAgICApO1xuICAgIHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUodmFsdWVzID0+IHtcbiAgICAgICAgdGhpcy5fdmFsdWVzID0gdmFsdWVzO1xuICAgICAgICB0aGlzLmNvdW50ZXIgPSB0aGlzLl92YWx1ZXMubGVuZ3RoO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubWF0T3B0aW9ucy5sZW5ndGggIT09IHRoaXMub3B0aW9uU2l6ZSkge1xuICAgICAgdGhpcy5vcHRpb25TaXplID0gdGhpcy5tYXRPcHRpb25zLmxlbmd0aDtcbiAgICAgIHRoaXMuY291bnRlciA9IDA7XG4gICAgICB0aGlzLnNlYXJjaEZpbHRlci51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHsgZW1pdEV2ZW50OiB0cnVlIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZyhjaGFuZ2VzKTtcbiAgfVxufVxuIiwiPG1hdC1zZWxlY3RcbiAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcbiAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgW2F0dHIuZGF0YS1jeV09XCJkYXRhQ3lcIlxuICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVsXCJcbj5cbiAgPGRpdiBjbGFzcz1cInNlbGVjdGlvbi1jaG9pY2VcIiAqbmdJZj1cIm11bHRpcGxlICYmIHNlbGVjdGlvblRvZ2dsZVwiPlxuICAgIDxhXG4gICAgICB0YWJpbmRleD1cIjFcIlxuICAgICAgY2xhc3M9XCJzbWFsbFwiXG4gICAgICBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBpc0FsbFNlbGVjdGVkKCkgfVwiXG4gICAgICAoY2xpY2spPVwic2VsZWN0QWxsKClcIlxuICAgICAgPnt7ICdzZWxlY3Quc2VsZWN0LmFsbCcgfCB0cmFuc2xhdGUgfX08L2FcbiAgICA+PHNwYW4gY2xhc3M9XCJzbWFsbCBncmV5XCI+Jm5ic3A7Jm5ic3A7fCZuYnNwOyZuYnNwOzwvc3Bhbj5cbiAgICA8YVxuICAgICAgdGFiaW5kZXg9XCIyXCJcbiAgICAgIGNsYXNzPVwic21hbGxcIlxuICAgICAgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogaXNOb25lU2VsZWN0ZWQoKSB9XCJcbiAgICAgIChjbGljayk9XCJkZXNlbGVjdEFsbCgkZXZlbnQpXCJcbiAgICAgID57eyAnc2VsZWN0LmRlc2VsZWN0LmFsbCcgfCB0cmFuc2xhdGUgfX08L2FcbiAgICA+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwib3B0aW9uLWxpc3RcIj5cbiAgICA8bWF0LW9wdGlvbiAqbmdJZj1cInNob3dGaWx0ZXJcIj5cbiAgICAgIDxtYXQtc2VsZWN0LXNlYXJjaFxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwic2VhcmNoRmlsdGVyXCJcbiAgICAgICAgYXJpYUxhYmVsPVwie3sgJ3NlbGVjdC5zZWFyY2guZmlsdGVyJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgIG5vRW50cmllc0ZvdW5kTGFiZWw9XCJ7eyAnc2VsZWN0LnNlYXJjaC5ub3RGb3VuZCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICBwbGFjZWhvbGRlckxhYmVsPVwie3sgJ3NlbGVjdC5zZWFyY2guZmlsdGVyJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICA+PC9tYXQtc2VsZWN0LXNlYXJjaD5cbiAgICA8L21hdC1vcHRpb24+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbWF0T3B0aW9uIG9mIG1hdE9wdGlvbnMkIHwgYXN5bmNcIj5cbiAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgIFtkaXNhYmxlZF09XCJtYXRPcHRpb24uZGlzYWJsZWRcIlxuICAgICAgICBbdmFsdWVdPVwibWF0T3B0aW9uLnZhbHVlXCJcbiAgICAgICAgW2F0dHIuZGF0YS1jeV09XCJtYXRPcHRpb24uX2dldEhvc3RFbGVtZW50KCkuZGF0YXNldFsnY3knXVwiXG4gICAgICA+XG4gICAgICAgIHt7IG1hdE9wdGlvbi5fdGV4dD8ubmF0aXZlRWxlbWVudD8uaW5uZXJIVE1MIH19XG4gICAgICA8L21hdC1vcHRpb24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9tYXQtc2VsZWN0PlxuPGRpdiBjbGFzcz1cIm1hdC1zZWxlY3QtY291bnRlclwiICpuZ0lmPVwibXVsdGlwbGUgJiYgY291bnRlciA+IDBcIj5cbiAgPHNwYW4gY2xhc3M9XCJ0ZXh0XCI+e3sgY291bnRlciB9fTwvc3BhblxuICA+PG1hdC1pY29uIChjbGljayk9XCJkZXNlbGVjdEFsbCgkZXZlbnQpXCI+Y2xvc2U8L21hdC1pY29uPlxuPC9kaXY+XG4iXX0=
@@ -60,7 +60,7 @@ class OnemrvaMatMultiSelectComponent extends MatFormFieldControl {
60
60
  if (Array.isArray(values))
61
61
  this.counter = values.length;
62
62
  else
63
- this.counter = 0;
63
+ this.counter = this._values.length;
64
64
  this._values = values;
65
65
  this.onChange(this._values);
66
66
  }
@@ -103,6 +103,7 @@ class OnemrvaMatMultiSelectComponent extends MatFormFieldControl {
103
103
  ngOnInit() {
104
104
  this.matOptions$ = this.searchFilter.valueChanges.pipe(debounceTime(200), startWith(''), map((value) => {
105
105
  this.optionSize = this.matOptions.length;
106
+ this.counter = this._values.length;
106
107
  if (value === '') {
107
108
  return this.matOptions.filter(_o => {
108
109
  return true;
@@ -128,6 +129,9 @@ class OnemrvaMatMultiSelectComponent extends MatFormFieldControl {
128
129
  this.searchFilter.updateValueAndValidity({ emitEvent: true });
129
130
  }
130
131
  }
132
+ ngOnChanges(changes) {
133
+ console.log(changes);
134
+ }
131
135
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OnemrvaMatMultiSelectComponent, deps: [{ token: i1.TranslateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
132
136
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OnemrvaMatMultiSelectComponent, selector: "onemrva-mat-multi-select", inputs: { multiple: "multiple", formControl: "formControl", role: ["attr.role", "role"], label: ["attr.aria-label", "label"], invalid: ["attr.aria-invalid", "invalid"], showFilter: "showFilter", selectionToggle: "selectionToggle", dataCy: ["attr.data-cy", "dataCy"] }, host: { properties: { "style.opacity": "this.opacity" } }, providers: [
133
137
  {
@@ -148,7 +152,7 @@ class OnemrvaMatMultiSelectComponent extends MatFormFieldControl {
148
152
  // provide: MAT_OPTION_PARENT_COMPONENT,
149
153
  // useExisting: OnemrvaMatMultiSelectComponent,
150
154
  // },
151
- ], queries: [{ propertyName: "matOptions", predicate: MatOption }], usesInheritance: true, ngImport: i0, template: "<mat-select\n [multiple]=\"multiple\"\n [formControl]=\"formControl\"\n [attr.data-cy]=\"dataCy\"\n [attr.aria-label]=\"label\"\n>\n <div class=\"selection-choice\" *ngIf=\"multiple && selectionToggle\">\n <a\n tabindex=\"1\"\n class=\"small\"\n [ngClass]=\"{ disabled: isAllSelected() }\"\n (click)=\"selectAll()\"\n >{{ 'select.select.all' | translate }}</a\n ><span class=\"small grey\">&nbsp;&nbsp;|&nbsp;&nbsp;</span>\n <a\n tabindex=\"2\"\n class=\"small\"\n [ngClass]=\"{ disabled: isNoneSelected() }\"\n (click)=\"deselectAll($event)\"\n >{{ 'select.deselect.all' | translate }}</a\n >\n </div>\n <div class=\"option-list\">\n <mat-option *ngIf=\"showFilter\">\n <mat-select-search\n [formControl]=\"searchFilter\"\n ariaLabel=\"{{ 'select.search.filter' | translate }}\"\n noEntriesFoundLabel=\"{{ 'select.search.notFound' | translate }}\"\n placeholderLabel=\"{{ 'select.search.filter' | translate }}\"\n ></mat-select-search>\n </mat-option>\n <ng-container *ngFor=\"let matOption of matOptions$ | async\">\n <mat-option\n [disabled]=\"matOption.disabled\"\n [value]=\"matOption.value\"\n [attr.data-cy]=\"matOption._getHostElement().dataset['cy']\"\n >\n {{ matOption._text?.nativeElement?.innerHTML }}\n </mat-option>\n </ng-container>\n </div>\n</mat-select>\n<div class=\"mat-select-counter\" *ngIf=\"multiple && counter > 0\">\n <span class=\"text\">{{ counter }}</span\n ><mat-icon (click)=\"deselectAll($event)\">close</mat-icon>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.MatSelectSearchComponent, selector: "mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
155
+ ], queries: [{ propertyName: "matOptions", predicate: MatOption }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<mat-select\n [multiple]=\"multiple\"\n [formControl]=\"formControl\"\n [attr.data-cy]=\"dataCy\"\n [attr.aria-label]=\"label\"\n>\n <div class=\"selection-choice\" *ngIf=\"multiple && selectionToggle\">\n <a\n tabindex=\"1\"\n class=\"small\"\n [ngClass]=\"{ disabled: isAllSelected() }\"\n (click)=\"selectAll()\"\n >{{ 'select.select.all' | translate }}</a\n ><span class=\"small grey\">&nbsp;&nbsp;|&nbsp;&nbsp;</span>\n <a\n tabindex=\"2\"\n class=\"small\"\n [ngClass]=\"{ disabled: isNoneSelected() }\"\n (click)=\"deselectAll($event)\"\n >{{ 'select.deselect.all' | translate }}</a\n >\n </div>\n <div class=\"option-list\">\n <mat-option *ngIf=\"showFilter\">\n <mat-select-search\n [formControl]=\"searchFilter\"\n ariaLabel=\"{{ 'select.search.filter' | translate }}\"\n noEntriesFoundLabel=\"{{ 'select.search.notFound' | translate }}\"\n placeholderLabel=\"{{ 'select.search.filter' | translate }}\"\n ></mat-select-search>\n </mat-option>\n <ng-container *ngFor=\"let matOption of matOptions$ | async\">\n <mat-option\n [disabled]=\"matOption.disabled\"\n [value]=\"matOption.value\"\n [attr.data-cy]=\"matOption._getHostElement().dataset['cy']\"\n >\n {{ matOption._text?.nativeElement?.innerHTML }}\n </mat-option>\n </ng-container>\n </div>\n</mat-select>\n<div class=\"mat-select-counter\" *ngIf=\"multiple && counter > 0\">\n <span class=\"text\">{{ counter }}</span\n ><mat-icon (click)=\"deselectAll($event)\">close</mat-icon>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.MatSelectSearchComponent, selector: "mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
152
156
  }
153
157
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OnemrvaMatMultiSelectComponent, decorators: [{
154
158
  type: Component,
@@ -1 +1 @@
1
- {"version":3,"file":"onemrvapublic-design-system-mat-multi-select.mjs","sources":["../../../../projects/onemrva/design-system/mat-multi-select/src/onemrva-mat-multi-select.component.ts","../../../../projects/onemrva/design-system/mat-multi-select/src/onemrva-mat-multi-select.component.html","../../../../projects/onemrva/design-system/mat-multi-select/src/onemrva-mat-multi-select.module.ts","../../../../projects/onemrva/design-system/mat-multi-select/onemrvapublic-design-system-mat-multi-select.ts"],"sourcesContent":["import {\n AfterContentChecked,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n forwardRef,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n QueryList,\n} from '@angular/core';\nimport { FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MatFormFieldControl } from '@angular/material/form-field';\nimport { TranslateService } from '@ngx-translate/core';\nimport { MatOption } from '@angular/material/core';\nimport {\n debounceTime,\n map,\n Observable,\n startWith,\n Subject,\n takeUntil,\n} from 'rxjs';\n\nlet NEXT_ID = 0;\n\n@Component({\n selector: 'onemrva-mat-multi-select',\n templateUrl: 'onemrva-mat-multi-select.component.html',\n providers: [\n {\n provide: MatFormFieldControl,\n useExisting: OnemrvaMatMultiSelectComponent,\n multi: false,\n },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => OnemrvaMatMultiSelectComponent),\n multi: true,\n },\n // {\n // provide: MatFormFieldControl,\n // useExisting: OnemrvaMatMultiSelectComponent,\n // },\n // {\n // provide: MAT_OPTION_PARENT_COMPONENT,\n // useExisting: OnemrvaMatMultiSelectComponent,\n // },\n ],\n})\nexport class OnemrvaMatMultiSelectComponent\n extends MatFormFieldControl<any>\n implements OnInit, OnDestroy, AfterContentChecked\n{\n counter = 0;\n _values: any[] = [];\n public override stateChanges: Observable<any> = new Observable<any>();\n\n @Input()\n multiple = true;\n\n @Input()\n formControl!: FormControl;\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('attr.role')\n public role = 'select';\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('attr.aria-label')\n public label = '';\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('attr.aria-invalid')\n public invalid = false;\n\n @Input()\n showFilter = true;\n\n @Input()\n selectionToggle = true;\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('attr.data-cy')\n public dataCy = `onemrva-mat-multi-select-${NEXT_ID++}`;\n\n searchFilter: FormControl = new FormControl<string>('');\n\n @ContentChildren(MatOption)\n matOptions: QueryList<MatOption> = new QueryList<MatOption>();\n matOptions$?: Observable<MatOption<any>[]>;\n private onDestroy$: Subject<any> = new Subject<any>();\n\n @HostBinding('style.opacity')\n get opacity() {\n return this.disabled ? 0.25 : 1;\n }\n\n constructor(\n public translate: TranslateService,\n public cd: ChangeDetectorRef,\n ) {\n super();\n }\n\n // Function to call when the rating changes.\n onChange = (_values: any[]) => {\n //\n };\n\n // Function to call when the input is touched (when a star is clicked).\n onTouched = () => {\n //\n };\n\n // Allows Angular to update the model (rating).\n // Update the model and changes needed for the view here.\n writeValue(values: any[] | any | undefined | null): void {\n if (Array.isArray(values)) this.counter = values.length;\n else this.counter = 0;\n this._values = values;\n this.onChange(this._values);\n }\n\n // Allows Angular to register a function to call when the model (rating) changes.\n // Save the function as a property to call later here.\n registerOnChange(fn: (value: any[]) => void): void {\n this.onChange = fn;\n }\n\n // Allows Angular to register a function to call when the input has been touched.\n // Save the function as a property to call later here.\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n isAllSelected() {\n return this.counter === this.matOptions.length;\n }\n\n selectAll() {\n this._values = this.matOptions.map(option => {\n return option.value;\n });\n this.formControl.setValue(this._values);\n }\n\n isNoneSelected() {\n return this.counter === 0;\n }\n\n deselectAll(_$event: MouseEvent) {\n this._values = [];\n this.formControl.setValue(this._values);\n }\n\n onContainerClick(_event: MouseEvent): void {\n //\n }\n\n setDescribedByIds(_ids: string[]): void {\n //\n }\n\n ngOnDestroy(): void {\n this.onDestroy$.next('');\n this.onDestroy$.complete();\n }\n\n private optionSize = 0;\n\n ngOnInit(): void {\n this.matOptions$ = this.searchFilter.valueChanges.pipe(\n debounceTime(200),\n startWith(''),\n map((value: string) => {\n this.optionSize = this.matOptions.length;\n if (value === '') {\n return this.matOptions.filter(_o => {\n return true;\n });\n }\n return this.matOptions.filter(option => {\n return option?._text?.nativeElement.innerHTML\n .toLowerCase()\n .includes(value.toLowerCase());\n });\n }),\n );\n this.formControl.valueChanges\n .pipe(takeUntil(this.onDestroy$))\n .subscribe(values => {\n this._values = values;\n this.counter = this._values.length;\n });\n }\n\n ngAfterContentChecked(): void {\n if (this.matOptions.length !== this.optionSize) {\n this.optionSize = this.matOptions.length;\n this.counter = 0;\n this.searchFilter.updateValueAndValidity({ emitEvent: true });\n }\n }\n}\n","<mat-select\n [multiple]=\"multiple\"\n [formControl]=\"formControl\"\n [attr.data-cy]=\"dataCy\"\n [attr.aria-label]=\"label\"\n>\n <div class=\"selection-choice\" *ngIf=\"multiple && selectionToggle\">\n <a\n tabindex=\"1\"\n class=\"small\"\n [ngClass]=\"{ disabled: isAllSelected() }\"\n (click)=\"selectAll()\"\n >{{ 'select.select.all' | translate }}</a\n ><span class=\"small grey\">&nbsp;&nbsp;|&nbsp;&nbsp;</span>\n <a\n tabindex=\"2\"\n class=\"small\"\n [ngClass]=\"{ disabled: isNoneSelected() }\"\n (click)=\"deselectAll($event)\"\n >{{ 'select.deselect.all' | translate }}</a\n >\n </div>\n <div class=\"option-list\">\n <mat-option *ngIf=\"showFilter\">\n <mat-select-search\n [formControl]=\"searchFilter\"\n ariaLabel=\"{{ 'select.search.filter' | translate }}\"\n noEntriesFoundLabel=\"{{ 'select.search.notFound' | translate }}\"\n placeholderLabel=\"{{ 'select.search.filter' | translate }}\"\n ></mat-select-search>\n </mat-option>\n <ng-container *ngFor=\"let matOption of matOptions$ | async\">\n <mat-option\n [disabled]=\"matOption.disabled\"\n [value]=\"matOption.value\"\n [attr.data-cy]=\"matOption._getHostElement().dataset['cy']\"\n >\n {{ matOption._text?.nativeElement?.innerHTML }}\n </mat-option>\n </ng-container>\n </div>\n</mat-select>\n<div class=\"mat-select-counter\" *ngIf=\"multiple && counter > 0\">\n <span class=\"text\">{{ counter }}</span\n ><mat-icon (click)=\"deselectAll($event)\">close</mat-icon>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OnemrvaMatMultiSelectComponent } from './onemrva-mat-multi-select.component';\nimport { MatSelectModule } from '@angular/material/select';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSelectSearchModule } from '@onemrvapublic/design-system/mat-select-search';\n\n@NgModule({\n declarations: [OnemrvaMatMultiSelectComponent],\n imports: [\n CommonModule,\n FormsModule,\n TranslateModule,\n MatFormFieldModule,\n MatSelectModule,\n MatInputModule,\n MatIconModule,\n MatSelectSearchModule,\n ReactiveFormsModule,\n ],\n exports: [OnemrvaMatMultiSelectComponent],\n})\nexport class OnemrvaMatMultiSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"onemrvapublic-design-system-mat-multi-select.mjs","sources":["../../../../projects/onemrva/design-system/mat-multi-select/src/onemrva-mat-multi-select.component.ts","../../../../projects/onemrva/design-system/mat-multi-select/src/onemrva-mat-multi-select.component.html","../../../../projects/onemrva/design-system/mat-multi-select/src/onemrva-mat-multi-select.module.ts","../../../../projects/onemrva/design-system/mat-multi-select/onemrvapublic-design-system-mat-multi-select.ts"],"sourcesContent":["import {\n AfterContentChecked,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n forwardRef,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n QueryList,\n SimpleChanges,\n} from '@angular/core';\nimport { FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MatFormFieldControl } from '@angular/material/form-field';\nimport { TranslateService } from '@ngx-translate/core';\nimport { MatOption } from '@angular/material/core';\nimport {\n debounceTime,\n map,\n Observable,\n startWith,\n Subject,\n takeUntil,\n} from 'rxjs';\n\nlet NEXT_ID = 0;\n\n@Component({\n selector: 'onemrva-mat-multi-select',\n templateUrl: 'onemrva-mat-multi-select.component.html',\n providers: [\n {\n provide: MatFormFieldControl,\n useExisting: OnemrvaMatMultiSelectComponent,\n multi: false,\n },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => OnemrvaMatMultiSelectComponent),\n multi: true,\n },\n // {\n // provide: MatFormFieldControl,\n // useExisting: OnemrvaMatMultiSelectComponent,\n // },\n // {\n // provide: MAT_OPTION_PARENT_COMPONENT,\n // useExisting: OnemrvaMatMultiSelectComponent,\n // },\n ],\n})\nexport class OnemrvaMatMultiSelectComponent\n extends MatFormFieldControl<any>\n implements OnInit, OnDestroy, AfterContentChecked, OnChanges\n{\n counter = 0;\n _values: any[] = [];\n public override stateChanges: Observable<any> = new Observable<any>();\n\n @Input()\n multiple = true;\n\n @Input()\n formControl!: FormControl;\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('attr.role')\n public role = 'select';\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('attr.aria-label')\n public label = '';\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('attr.aria-invalid')\n public invalid = false;\n\n @Input()\n showFilter = true;\n\n @Input()\n selectionToggle = true;\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('attr.data-cy')\n public dataCy = `onemrva-mat-multi-select-${NEXT_ID++}`;\n\n searchFilter: FormControl = new FormControl<string>('');\n\n @ContentChildren(MatOption)\n matOptions: QueryList<MatOption> = new QueryList<MatOption>();\n matOptions$?: Observable<MatOption<any>[]>;\n private onDestroy$: Subject<any> = new Subject<any>();\n\n @HostBinding('style.opacity')\n get opacity() {\n return this.disabled ? 0.25 : 1;\n }\n\n constructor(\n public translate: TranslateService,\n public cd: ChangeDetectorRef,\n ) {\n super();\n }\n\n // Function to call when the rating changes.\n onChange = (_values: any[]) => {\n //\n };\n\n // Function to call when the input is touched (when a star is clicked).\n onTouched = () => {\n //\n };\n\n // Allows Angular to update the model (rating).\n // Update the model and changes needed for the view here.\n writeValue(values: any[] | any | undefined | null): void {\n if (Array.isArray(values)) this.counter = values.length;\n else this.counter = this._values.length;\n this._values = values;\n this.onChange(this._values);\n }\n\n // Allows Angular to register a function to call when the model (rating) changes.\n // Save the function as a property to call later here.\n registerOnChange(fn: (value: any[]) => void): void {\n this.onChange = fn;\n }\n\n // Allows Angular to register a function to call when the input has been touched.\n // Save the function as a property to call later here.\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n isAllSelected() {\n return this.counter === this.matOptions.length;\n }\n\n selectAll() {\n this._values = this.matOptions.map(option => {\n return option.value;\n });\n this.formControl.setValue(this._values);\n }\n\n isNoneSelected() {\n return this.counter === 0;\n }\n\n deselectAll(_$event: MouseEvent) {\n this._values = [];\n this.formControl.setValue(this._values);\n }\n\n onContainerClick(_event: MouseEvent): void {\n //\n }\n\n setDescribedByIds(_ids: string[]): void {\n //\n }\n\n ngOnDestroy(): void {\n this.onDestroy$.next('');\n this.onDestroy$.complete();\n }\n\n private optionSize = 0;\n\n ngOnInit(): void {\n this.matOptions$ = this.searchFilter.valueChanges.pipe(\n debounceTime(200),\n startWith(''),\n map((value: string) => {\n this.optionSize = this.matOptions.length;\n this.counter = this._values.length;\n if (value === '') {\n return this.matOptions.filter(_o => {\n return true;\n });\n }\n return this.matOptions.filter(option => {\n return option?._text?.nativeElement.innerHTML\n .toLowerCase()\n .includes(value.toLowerCase());\n });\n }),\n );\n this.formControl.valueChanges\n .pipe(takeUntil(this.onDestroy$))\n .subscribe(values => {\n this._values = values;\n this.counter = this._values.length;\n });\n }\n\n ngAfterContentChecked(): void {\n if (this.matOptions.length !== this.optionSize) {\n this.optionSize = this.matOptions.length;\n this.counter = 0;\n this.searchFilter.updateValueAndValidity({ emitEvent: true });\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n console.log(changes);\n }\n}\n","<mat-select\n [multiple]=\"multiple\"\n [formControl]=\"formControl\"\n [attr.data-cy]=\"dataCy\"\n [attr.aria-label]=\"label\"\n>\n <div class=\"selection-choice\" *ngIf=\"multiple && selectionToggle\">\n <a\n tabindex=\"1\"\n class=\"small\"\n [ngClass]=\"{ disabled: isAllSelected() }\"\n (click)=\"selectAll()\"\n >{{ 'select.select.all' | translate }}</a\n ><span class=\"small grey\">&nbsp;&nbsp;|&nbsp;&nbsp;</span>\n <a\n tabindex=\"2\"\n class=\"small\"\n [ngClass]=\"{ disabled: isNoneSelected() }\"\n (click)=\"deselectAll($event)\"\n >{{ 'select.deselect.all' | translate }}</a\n >\n </div>\n <div class=\"option-list\">\n <mat-option *ngIf=\"showFilter\">\n <mat-select-search\n [formControl]=\"searchFilter\"\n ariaLabel=\"{{ 'select.search.filter' | translate }}\"\n noEntriesFoundLabel=\"{{ 'select.search.notFound' | translate }}\"\n placeholderLabel=\"{{ 'select.search.filter' | translate }}\"\n ></mat-select-search>\n </mat-option>\n <ng-container *ngFor=\"let matOption of matOptions$ | async\">\n <mat-option\n [disabled]=\"matOption.disabled\"\n [value]=\"matOption.value\"\n [attr.data-cy]=\"matOption._getHostElement().dataset['cy']\"\n >\n {{ matOption._text?.nativeElement?.innerHTML }}\n </mat-option>\n </ng-container>\n </div>\n</mat-select>\n<div class=\"mat-select-counter\" *ngIf=\"multiple && counter > 0\">\n <span class=\"text\">{{ counter }}</span\n ><mat-icon (click)=\"deselectAll($event)\">close</mat-icon>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OnemrvaMatMultiSelectComponent } from './onemrva-mat-multi-select.component';\nimport { MatSelectModule } from '@angular/material/select';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSelectSearchModule } from '@onemrvapublic/design-system/mat-select-search';\n\n@NgModule({\n declarations: [OnemrvaMatMultiSelectComponent],\n imports: [\n CommonModule,\n FormsModule,\n TranslateModule,\n MatFormFieldModule,\n MatSelectModule,\n MatInputModule,\n MatIconModule,\n MatSelectSearchModule,\n ReactiveFormsModule,\n ],\n exports: [OnemrvaMatMultiSelectComponent],\n})\nexport class OnemrvaMatMultiSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- import { AfterContentChecked, ChangeDetectorRef, OnDestroy, OnInit, QueryList } from '@angular/core';
1
+ import { AfterContentChecked, ChangeDetectorRef, OnChanges, OnDestroy, OnInit, QueryList, SimpleChanges } from '@angular/core';
2
2
  import { FormControl } from '@angular/forms';
3
3
  import { MatFormFieldControl } from '@angular/material/form-field';
4
4
  import { TranslateService } from '@ngx-translate/core';
5
5
  import { MatOption } from '@angular/material/core';
6
6
  import { Observable } from 'rxjs';
7
7
  import * as i0 from "@angular/core";
8
- export declare class OnemrvaMatMultiSelectComponent extends MatFormFieldControl<any> implements OnInit, OnDestroy, AfterContentChecked {
8
+ export declare class OnemrvaMatMultiSelectComponent extends MatFormFieldControl<any> implements OnInit, OnDestroy, AfterContentChecked, OnChanges {
9
9
  translate: TranslateService;
10
10
  cd: ChangeDetectorRef;
11
11
  counter: number;
@@ -40,6 +40,7 @@ export declare class OnemrvaMatMultiSelectComponent extends MatFormFieldControl<
40
40
  private optionSize;
41
41
  ngOnInit(): void;
42
42
  ngAfterContentChecked(): void;
43
+ ngOnChanges(changes: SimpleChanges): void;
43
44
  static ɵfac: i0.ɵɵFactoryDeclaration<OnemrvaMatMultiSelectComponent, never>;
44
45
  static ɵcmp: i0.ɵɵComponentDeclaration<OnemrvaMatMultiSelectComponent, "onemrva-mat-multi-select", never, { "multiple": { "alias": "multiple"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; "role": { "alias": "attr.role"; "required": false; }; "label": { "alias": "attr.aria-label"; "required": false; }; "invalid": { "alias": "attr.aria-invalid"; "required": false; }; "showFilter": { "alias": "showFilter"; "required": false; }; "selectionToggle": { "alias": "selectionToggle"; "required": false; }; "dataCy": { "alias": "attr.data-cy"; "required": false; }; }, {}, ["matOptions"], never, false, never>;
45
46
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onemrvapublic/design-system",
3
- "version": "18.2.21-develop.5",
3
+ "version": "18.2.21-develop.7",
4
4
  "description": "Design System Onem/Rva without theme included",
5
5
  "publishConfig": {
6
6
  "access": "public"