UNPKG

@taiga-ui/addon-table

Version:

A library to display tabled data with filters, search, group actions, etc.

32 lines 5.49 kB
import { computed, Directive, signal } from '@angular/core'; import { TuiControl } from '@taiga-ui/cdk/classes'; import { tuiFallbackValueProvider } from '@taiga-ui/cdk/tokens'; import { tuiArrayToggle } from '@taiga-ui/cdk/utils/miscellaneous'; import * as i0 from "@angular/core"; class TuiTableControlDirective extends TuiControl { constructor() { super(...arguments); this.children = signal([]); this.checked = computed(() => !!this.children().length && this.children().every((i) => this.value().includes(i.tuiCheckboxRow))); this.indeterminate = computed(() => !!this.value().length && !this.checked()); } toggleAll() { this.onChange(this.checked() ? [] : this.children().map((i) => i.tuiCheckboxRow)); } process(checkbox) { this.children.update((children) => tuiArrayToggle(children, checkbox)); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTableControlDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiTableControlDirective, isStandalone: true, selector: "[tuiTable][ngModel],[tuiTable][formControl],[tuiTable][formControlName]", providers: [tuiFallbackValueProvider([])], usesInheritance: true, ngImport: i0 }); } } export { TuiTableControlDirective }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTableControlDirective, decorators: [{ type: Directive, args: [{ standalone: true, selector: '[tuiTable][ngModel],[tuiTable][formControl],[tuiTable][formControlName]', providers: [tuiFallbackValueProvider([])], }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29udHJvbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi10YWJsZS9kaXJlY3RpdmVzL3RhYmxlLWNvbnRyb2wvdGFibGUtY29udHJvbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQWUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7O0FBSWpFLE1BS2Esd0JBQTRCLFNBQVEsVUFBd0I7SUFMekU7O1FBTXFCLGFBQVEsR0FBRyxNQUFNLENBQTRDLEVBQUUsQ0FBQyxDQUFDO1FBRWxFLFlBQU8sR0FBb0IsUUFBUSxDQUMvQyxHQUFHLEVBQUUsQ0FDRCxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU07WUFDeEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FDNUUsQ0FBQztRQUVjLGtCQUFhLEdBQW9CLFFBQVEsQ0FDckQsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQ2pELENBQUM7S0FTTDtJQVBVLFNBQVM7UUFDWixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRU0sT0FBTyxDQUFDLFFBQW9DO1FBQy9DLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQzsrR0FuQlEsd0JBQXdCO21HQUF4Qix3QkFBd0Isc0hBRnRCLENBQUMsd0JBQXdCLENBQUMsRUFBRSxDQUFDLENBQUM7O1NBRWhDLHdCQUF3Qjs0RkFBeEIsd0JBQXdCO2tCQUxwQyxTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUseUVBQXlFO29CQUNuRixTQUFTLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztpQkFDNUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NvbXB1dGVkLCBEaXJlY3RpdmUsIHR5cGUgU2lnbmFsLCBzaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlDb250cm9sfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHt0dWlGYWxsYmFja1ZhbHVlUHJvdmlkZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7dHVpQXJyYXlUb2dnbGV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5cbmltcG9ydCB7dHlwZSBUdWlDaGVja2JveFJvd0RpcmVjdGl2ZX0gZnJvbSAnLi9jaGVja2JveC1yb3cuZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1t0dWlUYWJsZV1bbmdNb2RlbF0sW3R1aVRhYmxlXVtmb3JtQ29udHJvbF0sW3R1aVRhYmxlXVtmb3JtQ29udHJvbE5hbWVdJyxcbiAgICBwcm92aWRlcnM6IFt0dWlGYWxsYmFja1ZhbHVlUHJvdmlkZXIoW10pXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpVGFibGVDb250cm9sRGlyZWN0aXZlPFQ+IGV4dGVuZHMgVHVpQ29udHJvbDxyZWFkb25seSBUW10+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoaWxkcmVuID0gc2lnbmFsPFJlYWRvbmx5QXJyYXk8VHVpQ2hlY2tib3hSb3dEaXJlY3RpdmU8VD4+PihbXSk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgY2hlY2tlZDogU2lnbmFsPGJvb2xlYW4+ID0gY29tcHV0ZWQoXG4gICAgICAgICgpID0+XG4gICAgICAgICAgICAhIXRoaXMuY2hpbGRyZW4oKS5sZW5ndGggJiZcbiAgICAgICAgICAgIHRoaXMuY2hpbGRyZW4oKS5ldmVyeSgoaSkgPT4gdGhpcy52YWx1ZSgpLmluY2x1ZGVzKGkudHVpQ2hlY2tib3hSb3cpKSxcbiAgICApO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGluZGV0ZXJtaW5hdGU6IFNpZ25hbDxib29sZWFuPiA9IGNvbXB1dGVkKFxuICAgICAgICAoKSA9PiAhIXRoaXMudmFsdWUoKS5sZW5ndGggJiYgIXRoaXMuY2hlY2tlZCgpLFxuICAgICk7XG5cbiAgICBwdWJsaWMgdG9nZ2xlQWxsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuY2hlY2tlZCgpID8gW10gOiB0aGlzLmNoaWxkcmVuKCkubWFwKChpKSA9PiBpLnR1aUNoZWNrYm94Um93KSk7XG4gICAgfVxuXG4gICAgcHVibGljIHByb2Nlc3MoY2hlY2tib3g6IFR1aUNoZWNrYm94Um93RGlyZWN0aXZlPFQ+KTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hpbGRyZW4udXBkYXRlKChjaGlsZHJlbikgPT4gdHVpQXJyYXlUb2dnbGUoY2hpbGRyZW4sIGNoZWNrYm94KSk7XG4gICAgfVxufVxuIl19