@taiga-ui/kit
Version:
Taiga UI Angular main components kit
46 lines • 6.66 kB
JavaScript
import { __decorate } from "tslib";
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';
import * as i0 from "@angular/core";
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);
export { TuiHideSelectedPipe };
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: [] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlkZS1zZWxlY3RlZC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L3BpcGVzL2hpZGUtc2VsZWN0ZWQvaGlkZS1zZWxlY3RlZC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFL0QsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzFELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7QUFFOUMsTUFLYSxtQkFBbUI7SUFMaEM7UUFNcUIsY0FBUyxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzFDLGFBQVEsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztLQXVDMUQ7SUFqQ1UsU0FBUyxDQUNaLEtBQXdEO1FBRXhELElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDUixPQUFPLElBQUksQ0FBQztTQUNmO1FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUVsRCxPQUFPLFNBQVMsQ0FBQyxLQUFLLENBQUM7WUFDbkIsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzVELENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFHTyxRQUFRLENBQ1osS0FBa0MsRUFDbEMsS0FBbUIsRUFDbkIsT0FBOEI7UUFFOUIsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBR08sTUFBTSxDQUNWLEtBQW1CLEVBQ25CLEtBQW1CLEVBQ25CLE9BQThCO1FBRTlCLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ3pCLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUN0RCxDQUFDO0lBQ04sQ0FBQzsrR0F4Q1EsbUJBQW1COzZHQUFuQixtQkFBbUI7O0FBdUJwQjtJQURQLE9BQU87bURBT1A7QUFHTztJQURQLE9BQU87aURBU1A7U0F4Q1EsbUJBQW1COzRGQUFuQixtQkFBbUI7a0JBTC9CLElBQUk7bUJBQUM7b0JBQ0YsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRSxpQkFBaUI7b0JBQ3ZCLElBQUksRUFBRSxLQUFLO2lCQUNkOzhCQXdCVyxRQUFRLE1BU1IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBQaXBlLCB0eXBlIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0eXBlIFR1aUlkZW50aXR5TWF0Y2hlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge3R1aVB1cmV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1R1aVRleHRmaWVsZENvbXBvbmVudH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtUVUlfSVRFTVNfSEFORExFUlN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaXRlbXMtaGFuZGxlcnMnO1xuaW1wb3J0IHt0dWlJc0ZsYXR9IGZyb20gJ0B0YWlnYS11aS9raXQvdXRpbHMnO1xuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAndHVpSGlkZVNlbGVjdGVkJyxcbiAgICBwdXJlOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSGlkZVNlbGVjdGVkUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkID0gaW5qZWN0KFR1aVRleHRmaWVsZENvbXBvbmVudCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBoYW5kbGVycyA9IGluamVjdChUVUlfSVRFTVNfSEFORExFUlMpO1xuXG4gICAgcHVibGljIHRyYW5zZm9ybTxUPihpdGVtczogcmVhZG9ubHkgVFtdIHwgbnVsbCk6IHJlYWRvbmx5IFRbXSB8IG51bGw7XG4gICAgcHVibGljIHRyYW5zZm9ybTxUPihcbiAgICAgICAgaXRlbXM6IFJlYWRvbmx5QXJyYXk8cmVhZG9ubHkgVFtdPiB8IG51bGwsXG4gICAgKTogUmVhZG9ubHlBcnJheTxyZWFkb25seSBUW10+IHwgbnVsbDtcbiAgICBwdWJsaWMgdHJhbnNmb3JtPFQ+KFxuICAgICAgICBpdGVtczogUmVhZG9ubHlBcnJheTxyZWFkb25seSBUW10+IHwgcmVhZG9ubHkgVFtdIHwgbnVsbCxcbiAgICApOiBSZWFkb25seUFycmF5PHJlYWRvbmx5IFRbXT4gfCByZWFkb25seSBUW10gfCBudWxsIHtcbiAgICAgICAgaWYgKCFpdGVtcykge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMudGV4dGZpZWxkLmNvbnRyb2w/LnZhbHVlIHx8IFtdO1xuXG4gICAgICAgIHJldHVybiB0dWlJc0ZsYXQoaXRlbXMpXG4gICAgICAgICAgICA/IHRoaXMuZmlsdGVyKGl0ZW1zLCB2YWx1ZSwgdGhpcy5oYW5kbGVycy5pZGVudGl0eU1hdGNoZXIoKSlcbiAgICAgICAgICAgIDogdGhpcy5maWx0ZXIyZChpdGVtcywgdmFsdWUsIHRoaXMuaGFuZGxlcnMuaWRlbnRpdHlNYXRjaGVyKCkpO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBmaWx0ZXIyZDxUPihcbiAgICAgICAgaXRlbXM6IFJlYWRvbmx5QXJyYXk8cmVhZG9ubHkgVFtdPixcbiAgICAgICAgdmFsdWU6IHJlYWRvbmx5IFRbXSxcbiAgICAgICAgbWF0Y2hlcjogVHVpSWRlbnRpdHlNYXRjaGVyPFQ+LFxuICAgICk6IFJlYWRvbmx5QXJyYXk8cmVhZG9ubHkgVFtdPiB7XG4gICAgICAgIHJldHVybiBpdGVtcy5tYXAoKHN1Ykl0ZW1zKSA9PiB0aGlzLmZpbHRlcihzdWJJdGVtcywgdmFsdWUsIG1hdGNoZXIpKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZmlsdGVyPFQ+KFxuICAgICAgICBpdGVtczogcmVhZG9ubHkgVFtdLFxuICAgICAgICB2YWx1ZTogcmVhZG9ubHkgVFtdLFxuICAgICAgICBtYXRjaGVyOiBUdWlJZGVudGl0eU1hdGNoZXI8VD4sXG4gICAgKTogcmVhZG9ubHkgVFtdIHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zLmZpbHRlcigoaXRlbSkgPT5cbiAgICAgICAgICAgIHZhbHVlLmV2ZXJ5KChzZWxlY3RlZCkgPT4gIW1hdGNoZXIoc2VsZWN0ZWQsIGl0ZW0pKSxcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=