@trudb/tru-common-lib 0.1.529 → 0.1.534

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.
@@ -1,4 +1,4 @@
1
- import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
1
+ import { Component, EventEmitter, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/common";
4
4
  import * as i2 from "@angular/forms";
@@ -18,7 +18,11 @@ export class TruToolbarDropdown {
18
18
  selectedOptionChange = new EventEmitter();
19
19
  disabled;
20
20
  selectionChange = new EventEmitter();
21
+ select;
22
+ selectAllOption;
21
23
  filteredOptions = [];
24
+ selectedOptions = [];
25
+ selectAllLabel = 'Select All';
22
26
  constructor() {
23
27
  }
24
28
  ngOnInit() {
@@ -28,11 +32,30 @@ export class TruToolbarDropdown {
28
32
  ngOnChanges(changes) {
29
33
  this.filteredOptions = this.options;
30
34
  }
31
- toggleAllSelection = () => {
35
+ toggleSelectAll = () => {
36
+ if (this.selectAllOption.selected) {
37
+ this.select.options.forEach((item) => item.select());
38
+ }
39
+ else {
40
+ this.select.options.forEach((item) => item.deselect());
41
+ }
32
42
  };
33
43
  onSelectionChange = (event) => {
34
- this.selectedOptionChange.emit(event.value);
44
+ this.selectedOptionChange.emit(event.source.value);
35
45
  this.selectionChange.emit(event.value);
46
+ let parsedOptions = this.selectedOptions.filter(function (option) {
47
+ return option !== undefined;
48
+ });
49
+ if (parsedOptions.length) {
50
+ if (!this.selectAllOption.selected)
51
+ this.selectAllOption.select();
52
+ this.selectAllLabel = 'Deselect All';
53
+ }
54
+ else {
55
+ if (this.selectAllOption.selected)
56
+ this.selectAllOption.deselect();
57
+ this.selectAllLabel = 'Select All';
58
+ }
36
59
  };
37
60
  onFilterChange = (event) => {
38
61
  const searchInput = event.target.value.toLowerCase();
@@ -42,11 +65,11 @@ export class TruToolbarDropdown {
42
65
  });
43
66
  };
44
67
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TruToolbarDropdown, deps: [], target: i0.ɵɵFactoryTarget.Component });
45
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: TruToolbarDropdown, selector: "tru-toolbar-dropdown", inputs: { config: "config", options: "options", tooltip: "tooltip", multiple: "multiple", filterable: "filterable", filterTooltip: "filterTooltip", width: "width", selectedOption: "selectedOption", disabled: "disabled" }, outputs: { selectedOptionChange: "selectedOptionChange", selectionChange: "selectionChange" }, usesOnChanges: true, ngImport: i0, template: "<mat-form-field>\r\n @if (multiple) {\r\n <mat-select [(ngModel)]=\"selectedOption\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"tooltip\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n [style.width.px]=\"width\"\r\n tru-mat-select-panel\r\n multiple>\r\n <input matInput\r\n *ngIf=\"filterable\"\r\n [placeholder]=\"filterTooltip\"\r\n (input)=\"onFilterChange($event)\"\r\n type=\"text\"\r\n autocomplete=\"off\" />\r\n <mat-option [value]=\"null\" (click)=\"toggleAllSelection()\">Select All/Deselect All</mat-option>\r\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\">\r\n {{option.label}}\r\n </mat-option>\r\n </mat-select>\r\n } @else {\r\n <mat-select [(ngModel)]=\"selectedOption\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"tooltip\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n [style.width.px]=\"width\"\r\n [hideSingleSelectionIndicator]=\"true\"\r\n tru-mat-select-panel>\r\n <input matInput\r\n *ngIf=\"filterable\"\r\n [placeholder]=\"filterTooltip\"\r\n (input)=\"onFilterChange($event)\"\r\n type=\"text\"\r\n autocomplete=\"off\" />\r\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\">\r\n {{option.label}}\r\n </mat-option>\r\n </mat-select>\r\n }\r\n</mat-form-field>\r\n\r\n", styles: [".toolbar{height:25px}.toolbar p{font-size:12px}.toolbar .toolbar-btn{height:26px}.toolbar .mat-mdc-form-field{display:block;height:25px;width:auto}.toolbar .mat-mdc-text-field-wrapper{margin-top:1px;height:23px}.toolbar .mat-mdc-form-field-infix{padding:0;border-top:0;width:auto;height:25px}.mat-mdc-option{height:25px;font-size:14px}.toolbar .mdc-text-field--no-label:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mat-mdc-form-field-infix .toolbar .mat-mdc-select-arrow-wrapper{padding:0!important}.toolbar .mat-mdc-text-field-wrapper:not(.mdc-text-field--outlined) .mat-mdc-form-field-infix{padding:0!important}.toolbar .mat-mdc-select-arrow{padding-left:5px}.toolbar .mat-mdc-select-value-text{font-size:12px}.toolbar-group,.toolbar-group-vertical{position:relative;display:flex;vertical-align:middle;height:25px}.toolbar-group>.toolbar-btn,.toolbar-group-vertical>.toolbar-btn{position:relative;float:left}.toolbar-group>.toolbar-btn:hover,.toolbar-group-vertical>.toolbar-btn:hover,.toolbar-group>.toolbar-btn:focus,.toolbar-group-vertical>.toolbar-btn:focus,.toolbar-group>.toolbar-btn:active,.toolbar-group-vertical>.toolbar-btn:active,.toolbar-group>.toolbar-btn.active,.toolbar-group-vertical>.toolbar-btn.active{z-index:2}.toolbar-group .toolbar-btn+.toolbar-btn,.toolbar-group .toolbar-btn+.toolbar-group,.toolbar-group .toolbar-group+.toolbar-btn,.toolbar-group .toolbar-group+.toolbar-group{margin-left:-1px}.toolbar-group>.toolbar-btn:not(:first-child):not(:last-child){border-radius:0}.toolbar-group>.toolbar-btn:first-child{margin-left:0}.toolbar-group>.toolbar-btn:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.toolbar-group>.toolbar-btn:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.toolbar-group>.toolbar-btn{padding:1px 5px;font-size:12px;line-height:1;border-radius:0}.toolbar-group .btn_iconOnly{padding:0;margin:0}.toolbar-group .btn_iconOnly i{vertical-align:15%}.toolbar-group div{padding:0;margin:0}.toolbar-group button{padding:0!important}.toolbar-group span,.toolbar-group i{padding:0;margin:0}.toolbar-group button{vertical-align:top}::ng-deep .toolbar .mat-mdc-option{min-height:unset;height:35px}::ng-deep .toolbar input::placeholder{font-size:12px;opacity:.75}::ng-deep .toolbar .mat-mdc-select-placeholder{font-size:12px;opacity:.75}\n", ".toolbar .mat-mdc-select{width:auto;min-width:90px;padding-top:0!important;font-family:Calibri,Helvetica,Arial,sans-serif!important;background-color:#ebebeb;height:24px;margin-left:2px;margin-right:2px;padding-left:8px;padding-right:3px}.toolbar .mdc-line-ripple{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { 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: "directive", type: i6.TruMatSelectPanel, selector: "[tru-mat-select-panel]" }], encapsulation: i0.ViewEncapsulation.None });
68
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: TruToolbarDropdown, selector: "tru-toolbar-dropdown", inputs: { config: "config", options: "options", tooltip: "tooltip", multiple: "multiple", filterable: "filterable", filterTooltip: "filterTooltip", width: "width", selectedOption: "selectedOption", disabled: "disabled" }, outputs: { selectedOptionChange: "selectedOptionChange", selectionChange: "selectionChange" }, viewQueries: [{ propertyName: "select", first: true, predicate: ["select"], descendants: true }, { propertyName: "selectAllOption", first: true, predicate: ["selectAllOption"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<mat-form-field>\r\n @if (multiple) {\r\n <mat-select #select\r\n [(ngModel)]=\"selectedOption\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"tooltip\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n [style.width.px]=\"width\"\r\n tru-mat-select-panel\r\n multiple>\r\n <input matInput\r\n *ngIf=\"filterable\"\r\n [placeholder]=\"filterTooltip\"\r\n (input)=\"onFilterChange($event)\"\r\n type=\"text\"\r\n autocomplete=\"off\" />\r\n <mat-option #selectAllOption *ngIf=\"filteredOptions!.length\" (click)=\"toggleSelectAll()\">{{selectAllLabel}}</mat-option>\r\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\">\r\n {{option.label}}\r\n </mat-option>\r\n </mat-select>\r\n } @else {\r\n <mat-select [(ngModel)]=\"selectedOption\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"tooltip\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n [style.width.px]=\"width\"\r\n [hideSingleSelectionIndicator]=\"true\"\r\n tru-mat-select-panel>\r\n <input matInput\r\n *ngIf=\"filterable\"\r\n [placeholder]=\"filterTooltip\"\r\n (input)=\"onFilterChange($event)\"\r\n type=\"text\"\r\n autocomplete=\"off\" />\r\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\">\r\n {{option.label}}\r\n </mat-option>\r\n </mat-select>\r\n }\r\n</mat-form-field>\r\n\r\n", styles: [".toolbar{height:25px}.toolbar p{font-size:12px}.toolbar .toolbar-btn{height:26px}.toolbar .mat-mdc-form-field{display:block;height:25px;width:auto}.toolbar .mat-mdc-text-field-wrapper{margin-top:1px;height:23px}.toolbar .mat-mdc-form-field-infix{padding:0;border-top:0;width:auto;height:25px}.mat-mdc-option{height:25px;font-size:14px}.toolbar .mdc-text-field--no-label:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mat-mdc-form-field-infix .toolbar .mat-mdc-select-arrow-wrapper{padding:0!important}.toolbar .mat-mdc-text-field-wrapper:not(.mdc-text-field--outlined) .mat-mdc-form-field-infix{padding:0!important}.toolbar .mat-mdc-select-arrow{padding-left:5px}.toolbar .mat-mdc-select-value-text{font-size:12px}.toolbar-group,.toolbar-group-vertical{position:relative;display:flex;vertical-align:middle;height:25px}.toolbar-group>.toolbar-btn,.toolbar-group-vertical>.toolbar-btn{position:relative;float:left}.toolbar-group>.toolbar-btn:hover,.toolbar-group-vertical>.toolbar-btn:hover,.toolbar-group>.toolbar-btn:focus,.toolbar-group-vertical>.toolbar-btn:focus,.toolbar-group>.toolbar-btn:active,.toolbar-group-vertical>.toolbar-btn:active,.toolbar-group>.toolbar-btn.active,.toolbar-group-vertical>.toolbar-btn.active{z-index:2}.toolbar-group .toolbar-btn+.toolbar-btn,.toolbar-group .toolbar-btn+.toolbar-group,.toolbar-group .toolbar-group+.toolbar-btn,.toolbar-group .toolbar-group+.toolbar-group{margin-left:-1px}.toolbar-group>.toolbar-btn:not(:first-child):not(:last-child){border-radius:0}.toolbar-group>.toolbar-btn:first-child{margin-left:0}.toolbar-group>.toolbar-btn:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.toolbar-group>.toolbar-btn:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.toolbar-group>.toolbar-btn{padding:1px 5px;font-size:12px;line-height:1;border-radius:0}.toolbar-group .btn_iconOnly{padding:0;margin:0}.toolbar-group .btn_iconOnly i{vertical-align:15%}.toolbar-group div{padding:0;margin:0}.toolbar-group button{padding:0!important}.toolbar-group span,.toolbar-group i{padding:0;margin:0}.toolbar-group button{vertical-align:top}::ng-deep .toolbar .mat-mdc-option{min-height:unset;height:35px}::ng-deep .toolbar input::placeholder{font-size:12px;opacity:.75}::ng-deep .toolbar .mat-mdc-select-placeholder{font-size:12px;opacity:.75}\n", ".toolbar .mat-mdc-select{width:auto;min-width:90px;padding-top:0!important;font-family:Calibri,Helvetica,Arial,sans-serif!important;background-color:#ebebeb;height:24px;margin-left:2px;margin-right:2px;padding-left:8px;padding-right:3px}.toolbar .mdc-line-ripple{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { 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: "directive", type: i6.TruMatSelectPanel, selector: "[tru-mat-select-panel]" }], encapsulation: i0.ViewEncapsulation.None });
46
69
  }
47
70
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TruToolbarDropdown, decorators: [{
48
71
  type: Component,
49
- args: [{ selector: 'tru-toolbar-dropdown', encapsulation: ViewEncapsulation.None, template: "<mat-form-field>\r\n @if (multiple) {\r\n <mat-select [(ngModel)]=\"selectedOption\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"tooltip\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n [style.width.px]=\"width\"\r\n tru-mat-select-panel\r\n multiple>\r\n <input matInput\r\n *ngIf=\"filterable\"\r\n [placeholder]=\"filterTooltip\"\r\n (input)=\"onFilterChange($event)\"\r\n type=\"text\"\r\n autocomplete=\"off\" />\r\n <mat-option [value]=\"null\" (click)=\"toggleAllSelection()\">Select All/Deselect All</mat-option>\r\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\">\r\n {{option.label}}\r\n </mat-option>\r\n </mat-select>\r\n } @else {\r\n <mat-select [(ngModel)]=\"selectedOption\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"tooltip\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n [style.width.px]=\"width\"\r\n [hideSingleSelectionIndicator]=\"true\"\r\n tru-mat-select-panel>\r\n <input matInput\r\n *ngIf=\"filterable\"\r\n [placeholder]=\"filterTooltip\"\r\n (input)=\"onFilterChange($event)\"\r\n type=\"text\"\r\n autocomplete=\"off\" />\r\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\">\r\n {{option.label}}\r\n </mat-option>\r\n </mat-select>\r\n }\r\n</mat-form-field>\r\n\r\n", styles: [".toolbar{height:25px}.toolbar p{font-size:12px}.toolbar .toolbar-btn{height:26px}.toolbar .mat-mdc-form-field{display:block;height:25px;width:auto}.toolbar .mat-mdc-text-field-wrapper{margin-top:1px;height:23px}.toolbar .mat-mdc-form-field-infix{padding:0;border-top:0;width:auto;height:25px}.mat-mdc-option{height:25px;font-size:14px}.toolbar .mdc-text-field--no-label:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mat-mdc-form-field-infix .toolbar .mat-mdc-select-arrow-wrapper{padding:0!important}.toolbar .mat-mdc-text-field-wrapper:not(.mdc-text-field--outlined) .mat-mdc-form-field-infix{padding:0!important}.toolbar .mat-mdc-select-arrow{padding-left:5px}.toolbar .mat-mdc-select-value-text{font-size:12px}.toolbar-group,.toolbar-group-vertical{position:relative;display:flex;vertical-align:middle;height:25px}.toolbar-group>.toolbar-btn,.toolbar-group-vertical>.toolbar-btn{position:relative;float:left}.toolbar-group>.toolbar-btn:hover,.toolbar-group-vertical>.toolbar-btn:hover,.toolbar-group>.toolbar-btn:focus,.toolbar-group-vertical>.toolbar-btn:focus,.toolbar-group>.toolbar-btn:active,.toolbar-group-vertical>.toolbar-btn:active,.toolbar-group>.toolbar-btn.active,.toolbar-group-vertical>.toolbar-btn.active{z-index:2}.toolbar-group .toolbar-btn+.toolbar-btn,.toolbar-group .toolbar-btn+.toolbar-group,.toolbar-group .toolbar-group+.toolbar-btn,.toolbar-group .toolbar-group+.toolbar-group{margin-left:-1px}.toolbar-group>.toolbar-btn:not(:first-child):not(:last-child){border-radius:0}.toolbar-group>.toolbar-btn:first-child{margin-left:0}.toolbar-group>.toolbar-btn:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.toolbar-group>.toolbar-btn:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.toolbar-group>.toolbar-btn{padding:1px 5px;font-size:12px;line-height:1;border-radius:0}.toolbar-group .btn_iconOnly{padding:0;margin:0}.toolbar-group .btn_iconOnly i{vertical-align:15%}.toolbar-group div{padding:0;margin:0}.toolbar-group button{padding:0!important}.toolbar-group span,.toolbar-group i{padding:0;margin:0}.toolbar-group button{vertical-align:top}::ng-deep .toolbar .mat-mdc-option{min-height:unset;height:35px}::ng-deep .toolbar input::placeholder{font-size:12px;opacity:.75}::ng-deep .toolbar .mat-mdc-select-placeholder{font-size:12px;opacity:.75}\n", ".toolbar .mat-mdc-select{width:auto;min-width:90px;padding-top:0!important;font-family:Calibri,Helvetica,Arial,sans-serif!important;background-color:#ebebeb;height:24px;margin-left:2px;margin-right:2px;padding-left:8px;padding-right:3px}.toolbar .mdc-line-ripple{display:none}\n"] }]
72
+ args: [{ selector: 'tru-toolbar-dropdown', encapsulation: ViewEncapsulation.None, template: "<mat-form-field>\r\n @if (multiple) {\r\n <mat-select #select\r\n [(ngModel)]=\"selectedOption\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"tooltip\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n [style.width.px]=\"width\"\r\n tru-mat-select-panel\r\n multiple>\r\n <input matInput\r\n *ngIf=\"filterable\"\r\n [placeholder]=\"filterTooltip\"\r\n (input)=\"onFilterChange($event)\"\r\n type=\"text\"\r\n autocomplete=\"off\" />\r\n <mat-option #selectAllOption *ngIf=\"filteredOptions!.length\" (click)=\"toggleSelectAll()\">{{selectAllLabel}}</mat-option>\r\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\">\r\n {{option.label}}\r\n </mat-option>\r\n </mat-select>\r\n } @else {\r\n <mat-select [(ngModel)]=\"selectedOption\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"tooltip\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n [style.width.px]=\"width\"\r\n [hideSingleSelectionIndicator]=\"true\"\r\n tru-mat-select-panel>\r\n <input matInput\r\n *ngIf=\"filterable\"\r\n [placeholder]=\"filterTooltip\"\r\n (input)=\"onFilterChange($event)\"\r\n type=\"text\"\r\n autocomplete=\"off\" />\r\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\">\r\n {{option.label}}\r\n </mat-option>\r\n </mat-select>\r\n }\r\n</mat-form-field>\r\n\r\n", styles: [".toolbar{height:25px}.toolbar p{font-size:12px}.toolbar .toolbar-btn{height:26px}.toolbar .mat-mdc-form-field{display:block;height:25px;width:auto}.toolbar .mat-mdc-text-field-wrapper{margin-top:1px;height:23px}.toolbar .mat-mdc-form-field-infix{padding:0;border-top:0;width:auto;height:25px}.mat-mdc-option{height:25px;font-size:14px}.toolbar .mdc-text-field--no-label:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mat-mdc-form-field-infix .toolbar .mat-mdc-select-arrow-wrapper{padding:0!important}.toolbar .mat-mdc-text-field-wrapper:not(.mdc-text-field--outlined) .mat-mdc-form-field-infix{padding:0!important}.toolbar .mat-mdc-select-arrow{padding-left:5px}.toolbar .mat-mdc-select-value-text{font-size:12px}.toolbar-group,.toolbar-group-vertical{position:relative;display:flex;vertical-align:middle;height:25px}.toolbar-group>.toolbar-btn,.toolbar-group-vertical>.toolbar-btn{position:relative;float:left}.toolbar-group>.toolbar-btn:hover,.toolbar-group-vertical>.toolbar-btn:hover,.toolbar-group>.toolbar-btn:focus,.toolbar-group-vertical>.toolbar-btn:focus,.toolbar-group>.toolbar-btn:active,.toolbar-group-vertical>.toolbar-btn:active,.toolbar-group>.toolbar-btn.active,.toolbar-group-vertical>.toolbar-btn.active{z-index:2}.toolbar-group .toolbar-btn+.toolbar-btn,.toolbar-group .toolbar-btn+.toolbar-group,.toolbar-group .toolbar-group+.toolbar-btn,.toolbar-group .toolbar-group+.toolbar-group{margin-left:-1px}.toolbar-group>.toolbar-btn:not(:first-child):not(:last-child){border-radius:0}.toolbar-group>.toolbar-btn:first-child{margin-left:0}.toolbar-group>.toolbar-btn:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.toolbar-group>.toolbar-btn:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.toolbar-group>.toolbar-btn{padding:1px 5px;font-size:12px;line-height:1;border-radius:0}.toolbar-group .btn_iconOnly{padding:0;margin:0}.toolbar-group .btn_iconOnly i{vertical-align:15%}.toolbar-group div{padding:0;margin:0}.toolbar-group button{padding:0!important}.toolbar-group span,.toolbar-group i{padding:0;margin:0}.toolbar-group button{vertical-align:top}::ng-deep .toolbar .mat-mdc-option{min-height:unset;height:35px}::ng-deep .toolbar input::placeholder{font-size:12px;opacity:.75}::ng-deep .toolbar .mat-mdc-select-placeholder{font-size:12px;opacity:.75}\n", ".toolbar .mat-mdc-select{width:auto;min-width:90px;padding-top:0!important;font-family:Calibri,Helvetica,Arial,sans-serif!important;background-color:#ebebeb;height:24px;margin-left:2px;margin-right:2px;padding-left:8px;padding-right:3px}.toolbar .mdc-line-ripple{display:none}\n"] }]
50
73
  }], ctorParameters: () => [], propDecorators: { config: [{
51
74
  type: Input
52
75
  }], options: [{
@@ -69,5 +92,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
69
92
  type: Input
70
93
  }], selectionChange: [{
71
94
  type: Output
95
+ }], select: [{
96
+ type: ViewChild,
97
+ args: ['select']
98
+ }], selectAllOption: [{
99
+ type: ViewChild,
100
+ args: ['selectAllOption']
72
101
  }] } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXRvb2xiYXItZHJvcGRvd24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvdG9vbGJhci9kcm9wZG93bi90cnUtdG9vbGJhci1kcm9wZG93bi50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy90b29sYmFyL2Ryb3Bkb3duL3RydS10b29sYmFyLWRyb3Bkb3duLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWlCLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQVVoSSxNQUFNLE9BQU8sa0JBQWtCO0lBQ3BCLE1BQU0sR0FBYyxJQUFJLENBQUM7SUFFekIsT0FBTyxHQUE0QyxFQUFFLENBQUM7SUFDdEQsT0FBTyxHQUFXLEVBQUUsQ0FBQztJQUNyQixRQUFRLEdBQVksS0FBSyxDQUFDO0lBQzFCLFVBQVUsR0FBWSxLQUFLLENBQUM7SUFDNUIsYUFBYSxHQUFXLEVBQUUsQ0FBQztJQUMzQixLQUFLLEdBQVcsR0FBRyxDQUFDO0lBRXBCLGNBQWMsQ0FBNkI7SUFDMUMsb0JBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQTZCLENBQUM7SUFFdEUsUUFBUSxDQUFXO0lBRWxCLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBMkMsQ0FBQztJQUV4RixlQUFlLEdBQTRDLEVBQUUsQ0FBQztJQUU5RDtJQUVBLENBQUM7SUFFRCxRQUFRO0lBRVIsQ0FBQztJQUVELGVBQWU7SUFFZixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QyxDQUFDO0lBRUQsa0JBQWtCLEdBQUcsR0FBRyxFQUFFO0lBRTFCLENBQUMsQ0FBQTtJQUVELGlCQUFpQixHQUFHLENBQUMsS0FBc0IsRUFBRSxFQUFFO1FBQzdDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDLENBQUE7SUFFRCxjQUFjLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRTtRQUM5QixNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVyRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxPQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBaUMsRUFBRSxFQUFFO1lBQ2hGLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDekMsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFBO3VHQW5EVSxrQkFBa0I7MkZBQWxCLGtCQUFrQiw4WUNWL0Isa2lEQXlDQTs7MkZEL0JhLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDRSxzQkFBc0IsaUJBR2pCLGlCQUFpQixDQUFDLElBQUk7d0RBRzVCLE1BQU07c0JBQWQsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNJLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFFRSxRQUFRO3NCQUFoQixLQUFLO2dCQUVJLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3RDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5pbXBvcnQgeyBJVHJ1VG9vbGJhckRyb3Bkb3duT3B0aW9uIH0gZnJvbSAnLi4vY2xhc3Nlcy90cnUtdG9vbGJhci1kcm9wZG93bi1vcHRpb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0cnUtdG9vbGJhci1kcm9wZG93bicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RydS10b29sYmFyLWRyb3Bkb3duLmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuLi90cnUtdG9vbGJhci5jc3MnLCAnLi90cnUtdG9vbGJhci1kcm9wZG93bi5jc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcnVUb29sYmFyRHJvcGRvd24gaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpIGNvbmZpZzogW10gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgQElucHV0KCkgb3B0aW9uczogQXJyYXk8SVRydVRvb2xiYXJEcm9wZG93bk9wdGlvbj4gfCBudWxsID0gW107XHJcbiAgQElucHV0KCkgdG9vbHRpcDogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBmaWx0ZXJhYmxlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZmlsdGVyVG9vbHRpcDogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgd2lkdGg6IG51bWJlciA9IDExNTtcclxuXHJcbiAgQElucHV0KCkgc2VsZWN0ZWRPcHRpb24hOiBJVHJ1VG9vbGJhckRyb3Bkb3duT3B0aW9uO1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZE9wdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8SVRydVRvb2xiYXJEcm9wZG93bk9wdGlvbj4oKTtcclxuXHJcbiAgQElucHV0KCkgZGlzYWJsZWQhOiBib29sZWFuO1xyXG5cclxuICBAT3V0cHV0KCkgc2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxBcnJheTxJVHJ1VG9vbGJhckRyb3Bkb3duT3B0aW9uPiB8IG51bGw+KCk7XHJcblxyXG4gIGZpbHRlcmVkT3B0aW9uczogQXJyYXk8SVRydVRvb2xiYXJEcm9wZG93bk9wdGlvbj4gfCBudWxsID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVBbGxTZWxlY3Rpb24gPSAoKSA9PiB7XHJcblxyXG4gIH1cclxuXHJcbiAgb25TZWxlY3Rpb25DaGFuZ2UgPSAoZXZlbnQ6IE1hdFNlbGVjdENoYW5nZSkgPT4ge1xyXG4gICAgdGhpcy5zZWxlY3RlZE9wdGlvbkNoYW5nZS5lbWl0KGV2ZW50LnZhbHVlKTtcclxuICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQoZXZlbnQudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgb25GaWx0ZXJDaGFuZ2UgPSAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgY29uc3Qgc2VhcmNoSW5wdXQgPSBldmVudC50YXJnZXQudmFsdWUudG9Mb3dlckNhc2UoKTtcclxuXHJcbiAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMub3B0aW9ucyEuZmlsdGVyKChvcHRpb246IElUcnVUb29sYmFyRHJvcGRvd25PcHRpb24pID0+IHtcclxuICAgICAgY29uc3QgbGFiZWwgPSBvcHRpb24ubGFiZWwudG9Mb3dlckNhc2UoKTtcclxuICAgICAgcmV0dXJuIGxhYmVsLmluY2x1ZGVzKHNlYXJjaElucHV0KTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8bWF0LWZvcm0tZmllbGQ+XHJcbiAgQGlmIChtdWx0aXBsZSkge1xyXG4gIDxtYXQtc2VsZWN0IFsobmdNb2RlbCldPVwic2VsZWN0ZWRPcHRpb25cIlxyXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInRvb2x0aXBcIlxyXG4gICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cIndpZHRoXCJcclxuICAgICAgICAgICAgICB0cnUtbWF0LXNlbGVjdC1wYW5lbFxyXG4gICAgICAgICAgICAgIG11bHRpcGxlPlxyXG4gICAgPGlucHV0IG1hdElucHV0XHJcbiAgICAgICAgICAgKm5nSWY9XCJmaWx0ZXJhYmxlXCJcclxuICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZmlsdGVyVG9vbHRpcFwiXHJcbiAgICAgICAgICAgKGlucHV0KT1cIm9uRmlsdGVyQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIiAvPlxyXG4gICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIm51bGxcIiAoY2xpY2spPVwidG9nZ2xlQWxsU2VsZWN0aW9uKClcIj5TZWxlY3QgQWxsL0Rlc2VsZWN0IEFsbDwvbWF0LW9wdGlvbj5cclxuICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZmlsdGVyZWRPcHRpb25zXCIgW3ZhbHVlXT1cIm9wdGlvblwiPlxyXG4gICAgICB7e29wdGlvbi5sYWJlbH19XHJcbiAgICA8L21hdC1vcHRpb24+XHJcbiAgPC9tYXQtc2VsZWN0PlxyXG4gIH0gQGVsc2Uge1xyXG4gIDxtYXQtc2VsZWN0IFsobmdNb2RlbCldPVwic2VsZWN0ZWRPcHRpb25cIlxyXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInRvb2x0aXBcIlxyXG4gICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cIndpZHRoXCJcclxuICAgICAgICAgICAgICBbaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvcl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICB0cnUtbWF0LXNlbGVjdC1wYW5lbD5cclxuICAgIDxpbnB1dCBtYXRJbnB1dFxyXG4gICAgICAgICAgICpuZ0lmPVwiZmlsdGVyYWJsZVwiXHJcbiAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImZpbHRlclRvb2x0aXBcIlxyXG4gICAgICAgICAgIChpbnB1dCk9XCJvbkZpbHRlckNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCIgLz5cclxuICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZmlsdGVyZWRPcHRpb25zXCIgW3ZhbHVlXT1cIm9wdGlvblwiPlxyXG4gICAgICB7e29wdGlvbi5sYWJlbH19XHJcbiAgICA8L21hdC1vcHRpb24+XHJcbiAgPC9tYXQtc2VsZWN0PlxyXG4gIH1cclxuPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiJdfQ==
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXRvb2xiYXItZHJvcGRvd24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvdG9vbGJhci9kcm9wZG93bi90cnUtdG9vbGJhci1kcm9wZG93bi50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy90b29sYmFyL2Ryb3Bkb3duL3RydS10b29sYmFyLWRyb3Bkb3duLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWlCLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFVM0ksTUFBTSxPQUFPLGtCQUFrQjtJQUNwQixNQUFNLEdBQWMsSUFBSSxDQUFDO0lBQ3pCLE9BQU8sR0FBNEMsRUFBRSxDQUFDO0lBQ3RELE9BQU8sR0FBVyxFQUFFLENBQUM7SUFDckIsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUMxQixVQUFVLEdBQVksS0FBSyxDQUFDO0lBQzVCLGFBQWEsR0FBVyxFQUFFLENBQUM7SUFDM0IsS0FBSyxHQUFXLEdBQUcsQ0FBQztJQUNwQixjQUFjLENBQTZCO0lBQzFDLG9CQUFvQixHQUFHLElBQUksWUFBWSxFQUE2QixDQUFDO0lBQ3RFLFFBQVEsQ0FBVztJQUNsQixlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQTJDLENBQUM7SUFFbkUsTUFBTSxDQUFhO0lBQ0YsZUFBZSxDQUFhO0lBRWxFLGVBQWUsR0FBNEMsRUFBRSxDQUFDO0lBQzlELGVBQWUsR0FBcUMsRUFBRSxDQUFDO0lBQ3ZELGNBQWMsR0FBVyxZQUFZLENBQUM7SUFFdEM7SUFFQSxDQUFDO0lBRUQsUUFBUTtJQUVSLENBQUM7SUFFRCxlQUFlO0lBRWYsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEMsQ0FBQztJQUVELGVBQWUsR0FBRyxHQUFHLEVBQUU7UUFDckIsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQWUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDbEUsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFlLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3BFLENBQUM7SUFDSCxDQUFDLENBQUE7SUFFRCxpQkFBaUIsR0FBRyxDQUFDLEtBQXNCLEVBQUUsRUFBRTtRQUM3QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFVBQVUsTUFBTTtZQUM5RCxPQUFPLE1BQU0sS0FBSyxTQUFTLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRO2dCQUNoQyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ3ZDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVE7Z0JBQy9CLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxZQUFZLENBQUM7UUFDckMsQ0FBQztJQUNILENBQUMsQ0FBQTtJQUVELGNBQWMsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFO1FBQzlCLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFpQyxFQUFFLEVBQUU7WUFDaEYsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN6QyxPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUE7dUdBcEVVLGtCQUFrQjsyRkFBbEIsa0JBQWtCLHFsQkNWL0IscWxEQTBDQTs7MkZEaENhLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDRSxzQkFBc0IsaUJBR2pCLGlCQUFpQixDQUFDLElBQUk7d0RBRzVCLE1BQU07c0JBQWQsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNJLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRSxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLGVBQWU7c0JBQXhCLE1BQU07Z0JBRWMsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRO2dCQUNtQixlQUFlO3NCQUFwRCxTQUFTO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0T3B0aW9uLCBNYXRTZWxlY3QsIE1hdFNlbGVjdENoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IElUcnVUb29sYmFyRHJvcGRvd25PcHRpb24gfSBmcm9tICcuLi9jbGFzc2VzL3RydS10b29sYmFyLWRyb3Bkb3duLW9wdGlvbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RydS10b29sYmFyLWRyb3Bkb3duJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdHJ1LXRvb2xiYXItZHJvcGRvd24uaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4uL3RydS10b29sYmFyLmNzcycsICcuL3RydS10b29sYmFyLWRyb3Bkb3duLmNzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFRydVRvb2xiYXJEcm9wZG93biBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQElucHV0KCkgY29uZmlnOiBbXSB8IG51bGwgPSBudWxsO1xyXG4gIEBJbnB1dCgpIG9wdGlvbnM6IEFycmF5PElUcnVUb29sYmFyRHJvcGRvd25PcHRpb24+IHwgbnVsbCA9IFtdO1xyXG4gIEBJbnB1dCgpIHRvb2x0aXA6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIG11bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZmlsdGVyYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGZpbHRlclRvb2x0aXA6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIHdpZHRoOiBudW1iZXIgPSAxMTU7XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRPcHRpb24hOiBJVHJ1VG9vbGJhckRyb3Bkb3duT3B0aW9uO1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZE9wdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8SVRydVRvb2xiYXJEcm9wZG93bk9wdGlvbj4oKTtcclxuICBASW5wdXQoKSBkaXNhYmxlZCE6IGJvb2xlYW47XHJcbiAgQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8QXJyYXk8SVRydVRvb2xiYXJEcm9wZG93bk9wdGlvbj4gfCBudWxsPigpO1xyXG5cclxuICBAVmlld0NoaWxkKCdzZWxlY3QnKSBzZWxlY3QhOiBNYXRTZWxlY3Q7XHJcbiAgQFZpZXdDaGlsZCgnc2VsZWN0QWxsT3B0aW9uJykgcHJpdmF0ZSBzZWxlY3RBbGxPcHRpb24hOiBNYXRPcHRpb247XHJcblxyXG4gIGZpbHRlcmVkT3B0aW9uczogQXJyYXk8SVRydVRvb2xiYXJEcm9wZG93bk9wdGlvbj4gfCBudWxsID0gW107XHJcbiAgc2VsZWN0ZWRPcHRpb25zOiBBcnJheTxJVHJ1VG9vbGJhckRyb3Bkb3duT3B0aW9uPiA9IFtdO1xyXG4gIHNlbGVjdEFsbExhYmVsOiBzdHJpbmcgPSAnU2VsZWN0IEFsbCc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVTZWxlY3RBbGwgPSAoKSA9PiB7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RBbGxPcHRpb24uc2VsZWN0ZWQpIHtcclxuICAgICAgdGhpcy5zZWxlY3Qub3B0aW9ucy5mb3JFYWNoKChpdGVtOiBNYXRPcHRpb24pID0+IGl0ZW0uc2VsZWN0KCkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3Qub3B0aW9ucy5mb3JFYWNoKChpdGVtOiBNYXRPcHRpb24pID0+IGl0ZW0uZGVzZWxlY3QoKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdGlvbkNoYW5nZSA9IChldmVudDogTWF0U2VsZWN0Q2hhbmdlKSA9PiB7XHJcbiAgICB0aGlzLnNlbGVjdGVkT3B0aW9uQ2hhbmdlLmVtaXQoZXZlbnQuc291cmNlLnZhbHVlKTtcclxuICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQoZXZlbnQudmFsdWUpO1xyXG4gICAgbGV0IHBhcnNlZE9wdGlvbnMgPSB0aGlzLnNlbGVjdGVkT3B0aW9ucy5maWx0ZXIoZnVuY3Rpb24gKG9wdGlvbikge1xyXG4gICAgICByZXR1cm4gb3B0aW9uICE9PSB1bmRlZmluZWQ7XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAocGFyc2VkT3B0aW9ucy5sZW5ndGgpIHtcclxuICAgICAgaWYgKCF0aGlzLnNlbGVjdEFsbE9wdGlvbi5zZWxlY3RlZClcclxuICAgICAgICB0aGlzLnNlbGVjdEFsbE9wdGlvbi5zZWxlY3QoKTtcclxuICAgICAgdGhpcy5zZWxlY3RBbGxMYWJlbCA9ICdEZXNlbGVjdCBBbGwnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuc2VsZWN0QWxsT3B0aW9uLnNlbGVjdGVkKVxyXG4gICAgICAgIHRoaXMuc2VsZWN0QWxsT3B0aW9uLmRlc2VsZWN0KCk7XHJcbiAgICAgIHRoaXMuc2VsZWN0QWxsTGFiZWwgPSAnU2VsZWN0IEFsbCc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkZpbHRlckNoYW5nZSA9IChldmVudDogYW55KSA9PiB7XHJcbiAgICBjb25zdCBzZWFyY2hJbnB1dCA9IGV2ZW50LnRhcmdldC52YWx1ZS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLm9wdGlvbnMhLmZpbHRlcigob3B0aW9uOiBJVHJ1VG9vbGJhckRyb3Bkb3duT3B0aW9uKSA9PiB7XHJcbiAgICAgIGNvbnN0IGxhYmVsID0gb3B0aW9uLmxhYmVsLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIHJldHVybiBsYWJlbC5pbmNsdWRlcyhzZWFyY2hJbnB1dCk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPG1hdC1mb3JtLWZpZWxkPlxyXG4gIEBpZiAobXVsdGlwbGUpIHtcclxuICA8bWF0LXNlbGVjdCAjc2VsZWN0XHJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZE9wdGlvblwiXHJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwidG9vbHRpcFwiXHJcbiAgICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvblNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICBbc3R5bGUud2lkdGgucHhdPVwid2lkdGhcIlxyXG4gICAgICAgICAgICAgIHRydS1tYXQtc2VsZWN0LXBhbmVsXHJcbiAgICAgICAgICAgICAgbXVsdGlwbGU+XHJcbiAgICA8aW5wdXQgbWF0SW5wdXRcclxuICAgICAgICAgICAqbmdJZj1cImZpbHRlcmFibGVcIlxyXG4gICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJmaWx0ZXJUb29sdGlwXCJcclxuICAgICAgICAgICAoaW5wdXQpPVwib25GaWx0ZXJDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiIC8+XHJcbiAgICA8bWF0LW9wdGlvbiAjc2VsZWN0QWxsT3B0aW9uICpuZ0lmPVwiZmlsdGVyZWRPcHRpb25zIS5sZW5ndGhcIiAoY2xpY2spPVwidG9nZ2xlU2VsZWN0QWxsKClcIj57e3NlbGVjdEFsbExhYmVsfX08L21hdC1vcHRpb24+XHJcbiAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGZpbHRlcmVkT3B0aW9uc1wiIFt2YWx1ZV09XCJvcHRpb25cIj5cclxuICAgICAge3tvcHRpb24ubGFiZWx9fVxyXG4gICAgPC9tYXQtb3B0aW9uPlxyXG4gIDwvbWF0LXNlbGVjdD5cclxuICB9IEBlbHNlIHtcclxuICA8bWF0LXNlbGVjdCBbKG5nTW9kZWwpXT1cInNlbGVjdGVkT3B0aW9uXCJcclxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJ0b29sdGlwXCJcclxuICAgICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uU2VsZWN0aW9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgIFtzdHlsZS53aWR0aC5weF09XCJ3aWR0aFwiXHJcbiAgICAgICAgICAgICAgW2hpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3JdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgdHJ1LW1hdC1zZWxlY3QtcGFuZWw+XHJcbiAgICA8aW5wdXQgbWF0SW5wdXRcclxuICAgICAgICAgICAqbmdJZj1cImZpbHRlcmFibGVcIlxyXG4gICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJmaWx0ZXJUb29sdGlwXCJcclxuICAgICAgICAgICAoaW5wdXQpPVwib25GaWx0ZXJDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiIC8+XHJcbiAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGZpbHRlcmVkT3B0aW9uc1wiIFt2YWx1ZV09XCJvcHRpb25cIj5cclxuICAgICAge3tvcHRpb24ubGFiZWx9fVxyXG4gICAgPC9tYXQtb3B0aW9uPlxyXG4gIDwvbWF0LXNlbGVjdD5cclxuICB9XHJcbjwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4iXX0=
@@ -3974,7 +3974,11 @@ class TruToolbarDropdown {
3974
3974
  selectedOptionChange = new EventEmitter();
3975
3975
  disabled;
3976
3976
  selectionChange = new EventEmitter();
3977
+ select;
3978
+ selectAllOption;
3977
3979
  filteredOptions = [];
3980
+ selectedOptions = [];
3981
+ selectAllLabel = 'Select All';
3978
3982
  constructor() {
3979
3983
  }
3980
3984
  ngOnInit() {
@@ -3984,11 +3988,30 @@ class TruToolbarDropdown {
3984
3988
  ngOnChanges(changes) {
3985
3989
  this.filteredOptions = this.options;
3986
3990
  }
3987
- toggleAllSelection = () => {
3991
+ toggleSelectAll = () => {
3992
+ if (this.selectAllOption.selected) {
3993
+ this.select.options.forEach((item) => item.select());
3994
+ }
3995
+ else {
3996
+ this.select.options.forEach((item) => item.deselect());
3997
+ }
3988
3998
  };
3989
3999
  onSelectionChange = (event) => {
3990
- this.selectedOptionChange.emit(event.value);
4000
+ this.selectedOptionChange.emit(event.source.value);
3991
4001
  this.selectionChange.emit(event.value);
4002
+ let parsedOptions = this.selectedOptions.filter(function (option) {
4003
+ return option !== undefined;
4004
+ });
4005
+ if (parsedOptions.length) {
4006
+ if (!this.selectAllOption.selected)
4007
+ this.selectAllOption.select();
4008
+ this.selectAllLabel = 'Deselect All';
4009
+ }
4010
+ else {
4011
+ if (this.selectAllOption.selected)
4012
+ this.selectAllOption.deselect();
4013
+ this.selectAllLabel = 'Select All';
4014
+ }
3992
4015
  };
3993
4016
  onFilterChange = (event) => {
3994
4017
  const searchInput = event.target.value.toLowerCase();
@@ -3998,11 +4021,11 @@ class TruToolbarDropdown {
3998
4021
  });
3999
4022
  };
4000
4023
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TruToolbarDropdown, deps: [], target: i0.ɵɵFactoryTarget.Component });
4001
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: TruToolbarDropdown, selector: "tru-toolbar-dropdown", inputs: { config: "config", options: "options", tooltip: "tooltip", multiple: "multiple", filterable: "filterable", filterTooltip: "filterTooltip", width: "width", selectedOption: "selectedOption", disabled: "disabled" }, outputs: { selectedOptionChange: "selectedOptionChange", selectionChange: "selectionChange" }, usesOnChanges: true, ngImport: i0, template: "<mat-form-field>\r\n @if (multiple) {\r\n <mat-select [(ngModel)]=\"selectedOption\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"tooltip\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n [style.width.px]=\"width\"\r\n tru-mat-select-panel\r\n multiple>\r\n <input matInput\r\n *ngIf=\"filterable\"\r\n [placeholder]=\"filterTooltip\"\r\n (input)=\"onFilterChange($event)\"\r\n type=\"text\"\r\n autocomplete=\"off\" />\r\n <mat-option [value]=\"null\" (click)=\"toggleAllSelection()\">Select All/Deselect All</mat-option>\r\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\">\r\n {{option.label}}\r\n </mat-option>\r\n </mat-select>\r\n } @else {\r\n <mat-select [(ngModel)]=\"selectedOption\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"tooltip\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n [style.width.px]=\"width\"\r\n [hideSingleSelectionIndicator]=\"true\"\r\n tru-mat-select-panel>\r\n <input matInput\r\n *ngIf=\"filterable\"\r\n [placeholder]=\"filterTooltip\"\r\n (input)=\"onFilterChange($event)\"\r\n type=\"text\"\r\n autocomplete=\"off\" />\r\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\">\r\n {{option.label}}\r\n </mat-option>\r\n </mat-select>\r\n }\r\n</mat-form-field>\r\n\r\n", styles: [".toolbar{height:25px}.toolbar p{font-size:12px}.toolbar .toolbar-btn{height:26px}.toolbar .mat-mdc-form-field{display:block;height:25px;width:auto}.toolbar .mat-mdc-text-field-wrapper{margin-top:1px;height:23px}.toolbar .mat-mdc-form-field-infix{padding:0;border-top:0;width:auto;height:25px}.mat-mdc-option{height:25px;font-size:14px}.toolbar .mdc-text-field--no-label:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mat-mdc-form-field-infix .toolbar .mat-mdc-select-arrow-wrapper{padding:0!important}.toolbar .mat-mdc-text-field-wrapper:not(.mdc-text-field--outlined) .mat-mdc-form-field-infix{padding:0!important}.toolbar .mat-mdc-select-arrow{padding-left:5px}.toolbar .mat-mdc-select-value-text{font-size:12px}.toolbar-group,.toolbar-group-vertical{position:relative;display:flex;vertical-align:middle;height:25px}.toolbar-group>.toolbar-btn,.toolbar-group-vertical>.toolbar-btn{position:relative;float:left}.toolbar-group>.toolbar-btn:hover,.toolbar-group-vertical>.toolbar-btn:hover,.toolbar-group>.toolbar-btn:focus,.toolbar-group-vertical>.toolbar-btn:focus,.toolbar-group>.toolbar-btn:active,.toolbar-group-vertical>.toolbar-btn:active,.toolbar-group>.toolbar-btn.active,.toolbar-group-vertical>.toolbar-btn.active{z-index:2}.toolbar-group .toolbar-btn+.toolbar-btn,.toolbar-group .toolbar-btn+.toolbar-group,.toolbar-group .toolbar-group+.toolbar-btn,.toolbar-group .toolbar-group+.toolbar-group{margin-left:-1px}.toolbar-group>.toolbar-btn:not(:first-child):not(:last-child){border-radius:0}.toolbar-group>.toolbar-btn:first-child{margin-left:0}.toolbar-group>.toolbar-btn:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.toolbar-group>.toolbar-btn:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.toolbar-group>.toolbar-btn{padding:1px 5px;font-size:12px;line-height:1;border-radius:0}.toolbar-group .btn_iconOnly{padding:0;margin:0}.toolbar-group .btn_iconOnly i{vertical-align:15%}.toolbar-group div{padding:0;margin:0}.toolbar-group button{padding:0!important}.toolbar-group span,.toolbar-group i{padding:0;margin:0}.toolbar-group button{vertical-align:top}::ng-deep .toolbar .mat-mdc-option{min-height:unset;height:35px}::ng-deep .toolbar input::placeholder{font-size:12px;opacity:.75}::ng-deep .toolbar .mat-mdc-select-placeholder{font-size:12px;opacity:.75}\n", ".toolbar .mat-mdc-select{width:auto;min-width:90px;padding-top:0!important;font-family:Calibri,Helvetica,Arial,sans-serif!important;background-color:#ebebeb;height:24px;margin-left:2px;margin-right:2px;padding-left:8px;padding-right:3px}.toolbar .mdc-line-ripple{display:none}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i10.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i1$3.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$2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: TruMatSelectPanel, selector: "[tru-mat-select-panel]" }], encapsulation: i0.ViewEncapsulation.None });
4024
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: TruToolbarDropdown, selector: "tru-toolbar-dropdown", inputs: { config: "config", options: "options", tooltip: "tooltip", multiple: "multiple", filterable: "filterable", filterTooltip: "filterTooltip", width: "width", selectedOption: "selectedOption", disabled: "disabled" }, outputs: { selectedOptionChange: "selectedOptionChange", selectionChange: "selectionChange" }, viewQueries: [{ propertyName: "select", first: true, predicate: ["select"], descendants: true }, { propertyName: "selectAllOption", first: true, predicate: ["selectAllOption"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<mat-form-field>\r\n @if (multiple) {\r\n <mat-select #select\r\n [(ngModel)]=\"selectedOption\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"tooltip\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n [style.width.px]=\"width\"\r\n tru-mat-select-panel\r\n multiple>\r\n <input matInput\r\n *ngIf=\"filterable\"\r\n [placeholder]=\"filterTooltip\"\r\n (input)=\"onFilterChange($event)\"\r\n type=\"text\"\r\n autocomplete=\"off\" />\r\n <mat-option #selectAllOption *ngIf=\"filteredOptions!.length\" (click)=\"toggleSelectAll()\">{{selectAllLabel}}</mat-option>\r\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\">\r\n {{option.label}}\r\n </mat-option>\r\n </mat-select>\r\n } @else {\r\n <mat-select [(ngModel)]=\"selectedOption\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"tooltip\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n [style.width.px]=\"width\"\r\n [hideSingleSelectionIndicator]=\"true\"\r\n tru-mat-select-panel>\r\n <input matInput\r\n *ngIf=\"filterable\"\r\n [placeholder]=\"filterTooltip\"\r\n (input)=\"onFilterChange($event)\"\r\n type=\"text\"\r\n autocomplete=\"off\" />\r\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\">\r\n {{option.label}}\r\n </mat-option>\r\n </mat-select>\r\n }\r\n</mat-form-field>\r\n\r\n", styles: [".toolbar{height:25px}.toolbar p{font-size:12px}.toolbar .toolbar-btn{height:26px}.toolbar .mat-mdc-form-field{display:block;height:25px;width:auto}.toolbar .mat-mdc-text-field-wrapper{margin-top:1px;height:23px}.toolbar .mat-mdc-form-field-infix{padding:0;border-top:0;width:auto;height:25px}.mat-mdc-option{height:25px;font-size:14px}.toolbar .mdc-text-field--no-label:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mat-mdc-form-field-infix .toolbar .mat-mdc-select-arrow-wrapper{padding:0!important}.toolbar .mat-mdc-text-field-wrapper:not(.mdc-text-field--outlined) .mat-mdc-form-field-infix{padding:0!important}.toolbar .mat-mdc-select-arrow{padding-left:5px}.toolbar .mat-mdc-select-value-text{font-size:12px}.toolbar-group,.toolbar-group-vertical{position:relative;display:flex;vertical-align:middle;height:25px}.toolbar-group>.toolbar-btn,.toolbar-group-vertical>.toolbar-btn{position:relative;float:left}.toolbar-group>.toolbar-btn:hover,.toolbar-group-vertical>.toolbar-btn:hover,.toolbar-group>.toolbar-btn:focus,.toolbar-group-vertical>.toolbar-btn:focus,.toolbar-group>.toolbar-btn:active,.toolbar-group-vertical>.toolbar-btn:active,.toolbar-group>.toolbar-btn.active,.toolbar-group-vertical>.toolbar-btn.active{z-index:2}.toolbar-group .toolbar-btn+.toolbar-btn,.toolbar-group .toolbar-btn+.toolbar-group,.toolbar-group .toolbar-group+.toolbar-btn,.toolbar-group .toolbar-group+.toolbar-group{margin-left:-1px}.toolbar-group>.toolbar-btn:not(:first-child):not(:last-child){border-radius:0}.toolbar-group>.toolbar-btn:first-child{margin-left:0}.toolbar-group>.toolbar-btn:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.toolbar-group>.toolbar-btn:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.toolbar-group>.toolbar-btn{padding:1px 5px;font-size:12px;line-height:1;border-radius:0}.toolbar-group .btn_iconOnly{padding:0;margin:0}.toolbar-group .btn_iconOnly i{vertical-align:15%}.toolbar-group div{padding:0;margin:0}.toolbar-group button{padding:0!important}.toolbar-group span,.toolbar-group i{padding:0;margin:0}.toolbar-group button{vertical-align:top}::ng-deep .toolbar .mat-mdc-option{min-height:unset;height:35px}::ng-deep .toolbar input::placeholder{font-size:12px;opacity:.75}::ng-deep .toolbar .mat-mdc-select-placeholder{font-size:12px;opacity:.75}\n", ".toolbar .mat-mdc-select{width:auto;min-width:90px;padding-top:0!important;font-family:Calibri,Helvetica,Arial,sans-serif!important;background-color:#ebebeb;height:24px;margin-left:2px;margin-right:2px;padding-left:8px;padding-right:3px}.toolbar .mdc-line-ripple{display:none}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i10.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i1$3.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$2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: TruMatSelectPanel, selector: "[tru-mat-select-panel]" }], encapsulation: i0.ViewEncapsulation.None });
4002
4025
  }
4003
4026
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TruToolbarDropdown, decorators: [{
4004
4027
  type: Component,
4005
- args: [{ selector: 'tru-toolbar-dropdown', encapsulation: ViewEncapsulation.None, template: "<mat-form-field>\r\n @if (multiple) {\r\n <mat-select [(ngModel)]=\"selectedOption\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"tooltip\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n [style.width.px]=\"width\"\r\n tru-mat-select-panel\r\n multiple>\r\n <input matInput\r\n *ngIf=\"filterable\"\r\n [placeholder]=\"filterTooltip\"\r\n (input)=\"onFilterChange($event)\"\r\n type=\"text\"\r\n autocomplete=\"off\" />\r\n <mat-option [value]=\"null\" (click)=\"toggleAllSelection()\">Select All/Deselect All</mat-option>\r\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\">\r\n {{option.label}}\r\n </mat-option>\r\n </mat-select>\r\n } @else {\r\n <mat-select [(ngModel)]=\"selectedOption\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"tooltip\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n [style.width.px]=\"width\"\r\n [hideSingleSelectionIndicator]=\"true\"\r\n tru-mat-select-panel>\r\n <input matInput\r\n *ngIf=\"filterable\"\r\n [placeholder]=\"filterTooltip\"\r\n (input)=\"onFilterChange($event)\"\r\n type=\"text\"\r\n autocomplete=\"off\" />\r\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\">\r\n {{option.label}}\r\n </mat-option>\r\n </mat-select>\r\n }\r\n</mat-form-field>\r\n\r\n", styles: [".toolbar{height:25px}.toolbar p{font-size:12px}.toolbar .toolbar-btn{height:26px}.toolbar .mat-mdc-form-field{display:block;height:25px;width:auto}.toolbar .mat-mdc-text-field-wrapper{margin-top:1px;height:23px}.toolbar .mat-mdc-form-field-infix{padding:0;border-top:0;width:auto;height:25px}.mat-mdc-option{height:25px;font-size:14px}.toolbar .mdc-text-field--no-label:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mat-mdc-form-field-infix .toolbar .mat-mdc-select-arrow-wrapper{padding:0!important}.toolbar .mat-mdc-text-field-wrapper:not(.mdc-text-field--outlined) .mat-mdc-form-field-infix{padding:0!important}.toolbar .mat-mdc-select-arrow{padding-left:5px}.toolbar .mat-mdc-select-value-text{font-size:12px}.toolbar-group,.toolbar-group-vertical{position:relative;display:flex;vertical-align:middle;height:25px}.toolbar-group>.toolbar-btn,.toolbar-group-vertical>.toolbar-btn{position:relative;float:left}.toolbar-group>.toolbar-btn:hover,.toolbar-group-vertical>.toolbar-btn:hover,.toolbar-group>.toolbar-btn:focus,.toolbar-group-vertical>.toolbar-btn:focus,.toolbar-group>.toolbar-btn:active,.toolbar-group-vertical>.toolbar-btn:active,.toolbar-group>.toolbar-btn.active,.toolbar-group-vertical>.toolbar-btn.active{z-index:2}.toolbar-group .toolbar-btn+.toolbar-btn,.toolbar-group .toolbar-btn+.toolbar-group,.toolbar-group .toolbar-group+.toolbar-btn,.toolbar-group .toolbar-group+.toolbar-group{margin-left:-1px}.toolbar-group>.toolbar-btn:not(:first-child):not(:last-child){border-radius:0}.toolbar-group>.toolbar-btn:first-child{margin-left:0}.toolbar-group>.toolbar-btn:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.toolbar-group>.toolbar-btn:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.toolbar-group>.toolbar-btn{padding:1px 5px;font-size:12px;line-height:1;border-radius:0}.toolbar-group .btn_iconOnly{padding:0;margin:0}.toolbar-group .btn_iconOnly i{vertical-align:15%}.toolbar-group div{padding:0;margin:0}.toolbar-group button{padding:0!important}.toolbar-group span,.toolbar-group i{padding:0;margin:0}.toolbar-group button{vertical-align:top}::ng-deep .toolbar .mat-mdc-option{min-height:unset;height:35px}::ng-deep .toolbar input::placeholder{font-size:12px;opacity:.75}::ng-deep .toolbar .mat-mdc-select-placeholder{font-size:12px;opacity:.75}\n", ".toolbar .mat-mdc-select{width:auto;min-width:90px;padding-top:0!important;font-family:Calibri,Helvetica,Arial,sans-serif!important;background-color:#ebebeb;height:24px;margin-left:2px;margin-right:2px;padding-left:8px;padding-right:3px}.toolbar .mdc-line-ripple{display:none}\n"] }]
4028
+ args: [{ selector: 'tru-toolbar-dropdown', encapsulation: ViewEncapsulation.None, template: "<mat-form-field>\r\n @if (multiple) {\r\n <mat-select #select\r\n [(ngModel)]=\"selectedOption\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"tooltip\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n [style.width.px]=\"width\"\r\n tru-mat-select-panel\r\n multiple>\r\n <input matInput\r\n *ngIf=\"filterable\"\r\n [placeholder]=\"filterTooltip\"\r\n (input)=\"onFilterChange($event)\"\r\n type=\"text\"\r\n autocomplete=\"off\" />\r\n <mat-option #selectAllOption *ngIf=\"filteredOptions!.length\" (click)=\"toggleSelectAll()\">{{selectAllLabel}}</mat-option>\r\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\">\r\n {{option.label}}\r\n </mat-option>\r\n </mat-select>\r\n } @else {\r\n <mat-select [(ngModel)]=\"selectedOption\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"tooltip\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n [style.width.px]=\"width\"\r\n [hideSingleSelectionIndicator]=\"true\"\r\n tru-mat-select-panel>\r\n <input matInput\r\n *ngIf=\"filterable\"\r\n [placeholder]=\"filterTooltip\"\r\n (input)=\"onFilterChange($event)\"\r\n type=\"text\"\r\n autocomplete=\"off\" />\r\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\">\r\n {{option.label}}\r\n </mat-option>\r\n </mat-select>\r\n }\r\n</mat-form-field>\r\n\r\n", styles: [".toolbar{height:25px}.toolbar p{font-size:12px}.toolbar .toolbar-btn{height:26px}.toolbar .mat-mdc-form-field{display:block;height:25px;width:auto}.toolbar .mat-mdc-text-field-wrapper{margin-top:1px;height:23px}.toolbar .mat-mdc-form-field-infix{padding:0;border-top:0;width:auto;height:25px}.mat-mdc-option{height:25px;font-size:14px}.toolbar .mdc-text-field--no-label:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mat-mdc-form-field-infix .toolbar .mat-mdc-select-arrow-wrapper{padding:0!important}.toolbar .mat-mdc-text-field-wrapper:not(.mdc-text-field--outlined) .mat-mdc-form-field-infix{padding:0!important}.toolbar .mat-mdc-select-arrow{padding-left:5px}.toolbar .mat-mdc-select-value-text{font-size:12px}.toolbar-group,.toolbar-group-vertical{position:relative;display:flex;vertical-align:middle;height:25px}.toolbar-group>.toolbar-btn,.toolbar-group-vertical>.toolbar-btn{position:relative;float:left}.toolbar-group>.toolbar-btn:hover,.toolbar-group-vertical>.toolbar-btn:hover,.toolbar-group>.toolbar-btn:focus,.toolbar-group-vertical>.toolbar-btn:focus,.toolbar-group>.toolbar-btn:active,.toolbar-group-vertical>.toolbar-btn:active,.toolbar-group>.toolbar-btn.active,.toolbar-group-vertical>.toolbar-btn.active{z-index:2}.toolbar-group .toolbar-btn+.toolbar-btn,.toolbar-group .toolbar-btn+.toolbar-group,.toolbar-group .toolbar-group+.toolbar-btn,.toolbar-group .toolbar-group+.toolbar-group{margin-left:-1px}.toolbar-group>.toolbar-btn:not(:first-child):not(:last-child){border-radius:0}.toolbar-group>.toolbar-btn:first-child{margin-left:0}.toolbar-group>.toolbar-btn:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.toolbar-group>.toolbar-btn:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.toolbar-group>.toolbar-btn{padding:1px 5px;font-size:12px;line-height:1;border-radius:0}.toolbar-group .btn_iconOnly{padding:0;margin:0}.toolbar-group .btn_iconOnly i{vertical-align:15%}.toolbar-group div{padding:0;margin:0}.toolbar-group button{padding:0!important}.toolbar-group span,.toolbar-group i{padding:0;margin:0}.toolbar-group button{vertical-align:top}::ng-deep .toolbar .mat-mdc-option{min-height:unset;height:35px}::ng-deep .toolbar input::placeholder{font-size:12px;opacity:.75}::ng-deep .toolbar .mat-mdc-select-placeholder{font-size:12px;opacity:.75}\n", ".toolbar .mat-mdc-select{width:auto;min-width:90px;padding-top:0!important;font-family:Calibri,Helvetica,Arial,sans-serif!important;background-color:#ebebeb;height:24px;margin-left:2px;margin-right:2px;padding-left:8px;padding-right:3px}.toolbar .mdc-line-ripple{display:none}\n"] }]
4006
4029
  }], ctorParameters: () => [], propDecorators: { config: [{
4007
4030
  type: Input
4008
4031
  }], options: [{
@@ -4025,6 +4048,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
4025
4048
  type: Input
4026
4049
  }], selectionChange: [{
4027
4050
  type: Output
4051
+ }], select: [{
4052
+ type: ViewChild,
4053
+ args: ['select']
4054
+ }], selectAllOption: [{
4055
+ type: ViewChild,
4056
+ args: ['selectAllOption']
4028
4057
  }] } });
4029
4058
 
4030
4059
  class TruToolbarSeparator {