@tetacom/ng-components 1.0.137 → 1.0.139

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.
@@ -4286,8 +4286,8 @@ class ListFilterComponent extends FilterComponentBase {
4286
4286
  get visibleOptions() {
4287
4287
  var _a;
4288
4288
  return (_a = this.filterOptions) === null || _a === void 0 ? void 0 : _a.filter((option) => {
4289
- var _a;
4290
- return ((_a = option.name) === null || _a === void 0 ? void 0 : _a.toString().indexOf(this.search)) >= 0;
4289
+ var _a, _b;
4290
+ return ((_a = option.name) === null || _a === void 0 ? void 0 : _a.toLowerCase().toString().indexOf((_b = this.search) === null || _b === void 0 ? void 0 : _b.toLowerCase())) >= 0;
4291
4291
  });
4292
4292
  }
4293
4293
  set state(val) {
@@ -8173,6 +8173,16 @@ class ContextMenuDirective extends DynamicContentBaseDirective {
8173
8173
  this._cdr = _cdr;
8174
8174
  this._click = _click;
8175
8175
  this.autoCloseIgnore = [];
8176
+ this.scrollListener = (event) => {
8177
+ if (this._open &&
8178
+ this._componentRef &&
8179
+ !this._componentRef.location.nativeElement.contains(event.target) &&
8180
+ this._componentRef.location.nativeElement !== event.target) {
8181
+ this.destroyContentRef();
8182
+ this.openChange.emit(false);
8183
+ }
8184
+ };
8185
+ this.addScrollListener();
8176
8186
  }
8177
8187
  get _dynamicContent() {
8178
8188
  return this.tetaContextMenu;
@@ -8198,29 +8208,18 @@ class ContextMenuDirective extends DynamicContentBaseDirective {
8198
8208
  this.openChange.emit(false);
8199
8209
  }
8200
8210
  }
8211
+ addScrollListener() {
8212
+ window.addEventListener('scroll', this.scrollListener, true);
8213
+ }
8214
+ removeScrollListener() {
8215
+ window.removeEventListener('scroll', this.scrollListener, true);
8216
+ }
8201
8217
  ngOnInit() {
8202
8218
  super.ngOnInit();
8203
- // merge(this._click.click, this._click.contextMenu)
8204
- // .pipe(
8205
- // takeWhile(() => this._alive),
8206
- // filter(() => this._open),
8207
- // filter(() => this._componentRef != null),
8208
- // filter(
8209
- // (event: MouseEvent) =>
8210
- // !DomUtil.clickedInside(
8211
- // this._componentRef.location.nativeElement,
8212
- // event
8213
- // ) || this.autoCloseIgnore.indexOf('inside') < 0
8214
- // ),
8215
- // tap((_) => {
8216
- // this.destroyContentRef();
8217
- // this.openChange.emit(false);
8218
- // })
8219
- // )
8220
- // .subscribe();
8221
8219
  }
8222
8220
  ngOnDestroy() {
8223
8221
  super.ngOnDestroy();
8222
+ this.removeScrollListener();
8224
8223
  }
8225
8224
  setPosition() {
8226
8225
  if (this._componentRef && this._open) {
@@ -8747,10 +8746,10 @@ class HeadCellDropdownComponent {
8747
8746
  }
8748
8747
  }
8749
8748
  HeadCellDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: HeadCellDropdownComponent, deps: [{ token: TableService }, { token: TetaConfigService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
8750
- HeadCellDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: HeadCellDropdownComponent, selector: "teta-head-cell-dropdown", inputs: { columns: "columns", column: "column", state: "state", data: "data", tabTemplates: "tabTemplates", dropDownOpen: "dropDownOpen" }, outputs: { dropDownOpenChange: "dropDownOpenChange" }, ngImport: i0, template: "<teta-tabs class=\"column_auto\">\n <ng-container *ngFor=\"let tab of tabTemplates; trackBy: trackIndex\">\n <teta-tab *ngIf=\"tab.showTab(column)\">\n <ng-template tetaTabTitle>\n <ng-container *ngIf=\"tab.icon\">\n <teta-icon [name]=\"tab.icon\"></teta-icon>\n </ng-container>\n </ng-template>\n <ng-template tetaTabContent>\n <ng-container\n *ngTemplateOutlet=\"tab.template; context: {\n column: column,\n columns: columns,\n data: data,\n state: state,\n close: closeDropdown\n }\"></ng-container>\n </ng-template>\n </teta-tab>\n </ng-container>\n</teta-tabs>\n", styles: [":host{display:flex;flex-grow:1;min-height:0;min-width:250px}\n"], dependencies: [{ 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: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "directive", type: TabContentDirective, selector: "[tetaTabContent]" }, { kind: "directive", type: TabTitleDirective, selector: "[tetaTabTitle]" }, { kind: "component", type: TabComponent, selector: "teta-tab", inputs: ["id", "title", "disabled"] }, { kind: "component", type: TabsComponent, selector: "teta-tabs", inputs: ["activeId", "destroyOnHide"], outputs: ["tabChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8749
+ HeadCellDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: HeadCellDropdownComponent, selector: "teta-head-cell-dropdown", inputs: { columns: "columns", column: "column", state: "state", data: "data", tabTemplates: "tabTemplates", dropDownOpen: "dropDownOpen" }, outputs: { dropDownOpenChange: "dropDownOpenChange" }, ngImport: i0, template: "<teta-tabs class=\"column_auto\" *ngIf=\"dropDownOpen\">\n <ng-container *ngFor=\"let tab of tabTemplates; trackBy: trackIndex\">\n <teta-tab *ngIf=\"tab.showTab(column)\">\n <ng-template tetaTabTitle>\n <ng-container *ngIf=\"tab.icon\">\n <teta-icon [name]=\"tab.icon\"></teta-icon>\n </ng-container>\n </ng-template>\n <ng-template tetaTabContent>\n <ng-container\n *ngTemplateOutlet=\"tab.template; context: {\n column: column,\n columns: columns,\n data: data,\n state: state,\n close: closeDropdown\n }\"></ng-container>\n </ng-template>\n </teta-tab>\n </ng-container>\n</teta-tabs>\n", styles: [":host{display:flex;flex-grow:1;min-height:0;min-width:250px}\n"], dependencies: [{ 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: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "directive", type: TabContentDirective, selector: "[tetaTabContent]" }, { kind: "directive", type: TabTitleDirective, selector: "[tetaTabTitle]" }, { kind: "component", type: TabComponent, selector: "teta-tab", inputs: ["id", "title", "disabled"] }, { kind: "component", type: TabsComponent, selector: "teta-tabs", inputs: ["activeId", "destroyOnHide"], outputs: ["tabChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8751
8750
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: HeadCellDropdownComponent, decorators: [{
8752
8751
  type: Component,
8753
- args: [{ selector: 'teta-head-cell-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-tabs class=\"column_auto\">\n <ng-container *ngFor=\"let tab of tabTemplates; trackBy: trackIndex\">\n <teta-tab *ngIf=\"tab.showTab(column)\">\n <ng-template tetaTabTitle>\n <ng-container *ngIf=\"tab.icon\">\n <teta-icon [name]=\"tab.icon\"></teta-icon>\n </ng-container>\n </ng-template>\n <ng-template tetaTabContent>\n <ng-container\n *ngTemplateOutlet=\"tab.template; context: {\n column: column,\n columns: columns,\n data: data,\n state: state,\n close: closeDropdown\n }\"></ng-container>\n </ng-template>\n </teta-tab>\n </ng-container>\n</teta-tabs>\n", styles: [":host{display:flex;flex-grow:1;min-height:0;min-width:250px}\n"] }]
8752
+ args: [{ selector: 'teta-head-cell-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-tabs class=\"column_auto\" *ngIf=\"dropDownOpen\">\n <ng-container *ngFor=\"let tab of tabTemplates; trackBy: trackIndex\">\n <teta-tab *ngIf=\"tab.showTab(column)\">\n <ng-template tetaTabTitle>\n <ng-container *ngIf=\"tab.icon\">\n <teta-icon [name]=\"tab.icon\"></teta-icon>\n </ng-container>\n </ng-template>\n <ng-template tetaTabContent>\n <ng-container\n *ngTemplateOutlet=\"tab.template; context: {\n column: column,\n columns: columns,\n data: data,\n state: state,\n close: closeDropdown\n }\"></ng-container>\n </ng-template>\n </teta-tab>\n </ng-container>\n</teta-tabs>\n", styles: [":host{display:flex;flex-grow:1;min-height:0;min-width:250px}\n"] }]
8754
8753
  }], ctorParameters: function () { return [{ type: TableService }, { type: TetaConfigService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { columns: [{
8755
8754
  type: Input
8756
8755
  }], column: [{
@@ -9281,10 +9280,10 @@ class VisibilityDropdownTabComponent {
9281
9280
  }
9282
9281
  }
9283
9282
  VisibilityDropdownTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: VisibilityDropdownTabComponent, deps: [{ token: TableService }, { token: TetaConfigService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
9284
- VisibilityDropdownTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: VisibilityDropdownTabComponent, selector: "teta-visibility-dropdown-tab", inputs: { columns: "columns", column: "column", state: "state", data: "data", close: "close" }, ngImport: i0, template: "<ng-container *ngIf=\"locale | async as loc\">\n <div class=\"list-item padding-left-6 padding-top-2\" [class.padding-left-9]=\"childMode\">\n <teta-checkbox [binary]=\"true\"\n [allowNull]=\"true\"\n [ngModel]=\"allColumnsVisible()\"\n (ngModelChange)=\"setAllColumns($event)\">\n {{loc.all}}\n </teta-checkbox>\n </div>\n <div class=\"list-divider\"></div>\n <div class=\"padding-v-2 column column_auto scrollable\">\n <teta-tree [data]=\"columns\"\n [openItems]=\"openItems\"\n (openItemsChange)=\"openItems = $event\"\n [childNodeName]=\"'columns'\"\n [compareItems]=\"compareItems\">\n <ng-template tetaTemplate let-item>\n <div class=\"tree__item\" style=\"align-items: unset\">\n <teta-tree-item-toggle [item]=\"item\" *ngIf=\"item.columns?.length > 0\"></teta-tree-item-toggle>\n <teta-checkbox\n style=\"flex-grow: 1;\"\n [ngModel]=\"!columnIsHidden(item)\"\n (ngModelChange)=\"setColumnVisibility(item, $event)\"\n (click)=\"$event.stopPropagation()\"\n [binary]=\"true\"\n >\n {{item.caption}}\n </teta-checkbox>\n </div>\n </ng-template>\n </teta-tree>\n </div>\n <teta-toolbar class=\"justify-content-end\">\n <button type=\"button\"\n teta-button\n [disabled]=\"allColumnsVisible() === false\"\n [palette]=\"'primary'\"\n (click)=\"setColumnsVisibility()\">\n {{loc.apply}}\n </button>\n </teta-toolbar>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CheckboxComponent, selector: "teta-checkbox", inputs: ["class", "palette", "noLabel", "disabled", "value", "binary", "allowNull"] }, { kind: "component", type: ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square"] }, { kind: "component", type: TreeComponent, selector: "teta-tree", inputs: ["data", "padding", "childNodeName", "virtual", "height", "openItems", "compareItems"], outputs: ["service", "openItemsChange"] }, { kind: "directive", type: TetaTemplateDirective, selector: "[tetaTemplate]", inputs: ["tetaTemplate"] }, { kind: "component", type: TreeItemToggleComponent, selector: "teta-tree-item-toggle", inputs: ["item"] }, { kind: "component", type: ToolbarComponent, selector: "teta-toolbar", inputs: ["palette", "class"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9283
+ VisibilityDropdownTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: VisibilityDropdownTabComponent, selector: "teta-visibility-dropdown-tab", inputs: { columns: "columns", column: "column", state: "state", data: "data", close: "close" }, ngImport: i0, template: "<ng-container *ngIf=\"locale | async as loc\">\n <div class=\"list-item padding-left-6 padding-top-2\" [class.padding-left-9]=\"childMode\">\n <teta-checkbox [binary]=\"true\"\n [allowNull]=\"true\"\n [ngModel]=\"allColumnsVisible()\"\n (ngModelChange)=\"setAllColumns($event)\">\n {{loc.all}}\n </teta-checkbox>\n </div>\n <div class=\"list-divider\"></div>\n <div class=\"padding-v-2 column column_auto scrollable\">\n <teta-tree [data]=\"columns\"\n [openItems]=\"openItems\"\n (openItemsChange)=\"openItems = $event\"\n [childNodeName]=\"'columns'\"\n [compareItems]=\"compareItems\">\n <ng-template tetaTemplate let-item>\n <div class=\"tree__item\" style=\"align-items: unset\">\n <teta-tree-item-toggle [item]=\"item\" *ngIf=\"item.columns?.length > 0\"></teta-tree-item-toggle>\n <teta-checkbox\n style=\"flex-grow: 1;\"\n [ngModel]=\"!columnIsHidden(item)\"\n (ngModelChange)=\"setColumnVisibility(item, $event)\"\n (click)=\"$event.stopPropagation()\"\n [binary]=\"true\"\n >\n {{item.caption}}\n </teta-checkbox>\n </div>\n </ng-template>\n </teta-tree>\n </div>\n <teta-toolbar class=\"justify-content-end\">\n <button type=\"button\"\n teta-button\n [disabled]=\"allColumnsVisible() === false\"\n [palette]=\"'primary'\"\n (click)=\"setColumnsVisibility()\">\n {{loc.apply}}\n </button>\n </teta-toolbar>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;flex-grow:1;min-height:0}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CheckboxComponent, selector: "teta-checkbox", inputs: ["class", "palette", "noLabel", "disabled", "value", "binary", "allowNull"] }, { kind: "component", type: ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square"] }, { kind: "component", type: TreeComponent, selector: "teta-tree", inputs: ["data", "padding", "childNodeName", "virtual", "height", "openItems", "compareItems"], outputs: ["service", "openItemsChange"] }, { kind: "directive", type: TetaTemplateDirective, selector: "[tetaTemplate]", inputs: ["tetaTemplate"] }, { kind: "component", type: TreeItemToggleComponent, selector: "teta-tree-item-toggle", inputs: ["item"] }, { kind: "component", type: ToolbarComponent, selector: "teta-toolbar", inputs: ["palette", "class"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9285
9284
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: VisibilityDropdownTabComponent, decorators: [{
9286
9285
  type: Component,
9287
- args: [{ selector: 'teta-visibility-dropdown-tab', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"locale | async as loc\">\n <div class=\"list-item padding-left-6 padding-top-2\" [class.padding-left-9]=\"childMode\">\n <teta-checkbox [binary]=\"true\"\n [allowNull]=\"true\"\n [ngModel]=\"allColumnsVisible()\"\n (ngModelChange)=\"setAllColumns($event)\">\n {{loc.all}}\n </teta-checkbox>\n </div>\n <div class=\"list-divider\"></div>\n <div class=\"padding-v-2 column column_auto scrollable\">\n <teta-tree [data]=\"columns\"\n [openItems]=\"openItems\"\n (openItemsChange)=\"openItems = $event\"\n [childNodeName]=\"'columns'\"\n [compareItems]=\"compareItems\">\n <ng-template tetaTemplate let-item>\n <div class=\"tree__item\" style=\"align-items: unset\">\n <teta-tree-item-toggle [item]=\"item\" *ngIf=\"item.columns?.length > 0\"></teta-tree-item-toggle>\n <teta-checkbox\n style=\"flex-grow: 1;\"\n [ngModel]=\"!columnIsHidden(item)\"\n (ngModelChange)=\"setColumnVisibility(item, $event)\"\n (click)=\"$event.stopPropagation()\"\n [binary]=\"true\"\n >\n {{item.caption}}\n </teta-checkbox>\n </div>\n </ng-template>\n </teta-tree>\n </div>\n <teta-toolbar class=\"justify-content-end\">\n <button type=\"button\"\n teta-button\n [disabled]=\"allColumnsVisible() === false\"\n [palette]=\"'primary'\"\n (click)=\"setColumnsVisibility()\">\n {{loc.apply}}\n </button>\n </teta-toolbar>\n</ng-container>\n" }]
9286
+ args: [{ selector: 'teta-visibility-dropdown-tab', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"locale | async as loc\">\n <div class=\"list-item padding-left-6 padding-top-2\" [class.padding-left-9]=\"childMode\">\n <teta-checkbox [binary]=\"true\"\n [allowNull]=\"true\"\n [ngModel]=\"allColumnsVisible()\"\n (ngModelChange)=\"setAllColumns($event)\">\n {{loc.all}}\n </teta-checkbox>\n </div>\n <div class=\"list-divider\"></div>\n <div class=\"padding-v-2 column column_auto scrollable\">\n <teta-tree [data]=\"columns\"\n [openItems]=\"openItems\"\n (openItemsChange)=\"openItems = $event\"\n [childNodeName]=\"'columns'\"\n [compareItems]=\"compareItems\">\n <ng-template tetaTemplate let-item>\n <div class=\"tree__item\" style=\"align-items: unset\">\n <teta-tree-item-toggle [item]=\"item\" *ngIf=\"item.columns?.length > 0\"></teta-tree-item-toggle>\n <teta-checkbox\n style=\"flex-grow: 1;\"\n [ngModel]=\"!columnIsHidden(item)\"\n (ngModelChange)=\"setColumnVisibility(item, $event)\"\n (click)=\"$event.stopPropagation()\"\n [binary]=\"true\"\n >\n {{item.caption}}\n </teta-checkbox>\n </div>\n </ng-template>\n </teta-tree>\n </div>\n <teta-toolbar class=\"justify-content-end\">\n <button type=\"button\"\n teta-button\n [disabled]=\"allColumnsVisible() === false\"\n [palette]=\"'primary'\"\n (click)=\"setColumnsVisibility()\">\n {{loc.apply}}\n </button>\n </teta-toolbar>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;flex-grow:1;min-height:0}\n"] }]
9288
9287
  }], ctorParameters: function () { return [{ type: TableService }, { type: TetaConfigService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { columns: [{
9289
9288
  type: Input
9290
9289
  }], column: [{