UNPKG

@taiga-ui/kit

Version:

Taiga UI Angular main components kit

53 lines (49 loc) 2.18 kB
import { __decorate } from 'tslib'; import * as i0 from '@angular/core'; import { inject, Pipe } from '@angular/core'; import { tuiPure } from '@taiga-ui/cdk/utils/miscellaneous'; import { TuiTextfieldComponent } from '@taiga-ui/core/components/textfield'; import { TUI_ITEMS_HANDLERS } from '@taiga-ui/core/directives/items-handlers'; import { tuiIsFlat } from '@taiga-ui/kit/utils'; class TuiHideSelectedPipe { constructor() { this.textfield = inject(TuiTextfieldComponent); this.handlers = inject(TUI_ITEMS_HANDLERS); } transform(items) { if (!items) { return null; } const value = this.textfield.control?.value || []; return tuiIsFlat(items) ? this.filter(items, value, this.handlers.identityMatcher()) : this.filter2d(items, value, this.handlers.identityMatcher()); } filter2d(items, value, matcher) { return items.map((subItems) => this.filter(subItems, value, matcher)); } filter(items, value, matcher) { return items.filter((item) => value.every((selected) => !matcher(selected, item))); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiHideSelectedPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); } static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TuiHideSelectedPipe, isStandalone: true, name: "tuiHideSelected", pure: false }); } } __decorate([ tuiPure ], TuiHideSelectedPipe.prototype, "filter2d", null); __decorate([ tuiPure ], TuiHideSelectedPipe.prototype, "filter", null); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiHideSelectedPipe, decorators: [{ type: Pipe, args: [{ standalone: true, name: 'tuiHideSelected', pure: false, }] }], propDecorators: { filter2d: [], filter: [] } }); /** * Generated bundle index. Do not edit. */ export { TuiHideSelectedPipe }; //# sourceMappingURL=taiga-ui-kit-pipes-hide-selected.mjs.map